@anthropic-field/core 0.1.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/.last_build +0 -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/monitoring-dashboard-logs.png +0 -0
- package/dist/docs/assets/monitoring-dashboard-metrics.png +0 -0
- package/dist/docs/assets/monitoring-dashboard-overview.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 +743 -0
- package/dist/docs/changelogs/latest.md +338 -0
- package/dist/docs/changelogs/preview.md +437 -0
- package/dist/docs/cli/authentication.md +3 -0
- package/dist/docs/cli/checkpointing.md +94 -0
- package/dist/docs/cli/cli-reference.md +101 -0
- package/dist/docs/cli/commands.md +430 -0
- package/dist/docs/cli/creating-skills.md +80 -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 +65 -0
- package/dist/docs/cli/keyboard-shortcuts.md +140 -0
- package/dist/docs/cli/model-routing.md +42 -0
- package/dist/docs/cli/model.md +62 -0
- package/dist/docs/cli/rewind.md +51 -0
- package/dist/docs/cli/sandbox.md +171 -0
- package/dist/docs/cli/session-management.md +158 -0
- package/dist/docs/cli/settings.md +139 -0
- package/dist/docs/cli/skills.md +112 -0
- package/dist/docs/cli/system-prompt.md +125 -0
- package/dist/docs/cli/telemetry.md +826 -0
- package/dist/docs/cli/themes.md +235 -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 +97 -0
- package/dist/docs/cli/tutorials.md +87 -0
- package/dist/docs/cli/uninstall.md +65 -0
- package/dist/docs/core/index.md +107 -0
- package/dist/docs/core/memport.md +246 -0
- package/dist/docs/core/policy-engine.md +305 -0
- package/dist/docs/core/remote-agents.md +84 -0
- package/dist/docs/core/subagents.md +191 -0
- package/dist/docs/core/tools-api.md +131 -0
- package/dist/docs/examples/proxy-script.md +83 -0
- package/dist/docs/extensions/best-practices.md +139 -0
- package/dist/docs/extensions/index.md +45 -0
- package/dist/docs/extensions/reference.md +336 -0
- package/dist/docs/extensions/releasing.md +183 -0
- package/dist/docs/extensions/writing-extensions.md +281 -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 +1585 -0
- package/dist/docs/get-started/examples.md +219 -0
- package/dist/docs/get-started/gemini-3.md +101 -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 +677 -0
- package/dist/docs/hooks/index.md +164 -0
- package/dist/docs/hooks/reference.md +322 -0
- package/dist/docs/hooks/writing-hooks.md +450 -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 +149 -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 +152 -0
- package/dist/docs/tools/file-system.md +217 -0
- package/dist/docs/tools/index.md +98 -0
- package/dist/docs/tools/mcp-server.md +1079 -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 +173 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/src/__mocks__/fs/promises.d.ts +11 -0
- package/dist/src/__mocks__/fs/promises.js +17 -0
- package/dist/src/__mocks__/fs/promises.js.map +1 -0
- package/dist/src/agents/a2a-client-manager.d.ts +77 -0
- package/dist/src/agents/a2a-client-manager.js +173 -0
- package/dist/src/agents/a2a-client-manager.js.map +1 -0
- package/dist/src/agents/a2aUtils.d.ts +29 -0
- package/dist/src/agents/a2aUtils.js +113 -0
- package/dist/src/agents/a2aUtils.js.map +1 -0
- package/dist/src/agents/acknowledgedAgents.d.ts +18 -0
- package/dist/src/agents/acknowledgedAgents.js +58 -0
- package/dist/src/agents/acknowledgedAgents.js.map +1 -0
- package/dist/src/agents/agent-scheduler.d.ts +33 -0
- package/dist/src/agents/agent-scheduler.js +29 -0
- package/dist/src/agents/agent-scheduler.js.map +1 -0
- package/dist/src/agents/agentLoader.d.ts +73 -0
- package/dist/src/agents/agentLoader.js +268 -0
- package/dist/src/agents/agentLoader.js.map +1 -0
- package/dist/src/agents/cli-help-agent.d.ts +24 -0
- package/dist/src/agents/cli-help-agent.js +80 -0
- package/dist/src/agents/cli-help-agent.js.map +1 -0
- package/dist/src/agents/codebase-investigator.d.ts +47 -0
- package/dist/src/agents/codebase-investigator.js +159 -0
- package/dist/src/agents/codebase-investigator.js.map +1 -0
- package/dist/src/agents/generalist-agent.d.ts +21 -0
- package/dist/src/agents/generalist-agent.js +60 -0
- package/dist/src/agents/generalist-agent.js.map +1 -0
- package/dist/src/agents/local-executor.d.ts +110 -0
- package/dist/src/agents/local-executor.js +879 -0
- package/dist/src/agents/local-executor.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/registry.d.ts +85 -0
- package/dist/src/agents/registry.js +374 -0
- package/dist/src/agents/registry.js.map +1 -0
- package/dist/src/agents/remote-invocation.d.ts +35 -0
- package/dist/src/agents/remote-invocation.js +127 -0
- package/dist/src/agents/remote-invocation.js.map +1 -0
- package/dist/src/agents/subagent-tool-wrapper.d.ts +38 -0
- package/dist/src/agents/subagent-tool-wrapper.js +51 -0
- package/dist/src/agents/subagent-tool-wrapper.js.map +1 -0
- package/dist/src/agents/subagent-tool.d.ts +15 -0
- package/dist/src/agents/subagent-tool.js +61 -0
- package/dist/src/agents/subagent-tool.js.map +1 -0
- package/dist/src/agents/types.d.ts +154 -0
- package/dist/src/agents/types.js +23 -0
- package/dist/src/agents/types.js.map +1 -0
- package/dist/src/agents/utils.d.ts +15 -0
- package/dist/src/agents/utils.js +29 -0
- package/dist/src/agents/utils.js.map +1 -0
- 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/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 +24 -0
- package/dist/src/availability/policyCatalog.js +106 -0
- package/dist/src/availability/policyCatalog.js.map +1 -0
- package/dist/src/availability/policyHelpers.d.ts +52 -0
- package/dist/src/availability/policyHelpers.js +143 -0
- package/dist/src/availability/policyHelpers.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/admin/admin_controls.d.ts +32 -0
- package/dist/src/code_assist/admin/admin_controls.js +120 -0
- package/dist/src/code_assist/admin/admin_controls.js.map +1 -0
- package/dist/src/code_assist/codeAssist.d.ts +12 -0
- package/dist/src/code_assist/codeAssist.js +31 -0
- package/dist/src/code_assist/codeAssist.js.map +1 -0
- package/dist/src/code_assist/converter.d.ts +75 -0
- package/dist/src/code_assist/converter.js +161 -0
- package/dist/src/code_assist/converter.js.map +1 -0
- package/dist/src/code_assist/experiments/client_metadata.d.ts +12 -0
- package/dist/src/code_assist/experiments/client_metadata.js +51 -0
- package/dist/src/code_assist/experiments/client_metadata.js.map +1 -0
- package/dist/src/code_assist/experiments/experiments.d.ts +17 -0
- package/dist/src/code_assist/experiments/experiments.js +57 -0
- package/dist/src/code_assist/experiments/experiments.js.map +1 -0
- package/dist/src/code_assist/experiments/flagNames.d.ts +16 -0
- package/dist/src/code_assist/experiments/flagNames.js +16 -0
- package/dist/src/code_assist/experiments/flagNames.js.map +1 -0
- package/dist/src/code_assist/experiments/types.d.ts +35 -0
- package/dist/src/code_assist/experiments/types.js +7 -0
- package/dist/src/code_assist/experiments/types.js.map +1 -0
- package/dist/src/code_assist/oauth-credential-storage.d.ts +25 -0
- package/dist/src/code_assist/oauth-credential-storage.js +109 -0
- package/dist/src/code_assist/oauth-credential-storage.js.map +1 -0
- package/dist/src/code_assist/oauth2.d.ts +25 -0
- package/dist/src/code_assist/oauth2.js +579 -0
- package/dist/src/code_assist/oauth2.js.map +1 -0
- package/dist/src/code_assist/server.d.ts +50 -0
- package/dist/src/code_assist/server.js +228 -0
- package/dist/src/code_assist/server.js.map +1 -0
- package/dist/src/code_assist/setup.d.ts +46 -0
- package/dist/src/code_assist/setup.js +179 -0
- package/dist/src/code_assist/setup.js.map +1 -0
- package/dist/src/code_assist/telemetry.d.ts +14 -0
- package/dist/src/code_assist/telemetry.js +157 -0
- package/dist/src/code_assist/telemetry.js.map +1 -0
- package/dist/src/code_assist/types.d.ts +306 -0
- package/dist/src/code_assist/types.js +94 -0
- package/dist/src/code_assist/types.js.map +1 -0
- package/dist/src/cognitive/gemini-adapter.d.ts +29 -0
- package/dist/src/cognitive/gemini-adapter.js +109 -0
- package/dist/src/cognitive/gemini-adapter.js.map +1 -0
- package/dist/src/cognitive/index.d.ts +22 -0
- package/dist/src/cognitive/index.js +50 -0
- package/dist/src/cognitive/index.js.map +1 -0
- package/dist/src/cognitive/integration.d.ts +57 -0
- package/dist/src/cognitive/integration.js +103 -0
- package/dist/src/cognitive/integration.js.map +1 -0
- package/dist/src/cognitive/loader/index.d.ts +8 -0
- package/dist/src/cognitive/loader/index.js +9 -0
- package/dist/src/cognitive/loader/index.js.map +1 -0
- package/dist/src/cognitive/loader/module-loader.d.ts +67 -0
- package/dist/src/cognitive/loader/module-loader.js +369 -0
- package/dist/src/cognitive/loader/module-loader.js.map +1 -0
- package/dist/src/cognitive/runtime/envelope.d.ts +31 -0
- package/dist/src/cognitive/runtime/envelope.js +167 -0
- package/dist/src/cognitive/runtime/envelope.js.map +1 -0
- package/dist/src/cognitive/runtime/executor.d.ts +65 -0
- package/dist/src/cognitive/runtime/executor.js +245 -0
- package/dist/src/cognitive/runtime/executor.js.map +1 -0
- package/dist/src/cognitive/runtime/index.d.ts +12 -0
- package/dist/src/cognitive/runtime/index.js +18 -0
- package/dist/src/cognitive/runtime/index.js.map +1 -0
- package/dist/src/cognitive/runtime/prompt-builder.d.ts +34 -0
- package/dist/src/cognitive/runtime/prompt-builder.js +216 -0
- package/dist/src/cognitive/runtime/prompt-builder.js.map +1 -0
- package/dist/src/cognitive/runtime/repair-pass.d.ts +43 -0
- package/dist/src/cognitive/runtime/repair-pass.js +170 -0
- package/dist/src/cognitive/runtime/repair-pass.js.map +1 -0
- package/dist/src/cognitive/runtime/risk-aggregator.d.ts +39 -0
- package/dist/src/cognitive/runtime/risk-aggregator.js +90 -0
- package/dist/src/cognitive/runtime/risk-aggregator.js.map +1 -0
- package/dist/src/cognitive/tool/cognitive-registry.d.ts +99 -0
- package/dist/src/cognitive/tool/cognitive-registry.js +192 -0
- package/dist/src/cognitive/tool/cognitive-registry.js.map +1 -0
- package/dist/src/cognitive/tool/cognitive-tool.d.ts +56 -0
- package/dist/src/cognitive/tool/cognitive-tool.js +217 -0
- package/dist/src/cognitive/tool/cognitive-tool.js.map +1 -0
- package/dist/src/cognitive/tool/index.d.ts +9 -0
- package/dist/src/cognitive/tool/index.js +10 -0
- package/dist/src/cognitive/tool/index.js.map +1 -0
- package/dist/src/cognitive/types.d.ts +234 -0
- package/dist/src/cognitive/types.js +10 -0
- package/dist/src/cognitive/types.js.map +1 -0
- package/dist/src/cognitive/validator/envelope-validator.d.ts +45 -0
- package/dist/src/cognitive/validator/envelope-validator.js +214 -0
- package/dist/src/cognitive/validator/envelope-validator.js.map +1 -0
- package/dist/src/cognitive/validator/index.d.ts +9 -0
- package/dist/src/cognitive/validator/index.js +10 -0
- package/dist/src/cognitive/validator/index.js.map +1 -0
- package/dist/src/cognitive/validator/schema-validator.d.ts +46 -0
- package/dist/src/cognitive/validator/schema-validator.js +202 -0
- package/dist/src/cognitive/validator/schema-validator.js.map +1 -0
- package/dist/src/commands/cognitive.d.ts +39 -0
- package/dist/src/commands/cognitive.js +335 -0
- package/dist/src/commands/cognitive.js.map +1 -0
- package/dist/src/commands/extensions.d.ts +7 -0
- package/dist/src/commands/extensions.js +9 -0
- package/dist/src/commands/extensions.js.map +1 -0
- 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/memory.d.ts +11 -0
- package/dist/src/commands/memory.js +80 -0
- package/dist/src/commands/memory.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/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 +766 -0
- package/dist/src/config/config.js +1625 -0
- package/dist/src/config/config.js.map +1 -0
- package/dist/src/config/constants.d.ts +15 -0
- package/dist/src/config/constants.js +24 -0
- package/dist/src/config/constants.js.map +1 -0
- package/dist/src/config/defaultModelConfigs.d.ts +7 -0
- package/dist/src/config/defaultModelConfigs.js +231 -0
- package/dist/src/config/defaultModelConfigs.js.map +1 -0
- package/dist/src/config/models.d.ts +67 -0
- package/dist/src/config/models.js +144 -0
- package/dist/src/config/models.js.map +1 -0
- package/dist/src/config/storage.d.ts +44 -0
- package/dist/src/config/storage.js +139 -0
- package/dist/src/config/storage.js.map +1 -0
- package/dist/src/confirmation-bus/index.d.ts +7 -0
- package/dist/src/confirmation-bus/index.js +8 -0
- package/dist/src/confirmation-bus/index.js.map +1 -0
- package/dist/src/confirmation-bus/message-bus.d.ts +24 -0
- package/dist/src/confirmation-bus/message-bus.js +120 -0
- package/dist/src/confirmation-bus/message-bus.js.map +1 -0
- package/dist/src/confirmation-bus/types.d.ts +147 -0
- package/dist/src/confirmation-bus/types.js +25 -0
- package/dist/src/confirmation-bus/types.js.map +1 -0
- package/dist/src/core/apiKeyCredentialStorage.d.ts +17 -0
- package/dist/src/core/apiKeyCredentialStorage.js +64 -0
- package/dist/src/core/apiKeyCredentialStorage.js.map +1 -0
- package/dist/src/core/baseLlmClient.d.ts +74 -0
- package/dist/src/core/baseLlmClient.js +167 -0
- package/dist/src/core/baseLlmClient.js.map +1 -0
- package/dist/src/core/client.d.ts +59 -0
- package/dist/src/core/client.js +716 -0
- package/dist/src/core/client.js.map +1 -0
- package/dist/src/core/contentGenerator.d.ts +34 -0
- package/dist/src/core/contentGenerator.js +107 -0
- package/dist/src/core/contentGenerator.js.map +1 -0
- package/dist/src/core/coreToolHookTriggers.d.ts +23 -0
- package/dist/src/core/coreToolHookTriggers.js +195 -0
- package/dist/src/core/coreToolHookTriggers.js.map +1 -0
- package/dist/src/core/coreToolScheduler.d.ts +50 -0
- package/dist/src/core/coreToolScheduler.js +703 -0
- package/dist/src/core/coreToolScheduler.js.map +1 -0
- package/dist/src/core/fakeContentGenerator.d.ts +34 -0
- package/dist/src/core/fakeContentGenerator.js +59 -0
- package/dist/src/core/fakeContentGenerator.js.map +1 -0
- package/dist/src/core/geminiChat.d.ts +160 -0
- package/dist/src/core/geminiChat.js +744 -0
- package/dist/src/core/geminiChat.js.map +1 -0
- package/dist/src/core/geminiRequest.d.ts +13 -0
- package/dist/src/core/geminiRequest.js +11 -0
- package/dist/src/core/geminiRequest.js.map +1 -0
- package/dist/src/core/logger.d.ts +65 -0
- package/dist/src/core/logger.js +368 -0
- package/dist/src/core/logger.js.map +1 -0
- package/dist/src/core/loggingContentGenerator.d.ts +29 -0
- package/dist/src/core/loggingContentGenerator.js +202 -0
- package/dist/src/core/loggingContentGenerator.js.map +1 -0
- package/dist/src/core/prompts.d.ts +19 -0
- package/dist/src/core/prompts.js +27 -0
- package/dist/src/core/prompts.js.map +1 -0
- package/dist/src/core/recordingContentGenerator.d.ts +19 -0
- package/dist/src/core/recordingContentGenerator.js +82 -0
- package/dist/src/core/recordingContentGenerator.js.map +1 -0
- package/dist/src/core/tokenLimits.d.ts +10 -0
- package/dist/src/core/tokenLimits.js +22 -0
- package/dist/src/core/tokenLimits.js.map +1 -0
- package/dist/src/core/turn.d.ts +167 -0
- package/dist/src/core/turn.js +209 -0
- package/dist/src/core/turn.js.map +1 -0
- package/dist/src/fallback/handler.d.ts +7 -0
- package/dist/src/fallback/handler.js +110 -0
- package/dist/src/fallback/handler.js.map +1 -0
- package/dist/src/fallback/types.d.ts +31 -0
- package/dist/src/fallback/types.js +7 -0
- package/dist/src/fallback/types.js.map +1 -0
- package/dist/src/generated/git-commit.d.ts +7 -0
- package/dist/src/generated/git-commit.js +10 -0
- package/dist/src/generated/git-commit.js.map +1 -0
- package/dist/src/hooks/hookAggregator.d.ts +68 -0
- package/dist/src/hooks/hookAggregator.js +279 -0
- package/dist/src/hooks/hookAggregator.js.map +1 -0
- package/dist/src/hooks/hookEventHandler.d.ts +107 -0
- package/dist/src/hooks/hookEventHandler.js +325 -0
- package/dist/src/hooks/hookEventHandler.js.map +1 -0
- package/dist/src/hooks/hookPlanner.d.ts +42 -0
- package/dist/src/hooks/hookPlanner.js +103 -0
- package/dist/src/hooks/hookPlanner.js.map +1 -0
- package/dist/src/hooks/hookRegistry.d.ts +75 -0
- package/dist/src/hooks/hookRegistry.js +215 -0
- package/dist/src/hooks/hookRegistry.js.map +1 -0
- package/dist/src/hooks/hookRunner.d.ts +44 -0
- package/dist/src/hooks/hookRunner.js +329 -0
- package/dist/src/hooks/hookRunner.js.map +1 -0
- package/dist/src/hooks/hookSystem.d.ts +99 -0
- package/dist/src/hooks/hookSystem.js +262 -0
- package/dist/src/hooks/hookSystem.js.map +1 -0
- package/dist/src/hooks/hookTranslator.d.ts +113 -0
- package/dist/src/hooks/hookTranslator.js +233 -0
- package/dist/src/hooks/hookTranslator.js.map +1 -0
- package/dist/src/hooks/index.d.ts +16 -0
- package/dist/src/hooks/index.js +16 -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/types.d.ts +442 -0
- package/dist/src/hooks/types.js +303 -0
- package/dist/src/hooks/types.js.map +1 -0
- package/dist/src/ide/constants.d.ts +9 -0
- package/dist/src/ide/constants.js +10 -0
- package/dist/src/ide/constants.js.map +1 -0
- package/dist/src/ide/detect-ide.d.ts +109 -0
- package/dist/src/ide/detect-ide.js +125 -0
- package/dist/src/ide/detect-ide.js.map +1 -0
- package/dist/src/ide/ide-client.d.ts +113 -0
- package/dist/src/ide/ide-client.js +669 -0
- package/dist/src/ide/ide-client.js.map +1 -0
- package/dist/src/ide/ide-installer.d.ts +14 -0
- package/dist/src/ide/ide-installer.js +227 -0
- package/dist/src/ide/ide-installer.js.map +1 -0
- package/dist/src/ide/ideContext.d.ts +44 -0
- package/dist/src/ide/ideContext.js +101 -0
- package/dist/src/ide/ideContext.js.map +1 -0
- package/dist/src/ide/process-utils.d.ts +21 -0
- package/dist/src/ide/process-utils.js +181 -0
- package/dist/src/ide/process-utils.js.map +1 -0
- package/dist/src/ide/types.d.ts +486 -0
- package/dist/src/ide/types.js +138 -0
- package/dist/src/ide/types.js.map +1 -0
- package/dist/src/index.d.ts +145 -0
- package/dist/src/index.js +161 -0
- package/dist/src/index.js.map +1 -0
- 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 +33 -0
- package/dist/src/mcp/google-auth-provider.js +118 -0
- package/dist/src/mcp/google-auth-provider.js.map +1 -0
- package/dist/src/mcp/oauth-provider.d.ts +160 -0
- package/dist/src/mcp/oauth-provider.js +729 -0
- package/dist/src/mcp/oauth-provider.js.map +1 -0
- package/dist/src/mcp/oauth-token-storage.d.ts +65 -0
- package/dist/src/mcp/oauth-token-storage.js +181 -0
- package/dist/src/mcp/oauth-token-storage.js.map +1 -0
- package/dist/src/mcp/oauth-utils.d.ts +142 -0
- package/dist/src/mcp/oauth-utils.js +289 -0
- package/dist/src/mcp/oauth-utils.js.map +1 -0
- package/dist/src/mcp/sa-impersonation-provider.d.ts +27 -0
- package/dist/src/mcp/sa-impersonation-provider.js +113 -0
- package/dist/src/mcp/sa-impersonation-provider.js.map +1 -0
- package/dist/src/mcp/token-storage/base-token-storage.d.ts +19 -0
- package/dist/src/mcp/token-storage/base-token-storage.js +36 -0
- package/dist/src/mcp/token-storage/base-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
- package/dist/src/mcp/token-storage/file-token-storage.js +145 -0
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.d.ts +23 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.js +78 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/index.d.ts +11 -0
- package/dist/src/mcp/token-storage/index.js +12 -0
- package/dist/src/mcp/token-storage/index.js.map +1 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +35 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.js +246 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/types.d.ts +44 -0
- package/dist/src/mcp/token-storage/types.js +11 -0
- package/dist/src/mcp/token-storage/types.js.map +1 -0
- package/dist/src/mocks/msw.d.ts +6 -0
- package/dist/src/mocks/msw.js +8 -0
- package/dist/src/mocks/msw.js.map +1 -0
- package/dist/src/output/json-formatter.d.ts +11 -0
- package/dist/src/output/json-formatter.js +33 -0
- package/dist/src/output/json-formatter.js.map +1 -0
- package/dist/src/output/stream-json-formatter.d.ts +32 -0
- package/dist/src/output/stream-json-formatter.js +58 -0
- package/dist/src/output/stream-json-formatter.js.map +1 -0
- package/dist/src/output/types.d.ts +85 -0
- package/dist/src/output/types.js +22 -0
- package/dist/src/output/types.js.map +1 -0
- package/dist/src/policy/config.d.ts +31 -0
- package/dist/src/policy/config.js +355 -0
- package/dist/src/policy/config.js.map +1 -0
- package/dist/src/policy/index.d.ts +9 -0
- package/dist/src/policy/index.js +10 -0
- package/dist/src/policy/index.js.map +1 -0
- package/dist/src/policy/policies/discovered.toml +8 -0
- package/dist/src/policy/policies/plan.toml +79 -0
- package/dist/src/policy/policies/read-only.toml +51 -0
- package/dist/src/policy/policies/write.toml +78 -0
- package/dist/src/policy/policies/yolo.toml +32 -0
- package/dist/src/policy/policy-engine.d.ts +65 -0
- package/dist/src/policy/policy-engine.js +357 -0
- package/dist/src/policy/policy-engine.js.map +1 -0
- package/dist/src/policy/stable-stringify.d.ts +58 -0
- package/dist/src/policy/stable-stringify.js +122 -0
- package/dist/src/policy/stable-stringify.js.map +1 -0
- package/dist/src/policy/toml-loader.d.ts +45 -0
- package/dist/src/policy/toml-loader.js +366 -0
- package/dist/src/policy/toml-loader.js.map +1 -0
- package/dist/src/policy/types.d.ts +220 -0
- package/dist/src/policy/types.js +44 -0
- package/dist/src/policy/types.js.map +1 -0
- package/dist/src/policy/utils.d.ts +21 -0
- package/dist/src/policy/utils.js +45 -0
- package/dist/src/policy/utils.js.map +1 -0
- package/dist/src/prompts/mcp-prompts.d.ts +8 -0
- package/dist/src/prompts/mcp-prompts.js +13 -0
- package/dist/src/prompts/mcp-prompts.js.map +1 -0
- package/dist/src/prompts/prompt-registry.d.ts +34 -0
- package/dist/src/prompts/prompt-registry.js +64 -0
- package/dist/src/prompts/prompt-registry.js.map +1 -0
- package/dist/src/prompts/promptProvider.d.ts +18 -0
- package/dist/src/prompts/promptProvider.js +129 -0
- package/dist/src/prompts/promptProvider.js.map +1 -0
- package/dist/src/prompts/snippets.d.ts +76 -0
- package/dist/src/prompts/snippets.js +455 -0
- package/dist/src/prompts/snippets.js.map +1 -0
- package/dist/src/prompts/utils.d.ts +23 -0
- package/dist/src/prompts/utils.js +72 -0
- package/dist/src/prompts/utils.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/routing/modelRouterService.d.ts +23 -0
- package/dist/src/routing/modelRouterService.js +80 -0
- package/dist/src/routing/modelRouterService.js.map +1 -0
- package/dist/src/routing/routingStrategy.d.ts +64 -0
- package/dist/src/routing/routingStrategy.js +7 -0
- package/dist/src/routing/routingStrategy.js.map +1 -0
- package/dist/src/routing/strategies/classifierStrategy.d.ts +12 -0
- package/dist/src/routing/strategies/classifierStrategy.js +152 -0
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -0
- package/dist/src/routing/strategies/compositeStrategy.d.ts +26 -0
- package/dist/src/routing/strategies/compositeStrategy.js +70 -0
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -0
- package/dist/src/routing/strategies/defaultStrategy.d.ts +12 -0
- package/dist/src/routing/strategies/defaultStrategy.js +21 -0
- package/dist/src/routing/strategies/defaultStrategy.js.map +1 -0
- package/dist/src/routing/strategies/fallbackStrategy.d.ts +12 -0
- package/dist/src/routing/strategies/fallbackStrategy.js +33 -0
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -0
- package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +13 -0
- package/dist/src/routing/strategies/numericalClassifierStrategy.js +178 -0
- package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -0
- package/dist/src/routing/strategies/overrideStrategy.d.ts +15 -0
- package/dist/src/routing/strategies/overrideStrategy.js +29 -0
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -0
- package/dist/src/safety/built-in.d.ts +21 -0
- package/dist/src/safety/built-in.js +106 -0
- package/dist/src/safety/built-in.js.map +1 -0
- package/dist/src/safety/checker-runner.d.ts +48 -0
- package/dist/src/safety/checker-runner.js +219 -0
- package/dist/src/safety/checker-runner.js.map +1 -0
- package/dist/src/safety/context-builder.d.ts +23 -0
- package/dist/src/safety/context-builder.js +47 -0
- package/dist/src/safety/context-builder.js.map +1 -0
- package/dist/src/safety/protocol.d.ts +88 -0
- package/dist/src/safety/protocol.js +15 -0
- package/dist/src/safety/protocol.js.map +1 -0
- package/dist/src/safety/registry.d.ts +26 -0
- package/dist/src/safety/registry.js +65 -0
- package/dist/src/safety/registry.js.map +1 -0
- package/dist/src/scheduler/confirmation.d.ts +49 -0
- package/dist/src/scheduler/confirmation.js +183 -0
- package/dist/src/scheduler/confirmation.js.map +1 -0
- package/dist/src/scheduler/policy.d.ts +25 -0
- package/dist/src/scheduler/policy.js +108 -0
- package/dist/src/scheduler/policy.js.map +1 -0
- package/dist/src/scheduler/scheduler.d.ts +61 -0
- package/dist/src/scheduler/scheduler.js +356 -0
- package/dist/src/scheduler/scheduler.js.map +1 -0
- package/dist/src/scheduler/state-manager.d.ts +73 -0
- package/dist/src/scheduler/state-manager.js +356 -0
- package/dist/src/scheduler/state-manager.js.map +1 -0
- package/dist/src/scheduler/tool-executor.d.ts +22 -0
- package/dist/src/scheduler/tool-executor.js +201 -0
- package/dist/src/scheduler/tool-executor.js.map +1 -0
- package/dist/src/scheduler/tool-modifier.d.ts +23 -0
- package/dist/src/scheduler/tool-modifier.js +50 -0
- package/dist/src/scheduler/tool-modifier.js.map +1 -0
- package/dist/src/scheduler/types.d.ts +118 -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 +41 -0
- package/dist/src/services/chatCompressionService.js +339 -0
- package/dist/src/services/chatCompressionService.js.map +1 -0
- package/dist/src/services/chatRecordingService.d.ts +174 -0
- package/dist/src/services/chatRecordingService.js +427 -0
- package/dist/src/services/chatRecordingService.js.map +1 -0
- 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/environmentSanitization.d.ts +15 -0
- package/dist/src/services/environmentSanitization.js +145 -0
- package/dist/src/services/environmentSanitization.js.map +1 -0
- package/dist/src/services/fileDiscoveryService.d.ts +45 -0
- package/dist/src/services/fileDiscoveryService.js +141 -0
- package/dist/src/services/fileDiscoveryService.js.map +1 -0
- package/dist/src/services/fileSystemService.d.ts +31 -0
- package/dist/src/services/fileSystemService.js +18 -0
- package/dist/src/services/fileSystemService.js.map +1 -0
- package/dist/src/services/gitService.d.ts +24 -0
- package/dist/src/services/gitService.js +132 -0
- package/dist/src/services/gitService.js.map +1 -0
- package/dist/src/services/loopDetectionService.d.ts +106 -0
- package/dist/src/services/loopDetectionService.js +433 -0
- package/dist/src/services/loopDetectionService.js.map +1 -0
- package/dist/src/services/modelConfigService.d.ts +86 -0
- package/dist/src/services/modelConfigService.js +215 -0
- package/dist/src/services/modelConfigService.js.map +1 -0
- 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/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/shellExecutionService.d.ts +145 -0
- package/dist/src/services/shellExecutionService.js +871 -0
- package/dist/src/services/shellExecutionService.js.map +1 -0
- package/dist/src/services/test-data/resolved-aliases-retry.golden.json +238 -0
- package/dist/src/services/test-data/resolved-aliases.golden.json +238 -0
- package/dist/src/skills/builtin/skill-creator/SKILL.md +382 -0
- package/dist/src/skills/builtin/skill-creator/scripts/init_skill.cjs +235 -0
- package/dist/src/skills/builtin/skill-creator/scripts/package_skill.cjs +102 -0
- package/dist/src/skills/builtin/skill-creator/scripts/validate_skill.cjs +127 -0
- package/dist/src/skills/skillLoader.d.ts +31 -0
- package/dist/src/skills/skillLoader.js +133 -0
- package/dist/src/skills/skillLoader.js.map +1 -0
- package/dist/src/skills/skillManager.d.ts +69 -0
- package/dist/src/skills/skillManager.js +138 -0
- package/dist/src/skills/skillManager.js.map +1 -0
- package/dist/src/telemetry/activity-detector.d.ts +41 -0
- package/dist/src/telemetry/activity-detector.js +61 -0
- package/dist/src/telemetry/activity-detector.js.map +1 -0
- package/dist/src/telemetry/activity-monitor.d.ts +116 -0
- package/dist/src/telemetry/activity-monitor.js +209 -0
- package/dist/src/telemetry/activity-monitor.js.map +1 -0
- package/dist/src/telemetry/activity-types.d.ts +19 -0
- package/dist/src/telemetry/activity-types.js +21 -0
- package/dist/src/telemetry/activity-types.js.map +1 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +172 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +1316 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -0
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +150 -0
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +377 -0
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -0
- package/dist/src/telemetry/config.d.ts +31 -0
- package/dist/src/telemetry/config.js +78 -0
- package/dist/src/telemetry/config.js.map +1 -0
- package/dist/src/telemetry/constants.d.ts +6 -0
- package/dist/src/telemetry/constants.js +7 -0
- package/dist/src/telemetry/constants.js.map +1 -0
- package/dist/src/telemetry/file-exporters.d.ts +29 -0
- package/dist/src/telemetry/file-exporters.js +62 -0
- package/dist/src/telemetry/file-exporters.js.map +1 -0
- package/dist/src/telemetry/gcp-exporters.d.ts +35 -0
- package/dist/src/telemetry/gcp-exporters.js +120 -0
- package/dist/src/telemetry/gcp-exporters.js.map +1 -0
- package/dist/src/telemetry/high-water-mark-tracker.d.ts +43 -0
- package/dist/src/telemetry/high-water-mark-tracker.js +88 -0
- package/dist/src/telemetry/high-water-mark-tracker.js.map +1 -0
- package/dist/src/telemetry/index.d.ts +33 -0
- package/dist/src/telemetry/index.js +44 -0
- package/dist/src/telemetry/index.js.map +1 -0
- package/dist/src/telemetry/integration.test.circular.d.ts +6 -0
- package/dist/src/telemetry/integration.test.circular.js +54 -0
- package/dist/src/telemetry/integration.test.circular.js.map +1 -0
- package/dist/src/telemetry/loggers.d.ts +46 -0
- package/dist/src/telemetry/loggers.js +517 -0
- package/dist/src/telemetry/loggers.js.map +1 -0
- package/dist/src/telemetry/loggers.test.circular.d.ts +6 -0
- package/dist/src/telemetry/loggers.test.circular.js +107 -0
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -0
- package/dist/src/telemetry/memory-monitor.d.ts +149 -0
- package/dist/src/telemetry/memory-monitor.js +335 -0
- package/dist/src/telemetry/memory-monitor.js.map +1 -0
- package/dist/src/telemetry/metrics.d.ts +533 -0
- package/dist/src/telemetry/metrics.js +852 -0
- package/dist/src/telemetry/metrics.js.map +1 -0
- package/dist/src/telemetry/rate-limiter.d.ts +48 -0
- package/dist/src/telemetry/rate-limiter.js +100 -0
- package/dist/src/telemetry/rate-limiter.js.map +1 -0
- 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/sdk.d.ts +16 -0
- package/dist/src/telemetry/sdk.js +307 -0
- package/dist/src/telemetry/sdk.js.map +1 -0
- package/dist/src/telemetry/semantic.d.ts +82 -0
- package/dist/src/telemetry/semantic.js +357 -0
- package/dist/src/telemetry/semantic.js.map +1 -0
- 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/telemetry-utils.d.ts +6 -0
- package/dist/src/telemetry/telemetry-utils.js +14 -0
- package/dist/src/telemetry/telemetry-utils.js.map +1 -0
- package/dist/src/telemetry/telemetryAttributes.d.ts +8 -0
- package/dist/src/telemetry/telemetryAttributes.js +19 -0
- package/dist/src/telemetry/telemetryAttributes.js.map +1 -0
- package/dist/src/telemetry/tool-call-decision.d.ts +13 -0
- package/dist/src/telemetry/tool-call-decision.js +29 -0
- package/dist/src/telemetry/tool-call-decision.js.map +1 -0
- package/dist/src/telemetry/trace.d.ts +46 -0
- package/dist/src/telemetry/trace.js +121 -0
- package/dist/src/telemetry/trace.js.map +1 -0
- package/dist/src/telemetry/types.d.ts +566 -0
- package/dist/src/telemetry/types.js +1495 -0
- package/dist/src/telemetry/types.js.map +1 -0
- package/dist/src/telemetry/uiTelemetry.d.ts +76 -0
- package/dist/src/telemetry/uiTelemetry.js +154 -0
- package/dist/src/telemetry/uiTelemetry.js.map +1 -0
- package/dist/src/test-utils/config.d.ts +17 -0
- package/dist/src/test-utils/config.js +32 -0
- package/dist/src/test-utils/config.js.map +1 -0
- package/dist/src/test-utils/index.d.ts +6 -0
- package/dist/src/test-utils/index.js +7 -0
- package/dist/src/test-utils/index.js.map +1 -0
- package/dist/src/test-utils/mock-message-bus.d.ts +43 -0
- package/dist/src/test-utils/mock-message-bus.js +96 -0
- package/dist/src/test-utils/mock-message-bus.js.map +1 -0
- package/dist/src/test-utils/mock-tool.d.ts +69 -0
- package/dist/src/test-utils/mock-tool.js +123 -0
- package/dist/src/test-utils/mock-tool.js.map +1 -0
- package/dist/src/test-utils/mockWorkspaceContext.d.ts +13 -0
- package/dist/src/test-utils/mockWorkspaceContext.js +24 -0
- package/dist/src/test-utils/mockWorkspaceContext.js.map +1 -0
- package/dist/src/tools/activate-skill.d.ts +27 -0
- package/dist/src/tools/activate-skill.js +133 -0
- package/dist/src/tools/activate-skill.js.map +1 -0
- package/dist/src/tools/ask-user.d.ts +23 -0
- package/dist/src/tools/ask-user.js +155 -0
- package/dist/src/tools/ask-user.js.map +1 -0
- package/dist/src/tools/constants.d.ts +7 -0
- package/dist/src/tools/constants.js +8 -0
- package/dist/src/tools/constants.js.map +1 -0
- package/dist/src/tools/diffOptions.d.ts +9 -0
- package/dist/src/tools/diffOptions.js +50 -0
- package/dist/src/tools/diffOptions.js.map +1 -0
- package/dist/src/tools/edit.d.ts +79 -0
- package/dist/src/tools/edit.js +750 -0
- package/dist/src/tools/edit.js.map +1 -0
- package/dist/src/tools/get-internal-docs.d.ts +27 -0
- package/dist/src/tools/get-internal-docs.js +122 -0
- package/dist/src/tools/get-internal-docs.js.map +1 -0
- package/dist/src/tools/glob.d.ts +57 -0
- package/dist/src/tools/glob.js +240 -0
- package/dist/src/tools/glob.js.map +1 -0
- package/dist/src/tools/grep.d.ts +41 -0
- package/dist/src/tools/grep.js +505 -0
- package/dist/src/tools/grep.js.map +1 -0
- package/dist/src/tools/ls.d.ts +69 -0
- package/dist/src/tools/ls.js +214 -0
- package/dist/src/tools/ls.js.map +1 -0
- package/dist/src/tools/mcp-client-manager.d.ts +93 -0
- package/dist/src/tools/mcp-client-manager.js +338 -0
- package/dist/src/tools/mcp-client-manager.js.map +1 -0
- package/dist/src/tools/mcp-client.d.ts +243 -0
- package/dist/src/tools/mcp-client.js +1351 -0
- package/dist/src/tools/mcp-client.js.map +1 -0
- package/dist/src/tools/mcp-tool.d.ts +49 -0
- package/dist/src/tools/mcp-tool.js +300 -0
- package/dist/src/tools/mcp-tool.js.map +1 -0
- package/dist/src/tools/memoryTool.d.ts +42 -0
- package/dist/src/tools/memoryTool.js +269 -0
- package/dist/src/tools/memoryTool.js.map +1 -0
- package/dist/src/tools/modifiable-tool.d.ts +36 -0
- package/dist/src/tools/modifiable-tool.js +110 -0
- package/dist/src/tools/modifiable-tool.js.map +1 -0
- package/dist/src/tools/read-file.d.ts +37 -0
- package/dist/src/tools/read-file.js +141 -0
- package/dist/src/tools/read-file.js.map +1 -0
- package/dist/src/tools/read-many-files.d.ts +54 -0
- package/dist/src/tools/read-many-files.js +364 -0
- package/dist/src/tools/read-many-files.js.map +1 -0
- package/dist/src/tools/ripGrep.d.ts +74 -0
- package/dist/src/tools/ripGrep.js +422 -0
- package/dist/src/tools/ripGrep.js.map +1 -0
- package/dist/src/tools/shell.d.ts +33 -0
- package/dist/src/tools/shell.js +436 -0
- package/dist/src/tools/shell.js.map +1 -0
- package/dist/src/tools/tool-error.d.ts +70 -0
- package/dist/src/tools/tool-error.js +92 -0
- package/dist/src/tools/tool-error.js.map +1 -0
- package/dist/src/tools/tool-names.d.ts +41 -0
- package/dist/src/tools/tool-names.js +94 -0
- package/dist/src/tools/tool-names.js.map +1 -0
- package/dist/src/tools/tool-registry.d.ts +103 -0
- package/dist/src/tools/tool-registry.js +429 -0
- package/dist/src/tools/tool-registry.js.map +1 -0
- package/dist/src/tools/tools.d.ts +347 -0
- package/dist/src/tools/tools.js +405 -0
- package/dist/src/tools/tools.js.map +1 -0
- package/dist/src/tools/web-fetch.d.ts +35 -0
- package/dist/src/tools/web-fetch.js +299 -0
- package/dist/src/tools/web-fetch.js.map +1 -0
- package/dist/src/tools/web-search.d.ts +50 -0
- package/dist/src/tools/web-search.js +141 -0
- package/dist/src/tools/web-search.js.map +1 -0
- package/dist/src/tools/write-file.d.ts +53 -0
- package/dist/src/tools/write-file.js +341 -0
- package/dist/src/tools/write-file.js.map +1 -0
- package/dist/src/tools/write-todos.d.ts +50 -0
- package/dist/src/tools/write-todos.js +194 -0
- package/dist/src/tools/write-todos.js.map +1 -0
- package/dist/src/utils/apiConversionUtils.d.ts +12 -0
- package/dist/src/utils/apiConversionUtils.js +46 -0
- package/dist/src/utils/apiConversionUtils.js.map +1 -0
- package/dist/src/utils/bfsFileSearch.d.ts +32 -0
- package/dist/src/utils/bfsFileSearch.js +136 -0
- package/dist/src/utils/bfsFileSearch.js.map +1 -0
- package/dist/src/utils/browser.d.ts +13 -0
- package/dist/src/utils/browser.js +50 -0
- package/dist/src/utils/browser.js.map +1 -0
- package/dist/src/utils/channel.d.ts +19 -0
- package/dist/src/utils/channel.js +49 -0
- package/dist/src/utils/channel.js.map +1 -0
- 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/constants.d.ts +7 -0
- package/dist/src/utils/constants.js +8 -0
- package/dist/src/utils/constants.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/debugLogger.d.ts +28 -0
- package/dist/src/utils/debugLogger.js +61 -0
- package/dist/src/utils/debugLogger.js.map +1 -0
- package/dist/src/utils/delay.d.ts +16 -0
- package/dist/src/utils/delay.js +43 -0
- package/dist/src/utils/delay.js.map +1 -0
- package/dist/src/utils/editCorrector.d.ts +54 -0
- package/dist/src/utils/editCorrector.js +596 -0
- package/dist/src/utils/editCorrector.js.map +1 -0
- package/dist/src/utils/editor.d.ts +39 -0
- package/dist/src/utils/editor.js +219 -0
- package/dist/src/utils/editor.js.map +1 -0
- package/dist/src/utils/environmentContext.d.ts +23 -0
- package/dist/src/utils/environmentContext.js +81 -0
- package/dist/src/utils/environmentContext.js.map +1 -0
- package/dist/src/utils/errorParsing.d.ts +8 -0
- package/dist/src/utils/errorParsing.js +65 -0
- package/dist/src/utils/errorParsing.js.map +1 -0
- package/dist/src/utils/errorReporting.d.ts +14 -0
- package/dist/src/utils/errorReporting.js +89 -0
- package/dist/src/utils/errorReporting.js.map +1 -0
- package/dist/src/utils/errors.d.ts +53 -0
- package/dist/src/utils/errors.js +145 -0
- package/dist/src/utils/errors.js.map +1 -0
- package/dist/src/utils/events.d.ts +211 -0
- package/dist/src/utils/events.js +134 -0
- package/dist/src/utils/events.js.map +1 -0
- 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 +86 -0
- package/dist/src/utils/extensionLoader.js +208 -0
- package/dist/src/utils/extensionLoader.js.map +1 -0
- package/dist/src/utils/fetch.d.ts +12 -0
- package/dist/src/utils/fetch.js +55 -0
- package/dist/src/utils/fetch.js.map +1 -0
- package/dist/src/utils/fileDiffUtils.d.ts +18 -0
- package/dist/src/utils/fileDiffUtils.js +37 -0
- package/dist/src/utils/fileDiffUtils.js.map +1 -0
- package/dist/src/utils/fileUtils.d.ts +86 -0
- package/dist/src/utils/fileUtils.js +495 -0
- package/dist/src/utils/fileUtils.js.map +1 -0
- package/dist/src/utils/filesearch/crawlCache.d.ts +25 -0
- package/dist/src/utils/filesearch/crawlCache.js +57 -0
- package/dist/src/utils/filesearch/crawlCache.js.map +1 -0
- package/dist/src/utils/filesearch/crawler.d.ts +16 -0
- package/dist/src/utils/filesearch/crawler.js +67 -0
- package/dist/src/utils/filesearch/crawler.js.map +1 -0
- package/dist/src/utils/filesearch/fileSearch.d.ts +39 -0
- package/dist/src/utils/filesearch/fileSearch.js +192 -0
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -0
- package/dist/src/utils/filesearch/ignore.d.ts +37 -0
- package/dist/src/utils/filesearch/ignore.js +99 -0
- package/dist/src/utils/filesearch/ignore.js.map +1 -0
- package/dist/src/utils/filesearch/result-cache.d.ts +33 -0
- package/dist/src/utils/filesearch/result-cache.js +59 -0
- package/dist/src/utils/filesearch/result-cache.js.map +1 -0
- package/dist/src/utils/formatters.d.ts +7 -0
- package/dist/src/utils/formatters.js +17 -0
- package/dist/src/utils/formatters.js.map +1 -0
- package/dist/src/utils/generateContentResponseUtilities.d.ts +15 -0
- package/dist/src/utils/generateContentResponseUtilities.js +186 -0
- package/dist/src/utils/generateContentResponseUtilities.js.map +1 -0
- package/dist/src/utils/getFolderStructure.d.ts +31 -0
- package/dist/src/utils/getFolderStructure.js +243 -0
- package/dist/src/utils/getFolderStructure.js.map +1 -0
- package/dist/src/utils/getPty.d.ts +19 -0
- package/dist/src/utils/getPty.js +23 -0
- package/dist/src/utils/getPty.js.map +1 -0
- package/dist/src/utils/gitIgnoreParser.d.ts +19 -0
- package/dist/src/utils/gitIgnoreParser.js +169 -0
- package/dist/src/utils/gitIgnoreParser.js.map +1 -0
- package/dist/src/utils/gitUtils.d.ts +17 -0
- package/dist/src/utils/gitUtils.js +61 -0
- package/dist/src/utils/gitUtils.js.map +1 -0
- package/dist/src/utils/googleErrors.d.ts +104 -0
- package/dist/src/utils/googleErrors.js +165 -0
- package/dist/src/utils/googleErrors.js.map +1 -0
- package/dist/src/utils/googleQuotaErrors.d.ts +51 -0
- package/dist/src/utils/googleQuotaErrors.js +250 -0
- package/dist/src/utils/googleQuotaErrors.js.map +1 -0
- package/dist/src/utils/httpErrors.d.ts +18 -0
- package/dist/src/utils/httpErrors.js +36 -0
- package/dist/src/utils/httpErrors.js.map +1 -0
- package/dist/src/utils/ignoreFileParser.d.ts +30 -0
- package/dist/src/utils/ignoreFileParser.js +100 -0
- package/dist/src/utils/ignoreFileParser.js.map +1 -0
- package/dist/src/utils/ignorePatterns.d.ts +103 -0
- package/dist/src/utils/ignorePatterns.js +220 -0
- package/dist/src/utils/ignorePatterns.js.map +1 -0
- package/dist/src/utils/installationManager.d.ts +16 -0
- package/dist/src/utils/installationManager.js +51 -0
- package/dist/src/utils/installationManager.js.map +1 -0
- package/dist/src/utils/language-detection.d.ts +6 -0
- package/dist/src/utils/language-detection.js +101 -0
- package/dist/src/utils/language-detection.js.map +1 -0
- package/dist/src/utils/llm-edit-fixer.d.ts +26 -0
- package/dist/src/utils/llm-edit-fixer.js +152 -0
- package/dist/src/utils/llm-edit-fixer.js.map +1 -0
- package/dist/src/utils/memoryDiscovery.d.ts +40 -0
- package/dist/src/utils/memoryDiscovery.js +421 -0
- package/dist/src/utils/memoryDiscovery.js.map +1 -0
- package/dist/src/utils/memoryImportProcessor.d.ts +42 -0
- package/dist/src/utils/memoryImportProcessor.js +273 -0
- package/dist/src/utils/memoryImportProcessor.js.map +1 -0
- package/dist/src/utils/messageInspectors.d.ts +8 -0
- package/dist/src/utils/messageInspectors.js +16 -0
- package/dist/src/utils/messageInspectors.js.map +1 -0
- package/dist/src/utils/nextSpeakerChecker.d.ts +12 -0
- package/dist/src/utils/nextSpeakerChecker.js +97 -0
- package/dist/src/utils/nextSpeakerChecker.js.map +1 -0
- package/dist/src/utils/package.d.ts +26 -0
- package/dist/src/utils/package.js +35 -0
- package/dist/src/utils/package.js.map +1 -0
- package/dist/src/utils/partUtils.d.ts +35 -0
- package/dist/src/utils/partUtils.js +133 -0
- package/dist/src/utils/partUtils.js.map +1 -0
- package/dist/src/utils/pathCorrector.d.ts +25 -0
- package/dist/src/utils/pathCorrector.js +43 -0
- package/dist/src/utils/pathCorrector.js.map +1 -0
- package/dist/src/utils/pathReader.d.ts +17 -0
- package/dist/src/utils/pathReader.js +92 -0
- package/dist/src/utils/pathReader.js.map +1 -0
- package/dist/src/utils/paths.d.ts +78 -0
- package/dist/src/utils/paths.js +311 -0
- package/dist/src/utils/paths.js.map +1 -0
- package/dist/src/utils/process-utils.d.ts +32 -0
- package/dist/src/utils/process-utils.js +88 -0
- package/dist/src/utils/process-utils.js.map +1 -0
- package/dist/src/utils/promptIdContext.d.ts +13 -0
- package/dist/src/utils/promptIdContext.js +23 -0
- package/dist/src/utils/promptIdContext.js.map +1 -0
- package/dist/src/utils/quotaErrorDetection.d.ts +16 -0
- package/dist/src/utils/quotaErrorDetection.js +19 -0
- package/dist/src/utils/quotaErrorDetection.js.map +1 -0
- package/dist/src/utils/retry.d.ts +39 -0
- package/dist/src/utils/retry.js +267 -0
- package/dist/src/utils/retry.js.map +1 -0
- package/dist/src/utils/safeJsonStringify.d.ts +13 -0
- package/dist/src/utils/safeJsonStringify.js +49 -0
- package/dist/src/utils/safeJsonStringify.js.map +1 -0
- package/dist/src/utils/schemaValidator.d.ts +21 -0
- package/dist/src/utils/schemaValidator.js +59 -0
- package/dist/src/utils/schemaValidator.js.map +1 -0
- package/dist/src/utils/secure-browser-launcher.d.ts +23 -0
- package/dist/src/utils/secure-browser-launcher.js +165 -0
- package/dist/src/utils/secure-browser-launcher.js.map +1 -0
- package/dist/src/utils/security.d.ts +16 -0
- package/dist/src/utils/security.js +88 -0
- package/dist/src/utils/security.js.map +1 -0
- package/dist/src/utils/session.d.ts +6 -0
- package/dist/src/utils/session.js +8 -0
- package/dist/src/utils/session.js.map +1 -0
- package/dist/src/utils/shell-utils.d.ts +118 -0
- package/dist/src/utils/shell-utils.js +708 -0
- package/dist/src/utils/shell-utils.js.map +1 -0
- package/dist/src/utils/stdio.d.ts +32 -0
- package/dist/src/utils/stdio.js +85 -0
- package/dist/src/utils/stdio.js.map +1 -0
- package/dist/src/utils/summarizer.d.ts +27 -0
- package/dist/src/utils/summarizer.js +50 -0
- package/dist/src/utils/summarizer.js.map +1 -0
- package/dist/src/utils/systemEncoding.d.ts +40 -0
- package/dist/src/utils/systemEncoding.js +150 -0
- package/dist/src/utils/systemEncoding.js.map +1 -0
- package/dist/src/utils/terminal.d.ts +22 -0
- package/dist/src/utils/terminal.js +62 -0
- package/dist/src/utils/terminal.js.map +1 -0
- package/dist/src/utils/terminalSerializer.d.ts +25 -0
- package/dist/src/utils/terminalSerializer.js +444 -0
- package/dist/src/utils/terminalSerializer.js.map +1 -0
- package/dist/src/utils/testUtils.d.ts +29 -0
- package/dist/src/utils/testUtils.js +70 -0
- package/dist/src/utils/testUtils.js.map +1 -0
- package/dist/src/utils/textUtils.d.ts +32 -0
- package/dist/src/utils/textUtils.js +65 -0
- package/dist/src/utils/textUtils.js.map +1 -0
- package/dist/src/utils/thoughtUtils.d.ts +21 -0
- package/dist/src/utils/thoughtUtils.js +39 -0
- package/dist/src/utils/thoughtUtils.js.map +1 -0
- package/dist/src/utils/tokenCalculation.d.ts +19 -0
- package/dist/src/utils/tokenCalculation.js +150 -0
- package/dist/src/utils/tokenCalculation.js.map +1 -0
- package/dist/src/utils/tool-utils.d.ts +28 -0
- package/dist/src/utils/tool-utils.js +96 -0
- package/dist/src/utils/tool-utils.js.map +1 -0
- package/dist/src/utils/toolCallContext.d.ts +35 -0
- package/dist/src/utils/toolCallContext.js +29 -0
- package/dist/src/utils/toolCallContext.js.map +1 -0
- package/dist/src/utils/userAccountManager.d.ts +20 -0
- package/dist/src/utils/userAccountManager.js +115 -0
- package/dist/src/utils/userAccountManager.js.map +1 -0
- 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/workspaceContext.d.ts +82 -0
- package/dist/src/utils/workspaceContext.js +192 -0
- package/dist/src/utils/workspaceContext.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +97 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export declare const GLOB_TOOL_NAME = "glob";
|
|
7
|
+
export declare const WRITE_TODOS_TOOL_NAME = "write_todos";
|
|
8
|
+
export declare const WRITE_FILE_TOOL_NAME = "write_file";
|
|
9
|
+
export declare const WEB_SEARCH_TOOL_NAME = "google_web_search";
|
|
10
|
+
export declare const WEB_FETCH_TOOL_NAME = "web_fetch";
|
|
11
|
+
export declare const EDIT_TOOL_NAME = "replace";
|
|
12
|
+
export declare const SHELL_TOOL_NAME = "run_shell_command";
|
|
13
|
+
export declare const GREP_TOOL_NAME = "search_file_content";
|
|
14
|
+
export declare const READ_MANY_FILES_TOOL_NAME = "read_many_files";
|
|
15
|
+
export declare const READ_FILE_TOOL_NAME = "read_file";
|
|
16
|
+
export declare const LS_TOOL_NAME = "list_directory";
|
|
17
|
+
export declare const MEMORY_TOOL_NAME = "save_memory";
|
|
18
|
+
export declare const GET_INTERNAL_DOCS_TOOL_NAME = "get_internal_docs";
|
|
19
|
+
export declare const ACTIVATE_SKILL_TOOL_NAME = "activate_skill";
|
|
20
|
+
export declare const EDIT_TOOL_NAMES: Set<string>;
|
|
21
|
+
export declare const ASK_USER_TOOL_NAME = "ask_user";
|
|
22
|
+
export declare const ASK_USER_DISPLAY_NAME = "Ask User";
|
|
23
|
+
/** Prefix used for tools discovered via the toolDiscoveryCommand. */
|
|
24
|
+
export declare const DISCOVERED_TOOL_PREFIX = "discovered_tool_";
|
|
25
|
+
/**
|
|
26
|
+
* List of all built-in tool names.
|
|
27
|
+
*/
|
|
28
|
+
export declare const ALL_BUILTIN_TOOL_NAMES: readonly ["glob", "write_todos", "write_file", "google_web_search", "web_fetch", "replace", "run_shell_command", "search_file_content", "read_many_files", "read_file", "list_directory", "save_memory", "activate_skill", "ask_user"];
|
|
29
|
+
/**
|
|
30
|
+
* Read-only tools available in Plan Mode.
|
|
31
|
+
* This list is used to dynamically generate the Plan Mode prompt,
|
|
32
|
+
* filtered by what tools are actually enabled in the current configuration.
|
|
33
|
+
*/
|
|
34
|
+
export declare const PLAN_MODE_TOOLS: readonly ["glob", "search_file_content", "read_file", "list_directory", "google_web_search", "ask_user"];
|
|
35
|
+
/**
|
|
36
|
+
* Validates if a tool name is syntactically valid.
|
|
37
|
+
* Checks against built-in tools, discovered tools, and MCP naming conventions.
|
|
38
|
+
*/
|
|
39
|
+
export declare function isValidToolName(name: string, options?: {
|
|
40
|
+
allowWildcards?: boolean;
|
|
41
|
+
}): boolean;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
// Centralized constants for tool names.
|
|
7
|
+
// This prevents circular dependencies that can occur when other modules (like agents)
|
|
8
|
+
// need to reference a tool's name without importing the tool's implementation.
|
|
9
|
+
export const GLOB_TOOL_NAME = 'glob';
|
|
10
|
+
export const WRITE_TODOS_TOOL_NAME = 'write_todos';
|
|
11
|
+
export const WRITE_FILE_TOOL_NAME = 'write_file';
|
|
12
|
+
export const WEB_SEARCH_TOOL_NAME = 'google_web_search';
|
|
13
|
+
export const WEB_FETCH_TOOL_NAME = 'web_fetch';
|
|
14
|
+
export const EDIT_TOOL_NAME = 'replace';
|
|
15
|
+
export const SHELL_TOOL_NAME = 'run_shell_command';
|
|
16
|
+
export const GREP_TOOL_NAME = 'search_file_content';
|
|
17
|
+
export const READ_MANY_FILES_TOOL_NAME = 'read_many_files';
|
|
18
|
+
export const READ_FILE_TOOL_NAME = 'read_file';
|
|
19
|
+
export const LS_TOOL_NAME = 'list_directory';
|
|
20
|
+
export const MEMORY_TOOL_NAME = 'save_memory';
|
|
21
|
+
export const GET_INTERNAL_DOCS_TOOL_NAME = 'get_internal_docs';
|
|
22
|
+
export const ACTIVATE_SKILL_TOOL_NAME = 'activate_skill';
|
|
23
|
+
export const EDIT_TOOL_NAMES = new Set([EDIT_TOOL_NAME, WRITE_FILE_TOOL_NAME]);
|
|
24
|
+
export const ASK_USER_TOOL_NAME = 'ask_user';
|
|
25
|
+
export const ASK_USER_DISPLAY_NAME = 'Ask User';
|
|
26
|
+
/** Prefix used for tools discovered via the toolDiscoveryCommand. */
|
|
27
|
+
export const DISCOVERED_TOOL_PREFIX = 'discovered_tool_';
|
|
28
|
+
/**
|
|
29
|
+
* List of all built-in tool names.
|
|
30
|
+
*/
|
|
31
|
+
export const ALL_BUILTIN_TOOL_NAMES = [
|
|
32
|
+
GLOB_TOOL_NAME,
|
|
33
|
+
WRITE_TODOS_TOOL_NAME,
|
|
34
|
+
WRITE_FILE_TOOL_NAME,
|
|
35
|
+
WEB_SEARCH_TOOL_NAME,
|
|
36
|
+
WEB_FETCH_TOOL_NAME,
|
|
37
|
+
EDIT_TOOL_NAME,
|
|
38
|
+
SHELL_TOOL_NAME,
|
|
39
|
+
GREP_TOOL_NAME,
|
|
40
|
+
READ_MANY_FILES_TOOL_NAME,
|
|
41
|
+
READ_FILE_TOOL_NAME,
|
|
42
|
+
LS_TOOL_NAME,
|
|
43
|
+
MEMORY_TOOL_NAME,
|
|
44
|
+
ACTIVATE_SKILL_TOOL_NAME,
|
|
45
|
+
ASK_USER_TOOL_NAME,
|
|
46
|
+
];
|
|
47
|
+
/**
|
|
48
|
+
* Read-only tools available in Plan Mode.
|
|
49
|
+
* This list is used to dynamically generate the Plan Mode prompt,
|
|
50
|
+
* filtered by what tools are actually enabled in the current configuration.
|
|
51
|
+
*/
|
|
52
|
+
export const PLAN_MODE_TOOLS = [
|
|
53
|
+
GLOB_TOOL_NAME,
|
|
54
|
+
GREP_TOOL_NAME,
|
|
55
|
+
READ_FILE_TOOL_NAME,
|
|
56
|
+
LS_TOOL_NAME,
|
|
57
|
+
WEB_SEARCH_TOOL_NAME,
|
|
58
|
+
ASK_USER_TOOL_NAME,
|
|
59
|
+
];
|
|
60
|
+
/**
|
|
61
|
+
* Validates if a tool name is syntactically valid.
|
|
62
|
+
* Checks against built-in tools, discovered tools, and MCP naming conventions.
|
|
63
|
+
*/
|
|
64
|
+
export function isValidToolName(name, options = {}) {
|
|
65
|
+
// Built-in tools
|
|
66
|
+
if (ALL_BUILTIN_TOOL_NAMES.includes(name)) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
// Discovered tools
|
|
70
|
+
if (name.startsWith(DISCOVERED_TOOL_PREFIX)) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
// Policy wildcards
|
|
74
|
+
if (options.allowWildcards && name === '*') {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
// MCP tools (format: server__tool)
|
|
78
|
+
if (name.includes('__')) {
|
|
79
|
+
const parts = name.split('__');
|
|
80
|
+
if (parts.length !== 2 || parts[0].length === 0 || parts[1].length === 0) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
const server = parts[0];
|
|
84
|
+
const tool = parts[1];
|
|
85
|
+
if (tool === '*') {
|
|
86
|
+
return !!options.allowWildcards;
|
|
87
|
+
}
|
|
88
|
+
// Basic slug validation for server and tool names
|
|
89
|
+
const slugRegex = /^[a-z0-9-_]+$/i;
|
|
90
|
+
return slugRegex.test(server) && slugRegex.test(tool);
|
|
91
|
+
}
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=tool-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-names.js","sourceRoot":"","sources":["../../../src/tools/tool-names.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wCAAwC;AACxC,sFAAsF;AACtF,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC;AACpD,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;AAC/D,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEhD,qEAAqE;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,cAAc;IACd,qBAAqB;IACrB,oBAAoB;IACpB,oBAAoB;IACpB,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,cAAc;IACd,yBAAyB;IACzB,mBAAmB;IACnB,YAAY;IACZ,gBAAgB;IAChB,wBAAwB;IACxB,kBAAkB;CACV,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,oBAAoB;IACpB,kBAAkB;CACV,CAAC;AAEX;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,UAAwC,EAAE;IAE1C,iBAAiB;IACjB,IAAK,sBAA4C,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB;IACnB,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mCAAmC;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAClC,CAAC;QAED,kDAAkD;QAClD,MAAM,SAAS,GAAG,gBAAgB,CAAC;QACnC,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import type { AnyDeclarativeTool, ToolResult, ToolInvocation } from './tools.js';
|
|
8
|
+
import { BaseDeclarativeTool } from './tools.js';
|
|
9
|
+
import type { Config } from '../config/config.js';
|
|
10
|
+
import type { MessageBus } from '../confirmation-bus/message-bus.js';
|
|
11
|
+
type ToolParams = Record<string, unknown>;
|
|
12
|
+
export declare class DiscoveredTool extends BaseDeclarativeTool<ToolParams, ToolResult> {
|
|
13
|
+
private readonly config;
|
|
14
|
+
readonly parameterSchema: Record<string, unknown>;
|
|
15
|
+
private readonly originalName;
|
|
16
|
+
constructor(config: Config, originalName: string, prefixedName: string, description: string, parameterSchema: Record<string, unknown>, messageBus: MessageBus);
|
|
17
|
+
protected createInvocation(params: ToolParams, messageBus: MessageBus, _toolName?: string, _displayName?: string): ToolInvocation<ToolParams, ToolResult>;
|
|
18
|
+
}
|
|
19
|
+
export declare class ToolRegistry {
|
|
20
|
+
private allKnownTools;
|
|
21
|
+
private config;
|
|
22
|
+
private messageBus;
|
|
23
|
+
constructor(config: Config, messageBus: MessageBus);
|
|
24
|
+
getMessageBus(): MessageBus;
|
|
25
|
+
/**
|
|
26
|
+
* Registers a tool definition.
|
|
27
|
+
*
|
|
28
|
+
* Note that excluded tools are still registered to allow for enabling them
|
|
29
|
+
* later in the session.
|
|
30
|
+
*
|
|
31
|
+
* @param tool - The tool object containing schema and execution logic.
|
|
32
|
+
*/
|
|
33
|
+
registerTool(tool: AnyDeclarativeTool): void;
|
|
34
|
+
/**
|
|
35
|
+
* Unregisters a tool definition by name.
|
|
36
|
+
*
|
|
37
|
+
* @param name - The name of the tool to unregister.
|
|
38
|
+
*/
|
|
39
|
+
unregisterTool(name: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* Sorts tools as:
|
|
42
|
+
* 1. Built in tools.
|
|
43
|
+
* 2. Discovered tools.
|
|
44
|
+
* 3. MCP tools ordered by server name.
|
|
45
|
+
*
|
|
46
|
+
* This is a stable sort in that tries preserve existing order.
|
|
47
|
+
*/
|
|
48
|
+
sortTools(): void;
|
|
49
|
+
private removeDiscoveredTools;
|
|
50
|
+
/**
|
|
51
|
+
* Removes all tools from a specific MCP server.
|
|
52
|
+
* @param serverName The name of the server to remove tools from.
|
|
53
|
+
*/
|
|
54
|
+
removeMcpToolsByServer(serverName: string): void;
|
|
55
|
+
/**
|
|
56
|
+
* Discovers tools from project (if available and configured).
|
|
57
|
+
* Can be called multiple times to update discovered tools.
|
|
58
|
+
* This will discover tools from the command line and from MCP servers.
|
|
59
|
+
*/
|
|
60
|
+
discoverAllTools(): Promise<void>;
|
|
61
|
+
private discoverAndRegisterToolsFromCommand;
|
|
62
|
+
/**
|
|
63
|
+
* @returns All the tools that are not excluded.
|
|
64
|
+
*/
|
|
65
|
+
private getActiveTools;
|
|
66
|
+
/**
|
|
67
|
+
* @param tool
|
|
68
|
+
* @param excludeTools (optional, helps performance for repeated calls)
|
|
69
|
+
* @returns Whether or not the `tool` is not excluded.
|
|
70
|
+
*/
|
|
71
|
+
private isActiveTool;
|
|
72
|
+
/**
|
|
73
|
+
* Retrieves the list of tool schemas (FunctionDeclaration array).
|
|
74
|
+
* Extracts the declarations from the ToolListUnion structure.
|
|
75
|
+
* Includes discovered (vs registered) tools if configured.
|
|
76
|
+
* @returns An array of FunctionDeclarations.
|
|
77
|
+
*/
|
|
78
|
+
getFunctionDeclarations(): FunctionDeclaration[];
|
|
79
|
+
/**
|
|
80
|
+
* Retrieves a filtered list of tool schemas based on a list of tool names.
|
|
81
|
+
* @param toolNames - An array of tool names to include.
|
|
82
|
+
* @returns An array of FunctionDeclarations for the specified tools.
|
|
83
|
+
*/
|
|
84
|
+
getFunctionDeclarationsFiltered(toolNames: string[]): FunctionDeclaration[];
|
|
85
|
+
/**
|
|
86
|
+
* Returns an array of all registered and discovered tool names which are not
|
|
87
|
+
* excluded via configuration.
|
|
88
|
+
*/
|
|
89
|
+
getAllToolNames(): string[];
|
|
90
|
+
/**
|
|
91
|
+
* Returns an array of all registered and discovered tool instances.
|
|
92
|
+
*/
|
|
93
|
+
getAllTools(): AnyDeclarativeTool[];
|
|
94
|
+
/**
|
|
95
|
+
* Returns an array of tools registered from a specific MCP server.
|
|
96
|
+
*/
|
|
97
|
+
getToolsByServer(serverName: string): AnyDeclarativeTool[];
|
|
98
|
+
/**
|
|
99
|
+
* Get the definition of a specific tool.
|
|
100
|
+
*/
|
|
101
|
+
getTool(name: string): AnyDeclarativeTool | undefined;
|
|
102
|
+
}
|
|
103
|
+
export {};
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Kind, BaseDeclarativeTool, BaseToolInvocation } from './tools.js';
|
|
7
|
+
import { spawn } from 'node:child_process';
|
|
8
|
+
import { StringDecoder } from 'node:string_decoder';
|
|
9
|
+
import { DiscoveredMCPTool } from './mcp-tool.js';
|
|
10
|
+
import { parse } from 'shell-quote';
|
|
11
|
+
import { ToolErrorType } from './tool-error.js';
|
|
12
|
+
import { safeJsonStringify } from '../utils/safeJsonStringify.js';
|
|
13
|
+
import { debugLogger } from '../utils/debugLogger.js';
|
|
14
|
+
import { coreEvents } from '../utils/events.js';
|
|
15
|
+
import { DISCOVERED_TOOL_PREFIX } from './tool-names.js';
|
|
16
|
+
class DiscoveredToolInvocation extends BaseToolInvocation {
|
|
17
|
+
config;
|
|
18
|
+
originalToolName;
|
|
19
|
+
constructor(config, originalToolName, prefixedToolName, params, messageBus) {
|
|
20
|
+
super(params, messageBus, prefixedToolName);
|
|
21
|
+
this.config = config;
|
|
22
|
+
this.originalToolName = originalToolName;
|
|
23
|
+
}
|
|
24
|
+
getDescription() {
|
|
25
|
+
return safeJsonStringify(this.params);
|
|
26
|
+
}
|
|
27
|
+
async execute(_signal, _updateOutput) {
|
|
28
|
+
const callCommand = this.config.getToolCallCommand();
|
|
29
|
+
const child = spawn(callCommand, [this.originalToolName]);
|
|
30
|
+
child.stdin.write(JSON.stringify(this.params));
|
|
31
|
+
child.stdin.end();
|
|
32
|
+
let stdout = '';
|
|
33
|
+
let stderr = '';
|
|
34
|
+
let error = null;
|
|
35
|
+
let code = null;
|
|
36
|
+
let signal = null;
|
|
37
|
+
await new Promise((resolve) => {
|
|
38
|
+
const onStdout = (data) => {
|
|
39
|
+
stdout += data?.toString();
|
|
40
|
+
};
|
|
41
|
+
const onStderr = (data) => {
|
|
42
|
+
stderr += data?.toString();
|
|
43
|
+
};
|
|
44
|
+
const onError = (err) => {
|
|
45
|
+
error = err;
|
|
46
|
+
};
|
|
47
|
+
const onClose = (_code, _signal) => {
|
|
48
|
+
code = _code;
|
|
49
|
+
signal = _signal;
|
|
50
|
+
cleanup();
|
|
51
|
+
resolve();
|
|
52
|
+
};
|
|
53
|
+
const cleanup = () => {
|
|
54
|
+
child.stdout.removeListener('data', onStdout);
|
|
55
|
+
child.stderr.removeListener('data', onStderr);
|
|
56
|
+
child.removeListener('error', onError);
|
|
57
|
+
child.removeListener('close', onClose);
|
|
58
|
+
if (child.connected) {
|
|
59
|
+
child.disconnect();
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
child.stdout.on('data', onStdout);
|
|
63
|
+
child.stderr.on('data', onStderr);
|
|
64
|
+
child.on('error', onError);
|
|
65
|
+
child.on('close', onClose);
|
|
66
|
+
});
|
|
67
|
+
// if there is any error, non-zero exit code, signal, or stderr, return error details instead of stdout
|
|
68
|
+
if (error || code !== 0 || signal || stderr) {
|
|
69
|
+
const llmContent = [
|
|
70
|
+
`Stdout: ${stdout || '(empty)'}`,
|
|
71
|
+
`Stderr: ${stderr || '(empty)'}`,
|
|
72
|
+
`Error: ${error ?? '(none)'}`,
|
|
73
|
+
`Exit Code: ${code ?? '(none)'}`,
|
|
74
|
+
`Signal: ${signal ?? '(none)'}`,
|
|
75
|
+
].join('\n');
|
|
76
|
+
return {
|
|
77
|
+
llmContent,
|
|
78
|
+
returnDisplay: llmContent,
|
|
79
|
+
error: {
|
|
80
|
+
message: llmContent,
|
|
81
|
+
type: ToolErrorType.DISCOVERED_TOOL_EXECUTION_ERROR,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
llmContent: stdout,
|
|
87
|
+
returnDisplay: stdout,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export class DiscoveredTool extends BaseDeclarativeTool {
|
|
92
|
+
config;
|
|
93
|
+
parameterSchema;
|
|
94
|
+
originalName;
|
|
95
|
+
constructor(config, originalName, prefixedName, description, parameterSchema, messageBus) {
|
|
96
|
+
const discoveryCmd = config.getToolDiscoveryCommand();
|
|
97
|
+
const callCommand = config.getToolCallCommand();
|
|
98
|
+
const fullDescription = description +
|
|
99
|
+
`
|
|
100
|
+
|
|
101
|
+
This tool was discovered from the project by executing the command \`${discoveryCmd}\` on project root.
|
|
102
|
+
When called, this tool will execute the command \`${callCommand} ${originalName}\` on project root.
|
|
103
|
+
Tool discovery and call commands can be configured in project or user settings.
|
|
104
|
+
|
|
105
|
+
When called, the tool call command is executed as a subprocess.
|
|
106
|
+
On success, tool output is returned as a json string.
|
|
107
|
+
Otherwise, the following information is returned:
|
|
108
|
+
|
|
109
|
+
Stdout: Output on stdout stream. Can be \`(empty)\` or partial.
|
|
110
|
+
Stderr: Output on stderr stream. Can be \`(empty)\` or partial.
|
|
111
|
+
Error: Error or \`(none)\` if no error was reported for the subprocess.
|
|
112
|
+
Exit Code: Exit code or \`(none)\` if terminated by signal.
|
|
113
|
+
Signal: Signal number or \`(none)\` if no signal was received.
|
|
114
|
+
`;
|
|
115
|
+
super(prefixedName, prefixedName, fullDescription, Kind.Other, parameterSchema, messageBus, false, // isOutputMarkdown
|
|
116
|
+
false);
|
|
117
|
+
this.config = config;
|
|
118
|
+
this.parameterSchema = parameterSchema;
|
|
119
|
+
this.originalName = originalName;
|
|
120
|
+
}
|
|
121
|
+
createInvocation(params, messageBus, _toolName, _displayName) {
|
|
122
|
+
return new DiscoveredToolInvocation(this.config, this.originalName, _toolName ?? this.name, params, messageBus);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export class ToolRegistry {
|
|
126
|
+
// The tools keyed by tool name as seen by the LLM.
|
|
127
|
+
// This includes tools which are currently not active, use `getActiveTools`
|
|
128
|
+
// and `isActive` to get only the active tools.
|
|
129
|
+
allKnownTools = new Map();
|
|
130
|
+
config;
|
|
131
|
+
messageBus;
|
|
132
|
+
constructor(config, messageBus) {
|
|
133
|
+
this.config = config;
|
|
134
|
+
this.messageBus = messageBus;
|
|
135
|
+
}
|
|
136
|
+
getMessageBus() {
|
|
137
|
+
return this.messageBus;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Registers a tool definition.
|
|
141
|
+
*
|
|
142
|
+
* Note that excluded tools are still registered to allow for enabling them
|
|
143
|
+
* later in the session.
|
|
144
|
+
*
|
|
145
|
+
* @param tool - The tool object containing schema and execution logic.
|
|
146
|
+
*/
|
|
147
|
+
registerTool(tool) {
|
|
148
|
+
if (this.allKnownTools.has(tool.name)) {
|
|
149
|
+
if (tool instanceof DiscoveredMCPTool) {
|
|
150
|
+
tool = tool.asFullyQualifiedTool();
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
// Decide on behavior: throw error, log warning, or allow overwrite
|
|
154
|
+
debugLogger.warn(`Tool with name "${tool.name}" is already registered. Overwriting.`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
this.allKnownTools.set(tool.name, tool);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Unregisters a tool definition by name.
|
|
161
|
+
*
|
|
162
|
+
* @param name - The name of the tool to unregister.
|
|
163
|
+
*/
|
|
164
|
+
unregisterTool(name) {
|
|
165
|
+
this.allKnownTools.delete(name);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Sorts tools as:
|
|
169
|
+
* 1. Built in tools.
|
|
170
|
+
* 2. Discovered tools.
|
|
171
|
+
* 3. MCP tools ordered by server name.
|
|
172
|
+
*
|
|
173
|
+
* This is a stable sort in that tries preserve existing order.
|
|
174
|
+
*/
|
|
175
|
+
sortTools() {
|
|
176
|
+
const getPriority = (tool) => {
|
|
177
|
+
if (tool instanceof DiscoveredMCPTool)
|
|
178
|
+
return 2;
|
|
179
|
+
if (tool instanceof DiscoveredTool)
|
|
180
|
+
return 1;
|
|
181
|
+
return 0; // Built-in
|
|
182
|
+
};
|
|
183
|
+
this.allKnownTools = new Map(Array.from(this.allKnownTools.entries()).sort((a, b) => {
|
|
184
|
+
const toolA = a[1];
|
|
185
|
+
const toolB = b[1];
|
|
186
|
+
const priorityA = getPriority(toolA);
|
|
187
|
+
const priorityB = getPriority(toolB);
|
|
188
|
+
if (priorityA !== priorityB) {
|
|
189
|
+
return priorityA - priorityB;
|
|
190
|
+
}
|
|
191
|
+
if (priorityA === 2) {
|
|
192
|
+
const serverA = toolA.serverName;
|
|
193
|
+
const serverB = toolB.serverName;
|
|
194
|
+
return serverA.localeCompare(serverB);
|
|
195
|
+
}
|
|
196
|
+
return 0;
|
|
197
|
+
}));
|
|
198
|
+
}
|
|
199
|
+
removeDiscoveredTools() {
|
|
200
|
+
for (const tool of this.allKnownTools.values()) {
|
|
201
|
+
if (tool instanceof DiscoveredTool || tool instanceof DiscoveredMCPTool) {
|
|
202
|
+
this.allKnownTools.delete(tool.name);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Removes all tools from a specific MCP server.
|
|
208
|
+
* @param serverName The name of the server to remove tools from.
|
|
209
|
+
*/
|
|
210
|
+
removeMcpToolsByServer(serverName) {
|
|
211
|
+
for (const [name, tool] of this.allKnownTools.entries()) {
|
|
212
|
+
if (tool instanceof DiscoveredMCPTool && tool.serverName === serverName) {
|
|
213
|
+
this.allKnownTools.delete(name);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Discovers tools from project (if available and configured).
|
|
219
|
+
* Can be called multiple times to update discovered tools.
|
|
220
|
+
* This will discover tools from the command line and from MCP servers.
|
|
221
|
+
*/
|
|
222
|
+
async discoverAllTools() {
|
|
223
|
+
// remove any previously discovered tools
|
|
224
|
+
this.removeDiscoveredTools();
|
|
225
|
+
await this.discoverAndRegisterToolsFromCommand();
|
|
226
|
+
}
|
|
227
|
+
async discoverAndRegisterToolsFromCommand() {
|
|
228
|
+
const discoveryCmd = this.config.getToolDiscoveryCommand();
|
|
229
|
+
if (!discoveryCmd) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
try {
|
|
233
|
+
const cmdParts = parse(discoveryCmd);
|
|
234
|
+
if (cmdParts.length === 0) {
|
|
235
|
+
throw new Error('Tool discovery command is empty or contains only whitespace.');
|
|
236
|
+
}
|
|
237
|
+
const proc = spawn(cmdParts[0], cmdParts.slice(1));
|
|
238
|
+
let stdout = '';
|
|
239
|
+
const stdoutDecoder = new StringDecoder('utf8');
|
|
240
|
+
let stderr = '';
|
|
241
|
+
const stderrDecoder = new StringDecoder('utf8');
|
|
242
|
+
let sizeLimitExceeded = false;
|
|
243
|
+
const MAX_STDOUT_SIZE = 10 * 1024 * 1024; // 10MB limit
|
|
244
|
+
const MAX_STDERR_SIZE = 10 * 1024 * 1024; // 10MB limit
|
|
245
|
+
let stdoutByteLength = 0;
|
|
246
|
+
let stderrByteLength = 0;
|
|
247
|
+
proc.stdout.on('data', (data) => {
|
|
248
|
+
if (sizeLimitExceeded)
|
|
249
|
+
return;
|
|
250
|
+
if (stdoutByteLength + data.length > MAX_STDOUT_SIZE) {
|
|
251
|
+
sizeLimitExceeded = true;
|
|
252
|
+
proc.kill();
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
stdoutByteLength += data.length;
|
|
256
|
+
stdout += stdoutDecoder.write(data);
|
|
257
|
+
});
|
|
258
|
+
proc.stderr.on('data', (data) => {
|
|
259
|
+
if (sizeLimitExceeded)
|
|
260
|
+
return;
|
|
261
|
+
if (stderrByteLength + data.length > MAX_STDERR_SIZE) {
|
|
262
|
+
sizeLimitExceeded = true;
|
|
263
|
+
proc.kill();
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
stderrByteLength += data.length;
|
|
267
|
+
stderr += stderrDecoder.write(data);
|
|
268
|
+
});
|
|
269
|
+
await new Promise((resolve, reject) => {
|
|
270
|
+
proc.on('error', reject);
|
|
271
|
+
proc.on('close', (code) => {
|
|
272
|
+
stdout += stdoutDecoder.end();
|
|
273
|
+
stderr += stderrDecoder.end();
|
|
274
|
+
if (sizeLimitExceeded) {
|
|
275
|
+
return reject(new Error(`Tool discovery command output exceeded size limit of ${MAX_STDOUT_SIZE} bytes.`));
|
|
276
|
+
}
|
|
277
|
+
if (code !== 0) {
|
|
278
|
+
coreEvents.emitFeedback('error', `Tool discovery command failed with code ${code}.`, stderr);
|
|
279
|
+
return reject(new Error(`Tool discovery command failed with exit code ${code}`));
|
|
280
|
+
}
|
|
281
|
+
resolve();
|
|
282
|
+
});
|
|
283
|
+
});
|
|
284
|
+
// execute discovery command and extract function declarations (w/ or w/o "tool" wrappers)
|
|
285
|
+
const functions = [];
|
|
286
|
+
const discoveredItems = JSON.parse(stdout.trim());
|
|
287
|
+
if (!discoveredItems || !Array.isArray(discoveredItems)) {
|
|
288
|
+
throw new Error('Tool discovery command did not return a JSON array of tools.');
|
|
289
|
+
}
|
|
290
|
+
for (const tool of discoveredItems) {
|
|
291
|
+
if (tool && typeof tool === 'object') {
|
|
292
|
+
if (Array.isArray(tool['function_declarations'])) {
|
|
293
|
+
functions.push(...tool['function_declarations']);
|
|
294
|
+
}
|
|
295
|
+
else if (Array.isArray(tool['functionDeclarations'])) {
|
|
296
|
+
functions.push(...tool['functionDeclarations']);
|
|
297
|
+
}
|
|
298
|
+
else if (tool['name']) {
|
|
299
|
+
functions.push(tool);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
// register each function as a tool
|
|
304
|
+
for (const func of functions) {
|
|
305
|
+
if (!func.name) {
|
|
306
|
+
debugLogger.warn('Discovered a tool with no name. Skipping.');
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
const parameters = func.parametersJsonSchema &&
|
|
310
|
+
typeof func.parametersJsonSchema === 'object' &&
|
|
311
|
+
!Array.isArray(func.parametersJsonSchema)
|
|
312
|
+
? func.parametersJsonSchema
|
|
313
|
+
: {};
|
|
314
|
+
this.registerTool(new DiscoveredTool(this.config, func.name, DISCOVERED_TOOL_PREFIX + func.name, func.description ?? '', parameters, this.messageBus));
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
catch (e) {
|
|
318
|
+
debugLogger.error(`Tool discovery command "${discoveryCmd}" failed:`, e);
|
|
319
|
+
throw e;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* @returns All the tools that are not excluded.
|
|
324
|
+
*/
|
|
325
|
+
getActiveTools() {
|
|
326
|
+
const excludedTools = this.config.getExcludeTools() ?? new Set([]);
|
|
327
|
+
const activeTools = [];
|
|
328
|
+
for (const tool of this.allKnownTools.values()) {
|
|
329
|
+
if (this.isActiveTool(tool, excludedTools)) {
|
|
330
|
+
activeTools.push(tool);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
return activeTools;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* @param tool
|
|
337
|
+
* @param excludeTools (optional, helps performance for repeated calls)
|
|
338
|
+
* @returns Whether or not the `tool` is not excluded.
|
|
339
|
+
*/
|
|
340
|
+
isActiveTool(tool, excludeTools) {
|
|
341
|
+
excludeTools ??= this.config.getExcludeTools() ?? new Set([]);
|
|
342
|
+
const normalizedClassName = tool.constructor.name.replace(/^_+/, '');
|
|
343
|
+
const possibleNames = [tool.name, normalizedClassName];
|
|
344
|
+
if (tool instanceof DiscoveredMCPTool) {
|
|
345
|
+
// Check both the unqualified and qualified name for MCP tools.
|
|
346
|
+
if (tool.name.startsWith(tool.getFullyQualifiedPrefix())) {
|
|
347
|
+
possibleNames.push(tool.name.substring(tool.getFullyQualifiedPrefix().length));
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
possibleNames.push(`${tool.getFullyQualifiedPrefix()}${tool.name}`);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
return !possibleNames.some((name) => excludeTools.has(name));
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Retrieves the list of tool schemas (FunctionDeclaration array).
|
|
357
|
+
* Extracts the declarations from the ToolListUnion structure.
|
|
358
|
+
* Includes discovered (vs registered) tools if configured.
|
|
359
|
+
* @returns An array of FunctionDeclarations.
|
|
360
|
+
*/
|
|
361
|
+
getFunctionDeclarations() {
|
|
362
|
+
const declarations = [];
|
|
363
|
+
this.getActiveTools().forEach((tool) => {
|
|
364
|
+
declarations.push(tool.schema);
|
|
365
|
+
});
|
|
366
|
+
return declarations;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Retrieves a filtered list of tool schemas based on a list of tool names.
|
|
370
|
+
* @param toolNames - An array of tool names to include.
|
|
371
|
+
* @returns An array of FunctionDeclarations for the specified tools.
|
|
372
|
+
*/
|
|
373
|
+
getFunctionDeclarationsFiltered(toolNames) {
|
|
374
|
+
const declarations = [];
|
|
375
|
+
for (const name of toolNames) {
|
|
376
|
+
const tool = this.getTool(name);
|
|
377
|
+
if (tool) {
|
|
378
|
+
declarations.push(tool.schema);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
return declarations;
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Returns an array of all registered and discovered tool names which are not
|
|
385
|
+
* excluded via configuration.
|
|
386
|
+
*/
|
|
387
|
+
getAllToolNames() {
|
|
388
|
+
return this.getActiveTools().map((tool) => tool.name);
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Returns an array of all registered and discovered tool instances.
|
|
392
|
+
*/
|
|
393
|
+
getAllTools() {
|
|
394
|
+
return this.getActiveTools().sort((a, b) => a.displayName.localeCompare(b.displayName));
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Returns an array of tools registered from a specific MCP server.
|
|
398
|
+
*/
|
|
399
|
+
getToolsByServer(serverName) {
|
|
400
|
+
const serverTools = [];
|
|
401
|
+
for (const tool of this.getActiveTools()) {
|
|
402
|
+
if (tool?.serverName === serverName) {
|
|
403
|
+
serverTools.push(tool);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
return serverTools.sort((a, b) => a.name.localeCompare(b.name));
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Get the definition of a specific tool.
|
|
410
|
+
*/
|
|
411
|
+
getTool(name) {
|
|
412
|
+
let tool = this.allKnownTools.get(name);
|
|
413
|
+
if (!tool && name.includes('__')) {
|
|
414
|
+
for (const t of this.allKnownTools.values()) {
|
|
415
|
+
if (t instanceof DiscoveredMCPTool) {
|
|
416
|
+
if (t.getFullyQualifiedName() === name) {
|
|
417
|
+
tool = t;
|
|
418
|
+
break;
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
if (tool && this.isActiveTool(tool)) {
|
|
424
|
+
return tool;
|
|
425
|
+
}
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
//# sourceMappingURL=tool-registry.js.map
|