@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 @@
|
|
|
1
|
+
{"version":3,"file":"msw.js","sourceRoot":"","sources":["../../../src/mocks/msw.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { SessionMetrics } from '../telemetry/uiTelemetry.js';
|
|
7
|
+
import type { JsonError } from './types.js';
|
|
8
|
+
export declare class JsonFormatter {
|
|
9
|
+
format(sessionId?: string, response?: string, stats?: SessionMetrics, error?: JsonError): string;
|
|
10
|
+
formatError(error: Error, code?: string | number, sessionId?: string): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import stripAnsi from 'strip-ansi';
|
|
7
|
+
export class JsonFormatter {
|
|
8
|
+
format(sessionId, response, stats, error) {
|
|
9
|
+
const output = {};
|
|
10
|
+
if (sessionId) {
|
|
11
|
+
output.session_id = sessionId;
|
|
12
|
+
}
|
|
13
|
+
if (response !== undefined) {
|
|
14
|
+
output.response = stripAnsi(response);
|
|
15
|
+
}
|
|
16
|
+
if (stats) {
|
|
17
|
+
output.stats = stats;
|
|
18
|
+
}
|
|
19
|
+
if (error) {
|
|
20
|
+
output.error = error;
|
|
21
|
+
}
|
|
22
|
+
return JSON.stringify(output, null, 2);
|
|
23
|
+
}
|
|
24
|
+
formatError(error, code, sessionId) {
|
|
25
|
+
const jsonError = {
|
|
26
|
+
type: error.constructor.name,
|
|
27
|
+
message: stripAnsi(error.message),
|
|
28
|
+
...(code && { code }),
|
|
29
|
+
};
|
|
30
|
+
return this.format(sessionId, undefined, undefined, jsonError);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=json-formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-formatter.js","sourceRoot":"","sources":["../../../src/output/json-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,SAAS,MAAM,YAAY,CAAC;AAInC,MAAM,OAAO,aAAa;IACxB,MAAM,CACJ,SAAkB,EAClB,QAAiB,EACjB,KAAsB,EACtB,KAAiB;QAEjB,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;QAChC,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,WAAW,CACT,KAAY,EACZ,IAAsB,EACtB,SAAkB;QAElB,MAAM,SAAS,GAAc;YAC3B,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI;YAC5B,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;YACjC,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;SACtB,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { JsonStreamEvent, StreamStats } from './types.js';
|
|
7
|
+
import type { SessionMetrics } from '../telemetry/uiTelemetry.js';
|
|
8
|
+
/**
|
|
9
|
+
* Formatter for streaming JSON output.
|
|
10
|
+
* Emits newline-delimited JSON (JSONL) events to stdout in real-time.
|
|
11
|
+
*/
|
|
12
|
+
export declare class StreamJsonFormatter {
|
|
13
|
+
/**
|
|
14
|
+
* Formats a single event as a JSON string with newline (JSONL format).
|
|
15
|
+
* @param event - The stream event to format
|
|
16
|
+
* @returns JSON string with trailing newline
|
|
17
|
+
*/
|
|
18
|
+
formatEvent(event: JsonStreamEvent): string;
|
|
19
|
+
/**
|
|
20
|
+
* Emits an event directly to stdout in JSONL format.
|
|
21
|
+
* @param event - The stream event to emit
|
|
22
|
+
*/
|
|
23
|
+
emitEvent(event: JsonStreamEvent): void;
|
|
24
|
+
/**
|
|
25
|
+
* Converts SessionMetrics to simplified StreamStats format.
|
|
26
|
+
* Aggregates token counts across all models.
|
|
27
|
+
* @param metrics - The session metrics from telemetry
|
|
28
|
+
* @param durationMs - The session duration in milliseconds
|
|
29
|
+
* @returns Simplified stats for streaming output
|
|
30
|
+
*/
|
|
31
|
+
convertToStreamStats(metrics: SessionMetrics, durationMs: number): StreamStats;
|
|
32
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Formatter for streaming JSON output.
|
|
8
|
+
* Emits newline-delimited JSON (JSONL) events to stdout in real-time.
|
|
9
|
+
*/
|
|
10
|
+
export class StreamJsonFormatter {
|
|
11
|
+
/**
|
|
12
|
+
* Formats a single event as a JSON string with newline (JSONL format).
|
|
13
|
+
* @param event - The stream event to format
|
|
14
|
+
* @returns JSON string with trailing newline
|
|
15
|
+
*/
|
|
16
|
+
formatEvent(event) {
|
|
17
|
+
return JSON.stringify(event) + '\n';
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Emits an event directly to stdout in JSONL format.
|
|
21
|
+
* @param event - The stream event to emit
|
|
22
|
+
*/
|
|
23
|
+
emitEvent(event) {
|
|
24
|
+
process.stdout.write(this.formatEvent(event));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Converts SessionMetrics to simplified StreamStats format.
|
|
28
|
+
* Aggregates token counts across all models.
|
|
29
|
+
* @param metrics - The session metrics from telemetry
|
|
30
|
+
* @param durationMs - The session duration in milliseconds
|
|
31
|
+
* @returns Simplified stats for streaming output
|
|
32
|
+
*/
|
|
33
|
+
convertToStreamStats(metrics, durationMs) {
|
|
34
|
+
let totalTokens = 0;
|
|
35
|
+
let inputTokens = 0;
|
|
36
|
+
let outputTokens = 0;
|
|
37
|
+
let cached = 0;
|
|
38
|
+
let input = 0;
|
|
39
|
+
// Aggregate token counts across all models
|
|
40
|
+
for (const modelMetrics of Object.values(metrics.models)) {
|
|
41
|
+
totalTokens += modelMetrics.tokens.total;
|
|
42
|
+
inputTokens += modelMetrics.tokens.prompt;
|
|
43
|
+
outputTokens += modelMetrics.tokens.candidates;
|
|
44
|
+
cached += modelMetrics.tokens.cached;
|
|
45
|
+
input += modelMetrics.tokens.input;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
total_tokens: totalTokens,
|
|
49
|
+
input_tokens: inputTokens,
|
|
50
|
+
output_tokens: outputTokens,
|
|
51
|
+
cached,
|
|
52
|
+
input,
|
|
53
|
+
duration_ms: durationMs,
|
|
54
|
+
tool_calls: metrics.tools.totalCalls,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=stream-json-formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-json-formatter.js","sourceRoot":"","sources":["../../../src/output/stream-json-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAC9B;;;;OAIG;IACH,WAAW,CAAC,KAAsB;QAChC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,KAAsB;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAClB,OAAuB,EACvB,UAAkB;QAElB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,2CAA2C;QAC3C,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,WAAW,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,WAAW,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;YAC1C,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;YAC/C,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;QACrC,CAAC;QAED,OAAO;YACL,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,WAAW;YACzB,aAAa,EAAE,YAAY;YAC3B,MAAM;YACN,KAAK;YACL,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;SACrC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { SessionMetrics } from '../telemetry/uiTelemetry.js';
|
|
7
|
+
export declare enum OutputFormat {
|
|
8
|
+
TEXT = "text",
|
|
9
|
+
JSON = "json",
|
|
10
|
+
STREAM_JSON = "stream-json"
|
|
11
|
+
}
|
|
12
|
+
export interface JsonError {
|
|
13
|
+
type: string;
|
|
14
|
+
message: string;
|
|
15
|
+
code?: string | number;
|
|
16
|
+
}
|
|
17
|
+
export interface JsonOutput {
|
|
18
|
+
session_id?: string;
|
|
19
|
+
response?: string;
|
|
20
|
+
stats?: SessionMetrics;
|
|
21
|
+
error?: JsonError;
|
|
22
|
+
}
|
|
23
|
+
export declare enum JsonStreamEventType {
|
|
24
|
+
INIT = "init",
|
|
25
|
+
MESSAGE = "message",
|
|
26
|
+
TOOL_USE = "tool_use",
|
|
27
|
+
TOOL_RESULT = "tool_result",
|
|
28
|
+
ERROR = "error",
|
|
29
|
+
RESULT = "result"
|
|
30
|
+
}
|
|
31
|
+
export interface BaseJsonStreamEvent {
|
|
32
|
+
type: JsonStreamEventType;
|
|
33
|
+
timestamp: string;
|
|
34
|
+
}
|
|
35
|
+
export interface InitEvent extends BaseJsonStreamEvent {
|
|
36
|
+
type: JsonStreamEventType.INIT;
|
|
37
|
+
session_id: string;
|
|
38
|
+
model: string;
|
|
39
|
+
}
|
|
40
|
+
export interface MessageEvent extends BaseJsonStreamEvent {
|
|
41
|
+
type: JsonStreamEventType.MESSAGE;
|
|
42
|
+
role: 'user' | 'assistant';
|
|
43
|
+
content: string;
|
|
44
|
+
delta?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface ToolUseEvent extends BaseJsonStreamEvent {
|
|
47
|
+
type: JsonStreamEventType.TOOL_USE;
|
|
48
|
+
tool_name: string;
|
|
49
|
+
tool_id: string;
|
|
50
|
+
parameters: Record<string, unknown>;
|
|
51
|
+
}
|
|
52
|
+
export interface ToolResultEvent extends BaseJsonStreamEvent {
|
|
53
|
+
type: JsonStreamEventType.TOOL_RESULT;
|
|
54
|
+
tool_id: string;
|
|
55
|
+
status: 'success' | 'error';
|
|
56
|
+
output?: string;
|
|
57
|
+
error?: {
|
|
58
|
+
type: string;
|
|
59
|
+
message: string;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export interface ErrorEvent extends BaseJsonStreamEvent {
|
|
63
|
+
type: JsonStreamEventType.ERROR;
|
|
64
|
+
severity: 'warning' | 'error';
|
|
65
|
+
message: string;
|
|
66
|
+
}
|
|
67
|
+
export interface StreamStats {
|
|
68
|
+
total_tokens: number;
|
|
69
|
+
input_tokens: number;
|
|
70
|
+
output_tokens: number;
|
|
71
|
+
cached: number;
|
|
72
|
+
input: number;
|
|
73
|
+
duration_ms: number;
|
|
74
|
+
tool_calls: number;
|
|
75
|
+
}
|
|
76
|
+
export interface ResultEvent extends BaseJsonStreamEvent {
|
|
77
|
+
type: JsonStreamEventType.RESULT;
|
|
78
|
+
status: 'success' | 'error';
|
|
79
|
+
error?: {
|
|
80
|
+
type: string;
|
|
81
|
+
message: string;
|
|
82
|
+
};
|
|
83
|
+
stats?: StreamStats;
|
|
84
|
+
}
|
|
85
|
+
export type JsonStreamEvent = InitEvent | MessageEvent | ToolUseEvent | ToolResultEvent | ErrorEvent | ResultEvent;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export var OutputFormat;
|
|
7
|
+
(function (OutputFormat) {
|
|
8
|
+
OutputFormat["TEXT"] = "text";
|
|
9
|
+
OutputFormat["JSON"] = "json";
|
|
10
|
+
OutputFormat["STREAM_JSON"] = "stream-json";
|
|
11
|
+
})(OutputFormat || (OutputFormat = {}));
|
|
12
|
+
// Streaming JSON event types
|
|
13
|
+
export var JsonStreamEventType;
|
|
14
|
+
(function (JsonStreamEventType) {
|
|
15
|
+
JsonStreamEventType["INIT"] = "init";
|
|
16
|
+
JsonStreamEventType["MESSAGE"] = "message";
|
|
17
|
+
JsonStreamEventType["TOOL_USE"] = "tool_use";
|
|
18
|
+
JsonStreamEventType["TOOL_RESULT"] = "tool_result";
|
|
19
|
+
JsonStreamEventType["ERROR"] = "error";
|
|
20
|
+
JsonStreamEventType["RESULT"] = "result";
|
|
21
|
+
})(JsonStreamEventType || (JsonStreamEventType = {}));
|
|
22
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/output/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,2CAA2B,CAAA;AAC7B,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAeD,6BAA6B;AAC7B,MAAM,CAAN,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,0CAAmB,CAAA;IACnB,4CAAqB,CAAA;IACrB,kDAA2B,CAAA;IAC3B,sCAAe,CAAA;IACf,wCAAiB,CAAA;AACnB,CAAC,EAPW,mBAAmB,KAAnB,mBAAmB,QAO9B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { type PolicyEngineConfig, type ApprovalMode, type PolicySettings } from './types.js';
|
|
7
|
+
import type { PolicyEngine } from './policy-engine.js';
|
|
8
|
+
import { type PolicyFileError } from './toml-loader.js';
|
|
9
|
+
import { type MessageBus } from '../confirmation-bus/message-bus.js';
|
|
10
|
+
export declare const DEFAULT_CORE_POLICIES_DIR: string;
|
|
11
|
+
export declare const DEFAULT_POLICY_TIER = 1;
|
|
12
|
+
export declare const USER_POLICY_TIER = 2;
|
|
13
|
+
export declare const ADMIN_POLICY_TIER = 3;
|
|
14
|
+
/**
|
|
15
|
+
* Gets the list of directories to search for policy files, in order of increasing priority
|
|
16
|
+
* (Default -> User -> Admin).
|
|
17
|
+
*
|
|
18
|
+
* @param defaultPoliciesDir Optional path to a directory containing default policies.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getPolicyDirectories(defaultPoliciesDir?: string): string[];
|
|
21
|
+
/**
|
|
22
|
+
* Determines the policy tier (1=default, 2=user, 3=admin) for a given directory.
|
|
23
|
+
* This is used by the TOML loader to assign priority bands.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getPolicyTier(dir: string, defaultPoliciesDir?: string): number;
|
|
26
|
+
/**
|
|
27
|
+
* Formats a policy file error for console logging.
|
|
28
|
+
*/
|
|
29
|
+
export declare function formatPolicyError(error: PolicyFileError): string;
|
|
30
|
+
export declare function createPolicyEngineConfig(settings: PolicySettings, approvalMode: ApprovalMode, defaultPoliciesDir?: string): Promise<PolicyEngineConfig>;
|
|
31
|
+
export declare function createPolicyUpdater(policyEngine: PolicyEngine, messageBus: MessageBus): void;
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import * as fs from 'node:fs/promises';
|
|
7
|
+
import * as path from 'node:path';
|
|
8
|
+
import { fileURLToPath } from 'node:url';
|
|
9
|
+
import { Storage } from '../config/storage.js';
|
|
10
|
+
import { PolicyDecision, } from './types.js';
|
|
11
|
+
import { loadPoliciesFromToml } from './toml-loader.js';
|
|
12
|
+
import { buildArgsPatterns } from './utils.js';
|
|
13
|
+
import toml from '@iarna/toml';
|
|
14
|
+
import { MessageBusType, } from '../confirmation-bus/types.js';
|
|
15
|
+
import {} from '../confirmation-bus/message-bus.js';
|
|
16
|
+
import { coreEvents } from '../utils/events.js';
|
|
17
|
+
import { debugLogger } from '../utils/debugLogger.js';
|
|
18
|
+
import { SHELL_TOOL_NAMES } from '../utils/shell-utils.js';
|
|
19
|
+
import { SHELL_TOOL_NAME } from '../tools/tool-names.js';
|
|
20
|
+
import { isDirectorySecure } from '../utils/security.js';
|
|
21
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
22
|
+
const __dirname = path.dirname(__filename);
|
|
23
|
+
export const DEFAULT_CORE_POLICIES_DIR = path.join(__dirname, 'policies');
|
|
24
|
+
// Policy tier constants for priority calculation
|
|
25
|
+
export const DEFAULT_POLICY_TIER = 1;
|
|
26
|
+
export const USER_POLICY_TIER = 2;
|
|
27
|
+
export const ADMIN_POLICY_TIER = 3;
|
|
28
|
+
/**
|
|
29
|
+
* Gets the list of directories to search for policy files, in order of increasing priority
|
|
30
|
+
* (Default -> User -> Admin).
|
|
31
|
+
*
|
|
32
|
+
* @param defaultPoliciesDir Optional path to a directory containing default policies.
|
|
33
|
+
*/
|
|
34
|
+
export function getPolicyDirectories(defaultPoliciesDir) {
|
|
35
|
+
const dirs = [];
|
|
36
|
+
if (defaultPoliciesDir) {
|
|
37
|
+
dirs.push(defaultPoliciesDir);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
dirs.push(DEFAULT_CORE_POLICIES_DIR);
|
|
41
|
+
}
|
|
42
|
+
dirs.push(Storage.getUserPoliciesDir());
|
|
43
|
+
dirs.push(Storage.getSystemPoliciesDir());
|
|
44
|
+
// Reverse so highest priority (Admin) is first for loading order if needed,
|
|
45
|
+
// though loadPoliciesFromToml might want them in a specific order.
|
|
46
|
+
// CLI implementation reversed them: [DEFAULT, USER, ADMIN].reverse() -> [ADMIN, USER, DEFAULT]
|
|
47
|
+
return dirs.reverse();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Determines the policy tier (1=default, 2=user, 3=admin) for a given directory.
|
|
51
|
+
* This is used by the TOML loader to assign priority bands.
|
|
52
|
+
*/
|
|
53
|
+
export function getPolicyTier(dir, defaultPoliciesDir) {
|
|
54
|
+
const USER_POLICIES_DIR = Storage.getUserPoliciesDir();
|
|
55
|
+
const ADMIN_POLICIES_DIR = Storage.getSystemPoliciesDir();
|
|
56
|
+
const normalizedDir = path.resolve(dir);
|
|
57
|
+
const normalizedUser = path.resolve(USER_POLICIES_DIR);
|
|
58
|
+
const normalizedAdmin = path.resolve(ADMIN_POLICIES_DIR);
|
|
59
|
+
if (defaultPoliciesDir &&
|
|
60
|
+
normalizedDir === path.resolve(defaultPoliciesDir)) {
|
|
61
|
+
return DEFAULT_POLICY_TIER;
|
|
62
|
+
}
|
|
63
|
+
if (normalizedDir === path.resolve(DEFAULT_CORE_POLICIES_DIR)) {
|
|
64
|
+
return DEFAULT_POLICY_TIER;
|
|
65
|
+
}
|
|
66
|
+
if (normalizedDir === normalizedUser) {
|
|
67
|
+
return USER_POLICY_TIER;
|
|
68
|
+
}
|
|
69
|
+
if (normalizedDir === normalizedAdmin) {
|
|
70
|
+
return ADMIN_POLICY_TIER;
|
|
71
|
+
}
|
|
72
|
+
return DEFAULT_POLICY_TIER;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Formats a policy file error for console logging.
|
|
76
|
+
*/
|
|
77
|
+
export function formatPolicyError(error) {
|
|
78
|
+
const tierLabel = error.tier.toUpperCase();
|
|
79
|
+
let message = `[${tierLabel}] Policy file error in ${error.fileName}:\n`;
|
|
80
|
+
message += ` ${error.message}`;
|
|
81
|
+
if (error.details) {
|
|
82
|
+
message += `\n${error.details}`;
|
|
83
|
+
}
|
|
84
|
+
if (error.suggestion) {
|
|
85
|
+
message += `\n Suggestion: ${error.suggestion}`;
|
|
86
|
+
}
|
|
87
|
+
return message;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Filters out insecure policy directories (specifically the system policy directory).
|
|
91
|
+
* Emits warnings if insecure directories are found.
|
|
92
|
+
*/
|
|
93
|
+
async function filterSecurePolicyDirectories(dirs) {
|
|
94
|
+
const systemPoliciesDir = path.resolve(Storage.getSystemPoliciesDir());
|
|
95
|
+
const results = await Promise.all(dirs.map(async (dir) => {
|
|
96
|
+
// Only check security for system policies
|
|
97
|
+
if (path.resolve(dir) === systemPoliciesDir) {
|
|
98
|
+
const { secure, reason } = await isDirectorySecure(dir);
|
|
99
|
+
if (!secure) {
|
|
100
|
+
const msg = `Security Warning: Skipping system policies from ${dir}: ${reason}`;
|
|
101
|
+
coreEvents.emitFeedback('warning', msg);
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return dir;
|
|
106
|
+
}));
|
|
107
|
+
return results.filter((dir) => dir !== null);
|
|
108
|
+
}
|
|
109
|
+
export async function createPolicyEngineConfig(settings, approvalMode, defaultPoliciesDir) {
|
|
110
|
+
const policyDirs = getPolicyDirectories(defaultPoliciesDir);
|
|
111
|
+
const securePolicyDirs = await filterSecurePolicyDirectories(policyDirs);
|
|
112
|
+
// Load policies from TOML files
|
|
113
|
+
const { rules: tomlRules, checkers: tomlCheckers, errors, } = await loadPoliciesFromToml(securePolicyDirs, (dir) => getPolicyTier(dir, defaultPoliciesDir));
|
|
114
|
+
// Emit any errors encountered during TOML loading to the UI
|
|
115
|
+
// coreEvents has a buffer that will display these once the UI is ready
|
|
116
|
+
if (errors.length > 0) {
|
|
117
|
+
for (const error of errors) {
|
|
118
|
+
coreEvents.emitFeedback('error', formatPolicyError(error));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const rules = [...tomlRules];
|
|
122
|
+
const checkers = [...tomlCheckers];
|
|
123
|
+
// Priority system for policy rules:
|
|
124
|
+
// - Higher priority numbers win over lower priority numbers
|
|
125
|
+
// - When multiple rules match, the highest priority rule is applied
|
|
126
|
+
// - Rules are evaluated in order of priority (highest first)
|
|
127
|
+
//
|
|
128
|
+
// Priority bands (tiers):
|
|
129
|
+
// - Default policies (TOML): 1 + priority/1000 (e.g., priority 100 → 1.100)
|
|
130
|
+
// - User policies (TOML): 2 + priority/1000 (e.g., priority 100 → 2.100)
|
|
131
|
+
// - Admin policies (TOML): 3 + priority/1000 (e.g., priority 100 → 3.100)
|
|
132
|
+
//
|
|
133
|
+
// This ensures Admin > User > Default hierarchy is always preserved,
|
|
134
|
+
// while allowing user-specified priorities to work within each tier.
|
|
135
|
+
//
|
|
136
|
+
// Settings-based and dynamic rules (all in user tier 2.x):
|
|
137
|
+
// 2.95: Tools that the user has selected as "Always Allow" in the interactive UI
|
|
138
|
+
// 2.9: MCP servers excluded list (security: persistent server blocks)
|
|
139
|
+
// 2.4: Command line flag --exclude-tools (explicit temporary blocks)
|
|
140
|
+
// 2.3: Command line flag --allowed-tools (explicit temporary allows)
|
|
141
|
+
// 2.2: MCP servers with trust=true (persistent trusted servers)
|
|
142
|
+
// 2.1: MCP servers allowed list (persistent general server allows)
|
|
143
|
+
//
|
|
144
|
+
// TOML policy priorities (before transformation):
|
|
145
|
+
// 10: Write tools default to ASK_USER (becomes 1.010 in default tier)
|
|
146
|
+
// 15: Auto-edit tool override (becomes 1.015 in default tier)
|
|
147
|
+
// 50: Read-only tools (becomes 1.050 in default tier)
|
|
148
|
+
// 999: YOLO mode allow-all (becomes 1.999 in default tier)
|
|
149
|
+
// MCP servers that are explicitly excluded in settings.mcp.excluded
|
|
150
|
+
// Priority: 2.9 (highest in user tier for security - persistent server blocks)
|
|
151
|
+
if (settings.mcp?.excluded) {
|
|
152
|
+
for (const serverName of settings.mcp.excluded) {
|
|
153
|
+
rules.push({
|
|
154
|
+
toolName: `${serverName}__*`,
|
|
155
|
+
decision: PolicyDecision.DENY,
|
|
156
|
+
priority: 2.9,
|
|
157
|
+
source: 'Settings (MCP Excluded)',
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// Tools that are explicitly excluded in the settings.
|
|
162
|
+
// Priority: 2.4 (user tier - explicit temporary blocks)
|
|
163
|
+
if (settings.tools?.exclude) {
|
|
164
|
+
for (const tool of settings.tools.exclude) {
|
|
165
|
+
rules.push({
|
|
166
|
+
toolName: tool,
|
|
167
|
+
decision: PolicyDecision.DENY,
|
|
168
|
+
priority: 2.4,
|
|
169
|
+
source: 'Settings (Tools Excluded)',
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
// Tools that are explicitly allowed in the settings.
|
|
174
|
+
// Priority: 2.3 (user tier - explicit temporary allows)
|
|
175
|
+
if (settings.tools?.allowed) {
|
|
176
|
+
for (const tool of settings.tools.allowed) {
|
|
177
|
+
// Check for legacy format: toolName(args)
|
|
178
|
+
const match = tool.match(/^([a-zA-Z0-9_-]+)\((.*)\)$/);
|
|
179
|
+
if (match) {
|
|
180
|
+
const [, rawToolName, args] = match;
|
|
181
|
+
// Normalize shell tool aliases
|
|
182
|
+
const toolName = SHELL_TOOL_NAMES.includes(rawToolName)
|
|
183
|
+
? SHELL_TOOL_NAME
|
|
184
|
+
: rawToolName;
|
|
185
|
+
// Treat args as a command prefix for shell tool
|
|
186
|
+
if (toolName === SHELL_TOOL_NAME) {
|
|
187
|
+
const patterns = buildArgsPatterns(undefined, args);
|
|
188
|
+
for (const pattern of patterns) {
|
|
189
|
+
if (pattern) {
|
|
190
|
+
rules.push({
|
|
191
|
+
toolName,
|
|
192
|
+
decision: PolicyDecision.ALLOW,
|
|
193
|
+
priority: 2.3,
|
|
194
|
+
argsPattern: new RegExp(pattern),
|
|
195
|
+
source: 'Settings (Tools Allowed)',
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
// For non-shell tools, we allow the tool itself but ignore args
|
|
202
|
+
// as args matching was only supported for shell tools historically.
|
|
203
|
+
rules.push({
|
|
204
|
+
toolName,
|
|
205
|
+
decision: PolicyDecision.ALLOW,
|
|
206
|
+
priority: 2.3,
|
|
207
|
+
source: 'Settings (Tools Allowed)',
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
// Standard tool name
|
|
213
|
+
const toolName = SHELL_TOOL_NAMES.includes(tool)
|
|
214
|
+
? SHELL_TOOL_NAME
|
|
215
|
+
: tool;
|
|
216
|
+
rules.push({
|
|
217
|
+
toolName,
|
|
218
|
+
decision: PolicyDecision.ALLOW,
|
|
219
|
+
priority: 2.3,
|
|
220
|
+
source: 'Settings (Tools Allowed)',
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// MCP servers that are trusted in the settings.
|
|
226
|
+
// Priority: 2.2 (user tier - persistent trusted servers)
|
|
227
|
+
if (settings.mcpServers) {
|
|
228
|
+
for (const [serverName, serverConfig] of Object.entries(settings.mcpServers)) {
|
|
229
|
+
if (serverConfig.trust) {
|
|
230
|
+
// Trust all tools from this MCP server
|
|
231
|
+
// Using pattern matching for MCP tool names which are formatted as "serverName__toolName"
|
|
232
|
+
rules.push({
|
|
233
|
+
toolName: `${serverName}__*`,
|
|
234
|
+
decision: PolicyDecision.ALLOW,
|
|
235
|
+
priority: 2.2,
|
|
236
|
+
source: 'Settings (MCP Trusted)',
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
// MCP servers that are explicitly allowed in settings.mcp.allowed
|
|
242
|
+
// Priority: 2.1 (user tier - persistent general server allows)
|
|
243
|
+
if (settings.mcp?.allowed) {
|
|
244
|
+
for (const serverName of settings.mcp.allowed) {
|
|
245
|
+
rules.push({
|
|
246
|
+
toolName: `${serverName}__*`,
|
|
247
|
+
decision: PolicyDecision.ALLOW,
|
|
248
|
+
priority: 2.1,
|
|
249
|
+
source: 'Settings (MCP Allowed)',
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return {
|
|
254
|
+
rules,
|
|
255
|
+
checkers,
|
|
256
|
+
defaultDecision: PolicyDecision.ASK_USER,
|
|
257
|
+
approvalMode,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
export function createPolicyUpdater(policyEngine, messageBus) {
|
|
261
|
+
messageBus.subscribe(MessageBusType.UPDATE_POLICY, async (message) => {
|
|
262
|
+
const toolName = message.toolName;
|
|
263
|
+
if (message.commandPrefix) {
|
|
264
|
+
// Convert commandPrefix(es) to argsPatterns for in-memory rules
|
|
265
|
+
const patterns = buildArgsPatterns(undefined, message.commandPrefix);
|
|
266
|
+
for (const pattern of patterns) {
|
|
267
|
+
if (pattern) {
|
|
268
|
+
policyEngine.addRule({
|
|
269
|
+
toolName,
|
|
270
|
+
decision: PolicyDecision.ALLOW,
|
|
271
|
+
// User tier (2) + high priority (950/1000) = 2.95
|
|
272
|
+
// This ensures user "always allow" selections are high priority
|
|
273
|
+
// but still lose to admin policies (3.xxx) and settings excludes (200)
|
|
274
|
+
priority: 2.95,
|
|
275
|
+
argsPattern: new RegExp(pattern),
|
|
276
|
+
source: 'Dynamic (Confirmed)',
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
const argsPattern = message.argsPattern
|
|
283
|
+
? new RegExp(message.argsPattern)
|
|
284
|
+
: undefined;
|
|
285
|
+
policyEngine.addRule({
|
|
286
|
+
toolName,
|
|
287
|
+
decision: PolicyDecision.ALLOW,
|
|
288
|
+
// User tier (2) + high priority (950/1000) = 2.95
|
|
289
|
+
// This ensures user "always allow" selections are high priority
|
|
290
|
+
// but still lose to admin policies (3.xxx) and settings excludes (200)
|
|
291
|
+
priority: 2.95,
|
|
292
|
+
argsPattern,
|
|
293
|
+
source: 'Dynamic (Confirmed)',
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
if (message.persist) {
|
|
297
|
+
try {
|
|
298
|
+
const userPoliciesDir = Storage.getUserPoliciesDir();
|
|
299
|
+
await fs.mkdir(userPoliciesDir, { recursive: true });
|
|
300
|
+
const policyFile = path.join(userPoliciesDir, 'auto-saved.toml');
|
|
301
|
+
// Read existing file
|
|
302
|
+
let existingData = {};
|
|
303
|
+
try {
|
|
304
|
+
const fileContent = await fs.readFile(policyFile, 'utf-8');
|
|
305
|
+
existingData = toml.parse(fileContent);
|
|
306
|
+
}
|
|
307
|
+
catch (error) {
|
|
308
|
+
if (error.code !== 'ENOENT') {
|
|
309
|
+
debugLogger.warn(`Failed to parse ${policyFile}, overwriting with new policy.`, error);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
// Initialize rule array if needed
|
|
313
|
+
if (!existingData.rule) {
|
|
314
|
+
existingData.rule = [];
|
|
315
|
+
}
|
|
316
|
+
// Create new rule object
|
|
317
|
+
const newRule = {};
|
|
318
|
+
if (message.mcpName) {
|
|
319
|
+
newRule.mcpName = message.mcpName;
|
|
320
|
+
// Extract simple tool name
|
|
321
|
+
const simpleToolName = toolName.startsWith(`${message.mcpName}__`)
|
|
322
|
+
? toolName.slice(message.mcpName.length + 2)
|
|
323
|
+
: toolName;
|
|
324
|
+
newRule.toolName = simpleToolName;
|
|
325
|
+
newRule.decision = 'allow';
|
|
326
|
+
newRule.priority = 200;
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
newRule.toolName = toolName;
|
|
330
|
+
newRule.decision = 'allow';
|
|
331
|
+
newRule.priority = 100;
|
|
332
|
+
}
|
|
333
|
+
if (message.commandPrefix) {
|
|
334
|
+
newRule.commandPrefix = message.commandPrefix;
|
|
335
|
+
}
|
|
336
|
+
else if (message.argsPattern) {
|
|
337
|
+
newRule.argsPattern = message.argsPattern;
|
|
338
|
+
}
|
|
339
|
+
// Add to rules
|
|
340
|
+
existingData.rule.push(newRule);
|
|
341
|
+
// Serialize back to TOML
|
|
342
|
+
// @iarna/toml stringify might not produce beautiful output but it handles escaping correctly
|
|
343
|
+
const newContent = toml.stringify(existingData);
|
|
344
|
+
// Atomic write: write to tmp then rename
|
|
345
|
+
const tmpFile = `${policyFile}.tmp`;
|
|
346
|
+
await fs.writeFile(tmpFile, newContent, 'utf-8');
|
|
347
|
+
await fs.rename(tmpFile, policyFile);
|
|
348
|
+
}
|
|
349
|
+
catch (error) {
|
|
350
|
+
coreEvents.emitFeedback('error', `Failed to persist policy for ${toolName}`, error);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
//# sourceMappingURL=config.js.map
|