mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-16 18:03:56 +00:00
25 lines
902 B
TypeScript
25 lines
902 B
TypeScript
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
import { dirname } from "node:path";
|
|
import { homedir } from "node:os";
|
|
import * as toml from "@iarna/toml";
|
|
import { ConfigSchema, resolveWorkspaceId, type AppConfig } from "@openhandoff/shared";
|
|
|
|
export const CONFIG_PATH = `${homedir()}/.config/openhandoff/config.toml`;
|
|
|
|
export function loadConfig(path = CONFIG_PATH): AppConfig {
|
|
if (!existsSync(path)) {
|
|
return ConfigSchema.parse({});
|
|
}
|
|
|
|
const raw = readFileSync(path, "utf8");
|
|
return ConfigSchema.parse(toml.parse(raw));
|
|
}
|
|
|
|
export function saveConfig(config: AppConfig, path = CONFIG_PATH): void {
|
|
mkdirSync(dirname(path), { recursive: true });
|
|
writeFileSync(path, toml.stringify(config), "utf8");
|
|
}
|
|
|
|
export function resolveWorkspace(flagWorkspace: string | undefined, config: AppConfig): string {
|
|
return resolveWorkspaceId(flagWorkspace, config);
|
|
}
|