@google/gemini-cli-core 0.35.0-preview.2 → 0.36.0-nightly.20260321.fc03891a1
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 +0 -1
- package/dist/docs/CONTRIBUTING.md +0 -15
- package/dist/docs/admin/enterprise-controls.md +61 -0
- package/dist/docs/changelogs/index.md +11 -0
- package/dist/docs/changelogs/latest.md +459 -209
- package/dist/docs/changelogs/preview.md +355 -454
- package/dist/docs/cli/checkpointing.md +3 -1
- package/dist/docs/cli/cli-reference.md +1 -0
- package/dist/docs/cli/custom-commands.md +7 -5
- package/dist/docs/cli/enterprise.md +15 -9
- package/dist/docs/cli/git-worktrees.md +107 -0
- package/dist/docs/cli/model-steering.md +4 -3
- package/dist/docs/cli/model.md +3 -1
- package/dist/docs/cli/notifications.md +4 -3
- package/dist/docs/cli/plan-mode.md +28 -8
- package/dist/docs/cli/sandbox.md +24 -4
- package/dist/docs/cli/session-management.md +6 -0
- package/dist/docs/cli/settings.md +14 -1
- package/dist/docs/cli/skills.md +4 -2
- package/dist/docs/cli/system-prompt.md +3 -1
- package/dist/docs/cli/telemetry.md +6 -3
- package/dist/docs/cli/themes.md +12 -8
- package/dist/docs/cli/tutorials/file-management.md +8 -6
- package/dist/docs/cli/tutorials/mcp-setup.md +5 -3
- package/dist/docs/cli/tutorials/memory-management.md +6 -6
- package/dist/docs/cli/tutorials/plan-mode-steering.md +4 -3
- package/dist/docs/cli/tutorials/shell-commands.md +3 -3
- package/dist/docs/core/remote-agents.md +8 -3
- package/dist/docs/core/subagents.md +21 -13
- package/dist/docs/extensions/reference.md +8 -3
- package/dist/docs/get-started/authentication.md +60 -50
- package/dist/docs/get-started/examples.md +3 -1
- package/dist/docs/get-started/gemini-3.md +11 -5
- package/dist/docs/hooks/index.md +3 -1
- package/dist/docs/hooks/writing-hooks.md +2 -2
- package/dist/docs/ide-integration/ide-companion-spec.md +5 -3
- package/dist/docs/ide-integration/index.md +8 -4
- package/dist/docs/issue-and-pr-automation.md +3 -1
- package/dist/docs/local-development.md +3 -1
- package/dist/docs/reference/commands.md +2 -2
- package/dist/docs/reference/configuration.md +410 -16
- package/dist/docs/reference/policy-engine.md +47 -19
- package/dist/docs/reference/tools.md +3 -1
- package/dist/docs/release-confidence.md +7 -3
- package/dist/docs/releases.md +11 -7
- package/dist/docs/resources/faq.md +13 -0
- package/dist/docs/resources/tos-privacy.md +4 -2
- package/dist/docs/resources/troubleshooting.md +3 -1
- package/dist/docs/sidebar.json +5 -0
- package/dist/docs/tools/mcp-server.md +17 -9
- package/dist/docs/tools/planning.md +3 -1
- package/dist/docs/tools/shell.md +4 -4
- package/dist/docs/tools/todos.md +2 -1
- package/dist/{google-gemini-cli-core-0.35.0-preview.1.tgz → google-gemini-cli-core-0.36.0-nightly.20260317.2f90b4653.tgz} +0 -0
- package/dist/src/agent/agent-session.d.ts +37 -0
- package/dist/src/agent/agent-session.js +168 -0
- package/dist/src/agent/agent-session.js.map +1 -0
- package/dist/src/agent/agent-session.test.d.ts +6 -0
- package/dist/src/agent/agent-session.test.js +217 -0
- package/dist/src/agent/agent-session.test.js.map +1 -0
- package/dist/src/agent/content-utils.d.ts +33 -0
- package/dist/src/agent/content-utils.js +135 -0
- package/dist/src/agent/content-utils.js.map +1 -0
- package/dist/src/agent/content-utils.test.d.ts +6 -0
- package/dist/src/agent/content-utils.test.js +223 -0
- package/dist/src/agent/content-utils.test.js.map +1 -0
- package/dist/src/agent/mock.d.ts +9 -12
- package/dist/src/agent/mock.js +88 -129
- package/dist/src/agent/mock.js.map +1 -1
- package/dist/src/agent/mock.test.js +114 -144
- package/dist/src/agent/mock.test.js.map +1 -1
- package/dist/src/agent/types.d.ts +21 -21
- package/dist/src/agents/a2a-client-manager.d.ts +2 -11
- package/dist/src/agents/a2a-client-manager.js +3 -19
- package/dist/src/agents/a2a-client-manager.js.map +1 -1
- package/dist/src/agents/a2a-client-manager.test.js +6 -10
- package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
- package/dist/src/agents/agent-scheduler.d.ts +6 -0
- package/dist/src/agents/agent-scheduler.js +3 -2
- package/dist/src/agents/agent-scheduler.js.map +1 -1
- package/dist/src/agents/agent-scheduler.test.js +6 -0
- package/dist/src/agents/agent-scheduler.test.js.map +1 -1
- package/dist/src/agents/browser/browserAgentDefinition.js +10 -1
- package/dist/src/agents/browser/browserAgentDefinition.js.map +1 -1
- package/dist/src/agents/browser/browserAgentFactory.js +62 -1
- package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
- package/dist/src/agents/browser/browserAgentFactory.test.js +73 -0
- package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.js +2 -97
- package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.test.js +30 -0
- package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
- package/dist/src/agents/browser/browserManager.js +11 -0
- package/dist/src/agents/browser/browserManager.js.map +1 -1
- package/dist/src/agents/browser/browserManager.test.js +37 -0
- package/dist/src/agents/browser/browserManager.test.js.map +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.d.ts +4 -2
- package/dist/src/agents/browser/mcpToolWrapper.js +30 -8
- package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.test.js +30 -0
- package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
- package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.js +3 -3
- package/dist/src/agents/codebase-investigator.js +3 -3
- package/dist/src/agents/codebase-investigator.js.map +1 -1
- package/dist/src/agents/local-executor.d.ts +3 -1
- package/dist/src/agents/local-executor.js +138 -39
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/local-executor.test.js +305 -12
- package/dist/src/agents/local-executor.test.js.map +1 -1
- package/dist/src/agents/local-invocation.js +43 -24
- package/dist/src/agents/local-invocation.js.map +1 -1
- package/dist/src/agents/local-invocation.test.js +89 -14
- package/dist/src/agents/local-invocation.test.js.map +1 -1
- package/dist/src/agents/memory-manager-agent.d.ts +25 -0
- package/dist/src/agents/memory-manager-agent.js +137 -0
- package/dist/src/agents/memory-manager-agent.js.map +1 -0
- package/dist/src/agents/memory-manager-agent.test.d.ts +6 -0
- package/dist/src/agents/memory-manager-agent.test.js +117 -0
- package/dist/src/agents/memory-manager-agent.test.js.map +1 -0
- package/dist/src/agents/registry.js +21 -3
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +23 -24
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/remote-invocation.d.ts +3 -1
- package/dist/src/agents/remote-invocation.js +10 -5
- package/dist/src/agents/remote-invocation.js.map +1 -1
- package/dist/src/agents/remote-invocation.test.js +64 -41
- package/dist/src/agents/remote-invocation.test.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.js +1 -1
- package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
- package/dist/src/agents/types.d.ts +12 -0
- package/dist/src/agents/types.js +14 -0
- package/dist/src/agents/types.js.map +1 -1
- package/dist/src/availability/policyHelpers.js +41 -1
- package/dist/src/availability/policyHelpers.js.map +1 -1
- package/dist/src/availability/policyHelpers.test.js +47 -0
- package/dist/src/availability/policyHelpers.test.js.map +1 -1
- package/dist/src/code_assist/admin/admin_controls.js +11 -0
- package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
- package/dist/src/code_assist/admin/admin_controls.test.js +68 -0
- package/dist/src/code_assist/admin/admin_controls.test.js.map +1 -1
- package/dist/src/code_assist/admin/mcpUtils.d.ts +16 -1
- package/dist/src/code_assist/admin/mcpUtils.js +43 -0
- package/dist/src/code_assist/admin/mcpUtils.js.map +1 -1
- package/dist/src/code_assist/admin/mcpUtils.test.js +130 -1
- package/dist/src/code_assist/admin/mcpUtils.test.js.map +1 -1
- package/dist/src/code_assist/types.d.ts +458 -0
- package/dist/src/code_assist/types.js +26 -0
- package/dist/src/code_assist/types.js.map +1 -1
- package/dist/src/config/agent-loop-context.d.ts +6 -0
- package/dist/src/config/config.d.ts +41 -10
- package/dist/src/config/config.js +96 -19
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +29 -1
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +265 -9
- package/dist/src/config/defaultModelConfigs.js.map +1 -1
- package/dist/src/config/models.d.ts +13 -2
- package/dist/src/config/models.js +31 -3
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +52 -7
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/config/path-validation.test.d.ts +6 -0
- package/dist/src/config/path-validation.test.js +59 -0
- package/dist/src/config/path-validation.test.js.map +1 -0
- package/dist/src/core/client.d.ts +1 -0
- package/dist/src/core/client.js +6 -1
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +9 -1
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.js +36 -6
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +97 -3
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/geminiChat.js +2 -2
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/prompts.test.js +10 -0
- package/dist/src/core/prompts.test.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/generated/git-commit.js.map +1 -1
- package/dist/src/ide/ide-connection-utils.js +2 -7
- package/dist/src/ide/ide-connection-utils.js.map +1 -1
- package/dist/src/ide/ide-connection-utils.test.js +7 -0
- package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/policy/config.js +2 -0
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/config.test.js +15 -0
- package/dist/src/policy/config.test.js.map +1 -1
- package/dist/src/policy/memory-manager-policy.test.d.ts +6 -0
- package/dist/src/policy/memory-manager-policy.test.js +80 -0
- package/dist/src/policy/memory-manager-policy.test.js.map +1 -0
- package/dist/src/policy/policies/memory-manager.toml +10 -0
- package/dist/src/policy/policies/plan.toml +14 -0
- package/dist/src/policy/policies/yolo.toml +1 -0
- package/dist/src/policy/policy-engine.js +33 -6
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +85 -3
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/policy-updater.test.js +44 -0
- package/dist/src/policy/policy-updater.test.js.map +1 -1
- package/dist/src/policy/toml-loader.js +2 -0
- package/dist/src/policy/toml-loader.js.map +1 -1
- package/dist/src/policy/types.d.ts +11 -0
- package/dist/src/policy/types.js +5 -0
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/prompts/promptProvider.js +5 -3
- package/dist/src/prompts/promptProvider.js.map +1 -1
- package/dist/src/prompts/promptProvider.test.js +1 -0
- package/dist/src/prompts/promptProvider.test.js.map +1 -1
- package/dist/src/prompts/snippets-memory-manager.test.d.ts +6 -0
- package/dist/src/prompts/snippets-memory-manager.test.js +31 -0
- package/dist/src/prompts/snippets-memory-manager.test.js.map +1 -0
- package/dist/src/prompts/snippets.d.ts +2 -0
- package/dist/src/prompts/snippets.js +7 -3
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/prompts/snippets.legacy.d.ts +5 -0
- package/dist/src/prompts/snippets.legacy.js +30 -2
- package/dist/src/prompts/snippets.legacy.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/defaultStrategy.js +1 -1
- package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.js +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/sandbox/macos/MacOsSandboxManager.d.ts +28 -0
- package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.d.ts +1 -0
- package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js +160 -0
- package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js.map +1 -0
- package/dist/src/sandbox/macos/MacOsSandboxManager.js +33 -0
- package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -0
- package/dist/src/sandbox/macos/MacOsSandboxManager.test.d.ts +1 -0
- package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +87 -0
- package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -0
- package/dist/src/sandbox/macos/baseProfile.d.ts +20 -0
- package/dist/src/sandbox/macos/baseProfile.js +93 -0
- package/dist/src/sandbox/macos/baseProfile.js.map +1 -0
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.d.ts +25 -0
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +58 -0
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -0
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.d.ts +1 -0
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +80 -0
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -0
- package/dist/src/scheduler/scheduler.js +2 -0
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/services/contextManager.js +2 -3
- package/dist/src/services/contextManager.js.map +1 -1
- package/dist/src/services/contextManager.test.js +1 -1
- package/dist/src/services/contextManager.test.js.map +1 -1
- package/dist/src/services/modelConfigService.d.ts +36 -1
- package/dist/src/services/modelConfigService.js +66 -0
- package/dist/src/services/modelConfigService.js.map +1 -1
- package/dist/src/services/sandboxManager.d.ts +3 -4
- package/dist/src/services/sandboxManager.js +1 -14
- package/dist/src/services/sandboxManager.js.map +1 -1
- package/dist/src/services/sandboxManager.test.js +13 -16
- package/dist/src/services/sandboxManager.test.js.map +1 -1
- package/dist/src/services/sandboxManagerFactory.d.ts +11 -0
- package/dist/src/services/sandboxManagerFactory.js +31 -0
- package/dist/src/services/sandboxManagerFactory.js.map +1 -0
- package/dist/src/services/sandboxedFileSystemService.d.ts +17 -0
- package/dist/src/services/sandboxedFileSystemService.js +95 -0
- package/dist/src/services/sandboxedFileSystemService.js.map +1 -0
- package/dist/src/services/sandboxedFileSystemService.test.d.ts +6 -0
- package/dist/src/services/sandboxedFileSystemService.test.js +87 -0
- package/dist/src/services/sandboxedFileSystemService.test.js.map +1 -0
- package/dist/src/services/scripts/GeminiSandbox.cs +370 -0
- package/dist/src/services/shellExecutionService.d.ts +2 -0
- package/dist/src/services/shellExecutionService.js +79 -75
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/trackerTypes.d.ts +1 -0
- package/dist/src/services/trackerTypes.js +1 -0
- package/dist/src/services/trackerTypes.js.map +1 -1
- package/dist/src/services/windowsSandboxManager.d.ts +27 -0
- package/dist/src/services/windowsSandboxManager.js +148 -0
- package/dist/src/services/windowsSandboxManager.js.map +1 -0
- package/dist/src/services/windowsSandboxManager.test.d.ts +6 -0
- package/dist/src/services/windowsSandboxManager.test.js +59 -0
- package/dist/src/services/windowsSandboxManager.test.js.map +1 -0
- package/dist/src/services/worktreeService.d.ts +33 -0
- package/dist/src/services/worktreeService.js +174 -0
- package/dist/src/services/worktreeService.js.map +1 -0
- package/dist/src/services/worktreeService.test.d.ts +6 -0
- package/dist/src/services/worktreeService.test.js +200 -0
- package/dist/src/services/worktreeService.test.js.map +1 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +4 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -0
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +2 -0
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +62 -40
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +1 -0
- package/dist/src/telemetry/types.js +3 -0
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js +8 -1
- 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 +8 -1
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
- package/dist/src/tools/exit-plan-mode.d.ts +6 -1
- package/dist/src/tools/exit-plan-mode.js +17 -6
- package/dist/src/tools/exit-plan-mode.js.map +1 -1
- package/dist/src/tools/exit-plan-mode.test.js +22 -1
- package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.d.ts +22 -3
- package/dist/src/tools/mcp-client-manager.js +84 -32
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +76 -56
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +15 -6
- package/dist/src/tools/mcp-client.js +85 -71
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +195 -88
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +2 -1
- package/dist/src/tools/tool-registry.js +12 -1
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +15 -0
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +1 -1
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/trackerTools.js +6 -1
- package/dist/src/tools/trackerTools.js.map +1 -1
- package/dist/src/tools/trackerTools.test.js +9 -1
- package/dist/src/tools/trackerTools.test.js.map +1 -1
- package/dist/src/tools/write-todos.js +1 -0
- package/dist/src/tools/write-todos.js.map +1 -1
- package/dist/src/tools/write-todos.test.js +4 -1
- package/dist/src/tools/write-todos.test.js.map +1 -1
- package/dist/src/utils/agent-sanitization-utils.d.ts +23 -0
- package/dist/src/utils/agent-sanitization-utils.js +123 -0
- package/dist/src/utils/agent-sanitization-utils.js.map +1 -0
- package/dist/src/utils/agent-sanitization-utils.test.d.ts +6 -0
- package/dist/src/utils/agent-sanitization-utils.test.js +83 -0
- package/dist/src/utils/agent-sanitization-utils.test.js.map +1 -0
- package/dist/src/utils/browserConsent.d.ts +17 -0
- package/dist/src/utils/browserConsent.js +78 -0
- package/dist/src/utils/browserConsent.js.map +1 -0
- package/dist/src/utils/browserConsent.test.d.ts +6 -0
- package/dist/src/utils/browserConsent.test.js +93 -0
- package/dist/src/utils/browserConsent.test.js.map +1 -0
- package/dist/src/utils/compatibility.d.ts +16 -0
- package/dist/src/utils/compatibility.js +58 -9
- package/dist/src/utils/compatibility.js.map +1 -1
- package/dist/src/utils/compatibility.test.js +127 -29
- package/dist/src/utils/compatibility.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.d.ts +2 -2
- package/dist/src/utils/memoryDiscovery.js +5 -10
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +37 -37
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.js +5 -5
- package/dist/src/utils/memoryImportProcessor.js.map +1 -1
- package/dist/src/utils/surface.js +4 -3
- package/dist/src/utils/surface.js.map +1 -1
- package/dist/src/utils/toolCallContext.d.ts +2 -0
- package/dist/src/utils/toolCallContext.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
|
@@ -196,6 +196,10 @@ export interface BrowserAgentCustomConfig {
|
|
|
196
196
|
allowedDomains?: string[];
|
|
197
197
|
/** Disable user input on the browser window during automation. Default: true in non-headless mode */
|
|
198
198
|
disableUserInput?: boolean;
|
|
199
|
+
/** Whether to confirm sensitive actions (e.g., fill_form, evaluate_script). */
|
|
200
|
+
confirmSensitiveActions?: boolean;
|
|
201
|
+
/** Whether to block file uploads. */
|
|
202
|
+
blockFileUploads?: boolean;
|
|
199
203
|
}
|
|
200
204
|
/**
|
|
201
205
|
* All information required in CLI to handle an extension. Defined in Core so
|
|
@@ -258,6 +262,7 @@ export interface ExtensionInstallMetadata {
|
|
|
258
262
|
import { DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, type FileFilteringOptions } from './constants.js';
|
|
259
263
|
import { type ExtensionLoader } from '../utils/extensionLoader.js';
|
|
260
264
|
import { McpClientManager } from '../tools/mcp-client-manager.js';
|
|
265
|
+
import { A2AClientManager } from '../agents/a2a-client-manager.js';
|
|
261
266
|
import { type McpContext } from '../tools/mcp-client.js';
|
|
262
267
|
import type { EnvironmentSanitizationConfig } from '../services/environmentSanitization.js';
|
|
263
268
|
export type { FileFilteringOptions };
|
|
@@ -294,7 +299,7 @@ export interface SandboxConfig {
|
|
|
294
299
|
enabled: boolean;
|
|
295
300
|
allowedPaths?: string[];
|
|
296
301
|
networkAccess?: boolean;
|
|
297
|
-
command?: 'docker' | 'podman' | 'sandbox-exec' | 'runsc' | 'lxc';
|
|
302
|
+
command?: 'docker' | 'podman' | 'sandbox-exec' | 'runsc' | 'lxc' | 'windows-native';
|
|
298
303
|
image?: string;
|
|
299
304
|
}
|
|
300
305
|
export declare const ConfigSchema: z.ZodObject<{
|
|
@@ -302,16 +307,16 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
302
307
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
303
308
|
allowedPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
304
309
|
networkAccess: z.ZodDefault<z.ZodBoolean>;
|
|
305
|
-
command: z.ZodOptional<z.ZodEnum<["docker", "podman", "sandbox-exec", "runsc", "lxc"]>>;
|
|
310
|
+
command: z.ZodOptional<z.ZodEnum<["docker", "podman", "sandbox-exec", "runsc", "lxc", "windows-native"]>>;
|
|
306
311
|
image: z.ZodOptional<z.ZodString>;
|
|
307
312
|
}, "strip", z.ZodTypeAny, {
|
|
308
313
|
enabled: boolean;
|
|
309
314
|
allowedPaths: string[];
|
|
310
315
|
networkAccess: boolean;
|
|
311
|
-
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
|
|
316
|
+
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
|
|
312
317
|
image?: string | undefined;
|
|
313
318
|
}, {
|
|
314
|
-
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
|
|
319
|
+
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
|
|
315
320
|
image?: string | undefined;
|
|
316
321
|
enabled?: boolean | undefined;
|
|
317
322
|
allowedPaths?: string[] | undefined;
|
|
@@ -320,10 +325,10 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
320
325
|
enabled: boolean;
|
|
321
326
|
allowedPaths: string[];
|
|
322
327
|
networkAccess: boolean;
|
|
323
|
-
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
|
|
328
|
+
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
|
|
324
329
|
image?: string | undefined;
|
|
325
330
|
}, {
|
|
326
|
-
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
|
|
331
|
+
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
|
|
327
332
|
image?: string | undefined;
|
|
328
333
|
enabled?: boolean | undefined;
|
|
329
334
|
allowedPaths?: string[] | undefined;
|
|
@@ -334,12 +339,12 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
334
339
|
enabled: boolean;
|
|
335
340
|
allowedPaths: string[];
|
|
336
341
|
networkAccess: boolean;
|
|
337
|
-
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
|
|
342
|
+
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
|
|
338
343
|
image?: string | undefined;
|
|
339
344
|
} | undefined;
|
|
340
345
|
}, {
|
|
341
346
|
sandbox?: {
|
|
342
|
-
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
|
|
347
|
+
command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
|
|
343
348
|
image?: string | undefined;
|
|
344
349
|
enabled?: boolean | undefined;
|
|
345
350
|
allowedPaths?: string[] | undefined;
|
|
@@ -363,6 +368,11 @@ export interface PolicyUpdateConfirmationRequest {
|
|
|
363
368
|
policyDir: string;
|
|
364
369
|
newHash: string;
|
|
365
370
|
}
|
|
371
|
+
export interface WorktreeSettings {
|
|
372
|
+
name: string;
|
|
373
|
+
path: string;
|
|
374
|
+
baseSha: string;
|
|
375
|
+
}
|
|
366
376
|
export interface ConfigParameters {
|
|
367
377
|
sessionId: string;
|
|
368
378
|
clientName?: string;
|
|
@@ -374,6 +384,7 @@ export interface ConfigParameters {
|
|
|
374
384
|
debugMode: boolean;
|
|
375
385
|
question?: string;
|
|
376
386
|
coreTools?: string[];
|
|
387
|
+
mainAgentTools?: string[];
|
|
377
388
|
/** @deprecated Use Policy Engine instead */
|
|
378
389
|
allowedTools?: string[];
|
|
379
390
|
/** @deprecated Use Policy Engine instead */
|
|
@@ -481,12 +492,14 @@ export interface ConfigParameters {
|
|
|
481
492
|
disabledSkills?: string[];
|
|
482
493
|
adminSkillsEnabled?: boolean;
|
|
483
494
|
experimentalJitContext?: boolean;
|
|
495
|
+
experimentalMemoryManager?: boolean;
|
|
484
496
|
topicUpdateNarration?: boolean;
|
|
485
497
|
toolOutputMasking?: Partial<ToolOutputMaskingConfig>;
|
|
486
498
|
disableLLMCorrection?: boolean;
|
|
487
499
|
plan?: boolean;
|
|
488
500
|
tracker?: boolean;
|
|
489
501
|
planSettings?: PlanSettings;
|
|
502
|
+
worktreeSettings?: WorktreeSettings;
|
|
490
503
|
modelSteering?: boolean;
|
|
491
504
|
onModelChange?: (model: string) => void;
|
|
492
505
|
mcpEnabled?: boolean;
|
|
@@ -505,13 +518,14 @@ export interface ConfigParameters {
|
|
|
505
518
|
export declare class Config implements McpContext, AgentLoopContext {
|
|
506
519
|
private _toolRegistry;
|
|
507
520
|
private mcpClientManager?;
|
|
521
|
+
private readonly a2aClientManager?;
|
|
508
522
|
private allowedMcpServers;
|
|
509
523
|
private blockedMcpServers;
|
|
510
524
|
private allowedEnvironmentVariables;
|
|
511
525
|
private blockedEnvironmentVariables;
|
|
512
526
|
private readonly enableEnvironmentVariableRedaction;
|
|
513
|
-
private
|
|
514
|
-
private
|
|
527
|
+
private _promptRegistry;
|
|
528
|
+
private _resourceRegistry;
|
|
515
529
|
private agentRegistry;
|
|
516
530
|
private readonly acknowledgedAgentsService;
|
|
517
531
|
private skillManager;
|
|
@@ -529,8 +543,10 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
529
543
|
private workspaceContext;
|
|
530
544
|
private readonly debugMode;
|
|
531
545
|
private readonly question;
|
|
546
|
+
private readonly worktreeSettings;
|
|
532
547
|
readonly enableConseca: boolean;
|
|
533
548
|
private readonly coreTools;
|
|
549
|
+
private readonly mainAgentTools;
|
|
534
550
|
/** @deprecated Use Policy Engine instead */
|
|
535
551
|
private readonly allowedTools;
|
|
536
552
|
/** @deprecated Use Policy Engine instead */
|
|
@@ -653,6 +669,7 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
653
669
|
private disabledSkills;
|
|
654
670
|
private readonly adminSkillsEnabled;
|
|
655
671
|
private readonly experimentalJitContext;
|
|
672
|
+
private readonly experimentalMemoryManager;
|
|
656
673
|
private readonly topicUpdateNarration;
|
|
657
674
|
private readonly disableLLMCorrection;
|
|
658
675
|
private readonly planEnabled;
|
|
@@ -692,6 +709,16 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
692
709
|
* Use the injected AgentLoopContext instead.
|
|
693
710
|
*/
|
|
694
711
|
get toolRegistry(): ToolRegistry;
|
|
712
|
+
/**
|
|
713
|
+
* @deprecated Do not access directly on Config.
|
|
714
|
+
* Use the injected AgentLoopContext instead.
|
|
715
|
+
*/
|
|
716
|
+
get promptRegistry(): PromptRegistry;
|
|
717
|
+
/**
|
|
718
|
+
* @deprecated Do not access directly on Config.
|
|
719
|
+
* Use the injected AgentLoopContext instead.
|
|
720
|
+
*/
|
|
721
|
+
get resourceRegistry(): ResourceRegistry;
|
|
695
722
|
/**
|
|
696
723
|
* @deprecated Do not access directly on Config.
|
|
697
724
|
* Use the injected AgentLoopContext instead.
|
|
@@ -704,6 +731,7 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
704
731
|
get geminiClient(): GeminiClient;
|
|
705
732
|
get sandboxManager(): SandboxManager;
|
|
706
733
|
getSessionId(): string;
|
|
734
|
+
getWorktreeSettings(): WorktreeSettings | undefined;
|
|
707
735
|
getClientName(): string | undefined;
|
|
708
736
|
setSessionId(sessionId: string): void;
|
|
709
737
|
setTerminalBackground(terminalBackground: string | undefined): void;
|
|
@@ -770,6 +798,7 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
770
798
|
resetTime?: string;
|
|
771
799
|
} | undefined;
|
|
772
800
|
getCoreTools(): string[] | undefined;
|
|
801
|
+
getMainAgentTools(): string[] | undefined;
|
|
773
802
|
getAllowedTools(): string[] | undefined;
|
|
774
803
|
/**
|
|
775
804
|
* All the excluded tools from static configuration, loaded extensions, or
|
|
@@ -792,6 +821,7 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
792
821
|
getExtensionsEnabled(): boolean;
|
|
793
822
|
getExtensionRegistryURI(): string | undefined;
|
|
794
823
|
getMcpClientManager(): McpClientManager | undefined;
|
|
824
|
+
getA2AClientManager(): A2AClientManager | undefined;
|
|
795
825
|
setUserInteractedWithMcp(): void;
|
|
796
826
|
/** @deprecated Use getMcpClientManager().getLastError() directly */
|
|
797
827
|
getLastMcpError(serverName: string): string | undefined;
|
|
@@ -823,6 +853,7 @@ export declare class Config implements McpContext, AgentLoopContext {
|
|
|
823
853
|
getEnvironmentMemory(): string;
|
|
824
854
|
getContextManager(): ContextManager | undefined;
|
|
825
855
|
isJitContextEnabled(): boolean;
|
|
856
|
+
isMemoryManagerEnabled(): boolean;
|
|
826
857
|
isTopicUpdateNarrationEnabled(): boolean;
|
|
827
858
|
isModelSteeringEnabled(): boolean;
|
|
828
859
|
getToolOutputMaskingEnabled(): boolean;
|
|
@@ -32,11 +32,13 @@ import { BaseLlmClient } from '../core/baseLlmClient.js';
|
|
|
32
32
|
import { LocalLiteRtLmClient } from '../core/localLiteRtLmClient.js';
|
|
33
33
|
import { FileDiscoveryService } from '../services/fileDiscoveryService.js';
|
|
34
34
|
import { GitService } from '../services/gitService.js';
|
|
35
|
-
import {
|
|
35
|
+
import { NoopSandboxManager, } from '../services/sandboxManager.js';
|
|
36
|
+
import { createSandboxManager } from '../services/sandboxManagerFactory.js';
|
|
37
|
+
import { SandboxedFileSystemService } from '../services/sandboxedFileSystemService.js';
|
|
36
38
|
import { initializeTelemetry, DEFAULT_TELEMETRY_TARGET, DEFAULT_OTLP_ENDPOINT, uiTelemetryService, } from '../telemetry/index.js';
|
|
37
39
|
import { coreEvents, CoreEvent } from '../utils/events.js';
|
|
38
40
|
import { tokenLimit } from '../core/tokenLimits.js';
|
|
39
|
-
import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_MODEL_AUTO, isAutoModel, isPreviewModel, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_MODEL_AUTO, resolveModel, } from './models.js';
|
|
41
|
+
import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_MODEL_AUTO, isAutoModel, isPreviewModel, isGemini2Model, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_MODEL_AUTO, resolveModel, } from './models.js';
|
|
40
42
|
import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
|
|
41
43
|
import { ideContextStore } from '../ide/ideContext.js';
|
|
42
44
|
import { WriteTodosTool } from '../tools/write-todos.js';
|
|
@@ -83,6 +85,7 @@ import { DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS,
|
|
|
83
85
|
import { DEFAULT_TOOL_PROTECTION_THRESHOLD, DEFAULT_MIN_PRUNABLE_TOKENS_THRESHOLD, DEFAULT_PROTECT_LATEST_TURN, } from '../services/toolOutputMaskingService.js';
|
|
84
86
|
import { SimpleExtensionLoader, } from '../utils/extensionLoader.js';
|
|
85
87
|
import { McpClientManager } from '../tools/mcp-client-manager.js';
|
|
88
|
+
import { A2AClientManager } from '../agents/a2a-client-manager.js';
|
|
86
89
|
import {} from '../tools/mcp-client.js';
|
|
87
90
|
import { getErrorMessage } from '../utils/errors.js';
|
|
88
91
|
export { DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, };
|
|
@@ -167,7 +170,14 @@ export const ConfigSchema = z.object({
|
|
|
167
170
|
allowedPaths: z.array(z.string()).default([]),
|
|
168
171
|
networkAccess: z.boolean().default(false),
|
|
169
172
|
command: z
|
|
170
|
-
.enum([
|
|
173
|
+
.enum([
|
|
174
|
+
'docker',
|
|
175
|
+
'podman',
|
|
176
|
+
'sandbox-exec',
|
|
177
|
+
'runsc',
|
|
178
|
+
'lxc',
|
|
179
|
+
'windows-native',
|
|
180
|
+
])
|
|
171
181
|
.optional(),
|
|
172
182
|
image: z.string().optional(),
|
|
173
183
|
})
|
|
@@ -185,13 +195,14 @@ export const ConfigSchema = z.object({
|
|
|
185
195
|
export class Config {
|
|
186
196
|
_toolRegistry;
|
|
187
197
|
mcpClientManager;
|
|
198
|
+
a2aClientManager;
|
|
188
199
|
allowedMcpServers;
|
|
189
200
|
blockedMcpServers;
|
|
190
201
|
allowedEnvironmentVariables;
|
|
191
202
|
blockedEnvironmentVariables;
|
|
192
203
|
enableEnvironmentVariableRedaction;
|
|
193
|
-
|
|
194
|
-
|
|
204
|
+
_promptRegistry;
|
|
205
|
+
_resourceRegistry;
|
|
195
206
|
agentRegistry;
|
|
196
207
|
acknowledgedAgentsService;
|
|
197
208
|
skillManager;
|
|
@@ -209,8 +220,10 @@ export class Config {
|
|
|
209
220
|
workspaceContext;
|
|
210
221
|
debugMode;
|
|
211
222
|
question;
|
|
223
|
+
worktreeSettings;
|
|
212
224
|
enableConseca;
|
|
213
225
|
coreTools;
|
|
226
|
+
mainAgentTools;
|
|
214
227
|
/** @deprecated Use Policy Engine instead */
|
|
215
228
|
allowedTools;
|
|
216
229
|
/** @deprecated Use Policy Engine instead */
|
|
@@ -342,6 +355,7 @@ export class Config {
|
|
|
342
355
|
disabledSkills;
|
|
343
356
|
adminSkillsEnabled;
|
|
344
357
|
experimentalJitContext;
|
|
358
|
+
experimentalMemoryManager;
|
|
345
359
|
topicUpdateNarration;
|
|
346
360
|
disableLLMCorrection;
|
|
347
361
|
planEnabled;
|
|
@@ -362,7 +376,6 @@ export class Config {
|
|
|
362
376
|
this.approvedPlanPath = undefined;
|
|
363
377
|
this.embeddingModel =
|
|
364
378
|
params.embeddingModel ?? DEFAULT_GEMINI_EMBEDDING_MODEL;
|
|
365
|
-
this.fileSystemService = new StandardFileSystemService();
|
|
366
379
|
this.sandbox = params.sandbox
|
|
367
380
|
? {
|
|
368
381
|
enabled: params.sandbox.enabled ?? false,
|
|
@@ -376,13 +389,23 @@ export class Config {
|
|
|
376
389
|
allowedPaths: [],
|
|
377
390
|
networkAccess: false,
|
|
378
391
|
};
|
|
392
|
+
this._sandboxManager = createSandboxManager(this.sandbox, params.targetDir);
|
|
393
|
+
if (!(this._sandboxManager instanceof NoopSandboxManager) &&
|
|
394
|
+
this.sandbox.enabled) {
|
|
395
|
+
this.fileSystemService = new SandboxedFileSystemService(this._sandboxManager, params.targetDir);
|
|
396
|
+
}
|
|
397
|
+
else {
|
|
398
|
+
this.fileSystemService = new StandardFileSystemService();
|
|
399
|
+
}
|
|
379
400
|
this.targetDir = path.resolve(params.targetDir);
|
|
380
401
|
this.folderTrust = params.folderTrust ?? false;
|
|
381
402
|
this.workspaceContext = new WorkspaceContext(this.targetDir, []);
|
|
382
403
|
this.pendingIncludeDirectories = params.includeDirectories ?? [];
|
|
383
404
|
this.debugMode = params.debugMode;
|
|
384
405
|
this.question = params.question;
|
|
406
|
+
this.worktreeSettings = params.worktreeSettings;
|
|
385
407
|
this.coreTools = params.coreTools;
|
|
408
|
+
this.mainAgentTools = params.mainAgentTools;
|
|
386
409
|
this.allowedTools = params.allowedTools;
|
|
387
410
|
this.excludeTools = params.excludeTools;
|
|
388
411
|
this.toolDiscoveryCommand = params.toolDiscoveryCommand;
|
|
@@ -463,6 +486,18 @@ export class Config {
|
|
|
463
486
|
...DEFAULT_MODEL_CONFIGS.modelDefinitions,
|
|
464
487
|
...modelConfigServiceConfig.modelDefinitions,
|
|
465
488
|
};
|
|
489
|
+
const mergedModelIdResolutions = {
|
|
490
|
+
...DEFAULT_MODEL_CONFIGS.modelIdResolutions,
|
|
491
|
+
...modelConfigServiceConfig.modelIdResolutions,
|
|
492
|
+
};
|
|
493
|
+
const mergedClassifierIdResolutions = {
|
|
494
|
+
...DEFAULT_MODEL_CONFIGS.classifierIdResolutions,
|
|
495
|
+
...modelConfigServiceConfig.classifierIdResolutions,
|
|
496
|
+
};
|
|
497
|
+
const mergedModelChains = {
|
|
498
|
+
...DEFAULT_MODEL_CONFIGS.modelChains,
|
|
499
|
+
...modelConfigServiceConfig.modelChains,
|
|
500
|
+
};
|
|
466
501
|
modelConfigServiceConfig = {
|
|
467
502
|
// Preserve other user settings like customAliases
|
|
468
503
|
...modelConfigServiceConfig,
|
|
@@ -471,10 +506,14 @@ export class Config {
|
|
|
471
506
|
overrides: modelConfigServiceConfig.overrides ?? DEFAULT_MODEL_CONFIGS.overrides,
|
|
472
507
|
// Use the merged model definitions
|
|
473
508
|
modelDefinitions: mergedModelDefinitions,
|
|
509
|
+
modelIdResolutions: mergedModelIdResolutions,
|
|
510
|
+
classifierIdResolutions: mergedClassifierIdResolutions,
|
|
511
|
+
modelChains: mergedModelChains,
|
|
474
512
|
};
|
|
475
513
|
}
|
|
476
514
|
this.modelConfigService = new ModelConfigService(modelConfigServiceConfig ?? DEFAULT_MODEL_CONFIGS);
|
|
477
515
|
this.experimentalJitContext = params.experimentalJitContext ?? true;
|
|
516
|
+
this.experimentalMemoryManager = params.experimentalMemoryManager ?? false;
|
|
478
517
|
this.topicUpdateNarration = params.topicUpdateNarration ?? false;
|
|
479
518
|
this.modelSteering = params.modelSteering ?? false;
|
|
480
519
|
this.injectionService = new InjectionService(() => this.isModelSteeringEnabled());
|
|
@@ -521,14 +560,17 @@ export class Config {
|
|
|
521
560
|
showColor: params.shellExecutionConfig?.showColor ?? false,
|
|
522
561
|
pager: params.shellExecutionConfig?.pager ?? 'cat',
|
|
523
562
|
sanitizationConfig: this.sanitizationConfig,
|
|
524
|
-
sandboxManager: this.
|
|
563
|
+
sandboxManager: this._sandboxManager,
|
|
564
|
+
sandboxConfig: this.sandbox,
|
|
525
565
|
};
|
|
526
566
|
this.truncateToolOutputThreshold =
|
|
527
567
|
params.truncateToolOutputThreshold ??
|
|
528
568
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD;
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
569
|
+
const isGemini2 = isGemini2Model(this.model);
|
|
570
|
+
this.useWriteTodos =
|
|
571
|
+
isGemini2 && !isPreviewModel(this.model, this) && !this.trackerEnabled
|
|
572
|
+
? (params.useWriteTodos ?? true)
|
|
573
|
+
: false;
|
|
532
574
|
this.workspacePoliciesDir = params.workspacePoliciesDir;
|
|
533
575
|
this.enableHooksUI = params.enableHooksUI ?? true;
|
|
534
576
|
this.enableHooks = params.enableHooks ?? true;
|
|
@@ -617,8 +659,7 @@ export class Config {
|
|
|
617
659
|
}
|
|
618
660
|
}
|
|
619
661
|
this._geminiClient = new GeminiClient(this);
|
|
620
|
-
this.
|
|
621
|
-
this.shellExecutionConfig.sandboxManager = this._sandboxManager;
|
|
662
|
+
this.a2aClientManager = new A2AClientManager(this);
|
|
622
663
|
this.modelRouterService = new ModelRouterService(this);
|
|
623
664
|
}
|
|
624
665
|
get config() {
|
|
@@ -664,14 +705,19 @@ export class Config {
|
|
|
664
705
|
if (this.getCheckpointingEnabled()) {
|
|
665
706
|
await this.getGitService();
|
|
666
707
|
}
|
|
667
|
-
this.
|
|
668
|
-
this.
|
|
708
|
+
this._promptRegistry = new PromptRegistry();
|
|
709
|
+
this._resourceRegistry = new ResourceRegistry();
|
|
669
710
|
this.agentRegistry = new AgentRegistry(this);
|
|
670
711
|
await this.agentRegistry.initialize();
|
|
671
712
|
coreEvents.on(CoreEvent.AgentsRefreshed, this.onAgentsRefreshed);
|
|
672
713
|
this._toolRegistry = await this.createToolRegistry();
|
|
673
714
|
discoverToolsHandle?.end();
|
|
674
|
-
this.mcpClientManager = new McpClientManager(this.clientVersion, this
|
|
715
|
+
this.mcpClientManager = new McpClientManager(this.clientVersion, this, this.eventEmitter);
|
|
716
|
+
this.mcpClientManager.setMainRegistries({
|
|
717
|
+
toolRegistry: this._toolRegistry,
|
|
718
|
+
promptRegistry: this.promptRegistry,
|
|
719
|
+
resourceRegistry: this.resourceRegistry,
|
|
720
|
+
});
|
|
675
721
|
// We do not await this promise so that the CLI can start up even if
|
|
676
722
|
// MCP servers are slow to connect.
|
|
677
723
|
this.mcpInitializationPromise = Promise.allSettled([
|
|
@@ -822,6 +868,20 @@ export class Config {
|
|
|
822
868
|
get toolRegistry() {
|
|
823
869
|
return this._toolRegistry;
|
|
824
870
|
}
|
|
871
|
+
/**
|
|
872
|
+
* @deprecated Do not access directly on Config.
|
|
873
|
+
* Use the injected AgentLoopContext instead.
|
|
874
|
+
*/
|
|
875
|
+
get promptRegistry() {
|
|
876
|
+
return this._promptRegistry;
|
|
877
|
+
}
|
|
878
|
+
/**
|
|
879
|
+
* @deprecated Do not access directly on Config.
|
|
880
|
+
* Use the injected AgentLoopContext instead.
|
|
881
|
+
*/
|
|
882
|
+
get resourceRegistry() {
|
|
883
|
+
return this._resourceRegistry;
|
|
884
|
+
}
|
|
825
885
|
/**
|
|
826
886
|
* @deprecated Do not access directly on Config.
|
|
827
887
|
* Use the injected AgentLoopContext instead.
|
|
@@ -842,6 +902,9 @@ export class Config {
|
|
|
842
902
|
getSessionId() {
|
|
843
903
|
return this.promptId;
|
|
844
904
|
}
|
|
905
|
+
getWorktreeSettings() {
|
|
906
|
+
return this.worktreeSettings;
|
|
907
|
+
}
|
|
845
908
|
getClientName() {
|
|
846
909
|
return this.clientName;
|
|
847
910
|
}
|
|
@@ -1056,13 +1119,13 @@ export class Config {
|
|
|
1056
1119
|
return this.toolRegistry;
|
|
1057
1120
|
}
|
|
1058
1121
|
getPromptRegistry() {
|
|
1059
|
-
return this.
|
|
1122
|
+
return this._promptRegistry;
|
|
1060
1123
|
}
|
|
1061
1124
|
getSkillManager() {
|
|
1062
1125
|
return this.skillManager;
|
|
1063
1126
|
}
|
|
1064
1127
|
getResourceRegistry() {
|
|
1065
|
-
return this.
|
|
1128
|
+
return this._resourceRegistry;
|
|
1066
1129
|
}
|
|
1067
1130
|
getDebugMode() {
|
|
1068
1131
|
return this.debugMode;
|
|
@@ -1154,6 +1217,9 @@ export class Config {
|
|
|
1154
1217
|
getCoreTools() {
|
|
1155
1218
|
return this.coreTools;
|
|
1156
1219
|
}
|
|
1220
|
+
getMainAgentTools() {
|
|
1221
|
+
return this.mainAgentTools;
|
|
1222
|
+
}
|
|
1157
1223
|
getAllowedTools() {
|
|
1158
1224
|
return this.allowedTools;
|
|
1159
1225
|
}
|
|
@@ -1212,6 +1278,9 @@ export class Config {
|
|
|
1212
1278
|
getMcpClientManager() {
|
|
1213
1279
|
return this.mcpClientManager;
|
|
1214
1280
|
}
|
|
1281
|
+
getA2AClientManager() {
|
|
1282
|
+
return this.a2aClientManager;
|
|
1283
|
+
}
|
|
1215
1284
|
setUserInteractedWithMcp() {
|
|
1216
1285
|
this.mcpClientManager?.setUserInteractedWithMcp();
|
|
1217
1286
|
}
|
|
@@ -1318,6 +1387,9 @@ export class Config {
|
|
|
1318
1387
|
isJitContextEnabled() {
|
|
1319
1388
|
return this.experimentalJitContext;
|
|
1320
1389
|
}
|
|
1390
|
+
isMemoryManagerEnabled() {
|
|
1391
|
+
return this.experimentalMemoryManager;
|
|
1392
|
+
}
|
|
1321
1393
|
isTopicUpdateNarrationEnabled() {
|
|
1322
1394
|
return this.topicUpdateNarration;
|
|
1323
1395
|
}
|
|
@@ -2032,6 +2104,8 @@ export class Config {
|
|
|
2032
2104
|
visualModel: customConfig.visualModel,
|
|
2033
2105
|
allowedDomains: customConfig.allowedDomains,
|
|
2034
2106
|
disableUserInput: customConfig.disableUserInput,
|
|
2107
|
+
confirmSensitiveActions: customConfig.confirmSensitiveActions,
|
|
2108
|
+
blockFileUploads: customConfig.blockFileUploads,
|
|
2035
2109
|
},
|
|
2036
2110
|
};
|
|
2037
2111
|
}
|
|
@@ -2045,7 +2119,8 @@ export class Config {
|
|
|
2045
2119
|
!browserConfig.customConfig?.headless);
|
|
2046
2120
|
}
|
|
2047
2121
|
async createToolRegistry() {
|
|
2048
|
-
const registry = new ToolRegistry(this, this.messageBus
|
|
2122
|
+
const registry = new ToolRegistry(this, this.messageBus,
|
|
2123
|
+
/* isMainRegistry= */ true);
|
|
2049
2124
|
// helper to create & register core tools that are enabled
|
|
2050
2125
|
const maybeRegister = (toolClass, registerFn) => {
|
|
2051
2126
|
const className = toolClass.name;
|
|
@@ -2092,7 +2167,9 @@ export class Config {
|
|
|
2092
2167
|
maybeRegister(WriteFileTool, () => registry.registerTool(new WriteFileTool(this, this.messageBus)));
|
|
2093
2168
|
maybeRegister(WebFetchTool, () => registry.registerTool(new WebFetchTool(this, this.messageBus)));
|
|
2094
2169
|
maybeRegister(ShellTool, () => registry.registerTool(new ShellTool(this, this.messageBus)));
|
|
2095
|
-
|
|
2170
|
+
if (!this.isMemoryManagerEnabled()) {
|
|
2171
|
+
maybeRegister(MemoryTool, () => registry.registerTool(new MemoryTool(this.messageBus)));
|
|
2172
|
+
}
|
|
2096
2173
|
maybeRegister(WebSearchTool, () => registry.registerTool(new WebSearchTool(this, this.messageBus)));
|
|
2097
2174
|
maybeRegister(AskUserTool, () => registry.registerTool(new AskUserTool(this.messageBus)));
|
|
2098
2175
|
if (this.getUseWriteTodos()) {
|