summaryrefslogtreecommitdiff
path: root/packages/core/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/core/src')
-rw-r--r--packages/core/src/config/config.test.ts7
-rw-r--r--packages/core/src/config/config.ts11
-rw-r--r--packages/core/src/telemetry/loggers.ts3
-rw-r--r--packages/core/src/tools/tool-registry.test.ts2
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: '',