diff options
| author | Tommaso Sciortino <[email protected]> | 2025-06-07 16:17:27 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-07 16:17:27 -0700 |
| commit | 389907ce6537bd8caeb10b3d4dacaa8ece059500 (patch) | |
| tree | 71c843ca52176dbc69e46f8df675f0b91fe2e16b /packages/core/src/config | |
| parent | e95a6086fc89191888f2a4e41a3c875273311d96 (diff) | |
Introduce ContentGeneratorConfig (#826)
Diffstat (limited to 'packages/core/src/config')
| -rw-r--r-- | packages/core/src/config/config.test.ts | 11 | ||||
| -rw-r--r-- | packages/core/src/config/config.ts | 31 |
2 files changed, 12 insertions, 30 deletions
diff --git a/packages/core/src/config/config.test.ts b/packages/core/src/config/config.test.ts index 0ce8f5ee..1c1996bf 100644 --- a/packages/core/src/config/config.test.ts +++ b/packages/core/src/config/config.test.ts @@ -50,15 +50,17 @@ describe('Server Config (config.ts)', () => { const TELEMETRY = false; const EMBEDDING_MODEL = 'gemini-embedding'; const baseParams: ConfigParameters = { - apiKey: API_KEY, - model: MODEL, + contentGeneratorConfig: { + apiKey: API_KEY, + model: MODEL, + userAgent: USER_AGENT, + }, embeddingModel: EMBEDDING_MODEL, sandbox: SANDBOX, targetDir: TARGET_DIR, debugMode: DEBUG_MODE, question: QUESTION, fullContext: FULL_CONTEXT, - userAgent: USER_AGENT, userMemory: USER_MEMORY, telemetry: TELEMETRY, }; @@ -73,10 +75,7 @@ describe('Server Config (config.ts)', () => { expect(config.getUserMemory()).toBe(USER_MEMORY); // Verify other getters if needed - expect(config.getApiKey()).toBe(API_KEY); - expect(config.getModel()).toBe(MODEL); expect(config.getTargetDir()).toBe(path.resolve(TARGET_DIR)); // Check resolved path - expect(config.getUserAgent()).toBe(USER_AGENT); }); it('Config constructor should default userMemory to empty string if not provided', () => { diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index 7d25c1bb..b8f4d41f 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -9,6 +9,7 @@ import * as fs from 'node:fs'; import * as path from 'node:path'; import process from 'node:process'; import * as os from 'node:os'; +import { ContentGeneratorConfig } from '../core/contentGenerator.js'; import { ToolRegistry } from '../tools/tool-registry.js'; import { CodeParserTool } from '../tools/code_parser.js'; // Added CodeParserTool import { LSTool } from '../tools/ls.js'; @@ -17,7 +18,6 @@ import { GrepTool } from '../tools/grep.js'; import { GlobTool } from '../tools/glob.js'; import { EditTool } from '../tools/edit.js'; import { ShellTool } from '../tools/shell.js'; - import { WebFetchTool } from '../tools/web-fetch.js'; import { ReadManyFilesTool } from '../tools/read-many-files.js'; import { MemoryTool, setGeminiMdFilename } from '../tools/memoryTool.js'; @@ -55,8 +55,7 @@ export class MCPServerConfig { } export interface ConfigParameters { - apiKey: string; - model: string; + contentGeneratorConfig: ContentGeneratorConfig; embeddingModel: string; sandbox: boolean | string; targetDir: string; @@ -68,11 +67,9 @@ export interface ConfigParameters { toolCallCommand?: string; mcpServerCommand?: string; mcpServers?: Record<string, MCPServerConfig>; - userAgent: string; userMemory?: string; geminiMdFileCount?: number; approvalMode?: ApprovalMode; - vertexai?: boolean; showMemoryUsage?: boolean; contextFileName?: string; geminiIgnorePatterns?: string[]; @@ -85,8 +82,7 @@ export interface ConfigParameters { export class Config { private toolRegistry: Promise<ToolRegistry>; - private readonly apiKey: string; - private readonly model: string; + private readonly contentGeneratorConfig: ContentGeneratorConfig; private readonly embeddingModel: string; private readonly sandbox: boolean | string; private readonly targetDir: string; @@ -98,11 +94,9 @@ export class Config { private readonly toolCallCommand: string | undefined; private readonly mcpServerCommand: string | undefined; private readonly mcpServers: Record<string, MCPServerConfig> | undefined; - private readonly userAgent: string; private userMemory: string; private geminiMdFileCount: number; private approvalMode: ApprovalMode; - private readonly vertexai: boolean | undefined; private readonly showMemoryUsage: boolean; private readonly accessibility: AccessibilitySettings; private readonly telemetry: boolean; @@ -115,8 +109,7 @@ export class Config { private fileDiscoveryService: FileDiscoveryService | null = null; constructor(params: ConfigParameters) { - this.apiKey = params.apiKey; - this.model = params.model; + this.contentGeneratorConfig = params.contentGeneratorConfig; this.embeddingModel = params.embeddingModel; this.sandbox = params.sandbox; this.targetDir = path.resolve(params.targetDir); @@ -128,11 +121,9 @@ export class Config { this.toolCallCommand = params.toolCallCommand; this.mcpServerCommand = params.mcpServerCommand; this.mcpServers = params.mcpServers; - this.userAgent = params.userAgent ?? 'GeminiCLI/unknown'; this.userMemory = params.userMemory ?? ''; this.geminiMdFileCount = params.geminiMdFileCount ?? 0; this.approvalMode = params.approvalMode ?? ApprovalMode.DEFAULT; - this.vertexai = params.vertexai; this.showMemoryUsage = params.showMemoryUsage ?? false; this.accessibility = params.accessibility ?? {}; this.telemetry = params.telemetry ?? false; @@ -160,12 +151,12 @@ export class Config { } } - getApiKey(): string { - return this.apiKey; + getContentGeneratorConfig(): ContentGeneratorConfig { + return this.contentGeneratorConfig; } getModel(): string { - return this.model; + return this.contentGeneratorConfig.model; } getEmbeddingModel(): string { @@ -215,10 +206,6 @@ export class Config { return this.mcpServers; } - getUserAgent(): string { - return this.userAgent; - } - getUserMemory(): string { return this.userMemory; } @@ -243,10 +230,6 @@ export class Config { this.approvalMode = mode; } - getVertexAI(): boolean | undefined { - return this.vertexai; - } - getShowMemoryUsage(): boolean { return this.showMemoryUsage; } |
