@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,164 @@
|
|
|
1
|
+
# Gemini CLI hooks
|
|
2
|
+
|
|
3
|
+
Hooks are scripts or programs that Gemini CLI executes at specific points in the
|
|
4
|
+
agentic loop, allowing you to intercept and customize behavior without modifying
|
|
5
|
+
the CLI's source code.
|
|
6
|
+
|
|
7
|
+
## What are hooks?
|
|
8
|
+
|
|
9
|
+
Hooks run synchronously as part of the agent loop—when a hook event fires,
|
|
10
|
+
Gemini CLI waits for all matching hooks to complete before continuing.
|
|
11
|
+
|
|
12
|
+
With hooks, you can:
|
|
13
|
+
|
|
14
|
+
- **Add context:** Inject relevant information (like git history) before the
|
|
15
|
+
model processes a request.
|
|
16
|
+
- **Validate actions:** Review tool arguments and block potentially dangerous
|
|
17
|
+
operations.
|
|
18
|
+
- **Enforce policies:** Implement security scanners and compliance checks.
|
|
19
|
+
- **Log interactions:** Track tool usage and model responses for auditing.
|
|
20
|
+
- **Optimize behavior:** Dynamically filter available tools or adjust model
|
|
21
|
+
parameters.
|
|
22
|
+
|
|
23
|
+
### Getting started
|
|
24
|
+
|
|
25
|
+
- **[Writing hooks guide](/docs/hooks/writing-hooks)**: A tutorial on creating
|
|
26
|
+
your first hook with comprehensive examples.
|
|
27
|
+
- **[Best practices](/docs/hooks/best-practices)**: Guidelines on security,
|
|
28
|
+
performance, and debugging.
|
|
29
|
+
- **[Hooks reference](/docs/hooks/reference)**: The definitive technical
|
|
30
|
+
specification of I/O schemas and exit codes.
|
|
31
|
+
|
|
32
|
+
## Core concepts
|
|
33
|
+
|
|
34
|
+
### Hook events
|
|
35
|
+
|
|
36
|
+
Hooks are triggered by specific events in Gemini CLI's lifecycle.
|
|
37
|
+
|
|
38
|
+
| Event | When It Fires | Impact | Common Use Cases |
|
|
39
|
+
| --------------------- | ---------------------------------------------- | ---------------------- | -------------------------------------------- |
|
|
40
|
+
| `SessionStart` | When a session begins (startup, resume, clear) | Inject Context | Initialize resources, load context |
|
|
41
|
+
| `SessionEnd` | When a session ends (exit, clear) | Advisory | Clean up, save state |
|
|
42
|
+
| `BeforeAgent` | After user submits prompt, before planning | Block Turn / Context | Add context, validate prompts, block turns |
|
|
43
|
+
| `AfterAgent` | When agent loop ends | Retry / Halt | Review output, force retry or halt execution |
|
|
44
|
+
| `BeforeModel` | Before sending request to LLM | Block Turn / Mock | Modify prompts, swap models, mock responses |
|
|
45
|
+
| `AfterModel` | After receiving LLM response | Block Turn / Redact | Filter/redact responses, log interactions |
|
|
46
|
+
| `BeforeToolSelection` | Before LLM selects tools | Filter Tools | Filter available tools, optimize selection |
|
|
47
|
+
| `BeforeTool` | Before a tool executes | Block Tool / Rewrite | Validate arguments, block dangerous ops |
|
|
48
|
+
| `AfterTool` | After a tool executes | Block Result / Context | Process results, run tests, hide results |
|
|
49
|
+
| `PreCompress` | Before context compression | Advisory | Save state, notify user |
|
|
50
|
+
| `Notification` | When a system notification occurs | Advisory | Forward to desktop alerts, logging |
|
|
51
|
+
|
|
52
|
+
### Global mechanics
|
|
53
|
+
|
|
54
|
+
Understanding these core principles is essential for building robust hooks.
|
|
55
|
+
|
|
56
|
+
#### Strict JSON requirements (The "Golden Rule")
|
|
57
|
+
|
|
58
|
+
Hooks communicate via `stdin` (Input) and `stdout` (Output).
|
|
59
|
+
|
|
60
|
+
1. **Silence is Mandatory**: Your script **must not** print any plain text to
|
|
61
|
+
`stdout` other than the final JSON object. **Even a single `echo` or `print`
|
|
62
|
+
call before the JSON will break parsing.**
|
|
63
|
+
2. **Pollution = Failure**: If `stdout` contains non-JSON text, parsing will
|
|
64
|
+
fail. The CLI will default to "Allow" and treat the entire output as a
|
|
65
|
+
`systemMessage`.
|
|
66
|
+
3. **Debug via Stderr**: Use `stderr` for **all** logging and debugging (e.g.,
|
|
67
|
+
`echo "debug" >&2`). Gemini CLI captures `stderr` but never attempts to parse
|
|
68
|
+
it as JSON.
|
|
69
|
+
|
|
70
|
+
#### Exit codes
|
|
71
|
+
|
|
72
|
+
Gemini CLI uses exit codes to determine the high-level outcome of a hook
|
|
73
|
+
execution:
|
|
74
|
+
|
|
75
|
+
| Exit Code | Label | Behavioral Impact |
|
|
76
|
+
| --------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
77
|
+
| **0** | **Success** | The `stdout` is parsed as JSON. **Preferred code** for all logic, including intentional blocks (e.g., `{"decision": "deny"}`). |
|
|
78
|
+
| **2** | **System Block** | **Critical Block**. The target action (tool, turn, or stop) is aborted. `stderr` is used as the rejection reason. High severity; used for security stops or script failures. |
|
|
79
|
+
| **Other** | **Warning** | Non-fatal failure. A warning is shown, but the interaction proceeds using original parameters. |
|
|
80
|
+
|
|
81
|
+
#### Matchers
|
|
82
|
+
|
|
83
|
+
You can filter which specific tools or triggers fire your hook using the
|
|
84
|
+
`matcher` field.
|
|
85
|
+
|
|
86
|
+
- **Tool events** (`BeforeTool`, `AfterTool`): Matchers are **Regular
|
|
87
|
+
Expressions**. (e.g., `"write_.*"`).
|
|
88
|
+
- **Lifecycle events**: Matchers are **Exact Strings**. (e.g., `"startup"`).
|
|
89
|
+
- **Wildcards**: `"*"` or `""` (empty string) matches all occurrences.
|
|
90
|
+
|
|
91
|
+
## Configuration
|
|
92
|
+
|
|
93
|
+
Hooks are configured in `settings.json`. Gemini CLI merges configurations from
|
|
94
|
+
multiple layers in the following order of precedence (highest to lowest):
|
|
95
|
+
|
|
96
|
+
1. **Project settings**: `.gemini/settings.json` in the current directory.
|
|
97
|
+
2. **User settings**: `~/.gemini/settings.json`.
|
|
98
|
+
3. **System settings**: `/etc/gemini-cli/settings.json`.
|
|
99
|
+
4. **Extensions**: Hooks defined by installed extensions.
|
|
100
|
+
|
|
101
|
+
### Configuration schema
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"hooks": {
|
|
106
|
+
"BeforeTool": [
|
|
107
|
+
{
|
|
108
|
+
"matcher": "write_file|replace",
|
|
109
|
+
"hooks": [
|
|
110
|
+
{
|
|
111
|
+
"name": "security-check",
|
|
112
|
+
"type": "command",
|
|
113
|
+
"command": "$GEMINI_PROJECT_DIR/.gemini/hooks/security.sh",
|
|
114
|
+
"timeout": 5000
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
#### Hook configuration fields
|
|
124
|
+
|
|
125
|
+
| Field | Type | Required | Description |
|
|
126
|
+
| :------------ | :----- | :-------- | :------------------------------------------------------------------- |
|
|
127
|
+
| `type` | string | **Yes** | The execution engine. Currently only `"command"` is supported. |
|
|
128
|
+
| `command` | string | **Yes\*** | The shell command to execute. (Required when `type` is `"command"`). |
|
|
129
|
+
| `name` | string | No | A friendly name for identifying the hook in logs and CLI commands. |
|
|
130
|
+
| `timeout` | number | No | Execution timeout in milliseconds (default: 60000). |
|
|
131
|
+
| `description` | string | No | A brief explanation of the hook's purpose. |
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
### Environment variables
|
|
136
|
+
|
|
137
|
+
Hooks are executed with a sanitized environment.
|
|
138
|
+
|
|
139
|
+
- `GEMINI_PROJECT_DIR`: The absolute path to the project root.
|
|
140
|
+
- `GEMINI_SESSION_ID`: The unique ID for the current session.
|
|
141
|
+
- `GEMINI_CWD`: The current working directory.
|
|
142
|
+
- `CLAUDE_PROJECT_DIR`: (Alias) Provided for compatibility.
|
|
143
|
+
|
|
144
|
+
## Security and risks
|
|
145
|
+
|
|
146
|
+
> **Warning: Hooks execute arbitrary code with your user privileges.** By
|
|
147
|
+
> configuring hooks, you are allowing scripts to run shell commands on your
|
|
148
|
+
> machine.
|
|
149
|
+
|
|
150
|
+
**Project-level hooks** are particularly risky when opening untrusted projects.
|
|
151
|
+
Gemini CLI **fingerprints** project hooks. If a hook's name or command changes
|
|
152
|
+
(e.g., via `git pull`), it is treated as a **new, untrusted hook** and you will
|
|
153
|
+
be warned before it executes.
|
|
154
|
+
|
|
155
|
+
See [Security Considerations](/docs/hooks/best-practices#using-hooks-securely)
|
|
156
|
+
for a detailed threat model.
|
|
157
|
+
|
|
158
|
+
## Managing hooks
|
|
159
|
+
|
|
160
|
+
Use the CLI commands to manage hooks without editing JSON manually:
|
|
161
|
+
|
|
162
|
+
- **View hooks:** `/hooks panel`
|
|
163
|
+
- **Enable/Disable all:** `/hooks enable-all` or `/hooks disable-all`
|
|
164
|
+
- **Toggle individual:** `/hooks enable <name>` or `/hooks disable <name>`
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
# Hooks reference
|
|
2
|
+
|
|
3
|
+
This document provides the technical specification for Gemini CLI hooks,
|
|
4
|
+
including JSON schemas and API details.
|
|
5
|
+
|
|
6
|
+
## Global hook mechanics
|
|
7
|
+
|
|
8
|
+
- **Communication**: `stdin` for Input (JSON), `stdout` for Output (JSON), and
|
|
9
|
+
`stderr` for logs and feedback.
|
|
10
|
+
- **Exit codes**:
|
|
11
|
+
- `0`: Success. `stdout` is parsed as JSON. **Preferred for all logic.**
|
|
12
|
+
- `2`: System Block. The action is blocked; `stderr` is used as the rejection
|
|
13
|
+
reason.
|
|
14
|
+
- `Other`: Warning. A non-fatal failure occurred; the CLI continues with a
|
|
15
|
+
warning.
|
|
16
|
+
- **Silence is Mandatory**: Your script **must not** print any plain text to
|
|
17
|
+
`stdout` other than the final JSON.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Configuration schema
|
|
22
|
+
|
|
23
|
+
Hooks are defined in `settings.json` within the `hooks` object. Each event
|
|
24
|
+
(e.g., `BeforeTool`) contains an array of **hook definitions**.
|
|
25
|
+
|
|
26
|
+
### Hook definition
|
|
27
|
+
|
|
28
|
+
| Field | Type | Required | Description |
|
|
29
|
+
| :----------- | :-------- | :------- | :-------------------------------------------------------------------------------------- |
|
|
30
|
+
| `matcher` | `string` | No | A regex (for tools) or exact string (for lifecycle) to filter when the hook runs. |
|
|
31
|
+
| `sequential` | `boolean` | No | If `true`, hooks in this group run one after another. If `false`, they run in parallel. |
|
|
32
|
+
| `hooks` | `array` | **Yes** | An array of **hook configurations**. |
|
|
33
|
+
|
|
34
|
+
### Hook configuration
|
|
35
|
+
|
|
36
|
+
| Field | Type | Required | Description |
|
|
37
|
+
| :------------ | :------- | :-------- | :------------------------------------------------------------------- |
|
|
38
|
+
| `type` | `string` | **Yes** | The execution engine. Currently only `"command"` is supported. |
|
|
39
|
+
| `command` | `string` | **Yes\*** | The shell command to execute. (Required when `type` is `"command"`). |
|
|
40
|
+
| `name` | `string` | No | A friendly name for identifying the hook in logs and CLI commands. |
|
|
41
|
+
| `timeout` | `number` | No | Execution timeout in milliseconds (default: 60000). |
|
|
42
|
+
| `description` | `string` | No | A brief explanation of the hook's purpose. |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Base input schema
|
|
47
|
+
|
|
48
|
+
All hooks receive these common fields via `stdin`:
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
{
|
|
52
|
+
"session_id": string, // Unique ID for the current session
|
|
53
|
+
"transcript_path": string, // Absolute path to session transcript JSON
|
|
54
|
+
"cwd": string, // Current working directory
|
|
55
|
+
"hook_event_name": string, // The firing event (e.g. "BeforeTool")
|
|
56
|
+
"timestamp": string // ISO 8601 execution time
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Common output fields
|
|
63
|
+
|
|
64
|
+
Most hooks support these fields in their `stdout` JSON:
|
|
65
|
+
|
|
66
|
+
| Field | Type | Description |
|
|
67
|
+
| :--------------- | :-------- | :----------------------------------------------------------------------------- |
|
|
68
|
+
| `systemMessage` | `string` | Displayed immediately to the user in the terminal. |
|
|
69
|
+
| `suppressOutput` | `boolean` | If `true`, hides internal hook metadata from logs/telemetry. |
|
|
70
|
+
| `continue` | `boolean` | If `false`, stops the entire agent loop immediately. |
|
|
71
|
+
| `stopReason` | `string` | Displayed to the user when `continue` is `false`. |
|
|
72
|
+
| `decision` | `string` | `"allow"` or `"deny"` (alias `"block"`). Specific impact depends on the event. |
|
|
73
|
+
| `reason` | `string` | The feedback/error message provided when a `decision` is `"deny"`. |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Tool hooks
|
|
78
|
+
|
|
79
|
+
### Matchers and tool names
|
|
80
|
+
|
|
81
|
+
For `BeforeTool` and `AfterTool` events, the `matcher` field in your settings is
|
|
82
|
+
compared against the name of the tool being executed.
|
|
83
|
+
|
|
84
|
+
- **Built-in Tools**: You can match any built-in tool (e.g., `read_file`,
|
|
85
|
+
`run_shell_command`). See the [Tools Reference](/docs/tools) for a full list
|
|
86
|
+
of available tool names.
|
|
87
|
+
- **MCP Tools**: Tools from MCP servers follow the naming pattern
|
|
88
|
+
`mcp__<server_name>__<tool_name>`.
|
|
89
|
+
- **Regex Support**: Matchers support regular expressions (e.g.,
|
|
90
|
+
`matcher: "read_.*"` matches all file reading tools).
|
|
91
|
+
|
|
92
|
+
### `BeforeTool`
|
|
93
|
+
|
|
94
|
+
Fires before a tool is invoked. Used for argument validation, security checks,
|
|
95
|
+
and parameter rewriting.
|
|
96
|
+
|
|
97
|
+
- **Input Fields**:
|
|
98
|
+
- `tool_name`: (`string`) The name of the tool being called.
|
|
99
|
+
- `tool_input`: (`object`) The raw arguments generated by the model.
|
|
100
|
+
- `mcp_context`: (`object`) Optional metadata for MCP-based tools.
|
|
101
|
+
- **Relevant Output Fields**:
|
|
102
|
+
- `decision`: Set to `"deny"` (or `"block"`) to prevent the tool from
|
|
103
|
+
executing.
|
|
104
|
+
- `reason`: Required if denied. This text is sent **to the agent** as a tool
|
|
105
|
+
error, allowing it to respond or retry.
|
|
106
|
+
- `hookSpecificOutput.tool_input`: An object that **merges with and
|
|
107
|
+
overrides** the model's arguments before execution.
|
|
108
|
+
- `continue`: Set to `false` to **kill the entire agent loop** immediately.
|
|
109
|
+
- **Exit Code 2 (Block Tool)**: Prevents execution. Uses `stderr` as the
|
|
110
|
+
`reason` sent to the agent. **The turn continues.**
|
|
111
|
+
|
|
112
|
+
### `AfterTool`
|
|
113
|
+
|
|
114
|
+
Fires after a tool executes. Used for result auditing, context injection, or
|
|
115
|
+
hiding sensitive output from the agent.
|
|
116
|
+
|
|
117
|
+
- **Input Fields**:
|
|
118
|
+
- `tool_name`: (`string`)
|
|
119
|
+
- `tool_input`: (`object`) The original arguments.
|
|
120
|
+
- `tool_response`: (`object`) The result containing `llmContent`,
|
|
121
|
+
`returnDisplay`, and optional `error`.
|
|
122
|
+
- `mcp_context`: (`object`)
|
|
123
|
+
- **Relevant Output Fields**:
|
|
124
|
+
- `decision`: Set to `"deny"` to hide the real tool output from the agent.
|
|
125
|
+
- `reason`: Required if denied. This text **replaces** the tool result sent
|
|
126
|
+
back to the model.
|
|
127
|
+
- `hookSpecificOutput.additionalContext`: Text that is **appended** to the
|
|
128
|
+
tool result for the agent.
|
|
129
|
+
- `continue`: Set to `false` to **kill the entire agent loop** immediately.
|
|
130
|
+
- **Exit Code 2 (Block Result)**: Hides the tool result. Uses `stderr` as the
|
|
131
|
+
replacement content sent to the agent. **The turn continues.**
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Agent hooks
|
|
136
|
+
|
|
137
|
+
### `BeforeAgent`
|
|
138
|
+
|
|
139
|
+
Fires after a user submits a prompt, but before the agent begins planning. Used
|
|
140
|
+
for prompt validation or injecting dynamic context.
|
|
141
|
+
|
|
142
|
+
- **Input Fields**:
|
|
143
|
+
- `prompt`: (`string`) The original text submitted by the user.
|
|
144
|
+
- **Relevant Output Fields**:
|
|
145
|
+
- `hookSpecificOutput.additionalContext`: Text that is **appended** to the
|
|
146
|
+
prompt for this turn only.
|
|
147
|
+
- `decision`: Set to `"deny"` to block the turn and **discard the user's
|
|
148
|
+
message** (it will not appear in history).
|
|
149
|
+
- `continue`: Set to `false` to block the turn but **save the message to
|
|
150
|
+
history**.
|
|
151
|
+
- `reason`: Required if denied or stopped.
|
|
152
|
+
- **Exit Code 2 (Block Turn)**: Aborts the turn and erases the prompt from
|
|
153
|
+
context. Same as `decision: "deny"`.
|
|
154
|
+
|
|
155
|
+
### `AfterAgent`
|
|
156
|
+
|
|
157
|
+
Fires once per turn after the model generates its final response. Primary use
|
|
158
|
+
case is response validation and automatic retries.
|
|
159
|
+
|
|
160
|
+
- **Input Fields**:
|
|
161
|
+
- `prompt`: (`string`) The user's original request.
|
|
162
|
+
- `prompt_response`: (`string`) The final text generated by the agent.
|
|
163
|
+
- `stop_hook_active`: (`boolean`) Indicates if this hook is already running as
|
|
164
|
+
part of a retry sequence.
|
|
165
|
+
- **Relevant Output Fields**:
|
|
166
|
+
- `decision`: Set to `"deny"` to **reject the response** and force a retry.
|
|
167
|
+
- `reason`: Required if denied. This text is sent **to the agent as a new
|
|
168
|
+
prompt** to request a correction.
|
|
169
|
+
- `continue`: Set to `false` to **stop the session** without retrying.
|
|
170
|
+
- `clearContext`: If `true`, clears conversation history (LLM memory) while
|
|
171
|
+
preserving UI display.
|
|
172
|
+
- **Exit Code 2 (Retry)**: Rejects the response and triggers an automatic retry
|
|
173
|
+
turn using `stderr` as the feedback prompt.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Model hooks
|
|
178
|
+
|
|
179
|
+
### `BeforeModel`
|
|
180
|
+
|
|
181
|
+
Fires before sending a request to the LLM. Operates on a stable, SDK-agnostic
|
|
182
|
+
request format.
|
|
183
|
+
|
|
184
|
+
- **Input Fields**:
|
|
185
|
+
- `llm_request`: (`object`) Contains `model`, `messages`, and `config`
|
|
186
|
+
(generation params).
|
|
187
|
+
- **Relevant Output Fields**:
|
|
188
|
+
- `hookSpecificOutput.llm_request`: An object that **overrides** parts of the
|
|
189
|
+
outgoing request (e.g., changing models or temperature).
|
|
190
|
+
- `hookSpecificOutput.llm_response`: A **Synthetic Response** object. If
|
|
191
|
+
provided, the CLI skips the LLM call entirely and uses this as the response.
|
|
192
|
+
- `decision`: Set to `"deny"` to block the request and abort the turn.
|
|
193
|
+
- **Exit Code 2 (Block Turn)**: Aborts the turn and skips the LLM call. Uses
|
|
194
|
+
`stderr` as the error message.
|
|
195
|
+
|
|
196
|
+
### `BeforeToolSelection`
|
|
197
|
+
|
|
198
|
+
Fires before the LLM decides which tools to call. Used to filter the available
|
|
199
|
+
toolset or force specific tool modes.
|
|
200
|
+
|
|
201
|
+
- **Input Fields**:
|
|
202
|
+
- `llm_request`: (`object`) Same format as `BeforeModel`.
|
|
203
|
+
- **Relevant Output Fields**:
|
|
204
|
+
- `hookSpecificOutput.toolConfig.mode`: (`"AUTO" | "ANY" | "NONE"`)
|
|
205
|
+
- `"NONE"`: Disables all tools (Wins over other hooks).
|
|
206
|
+
- `"ANY"`: Forces at least one tool call.
|
|
207
|
+
- `hookSpecificOutput.toolConfig.allowedFunctionNames`: (`string[]`) Whitelist
|
|
208
|
+
of tool names.
|
|
209
|
+
- **Union Strategy**: Multiple hooks' whitelists are **combined**.
|
|
210
|
+
- **Limitations**: Does **not** support `decision`, `continue`, or
|
|
211
|
+
`systemMessage`.
|
|
212
|
+
|
|
213
|
+
### `AfterModel`
|
|
214
|
+
|
|
215
|
+
Fires immediately after an LLM response chunk is received. Used for real-time
|
|
216
|
+
redaction or PII filtering.
|
|
217
|
+
|
|
218
|
+
- **Input Fields**:
|
|
219
|
+
- `llm_request`: (`object`) The original request.
|
|
220
|
+
- `llm_response`: (`object`) The model's response (or a single chunk during
|
|
221
|
+
streaming).
|
|
222
|
+
- **Relevant Output Fields**:
|
|
223
|
+
- `hookSpecificOutput.llm_response`: An object that **replaces** the model's
|
|
224
|
+
response chunk.
|
|
225
|
+
- `decision`: Set to `"deny"` to discard the response chunk and block the
|
|
226
|
+
turn.
|
|
227
|
+
- `continue`: Set to `false` to **kill the entire agent loop** immediately.
|
|
228
|
+
- **Note on Streaming**: Fired for **every chunk** generated by the model.
|
|
229
|
+
Modifying the response only affects the current chunk.
|
|
230
|
+
- **Exit Code 2 (Block Response)**: Aborts the turn and discards the model's
|
|
231
|
+
output. Uses `stderr` as the error message.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Lifecycle & system hooks
|
|
236
|
+
|
|
237
|
+
### `SessionStart`
|
|
238
|
+
|
|
239
|
+
Fires on application startup, resuming a session, or after a `/clear` command.
|
|
240
|
+
Used for loading initial context.
|
|
241
|
+
|
|
242
|
+
- **Input fields**:
|
|
243
|
+
- `source`: (`"startup" | "resume" | "clear"`)
|
|
244
|
+
- **Relevant output fields**:
|
|
245
|
+
- `hookSpecificOutput.additionalContext`: (`string`)
|
|
246
|
+
- **Interactive**: Injected as the first turn in history.
|
|
247
|
+
- **Non-interactive**: Prepended to the user's prompt.
|
|
248
|
+
- `systemMessage`: Shown at the start of the session.
|
|
249
|
+
- **Advisory only**: `continue` and `decision` fields are **ignored**. Startup
|
|
250
|
+
is never blocked.
|
|
251
|
+
|
|
252
|
+
### `SessionEnd`
|
|
253
|
+
|
|
254
|
+
Fires when the CLI exits or a session is cleared. Used for cleanup or final
|
|
255
|
+
telemetry.
|
|
256
|
+
|
|
257
|
+
- **Input Fields**:
|
|
258
|
+
- `reason`: (`"exit" | "clear" | "logout" | "prompt_input_exit" | "other"`)
|
|
259
|
+
- **Relevant Output Fields**:
|
|
260
|
+
- `systemMessage`: Displayed to the user during shutdown.
|
|
261
|
+
- **Best Effort**: The CLI **will not wait** for this hook to complete and
|
|
262
|
+
ignores all flow-control fields (`continue`, `decision`).
|
|
263
|
+
|
|
264
|
+
### `Notification`
|
|
265
|
+
|
|
266
|
+
Fires when the CLI emits a system alert (e.g., Tool Permissions). Used for
|
|
267
|
+
external logging or cross-platform alerts.
|
|
268
|
+
|
|
269
|
+
- **Input Fields**:
|
|
270
|
+
- `notification_type`: (`"ToolPermission"`)
|
|
271
|
+
- `message`: Summary of the alert.
|
|
272
|
+
- `details`: JSON object with alert-specific metadata (e.g., tool name, file
|
|
273
|
+
path).
|
|
274
|
+
- **Relevant Output Fields**:
|
|
275
|
+
- `systemMessage`: Displayed alongside the system alert.
|
|
276
|
+
- **Observability Only**: This hook **cannot** block alerts or grant permissions
|
|
277
|
+
automatically. Flow-control fields are ignored.
|
|
278
|
+
|
|
279
|
+
### `PreCompress`
|
|
280
|
+
|
|
281
|
+
Fires before the CLI summarizes history to save tokens. Used for logging or
|
|
282
|
+
state saving.
|
|
283
|
+
|
|
284
|
+
- **Input Fields**:
|
|
285
|
+
- `trigger`: (`"auto" | "manual"`)
|
|
286
|
+
- **Relevant Output Fields**:
|
|
287
|
+
- `systemMessage`: Displayed to the user before compression.
|
|
288
|
+
- **Advisory Only**: Fired asynchronously. It **cannot** block or modify the
|
|
289
|
+
compression process. Flow-control fields are ignored.
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## Stable Model API
|
|
294
|
+
|
|
295
|
+
Gemini CLI uses these structures to ensure hooks don't break across SDK updates.
|
|
296
|
+
|
|
297
|
+
**LLMRequest**:
|
|
298
|
+
|
|
299
|
+
```typescript
|
|
300
|
+
{
|
|
301
|
+
"model": string,
|
|
302
|
+
"messages": Array<{
|
|
303
|
+
"role": "user" | "model" | "system",
|
|
304
|
+
"content": string // Non-text parts are filtered out for hooks
|
|
305
|
+
}>,
|
|
306
|
+
"config": { "temperature": number, ... },
|
|
307
|
+
"toolConfig": { "mode": string, "allowedFunctionNames": string[] }
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**LLMResponse**:
|
|
313
|
+
|
|
314
|
+
```typescript
|
|
315
|
+
{
|
|
316
|
+
"candidates": Array<{
|
|
317
|
+
"content": { "role": "model", "parts": string[] },
|
|
318
|
+
"finishReason": string
|
|
319
|
+
}>,
|
|
320
|
+
"usageMetadata": { "totalTokenCount": number }
|
|
321
|
+
}
|
|
322
|
+
```
|