@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,84 @@
|
|
|
1
|
+
# Remote Subagents (experimental)
|
|
2
|
+
|
|
3
|
+
Gemini CLI supports connecting to remote subagents using the Agent-to-Agent
|
|
4
|
+
(A2A) protocol. This allows Gemini CLI to interact with other agents, expanding
|
|
5
|
+
its capabilities by delegating tasks to remote services.
|
|
6
|
+
|
|
7
|
+
Gemini CLI can connect to any compliant A2A agent. You can find samples of A2A
|
|
8
|
+
agents in the following repositories:
|
|
9
|
+
|
|
10
|
+
- [ADK Samples (Python)](https://github.com/google/adk-samples/tree/main/python)
|
|
11
|
+
- [ADK Python Contributing Samples](https://github.com/google/adk-python/tree/main/contributing/samples)
|
|
12
|
+
|
|
13
|
+
> **Note: Remote subagents are currently an experimental feature.**
|
|
14
|
+
|
|
15
|
+
## Configuration
|
|
16
|
+
|
|
17
|
+
To use remote subagents, you must explicitly enable them in your
|
|
18
|
+
`settings.json`:
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"experimental": {
|
|
23
|
+
"enableAgents": true
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Defining remote subagents
|
|
29
|
+
|
|
30
|
+
Remote subagents are defined as Markdown files (`.md`) with YAML frontmatter.
|
|
31
|
+
You can place them in:
|
|
32
|
+
|
|
33
|
+
1. **Project-level:** `.gemini/agents/*.md` (Shared with your team)
|
|
34
|
+
2. **User-level:** `~/.gemini/agents/*.md` (Personal agents)
|
|
35
|
+
|
|
36
|
+
### Configuration schema
|
|
37
|
+
|
|
38
|
+
| Field | Type | Required | Description |
|
|
39
|
+
| :--------------- | :----- | :------- | :------------------------------------------------------------------------------------------------------------- |
|
|
40
|
+
| `kind` | string | Yes | Must be `remote`. |
|
|
41
|
+
| `name` | string | Yes | A unique name for the agent. Must be a valid slug (lowercase letters, numbers, hyphens, and underscores only). |
|
|
42
|
+
| `agent_card_url` | string | Yes | The URL to the agent's A2A card endpoint. |
|
|
43
|
+
|
|
44
|
+
### Single-subagent example
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
---
|
|
48
|
+
kind: remote
|
|
49
|
+
name: my-remote-agent
|
|
50
|
+
agent_card_url: https://example.com/agent-card
|
|
51
|
+
---
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Multi-subagent example
|
|
55
|
+
|
|
56
|
+
The loader explicitly supports multiple remote subagents defined in a single
|
|
57
|
+
Markdown file.
|
|
58
|
+
|
|
59
|
+
```markdown
|
|
60
|
+
---
|
|
61
|
+
- kind: remote
|
|
62
|
+
name: remote-1
|
|
63
|
+
agent_card_url: https://example.com/1
|
|
64
|
+
- kind: remote
|
|
65
|
+
name: remote-2
|
|
66
|
+
agent_card_url: https://example.com/2
|
|
67
|
+
---
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
> **Note:** Mixed local and remote agents, or multiple local agents, are not
|
|
71
|
+
> supported in a single file; the list format is currently remote-only.
|
|
72
|
+
|
|
73
|
+
## Managing Subagents
|
|
74
|
+
|
|
75
|
+
Users can manage subagents using the following commands within the Gemini CLI:
|
|
76
|
+
|
|
77
|
+
- `/agents list`: Displays all available local and remote subagents.
|
|
78
|
+
- `/agents refresh`: Reloads the agent registry. Use this after adding or
|
|
79
|
+
modifying agent definition files.
|
|
80
|
+
- `/agents enable <agent_name>`: Enables a specific subagent.
|
|
81
|
+
- `/agents disable <agent_name>`: Disables a specific subagent.
|
|
82
|
+
|
|
83
|
+
> **Tip:** You can use the `@cli_help` agent within Gemini CLI for assistance
|
|
84
|
+
> with configuring subagents.
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Sub-agents (experimental)
|
|
2
|
+
|
|
3
|
+
Sub-agents are specialized agents that operate within your main Gemini CLI
|
|
4
|
+
session. They are designed to handle specific, complex tasks—like deep codebase
|
|
5
|
+
analysis, documentation lookup, or domain-specific reasoning—without cluttering
|
|
6
|
+
the main agent's context or toolset.
|
|
7
|
+
|
|
8
|
+
> **Note: Sub-agents are currently an experimental feature.**
|
|
9
|
+
>
|
|
10
|
+
> To use custom sub-agents, you must explicitly enable them in your
|
|
11
|
+
> `settings.json`:
|
|
12
|
+
>
|
|
13
|
+
> ```json
|
|
14
|
+
> {
|
|
15
|
+
> "experimental": { "enableAgents": true }
|
|
16
|
+
> }
|
|
17
|
+
> ```
|
|
18
|
+
>
|
|
19
|
+
> **Warning:** Sub-agents currently operate in
|
|
20
|
+
> ["YOLO mode"](../get-started/configuration.md#command-line-arguments), meaning
|
|
21
|
+
> they may execute tools without individual user confirmation for each step.
|
|
22
|
+
> Proceed with caution when defining agents with powerful tools like
|
|
23
|
+
> `run_shell_command` or `write_file`.
|
|
24
|
+
|
|
25
|
+
## What are sub-agents?
|
|
26
|
+
|
|
27
|
+
Sub-agents are "specialists" that the main Gemini agent can hire for a specific
|
|
28
|
+
job.
|
|
29
|
+
|
|
30
|
+
- **Focused context:** Each sub-agent has its own system prompt and persona.
|
|
31
|
+
- **Specialized tools:** Sub-agents can have a restricted or specialized set of
|
|
32
|
+
tools.
|
|
33
|
+
- **Independent context window:** Interactions with a sub-agent happen in a
|
|
34
|
+
separate context loop, which saves tokens in your main conversation history.
|
|
35
|
+
|
|
36
|
+
Sub-agents are exposed to the main agent as a tool of the same name. When the
|
|
37
|
+
main agent calls the tool, it delegates the task to the sub-agent. Once the
|
|
38
|
+
sub-agent completes its task, it reports back to the main agent with its
|
|
39
|
+
findings.
|
|
40
|
+
|
|
41
|
+
## Built-in sub-agents
|
|
42
|
+
|
|
43
|
+
Gemini CLI comes with the following built-in sub-agents:
|
|
44
|
+
|
|
45
|
+
### Codebase Investigator
|
|
46
|
+
|
|
47
|
+
- **Name:** `codebase_investigator`
|
|
48
|
+
- **Purpose:** Analyze the codebase, reverse engineer, and understand complex
|
|
49
|
+
dependencies.
|
|
50
|
+
- **When to use:** "How does the authentication system work?", "Map out the
|
|
51
|
+
dependencies of the `AgentRegistry` class."
|
|
52
|
+
- **Configuration:** Enabled by default. You can configure it in
|
|
53
|
+
`settings.json`. Example (forcing a specific model):
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"experimental": {
|
|
57
|
+
"codebaseInvestigatorSettings": {
|
|
58
|
+
"enabled": true,
|
|
59
|
+
"maxNumTurns": 20,
|
|
60
|
+
"model": "gemini-2.5-pro"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### CLI Help Agent
|
|
67
|
+
|
|
68
|
+
- **Name:** `cli_help`
|
|
69
|
+
- **Purpose:** Get expert knowledge about Gemini CLI itself, its commands,
|
|
70
|
+
configuration, and documentation.
|
|
71
|
+
- **When to use:** "How do I configure a proxy?", "What does the `/rewind`
|
|
72
|
+
command do?"
|
|
73
|
+
- **Configuration:** Enabled by default.
|
|
74
|
+
|
|
75
|
+
### Generalist Agent
|
|
76
|
+
|
|
77
|
+
- **Name:** `generalist_agent`
|
|
78
|
+
- **Purpose:** Route tasks to the appropriate specialized sub-agent.
|
|
79
|
+
- **When to use:** Implicitly used by the main agent for routing. Not directly
|
|
80
|
+
invoked by the user.
|
|
81
|
+
- **Configuration:** Enabled by default. No specific configuration options.
|
|
82
|
+
|
|
83
|
+
## Creating custom sub-agents
|
|
84
|
+
|
|
85
|
+
You can create your own sub-agents to automate specific workflows or enforce
|
|
86
|
+
specific personas. To use custom sub-agents, you must enable them in your
|
|
87
|
+
`settings.json`:
|
|
88
|
+
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"experimental": {
|
|
92
|
+
"enableAgents": true
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Agent definition files
|
|
98
|
+
|
|
99
|
+
Custom agents are defined as Markdown files (`.md`) with YAML frontmatter. You
|
|
100
|
+
can place them in:
|
|
101
|
+
|
|
102
|
+
1. **Project-level:** `.gemini/agents/*.md` (Shared with your team)
|
|
103
|
+
2. **User-level:** `~/.gemini/agents/*.md` (Personal agents)
|
|
104
|
+
|
|
105
|
+
### File format
|
|
106
|
+
|
|
107
|
+
The file **MUST** start with YAML frontmatter enclosed in triple-dashes `---`.
|
|
108
|
+
The body of the markdown file becomes the agent's **System Prompt**.
|
|
109
|
+
|
|
110
|
+
**Example: `.gemini/agents/security-auditor.md`**
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
---
|
|
114
|
+
name: security-auditor
|
|
115
|
+
description: Specialized in finding security vulnerabilities in code.
|
|
116
|
+
kind: local
|
|
117
|
+
tools:
|
|
118
|
+
- read_file
|
|
119
|
+
- search_file_content
|
|
120
|
+
model: gemini-2.5-pro
|
|
121
|
+
temperature: 0.2
|
|
122
|
+
max_turns: 10
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
You are a ruthless Security Auditor. Your job is to analyze code for potential
|
|
126
|
+
vulnerabilities.
|
|
127
|
+
|
|
128
|
+
Focus on:
|
|
129
|
+
|
|
130
|
+
1. SQL Injection
|
|
131
|
+
2. XSS (Cross-Site Scripting)
|
|
132
|
+
3. Hardcoded credentials
|
|
133
|
+
4. Unsafe file operations
|
|
134
|
+
|
|
135
|
+
When you find a vulnerability, explain it clearly and suggest a fix. Do not fix
|
|
136
|
+
it yourself; just report it.
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Configuration schema
|
|
140
|
+
|
|
141
|
+
| Field | Type | Required | Description |
|
|
142
|
+
| :------------- | :----- | :------- | :------------------------------------------------------------------------------------------------------------------------- |
|
|
143
|
+
| `name` | string | Yes | Unique identifier (slug) used as the tool name for the agent. Only lowercase letters, numbers, hyphens, and underscores. |
|
|
144
|
+
| `description` | string | Yes | Short description of what the agent does. This is visible to the main agent to help it decide when to call this sub-agent. |
|
|
145
|
+
| `kind` | string | No | `local` (default) or `remote`. |
|
|
146
|
+
| `tools` | array | No | List of tool names this agent can use. If omitted, it may have access to a default set. |
|
|
147
|
+
| `model` | string | No | Specific model to use (e.g., `gemini-2.5-pro`). Defaults to `inherit` (uses the main session model). |
|
|
148
|
+
| `temperature` | number | No | Model temperature (0.0 - 2.0). |
|
|
149
|
+
| `max_turns` | number | No | Maximum number of conversation turns allowed for this agent before it must return. |
|
|
150
|
+
| `timeout_mins` | number | No | Maximum execution time in minutes. |
|
|
151
|
+
|
|
152
|
+
### Optimizing your sub-agent
|
|
153
|
+
|
|
154
|
+
The main agent's system prompt encourages it to use an expert sub-agent when one
|
|
155
|
+
is available. It decides whether an agent is a relevant expert based on the
|
|
156
|
+
agent's description. You can improve the reliability with which an agent is used
|
|
157
|
+
by updating the description to more clearly indicate:
|
|
158
|
+
|
|
159
|
+
- Its area of expertise.
|
|
160
|
+
- When it should be used.
|
|
161
|
+
- Some example scenarios.
|
|
162
|
+
|
|
163
|
+
For example, the following sub-agent description should be called fairly
|
|
164
|
+
consistently for Git operations.
|
|
165
|
+
|
|
166
|
+
> Git expert agent which should be used for all local and remote git operations.
|
|
167
|
+
> For example:
|
|
168
|
+
>
|
|
169
|
+
> - Making commits
|
|
170
|
+
> - Searching for regressions with bisect
|
|
171
|
+
> - Interacting with source control and issues providers such as GitHub.
|
|
172
|
+
|
|
173
|
+
If you need to further tune your sub-agent, you can do so by selecting the model
|
|
174
|
+
to optimize for with `/model` and then asking the model why it does not think
|
|
175
|
+
that your sub-agent was called with a specific prompt and the given description.
|
|
176
|
+
|
|
177
|
+
## Remote subagents (Agent2Agent) (experimental)
|
|
178
|
+
|
|
179
|
+
Gemini CLI can also delegate tasks to remote sub-agents using the Agent-to-Agent
|
|
180
|
+
(A2A) protocol.
|
|
181
|
+
|
|
182
|
+
> **Note: Remote subagents are currently an experimental feature.**
|
|
183
|
+
|
|
184
|
+
See the [Remote Subagents documentation](/docs/core/remote-agents) for detailed
|
|
185
|
+
configuration and usage instructions.
|
|
186
|
+
|
|
187
|
+
## Extension sub-agents
|
|
188
|
+
|
|
189
|
+
Extensions can bundle and distribute sub-agents. See the
|
|
190
|
+
[Extensions documentation](../extensions/index.md#sub-agents) for details on how
|
|
191
|
+
to package agents within an extension.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Gemini CLI core: Tools API
|
|
2
|
+
|
|
3
|
+
The Gemini CLI core (`packages/core`) features a robust system for defining,
|
|
4
|
+
registering, and executing tools. These tools extend the capabilities of the
|
|
5
|
+
Gemini model, allowing it to interact with the local environment, fetch web
|
|
6
|
+
content, and perform various actions beyond simple text generation.
|
|
7
|
+
|
|
8
|
+
## Core concepts
|
|
9
|
+
|
|
10
|
+
- **Tool (`tools.ts`):** An interface and base class (`BaseTool`) that defines
|
|
11
|
+
the contract for all tools. Each tool must have:
|
|
12
|
+
- `name`: A unique internal name (used in API calls to Gemini).
|
|
13
|
+
- `displayName`: A user-friendly name.
|
|
14
|
+
- `description`: A clear explanation of what the tool does, which is provided
|
|
15
|
+
to the Gemini model.
|
|
16
|
+
- `parameterSchema`: A JSON schema defining the parameters that the tool
|
|
17
|
+
accepts. This is crucial for the Gemini model to understand how to call the
|
|
18
|
+
tool correctly.
|
|
19
|
+
- `validateToolParams()`: A method to validate incoming parameters.
|
|
20
|
+
- `getDescription()`: A method to provide a human-readable description of what
|
|
21
|
+
the tool will do with specific parameters before execution.
|
|
22
|
+
- `shouldConfirmExecute()`: A method to determine if user confirmation is
|
|
23
|
+
required before execution (e.g., for potentially destructive operations).
|
|
24
|
+
- `execute()`: The core method that performs the tool's action and returns a
|
|
25
|
+
`ToolResult`.
|
|
26
|
+
|
|
27
|
+
- **`ToolResult` (`tools.ts`):** An interface defining the structure of a tool's
|
|
28
|
+
execution outcome:
|
|
29
|
+
- `llmContent`: The factual content to be included in the history sent back to
|
|
30
|
+
the LLM for context. This can be a simple string or a `PartListUnion` (an
|
|
31
|
+
array of `Part` objects and strings) for rich content.
|
|
32
|
+
- `returnDisplay`: A user-friendly string (often Markdown) or a special object
|
|
33
|
+
(like `FileDiff`) for display in the CLI.
|
|
34
|
+
|
|
35
|
+
- **Returning rich content:** Tools are not limited to returning simple text.
|
|
36
|
+
The `llmContent` can be a `PartListUnion`, which is an array that can contain
|
|
37
|
+
a mix of `Part` objects (for images, audio, etc.) and `string`s. This allows a
|
|
38
|
+
single tool execution to return multiple pieces of rich content.
|
|
39
|
+
|
|
40
|
+
- **Tool registry (`tool-registry.ts`):** A class (`ToolRegistry`) responsible
|
|
41
|
+
for:
|
|
42
|
+
- **Registering tools:** Holding a collection of all available built-in tools
|
|
43
|
+
(e.g., `ReadFileTool`, `ShellTool`).
|
|
44
|
+
- **Discovering tools:** It can also discover tools dynamically:
|
|
45
|
+
- **Command-based discovery:** If `tools.discoveryCommand` is configured in
|
|
46
|
+
settings, this command is executed. It's expected to output JSON
|
|
47
|
+
describing custom tools, which are then registered as `DiscoveredTool`
|
|
48
|
+
instances.
|
|
49
|
+
- **MCP-based discovery:** If `mcp.serverCommand` is configured, the
|
|
50
|
+
registry can connect to a Model Context Protocol (MCP) server to list and
|
|
51
|
+
register tools (`DiscoveredMCPTool`).
|
|
52
|
+
- **Providing schemas:** Exposing the `FunctionDeclaration` schemas of all
|
|
53
|
+
registered tools to the Gemini model, so it knows what tools are available
|
|
54
|
+
and how to use them.
|
|
55
|
+
- **Retrieving tools:** Allowing the core to get a specific tool by name for
|
|
56
|
+
execution.
|
|
57
|
+
|
|
58
|
+
## Built-in tools
|
|
59
|
+
|
|
60
|
+
The core comes with a suite of pre-defined tools, typically found in
|
|
61
|
+
`packages/core/src/tools/`. These include:
|
|
62
|
+
|
|
63
|
+
- **File system tools:**
|
|
64
|
+
- `LSTool` (`ls.ts`): Lists directory contents.
|
|
65
|
+
- `ReadFileTool` (`read-file.ts`): Reads the content of a single file.
|
|
66
|
+
- `WriteFileTool` (`write-file.ts`): Writes content to a file.
|
|
67
|
+
- `GrepTool` (`grep.ts`): Searches for patterns in files.
|
|
68
|
+
- `GlobTool` (`glob.ts`): Finds files matching glob patterns.
|
|
69
|
+
- `EditTool` (`edit.ts`): Performs in-place modifications to files (often
|
|
70
|
+
requiring confirmation).
|
|
71
|
+
- `ReadManyFilesTool` (`read-many-files.ts`): Reads and concatenates content
|
|
72
|
+
from multiple files or glob patterns (used by the `@` command in CLI).
|
|
73
|
+
- **Execution tools:**
|
|
74
|
+
- `ShellTool` (`shell.ts`): Executes arbitrary shell commands (requires
|
|
75
|
+
careful sandboxing and user confirmation).
|
|
76
|
+
- **Web tools:**
|
|
77
|
+
- `WebFetchTool` (`web-fetch.ts`): Fetches content from a URL.
|
|
78
|
+
- `WebSearchTool` (`web-search.ts`): Performs a web search.
|
|
79
|
+
- **Memory tools:**
|
|
80
|
+
- `MemoryTool` (`memoryTool.ts`): Interacts with the AI's memory.
|
|
81
|
+
|
|
82
|
+
Each of these tools extends `BaseTool` and implements the required methods for
|
|
83
|
+
its specific functionality.
|
|
84
|
+
|
|
85
|
+
## Tool execution flow
|
|
86
|
+
|
|
87
|
+
1. **Model request:** The Gemini model, based on the user's prompt and the
|
|
88
|
+
provided tool schemas, decides to use a tool and returns a `FunctionCall`
|
|
89
|
+
part in its response, specifying the tool name and arguments.
|
|
90
|
+
2. **Core receives request:** The core parses this `FunctionCall`.
|
|
91
|
+
3. **Tool retrieval:** It looks up the requested tool in the `ToolRegistry`.
|
|
92
|
+
4. **Parameter validation:** The tool's `validateToolParams()` method is
|
|
93
|
+
called.
|
|
94
|
+
5. **Confirmation (if needed):**
|
|
95
|
+
- The tool's `shouldConfirmExecute()` method is called.
|
|
96
|
+
- If it returns details for confirmation, the core communicates this back to
|
|
97
|
+
the CLI, which prompts the user.
|
|
98
|
+
- The user's decision (e.g., proceed, cancel) is sent back to the core.
|
|
99
|
+
6. **Execution:** If validated and confirmed (or if no confirmation is needed),
|
|
100
|
+
the core calls the tool's `execute()` method with the provided arguments and
|
|
101
|
+
an `AbortSignal` (for potential cancellation).
|
|
102
|
+
7. **Result processing:** The `ToolResult` from `execute()` is received by the
|
|
103
|
+
core.
|
|
104
|
+
8. **Response to model:** The `llmContent` from the `ToolResult` is packaged as
|
|
105
|
+
a `FunctionResponse` and sent back to the Gemini model so it can continue
|
|
106
|
+
generating a user-facing response.
|
|
107
|
+
9. **Display to user:** The `returnDisplay` from the `ToolResult` is sent to
|
|
108
|
+
the CLI to show the user what the tool did.
|
|
109
|
+
|
|
110
|
+
## Extending with custom tools
|
|
111
|
+
|
|
112
|
+
While direct programmatic registration of new tools by users isn't explicitly
|
|
113
|
+
detailed as a primary workflow in the provided files for typical end-users, the
|
|
114
|
+
architecture supports extension through:
|
|
115
|
+
|
|
116
|
+
- **Command-based discovery:** Advanced users or project administrators can
|
|
117
|
+
define a `tools.discoveryCommand` in `settings.json`. This command, when run
|
|
118
|
+
by the Gemini CLI core, should output a JSON array of `FunctionDeclaration`
|
|
119
|
+
objects. The core will then make these available as `DiscoveredTool`
|
|
120
|
+
instances. The corresponding `tools.callCommand` would then be responsible for
|
|
121
|
+
actually executing these custom tools.
|
|
122
|
+
- **MCP server(s):** For more complex scenarios, one or more MCP servers can be
|
|
123
|
+
set up and configured via the `mcpServers` setting in `settings.json`. The
|
|
124
|
+
Gemini CLI core can then discover and use tools exposed by these servers. As
|
|
125
|
+
mentioned, if you have multiple MCP servers, the tool names will be prefixed
|
|
126
|
+
with the server name from your configuration (e.g.,
|
|
127
|
+
`serverAlias__actualToolName`).
|
|
128
|
+
|
|
129
|
+
This tool system provides a flexible and powerful way to augment the Gemini
|
|
130
|
+
model's capabilities, making the Gemini CLI a versatile assistant for a wide
|
|
131
|
+
range of tasks.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Example proxy script
|
|
2
|
+
|
|
3
|
+
The following is an example of a proxy script that can be used with the
|
|
4
|
+
`GEMINI_SANDBOX_PROXY_COMMAND` environment variable. This script only allows
|
|
5
|
+
`HTTPS` connections to `example.com:443` and declines all other requests.
|
|
6
|
+
|
|
7
|
+
```javascript
|
|
8
|
+
#!/usr/bin/env node
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @license
|
|
12
|
+
* Copyright 2025 Google LLC
|
|
13
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
// Example proxy server that listens on :::8877 and only allows HTTPS connections to example.com.
|
|
17
|
+
// Set `GEMINI_SANDBOX_PROXY_COMMAND=scripts/example-proxy.js` to run proxy alongside sandbox
|
|
18
|
+
// Test via `curl https://example.com` inside sandbox (in shell mode or via shell tool)
|
|
19
|
+
|
|
20
|
+
import http from 'node:http';
|
|
21
|
+
import net from 'node:net';
|
|
22
|
+
import { URL } from 'node:url';
|
|
23
|
+
import console from 'node:console';
|
|
24
|
+
|
|
25
|
+
const PROXY_PORT = 8877;
|
|
26
|
+
const ALLOWED_DOMAINS = ['example.com', 'googleapis.com'];
|
|
27
|
+
const ALLOWED_PORT = '443';
|
|
28
|
+
|
|
29
|
+
const server = http.createServer((req, res) => {
|
|
30
|
+
// Deny all requests other than CONNECT for HTTPS
|
|
31
|
+
console.log(
|
|
32
|
+
`[PROXY] Denying non-CONNECT request for: ${req.method} ${req.url}`,
|
|
33
|
+
);
|
|
34
|
+
res.writeHead(405, { 'Content-Type': 'text/plain' });
|
|
35
|
+
res.end('Method Not Allowed');
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
server.on('connect', (req, clientSocket, head) => {
|
|
39
|
+
// req.url will be in the format "hostname:port" for a CONNECT request.
|
|
40
|
+
const { port, hostname } = new URL(`http://${req.url}`);
|
|
41
|
+
|
|
42
|
+
console.log(`[PROXY] Intercepted CONNECT request for: ${hostname}:${port}`);
|
|
43
|
+
|
|
44
|
+
if (
|
|
45
|
+
ALLOWED_DOMAINS.some(
|
|
46
|
+
(domain) => hostname == domain || hostname.endsWith(`.${domain}`),
|
|
47
|
+
) &&
|
|
48
|
+
port === ALLOWED_PORT
|
|
49
|
+
) {
|
|
50
|
+
console.log(`[PROXY] Allowing connection to ${hostname}:${port}`);
|
|
51
|
+
|
|
52
|
+
// Establish a TCP connection to the original destination.
|
|
53
|
+
const serverSocket = net.connect(port, hostname, () => {
|
|
54
|
+
clientSocket.write('HTTP/1.1 200 Connection Established\r\n\r\n');
|
|
55
|
+
// Create a tunnel by piping data between the client and the destination server.
|
|
56
|
+
serverSocket.write(head);
|
|
57
|
+
serverSocket.pipe(clientSocket);
|
|
58
|
+
clientSocket.pipe(serverSocket);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
serverSocket.on('error', (err) => {
|
|
62
|
+
console.error(`[PROXY] Error connecting to destination: ${err.message}`);
|
|
63
|
+
clientSocket.end(`HTTP/1.1 502 Bad Gateway\r\n\r\n`);
|
|
64
|
+
});
|
|
65
|
+
} else {
|
|
66
|
+
console.log(`[PROXY] Denying connection to ${hostname}:${port}`);
|
|
67
|
+
clientSocket.end('HTTP/1.1 403 Forbidden\r\n\r\n');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
clientSocket.on('error', (err) => {
|
|
71
|
+
// This can happen if the client hangs up.
|
|
72
|
+
console.error(`[PROXY] Client socket error: ${err.message}`);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
server.listen(PROXY_PORT, () => {
|
|
77
|
+
const address = server.address();
|
|
78
|
+
console.log(`[PROXY] Proxy listening on ${address.address}:${address.port}`);
|
|
79
|
+
console.log(
|
|
80
|
+
`[PROXY] Allowing HTTPS connections to domains: ${ALLOWED_DOMAINS.join(', ')}`,
|
|
81
|
+
);
|
|
82
|
+
});
|
|
83
|
+
```
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Extensions on Gemini CLI: Best practices
|
|
2
|
+
|
|
3
|
+
This guide covers best practices for developing, securing, and maintaining
|
|
4
|
+
Gemini CLI extensions.
|
|
5
|
+
|
|
6
|
+
## Development
|
|
7
|
+
|
|
8
|
+
Developing extensions for Gemini CLI is intended to be a lightweight, iterative
|
|
9
|
+
process.
|
|
10
|
+
|
|
11
|
+
### Structure your extension
|
|
12
|
+
|
|
13
|
+
While simple extensions can just be a few files, we recommend a robust structure
|
|
14
|
+
for complex extensions:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
my-extension/
|
|
18
|
+
├── package.json
|
|
19
|
+
├── tsconfig.json
|
|
20
|
+
├── gemini-extension.json
|
|
21
|
+
├── src/
|
|
22
|
+
│ ├── index.ts
|
|
23
|
+
│ └── tools/
|
|
24
|
+
└── dist/
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
- **Use TypeScript**: We strongly recommend using TypeScript for type safety and
|
|
28
|
+
better tooling.
|
|
29
|
+
- **Separate source and build**: Keep your source code in `src` and build to
|
|
30
|
+
`dist`.
|
|
31
|
+
- **Bundle dependencies**: If your extension has many dependencies, consider
|
|
32
|
+
bundling them (e.g., with `esbuild` or `webpack`) to reduce install time and
|
|
33
|
+
potential conflicts.
|
|
34
|
+
|
|
35
|
+
### Iterate with `link`
|
|
36
|
+
|
|
37
|
+
Use `gemini extensions link` to develop locally without constantly reinstalling:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
cd my-extension
|
|
41
|
+
gemini extensions link .
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Changes to your code (after rebuilding) will be immediately available in the CLI
|
|
45
|
+
on restart.
|
|
46
|
+
|
|
47
|
+
### Use `GEMINI.md` effectively
|
|
48
|
+
|
|
49
|
+
Your `GEMINI.md` file provides context to the model. Keep it focused:
|
|
50
|
+
|
|
51
|
+
- **Do:** Explain high-level goals and how to use the provided tools.
|
|
52
|
+
- **Don't:** Dump your entire documentation.
|
|
53
|
+
- **Do:** Use clear, concise language.
|
|
54
|
+
|
|
55
|
+
## Security
|
|
56
|
+
|
|
57
|
+
When building a Gemini CLI extension, follow general security best practices
|
|
58
|
+
(such as least privilege and input validation) to reduce risk.
|
|
59
|
+
|
|
60
|
+
### Minimal permissions
|
|
61
|
+
|
|
62
|
+
When defining tools in your MCP server, only request the permissions necessary.
|
|
63
|
+
Avoid giving the model broad access (like full shell access) if a more
|
|
64
|
+
restricted set of tools will suffice.
|
|
65
|
+
|
|
66
|
+
If you must use powerful tools like `run_shell_command`, consider restricting
|
|
67
|
+
them to specific commands in your `gemini-extension.json`:
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"name": "my-safe-extension",
|
|
72
|
+
"excludeTools": ["run_shell_command(rm -rf *)"]
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
This ensures that even if the model tries to execute a dangerous command, it
|
|
77
|
+
will be blocked at the CLI level.
|
|
78
|
+
|
|
79
|
+
### Validate inputs
|
|
80
|
+
|
|
81
|
+
Your MCP server is running on the user's machine. Always validate inputs to your
|
|
82
|
+
tools to prevent arbitrary code execution or filesystem access outside the
|
|
83
|
+
intended scope.
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
// Good: Validating paths
|
|
87
|
+
if (!path.resolve(inputPath).startsWith(path.resolve(allowedDir) + path.sep)) {
|
|
88
|
+
throw new Error('Access denied');
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Sensitive settings
|
|
93
|
+
|
|
94
|
+
If your extension requires API keys, use the `sensitive: true` option in
|
|
95
|
+
`gemini-extension.json`. This ensures keys are stored securely in the system
|
|
96
|
+
keychain and obfuscated in the UI.
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
"settings": [
|
|
100
|
+
{
|
|
101
|
+
"name": "API Key",
|
|
102
|
+
"envVar": "MY_API_KEY",
|
|
103
|
+
"sensitive": true
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Releasing
|
|
109
|
+
|
|
110
|
+
You can upload your extension directly to GitHub to list it in the gallery.
|
|
111
|
+
Gemini CLI extensions also offers support for more complicated
|
|
112
|
+
[releases](releasing.md).
|
|
113
|
+
|
|
114
|
+
### Semantic versioning
|
|
115
|
+
|
|
116
|
+
Follow [Semantic Versioning](https://semver.org/).
|
|
117
|
+
|
|
118
|
+
- **Major**: Breaking changes (renaming tools, changing arguments).
|
|
119
|
+
- **Minor**: New features (new tools, commands).
|
|
120
|
+
- **Patch**: Bug fixes.
|
|
121
|
+
|
|
122
|
+
### Release Channels
|
|
123
|
+
|
|
124
|
+
Use git branches to manage release channels (e.g., `main` for stable, `dev` for
|
|
125
|
+
bleeding edge). This allows users to choose their stability level:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Stable
|
|
129
|
+
gemini extensions install github.com/user/repo
|
|
130
|
+
|
|
131
|
+
# Dev
|
|
132
|
+
gemini extensions install github.com/user/repo --ref dev
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Clean artifacts
|
|
136
|
+
|
|
137
|
+
If you are using GitHub Releases, ensure your release artifacts only contain the
|
|
138
|
+
necessary files (`dist/`, `gemini-extension.json`, `package.json`). Exclude
|
|
139
|
+
`node_modules` (users will install them) and `src/` to keep downloads small.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Gemini CLI extensions
|
|
2
|
+
|
|
3
|
+
Gemini CLI extensions package prompts, MCP servers, custom commands, hooks,
|
|
4
|
+
sub-agents, and agent skills into a familiar and user-friendly format. With
|
|
5
|
+
extensions, you can expand the capabilities of Gemini CLI and share those
|
|
6
|
+
capabilities with others. They are designed to be easily installable and
|
|
7
|
+
shareable.
|
|
8
|
+
|
|
9
|
+
To see examples of extensions, you can browse a gallery of
|
|
10
|
+
[Gemini CLI extensions](https://geminicli.com/extensions/browse/).
|
|
11
|
+
|
|
12
|
+
## Managing extensions
|
|
13
|
+
|
|
14
|
+
You can verify your installed extensions and their status using the interactive
|
|
15
|
+
command:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
/extensions list
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
or in noninteractive mode:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
gemini extensions list
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Installation
|
|
28
|
+
|
|
29
|
+
To install a real extension, you can use the `extensions install` command with a
|
|
30
|
+
GitHub repository URL in noninteractive mode. For example:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
gemini extensions install https://github.com/gemini-cli-extensions/workspace
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Next steps
|
|
37
|
+
|
|
38
|
+
- [Writing extensions](writing-extensions.md): Learn how to create your first
|
|
39
|
+
extension.
|
|
40
|
+
- [Extensions reference](reference.md): Deeply understand the extension format,
|
|
41
|
+
commands, and configuration.
|
|
42
|
+
- [Best practices](best-practices.md): Learn strategies for building great
|
|
43
|
+
extensions.
|
|
44
|
+
- [Extensions releasing](releasing.md): Learn how to share your extensions with
|
|
45
|
+
the world.
|