@google/gemini-cli-core 0.37.0-preview.2 → 0.38.0-preview.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -50
- package/dist/docs/changelogs/index.md +25 -0
- package/dist/docs/changelogs/latest.md +353 -362
- package/dist/docs/changelogs/preview.md +399 -366
- package/dist/docs/cli/plan-mode.md +1 -0
- package/dist/docs/cli/sandbox.md +52 -0
- package/dist/docs/cli/settings.md +17 -14
- package/dist/docs/core/remote-agents.md +14 -18
- package/dist/docs/core/subagents.md +63 -27
- package/dist/docs/get-started/authentication.md +2 -2
- package/dist/docs/get-started/installation.md +7 -0
- package/dist/docs/hooks/index.md +6 -6
- package/dist/docs/reference/configuration.md +41 -11
- package/dist/docs/reference/keyboard-shortcuts.md +14 -9
- package/dist/docs/reference/tools.md +4 -4
- package/dist/docs/release-confidence.md +0 -6
- package/dist/docs/releases.md +4 -0
- package/dist/docs/tools/mcp-server.md +3 -3
- package/dist/docs/tools/web-fetch.md +3 -0
- package/dist/src/agent/agent-session.test.js +14 -6
- package/dist/src/agent/agent-session.test.js.map +1 -1
- package/dist/src/agent/event-translator.js +2 -1
- package/dist/src/agent/event-translator.js.map +1 -1
- package/dist/src/agent/event-translator.test.js +1 -0
- package/dist/src/agent/event-translator.test.js.map +1 -1
- package/dist/src/agent/legacy-agent-session.d.ts +47 -4
- package/dist/src/agent/legacy-agent-session.js +38 -15
- package/dist/src/agent/legacy-agent-session.js.map +1 -1
- package/dist/src/agent/legacy-agent-session.test.js +60 -73
- package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
- package/dist/src/agent/mock.js +7 -1
- package/dist/src/agent/mock.js.map +1 -1
- package/dist/src/agent/mock.test.js +1 -1
- package/dist/src/agent/mock.test.js.map +1 -1
- package/dist/src/agent/types.d.ts +34 -1
- package/dist/src/agents/agent-scheduler.js +6 -1
- package/dist/src/agents/agent-scheduler.js.map +1 -1
- package/dist/src/agents/agent-scheduler.test.js +38 -0
- package/dist/src/agents/agent-scheduler.test.js.map +1 -1
- package/dist/src/agents/auth-provider/api-key-provider.test.js +18 -2
- package/dist/src/agents/auth-provider/api-key-provider.test.js.map +1 -1
- package/dist/src/agents/auth-provider/value-resolver.test.js +30 -0
- package/dist/src/agents/auth-provider/value-resolver.test.js.map +1 -1
- package/dist/src/agents/browser/analyzeScreenshot.js +36 -6
- package/dist/src/agents/browser/analyzeScreenshot.js.map +1 -1
- package/dist/src/agents/browser/analyzeScreenshot.test.js +35 -3
- package/dist/src/agents/browser/analyzeScreenshot.test.js.map +1 -1
- package/dist/src/agents/browser/browserAgentFactory.d.ts +8 -0
- package/dist/src/agents/browser/browserAgentFactory.js +174 -118
- package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
- package/dist/src/agents/browser/browserAgentFactory.test.js +70 -1
- package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.js +29 -2
- package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.test.js +51 -5
- package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
- package/dist/src/agents/browser/browserManager.d.ts +38 -0
- package/dist/src/agents/browser/browserManager.js +117 -6
- package/dist/src/agents/browser/browserManager.js.map +1 -1
- package/dist/src/agents/browser/browserManager.test.js +156 -2
- package/dist/src/agents/browser/browserManager.test.js.map +1 -1
- package/dist/src/agents/browser/modelAvailability.d.ts +5 -0
- package/dist/src/agents/browser/modelAvailability.js +12 -0
- package/dist/src/agents/browser/modelAvailability.js.map +1 -1
- package/dist/src/agents/local-executor.d.ts +5 -0
- package/dist/src/agents/local-executor.js +98 -181
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/local-executor.test.js +386 -101
- package/dist/src/agents/local-executor.test.js.map +1 -1
- package/dist/src/agents/memory-manager-agent.js +1 -0
- package/dist/src/agents/memory-manager-agent.js.map +1 -1
- package/dist/src/agents/memory-manager-agent.test.js +6 -0
- package/dist/src/agents/memory-manager-agent.test.js.map +1 -1
- package/dist/src/agents/registry.js +3 -10
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/skill-extraction-agent.d.ts +24 -0
- package/dist/src/agents/skill-extraction-agent.js +269 -0
- package/dist/src/agents/skill-extraction-agent.js.map +1 -0
- package/dist/src/agents/types.d.ts +11 -0
- package/dist/src/code_assist/admin/admin_controls.js +1 -1
- package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
- package/dist/src/code_assist/experiments/flagNames.d.ts +1 -0
- package/dist/src/code_assist/experiments/flagNames.js +1 -0
- package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
- package/dist/src/code_assist/server.js +1 -1
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/commands/memory.js +1 -1
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/config/config.d.ts +34 -31
- package/dist/src/config/config.js +101 -38
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +102 -15
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extensions/integrity.js +1 -1
- package/dist/src/config/extensions/integrity.js.map +1 -1
- package/dist/src/config/projectRegistry.js +5 -3
- package/dist/src/config/projectRegistry.js.map +1 -1
- package/dist/src/config/scoped-config.d.ts +30 -0
- package/dist/src/config/scoped-config.js +69 -0
- package/dist/src/config/scoped-config.js.map +1 -0
- package/dist/src/config/scoped-config.test.d.ts +6 -0
- package/dist/src/config/scoped-config.test.js +161 -0
- package/dist/src/config/scoped-config.test.js.map +1 -0
- package/dist/src/config/storage.d.ts +2 -0
- package/dist/src/config/storage.js +7 -2
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +7 -7
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/confirmation-bus/types.d.ts +2 -2
- package/dist/src/context/agentHistoryProvider.d.ts +1 -1
- package/dist/src/context/agentHistoryProvider.js +1 -5
- package/dist/src/context/agentHistoryProvider.js.map +1 -1
- package/dist/src/context/agentHistoryProvider.test.js +2 -39
- package/dist/src/context/agentHistoryProvider.test.js.map +1 -1
- package/dist/src/context/contextCompressionService.d.ts +30 -0
- package/dist/src/context/contextCompressionService.js +405 -0
- package/dist/src/context/contextCompressionService.js.map +1 -0
- package/dist/src/context/contextCompressionService.test.d.ts +1 -0
- package/dist/src/context/contextCompressionService.test.js +253 -0
- package/dist/src/context/contextCompressionService.test.js.map +1 -0
- package/dist/src/context/{contextManager.d.ts → memoryContextManager.d.ts} +1 -1
- package/dist/src/context/{contextManager.js → memoryContextManager.js} +2 -2
- package/dist/src/context/memoryContextManager.js.map +1 -0
- package/dist/src/context/{contextManager.test.js → memoryContextManager.test.js} +22 -28
- package/dist/src/context/memoryContextManager.test.js.map +1 -0
- package/dist/src/context/profiles.d.ts +7 -0
- package/dist/src/context/profiles.js +21 -0
- package/dist/src/context/profiles.js.map +1 -0
- package/dist/src/context/toolDistillationService.test.js +3 -0
- package/dist/src/context/toolDistillationService.test.js.map +1 -1
- package/dist/src/context/types.d.ts +36 -0
- package/dist/src/context/types.js.map +1 -0
- package/dist/src/core/baseLlmClient.js +1 -1
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +1 -0
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.js +1 -1
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +7 -6
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/geminiChat.js +8 -0
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +1 -0
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChat_network_retry.test.js +1 -0
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
- package/dist/src/core/logger.js +4 -4
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/logger.test.js +1 -1
- package/dist/src/core/logger.test.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.js +1 -1
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/hooks/hookEventHandler.js +8 -0
- package/dist/src/hooks/hookEventHandler.js.map +1 -1
- package/dist/src/hooks/hookRunner.js +9 -5
- package/dist/src/hooks/hookRunner.js.map +1 -1
- package/dist/src/hooks/hookRunner.test.js +20 -3
- package/dist/src/hooks/hookRunner.test.js.map +1 -1
- package/dist/src/hooks/hookSystem.d.ts +2 -0
- package/dist/src/hooks/hookSystem.js +1 -0
- package/dist/src/hooks/hookSystem.js.map +1 -1
- package/dist/src/hooks/hookTranslator.js +20 -13
- package/dist/src/hooks/hookTranslator.js.map +1 -1
- package/dist/src/hooks/hookTranslator.test.js +36 -0
- package/dist/src/hooks/hookTranslator.test.js.map +1 -1
- package/dist/src/hooks/types.d.ts +2 -0
- package/dist/src/ide/ide-client.js +3 -3
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-connection-utils.js +1 -1
- package/dist/src/ide/ide-connection-utils.js.map +1 -1
- package/dist/src/ide/ide-installer.js +3 -3
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/process-utils.js +3 -3
- package/dist/src/ide/process-utils.js.map +1 -1
- package/dist/src/index.d.ts +4 -1
- package/dist/src/index.js +5 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/output/json-formatter.js +2 -1
- package/dist/src/output/json-formatter.js.map +1 -1
- package/dist/src/policy/config.test.js +21 -20
- package/dist/src/policy/config.test.js.map +1 -1
- package/dist/src/policy/policies/memory-manager.toml +11 -1
- package/dist/src/policy/policies/plan.toml +4 -3
- package/dist/src/policy/policies/read-only.toml +6 -0
- package/dist/src/policy/policies/sandbox-default.toml +2 -3
- package/dist/src/policy/policy-engine.js +23 -0
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +129 -1
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/sandboxPolicyManager.d.ts +26 -1
- package/dist/src/policy/sandboxPolicyManager.js +41 -12
- package/dist/src/policy/sandboxPolicyManager.js.map +1 -1
- package/dist/src/policy/sandboxPolicyManager.test.d.ts +6 -0
- package/dist/src/policy/sandboxPolicyManager.test.js +61 -0
- package/dist/src/policy/sandboxPolicyManager.test.js.map +1 -0
- package/dist/src/policy/workspace-policy.test.js +18 -15
- package/dist/src/policy/workspace-policy.test.js.map +1 -1
- package/dist/src/prompts/snippets.js +6 -3
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/prompts/snippets.legacy.js +6 -2
- package/dist/src/prompts/snippets.legacy.js.map +1 -1
- package/dist/src/prompts/utils.test.js +7 -5
- package/dist/src/prompts/utils.test.js.map +1 -1
- package/dist/src/safety/built-in.js +1 -1
- package/dist/src/safety/built-in.js.map +1 -1
- package/dist/src/sandbox/linux/LinuxSandboxManager.d.ts +4 -4
- package/dist/src/sandbox/linux/LinuxSandboxManager.js +47 -191
- package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
- package/dist/src/sandbox/linux/LinuxSandboxManager.test.js +33 -395
- package/dist/src/sandbox/linux/LinuxSandboxManager.test.js.map +1 -1
- package/dist/src/sandbox/linux/bwrapArgsBuilder.d.ts +24 -0
- package/dist/src/sandbox/linux/bwrapArgsBuilder.js +200 -0
- package/dist/src/sandbox/linux/bwrapArgsBuilder.js.map +1 -0
- package/dist/src/sandbox/linux/bwrapArgsBuilder.test.d.ts +6 -0
- package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js +247 -0
- package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js.map +1 -0
- package/dist/src/sandbox/macos/MacOsSandboxManager.d.ts +3 -0
- package/dist/src/sandbox/macos/MacOsSandboxManager.js +12 -5
- package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
- package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +20 -0
- package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -1
- package/dist/src/sandbox/macos/baseProfile.d.ts +1 -1
- package/dist/src/sandbox/macos/baseProfile.js +28 -4
- package/dist/src/sandbox/macos/baseProfile.js.map +1 -1
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +1 -1
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +2 -1
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -1
- package/dist/src/sandbox/utils/fsUtils.js +8 -6
- package/dist/src/sandbox/utils/fsUtils.js.map +1 -1
- package/dist/src/sandbox/utils/fsUtils.test.d.ts +6 -0
- package/dist/src/sandbox/utils/fsUtils.test.js +43 -0
- package/dist/src/sandbox/utils/fsUtils.test.js.map +1 -0
- package/dist/src/sandbox/utils/proactivePermissions.d.ts +19 -0
- package/dist/src/sandbox/utils/proactivePermissions.js +163 -0
- package/dist/src/sandbox/utils/proactivePermissions.js.map +1 -0
- package/dist/src/sandbox/utils/proactivePermissions.test.d.ts +6 -0
- package/dist/src/sandbox/utils/proactivePermissions.test.js +145 -0
- package/dist/src/sandbox/utils/proactivePermissions.test.js.map +1 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.d.ts +16 -1
- package/dist/src/sandbox/utils/sandboxDenialUtils.js +98 -24
- package/dist/src/sandbox/utils/sandboxDenialUtils.js.map +1 -1
- package/dist/src/sandbox/utils/sandboxDenialUtils.test.js +152 -1
- package/dist/src/sandbox/utils/sandboxDenialUtils.test.js.map +1 -1
- package/dist/src/sandbox/utils/sandboxReadWriteUtils.js +4 -0
- package/dist/src/sandbox/utils/sandboxReadWriteUtils.js.map +1 -1
- package/dist/src/sandbox/windows/GeminiSandbox.cs +90 -42
- package/dist/src/sandbox/windows/WindowsSandboxManager.d.ts +4 -0
- package/dist/src/sandbox/windows/WindowsSandboxManager.js +65 -60
- package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
- package/dist/src/sandbox/windows/WindowsSandboxManager.test.js +99 -54
- package/dist/src/sandbox/windows/WindowsSandboxManager.test.js.map +1 -1
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.d.ts +2 -1
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js +19 -18
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js.map +1 -1
- package/dist/src/scheduler/scheduler.js +1 -1
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/scheduler/scheduler_hooks.test.js +1 -1
- package/dist/src/scheduler/scheduler_hooks.test.js.map +1 -1
- package/dist/src/scheduler/tool-executor.js +1 -1
- package/dist/src/scheduler/tool-executor.js.map +1 -1
- package/dist/src/scheduler/tool-executor.test.js +1 -1
- package/dist/src/scheduler/tool-executor.test.js.map +1 -1
- package/dist/src/services/executionLifecycleService.d.ts +1 -0
- package/dist/src/services/executionLifecycleService.js +3 -0
- package/dist/src/services/executionLifecycleService.js.map +1 -1
- package/dist/src/services/gitService.js +1 -1
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/memoryService.d.ts +65 -0
- package/dist/src/services/memoryService.js +511 -0
- package/dist/src/services/memoryService.js.map +1 -0
- package/dist/src/services/memoryService.test.d.ts +6 -0
- package/dist/src/services/memoryService.test.js +563 -0
- package/dist/src/services/memoryService.test.js.map +1 -0
- package/dist/src/services/sandboxManager.d.ts +17 -0
- package/dist/src/services/sandboxManager.integration.test.js +18 -11
- package/dist/src/services/sandboxManager.integration.test.js.map +1 -1
- package/dist/src/services/sandboxManager.js +20 -0
- package/dist/src/services/sandboxManager.js.map +1 -1
- package/dist/src/services/sandboxManager.test.js +84 -56
- package/dist/src/services/sandboxManager.test.js.map +1 -1
- package/dist/src/services/sandboxManagerFactory.js +2 -5
- package/dist/src/services/sandboxManagerFactory.js.map +1 -1
- package/dist/src/services/sandboxedFileSystemService.js +14 -3
- package/dist/src/services/sandboxedFileSystemService.js.map +1 -1
- package/dist/src/services/sandboxedFileSystemService.test.js +29 -14
- package/dist/src/services/sandboxedFileSystemService.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.d.ts +16 -1
- package/dist/src/services/shellExecutionService.js +70 -10
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +65 -4
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/services/worktreeService.test.js +7 -7
- package/dist/src/services/worktreeService.test.js.map +1 -1
- package/dist/src/skills/skillLoader.d.ts +8 -0
- package/dist/src/skills/skillLoader.js +1 -1
- package/dist/src/skills/skillLoader.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +29 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +101 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +167 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +9 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +20 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +22 -0
- package/dist/src/telemetry/loggers.js +40 -1
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +108 -0
- package/dist/src/telemetry/metrics.js +177 -0
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +254 -0
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/tools/complete-task.d.ts +29 -0
- package/dist/src/tools/complete-task.js +123 -0
- package/dist/src/tools/complete-task.js.map +1 -0
- package/dist/src/tools/complete-task.test.d.ts +6 -0
- package/dist/src/tools/complete-task.test.js +114 -0
- package/dist/src/tools/complete-task.test.js.map +1 -0
- package/dist/src/tools/definitions/base-declarations.d.ts +2 -0
- package/dist/src/tools/definitions/base-declarations.js +3 -0
- package/dist/src/tools/definitions/base-declarations.js.map +1 -1
- package/dist/src/tools/definitions/coreTools.d.ts +1 -1
- package/dist/src/tools/definitions/coreTools.js +1 -1
- package/dist/src/tools/definitions/coreTools.js.map +1 -1
- package/dist/src/tools/definitions/dynamic-declaration-helpers.js +4 -0
- package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js +3 -3
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js +3 -3
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
- package/dist/src/tools/grep.test.js +2 -2
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/jit-context.js +3 -3
- package/dist/src/tools/jit-context.js.map +1 -1
- package/dist/src/tools/jit-context.test.js +15 -13
- package/dist/src/tools/jit-context.test.js.map +1 -1
- package/dist/src/tools/mcp-client.js +1 -1
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +1 -1
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +1 -1
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +7 -4
- package/dist/src/tools/shell.js +255 -37
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +182 -8
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/shellBackgroundTools.d.ts +38 -0
- package/dist/src/tools/shellBackgroundTools.integration.test.d.ts +6 -0
- package/dist/src/tools/shellBackgroundTools.integration.test.js +86 -0
- package/dist/src/tools/shellBackgroundTools.integration.test.js.map +1 -0
- package/dist/src/tools/shellBackgroundTools.js +186 -0
- package/dist/src/tools/shellBackgroundTools.js.map +1 -0
- package/dist/src/tools/shellBackgroundTools.test.d.ts +6 -0
- package/dist/src/tools/shellBackgroundTools.test.js +230 -0
- package/dist/src/tools/shellBackgroundTools.test.js.map +1 -0
- package/dist/src/tools/shell_proactive.test.d.ts +6 -0
- package/dist/src/tools/shell_proactive.test.js +122 -0
- package/dist/src/tools/shell_proactive.test.js.map +1 -0
- package/dist/src/tools/tool-names.d.ts +3 -3
- package/dist/src/tools/tool-names.js +3 -2
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tools.js +1 -1
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/web-fetch.js +8 -8
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +5 -5
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/xcode-mcp-fix-transport.js +1 -1
- package/dist/src/tools/xcode-mcp-fix-transport.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.js +3 -6
- package/dist/src/utils/bfsFileSearch.js.map +1 -1
- package/dist/src/utils/checkpointUtils.js +11 -8
- package/dist/src/utils/checkpointUtils.js.map +1 -1
- package/dist/src/utils/compatibility.js +0 -7
- package/dist/src/utils/compatibility.js.map +1 -1
- package/dist/src/utils/compatibility.test.js +0 -9
- package/dist/src/utils/compatibility.test.js.map +1 -1
- package/dist/src/utils/editor.js +3 -0
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/errorParsing.js +2 -2
- package/dist/src/utils/errorParsing.js.map +1 -1
- package/dist/src/utils/events.d.ts +12 -0
- package/dist/src/utils/events.js +7 -0
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/fetch.d.ts +1 -0
- package/dist/src/utils/fetch.js +22 -6
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fetch.test.js +26 -1
- package/dist/src/utils/fetch.test.js.map +1 -1
- package/dist/src/utils/fileUtils.js +1 -1
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/filesearch/crawler.js +1 -1
- package/dist/src/utils/filesearch/crawler.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.test.js +7 -2
- package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
- package/dist/src/utils/getPty.js +2 -2
- package/dist/src/utils/getPty.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.js +2 -2
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/dist/src/utils/gitUtils.js +2 -2
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/googleErrors.js +5 -5
- package/dist/src/utils/googleErrors.js.map +1 -1
- package/dist/src/utils/ignoreFileParser.js +1 -1
- package/dist/src/utils/ignoreFileParser.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +3 -7
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/paths.d.ts +8 -0
- package/dist/src/utils/paths.js +37 -6
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/paths.test.js +61 -3
- package/dist/src/utils/paths.test.js.map +1 -1
- package/dist/src/utils/process-utils.js +2 -2
- package/dist/src/utils/process-utils.js.map +1 -1
- package/dist/src/utils/retry.js +7 -0
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +41 -0
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/secure-browser-launcher.js +1 -1
- package/dist/src/utils/secure-browser-launcher.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +9 -0
- package/dist/src/utils/shell-utils.integration.test.js +1 -1
- package/dist/src/utils/shell-utils.integration.test.js.map +1 -1
- package/dist/src/utils/shell-utils.js +43 -4
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +13 -1
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/systemEncoding.js +1 -1
- package/dist/src/utils/systemEncoding.js.map +1 -1
- package/dist/src/utils/terminalSerializer.d.ts +1 -0
- package/dist/src/utils/terminalSerializer.js +31 -8
- package/dist/src/utils/terminalSerializer.js.map +1 -1
- package/dist/src/utils/terminalSerializer.test.js +3 -2
- package/dist/src/utils/terminalSerializer.test.js.map +1 -1
- package/dist/src/utils/workspaceContext.js +2 -2
- package/dist/src/utils/workspaceContext.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/google-gemini-cli-core-0.37.0-preview.1.tgz +0 -0
- package/dist/src/context/contextManager.js.map +0 -1
- package/dist/src/context/contextManager.test.js.map +0 -1
- package/dist/src/services/types.d.ts +0 -14
- package/dist/src/services/types.js.map +0 -1
- /package/dist/src/context/{contextManager.test.d.ts → memoryContextManager.test.d.ts} +0 -0
- /package/dist/src/{services → context}/types.js +0 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { SandboxPolicyManager } from '../policy/sandboxPolicyManager.js';
|
|
7
7
|
import { z } from 'zod';
|
|
8
8
|
import type { ConversationRecord } from '../services/chatRecordingService.js';
|
|
9
|
-
import type { AgentHistoryProviderConfig } from '../
|
|
9
|
+
import type { AgentHistoryProviderConfig, ContextManagementConfig, ToolOutputMaskingConfig } from '../context/types.js';
|
|
10
10
|
export type { ConversationRecord };
|
|
11
11
|
import { AuthType, type ContentGenerator, type ContentGeneratorConfig } from '../core/contentGenerator.js';
|
|
12
12
|
import type { OverageStrategy } from '../billing/billing.js';
|
|
@@ -30,7 +30,7 @@ import { ModelAvailabilityService } from '../availability/modelAvailabilityServi
|
|
|
30
30
|
import { ModelRouterService } from '../routing/modelRouterService.js';
|
|
31
31
|
import { OutputFormat } from '../output/types.js';
|
|
32
32
|
import { ModelConfigService, type ModelConfig, type ModelConfigServiceConfig } from '../services/modelConfigService.js';
|
|
33
|
-
import {
|
|
33
|
+
import { MemoryContextManager } from '../context/memoryContextManager.js';
|
|
34
34
|
import { TrackerService } from '../services/trackerService.js';
|
|
35
35
|
import type { GenerateContentParameters } from '@google/genai';
|
|
36
36
|
export type { MCPOAuthConfig, AnyToolInvocation, AnyDeclarativeTool };
|
|
@@ -82,30 +82,6 @@ export interface TelemetrySettings {
|
|
|
82
82
|
export interface OutputSettings {
|
|
83
83
|
format?: OutputFormat;
|
|
84
84
|
}
|
|
85
|
-
export interface ToolOutputMaskingConfig {
|
|
86
|
-
protectionThresholdTokens: number;
|
|
87
|
-
minPrunableThresholdTokens: number;
|
|
88
|
-
protectLatestTurn: boolean;
|
|
89
|
-
}
|
|
90
|
-
export interface ContextManagementConfig {
|
|
91
|
-
enabled: boolean;
|
|
92
|
-
historyWindow: {
|
|
93
|
-
maxTokens: number;
|
|
94
|
-
retainedTokens: number;
|
|
95
|
-
};
|
|
96
|
-
messageLimits: {
|
|
97
|
-
normalMaxTokens: number;
|
|
98
|
-
retainedMaxTokens: number;
|
|
99
|
-
normalizationHeadRatio: number;
|
|
100
|
-
};
|
|
101
|
-
tools: {
|
|
102
|
-
distillation: {
|
|
103
|
-
maxOutputTokens: number;
|
|
104
|
-
summarizationThresholdTokens: number;
|
|
105
|
-
};
|
|
106
|
-
outputMasking: ToolOutputMaskingConfig;
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
85
|
export interface GemmaModelRouterSettings {
|
|
110
86
|
enabled?: boolean;
|
|
111
87
|
classifier?: {
|
|
@@ -113,6 +89,10 @@ export interface GemmaModelRouterSettings {
|
|
|
113
89
|
model?: string;
|
|
114
90
|
};
|
|
115
91
|
}
|
|
92
|
+
export interface ADKSettings {
|
|
93
|
+
agentSessionNoninteractiveEnabled?: boolean;
|
|
94
|
+
agentSessionInteractiveEnabled?: boolean;
|
|
95
|
+
}
|
|
116
96
|
export interface ExtensionSetting {
|
|
117
97
|
name: string;
|
|
118
98
|
description: string;
|
|
@@ -230,7 +210,7 @@ export interface BrowserAgentCustomConfig {
|
|
|
230
210
|
headless?: boolean;
|
|
231
211
|
/** Path to Chrome profile directory for session persistence. */
|
|
232
212
|
profilePath?: string;
|
|
233
|
-
/** Model
|
|
213
|
+
/** Model for the visual agent's analyze_screenshot tool. When set, enables the tool. */
|
|
234
214
|
visualModel?: string;
|
|
235
215
|
/** List of allowed domains for the browser agent (e.g., ["github.com", "*.google.com"]). */
|
|
236
216
|
allowedDomains?: string[];
|
|
@@ -342,6 +322,7 @@ export declare enum AuthProviderType {
|
|
|
342
322
|
export interface SandboxConfig {
|
|
343
323
|
enabled: boolean;
|
|
344
324
|
allowedPaths?: string[];
|
|
325
|
+
includeDirectories?: string[];
|
|
345
326
|
networkAccess?: boolean;
|
|
346
327
|
command?: 'docker' | 'podman' | 'sandbox-exec' | 'runsc' | 'lxc' | 'windows-native';
|
|
347
328
|
image?: string;
|
|
@@ -350,6 +331,7 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
350
331
|
sandbox: z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
|
351
332
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
352
333
|
allowedPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
334
|
+
includeDirectories: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
353
335
|
networkAccess: z.ZodDefault<z.ZodBoolean>;
|
|
354
336
|
command: z.ZodOptional<z.ZodEnum<["docker", "podman", "sandbox-exec", "runsc", "lxc", "windows-native"]>>;
|
|
355
337
|
image: z.ZodOptional<z.ZodString>;
|
|
@@ -357,6 +339,7 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
357
339
|
enabled: boolean;
|
|
358
340
|
networkAccess: boolean;
|
|
359
341
|
allowedPaths: string[];
|
|
342
|
+
includeDirectories: string[];
|
|
360
343
|
command?: "docker" | "podman" | "sandbox-exec" | "runsc" | "lxc" | "windows-native" | undefined;
|
|
361
344
|
image?: string | undefined;
|
|
362
345
|
}, {
|
|
@@ -365,10 +348,12 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
365
348
|
enabled?: boolean | undefined;
|
|
366
349
|
networkAccess?: boolean | undefined;
|
|
367
350
|
allowedPaths?: string[] | undefined;
|
|
351
|
+
includeDirectories?: string[] | undefined;
|
|
368
352
|
}>, {
|
|
369
353
|
enabled: boolean;
|
|
370
354
|
networkAccess: boolean;
|
|
371
355
|
allowedPaths: string[];
|
|
356
|
+
includeDirectories: string[];
|
|
372
357
|
command?: "docker" | "podman" | "sandbox-exec" | "runsc" | "lxc" | "windows-native" | undefined;
|
|
373
358
|
image?: string | undefined;
|
|
374
359
|
}, {
|
|
@@ -377,12 +362,14 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
377
362
|
enabled?: boolean | undefined;
|
|
378
363
|
networkAccess?: boolean | undefined;
|
|
379
364
|
allowedPaths?: string[] | undefined;
|
|
365
|
+
includeDirectories?: string[] | undefined;
|
|
380
366
|
}>>;
|
|
381
367
|
}, "strip", z.ZodTypeAny, {
|
|
382
368
|
sandbox?: {
|
|
383
369
|
enabled: boolean;
|
|
384
370
|
networkAccess: boolean;
|
|
385
371
|
allowedPaths: string[];
|
|
372
|
+
includeDirectories: string[];
|
|
386
373
|
command?: "docker" | "podman" | "sandbox-exec" | "runsc" | "lxc" | "windows-native" | undefined;
|
|
387
374
|
image?: string | undefined;
|
|
388
375
|
} | undefined;
|
|
@@ -393,6 +380,7 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
393
380
|
enabled?: boolean | undefined;
|
|
394
381
|
networkAccess?: boolean | undefined;
|
|
395
382
|
allowedPaths?: string[] | undefined;
|
|
383
|
+
includeDirectories?: string[] | undefined;
|
|
396
384
|
} | undefined;
|
|
397
385
|
}>;
|
|
398
386
|
/**
|
|
@@ -490,6 +478,8 @@ export interface ConfigParameters {
|
|
|
490
478
|
trustedFolder?: boolean;
|
|
491
479
|
useBackgroundColor?: boolean;
|
|
492
480
|
useAlternateBuffer?: boolean;
|
|
481
|
+
useTerminalBuffer?: boolean;
|
|
482
|
+
useRenderProcess?: boolean;
|
|
493
483
|
useRipgrep?: boolean;
|
|
494
484
|
enableInteractiveShell?: boolean;
|
|
495
485
|
shellBackgroundCompletionBehavior?: string;
|
|
@@ -506,6 +496,7 @@ export interface ConfigParameters {
|
|
|
506
496
|
policyUpdateConfirmationRequest?: PolicyUpdateConfirmationRequest;
|
|
507
497
|
output?: OutputSettings;
|
|
508
498
|
gemmaModelRouter?: GemmaModelRouterSettings;
|
|
499
|
+
adk?: ADKSettings;
|
|
509
500
|
disableModelRouterForAuth?: AuthType[];
|
|
510
501
|
continueOnFailedApiCall?: boolean;
|
|
511
502
|
retryFetchErrors?: boolean;
|
|
@@ -674,6 +665,8 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
674
665
|
private readonly skipNextSpeakerCheck;
|
|
675
666
|
private readonly useBackgroundColor;
|
|
676
667
|
private readonly useAlternateBuffer;
|
|
668
|
+
private readonly useTerminalBuffer;
|
|
669
|
+
private readonly useRenderProcess;
|
|
677
670
|
private shellExecutionConfig;
|
|
678
671
|
private readonly extensionManagement;
|
|
679
672
|
private readonly extensionRegistryURI;
|
|
@@ -692,6 +685,8 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
692
685
|
private policyUpdateConfirmationRequest;
|
|
693
686
|
private readonly outputSettings;
|
|
694
687
|
private readonly gemmaModelRouter;
|
|
688
|
+
private readonly agentSessionNoninteractiveEnabled;
|
|
689
|
+
private readonly agentSessionInteractiveEnabled;
|
|
695
690
|
private readonly continueOnFailedApiCall;
|
|
696
691
|
private readonly retryFetchErrors;
|
|
697
692
|
private readonly maxAttempts;
|
|
@@ -705,8 +700,8 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
705
700
|
private readonly acceptRawOutputRisk;
|
|
706
701
|
private readonly dynamicModelConfiguration;
|
|
707
702
|
private pendingIncludeDirectories;
|
|
708
|
-
private readonly enableHooks;
|
|
709
703
|
private readonly enableHooksUI;
|
|
704
|
+
private readonly enableHooks;
|
|
710
705
|
private hooks;
|
|
711
706
|
private projectHooks;
|
|
712
707
|
private disabledHooks;
|
|
@@ -731,7 +726,7 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
731
726
|
private readonly trackerEnabled;
|
|
732
727
|
private readonly planModeRoutingEnabled;
|
|
733
728
|
private readonly modelSteering;
|
|
734
|
-
private
|
|
729
|
+
private memoryContextManager?;
|
|
735
730
|
private readonly contextManagement;
|
|
736
731
|
private terminalBackground;
|
|
737
732
|
private remoteAdminSettings;
|
|
@@ -912,9 +907,9 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
912
907
|
getSessionMemory(): string;
|
|
913
908
|
getGlobalMemory(): string;
|
|
914
909
|
getEnvironmentMemory(): string;
|
|
915
|
-
|
|
910
|
+
getMemoryContextManager(): MemoryContextManager | undefined;
|
|
916
911
|
isJitContextEnabled(): boolean;
|
|
917
|
-
|
|
912
|
+
isContextManagementEnabled(): boolean;
|
|
918
913
|
getMemoryBoundaryMarkers(): readonly string[];
|
|
919
914
|
isMemoryManagerEnabled(): boolean;
|
|
920
915
|
getContextManagementConfig(): ContextManagementConfig;
|
|
@@ -1107,6 +1102,10 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
1107
1102
|
* getGemini31Launched instead.
|
|
1108
1103
|
*/
|
|
1109
1104
|
getGemini31LaunchedSync(): boolean;
|
|
1105
|
+
/**
|
|
1106
|
+
* Returns the configured default request timeout in milliseconds.
|
|
1107
|
+
*/
|
|
1108
|
+
getRequestTimeoutMs(): number | undefined;
|
|
1110
1109
|
/**
|
|
1111
1110
|
* Returns whether Gemini 3.1 Flash Lite has been launched.
|
|
1112
1111
|
*
|
|
@@ -1130,6 +1129,8 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
1130
1129
|
getUseRipgrep(): boolean;
|
|
1131
1130
|
getUseBackgroundColor(): boolean;
|
|
1132
1131
|
getUseAlternateBuffer(): boolean;
|
|
1132
|
+
getUseTerminalBuffer(): boolean;
|
|
1133
|
+
getUseRenderProcess(): boolean;
|
|
1133
1134
|
getEnableInteractiveShell(): boolean;
|
|
1134
1135
|
getShellBackgroundCompletionBehavior(): 'inject' | 'notify' | 'silent';
|
|
1135
1136
|
getSkipNextSpeakerCheck(): boolean;
|
|
@@ -1156,6 +1157,8 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
1156
1157
|
getEnableHooksUI(): boolean;
|
|
1157
1158
|
getGemmaModelRouterEnabled(): boolean;
|
|
1158
1159
|
getGemmaModelRouterSettings(): GemmaModelRouterSettings;
|
|
1160
|
+
getAgentSessionNoninteractiveEnabled(): boolean;
|
|
1161
|
+
getAgentSessionInteractiveEnabled(): boolean;
|
|
1159
1162
|
/**
|
|
1160
1163
|
* Get override settings for a specific agent.
|
|
1161
1164
|
* Reads from agents.overrides.<agentName>.
|
|
@@ -30,6 +30,7 @@ import { UpdateTopicTool } from '../tools/topicTool.js';
|
|
|
30
30
|
import { TopicState } from './topicState.js';
|
|
31
31
|
import { ExitPlanModeTool } from '../tools/exit-plan-mode.js';
|
|
32
32
|
import { EnterPlanModeTool } from '../tools/enter-plan-mode.js';
|
|
33
|
+
import { ListBackgroundProcessesTool, ReadBackgroundOutputTool, } from '../tools/shellBackgroundTools.js';
|
|
33
34
|
import { GeminiClient } from '../core/client.js';
|
|
34
35
|
import { BaseLlmClient } from '../core/baseLlmClient.js';
|
|
35
36
|
import { LocalLiteRtLmClient } from '../core/localLiteRtLmClient.js';
|
|
@@ -54,9 +55,10 @@ import { ModelRouterService } from '../routing/modelRouterService.js';
|
|
|
54
55
|
import { OutputFormat } from '../output/types.js';
|
|
55
56
|
import { ModelConfigService, } from '../services/modelConfigService.js';
|
|
56
57
|
import { DEFAULT_MODEL_CONFIGS } from './defaultModelConfigs.js';
|
|
57
|
-
import {
|
|
58
|
+
import { MemoryContextManager } from '../context/memoryContextManager.js';
|
|
58
59
|
import { TrackerService } from '../services/trackerService.js';
|
|
59
60
|
import { WorkspaceContext } from '../utils/workspaceContext.js';
|
|
61
|
+
import { getWorkspaceContextOverride } from './scoped-config.js';
|
|
60
62
|
import { Storage } from './storage.js';
|
|
61
63
|
import { FileExclusions } from '../utils/ignorePatterns.js';
|
|
62
64
|
import { MessageBus } from '../confirmation-bus/message-bus.js';
|
|
@@ -67,7 +69,7 @@ import { getCodeAssistServer } from '../code_assist/codeAssist.js';
|
|
|
67
69
|
import { getExperiments, } from '../code_assist/experiments/experiments.js';
|
|
68
70
|
import { AgentRegistry } from '../agents/registry.js';
|
|
69
71
|
import { AcknowledgedAgentsService } from '../agents/acknowledgedAgents.js';
|
|
70
|
-
import { setGlobalProxy } from '../utils/fetch.js';
|
|
72
|
+
import { setGlobalProxy, updateGlobalFetchTimeouts } from '../utils/fetch.js';
|
|
71
73
|
import { SubagentTool } from '../agents/subagent-tool.js';
|
|
72
74
|
import { ExperimentFlags } from '../code_assist/experiments/flagNames.js';
|
|
73
75
|
import { debugLogger } from '../utils/debugLogger.js';
|
|
@@ -171,6 +173,7 @@ export const ConfigSchema = z.object({
|
|
|
171
173
|
.object({
|
|
172
174
|
enabled: z.boolean().default(false),
|
|
173
175
|
allowedPaths: z.array(z.string()).default([]),
|
|
176
|
+
includeDirectories: z.array(z.string()).default([]),
|
|
174
177
|
networkAccess: z.boolean().default(false),
|
|
175
178
|
command: z
|
|
176
179
|
.enum([
|
|
@@ -312,6 +315,8 @@ export class Config {
|
|
|
312
315
|
skipNextSpeakerCheck;
|
|
313
316
|
useBackgroundColor;
|
|
314
317
|
useAlternateBuffer;
|
|
318
|
+
useTerminalBuffer;
|
|
319
|
+
useRenderProcess;
|
|
315
320
|
shellExecutionConfig;
|
|
316
321
|
extensionManagement = true;
|
|
317
322
|
extensionRegistryURI;
|
|
@@ -330,6 +335,8 @@ export class Config {
|
|
|
330
335
|
policyUpdateConfirmationRequest;
|
|
331
336
|
outputSettings;
|
|
332
337
|
gemmaModelRouter;
|
|
338
|
+
agentSessionNoninteractiveEnabled;
|
|
339
|
+
agentSessionInteractiveEnabled;
|
|
333
340
|
continueOnFailedApiCall;
|
|
334
341
|
retryFetchErrors;
|
|
335
342
|
maxAttempts;
|
|
@@ -343,8 +350,8 @@ export class Config {
|
|
|
343
350
|
acceptRawOutputRisk;
|
|
344
351
|
dynamicModelConfiguration;
|
|
345
352
|
pendingIncludeDirectories;
|
|
346
|
-
enableHooks;
|
|
347
353
|
enableHooksUI;
|
|
354
|
+
enableHooks;
|
|
348
355
|
hooks;
|
|
349
356
|
projectHooks;
|
|
350
357
|
disabledHooks;
|
|
@@ -369,7 +376,7 @@ export class Config {
|
|
|
369
376
|
trackerEnabled;
|
|
370
377
|
planModeRoutingEnabled;
|
|
371
378
|
modelSteering;
|
|
372
|
-
|
|
379
|
+
memoryContextManager;
|
|
373
380
|
contextManagement;
|
|
374
381
|
terminalBackground = undefined;
|
|
375
382
|
remoteAdminSettings;
|
|
@@ -388,6 +395,11 @@ export class Config {
|
|
|
388
395
|
? {
|
|
389
396
|
enabled: params.sandbox.enabled || params.toolSandboxing || false,
|
|
390
397
|
allowedPaths: params.sandbox.allowedPaths ?? [],
|
|
398
|
+
includeDirectories: [
|
|
399
|
+
...(params.sandbox.includeDirectories ?? []),
|
|
400
|
+
...(params.sandbox.allowedPaths ?? []),
|
|
401
|
+
Storage.getGlobalTempDir(),
|
|
402
|
+
],
|
|
391
403
|
networkAccess: params.sandbox.networkAccess ?? false,
|
|
392
404
|
command: params.sandbox.command,
|
|
393
405
|
image: params.sandbox.image,
|
|
@@ -395,6 +407,7 @@ export class Config {
|
|
|
395
407
|
: {
|
|
396
408
|
enabled: params.toolSandboxing || false,
|
|
397
409
|
allowedPaths: [],
|
|
410
|
+
includeDirectories: [Storage.getGlobalTempDir()],
|
|
398
411
|
networkAccess: false,
|
|
399
412
|
};
|
|
400
413
|
this.targetDir = path.resolve(params.targetDir);
|
|
@@ -411,11 +424,14 @@ export class Config {
|
|
|
411
424
|
this._sandboxManager = createSandboxManager(this.sandbox, {
|
|
412
425
|
workspace: this.targetDir,
|
|
413
426
|
forbiddenPaths: this.getSandboxForbiddenPaths.bind(this),
|
|
414
|
-
includeDirectories:
|
|
427
|
+
includeDirectories: [
|
|
428
|
+
...this.pendingIncludeDirectories,
|
|
429
|
+
Storage.getGlobalTempDir(),
|
|
430
|
+
],
|
|
415
431
|
policyManager: this._sandboxPolicyManager,
|
|
416
432
|
}, initialApprovalMode);
|
|
417
433
|
if (!(this._sandboxManager instanceof NoopSandboxManager) &&
|
|
418
|
-
this.sandbox
|
|
434
|
+
this.sandbox?.enabled) {
|
|
419
435
|
this.fileSystemService = new SandboxedFileSystemService(this._sandboxManager, params.targetDir);
|
|
420
436
|
}
|
|
421
437
|
else {
|
|
@@ -594,6 +610,8 @@ export class Config {
|
|
|
594
610
|
this.useRipgrep = params.useRipgrep ?? true;
|
|
595
611
|
this.useBackgroundColor = params.useBackgroundColor ?? true;
|
|
596
612
|
this.useAlternateBuffer = params.useAlternateBuffer ?? false;
|
|
613
|
+
this.useTerminalBuffer = params.useTerminalBuffer ?? false;
|
|
614
|
+
this.useRenderProcess = params.useRenderProcess ?? true;
|
|
597
615
|
this.enableInteractiveShell = params.enableInteractiveShell ?? false;
|
|
598
616
|
const requestedBehavior = params.shellBackgroundCompletionBehavior;
|
|
599
617
|
if (requestedBehavior === 'inject' || requestedBehavior === 'notify') {
|
|
@@ -679,6 +697,10 @@ export class Config {
|
|
|
679
697
|
model: params.gemmaModelRouter?.classifier?.model ?? 'gemma3-1b-gpu-custom',
|
|
680
698
|
},
|
|
681
699
|
};
|
|
700
|
+
this.agentSessionNoninteractiveEnabled =
|
|
701
|
+
params.adk?.agentSessionNoninteractiveEnabled ?? false;
|
|
702
|
+
this.agentSessionInteractiveEnabled =
|
|
703
|
+
params.adk?.agentSessionInteractiveEnabled ?? false;
|
|
682
704
|
this.retryFetchErrors = params.retryFetchErrors ?? true;
|
|
683
705
|
this.maxAttempts = Math.min(params.maxAttempts ?? DEFAULT_MAX_ATTEMPTS, DEFAULT_MAX_ATTEMPTS);
|
|
684
706
|
this.disableYoloMode = params.disableYoloMode ?? false;
|
|
@@ -805,8 +827,8 @@ export class Config {
|
|
|
805
827
|
await this.hookSystem.initialize();
|
|
806
828
|
}
|
|
807
829
|
if (this.experimentalJitContext) {
|
|
808
|
-
this.
|
|
809
|
-
await this.
|
|
830
|
+
this.memoryContextManager = new MemoryContextManager(this);
|
|
831
|
+
await this.memoryContextManager.refresh();
|
|
810
832
|
}
|
|
811
833
|
await this._geminiClient.initialize();
|
|
812
834
|
this.initialized = true;
|
|
@@ -835,8 +857,6 @@ export class Config {
|
|
|
835
857
|
this.contentGenerator = await createContentGenerator(newContentGeneratorConfig, this, this.getSessionId());
|
|
836
858
|
// Only assign to instance properties after successful initialization
|
|
837
859
|
this.contentGeneratorConfig = newContentGeneratorConfig;
|
|
838
|
-
// Initialize BaseLlmClient now that the ContentGenerator is available
|
|
839
|
-
this.baseLlmClient = new BaseLlmClient(this.contentGenerator, this);
|
|
840
860
|
const codeAssistServer = getCodeAssistServer(this);
|
|
841
861
|
const quotaPromise = codeAssistServer?.projectId
|
|
842
862
|
? this.refreshUserQuota()
|
|
@@ -850,6 +870,14 @@ export class Config {
|
|
|
850
870
|
debugLogger.error('Failed to fetch experiments', e);
|
|
851
871
|
return undefined;
|
|
852
872
|
});
|
|
873
|
+
// Fetch experiments and update timeouts before continuing initialization
|
|
874
|
+
const experiments = await this.experimentsPromise;
|
|
875
|
+
const requestTimeoutMs = this.getRequestTimeoutMs();
|
|
876
|
+
if (requestTimeoutMs !== undefined) {
|
|
877
|
+
updateGlobalFetchTimeouts(requestTimeoutMs);
|
|
878
|
+
}
|
|
879
|
+
// Initialize BaseLlmClient now that the ContentGenerator and experiments are available
|
|
880
|
+
this.baseLlmClient = new BaseLlmClient(this.contentGenerator, this);
|
|
853
881
|
await quotaPromise;
|
|
854
882
|
const authType = this.contentGeneratorConfig.authType;
|
|
855
883
|
if (authType === AuthType.USE_GEMINI ||
|
|
@@ -862,8 +890,6 @@ export class Config {
|
|
|
862
890
|
this.hasAccessToPreviewModel === false) {
|
|
863
891
|
this.setModel(DEFAULT_GEMINI_MODEL_AUTO);
|
|
864
892
|
}
|
|
865
|
-
// Fetch admin controls
|
|
866
|
-
const experiments = await this.experimentsPromise;
|
|
867
893
|
const adminControlsEnabled = experiments?.flags[ExperimentFlags.ENABLE_ADMIN_CONTROLS]?.boolValue ??
|
|
868
894
|
false;
|
|
869
895
|
const adminControls = await fetchAdminControls(codeAssistServer, this.getRemoteAdminSettings(), adminControlsEnabled, (newSettings) => {
|
|
@@ -897,6 +923,9 @@ export class Config {
|
|
|
897
923
|
getBaseLlmClient() {
|
|
898
924
|
if (!this.baseLlmClient) {
|
|
899
925
|
// Handle cases where initialization might be deferred or authentication failed
|
|
926
|
+
if (!this.experiments) {
|
|
927
|
+
throw new Error('BaseLlmClient not initialized. Ensure experiments have been fetched and configuration is ready.');
|
|
928
|
+
}
|
|
900
929
|
if (this.contentGenerator) {
|
|
901
930
|
this.baseLlmClient = new BaseLlmClient(this.getContentGenerator(), this);
|
|
902
931
|
}
|
|
@@ -964,6 +993,10 @@ export class Config {
|
|
|
964
993
|
this._sandboxManager = createSandboxManager(this.sandbox, {
|
|
965
994
|
workspace: this.targetDir,
|
|
966
995
|
forbiddenPaths: this.getSandboxForbiddenPaths.bind(this),
|
|
996
|
+
includeDirectories: [
|
|
997
|
+
...this.pendingIncludeDirectories,
|
|
998
|
+
Storage.getGlobalTempDir(),
|
|
999
|
+
],
|
|
967
1000
|
policyManager: this._sandboxPolicyManager,
|
|
968
1001
|
}, this.getApprovalMode());
|
|
969
1002
|
this.shellExecutionConfig.sandboxManager = this._sandboxManager;
|
|
@@ -1160,7 +1193,12 @@ export class Config {
|
|
|
1160
1193
|
return this.sandbox?.enabled ?? false;
|
|
1161
1194
|
}
|
|
1162
1195
|
getSandboxAllowedPaths() {
|
|
1163
|
-
|
|
1196
|
+
const paths = [...(this.sandbox?.allowedPaths ?? [])];
|
|
1197
|
+
const globalTempDir = Storage.getGlobalTempDir();
|
|
1198
|
+
if (!paths.includes(globalTempDir)) {
|
|
1199
|
+
paths.push(globalTempDir);
|
|
1200
|
+
}
|
|
1201
|
+
return paths;
|
|
1164
1202
|
}
|
|
1165
1203
|
getSandboxNetworkAccess() {
|
|
1166
1204
|
return this.sandbox?.networkAccess ?? false;
|
|
@@ -1181,7 +1219,7 @@ export class Config {
|
|
|
1181
1219
|
return this.targetDir;
|
|
1182
1220
|
}
|
|
1183
1221
|
getWorkspaceContext() {
|
|
1184
|
-
return this.workspaceContext;
|
|
1222
|
+
return getWorkspaceContextOverride() ?? this.workspaceContext;
|
|
1185
1223
|
}
|
|
1186
1224
|
getAgentRegistry() {
|
|
1187
1225
|
return this.agentRegistry;
|
|
@@ -1388,12 +1426,12 @@ export class Config {
|
|
|
1388
1426
|
this.mcpServers = mcpServers;
|
|
1389
1427
|
}
|
|
1390
1428
|
getUserMemory() {
|
|
1391
|
-
if (this.experimentalJitContext && this.
|
|
1429
|
+
if (this.experimentalJitContext && this.memoryContextManager) {
|
|
1392
1430
|
return {
|
|
1393
|
-
global: this.
|
|
1394
|
-
extension: this.
|
|
1395
|
-
project: this.
|
|
1396
|
-
userProjectMemory: this.
|
|
1431
|
+
global: this.memoryContextManager.getGlobalMemory(),
|
|
1432
|
+
extension: this.memoryContextManager.getExtensionMemory(),
|
|
1433
|
+
project: this.memoryContextManager.getEnvironmentMemory(),
|
|
1434
|
+
userProjectMemory: this.memoryContextManager.getUserProjectMemory(),
|
|
1397
1435
|
};
|
|
1398
1436
|
}
|
|
1399
1437
|
return this.userMemory;
|
|
@@ -1402,8 +1440,8 @@ export class Config {
|
|
|
1402
1440
|
* Refreshes the MCP context, including memory, tools, and system instructions.
|
|
1403
1441
|
*/
|
|
1404
1442
|
async refreshMcpContext() {
|
|
1405
|
-
if (this.experimentalJitContext && this.
|
|
1406
|
-
await this.
|
|
1443
|
+
if (this.experimentalJitContext && this.memoryContextManager) {
|
|
1444
|
+
await this.memoryContextManager.refresh();
|
|
1407
1445
|
}
|
|
1408
1446
|
else {
|
|
1409
1447
|
const { refreshServerHierarchicalMemory } = await import('../utils/memoryDiscovery.js');
|
|
@@ -1426,9 +1464,9 @@ export class Config {
|
|
|
1426
1464
|
* via system instruction updates.
|
|
1427
1465
|
*/
|
|
1428
1466
|
getSystemInstructionMemory() {
|
|
1429
|
-
if (this.experimentalJitContext && this.
|
|
1430
|
-
const global = this.
|
|
1431
|
-
const userProjectMemory = this.
|
|
1467
|
+
if (this.experimentalJitContext && this.memoryContextManager) {
|
|
1468
|
+
const global = this.memoryContextManager.getGlobalMemory();
|
|
1469
|
+
const userProjectMemory = this.memoryContextManager.getUserProjectMemory();
|
|
1432
1470
|
if (userProjectMemory?.trim()) {
|
|
1433
1471
|
return { global, userProjectMemory };
|
|
1434
1472
|
}
|
|
@@ -1442,12 +1480,12 @@ export class Config {
|
|
|
1442
1480
|
* disabled (Tier 2 memory is already in the system instruction).
|
|
1443
1481
|
*/
|
|
1444
1482
|
getSessionMemory() {
|
|
1445
|
-
if (!this.experimentalJitContext || !this.
|
|
1483
|
+
if (!this.experimentalJitContext || !this.memoryContextManager) {
|
|
1446
1484
|
return '';
|
|
1447
1485
|
}
|
|
1448
1486
|
const sections = [];
|
|
1449
|
-
const extension = this.
|
|
1450
|
-
const project = this.
|
|
1487
|
+
const extension = this.memoryContextManager.getExtensionMemory();
|
|
1488
|
+
const project = this.memoryContextManager.getEnvironmentMemory();
|
|
1451
1489
|
if (extension?.trim()) {
|
|
1452
1490
|
sections.push(`<extension_context>\n${extension.trim()}\n</extension_context>`);
|
|
1453
1491
|
}
|
|
@@ -1459,18 +1497,18 @@ export class Config {
|
|
|
1459
1497
|
return `\n<loaded_context>\n${sections.join('\n')}\n</loaded_context>`;
|
|
1460
1498
|
}
|
|
1461
1499
|
getGlobalMemory() {
|
|
1462
|
-
return this.
|
|
1500
|
+
return this.memoryContextManager?.getGlobalMemory() ?? '';
|
|
1463
1501
|
}
|
|
1464
1502
|
getEnvironmentMemory() {
|
|
1465
|
-
return this.
|
|
1503
|
+
return this.memoryContextManager?.getEnvironmentMemory() ?? '';
|
|
1466
1504
|
}
|
|
1467
|
-
|
|
1468
|
-
return this.
|
|
1505
|
+
getMemoryContextManager() {
|
|
1506
|
+
return this.memoryContextManager;
|
|
1469
1507
|
}
|
|
1470
1508
|
isJitContextEnabled() {
|
|
1471
1509
|
return this.experimentalJitContext;
|
|
1472
1510
|
}
|
|
1473
|
-
|
|
1511
|
+
isContextManagementEnabled() {
|
|
1474
1512
|
return this.contextManagement.enabled;
|
|
1475
1513
|
}
|
|
1476
1514
|
getMemoryBoundaryMarkers() {
|
|
@@ -1484,8 +1522,6 @@ export class Config {
|
|
|
1484
1522
|
}
|
|
1485
1523
|
get agentHistoryProviderConfig() {
|
|
1486
1524
|
return {
|
|
1487
|
-
isTruncationEnabled: this.contextManagement.enabled,
|
|
1488
|
-
isSummarizationEnabled: this.contextManagement.enabled,
|
|
1489
1525
|
maxTokens: this.contextManagement.historyWindow.maxTokens,
|
|
1490
1526
|
retainedTokens: this.contextManagement.historyWindow.retainedTokens,
|
|
1491
1527
|
normalMessageTokens: this.contextManagement.messageLimits.normalMaxTokens,
|
|
@@ -1527,8 +1563,8 @@ export class Config {
|
|
|
1527
1563
|
};
|
|
1528
1564
|
}
|
|
1529
1565
|
getGeminiMdFileCount() {
|
|
1530
|
-
if (this.experimentalJitContext && this.
|
|
1531
|
-
return this.
|
|
1566
|
+
if (this.experimentalJitContext && this.memoryContextManager) {
|
|
1567
|
+
return this.memoryContextManager.getLoadedPaths().size;
|
|
1532
1568
|
}
|
|
1533
1569
|
return this.geminiMdFileCount;
|
|
1534
1570
|
}
|
|
@@ -1536,8 +1572,8 @@ export class Config {
|
|
|
1536
1572
|
this.geminiMdFileCount = count;
|
|
1537
1573
|
}
|
|
1538
1574
|
getGeminiMdFilePaths() {
|
|
1539
|
-
if (this.experimentalJitContext && this.
|
|
1540
|
-
return Array.from(this.
|
|
1575
|
+
if (this.experimentalJitContext && this.memoryContextManager) {
|
|
1576
|
+
return Array.from(this.memoryContextManager.getLoadedPaths());
|
|
1541
1577
|
}
|
|
1542
1578
|
return this.geminiMdFilePaths;
|
|
1543
1579
|
}
|
|
@@ -2046,6 +2082,19 @@ export class Config {
|
|
|
2046
2082
|
return (this.experiments?.flags[ExperimentFlags.GEMINI_3_1_PRO_LAUNCHED]
|
|
2047
2083
|
?.boolValue ?? false);
|
|
2048
2084
|
}
|
|
2085
|
+
/**
|
|
2086
|
+
* Returns the configured default request timeout in milliseconds.
|
|
2087
|
+
*/
|
|
2088
|
+
getRequestTimeoutMs() {
|
|
2089
|
+
const flag = this.experiments?.flags?.[ExperimentFlags.DEFAULT_REQUEST_TIMEOUT];
|
|
2090
|
+
if (flag?.intValue !== undefined) {
|
|
2091
|
+
const seconds = parseInt(flag.intValue, 10);
|
|
2092
|
+
if (Number.isInteger(seconds) && seconds >= 0) {
|
|
2093
|
+
return seconds * 1000; // Convert seconds to milliseconds
|
|
2094
|
+
}
|
|
2095
|
+
}
|
|
2096
|
+
return undefined;
|
|
2097
|
+
}
|
|
2049
2098
|
/**
|
|
2050
2099
|
* Returns whether Gemini 3.1 Flash Lite has been launched.
|
|
2051
2100
|
*
|
|
@@ -2134,6 +2183,12 @@ export class Config {
|
|
|
2134
2183
|
getUseAlternateBuffer() {
|
|
2135
2184
|
return this.useAlternateBuffer;
|
|
2136
2185
|
}
|
|
2186
|
+
getUseTerminalBuffer() {
|
|
2187
|
+
return this.useTerminalBuffer;
|
|
2188
|
+
}
|
|
2189
|
+
getUseRenderProcess() {
|
|
2190
|
+
return this.useRenderProcess;
|
|
2191
|
+
}
|
|
2137
2192
|
getEnableInteractiveShell() {
|
|
2138
2193
|
return this.enableInteractiveShell;
|
|
2139
2194
|
}
|
|
@@ -2228,6 +2283,12 @@ export class Config {
|
|
|
2228
2283
|
getGemmaModelRouterSettings() {
|
|
2229
2284
|
return this.gemmaModelRouter;
|
|
2230
2285
|
}
|
|
2286
|
+
getAgentSessionNoninteractiveEnabled() {
|
|
2287
|
+
return this.agentSessionNoninteractiveEnabled;
|
|
2288
|
+
}
|
|
2289
|
+
getAgentSessionInteractiveEnabled() {
|
|
2290
|
+
return this.agentSessionInteractiveEnabled;
|
|
2291
|
+
}
|
|
2231
2292
|
/**
|
|
2232
2293
|
* Get override settings for a specific agent.
|
|
2233
2294
|
* Reads from agents.overrides.<agentName>.
|
|
@@ -2318,6 +2379,8 @@ export class Config {
|
|
|
2318
2379
|
maybeRegister(WriteFileTool, () => registry.registerTool(new WriteFileTool(this, this.messageBus)));
|
|
2319
2380
|
maybeRegister(WebFetchTool, () => registry.registerTool(new WebFetchTool(this, this.messageBus)));
|
|
2320
2381
|
maybeRegister(ShellTool, () => registry.registerTool(new ShellTool(this, this.messageBus)));
|
|
2382
|
+
maybeRegister(ListBackgroundProcessesTool, () => registry.registerTool(new ListBackgroundProcessesTool(this, this.messageBus)));
|
|
2383
|
+
maybeRegister(ReadBackgroundOutputTool, () => registry.registerTool(new ReadBackgroundOutputTool(this, this.messageBus)));
|
|
2321
2384
|
if (!this.isMemoryManagerEnabled()) {
|
|
2322
2385
|
maybeRegister(MemoryTool, () => registry.registerTool(new MemoryTool(this.messageBus, this.storage)));
|
|
2323
2386
|
}
|