@google/gemini-cli-core 0.31.0-preview.2 → 0.32.0-preview.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/docs/changelogs/index.md +22 -0
- package/dist/docs/changelogs/latest.md +307 -352
- package/dist/docs/changelogs/preview.md +391 -293
- package/dist/docs/cli/plan-mode.md +29 -7
- package/dist/docs/cli/settings.md +15 -6
- package/dist/docs/cli/telemetry.md +39 -11
- package/dist/docs/extensions/reference.md +36 -0
- package/dist/docs/get-started/installation.md +1 -1
- package/dist/docs/local-development.md +49 -43
- package/dist/docs/reference/configuration.md +32 -0
- package/dist/docs/reference/keyboard-shortcuts.md +6 -6
- package/dist/docs/reference/policy-engine.md +4 -3
- package/dist/docs/resources/faq.md +13 -0
- package/dist/docs/resources/tos-privacy.md +6 -0
- package/dist/docs/resources/uninstall.md +1 -10
- package/dist/docs/tools/mcp-server.md +22 -0
- package/dist/src/agents/a2a-client-manager.d.ts +7 -6
- package/dist/src/agents/a2a-client-manager.js +8 -9
- package/dist/src/agents/a2a-client-manager.js.map +1 -1
- package/dist/src/agents/a2a-client-manager.test.js +45 -31
- package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
- package/dist/src/agents/a2aUtils.d.ts +25 -7
- package/dist/src/agents/a2aUtils.js +165 -58
- package/dist/src/agents/a2aUtils.js.map +1 -1
- package/dist/src/agents/a2aUtils.test.js +170 -27
- package/dist/src/agents/a2aUtils.test.js.map +1 -1
- package/dist/src/agents/generalist-agent.js +1 -2
- package/dist/src/agents/generalist-agent.js.map +1 -1
- package/dist/src/agents/registry.test.js +4 -2
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/remote-invocation.d.ts +2 -1
- package/dist/src/agents/remote-invocation.js +41 -22
- package/dist/src/agents/remote-invocation.js.map +1 -1
- package/dist/src/agents/remote-invocation.test.js +196 -56
- package/dist/src/agents/remote-invocation.test.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.js +1 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js +1 -1
- package/dist/src/agents/subagent-tool.js +15 -2
- package/dist/src/agents/subagent-tool.js.map +1 -1
- package/dist/src/agents/subagent-tool.test.js +31 -0
- package/dist/src/agents/subagent-tool.test.js.map +1 -1
- package/dist/src/billing/billing.d.ts +80 -0
- package/dist/src/billing/billing.js +127 -0
- package/dist/src/billing/billing.js.map +1 -0
- package/dist/src/billing/billing.test.d.ts +6 -0
- package/dist/src/billing/billing.test.js +182 -0
- package/dist/src/billing/billing.test.js.map +1 -0
- package/dist/src/billing/index.d.ts +6 -0
- package/dist/src/billing/index.js +7 -0
- package/dist/src/billing/index.js.map +1 -0
- package/dist/src/code_assist/codeAssist.js +1 -1
- package/dist/src/code_assist/codeAssist.js.map +1 -1
- package/dist/src/code_assist/codeAssist.test.js +2 -2
- package/dist/src/code_assist/codeAssist.test.js.map +1 -1
- package/dist/src/code_assist/converter.d.ts +9 -4
- package/dist/src/code_assist/converter.js +17 -2
- package/dist/src/code_assist/converter.js.map +1 -1
- package/dist/src/code_assist/converter.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +6 -3
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +1 -0
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.d.ts +9 -4
- package/dist/src/code_assist/server.js +86 -5
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +11 -0
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/setup.d.ts +2 -1
- package/dist/src/code_assist/setup.js +15 -4
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/types.d.ts +33 -10
- package/dist/src/code_assist/types.js.map +1 -1
- package/dist/src/config/config.d.ts +50 -4
- package/dist/src/config/config.js +77 -3
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +151 -1
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +1 -0
- package/dist/src/config/storage.js +4 -1
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +3 -2
- package/dist/src/core/contentGenerator.js +9 -2
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/coreToolScheduler.js +2 -1
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +21 -2
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/fakeContentGenerator.d.ts +2 -1
- package/dist/src/core/fakeContentGenerator.js +1 -0
- package/dist/src/core/fakeContentGenerator.js.map +1 -1
- package/dist/src/core/geminiChat.js +6 -2
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +34 -0
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/localLiteRtLmClient.d.ts +24 -0
- package/dist/src/core/localLiteRtLmClient.js +77 -0
- package/dist/src/core/localLiteRtLmClient.js.map +1 -0
- package/dist/src/core/localLiteRtLmClient.test.d.ts +6 -0
- package/dist/src/core/localLiteRtLmClient.test.js +87 -0
- package/dist/src/core/localLiteRtLmClient.test.js.map +1 -0
- package/dist/src/core/loggingContentGenerator.d.ts +2 -1
- package/dist/src/core/loggingContentGenerator.js +39 -17
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.test.js +122 -5
- package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
- package/dist/src/core/prompts.test.js +1 -1
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/fallback/handler.js +2 -0
- package/dist/src/fallback/handler.js.map +1 -1
- package/dist/src/fallback/types.d.ts +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +5 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/policy/config.d.ts +18 -6
- package/dist/src/policy/config.js +51 -14
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/config.test.js +26 -26
- package/dist/src/policy/config.test.js.map +1 -1
- package/dist/src/policy/persistence.test.js +9 -14
- package/dist/src/policy/persistence.test.js.map +1 -1
- package/dist/src/policy/policies/plan.toml +1 -1
- package/dist/src/policy/policy-engine.d.ts +8 -0
- package/dist/src/policy/policy-engine.js +12 -0
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +93 -0
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/policy-updater.test.js +1 -1
- package/dist/src/policy/policy-updater.test.js.map +1 -1
- package/dist/src/policy/toml-loader.d.ts +1 -1
- package/dist/src/policy/toml-loader.js +4 -2
- package/dist/src/policy/toml-loader.js.map +1 -1
- package/dist/src/policy/toml-loader.test.js +15 -12
- package/dist/src/policy/toml-loader.test.js.map +1 -1
- package/dist/src/policy/workspace-policy.test.js +10 -10
- package/dist/src/prompts/snippets.js +43 -27
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/routing/modelRouterService.js +19 -11
- package/dist/src/routing/modelRouterService.js.map +1 -1
- package/dist/src/routing/modelRouterService.test.js +38 -1
- package/dist/src/routing/modelRouterService.test.js.map +1 -1
- package/dist/src/routing/routingStrategy.d.ts +3 -2
- package/dist/src/routing/strategies/classifierStrategy.d.ts +2 -1
- package/dist/src/routing/strategies/classifierStrategy.js +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js +15 -13
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.d.ts +2 -1
- package/dist/src/routing/strategies/compositeStrategy.js +3 -3
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.test.js +10 -8
- package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/defaultStrategy.d.ts +2 -1
- package/dist/src/routing/strategies/defaultStrategy.js +1 -1
- package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
- package/dist/src/routing/strategies/defaultStrategy.test.js +8 -4
- package/dist/src/routing/strategies/defaultStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.d.ts +2 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.test.js +6 -5
- package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/gemmaClassifierStrategy.d.ts +14 -0
- package/dist/src/routing/strategies/gemmaClassifierStrategy.js +182 -0
- package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -0
- package/dist/src/routing/strategies/gemmaClassifierStrategy.test.d.ts +6 -0
- package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +218 -0
- package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -0
- package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +2 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.js +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +24 -22
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.d.ts +2 -1
- package/dist/src/routing/strategies/overrideStrategy.js +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.test.js +5 -4
- package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -1
- package/dist/src/scheduler/scheduler.d.ts +1 -0
- package/dist/src/scheduler/scheduler.js +18 -7
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/scheduler/scheduler.test.js +19 -1
- package/dist/src/scheduler/scheduler.test.js.map +1 -1
- package/dist/src/scheduler/scheduler_parallel.test.js +94 -3
- package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
- package/dist/src/scheduler/tool-executor.js +21 -12
- package/dist/src/scheduler/tool-executor.js.map +1 -1
- package/dist/src/scheduler/tool-executor.test.js +54 -0
- package/dist/src/scheduler/tool-executor.test.js.map +1 -1
- package/dist/src/services/trackerService.d.ts +49 -0
- package/dist/src/services/trackerService.js +172 -0
- package/dist/src/services/trackerService.js.map +1 -0
- package/dist/src/services/trackerService.test.d.ts +6 -0
- package/dist/src/services/trackerService.test.js +117 -0
- package/dist/src/services/trackerService.test.js.map +1 -0
- package/dist/src/services/trackerTypes.d.ts +51 -0
- package/dist/src/services/trackerTypes.js +33 -0
- package/dist/src/services/trackerTypes.js.map +1 -0
- package/dist/src/telemetry/billingEvents.d.ts +75 -0
- package/dist/src/telemetry/billingEvents.js +181 -0
- package/dist/src/telemetry/billingEvents.js.map +1 -0
- package/dist/src/telemetry/billingEvents.test.d.ts +6 -0
- package/dist/src/telemetry/billingEvents.test.js +139 -0
- package/dist/src/telemetry/billingEvents.test.js.map +1 -0
- package/dist/src/telemetry/conseca-logger.test.js +1 -0
- package/dist/src/telemetry/conseca-logger.test.js.map +1 -1
- package/dist/src/telemetry/constants.d.ts +25 -0
- package/dist/src/telemetry/constants.js +29 -0
- package/dist/src/telemetry/constants.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +3 -1
- package/dist/src/telemetry/index.js +5 -1
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +2 -0
- package/dist/src/telemetry/loggers.js +10 -0
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +16 -0
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +28 -0
- package/dist/src/telemetry/metrics.js +40 -0
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/sanitize.test.js +1 -0
- package/dist/src/telemetry/sanitize.test.js.map +1 -1
- package/dist/src/telemetry/sdk.test.js +1 -0
- package/dist/src/telemetry/sdk.test.js.map +1 -1
- package/dist/src/telemetry/telemetryAttributes.js +2 -0
- package/dist/src/telemetry/telemetryAttributes.js.map +1 -1
- package/dist/src/telemetry/trace.d.ts +2 -1
- package/dist/src/telemetry/trace.js +13 -18
- package/dist/src/telemetry/trace.js.map +1 -1
- package/dist/src/telemetry/trace.test.d.ts +6 -0
- package/dist/src/telemetry/trace.test.js +116 -0
- package/dist/src/telemetry/trace.test.js.map +1 -0
- package/dist/src/tools/confirmation-policy.test.js +1 -0
- package/dist/src/tools/confirmation-policy.test.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js +2 -2
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js +3 -3
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
- package/dist/src/tools/grep-utils.d.ts +1 -1
- package/dist/src/tools/grep-utils.js +4 -4
- package/dist/src/tools/grep-utils.js.map +1 -1
- package/dist/src/tools/grep.d.ts +1 -1
- package/dist/src/tools/grep.js +9 -9
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +8 -5
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/line-endings.test.js +3 -11
- package/dist/src/tools/line-endings.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.d.ts +25 -0
- package/dist/src/tools/mcp-client-manager.js +66 -3
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +47 -0
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +20 -9
- package/dist/src/tools/mcp-client.js +50 -46
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +96 -84
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +3 -3
- package/dist/src/tools/mcp-tool.js +1 -0
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +1 -1
- package/dist/src/tools/ripGrep.js +7 -7
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +10 -7
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +1 -0
- package/dist/src/tools/tools.js +1 -0
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/write-file.js +4 -17
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +29 -83
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/utils/editCorrector.d.ts +1 -42
- package/dist/src/utils/editCorrector.js +9 -461
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +17 -421
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/envExpansion.js.map +1 -1
- package/dist/src/utils/errors.js +7 -0
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/errors_timeout.test.d.ts +6 -0
- package/dist/src/utils/errors_timeout.test.js +40 -0
- package/dist/src/utils/errors_timeout.test.js.map +1 -0
- package/dist/src/utils/extensionLoader.js +35 -0
- package/dist/src/utils/extensionLoader.js.map +1 -1
- package/dist/src/utils/extensionLoader.test.js +36 -0
- package/dist/src/utils/extensionLoader.test.js.map +1 -1
- package/dist/src/utils/fetch.js +13 -2
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fileUtils.js +0 -1
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +0 -1
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/flashFallback.test.js +24 -0
- package/dist/src/utils/flashFallback.test.js.map +1 -1
- package/dist/src/utils/googleErrors.d.ts +2 -2
- package/dist/src/utils/googleQuotaErrors.d.ts +3 -1
- package/dist/src/utils/googleQuotaErrors.js +22 -12
- package/dist/src/utils/googleQuotaErrors.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.test.js +33 -1
- package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
- package/dist/src/utils/retry.js +4 -2
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +20 -0
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/schemaValidator.js +0 -1
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/google-gemini-cli-core-0.31.0-preview.1.tgz +0 -0
|
@@ -80,18 +80,37 @@ manually during a session.
|
|
|
80
80
|
|
|
81
81
|
### Planning Workflow
|
|
82
82
|
|
|
83
|
+
Plan Mode uses an adaptive planning workflow where the research depth, plan
|
|
84
|
+
structure, and consultation level are proportional to the task's complexity:
|
|
85
|
+
|
|
83
86
|
1. **Explore & Analyze:** Analyze requirements and use read-only tools to map
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
affected modules and identify dependencies.
|
|
88
|
+
2. **Consult:** The depth of consultation is proportional to the task's
|
|
89
|
+
complexity:
|
|
90
|
+
- **Simple Tasks:** Proceed directly to drafting.
|
|
91
|
+
- **Standard Tasks:** Present a summary of viable approaches via
|
|
92
|
+
[`ask_user`] for selection.
|
|
93
|
+
- **Complex Tasks:** Present detailed trade-offs for at least two viable
|
|
94
|
+
approaches via [`ask_user`] and obtain approval before drafting.
|
|
95
|
+
3. **Draft:** Write a detailed implementation plan to the
|
|
96
|
+
[plans directory](#custom-plan-directory-and-policies). The plan's structure
|
|
97
|
+
adapts to the task:
|
|
98
|
+
- **Simple Tasks:** Focused on specific **Changes** and **Verification**
|
|
99
|
+
steps.
|
|
100
|
+
- **Standard Tasks:** Includes an **Objective**, **Key Files & Context**,
|
|
101
|
+
**Implementation Steps**, and **Verification & Testing**.
|
|
102
|
+
- **Complex Tasks:** Comprehensive plans including **Background &
|
|
103
|
+
Motivation**, **Scope & Impact**, **Proposed Solution**, **Alternatives
|
|
104
|
+
Considered**, a phased **Implementation Plan**, **Verification**, and
|
|
105
|
+
**Migration & Rollback** strategies.
|
|
91
106
|
4. **Review & Approval:** Use the [`exit_plan_mode`] tool to present the plan
|
|
92
107
|
and formally request approval.
|
|
93
108
|
- **Approve:** Exit Plan Mode and start implementation.
|
|
94
109
|
- **Iterate:** Provide feedback to refine the plan.
|
|
110
|
+
- **Refine manually:** Press **Ctrl + X** to open the plan file in your
|
|
111
|
+
[preferred external editor]. This allows you to manually refine the plan
|
|
112
|
+
steps before approval. The CLI will automatically refresh and show the
|
|
113
|
+
updated plan after you save and close the editor.
|
|
95
114
|
|
|
96
115
|
For more complex or specialized planning tasks, you can
|
|
97
116
|
[customize the planning workflow with skills](#customizing-planning-with-skills).
|
|
@@ -119,6 +138,7 @@ These are the only allowed tools:
|
|
|
119
138
|
- **Planning (Write):** [`write_file`] and [`replace`] only allowed for `.md`
|
|
120
139
|
files in the `~/.gemini/tmp/<project>/<session-id>/plans/` directory or your
|
|
121
140
|
[custom plans directory](#custom-plan-directory-and-policies).
|
|
141
|
+
- **Memory:** [`save_memory`]
|
|
122
142
|
- **Skills:** [`activate_skill`] (allows loading specialized instructions and
|
|
123
143
|
resources in a read-only manner)
|
|
124
144
|
|
|
@@ -277,6 +297,7 @@ performance. You can disable this automatic switching in your settings:
|
|
|
277
297
|
[`google_web_search`]: /docs/tools/web-search.md
|
|
278
298
|
[`replace`]: /docs/tools/file-system.md#6-replace-edit
|
|
279
299
|
[MCP tools]: /docs/tools/mcp-server.md
|
|
300
|
+
[`save_memory`]: /docs/tools/memory.md
|
|
280
301
|
[`activate_skill`]: /docs/cli/skills.md
|
|
281
302
|
[subagents]: /docs/core/subagents.md
|
|
282
303
|
[policy engine]: /docs/reference/policy-engine.md
|
|
@@ -288,3 +309,4 @@ performance. You can disable this automatic switching in your settings:
|
|
|
288
309
|
https://github.com/google-gemini/gemini-cli/blob/main/packages/core/src/policy/policies/plan.toml
|
|
289
310
|
[auto model]: /docs/reference/configuration.md#model-settings
|
|
290
311
|
[model routing]: /docs/cli/telemetry.md#model-routing
|
|
312
|
+
[preferred external editor]: /docs/reference/configuration.md#general
|
|
@@ -72,6 +72,7 @@ they appear in the UI.
|
|
|
72
72
|
| Incremental Rendering | `ui.incrementalRendering` | Enable incremental rendering for the UI. This option will reduce flickering but may cause rendering artifacts. Only supported when useAlternateBuffer is enabled. | `true` |
|
|
73
73
|
| Show Spinner | `ui.showSpinner` | Show the spinner during operations. | `true` |
|
|
74
74
|
| Loading Phrases | `ui.loadingPhrases` | What to show while the model is working: tips, witty comments, both, or nothing. | `"tips"` |
|
|
75
|
+
| Error Verbosity | `ui.errorVerbosity` | Controls whether recoverable errors are hidden (low) or fully shown (full). | `"low"` |
|
|
75
76
|
| Screen Reader Mode | `ui.accessibility.screenReader` | Render output in plain-text to be more screen reader accessible | `false` |
|
|
76
77
|
|
|
77
78
|
### IDE
|
|
@@ -80,14 +81,21 @@ they appear in the UI.
|
|
|
80
81
|
| -------- | ------------- | ---------------------------- | ------- |
|
|
81
82
|
| IDE Mode | `ide.enabled` | Enable IDE integration mode. | `false` |
|
|
82
83
|
|
|
84
|
+
### Billing
|
|
85
|
+
|
|
86
|
+
| UI Label | Setting | Description | Default |
|
|
87
|
+
| ---------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
|
|
88
|
+
| Overage Strategy | `billing.overageStrategy` | How to handle quota exhaustion when AI credits are available. 'ask' prompts each time, 'always' automatically uses credits, 'never' disables credit usage. | `"ask"` |
|
|
89
|
+
|
|
83
90
|
### Model
|
|
84
91
|
|
|
85
|
-
| UI Label | Setting | Description | Default
|
|
86
|
-
| ----------------------- | ---------------------------- | -------------------------------------------------------------------------------------- |
|
|
87
|
-
|
|
|
88
|
-
|
|
|
89
|
-
|
|
|
90
|
-
|
|
|
92
|
+
| UI Label | Setting | Description | Default |
|
|
93
|
+
| ----------------------- | ---------------------------- | -------------------------------------------------------------------------------------- | ----------- |
|
|
94
|
+
| Model | `model.name` | The Gemini model to use for conversations. | `undefined` |
|
|
95
|
+
| Max Session Turns | `model.maxSessionTurns` | Maximum number of user/model/tool turns to keep in a session. -1 means unlimited. | `-1` |
|
|
96
|
+
| Compression Threshold | `model.compressionThreshold` | The fraction of context usage at which to trigger context compression (e.g. 0.2, 0.3). | `0.5` |
|
|
97
|
+
| Disable Loop Detection | `model.disableLoopDetection` | Disable automatic detection and prevention of infinite loops. | `false` |
|
|
98
|
+
| Skip Next Speaker Check | `model.skipNextSpeakerCheck` | Skip the next speaker check. | `true` |
|
|
91
99
|
|
|
92
100
|
### Context
|
|
93
101
|
|
|
@@ -139,6 +147,7 @@ they appear in the UI.
|
|
|
139
147
|
| Plan | `experimental.plan` | Enable planning features (Plan Mode and tools). | `false` |
|
|
140
148
|
| Model Steering | `experimental.modelSteering` | Enable model steering (user hints) to guide the model during tool execution. | `false` |
|
|
141
149
|
| Direct Web Fetch | `experimental.directWebFetch` | Enable web fetch behavior that bypasses LLM summarization. | `false` |
|
|
150
|
+
| Enable Gemma Model Router | `experimental.gemmaModelRouter.enabled` | Enable the Gemma Model Router. Requires a local endpoint serving Gemma via the Gemini API using LiteRT-LM shim. | `false` |
|
|
142
151
|
|
|
143
152
|
### Skills
|
|
144
153
|
|
|
@@ -176,11 +176,12 @@ Sends telemetry directly to Google Cloud services. No collector needed.
|
|
|
176
176
|
}
|
|
177
177
|
```
|
|
178
178
|
2. Run Gemini CLI and send prompts.
|
|
179
|
-
3. View logs and
|
|
179
|
+
3. View logs, metrics, and traces:
|
|
180
180
|
- Open the Google Cloud Console in your browser after sending prompts:
|
|
181
|
-
- Logs: https://console.cloud.google.com/logs/
|
|
182
|
-
- Metrics:
|
|
183
|
-
|
|
181
|
+
- Logs (Logs Explorer): https://console.cloud.google.com/logs/
|
|
182
|
+
- Metrics (Metrics Explorer):
|
|
183
|
+
https://console.cloud.google.com/monitoring/metrics-explorer
|
|
184
|
+
- Traces (Trace Explorer): https://console.cloud.google.com/traces/list
|
|
184
185
|
|
|
185
186
|
### Collector-based export (advanced)
|
|
186
187
|
|
|
@@ -208,11 +209,12 @@ forward data to Google Cloud.
|
|
|
208
209
|
- Save collector logs to `~/.gemini/tmp/<projectHash>/otel/collector-gcp.log`
|
|
209
210
|
- Stop collector on exit (e.g. `Ctrl+C`)
|
|
210
211
|
3. Run Gemini CLI and send prompts.
|
|
211
|
-
4. View logs and
|
|
212
|
+
4. View logs, metrics, and traces:
|
|
212
213
|
- Open the Google Cloud Console in your browser after sending prompts:
|
|
213
|
-
- Logs: https://console.cloud.google.com/logs/
|
|
214
|
-
- Metrics:
|
|
215
|
-
|
|
214
|
+
- Logs (Logs Explorer): https://console.cloud.google.com/logs/
|
|
215
|
+
- Metrics (Metrics Explorer):
|
|
216
|
+
https://console.cloud.google.com/monitoring/metrics-explorer
|
|
217
|
+
- Traces (Trace Explorer): https://console.cloud.google.com/traces/list
|
|
216
218
|
- Open `~/.gemini/tmp/<projectHash>/otel/collector-gcp.log` to view local
|
|
217
219
|
collector logs.
|
|
218
220
|
|
|
@@ -270,10 +272,10 @@ For local development and debugging, you can capture telemetry data locally:
|
|
|
270
272
|
3. View traces at http://localhost:16686 and logs/metrics in the collector log
|
|
271
273
|
file.
|
|
272
274
|
|
|
273
|
-
## Logs and
|
|
275
|
+
## Logs, metrics, and traces
|
|
274
276
|
|
|
275
|
-
The following section describes the structure of logs
|
|
276
|
-
Gemini CLI.
|
|
277
|
+
The following section describes the structure of logs, metrics, and traces
|
|
278
|
+
generated for Gemini CLI.
|
|
277
279
|
|
|
278
280
|
The `session.id`, `installation.id`, `active_approval_mode`, and `user.email`
|
|
279
281
|
(available only when authenticated with a Google account) are included as common
|
|
@@ -824,6 +826,32 @@ Optional performance monitoring for startup, CPU/memory, and phase timing.
|
|
|
824
826
|
- `current_value` (number)
|
|
825
827
|
- `baseline_value` (number)
|
|
826
828
|
|
|
829
|
+
### Traces
|
|
830
|
+
|
|
831
|
+
Traces offer a granular, "under-the-hood" view of every agent and backend
|
|
832
|
+
operation. By providing a high-fidelity execution map, they enable precise
|
|
833
|
+
debugging of complex tool interactions and deep performance optimization. Each
|
|
834
|
+
trace captures rich, consistent metadata via custom span attributes:
|
|
835
|
+
|
|
836
|
+
- `gen_ai.operation.name` (string): The high-level operation kind (e.g.
|
|
837
|
+
"tool_call", "llm_call").
|
|
838
|
+
- `gen_ai.agent.name` (string): The service agent identifier ("gemini-cli").
|
|
839
|
+
- `gen_ai.agent.description` (string): The service agent description.
|
|
840
|
+
- `gen_ai.input.messages` (string): Input messages or metadata specific to the
|
|
841
|
+
operation.
|
|
842
|
+
- `gen_ai.output.messages` (string): Output messages or metadata generated from
|
|
843
|
+
the operation.
|
|
844
|
+
- `gen_ai.request.model` (string): The request model name.
|
|
845
|
+
- `gen_ai.response.model` (string): The response model name.
|
|
846
|
+
- `gen_ai.system_instructions` (json string): The system instructions.
|
|
847
|
+
- `gen_ai.prompt.name` (string): The prompt name.
|
|
848
|
+
- `gen_ai.tool.name` (string): The executed tool's name.
|
|
849
|
+
- `gen_ai.tool.call_id` (string): The generated specific ID of the tool call.
|
|
850
|
+
- `gen_ai.tool.description` (string): The executed tool's description.
|
|
851
|
+
- `gen_ai.tool.definitions` (json string): The executed tool's description.
|
|
852
|
+
- `gen_ai.conversation.id` (string): The current CLI session ID.
|
|
853
|
+
- Additional user-defined Custom Attributes passed via the span's configuration.
|
|
854
|
+
|
|
827
855
|
#### GenAI semantic convention
|
|
828
856
|
|
|
829
857
|
The following metrics comply with [OpenTelemetry GenAI semantic conventions] for
|
|
@@ -227,6 +227,42 @@ skill definitions in a `skills/` directory. For example,
|
|
|
227
227
|
Provide [sub-agents](../core/subagents.md) that users can delegate tasks to. Add
|
|
228
228
|
agent definition files (`.md`) to an `agents/` directory in your extension root.
|
|
229
229
|
|
|
230
|
+
### <a id="policy-engine"></a>Policy Engine
|
|
231
|
+
|
|
232
|
+
Extensions can contribute policy rules and safety checkers to the Gemini CLI
|
|
233
|
+
[Policy Engine](../reference/policy-engine.md). These rules are defined in
|
|
234
|
+
`.toml` files and take effect when the extension is activated.
|
|
235
|
+
|
|
236
|
+
To add policies, create a `policies/` directory in your extension's root and
|
|
237
|
+
place your `.toml` policy files inside it. Gemini CLI automatically loads all
|
|
238
|
+
`.toml` files from this directory.
|
|
239
|
+
|
|
240
|
+
Rules contributed by extensions run in their own tier (tier 2), alongside
|
|
241
|
+
workspace-defined policies. This tier has higher priority than the default rules
|
|
242
|
+
but lower priority than user or admin policies.
|
|
243
|
+
|
|
244
|
+
> **Warning:** For security, Gemini CLI ignores any `allow` decisions or `yolo`
|
|
245
|
+
> mode configurations in extension policies. This ensures that an extension
|
|
246
|
+
> cannot automatically approve tool calls or bypass security measures without
|
|
247
|
+
> your confirmation.
|
|
248
|
+
|
|
249
|
+
**Example `policies.toml`**
|
|
250
|
+
|
|
251
|
+
```toml
|
|
252
|
+
[[rule]]
|
|
253
|
+
toolName = "my_server__dangerous_tool"
|
|
254
|
+
decision = "ask_user"
|
|
255
|
+
priority = 100
|
|
256
|
+
|
|
257
|
+
[[safety_checker]]
|
|
258
|
+
toolName = "my_server__write_data"
|
|
259
|
+
priority = 200
|
|
260
|
+
[safety_checker.checker]
|
|
261
|
+
type = "in-process"
|
|
262
|
+
name = "allowed-path"
|
|
263
|
+
required_context = ["environment"]
|
|
264
|
+
```
|
|
265
|
+
|
|
230
266
|
### Themes
|
|
231
267
|
|
|
232
268
|
Extensions can provide custom themes to personalize the CLI UI. Themes are
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Gemini CLI installation, execution, and releases
|
|
2
2
|
|
|
3
|
-
This document provides an overview of Gemini CLI's
|
|
3
|
+
This document provides an overview of Gemini CLI's system requirements,
|
|
4
4
|
installation methods, and release types.
|
|
5
5
|
|
|
6
6
|
## Recommended system specifications
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
# Local development guide
|
|
2
2
|
|
|
3
3
|
This guide provides instructions for setting up and using local development
|
|
4
|
-
features, such as
|
|
4
|
+
features, such as tracing.
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## Tracing
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Traces are OpenTelemetry (OTel) records that help you debug your code by
|
|
9
|
+
instrumenting key events like model calls, tool scheduler operations, and tool
|
|
10
|
+
calls.
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
Traces provide deep visibility into agent behavior and are invaluable for
|
|
13
|
+
debugging complex issues. They are captured automatically when telemetry is
|
|
14
|
+
enabled.
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
when running Gemini CLI.
|
|
16
|
+
### Viewing traces
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
You can view dev traces using either Jaeger or the Genkit Developer UI.
|
|
18
|
+
You can view traces using either Jaeger or the Genkit Developer UI.
|
|
21
19
|
|
|
22
20
|
#### Using Genkit
|
|
23
21
|
|
|
@@ -37,13 +35,12 @@ Genkit provides a web-based UI for viewing traces and other telemetry data.
|
|
|
37
35
|
Genkit Developer UI: http://localhost:4000
|
|
38
36
|
```
|
|
39
37
|
|
|
40
|
-
2. **Run Gemini CLI
|
|
38
|
+
2. **Run Gemini CLI:**
|
|
41
39
|
|
|
42
|
-
In a separate terminal, run your Gemini CLI command
|
|
43
|
-
`GEMINI_DEV_TRACING` environment variable:
|
|
40
|
+
In a separate terminal, run your Gemini CLI command:
|
|
44
41
|
|
|
45
42
|
```bash
|
|
46
|
-
|
|
43
|
+
gemini
|
|
47
44
|
```
|
|
48
45
|
|
|
49
46
|
3. **View the traces:**
|
|
@@ -53,7 +50,7 @@ Genkit provides a web-based UI for viewing traces and other telemetry data.
|
|
|
53
50
|
|
|
54
51
|
#### Using Jaeger
|
|
55
52
|
|
|
56
|
-
You can view
|
|
53
|
+
You can view traces in the Jaeger UI. To get started, follow these steps:
|
|
57
54
|
|
|
58
55
|
1. **Start the telemetry collector:**
|
|
59
56
|
|
|
@@ -67,13 +64,12 @@ You can view dev traces in the Jaeger UI. To get started, follow these steps:
|
|
|
67
64
|
This command also configures your workspace for local telemetry and provides
|
|
68
65
|
a link to the Jaeger UI (usually `http://localhost:16686`).
|
|
69
66
|
|
|
70
|
-
2. **Run Gemini CLI
|
|
67
|
+
2. **Run Gemini CLI:**
|
|
71
68
|
|
|
72
|
-
In a separate terminal, run your Gemini CLI command
|
|
73
|
-
`GEMINI_DEV_TRACING` environment variable:
|
|
69
|
+
In a separate terminal, run your Gemini CLI command:
|
|
74
70
|
|
|
75
71
|
```bash
|
|
76
|
-
|
|
72
|
+
gemini
|
|
77
73
|
```
|
|
78
74
|
|
|
79
75
|
3. **View the traces:**
|
|
@@ -84,10 +80,10 @@ You can view dev traces in the Jaeger UI. To get started, follow these steps:
|
|
|
84
80
|
For more detailed information on telemetry, see the
|
|
85
81
|
[telemetry documentation](./cli/telemetry.md).
|
|
86
82
|
|
|
87
|
-
### Instrumenting code with
|
|
83
|
+
### Instrumenting code with traces
|
|
88
84
|
|
|
89
|
-
You can add
|
|
90
|
-
|
|
85
|
+
You can add traces to your own code for more detailed instrumentation. This is
|
|
86
|
+
useful for debugging and understanding the flow of execution.
|
|
91
87
|
|
|
92
88
|
Use the `runInDevTraceSpan` function to wrap any section of code in a trace
|
|
93
89
|
span.
|
|
@@ -96,29 +92,39 @@ Here is a basic example:
|
|
|
96
92
|
|
|
97
93
|
```typescript
|
|
98
94
|
import { runInDevTraceSpan } from '@google/gemini-cli-core';
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
metadata.
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
95
|
+
import { GeminiCliOperation } from '@google/gemini-cli-core/lib/telemetry/constants.js';
|
|
96
|
+
|
|
97
|
+
await runInDevTraceSpan(
|
|
98
|
+
{
|
|
99
|
+
operation: GeminiCliOperation.ToolCall,
|
|
100
|
+
attributes: {
|
|
101
|
+
[GEN_AI_AGENT_NAME]: 'gemini-cli',
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
async ({ metadata }) => {
|
|
105
|
+
// The `metadata` object allows you to record the input and output of the
|
|
106
|
+
// operation as well as other attributes.
|
|
107
|
+
metadata.input = { key: 'value' };
|
|
108
|
+
// Set custom attributes.
|
|
109
|
+
metadata.attributes['custom.attribute'] = 'custom.value';
|
|
110
|
+
|
|
111
|
+
// Your code to be traced goes here
|
|
112
|
+
try {
|
|
113
|
+
const output = await somethingRisky();
|
|
114
|
+
metadata.output = output;
|
|
115
|
+
return output;
|
|
116
|
+
} catch (e) {
|
|
117
|
+
metadata.error = e;
|
|
118
|
+
throw e;
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
);
|
|
117
122
|
```
|
|
118
123
|
|
|
119
124
|
In this example:
|
|
120
125
|
|
|
121
|
-
- `
|
|
126
|
+
- `operation`: The operation type of the span, represented by the
|
|
127
|
+
`GeminiCliOperation` enum.
|
|
122
128
|
- `metadata.input`: (Optional) An object containing the input data for the
|
|
123
129
|
traced operation.
|
|
124
130
|
- `metadata.output`: (Optional) An object containing the output data from the
|
|
@@ -322,6 +322,12 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
322
322
|
- **Default:** `"tips"`
|
|
323
323
|
- **Values:** `"tips"`, `"witty"`, `"all"`, `"off"`
|
|
324
324
|
|
|
325
|
+
- **`ui.errorVerbosity`** (enum):
|
|
326
|
+
- **Description:** Controls whether recoverable errors are hidden (low) or
|
|
327
|
+
fully shown (full).
|
|
328
|
+
- **Default:** `"low"`
|
|
329
|
+
- **Values:** `"low"`, `"full"`
|
|
330
|
+
|
|
325
331
|
- **`ui.customWittyPhrases`** (array):
|
|
326
332
|
- **Description:** Custom witty phrases to display during loading. When
|
|
327
333
|
provided, the CLI cycles through these instead of the defaults.
|
|
@@ -357,6 +363,15 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
357
363
|
- **Default:** `true`
|
|
358
364
|
- **Requires restart:** Yes
|
|
359
365
|
|
|
366
|
+
#### `billing`
|
|
367
|
+
|
|
368
|
+
- **`billing.overageStrategy`** (enum):
|
|
369
|
+
- **Description:** How to handle quota exhaustion when AI credits are
|
|
370
|
+
available. 'ask' prompts each time, 'always' automatically uses credits,
|
|
371
|
+
'never' disables credit usage.
|
|
372
|
+
- **Default:** `"ask"`
|
|
373
|
+
- **Values:** `"ask"`, `"always"`, `"never"`
|
|
374
|
+
|
|
360
375
|
#### `model`
|
|
361
376
|
|
|
362
377
|
- **`model.name`** (string):
|
|
@@ -1014,6 +1029,23 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1014
1029
|
- **Default:** `false`
|
|
1015
1030
|
- **Requires restart:** Yes
|
|
1016
1031
|
|
|
1032
|
+
- **`experimental.gemmaModelRouter.enabled`** (boolean):
|
|
1033
|
+
- **Description:** Enable the Gemma Model Router. Requires a local endpoint
|
|
1034
|
+
serving Gemma via the Gemini API using LiteRT-LM shim.
|
|
1035
|
+
- **Default:** `false`
|
|
1036
|
+
- **Requires restart:** Yes
|
|
1037
|
+
|
|
1038
|
+
- **`experimental.gemmaModelRouter.classifier.host`** (string):
|
|
1039
|
+
- **Description:** The host of the classifier.
|
|
1040
|
+
- **Default:** `"http://localhost:9379"`
|
|
1041
|
+
- **Requires restart:** Yes
|
|
1042
|
+
|
|
1043
|
+
- **`experimental.gemmaModelRouter.classifier.model`** (string):
|
|
1044
|
+
- **Description:** The model to use for the classifier. Only tested on
|
|
1045
|
+
`gemma3-1b-gpu-custom`.
|
|
1046
|
+
- **Default:** `"gemma3-1b-gpu-custom"`
|
|
1047
|
+
- **Requires restart:** Yes
|
|
1048
|
+
|
|
1017
1049
|
#### `skills`
|
|
1018
1050
|
|
|
1019
1051
|
- **`skills.enabled`** (boolean):
|
|
@@ -87,12 +87,12 @@ available combinations.
|
|
|
87
87
|
|
|
88
88
|
#### Text Input
|
|
89
89
|
|
|
90
|
-
| Action
|
|
91
|
-
|
|
|
92
|
-
| Submit the current prompt.
|
|
93
|
-
| Insert a newline without submitting.
|
|
94
|
-
| Open the current prompt in an external editor. | `Ctrl + X` |
|
|
95
|
-
| Paste from the clipboard.
|
|
90
|
+
| Action | Keys |
|
|
91
|
+
| ---------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
|
92
|
+
| Submit the current prompt. | `Enter (no Shift, Alt, Ctrl, Cmd)` |
|
|
93
|
+
| Insert a newline without submitting. | `Ctrl + Enter`<br />`Cmd + Enter`<br />`Alt + Enter`<br />`Shift + Enter`<br />`Ctrl + J` |
|
|
94
|
+
| Open the current prompt or the plan in an external editor. | `Ctrl + X` |
|
|
95
|
+
| Paste from the clipboard. | `Ctrl + V`<br />`Cmd + V`<br />`Alt + V` |
|
|
96
96
|
|
|
97
97
|
#### App Controls
|
|
98
98
|
|
|
@@ -97,9 +97,10 @@ has a designated number that forms the base of the final priority calculation.
|
|
|
97
97
|
| Tier | Base | Description |
|
|
98
98
|
| :-------- | :--- | :------------------------------------------------------------------------- |
|
|
99
99
|
| Default | 1 | Built-in policies that ship with the Gemini CLI. |
|
|
100
|
-
|
|
|
101
|
-
|
|
|
102
|
-
|
|
|
100
|
+
| Extension | 2 | Policies defined in extensions. |
|
|
101
|
+
| Workspace | 3 | Policies defined in the current workspace's configuration directory. |
|
|
102
|
+
| User | 4 | Custom policies defined by the user. |
|
|
103
|
+
| Admin | 5 | Policies managed by an administrator (e.g., in an enterprise environment). |
|
|
103
104
|
|
|
104
105
|
Within a TOML policy file, you assign a priority value from **0 to 999**. The
|
|
105
106
|
engine transforms this into a final priority using the following formula:
|
|
@@ -5,6 +5,19 @@ problems encountered while using Gemini CLI.
|
|
|
5
5
|
|
|
6
6
|
## General issues
|
|
7
7
|
|
|
8
|
+
This section addresses common questions about Gemini CLI usage, security, and
|
|
9
|
+
troubleshooting general errors.
|
|
10
|
+
|
|
11
|
+
### Why can't I use third-party software (e.g. Claude Code, OpenClaw, OpenCode) with Gemini CLI?
|
|
12
|
+
|
|
13
|
+
Using third-party software, tools, or services to harvest or piggyback on Gemini
|
|
14
|
+
CLI's OAuth authentication to access our backend services is a direct violation
|
|
15
|
+
of our [applicable terms and policies](tos-privacy.md). Doing so bypasses our
|
|
16
|
+
intended authentication and security structures, and such actions may be grounds
|
|
17
|
+
for immediate suspension or termination of your account. If you would like to
|
|
18
|
+
use a third-party coding agent with Gemini, the supported and secure method is
|
|
19
|
+
to use a Vertex AI or Google AI Studio API key.
|
|
20
|
+
|
|
8
21
|
### Why am I getting an `API error: 429 - Resource exhausted`?
|
|
9
22
|
|
|
10
23
|
This error indicates that you have exceeded your API request limit. The Gemini
|
|
@@ -7,6 +7,12 @@ is licensed under the
|
|
|
7
7
|
When you use Gemini CLI to access or use Google’s services, the Terms of Service
|
|
8
8
|
and Privacy Notices applicable to those services apply to such access and use.
|
|
9
9
|
|
|
10
|
+
Directly accessing the services powering Gemini CLI (e.g., the Gemini Code
|
|
11
|
+
Assist service) using third-party software, tools, or services (for example,
|
|
12
|
+
using OpenClaw with Gemini CLI OAuth) is a violation of applicable terms and
|
|
13
|
+
policies. Such actions may be grounds for suspension or termination of your
|
|
14
|
+
account.
|
|
15
|
+
|
|
10
16
|
Your Gemini CLI Usage Statistics are handled in accordance with Google's Privacy
|
|
11
17
|
Policy.
|
|
12
18
|
|
|
@@ -19,16 +19,7 @@ can find your npm cache path by running `npm config get cache`.
|
|
|
19
19
|
rm -rf "$(npm config get cache)/_npx"
|
|
20
20
|
```
|
|
21
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_
|
|
22
|
+
**For Windows (PowerShell)**
|
|
32
23
|
|
|
33
24
|
```powershell
|
|
34
25
|
# The path is typically $env:LocalAppData\npm-cache\_npx
|
|
@@ -1066,6 +1066,11 @@ command has no flags.
|
|
|
1066
1066
|
gemini mcp list
|
|
1067
1067
|
```
|
|
1068
1068
|
|
|
1069
|
+
> **Note on Trust:** For security, `stdio` MCP servers (those using the
|
|
1070
|
+
> `command` property) are only tested and displayed as "Connected" if the
|
|
1071
|
+
> current folder is trusted. If the folder is untrusted, they will show as
|
|
1072
|
+
> "Disconnected". Use `gemini trust` to trust the current folder.
|
|
1073
|
+
|
|
1069
1074
|
**Example output:**
|
|
1070
1075
|
|
|
1071
1076
|
```sh
|
|
@@ -1074,6 +1079,23 @@ gemini mcp list
|
|
|
1074
1079
|
✗ sse-server: https://api.example.com/sse (sse) - Disconnected
|
|
1075
1080
|
```
|
|
1076
1081
|
|
|
1082
|
+
## Troubleshooting and Diagnostics
|
|
1083
|
+
|
|
1084
|
+
To minimize noise during startup, MCP connection errors for background servers
|
|
1085
|
+
are "silent by default." If issues are detected during startup, a single
|
|
1086
|
+
informational hint will be shown: _"MCP issues detected. Run /mcp list for
|
|
1087
|
+
status."_
|
|
1088
|
+
|
|
1089
|
+
Detailed, actionable diagnostics for a specific server are automatically
|
|
1090
|
+
re-enabled when:
|
|
1091
|
+
|
|
1092
|
+
1. You run an interactive command like `/mcp list`, `/mcp auth`, etc.
|
|
1093
|
+
2. The model attempts to execute a tool from that server.
|
|
1094
|
+
3. You invoke an MCP prompt from that server.
|
|
1095
|
+
|
|
1096
|
+
You can also use `gemini mcp list` from your shell to see connection errors for
|
|
1097
|
+
all configured servers.
|
|
1098
|
+
|
|
1077
1099
|
### Removing a server (`gemini mcp remove`)
|
|
1078
1100
|
|
|
1079
1101
|
To delete a server from your configuration, use the `remove` command with the
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import type { AgentCard, Message, Task } from '@a2a-js/sdk';
|
|
6
|
+
import type { AgentCard, Message, Task, TaskStatusUpdateEvent, TaskArtifactUpdateEvent } from '@a2a-js/sdk';
|
|
7
7
|
import { type Client, type AuthenticationHandler } from '@a2a-js/sdk/client';
|
|
8
|
-
export type SendMessageResult = Message | Task;
|
|
8
|
+
export type SendMessageResult = Message | Task | TaskStatusUpdateEvent | TaskArtifactUpdateEvent;
|
|
9
9
|
/**
|
|
10
10
|
* Manages A2A clients and caches loaded agent information.
|
|
11
11
|
* Follows a singleton pattern to ensure a single client instance.
|
|
@@ -37,17 +37,18 @@ export declare class A2AClientManager {
|
|
|
37
37
|
*/
|
|
38
38
|
clearCache(): void;
|
|
39
39
|
/**
|
|
40
|
-
* Sends a message to a loaded agent.
|
|
40
|
+
* Sends a message to a loaded agent and returns a stream of responses.
|
|
41
41
|
* @param agentName The name of the agent to send the message to.
|
|
42
42
|
* @param message The message content.
|
|
43
43
|
* @param options Optional context and task IDs to maintain conversation state.
|
|
44
|
-
* @returns
|
|
44
|
+
* @returns An async iterable of responses from the agent (Message or Task).
|
|
45
45
|
* @throws Error if the agent returns an error response.
|
|
46
46
|
*/
|
|
47
|
-
|
|
47
|
+
sendMessageStream(agentName: string, message: string, options?: {
|
|
48
48
|
contextId?: string;
|
|
49
49
|
taskId?: string;
|
|
50
|
-
|
|
50
|
+
signal?: AbortSignal;
|
|
51
|
+
}): AsyncIterable<SendMessageResult>;
|
|
51
52
|
/**
|
|
52
53
|
* Retrieves a loaded agent card.
|
|
53
54
|
* @param name The name of the agent.
|