@office-ai/aioncli-core 0.18.7 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/CONTRIBUTING.md +546 -0
- package/dist/docs/architecture.md +80 -0
- package/dist/docs/assets/connected_devtools.png +0 -0
- package/dist/docs/assets/gemini-screenshot.png +0 -0
- package/dist/docs/assets/release_patch.png +0 -0
- package/dist/docs/assets/theme-ansi-light.png +0 -0
- package/dist/docs/assets/theme-ansi.png +0 -0
- package/dist/docs/assets/theme-atom-one.png +0 -0
- package/dist/docs/assets/theme-ayu-light.png +0 -0
- package/dist/docs/assets/theme-ayu.png +0 -0
- package/dist/docs/assets/theme-custom.png +0 -0
- package/dist/docs/assets/theme-default-light.png +0 -0
- package/dist/docs/assets/theme-default.png +0 -0
- package/dist/docs/assets/theme-dracula.png +0 -0
- package/dist/docs/assets/theme-github-light.png +0 -0
- package/dist/docs/assets/theme-github.png +0 -0
- package/dist/docs/assets/theme-google-light.png +0 -0
- package/dist/docs/assets/theme-xcode-light.png +0 -0
- package/dist/docs/changelogs/index.md +592 -0
- package/dist/docs/changelogs/latest.md +225 -0
- package/dist/docs/changelogs/preview.md +129 -0
- package/dist/docs/changelogs/releases.md +896 -0
- package/dist/docs/cli/authentication.md +3 -0
- package/dist/docs/cli/checkpointing.md +94 -0
- package/dist/docs/cli/commands.md +354 -0
- package/dist/docs/cli/configuration.md +780 -0
- package/dist/docs/cli/custom-commands.md +315 -0
- package/dist/docs/cli/enterprise.md +565 -0
- package/dist/docs/cli/gemini-ignore.md +71 -0
- package/dist/docs/cli/gemini-md.md +108 -0
- package/dist/docs/cli/generation-settings.md +210 -0
- package/dist/docs/cli/headless.md +388 -0
- package/dist/docs/cli/index.md +63 -0
- package/dist/docs/cli/keyboard-shortcuts.md +143 -0
- package/dist/docs/cli/model-routing.md +37 -0
- package/dist/docs/cli/model.md +62 -0
- package/dist/docs/cli/sandbox.md +171 -0
- package/dist/docs/cli/session-management.md +158 -0
- package/dist/docs/cli/settings.md +114 -0
- package/dist/docs/cli/skills.md +156 -0
- package/dist/docs/cli/system-prompt.md +93 -0
- package/dist/docs/cli/telemetry.md +791 -0
- package/dist/docs/cli/themes.md +237 -0
- package/dist/docs/cli/token-caching.md +20 -0
- package/dist/docs/cli/trusted-folders.md +95 -0
- package/dist/docs/cli/tutorials/skills-getting-started.md +124 -0
- package/dist/docs/cli/tutorials.md +87 -0
- package/dist/docs/cli/uninstall.md +47 -0
- package/dist/docs/core/index.md +101 -0
- package/dist/docs/core/memport.md +244 -0
- package/dist/docs/core/policy-engine.md +267 -0
- package/dist/docs/core/tools-api.md +131 -0
- package/dist/docs/examples/proxy-script.md +83 -0
- package/dist/docs/extension.md +160 -0
- package/dist/docs/extensions/extension-releasing.md +183 -0
- package/dist/docs/extensions/getting-started-extensions.md +245 -0
- package/dist/docs/extensions/index.md +293 -0
- package/dist/docs/faq.md +154 -0
- package/dist/docs/get-started/authentication.md +321 -0
- package/dist/docs/get-started/configuration-v1.md +888 -0
- package/dist/docs/get-started/configuration.md +1536 -0
- package/dist/docs/get-started/deployment.md +143 -0
- package/dist/docs/get-started/examples.md +219 -0
- package/dist/docs/get-started/gemini-3.md +116 -0
- package/dist/docs/get-started/index.md +71 -0
- package/dist/docs/get-started/installation.md +141 -0
- package/dist/docs/hooks/best-practices.md +856 -0
- package/dist/docs/hooks/index.md +687 -0
- package/dist/docs/hooks/reference.md +168 -0
- package/dist/docs/hooks/writing-hooks.md +1026 -0
- package/dist/docs/ide-integration/ide-companion-spec.md +267 -0
- package/dist/docs/ide-integration/index.md +202 -0
- package/dist/docs/index.md +147 -0
- package/dist/docs/integration-tests.md +211 -0
- package/dist/docs/issue-and-pr-automation.md +134 -0
- package/dist/docs/local-development.md +128 -0
- package/dist/docs/mermaid/context.mmd +103 -0
- package/dist/docs/mermaid/render-path.mmd +64 -0
- package/dist/docs/npm.md +62 -0
- package/dist/docs/quota-and-pricing.md +158 -0
- package/dist/docs/release-confidence.md +164 -0
- package/dist/docs/releases.md +540 -0
- package/dist/docs/sidebar.json +301 -0
- package/dist/docs/tools/file-system.md +217 -0
- package/dist/docs/tools/index.md +95 -0
- package/dist/docs/tools/mcp-server.md +1044 -0
- package/dist/docs/tools/memory.md +54 -0
- package/dist/docs/tools/shell.md +260 -0
- package/dist/docs/tools/todos.md +57 -0
- package/dist/docs/tools/web-fetch.md +59 -0
- package/dist/docs/tools/web-search.md +42 -0
- package/dist/docs/tos-privacy.md +96 -0
- package/dist/docs/troubleshooting.md +158 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/src/agents/a2a-client-manager.d.ts +78 -0
- package/dist/src/agents/a2a-client-manager.js +295 -0
- package/dist/src/agents/a2a-client-manager.js.map +1 -0
- package/dist/src/agents/a2a-client-manager.test.d.ts +6 -0
- package/dist/src/agents/a2a-client-manager.test.js +237 -0
- package/dist/src/agents/a2a-client-manager.test.js.map +1 -0
- package/dist/src/agents/a2aUtils.d.ts +28 -0
- package/dist/src/agents/a2aUtils.js +111 -0
- package/dist/src/agents/a2aUtils.js.map +1 -0
- package/dist/src/agents/a2aUtils.test.d.ts +6 -0
- package/dist/src/agents/a2aUtils.test.js +147 -0
- package/dist/src/agents/a2aUtils.test.js.map +1 -0
- package/dist/src/agents/codebase-investigator.d.ts +2 -2
- package/dist/src/agents/codebase-investigator.js +5 -4
- package/dist/src/agents/codebase-investigator.js.map +1 -1
- package/dist/src/agents/delegate-to-agent-tool.d.ts +19 -0
- package/dist/src/agents/delegate-to-agent-tool.js +115 -0
- package/dist/src/agents/delegate-to-agent-tool.js.map +1 -0
- package/dist/src/agents/delegate-to-agent-tool.test.d.ts +6 -0
- package/dist/src/agents/delegate-to-agent-tool.test.js +165 -0
- package/dist/src/agents/delegate-to-agent-tool.test.js.map +1 -0
- package/dist/src/agents/introspection-agent.d.ts +23 -0
- package/dist/src/agents/introspection-agent.js +72 -0
- package/dist/src/agents/introspection-agent.js.map +1 -0
- package/dist/src/agents/introspection-agent.test.d.ts +6 -0
- package/dist/src/agents/introspection-agent.test.js +47 -0
- package/dist/src/agents/introspection-agent.test.js.map +1 -0
- package/dist/src/agents/local-executor.d.ts +108 -0
- package/dist/src/agents/local-executor.js +801 -0
- package/dist/src/agents/local-executor.js.map +1 -0
- package/dist/src/agents/local-executor.test.d.ts +6 -0
- package/dist/src/agents/local-executor.test.js +1380 -0
- package/dist/src/agents/local-executor.test.js.map +1 -0
- package/dist/src/agents/local-invocation.d.ts +45 -0
- package/dist/src/agents/local-invocation.js +101 -0
- package/dist/src/agents/local-invocation.js.map +1 -0
- package/dist/src/agents/local-invocation.test.d.ts +6 -0
- package/dist/src/agents/local-invocation.test.js +218 -0
- package/dist/src/agents/local-invocation.test.js.map +1 -0
- package/dist/src/agents/registry.d.ts +25 -1
- package/dist/src/agents/registry.js +149 -5
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +247 -25
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/remote-invocation.d.ts +35 -0
- package/dist/src/agents/remote-invocation.js +129 -0
- package/dist/src/agents/remote-invocation.js.map +1 -0
- package/dist/src/agents/remote-invocation.test.d.ts +6 -0
- package/dist/src/agents/remote-invocation.test.js +201 -0
- package/dist/src/agents/remote-invocation.test.js.map +1 -0
- package/dist/src/agents/subagent-tool-wrapper.d.ts +2 -2
- package/dist/src/agents/subagent-tool-wrapper.js +11 -6
- package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js +25 -17
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
- package/dist/src/agents/toml-loader.d.ts +74 -0
- package/dist/src/agents/toml-loader.js +248 -0
- package/dist/src/agents/toml-loader.js.map +1 -0
- package/dist/src/agents/toml-loader.test.d.ts +6 -0
- package/dist/src/agents/toml-loader.test.js +309 -0
- package/dist/src/agents/toml-loader.test.js.map +1 -0
- package/dist/src/agents/types.d.ts +18 -4
- package/dist/src/availability/errorClassification.d.ts +7 -0
- package/dist/src/availability/errorClassification.js +20 -0
- package/dist/src/availability/errorClassification.js.map +1 -0
- package/dist/src/availability/modelAvailabilityService.d.ts +36 -0
- package/dist/src/availability/modelAvailabilityService.js +87 -0
- package/dist/src/availability/modelAvailabilityService.js.map +1 -0
- package/dist/src/availability/modelAvailabilityService.test.d.ts +6 -0
- package/dist/src/availability/modelAvailabilityService.test.js +140 -0
- package/dist/src/availability/modelAvailabilityService.test.js.map +1 -0
- package/dist/src/availability/modelPolicy.d.ts +49 -0
- package/dist/src/availability/modelPolicy.js +7 -0
- package/dist/src/availability/modelPolicy.js.map +1 -0
- package/dist/src/availability/policyCatalog.d.ts +23 -0
- package/dist/src/availability/policyCatalog.js +82 -0
- package/dist/src/availability/policyCatalog.js.map +1 -0
- package/dist/src/availability/policyCatalog.test.d.ts +6 -0
- package/dist/src/availability/policyCatalog.test.js +70 -0
- package/dist/src/availability/policyCatalog.test.js.map +1 -0
- package/dist/src/availability/policyHelpers.d.ts +52 -0
- package/dist/src/availability/policyHelpers.js +136 -0
- package/dist/src/availability/policyHelpers.js.map +1 -0
- package/dist/src/availability/policyHelpers.test.d.ts +6 -0
- package/dist/src/availability/policyHelpers.test.js +182 -0
- package/dist/src/availability/policyHelpers.test.js.map +1 -0
- package/dist/src/availability/testUtils.d.ts +10 -0
- package/dist/src/availability/testUtils.js +22 -0
- package/dist/src/availability/testUtils.js.map +1 -0
- package/dist/src/code_assist/experiments/client_metadata.js +3 -2
- package/dist/src/code_assist/experiments/client_metadata.js.map +1 -1
- package/dist/src/code_assist/experiments/client_metadata.test.js +7 -10
- package/dist/src/code_assist/experiments/client_metadata.test.js.map +1 -1
- package/dist/src/code_assist/experiments/experiments.js +2 -2
- package/dist/src/code_assist/experiments/experiments.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +2 -0
- package/dist/src/code_assist/oauth2.js +73 -17
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +195 -18
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.d.ts +10 -1
- package/dist/src/code_assist/server.js +81 -15
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +221 -25
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/setup.js +6 -4
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/setup.test.js +63 -0
- package/dist/src/code_assist/setup.test.js.map +1 -1
- package/dist/src/code_assist/telemetry.d.ts +14 -0
- package/dist/src/code_assist/telemetry.js +156 -0
- package/dist/src/code_assist/telemetry.js.map +1 -0
- package/dist/src/code_assist/telemetry.test.d.ts +6 -0
- package/dist/src/code_assist/telemetry.test.js +300 -0
- package/dist/src/code_assist/telemetry.test.js.map +1 -0
- package/dist/src/code_assist/types.d.ts +84 -1
- package/dist/src/code_assist/types.js +21 -0
- package/dist/src/code_assist/types.js.map +1 -1
- package/dist/src/commands/init.d.ts +7 -0
- package/dist/src/commands/init.js +53 -0
- package/dist/src/commands/init.js.map +1 -0
- package/dist/src/commands/init.test.d.ts +6 -0
- package/dist/src/commands/init.test.js +25 -0
- package/dist/src/commands/init.test.js.map +1 -0
- package/dist/src/commands/restore.d.ts +9 -0
- package/dist/src/commands/restore.js +46 -0
- package/dist/src/commands/restore.js.map +1 -0
- package/dist/src/commands/restore.test.d.ts +6 -0
- package/dist/src/commands/restore.test.js +137 -0
- package/dist/src/commands/restore.test.js.map +1 -0
- package/dist/src/commands/types.d.ts +41 -0
- package/dist/src/commands/types.js +7 -0
- package/dist/src/commands/types.js.map +1 -0
- package/dist/src/config/config.d.ts +120 -23
- package/dist/src/config/config.js +336 -116
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +373 -95
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +46 -0
- package/dist/src/config/defaultModelConfigs.js.map +1 -1
- package/dist/src/config/flashFallback.test.js +11 -35
- package/dist/src/config/flashFallback.test.js.map +1 -1
- package/dist/src/config/models.d.ts +29 -15
- package/dist/src/config/models.js +78 -28
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +91 -77
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +4 -0
- package/dist/src/config/storage.js +12 -0
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +16 -0
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.d.ts +6 -0
- package/dist/src/confirmation-bus/message-bus.js +66 -3
- package/dist/src/confirmation-bus/message-bus.js.map +1 -1
- package/dist/src/confirmation-bus/types.d.ts +29 -2
- package/dist/src/confirmation-bus/types.js +3 -0
- package/dist/src/confirmation-bus/types.js.map +1 -1
- package/dist/src/core/baseLlmClient.d.ts +30 -2
- package/dist/src/core/baseLlmClient.js +107 -49
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +271 -13
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.d.ts +5 -1
- package/dist/src/core/client.js +241 -63
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +462 -72
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/clientHookTriggers.d.ts +36 -0
- package/dist/src/core/clientHookTriggers.js +76 -0
- package/dist/src/core/clientHookTriggers.js.map +1 -0
- package/dist/src/core/contentGenerator.js +17 -4
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +132 -3
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.d.ts +55 -0
- package/dist/src/core/coreToolHookTriggers.js +304 -0
- package/dist/src/core/coreToolHookTriggers.js.map +1 -0
- package/dist/src/core/coreToolHookTriggers.test.d.ts +6 -0
- package/dist/src/core/coreToolHookTriggers.test.js +191 -0
- package/dist/src/core/coreToolHookTriggers.test.js.map +1 -0
- package/dist/src/core/coreToolScheduler.d.ts +6 -85
- package/dist/src/core/coreToolScheduler.js +91 -274
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +161 -346
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.js +132 -76
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +240 -257
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChatHookTriggers.d.ts +64 -0
- package/dist/src/core/geminiChatHookTriggers.js +136 -0
- package/dist/src/core/geminiChatHookTriggers.js.map +1 -0
- package/dist/src/core/geminiChat_network_retry.test.d.ts +6 -0
- package/dist/src/core/geminiChat_network_retry.test.js +196 -0
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -0
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.js +23 -6
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +13 -8
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/prompts.js +82 -26
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/prompts.test.js +102 -3
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/core/sessionHookTriggers.d.ts +29 -0
- package/dist/src/core/sessionHookTriggers.js +75 -0
- package/dist/src/core/sessionHookTriggers.js.map +1 -0
- package/dist/src/core/turn.d.ts +34 -21
- package/dist/src/core/turn.js +33 -13
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +0 -5
- package/dist/src/core/turn.test.js.map +1 -1
- package/dist/src/fallback/handler.js +101 -93
- package/dist/src/fallback/handler.js.map +1 -1
- package/dist/src/fallback/handler.test.js +186 -173
- package/dist/src/fallback/handler.test.js.map +1 -1
- package/dist/src/fallback/types.d.ts +8 -0
- package/dist/src/generated/git-commit.d.ts +3 -3
- package/dist/src/generated/git-commit.js +3 -3
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/hooks/hookAggregator.js +7 -0
- package/dist/src/hooks/hookAggregator.js.map +1 -1
- package/dist/src/hooks/hookEventHandler.d.ts +113 -0
- package/dist/src/hooks/hookEventHandler.js +571 -0
- package/dist/src/hooks/hookEventHandler.js.map +1 -0
- package/dist/src/hooks/hookEventHandler.test.d.ts +6 -0
- package/dist/src/hooks/hookEventHandler.test.js +461 -0
- package/dist/src/hooks/hookEventHandler.test.js.map +1 -0
- package/dist/src/hooks/hookPlanner.d.ts +1 -5
- package/dist/src/hooks/hookPlanner.js +2 -7
- package/dist/src/hooks/hookPlanner.js.map +1 -1
- package/dist/src/hooks/hookPlanner.test.js +62 -2
- package/dist/src/hooks/hookPlanner.test.js.map +1 -1
- package/dist/src/hooks/hookRegistry.d.ts +6 -18
- package/dist/src/hooks/hookRegistry.js +49 -35
- package/dist/src/hooks/hookRegistry.js.map +1 -1
- package/dist/src/hooks/hookRegistry.test.js +167 -8
- package/dist/src/hooks/hookRegistry.test.js.map +1 -1
- package/dist/src/hooks/hookRunner.d.ts +5 -3
- package/dist/src/hooks/hookRunner.js +74 -18
- package/dist/src/hooks/hookRunner.js.map +1 -1
- package/dist/src/hooks/hookRunner.test.js +174 -36
- package/dist/src/hooks/hookRunner.test.js.map +1 -1
- package/dist/src/hooks/hookSystem.d.ts +40 -0
- package/dist/src/hooks/hookSystem.js +65 -0
- package/dist/src/hooks/hookSystem.js.map +1 -0
- package/dist/src/hooks/hookSystem.test.d.ts +6 -0
- package/dist/src/hooks/hookSystem.test.js +319 -0
- package/dist/src/hooks/hookSystem.test.js.map +1 -0
- package/dist/src/hooks/index.d.ts +17 -0
- package/dist/src/hooks/index.js +18 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/hooks/trustedHooks.d.ts +28 -0
- package/dist/src/hooks/trustedHooks.js +90 -0
- package/dist/src/hooks/trustedHooks.js.map +1 -0
- package/dist/src/hooks/trustedHooks.test.d.ts +6 -0
- package/dist/src/hooks/trustedHooks.test.js +154 -0
- package/dist/src/hooks/trustedHooks.test.js.map +1 -0
- package/dist/src/hooks/types.d.ts +21 -11
- package/dist/src/hooks/types.js +31 -27
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/hooks/types.test.js +5 -24
- package/dist/src/hooks/types.test.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +32 -1
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-client.js +9 -4
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-client.test.js +17 -0
- package/dist/src/ide/ide-client.test.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +1 -1
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/ide/types.d.ts +4 -4
- package/dist/src/index.d.ts +17 -1
- package/dist/src/index.js +18 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/auth-provider.d.ts +16 -0
- package/dist/src/mcp/auth-provider.js +7 -0
- package/dist/src/mcp/auth-provider.js.map +1 -0
- package/dist/src/mcp/google-auth-provider.d.ts +10 -2
- package/dist/src/mcp/google-auth-provider.js +28 -0
- package/dist/src/mcp/google-auth-provider.js.map +1 -1
- package/dist/src/mcp/google-auth-provider.test.js +45 -0
- package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +6 -2
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +4 -1
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.d.ts +8 -1
- package/dist/src/mcp/oauth-utils.js +31 -2
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/oauth-utils.test.js +42 -0
- package/dist/src/mcp/oauth-utils.test.js.map +1 -1
- package/dist/src/mcp/sa-impersonation-provider.d.ts +2 -2
- package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.js +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/output/json-formatter.d.ts +2 -2
- package/dist/src/output/json-formatter.js +6 -3
- package/dist/src/output/json-formatter.js.map +1 -1
- package/dist/src/output/json-formatter.test.js +37 -9
- package/dist/src/output/json-formatter.test.js.map +1 -1
- package/dist/src/output/stream-json-formatter.js +6 -0
- package/dist/src/output/stream-json-formatter.js.map +1 -1
- package/dist/src/output/stream-json-formatter.test.js +98 -100
- package/dist/src/output/stream-json-formatter.test.js.map +1 -1
- package/dist/src/output/types.d.ts +3 -0
- package/dist/src/output/types.js.map +1 -1
- package/dist/src/policy/config.js +140 -15
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/config.test.js +21 -0
- package/dist/src/policy/config.test.js.map +1 -1
- package/dist/src/policy/persistence.test.d.ts +6 -0
- package/dist/src/policy/persistence.test.js +154 -0
- package/dist/src/policy/persistence.test.js.map +1 -0
- package/dist/src/policy/policies/agent.toml +31 -0
- package/dist/src/policy/policies/read-only.toml +5 -0
- package/dist/src/policy/policies/write.toml +5 -0
- package/dist/src/policy/policies/yolo.toml +1 -0
- package/dist/src/policy/policy-engine.d.ts +30 -1
- package/dist/src/policy/policy-engine.js +192 -5
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +520 -3
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/policy-updater.test.d.ts +6 -0
- package/dist/src/policy/policy-updater.test.js +116 -0
- package/dist/src/policy/policy-updater.test.js.map +1 -0
- package/dist/src/policy/shell-safety.test.d.ts +6 -0
- package/dist/src/policy/shell-safety.test.js +75 -0
- package/dist/src/policy/shell-safety.test.js.map +1 -0
- package/dist/src/policy/toml-loader.d.ts +3 -5
- package/dist/src/policy/toml-loader.js +12 -60
- package/dist/src/policy/toml-loader.js.map +1 -1
- package/dist/src/policy/toml-loader.test.js +38 -7
- package/dist/src/policy/toml-loader.test.js.map +1 -1
- package/dist/src/policy/types.d.ts +72 -1
- package/dist/src/policy/types.js +21 -0
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/policy/utils.d.ts +21 -0
- package/dist/src/policy/utils.js +42 -0
- package/dist/src/policy/utils.js.map +1 -0
- package/dist/src/policy/utils.test.d.ts +6 -0
- package/dist/src/policy/utils.test.js +64 -0
- package/dist/src/policy/utils.test.js.map +1 -0
- package/dist/src/resources/resource-registry.d.ts +30 -0
- package/dist/src/resources/resource-registry.js +57 -0
- package/dist/src/resources/resource-registry.js.map +1 -0
- package/dist/src/resources/resource-registry.test.d.ts +6 -0
- package/dist/src/resources/resource-registry.test.js +54 -0
- package/dist/src/resources/resource-registry.test.js.map +1 -0
- package/dist/src/routing/modelRouterService.js +0 -15
- package/dist/src/routing/modelRouterService.js.map +1 -1
- package/dist/src/routing/modelRouterService.test.js +0 -62
- package/dist/src/routing/modelRouterService.test.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js +10 -21
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js +2 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.js +4 -2
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.test.js +11 -10
- package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +20 -12
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.test.js +63 -39
- package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js +3 -2
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/safety/checker-runner.js +17 -6
- package/dist/src/safety/checker-runner.js.map +1 -1
- package/dist/src/scheduler/tool-executor.d.ts +22 -0
- package/dist/src/scheduler/tool-executor.js +198 -0
- package/dist/src/scheduler/tool-executor.js.map +1 -0
- package/dist/src/scheduler/tool-executor.test.d.ts +6 -0
- package/dist/src/scheduler/tool-executor.test.js +231 -0
- package/dist/src/scheduler/tool-executor.test.js.map +1 -0
- package/dist/src/scheduler/types.d.ts +95 -0
- package/dist/src/scheduler/types.js +7 -0
- package/dist/src/scheduler/types.js.map +1 -0
- package/dist/src/services/chatCompressionService.d.ts +1 -0
- package/dist/src/services/chatCompressionService.js +38 -8
- package/dist/src/services/chatCompressionService.js.map +1 -1
- package/dist/src/services/chatCompressionService.test.js +35 -31
- package/dist/src/services/chatCompressionService.test.js.map +1 -1
- package/dist/src/services/chatRecordingService.d.ts +14 -0
- package/dist/src/services/chatRecordingService.js +37 -0
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/contextManager.d.ts +29 -0
- package/dist/src/services/contextManager.js +71 -0
- package/dist/src/services/contextManager.js.map +1 -0
- package/dist/src/services/contextManager.test.d.ts +6 -0
- package/dist/src/services/contextManager.test.js +104 -0
- package/dist/src/services/contextManager.test.js.map +1 -0
- package/dist/src/services/environmentSanitization.d.ts +15 -0
- package/dist/src/services/environmentSanitization.js +141 -0
- package/dist/src/services/environmentSanitization.js.map +1 -0
- package/dist/src/services/environmentSanitization.test.d.ts +6 -0
- package/dist/src/services/environmentSanitization.test.js +284 -0
- package/dist/src/services/environmentSanitization.test.js.map +1 -0
- package/dist/src/services/fileSystemService.d.ts +0 -9
- package/dist/src/services/fileSystemService.js +0 -11
- package/dist/src/services/fileSystemService.js.map +1 -1
- package/dist/src/services/gitService.js +18 -2
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +56 -0
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/loopDetectionService.js +5 -4
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/loopDetectionService.test.js +14 -8
- package/dist/src/services/loopDetectionService.test.js.map +1 -1
- package/dist/src/services/modelConfig.golden.test.js +32 -0
- package/dist/src/services/modelConfig.golden.test.js.map +1 -1
- package/dist/src/services/modelConfig.integration.test.js +1 -1
- package/dist/src/services/modelConfig.integration.test.js.map +1 -1
- package/dist/src/services/modelConfigService.d.ts +4 -0
- package/dist/src/services/modelConfigService.js +8 -3
- package/dist/src/services/modelConfigService.js.map +1 -1
- package/dist/src/services/modelConfigService.test.js +221 -0
- package/dist/src/services/modelConfigService.test.js.map +1 -1
- package/dist/src/services/modelConfigServiceTestUtils.d.ts +10 -0
- package/dist/src/services/modelConfigServiceTestUtils.js +17 -0
- package/dist/src/services/modelConfigServiceTestUtils.js.map +1 -0
- package/dist/src/services/sessionSummaryService.d.ts +28 -0
- package/dist/src/services/sessionSummaryService.js +131 -0
- package/dist/src/services/sessionSummaryService.js.map +1 -0
- package/dist/src/services/sessionSummaryService.test.d.ts +6 -0
- package/dist/src/services/sessionSummaryService.test.js +785 -0
- package/dist/src/services/sessionSummaryService.test.js.map +1 -0
- package/dist/src/services/sessionSummaryUtils.d.ts +16 -0
- package/dist/src/services/sessionSummaryUtils.js +129 -0
- package/dist/src/services/sessionSummaryUtils.js.map +1 -0
- package/dist/src/services/sessionSummaryUtils.test.d.ts +6 -0
- package/dist/src/services/sessionSummaryUtils.test.js +137 -0
- package/dist/src/services/sessionSummaryUtils.test.js.map +1 -0
- package/dist/src/services/shellExecutionService.d.ts +4 -0
- package/dist/src/services/shellExecutionService.js +45 -27
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +240 -8
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/services/test-data/resolved-aliases-retry.golden.json +238 -0
- package/dist/src/services/test-data/resolved-aliases.golden.json +36 -0
- package/dist/src/skills/skillLoader.d.ts +28 -0
- package/dist/src/skills/skillLoader.js +77 -0
- package/dist/src/skills/skillLoader.js.map +1 -0
- package/dist/src/skills/skillLoader.test.d.ts +1 -0
- package/dist/src/skills/skillLoader.test.js +2 -0
- package/dist/src/skills/skillLoader.test.js.map +1 -0
- package/dist/src/skills/skillManager.d.ts +51 -0
- package/dist/src/skills/skillManager.js +89 -0
- package/dist/src/skills/skillManager.js.map +1 -0
- package/dist/src/skills/skillManager.test.d.ts +6 -0
- package/dist/src/skills/skillManager.test.js +128 -0
- package/dist/src/skills/skillManager.test.js.map +1 -0
- package/dist/src/telemetry/activity-detector.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +11 -7
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +127 -47
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +105 -18
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +9 -3
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +20 -5
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/config.js +2 -0
- package/dist/src/telemetry/config.js.map +1 -1
- package/dist/src/telemetry/config.test.js +25 -0
- package/dist/src/telemetry/config.test.js.map +1 -1
- package/dist/src/telemetry/gcp-exporters.d.ts +4 -3
- package/dist/src/telemetry/gcp-exporters.js +8 -4
- package/dist/src/telemetry/gcp-exporters.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +2 -1
- package/dist/src/telemetry/index.js +2 -1
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +5 -3
- package/dist/src/telemetry/loggers.js +353 -334
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.circular.js +1 -0
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +238 -31
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +22 -0
- package/dist/src/telemetry/metrics.js +32 -0
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +64 -0
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/sanitize.d.ts +25 -0
- package/dist/src/telemetry/sanitize.js +48 -0
- package/dist/src/telemetry/sanitize.js.map +1 -0
- package/dist/src/telemetry/sanitize.test.d.ts +6 -0
- package/dist/src/telemetry/sanitize.test.js +279 -0
- package/dist/src/telemetry/sanitize.test.js.map +1 -0
- package/dist/src/telemetry/sdk.d.ts +9 -2
- package/dist/src/telemetry/sdk.js +142 -17
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/sdk.test.js +130 -28
- package/dist/src/telemetry/sdk.test.js.map +1 -1
- package/dist/src/telemetry/semantic.js +1 -1
- package/dist/src/telemetry/semantic.js.map +1 -1
- package/dist/src/telemetry/startupProfiler.d.ts +51 -0
- package/dist/src/telemetry/startupProfiler.js +170 -0
- package/dist/src/telemetry/startupProfiler.js.map +1 -0
- package/dist/src/telemetry/startupProfiler.test.d.ts +6 -0
- package/dist/src/telemetry/startupProfiler.test.js +285 -0
- package/dist/src/telemetry/startupProfiler.test.js.map +1 -0
- package/dist/src/telemetry/telemetry.test.js +10 -3
- package/dist/src/telemetry/telemetry.test.js.map +1 -1
- package/dist/src/telemetry/trace.js +2 -2
- package/dist/src/telemetry/trace.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +62 -16
- package/dist/src/telemetry/types.js +157 -27
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +1 -0
- package/dist/src/telemetry/uiTelemetry.js +2 -0
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +4 -0
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/test-utils/mock-message-bus.d.ts +61 -0
- package/dist/src/test-utils/mock-message-bus.js +160 -0
- package/dist/src/test-utils/mock-message-bus.js.map +1 -0
- package/dist/src/test-utils/mock-tool.d.ts +5 -3
- package/dist/src/test-utils/mock-tool.js +12 -11
- package/dist/src/test-utils/mock-tool.js.map +1 -1
- package/dist/src/tools/activate-skill.d.ts +27 -0
- package/dist/src/tools/activate-skill.js +120 -0
- package/dist/src/tools/activate-skill.js.map +1 -0
- package/dist/src/tools/activate-skill.test.d.ts +6 -0
- package/dist/src/tools/activate-skill.test.js +95 -0
- package/dist/src/tools/activate-skill.test.js.map +1 -0
- package/dist/src/tools/confirmation-policy.test.d.ts +6 -0
- package/dist/src/tools/confirmation-policy.test.js +142 -0
- package/dist/src/tools/confirmation-policy.test.js.map +1 -0
- package/dist/src/tools/edit.d.ts +27 -5
- package/dist/src/tools/edit.js +449 -137
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +258 -526
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/get-internal-docs.d.ts +27 -0
- package/dist/src/tools/get-internal-docs.js +129 -0
- package/dist/src/tools/get-internal-docs.js.map +1 -0
- package/dist/src/tools/get-internal-docs.test.d.ts +6 -0
- package/dist/src/tools/get-internal-docs.test.js +57 -0
- package/dist/src/tools/get-internal-docs.test.js.map +1 -0
- package/dist/src/tools/glob.d.ts +2 -2
- package/dist/src/tools/glob.js +1 -1
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/glob.test.js +2 -1
- package/dist/src/tools/glob.test.js.map +1 -1
- package/dist/src/tools/grep.d.ts +2 -2
- package/dist/src/tools/grep.js +1 -1
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +5 -4
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/ls.d.ts +2 -2
- package/dist/src/tools/ls.js +2 -2
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +2 -1
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.d.ts +3 -1
- package/dist/src/tools/mcp-client-manager.js +42 -9
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +66 -10
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +44 -6
- package/dist/src/tools/mcp-client.js +476 -176
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +633 -36
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +2 -2
- package/dist/src/tools/mcp-tool.js +20 -7
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +35 -5
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +3 -3
- package/dist/src/tools/memoryTool.js +3 -4
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +5 -2
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/message-bus-integration.test.js +10 -37
- package/dist/src/tools/message-bus-integration.test.js.map +1 -1
- package/dist/src/tools/modifiable-tool.js.map +1 -1
- package/dist/src/tools/modifiable-tool.test.js +22 -13
- package/dist/src/tools/modifiable-tool.test.js.map +1 -1
- package/dist/src/tools/read-file.d.ts +2 -2
- package/dist/src/tools/read-file.js +2 -2
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +3 -2
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.d.ts +2 -2
- package/dist/src/tools/read-many-files.js +7 -6
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +4 -3
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +3 -2
- package/dist/src/tools/ripGrep.js +18 -7
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +60 -4
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +5 -7
- package/dist/src/tools/shell.js +77 -51
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +59 -63
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +2 -1
- package/dist/src/tools/tool-error.js +2 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +17 -0
- package/dist/src/tools/tool-names.js +59 -0
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tool-names.test.d.ts +6 -0
- package/dist/src/tools/tool-names.test.js +43 -0
- package/dist/src/tools/tool-names.test.js.map +1 -0
- package/dist/src/tools/tool-registry.d.ts +11 -7
- package/dist/src/tools/tool-registry.js +15 -10
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +16 -11
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +25 -6
- package/dist/src/tools/tools.js +44 -25
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/tools.test.js +3 -1
- package/dist/src/tools/tools.test.js.map +1 -1
- package/dist/src/tools/web-fetch.d.ts +2 -2
- package/dist/src/tools/web-fetch.js +22 -9
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +18 -19
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.d.ts +2 -2
- package/dist/src/tools/web-search.js +5 -5
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/web-search.test.js +2 -1
- package/dist/src/tools/web-search.test.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +2 -2
- package/dist/src/tools/write-file.js +10 -4
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +4 -1
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/tools/write-todos.d.ts +2 -2
- package/dist/src/tools/write-todos.js +5 -4
- package/dist/src/tools/write-todos.js.map +1 -1
- package/dist/src/tools/write-todos.test.js +2 -1
- package/dist/src/tools/write-todos.test.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.d.ts +8 -0
- package/dist/src/utils/bfsFileSearch.js +63 -23
- package/dist/src/utils/bfsFileSearch.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.test.js +65 -1
- package/dist/src/utils/bfsFileSearch.test.js.map +1 -1
- package/dist/src/utils/checkpointUtils.d.ts +82 -0
- package/dist/src/utils/checkpointUtils.js +117 -0
- package/dist/src/utils/checkpointUtils.js.map +1 -0
- package/dist/src/utils/checkpointUtils.test.d.ts +6 -0
- package/dist/src/utils/checkpointUtils.test.js +229 -0
- package/dist/src/utils/checkpointUtils.test.js.map +1 -0
- package/dist/src/utils/customHeaderUtils.d.ts +9 -0
- package/dist/src/utils/customHeaderUtils.js +34 -0
- package/dist/src/utils/customHeaderUtils.js.map +1 -0
- package/dist/src/utils/customHeaderUtils.test.d.ts +6 -0
- package/dist/src/utils/customHeaderUtils.test.js +77 -0
- package/dist/src/utils/customHeaderUtils.test.js.map +1 -0
- package/dist/src/utils/debugLogger.d.ts +3 -0
- package/dist/src/utils/debugLogger.js +28 -0
- package/dist/src/utils/debugLogger.js.map +1 -1
- package/dist/src/utils/editCorrector.js +6 -5
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +7 -3
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/editor.d.ts +9 -1
- package/dist/src/utils/editor.js +23 -14
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/environmentContext.d.ts +1 -0
- package/dist/src/utils/environmentContext.js +4 -0
- package/dist/src/utils/environmentContext.js.map +1 -1
- package/dist/src/utils/environmentContext.test.js +2 -0
- package/dist/src/utils/environmentContext.test.js.map +1 -1
- package/dist/src/utils/errorReporting.d.ts +1 -1
- package/dist/src/utils/errorReporting.js +13 -12
- package/dist/src/utils/errorReporting.js.map +1 -1
- package/dist/src/utils/errorReporting.test.js +17 -14
- package/dist/src/utils/errorReporting.test.js.map +1 -1
- package/dist/src/utils/errors.d.ts +8 -0
- package/dist/src/utils/errors.js +39 -2
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/errors.test.d.ts +6 -0
- package/dist/src/utils/errors.test.js +155 -0
- package/dist/src/utils/errors.test.js.map +1 -0
- package/dist/src/utils/events.d.ts +49 -19
- package/dist/src/utils/events.js +21 -9
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/events.test.js +25 -0
- package/dist/src/utils/events.test.js.map +1 -1
- package/dist/src/utils/exitCodes.d.ts +12 -0
- package/dist/src/utils/exitCodes.js +13 -0
- package/dist/src/utils/exitCodes.js.map +1 -0
- package/dist/src/utils/extensionLoader.d.ts +2 -2
- package/dist/src/utils/extensionLoader.js +5 -6
- package/dist/src/utils/extensionLoader.js.map +1 -1
- package/dist/src/utils/extensionLoader.test.js +11 -0
- package/dist/src/utils/extensionLoader.test.js.map +1 -1
- package/dist/src/utils/fetch.d.ts +1 -1
- package/dist/src/utils/fetch.js +3 -3
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +4 -0
- package/dist/src/utils/fileUtils.js +53 -0
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +127 -1
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/filesearch/crawlCache.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/flashFallback.test.js +1 -1
- package/dist/src/utils/flashFallback.test.js.map +1 -1
- package/dist/src/utils/geminiIgnoreParser.d.ts +11 -0
- package/dist/src/utils/geminiIgnoreParser.js +20 -0
- package/dist/src/utils/geminiIgnoreParser.js.map +1 -1
- package/dist/src/utils/geminiIgnoreParser.test.js +48 -0
- package/dist/src/utils/geminiIgnoreParser.test.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.d.ts +3 -1
- package/dist/src/utils/generateContentResponseUtilities.js +106 -0
- package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.test.js +279 -2
- package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
- package/dist/src/utils/getFolderStructure.js +7 -2
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/googleErrors.js +31 -18
- package/dist/src/utils/googleErrors.js.map +1 -1
- package/dist/src/utils/googleErrors.test.js +10 -2
- package/dist/src/utils/googleErrors.test.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.d.ts +3 -3
- package/dist/src/utils/googleQuotaErrors.js +32 -6
- package/dist/src/utils/googleQuotaErrors.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.test.js +94 -2
- package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.d.ts +5 -0
- package/dist/src/utils/memoryDiscovery.js +9 -5
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +31 -1
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.test.js +4 -0
- package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
- package/dist/src/utils/package.d.ts +14 -0
- package/dist/src/utils/package.js +15 -2
- package/dist/src/utils/package.js.map +1 -1
- package/dist/src/utils/pathCorrector.js +12 -2
- package/dist/src/utils/pathCorrector.js.map +1 -1
- package/dist/src/utils/pathCorrector.test.js +6 -2
- package/dist/src/utils/pathCorrector.test.js.map +1 -1
- package/dist/src/utils/retry.d.ts +11 -0
- package/dist/src/utils/retry.js +62 -21
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +170 -10
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/schemaValidator.d.ts +1 -1
- package/dist/src/utils/schemaValidator.js +1 -1
- package/dist/src/utils/shell-permissions.d.ts +52 -0
- package/dist/src/utils/shell-permissions.js +188 -0
- package/dist/src/utils/shell-permissions.js.map +1 -0
- package/dist/src/utils/shell-permissions.test.d.ts +6 -0
- package/dist/src/utils/shell-permissions.test.js +369 -0
- package/dist/src/utils/shell-permissions.test.js.map +1 -0
- package/dist/src/utils/shell-utils.d.ts +16 -47
- package/dist/src/utils/shell-utils.js +99 -195
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +99 -288
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/stdio.d.ts +2 -2
- package/dist/src/utils/stdio.js +2 -2
- package/dist/src/utils/stdio.js.map +1 -1
- package/dist/src/utils/stdio.test.js +5 -5
- package/dist/src/utils/stdio.test.js.map +1 -1
- package/dist/src/utils/summarizer.test.js +3 -2
- package/dist/src/utils/summarizer.test.js.map +1 -1
- package/dist/src/utils/terminal.d.ts +4 -0
- package/dist/src/utils/terminal.js +12 -0
- package/dist/src/utils/terminal.js.map +1 -1
- package/dist/src/utils/terminalSerializer.test.js +17 -0
- package/dist/src/utils/terminalSerializer.test.js.map +1 -1
- package/dist/src/utils/tokenCalculation.d.ts +19 -0
- package/dist/src/utils/tokenCalculation.js +85 -0
- package/dist/src/utils/tokenCalculation.js.map +1 -0
- package/dist/src/utils/tokenCalculation.test.d.ts +6 -0
- package/dist/src/utils/tokenCalculation.test.js +87 -0
- package/dist/src/utils/tokenCalculation.test.js.map +1 -0
- package/dist/src/utils/tool-utils.d.ts +9 -0
- package/dist/src/utils/tool-utils.js +29 -0
- package/dist/src/utils/tool-utils.js.map +1 -1
- package/dist/src/utils/tool-utils.test.js +17 -2
- package/dist/src/utils/tool-utils.test.js.map +1 -1
- package/dist/src/utils/version.d.ts +6 -0
- package/dist/src/utils/version.js +15 -0
- package/dist/src/utils/version.js.map +1 -0
- package/dist/src/utils/version.test.d.ts +6 -0
- package/dist/src/utils/version.test.js +39 -0
- package/dist/src/utils/version.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
|
@@ -8,14 +8,15 @@ import { inspect } from 'node:util';
|
|
|
8
8
|
import process from 'node:process';
|
|
9
9
|
import { AuthType, createContentGenerator, createContentGeneratorConfig, } from '../core/contentGenerator.js';
|
|
10
10
|
import { PromptRegistry } from '../prompts/prompt-registry.js';
|
|
11
|
+
import { ResourceRegistry } from '../resources/resource-registry.js';
|
|
11
12
|
import { ToolRegistry } from '../tools/tool-registry.js';
|
|
12
13
|
import { LSTool } from '../tools/ls.js';
|
|
13
14
|
import { ReadFileTool } from '../tools/read-file.js';
|
|
14
15
|
import { GrepTool } from '../tools/grep.js';
|
|
15
16
|
import { canUseRipgrep, RipGrepTool } from '../tools/ripGrep.js';
|
|
16
17
|
import { GlobTool } from '../tools/glob.js';
|
|
18
|
+
import { ActivateSkillTool } from '../tools/activate-skill.js';
|
|
17
19
|
import { EditTool } from '../tools/edit.js';
|
|
18
|
-
import { SmartEditTool } from '../tools/smart-edit.js';
|
|
19
20
|
import { ShellTool } from '../tools/shell.js';
|
|
20
21
|
import { WriteFileTool } from '../tools/write-file.js';
|
|
21
22
|
import { WebFetchTool } from '../tools/web-fetch.js';
|
|
@@ -28,29 +29,35 @@ import { GitService } from '../services/gitService.js';
|
|
|
28
29
|
import { initializeTelemetry, DEFAULT_TELEMETRY_TARGET, DEFAULT_OTLP_ENDPOINT, uiTelemetryService, } from '../telemetry/index.js';
|
|
29
30
|
import { coreEvents } from '../utils/events.js';
|
|
30
31
|
import { tokenLimit } from '../core/tokenLimits.js';
|
|
31
|
-
import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL,
|
|
32
|
+
import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL_AUTO, DEFAULT_THINKING_MODE, isPreviewModel, PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_MODEL_AUTO, } from './models.js';
|
|
32
33
|
import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
|
|
33
34
|
import { ideContextStore } from '../ide/ideContext.js';
|
|
34
35
|
import { WriteTodosTool } from '../tools/write-todos.js';
|
|
35
36
|
import { StandardFileSystemService } from '../services/fileSystemService.js';
|
|
36
|
-
import { logRipgrepFallback } from '../telemetry/loggers.js';
|
|
37
|
-
import { RipgrepFallbackEvent } from '../telemetry/types.js';
|
|
37
|
+
import { logRipgrepFallback, logFlashFallback } from '../telemetry/loggers.js';
|
|
38
|
+
import { RipgrepFallbackEvent, FlashFallbackEvent, } from '../telemetry/types.js';
|
|
39
|
+
import { ModelAvailabilityService } from '../availability/modelAvailabilityService.js';
|
|
38
40
|
import { ModelRouterService } from '../routing/modelRouterService.js';
|
|
39
41
|
import { OutputFormat } from '../output/types.js';
|
|
40
42
|
import { ModelConfigService } from '../services/modelConfigService.js';
|
|
41
43
|
import { DEFAULT_MODEL_CONFIGS } from './defaultModelConfigs.js';
|
|
44
|
+
import { ContextManager } from '../services/contextManager.js';
|
|
42
45
|
import { WorkspaceContext } from '../utils/workspaceContext.js';
|
|
43
46
|
import { Storage } from './storage.js';
|
|
44
47
|
import { FileExclusions } from '../utils/ignorePatterns.js';
|
|
45
48
|
import { MessageBus } from '../confirmation-bus/message-bus.js';
|
|
46
49
|
import { PolicyEngine } from '../policy/policy-engine.js';
|
|
50
|
+
import { HookSystem } from '../hooks/index.js';
|
|
47
51
|
import { getCodeAssistServer } from '../code_assist/codeAssist.js';
|
|
48
52
|
import { AgentRegistry } from '../agents/registry.js';
|
|
49
53
|
import { setGlobalProxy } from '../utils/fetch.js';
|
|
50
|
-
import {
|
|
54
|
+
import { DelegateToAgentTool } from '../agents/delegate-to-agent-tool.js';
|
|
55
|
+
import { DELEGATE_TO_AGENT_TOOL_NAME } from '../tools/tool-names.js';
|
|
51
56
|
import { getExperiments } from '../code_assist/experiments/experiments.js';
|
|
52
57
|
import { ExperimentFlags } from '../code_assist/experiments/flagNames.js';
|
|
53
58
|
import { debugLogger } from '../utils/debugLogger.js';
|
|
59
|
+
import { SkillManager } from '../skills/skillManager.js';
|
|
60
|
+
import { startupProfiler } from '../telemetry/startupProfiler.js';
|
|
54
61
|
import { ApprovalMode } from '../policy/types.js';
|
|
55
62
|
import { DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, } from './constants.js';
|
|
56
63
|
import { SimpleExtensionLoader, } from '../utils/extensionLoader.js';
|
|
@@ -67,6 +74,7 @@ export class MCPServerConfig {
|
|
|
67
74
|
httpUrl;
|
|
68
75
|
headers;
|
|
69
76
|
tcp;
|
|
77
|
+
type;
|
|
70
78
|
timeout;
|
|
71
79
|
trust;
|
|
72
80
|
description;
|
|
@@ -86,6 +94,12 @@ export class MCPServerConfig {
|
|
|
86
94
|
httpUrl, headers,
|
|
87
95
|
// For websocket transport
|
|
88
96
|
tcp,
|
|
97
|
+
// Transport type (optional, for use with 'url' field)
|
|
98
|
+
// When set to 'http', uses StreamableHTTPClientTransport
|
|
99
|
+
// When set to 'sse', uses SSEClientTransport
|
|
100
|
+
// When omitted, auto-detects transport type
|
|
101
|
+
// Note: 'httpUrl' is deprecated in favor of 'url' + 'type'
|
|
102
|
+
type,
|
|
89
103
|
// Common
|
|
90
104
|
timeout, trust,
|
|
91
105
|
// Metadata
|
|
@@ -105,6 +119,7 @@ export class MCPServerConfig {
|
|
|
105
119
|
this.httpUrl = httpUrl;
|
|
106
120
|
this.headers = headers;
|
|
107
121
|
this.tcp = tcp;
|
|
122
|
+
this.type = type;
|
|
108
123
|
this.timeout = timeout;
|
|
109
124
|
this.trust = trust;
|
|
110
125
|
this.description = description;
|
|
@@ -128,8 +143,13 @@ export class Config {
|
|
|
128
143
|
mcpClientManager;
|
|
129
144
|
allowedMcpServers;
|
|
130
145
|
blockedMcpServers;
|
|
146
|
+
allowedEnvironmentVariables;
|
|
147
|
+
blockedEnvironmentVariables;
|
|
148
|
+
enableEnvironmentVariableRedaction;
|
|
131
149
|
promptRegistry;
|
|
150
|
+
resourceRegistry;
|
|
132
151
|
agentRegistry;
|
|
152
|
+
skillManager;
|
|
133
153
|
sessionId;
|
|
134
154
|
fileSystemService;
|
|
135
155
|
contentGeneratorConfig;
|
|
@@ -147,11 +167,11 @@ export class Config {
|
|
|
147
167
|
toolDiscoveryCommand;
|
|
148
168
|
toolCallCommand;
|
|
149
169
|
mcpServerCommand;
|
|
170
|
+
mcpEnabled;
|
|
150
171
|
mcpServers;
|
|
151
172
|
userMemory;
|
|
152
173
|
geminiMdFileCount;
|
|
153
174
|
geminiMdFilePaths;
|
|
154
|
-
approvalMode;
|
|
155
175
|
showMemoryUsage;
|
|
156
176
|
accessibility;
|
|
157
177
|
telemetrySettings;
|
|
@@ -159,6 +179,7 @@ export class Config {
|
|
|
159
179
|
geminiClient;
|
|
160
180
|
baseLlmClient;
|
|
161
181
|
modelRouterService;
|
|
182
|
+
modelAvailabilityService;
|
|
162
183
|
fileFiltering;
|
|
163
184
|
fileDiscoveryService = null;
|
|
164
185
|
gitService = undefined;
|
|
@@ -168,10 +189,11 @@ export class Config {
|
|
|
168
189
|
bugCommand;
|
|
169
190
|
model;
|
|
170
191
|
previewFeatures;
|
|
192
|
+
hasAccessToPreviewModel = false;
|
|
171
193
|
noBrowser;
|
|
172
194
|
folderTrust;
|
|
173
195
|
ideMode;
|
|
174
|
-
|
|
196
|
+
_activeModel;
|
|
175
197
|
maxSessionTurns;
|
|
176
198
|
listSessions;
|
|
177
199
|
deleteSession;
|
|
@@ -203,29 +225,36 @@ export class Config {
|
|
|
203
225
|
storage;
|
|
204
226
|
fileExclusions;
|
|
205
227
|
eventEmitter;
|
|
206
|
-
useSmartEdit;
|
|
207
228
|
useWriteTodos;
|
|
208
229
|
messageBus;
|
|
209
230
|
policyEngine;
|
|
210
231
|
outputSettings;
|
|
211
|
-
useModelRouter;
|
|
212
|
-
initialUseModelRouter;
|
|
213
|
-
disableModelRouterForAuth;
|
|
214
|
-
enableMessageBusIntegration;
|
|
215
232
|
codebaseInvestigatorSettings;
|
|
233
|
+
introspectionAgentSettings;
|
|
216
234
|
continueOnFailedApiCall;
|
|
217
235
|
retryFetchErrors;
|
|
218
236
|
enableShellOutputEfficiency;
|
|
237
|
+
shellToolInactivityTimeout;
|
|
219
238
|
fakeResponses;
|
|
220
239
|
recordResponses;
|
|
221
240
|
disableYoloMode;
|
|
222
241
|
pendingIncludeDirectories;
|
|
223
242
|
enableHooks;
|
|
224
243
|
hooks;
|
|
244
|
+
projectHooks;
|
|
245
|
+
disabledHooks;
|
|
225
246
|
experiments;
|
|
226
247
|
experimentsPromise;
|
|
227
|
-
|
|
228
|
-
|
|
248
|
+
hookSystem;
|
|
249
|
+
onModelChange;
|
|
250
|
+
onReload;
|
|
251
|
+
enableAgents;
|
|
252
|
+
skillsSupport;
|
|
253
|
+
disabledSkills;
|
|
254
|
+
experimentalJitContext;
|
|
255
|
+
contextManager;
|
|
256
|
+
terminalBackground = undefined;
|
|
257
|
+
remoteAdminSettings;
|
|
229
258
|
constructor(params) {
|
|
230
259
|
this.sessionId = params.sessionId;
|
|
231
260
|
this.embeddingModel =
|
|
@@ -245,12 +274,16 @@ export class Config {
|
|
|
245
274
|
this.toolCallCommand = params.toolCallCommand;
|
|
246
275
|
this.mcpServerCommand = params.mcpServerCommand;
|
|
247
276
|
this.mcpServers = params.mcpServers;
|
|
277
|
+
this.mcpEnabled = params.mcpEnabled ?? true;
|
|
248
278
|
this.allowedMcpServers = params.allowedMcpServers ?? [];
|
|
249
279
|
this.blockedMcpServers = params.blockedMcpServers ?? [];
|
|
280
|
+
this.allowedEnvironmentVariables = params.allowedEnvironmentVariables ?? [];
|
|
281
|
+
this.blockedEnvironmentVariables = params.blockedEnvironmentVariables ?? [];
|
|
282
|
+
this.enableEnvironmentVariableRedaction =
|
|
283
|
+
params.enableEnvironmentVariableRedaction ?? false;
|
|
250
284
|
this.userMemory = params.userMemory ?? '';
|
|
251
285
|
this.geminiMdFileCount = params.geminiMdFileCount ?? 0;
|
|
252
286
|
this.geminiMdFilePaths = params.geminiMdFilePaths ?? [];
|
|
253
|
-
this.approvalMode = params.approvalMode ?? ApprovalMode.DEFAULT;
|
|
254
287
|
this.showMemoryUsage = params.showMemoryUsage ?? false;
|
|
255
288
|
this.accessibility = params.accessibility ?? {};
|
|
256
289
|
this.telemetrySettings = {
|
|
@@ -261,6 +294,7 @@ export class Config {
|
|
|
261
294
|
logPrompts: params.telemetry?.logPrompts ?? true,
|
|
262
295
|
outfile: params.telemetry?.outfile,
|
|
263
296
|
useCollector: params.telemetry?.useCollector,
|
|
297
|
+
useCliAuth: params.telemetry?.useCliAuth,
|
|
264
298
|
};
|
|
265
299
|
this.usageStatisticsEnabled = params.usageStatisticsEnabled ?? true;
|
|
266
300
|
this.fileFiltering = {
|
|
@@ -277,7 +311,13 @@ export class Config {
|
|
|
277
311
|
this.fileDiscoveryService = params.fileDiscoveryService ?? null;
|
|
278
312
|
this.bugCommand = params.bugCommand;
|
|
279
313
|
this.model = params.model;
|
|
314
|
+
this._activeModel = params.model;
|
|
315
|
+
this.enableAgents = params.enableAgents ?? false;
|
|
316
|
+
this.skillsSupport = params.skillsSupport ?? false;
|
|
317
|
+
this.disabledSkills = params.disabledSkills ?? [];
|
|
318
|
+
this.modelAvailabilityService = new ModelAvailabilityService();
|
|
280
319
|
this.previewFeatures = params.previewFeatures ?? undefined;
|
|
320
|
+
this.experimentalJitContext = params.experimentalJitContext ?? false;
|
|
281
321
|
this.maxSessionTurns = params.maxSessionTurns ?? -1;
|
|
282
322
|
this.experimentalZedIntegration =
|
|
283
323
|
params.experimentalZedIntegration ?? false;
|
|
@@ -307,6 +347,7 @@ export class Config {
|
|
|
307
347
|
terminalHeight: params.shellExecutionConfig?.terminalHeight ?? 24,
|
|
308
348
|
showColor: params.shellExecutionConfig?.showColor ?? false,
|
|
309
349
|
pager: params.shellExecutionConfig?.pager ?? 'cat',
|
|
350
|
+
sanitizationConfig: this.sanitizationConfig,
|
|
310
351
|
};
|
|
311
352
|
this.truncateToolOutputThreshold =
|
|
312
353
|
params.truncateToolOutputThreshold ??
|
|
@@ -314,31 +355,31 @@ export class Config {
|
|
|
314
355
|
this.truncateToolOutputLines =
|
|
315
356
|
params.truncateToolOutputLines ?? DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES;
|
|
316
357
|
this.enableToolOutputTruncation = params.enableToolOutputTruncation ?? true;
|
|
317
|
-
|
|
318
|
-
this.useWriteTodos =
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
this.disableModelRouterForAuth = params.disableModelRouterForAuth ?? [];
|
|
358
|
+
// // TODO(joshualitt): Re-evaluate the todo tool for 3 family.
|
|
359
|
+
this.useWriteTodos = isPreviewModel(this.model)
|
|
360
|
+
? false
|
|
361
|
+
: (params.useWriteTodos ?? true);
|
|
322
362
|
this.enableHooks = params.enableHooks ?? false;
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
const hooksNeedMessageBus = this.enableHooks && hasHooks;
|
|
328
|
-
this.enableMessageBusIntegration =
|
|
329
|
-
params.enableMessageBusIntegration ??
|
|
330
|
-
(hooksNeedMessageBus ? true : false);
|
|
363
|
+
this.disabledHooks =
|
|
364
|
+
(params.hooks && 'disabled' in params.hooks
|
|
365
|
+
? params.hooks.disabled
|
|
366
|
+
: undefined) ?? [];
|
|
331
367
|
this.codebaseInvestigatorSettings = {
|
|
332
368
|
enabled: params.codebaseInvestigatorSettings?.enabled ?? true,
|
|
333
369
|
maxNumTurns: params.codebaseInvestigatorSettings?.maxNumTurns ?? 10,
|
|
334
370
|
maxTimeMinutes: params.codebaseInvestigatorSettings?.maxTimeMinutes ?? 3,
|
|
335
371
|
thinkingBudget: params.codebaseInvestigatorSettings?.thinkingBudget ??
|
|
336
372
|
DEFAULT_THINKING_MODE,
|
|
337
|
-
model: params.codebaseInvestigatorSettings?.model
|
|
373
|
+
model: params.codebaseInvestigatorSettings?.model,
|
|
374
|
+
};
|
|
375
|
+
this.introspectionAgentSettings = {
|
|
376
|
+
enabled: params.introspectionAgentSettings?.enabled ?? false,
|
|
338
377
|
};
|
|
339
378
|
this.continueOnFailedApiCall = params.continueOnFailedApiCall ?? true;
|
|
340
379
|
this.enableShellOutputEfficiency =
|
|
341
380
|
params.enableShellOutputEfficiency ?? true;
|
|
381
|
+
this.shellToolInactivityTimeout =
|
|
382
|
+
(params.shellToolInactivityTimeout ?? 300) * 1000; // 5 minutes
|
|
342
383
|
this.extensionManagement = params.extensionManagement ?? true;
|
|
343
384
|
this.enableExtensionReloading = params.enableExtensionReloading ?? false;
|
|
344
385
|
this.storage = new Storage(this.targetDir);
|
|
@@ -347,19 +388,27 @@ export class Config {
|
|
|
347
388
|
this.enablePromptCompletion = params.enablePromptCompletion ?? false;
|
|
348
389
|
this.fileExclusions = new FileExclusions(this);
|
|
349
390
|
this.eventEmitter = params.eventEmitter;
|
|
350
|
-
this.policyEngine = new PolicyEngine(
|
|
391
|
+
this.policyEngine = new PolicyEngine({
|
|
392
|
+
...params.policyEngineConfig,
|
|
393
|
+
approvalMode: params.approvalMode ?? params.policyEngineConfig?.approvalMode,
|
|
394
|
+
});
|
|
351
395
|
this.messageBus = new MessageBus(this.policyEngine, this.debugMode);
|
|
396
|
+
this.skillManager = new SkillManager();
|
|
352
397
|
this.outputSettings = {
|
|
353
398
|
format: params.output?.format ?? OutputFormat.TEXT,
|
|
354
399
|
};
|
|
355
400
|
this.retryFetchErrors = params.retryFetchErrors ?? false;
|
|
356
401
|
this.disableYoloMode = params.disableYoloMode ?? false;
|
|
357
402
|
this.hooks = params.hooks;
|
|
403
|
+
this.projectHooks = params.projectHooks;
|
|
358
404
|
this.experiments = params.experiments;
|
|
405
|
+
this.onModelChange = params.onModelChange;
|
|
406
|
+
this.onReload = params.onReload;
|
|
359
407
|
if (params.contextFileName) {
|
|
360
408
|
setGeminiMdFilename(params.contextFileName);
|
|
361
409
|
}
|
|
362
410
|
if (this.telemetrySettings.enabled) {
|
|
411
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
363
412
|
initializeTelemetry(this);
|
|
364
413
|
}
|
|
365
414
|
const proxy = this.getProxy();
|
|
@@ -381,11 +430,19 @@ export class Config {
|
|
|
381
430
|
// TODO(12593): Fix the settings loading logic to properly merge defaults and
|
|
382
431
|
// remove this hack.
|
|
383
432
|
let modelConfigServiceConfig = params.modelConfigServiceConfig;
|
|
384
|
-
if (modelConfigServiceConfig
|
|
385
|
-
modelConfigServiceConfig
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
433
|
+
if (modelConfigServiceConfig) {
|
|
434
|
+
if (!modelConfigServiceConfig.aliases) {
|
|
435
|
+
modelConfigServiceConfig = {
|
|
436
|
+
...modelConfigServiceConfig,
|
|
437
|
+
aliases: DEFAULT_MODEL_CONFIGS.aliases,
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
if (!modelConfigServiceConfig.overrides) {
|
|
441
|
+
modelConfigServiceConfig = {
|
|
442
|
+
...modelConfigServiceConfig,
|
|
443
|
+
overrides: DEFAULT_MODEL_CONFIGS.overrides,
|
|
444
|
+
};
|
|
445
|
+
}
|
|
389
446
|
}
|
|
390
447
|
this.modelConfigService = new ModelConfigService(modelConfigServiceConfig ?? DEFAULT_MODEL_CONFIGS);
|
|
391
448
|
}
|
|
@@ -398,32 +455,50 @@ export class Config {
|
|
|
398
455
|
}
|
|
399
456
|
this.initialized = true;
|
|
400
457
|
// Initialize centralized FileDiscoveryService
|
|
458
|
+
const discoverToolsHandle = startupProfiler.start('discover_tools');
|
|
401
459
|
this.getFileService();
|
|
402
460
|
if (this.getCheckpointingEnabled()) {
|
|
403
461
|
await this.getGitService();
|
|
404
462
|
}
|
|
405
463
|
this.promptRegistry = new PromptRegistry();
|
|
464
|
+
this.resourceRegistry = new ResourceRegistry();
|
|
406
465
|
this.agentRegistry = new AgentRegistry(this);
|
|
407
466
|
await this.agentRegistry.initialize();
|
|
408
467
|
this.toolRegistry = await this.createToolRegistry();
|
|
468
|
+
discoverToolsHandle?.end();
|
|
409
469
|
this.mcpClientManager = new McpClientManager(this.toolRegistry, this, this.eventEmitter);
|
|
470
|
+
const initMcpHandle = startupProfiler.start('initialize_mcp_clients');
|
|
410
471
|
await Promise.all([
|
|
411
472
|
await this.mcpClientManager.startConfiguredMcpServers(),
|
|
412
473
|
await this.getExtensionLoader().start(this),
|
|
413
474
|
]);
|
|
475
|
+
initMcpHandle?.end();
|
|
476
|
+
// Discover skills if enabled
|
|
477
|
+
if (this.skillsSupport) {
|
|
478
|
+
await this.getSkillManager().discoverSkills(this.storage, this.getExtensions());
|
|
479
|
+
this.getSkillManager().setDisabledSkills(this.disabledSkills);
|
|
480
|
+
// Re-register ActivateSkillTool to update its schema with the discovered enabled skill enums
|
|
481
|
+
if (this.getSkillManager().getSkills().length > 0) {
|
|
482
|
+
this.getToolRegistry().registerTool(new ActivateSkillTool(this, this.messageBus));
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
// Initialize hook system if enabled
|
|
486
|
+
if (this.getEnableHooks()) {
|
|
487
|
+
this.hookSystem = new HookSystem(this);
|
|
488
|
+
await this.hookSystem.initialize();
|
|
489
|
+
}
|
|
490
|
+
if (this.experimentalJitContext) {
|
|
491
|
+
this.contextManager = new ContextManager(this);
|
|
492
|
+
await this.contextManager.refresh();
|
|
493
|
+
}
|
|
414
494
|
await this.geminiClient.initialize();
|
|
415
495
|
}
|
|
416
496
|
getContentGenerator() {
|
|
417
497
|
return this.contentGenerator;
|
|
418
498
|
}
|
|
419
499
|
async refreshAuth(authMethod) {
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
this.useModelRouter = false;
|
|
423
|
-
if (this.model === DEFAULT_GEMINI_MODEL_AUTO) {
|
|
424
|
-
this.model = DEFAULT_GEMINI_MODEL;
|
|
425
|
-
}
|
|
426
|
-
}
|
|
500
|
+
// Reset availability service when switching auth
|
|
501
|
+
this.modelAvailabilityService.reset();
|
|
427
502
|
// Vertex and Genai have incompatible encryption and sending history with
|
|
428
503
|
// thoughtSignature from Genai to Vertex will fail, we need to strip them
|
|
429
504
|
if (this.contentGeneratorConfig?.authType === AuthType.USE_GEMINI &&
|
|
@@ -431,20 +506,24 @@ export class Config {
|
|
|
431
506
|
// Restore the conversation history to the new client
|
|
432
507
|
this.geminiClient.stripThoughtsFromHistory();
|
|
433
508
|
}
|
|
509
|
+
// Reset availability status when switching auth (e.g. from limited key to OAuth)
|
|
510
|
+
this.modelAvailabilityService.reset();
|
|
434
511
|
const newContentGeneratorConfig = await createContentGeneratorConfig(this, authMethod);
|
|
435
512
|
this.contentGenerator = await createContentGenerator(newContentGeneratorConfig, this, this.getSessionId());
|
|
436
513
|
// Only assign to instance properties after successful initialization
|
|
437
514
|
this.contentGeneratorConfig = newContentGeneratorConfig;
|
|
438
515
|
// Initialize BaseLlmClient now that the ContentGenerator is available
|
|
439
516
|
this.baseLlmClient = new BaseLlmClient(this.contentGenerator, this);
|
|
440
|
-
const previewFeatures = this.getPreviewFeatures();
|
|
441
517
|
const codeAssistServer = getCodeAssistServer(this);
|
|
442
518
|
if (codeAssistServer) {
|
|
519
|
+
if (codeAssistServer.projectId) {
|
|
520
|
+
await this.refreshUserQuota();
|
|
521
|
+
}
|
|
443
522
|
this.experimentsPromise = getExperiments(codeAssistServer)
|
|
444
523
|
.then((experiments) => {
|
|
445
524
|
this.setExperiments(experiments);
|
|
446
525
|
// If preview features have not been set and the user authenticated through Google, we enable preview based on remote config only if it's true
|
|
447
|
-
if (
|
|
526
|
+
if (this.getPreviewFeatures() === undefined) {
|
|
448
527
|
const remotePreviewFeatures = experiments.flags[ExperimentFlags.ENABLE_PREVIEW]?.boolValue;
|
|
449
528
|
if (remotePreviewFeatures === true) {
|
|
450
529
|
this.setPreviewFeatures(remotePreviewFeatures);
|
|
@@ -459,8 +538,25 @@ export class Config {
|
|
|
459
538
|
this.experiments = undefined;
|
|
460
539
|
this.experimentsPromise = undefined;
|
|
461
540
|
}
|
|
462
|
-
|
|
463
|
-
|
|
541
|
+
const authType = this.contentGeneratorConfig.authType;
|
|
542
|
+
if (authType === AuthType.USE_GEMINI ||
|
|
543
|
+
authType === AuthType.USE_VERTEX_AI) {
|
|
544
|
+
this.setHasAccessToPreviewModel(true);
|
|
545
|
+
}
|
|
546
|
+
// Update model if user no longer has access to the preview model
|
|
547
|
+
if (!this.hasAccessToPreviewModel && isPreviewModel(this.model)) {
|
|
548
|
+
this.setModel(DEFAULT_GEMINI_MODEL_AUTO);
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
async getExperimentsAsync() {
|
|
552
|
+
if (this.experiments) {
|
|
553
|
+
return this.experiments;
|
|
554
|
+
}
|
|
555
|
+
const codeAssistServer = getCodeAssistServer(this);
|
|
556
|
+
if (codeAssistServer) {
|
|
557
|
+
return getExperiments(codeAssistServer);
|
|
558
|
+
}
|
|
559
|
+
return undefined;
|
|
464
560
|
}
|
|
465
561
|
getUserTier() {
|
|
466
562
|
return this.contentGenerator?.userTier;
|
|
@@ -486,6 +582,18 @@ export class Config {
|
|
|
486
582
|
setSessionId(sessionId) {
|
|
487
583
|
this.sessionId = sessionId;
|
|
488
584
|
}
|
|
585
|
+
setTerminalBackground(terminalBackground) {
|
|
586
|
+
this.terminalBackground = terminalBackground;
|
|
587
|
+
}
|
|
588
|
+
getTerminalBackground() {
|
|
589
|
+
return this.terminalBackground;
|
|
590
|
+
}
|
|
591
|
+
getRemoteAdminSettings() {
|
|
592
|
+
return this.remoteAdminSettings;
|
|
593
|
+
}
|
|
594
|
+
setRemoteAdminSettings(settings) {
|
|
595
|
+
this.remoteAdminSettings = settings;
|
|
596
|
+
}
|
|
489
597
|
shouldLoadMemoryFromIncludeDirectories() {
|
|
490
598
|
return this.loadMemoryFromIncludeDirectories;
|
|
491
599
|
}
|
|
@@ -501,18 +609,32 @@ export class Config {
|
|
|
501
609
|
getModel() {
|
|
502
610
|
return this.model;
|
|
503
611
|
}
|
|
504
|
-
setModel(newModel) {
|
|
505
|
-
if (this.model !== newModel || this.
|
|
612
|
+
setModel(newModel, isTemporary = true) {
|
|
613
|
+
if (this.model !== newModel || this._activeModel !== newModel) {
|
|
506
614
|
this.model = newModel;
|
|
615
|
+
// When the user explicitly sets a model, that becomes the active model.
|
|
616
|
+
this._activeModel = newModel;
|
|
507
617
|
coreEvents.emitModelChanged(newModel);
|
|
618
|
+
if (this.onModelChange && !isTemporary) {
|
|
619
|
+
this.onModelChange(newModel);
|
|
620
|
+
}
|
|
508
621
|
}
|
|
509
|
-
this.
|
|
622
|
+
this.modelAvailabilityService.reset();
|
|
510
623
|
}
|
|
511
|
-
|
|
512
|
-
|
|
624
|
+
activateFallbackMode(model) {
|
|
625
|
+
this.setModel(model, true);
|
|
626
|
+
const authType = this.getContentGeneratorConfig()?.authType;
|
|
627
|
+
if (authType) {
|
|
628
|
+
logFlashFallback(this, new FlashFallbackEvent(authType));
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
getActiveModel() {
|
|
632
|
+
return this._activeModel ?? this.model;
|
|
513
633
|
}
|
|
514
|
-
|
|
515
|
-
this.
|
|
634
|
+
setActiveModel(model) {
|
|
635
|
+
if (this._activeModel !== model) {
|
|
636
|
+
this._activeModel = model;
|
|
637
|
+
}
|
|
516
638
|
}
|
|
517
639
|
setFallbackModelHandler(handler) {
|
|
518
640
|
this.fallbackModelHandler = handler;
|
|
@@ -520,17 +642,8 @@ export class Config {
|
|
|
520
642
|
getFallbackModelHandler() {
|
|
521
643
|
return this.fallbackModelHandler;
|
|
522
644
|
}
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
}
|
|
526
|
-
setPreviewModelFallbackMode(active) {
|
|
527
|
-
this.previewModelFallbackMode = active;
|
|
528
|
-
}
|
|
529
|
-
isPreviewModelBypassMode() {
|
|
530
|
-
return this.previewModelBypassMode;
|
|
531
|
-
}
|
|
532
|
-
setPreviewModelBypassMode(active) {
|
|
533
|
-
this.previewModelBypassMode = active;
|
|
645
|
+
resetTurn() {
|
|
646
|
+
this.modelAvailabilityService.resetTurn();
|
|
534
647
|
}
|
|
535
648
|
getMaxSessionTurns() {
|
|
536
649
|
return this.maxSessionTurns;
|
|
@@ -567,12 +680,18 @@ export class Config {
|
|
|
567
680
|
getAgentRegistry() {
|
|
568
681
|
return this.agentRegistry;
|
|
569
682
|
}
|
|
683
|
+
getSkillManager() {
|
|
684
|
+
return this.skillManager;
|
|
685
|
+
}
|
|
570
686
|
getToolRegistry() {
|
|
571
687
|
return this.toolRegistry;
|
|
572
688
|
}
|
|
573
689
|
getPromptRegistry() {
|
|
574
690
|
return this.promptRegistry;
|
|
575
691
|
}
|
|
692
|
+
getResourceRegistry() {
|
|
693
|
+
return this.resourceRegistry;
|
|
694
|
+
}
|
|
576
695
|
getDebugMode() {
|
|
577
696
|
return this.debugMode;
|
|
578
697
|
}
|
|
@@ -583,7 +702,44 @@ export class Config {
|
|
|
583
702
|
return this.previewFeatures;
|
|
584
703
|
}
|
|
585
704
|
setPreviewFeatures(previewFeatures) {
|
|
705
|
+
// No change in state, no action needed
|
|
706
|
+
if (this.previewFeatures === previewFeatures) {
|
|
707
|
+
return;
|
|
708
|
+
}
|
|
586
709
|
this.previewFeatures = previewFeatures;
|
|
710
|
+
const currentModel = this.getModel();
|
|
711
|
+
// Case 1: Disabling preview features while on a preview model
|
|
712
|
+
if (!previewFeatures && isPreviewModel(currentModel)) {
|
|
713
|
+
this.setModel(DEFAULT_GEMINI_MODEL_AUTO);
|
|
714
|
+
}
|
|
715
|
+
// Case 2: Enabling preview features while on the default auto model
|
|
716
|
+
else if (previewFeatures && currentModel === DEFAULT_GEMINI_MODEL_AUTO) {
|
|
717
|
+
this.setModel(PREVIEW_GEMINI_MODEL_AUTO);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
getHasAccessToPreviewModel() {
|
|
721
|
+
return this.hasAccessToPreviewModel;
|
|
722
|
+
}
|
|
723
|
+
setHasAccessToPreviewModel(hasAccess) {
|
|
724
|
+
this.hasAccessToPreviewModel = hasAccess;
|
|
725
|
+
}
|
|
726
|
+
async refreshUserQuota() {
|
|
727
|
+
const codeAssistServer = getCodeAssistServer(this);
|
|
728
|
+
if (!codeAssistServer || !codeAssistServer.projectId) {
|
|
729
|
+
return undefined;
|
|
730
|
+
}
|
|
731
|
+
try {
|
|
732
|
+
const quota = await codeAssistServer.retrieveUserQuota({
|
|
733
|
+
project: codeAssistServer.projectId,
|
|
734
|
+
});
|
|
735
|
+
const hasAccess = quota.buckets?.some((b) => b.modelId === PREVIEW_GEMINI_MODEL) ?? false;
|
|
736
|
+
this.setHasAccessToPreviewModel(hasAccess);
|
|
737
|
+
return quota;
|
|
738
|
+
}
|
|
739
|
+
catch (e) {
|
|
740
|
+
debugLogger.debug('Failed to retrieve user quota', e);
|
|
741
|
+
return undefined;
|
|
742
|
+
}
|
|
587
743
|
}
|
|
588
744
|
getCoreTools() {
|
|
589
745
|
return this.coreTools;
|
|
@@ -626,6 +782,9 @@ export class Config {
|
|
|
626
782
|
getMcpServers() {
|
|
627
783
|
return this.mcpServers;
|
|
628
784
|
}
|
|
785
|
+
getMcpEnabled() {
|
|
786
|
+
return this.mcpEnabled;
|
|
787
|
+
}
|
|
629
788
|
getMcpClientManager() {
|
|
630
789
|
return this.mcpClientManager;
|
|
631
790
|
}
|
|
@@ -635,35 +794,68 @@ export class Config {
|
|
|
635
794
|
getBlockedMcpServers() {
|
|
636
795
|
return this.blockedMcpServers;
|
|
637
796
|
}
|
|
797
|
+
get sanitizationConfig() {
|
|
798
|
+
return {
|
|
799
|
+
allowedEnvironmentVariables: this.allowedEnvironmentVariables,
|
|
800
|
+
blockedEnvironmentVariables: this.blockedEnvironmentVariables,
|
|
801
|
+
enableEnvironmentVariableRedaction: this.enableEnvironmentVariableRedaction,
|
|
802
|
+
};
|
|
803
|
+
}
|
|
638
804
|
setMcpServers(mcpServers) {
|
|
639
805
|
this.mcpServers = mcpServers;
|
|
640
806
|
}
|
|
641
807
|
getUserMemory() {
|
|
808
|
+
if (this.experimentalJitContext && this.contextManager) {
|
|
809
|
+
return [
|
|
810
|
+
this.contextManager.getGlobalMemory(),
|
|
811
|
+
this.contextManager.getEnvironmentMemory(),
|
|
812
|
+
]
|
|
813
|
+
.filter(Boolean)
|
|
814
|
+
.join('\n\n');
|
|
815
|
+
}
|
|
642
816
|
return this.userMemory;
|
|
643
817
|
}
|
|
644
818
|
setUserMemory(newUserMemory) {
|
|
645
819
|
this.userMemory = newUserMemory;
|
|
646
820
|
}
|
|
821
|
+
getGlobalMemory() {
|
|
822
|
+
return this.contextManager?.getGlobalMemory() ?? '';
|
|
823
|
+
}
|
|
824
|
+
getEnvironmentMemory() {
|
|
825
|
+
return this.contextManager?.getEnvironmentMemory() ?? '';
|
|
826
|
+
}
|
|
827
|
+
getContextManager() {
|
|
828
|
+
return this.contextManager;
|
|
829
|
+
}
|
|
830
|
+
isJitContextEnabled() {
|
|
831
|
+
return this.experimentalJitContext;
|
|
832
|
+
}
|
|
647
833
|
getGeminiMdFileCount() {
|
|
834
|
+
if (this.experimentalJitContext && this.contextManager) {
|
|
835
|
+
return this.contextManager.getLoadedPaths().size;
|
|
836
|
+
}
|
|
648
837
|
return this.geminiMdFileCount;
|
|
649
838
|
}
|
|
650
839
|
setGeminiMdFileCount(count) {
|
|
651
840
|
this.geminiMdFileCount = count;
|
|
652
841
|
}
|
|
653
842
|
getGeminiMdFilePaths() {
|
|
843
|
+
if (this.experimentalJitContext && this.contextManager) {
|
|
844
|
+
return Array.from(this.contextManager.getLoadedPaths());
|
|
845
|
+
}
|
|
654
846
|
return this.geminiMdFilePaths;
|
|
655
847
|
}
|
|
656
848
|
setGeminiMdFilePaths(paths) {
|
|
657
849
|
this.geminiMdFilePaths = paths;
|
|
658
850
|
}
|
|
659
851
|
getApprovalMode() {
|
|
660
|
-
return this.
|
|
852
|
+
return this.policyEngine.getApprovalMode();
|
|
661
853
|
}
|
|
662
854
|
setApprovalMode(mode) {
|
|
663
855
|
if (!this.isTrustedFolder() && mode !== ApprovalMode.DEFAULT) {
|
|
664
856
|
throw new Error('Cannot enable privileged approval modes in an untrusted folder.');
|
|
665
857
|
}
|
|
666
|
-
this.
|
|
858
|
+
this.policyEngine.setApprovalMode(mode);
|
|
667
859
|
}
|
|
668
860
|
isYoloModeDisabled() {
|
|
669
861
|
return this.disableYoloMode || !this.isTrustedFolder();
|
|
@@ -701,6 +893,9 @@ export class Config {
|
|
|
701
893
|
getTelemetryUseCollector() {
|
|
702
894
|
return this.telemetrySettings.useCollector ?? false;
|
|
703
895
|
}
|
|
896
|
+
getTelemetryUseCliAuth() {
|
|
897
|
+
return this.telemetrySettings.useCliAuth ?? false;
|
|
898
|
+
}
|
|
704
899
|
getGeminiClient() {
|
|
705
900
|
return this.geminiClient;
|
|
706
901
|
}
|
|
@@ -717,6 +912,9 @@ export class Config {
|
|
|
717
912
|
getModelRouterService() {
|
|
718
913
|
return this.modelRouterService;
|
|
719
914
|
}
|
|
915
|
+
getModelAvailabilityService() {
|
|
916
|
+
return this.modelAvailabilityService;
|
|
917
|
+
}
|
|
720
918
|
getEnableRecursiveFileSearch() {
|
|
721
919
|
return this.fileFiltering.enableRecursiveFileSearch;
|
|
722
920
|
}
|
|
@@ -799,6 +997,9 @@ export class Config {
|
|
|
799
997
|
getEnableExtensionReloading() {
|
|
800
998
|
return this.enableExtensionReloading;
|
|
801
999
|
}
|
|
1000
|
+
isAgentsEnabled() {
|
|
1001
|
+
return this.enableAgents;
|
|
1002
|
+
}
|
|
802
1003
|
getNoBrowser() {
|
|
803
1004
|
return this.noBrowser;
|
|
804
1005
|
}
|
|
@@ -822,21 +1023,12 @@ export class Config {
|
|
|
822
1023
|
* 'false' for untrusted.
|
|
823
1024
|
*/
|
|
824
1025
|
isTrustedFolder() {
|
|
825
|
-
// isWorkspaceTrusted in cli/src/config/trustedFolder.js returns undefined
|
|
826
|
-
// when the file based trust value is unavailable, since it is mainly used
|
|
827
|
-
// in the initialization for trust dialogs, etc. Here we return true since
|
|
828
|
-
// config.isTrustedFolder() is used for the main business logic of blocking
|
|
829
|
-
// tool calls etc in the rest of the application.
|
|
830
|
-
//
|
|
831
|
-
// Default value is true since we load with trusted settings to avoid
|
|
832
|
-
// restarts in the more common path. If the user chooses to mark the folder
|
|
833
|
-
// as untrusted, the CLI will restart and we will have the trust value
|
|
834
|
-
// reloaded.
|
|
835
1026
|
const context = ideContextStore.get();
|
|
836
1027
|
if (context?.workspaceState?.isTrusted !== undefined) {
|
|
837
1028
|
return context.workspaceState.isTrusted;
|
|
838
1029
|
}
|
|
839
|
-
|
|
1030
|
+
// Default to untrusted if folder trust is enabled and no explicit value is set.
|
|
1031
|
+
return this.folderTrust ? (this.trustedFolder ?? false) : true;
|
|
840
1032
|
}
|
|
841
1033
|
setIdeMode(value) {
|
|
842
1034
|
this.ideMode = value;
|
|
@@ -895,6 +1087,32 @@ export class Config {
|
|
|
895
1087
|
this.ptyInfo !== 'child_process' &&
|
|
896
1088
|
this.enableInteractiveShell);
|
|
897
1089
|
}
|
|
1090
|
+
isSkillsSupportEnabled() {
|
|
1091
|
+
return this.skillsSupport;
|
|
1092
|
+
}
|
|
1093
|
+
/**
|
|
1094
|
+
* Reloads skills by re-discovering them from extensions and local directories.
|
|
1095
|
+
*/
|
|
1096
|
+
async reloadSkills() {
|
|
1097
|
+
if (!this.skillsSupport) {
|
|
1098
|
+
return;
|
|
1099
|
+
}
|
|
1100
|
+
if (this.onReload) {
|
|
1101
|
+
const refreshed = await this.onReload();
|
|
1102
|
+
this.disabledSkills = refreshed.disabledSkills ?? [];
|
|
1103
|
+
}
|
|
1104
|
+
await this.getSkillManager().discoverSkills(this.storage, this.getExtensions());
|
|
1105
|
+
this.getSkillManager().setDisabledSkills(this.disabledSkills);
|
|
1106
|
+
// Re-register ActivateSkillTool to update its schema with the newly discovered skills
|
|
1107
|
+
if (this.getSkillManager().getSkills().length > 0) {
|
|
1108
|
+
this.getToolRegistry().registerTool(new ActivateSkillTool(this, this.messageBus));
|
|
1109
|
+
}
|
|
1110
|
+
else {
|
|
1111
|
+
this.getToolRegistry().unregisterTool(ActivateSkillTool.Name);
|
|
1112
|
+
}
|
|
1113
|
+
// Notify the client that system instructions might need updating
|
|
1114
|
+
await this.updateSystemInstructionIfInitialized();
|
|
1115
|
+
}
|
|
898
1116
|
isInteractive() {
|
|
899
1117
|
return this.interactive;
|
|
900
1118
|
}
|
|
@@ -916,6 +1134,9 @@ export class Config {
|
|
|
916
1134
|
getEnableShellOutputEfficiency() {
|
|
917
1135
|
return this.enableShellOutputEfficiency;
|
|
918
1136
|
}
|
|
1137
|
+
getShellToolInactivityTimeout() {
|
|
1138
|
+
return this.shellToolInactivityTimeout;
|
|
1139
|
+
}
|
|
919
1140
|
getShellExecutionConfig() {
|
|
920
1141
|
return this.shellExecutionConfig;
|
|
921
1142
|
}
|
|
@@ -925,6 +1146,8 @@ export class Config {
|
|
|
925
1146
|
terminalHeight: config.terminalHeight ?? this.shellExecutionConfig.terminalHeight,
|
|
926
1147
|
showColor: config.showColor ?? this.shellExecutionConfig.showColor,
|
|
927
1148
|
pager: config.pager ?? this.shellExecutionConfig.pager,
|
|
1149
|
+
sanitizationConfig: config.sanitizationConfig ??
|
|
1150
|
+
this.shellExecutionConfig.sanitizationConfig,
|
|
928
1151
|
};
|
|
929
1152
|
}
|
|
930
1153
|
getScreenReader() {
|
|
@@ -945,9 +1168,6 @@ export class Config {
|
|
|
945
1168
|
getTruncateToolOutputLines() {
|
|
946
1169
|
return this.truncateToolOutputLines;
|
|
947
1170
|
}
|
|
948
|
-
getUseSmartEdit() {
|
|
949
|
-
return this.useSmartEdit;
|
|
950
|
-
}
|
|
951
1171
|
getUseWriteTodos() {
|
|
952
1172
|
return this.useWriteTodos;
|
|
953
1173
|
}
|
|
@@ -956,9 +1176,6 @@ export class Config {
|
|
|
956
1176
|
? this.outputSettings.format
|
|
957
1177
|
: OutputFormat.TEXT;
|
|
958
1178
|
}
|
|
959
|
-
getUseModelRouter() {
|
|
960
|
-
return this.useModelRouter;
|
|
961
|
-
}
|
|
962
1179
|
async getGitService() {
|
|
963
1180
|
if (!this.gitService) {
|
|
964
1181
|
this.gitService = new GitService(this.targetDir, this.storage);
|
|
@@ -975,21 +1192,17 @@ export class Config {
|
|
|
975
1192
|
getPolicyEngine() {
|
|
976
1193
|
return this.policyEngine;
|
|
977
1194
|
}
|
|
978
|
-
getEnableMessageBusIntegration() {
|
|
979
|
-
return this.enableMessageBusIntegration;
|
|
980
|
-
}
|
|
981
1195
|
getEnableHooks() {
|
|
982
1196
|
return this.enableHooks;
|
|
983
1197
|
}
|
|
984
1198
|
getCodebaseInvestigatorSettings() {
|
|
985
1199
|
return this.codebaseInvestigatorSettings;
|
|
986
1200
|
}
|
|
1201
|
+
getIntrospectionAgentSettings() {
|
|
1202
|
+
return this.introspectionAgentSettings;
|
|
1203
|
+
}
|
|
987
1204
|
async createToolRegistry() {
|
|
988
|
-
const registry = new ToolRegistry(this);
|
|
989
|
-
// Set message bus on tool registry before discovery so MCP tools can access it
|
|
990
|
-
if (this.getEnableMessageBusIntegration()) {
|
|
991
|
-
registry.setMessageBus(this.messageBus);
|
|
992
|
-
}
|
|
1205
|
+
const registry = new ToolRegistry(this, this.messageBus);
|
|
993
1206
|
// helper to create & register core tools that are enabled
|
|
994
1207
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
995
1208
|
const registerCoreTool = (ToolClass, ...args) => {
|
|
@@ -1006,13 +1219,8 @@ export class Config {
|
|
|
1006
1219
|
tool.startsWith(`${normalizedClassName}(`));
|
|
1007
1220
|
}
|
|
1008
1221
|
if (isEnabled) {
|
|
1009
|
-
// Pass message bus to tools
|
|
1010
|
-
|
|
1011
|
-
// the tool registry.
|
|
1012
|
-
const messageBusEnabled = this.getEnableMessageBusIntegration();
|
|
1013
|
-
const toolArgs = messageBusEnabled
|
|
1014
|
-
? [...args, this.getMessageBus()]
|
|
1015
|
-
: args;
|
|
1222
|
+
// Pass message bus to tools (required for policy engine integration)
|
|
1223
|
+
const toolArgs = [...args, this.getMessageBus()];
|
|
1016
1224
|
registry.registerTool(new ToolClass(...toolArgs));
|
|
1017
1225
|
}
|
|
1018
1226
|
};
|
|
@@ -1039,44 +1247,56 @@ export class Config {
|
|
|
1039
1247
|
registerCoreTool(GrepTool, this);
|
|
1040
1248
|
}
|
|
1041
1249
|
registerCoreTool(GlobTool, this);
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
}
|
|
1045
|
-
else {
|
|
1046
|
-
registerCoreTool(EditTool, this);
|
|
1047
|
-
}
|
|
1250
|
+
registerCoreTool(ActivateSkillTool, this);
|
|
1251
|
+
registerCoreTool(EditTool, this);
|
|
1048
1252
|
registerCoreTool(WriteFileTool, this);
|
|
1049
1253
|
registerCoreTool(WebFetchTool, this);
|
|
1050
1254
|
registerCoreTool(ShellTool, this);
|
|
1051
1255
|
registerCoreTool(MemoryTool);
|
|
1052
1256
|
registerCoreTool(WebSearchTool, this);
|
|
1053
1257
|
if (this.getUseWriteTodos()) {
|
|
1054
|
-
registerCoreTool(WriteTodosTool
|
|
1258
|
+
registerCoreTool(WriteTodosTool);
|
|
1055
1259
|
}
|
|
1056
1260
|
// Register Subagents as Tools
|
|
1057
|
-
if
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
registry.registerTool(wrapper);
|
|
1067
|
-
}
|
|
1261
|
+
// Register DelegateToAgentTool if agents are enabled
|
|
1262
|
+
if (this.isAgentsEnabled() ||
|
|
1263
|
+
this.getCodebaseInvestigatorSettings().enabled) {
|
|
1264
|
+
// Check if the delegate tool itself is allowed (if allowedTools is set)
|
|
1265
|
+
const allowedTools = this.getAllowedTools();
|
|
1266
|
+
const isAllowed = !allowedTools || allowedTools.includes(DELEGATE_TO_AGENT_TOOL_NAME);
|
|
1267
|
+
if (isAllowed) {
|
|
1268
|
+
const delegateTool = new DelegateToAgentTool(this.agentRegistry, this, this.getMessageBus());
|
|
1269
|
+
registry.registerTool(delegateTool);
|
|
1068
1270
|
}
|
|
1069
1271
|
}
|
|
1070
1272
|
await registry.discoverAllTools();
|
|
1071
1273
|
registry.sortTools();
|
|
1072
1274
|
return registry;
|
|
1073
1275
|
}
|
|
1276
|
+
/**
|
|
1277
|
+
* Get the hook system instance
|
|
1278
|
+
*/
|
|
1279
|
+
getHookSystem() {
|
|
1280
|
+
return this.hookSystem;
|
|
1281
|
+
}
|
|
1074
1282
|
/**
|
|
1075
1283
|
* Get hooks configuration
|
|
1076
1284
|
*/
|
|
1077
1285
|
getHooks() {
|
|
1078
1286
|
return this.hooks;
|
|
1079
1287
|
}
|
|
1288
|
+
/**
|
|
1289
|
+
* Get project-specific hooks configuration
|
|
1290
|
+
*/
|
|
1291
|
+
getProjectHooks() {
|
|
1292
|
+
return this.projectHooks;
|
|
1293
|
+
}
|
|
1294
|
+
/**
|
|
1295
|
+
* Get disabled hooks list
|
|
1296
|
+
*/
|
|
1297
|
+
getDisabledHooks() {
|
|
1298
|
+
return this.disabledHooks;
|
|
1299
|
+
}
|
|
1080
1300
|
/**
|
|
1081
1301
|
* Get experiments configuration
|
|
1082
1302
|
*/
|