@google/gemini-cli-core 0.42.0 → 0.44.0-nightly.20260513.g5ee05c775
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 +30 -0
- package/dist/docs/changelogs/latest.md +261 -166
- package/dist/docs/changelogs/preview.md +178 -103
- package/dist/docs/cli/auto-memory.md +60 -38
- package/dist/docs/cli/settings.md +1 -1
- package/dist/docs/cli/tutorials/memory-management.md +1 -1
- package/dist/docs/extensions/releasing.md +58 -24
- package/dist/docs/reference/configuration.md +14 -1
- package/dist/docs/reference/keyboard-shortcuts.md +23 -0
- package/dist/google-gemini-cli-core-0.44.0-nightly.20260512.g022e8baef.tgz +0 -0
- package/dist/src/agent/content-utils.js +2 -0
- package/dist/src/agent/content-utils.js.map +1 -1
- package/dist/src/agent/content-utils.test.js +5 -1
- package/dist/src/agent/content-utils.test.js.map +1 -1
- package/dist/src/agent/event-translator.js +7 -6
- package/dist/src/agent/event-translator.js.map +1 -1
- package/dist/src/agent/legacy-agent-session.js +4 -0
- package/dist/src/agent/legacy-agent-session.js.map +1 -1
- package/dist/src/agent/legacy-agent-session.test.js +9 -1
- package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
- package/dist/src/agent/tool-display-utils.d.ts +3 -2
- package/dist/src/agent/tool-display-utils.js +3 -2
- package/dist/src/agent/tool-display-utils.js.map +1 -1
- package/dist/src/agent/types.d.ts +33 -3
- package/dist/src/agents/a2aUtils.d.ts +1 -1
- package/dist/src/agents/a2aUtils.js +4 -3
- package/dist/src/agents/a2aUtils.js.map +1 -1
- package/dist/src/agents/agentLoader.d.ts +2 -2
- package/dist/src/agents/browser/browserAgentInvocation.js +24 -19
- package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
- package/dist/src/agents/local-executor.d.ts +1 -0
- package/dist/src/agents/local-executor.js +46 -32
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/local-executor.test.js +127 -0
- package/dist/src/agents/local-executor.test.js.map +1 -1
- package/dist/src/agents/local-invocation.js +24 -20
- package/dist/src/agents/local-invocation.js.map +1 -1
- package/dist/src/agents/local-invocation.test.js +9 -9
- package/dist/src/agents/local-invocation.test.js.map +1 -1
- package/dist/src/agents/local-subagent-protocol.d.ts +18 -0
- package/dist/src/agents/local-subagent-protocol.js +357 -0
- package/dist/src/agents/local-subagent-protocol.js.map +1 -0
- package/dist/src/agents/local-subagent-protocol.test.d.ts +6 -0
- package/dist/src/agents/local-subagent-protocol.test.js +676 -0
- package/dist/src/agents/local-subagent-protocol.test.js.map +1 -0
- package/dist/src/agents/remote-invocation.js +6 -6
- package/dist/src/agents/remote-invocation.js.map +1 -1
- package/dist/src/agents/remote-invocation.test.js +23 -12
- package/dist/src/agents/remote-invocation.test.js.map +1 -1
- package/dist/src/agents/remote-subagent-protocol.d.ts +31 -0
- package/dist/src/agents/remote-subagent-protocol.js +330 -0
- package/dist/src/agents/remote-subagent-protocol.js.map +1 -0
- package/dist/src/agents/remote-subagent-protocol.test.d.ts +6 -0
- package/dist/src/agents/remote-subagent-protocol.test.js +652 -0
- package/dist/src/agents/remote-subagent-protocol.test.js.map +1 -0
- package/dist/src/agents/skill-extraction-agent.js +1 -0
- package/dist/src/agents/skill-extraction-agent.js.map +1 -1
- package/dist/src/agents/skill-extraction-agent.test.js +1 -0
- package/dist/src/agents/skill-extraction-agent.test.js.map +1 -1
- package/dist/src/agents/types.d.ts +13 -2
- package/dist/src/agents/types.js +7 -0
- package/dist/src/agents/types.js.map +1 -1
- package/dist/src/availability/modelAvailabilityService.d.ts +6 -6
- package/dist/src/availability/modelAvailabilityService.js +14 -7
- package/dist/src/availability/modelAvailabilityService.js.map +1 -1
- package/dist/src/availability/modelAvailabilityService.test.js +34 -0
- package/dist/src/availability/modelAvailabilityService.test.js.map +1 -1
- package/dist/src/availability/policyHelpers.js +24 -12
- package/dist/src/availability/policyHelpers.js.map +1 -1
- package/dist/src/availability/policyHelpers.test.js +3 -2
- package/dist/src/availability/policyHelpers.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +9 -2
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/setup.d.ts +3 -0
- package/dist/src/code_assist/setup.js +9 -0
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/setup.test.js +9 -1
- package/dist/src/code_assist/setup.test.js.map +1 -1
- package/dist/src/commands/memory.d.ts +5 -14
- package/dist/src/commands/memory.js +19 -141
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/memory.test.js +62 -0
- package/dist/src/commands/memory.test.js.map +1 -1
- package/dist/src/config/config.d.ts +6 -2
- package/dist/src/config/config.js +63 -8
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +48 -0
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +13 -0
- package/dist/src/config/defaultModelConfigs.js.map +1 -1
- package/dist/src/config/models.js +1 -1
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/projectRegistry.d.ts +1 -0
- package/dist/src/config/projectRegistry.js +14 -3
- package/dist/src/config/projectRegistry.js.map +1 -1
- package/dist/src/config/projectRegistry.test.js +43 -0
- package/dist/src/config/projectRegistry.test.js.map +1 -1
- package/dist/src/context/config/profiles.js +4 -0
- package/dist/src/context/config/profiles.js.map +1 -1
- package/dist/src/context/contextManager.barrier.test.js +4 -3
- package/dist/src/context/contextManager.barrier.test.js.map +1 -1
- package/dist/src/context/contextManager.d.ts +9 -2
- package/dist/src/context/contextManager.hotstart.test.d.ts +6 -0
- package/dist/src/context/contextManager.hotstart.test.js +61 -0
- package/dist/src/context/contextManager.hotstart.test.js.map +1 -0
- package/dist/src/context/contextManager.js +96 -21
- package/dist/src/context/contextManager.js.map +1 -1
- package/dist/src/context/eventBus.d.ts +6 -0
- package/dist/src/context/eventBus.js +6 -0
- package/dist/src/context/eventBus.js.map +1 -1
- package/dist/src/context/graph/render.d.ts +3 -1
- package/dist/src/context/graph/render.js +33 -9
- package/dist/src/context/graph/render.js.map +1 -1
- package/dist/src/context/graph/render.test.d.ts +6 -0
- package/dist/src/context/graph/render.test.js +203 -0
- package/dist/src/context/graph/render.test.js.map +1 -0
- package/dist/src/context/graph/toGraph.js +3 -3
- package/dist/src/context/graph/toGraph.js.map +1 -1
- package/dist/src/context/graph/toGraph.test.d.ts +6 -0
- package/dist/src/context/graph/toGraph.test.js +35 -0
- package/dist/src/context/graph/toGraph.test.js.map +1 -0
- package/dist/src/context/initializer.js +11 -2
- package/dist/src/context/initializer.js.map +1 -1
- package/dist/src/context/pipeline/contextWorkingBuffer.d.ts +5 -7
- package/dist/src/context/pipeline/contextWorkingBuffer.js +105 -29
- package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -1
- package/dist/src/context/pipeline/contextWorkingBuffer.test.js +67 -0
- package/dist/src/context/pipeline/contextWorkingBuffer.test.js.map +1 -1
- package/dist/src/context/pipeline/environment.d.ts +4 -0
- package/dist/src/context/pipeline/environmentImpl.d.ts +6 -5
- package/dist/src/context/pipeline/environmentImpl.js +6 -8
- package/dist/src/context/pipeline/environmentImpl.js.map +1 -1
- package/dist/src/context/pipeline/environmentImpl.test.js +5 -1
- package/dist/src/context/pipeline/environmentImpl.test.js.map +1 -1
- package/dist/src/context/pipeline/orchestrator.d.ts +1 -0
- package/dist/src/context/pipeline/orchestrator.js +59 -24
- package/dist/src/context/pipeline/orchestrator.js.map +1 -1
- package/dist/src/context/processors/blobDegradationProcessor.test.js +2 -2
- package/dist/src/context/processors/rollingSummaryProcessor.js +2 -15
- package/dist/src/context/processors/rollingSummaryProcessor.js.map +1 -1
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.d.ts +7 -0
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.js +33 -21
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.js.map +1 -1
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js +31 -7
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js.map +1 -1
- package/dist/src/context/processors/stateSnapshotProcessor.d.ts +2 -0
- package/dist/src/context/processors/stateSnapshotProcessor.js +28 -4
- package/dist/src/context/processors/stateSnapshotProcessor.js.map +1 -1
- package/dist/src/context/processors/stateSnapshotProcessor.test.js +40 -1
- package/dist/src/context/processors/stateSnapshotProcessor.test.js.map +1 -1
- package/dist/src/context/system-tests/hysteresis.test.d.ts +6 -0
- package/dist/src/context/system-tests/hysteresis.test.js +98 -0
- package/dist/src/context/system-tests/hysteresis.test.js.map +1 -0
- package/dist/src/context/system-tests/lifecycle.golden.test.js +90 -69
- package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -1
- package/dist/src/context/system-tests/simulationHarness.d.ts +1 -4
- package/dist/src/context/system-tests/simulationHarness.js +16 -30
- package/dist/src/context/system-tests/simulationHarness.js.map +1 -1
- package/dist/src/context/testing/contextTestUtils.d.ts +1 -0
- package/dist/src/context/testing/contextTestUtils.js +48 -25
- package/dist/src/context/testing/contextTestUtils.js.map +1 -1
- package/dist/src/context/utils/adaptiveTokenCalculator.d.ts +61 -0
- package/dist/src/context/utils/adaptiveTokenCalculator.js +116 -0
- package/dist/src/context/utils/adaptiveTokenCalculator.js.map +1 -0
- package/dist/src/context/utils/adaptiveTokenCalculator.test.d.ts +6 -0
- package/dist/src/context/utils/adaptiveTokenCalculator.test.js +85 -0
- package/dist/src/context/utils/adaptiveTokenCalculator.test.js.map +1 -0
- package/dist/src/context/utils/contextTokenCalculator.d.ts +47 -1
- package/dist/src/context/utils/contextTokenCalculator.js +20 -3
- package/dist/src/context/utils/contextTokenCalculator.js.map +1 -1
- package/dist/src/context/utils/contextTokenCalculator.test.js +8 -8
- package/dist/src/context/utils/contextTokenCalculator.test.js.map +1 -1
- package/dist/src/context/utils/formatNodesForLlm.d.ts +21 -0
- package/dist/src/context/utils/formatNodesForLlm.js +69 -0
- package/dist/src/context/utils/formatNodesForLlm.js.map +1 -0
- package/dist/src/context/utils/formatNodesForLlm.test.d.ts +6 -0
- package/dist/src/context/utils/formatNodesForLlm.test.js +110 -0
- package/dist/src/context/utils/formatNodesForLlm.test.js.map +1 -0
- package/dist/src/context/utils/snapshotGenerator.d.ts +23 -1
- package/dist/src/context/utils/snapshotGenerator.js +249 -31
- package/dist/src/context/utils/snapshotGenerator.js.map +1 -1
- package/dist/src/context/utils/snapshotGenerator.test.d.ts +6 -0
- package/dist/src/context/utils/snapshotGenerator.test.js +255 -0
- package/dist/src/context/utils/snapshotGenerator.test.js.map +1 -0
- package/dist/src/context/utils/tokenCalibration.d.ts +9 -0
- package/dist/src/context/utils/tokenCalibration.js +30 -0
- package/dist/src/context/utils/tokenCalibration.js.map +1 -0
- package/dist/src/core/baseLlmClient.d.ts +8 -0
- package/dist/src/core/baseLlmClient.js +20 -2
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/client.js +12 -1
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +4 -4
- package/dist/src/core/contentGenerator.js +12 -10
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/fakeContentGenerator.js +12 -4
- package/dist/src/core/fakeContentGenerator.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +2 -0
- package/dist/src/core/geminiChat.js +60 -5
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +195 -2
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/localLiteRtLmClient.js +6 -2
- package/dist/src/core/localLiteRtLmClient.js.map +1 -1
- package/dist/src/core/turn.js +30 -2
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +13 -8
- package/dist/src/core/turn.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/hooks/hookEventHandler.js +3 -2
- package/dist/src/hooks/hookEventHandler.js.map +1 -1
- package/dist/src/hooks/hookEventHandler.test.js +80 -0
- package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
- package/dist/src/ide/ide-client.js +5 -3
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-connection-utils.js +12 -10
- package/dist/src/ide/ide-connection-utils.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/prompts/snippets.js +1 -1
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/routing/strategies/approvalModeStrategy.js +5 -3
- package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -1
- package/dist/src/routing/strategies/approvalModeStrategy.test.js +2 -0
- package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js +8 -1
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js +4 -0
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/gemmaClassifierStrategy.js +7 -1
- package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +4 -0
- package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +1 -0
- package/dist/src/routing/strategies/numericalClassifierStrategy.js +22 -3
- package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +168 -23
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
- package/dist/src/scheduler/scheduler.js +11 -0
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/scheduler/scheduler.test.js +1 -1
- package/dist/src/scheduler/scheduler.test.js.map +1 -1
- package/dist/src/scheduler/state-manager.js +5 -1
- package/dist/src/scheduler/state-manager.js.map +1 -1
- package/dist/src/scheduler/tool-executor.js +7 -4
- package/dist/src/scheduler/tool-executor.js.map +1 -1
- package/dist/src/scheduler/types.d.ts +5 -1
- package/dist/src/scheduler/types.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.js +2 -1
- package/dist/src/services/fileDiscoveryService.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.test.js +36 -0
- package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
- package/dist/src/services/gitService.js +8 -1
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +104 -0
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/keychainService.js +14 -5
- package/dist/src/services/keychainService.js.map +1 -1
- package/dist/src/services/memoryPatchUtils.d.ts +66 -4
- package/dist/src/services/memoryPatchUtils.js +267 -5
- package/dist/src/services/memoryPatchUtils.js.map +1 -1
- package/dist/src/services/memoryService.js +25 -1
- package/dist/src/services/memoryService.js.map +1 -1
- package/dist/src/services/memoryService.test.js +61 -1
- package/dist/src/services/memoryService.test.js.map +1 -1
- package/dist/src/services/test-data/resolved-aliases-retry.golden.json +11 -0
- package/dist/src/services/test-data/resolved-aliases.golden.json +11 -0
- package/dist/src/telemetry/gcp-exporters.d.ts +2 -0
- package/dist/src/telemetry/gcp-exporters.js +69 -5
- package/dist/src/telemetry/gcp-exporters.js.map +1 -1
- package/dist/src/telemetry/gcp-exporters.test.js +52 -0
- package/dist/src/telemetry/gcp-exporters.test.js.map +1 -1
- package/dist/src/telemetry/metrics.js +13 -2
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +61 -1
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js +5 -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 +7 -4
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
- package/dist/src/tools/edit.js +19 -0
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +9 -0
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/grep.js +13 -1
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/ls.js +5 -0
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/mcp-client.js +17 -3
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +24 -0
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/read-file.js +11 -6
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +20 -8
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/ripGrep.js +13 -1
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/shell.js +14 -0
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +5 -0
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +6 -0
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/topicTool.js +5 -0
- package/dist/src/tools/topicTool.js.map +1 -1
- package/dist/src/tools/write-file.js +13 -0
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +8 -0
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/utils/errors.js +3 -8
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.js +20 -9
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/filesearch/ignore.js +4 -1
- package/dist/src/utils/filesearch/ignore.js.map +1 -1
- package/dist/src/utils/ignoreFileParser.js +1 -1
- package/dist/src/utils/ignoreFileParser.js.map +1 -1
- package/dist/src/utils/ignorePatterns.js +2 -0
- package/dist/src/utils/ignorePatterns.js.map +1 -1
- package/dist/src/utils/ignorePatterns.test.js +1 -0
- package/dist/src/utils/ignorePatterns.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +55 -40
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +77 -9
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/modelUtils.d.ts +14 -0
- package/dist/src/utils/modelUtils.js +17 -0
- package/dist/src/utils/modelUtils.js.map +1 -0
- package/dist/src/utils/modelUtils.test.d.ts +6 -0
- package/dist/src/utils/modelUtils.test.js +23 -0
- package/dist/src/utils/modelUtils.test.js.map +1 -0
- package/dist/src/utils/paths.d.ts +15 -1
- package/dist/src/utils/paths.js +22 -7
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/paths.test.js +25 -1
- package/dist/src/utils/paths.test.js.map +1 -1
- package/dist/src/utils/quotaErrorDetection.js +23 -12
- package/dist/src/utils/quotaErrorDetection.js.map +1 -1
- package/dist/src/utils/safeJsonStringify.js +0 -2
- package/dist/src/utils/safeJsonStringify.js.map +1 -1
- package/dist/src/utils/shell-utils.js +9 -1
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +7 -3
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/tokenCalculation.js +2 -1
- package/dist/src/utils/tokenCalculation.js.map +1 -1
- package/dist/src/utils/tokenCalculation.test.js +15 -0
- package/dist/src/utils/tokenCalculation.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Preview release: v0.
|
|
1
|
+
# Preview release: v0.43.0-preview.0
|
|
2
2
|
|
|
3
|
-
Released:
|
|
3
|
+
Released: May 12, 2026
|
|
4
4
|
|
|
5
5
|
Our preview release includes the latest, new, and experimental features. This
|
|
6
6
|
release may not be as stable as our [latest weekly release](latest.md).
|
|
@@ -13,109 +13,184 @@ npm install -g @google/gemini-cli@preview
|
|
|
13
13
|
|
|
14
14
|
## Highlights
|
|
15
15
|
|
|
16
|
-
- **
|
|
17
|
-
|
|
18
|
-
- **
|
|
19
|
-
|
|
20
|
-
- **
|
|
21
|
-
|
|
22
|
-
- **
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
commands, manual session UUIDs via command-line arguments, and persistent
|
|
27
|
-
auto-memory scratchpad for skill extraction.
|
|
16
|
+
- **Surgical Code Edits:** Steer models to use the `edit` tool for precise code
|
|
17
|
+
modifications, improving accuracy and reducing context usage.
|
|
18
|
+
- **Session Portability:** Added ability to export chat sessions to files and
|
|
19
|
+
import them via a new CLI flag, enabling session persistence and sharing.
|
|
20
|
+
- **Enhanced Security:** Introduced comprehensive shell command safety
|
|
21
|
+
evaluations and strengthened model steering to prevent unauthorized changes.
|
|
22
|
+
- **Context Management:** Implemented a new adaptive token calculator for more
|
|
23
|
+
accurate content size estimations and optimized context pipelines.
|
|
24
|
+
- **UX Improvements:** Enhanced tool call visibility with prefixed IDs and
|
|
25
|
+
improved the UI for session resumption and MCP list management.
|
|
28
26
|
|
|
29
27
|
## What's Changed
|
|
30
28
|
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
[#
|
|
37
|
-
-
|
|
38
|
-
|
|
39
|
-
- fix:
|
|
40
|
-
[#
|
|
41
|
-
-
|
|
42
|
-
[#
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
- fix(
|
|
46
|
-
|
|
47
|
-
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
[#
|
|
63
|
-
- fix(
|
|
64
|
-
|
|
65
|
-
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
-
|
|
71
|
-
|
|
72
|
-
[#
|
|
73
|
-
-
|
|
74
|
-
in [#
|
|
75
|
-
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
[#
|
|
82
|
-
-
|
|
83
|
-
|
|
84
|
-
- fix(
|
|
85
|
-
in [#
|
|
86
|
-
-
|
|
87
|
-
[#
|
|
88
|
-
- fix(cli):
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
-
|
|
98
|
-
|
|
99
|
-
-
|
|
100
|
-
|
|
101
|
-
-
|
|
102
|
-
|
|
103
|
-
-
|
|
104
|
-
|
|
105
|
-
[#
|
|
106
|
-
- fix(
|
|
107
|
-
[#
|
|
108
|
-
-
|
|
109
|
-
[#
|
|
110
|
-
-
|
|
111
|
-
[#
|
|
112
|
-
- fix(
|
|
113
|
-
|
|
114
|
-
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
[#
|
|
29
|
+
- feat(core): steer model to use edit tool for surgical edits, fix a typo in
|
|
30
|
+
[#26480](https://github.com/google-gemini/gemini-cli/pull/26480)
|
|
31
|
+
- docs: clarify Auto Memory proposes memory updates and skills in
|
|
32
|
+
[#26527](https://github.com/google-gemini/gemini-cli/pull/26527)
|
|
33
|
+
- fix(core): reject numeric project IDs in GOOGLE_CLOUD_PROJECT (#24695) in
|
|
34
|
+
[#26532](https://github.com/google-gemini/gemini-cli/pull/26532)
|
|
35
|
+
- fix(core): remove unsafe type assertion suppressions in error utils in
|
|
36
|
+
[#19881](https://github.com/google-gemini/gemini-cli/pull/19881)
|
|
37
|
+
- fix(core): allow redirection in YOLO and AUTO_EDIT modes without sandboxing in
|
|
38
|
+
[#26542](https://github.com/google-gemini/gemini-cli/pull/26542)
|
|
39
|
+
- ci(release): build and attach unsigned macOS binaries to releases in
|
|
40
|
+
[#26462](https://github.com/google-gemini/gemini-cli/pull/26462)
|
|
41
|
+
- fix(core): Fix chat corruption bug in context manager. in
|
|
42
|
+
[#26534](https://github.com/google-gemini/gemini-cli/pull/26534)
|
|
43
|
+
- fix(cli): provide JSON output for AgentExecutionStopped in non-interactive
|
|
44
|
+
mode in [#26504](https://github.com/google-gemini/gemini-cli/pull/26504)
|
|
45
|
+
- feat(evals): add shell command safety evals in
|
|
46
|
+
[#26528](https://github.com/google-gemini/gemini-cli/pull/26528)
|
|
47
|
+
- fix(core): handle invalid custom plans directory gracefully in
|
|
48
|
+
[#26560](https://github.com/google-gemini/gemini-cli/pull/26560)
|
|
49
|
+
- fix(acp): move tool explanation from thought stream to tool call content in
|
|
50
|
+
[#26554](https://github.com/google-gemini/gemini-cli/pull/26554)
|
|
51
|
+
- fix(a2a-server): Resolve race condition in tool completion waiting in
|
|
52
|
+
[#26568](https://github.com/google-gemini/gemini-cli/pull/26568)
|
|
53
|
+
- fix(cli): randomize sandbox container names in
|
|
54
|
+
[#26014](https://github.com/google-gemini/gemini-cli/pull/26014)
|
|
55
|
+
- fix(core): Fix hysteresis in async context management pipelines. in
|
|
56
|
+
[#26452](https://github.com/google-gemini/gemini-cli/pull/26452)
|
|
57
|
+
- Tighten private Auto Memory patch allowlist in
|
|
58
|
+
[#26535](https://github.com/google-gemini/gemini-cli/pull/26535)
|
|
59
|
+
- fix(cli): hide read-only settings scopes in
|
|
60
|
+
[#26249](https://github.com/google-gemini/gemini-cli/pull/26249)
|
|
61
|
+
- fix(ci): preserve executable bit for mac binaries in
|
|
62
|
+
[#26600](https://github.com/google-gemini/gemini-cli/pull/26600)
|
|
63
|
+
- fix(cli): improve mcp list UX in untrusted folders in
|
|
64
|
+
[#26457](https://github.com/google-gemini/gemini-cli/pull/26457)
|
|
65
|
+
- fix(core): prevent silent hang during OAuth auth on headless Linux in
|
|
66
|
+
[#26571](https://github.com/google-gemini/gemini-cli/pull/26571)
|
|
67
|
+
- Changelog for v0.42.0-preview.0 in
|
|
68
|
+
[#26537](https://github.com/google-gemini/gemini-cli/pull/26537)
|
|
69
|
+
- ci: fix Argument list too long in triage workflows in
|
|
70
|
+
[#26603](https://github.com/google-gemini/gemini-cli/pull/26603)
|
|
71
|
+
- refactor(cli): migrate core tools to native ToolDisplay property and fix UI
|
|
72
|
+
rendering in [#25186](https://github.com/google-gemini/gemini-cli/pull/25186)
|
|
73
|
+
- don't wrap args unnecessarily in
|
|
74
|
+
[#26599](https://github.com/google-gemini/gemini-cli/pull/26599)
|
|
75
|
+
- fix(core): preserve system PATH in Git environment to fix ENOENT (#25034) in
|
|
76
|
+
[#26587](https://github.com/google-gemini/gemini-cli/pull/26587)
|
|
77
|
+
- fix(routing): fix resolveClassifierModel argument mismatch in
|
|
78
|
+
ApprovalModeStrategy in
|
|
79
|
+
[#26658](https://github.com/google-gemini/gemini-cli/pull/26658)
|
|
80
|
+
- docs: add vi mode shortcuts and clarify MCP/custom sandbox setup in
|
|
81
|
+
[#23853](https://github.com/google-gemini/gemini-cli/pull/23853)
|
|
82
|
+
- fix(ux): fixed issue with transcribed text not showing after releasing space
|
|
83
|
+
in [#26609](https://github.com/google-gemini/gemini-cli/pull/26609)
|
|
84
|
+
- ci: fix json parsing in scheduled triage workflow in
|
|
85
|
+
[#26656](https://github.com/google-gemini/gemini-cli/pull/26656)
|
|
86
|
+
- fix(cli): hide /memory add subcommand when memoryV2 is enabled in
|
|
87
|
+
[#26605](https://github.com/google-gemini/gemini-cli/pull/26605)
|
|
88
|
+
- fix: prevent false command conflicts when launching from home directory in
|
|
89
|
+
[#23069](https://github.com/google-gemini/gemini-cli/pull/23069)
|
|
90
|
+
- fix(core): cache model routing decision in LocalAgentExecutor in
|
|
91
|
+
[#26548](https://github.com/google-gemini/gemini-cli/pull/26548)
|
|
92
|
+
- Changelog for v0.42.0-preview.2 in
|
|
93
|
+
[#26597](https://github.com/google-gemini/gemini-cli/pull/26597)
|
|
94
|
+
- skip broken test in
|
|
95
|
+
[#26705](https://github.com/google-gemini/gemini-cli/pull/26705)
|
|
96
|
+
- feat: export session to file and import via flag in
|
|
97
|
+
[#26514](https://github.com/google-gemini/gemini-cli/pull/26514)
|
|
98
|
+
- Feat: Add Machine Hostname to CLI interface in
|
|
99
|
+
[#25637](https://github.com/google-gemini/gemini-cli/pull/25637)
|
|
100
|
+
- docs(extensions): refactor releasing guide and add update mechanisms in
|
|
101
|
+
[#26595](https://github.com/google-gemini/gemini-cli/pull/26595)
|
|
102
|
+
- fix(ci): fix maintainer identification in lifecycle manager in
|
|
103
|
+
[#26706](https://github.com/google-gemini/gemini-cli/pull/26706)
|
|
104
|
+
- fix(ui): added quotes around session id in resume tip in
|
|
105
|
+
[#26669](https://github.com/google-gemini/gemini-cli/pull/26669)
|
|
106
|
+
- Changelog for v0.41.0 in
|
|
107
|
+
[#26670](https://github.com/google-gemini/gemini-cli/pull/26670)
|
|
108
|
+
- refactor(core): agent session protocol changes in
|
|
109
|
+
[#26661](https://github.com/google-gemini/gemini-cli/pull/26661)
|
|
110
|
+
- fix(context): implement loose boundary policy for gc backstop. in
|
|
111
|
+
[#26594](https://github.com/google-gemini/gemini-cli/pull/26594)
|
|
112
|
+
- fix(core): throw explicit error on dropped tool responses in
|
|
113
|
+
[#26668](https://github.com/google-gemini/gemini-cli/pull/26668)
|
|
114
|
+
- fix: resolve "function response turn must come immediately after function
|
|
115
|
+
call" error in
|
|
116
|
+
[#26691](https://github.com/google-gemini/gemini-cli/pull/26691)
|
|
117
|
+
- fix(core): resolve parallel tool call streaming ID collision in
|
|
118
|
+
[#26646](https://github.com/google-gemini/gemini-cli/pull/26646)
|
|
119
|
+
- feat(core): add LocalSubagentProtocol behind AgentProtocol in
|
|
120
|
+
[#25302](https://github.com/google-gemini/gemini-cli/pull/25302)
|
|
121
|
+
- fix(cli): remove noisy theme registration logs from terminal in
|
|
122
|
+
[#25858](https://github.com/google-gemini/gemini-cli/pull/25858)
|
|
123
|
+
- ci: implement codebase-aware effort level triage in
|
|
124
|
+
[#26666](https://github.com/google-gemini/gemini-cli/pull/26666)
|
|
125
|
+
- feat(acp/core): prefix tool call IDs with tool names to support tool rendering
|
|
126
|
+
in ACP compliant IDEs. in
|
|
127
|
+
[#26676](https://github.com/google-gemini/gemini-cli/pull/26676)
|
|
128
|
+
- fix(mcp): treat GET 404 as 405 in StreamableHTTPClientTransport in
|
|
129
|
+
[#24847](https://github.com/google-gemini/gemini-cli/pull/24847)
|
|
130
|
+
- feat(core): add RemoteSubagentProtocol behind AgentProtocol in
|
|
131
|
+
[#25303](https://github.com/google-gemini/gemini-cli/pull/25303)
|
|
132
|
+
- feat(context): Improvements to the snapshotter. in
|
|
133
|
+
[#26655](https://github.com/google-gemini/gemini-cli/pull/26655)
|
|
134
|
+
- fix(context): Change snapshotter model config. in
|
|
135
|
+
[#26745](https://github.com/google-gemini/gemini-cli/pull/26745)
|
|
136
|
+
- fix(cli): allow installing extensions from ssh repo in
|
|
137
|
+
[#26274](https://github.com/google-gemini/gemini-cli/pull/26274)
|
|
138
|
+
- fix(cli): prevent duplicate SessionStart systemMessage render in
|
|
139
|
+
[#25827](https://github.com/google-gemini/gemini-cli/pull/25827)
|
|
140
|
+
- fix(cli/acp): prevent infinite thought loop in ACP mode by disablig
|
|
141
|
+
nextSpeakerCheck in
|
|
142
|
+
[#26874](https://github.com/google-gemini/gemini-cli/pull/26874)
|
|
143
|
+
- fix(cli): use static tool name in confirmation prompt to avoid parsing errors
|
|
144
|
+
in [#26866](https://github.com/google-gemini/gemini-cli/pull/26866)
|
|
145
|
+
- fix(routing): Refactor tool turn handling for the conversation history in
|
|
146
|
+
NumericalClassifierStrategy to prevent 400 Bad Request in
|
|
147
|
+
[#26761](https://github.com/google-gemini/gemini-cli/pull/26761)
|
|
148
|
+
- fix(core): handle malformed projects.json in ProjectRegistry in
|
|
149
|
+
[#26885](https://github.com/google-gemini/gemini-cli/pull/26885)
|
|
150
|
+
- fix(ui): added a gutter width to the input prompt width calculation in
|
|
151
|
+
[#26882](https://github.com/google-gemini/gemini-cli/pull/26882)
|
|
152
|
+
- fix: prevent EISDIR crash when customIgnoreFilePaths contains directories
|
|
153
|
+
(#19868) in [#19898](https://github.com/google-gemini/gemini-cli/pull/19898)
|
|
154
|
+
- revert 6b9b778d821728427eea07b1b97ba07378137d0b in
|
|
155
|
+
[#26893](https://github.com/google-gemini/gemini-cli/pull/26893)
|
|
156
|
+
- Fix/vscode run current file ts in
|
|
157
|
+
[#22894](https://github.com/google-gemini/gemini-cli/pull/22894)
|
|
158
|
+
- Allow Enter to select session while in search mode in /resume in
|
|
159
|
+
[#21523](https://github.com/google-gemini/gemini-cli/pull/21523)
|
|
160
|
+
- fix(core): ignore .pak and .rpa game archive formats by default in
|
|
161
|
+
[#26884](https://github.com/google-gemini/gemini-cli/pull/26884)
|
|
162
|
+
- fix(cli): enable adk non-interactive session in
|
|
163
|
+
[#26895](https://github.com/google-gemini/gemini-cli/pull/26895)
|
|
164
|
+
- fix(cli): restore resume for legacy sessions in
|
|
165
|
+
[#26577](https://github.com/google-gemini/gemini-cli/pull/26577)
|
|
166
|
+
- fix: respect explicit model selection after Flash quota exhaustion (#26759) in
|
|
167
|
+
[#26872](https://github.com/google-gemini/gemini-cli/pull/26872)
|
|
168
|
+
- feat(context): Introduce adaptive token calculator to more accurately
|
|
169
|
+
calculate content sizes. in
|
|
170
|
+
[#26888](https://github.com/google-gemini/gemini-cli/pull/26888)
|
|
171
|
+
- chore: update checkout action configuration in workflows in
|
|
172
|
+
[#26897](https://github.com/google-gemini/gemini-cli/pull/26897)
|
|
173
|
+
- fix (telemetry): inject quota_project_id to prevent fallback to default oauth
|
|
174
|
+
client in [#26698](https://github.com/google-gemini/gemini-cli/pull/26698)
|
|
175
|
+
- Exclude extension context from skill extraction agent in
|
|
176
|
+
[#26879](https://github.com/google-gemini/gemini-cli/pull/26879)
|
|
177
|
+
- Enable NumericalRouter when using dynamic model configs in
|
|
178
|
+
[#26929](https://github.com/google-gemini/gemini-cli/pull/26929)
|
|
179
|
+
- ci: actively triage missing priority labels and intelligently clean up
|
|
180
|
+
conflicting labels in
|
|
181
|
+
[#26865](https://github.com/google-gemini/gemini-cli/pull/26865)
|
|
182
|
+
- refactor(core): introduce SubagentState enum for progress in
|
|
183
|
+
[#26934](https://github.com/google-gemini/gemini-cli/pull/26934)
|
|
184
|
+
- fix(ci): replace brittle --no-tag with explicit staging-tmp tag in
|
|
185
|
+
[#26940](https://github.com/google-gemini/gemini-cli/pull/26940)
|
|
186
|
+
- Incremental refactor repo agent towards skills-based composition in
|
|
187
|
+
[#26717](https://github.com/google-gemini/gemini-cli/pull/26717)
|
|
188
|
+
- fix(ui): fixed line wrap padding for selection lists in
|
|
189
|
+
[#26944](https://github.com/google-gemini/gemini-cli/pull/26944)
|
|
190
|
+
- fix(core): update read_file schema for v1 compatibility (#22183) in
|
|
191
|
+
[#26922](https://github.com/google-gemini/gemini-cli/pull/26922)
|
|
192
|
+
- fix(ci): configure git remote with token for authentication in
|
|
193
|
+
[#26949](https://github.com/google-gemini/gemini-cli/pull/26949)
|
|
119
194
|
|
|
120
195
|
**Full Changelog**:
|
|
121
|
-
https://github.com/google-gemini/gemini-cli/compare/v0.
|
|
196
|
+
https://github.com/google-gemini/gemini-cli/compare/v0.42.0-preview.2...v0.43.0-preview.0
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# Auto Memory
|
|
2
2
|
|
|
3
3
|
Auto Memory is an experimental feature that mines your past Gemini CLI sessions
|
|
4
|
-
in the background and
|
|
5
|
-
[Agent Skills](./skills.md). You review
|
|
6
|
-
|
|
4
|
+
in the background and proposes durable memory updates and reusable
|
|
5
|
+
[Agent Skills](./skills.md). You review each candidate before it becomes
|
|
6
|
+
available to future sessions: apply memory updates, promote skills, or discard
|
|
7
|
+
anything you do not want.
|
|
7
8
|
|
|
8
9
|
<!-- prettier-ignore -->
|
|
9
10
|
> [!NOTE]
|
|
@@ -12,28 +13,33 @@ before it becomes available to future sessions.
|
|
|
12
13
|
## Overview
|
|
13
14
|
|
|
14
15
|
Every session you run with Gemini CLI is recorded locally as a transcript. Auto
|
|
15
|
-
Memory scans those transcripts for
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
Memory scans those transcripts for durable facts, preferences, workflow
|
|
17
|
+
constraints, and procedural patterns that recur across sessions. It can draft
|
|
18
|
+
memory updates as unified diff `.patch` files and draft reusable procedures as
|
|
19
|
+
`SKILL.md` files. All candidates are held in a project-local inbox until you
|
|
20
|
+
approve or discard them.
|
|
19
21
|
|
|
20
22
|
You'll use Auto Memory when you want to:
|
|
21
23
|
|
|
22
24
|
- **Capture team workflows** that you find yourself walking the agent through
|
|
23
25
|
more than once.
|
|
26
|
+
- **Preserve durable project context** such as repeated verification commands,
|
|
27
|
+
local constraints, or personal project notes.
|
|
24
28
|
- **Codify hard-won fixes** for project-specific landmines so future sessions
|
|
25
29
|
avoid them.
|
|
26
30
|
- **Bootstrap a skills library** without writing every `SKILL.md` by hand.
|
|
27
31
|
|
|
28
32
|
Auto Memory complements—but does not replace—the
|
|
29
33
|
[`save_memory` tool](../tools/memory.md), which captures single facts into
|
|
30
|
-
`GEMINI.md
|
|
34
|
+
`GEMINI.md` when the agent explicitly calls it. Auto Memory infers candidates
|
|
35
|
+
from past sessions, writes reviewable patches or skill drafts, and never applies
|
|
36
|
+
them without your approval.
|
|
31
37
|
|
|
32
38
|
## Prerequisites
|
|
33
39
|
|
|
34
40
|
- Gemini CLI installed and authenticated.
|
|
35
|
-
- At least
|
|
36
|
-
|
|
41
|
+
- At least one idle project session with 10 or more user messages. Auto Memory
|
|
42
|
+
ignores active, trivial, and sub-agent sessions.
|
|
37
43
|
|
|
38
44
|
## How to enable Auto Memory
|
|
39
45
|
|
|
@@ -66,36 +72,45 @@ UI, consume your interactive turns, or surface tool prompts.
|
|
|
66
72
|
been idle for at least three hours and contain at least 10 user messages.
|
|
67
73
|
2. **Lock acquisition.** A lock file in the project's memory directory
|
|
68
74
|
coordinates across multiple CLI instances so extraction runs at most once at
|
|
69
|
-
a time.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
is strong, so
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
5. **
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
75
|
+
a time. A state file records processed session versions, and extraction is
|
|
76
|
+
throttled so short back-to-back CLI launches do not repeatedly scan history.
|
|
77
|
+
3. **Candidate extraction.** A background extraction agent reviews the session
|
|
78
|
+
index, reads any sessions that look like they contain durable memory or
|
|
79
|
+
repeated procedural workflows, and drafts candidates. It defaults to
|
|
80
|
+
creating no artifacts unless the evidence is strong, so many runs produce no
|
|
81
|
+
inbox items.
|
|
82
|
+
4. **Safety boundaries.** Auto Memory writes candidates to a review inbox. It
|
|
83
|
+
cannot directly edit active memory files, settings, credentials, or project
|
|
84
|
+
`GEMINI.md` files.
|
|
85
|
+
5. **Patch validation.** Skill update patches are parsed and dry-run before
|
|
86
|
+
they are surfaced. Memory patches are parsed, target-allowlisted, and
|
|
87
|
+
applied atomically only when you approve them from the inbox.
|
|
88
|
+
6. **Notification.** When a run produces new candidates, Gemini CLI surfaces an
|
|
89
|
+
inline message telling you how many items are waiting.
|
|
90
|
+
|
|
91
|
+
## How to review extracted items
|
|
83
92
|
|
|
84
93
|
Use the `/memory inbox` slash command to open the inbox dialog at any time:
|
|
85
94
|
|
|
86
95
|
**Command:** `/memory inbox`
|
|
87
96
|
|
|
88
|
-
The dialog
|
|
89
|
-
|
|
97
|
+
The dialog groups pending items into new skills, skill updates, and memory
|
|
98
|
+
updates. From there you can:
|
|
90
99
|
|
|
91
100
|
- **Read** the full `SKILL.md` body before deciding.
|
|
92
101
|
- **Promote** a skill to your user (`~/.gemini/skills/`) or workspace
|
|
93
102
|
(`.gemini/skills/`) directory.
|
|
94
103
|
- **Discard** a skill you do not want.
|
|
95
104
|
- **Apply** or reject a `.patch` proposal against an existing skill.
|
|
105
|
+
- **Review** memory diffs before they touch active files.
|
|
106
|
+
- **Apply** or dismiss private and global memory patches. Private patches target
|
|
107
|
+
the project memory directory; global patches target only your personal
|
|
108
|
+
`~/.gemini/GEMINI.md` file.
|
|
96
109
|
|
|
97
110
|
Promoted skills become discoverable in the next session and follow the standard
|
|
98
|
-
[skill discovery precedence](./skills.md#skill-discovery-tiers).
|
|
111
|
+
[skill discovery precedence](./skills.md#skill-discovery-tiers). Applied memory
|
|
112
|
+
patches update the underlying memory files and reload memory for the current
|
|
113
|
+
session.
|
|
99
114
|
|
|
100
115
|
## How to disable Auto Memory
|
|
101
116
|
|
|
@@ -117,19 +132,26 @@ start. Existing inbox items remain on disk; you can either drain them with
|
|
|
117
132
|
## Data and privacy
|
|
118
133
|
|
|
119
134
|
- Auto Memory only reads session files that already exist locally on your
|
|
120
|
-
machine.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
-
|
|
125
|
-
|
|
135
|
+
machine.
|
|
136
|
+
- Auto Memory uses model calls to analyze selected local transcript content
|
|
137
|
+
during extraction. No candidates are applied automatically, but transcript
|
|
138
|
+
excerpts may be sent to the configured model as part of those calls.
|
|
139
|
+
- The extraction agent is instructed to redact secrets, tokens, and credentials
|
|
140
|
+
it encounters and to never copy large tool outputs verbatim.
|
|
141
|
+
- Drafted skills and memory patches live in your project's memory directory
|
|
142
|
+
until you promote, apply, dismiss, or discard them. They are not automatically
|
|
143
|
+
loaded into any session.
|
|
126
144
|
|
|
127
145
|
## Limitations
|
|
128
146
|
|
|
129
|
-
- The
|
|
130
|
-
on the model's ability to recognize durable patterns versus one-off
|
|
131
|
-
|
|
132
|
-
|
|
147
|
+
- The extraction agent runs on a preview Gemini Flash model. Extraction quality
|
|
148
|
+
depends on the model's ability to recognize durable patterns versus one-off
|
|
149
|
+
incidents.
|
|
150
|
+
- Auto Memory does not extract memory or skills from the current session. It
|
|
151
|
+
only considers sessions that have been idle for three hours or more.
|
|
152
|
+
- Project or workspace shared instructions in project `GEMINI.md` files are not
|
|
153
|
+
auto-extractable. Auto Memory can propose private project memory, global
|
|
154
|
+
personal memory, and skills.
|
|
133
155
|
- Inbox items are stored per project. Skills extracted in one workspace are not
|
|
134
156
|
visible from another until you promote them to the user-scope skills
|
|
135
157
|
directory.
|
|
@@ -138,6 +160,6 @@ start. Existing inbox items remain on disk; you can either drain them with
|
|
|
138
160
|
|
|
139
161
|
- Learn how skills are discovered and activated in [Agent Skills](./skills.md).
|
|
140
162
|
- Explore the [memory management tutorial](./tutorials/memory-management.md) for
|
|
141
|
-
the complementary
|
|
163
|
+
the complementary explicit-memory and `GEMINI.md` workflows.
|
|
142
164
|
- Review the experimental settings catalog in
|
|
143
165
|
[Settings](./settings.md#experimental).
|
|
@@ -169,7 +169,7 @@ they appear in the UI.
|
|
|
169
169
|
| Voice Activation Mode | `experimental.voice.activationMode` | How to trigger voice recording with the Space key. | `"push-to-talk"` |
|
|
170
170
|
| Voice Transcription Backend | `experimental.voice.backend` | The backend to use for voice transcription. Note: When using the Gemini Live backend, voice recordings are sent to Google Cloud for transcription. | `"gemini-live"` |
|
|
171
171
|
| Whisper Model | `experimental.voice.whisperModel` | The Whisper model to use for local transcription. | `"ggml-base.en.bin"` |
|
|
172
|
-
| Voice Stop Grace Period (ms) | `experimental.voice.stopGracePeriodMs` | How long to wait for final transcription after stopping recording. | `
|
|
172
|
+
| Voice Stop Grace Period (ms) | `experimental.voice.stopGracePeriodMs` | How long to wait for final transcription after stopping recording. | `4000` |
|
|
173
173
|
| Enable Git Worktrees | `experimental.worktrees` | Enable automated Git worktree management for parallel work. | `false` |
|
|
174
174
|
| Use OSC 52 Paste | `experimental.useOSC52Paste` | Use OSC 52 for pasting. This may be more robust than the default system when using remote terminal sessions (if your terminal is configured to allow it). | `false` |
|
|
175
175
|
| Use OSC 52 Copy | `experimental.useOSC52Copy` | Use OSC 52 for copying. This may be more robust than the default system when using remote terminal sessions (if your terminal is configured to allow it). | `false` |
|
|
@@ -125,4 +125,4 @@ immediately. Force a reload with:
|
|
|
125
125
|
`/memory` options.
|
|
126
126
|
- Read the technical spec for [Project context](../../cli/gemini-md.md).
|
|
127
127
|
- Try the experimental [Auto Memory](../auto-memory.md) feature to extract
|
|
128
|
-
reusable skills from your past sessions automatically.
|
|
128
|
+
memory updates and reusable skills from your past sessions automatically.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# Release extensions
|
|
2
2
|
|
|
3
3
|
Release Gemini CLI extensions to your users through a Git repository or GitHub
|
|
4
|
-
Releases.
|
|
4
|
+
Releases. This guide explains how to share your work, list it in the gallery,
|
|
5
|
+
and manage updates.
|
|
5
6
|
|
|
6
7
|
Git repository releases are the simplest approach and offer the most flexibility
|
|
7
8
|
for managing development branches. GitHub Releases are more efficient for
|
|
@@ -153,29 +154,62 @@ jobs:
|
|
|
153
154
|
release/win32.arm64.my-tool.zip
|
|
154
155
|
```
|
|
155
156
|
|
|
156
|
-
##
|
|
157
|
+
## Migrate an extension repository
|
|
157
158
|
|
|
158
|
-
If you
|
|
159
|
-
|
|
160
|
-
property in your `gemini-extension.json` file to seamlessly transition your
|
|
159
|
+
If you move your extension to a new repository or rename it, use the
|
|
160
|
+
`migratedTo` property in `gemini-extension.json` to seamlessly transition your
|
|
161
161
|
users.
|
|
162
162
|
|
|
163
|
-
1.
|
|
164
|
-
2.
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
163
|
+
1. **Create the new repository:** Set up your extension in its new location.
|
|
164
|
+
2. **Update the old repository:** In your original repository, update the
|
|
165
|
+
`gemini-extension.json` file to include the `migratedTo` property pointing
|
|
166
|
+
to the new repository URL, and increment the version number.
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"name": "my-extension",
|
|
170
|
+
"version": "1.1.0",
|
|
171
|
+
"migratedTo": "https://github.com/new-owner/new-extension-repo"
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
3. **Release the update:** Publish this new version in your old repository.
|
|
175
|
+
|
|
176
|
+
When users check for updates, Gemini CLI detects the `migratedTo` field,
|
|
177
|
+
verifies the new repository, and automatically updates their local installation
|
|
178
|
+
to track the new source. All settings migrate automatically.
|
|
179
|
+
|
|
180
|
+
## How updates work
|
|
181
|
+
|
|
182
|
+
Gemini CLI automatically checks for extension updates based on the installation
|
|
183
|
+
method. Understanding these mechanisms helps you ensure your users always have
|
|
184
|
+
the latest version.
|
|
185
|
+
|
|
186
|
+
### Sync manifest and tags
|
|
187
|
+
|
|
188
|
+
For GitHub releases, always ensure the `version` in `gemini-extension.json`
|
|
189
|
+
matches your GitHub release tag. While the CLI uses tags for update detection,
|
|
190
|
+
it displays the manifest version in the UI. Keeping them in sync prevents
|
|
191
|
+
confusion.
|
|
192
|
+
|
|
193
|
+
### Update mechanisms
|
|
194
|
+
|
|
195
|
+
<details>
|
|
196
|
+
<summary>Technical update details</summary>
|
|
197
|
+
|
|
198
|
+
The CLI uses different strategies depending on the installation type:
|
|
199
|
+
|
|
200
|
+
- **GitHub releases:** The CLI queries the GitHub API for the latest release
|
|
201
|
+
tag. It ignores the `version` field in the manifest for detection.
|
|
202
|
+
- **Git clones:** The CLI runs `git ls-remote` to compare the latest remote
|
|
203
|
+
commit hash with your local `HEAD`.
|
|
204
|
+
- **Local extensions:** The CLI compares the `version` field in the source
|
|
205
|
+
directory's manifest with the installed version.
|
|
206
|
+
|
|
207
|
+
To verify an extension's installation type, inspect the `type` field in the
|
|
208
|
+
metadata file at `~/.gemini/extensions/<name>/.gemini-extension-install.json`.
|
|
209
|
+
|
|
210
|
+
</details>
|
|
211
|
+
|
|
212
|
+
<!-- prettier-ignore -->
|
|
213
|
+
> [!IMPORTANT]
|
|
214
|
+
> The `migratedTo` flow requires at least one release on the new repository for
|
|
215
|
+
> the CLI to recognize it as a valid update source.
|