diff options
Diffstat (limited to 'packages/core/src/config/config.ts')
| -rw-r--r-- | packages/core/src/config/config.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index 16485bc4..ad4f8ed9 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -47,6 +47,10 @@ import { shouldAttemptBrowserLaunch } from '../utils/browser.js'; import { MCPOAuthConfig } from '../mcp/oauth-provider.js'; import { IdeClient } from '../ide/ide-client.js'; import type { Content } from '@google/genai'; +import { + FileSystemService, + StandardFileSystemService, +} from '../services/fileSystemService.js'; import { logCliConfiguration, logIdeConnection } from '../telemetry/loggers.js'; import { IdeConnectionEvent, IdeConnectionType } from '../telemetry/types.js'; @@ -204,6 +208,7 @@ export class Config { private toolRegistry!: ToolRegistry; private promptRegistry!: PromptRegistry; private readonly sessionId: string; + private fileSystemService: FileSystemService; private contentGeneratorConfig!: ContentGeneratorConfig; private readonly embeddingModel: string; private readonly sandbox: SandboxConfig | undefined; @@ -268,6 +273,7 @@ export class Config { this.sessionId = params.sessionId; this.embeddingModel = params.embeddingModel ?? DEFAULT_GEMINI_EMBEDDING_MODEL; + this.fileSystemService = new StandardFileSystemService(); this.sandbox = params.sandbox; this.targetDir = path.resolve(params.targetDir); this.workspaceContext = new WorkspaceContext( @@ -700,6 +706,20 @@ export class Config { return this.ideClient; } + /** + * Get the current FileSystemService + */ + getFileSystemService(): FileSystemService { + return this.fileSystemService; + } + + /** + * Set a custom FileSystemService + */ + setFileSystemService(fileSystemService: FileSystemService): void { + this.fileSystemService = fileSystemService; + } + getChatCompression(): ChatCompressionSettings | undefined { return this.chatCompression; } |
