diff options
Diffstat (limited to 'packages/core/src')
| -rw-r--r-- | packages/core/src/config/config.test.ts | 7 | ||||
| -rw-r--r-- | packages/core/src/config/config.ts | 11 | ||||
| -rw-r--r-- | packages/core/src/telemetry/loggers.ts | 3 | ||||
| -rw-r--r-- | packages/core/src/tools/tool-registry.test.ts | 2 |
4 files changed, 15 insertions, 8 deletions
diff --git a/packages/core/src/config/config.test.ts b/packages/core/src/config/config.test.ts index e8f56f75..10fd814f 100644 --- a/packages/core/src/config/config.test.ts +++ b/packages/core/src/config/config.test.ts @@ -5,7 +5,7 @@ */ import { describe, it, expect, vi, beforeEach } from 'vitest'; -import { Config, ConfigParameters } from './config.js'; +import { Config, ConfigParameters, SandboxConfig } from './config.js'; import * as path from 'path'; import { setGeminiMdFilename as mockSetGeminiMdFilename } from '../tools/memoryTool.js'; import { @@ -53,7 +53,10 @@ vi.mock('../telemetry/index.js', async (importOriginal) => { describe('Server Config (config.ts)', () => { const API_KEY = 'server-api-key'; const MODEL = 'gemini-pro'; - const SANDBOX = false; + const SANDBOX: SandboxConfig = { + command: 'docker', + image: 'gemini-cli-sandbox', + }; const TARGET_DIR = '/path/to/target'; const DEBUG_MODE = false; const QUESTION = 'test question'; diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index c4f46f5e..6caf39e8 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -73,11 +73,16 @@ export class MCPServerConfig { ) {} } +export interface SandboxConfig { + command: 'docker' | 'podman' | 'sandbox-exec'; + image: string; +} + export interface ConfigParameters { sessionId: string; contentGeneratorConfig: ContentGeneratorConfig; embeddingModel?: string; - sandbox?: boolean | string; + sandbox?: SandboxConfig; targetDir: string; debugMode: boolean; question?: string; @@ -108,7 +113,7 @@ export class Config { private readonly sessionId: string; private readonly contentGeneratorConfig: ContentGeneratorConfig; private readonly embeddingModel: string; - private readonly sandbox: boolean | string | undefined; + private readonly sandbox: SandboxConfig | undefined; private readonly targetDir: string; private readonly debugMode: boolean; private readonly question: string | undefined; @@ -198,7 +203,7 @@ export class Config { return this.embeddingModel; } - getSandbox(): boolean | string | undefined { + getSandbox(): SandboxConfig | undefined { return this.sandbox; } diff --git a/packages/core/src/telemetry/loggers.ts b/packages/core/src/telemetry/loggers.ts index 01e83908..985e291c 100644 --- a/packages/core/src/telemetry/loggers.ts +++ b/packages/core/src/telemetry/loggers.ts @@ -79,8 +79,7 @@ export function logCliConfiguration(config: Config): void { 'event.timestamp': new Date().toISOString(), model: config.getModel(), embedding_model: config.getEmbeddingModel(), - sandbox_enabled: - typeof config.getSandbox() === 'string' ? true : config.getSandbox(), + sandbox_enabled: !!config.getSandbox(), core_tools_enabled: (config.getCoreTools() ?? []).join(','), approval_mode: config.getApprovalMode(), api_key_enabled: !!generatorConfig.apiKey, diff --git a/packages/core/src/tools/tool-registry.test.ts b/packages/core/src/tools/tool-registry.test.ts index 5837fd76..87bb47d8 100644 --- a/packages/core/src/tools/tool-registry.test.ts +++ b/packages/core/src/tools/tool-registry.test.ts @@ -131,7 +131,7 @@ const baseConfigParams: ConfigParameters = { vertexai: false, }, embeddingModel: 'test-embedding-model', - sandbox: false, + sandbox: undefined, targetDir: '/test/dir', debugMode: false, userMemory: '', |
