/** * CLI Configuration * Store and retrieve CLI settings */ import Conf from "conf"; interface OchConfig { serverUrl: string; token: string; username?: string; defaultBranch?: string; caFile?: string; insecure?: boolean; } const config = new Conf({ projectName: "opencodehub-cli", defaults: { serverUrl: "", token: "", defaultBranch: "main", caFile: "", insecure: false, }, }); export function getConfig(): OchConfig { return { serverUrl: config.get("serverUrl"), token: config.get("token"), username: config.get("username"), defaultBranch: config.get("defaultBranch"), caFile: config.get("caFile"), insecure: config.get("insecure"), }; } export function saveConfig(updates: Partial): void { if (updates.serverUrl !== undefined) { config.set("serverUrl", updates.serverUrl); } if (updates.token !== undefined) { config.set("token", updates.token); } if (updates.username !== undefined) { config.set("username", updates.username); } if (updates.defaultBranch !== undefined) { config.set("defaultBranch", updates.defaultBranch); } if (updates.caFile !== undefined) { config.set("caFile", updates.caFile); } if (updates.insecure !== undefined) { config.set("insecure", updates.insecure); } } export function clearConfig(): void { config.clear(); }