diff options
Diffstat (limited to 'packages/cli/src/config')
| -rw-r--r-- | packages/cli/src/config/config.integration.test.ts | 18 | ||||
| -rw-r--r-- | packages/cli/src/config/config.ts | 6 | ||||
| -rw-r--r-- | packages/cli/src/config/settings.ts | 5 |
3 files changed, 26 insertions, 3 deletions
diff --git a/packages/cli/src/config/config.integration.test.ts b/packages/cli/src/config/config.integration.test.ts index 4a965a1f..de329384 100644 --- a/packages/cli/src/config/config.integration.test.ts +++ b/packages/cli/src/config/config.integration.test.ts @@ -186,4 +186,22 @@ describe('Configuration Integration Tests', () => { expect(config.getFileFilteringRespectGitIgnore()).toBe(false); }); }); + + describe('Checkpointing Configuration', () => { + it('should enable checkpointing when the setting is true', async () => { + const configParams: ConfigParameters = { + cwd: '/tmp', + contentGeneratorConfig: TEST_CONTENT_GENERATOR_CONFIG, + embeddingModel: 'test-embedding-model', + sandbox: false, + targetDir: tempDir, + debugMode: false, + checkpointing: true, + }; + + const config = new Config(configParams); + + expect(config.getCheckpointingEnabled()).toBe(true); + }); + }); }); diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 6e52c6e2..afc63b78 100644 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -49,7 +49,7 @@ interface CliArgs { show_memory_usage: boolean | undefined; yolo: boolean | undefined; telemetry: boolean | undefined; - checkpoint: boolean | undefined; + checkpointing: boolean | undefined; telemetryTarget: string | undefined; telemetryOtlpEndpoint: string | undefined; telemetryLogPrompts: boolean | undefined; @@ -122,7 +122,7 @@ async function parseArguments(): Promise<CliArgs> { description: 'Enable or disable logging of user prompts for telemetry. Overrides settings files.', }) - .option('checkpoint', { + .option('checkpointing', { alias: 'c', type: 'boolean', description: 'Enables checkpointing of file edits', @@ -229,7 +229,7 @@ export async function loadCliConfig( }, // Git-aware file filtering settings fileFilteringRespectGitIgnore: settings.fileFiltering?.respectGitIgnore, - checkpoint: argv.checkpoint, + checkpointing: argv.checkpointing || settings.checkpointing?.enabled, proxy: process.env.HTTPS_PROXY || process.env.https_proxy || diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index a90ed2d8..b63f5bb6 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -27,6 +27,10 @@ export enum SettingScope { Workspace = 'Workspace', } +export interface CheckpointingSettings { + enabled?: boolean; +} + export interface AccessibilitySettings { disableLoadingPhrases?: boolean; } @@ -47,6 +51,7 @@ export interface Settings { telemetry?: TelemetrySettings; preferredEditor?: string; bugCommand?: BugCommandSettings; + checkpointing?: CheckpointingSettings; // Git-aware file filtering settings fileFiltering?: { |
