@google/gemini-cli-core 0.36.0 → 0.37.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 +10 -7
- package/dist/docs/assets/theme-tokyonight-dark.png +0 -0
- package/dist/docs/changelogs/index.md +24 -0
- package/dist/docs/changelogs/latest.md +366 -459
- package/dist/docs/changelogs/preview.md +362 -356
- package/dist/docs/cli/acp-mode.md +126 -0
- package/dist/docs/cli/cli-reference.md +1 -1
- package/dist/docs/cli/notifications.md +5 -5
- package/dist/docs/cli/plan-mode.md +22 -11
- package/dist/docs/cli/sandbox.md +1 -1
- package/dist/docs/cli/settings.md +14 -13
- package/dist/docs/cli/themes.md +5 -0
- package/dist/docs/core/index.md +2 -2
- package/dist/docs/core/subagents.md +134 -23
- package/dist/docs/get-started/gemini-3.md +1 -1
- package/dist/docs/get-started/index.md +127 -1
- package/dist/docs/ide-integration/index.md +99 -24
- package/dist/docs/index.md +0 -2
- package/dist/docs/redirects.json +1 -0
- package/dist/docs/reference/commands.md +1 -3
- package/dist/docs/reference/configuration.md +182 -91
- package/dist/docs/reference/keyboard-shortcuts.md +14 -6
- package/dist/docs/reference/policy-engine.md +36 -31
- package/dist/docs/reference/tools.md +56 -23
- package/dist/docs/resources/quota-and-pricing.md +23 -9
- package/dist/docs/sidebar.json +11 -4
- package/dist/docs/tools/planning.md +6 -4
- package/dist/google-gemini-cli-core-0.37.0-preview.0.tgz +0 -0
- package/dist/src/agents/agentLoader.d.ts +12 -12
- package/dist/src/agents/agentLoader.js +1 -0
- package/dist/src/agents/agentLoader.js.map +1 -1
- package/dist/src/agents/browser/automationOverlay.js +2 -10
- package/dist/src/agents/browser/automationOverlay.js.map +1 -1
- package/dist/src/agents/browser/browserAgentDefinition.js +10 -3
- package/dist/src/agents/browser/browserAgentDefinition.js.map +1 -1
- package/dist/src/agents/browser/browserAgentFactory.d.ts +4 -4
- package/dist/src/agents/browser/browserAgentFactory.js +15 -29
- package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
- package/dist/src/agents/browser/browserAgentFactory.test.js +41 -24
- package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.d.ts +1 -0
- package/dist/src/agents/browser/browserAgentInvocation.js +60 -27
- package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.test.js +59 -5
- package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
- package/dist/src/agents/browser/browserManager.d.ts +51 -8
- package/dist/src/agents/browser/browserManager.js +242 -70
- package/dist/src/agents/browser/browserManager.js.map +1 -1
- package/dist/src/agents/browser/browserManager.test.js +384 -17
- package/dist/src/agents/browser/browserManager.test.js.map +1 -1
- package/dist/src/agents/browser/inputBlocker.d.ts +4 -4
- package/dist/src/agents/browser/inputBlocker.js +8 -18
- package/dist/src/agents/browser/inputBlocker.js.map +1 -1
- package/dist/src/agents/browser/inputBlocker.test.js +31 -3
- package/dist/src/agents/browser/inputBlocker.test.js.map +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.d.ts +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.js +9 -6
- package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.test.js +2 -2
- package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
- package/dist/src/agents/browser/snapshotSuperseder.d.ts +31 -0
- package/dist/src/agents/browser/snapshotSuperseder.js +101 -0
- package/dist/src/agents/browser/snapshotSuperseder.js.map +1 -0
- package/dist/src/agents/browser/snapshotSuperseder.test.js +158 -0
- package/dist/src/agents/browser/snapshotSuperseder.test.js.map +1 -0
- package/dist/src/agents/local-executor.d.ts +4 -0
- package/dist/src/agents/local-executor.js +46 -19
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/local-executor.test.js +118 -18
- package/dist/src/agents/local-executor.test.js.map +1 -1
- package/dist/src/agents/local-invocation.d.ts +1 -0
- package/dist/src/agents/local-invocation.js +19 -9
- package/dist/src/agents/local-invocation.js.map +1 -1
- package/dist/src/agents/local-invocation.test.js +24 -0
- package/dist/src/agents/local-invocation.test.js.map +1 -1
- package/dist/src/agents/registry.js +16 -1
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +67 -0
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/types.d.ts +9 -0
- package/dist/src/agents/types.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +8 -3
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +57 -0
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/setup.js +5 -2
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/setup.test.js +27 -1
- package/dist/src/code_assist/setup.test.js.map +1 -1
- package/dist/src/code_assist/types.d.ts +80 -80
- package/dist/src/config/agent-loop-context.d.ts +2 -0
- package/dist/src/config/config.d.ts +81 -16
- package/dist/src/config/config.js +146 -50
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +89 -2
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +9 -0
- package/dist/src/config/defaultModelConfigs.js.map +1 -1
- package/dist/src/config/memory.d.ts +1 -0
- package/dist/src/config/memory.js +6 -0
- package/dist/src/config/memory.js.map +1 -1
- package/dist/src/config/storage.d.ts +1 -0
- package/dist/src/config/storage.js +4 -0
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +5 -0
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/config/topicState.d.ts +21 -0
- package/dist/src/config/topicState.js +41 -0
- package/dist/src/config/topicState.js.map +1 -0
- package/dist/src/confirmation-bus/types.d.ts +11 -2
- package/dist/src/confirmation-bus/types.js +2 -0
- package/dist/src/confirmation-bus/types.js.map +1 -1
- package/dist/src/context/agentHistoryProvider.d.ts +45 -0
- package/dist/src/context/agentHistoryProvider.js +298 -0
- package/dist/src/context/agentHistoryProvider.js.map +1 -0
- package/dist/src/context/agentHistoryProvider.test.d.ts +6 -0
- package/dist/src/context/agentHistoryProvider.test.js +394 -0
- package/dist/src/context/agentHistoryProvider.test.js.map +1 -0
- package/dist/src/context/chatCompressionService.js.map +1 -0
- package/dist/src/context/chatCompressionService.test.js.map +1 -0
- package/dist/src/{services → context}/contextManager.d.ts +2 -0
- package/dist/src/{services → context}/contextManager.js +18 -9
- package/dist/src/context/contextManager.js.map +1 -0
- package/dist/src/{services → context}/contextManager.test.js +21 -6
- package/dist/src/context/contextManager.test.js.map +1 -0
- package/dist/src/context/toolDistillationService.d.ts +38 -0
- package/dist/src/context/toolDistillationService.js +170 -0
- package/dist/src/context/toolDistillationService.js.map +1 -0
- package/dist/src/context/toolDistillationService.test.d.ts +6 -0
- package/dist/src/context/toolDistillationService.test.js +83 -0
- package/dist/src/context/toolDistillationService.test.js.map +1 -0
- package/dist/src/{services → context}/toolOutputMaskingService.d.ts +2 -2
- package/dist/src/{services → context}/toolOutputMaskingService.js +7 -7
- package/dist/src/context/toolOutputMaskingService.js.map +1 -0
- package/dist/src/context/toolOutputMaskingService.test.d.ts +6 -0
- package/dist/src/{services → context}/toolOutputMaskingService.test.js +4 -5
- package/dist/src/context/toolOutputMaskingService.test.js.map +1 -0
- package/dist/src/context/truncation.d.ts +26 -0
- package/dist/src/context/truncation.js +102 -0
- package/dist/src/context/truncation.js.map +1 -0
- package/dist/src/core/client.d.ts +3 -1
- package/dist/src/core/client.js +23 -13
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +29 -34
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +0 -1
- package/dist/src/core/contentGenerator.js +2 -28
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +1 -101
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/geminiChat.js +4 -5
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +71 -18
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/prompts-substitution.test.js +5 -0
- package/dist/src/core/prompts-substitution.test.js.map +1 -1
- package/dist/src/core/prompts.test.js +3 -0
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/index.d.ts +7 -3
- package/dist/src/index.js +9 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/policy/config.d.ts +1 -1
- package/dist/src/policy/config.js +61 -24
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/persistence.test.js +42 -0
- package/dist/src/policy/persistence.test.js.map +1 -1
- package/dist/src/policy/policies/discovered.toml +7 -0
- package/dist/src/policy/policies/non-interactive.toml +7 -0
- package/dist/src/policy/policies/plan.toml +25 -0
- package/dist/src/policy/policies/read-only.toml +6 -0
- package/dist/src/policy/policies/sandbox-default.toml +3 -2
- package/dist/src/policy/policies/write.toml +21 -0
- package/dist/src/policy/policies/yolo.toml +1 -1
- package/dist/src/policy/policy-engine.d.ts +2 -4
- package/dist/src/policy/policy-engine.js +24 -37
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +107 -29
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/topic-policy.test.d.ts +6 -0
- package/dist/src/policy/topic-policy.test.js +48 -0
- package/dist/src/policy/topic-policy.test.js.map +1 -0
- package/dist/src/policy/types.d.ts +9 -6
- package/dist/src/policy/types.js +11 -0
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/prompts/promptProvider.js +20 -4
- package/dist/src/prompts/promptProvider.js.map +1 -1
- package/dist/src/prompts/promptProvider.test.js +84 -1
- package/dist/src/prompts/promptProvider.test.js.map +1 -1
- package/dist/src/prompts/snippets-memory-manager.test.js +1 -1
- package/dist/src/prompts/snippets-memory-manager.test.js.map +1 -1
- package/dist/src/prompts/snippets.d.ts +3 -4
- package/dist/src/prompts/snippets.js +33 -51
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/prompts/snippets.legacy.d.ts +6 -4
- package/dist/src/prompts/snippets.legacy.js +32 -7
- package/dist/src/prompts/snippets.legacy.js.map +1 -1
- package/dist/src/sandbox/linux/LinuxSandboxManager.d.ts +11 -1
- package/dist/src/sandbox/linux/LinuxSandboxManager.js +261 -27
- package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
- package/dist/src/sandbox/linux/LinuxSandboxManager.test.js +430 -125
- package/dist/src/sandbox/linux/LinuxSandboxManager.test.js.map +1 -1
- package/dist/src/sandbox/macos/MacOsSandboxManager.d.ts +7 -22
- package/dist/src/sandbox/macos/MacOsSandboxManager.js +58 -57
- package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
- package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +148 -103
- package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -1
- package/dist/src/sandbox/macos/baseProfile.d.ts +1 -1
- package/dist/src/sandbox/macos/baseProfile.js +0 -6
- package/dist/src/sandbox/macos/baseProfile.js.map +1 -1
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.d.ts +10 -10
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +80 -92
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +135 -99
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -1
- package/dist/src/sandbox/{macos → utils}/commandSafety.d.ts +11 -0
- package/dist/src/sandbox/{macos → utils}/commandSafety.js +47 -14
- package/dist/src/sandbox/utils/commandSafety.js.map +1 -0
- package/dist/src/sandbox/utils/commandUtils.d.ts +9 -0
- package/dist/src/sandbox/utils/commandUtils.js +57 -0
- package/dist/src/sandbox/utils/commandUtils.js.map +1 -0
- package/dist/src/sandbox/utils/fsUtils.d.ts +11 -0
- package/dist/src/sandbox/utils/fsUtils.js +82 -0
- package/dist/src/sandbox/utils/fsUtils.js.map +1 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.d.ts +12 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.js +68 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.js.map +1 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.test.d.ts +6 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.test.js +37 -0
- package/dist/src/sandbox/utils/sandboxDenialUtils.test.js.map +1 -0
- package/dist/src/sandbox/utils/sandboxReadWriteUtils.d.ts +5 -0
- package/dist/src/sandbox/utils/sandboxReadWriteUtils.js +60 -0
- package/dist/src/sandbox/utils/sandboxReadWriteUtils.js.map +1 -0
- package/dist/src/sandbox/windows/GeminiSandbox.cs +257 -216
- package/dist/src/sandbox/windows/WindowsSandboxManager.d.ts +12 -2
- package/dist/src/sandbox/windows/WindowsSandboxManager.js +250 -38
- package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
- package/dist/src/sandbox/windows/WindowsSandboxManager.test.js +326 -9
- package/dist/src/sandbox/windows/WindowsSandboxManager.test.js.map +1 -1
- package/dist/src/sandbox/windows/commandSafety.d.ts +19 -0
- package/dist/src/sandbox/windows/commandSafety.js +128 -0
- package/dist/src/sandbox/windows/commandSafety.js.map +1 -0
- package/dist/src/sandbox/windows/commandSafety.test.d.ts +6 -0
- package/dist/src/sandbox/windows/commandSafety.test.js +42 -0
- package/dist/src/sandbox/windows/commandSafety.test.js.map +1 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.d.ts +12 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js +68 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js.map +1 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.d.ts +6 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.js +68 -0
- package/dist/src/sandbox/windows/windowsSandboxDenialUtils.test.js.map +1 -0
- package/dist/src/scheduler/policy.js +20 -5
- package/dist/src/scheduler/policy.js.map +1 -1
- package/dist/src/scheduler/policy.test.js +80 -0
- package/dist/src/scheduler/policy.test.js.map +1 -1
- package/dist/src/scheduler/scheduler.js +12 -2
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/scheduler/scheduler.test.js +52 -0
- package/dist/src/scheduler/scheduler.test.js.map +1 -1
- package/dist/src/scheduler/scheduler_hooks.test.js +1 -0
- package/dist/src/scheduler/scheduler_hooks.test.js.map +1 -1
- package/dist/src/scheduler/state-manager.js +1 -1
- package/dist/src/scheduler/state-manager.js.map +1 -1
- package/dist/src/scheduler/state-manager.test.js +10 -0
- package/dist/src/scheduler/state-manager.test.js.map +1 -1
- package/dist/src/scheduler/tool-executor.js +7 -2
- package/dist/src/scheduler/tool-executor.js.map +1 -1
- package/dist/src/scheduler/tool-executor.test.js +38 -0
- package/dist/src/scheduler/tool-executor.test.js.map +1 -1
- package/dist/src/scheduler/types.d.ts +4 -2
- package/dist/src/services/chatRecordingService.d.ts +1 -13
- package/dist/src/services/chatRecordingService.js +45 -46
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingService.test.js +79 -10
- package/dist/src/services/chatRecordingService.test.js.map +1 -1
- package/dist/src/services/executionLifecycleService.d.ts +43 -6
- package/dist/src/services/executionLifecycleService.js +49 -12
- package/dist/src/services/executionLifecycleService.js.map +1 -1
- package/dist/src/services/executionLifecycleService.test.js +157 -3
- package/dist/src/services/executionLifecycleService.test.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.d.ts +17 -2
- package/dist/src/services/fileDiscoveryService.js +84 -20
- package/dist/src/services/fileDiscoveryService.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.test.js +67 -1
- package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
- package/dist/src/services/modelConfigService.d.ts +11 -0
- package/dist/src/services/modelConfigService.js +67 -0
- package/dist/src/services/modelConfigService.js.map +1 -1
- package/dist/src/services/modelConfigService.test.js +30 -0
- package/dist/src/services/modelConfigService.test.js.map +1 -1
- package/dist/src/services/sandboxManager.d.ts +90 -8
- package/dist/src/services/sandboxManager.integration.test.js +438 -0
- package/dist/src/services/sandboxManager.integration.test.js.map +1 -0
- package/dist/src/services/sandboxManager.js +156 -13
- package/dist/src/services/sandboxManager.js.map +1 -1
- package/dist/src/services/sandboxManager.test.js +373 -117
- package/dist/src/services/sandboxManager.test.js.map +1 -1
- package/dist/src/services/sandboxManagerFactory.d.ts +2 -3
- package/dist/src/services/sandboxManagerFactory.js +10 -17
- package/dist/src/services/sandboxManagerFactory.js.map +1 -1
- package/dist/src/services/sandboxedFileSystemService.d.ts +1 -0
- package/dist/src/services/sandboxedFileSystemService.js +32 -3
- package/dist/src/services/sandboxedFileSystemService.js.map +1 -1
- package/dist/src/services/sandboxedFileSystemService.test.js +83 -12
- package/dist/src/services/sandboxedFileSystemService.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.d.ts +2 -0
- package/dist/src/services/shellExecutionService.js +45 -16
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +5 -4
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/services/test-data/resolved-aliases-retry.golden.json +4 -0
- package/dist/src/services/test-data/resolved-aliases.golden.json +4 -0
- package/dist/src/services/types.d.ts +14 -0
- package/dist/src/services/types.js +7 -0
- package/dist/src/services/types.js.map +1 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +6 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +5 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +2 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +3 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/loggers.js +1 -1
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +8 -3
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +10 -1
- package/dist/src/telemetry/metrics.js +19 -4
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +44 -0
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +3 -3
- package/dist/src/telemetry/types.js +9 -4
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/test-utils/mock-message-bus.d.ts +1 -1
- package/dist/src/test-utils/mock-message-bus.js +1 -1
- package/dist/src/test-utils/mock-message-bus.js.map +1 -1
- package/dist/src/tools/definitions/base-declarations.d.ts +6 -0
- package/dist/src/tools/definitions/base-declarations.js +7 -0
- package/dist/src/tools/definitions/base-declarations.js.map +1 -1
- package/dist/src/tools/definitions/coreTools.d.ts +2 -1
- package/dist/src/tools/definitions/coreTools.js +9 -3
- package/dist/src/tools/definitions/coreTools.js.map +1 -1
- package/dist/src/tools/definitions/dynamic-declaration-helpers.d.ts +4 -0
- package/dist/src/tools/definitions/dynamic-declaration-helpers.js +29 -2
- package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js +11 -6
- 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 +10 -4
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
- package/dist/src/tools/definitions/trackerTools.js +3 -3
- package/dist/src/tools/definitions/trackerTools.js.map +1 -1
- package/dist/src/tools/definitions/types.d.ts +1 -0
- package/dist/src/tools/enter-plan-mode.js +15 -0
- package/dist/src/tools/enter-plan-mode.js.map +1 -1
- package/dist/src/tools/enter-plan-mode.test.js +25 -0
- package/dist/src/tools/enter-plan-mode.test.js.map +1 -1
- package/dist/src/tools/grep-utils.d.ts +2 -1
- package/dist/src/tools/grep-utils.js +22 -3
- package/dist/src/tools/grep-utils.js.map +1 -1
- package/dist/src/tools/grep.js +16 -3
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +34 -6
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/ls.js +6 -4
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +22 -7
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.js +6 -3
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +35 -0
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +9 -2
- package/dist/src/tools/memoryTool.js +39 -15
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +61 -2
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/read-many-files.js +12 -4
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +17 -17
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/ripGrep.js +14 -1
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +9 -9
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +10 -0
- package/dist/src/tools/shell.js +97 -124
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +22 -3
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +4 -4
- package/dist/src/tools/tool-names.js +5 -3
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tool-registry.js +11 -1
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +43 -1
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +12 -1
- package/dist/src/tools/tools.js +15 -0
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/tools.test.js +42 -1
- package/dist/src/tools/tools.test.js.map +1 -1
- package/dist/src/tools/topicTool.d.ts +29 -0
- package/dist/src/tools/topicTool.js +72 -0
- package/dist/src/tools/topicTool.js.map +1 -0
- package/dist/src/tools/topicTool.test.d.ts +6 -0
- package/dist/src/tools/topicTool.test.js +105 -0
- package/dist/src/tools/topicTool.test.js.map +1 -0
- package/dist/src/tools/web-fetch.js +38 -20
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +28 -0
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/utils/checkpointUtils.d.ts +4 -4
- package/dist/src/utils/errors.d.ts +3 -0
- package/dist/src/utils/errors.js +28 -6
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/errors.test.js +23 -0
- package/dist/src/utils/errors.test.js.map +1 -1
- package/dist/src/utils/getFolderStructure.js +1 -1
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.d.ts +2 -2
- package/dist/src/utils/gitIgnoreParser.js +28 -50
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.test.js +51 -185
- package/dist/src/utils/gitIgnoreParser.test.js.map +1 -1
- package/dist/src/utils/ignoreFileParser.d.ts +2 -2
- package/dist/src/utils/ignoreFileParser.js +6 -17
- package/dist/src/utils/ignoreFileParser.js.map +1 -1
- package/dist/src/utils/ignoreFileParser.test.js +40 -132
- package/dist/src/utils/ignoreFileParser.test.js.map +1 -1
- package/dist/src/utils/ignorePathUtils.d.ts +11 -0
- package/dist/src/utils/ignorePathUtils.js +39 -0
- package/dist/src/utils/ignorePathUtils.js.map +1 -0
- package/dist/src/utils/ignorePathUtils.test.d.ts +6 -0
- package/dist/src/utils/ignorePathUtils.test.js +70 -0
- package/dist/src/utils/ignorePathUtils.test.js.map +1 -0
- package/dist/src/utils/memoryDiscovery.d.ts +6 -4
- package/dist/src/utils/memoryDiscovery.js +66 -41
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +40 -0
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.d.ts +1 -1
- package/dist/src/utils/memoryImportProcessor.js +24 -15
- package/dist/src/utils/memoryImportProcessor.js.map +1 -1
- package/dist/src/utils/sessionOperations.d.ts +19 -0
- package/dist/src/utils/sessionOperations.js +101 -0
- package/dist/src/utils/sessionOperations.js.map +1 -0
- package/dist/src/utils/sessionOperations.test.d.ts +6 -0
- package/dist/src/utils/sessionOperations.test.js +92 -0
- package/dist/src/utils/sessionOperations.test.js.map +1 -0
- package/dist/src/utils/shell-utils.d.ts +15 -0
- package/dist/src/utils/shell-utils.js +43 -2
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/textUtils.d.ts +8 -0
- package/dist/src/utils/textUtils.js +16 -0
- package/dist/src/utils/textUtils.js.map +1 -1
- package/dist/src/utils/tokenCalculation.d.ts +2 -0
- package/dist/src/utils/tokenCalculation.js +2 -2
- package/dist/src/utils/tokenCalculation.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/docs/get-started/examples.md +0 -141
- package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js +0 -164
- package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js.map +0 -1
- package/dist/src/sandbox/macos/commandSafety.js.map +0 -1
- package/dist/src/services/chatCompressionService.js.map +0 -1
- package/dist/src/services/chatCompressionService.test.js.map +0 -1
- package/dist/src/services/contextManager.js.map +0 -1
- package/dist/src/services/contextManager.test.js.map +0 -1
- package/dist/src/services/toolOutputMaskingService.js.map +0 -1
- package/dist/src/services/toolOutputMaskingService.test.js.map +0 -1
- /package/dist/src/{services/toolOutputMaskingService.test.d.ts → agents/browser/snapshotSuperseder.test.d.ts} +0 -0
- /package/dist/src/{services → context}/chatCompressionService.d.ts +0 -0
- /package/dist/src/{services → context}/chatCompressionService.js +0 -0
- /package/dist/src/{services → context}/chatCompressionService.test.d.ts +0 -0
- /package/dist/src/{services → context}/chatCompressionService.test.js +0 -0
- /package/dist/src/{services → context}/contextManager.test.d.ts +0 -0
- /package/dist/src/{sandbox/macos/MacOsSandboxManager.integration.test.d.ts → services/sandboxManager.integration.test.d.ts} +0 -0
|
@@ -133,7 +133,7 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
133
133
|
|
|
134
134
|
- **`general.enableNotifications`** (boolean):
|
|
135
135
|
- **Description:** Enable run-event notifications for action-required prompts
|
|
136
|
-
and session completion.
|
|
136
|
+
and session completion.
|
|
137
137
|
- **Default:** `false`
|
|
138
138
|
|
|
139
139
|
- **`general.checkpointing.enabled`** (boolean):
|
|
@@ -141,9 +141,15 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
141
141
|
- **Default:** `false`
|
|
142
142
|
- **Requires restart:** Yes
|
|
143
143
|
|
|
144
|
+
- **`general.plan.enabled`** (boolean):
|
|
145
|
+
- **Description:** Enable Plan Mode for read-only safety during planning.
|
|
146
|
+
- **Default:** `true`
|
|
147
|
+
- **Requires restart:** Yes
|
|
148
|
+
|
|
144
149
|
- **`general.plan.directory`** (string):
|
|
145
150
|
- **Description:** The directory where planning artifacts are stored. If not
|
|
146
|
-
specified, defaults to the system temporary directory.
|
|
151
|
+
specified, defaults to the system temporary directory. A custom directory
|
|
152
|
+
requires a policy to allow write access in Plan Mode.
|
|
147
153
|
- **Default:** `undefined`
|
|
148
154
|
- **Requires restart:** Yes
|
|
149
155
|
|
|
@@ -256,6 +262,11 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
256
262
|
- **Description:** Show the "? for shortcuts" hint above the input.
|
|
257
263
|
- **Default:** `true`
|
|
258
264
|
|
|
265
|
+
- **`ui.compactToolOutput`** (boolean):
|
|
266
|
+
- **Description:** Display tool outputs (like directory listings and file
|
|
267
|
+
reads) in a compact, structured format.
|
|
268
|
+
- **Default:** `false`
|
|
269
|
+
|
|
259
270
|
- **`ui.hideBanner`** (boolean):
|
|
260
271
|
- **Description:** Hide the application banner
|
|
261
272
|
- **Default:** `false`
|
|
@@ -669,6 +680,11 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
669
680
|
"modelConfig": {
|
|
670
681
|
"model": "gemini-3-pro-preview"
|
|
671
682
|
}
|
|
683
|
+
},
|
|
684
|
+
"agent-history-provider-summarizer": {
|
|
685
|
+
"modelConfig": {
|
|
686
|
+
"model": "gemini-3-flash-preview"
|
|
687
|
+
}
|
|
672
688
|
}
|
|
673
689
|
}
|
|
674
690
|
```
|
|
@@ -854,6 +870,12 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
854
870
|
"hasAccessToPreview": false
|
|
855
871
|
},
|
|
856
872
|
"target": "gemini-2.5-pro"
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
"condition": {
|
|
876
|
+
"useCustomTools": true
|
|
877
|
+
},
|
|
878
|
+
"target": "gemini-3.1-pro-preview-customtools"
|
|
857
879
|
}
|
|
858
880
|
]
|
|
859
881
|
},
|
|
@@ -1239,6 +1261,11 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1239
1261
|
- **Description:** Disable user input on browser window during automation.
|
|
1240
1262
|
- **Default:** `true`
|
|
1241
1263
|
|
|
1264
|
+
- **`agents.browser.maxActionsPerTask`** (number):
|
|
1265
|
+
- **Description:** The maximum number of tool calls allowed per browser task.
|
|
1266
|
+
Enforcement is hard: the agent will be terminated when the limit is reached.
|
|
1267
|
+
- **Default:** `100`
|
|
1268
|
+
|
|
1242
1269
|
- **`agents.browser.confirmSensitiveActions`** (boolean):
|
|
1243
1270
|
- **Description:** Require manual confirmation for sensitive browser actions
|
|
1244
1271
|
(e.g., fill_form, evaluate_script).
|
|
@@ -1270,6 +1297,18 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1270
1297
|
- **Description:** Maximum number of directories to search for memory.
|
|
1271
1298
|
- **Default:** `200`
|
|
1272
1299
|
|
|
1300
|
+
- **`context.memoryBoundaryMarkers`** (array):
|
|
1301
|
+
- **Description:** File or directory names that mark the boundary for
|
|
1302
|
+
GEMINI.md discovery. The upward traversal stops at the first directory
|
|
1303
|
+
containing any of these markers. An empty array disables parent traversal.
|
|
1304
|
+
- **Default:**
|
|
1305
|
+
|
|
1306
|
+
```json
|
|
1307
|
+
[".git"]
|
|
1308
|
+
```
|
|
1309
|
+
|
|
1310
|
+
- **Requires restart:** Yes
|
|
1311
|
+
|
|
1273
1312
|
- **`context.includeDirectories`** (array):
|
|
1274
1313
|
- **Description:** Additional directories to include in the workspace context.
|
|
1275
1314
|
Missing directories will be skipped with a warning.
|
|
@@ -1337,6 +1376,14 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1337
1376
|
- **Default:** `true`
|
|
1338
1377
|
- **Requires restart:** Yes
|
|
1339
1378
|
|
|
1379
|
+
- **`tools.shell.backgroundCompletionBehavior`** (enum):
|
|
1380
|
+
- **Description:** Controls what happens when a background shell command
|
|
1381
|
+
finishes. 'silent' (default): quietly exits in background. 'inject':
|
|
1382
|
+
automatically returns output to agent. 'notify': shows brief message in
|
|
1383
|
+
chat.
|
|
1384
|
+
- **Default:** `"silent"`
|
|
1385
|
+
- **Values:** `"silent"`, `"inject"`, `"notify"`
|
|
1386
|
+
|
|
1340
1387
|
- **`tools.shell.pager`** (string):
|
|
1341
1388
|
- **Description:** The pager command to use for shell output. Defaults to
|
|
1342
1389
|
`cat`.
|
|
@@ -1540,28 +1587,6 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1540
1587
|
|
|
1541
1588
|
#### `experimental`
|
|
1542
1589
|
|
|
1543
|
-
- **`experimental.toolOutputMasking.enabled`** (boolean):
|
|
1544
|
-
- **Description:** Enables tool output masking to save tokens.
|
|
1545
|
-
- **Default:** `true`
|
|
1546
|
-
- **Requires restart:** Yes
|
|
1547
|
-
|
|
1548
|
-
- **`experimental.toolOutputMasking.toolProtectionThreshold`** (number):
|
|
1549
|
-
- **Description:** Minimum number of tokens to protect from masking (most
|
|
1550
|
-
recent tool outputs).
|
|
1551
|
-
- **Default:** `50000`
|
|
1552
|
-
- **Requires restart:** Yes
|
|
1553
|
-
|
|
1554
|
-
- **`experimental.toolOutputMasking.minPrunableTokensThreshold`** (number):
|
|
1555
|
-
- **Description:** Minimum prunable tokens required to trigger a masking pass.
|
|
1556
|
-
- **Default:** `30000`
|
|
1557
|
-
- **Requires restart:** Yes
|
|
1558
|
-
|
|
1559
|
-
- **`experimental.toolOutputMasking.protectLatestTurn`** (boolean):
|
|
1560
|
-
- **Description:** Ensures the absolute latest turn is never masked,
|
|
1561
|
-
regardless of token count.
|
|
1562
|
-
- **Default:** `true`
|
|
1563
|
-
- **Requires restart:** Yes
|
|
1564
|
-
|
|
1565
1590
|
- **`experimental.enableAgents`** (boolean):
|
|
1566
1591
|
- **Description:** Enable local and remote subagents.
|
|
1567
1592
|
- **Default:** `true`
|
|
@@ -1615,11 +1640,6 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1615
1640
|
configured to allow it).
|
|
1616
1641
|
- **Default:** `false`
|
|
1617
1642
|
|
|
1618
|
-
- **`experimental.plan`** (boolean):
|
|
1619
|
-
- **Description:** Enable Plan Mode.
|
|
1620
|
-
- **Default:** `true`
|
|
1621
|
-
- **Requires restart:** Yes
|
|
1622
|
-
|
|
1623
1643
|
- **`experimental.taskTracker`** (boolean):
|
|
1624
1644
|
- **Description:** Enable task tracker tools.
|
|
1625
1645
|
- **Default:** `false`
|
|
@@ -1665,6 +1685,11 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1665
1685
|
- **Default:** `false`
|
|
1666
1686
|
- **Requires restart:** Yes
|
|
1667
1687
|
|
|
1688
|
+
- **`experimental.contextManagement`** (boolean):
|
|
1689
|
+
- **Description:** Enable logic for context management.
|
|
1690
|
+
- **Default:** `false`
|
|
1691
|
+
- **Requires restart:** Yes
|
|
1692
|
+
|
|
1668
1693
|
- **`experimental.topicUpdateNarration`** (boolean):
|
|
1669
1694
|
- **Description:** Enable the experimental Topic & Update communication model
|
|
1670
1695
|
for reduced chattiness and structured progress reporting.
|
|
@@ -1756,6 +1781,69 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
1756
1781
|
prioritize available tools dynamically.
|
|
1757
1782
|
- **Default:** `[]`
|
|
1758
1783
|
|
|
1784
|
+
#### `contextManagement`
|
|
1785
|
+
|
|
1786
|
+
- **`contextManagement.historyWindow.maxTokens`** (number):
|
|
1787
|
+
- **Description:** The number of tokens to allow before triggering
|
|
1788
|
+
compression.
|
|
1789
|
+
- **Default:** `150000`
|
|
1790
|
+
- **Requires restart:** Yes
|
|
1791
|
+
|
|
1792
|
+
- **`contextManagement.historyWindow.retainedTokens`** (number):
|
|
1793
|
+
- **Description:** The number of tokens to always retain.
|
|
1794
|
+
- **Default:** `40000`
|
|
1795
|
+
- **Requires restart:** Yes
|
|
1796
|
+
|
|
1797
|
+
- **`contextManagement.messageLimits.normalMaxTokens`** (number):
|
|
1798
|
+
- **Description:** The target number of tokens to budget for a normal
|
|
1799
|
+
conversation turn.
|
|
1800
|
+
- **Default:** `2500`
|
|
1801
|
+
- **Requires restart:** Yes
|
|
1802
|
+
|
|
1803
|
+
- **`contextManagement.messageLimits.retainedMaxTokens`** (number):
|
|
1804
|
+
- **Description:** The maximum number of tokens a single conversation turn can
|
|
1805
|
+
consume before truncation.
|
|
1806
|
+
- **Default:** `12000`
|
|
1807
|
+
- **Requires restart:** Yes
|
|
1808
|
+
|
|
1809
|
+
- **`contextManagement.messageLimits.normalizationHeadRatio`** (number):
|
|
1810
|
+
- **Description:** The ratio of tokens to retain from the beginning of a
|
|
1811
|
+
truncated message (0.0 to 1.0).
|
|
1812
|
+
- **Default:** `0.25`
|
|
1813
|
+
- **Requires restart:** Yes
|
|
1814
|
+
|
|
1815
|
+
- **`contextManagement.tools.distillation.maxOutputTokens`** (number):
|
|
1816
|
+
- **Description:** Maximum tokens to show to the model when truncating large
|
|
1817
|
+
tool outputs.
|
|
1818
|
+
- **Default:** `10000`
|
|
1819
|
+
- **Requires restart:** Yes
|
|
1820
|
+
|
|
1821
|
+
- **`contextManagement.tools.distillation.summarizationThresholdTokens`**
|
|
1822
|
+
(number):
|
|
1823
|
+
- **Description:** Threshold above which truncated tool outputs will be
|
|
1824
|
+
summarized by an LLM.
|
|
1825
|
+
- **Default:** `20000`
|
|
1826
|
+
- **Requires restart:** Yes
|
|
1827
|
+
|
|
1828
|
+
- **`contextManagement.tools.outputMasking.protectionThresholdTokens`**
|
|
1829
|
+
(number):
|
|
1830
|
+
- **Description:** Minimum number of tokens to protect from masking (most
|
|
1831
|
+
recent tool outputs).
|
|
1832
|
+
- **Default:** `50000`
|
|
1833
|
+
- **Requires restart:** Yes
|
|
1834
|
+
|
|
1835
|
+
- **`contextManagement.tools.outputMasking.minPrunableThresholdTokens`**
|
|
1836
|
+
(number):
|
|
1837
|
+
- **Description:** Minimum prunable tokens required to trigger a masking pass.
|
|
1838
|
+
- **Default:** `30000`
|
|
1839
|
+
- **Requires restart:** Yes
|
|
1840
|
+
|
|
1841
|
+
- **`contextManagement.tools.outputMasking.protectLatestTurn`** (boolean):
|
|
1842
|
+
- **Description:** Ensures the absolute latest turn is never masked,
|
|
1843
|
+
regardless of token count.
|
|
1844
|
+
- **Default:** `true`
|
|
1845
|
+
- **Requires restart:** Yes
|
|
1846
|
+
|
|
1759
1847
|
#### `admin`
|
|
1760
1848
|
|
|
1761
1849
|
- **`admin.secureModeEnabled`** (boolean):
|
|
@@ -2148,37 +2236,14 @@ You can customize this behavior in your `settings.json` file:
|
|
|
2148
2236
|
Arguments passed directly when running the CLI can override other configurations
|
|
2149
2237
|
for that specific session.
|
|
2150
2238
|
|
|
2151
|
-
- **`--
|
|
2152
|
-
-
|
|
2153
|
-
|
|
2154
|
-
-
|
|
2155
|
-
|
|
2156
|
-
-
|
|
2157
|
-
|
|
2158
|
-
-
|
|
2159
|
-
- Starts an interactive session with the provided prompt as the initial input.
|
|
2160
|
-
- The prompt is processed within the interactive session, not before it.
|
|
2161
|
-
- Cannot be used when piping input from stdin.
|
|
2162
|
-
- Example: `gemini -i "explain this code"`
|
|
2163
|
-
- **`--output-format <format>`**:
|
|
2164
|
-
- **Description:** Specifies the format of the CLI output for non-interactive
|
|
2165
|
-
mode.
|
|
2166
|
-
- **Values:**
|
|
2167
|
-
- `text`: (Default) The standard human-readable output.
|
|
2168
|
-
- `json`: A machine-readable JSON output.
|
|
2169
|
-
- `stream-json`: A streaming JSON output that emits real-time events.
|
|
2170
|
-
- **Note:** For structured output and scripting, use the
|
|
2171
|
-
`--output-format json` or `--output-format stream-json` flag.
|
|
2172
|
-
- **`--sandbox`** (**`-s`**):
|
|
2173
|
-
- Enables sandbox mode for this session.
|
|
2174
|
-
- **`--debug`** (**`-d`**):
|
|
2175
|
-
- Enables debug mode for this session, providing more verbose output. Open the
|
|
2176
|
-
debug console with F12 to see the additional logging.
|
|
2177
|
-
|
|
2178
|
-
- **`--help`** (or **`-h`**):
|
|
2179
|
-
- Displays help information about command-line arguments.
|
|
2180
|
-
- **`--yolo`**:
|
|
2181
|
-
- Enables YOLO mode, which automatically approves all tool calls.
|
|
2239
|
+
- **`--acp`**:
|
|
2240
|
+
- Starts the agent in Agent Communication Protocol (ACP) mode.
|
|
2241
|
+
- **`--allowed-mcp-server-names`**:
|
|
2242
|
+
- A comma-separated list of MCP server names to allow for the session.
|
|
2243
|
+
- **`--allowed-tools <tool1,tool2,...>`**:
|
|
2244
|
+
- A comma-separated list of tool names that will bypass the confirmation
|
|
2245
|
+
dialog.
|
|
2246
|
+
- Example: `gemini --allowed-tools "ShellTool(git status)"`
|
|
2182
2247
|
- **`--approval-mode <mode>`**:
|
|
2183
2248
|
- Sets the approval mode for tool calls. Available modes:
|
|
2184
2249
|
- `default`: Prompt for approval on each tool call (default behavior)
|
|
@@ -2192,17 +2257,61 @@ for that specific session.
|
|
|
2192
2257
|
- Cannot be used together with `--yolo`. Use `--approval-mode=yolo` instead of
|
|
2193
2258
|
`--yolo` for the new unified approach.
|
|
2194
2259
|
- Example: `gemini --approval-mode auto_edit`
|
|
2195
|
-
- **`--
|
|
2196
|
-
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2260
|
+
- **`--debug`** (**`-d`**):
|
|
2261
|
+
- Enables debug mode for this session, providing more verbose output. Open the
|
|
2262
|
+
debug console with F12 to see the additional logging.
|
|
2263
|
+
- **`--delete-session <identifier>`**:
|
|
2264
|
+
- Delete a specific chat session by its index number or full session UUID.
|
|
2265
|
+
- Use `--list-sessions` first to see available sessions, their indices, and
|
|
2266
|
+
UUIDs.
|
|
2267
|
+
- Example: `gemini --delete-session 3` or
|
|
2268
|
+
`gemini --delete-session a1b2c3d4-e5f6-7890-abcd-ef1234567890`
|
|
2199
2269
|
- **`--extensions <extension_name ...>`** (**`-e <extension_name ...>`**):
|
|
2200
2270
|
- Specifies a list of extensions to use for the session. If not provided, all
|
|
2201
2271
|
available extensions are used.
|
|
2202
2272
|
- Use the special term `gemini -e none` to disable all extensions.
|
|
2203
2273
|
- Example: `gemini -e my-extension -e my-other-extension`
|
|
2274
|
+
- **`--fake-responses`**:
|
|
2275
|
+
- Path to a file with fake model responses for testing.
|
|
2276
|
+
- **`--help`** (or **`-h`**):
|
|
2277
|
+
- Displays help information about command-line arguments.
|
|
2278
|
+
- **`--include-directories <dir1,dir2,...>`**:
|
|
2279
|
+
- Includes additional directories in the workspace for multi-directory
|
|
2280
|
+
support.
|
|
2281
|
+
- Can be specified multiple times or as comma-separated values.
|
|
2282
|
+
- 5 directories can be added at maximum.
|
|
2283
|
+
- Example: `--include-directories /path/to/project1,/path/to/project2` or
|
|
2284
|
+
`--include-directories /path/to/project1 --include-directories /path/to/project2`
|
|
2204
2285
|
- **`--list-extensions`** (**`-l`**):
|
|
2205
2286
|
- Lists all available extensions and exits.
|
|
2287
|
+
- **`--list-sessions`**:
|
|
2288
|
+
- List all available chat sessions for the current project and exit.
|
|
2289
|
+
- Shows session indices, dates, message counts, and preview of first user
|
|
2290
|
+
message.
|
|
2291
|
+
- Example: `gemini --list-sessions`
|
|
2292
|
+
- **`--model <model_name>`** (**`-m <model_name>`**):
|
|
2293
|
+
- Specifies the Gemini model to use for this session.
|
|
2294
|
+
- Example: `npm start -- --model gemini-3-pro-preview`
|
|
2295
|
+
- **`--output-format <format>`**:
|
|
2296
|
+
- **Description:** Specifies the format of the CLI output for non-interactive
|
|
2297
|
+
mode.
|
|
2298
|
+
- **Values:**
|
|
2299
|
+
- `text`: (Default) The standard human-readable output.
|
|
2300
|
+
- `json`: A machine-readable JSON output.
|
|
2301
|
+
- `stream-json`: A streaming JSON output that emits real-time events.
|
|
2302
|
+
- **Note:** For structured output and scripting, use the
|
|
2303
|
+
`--output-format json` or `--output-format stream-json` flag.
|
|
2304
|
+
- **`--prompt <your_prompt>`** (**`-p <your_prompt>`**):
|
|
2305
|
+
- **Deprecated:** Use positional arguments instead.
|
|
2306
|
+
- Used to pass a prompt directly to the command. This invokes Gemini CLI in a
|
|
2307
|
+
non-interactive mode.
|
|
2308
|
+
- **`--prompt-interactive <your_prompt>`** (**`-i <your_prompt>`**):
|
|
2309
|
+
- Starts an interactive session with the provided prompt as the initial input.
|
|
2310
|
+
- The prompt is processed within the interactive session, not before it.
|
|
2311
|
+
- Cannot be used when piping input from stdin.
|
|
2312
|
+
- Example: `gemini -i "explain this code"`
|
|
2313
|
+
- **`--record-responses`**:
|
|
2314
|
+
- Path to a file to record model responses for testing.
|
|
2206
2315
|
- **`--resume [session_id]`** (**`-r [session_id]`**):
|
|
2207
2316
|
- Resume a previous chat session. Use "latest" for the most recent session,
|
|
2208
2317
|
provide a session index number, or provide a full session UUID.
|
|
@@ -2210,37 +2319,15 @@ for that specific session.
|
|
|
2210
2319
|
- Example: `gemini --resume 5` or `gemini --resume latest` or
|
|
2211
2320
|
`gemini --resume a1b2c3d4-e5f6-7890-abcd-ef1234567890` or `gemini --resume`
|
|
2212
2321
|
- See [Session Management](../cli/session-management.md) for more details.
|
|
2213
|
-
- **`--
|
|
2214
|
-
-
|
|
2215
|
-
- Shows session indices, dates, message counts, and preview of first user
|
|
2216
|
-
message.
|
|
2217
|
-
- Example: `gemini --list-sessions`
|
|
2218
|
-
- **`--delete-session <identifier>`**:
|
|
2219
|
-
- Delete a specific chat session by its index number or full session UUID.
|
|
2220
|
-
- Use `--list-sessions` first to see available sessions, their indices, and
|
|
2221
|
-
UUIDs.
|
|
2222
|
-
- Example: `gemini --delete-session 3` or
|
|
2223
|
-
`gemini --delete-session a1b2c3d4-e5f6-7890-abcd-ef1234567890`
|
|
2224
|
-
- **`--include-directories <dir1,dir2,...>`**:
|
|
2225
|
-
- Includes additional directories in the workspace for multi-directory
|
|
2226
|
-
support.
|
|
2227
|
-
- Can be specified multiple times or as comma-separated values.
|
|
2228
|
-
- 5 directories can be added at maximum.
|
|
2229
|
-
- Example: `--include-directories /path/to/project1,/path/to/project2` or
|
|
2230
|
-
`--include-directories /path/to/project1 --include-directories /path/to/project2`
|
|
2322
|
+
- **`--sandbox`** (**`-s`**):
|
|
2323
|
+
- Enables sandbox mode for this session.
|
|
2231
2324
|
- **`--screen-reader`**:
|
|
2232
2325
|
- Enables screen reader mode, which adjusts the TUI for better compatibility
|
|
2233
2326
|
with screen readers.
|
|
2234
2327
|
- **`--version`**:
|
|
2235
2328
|
- Displays the version of the CLI.
|
|
2236
|
-
- **`--
|
|
2237
|
-
-
|
|
2238
|
-
- **`--allowed-mcp-server-names`**:
|
|
2239
|
-
- Allowed MCP server names.
|
|
2240
|
-
- **`--fake-responses`**:
|
|
2241
|
-
- Path to a file with fake model responses for testing.
|
|
2242
|
-
- **`--record-responses`**:
|
|
2243
|
-
- Path to a file to record model responses for testing.
|
|
2329
|
+
- **`--yolo`**:
|
|
2330
|
+
- Enables YOLO mode, which automatically approves all tool calls.
|
|
2244
2331
|
|
|
2245
2332
|
## Context files (hierarchical instructional context)
|
|
2246
2333
|
|
|
@@ -2365,9 +2452,13 @@ can be based on the base sandbox image:
|
|
|
2365
2452
|
```dockerfile
|
|
2366
2453
|
FROM gemini-cli-sandbox
|
|
2367
2454
|
|
|
2368
|
-
# Add your custom dependencies or configurations here
|
|
2455
|
+
# Add your custom dependencies or configurations here.
|
|
2456
|
+
# Note: The base image runs as the non-root 'node' user.
|
|
2457
|
+
# You must switch to 'root' to install system packages.
|
|
2369
2458
|
# For example:
|
|
2459
|
+
# USER root
|
|
2370
2460
|
# RUN apt-get update && apt-get install -y some-package
|
|
2461
|
+
# USER node
|
|
2371
2462
|
# COPY ./my-config /app/my-config
|
|
2372
2463
|
```
|
|
2373
2464
|
|
|
@@ -86,12 +86,13 @@ available combinations.
|
|
|
86
86
|
|
|
87
87
|
#### Text Input
|
|
88
88
|
|
|
89
|
-
| Command | Action
|
|
90
|
-
| -------------------------- |
|
|
91
|
-
| `input.submit` | Submit the current prompt.
|
|
92
|
-
| `input.
|
|
93
|
-
| `input.
|
|
94
|
-
| `input.
|
|
89
|
+
| Command | Action | Keys |
|
|
90
|
+
| -------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
|
|
91
|
+
| `input.submit` | Submit the current prompt. | `Enter` |
|
|
92
|
+
| `input.queueMessage` | Queue the current prompt to be processed after the current task finishes. | `Tab` |
|
|
93
|
+
| `input.newline` | Insert a newline without submitting. | `Ctrl+Enter`<br />`Cmd/Win+Enter`<br />`Alt+Enter`<br />`Shift+Enter`<br />`Ctrl+J` |
|
|
94
|
+
| `input.openExternalEditor` | Open the current prompt or the plan in an external editor. | `Ctrl+X` |
|
|
95
|
+
| `input.paste` | Paste from the clipboard. | `Ctrl+V`<br />`Cmd/Win+V`<br />`Alt+V` |
|
|
95
96
|
|
|
96
97
|
#### App Controls
|
|
97
98
|
|
|
@@ -126,6 +127,13 @@ available combinations.
|
|
|
126
127
|
| `background.unfocusList` | Move focus from background shell list to Gemini. | `Tab` |
|
|
127
128
|
| `background.unfocusWarning` | Show warning when trying to move focus away from background shell. | `Tab` |
|
|
128
129
|
|
|
130
|
+
#### Extension Controls
|
|
131
|
+
|
|
132
|
+
| Command | Action | Keys |
|
|
133
|
+
| ------------------ | ------------------------------------------- | ---- |
|
|
134
|
+
| `extension.update` | Update the current extension if available. | `I` |
|
|
135
|
+
| `extension.link` | Link the current extension to a local path. | `L` |
|
|
136
|
+
|
|
129
137
|
<!-- KEYBINDINGS-AUTOGEN:END -->
|
|
130
138
|
|
|
131
139
|
## Customizing Keybindings
|
|
@@ -29,13 +29,12 @@ To create your first policy:
|
|
|
29
29
|
```toml
|
|
30
30
|
[[rule]]
|
|
31
31
|
toolName = "run_shell_command"
|
|
32
|
-
commandPrefix = "
|
|
33
|
-
decision = "
|
|
32
|
+
commandPrefix = "rm -rf"
|
|
33
|
+
decision = "deny"
|
|
34
34
|
priority = 100
|
|
35
35
|
```
|
|
36
36
|
3. **Run a command** that triggers the policy (e.g., ask Gemini CLI to
|
|
37
|
-
`
|
|
38
|
-
confirmation.
|
|
37
|
+
`rm -rf /`). The tool will now be blocked automatically.
|
|
39
38
|
|
|
40
39
|
## Core concepts
|
|
41
40
|
|
|
@@ -143,25 +142,26 @@ engine transforms this into a final priority using the following formula:
|
|
|
143
142
|
|
|
144
143
|
This system guarantees that:
|
|
145
144
|
|
|
146
|
-
- Admin policies always override User, Workspace, and Default policies
|
|
145
|
+
- Admin policies always override User, Workspace, and Default policies (defined
|
|
146
|
+
in policy TOML files).
|
|
147
147
|
- User policies override Workspace and Default policies.
|
|
148
148
|
- Workspace policies override Default policies.
|
|
149
149
|
- You can still order rules within a single tier with fine-grained control.
|
|
150
150
|
|
|
151
151
|
For example:
|
|
152
152
|
|
|
153
|
-
- A `priority: 50` rule in a Default policy
|
|
154
|
-
- A `priority: 10` rule in a Workspace policy
|
|
155
|
-
- A `priority: 100` rule in a User policy
|
|
156
|
-
- A `priority: 20` rule in an Admin policy
|
|
153
|
+
- A `priority: 50` rule in a Default policy TOML becomes `1.050`.
|
|
154
|
+
- A `priority: 10` rule in a Workspace policy TOML becomes `2.010`.
|
|
155
|
+
- A `priority: 100` rule in a User policy TOML becomes `3.100`.
|
|
156
|
+
- A `priority: 20` rule in an Admin policy TOML becomes `4.020`.
|
|
157
157
|
|
|
158
158
|
### Approval modes
|
|
159
159
|
|
|
160
160
|
Approval modes allow the policy engine to apply different sets of rules based on
|
|
161
|
-
the CLI's operational mode. A rule can be associated with
|
|
162
|
-
(e.g., `yolo`, `autoEdit`, `plan`). The rule will only be
|
|
163
|
-
running in one of its specified modes. If a rule has no
|
|
164
|
-
always active.
|
|
161
|
+
the CLI's operational mode. A rule in a TOML policy file can be associated with
|
|
162
|
+
one or more modes (e.g., `yolo`, `autoEdit`, `plan`). The rule will only be
|
|
163
|
+
active if the CLI is running in one of its specified modes. If a rule has no
|
|
164
|
+
modes specified, it is always active.
|
|
165
165
|
|
|
166
166
|
- `default`: The standard interactive mode where most write tools require
|
|
167
167
|
confirmation.
|
|
@@ -171,6 +171,24 @@ always active.
|
|
|
171
171
|
[Customizing Plan Mode Policies](../cli/plan-mode.md#customizing-policies).
|
|
172
172
|
- `yolo`: A mode where all tools are auto-approved (use with extreme caution).
|
|
173
173
|
|
|
174
|
+
To maintain the integrity of Plan Mode as a safe research environment,
|
|
175
|
+
persistent tool approvals are context-aware. When you select **"Allow for all
|
|
176
|
+
future sessions"**, the policy engine explicitly includes the current mode and
|
|
177
|
+
all more permissive modes in the hierarchy (`plan` < `default` < `autoEdit` <
|
|
178
|
+
`yolo`).
|
|
179
|
+
|
|
180
|
+
- **Approvals in `plan` mode**: These represent an intentional choice to trust a
|
|
181
|
+
tool globally. The resulting rule explicitly includes all modes (`plan`,
|
|
182
|
+
`default`, `autoEdit`, and `yolo`).
|
|
183
|
+
- **Approvals in other modes**: These only apply to the current mode and those
|
|
184
|
+
more permissive. For example:
|
|
185
|
+
- An approval granted in **`default`** mode applies to `default`, `autoEdit`,
|
|
186
|
+
and `yolo`.
|
|
187
|
+
- An approval granted in **`autoEdit`** mode applies to `autoEdit` and `yolo`.
|
|
188
|
+
- An approval granted in **`yolo`** mode applies only to `yolo`. This ensures
|
|
189
|
+
that trust flows correctly to more permissive environments while maintaining
|
|
190
|
+
the safety of more restricted modes like `plan`.
|
|
191
|
+
|
|
174
192
|
## Rule matching
|
|
175
193
|
|
|
176
194
|
When a tool call is made, the engine checks it against all active rules,
|
|
@@ -179,8 +197,8 @@ outcome.
|
|
|
179
197
|
|
|
180
198
|
A rule matches a tool call if all of its conditions are met:
|
|
181
199
|
|
|
182
|
-
1. **Tool name**: The `toolName` in the rule must match the name of the
|
|
183
|
-
being called.
|
|
200
|
+
1. **Tool name**: The `toolName` in the TOML rule must match the name of the
|
|
201
|
+
tool being called.
|
|
184
202
|
- **Wildcards**: You can use wildcards like `*`, `mcp_server_*`, or
|
|
185
203
|
`mcp_*_toolName` to match multiple tools. See [Tool Name](#tool-name) for
|
|
186
204
|
details.
|
|
@@ -264,7 +282,7 @@ toolName = "run_shell_command"
|
|
|
264
282
|
|
|
265
283
|
# (Optional) The name of a subagent. If provided, the rule only applies to tool
|
|
266
284
|
# calls made by this specific subagent.
|
|
267
|
-
subagent = "
|
|
285
|
+
subagent = "codebase_investigator"
|
|
268
286
|
|
|
269
287
|
# (Optional) The name of an MCP server. Can be combined with toolName
|
|
270
288
|
# to form a composite FQN internally like "mcp_mcpName_toolName".
|
|
@@ -304,7 +322,8 @@ priority = 10
|
|
|
304
322
|
denyMessage = "Deletion is permanent"
|
|
305
323
|
|
|
306
324
|
# (Optional) An array of approval modes where this rule is active.
|
|
307
|
-
|
|
325
|
+
# If omitted or empty, the rule applies to all modes.
|
|
326
|
+
modes = ["default", "autoEdit", "yolo"]
|
|
308
327
|
|
|
309
328
|
# (Optional) A boolean to restrict the rule to interactive (true) or
|
|
310
329
|
# non-interactive (false) environments.
|
|
@@ -419,20 +438,6 @@ decision = "ask_user"
|
|
|
419
438
|
priority = 10
|
|
420
439
|
```
|
|
421
440
|
|
|
422
|
-
**4. Targeting a tool name across all servers**
|
|
423
|
-
|
|
424
|
-
Use `mcpName = "*"` with a specific `toolName` to target that operation
|
|
425
|
-
regardless of which server provides it.
|
|
426
|
-
|
|
427
|
-
```toml
|
|
428
|
-
# Allow the `search` tool across all connected MCP servers
|
|
429
|
-
[[rule]]
|
|
430
|
-
mcpName = "*"
|
|
431
|
-
toolName = "search"
|
|
432
|
-
decision = "allow"
|
|
433
|
-
priority = 50
|
|
434
|
-
```
|
|
435
|
-
|
|
436
441
|
## Default policies
|
|
437
442
|
|
|
438
443
|
The Gemini CLI ships with a set of default policies to provide a safe
|