@machina.ai/cell-cli-core 1.36.0-rc1 → 1.38.1-rc2
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/dist/docs/AFTER_MERGE_PROMPT.md +3 -10
- package/dist/docs/assets/theme-tokyonight-dark.png +0 -0
- package/dist/docs/changelogs/index.md +49 -0
- package/dist/docs/changelogs/latest.md +355 -458
- package/dist/docs/changelogs/preview.md +402 -363
- package/dist/docs/cli/acp-mode.md +126 -0
- package/dist/docs/cli/cli-reference.md +1 -1
- package/dist/docs/cli/notifications.md +5 -5
- package/dist/docs/cli/plan-mode.md +26 -10
- package/dist/docs/cli/sandbox.md +53 -1
- package/dist/docs/cli/settings.md +52 -48
- package/dist/docs/cli/themes.md +5 -0
- package/dist/docs/core/index.md +2 -2
- package/dist/docs/core/remote-agents.md +14 -18
- package/dist/docs/core/subagents.md +194 -47
- package/dist/docs/get-started/authentication.md +2 -2
- package/dist/docs/get-started/gemini-3.md +1 -1
- package/dist/docs/get-started/index.md +127 -1
- package/dist/docs/get-started/installation.md +7 -0
- package/dist/docs/hooks/index.md +6 -6
- package/dist/docs/ide-integration/index.md +99 -24
- package/dist/docs/index.md +0 -2
- package/dist/docs/redirects.json +1 -0
- package/dist/docs/reference/commands.md +1 -3
- package/dist/docs/reference/configuration.md +220 -99
- package/dist/docs/reference/keyboard-shortcuts.md +21 -8
- package/dist/docs/reference/policy-engine.md +36 -31
- package/dist/docs/reference/tools.md +56 -23
- package/dist/docs/release-confidence.md +0 -6
- package/dist/docs/releases.md +4 -0
- package/dist/docs/resources/quota-and-pricing.md +23 -9
- package/dist/docs/sidebar.json +11 -4
- package/dist/docs/tools/mcp-server.md +3 -3
- package/dist/docs/tools/planning.md +6 -4
- package/dist/docs/tools/web-fetch.md +3 -0
- package/dist/package.json +2 -1
- 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/a2a-client-manager.js +3 -3
- package/dist/src/agents/a2a-client-manager.js.map +1 -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/agentLoader.d.ts +12 -12
- package/dist/src/agents/agentLoader.js +1 -0
- package/dist/src/agents/agentLoader.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/automationOverlay.js +2 -10
- package/dist/src/agents/browser/automationOverlay.js.map +1 -1
- package/dist/src/agents/browser/browserAgentDefinition.js +10 -3
- package/dist/src/agents/browser/browserAgentDefinition.js.map +1 -1
- package/dist/src/agents/browser/browserAgentFactory.d.ts +11 -3
- package/dist/src/agents/browser/browserAgentFactory.js +171 -129
- package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
- package/dist/src/agents/browser/browserAgentFactory.test.js +99 -13
- package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.d.ts +1 -0
- package/dist/src/agents/browser/browserAgentInvocation.js +87 -27
- package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.test.js +107 -7
- package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
- package/dist/src/agents/browser/browserManager.d.ts +89 -8
- package/dist/src/agents/browser/browserManager.js +357 -74
- package/dist/src/agents/browser/browserManager.js.map +1 -1
- package/dist/src/agents/browser/browserManager.test.js +540 -19
- package/dist/src/agents/browser/browserManager.test.js.map +1 -1
- package/dist/src/agents/browser/inputBlocker.d.ts +4 -4
- package/dist/src/agents/browser/inputBlocker.js +8 -18
- package/dist/src/agents/browser/inputBlocker.js.map +1 -1
- package/dist/src/agents/browser/inputBlocker.test.js +31 -3
- package/dist/src/agents/browser/inputBlocker.test.js.map +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.d.ts +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.js +9 -6
- package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.test.js +2 -2
- package/dist/src/agents/browser/mcpToolWrapper.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/browser/snapshotSuperseder.d.ts +31 -0
- package/dist/src/agents/browser/snapshotSuperseder.js +101 -0
- package/dist/src/agents/browser/snapshotSuperseder.js.map +1 -0
- package/dist/src/agents/browser/snapshotSuperseder.test.js +158 -0
- package/dist/src/agents/browser/snapshotSuperseder.test.js.map +1 -0
- package/dist/src/agents/local-executor.d.ts +9 -0
- package/dist/src/agents/local-executor.js +144 -200
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/local-executor.test.js +500 -115
- package/dist/src/agents/local-executor.test.js.map +1 -1
- package/dist/src/agents/local-invocation.d.ts +1 -0
- package/dist/src/agents/local-invocation.js +19 -9
- package/dist/src/agents/local-invocation.js.map +1 -1
- package/dist/src/agents/local-invocation.test.js +24 -0
- package/dist/src/agents/local-invocation.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 +19 -11
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +67 -0
- package/dist/src/agents/registry.test.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 +20 -0
- package/dist/src/agents/types.js.map +1 -1
- package/dist/src/availability/policyCatalog.d.ts +2 -1
- package/dist/src/availability/policyCatalog.js +1 -1
- package/dist/src/availability/policyCatalog.js.map +1 -1
- package/dist/src/availability/policyHelpers.js +43 -32
- package/dist/src/availability/policyHelpers.js.map +1 -1
- package/dist/src/availability/policyHelpers.test.js +12 -1
- package/dist/src/availability/policyHelpers.test.js.map +1 -1
- 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/oauth2.js +8 -3
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +57 -0
- package/dist/src/code_assist/oauth2.test.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/code_assist/setup.js +5 -2
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/setup.test.js +27 -1
- package/dist/src/code_assist/setup.test.js.map +1 -1
- package/dist/src/code_assist/types.d.ts +80 -80
- package/dist/src/commands/memory.js +1 -1
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/config/agent-loop-context.d.ts +2 -0
- package/dist/src/config/config.d.ts +91 -23
- package/dist/src/config/config.js +238 -79
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +189 -15
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +9 -0
- package/dist/src/config/defaultModelConfigs.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/memory.d.ts +1 -0
- package/dist/src/config/memory.js +6 -0
- package/dist/src/config/memory.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 +3 -0
- package/dist/src/config/storage.js +9 -0
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +10 -5
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/config/topicState.d.ts +21 -0
- package/dist/src/config/topicState.js +41 -0
- package/dist/src/config/topicState.js.map +1 -0
- package/dist/src/confirmation-bus/types.d.ts +13 -4
- package/dist/src/confirmation-bus/types.js +2 -0
- package/dist/src/confirmation-bus/types.js.map +1 -1
- package/dist/src/context/agentHistoryProvider.d.ts +45 -0
- package/dist/src/context/agentHistoryProvider.js +294 -0
- package/dist/src/context/agentHistoryProvider.js.map +1 -0
- package/dist/src/context/agentHistoryProvider.test.d.ts +6 -0
- package/dist/src/context/agentHistoryProvider.test.js +357 -0
- package/dist/src/context/agentHistoryProvider.test.js.map +1 -0
- package/dist/src/context/chatCompressionService.js.map +1 -0
- package/dist/src/context/chatCompressionService.test.js.map +1 -0
- 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.js +253 -0
- package/dist/src/context/contextCompressionService.test.js.map +1 -0
- package/dist/src/{services/contextManager.d.ts → context/memoryContextManager.d.ts} +3 -1
- package/dist/src/{services/contextManager.js → context/memoryContextManager.js} +20 -11
- package/dist/src/context/memoryContextManager.js.map +1 -0
- package/dist/src/{services/contextManager.test.js → context/memoryContextManager.test.js} +42 -33
- 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.d.ts +38 -0
- package/dist/src/context/toolDistillationService.js +170 -0
- package/dist/src/context/toolDistillationService.js.map +1 -0
- package/dist/src/context/toolDistillationService.test.d.ts +6 -0
- package/dist/src/context/toolDistillationService.test.js +86 -0
- package/dist/src/context/toolDistillationService.test.js.map +1 -0
- package/dist/src/{services → context}/toolOutputMaskingService.d.ts +2 -2
- package/dist/src/{services → context}/toolOutputMaskingService.js +7 -7
- package/dist/src/context/toolOutputMaskingService.js.map +1 -0
- package/dist/src/context/toolOutputMaskingService.test.d.ts +6 -0
- package/dist/src/{services → context}/toolOutputMaskingService.test.js +4 -5
- package/dist/src/context/toolOutputMaskingService.test.js.map +1 -0
- package/dist/src/context/truncation.d.ts +26 -0
- package/dist/src/context/truncation.js +102 -0
- package/dist/src/context/truncation.js.map +1 -0
- package/dist/src/context/types.d.ts +36 -0
- package/dist/src/context/types.js +7 -0
- package/dist/src/context/types.js.map +1 -0
- package/dist/src/core/AuthenticatedContentGenerator.js +9 -1
- package/dist/src/core/AuthenticatedContentGenerator.js.map +1 -1
- 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.d.ts +3 -1
- package/dist/src/core/client.js +24 -14
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +36 -40
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +0 -1
- package/dist/src/core/contentGenerator.js +2 -28
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +1 -101
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/geminiChat.js +12 -5
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +72 -18
- 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/core/prompts-substitution.test.js +5 -0
- package/dist/src/core/prompts-substitution.test.js.map +1 -1
- package/dist/src/core/prompts.test.js +3 -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/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 +5 -4
- 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 +10 -3
- package/dist/src/index.js +13 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/mcpLauncher.js +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.d.ts +1 -1
- package/dist/src/policy/config.js +61 -24
- package/dist/src/policy/config.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/persistence.test.js +42 -0
- package/dist/src/policy/persistence.test.js.map +1 -1
- package/dist/src/policy/policies/discovered.toml +7 -0
- package/dist/src/policy/policies/memory-manager.toml +11 -1
- package/dist/src/policy/policies/non-interactive.toml +7 -0
- package/dist/src/policy/policies/plan.toml +36 -2
- package/dist/src/policy/policies/read-only.toml +12 -0
- package/dist/src/policy/policies/sandbox-default.toml +4 -4
- package/dist/src/policy/policies/write.toml +21 -0
- package/dist/src/policy/policies/yolo.toml +1 -1
- package/dist/src/policy/policy-engine.d.ts +2 -4
- package/dist/src/policy/policy-engine.js +47 -37
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +236 -30
- 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/topic-policy.test.d.ts +6 -0
- package/dist/src/policy/topic-policy.test.js +48 -0
- package/dist/src/policy/topic-policy.test.js.map +1 -0
- package/dist/src/policy/types.d.ts +9 -6
- package/dist/src/policy/types.js +11 -0
- package/dist/src/policy/types.js.map +1 -1
- 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/promptProvider.js +20 -4
- package/dist/src/prompts/promptProvider.js.map +1 -1
- package/dist/src/prompts/promptProvider.test.js +84 -1
- package/dist/src/prompts/promptProvider.test.js.map +1 -1
- package/dist/src/prompts/snippets-memory-manager.test.js +1 -1
- package/dist/src/prompts/snippets-memory-manager.test.js.map +1 -1
- package/dist/src/prompts/snippets.d.ts +3 -4
- package/dist/src/prompts/snippets.js +37 -52
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/prompts/snippets.legacy.d.ts +6 -4
- package/dist/src/prompts/snippets.legacy.js +36 -7
- 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 +11 -1
- package/dist/src/sandbox/linux/LinuxSandboxManager.js +131 -41
- package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
- package/dist/src/sandbox/linux/LinuxSandboxManager.test.js +82 -139
- 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 +10 -22
- package/dist/src/sandbox/macos/MacOsSandboxManager.js +67 -59
- package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
- package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +168 -103
- 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 +26 -8
- package/dist/src/sandbox/macos/baseProfile.js.map +1 -1
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.d.ts +10 -10
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +81 -93
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +136 -99
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -1
- package/dist/src/sandbox/{macos → utils}/commandSafety.d.ts +11 -0
- package/dist/src/sandbox/{macos → utils}/commandSafety.js +47 -14
- package/dist/src/sandbox/utils/commandSafety.js.map +1 -0
- package/dist/src/sandbox/utils/commandUtils.d.ts +9 -0
- package/dist/src/sandbox/utils/commandUtils.js +57 -0
- package/dist/src/sandbox/utils/commandUtils.js.map +1 -0
- package/dist/src/sandbox/utils/fsUtils.d.ts +11 -0
- package/dist/src/sandbox/utils/fsUtils.js +84 -0
- package/dist/src/sandbox/utils/fsUtils.js.map +1 -0
- 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 +27 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.js +142 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.js.map +1 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.test.d.ts +6 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.test.js +188 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.test.js.map +1 -0
- package/dist/src/sandbox/utils/sandboxReadWriteUtils.d.ts +5 -0
- package/dist/src/sandbox/utils/sandboxReadWriteUtils.js +64 -0
- package/dist/src/sandbox/utils/sandboxReadWriteUtils.js.map +1 -0
- package/dist/src/sandbox/windows/GeminiSandbox.cs +312 -223
- package/dist/src/sandbox/windows/WindowsSandboxManager.d.ts +16 -2
- package/dist/src/sandbox/windows/WindowsSandboxManager.js +261 -44
- package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
- package/dist/src/sandbox/windows/WindowsSandboxManager.test.js +379 -17
- package/dist/src/sandbox/windows/WindowsSandboxManager.test.js.map +1 -1
- package/dist/src/sandbox/windows/commandSafety.d.ts +19 -0
- package/dist/src/sandbox/windows/commandSafety.js +128 -0
- package/dist/src/sandbox/windows/commandSafety.js.map +1 -0
- package/dist/src/sandbox/windows/commandSafety.test.d.ts +6 -0
- package/dist/src/sandbox/windows/commandSafety.test.js +42 -0
- package/dist/src/sandbox/windows/commandSafety.test.js.map +1 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.d.ts +13 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js +69 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js.map +1 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.d.ts +6 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.js +68 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.js.map +1 -0
- package/dist/src/scheduler/policy.js +20 -5
- package/dist/src/scheduler/policy.js.map +1 -1
- package/dist/src/scheduler/policy.test.js +80 -0
- package/dist/src/scheduler/policy.test.js.map +1 -1
- package/dist/src/scheduler/scheduler.js +13 -3
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/scheduler/scheduler.test.js +52 -0
- package/dist/src/scheduler/scheduler.test.js.map +1 -1
- package/dist/src/scheduler/scheduler_hooks.test.js +1 -0
- package/dist/src/scheduler/scheduler_hooks.test.js.map +1 -1
- package/dist/src/scheduler/state-manager.js +1 -1
- package/dist/src/scheduler/state-manager.js.map +1 -1
- package/dist/src/scheduler/state-manager.test.js +10 -0
- package/dist/src/scheduler/state-manager.test.js.map +1 -1
- package/dist/src/scheduler/tool-executor.js +7 -2
- package/dist/src/scheduler/tool-executor.js.map +1 -1
- package/dist/src/scheduler/tool-executor.test.js +38 -0
- package/dist/src/scheduler/tool-executor.test.js.map +1 -1
- package/dist/src/scheduler/types.d.ts +4 -2
- package/dist/src/services/chatRecordingService.d.ts +1 -13
- package/dist/src/services/chatRecordingService.js +45 -46
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingService.test.js +79 -10
- package/dist/src/services/chatRecordingService.test.js.map +1 -1
- package/dist/src/services/executionLifecycleService.d.ts +44 -6
- package/dist/src/services/executionLifecycleService.js +52 -12
- package/dist/src/services/executionLifecycleService.js.map +1 -1
- package/dist/src/services/executionLifecycleService.test.js +157 -3
- package/dist/src/services/executionLifecycleService.test.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.d.ts +17 -2
- package/dist/src/services/fileDiscoveryService.js +84 -20
- package/dist/src/services/fileDiscoveryService.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.test.js +67 -1
- package/dist/src/services/fileDiscoveryService.test.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/modelConfigService.d.ts +11 -0
- package/dist/src/services/modelConfigService.js +67 -0
- package/dist/src/services/modelConfigService.js.map +1 -1
- package/dist/src/services/modelConfigService.test.js +30 -0
- package/dist/src/services/modelConfigService.test.js.map +1 -1
- package/dist/src/services/sandboxManager.d.ts +107 -8
- package/dist/src/services/sandboxManager.integration.test.d.ts +1 -0
- package/dist/src/services/sandboxManager.integration.test.js +445 -0
- package/dist/src/services/sandboxManager.integration.test.js.map +1 -0
- package/dist/src/services/sandboxManager.js +176 -13
- package/dist/src/services/sandboxManager.js.map +1 -1
- package/dist/src/services/sandboxManager.test.js +401 -117
- package/dist/src/services/sandboxManager.test.js.map +1 -1
- package/dist/src/services/sandboxManagerFactory.d.ts +2 -3
- package/dist/src/services/sandboxManagerFactory.js +12 -22
- package/dist/src/services/sandboxManagerFactory.js.map +1 -1
- package/dist/src/services/sandboxedFileSystemService.d.ts +1 -0
- package/dist/src/services/sandboxedFileSystemService.js +43 -3
- package/dist/src/services/sandboxedFileSystemService.js.map +1 -1
- package/dist/src/services/sandboxedFileSystemService.test.js +97 -11
- package/dist/src/services/sandboxedFileSystemService.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.d.ts +18 -1
- package/dist/src/services/shellExecutionService.js +115 -26
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +70 -8
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/services/test-data/resolved-aliases-retry.golden.json +4 -0
- package/dist/src/services/test-data/resolved-aliases.golden.json +4 -0
- 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 +107 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +172 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +10 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +22 -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 +41 -2
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +8 -3
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +118 -1
- package/dist/src/telemetry/metrics.js +196 -4
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +298 -0
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +3 -3
- package/dist/src/telemetry/types.js +9 -4
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/test-utils/mock-message-bus.d.ts +1 -1
- package/dist/src/test-utils/mock-message-bus.js +1 -1
- package/dist/src/test-utils/mock-message-bus.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 +8 -0
- package/dist/src/tools/definitions/base-declarations.js +10 -0
- package/dist/src/tools/definitions/base-declarations.js.map +1 -1
- package/dist/src/tools/definitions/coreTools.d.ts +2 -1
- package/dist/src/tools/definitions/coreTools.js +9 -3
- package/dist/src/tools/definitions/coreTools.js.map +1 -1
- package/dist/src/tools/definitions/dynamic-declaration-helpers.d.ts +4 -0
- package/dist/src/tools/definitions/dynamic-declaration-helpers.js +33 -2
- package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js +14 -9
- 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 +13 -7
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
- package/dist/src/tools/definitions/trackerTools.js +3 -3
- package/dist/src/tools/definitions/trackerTools.js.map +1 -1
- package/dist/src/tools/definitions/types.d.ts +1 -0
- package/dist/src/tools/enter-plan-mode.js +15 -0
- package/dist/src/tools/enter-plan-mode.js.map +1 -1
- package/dist/src/tools/enter-plan-mode.test.js +25 -0
- package/dist/src/tools/enter-plan-mode.test.js.map +1 -1
- package/dist/src/tools/grep-utils.d.ts +2 -1
- package/dist/src/tools/grep-utils.js +22 -3
- package/dist/src/tools/grep-utils.js.map +1 -1
- package/dist/src/tools/grep.js +16 -3
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +36 -8
- 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/ls.js +6 -4
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +22 -7
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.js +6 -3
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +35 -0
- package/dist/src/tools/mcp-client-manager.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/memoryTool.d.ts +9 -2
- package/dist/src/tools/memoryTool.js +39 -15
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +61 -2
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/read-many-files.js +12 -4
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +17 -17
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/ripGrep.js +14 -1
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +10 -10
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +17 -4
- package/dist/src/tools/shell.js +342 -151
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +204 -11
- 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 +4 -4
- package/dist/src/tools/tool-names.js +6 -3
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tool-registry.js +11 -1
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +43 -1
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +12 -1
- package/dist/src/tools/tools.js +16 -1
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/tools.test.js +42 -1
- package/dist/src/tools/tools.test.js.map +1 -1
- package/dist/src/tools/topicTool.d.ts +29 -0
- package/dist/src/tools/topicTool.js +72 -0
- package/dist/src/tools/topicTool.js.map +1 -0
- package/dist/src/tools/topicTool.test.d.ts +6 -0
- package/dist/src/tools/topicTool.test.js +105 -0
- package/dist/src/tools/topicTool.test.js.map +1 -0
- package/dist/src/tools/web-fetch.js +40 -22
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +28 -0
- 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.d.ts +4 -4
- 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/errors.d.ts +3 -0
- package/dist/src/utils/errors.js +28 -6
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/errors.test.js +23 -0
- package/dist/src/utils/errors.test.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/getFolderStructure.js +1 -1
- package/dist/src/utils/getFolderStructure.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.d.ts +2 -2
- package/dist/src/utils/gitIgnoreParser.js +30 -52
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.test.js +51 -185
- package/dist/src/utils/gitIgnoreParser.test.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.d.ts +2 -2
- package/dist/src/utils/ignoreFileParser.js +7 -18
- package/dist/src/utils/ignoreFileParser.js.map +1 -1
- package/dist/src/utils/ignoreFileParser.test.js +40 -132
- package/dist/src/utils/ignoreFileParser.test.js.map +1 -1
- package/dist/src/utils/ignorePathUtils.d.ts +11 -0
- package/dist/src/utils/ignorePathUtils.js +39 -0
- package/dist/src/utils/ignorePathUtils.js.map +1 -0
- package/dist/src/utils/ignorePathUtils.test.d.ts +6 -0
- package/dist/src/utils/ignorePathUtils.test.js +70 -0
- package/dist/src/utils/ignorePathUtils.test.js.map +1 -0
- package/dist/src/utils/memoryDiscovery.d.ts +6 -4
- package/dist/src/utils/memoryDiscovery.js +69 -48
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +40 -0
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.d.ts +1 -1
- package/dist/src/utils/memoryImportProcessor.js +24 -15
- package/dist/src/utils/memoryImportProcessor.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/sessionOperations.d.ts +19 -0
- package/dist/src/utils/sessionOperations.js +101 -0
- package/dist/src/utils/sessionOperations.js.map +1 -0
- package/dist/src/utils/sessionOperations.test.d.ts +6 -0
- package/dist/src/utils/sessionOperations.test.js +92 -0
- package/dist/src/utils/sessionOperations.test.js.map +1 -0
- package/dist/src/utils/shell-utils.d.ts +24 -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 +86 -6
- 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/textUtils.d.ts +8 -0
- package/dist/src/utils/textUtils.js +16 -0
- package/dist/src/utils/textUtils.js.map +1 -1
- package/dist/src/utils/tokenCalculation.d.ts +2 -0
- package/dist/src/utils/tokenCalculation.js +2 -2
- package/dist/src/utils/tokenCalculation.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 +2 -1
- package/dist/docs/CONTRIBUTING.md +0 -566
- package/dist/docs/get-started/examples.md +0 -141
- package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js +0 -164
- package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js.map +0 -1
- package/dist/src/sandbox/macos/commandSafety.js.map +0 -1
- package/dist/src/services/chatCompressionService.js.map +0 -1
- package/dist/src/services/chatCompressionService.test.js.map +0 -1
- package/dist/src/services/contextManager.js.map +0 -1
- package/dist/src/services/contextManager.test.js.map +0 -1
- package/dist/src/services/toolOutputMaskingService.js.map +0 -1
- package/dist/src/services/toolOutputMaskingService.test.js.map +0 -1
- /package/dist/src/{services/toolOutputMaskingService.test.d.ts → agents/browser/snapshotSuperseder.test.d.ts} +0 -0
- /package/dist/src/{services → context}/chatCompressionService.d.ts +0 -0
- /package/dist/src/{services → context}/chatCompressionService.js +0 -0
- /package/dist/src/{services → context}/chatCompressionService.test.d.ts +0 -0
- /package/dist/src/{services → context}/chatCompressionService.test.js +0 -0
- /package/dist/src/{sandbox/macos/MacOsSandboxManager.integration.test.d.ts → context/contextCompressionService.test.d.ts} +0 -0
- /package/dist/src/{services/contextManager.test.d.ts → context/memoryContextManager.test.d.ts} +0 -0
|
@@ -26,8 +26,11 @@ import { WebFetchTool } from '../tools/web-fetch.js';
|
|
|
26
26
|
import { MemoryTool, setGeminiMdFilename } from '../tools/memoryTool.js';
|
|
27
27
|
import { WebSearchTool } from '../tools/web-search.js';
|
|
28
28
|
import { AskUserTool } from '../tools/ask-user.js';
|
|
29
|
+
import { UpdateTopicTool } from '../tools/topicTool.js';
|
|
30
|
+
import { TopicState } from './topicState.js';
|
|
29
31
|
import { ExitPlanModeTool } from '../tools/exit-plan-mode.js';
|
|
30
32
|
import { EnterPlanModeTool } from '../tools/enter-plan-mode.js';
|
|
33
|
+
import { ListBackgroundProcessesTool, ReadBackgroundOutputTool, } from '../tools/shellBackgroundTools.js';
|
|
31
34
|
import { GeminiClient } from '../core/client.js';
|
|
32
35
|
import { BaseLlmClient } from '../core/baseLlmClient.js';
|
|
33
36
|
import { LocalLiteRtLmClient } from '../core/localLiteRtLmClient.js';
|
|
@@ -52,9 +55,10 @@ import { ModelRouterService } from '../routing/modelRouterService.js';
|
|
|
52
55
|
import { OutputFormat } from '../output/types.js';
|
|
53
56
|
import { ModelConfigService, } from '../services/modelConfigService.js';
|
|
54
57
|
import { DEFAULT_MODEL_CONFIGS } from './defaultModelConfigs.js';
|
|
55
|
-
import {
|
|
58
|
+
import { MemoryContextManager } from '../context/memoryContextManager.js';
|
|
56
59
|
import { TrackerService } from '../services/trackerService.js';
|
|
57
60
|
import { WorkspaceContext } from '../utils/workspaceContext.js';
|
|
61
|
+
import { getWorkspaceContextOverride } from './scoped-config.js';
|
|
58
62
|
import { Storage } from './storage.js';
|
|
59
63
|
import { FileExclusions } from '../utils/ignorePatterns.js';
|
|
60
64
|
import { MessageBus } from '../confirmation-bus/message-bus.js';
|
|
@@ -65,7 +69,7 @@ import { getCodeAssistServer } from '../code_assist/codeAssist.js';
|
|
|
65
69
|
import { getExperiments, } from '../code_assist/experiments/experiments.js';
|
|
66
70
|
import { AgentRegistry } from '../agents/registry.js';
|
|
67
71
|
import { AcknowledgedAgentsService } from '../agents/acknowledgedAgents.js';
|
|
68
|
-
import { setGlobalProxy } from '../utils/fetch.js';
|
|
72
|
+
import { setGlobalProxy, updateGlobalFetchTimeouts } from '../utils/fetch.js';
|
|
69
73
|
import { SubagentTool } from '../agents/subagent-tool.js';
|
|
70
74
|
import { ExperimentFlags } from '../code_assist/experiments/flagNames.js';
|
|
71
75
|
import { debugLogger } from '../utils/debugLogger.js';
|
|
@@ -83,7 +87,7 @@ import { CheckerRegistry } from '../safety/registry.js';
|
|
|
83
87
|
import { ConsecaSafetyChecker } from '../safety/conseca/conseca.js';
|
|
84
88
|
import { DEFAULT_MAX_ATTEMPTS } from '../utils/retry.js';
|
|
85
89
|
import { DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, } from './constants.js';
|
|
86
|
-
import { DEFAULT_TOOL_PROTECTION_THRESHOLD, DEFAULT_MIN_PRUNABLE_TOKENS_THRESHOLD, DEFAULT_PROTECT_LATEST_TURN, } from '../
|
|
90
|
+
import { DEFAULT_TOOL_PROTECTION_THRESHOLD, DEFAULT_MIN_PRUNABLE_TOKENS_THRESHOLD, DEFAULT_PROTECT_LATEST_TURN, } from '../context/toolOutputMaskingService.js';
|
|
87
91
|
import { SimpleExtensionLoader, } from '../utils/extensionLoader.js';
|
|
88
92
|
import { McpClientManager } from '../tools/mcp-client-manager.js';
|
|
89
93
|
import { A2AClientManager } from '../agents/a2a-client-manager.js';
|
|
@@ -171,6 +175,7 @@ export const ConfigSchema = z.object({
|
|
|
171
175
|
.object({
|
|
172
176
|
enabled: z.boolean().default(false),
|
|
173
177
|
allowedPaths: z.array(z.string()).default([]),
|
|
178
|
+
includeDirectories: z.array(z.string()).default([]),
|
|
174
179
|
networkAccess: z.boolean().default(false),
|
|
175
180
|
command: z
|
|
176
181
|
.enum([
|
|
@@ -214,11 +219,13 @@ export class Config {
|
|
|
214
219
|
clientVersion;
|
|
215
220
|
fileSystemService;
|
|
216
221
|
trackerService;
|
|
222
|
+
topicState = new TopicState();
|
|
217
223
|
contentGeneratorConfig;
|
|
218
224
|
contentGenerator;
|
|
219
225
|
modelConfigService;
|
|
220
226
|
embeddingModel;
|
|
221
227
|
sandbox;
|
|
228
|
+
_sandboxForbiddenPaths;
|
|
222
229
|
targetDir;
|
|
223
230
|
workspaceContext;
|
|
224
231
|
debugMode;
|
|
@@ -310,9 +317,12 @@ export class Config {
|
|
|
310
317
|
directWebFetch;
|
|
311
318
|
useRipgrep;
|
|
312
319
|
enableInteractiveShell;
|
|
320
|
+
shellBackgroundCompletionBehavior;
|
|
313
321
|
skipNextSpeakerCheck;
|
|
314
322
|
useBackgroundColor;
|
|
315
323
|
useAlternateBuffer;
|
|
324
|
+
useTerminalBuffer;
|
|
325
|
+
useRenderProcess;
|
|
316
326
|
shellExecutionConfig;
|
|
317
327
|
extensionManagement = true;
|
|
318
328
|
extensionRegistryURI;
|
|
@@ -331,6 +341,8 @@ export class Config {
|
|
|
331
341
|
policyUpdateConfirmationRequest;
|
|
332
342
|
outputSettings;
|
|
333
343
|
gemmaModelRouter;
|
|
344
|
+
agentSessionNoninteractiveEnabled;
|
|
345
|
+
agentSessionInteractiveEnabled;
|
|
334
346
|
continueOnFailedApiCall;
|
|
335
347
|
retryFetchErrors;
|
|
336
348
|
maxAttempts;
|
|
@@ -344,9 +356,8 @@ export class Config {
|
|
|
344
356
|
acceptRawOutputRisk;
|
|
345
357
|
dynamicModelConfiguration;
|
|
346
358
|
pendingIncludeDirectories;
|
|
347
|
-
enableHooks;
|
|
348
359
|
enableHooksUI;
|
|
349
|
-
|
|
360
|
+
enableHooks;
|
|
350
361
|
hooks;
|
|
351
362
|
projectHooks;
|
|
352
363
|
disabledHooks;
|
|
@@ -364,13 +375,15 @@ export class Config {
|
|
|
364
375
|
adminSkillsEnabled;
|
|
365
376
|
experimentalJitContext;
|
|
366
377
|
experimentalMemoryManager;
|
|
378
|
+
memoryBoundaryMarkers;
|
|
367
379
|
topicUpdateNarration;
|
|
368
380
|
disableLLMCorrection;
|
|
369
381
|
planEnabled;
|
|
370
382
|
trackerEnabled;
|
|
371
383
|
planModeRoutingEnabled;
|
|
372
384
|
modelSteering;
|
|
373
|
-
|
|
385
|
+
memoryContextManager;
|
|
386
|
+
contextManagement;
|
|
374
387
|
terminalBackground = undefined;
|
|
375
388
|
remoteAdminSettings;
|
|
376
389
|
latestApiRequest;
|
|
@@ -388,6 +401,11 @@ export class Config {
|
|
|
388
401
|
? {
|
|
389
402
|
enabled: params.sandbox.enabled || params.toolSandboxing || false,
|
|
390
403
|
allowedPaths: params.sandbox.allowedPaths ?? [],
|
|
404
|
+
includeDirectories: [
|
|
405
|
+
...(params.sandbox.includeDirectories ?? []),
|
|
406
|
+
...(params.sandbox.allowedPaths ?? []),
|
|
407
|
+
Storage.getGlobalTempDir(),
|
|
408
|
+
],
|
|
391
409
|
networkAccess: params.sandbox.networkAccess ?? false,
|
|
392
410
|
command: params.sandbox.command,
|
|
393
411
|
image: params.sandbox.image,
|
|
@@ -395,21 +413,29 @@ export class Config {
|
|
|
395
413
|
: {
|
|
396
414
|
enabled: params.toolSandboxing || false,
|
|
397
415
|
allowedPaths: [],
|
|
416
|
+
includeDirectories: [Storage.getGlobalTempDir()],
|
|
398
417
|
networkAccess: false,
|
|
399
418
|
};
|
|
400
|
-
this.
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
}
|
|
419
|
+
this.targetDir = path.resolve(params.targetDir);
|
|
420
|
+
this.folderTrust = params.folderTrust ?? false;
|
|
421
|
+
this.workspaceContext = new WorkspaceContext(this.targetDir, []);
|
|
422
|
+
this.pendingIncludeDirectories = params.includeDirectories ?? [];
|
|
423
|
+
this.debugMode = params.debugMode;
|
|
424
|
+
this.question = params.question;
|
|
425
|
+
this.worktreeSettings = params.worktreeSettings;
|
|
408
426
|
this._sandboxPolicyManager = new SandboxPolicyManager();
|
|
409
427
|
const initialApprovalMode = params.approvalMode ??
|
|
410
428
|
params.policyEngineConfig?.approvalMode ??
|
|
411
429
|
'default';
|
|
412
|
-
this._sandboxManager = createSandboxManager(this.sandbox,
|
|
430
|
+
this._sandboxManager = createSandboxManager(this.sandbox, {
|
|
431
|
+
workspace: this.targetDir,
|
|
432
|
+
forbiddenPaths: this.getSandboxForbiddenPaths.bind(this),
|
|
433
|
+
includeDirectories: [
|
|
434
|
+
...this.pendingIncludeDirectories,
|
|
435
|
+
Storage.getGlobalTempDir(),
|
|
436
|
+
],
|
|
437
|
+
policyManager: this._sandboxPolicyManager,
|
|
438
|
+
}, initialApprovalMode);
|
|
413
439
|
if (!(this._sandboxManager instanceof NoopSandboxManager) &&
|
|
414
440
|
this.sandbox?.enabled) {
|
|
415
441
|
this.fileSystemService = new SandboxedFileSystemService(this._sandboxManager, params.targetDir);
|
|
@@ -417,10 +443,6 @@ export class Config {
|
|
|
417
443
|
else {
|
|
418
444
|
this.fileSystemService = new StandardFileSystemService();
|
|
419
445
|
}
|
|
420
|
-
this.targetDir = path.resolve(params.targetDir);
|
|
421
|
-
this.folderTrust = params.folderTrust ?? false;
|
|
422
|
-
this.workspaceContext = new WorkspaceContext(this.targetDir, []);
|
|
423
|
-
this.pendingIncludeDirectories = params.includeDirectories ?? [];
|
|
424
446
|
this.debugMode = params.debugMode;
|
|
425
447
|
this.question = params.question;
|
|
426
448
|
this.worktreeSettings = params.worktreeSettings;
|
|
@@ -538,19 +560,41 @@ export class Config {
|
|
|
538
560
|
this.modelConfigService = new ModelConfigService(modelConfigServiceConfig ?? DEFAULT_MODEL_CONFIGS);
|
|
539
561
|
this.experimentalJitContext = params.experimentalJitContext ?? false;
|
|
540
562
|
this.experimentalMemoryManager = params.experimentalMemoryManager ?? false;
|
|
563
|
+
this.memoryBoundaryMarkers = params.memoryBoundaryMarkers ?? ['.git'];
|
|
564
|
+
this.contextManagement = {
|
|
565
|
+
enabled: params.contextManagement?.enabled ?? false,
|
|
566
|
+
historyWindow: {
|
|
567
|
+
maxTokens: params.contextManagement?.historyWindow?.maxTokens ?? 150000,
|
|
568
|
+
retainedTokens: params.contextManagement?.historyWindow?.retainedTokens ?? 40000,
|
|
569
|
+
},
|
|
570
|
+
messageLimits: {
|
|
571
|
+
normalMaxTokens: params.contextManagement?.messageLimits?.normalMaxTokens ?? 2500,
|
|
572
|
+
retainedMaxTokens: params.contextManagement?.messageLimits?.retainedMaxTokens ?? 12000,
|
|
573
|
+
normalizationHeadRatio: params.contextManagement?.messageLimits?.normalizationHeadRatio ??
|
|
574
|
+
0.25,
|
|
575
|
+
},
|
|
576
|
+
tools: {
|
|
577
|
+
distillation: {
|
|
578
|
+
maxOutputTokens: params.contextManagement?.tools?.distillation?.maxOutputTokens ??
|
|
579
|
+
10000,
|
|
580
|
+
summarizationThresholdTokens: params.contextManagement?.tools?.distillation
|
|
581
|
+
?.summarizationThresholdTokens ?? 20000,
|
|
582
|
+
},
|
|
583
|
+
outputMasking: {
|
|
584
|
+
protectionThresholdTokens: params.contextManagement?.tools?.outputMasking
|
|
585
|
+
?.protectionThresholdTokens ?? DEFAULT_TOOL_PROTECTION_THRESHOLD,
|
|
586
|
+
minPrunableThresholdTokens: params.contextManagement?.tools?.outputMasking
|
|
587
|
+
?.minPrunableThresholdTokens ??
|
|
588
|
+
DEFAULT_MIN_PRUNABLE_TOKENS_THRESHOLD,
|
|
589
|
+
protectLatestTurn: params.contextManagement?.tools?.outputMasking?.protectLatestTurn ??
|
|
590
|
+
DEFAULT_PROTECT_LATEST_TURN,
|
|
591
|
+
},
|
|
592
|
+
},
|
|
593
|
+
};
|
|
541
594
|
this.topicUpdateNarration = params.topicUpdateNarration ?? false;
|
|
542
595
|
this.modelSteering = params.modelSteering ?? false;
|
|
543
596
|
this.injectionService = new InjectionService(() => this.isModelSteeringEnabled());
|
|
544
597
|
ExecutionLifecycleService.setInjectionService(this.injectionService);
|
|
545
|
-
this.toolOutputMasking = {
|
|
546
|
-
enabled: params.toolOutputMasking?.enabled ?? true,
|
|
547
|
-
toolProtectionThreshold: params.toolOutputMasking?.toolProtectionThreshold ??
|
|
548
|
-
DEFAULT_TOOL_PROTECTION_THRESHOLD,
|
|
549
|
-
minPrunableTokensThreshold: params.toolOutputMasking?.minPrunableTokensThreshold ??
|
|
550
|
-
DEFAULT_MIN_PRUNABLE_TOKENS_THRESHOLD,
|
|
551
|
-
protectLatestTurn: params.toolOutputMasking?.protectLatestTurn ??
|
|
552
|
-
DEFAULT_PROTECT_LATEST_TURN,
|
|
553
|
-
};
|
|
554
598
|
this.maxSessionTurns = params.maxSessionTurns ?? -1;
|
|
555
599
|
this.acpMode = params.acpMode ?? false;
|
|
556
600
|
this.listSessions = params.listSessions ?? false;
|
|
@@ -576,7 +620,16 @@ export class Config {
|
|
|
576
620
|
this.useRipgrep = params.useRipgrep ?? true;
|
|
577
621
|
this.useBackgroundColor = params.useBackgroundColor ?? true;
|
|
578
622
|
this.useAlternateBuffer = params.useAlternateBuffer ?? false;
|
|
623
|
+
this.useTerminalBuffer = params.useTerminalBuffer ?? false;
|
|
624
|
+
this.useRenderProcess = params.useRenderProcess ?? true;
|
|
579
625
|
this.enableInteractiveShell = params.enableInteractiveShell ?? false;
|
|
626
|
+
const requestedBehavior = params.shellBackgroundCompletionBehavior;
|
|
627
|
+
if (requestedBehavior === 'inject' || requestedBehavior === 'notify') {
|
|
628
|
+
this.shellBackgroundCompletionBehavior = requestedBehavior;
|
|
629
|
+
}
|
|
630
|
+
else {
|
|
631
|
+
this.shellBackgroundCompletionBehavior = 'silent';
|
|
632
|
+
}
|
|
580
633
|
this.skipNextSpeakerCheck = params.skipNextSpeakerCheck ?? true;
|
|
581
634
|
this.shellExecutionConfig = {
|
|
582
635
|
terminalWidth: params.shellExecutionConfig?.terminalWidth ?? 80,
|
|
@@ -586,6 +639,7 @@ export class Config {
|
|
|
586
639
|
sanitizationConfig: this.sanitizationConfig,
|
|
587
640
|
sandboxManager: this._sandboxManager,
|
|
588
641
|
sandboxConfig: this.sandbox,
|
|
642
|
+
backgroundCompletionBehavior: this.shellBackgroundCompletionBehavior,
|
|
589
643
|
};
|
|
590
644
|
this.truncateToolOutputThreshold =
|
|
591
645
|
params.truncateToolOutputThreshold ??
|
|
@@ -633,9 +687,7 @@ export class Config {
|
|
|
633
687
|
...params.policyEngineConfig,
|
|
634
688
|
approvalMode: engineApprovalMode,
|
|
635
689
|
disableAlwaysAllow: this.disableAlwaysAllow,
|
|
636
|
-
|
|
637
|
-
sandboxApprovedTools: this.sandboxPolicyManager?.getModeConfig(engineApprovalMode)
|
|
638
|
-
?.approvedTools ?? [],
|
|
690
|
+
sandboxManager: this._sandboxManager,
|
|
639
691
|
}, checkerRunner);
|
|
640
692
|
// Register Conseca if enabled
|
|
641
693
|
if (this.enableConseca) {
|
|
@@ -655,6 +707,10 @@ export class Config {
|
|
|
655
707
|
model: params.gemmaModelRouter?.classifier?.model ?? 'gemma3-1b-gpu-custom',
|
|
656
708
|
},
|
|
657
709
|
};
|
|
710
|
+
this.agentSessionNoninteractiveEnabled =
|
|
711
|
+
params.adk?.agentSessionNoninteractiveEnabled ?? false;
|
|
712
|
+
this.agentSessionInteractiveEnabled =
|
|
713
|
+
params.adk?.agentSessionInteractiveEnabled ?? false;
|
|
658
714
|
this.retryFetchErrors = params.retryFetchErrors ?? true;
|
|
659
715
|
this.maxAttempts = Math.min(params.maxAttempts ?? DEFAULT_MAX_ATTEMPTS, DEFAULT_MAX_ATTEMPTS);
|
|
660
716
|
this.disableYoloMode = params.disableYoloMode ?? false;
|
|
@@ -781,8 +837,8 @@ export class Config {
|
|
|
781
837
|
await this.hookSystem.initialize();
|
|
782
838
|
}
|
|
783
839
|
if (this.experimentalJitContext) {
|
|
784
|
-
this.
|
|
785
|
-
await this.
|
|
840
|
+
this.memoryContextManager = new MemoryContextManager(this);
|
|
841
|
+
await this.memoryContextManager.refresh();
|
|
786
842
|
}
|
|
787
843
|
await this._geminiClient.initialize();
|
|
788
844
|
this.initialized = true;
|
|
@@ -815,8 +871,6 @@ export class Config {
|
|
|
815
871
|
this.contentGenerator = await createContentGenerator(newContentGeneratorConfig, this, this.getSessionId());
|
|
816
872
|
// Only assign to instance properties after successful initialization
|
|
817
873
|
this.contentGeneratorConfig = newContentGeneratorConfig;
|
|
818
|
-
// Initialize BaseLlmClient now that the ContentGenerator is available
|
|
819
|
-
this.baseLlmClient = new BaseLlmClient(this.contentGenerator, this);
|
|
820
874
|
const codeAssistServer = getCodeAssistServer(this);
|
|
821
875
|
const quotaPromise = codeAssistServer?.projectId
|
|
822
876
|
? this.refreshUserQuota()
|
|
@@ -830,6 +884,14 @@ export class Config {
|
|
|
830
884
|
debugLogger.error('Failed to fetch experiments', e);
|
|
831
885
|
return undefined;
|
|
832
886
|
});
|
|
887
|
+
// Fetch experiments and update timeouts before continuing initialization
|
|
888
|
+
const experiments = await this.experimentsPromise;
|
|
889
|
+
const requestTimeoutMs = this.getRequestTimeoutMs();
|
|
890
|
+
if (requestTimeoutMs !== undefined) {
|
|
891
|
+
updateGlobalFetchTimeouts(requestTimeoutMs);
|
|
892
|
+
}
|
|
893
|
+
// Initialize BaseLlmClient now that the ContentGenerator and experiments are available
|
|
894
|
+
this.baseLlmClient = new BaseLlmClient(this.contentGenerator, this);
|
|
833
895
|
await quotaPromise;
|
|
834
896
|
const authType = this.contentGeneratorConfig.authType;
|
|
835
897
|
if (authType === AuthType.USE_GEMINI ||
|
|
@@ -843,8 +905,6 @@ export class Config {
|
|
|
843
905
|
this.hasAccessToPreviewModel === false) {
|
|
844
906
|
this.setModel(DEFAULT_GEMINI_MODEL_AUTO);
|
|
845
907
|
}
|
|
846
|
-
// Fetch admin controls
|
|
847
|
-
const experiments = await this.experimentsPromise;
|
|
848
908
|
const adminControlsEnabled = experiments?.flags[ExperimentFlags.ENABLE_ADMIN_CONTROLS]?.boolValue ??
|
|
849
909
|
false;
|
|
850
910
|
const adminControls = await fetchAdminControls(codeAssistServer, this.getRemoteAdminSettings(), adminControlsEnabled, (newSettings) => {
|
|
@@ -878,6 +938,9 @@ export class Config {
|
|
|
878
938
|
getBaseLlmClient() {
|
|
879
939
|
if (!this.baseLlmClient) {
|
|
880
940
|
// Handle cases where initialization might be deferred or authentication failed
|
|
941
|
+
if (!this.experiments) {
|
|
942
|
+
throw new Error('BaseLlmClient not initialized. Ensure experiments have been fetched and configuration is ready.');
|
|
943
|
+
}
|
|
881
944
|
if (this.contentGenerator) {
|
|
882
945
|
this.baseLlmClient = new BaseLlmClient(this.getContentGenerator(), this);
|
|
883
946
|
}
|
|
@@ -931,8 +994,26 @@ export class Config {
|
|
|
931
994
|
get geminiClient() {
|
|
932
995
|
return this._geminiClient;
|
|
933
996
|
}
|
|
997
|
+
async getSandboxForbiddenPaths() {
|
|
998
|
+
if (this._sandboxForbiddenPaths) {
|
|
999
|
+
return this._sandboxForbiddenPaths;
|
|
1000
|
+
}
|
|
1001
|
+
this._sandboxForbiddenPaths = await this.getFileService().getIgnoredPaths({
|
|
1002
|
+
respectGitIgnore: false,
|
|
1003
|
+
respectGeminiIgnore: true,
|
|
1004
|
+
});
|
|
1005
|
+
return this._sandboxForbiddenPaths;
|
|
1006
|
+
}
|
|
934
1007
|
refreshSandboxManager() {
|
|
935
|
-
this._sandboxManager = createSandboxManager(this.sandbox,
|
|
1008
|
+
this._sandboxManager = createSandboxManager(this.sandbox, {
|
|
1009
|
+
workspace: this.targetDir,
|
|
1010
|
+
forbiddenPaths: this.getSandboxForbiddenPaths.bind(this),
|
|
1011
|
+
includeDirectories: [
|
|
1012
|
+
...this.pendingIncludeDirectories,
|
|
1013
|
+
Storage.getGlobalTempDir(),
|
|
1014
|
+
],
|
|
1015
|
+
policyManager: this._sandboxPolicyManager,
|
|
1016
|
+
}, this.getApprovalMode());
|
|
936
1017
|
this.shellExecutionConfig.sandboxManager = this._sandboxManager;
|
|
937
1018
|
}
|
|
938
1019
|
get sandboxPolicyManager() {
|
|
@@ -1127,7 +1208,12 @@ export class Config {
|
|
|
1127
1208
|
return this.sandbox?.enabled ?? false;
|
|
1128
1209
|
}
|
|
1129
1210
|
getSandboxAllowedPaths() {
|
|
1130
|
-
|
|
1211
|
+
const paths = [...(this.sandbox?.allowedPaths ?? [])];
|
|
1212
|
+
const globalTempDir = Storage.getGlobalTempDir();
|
|
1213
|
+
if (!paths.includes(globalTempDir)) {
|
|
1214
|
+
paths.push(globalTempDir);
|
|
1215
|
+
}
|
|
1216
|
+
return paths;
|
|
1131
1217
|
}
|
|
1132
1218
|
getSandboxNetworkAccess() {
|
|
1133
1219
|
return this.sandbox?.networkAccess ?? false;
|
|
@@ -1148,7 +1234,7 @@ export class Config {
|
|
|
1148
1234
|
return this.targetDir;
|
|
1149
1235
|
}
|
|
1150
1236
|
getWorkspaceContext() {
|
|
1151
|
-
return this.workspaceContext;
|
|
1237
|
+
return getWorkspaceContextOverride() ?? this.workspaceContext;
|
|
1152
1238
|
}
|
|
1153
1239
|
getAgentRegistry() {
|
|
1154
1240
|
return this.agentRegistry;
|
|
@@ -1355,11 +1441,12 @@ export class Config {
|
|
|
1355
1441
|
this.mcpServers = mcpServers;
|
|
1356
1442
|
}
|
|
1357
1443
|
getUserMemory() {
|
|
1358
|
-
if (this.experimentalJitContext && this.
|
|
1444
|
+
if (this.experimentalJitContext && this.memoryContextManager) {
|
|
1359
1445
|
return {
|
|
1360
|
-
global: this.
|
|
1361
|
-
extension: this.
|
|
1362
|
-
project: this.
|
|
1446
|
+
global: this.memoryContextManager.getGlobalMemory(),
|
|
1447
|
+
extension: this.memoryContextManager.getExtensionMemory(),
|
|
1448
|
+
project: this.memoryContextManager.getEnvironmentMemory(),
|
|
1449
|
+
userProjectMemory: this.memoryContextManager.getUserProjectMemory(),
|
|
1363
1450
|
};
|
|
1364
1451
|
}
|
|
1365
1452
|
return this.userMemory;
|
|
@@ -1368,8 +1455,8 @@ export class Config {
|
|
|
1368
1455
|
* Refreshes the MCP context, including memory, tools, and system instructions.
|
|
1369
1456
|
*/
|
|
1370
1457
|
async refreshMcpContext() {
|
|
1371
|
-
if (this.experimentalJitContext && this.
|
|
1372
|
-
await this.
|
|
1458
|
+
if (this.experimentalJitContext && this.memoryContextManager) {
|
|
1459
|
+
await this.memoryContextManager.refresh();
|
|
1373
1460
|
}
|
|
1374
1461
|
else {
|
|
1375
1462
|
const { refreshServerHierarchicalMemory } = await import('../utils/memoryDiscovery.js');
|
|
@@ -1385,13 +1472,20 @@ export class Config {
|
|
|
1385
1472
|
}
|
|
1386
1473
|
/**
|
|
1387
1474
|
* Returns memory for the system instruction.
|
|
1388
|
-
* When JIT is enabled,
|
|
1389
|
-
* instruction. Extension and project memory (Tier 2) are
|
|
1390
|
-
* first user message instead, per the tiered context model.
|
|
1475
|
+
* When JIT is enabled, global memory and user project memory (Tier 1) go
|
|
1476
|
+
* in the system instruction. Extension and project memory (Tier 2) are
|
|
1477
|
+
* placed in the first user message instead, per the tiered context model.
|
|
1478
|
+
* User project memory is in Tier 1 so mid-session saves are reflected
|
|
1479
|
+
* via system instruction updates.
|
|
1391
1480
|
*/
|
|
1392
1481
|
getSystemInstructionMemory() {
|
|
1393
|
-
if (this.experimentalJitContext && this.
|
|
1394
|
-
|
|
1482
|
+
if (this.experimentalJitContext && this.memoryContextManager) {
|
|
1483
|
+
const global = this.memoryContextManager.getGlobalMemory();
|
|
1484
|
+
const userProjectMemory = this.memoryContextManager.getUserProjectMemory();
|
|
1485
|
+
if (userProjectMemory?.trim()) {
|
|
1486
|
+
return { global, userProjectMemory };
|
|
1487
|
+
}
|
|
1488
|
+
return global;
|
|
1395
1489
|
}
|
|
1396
1490
|
return this.userMemory;
|
|
1397
1491
|
}
|
|
@@ -1401,12 +1495,12 @@ export class Config {
|
|
|
1401
1495
|
* disabled (Tier 2 memory is already in the system instruction).
|
|
1402
1496
|
*/
|
|
1403
1497
|
getSessionMemory() {
|
|
1404
|
-
if (!this.experimentalJitContext || !this.
|
|
1498
|
+
if (!this.experimentalJitContext || !this.memoryContextManager) {
|
|
1405
1499
|
return '';
|
|
1406
1500
|
}
|
|
1407
1501
|
const sections = [];
|
|
1408
|
-
const extension = this.
|
|
1409
|
-
const project = this.
|
|
1502
|
+
const extension = this.memoryContextManager.getExtensionMemory();
|
|
1503
|
+
const project = this.memoryContextManager.getEnvironmentMemory();
|
|
1410
1504
|
if (extension?.trim()) {
|
|
1411
1505
|
sections.push(`<extension_context>\n${extension.trim()}\n</extension_context>`);
|
|
1412
1506
|
}
|
|
@@ -1418,29 +1512,44 @@ export class Config {
|
|
|
1418
1512
|
return `\n<loaded_context>\n${sections.join('\n')}\n</loaded_context>`;
|
|
1419
1513
|
}
|
|
1420
1514
|
getGlobalMemory() {
|
|
1421
|
-
return this.
|
|
1515
|
+
return this.memoryContextManager?.getGlobalMemory() ?? '';
|
|
1422
1516
|
}
|
|
1423
1517
|
getEnvironmentMemory() {
|
|
1424
|
-
return this.
|
|
1518
|
+
return this.memoryContextManager?.getEnvironmentMemory() ?? '';
|
|
1425
1519
|
}
|
|
1426
|
-
|
|
1427
|
-
return this.
|
|
1520
|
+
getMemoryContextManager() {
|
|
1521
|
+
return this.memoryContextManager;
|
|
1428
1522
|
}
|
|
1429
1523
|
isJitContextEnabled() {
|
|
1430
1524
|
return this.experimentalJitContext;
|
|
1431
1525
|
}
|
|
1526
|
+
isContextManagementEnabled() {
|
|
1527
|
+
return this.contextManagement.enabled;
|
|
1528
|
+
}
|
|
1529
|
+
getMemoryBoundaryMarkers() {
|
|
1530
|
+
return this.memoryBoundaryMarkers;
|
|
1531
|
+
}
|
|
1432
1532
|
isMemoryManagerEnabled() {
|
|
1433
1533
|
return this.experimentalMemoryManager;
|
|
1434
1534
|
}
|
|
1535
|
+
getContextManagementConfig() {
|
|
1536
|
+
return this.contextManagement;
|
|
1537
|
+
}
|
|
1538
|
+
get agentHistoryProviderConfig() {
|
|
1539
|
+
return {
|
|
1540
|
+
maxTokens: this.contextManagement.historyWindow.maxTokens,
|
|
1541
|
+
retainedTokens: this.contextManagement.historyWindow.retainedTokens,
|
|
1542
|
+
normalMessageTokens: this.contextManagement.messageLimits.normalMaxTokens,
|
|
1543
|
+
maximumMessageTokens: this.contextManagement.messageLimits.retainedMaxTokens,
|
|
1544
|
+
normalizationHeadRatio: this.contextManagement.messageLimits.normalizationHeadRatio,
|
|
1545
|
+
};
|
|
1546
|
+
}
|
|
1435
1547
|
isTopicUpdateNarrationEnabled() {
|
|
1436
1548
|
return this.topicUpdateNarration;
|
|
1437
1549
|
}
|
|
1438
1550
|
isModelSteeringEnabled() {
|
|
1439
1551
|
return this.modelSteering;
|
|
1440
1552
|
}
|
|
1441
|
-
getToolOutputMaskingEnabled() {
|
|
1442
|
-
return this.toolOutputMasking.enabled;
|
|
1443
|
-
}
|
|
1444
1553
|
async getToolOutputMaskingConfig() {
|
|
1445
1554
|
await this.ensureExperimentsLoaded();
|
|
1446
1555
|
const remoteProtection = this.experiments?.flags[ExperimentFlags.MASKING_PROTECTION_THRESHOLD]
|
|
@@ -1456,19 +1565,21 @@ export class Config {
|
|
|
1456
1565
|
? parseInt(remotePrunable, 10)
|
|
1457
1566
|
: undefined;
|
|
1458
1567
|
return {
|
|
1459
|
-
|
|
1460
|
-
toolProtectionThreshold: parsedProtection !== undefined && !isNaN(parsedProtection)
|
|
1568
|
+
protectionThresholdTokens: parsedProtection !== undefined && !isNaN(parsedProtection)
|
|
1461
1569
|
? parsedProtection
|
|
1462
|
-
: this.
|
|
1463
|
-
|
|
1570
|
+
: this.contextManagement.tools.outputMasking
|
|
1571
|
+
.protectionThresholdTokens,
|
|
1572
|
+
minPrunableThresholdTokens: parsedPrunable !== undefined && !isNaN(parsedPrunable)
|
|
1464
1573
|
? parsedPrunable
|
|
1465
|
-
: this.
|
|
1466
|
-
|
|
1574
|
+
: this.contextManagement.tools.outputMasking
|
|
1575
|
+
.minPrunableThresholdTokens,
|
|
1576
|
+
protectLatestTurn: remoteProtectLatest ??
|
|
1577
|
+
this.contextManagement.tools.outputMasking.protectLatestTurn,
|
|
1467
1578
|
};
|
|
1468
1579
|
}
|
|
1469
1580
|
getGeminiMdFileCount() {
|
|
1470
|
-
if (this.experimentalJitContext && this.
|
|
1471
|
-
return this.
|
|
1581
|
+
if (this.experimentalJitContext && this.memoryContextManager) {
|
|
1582
|
+
return this.memoryContextManager.getLoadedPaths().size;
|
|
1472
1583
|
}
|
|
1473
1584
|
return this.geminiMdFileCount;
|
|
1474
1585
|
}
|
|
@@ -1476,8 +1587,8 @@ export class Config {
|
|
|
1476
1587
|
this.geminiMdFileCount = count;
|
|
1477
1588
|
}
|
|
1478
1589
|
getGeminiMdFilePaths() {
|
|
1479
|
-
if (this.experimentalJitContext && this.
|
|
1480
|
-
return Array.from(this.
|
|
1590
|
+
if (this.experimentalJitContext && this.memoryContextManager) {
|
|
1591
|
+
return Array.from(this.memoryContextManager.getLoadedPaths());
|
|
1481
1592
|
}
|
|
1482
1593
|
return this.geminiMdFilePaths;
|
|
1483
1594
|
}
|
|
@@ -1517,7 +1628,9 @@ export class Config {
|
|
|
1517
1628
|
debugLogger.debug(`Workspace policies loaded from: ${policyDir}`);
|
|
1518
1629
|
}
|
|
1519
1630
|
setApprovalMode(mode) {
|
|
1520
|
-
if (!this.isTrustedFolder() &&
|
|
1631
|
+
if (!this.isTrustedFolder() &&
|
|
1632
|
+
mode !== ApprovalMode.DEFAULT &&
|
|
1633
|
+
mode !== ApprovalMode.PLAN) {
|
|
1521
1634
|
throw new Error('Cannot enable privileged approval modes in an untrusted folder.');
|
|
1522
1635
|
}
|
|
1523
1636
|
const currentMode = this.getApprovalMode();
|
|
@@ -1525,7 +1638,7 @@ export class Config {
|
|
|
1525
1638
|
this.logCurrentModeDuration(currentMode);
|
|
1526
1639
|
logApprovalModeSwitch(this, new ApprovalModeSwitchEvent(currentMode, mode));
|
|
1527
1640
|
}
|
|
1528
|
-
this.policyEngine.setApprovalMode(mode
|
|
1641
|
+
this.policyEngine.setApprovalMode(mode);
|
|
1529
1642
|
this.refreshSandboxManager();
|
|
1530
1643
|
const isPlanModeTransition = currentMode !== mode &&
|
|
1531
1644
|
(currentMode === ApprovalMode.PLAN || mode === ApprovalMode.PLAN);
|
|
@@ -1533,6 +1646,7 @@ export class Config {
|
|
|
1533
1646
|
(currentMode === ApprovalMode.YOLO || mode === ApprovalMode.YOLO);
|
|
1534
1647
|
if (isPlanModeTransition || isYoloModeTransition) {
|
|
1535
1648
|
if (this._geminiClient?.isInitialized()) {
|
|
1649
|
+
this._geminiClient.clearCurrentSequenceModel();
|
|
1536
1650
|
this._geminiClient.setTools().catch((err) => {
|
|
1537
1651
|
debugLogger.error('Failed to update tools', err);
|
|
1538
1652
|
});
|
|
@@ -1630,6 +1744,9 @@ export class Config {
|
|
|
1630
1744
|
getModelRouterService() {
|
|
1631
1745
|
return this.modelRouterService;
|
|
1632
1746
|
}
|
|
1747
|
+
getModelConfigService() {
|
|
1748
|
+
return this.modelConfigService;
|
|
1749
|
+
}
|
|
1633
1750
|
getModelAvailabilityService() {
|
|
1634
1751
|
return this.modelAvailabilityService;
|
|
1635
1752
|
}
|
|
@@ -1972,6 +2089,12 @@ export class Config {
|
|
|
1972
2089
|
const authType = this.contentGeneratorConfig?.authType;
|
|
1973
2090
|
return useGemini3_1 && authType === AuthType.USE_GEMINI;
|
|
1974
2091
|
}
|
|
2092
|
+
isGemini31LaunchedForAuthType(authType) {
|
|
2093
|
+
return (authType === AuthType.USE_GEMINI ||
|
|
2094
|
+
authType === AuthType.USE_VERTEX_AI ||
|
|
2095
|
+
authType === AuthType.GATEWAY ||
|
|
2096
|
+
authType === AuthType.KEYCLOAK);
|
|
2097
|
+
}
|
|
1975
2098
|
/**
|
|
1976
2099
|
* Returns whether Gemini 3.1 has been launched.
|
|
1977
2100
|
*
|
|
@@ -1981,14 +2104,25 @@ export class Config {
|
|
|
1981
2104
|
*/
|
|
1982
2105
|
getGemini31LaunchedSync() {
|
|
1983
2106
|
const authType = this.contentGeneratorConfig?.authType;
|
|
1984
|
-
if (authType
|
|
1985
|
-
authType === AuthType.USE_VERTEX_AI ||
|
|
1986
|
-
authType === AuthType.KEYCLOAK) {
|
|
2107
|
+
if (this.isGemini31LaunchedForAuthType(authType)) {
|
|
1987
2108
|
return true;
|
|
1988
2109
|
}
|
|
1989
2110
|
return (this.experiments?.flags[ExperimentFlags.GEMINI_3_1_PRO_LAUNCHED]
|
|
1990
2111
|
?.boolValue ?? false);
|
|
1991
2112
|
}
|
|
2113
|
+
/**
|
|
2114
|
+
* Returns the configured default request timeout in milliseconds.
|
|
2115
|
+
*/
|
|
2116
|
+
getRequestTimeoutMs() {
|
|
2117
|
+
const flag = this.experiments?.flags?.[ExperimentFlags.DEFAULT_REQUEST_TIMEOUT];
|
|
2118
|
+
if (flag?.intValue !== undefined) {
|
|
2119
|
+
const seconds = parseInt(flag.intValue, 10);
|
|
2120
|
+
if (Number.isInteger(seconds) && seconds >= 0) {
|
|
2121
|
+
return seconds * 1000; // Convert seconds to milliseconds
|
|
2122
|
+
}
|
|
2123
|
+
}
|
|
2124
|
+
return undefined;
|
|
2125
|
+
}
|
|
1992
2126
|
/**
|
|
1993
2127
|
* Returns whether Gemini 3.1 Flash Lite has been launched.
|
|
1994
2128
|
*
|
|
@@ -1998,8 +2132,7 @@ export class Config {
|
|
|
1998
2132
|
*/
|
|
1999
2133
|
getGemini31FlashLiteLaunchedSync() {
|
|
2000
2134
|
const authType = this.contentGeneratorConfig?.authType;
|
|
2001
|
-
if (authType
|
|
2002
|
-
authType === AuthType.USE_VERTEX_AI) {
|
|
2135
|
+
if (this.isGemini31LaunchedForAuthType(authType)) {
|
|
2003
2136
|
return true;
|
|
2004
2137
|
}
|
|
2005
2138
|
return (this.experiments?.flags[ExperimentFlags.GEMINI_3_1_FLASH_LITE_LAUNCHED]
|
|
@@ -2078,9 +2211,18 @@ export class Config {
|
|
|
2078
2211
|
getUseAlternateBuffer() {
|
|
2079
2212
|
return this.useAlternateBuffer;
|
|
2080
2213
|
}
|
|
2214
|
+
getUseTerminalBuffer() {
|
|
2215
|
+
return this.useTerminalBuffer;
|
|
2216
|
+
}
|
|
2217
|
+
getUseRenderProcess() {
|
|
2218
|
+
return this.useRenderProcess;
|
|
2219
|
+
}
|
|
2081
2220
|
getEnableInteractiveShell() {
|
|
2082
2221
|
return this.enableInteractiveShell;
|
|
2083
2222
|
}
|
|
2223
|
+
getShellBackgroundCompletionBehavior() {
|
|
2224
|
+
return this.shellBackgroundCompletionBehavior;
|
|
2225
|
+
}
|
|
2084
2226
|
getSkipNextSpeakerCheck() {
|
|
2085
2227
|
return this.skipNextSpeakerCheck;
|
|
2086
2228
|
}
|
|
@@ -2122,6 +2264,13 @@ export class Config {
|
|
|
2122
2264
|
4 *
|
|
2123
2265
|
(tokenLimit(this.model) - uiTelemetryService.getLastPromptTokenCount()), this.truncateToolOutputThreshold);
|
|
2124
2266
|
}
|
|
2267
|
+
getToolMaxOutputTokens() {
|
|
2268
|
+
return this.contextManagement.tools.distillation.maxOutputTokens;
|
|
2269
|
+
}
|
|
2270
|
+
getToolSummarizationThresholdTokens() {
|
|
2271
|
+
return this.contextManagement.tools.distillation
|
|
2272
|
+
.summarizationThresholdTokens;
|
|
2273
|
+
}
|
|
2125
2274
|
getNextCompressionTruncationId() {
|
|
2126
2275
|
return ++this.compressionTruncationCounter;
|
|
2127
2276
|
}
|
|
@@ -2162,6 +2311,12 @@ export class Config {
|
|
|
2162
2311
|
getGemmaModelRouterSettings() {
|
|
2163
2312
|
return this.gemmaModelRouter;
|
|
2164
2313
|
}
|
|
2314
|
+
getAgentSessionNoninteractiveEnabled() {
|
|
2315
|
+
return this.agentSessionNoninteractiveEnabled;
|
|
2316
|
+
}
|
|
2317
|
+
getAgentSessionInteractiveEnabled() {
|
|
2318
|
+
return this.agentSessionInteractiveEnabled;
|
|
2319
|
+
}
|
|
2165
2320
|
/**
|
|
2166
2321
|
* Get override settings for a specific agent.
|
|
2167
2322
|
* Reads from agents.overrides.<agentName>.
|
|
@@ -2187,6 +2342,7 @@ export class Config {
|
|
|
2187
2342
|
visualModel: customConfig.visualModel,
|
|
2188
2343
|
allowedDomains: customConfig.allowedDomains,
|
|
2189
2344
|
disableUserInput: customConfig.disableUserInput,
|
|
2345
|
+
maxActionsPerTask: customConfig.maxActionsPerTask ?? 100,
|
|
2190
2346
|
confirmSensitiveActions: customConfig.confirmSensitiveActions,
|
|
2191
2347
|
blockFileUploads: customConfig.blockFileUploads,
|
|
2192
2348
|
},
|
|
@@ -2222,6 +2378,7 @@ export class Config {
|
|
|
2222
2378
|
registerFn();
|
|
2223
2379
|
}
|
|
2224
2380
|
};
|
|
2381
|
+
maybeRegister(UpdateTopicTool, () => registry.registerTool(new UpdateTopicTool(this, this.messageBus)));
|
|
2225
2382
|
maybeRegister(LSTool, () => registry.registerTool(new LSTool(this, this.messageBus)));
|
|
2226
2383
|
maybeRegister(ReadFileTool, () => registry.registerTool(new ReadFileTool(this, this.messageBus)));
|
|
2227
2384
|
if (this.getUseRipgrep()) {
|
|
@@ -2250,8 +2407,10 @@ export class Config {
|
|
|
2250
2407
|
maybeRegister(WriteFileTool, () => registry.registerTool(new WriteFileTool(this, this.messageBus)));
|
|
2251
2408
|
maybeRegister(WebFetchTool, () => registry.registerTool(new WebFetchTool(this, this.messageBus)));
|
|
2252
2409
|
maybeRegister(ShellTool, () => registry.registerTool(new ShellTool(this, this.messageBus)));
|
|
2410
|
+
maybeRegister(ListBackgroundProcessesTool, () => registry.registerTool(new ListBackgroundProcessesTool(this, this.messageBus)));
|
|
2411
|
+
maybeRegister(ReadBackgroundOutputTool, () => registry.registerTool(new ReadBackgroundOutputTool(this, this.messageBus)));
|
|
2253
2412
|
if (!this.isMemoryManagerEnabled()) {
|
|
2254
|
-
maybeRegister(MemoryTool, () => registry.registerTool(new MemoryTool(this.messageBus)));
|
|
2413
|
+
maybeRegister(MemoryTool, () => registry.registerTool(new MemoryTool(this.messageBus, this.storage)));
|
|
2255
2414
|
}
|
|
2256
2415
|
maybeRegister(WebSearchTool, () => registry.registerTool(new WebSearchTool(this, this.messageBus)));
|
|
2257
2416
|
maybeRegister(AskUserTool, () => registry.registerTool(new AskUserTool(this.messageBus)));
|