diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e44ffae..11f8a09 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,6 +39,9 @@ jobs: run: cd packages/agent && pnpm exec playwright install --with-deps chromium - name: Test + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} run: pnpm test - name: Lint diff --git a/packages/cli/src/commands/$default.ts b/packages/cli/src/commands/$default.ts index 0758a22..409ef41 100644 --- a/packages/cli/src/commands/$default.ts +++ b/packages/cli/src/commands/$default.ts @@ -96,8 +96,16 @@ export const command: CommandModule = { tokenTracker.tokenCache = argv.tokenCache !== undefined ? argv.tokenCache : userConfig.tokenCache; - const userModelProvider = argv.modelProvider || userConfig.modelProvider; - const userModelName = argv.modelName || userConfig.modelName; + const userModelProvider = + argv.provider || + argv.modelProvider || + userConfig.provider || + userConfig.modelProvider; + const userModelName = + argv.model || + argv.modelName || + userConfig.model || + userConfig.modelName; const userMaxTokens = argv.maxTokens || userConfig.maxTokens; const userTemperature = argv.temperature || userConfig.temperature; diff --git a/packages/cli/src/commands/config.ts b/packages/cli/src/commands/config.ts index e037738..3c78e6e 100644 --- a/packages/cli/src/commands/config.ts +++ b/packages/cli/src/commands/config.ts @@ -146,14 +146,16 @@ export const command: CommandModule = { return; } - // Validate that the key exists in default config + // Check if the key exists in default config const defaultConfig = getDefaultConfig(); if (!(argv.key in defaultConfig)) { - logger.error(`Invalid configuration key '${argv.key}'`); + logger.warn( + `Warning: '${argv.key}' is not a standard configuration key`, + ); logger.info( `Valid configuration keys: ${Object.keys(defaultConfig).join(', ')}`, ); - return; + // Continue with the operation instead of returning } // Check if this is an API key and add a warning diff --git a/packages/cli/src/options.ts b/packages/cli/src/options.ts index 596d8f7..df82459 100644 --- a/packages/cli/src/options.ts +++ b/packages/cli/src/options.ts @@ -7,6 +7,9 @@ export type SharedOptions = { readonly userSession?: boolean; readonly pageFilter?: 'simple' | 'none' | 'readability'; readonly sentryDsn?: string; + readonly provider?: string; + readonly model?: string; + // Legacy options - will be removed in a future version readonly modelProvider?: string; readonly modelName?: string; readonly maxTokens?: number; @@ -28,15 +31,27 @@ export const sharedOptions = { description: 'Enable performance profiling of CLI startup', default: false, } as const, - modelProvider: { + provider: { type: 'string', description: 'AI model provider to use', choices: ['anthropic', 'openai', 'ollama', 'xai', 'mistral'], } as const, - modelName: { + model: { type: 'string', description: 'AI model name to use', } as const, + // Legacy options - will be removed in a future version + modelProvider: { + type: 'string', + description: 'AI model provider to use (deprecated, use provider instead)', + choices: ['anthropic', 'openai', 'ollama', 'xai', 'mistral'], + hidden: true, + } as const, + modelName: { + type: 'string', + description: 'AI model name to use (deprecated, use model instead)', + hidden: true, + } as const, maxTokens: { type: 'number', description: 'Maximum number of tokens to generate', diff --git a/packages/cli/src/settings/config.ts b/packages/cli/src/settings/config.ts index 7c3c730..632a716 100644 --- a/packages/cli/src/settings/config.ts +++ b/packages/cli/src/settings/config.ts @@ -12,6 +12,9 @@ const defaultConfig = { headless: true, userSession: false, pageFilter: 'none' as 'simple' | 'none' | 'readability', + provider: 'anthropic', + model: 'claude-3-7-sonnet-20250219', + // Legacy names - will be removed in a future version modelProvider: 'anthropic', modelName: 'claude-3-7-sonnet-20250219', maxTokens: 4096, diff --git a/packages/cli/tests/settings/config-defaults.test.ts b/packages/cli/tests/settings/config-defaults.test.ts index 7e88b34..96f8b53 100644 --- a/packages/cli/tests/settings/config-defaults.test.ts +++ b/packages/cli/tests/settings/config-defaults.test.ts @@ -58,6 +58,8 @@ describe('Config Defaults for CLI Options', () => { headless: true, userSession: false, pageFilter: 'none', + provider: 'anthropic', + model: 'claude-3-7-sonnet-20250219', modelProvider: 'anthropic', modelName: 'claude-3-7-sonnet-20250219', ollamaBaseUrl: 'http://localhost:11434/api', @@ -95,6 +97,8 @@ describe('Config Defaults for CLI Options', () => { headless: true, // Default is true userSession: false, // Default is false pageFilter: 'none', // Default is none + provider: 'anthropic', + model: 'claude-3-7-sonnet-20250219', modelProvider: 'anthropic', modelName: 'claude-3-7-sonnet-20250219', ollamaBaseUrl: 'http://localhost:11434/api', @@ -132,6 +136,8 @@ describe('Config Defaults for CLI Options', () => { headless: true, userSession: false, pageFilter: 'none', + provider: 'anthropic', + model: 'claude-3-7-sonnet-20250219', modelProvider: 'anthropic', modelName: 'claude-3-7-sonnet-20250219', ollamaBaseUrl: 'http://localhost:11434/api', @@ -181,6 +187,8 @@ describe('Config Defaults for CLI Options', () => { headless: true, // Default is true userSession: false, // Default is false pageFilter: 'none', // Default is none + provider: 'anthropic', + model: 'claude-3-7-sonnet-20250219', modelProvider: 'anthropic', modelName: 'claude-3-7-sonnet-20250219', ollamaBaseUrl: 'http://localhost:11434/api', diff --git a/packages/cli/tests/settings/config.test.ts b/packages/cli/tests/settings/config.test.ts index 7488c2b..b31358b 100644 --- a/packages/cli/tests/settings/config.test.ts +++ b/packages/cli/tests/settings/config.test.ts @@ -41,6 +41,8 @@ describe('Config', () => { headless: true, userSession: false, pageFilter: 'none', + provider: 'anthropic', + model: 'claude-3-7-sonnet-20250219', modelProvider: 'anthropic', modelName: 'claude-3-7-sonnet-20250219', maxTokens: 4096, @@ -83,6 +85,8 @@ describe('Config', () => { headless: true, userSession: false, pageFilter: 'none', + provider: 'anthropic', + model: 'claude-3-7-sonnet-20250219', modelProvider: 'anthropic', modelName: 'claude-3-7-sonnet-20250219', maxTokens: 4096, diff --git a/packages/cli/tests/settings/configDefaults.test.ts b/packages/cli/tests/settings/configDefaults.test.ts index 7e88b34..96f8b53 100644 --- a/packages/cli/tests/settings/configDefaults.test.ts +++ b/packages/cli/tests/settings/configDefaults.test.ts @@ -58,6 +58,8 @@ describe('Config Defaults for CLI Options', () => { headless: true, userSession: false, pageFilter: 'none', + provider: 'anthropic', + model: 'claude-3-7-sonnet-20250219', modelProvider: 'anthropic', modelName: 'claude-3-7-sonnet-20250219', ollamaBaseUrl: 'http://localhost:11434/api', @@ -95,6 +97,8 @@ describe('Config Defaults for CLI Options', () => { headless: true, // Default is true userSession: false, // Default is false pageFilter: 'none', // Default is none + provider: 'anthropic', + model: 'claude-3-7-sonnet-20250219', modelProvider: 'anthropic', modelName: 'claude-3-7-sonnet-20250219', ollamaBaseUrl: 'http://localhost:11434/api', @@ -132,6 +136,8 @@ describe('Config Defaults for CLI Options', () => { headless: true, userSession: false, pageFilter: 'none', + provider: 'anthropic', + model: 'claude-3-7-sonnet-20250219', modelProvider: 'anthropic', modelName: 'claude-3-7-sonnet-20250219', ollamaBaseUrl: 'http://localhost:11434/api', @@ -181,6 +187,8 @@ describe('Config Defaults for CLI Options', () => { headless: true, // Default is true userSession: false, // Default is false pageFilter: 'none', // Default is none + provider: 'anthropic', + model: 'claude-3-7-sonnet-20250219', modelProvider: 'anthropic', modelName: 'claude-3-7-sonnet-20250219', ollamaBaseUrl: 'http://localhost:11434/api',