fix: add support for fileOpener in config.json

This commit is contained in:
Michael Bolin
2025-05-12 23:04:19 -07:00
parent 05bb5d7d46
commit 3a8039886f
9 changed files with 174 additions and 12 deletions

View File

@@ -135,6 +135,8 @@ export function getApiKey(provider: string = "openai"): string | undefined {
return undefined;
}
export type FileOpenerScheme = "vscode" | "cursor" | "windsurf";
// Represents config as persisted in config.json.
export type StoredConfig = {
model?: string;
@@ -162,6 +164,12 @@ export type StoredConfig = {
/** User-defined safe commands */
safeCommands?: Array<string>;
reasoningEffort?: ReasoningEffort;
/**
* URI-based file opener. This is used when linking code references in
* terminal output.
*/
fileOpener?: FileOpenerScheme;
};
// Minimal config written on first run. An *empty* model string ensures that
@@ -206,6 +214,7 @@ export type AppConfig = {
maxLines: number;
};
};
fileOpener?: FileOpenerScheme;
};
// Formatting (quiet mode-only).
@@ -429,6 +438,7 @@ export const loadConfig = (
},
disableResponseStorage: storedConfig.disableResponseStorage === true,
reasoningEffort: storedConfig.reasoningEffort,
fileOpener: storedConfig.fileOpener,
};
// -----------------------------------------------------------------------