@office-ai/aioncli-core 0.18.7 → 0.24.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/CONTRIBUTING.md +546 -0
- package/dist/docs/architecture.md +80 -0
- package/dist/docs/assets/connected_devtools.png +0 -0
- package/dist/docs/assets/gemini-screenshot.png +0 -0
- package/dist/docs/assets/release_patch.png +0 -0
- package/dist/docs/assets/theme-ansi-light.png +0 -0
- package/dist/docs/assets/theme-ansi.png +0 -0
- package/dist/docs/assets/theme-atom-one.png +0 -0
- package/dist/docs/assets/theme-ayu-light.png +0 -0
- package/dist/docs/assets/theme-ayu.png +0 -0
- package/dist/docs/assets/theme-custom.png +0 -0
- package/dist/docs/assets/theme-default-light.png +0 -0
- package/dist/docs/assets/theme-default.png +0 -0
- package/dist/docs/assets/theme-dracula.png +0 -0
- package/dist/docs/assets/theme-github-light.png +0 -0
- package/dist/docs/assets/theme-github.png +0 -0
- package/dist/docs/assets/theme-google-light.png +0 -0
- package/dist/docs/assets/theme-xcode-light.png +0 -0
- package/dist/docs/changelogs/index.md +592 -0
- package/dist/docs/changelogs/latest.md +225 -0
- package/dist/docs/changelogs/preview.md +129 -0
- package/dist/docs/changelogs/releases.md +896 -0
- package/dist/docs/cli/authentication.md +3 -0
- package/dist/docs/cli/checkpointing.md +94 -0
- package/dist/docs/cli/commands.md +354 -0
- package/dist/docs/cli/configuration.md +780 -0
- package/dist/docs/cli/custom-commands.md +315 -0
- package/dist/docs/cli/enterprise.md +565 -0
- package/dist/docs/cli/gemini-ignore.md +71 -0
- package/dist/docs/cli/gemini-md.md +108 -0
- package/dist/docs/cli/generation-settings.md +210 -0
- package/dist/docs/cli/headless.md +388 -0
- package/dist/docs/cli/index.md +63 -0
- package/dist/docs/cli/keyboard-shortcuts.md +143 -0
- package/dist/docs/cli/model-routing.md +37 -0
- package/dist/docs/cli/model.md +62 -0
- package/dist/docs/cli/sandbox.md +171 -0
- package/dist/docs/cli/session-management.md +158 -0
- package/dist/docs/cli/settings.md +114 -0
- package/dist/docs/cli/skills.md +156 -0
- package/dist/docs/cli/system-prompt.md +93 -0
- package/dist/docs/cli/telemetry.md +791 -0
- package/dist/docs/cli/themes.md +237 -0
- package/dist/docs/cli/token-caching.md +20 -0
- package/dist/docs/cli/trusted-folders.md +95 -0
- package/dist/docs/cli/tutorials/skills-getting-started.md +124 -0
- package/dist/docs/cli/tutorials.md +87 -0
- package/dist/docs/cli/uninstall.md +47 -0
- package/dist/docs/core/index.md +101 -0
- package/dist/docs/core/memport.md +244 -0
- package/dist/docs/core/policy-engine.md +267 -0
- package/dist/docs/core/tools-api.md +131 -0
- package/dist/docs/examples/proxy-script.md +83 -0
- package/dist/docs/extension.md +160 -0
- package/dist/docs/extensions/extension-releasing.md +183 -0
- package/dist/docs/extensions/getting-started-extensions.md +245 -0
- package/dist/docs/extensions/index.md +293 -0
- package/dist/docs/faq.md +154 -0
- package/dist/docs/get-started/authentication.md +321 -0
- package/dist/docs/get-started/configuration-v1.md +888 -0
- package/dist/docs/get-started/configuration.md +1536 -0
- package/dist/docs/get-started/deployment.md +143 -0
- package/dist/docs/get-started/examples.md +219 -0
- package/dist/docs/get-started/gemini-3.md +116 -0
- package/dist/docs/get-started/index.md +71 -0
- package/dist/docs/get-started/installation.md +141 -0
- package/dist/docs/hooks/best-practices.md +856 -0
- package/dist/docs/hooks/index.md +687 -0
- package/dist/docs/hooks/reference.md +168 -0
- package/dist/docs/hooks/writing-hooks.md +1026 -0
- package/dist/docs/ide-integration/ide-companion-spec.md +267 -0
- package/dist/docs/ide-integration/index.md +202 -0
- package/dist/docs/index.md +147 -0
- package/dist/docs/integration-tests.md +211 -0
- package/dist/docs/issue-and-pr-automation.md +134 -0
- package/dist/docs/local-development.md +128 -0
- package/dist/docs/mermaid/context.mmd +103 -0
- package/dist/docs/mermaid/render-path.mmd +64 -0
- package/dist/docs/npm.md +62 -0
- package/dist/docs/quota-and-pricing.md +158 -0
- package/dist/docs/release-confidence.md +164 -0
- package/dist/docs/releases.md +540 -0
- package/dist/docs/sidebar.json +301 -0
- package/dist/docs/tools/file-system.md +217 -0
- package/dist/docs/tools/index.md +95 -0
- package/dist/docs/tools/mcp-server.md +1044 -0
- package/dist/docs/tools/memory.md +54 -0
- package/dist/docs/tools/shell.md +260 -0
- package/dist/docs/tools/todos.md +57 -0
- package/dist/docs/tools/web-fetch.md +59 -0
- package/dist/docs/tools/web-search.md +42 -0
- package/dist/docs/tos-privacy.md +96 -0
- package/dist/docs/troubleshooting.md +158 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/src/agents/a2a-client-manager.d.ts +78 -0
- package/dist/src/agents/a2a-client-manager.js +295 -0
- package/dist/src/agents/a2a-client-manager.js.map +1 -0
- package/dist/src/agents/a2a-client-manager.test.d.ts +6 -0
- package/dist/src/agents/a2a-client-manager.test.js +237 -0
- package/dist/src/agents/a2a-client-manager.test.js.map +1 -0
- package/dist/src/agents/a2aUtils.d.ts +28 -0
- package/dist/src/agents/a2aUtils.js +111 -0
- package/dist/src/agents/a2aUtils.js.map +1 -0
- package/dist/src/agents/a2aUtils.test.d.ts +6 -0
- package/dist/src/agents/a2aUtils.test.js +147 -0
- package/dist/src/agents/a2aUtils.test.js.map +1 -0
- package/dist/src/agents/codebase-investigator.d.ts +2 -2
- package/dist/src/agents/codebase-investigator.js +5 -4
- package/dist/src/agents/codebase-investigator.js.map +1 -1
- package/dist/src/agents/delegate-to-agent-tool.d.ts +19 -0
- package/dist/src/agents/delegate-to-agent-tool.js +115 -0
- package/dist/src/agents/delegate-to-agent-tool.js.map +1 -0
- package/dist/src/agents/delegate-to-agent-tool.test.d.ts +6 -0
- package/dist/src/agents/delegate-to-agent-tool.test.js +165 -0
- package/dist/src/agents/delegate-to-agent-tool.test.js.map +1 -0
- package/dist/src/agents/introspection-agent.d.ts +23 -0
- package/dist/src/agents/introspection-agent.js +72 -0
- package/dist/src/agents/introspection-agent.js.map +1 -0
- package/dist/src/agents/introspection-agent.test.d.ts +6 -0
- package/dist/src/agents/introspection-agent.test.js +47 -0
- package/dist/src/agents/introspection-agent.test.js.map +1 -0
- package/dist/src/agents/local-executor.d.ts +108 -0
- package/dist/src/agents/local-executor.js +801 -0
- package/dist/src/agents/local-executor.js.map +1 -0
- package/dist/src/agents/local-executor.test.d.ts +6 -0
- package/dist/src/agents/local-executor.test.js +1380 -0
- package/dist/src/agents/local-executor.test.js.map +1 -0
- package/dist/src/agents/local-invocation.d.ts +45 -0
- package/dist/src/agents/local-invocation.js +101 -0
- package/dist/src/agents/local-invocation.js.map +1 -0
- package/dist/src/agents/local-invocation.test.d.ts +6 -0
- package/dist/src/agents/local-invocation.test.js +218 -0
- package/dist/src/agents/local-invocation.test.js.map +1 -0
- package/dist/src/agents/registry.d.ts +25 -1
- package/dist/src/agents/registry.js +149 -5
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +247 -25
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/remote-invocation.d.ts +35 -0
- package/dist/src/agents/remote-invocation.js +129 -0
- package/dist/src/agents/remote-invocation.js.map +1 -0
- package/dist/src/agents/remote-invocation.test.d.ts +6 -0
- package/dist/src/agents/remote-invocation.test.js +201 -0
- package/dist/src/agents/remote-invocation.test.js.map +1 -0
- package/dist/src/agents/subagent-tool-wrapper.d.ts +2 -2
- package/dist/src/agents/subagent-tool-wrapper.js +11 -6
- package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js +25 -17
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
- package/dist/src/agents/toml-loader.d.ts +74 -0
- package/dist/src/agents/toml-loader.js +248 -0
- package/dist/src/agents/toml-loader.js.map +1 -0
- package/dist/src/agents/toml-loader.test.d.ts +6 -0
- package/dist/src/agents/toml-loader.test.js +309 -0
- package/dist/src/agents/toml-loader.test.js.map +1 -0
- package/dist/src/agents/types.d.ts +18 -4
- package/dist/src/availability/errorClassification.d.ts +7 -0
- package/dist/src/availability/errorClassification.js +20 -0
- package/dist/src/availability/errorClassification.js.map +1 -0
- package/dist/src/availability/modelAvailabilityService.d.ts +36 -0
- package/dist/src/availability/modelAvailabilityService.js +87 -0
- package/dist/src/availability/modelAvailabilityService.js.map +1 -0
- package/dist/src/availability/modelAvailabilityService.test.d.ts +6 -0
- package/dist/src/availability/modelAvailabilityService.test.js +140 -0
- package/dist/src/availability/modelAvailabilityService.test.js.map +1 -0
- package/dist/src/availability/modelPolicy.d.ts +49 -0
- package/dist/src/availability/modelPolicy.js +7 -0
- package/dist/src/availability/modelPolicy.js.map +1 -0
- package/dist/src/availability/policyCatalog.d.ts +23 -0
- package/dist/src/availability/policyCatalog.js +82 -0
- package/dist/src/availability/policyCatalog.js.map +1 -0
- package/dist/src/availability/policyCatalog.test.d.ts +6 -0
- package/dist/src/availability/policyCatalog.test.js +70 -0
- package/dist/src/availability/policyCatalog.test.js.map +1 -0
- package/dist/src/availability/policyHelpers.d.ts +52 -0
- package/dist/src/availability/policyHelpers.js +136 -0
- package/dist/src/availability/policyHelpers.js.map +1 -0
- package/dist/src/availability/policyHelpers.test.d.ts +6 -0
- package/dist/src/availability/policyHelpers.test.js +182 -0
- package/dist/src/availability/policyHelpers.test.js.map +1 -0
- package/dist/src/availability/testUtils.d.ts +10 -0
- package/dist/src/availability/testUtils.js +22 -0
- package/dist/src/availability/testUtils.js.map +1 -0
- package/dist/src/code_assist/experiments/client_metadata.js +3 -2
- package/dist/src/code_assist/experiments/client_metadata.js.map +1 -1
- package/dist/src/code_assist/experiments/client_metadata.test.js +7 -10
- package/dist/src/code_assist/experiments/client_metadata.test.js.map +1 -1
- package/dist/src/code_assist/experiments/experiments.js +2 -2
- package/dist/src/code_assist/experiments/experiments.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +2 -0
- package/dist/src/code_assist/oauth2.js +73 -17
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +195 -18
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.d.ts +10 -1
- package/dist/src/code_assist/server.js +81 -15
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +221 -25
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/setup.js +6 -4
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/setup.test.js +63 -0
- package/dist/src/code_assist/setup.test.js.map +1 -1
- package/dist/src/code_assist/telemetry.d.ts +14 -0
- package/dist/src/code_assist/telemetry.js +156 -0
- package/dist/src/code_assist/telemetry.js.map +1 -0
- package/dist/src/code_assist/telemetry.test.d.ts +6 -0
- package/dist/src/code_assist/telemetry.test.js +300 -0
- package/dist/src/code_assist/telemetry.test.js.map +1 -0
- package/dist/src/code_assist/types.d.ts +84 -1
- package/dist/src/code_assist/types.js +21 -0
- package/dist/src/code_assist/types.js.map +1 -1
- package/dist/src/commands/init.d.ts +7 -0
- package/dist/src/commands/init.js +53 -0
- package/dist/src/commands/init.js.map +1 -0
- package/dist/src/commands/init.test.d.ts +6 -0
- package/dist/src/commands/init.test.js +25 -0
- package/dist/src/commands/init.test.js.map +1 -0
- package/dist/src/commands/restore.d.ts +9 -0
- package/dist/src/commands/restore.js +46 -0
- package/dist/src/commands/restore.js.map +1 -0
- package/dist/src/commands/restore.test.d.ts +6 -0
- package/dist/src/commands/restore.test.js +137 -0
- package/dist/src/commands/restore.test.js.map +1 -0
- package/dist/src/commands/types.d.ts +41 -0
- package/dist/src/commands/types.js +7 -0
- package/dist/src/commands/types.js.map +1 -0
- package/dist/src/config/config.d.ts +120 -23
- package/dist/src/config/config.js +336 -116
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +373 -95
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +46 -0
- package/dist/src/config/defaultModelConfigs.js.map +1 -1
- package/dist/src/config/flashFallback.test.js +11 -35
- package/dist/src/config/flashFallback.test.js.map +1 -1
- package/dist/src/config/models.d.ts +29 -15
- package/dist/src/config/models.js +78 -28
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +91 -77
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +4 -0
- package/dist/src/config/storage.js +12 -0
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +16 -0
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.d.ts +6 -0
- package/dist/src/confirmation-bus/message-bus.js +66 -3
- package/dist/src/confirmation-bus/message-bus.js.map +1 -1
- package/dist/src/confirmation-bus/types.d.ts +29 -2
- package/dist/src/confirmation-bus/types.js +3 -0
- package/dist/src/confirmation-bus/types.js.map +1 -1
- package/dist/src/core/baseLlmClient.d.ts +30 -2
- package/dist/src/core/baseLlmClient.js +107 -49
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +271 -13
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.d.ts +5 -1
- package/dist/src/core/client.js +241 -63
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +462 -72
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/clientHookTriggers.d.ts +36 -0
- package/dist/src/core/clientHookTriggers.js +76 -0
- package/dist/src/core/clientHookTriggers.js.map +1 -0
- package/dist/src/core/contentGenerator.js +17 -4
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +132 -3
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.d.ts +55 -0
- package/dist/src/core/coreToolHookTriggers.js +304 -0
- package/dist/src/core/coreToolHookTriggers.js.map +1 -0
- package/dist/src/core/coreToolHookTriggers.test.d.ts +6 -0
- package/dist/src/core/coreToolHookTriggers.test.js +191 -0
- package/dist/src/core/coreToolHookTriggers.test.js.map +1 -0
- package/dist/src/core/coreToolScheduler.d.ts +6 -85
- package/dist/src/core/coreToolScheduler.js +69 -267
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +161 -346
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.js +132 -76
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +240 -257
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChatHookTriggers.d.ts +64 -0
- package/dist/src/core/geminiChatHookTriggers.js +136 -0
- package/dist/src/core/geminiChatHookTriggers.js.map +1 -0
- package/dist/src/core/geminiChat_network_retry.test.d.ts +6 -0
- package/dist/src/core/geminiChat_network_retry.test.js +196 -0
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -0
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.js +23 -6
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +13 -8
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/prompts.js +82 -26
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/prompts.test.js +102 -3
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/core/sessionHookTriggers.d.ts +29 -0
- package/dist/src/core/sessionHookTriggers.js +75 -0
- package/dist/src/core/sessionHookTriggers.js.map +1 -0
- package/dist/src/core/turn.d.ts +34 -21
- package/dist/src/core/turn.js +33 -13
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +0 -5
- package/dist/src/core/turn.test.js.map +1 -1
- package/dist/src/fallback/handler.js +101 -93
- package/dist/src/fallback/handler.js.map +1 -1
- package/dist/src/fallback/handler.test.js +186 -173
- package/dist/src/fallback/handler.test.js.map +1 -1
- package/dist/src/fallback/types.d.ts +8 -0
- package/dist/src/generated/git-commit.d.ts +3 -3
- package/dist/src/generated/git-commit.js +3 -3
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/hooks/hookAggregator.js +7 -0
- package/dist/src/hooks/hookAggregator.js.map +1 -1
- package/dist/src/hooks/hookEventHandler.d.ts +113 -0
- package/dist/src/hooks/hookEventHandler.js +571 -0
- package/dist/src/hooks/hookEventHandler.js.map +1 -0
- package/dist/src/hooks/hookEventHandler.test.d.ts +6 -0
- package/dist/src/hooks/hookEventHandler.test.js +461 -0
- package/dist/src/hooks/hookEventHandler.test.js.map +1 -0
- package/dist/src/hooks/hookPlanner.d.ts +1 -5
- package/dist/src/hooks/hookPlanner.js +2 -7
- package/dist/src/hooks/hookPlanner.js.map +1 -1
- package/dist/src/hooks/hookPlanner.test.js +62 -2
- package/dist/src/hooks/hookPlanner.test.js.map +1 -1
- package/dist/src/hooks/hookRegistry.d.ts +6 -18
- package/dist/src/hooks/hookRegistry.js +49 -35
- package/dist/src/hooks/hookRegistry.js.map +1 -1
- package/dist/src/hooks/hookRegistry.test.js +167 -8
- package/dist/src/hooks/hookRegistry.test.js.map +1 -1
- package/dist/src/hooks/hookRunner.d.ts +5 -3
- package/dist/src/hooks/hookRunner.js +74 -18
- package/dist/src/hooks/hookRunner.js.map +1 -1
- package/dist/src/hooks/hookRunner.test.js +174 -36
- package/dist/src/hooks/hookRunner.test.js.map +1 -1
- package/dist/src/hooks/hookSystem.d.ts +40 -0
- package/dist/src/hooks/hookSystem.js +65 -0
- package/dist/src/hooks/hookSystem.js.map +1 -0
- package/dist/src/hooks/hookSystem.test.d.ts +6 -0
- package/dist/src/hooks/hookSystem.test.js +319 -0
- package/dist/src/hooks/hookSystem.test.js.map +1 -0
- package/dist/src/hooks/index.d.ts +17 -0
- package/dist/src/hooks/index.js +18 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/hooks/trustedHooks.d.ts +28 -0
- package/dist/src/hooks/trustedHooks.js +90 -0
- package/dist/src/hooks/trustedHooks.js.map +1 -0
- package/dist/src/hooks/trustedHooks.test.d.ts +6 -0
- package/dist/src/hooks/trustedHooks.test.js +154 -0
- package/dist/src/hooks/trustedHooks.test.js.map +1 -0
- package/dist/src/hooks/types.d.ts +21 -11
- package/dist/src/hooks/types.js +31 -27
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/hooks/types.test.js +5 -24
- package/dist/src/hooks/types.test.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +32 -1
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-client.js +9 -4
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-client.test.js +17 -0
- package/dist/src/ide/ide-client.test.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +1 -1
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/ide/types.d.ts +4 -4
- package/dist/src/index.d.ts +17 -1
- package/dist/src/index.js +18 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/auth-provider.d.ts +16 -0
- package/dist/src/mcp/auth-provider.js +7 -0
- package/dist/src/mcp/auth-provider.js.map +1 -0
- package/dist/src/mcp/google-auth-provider.d.ts +10 -2
- package/dist/src/mcp/google-auth-provider.js +28 -0
- package/dist/src/mcp/google-auth-provider.js.map +1 -1
- package/dist/src/mcp/google-auth-provider.test.js +45 -0
- package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +6 -2
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +4 -1
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.d.ts +8 -1
- package/dist/src/mcp/oauth-utils.js +31 -2
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/oauth-utils.test.js +42 -0
- package/dist/src/mcp/oauth-utils.test.js.map +1 -1
- package/dist/src/mcp/sa-impersonation-provider.d.ts +2 -2
- package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.js +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/output/json-formatter.d.ts +2 -2
- package/dist/src/output/json-formatter.js +6 -3
- package/dist/src/output/json-formatter.js.map +1 -1
- package/dist/src/output/json-formatter.test.js +37 -9
- package/dist/src/output/json-formatter.test.js.map +1 -1
- package/dist/src/output/stream-json-formatter.js +6 -0
- package/dist/src/output/stream-json-formatter.js.map +1 -1
- package/dist/src/output/stream-json-formatter.test.js +98 -100
- package/dist/src/output/stream-json-formatter.test.js.map +1 -1
- package/dist/src/output/types.d.ts +3 -0
- package/dist/src/output/types.js.map +1 -1
- package/dist/src/policy/config.js +140 -15
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/config.test.js +21 -0
- package/dist/src/policy/config.test.js.map +1 -1
- package/dist/src/policy/persistence.test.d.ts +6 -0
- package/dist/src/policy/persistence.test.js +154 -0
- package/dist/src/policy/persistence.test.js.map +1 -0
- package/dist/src/policy/policies/agent.toml +31 -0
- package/dist/src/policy/policies/read-only.toml +5 -0
- package/dist/src/policy/policies/write.toml +5 -0
- package/dist/src/policy/policies/yolo.toml +1 -0
- package/dist/src/policy/policy-engine.d.ts +30 -1
- package/dist/src/policy/policy-engine.js +192 -5
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +520 -3
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/policy-updater.test.d.ts +6 -0
- package/dist/src/policy/policy-updater.test.js +116 -0
- package/dist/src/policy/policy-updater.test.js.map +1 -0
- package/dist/src/policy/shell-safety.test.d.ts +6 -0
- package/dist/src/policy/shell-safety.test.js +75 -0
- package/dist/src/policy/shell-safety.test.js.map +1 -0
- package/dist/src/policy/toml-loader.d.ts +3 -5
- package/dist/src/policy/toml-loader.js +12 -60
- package/dist/src/policy/toml-loader.js.map +1 -1
- package/dist/src/policy/toml-loader.test.js +38 -7
- package/dist/src/policy/toml-loader.test.js.map +1 -1
- package/dist/src/policy/types.d.ts +72 -1
- package/dist/src/policy/types.js +21 -0
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/policy/utils.d.ts +21 -0
- package/dist/src/policy/utils.js +42 -0
- package/dist/src/policy/utils.js.map +1 -0
- package/dist/src/policy/utils.test.d.ts +6 -0
- package/dist/src/policy/utils.test.js +64 -0
- package/dist/src/policy/utils.test.js.map +1 -0
- package/dist/src/resources/resource-registry.d.ts +30 -0
- package/dist/src/resources/resource-registry.js +57 -0
- package/dist/src/resources/resource-registry.js.map +1 -0
- package/dist/src/resources/resource-registry.test.d.ts +6 -0
- package/dist/src/resources/resource-registry.test.js +54 -0
- package/dist/src/resources/resource-registry.test.js.map +1 -0
- package/dist/src/routing/modelRouterService.js +0 -15
- package/dist/src/routing/modelRouterService.js.map +1 -1
- package/dist/src/routing/modelRouterService.test.js +0 -62
- package/dist/src/routing/modelRouterService.test.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js +10 -21
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js +2 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.js +4 -2
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.test.js +11 -10
- package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +20 -12
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.test.js +63 -39
- package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js +3 -2
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/safety/checker-runner.js +17 -6
- package/dist/src/safety/checker-runner.js.map +1 -1
- package/dist/src/scheduler/tool-executor.d.ts +22 -0
- package/dist/src/scheduler/tool-executor.js +198 -0
- package/dist/src/scheduler/tool-executor.js.map +1 -0
- package/dist/src/scheduler/tool-executor.test.d.ts +6 -0
- package/dist/src/scheduler/tool-executor.test.js +231 -0
- package/dist/src/scheduler/tool-executor.test.js.map +1 -0
- package/dist/src/scheduler/types.d.ts +95 -0
- package/dist/src/scheduler/types.js +7 -0
- package/dist/src/scheduler/types.js.map +1 -0
- package/dist/src/services/chatCompressionService.d.ts +1 -0
- package/dist/src/services/chatCompressionService.js +38 -8
- package/dist/src/services/chatCompressionService.js.map +1 -1
- package/dist/src/services/chatCompressionService.test.js +35 -31
- package/dist/src/services/chatCompressionService.test.js.map +1 -1
- package/dist/src/services/chatRecordingService.d.ts +14 -0
- package/dist/src/services/chatRecordingService.js +37 -0
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/contextManager.d.ts +29 -0
- package/dist/src/services/contextManager.js +71 -0
- package/dist/src/services/contextManager.js.map +1 -0
- package/dist/src/services/contextManager.test.d.ts +6 -0
- package/dist/src/services/contextManager.test.js +104 -0
- package/dist/src/services/contextManager.test.js.map +1 -0
- package/dist/src/services/environmentSanitization.d.ts +15 -0
- package/dist/src/services/environmentSanitization.js +141 -0
- package/dist/src/services/environmentSanitization.js.map +1 -0
- package/dist/src/services/environmentSanitization.test.d.ts +6 -0
- package/dist/src/services/environmentSanitization.test.js +284 -0
- package/dist/src/services/environmentSanitization.test.js.map +1 -0
- package/dist/src/services/fileSystemService.d.ts +0 -9
- package/dist/src/services/fileSystemService.js +0 -11
- package/dist/src/services/fileSystemService.js.map +1 -1
- package/dist/src/services/gitService.js +18 -2
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +56 -0
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/loopDetectionService.js +5 -4
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/loopDetectionService.test.js +14 -8
- package/dist/src/services/loopDetectionService.test.js.map +1 -1
- package/dist/src/services/modelConfig.golden.test.js +32 -0
- package/dist/src/services/modelConfig.golden.test.js.map +1 -1
- package/dist/src/services/modelConfig.integration.test.js +1 -1
- package/dist/src/services/modelConfig.integration.test.js.map +1 -1
- package/dist/src/services/modelConfigService.d.ts +4 -0
- package/dist/src/services/modelConfigService.js +8 -3
- package/dist/src/services/modelConfigService.js.map +1 -1
- package/dist/src/services/modelConfigService.test.js +221 -0
- package/dist/src/services/modelConfigService.test.js.map +1 -1
- package/dist/src/services/modelConfigServiceTestUtils.d.ts +10 -0
- package/dist/src/services/modelConfigServiceTestUtils.js +17 -0
- package/dist/src/services/modelConfigServiceTestUtils.js.map +1 -0
- package/dist/src/services/sessionSummaryService.d.ts +28 -0
- package/dist/src/services/sessionSummaryService.js +131 -0
- package/dist/src/services/sessionSummaryService.js.map +1 -0
- package/dist/src/services/sessionSummaryService.test.d.ts +6 -0
- package/dist/src/services/sessionSummaryService.test.js +785 -0
- package/dist/src/services/sessionSummaryService.test.js.map +1 -0
- package/dist/src/services/sessionSummaryUtils.d.ts +16 -0
- package/dist/src/services/sessionSummaryUtils.js +129 -0
- package/dist/src/services/sessionSummaryUtils.js.map +1 -0
- package/dist/src/services/sessionSummaryUtils.test.d.ts +6 -0
- package/dist/src/services/sessionSummaryUtils.test.js +137 -0
- package/dist/src/services/sessionSummaryUtils.test.js.map +1 -0
- package/dist/src/services/shellExecutionService.d.ts +4 -0
- package/dist/src/services/shellExecutionService.js +45 -27
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +240 -8
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/services/test-data/resolved-aliases-retry.golden.json +238 -0
- package/dist/src/services/test-data/resolved-aliases.golden.json +36 -0
- package/dist/src/skills/skillLoader.d.ts +28 -0
- package/dist/src/skills/skillLoader.js +77 -0
- package/dist/src/skills/skillLoader.js.map +1 -0
- package/dist/src/skills/skillLoader.test.d.ts +1 -0
- package/dist/src/skills/skillLoader.test.js +2 -0
- package/dist/src/skills/skillLoader.test.js.map +1 -0
- package/dist/src/skills/skillManager.d.ts +51 -0
- package/dist/src/skills/skillManager.js +89 -0
- package/dist/src/skills/skillManager.js.map +1 -0
- package/dist/src/skills/skillManager.test.d.ts +6 -0
- package/dist/src/skills/skillManager.test.js +128 -0
- package/dist/src/skills/skillManager.test.js.map +1 -0
- package/dist/src/telemetry/activity-detector.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +11 -7
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +127 -47
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +105 -18
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +9 -3
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +20 -5
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/config.js +2 -0
- package/dist/src/telemetry/config.js.map +1 -1
- package/dist/src/telemetry/config.test.js +25 -0
- package/dist/src/telemetry/config.test.js.map +1 -1
- package/dist/src/telemetry/gcp-exporters.d.ts +4 -3
- package/dist/src/telemetry/gcp-exporters.js +8 -4
- package/dist/src/telemetry/gcp-exporters.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +2 -1
- package/dist/src/telemetry/index.js +2 -1
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +5 -3
- package/dist/src/telemetry/loggers.js +353 -334
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.circular.js +1 -0
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +238 -31
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +22 -0
- package/dist/src/telemetry/metrics.js +32 -0
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +64 -0
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/sanitize.d.ts +25 -0
- package/dist/src/telemetry/sanitize.js +48 -0
- package/dist/src/telemetry/sanitize.js.map +1 -0
- package/dist/src/telemetry/sanitize.test.d.ts +6 -0
- package/dist/src/telemetry/sanitize.test.js +279 -0
- package/dist/src/telemetry/sanitize.test.js.map +1 -0
- package/dist/src/telemetry/sdk.d.ts +9 -2
- package/dist/src/telemetry/sdk.js +142 -17
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/sdk.test.js +130 -28
- package/dist/src/telemetry/sdk.test.js.map +1 -1
- package/dist/src/telemetry/semantic.js +1 -1
- package/dist/src/telemetry/semantic.js.map +1 -1
- package/dist/src/telemetry/startupProfiler.d.ts +51 -0
- package/dist/src/telemetry/startupProfiler.js +170 -0
- package/dist/src/telemetry/startupProfiler.js.map +1 -0
- package/dist/src/telemetry/startupProfiler.test.d.ts +6 -0
- package/dist/src/telemetry/startupProfiler.test.js +285 -0
- package/dist/src/telemetry/startupProfiler.test.js.map +1 -0
- package/dist/src/telemetry/telemetry.test.js +10 -3
- package/dist/src/telemetry/telemetry.test.js.map +1 -1
- package/dist/src/telemetry/trace.js +2 -2
- package/dist/src/telemetry/trace.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +62 -16
- package/dist/src/telemetry/types.js +157 -27
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +1 -0
- package/dist/src/telemetry/uiTelemetry.js +2 -0
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +4 -0
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/test-utils/mock-message-bus.d.ts +61 -0
- package/dist/src/test-utils/mock-message-bus.js +160 -0
- package/dist/src/test-utils/mock-message-bus.js.map +1 -0
- package/dist/src/test-utils/mock-tool.d.ts +5 -3
- package/dist/src/test-utils/mock-tool.js +12 -11
- package/dist/src/test-utils/mock-tool.js.map +1 -1
- package/dist/src/tools/activate-skill.d.ts +27 -0
- package/dist/src/tools/activate-skill.js +120 -0
- package/dist/src/tools/activate-skill.js.map +1 -0
- package/dist/src/tools/activate-skill.test.d.ts +6 -0
- package/dist/src/tools/activate-skill.test.js +95 -0
- package/dist/src/tools/activate-skill.test.js.map +1 -0
- package/dist/src/tools/confirmation-policy.test.d.ts +6 -0
- package/dist/src/tools/confirmation-policy.test.js +142 -0
- package/dist/src/tools/confirmation-policy.test.js.map +1 -0
- package/dist/src/tools/edit.d.ts +27 -5
- package/dist/src/tools/edit.js +449 -137
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +258 -526
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/get-internal-docs.d.ts +27 -0
- package/dist/src/tools/get-internal-docs.js +129 -0
- package/dist/src/tools/get-internal-docs.js.map +1 -0
- package/dist/src/tools/get-internal-docs.test.d.ts +6 -0
- package/dist/src/tools/get-internal-docs.test.js +57 -0
- package/dist/src/tools/get-internal-docs.test.js.map +1 -0
- package/dist/src/tools/glob.d.ts +2 -2
- package/dist/src/tools/glob.js +1 -1
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/glob.test.js +2 -1
- package/dist/src/tools/glob.test.js.map +1 -1
- package/dist/src/tools/grep.d.ts +2 -2
- package/dist/src/tools/grep.js +1 -1
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +5 -4
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/ls.d.ts +2 -2
- package/dist/src/tools/ls.js +2 -2
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +2 -1
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.d.ts +3 -1
- package/dist/src/tools/mcp-client-manager.js +42 -9
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +66 -10
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +44 -6
- package/dist/src/tools/mcp-client.js +476 -176
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +633 -36
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +2 -2
- package/dist/src/tools/mcp-tool.js +20 -7
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +35 -5
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +3 -3
- package/dist/src/tools/memoryTool.js +3 -4
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +5 -2
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/message-bus-integration.test.js +10 -37
- package/dist/src/tools/message-bus-integration.test.js.map +1 -1
- package/dist/src/tools/modifiable-tool.js.map +1 -1
- package/dist/src/tools/modifiable-tool.test.js +22 -13
- package/dist/src/tools/modifiable-tool.test.js.map +1 -1
- package/dist/src/tools/read-file.d.ts +2 -2
- package/dist/src/tools/read-file.js +2 -2
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +3 -2
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.d.ts +2 -2
- package/dist/src/tools/read-many-files.js +7 -6
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +4 -3
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +3 -2
- package/dist/src/tools/ripGrep.js +18 -7
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +60 -4
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +5 -7
- package/dist/src/tools/shell.js +77 -51
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +59 -63
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +2 -1
- package/dist/src/tools/tool-error.js +2 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +17 -0
- package/dist/src/tools/tool-names.js +59 -0
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tool-names.test.d.ts +6 -0
- package/dist/src/tools/tool-names.test.js +43 -0
- package/dist/src/tools/tool-names.test.js.map +1 -0
- package/dist/src/tools/tool-registry.d.ts +11 -7
- package/dist/src/tools/tool-registry.js +15 -10
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +16 -11
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +25 -6
- package/dist/src/tools/tools.js +44 -25
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/tools.test.js +3 -1
- package/dist/src/tools/tools.test.js.map +1 -1
- package/dist/src/tools/web-fetch.d.ts +2 -2
- package/dist/src/tools/web-fetch.js +22 -9
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +18 -19
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.d.ts +2 -2
- package/dist/src/tools/web-search.js +5 -5
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/web-search.test.js +2 -1
- package/dist/src/tools/web-search.test.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +2 -2
- package/dist/src/tools/write-file.js +10 -4
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +4 -1
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/tools/write-todos.d.ts +2 -2
- package/dist/src/tools/write-todos.js +5 -4
- package/dist/src/tools/write-todos.js.map +1 -1
- package/dist/src/tools/write-todos.test.js +2 -1
- package/dist/src/tools/write-todos.test.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.d.ts +8 -0
- package/dist/src/utils/bfsFileSearch.js +63 -23
- package/dist/src/utils/bfsFileSearch.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.test.js +65 -1
- package/dist/src/utils/bfsFileSearch.test.js.map +1 -1
- package/dist/src/utils/checkpointUtils.d.ts +82 -0
- package/dist/src/utils/checkpointUtils.js +117 -0
- package/dist/src/utils/checkpointUtils.js.map +1 -0
- package/dist/src/utils/checkpointUtils.test.d.ts +6 -0
- package/dist/src/utils/checkpointUtils.test.js +229 -0
- package/dist/src/utils/checkpointUtils.test.js.map +1 -0
- package/dist/src/utils/customHeaderUtils.d.ts +9 -0
- package/dist/src/utils/customHeaderUtils.js +34 -0
- package/dist/src/utils/customHeaderUtils.js.map +1 -0
- package/dist/src/utils/customHeaderUtils.test.d.ts +6 -0
- package/dist/src/utils/customHeaderUtils.test.js +77 -0
- package/dist/src/utils/customHeaderUtils.test.js.map +1 -0
- package/dist/src/utils/debugLogger.d.ts +3 -0
- package/dist/src/utils/debugLogger.js +28 -0
- package/dist/src/utils/debugLogger.js.map +1 -1
- package/dist/src/utils/editCorrector.js +6 -5
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +7 -3
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/editor.d.ts +9 -1
- package/dist/src/utils/editor.js +23 -14
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/environmentContext.d.ts +1 -0
- package/dist/src/utils/environmentContext.js +4 -0
- package/dist/src/utils/environmentContext.js.map +1 -1
- package/dist/src/utils/environmentContext.test.js +2 -0
- package/dist/src/utils/environmentContext.test.js.map +1 -1
- package/dist/src/utils/errorReporting.d.ts +1 -1
- package/dist/src/utils/errorReporting.js +13 -12
- package/dist/src/utils/errorReporting.js.map +1 -1
- package/dist/src/utils/errorReporting.test.js +17 -14
- package/dist/src/utils/errorReporting.test.js.map +1 -1
- package/dist/src/utils/errors.d.ts +8 -0
- package/dist/src/utils/errors.js +39 -2
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/errors.test.d.ts +6 -0
- package/dist/src/utils/errors.test.js +155 -0
- package/dist/src/utils/errors.test.js.map +1 -0
- package/dist/src/utils/events.d.ts +49 -19
- package/dist/src/utils/events.js +21 -9
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/events.test.js +25 -0
- package/dist/src/utils/events.test.js.map +1 -1
- package/dist/src/utils/exitCodes.d.ts +12 -0
- package/dist/src/utils/exitCodes.js +13 -0
- package/dist/src/utils/exitCodes.js.map +1 -0
- package/dist/src/utils/extensionLoader.d.ts +2 -2
- package/dist/src/utils/extensionLoader.js +5 -6
- package/dist/src/utils/extensionLoader.js.map +1 -1
- package/dist/src/utils/extensionLoader.test.js +11 -0
- package/dist/src/utils/extensionLoader.test.js.map +1 -1
- package/dist/src/utils/fetch.d.ts +1 -1
- package/dist/src/utils/fetch.js +3 -3
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +4 -0
- package/dist/src/utils/fileUtils.js +53 -0
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +127 -1
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/filesearch/crawlCache.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/flashFallback.test.js +1 -1
- package/dist/src/utils/flashFallback.test.js.map +1 -1
- package/dist/src/utils/geminiIgnoreParser.d.ts +11 -0
- package/dist/src/utils/geminiIgnoreParser.js +20 -0
- package/dist/src/utils/geminiIgnoreParser.js.map +1 -1
- package/dist/src/utils/geminiIgnoreParser.test.js +48 -0
- package/dist/src/utils/geminiIgnoreParser.test.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.d.ts +3 -1
- package/dist/src/utils/generateContentResponseUtilities.js +106 -0
- package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.test.js +279 -2
- package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
- package/dist/src/utils/getFolderStructure.js +7 -2
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/googleErrors.js +31 -18
- package/dist/src/utils/googleErrors.js.map +1 -1
- package/dist/src/utils/googleErrors.test.js +10 -2
- package/dist/src/utils/googleErrors.test.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.d.ts +3 -3
- package/dist/src/utils/googleQuotaErrors.js +32 -6
- package/dist/src/utils/googleQuotaErrors.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.test.js +94 -2
- package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.d.ts +5 -0
- package/dist/src/utils/memoryDiscovery.js +9 -5
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +31 -1
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.test.js +4 -0
- package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
- package/dist/src/utils/package.d.ts +14 -0
- package/dist/src/utils/package.js +15 -2
- package/dist/src/utils/package.js.map +1 -1
- package/dist/src/utils/pathCorrector.js +12 -2
- package/dist/src/utils/pathCorrector.js.map +1 -1
- package/dist/src/utils/pathCorrector.test.js +6 -2
- package/dist/src/utils/pathCorrector.test.js.map +1 -1
- package/dist/src/utils/retry.d.ts +11 -0
- package/dist/src/utils/retry.js +62 -21
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +170 -10
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/schemaValidator.d.ts +1 -1
- package/dist/src/utils/schemaValidator.js +1 -1
- package/dist/src/utils/shell-permissions.d.ts +52 -0
- package/dist/src/utils/shell-permissions.js +188 -0
- package/dist/src/utils/shell-permissions.js.map +1 -0
- package/dist/src/utils/shell-permissions.test.d.ts +6 -0
- package/dist/src/utils/shell-permissions.test.js +369 -0
- package/dist/src/utils/shell-permissions.test.js.map +1 -0
- package/dist/src/utils/shell-utils.d.ts +16 -47
- package/dist/src/utils/shell-utils.js +99 -195
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +99 -288
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/stdio.d.ts +2 -2
- package/dist/src/utils/stdio.js +2 -2
- package/dist/src/utils/stdio.js.map +1 -1
- package/dist/src/utils/stdio.test.js +5 -5
- package/dist/src/utils/stdio.test.js.map +1 -1
- package/dist/src/utils/summarizer.test.js +3 -2
- package/dist/src/utils/summarizer.test.js.map +1 -1
- package/dist/src/utils/terminal.d.ts +4 -0
- package/dist/src/utils/terminal.js +12 -0
- package/dist/src/utils/terminal.js.map +1 -1
- package/dist/src/utils/terminalSerializer.test.js +17 -0
- package/dist/src/utils/terminalSerializer.test.js.map +1 -1
- package/dist/src/utils/tokenCalculation.d.ts +19 -0
- package/dist/src/utils/tokenCalculation.js +85 -0
- package/dist/src/utils/tokenCalculation.js.map +1 -0
- package/dist/src/utils/tokenCalculation.test.d.ts +6 -0
- package/dist/src/utils/tokenCalculation.test.js +87 -0
- package/dist/src/utils/tokenCalculation.test.js.map +1 -0
- package/dist/src/utils/tool-utils.d.ts +9 -0
- package/dist/src/utils/tool-utils.js +29 -0
- package/dist/src/utils/tool-utils.js.map +1 -1
- package/dist/src/utils/tool-utils.test.js +17 -2
- package/dist/src/utils/tool-utils.test.js.map +1 -1
- package/dist/src/utils/version.d.ts +6 -0
- package/dist/src/utils/version.js +15 -0
- package/dist/src/utils/version.js.map +1 -0
- package/dist/src/utils/version.test.d.ts +6 -0
- package/dist/src/utils/version.test.js +39 -0
- package/dist/src/utils/version.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Themes
|
|
2
|
+
|
|
3
|
+
Gemini CLI supports a variety of themes to customize its color scheme and
|
|
4
|
+
appearance. You can change the theme to suit your preferences via the `/theme`
|
|
5
|
+
command or `"theme":` configuration setting.
|
|
6
|
+
|
|
7
|
+
## Available themes
|
|
8
|
+
|
|
9
|
+
Gemini CLI comes with a selection of pre-defined themes, which you can list
|
|
10
|
+
using the `/theme` command within Gemini CLI:
|
|
11
|
+
|
|
12
|
+
- **Dark themes:**
|
|
13
|
+
- `ANSI`
|
|
14
|
+
- `Atom One`
|
|
15
|
+
- `Ayu`
|
|
16
|
+
- `Default`
|
|
17
|
+
- `Dracula`
|
|
18
|
+
- `GitHub`
|
|
19
|
+
- **Light themes:**
|
|
20
|
+
- `ANSI Light`
|
|
21
|
+
- `Ayu Light`
|
|
22
|
+
- `Default Light`
|
|
23
|
+
- `GitHub Light`
|
|
24
|
+
- `Google Code`
|
|
25
|
+
- `Xcode`
|
|
26
|
+
|
|
27
|
+
### Changing themes
|
|
28
|
+
|
|
29
|
+
1. Enter `/theme` into Gemini CLI.
|
|
30
|
+
2. A dialog or selection prompt appears, listing the available themes.
|
|
31
|
+
3. Using the arrow keys, select a theme. Some interfaces might offer a live
|
|
32
|
+
preview or highlight as you select.
|
|
33
|
+
4. Confirm your selection to apply the theme.
|
|
34
|
+
|
|
35
|
+
**Note:** If a theme is defined in your `settings.json` file (either by name or
|
|
36
|
+
by a file path), you must remove the `"theme"` setting from the file before you
|
|
37
|
+
can change the theme using the `/theme` command.
|
|
38
|
+
|
|
39
|
+
### Theme persistence
|
|
40
|
+
|
|
41
|
+
Selected themes are saved in Gemini CLI's
|
|
42
|
+
[configuration](../get-started/configuration.md) so your preference is
|
|
43
|
+
remembered across sessions.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Custom color themes
|
|
48
|
+
|
|
49
|
+
Gemini CLI allows you to create your own custom color themes by specifying them
|
|
50
|
+
in your `settings.json` file. This gives you full control over the color palette
|
|
51
|
+
used in the CLI.
|
|
52
|
+
|
|
53
|
+
### How to define a custom theme
|
|
54
|
+
|
|
55
|
+
Add a `customThemes` block to your user, project, or system `settings.json`
|
|
56
|
+
file. Each custom theme is defined as an object with a unique name and a set of
|
|
57
|
+
color keys. For example:
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"ui": {
|
|
62
|
+
"customThemes": {
|
|
63
|
+
"MyCustomTheme": {
|
|
64
|
+
"name": "MyCustomTheme",
|
|
65
|
+
"type": "custom",
|
|
66
|
+
"Background": "#181818",
|
|
67
|
+
...
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Color keys:**
|
|
75
|
+
|
|
76
|
+
- `Background`
|
|
77
|
+
- `Foreground`
|
|
78
|
+
- `LightBlue`
|
|
79
|
+
- `AccentBlue`
|
|
80
|
+
- `AccentPurple`
|
|
81
|
+
- `AccentCyan`
|
|
82
|
+
- `AccentGreen`
|
|
83
|
+
- `AccentYellow`
|
|
84
|
+
- `AccentRed`
|
|
85
|
+
- `Comment`
|
|
86
|
+
- `Gray`
|
|
87
|
+
- `DiffAdded` (optional, for added lines in diffs)
|
|
88
|
+
- `DiffRemoved` (optional, for removed lines in diffs)
|
|
89
|
+
- `DiffModified` (optional, for modified lines in diffs)
|
|
90
|
+
|
|
91
|
+
You can also override individual UI text roles by adding a nested `text` object.
|
|
92
|
+
This object supports the keys `primary`, `secondary`, `link`, `accent`, and
|
|
93
|
+
`response`. When `text.response` is provided it takes precedence over
|
|
94
|
+
`text.primary` for rendering model responses in chat.
|
|
95
|
+
|
|
96
|
+
**Required properties:**
|
|
97
|
+
|
|
98
|
+
- `name` (must match the key in the `customThemes` object and be a string)
|
|
99
|
+
- `type` (must be the string `"custom"`)
|
|
100
|
+
- `Background`
|
|
101
|
+
- `Foreground`
|
|
102
|
+
- `LightBlue`
|
|
103
|
+
- `AccentBlue`
|
|
104
|
+
- `AccentPurple`
|
|
105
|
+
- `AccentCyan`
|
|
106
|
+
- `AccentGreen`
|
|
107
|
+
- `AccentYellow`
|
|
108
|
+
- `AccentRed`
|
|
109
|
+
- `Comment`
|
|
110
|
+
- `Gray`
|
|
111
|
+
|
|
112
|
+
You can use either hex codes (e.g., `#FF0000`) **or** standard CSS color names
|
|
113
|
+
(e.g., `coral`, `teal`, `blue`) for any color value. See
|
|
114
|
+
[CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#color_keywords)
|
|
115
|
+
for a full list of supported names.
|
|
116
|
+
|
|
117
|
+
You can define multiple custom themes by adding more entries to the
|
|
118
|
+
`customThemes` object.
|
|
119
|
+
|
|
120
|
+
### Loading themes from a file
|
|
121
|
+
|
|
122
|
+
In addition to defining custom themes in `settings.json`, you can also load a
|
|
123
|
+
theme directly from a JSON file by specifying the file path in your
|
|
124
|
+
`settings.json`. This is useful for sharing themes or keeping them separate from
|
|
125
|
+
your main configuration.
|
|
126
|
+
|
|
127
|
+
To load a theme from a file, set the `theme` property in your `settings.json` to
|
|
128
|
+
the path of your theme file:
|
|
129
|
+
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"ui": {
|
|
133
|
+
"theme": "/path/to/your/theme.json"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
The theme file must be a valid JSON file that follows the same structure as a
|
|
139
|
+
custom theme defined in `settings.json`.
|
|
140
|
+
|
|
141
|
+
**Example `my-theme.json`:**
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"name": "My File Theme",
|
|
146
|
+
"type": "custom",
|
|
147
|
+
"Background": "#282A36",
|
|
148
|
+
"Foreground": "#F8F8F2",
|
|
149
|
+
"LightBlue": "#82AAFF",
|
|
150
|
+
"AccentBlue": "#61AFEF",
|
|
151
|
+
"AccentPurple": "#BD93F9",
|
|
152
|
+
"AccentCyan": "#8BE9FD",
|
|
153
|
+
"AccentGreen": "#50FA7B",
|
|
154
|
+
"AccentYellow": "#F1FA8C",
|
|
155
|
+
"AccentRed": "#FF5555",
|
|
156
|
+
"Comment": "#6272A4",
|
|
157
|
+
"Gray": "#ABB2BF",
|
|
158
|
+
"DiffAdded": "#A6E3A1",
|
|
159
|
+
"DiffRemoved": "#F38BA8",
|
|
160
|
+
"DiffModified": "#89B4FA",
|
|
161
|
+
"GradientColors": ["#4796E4", "#847ACE", "#C3677F"]
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**Security note:** For your safety, Gemini CLI will only load theme files that
|
|
166
|
+
are located within your home directory. If you attempt to load a theme from
|
|
167
|
+
outside your home directory, a warning will be displayed and the theme will not
|
|
168
|
+
be loaded. This is to prevent loading potentially malicious theme files from
|
|
169
|
+
untrusted sources.
|
|
170
|
+
|
|
171
|
+
### Example custom theme
|
|
172
|
+
|
|
173
|
+
<img src="../assets/theme-custom.png" alt="Custom theme example" width="600" />
|
|
174
|
+
|
|
175
|
+
### Using your custom theme
|
|
176
|
+
|
|
177
|
+
- Select your custom theme using the `/theme` command in Gemini CLI. Your custom
|
|
178
|
+
theme will appear in the theme selection dialog.
|
|
179
|
+
- Or, set it as the default by adding `"theme": "MyCustomTheme"` to the `ui`
|
|
180
|
+
object in your `settings.json`.
|
|
181
|
+
- Custom themes can be set at the user, project, or system level, and follow the
|
|
182
|
+
same [configuration precedence](../get-started/configuration.md) as other
|
|
183
|
+
settings.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Dark themes
|
|
188
|
+
|
|
189
|
+
### ANSI
|
|
190
|
+
|
|
191
|
+
<img src="/assets/theme-ansi.png" alt="ANSI theme" width="600" />
|
|
192
|
+
|
|
193
|
+
### Atom OneDark
|
|
194
|
+
|
|
195
|
+
<img src="/assets/theme-atom-one.png" alt="Atom One theme" width="600">
|
|
196
|
+
|
|
197
|
+
### Ayu
|
|
198
|
+
|
|
199
|
+
<img src="/assets/theme-ayu.png" alt="Ayu theme" width="600">
|
|
200
|
+
|
|
201
|
+
### Default
|
|
202
|
+
|
|
203
|
+
<img src="/assets/theme-default.png" alt="Default theme" width="600">
|
|
204
|
+
|
|
205
|
+
### Dracula
|
|
206
|
+
|
|
207
|
+
<img src="/assets/theme-dracula.png" alt="Dracula theme" width="600">
|
|
208
|
+
|
|
209
|
+
### GitHub
|
|
210
|
+
|
|
211
|
+
<img src="/assets/theme-github.png" alt="GitHub theme" width="600">
|
|
212
|
+
|
|
213
|
+
## Light themes
|
|
214
|
+
|
|
215
|
+
### ANSI Light
|
|
216
|
+
|
|
217
|
+
<img src="/assets/theme-ansi-light.png" alt="ANSI Light theme" width="600">
|
|
218
|
+
|
|
219
|
+
### Ayu Light
|
|
220
|
+
|
|
221
|
+
<img src="/assets/theme-ayu-light.png" alt="Ayu Light theme" width="600">
|
|
222
|
+
|
|
223
|
+
### Default Light
|
|
224
|
+
|
|
225
|
+
<img src="/assets/theme-default-light.png" alt="Default Light theme" width="600">
|
|
226
|
+
|
|
227
|
+
### GitHub Light
|
|
228
|
+
|
|
229
|
+
<img src="/assets/theme-github-light.png" alt="GitHub Light theme" width="600">
|
|
230
|
+
|
|
231
|
+
### Google Code
|
|
232
|
+
|
|
233
|
+
<img src="/assets/theme-google-light.png" alt="Google Code theme" width="600">
|
|
234
|
+
|
|
235
|
+
### Xcode
|
|
236
|
+
|
|
237
|
+
<img src="/assets/theme-xcode-light.png" alt="Xcode Light theme" width="600">
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Token caching and cost optimization
|
|
2
|
+
|
|
3
|
+
Gemini CLI automatically optimizes API costs through token caching when using
|
|
4
|
+
API key authentication (Gemini API key or Vertex AI). This feature reuses
|
|
5
|
+
previous system instructions and context to reduce the number of tokens
|
|
6
|
+
processed in subsequent requests.
|
|
7
|
+
|
|
8
|
+
**Token caching is available for:**
|
|
9
|
+
|
|
10
|
+
- API key users (Gemini API key)
|
|
11
|
+
- Vertex AI users (with project and location setup)
|
|
12
|
+
|
|
13
|
+
**Token caching is not available for:**
|
|
14
|
+
|
|
15
|
+
- OAuth users (Google Personal/Enterprise accounts) - the Code Assist API does
|
|
16
|
+
not support cached content creation at this time
|
|
17
|
+
|
|
18
|
+
You can view your token usage and cached token savings using the `/stats`
|
|
19
|
+
command. When cached tokens are available, they will be displayed in the stats
|
|
20
|
+
output.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Trusted Folders
|
|
2
|
+
|
|
3
|
+
The Trusted Folders feature is a security setting that gives you control over
|
|
4
|
+
which projects can use the full capabilities of the Gemini CLI. It prevents
|
|
5
|
+
potentially malicious code from running by asking you to approve a folder before
|
|
6
|
+
the CLI loads any project-specific configurations from it.
|
|
7
|
+
|
|
8
|
+
## Enabling the feature
|
|
9
|
+
|
|
10
|
+
The Trusted Folders feature is **disabled by default**. To use it, you must
|
|
11
|
+
first enable it in your settings.
|
|
12
|
+
|
|
13
|
+
Add the following to your user `settings.json` file:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"security": {
|
|
18
|
+
"folderTrust": {
|
|
19
|
+
"enabled": true
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## How it works: The trust dialog
|
|
26
|
+
|
|
27
|
+
Once the feature is enabled, the first time you run the Gemini CLI from a
|
|
28
|
+
folder, a dialog will automatically appear, prompting you to make a choice:
|
|
29
|
+
|
|
30
|
+
- **Trust folder**: Grants full trust to the current folder (e.g.,
|
|
31
|
+
`my-project`).
|
|
32
|
+
- **Trust parent folder**: Grants trust to the parent directory (e.g.,
|
|
33
|
+
`safe-projects`), which automatically trusts all of its subdirectories as
|
|
34
|
+
well. This is useful if you keep all your safe projects in one place.
|
|
35
|
+
- **Don't trust**: Marks the folder as untrusted. The CLI will operate in a
|
|
36
|
+
restricted "safe mode."
|
|
37
|
+
|
|
38
|
+
Your choice is saved in a central file (`~/.gemini/trustedFolders.json`), so you
|
|
39
|
+
will only be asked once per folder.
|
|
40
|
+
|
|
41
|
+
## Why trust matters: The impact of an untrusted workspace
|
|
42
|
+
|
|
43
|
+
When a folder is **untrusted**, the Gemini CLI runs in a restricted "safe mode"
|
|
44
|
+
to protect you. In this mode, the following features are disabled:
|
|
45
|
+
|
|
46
|
+
1. **Workspace settings are ignored**: The CLI will **not** load the
|
|
47
|
+
`.gemini/settings.json` file from the project. This prevents the loading of
|
|
48
|
+
custom tools and other potentially dangerous configurations.
|
|
49
|
+
|
|
50
|
+
2. **Environment variables are ignored**: The CLI will **not** load any `.env`
|
|
51
|
+
files from the project.
|
|
52
|
+
|
|
53
|
+
3. **Extension management is restricted**: You **cannot install, update, or
|
|
54
|
+
uninstall** extensions.
|
|
55
|
+
|
|
56
|
+
4. **Tool auto-acceptance is disabled**: You will always be prompted before any
|
|
57
|
+
tool is run, even if you have auto-acceptance enabled globally.
|
|
58
|
+
|
|
59
|
+
5. **Automatic memory loading is disabled**: The CLI will not automatically
|
|
60
|
+
load files into context from directories specified in local settings.
|
|
61
|
+
|
|
62
|
+
6. **MCP servers do not connect**: The CLI will not attempt to connect to any
|
|
63
|
+
[Model Context Protocol (MCP)](../tools/mcp-server.md) servers.
|
|
64
|
+
|
|
65
|
+
7. **Custom commands are not loaded**: The CLI will not load any custom
|
|
66
|
+
commands from .toml files, including both project-specific and global user
|
|
67
|
+
commands.
|
|
68
|
+
|
|
69
|
+
Granting trust to a folder unlocks the full functionality of the Gemini CLI for
|
|
70
|
+
that workspace.
|
|
71
|
+
|
|
72
|
+
## Managing your trust settings
|
|
73
|
+
|
|
74
|
+
If you need to change a decision or see all your settings, you have a couple of
|
|
75
|
+
options:
|
|
76
|
+
|
|
77
|
+
- **Change the current folder's trust**: Run the `/permissions` command from
|
|
78
|
+
within the CLI. This will bring up the same interactive dialog, allowing you
|
|
79
|
+
to change the trust level for the current folder.
|
|
80
|
+
|
|
81
|
+
- **View all trust rules**: To see a complete list of all your trusted and
|
|
82
|
+
untrusted folder rules, you can inspect the contents of the
|
|
83
|
+
`~/.gemini/trustedFolders.json` file in your home directory.
|
|
84
|
+
|
|
85
|
+
## The trust check process (advanced)
|
|
86
|
+
|
|
87
|
+
For advanced users, it's helpful to know the exact order of operations for how
|
|
88
|
+
trust is determined:
|
|
89
|
+
|
|
90
|
+
1. **IDE trust signal**: If you are using the
|
|
91
|
+
[IDE Integration](../ide-integration/index.md), the CLI first asks the IDE
|
|
92
|
+
if the workspace is trusted. The IDE's response takes highest priority.
|
|
93
|
+
|
|
94
|
+
2. **Local trust file**: If the IDE is not connected, the CLI checks the
|
|
95
|
+
central `~/.gemini/trustedFolders.json` file.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Getting Started with Agent Skills
|
|
2
|
+
|
|
3
|
+
Agent Skills allow you to extend Gemini CLI with specialized expertise. This
|
|
4
|
+
tutorial will guide you through creating your first skill, enabling it, and
|
|
5
|
+
using it in a session.
|
|
6
|
+
|
|
7
|
+
## 1. Enable Agent Skills
|
|
8
|
+
|
|
9
|
+
Agent Skills are currently an experimental feature and must be enabled in your
|
|
10
|
+
settings.
|
|
11
|
+
|
|
12
|
+
### Via the interactive UI
|
|
13
|
+
|
|
14
|
+
1. Start a Gemini CLI session by running `gemini`.
|
|
15
|
+
2. Type `/settings` to open the interactive settings dialog.
|
|
16
|
+
3. Search for "Skills".
|
|
17
|
+
4. Toggle **Agent Skills** to `true`.
|
|
18
|
+
5. Press `Esc` to save and exit. You may need to restart the CLI for the
|
|
19
|
+
changes to take effect.
|
|
20
|
+
|
|
21
|
+
### Via `settings.json`
|
|
22
|
+
|
|
23
|
+
Alternatively, you can manually edit your global settings file at
|
|
24
|
+
`~/.gemini/settings.json` (create it if it doesn't exist):
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"experimental": {
|
|
29
|
+
"skills": true
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 2. Create Your First Skill
|
|
35
|
+
|
|
36
|
+
A skill is a directory containing a `SKILL.md` file. Let's create an **API
|
|
37
|
+
Auditor** skill that helps you verify if local or remote endpoints are
|
|
38
|
+
responding correctly.
|
|
39
|
+
|
|
40
|
+
1. **Create the skill directory structure:**
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
mkdir -p .gemini/skills/api-auditor/scripts
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
2. **Create the `SKILL.md` file:** Create a file at
|
|
47
|
+
`.gemini/skills/api-auditor/SKILL.md` with the following content:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
---
|
|
51
|
+
name: api-auditor
|
|
52
|
+
description:
|
|
53
|
+
Expertise in auditing and testing API endpoints. Use when the user asks to
|
|
54
|
+
"check", "test", or "audit" a URL or API.
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
# API Auditor Instructions
|
|
58
|
+
|
|
59
|
+
You act as a QA engineer specialized in API reliability. When this skill is
|
|
60
|
+
active, you MUST:
|
|
61
|
+
|
|
62
|
+
1. **Audit**: Use the bundled `scripts/audit.js` utility to check the
|
|
63
|
+
status of the provided URL.
|
|
64
|
+
2. **Report**: Analyze the output (status codes, latency) and explain any
|
|
65
|
+
failures in plain English.
|
|
66
|
+
3. **Secure**: Remind the user if they are testing a sensitive endpoint
|
|
67
|
+
without an `https://` protocol.
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
3. **Create the bundled Node.js script:** Create a file at
|
|
71
|
+
`.gemini/skills/api-auditor/scripts/audit.js`. This script will be used by
|
|
72
|
+
the agent to perform the actual check:
|
|
73
|
+
|
|
74
|
+
```javascript
|
|
75
|
+
// .gemini/skills/api-auditor/scripts/audit.js
|
|
76
|
+
const url = process.argv[2];
|
|
77
|
+
|
|
78
|
+
if (!url) {
|
|
79
|
+
console.error('Usage: node audit.js <url>');
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
console.log(`Auditing ${url}...`);
|
|
84
|
+
fetch(url, { method: 'HEAD' })
|
|
85
|
+
.then((r) => console.log(`Result: Success (Status ${r.status})`))
|
|
86
|
+
.catch((e) => console.error(`Result: Failed (${e.message})`));
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## 3. Verify the Skill is Discovered
|
|
90
|
+
|
|
91
|
+
Use the `/skills` slash command (or `gemini skills list` from your terminal) to
|
|
92
|
+
see if Gemini CLI has found your new skill.
|
|
93
|
+
|
|
94
|
+
In a Gemini CLI session:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
/skills list
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
You should see `api-auditor` in the list of available skills.
|
|
101
|
+
|
|
102
|
+
## 4. Use the Skill in a Chat
|
|
103
|
+
|
|
104
|
+
Now, let's see the skill in action. Start a new session and ask a question about
|
|
105
|
+
an endpoint.
|
|
106
|
+
|
|
107
|
+
**User:** "Can you audit http://geminili.com"
|
|
108
|
+
|
|
109
|
+
Gemini will recognize the request matches the `api-auditor` description and will
|
|
110
|
+
ask for your permission to activate it.
|
|
111
|
+
|
|
112
|
+
**Model:** (After calling `activate_skill`) "I've activated the **api-auditor**
|
|
113
|
+
skill. I'll run the audit script now..."
|
|
114
|
+
|
|
115
|
+
Gemini will then use the `run_shell_command` tool to execute your bundled Node
|
|
116
|
+
script:
|
|
117
|
+
|
|
118
|
+
`node .gemini/skills/api-auditor/scripts/audit.js http://geminili.com`
|
|
119
|
+
|
|
120
|
+
## Next Steps
|
|
121
|
+
|
|
122
|
+
- Explore [Agent Skills Authoring Guide](../skills.md#creating-a-skill) to learn
|
|
123
|
+
about more advanced skill features.
|
|
124
|
+
- Learn how to share skills via [Extensions](../../extensions/index.md).
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Tutorials
|
|
2
|
+
|
|
3
|
+
This page contains tutorials for interacting with Gemini CLI.
|
|
4
|
+
|
|
5
|
+
## Agent Skills
|
|
6
|
+
|
|
7
|
+
- [Getting Started with Agent Skills](./tutorials/skills-getting-started.md)
|
|
8
|
+
|
|
9
|
+
## Setting up a Model Context Protocol (MCP) server
|
|
10
|
+
|
|
11
|
+
> [!CAUTION] Before using a third-party MCP server, ensure you trust its source
|
|
12
|
+
> and understand the tools it provides. Your use of third-party servers is at
|
|
13
|
+
> your own risk.
|
|
14
|
+
|
|
15
|
+
This tutorial demonstrates how to set up an MCP server, using the
|
|
16
|
+
[GitHub MCP server](https://github.com/github/github-mcp-server) as an example.
|
|
17
|
+
The GitHub MCP server provides tools for interacting with GitHub repositories,
|
|
18
|
+
such as creating issues and commenting on pull requests.
|
|
19
|
+
|
|
20
|
+
### Prerequisites
|
|
21
|
+
|
|
22
|
+
Before you begin, ensure you have the following installed and configured:
|
|
23
|
+
|
|
24
|
+
- **Docker:** Install and run [Docker].
|
|
25
|
+
- **GitHub Personal Access Token (PAT):** Create a new [classic] or
|
|
26
|
+
[fine-grained] PAT with the necessary scopes.
|
|
27
|
+
|
|
28
|
+
[Docker]: https://www.docker.com/
|
|
29
|
+
[classic]: https://github.com/settings/tokens/new
|
|
30
|
+
[fine-grained]: https://github.com/settings/personal-access-tokens/new
|
|
31
|
+
|
|
32
|
+
### Guide
|
|
33
|
+
|
|
34
|
+
#### Configure the MCP server in `settings.json`
|
|
35
|
+
|
|
36
|
+
In your project's root directory, create or open the
|
|
37
|
+
[`.gemini/settings.json` file](../get-started/configuration.md). Within the
|
|
38
|
+
file, add the `mcpServers` configuration block, which provides instructions for
|
|
39
|
+
how to launch the GitHub MCP server.
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"mcpServers": {
|
|
44
|
+
"github": {
|
|
45
|
+
"command": "docker",
|
|
46
|
+
"args": [
|
|
47
|
+
"run",
|
|
48
|
+
"-i",
|
|
49
|
+
"--rm",
|
|
50
|
+
"-e",
|
|
51
|
+
"GITHUB_PERSONAL_ACCESS_TOKEN",
|
|
52
|
+
"ghcr.io/github/github-mcp-server"
|
|
53
|
+
],
|
|
54
|
+
"env": {
|
|
55
|
+
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
#### Set your GitHub token
|
|
63
|
+
|
|
64
|
+
> [!CAUTION] Using a broadly scoped personal access token that has access to
|
|
65
|
+
> personal and private repositories can lead to information from the private
|
|
66
|
+
> repository being leaked into the public repository. We recommend using a
|
|
67
|
+
> fine-grained access token that doesn't share access to both public and private
|
|
68
|
+
> repositories.
|
|
69
|
+
|
|
70
|
+
Use an environment variable to store your GitHub PAT:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
GITHUB_PERSONAL_ACCESS_TOKEN="pat_YourActualGitHubTokenHere"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Gemini CLI uses this value in the `mcpServers` configuration that you defined in
|
|
77
|
+
the `settings.json` file.
|
|
78
|
+
|
|
79
|
+
#### Launch Gemini CLI and verify the connection
|
|
80
|
+
|
|
81
|
+
When you launch Gemini CLI, it automatically reads your configuration and
|
|
82
|
+
launches the GitHub MCP server in the background. You can then use natural
|
|
83
|
+
language prompts to ask Gemini CLI to perform GitHub actions. For example:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
"get all open issues assigned to me in the 'foo/bar' repo and prioritize them"
|
|
87
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Uninstalling the CLI
|
|
2
|
+
|
|
3
|
+
Your uninstall method depends on how you ran the CLI. Follow the instructions
|
|
4
|
+
for either npx or a global npm installation.
|
|
5
|
+
|
|
6
|
+
## Method 1: Using npx
|
|
7
|
+
|
|
8
|
+
npx runs packages from a temporary cache without a permanent installation. To
|
|
9
|
+
"uninstall" the CLI, you must clear this cache, which will remove gemini-cli and
|
|
10
|
+
any other packages previously executed with npx.
|
|
11
|
+
|
|
12
|
+
The npx cache is a directory named `_npx` inside your main npm cache folder. You
|
|
13
|
+
can find your npm cache path by running `npm config get cache`.
|
|
14
|
+
|
|
15
|
+
**For macOS / Linux**
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# The path is typically ~/.npm/_npx
|
|
19
|
+
rm -rf "$(npm config get cache)/_npx"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**For Windows**
|
|
23
|
+
|
|
24
|
+
_Command Prompt_
|
|
25
|
+
|
|
26
|
+
```cmd
|
|
27
|
+
:: The path is typically %LocalAppData%\npm-cache\_npx
|
|
28
|
+
rmdir /s /q "%LocalAppData%\npm-cache\_npx"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
_PowerShell_
|
|
32
|
+
|
|
33
|
+
```powershell
|
|
34
|
+
# The path is typically $env:LocalAppData\npm-cache\_npx
|
|
35
|
+
Remove-Item -Path (Join-Path $env:LocalAppData "npm-cache\_npx") -Recurse -Force
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Method 2: Using npm (global install)
|
|
39
|
+
|
|
40
|
+
If you installed the CLI globally (e.g., `npm install -g @google/gemini-cli`),
|
|
41
|
+
use the `npm uninstall` command with the `-g` flag to remove it.
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npm uninstall -g @google/gemini-cli
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This command completely removes the package from your system.
|