refactor: extract config and conversation handling into separate modules

This commit is contained in:
mitchell 2026-04-18 18:59:51 -04:00
parent f50280364d
commit 6dc55bc3f3
3 changed files with 64 additions and 23 deletions

24
src/conversation/index.ts Normal file
View file

@ -0,0 +1,24 @@
import os from "node:os";
import type { ModelMessage } from "ai";
const home = os.homedir();
export const convoFile = Bun.file(`${home}/.aicl_convo.json`);
export interface Conversation {
model: string;
messages: ModelMessage[];
}
export async function loadConversation(
defaultModel: string,
): Promise<Conversation> {
try {
return await convoFile.json();
} catch {
return { model: defaultModel, messages: [] };
}
}
export async function saveConversation(convo: Conversation): Promise<void> {
await convoFile.write(JSON.stringify(convo));
}