@machina.ai/cell-cli-core 1.38.1-rc2 → 1.40.1-rc2
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/AFTER_MERGE_PROMPT.md +1 -1
- package/dist/docs/admin/enterprise-controls.md +1 -1
- package/dist/docs/changelogs/index.md +42 -0
- package/dist/docs/changelogs/latest.md +254 -361
- package/dist/docs/changelogs/preview.md +237 -406
- package/dist/docs/cli/acp-mode.md +6 -6
- package/dist/docs/cli/auto-memory.md +143 -0
- package/dist/docs/cli/checkpointing.md +5 -5
- package/dist/docs/cli/cli-reference.md +12 -11
- package/dist/docs/cli/creating-skills.md +2 -2
- package/dist/docs/cli/custom-commands.md +15 -14
- package/dist/docs/cli/enterprise.md +17 -14
- package/dist/docs/cli/gemini-ignore.md +2 -2
- package/dist/docs/cli/generation-settings.md +21 -20
- package/dist/docs/cli/model-routing.md +2 -2
- package/dist/docs/cli/model-steering.md +1 -1
- package/dist/docs/cli/plan-mode.md +11 -6
- package/dist/docs/cli/sandbox.md +7 -5
- package/dist/docs/cli/settings.md +32 -28
- package/dist/docs/cli/system-prompt.md +8 -8
- package/dist/docs/cli/telemetry.md +18 -11
- package/dist/docs/cli/themes.md +2 -2
- package/dist/docs/cli/trusted-folders.md +41 -13
- package/dist/docs/cli/tutorials/mcp-setup.md +1 -1
- package/dist/docs/cli/tutorials/memory-management.md +3 -1
- package/dist/docs/cli/tutorials/plan-mode-steering.md +2 -2
- package/dist/docs/cli/tutorials/session-management.md +1 -1
- package/dist/docs/cli/tutorials/shell-commands.md +1 -1
- package/dist/docs/cli/tutorials/task-planning.md +3 -3
- package/dist/docs/core/index.md +5 -6
- package/dist/docs/core/local-model-routing.md +1 -1
- package/dist/docs/core/remote-agents.md +1 -1
- package/dist/docs/core/subagents.md +38 -8
- package/dist/docs/extensions/best-practices.md +5 -4
- package/dist/docs/extensions/reference.md +6 -5
- package/dist/docs/extensions/releasing.md +6 -5
- package/dist/docs/extensions/writing-extensions.md +11 -11
- package/dist/docs/get-started/{authentication.md → authentication.mdx} +139 -93
- package/dist/docs/get-started/gemini-3.md +1 -1
- package/dist/docs/get-started/index.md +4 -4
- package/dist/docs/get-started/installation.mdx +201 -0
- package/dist/docs/hooks/best-practices.md +18 -17
- package/dist/docs/hooks/index.md +10 -8
- package/dist/docs/hooks/reference.md +10 -10
- package/dist/docs/ide-integration/ide-companion-spec.md +14 -14
- package/dist/docs/ide-integration/index.md +4 -4
- package/dist/docs/index.md +2 -2
- package/dist/docs/integration-tests.md +84 -2
- package/dist/docs/issue-and-pr-automation.md +8 -7
- package/dist/docs/npm.md +2 -2
- package/dist/docs/reference/commands.md +11 -11
- package/dist/docs/reference/configuration.md +150 -47
- package/dist/docs/reference/keyboard-shortcuts.md +79 -2
- package/dist/docs/reference/memport.md +2 -3
- package/dist/docs/reference/policy-engine.md +60 -26
- package/dist/docs/reference/tools.md +38 -4
- package/dist/docs/release-confidence.md +1 -1
- package/dist/docs/releases.md +19 -19
- package/dist/docs/resources/faq.md +5 -5
- package/dist/docs/resources/tos-privacy.md +10 -9
- package/dist/docs/resources/troubleshooting.md +17 -16
- package/dist/docs/resources/uninstall.md +5 -4
- package/dist/docs/sidebar.json +13 -1
- package/dist/docs/tools/ask-user.md +3 -3
- package/dist/docs/tools/file-system.md +7 -7
- package/dist/docs/tools/mcp-resources.md +44 -0
- package/dist/docs/tools/mcp-server.md +42 -39
- package/dist/docs/tools/shell.md +5 -5
- package/dist/docs/tools/tracker.md +61 -0
- package/dist/package.json +5 -4
- package/dist/src/agent/content-utils.d.ts +0 -6
- package/dist/src/agent/content-utils.js +0 -14
- package/dist/src/agent/content-utils.js.map +1 -1
- package/dist/src/agent/content-utils.test.js +1 -18
- package/dist/src/agent/content-utils.test.js.map +1 -1
- package/dist/src/agent/event-translator.js +8 -3
- package/dist/src/agent/event-translator.js.map +1 -1
- package/dist/src/agent/event-translator.test.js +14 -9
- package/dist/src/agent/event-translator.test.js.map +1 -1
- package/dist/src/agent/legacy-agent-session.js +9 -3
- package/dist/src/agent/legacy-agent-session.js.map +1 -1
- package/dist/src/agent/legacy-agent-session.test.js +4 -3
- package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
- package/dist/src/agent/tool-display-utils.d.ts +30 -0
- package/dist/src/agent/tool-display-utils.js +69 -0
- package/dist/src/agent/tool-display-utils.js.map +1 -0
- package/dist/src/agent/tool-display-utils.test.js +101 -0
- package/dist/src/agent/tool-display-utils.test.js.map +1 -0
- package/dist/src/agent/types.d.ts +25 -5
- package/dist/src/agents/a2aUtils.js +28 -15
- package/dist/src/agents/a2aUtils.js.map +1 -1
- package/dist/src/agents/a2aUtils.test.js +43 -0
- package/dist/src/agents/a2aUtils.test.js.map +1 -1
- package/dist/src/agents/agent-tool.d.ts +31 -0
- package/dist/src/agents/agent-tool.js +155 -0
- package/dist/src/agents/agent-tool.js.map +1 -0
- package/dist/src/agents/agent-tool.test.js +110 -0
- package/dist/src/agents/agent-tool.test.js.map +1 -0
- package/dist/src/agents/agentLoader.d.ts +79 -4
- package/dist/src/agents/agentLoader.js +40 -2
- package/dist/src/agents/agentLoader.js.map +1 -1
- package/dist/src/agents/agentLoader.test.js +32 -0
- package/dist/src/agents/agentLoader.test.js.map +1 -1
- package/dist/src/agents/browser/analyzeScreenshot.js +1 -1
- package/dist/src/agents/browser/analyzeScreenshot.js.map +1 -1
- package/dist/src/agents/browser/analyzeScreenshot.test.js +19 -7
- package/dist/src/agents/browser/analyzeScreenshot.test.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.d.ts +2 -2
- package/dist/src/agents/browser/browserAgentInvocation.js +2 -1
- package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.test.js +61 -17
- package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.js +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.test.js +22 -10
- package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
- package/dist/src/agents/codebase-investigator.js +2 -2
- package/dist/src/agents/codebase-investigator.js.map +1 -1
- package/dist/src/agents/generalist-agent.js +3 -2
- package/dist/src/agents/generalist-agent.js.map +1 -1
- package/dist/src/agents/generalist-agent.test.js +1 -0
- package/dist/src/agents/generalist-agent.test.js.map +1 -1
- package/dist/src/agents/local-executor.d.ts +1 -1
- package/dist/src/agents/local-executor.js +10 -7
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/local-executor.test.js +5 -3
- package/dist/src/agents/local-executor.test.js.map +1 -1
- package/dist/src/agents/local-invocation.d.ts +2 -2
- package/dist/src/agents/local-invocation.js +8 -2
- package/dist/src/agents/local-invocation.js.map +1 -1
- package/dist/src/agents/local-invocation.test.js +29 -13
- package/dist/src/agents/local-invocation.test.js.map +1 -1
- package/dist/src/agents/registry.d.ts +2 -0
- package/dist/src/agents/registry.js +20 -19
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +19 -30
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/remote-invocation.d.ts +3 -4
- package/dist/src/agents/remote-invocation.js +2 -1
- package/dist/src/agents/remote-invocation.js.map +1 -1
- package/dist/src/agents/remote-invocation.test.js +45 -18
- package/dist/src/agents/remote-invocation.test.js.map +1 -1
- package/dist/src/agents/skill-extraction-agent.d.ts +3 -2
- package/dist/src/agents/skill-extraction-agent.js +99 -56
- package/dist/src/agents/skill-extraction-agent.js.map +1 -1
- package/dist/src/agents/skill-extraction-agent.test.js +54 -0
- package/dist/src/agents/skill-extraction-agent.test.js.map +1 -0
- package/dist/src/availability/policyCatalog.js +1 -1
- package/dist/src/availability/policyCatalog.js.map +1 -1
- package/dist/src/availability/policyCatalog.test.js +1 -1
- package/dist/src/availability/policyCatalog.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +14 -4
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/commands/memory.d.ts +77 -0
- package/dist/src/commands/memory.js +494 -0
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/memory.test.js +720 -1
- package/dist/src/commands/memory.test.js.map +1 -1
- package/dist/src/config/config-agents-reload.test.js +26 -31
- package/dist/src/config/config-agents-reload.test.js.map +1 -1
- package/dist/src/config/config.d.ts +24 -10
- package/dist/src/config/config.js +148 -82
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +373 -10
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/constants.d.ts +1 -0
- package/dist/src/config/constants.js +2 -0
- package/dist/src/config/constants.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +7 -7
- package/dist/src/config/defaultModelConfigs.js.map +1 -1
- package/dist/src/config/memory.js +1 -1
- package/dist/src/config/memory.js.map +1 -1
- package/dist/src/config/path-validation.test.js +15 -6
- package/dist/src/config/path-validation.test.js.map +1 -1
- package/dist/src/config/projectRegistry.js +113 -32
- package/dist/src/config/projectRegistry.js.map +1 -1
- package/dist/src/config/projectRegistry.test.js +51 -0
- package/dist/src/config/projectRegistry.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +5 -1
- package/dist/src/config/storage.js +14 -1
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +12 -0
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.d.ts +4 -1
- package/dist/src/confirmation-bus/message-bus.js +39 -1
- package/dist/src/confirmation-bus/message-bus.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.test.js +43 -0
- package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
- package/dist/src/context/config/configLoader.d.ts +13 -0
- package/dist/src/context/config/configLoader.js +65 -0
- package/dist/src/context/config/configLoader.js.map +1 -0
- package/dist/src/context/config/configLoader.test.d.ts +6 -0
- package/dist/src/context/config/configLoader.test.js +79 -0
- package/dist/src/context/config/configLoader.test.js.map +1 -0
- package/dist/src/context/config/profiles.d.ts +17 -0
- package/dist/src/context/config/profiles.js +93 -0
- package/dist/src/context/config/profiles.js.map +1 -0
- package/dist/src/context/config/registry.d.ts +21 -0
- package/dist/src/context/config/registry.js +32 -0
- package/dist/src/context/config/registry.js.map +1 -0
- package/dist/src/context/config/schema.d.ts +45 -0
- package/dist/src/context/config/schema.js +47 -0
- package/dist/src/context/config/schema.js.map +1 -0
- package/dist/src/context/config/types.d.ts +39 -0
- package/dist/src/context/config/types.js +7 -0
- package/dist/src/context/config/types.js.map +1 -0
- package/dist/src/context/contextManager.barrier.test.d.ts +6 -0
- package/dist/src/context/contextManager.barrier.test.js +56 -0
- package/dist/src/context/contextManager.barrier.test.js.map +1 -0
- package/dist/src/context/contextManager.d.ts +49 -0
- package/dist/src/context/contextManager.js +120 -0
- package/dist/src/context/contextManager.js.map +1 -0
- package/dist/src/context/eventBus.d.ts +28 -0
- package/dist/src/context/eventBus.js +27 -0
- package/dist/src/context/eventBus.js.map +1 -0
- package/dist/src/context/graph/behaviorRegistry.d.ts +28 -0
- package/dist/src/context/graph/behaviorRegistry.js +14 -0
- package/dist/src/context/graph/behaviorRegistry.js.map +1 -0
- package/dist/src/context/graph/builtinBehaviors.d.ts +11 -0
- package/dist/src/context/graph/builtinBehaviors.js +145 -0
- package/dist/src/context/graph/builtinBehaviors.js.map +1 -0
- package/dist/src/context/graph/fromGraph.d.ts +9 -0
- package/dist/src/context/graph/fromGraph.js +34 -0
- package/dist/src/context/graph/fromGraph.js.map +1 -0
- package/dist/src/context/graph/mapper.d.ts +16 -0
- package/dist/src/context/graph/mapper.js +16 -0
- package/dist/src/context/graph/mapper.js.map +1 -0
- package/dist/src/context/graph/render.d.ts +15 -0
- package/dist/src/context/graph/render.js +72 -0
- package/dist/src/context/graph/render.js.map +1 -0
- package/dist/src/context/graph/toGraph.d.ts +10 -0
- package/dist/src/context/graph/toGraph.js +172 -0
- package/dist/src/context/graph/toGraph.js.map +1 -0
- package/dist/src/context/graph/types.d.ts +139 -0
- package/dist/src/context/graph/types.js +36 -0
- package/dist/src/context/graph/types.js.map +1 -0
- package/dist/src/context/historyObserver.d.ts +27 -0
- package/dist/src/context/historyObserver.js +64 -0
- package/dist/src/context/historyObserver.js.map +1 -0
- package/dist/src/context/pipeline/contextWorkingBuffer.d.ts +33 -0
- package/dist/src/context/pipeline/contextWorkingBuffer.js +197 -0
- package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -0
- package/dist/src/context/pipeline/contextWorkingBuffer.test.d.ts +6 -0
- package/dist/src/context/pipeline/contextWorkingBuffer.test.js +89 -0
- package/dist/src/context/pipeline/contextWorkingBuffer.test.js.map +1 -0
- package/dist/src/context/pipeline/environment.d.ts +27 -0
- package/dist/src/context/pipeline/environment.js +2 -0
- package/dist/src/context/pipeline/environment.js.map +1 -0
- package/dist/src/context/pipeline/environmentImpl.d.ts +28 -0
- package/dist/src/context/pipeline/environmentImpl.js +40 -0
- package/dist/src/context/pipeline/environmentImpl.js.map +1 -0
- package/dist/src/context/pipeline/environmentImpl.test.d.ts +1 -0
- package/dist/src/context/pipeline/environmentImpl.test.js +32 -0
- package/dist/src/context/pipeline/environmentImpl.test.js.map +1 -0
- package/dist/src/context/pipeline/inbox.d.ts +15 -0
- package/dist/src/context/pipeline/inbox.js +52 -0
- package/dist/src/context/pipeline/inbox.js.map +1 -0
- package/dist/src/context/pipeline/inbox.test.d.ts +1 -0
- package/dist/src/context/pipeline/inbox.test.js +36 -0
- package/dist/src/context/pipeline/inbox.test.js.map +1 -0
- package/dist/src/context/pipeline/orchestrator.d.ts +22 -0
- package/dist/src/context/pipeline/orchestrator.js +126 -0
- package/dist/src/context/pipeline/orchestrator.js.map +1 -0
- package/dist/src/context/pipeline/orchestrator.test.d.ts +6 -0
- package/dist/src/context/pipeline/orchestrator.test.js +154 -0
- package/dist/src/context/pipeline/orchestrator.test.js.map +1 -0
- package/dist/src/context/pipeline.d.ts +52 -0
- package/dist/src/context/pipeline.js +7 -0
- package/dist/src/context/pipeline.js.map +1 -0
- package/dist/src/context/processors/blobDegradationProcessor.d.ts +6 -0
- package/dist/src/context/processors/blobDegradationProcessor.js +127 -0
- package/dist/src/context/processors/blobDegradationProcessor.js.map +1 -0
- package/dist/src/context/processors/blobDegradationProcessor.test.d.ts +6 -0
- package/dist/src/context/processors/blobDegradationProcessor.test.js +72 -0
- package/dist/src/context/processors/blobDegradationProcessor.test.js.map +1 -0
- package/dist/src/context/processors/historyTruncationProcessor.d.ts +11 -0
- package/dist/src/context/processors/historyTruncationProcessor.js +61 -0
- package/dist/src/context/processors/historyTruncationProcessor.js.map +1 -0
- package/dist/src/context/processors/nodeDistillationProcessor.d.ts +8 -0
- package/dist/src/context/processors/nodeDistillationProcessor.js +167 -0
- package/dist/src/context/processors/nodeDistillationProcessor.js.map +1 -0
- package/dist/src/context/processors/nodeDistillationProcessor.test.d.ts +6 -0
- package/dist/src/context/processors/nodeDistillationProcessor.test.js +77 -0
- package/dist/src/context/processors/nodeDistillationProcessor.test.js.map +1 -0
- package/dist/src/context/processors/nodeTruncationProcessor.d.ts +8 -0
- package/dist/src/context/processors/nodeTruncationProcessor.js +109 -0
- package/dist/src/context/processors/nodeTruncationProcessor.js.map +1 -0
- package/dist/src/context/processors/nodeTruncationProcessor.test.d.ts +6 -0
- package/dist/src/context/processors/nodeTruncationProcessor.test.js +71 -0
- package/dist/src/context/processors/nodeTruncationProcessor.test.js.map +1 -0
- package/dist/src/context/processors/rollingSummaryProcessor.d.ts +8 -0
- package/dist/src/context/processors/rollingSummaryProcessor.js +129 -0
- package/dist/src/context/processors/rollingSummaryProcessor.js.map +1 -0
- package/dist/src/context/processors/rollingSummaryProcessor.test.d.ts +1 -0
- package/dist/src/context/processors/rollingSummaryProcessor.test.js +60 -0
- package/dist/src/context/processors/rollingSummaryProcessor.test.js.map +1 -0
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.d.ts +9 -0
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.js +75 -0
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.js.map +1 -0
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.d.ts +1 -0
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js +80 -0
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js.map +1 -0
- package/dist/src/context/processors/stateSnapshotProcessor.d.ts +9 -0
- package/dist/src/context/processors/stateSnapshotProcessor.js +130 -0
- package/dist/src/context/processors/stateSnapshotProcessor.js.map +1 -0
- package/dist/src/context/processors/stateSnapshotProcessor.test.d.ts +1 -0
- package/dist/src/context/processors/stateSnapshotProcessor.test.js +91 -0
- package/dist/src/context/processors/stateSnapshotProcessor.test.js.map +1 -0
- package/dist/src/context/processors/toolMaskingProcessor.d.ts +8 -0
- package/dist/src/context/processors/toolMaskingProcessor.js +194 -0
- package/dist/src/context/processors/toolMaskingProcessor.js.map +1 -0
- package/dist/src/context/processors/toolMaskingProcessor.test.d.ts +1 -0
- package/dist/src/context/processors/toolMaskingProcessor.test.js +50 -0
- package/dist/src/context/processors/toolMaskingProcessor.test.js.map +1 -0
- package/dist/src/context/system-tests/lifecycle.golden.test.d.ts +6 -0
- package/dist/src/context/system-tests/lifecycle.golden.test.js +195 -0
- package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -0
- package/dist/src/context/system-tests/simulationHarness.d.ts +41 -0
- package/dist/src/context/system-tests/simulationHarness.js +88 -0
- package/dist/src/context/system-tests/simulationHarness.js.map +1 -0
- package/dist/src/context/testing/contextTestUtils.d.ts +44 -0
- package/dist/src/context/testing/contextTestUtils.js +176 -0
- package/dist/src/context/testing/contextTestUtils.js.map +1 -0
- package/dist/src/context/testing/testProfile.d.ts +7 -0
- package/dist/src/context/testing/testProfile.js +20 -0
- package/dist/src/context/testing/testProfile.js.map +1 -0
- package/dist/src/context/tracer.d.ts +19 -0
- package/dist/src/context/tracer.js +79 -0
- package/dist/src/context/tracer.js.map +1 -0
- package/dist/src/context/tracer.test.d.ts +6 -0
- package/dist/src/context/tracer.test.js +71 -0
- package/dist/src/context/tracer.test.js.map +1 -0
- package/dist/src/context/utils/contextTokenCalculator.d.ts +53 -0
- package/dist/src/context/utils/contextTokenCalculator.js +97 -0
- package/dist/src/context/utils/contextTokenCalculator.js.map +1 -0
- package/dist/src/context/utils/snapshotGenerator.d.ts +12 -0
- package/dist/src/context/utils/snapshotGenerator.js +43 -0
- package/dist/src/context/utils/snapshotGenerator.js.map +1 -0
- package/dist/src/core/agentChatHistory.d.ts +26 -0
- package/dist/src/core/agentChatHistory.js +50 -0
- package/dist/src/core/agentChatHistory.js.map +1 -0
- package/dist/src/core/client.js +3 -1
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +4 -0
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +8 -1
- package/dist/src/core/contentGenerator.js +46 -4
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +174 -8
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.d.ts +1 -1
- package/dist/src/core/coreToolHookTriggers.js +5 -1
- package/dist/src/core/coreToolHookTriggers.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.test.js +1 -1
- package/dist/src/core/coreToolHookTriggers.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +2 -1
- package/dist/src/core/geminiChat.js +7 -2
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +19 -6
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChat_network_retry.test.js +42 -0
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
- package/dist/src/core/localLiteRtLmClient.js +2 -0
- package/dist/src/core/localLiteRtLmClient.js.map +1 -1
- package/dist/src/core/localLiteRtLmClient.test.js +7 -0
- package/dist/src/core/localLiteRtLmClient.test.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.js +19 -6
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.test.js +55 -0
- package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
- package/dist/src/core/prompts-substitution.test.js +1 -0
- package/dist/src/core/prompts-substitution.test.js.map +1 -1
- package/dist/src/core/prompts.d.ts +1 -1
- package/dist/src/core/prompts.js +2 -2
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/prompts.test.js +39 -8
- 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/hooks/hookRunner.js +8 -0
- package/dist/src/hooks/hookRunner.js.map +1 -1
- package/dist/src/hooks/hookRunner.test.js +23 -0
- package/dist/src/hooks/hookRunner.test.js.map +1 -1
- package/dist/src/ide/ide-client.js +3 -4
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/index.d.ts +7 -3
- package/dist/src/index.js +7 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/mcpLauncher.js +1 -1
- package/dist/src/mcp/mcpLauncher.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +24 -17
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/policy/config.d.ts +2 -0
- package/dist/src/policy/config.js +67 -12
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/core-tools-mapping.test.d.ts +6 -0
- package/dist/src/policy/core-tools-mapping.test.js +44 -0
- package/dist/src/policy/core-tools-mapping.test.js.map +1 -0
- package/dist/src/policy/policies/agents.toml +10 -0
- package/dist/src/policy/policies/plan.toml +17 -43
- package/dist/src/policy/policies/read-only.toml +24 -38
- package/dist/src/policy/policy-engine.d.ts +1 -1
- package/dist/src/policy/policy-engine.js +72 -67
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +71 -4
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/sandboxPolicyManager.js +4 -4
- package/dist/src/policy/sandboxPolicyManager.js.map +1 -1
- package/dist/src/policy/shell-safety-regression.test.d.ts +6 -0
- package/dist/src/policy/shell-safety-regression.test.js +86 -0
- package/dist/src/policy/shell-safety-regression.test.js.map +1 -0
- package/dist/src/policy/shell-safety.test.js +24 -0
- package/dist/src/policy/shell-safety.test.js.map +1 -1
- package/dist/src/policy/shell-substitution.test.d.ts +6 -0
- package/dist/src/policy/shell-substitution.test.js +75 -0
- package/dist/src/policy/shell-substitution.test.js.map +1 -0
- package/dist/src/policy/toml-loader.test.js +25 -11
- package/dist/src/policy/toml-loader.test.js.map +1 -1
- package/dist/src/policy/types.d.ts +6 -2
- package/dist/src/policy/types.js +4 -2
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/prompts/promptProvider.d.ts +1 -1
- package/dist/src/prompts/promptProvider.js +41 -24
- package/dist/src/prompts/promptProvider.js.map +1 -1
- package/dist/src/prompts/promptProvider.test.js +36 -2
- package/dist/src/prompts/promptProvider.test.js.map +1 -1
- package/dist/src/prompts/snippets-memory-v2.test.d.ts +6 -0
- package/dist/src/prompts/snippets-memory-v2.test.js +94 -0
- package/dist/src/prompts/snippets-memory-v2.test.js.map +1 -0
- package/dist/src/prompts/snippets.d.ts +19 -1
- package/dist/src/prompts/snippets.js +33 -6
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/prompts/snippets.legacy.d.ts +6 -1
- package/dist/src/prompts/snippets.legacy.js +14 -7
- package/dist/src/prompts/snippets.legacy.js.map +1 -1
- package/dist/src/prompts/utils.test.js +1 -0
- package/dist/src/prompts/utils.test.js.map +1 -1
- package/dist/src/routing/modelRouterService.js +1 -1
- package/dist/src/routing/modelRouterService.js.map +1 -1
- package/dist/src/sandbox/linux/LinuxSandboxManager.d.ts +2 -0
- package/dist/src/sandbox/linux/LinuxSandboxManager.js +43 -19
- package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
- package/dist/src/sandbox/linux/LinuxSandboxManager.test.js +16 -0
- package/dist/src/sandbox/linux/LinuxSandboxManager.test.js.map +1 -1
- package/dist/src/sandbox/linux/bwrapArgsBuilder.d.ts +3 -7
- package/dist/src/sandbox/linux/bwrapArgsBuilder.js +96 -105
- package/dist/src/sandbox/linux/bwrapArgsBuilder.js.map +1 -1
- package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js +144 -41
- package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js.map +1 -1
- package/dist/src/sandbox/macos/MacOsSandboxManager.js +19 -10
- package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
- package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +24 -37
- package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -1
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.d.ts +3 -9
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +129 -96
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +78 -77
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -1
- package/dist/src/sandbox/utils/fsUtils.d.ts +2 -3
- package/dist/src/sandbox/utils/fsUtils.js +12 -27
- package/dist/src/sandbox/utils/fsUtils.js.map +1 -1
- package/dist/src/sandbox/utils/fsUtils.test.js +87 -29
- package/dist/src/sandbox/utils/fsUtils.test.js.map +1 -1
- package/dist/src/sandbox/windows/GeminiSandbox.cs +186 -77
- package/dist/src/sandbox/windows/WindowsSandboxManager.d.ts +4 -16
- package/dist/src/sandbox/windows/WindowsSandboxManager.js +138 -204
- package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
- package/dist/src/sandbox/windows/WindowsSandboxManager.test.js +105 -122
- package/dist/src/sandbox/windows/WindowsSandboxManager.test.js.map +1 -1
- package/dist/src/scheduler/policy.js +1 -2
- package/dist/src/scheduler/policy.js.map +1 -1
- package/dist/src/scheduler/policy.test.js +58 -2
- package/dist/src/scheduler/policy.test.js.map +1 -1
- package/dist/src/scheduler/scheduler.d.ts +2 -1
- package/dist/src/scheduler/scheduler.js +13 -14
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/scheduler/scheduler.test.js +66 -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/scheduler_parallel.test.js +2 -0
- package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
- package/dist/src/scheduler/tool-executor.js +2 -0
- package/dist/src/scheduler/tool-executor.js.map +1 -1
- package/dist/src/services/chatRecordingService.d.ts +12 -153
- package/dist/src/services/chatRecordingService.js +444 -350
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingService.test.js +174 -128
- package/dist/src/services/chatRecordingService.test.js.map +1 -1
- package/dist/src/services/chatRecordingTypes.d.ts +111 -0
- package/dist/src/services/chatRecordingTypes.js +10 -0
- package/dist/src/services/chatRecordingTypes.js.map +1 -0
- package/dist/src/services/gitService.d.ts +2 -0
- package/dist/src/services/gitService.js +10 -1
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +6 -2
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/keychainService.d.ts +2 -2
- package/dist/src/services/keychainService.js +9 -9
- package/dist/src/services/keychainService.js.map +1 -1
- package/dist/src/services/keychainService.test.js +7 -7
- package/dist/src/services/keychainService.test.js.map +1 -1
- package/dist/src/services/keychainTypes.d.ts +1 -1
- package/dist/src/services/memoryPatchUtils.d.ts +42 -0
- package/dist/src/services/memoryPatchUtils.js +216 -0
- package/dist/src/services/memoryPatchUtils.js.map +1 -0
- package/dist/src/services/memoryService.d.ts +21 -1
- package/dist/src/services/memoryService.js +405 -64
- package/dist/src/services/memoryService.js.map +1 -1
- package/dist/src/services/memoryService.test.js +686 -2
- package/dist/src/services/memoryService.test.js.map +1 -1
- package/dist/src/services/sandboxManager.d.ts +33 -19
- package/dist/src/services/sandboxManager.integration.test.js +728 -266
- package/dist/src/services/sandboxManager.integration.test.js.map +1 -1
- package/dist/src/services/sandboxManager.js +65 -62
- package/dist/src/services/sandboxManager.js.map +1 -1
- package/dist/src/services/sandboxManager.test.js +17 -114
- package/dist/src/services/sandboxManager.test.js.map +1 -1
- package/dist/src/services/sandboxedFileSystemService.js +72 -62
- package/dist/src/services/sandboxedFileSystemService.js.map +1 -1
- package/dist/src/services/sessionSummaryUtils.d.ts +1 -1
- package/dist/src/services/sessionSummaryUtils.js +111 -38
- package/dist/src/services/sessionSummaryUtils.js.map +1 -1
- package/dist/src/services/sessionSummaryUtils.test.js +204 -51
- package/dist/src/services/sessionSummaryUtils.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.d.ts +19 -0
- package/dist/src/services/shellExecutionService.js +88 -34
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +38 -4
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/telemetry/activity-monitor.js +1 -0
- package/dist/src/telemetry/activity-monitor.js.map +1 -1
- package/dist/src/telemetry/config.js +3 -0
- package/dist/src/telemetry/config.js.map +1 -1
- package/dist/src/telemetry/conseca-logger.js +18 -20
- package/dist/src/telemetry/conseca-logger.js.map +1 -1
- package/dist/src/telemetry/conseca-logger.test.js +100 -0
- package/dist/src/telemetry/conseca-logger.test.js.map +1 -1
- package/dist/src/telemetry/event-loop-monitor.d.ts +17 -0
- package/dist/src/telemetry/event-loop-monitor.js +76 -0
- package/dist/src/telemetry/event-loop-monitor.js.map +1 -0
- package/dist/src/telemetry/index.d.ts +2 -1
- package/dist/src/telemetry/index.js +2 -1
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/llmRole.d.ts +2 -1
- package/dist/src/telemetry/llmRole.js +1 -0
- package/dist/src/telemetry/llmRole.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +184 -8
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/memory-monitor.d.ts +1 -0
- package/dist/src/telemetry/memory-monitor.js +8 -1
- package/dist/src/telemetry/memory-monitor.js.map +1 -1
- package/dist/src/telemetry/memory-monitor.test.js +6 -1
- package/dist/src/telemetry/memory-monitor.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +12 -0
- package/dist/src/telemetry/metrics.js +19 -0
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/sdk.js +20 -1
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/trace.d.ts +23 -6
- package/dist/src/telemetry/trace.js +71 -22
- package/dist/src/telemetry/trace.js.map +1 -1
- package/dist/src/telemetry/trace.test.js +79 -15
- package/dist/src/telemetry/trace.test.js.map +1 -1
- package/dist/src/telemetry/types.js +61 -15
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/test-utils/mock-tool.d.ts +3 -2
- package/dist/src/test-utils/mock-tool.js +4 -3
- package/dist/src/test-utils/mock-tool.js.map +1 -1
- package/dist/src/tools/activate-skill.js +1 -1
- package/dist/src/tools/activate-skill.js.map +1 -1
- package/dist/src/tools/activate-skill.test.js +6 -2
- package/dist/src/tools/activate-skill.test.js.map +1 -1
- package/dist/src/tools/ask-user.d.ts +2 -2
- package/dist/src/tools/ask-user.js +1 -1
- package/dist/src/tools/ask-user.js.map +1 -1
- package/dist/src/tools/ask-user.test.js +9 -3
- package/dist/src/tools/ask-user.test.js.map +1 -1
- package/dist/src/tools/complete-task.d.ts +2 -2
- package/dist/src/tools/complete-task.js +1 -1
- package/dist/src/tools/complete-task.js.map +1 -1
- package/dist/src/tools/complete-task.test.js +9 -3
- package/dist/src/tools/complete-task.test.js.map +1 -1
- package/dist/src/tools/definitions/base-declarations.d.ts +2 -0
- package/dist/src/tools/definitions/base-declarations.js +3 -0
- package/dist/src/tools/definitions/base-declarations.js.map +1 -1
- package/dist/src/tools/definitions/coreTools.d.ts +3 -1
- package/dist/src/tools/definitions/coreTools.js +13 -1
- package/dist/src/tools/definitions/coreTools.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js +29 -1
- 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 +29 -1
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
- package/dist/src/tools/definitions/types.d.ts +2 -0
- package/dist/src/tools/edit.js +20 -4
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +41 -18
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/enter-plan-mode.d.ts +2 -2
- package/dist/src/tools/enter-plan-mode.js +1 -1
- package/dist/src/tools/enter-plan-mode.js.map +1 -1
- package/dist/src/tools/enter-plan-mode.test.js +10 -4
- package/dist/src/tools/enter-plan-mode.test.js.map +1 -1
- package/dist/src/tools/exit-plan-mode.d.ts +2 -2
- package/dist/src/tools/exit-plan-mode.js +9 -12
- package/dist/src/tools/exit-plan-mode.js.map +1 -1
- package/dist/src/tools/exit-plan-mode.test.js +44 -17
- package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
- package/dist/src/tools/get-internal-docs.js +6 -3
- package/dist/src/tools/get-internal-docs.js.map +1 -1
- package/dist/src/tools/get-internal-docs.test.js +4 -4
- package/dist/src/tools/get-internal-docs.test.js.map +1 -1
- package/dist/src/tools/glob.js +1 -1
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/glob.test.js +16 -16
- package/dist/src/tools/glob.test.js.map +1 -1
- package/dist/src/tools/grep.js +21 -12
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +18 -18
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/line-endings.test.js +3 -3
- package/dist/src/tools/line-endings.test.js.map +1 -1
- package/dist/src/tools/list-mcp-resources.d.ts +24 -0
- package/dist/src/tools/list-mcp-resources.js +74 -0
- package/dist/src/tools/list-mcp-resources.js.map +1 -0
- package/dist/src/tools/list-mcp-resources.test.d.ts +6 -0
- package/dist/src/tools/list-mcp-resources.test.js +79 -0
- package/dist/src/tools/list-mcp-resources.test.js.map +1 -0
- package/dist/src/tools/ls.js +2 -2
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +21 -21
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.d.ts +3 -1
- package/dist/src/tools/mcp-client-manager.js +24 -1
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +43 -0
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.js +10 -12
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +14 -2
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +2 -2
- package/dist/src/tools/mcp-tool.js +1 -1
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +51 -21
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +4 -3
- package/dist/src/tools/memoryTool.js +43 -14
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +29 -9
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/read-file.js +1 -1
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +17 -17
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.js +4 -4
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +70 -24
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/read-mcp-resource.d.ts +25 -0
- package/dist/src/tools/read-mcp-resource.js +120 -0
- package/dist/src/tools/read-mcp-resource.js.map +1 -0
- package/dist/src/tools/read-mcp-resource.test.d.ts +6 -0
- package/dist/src/tools/read-mcp-resource.test.js +110 -0
- package/dist/src/tools/read-mcp-resource.test.js.map +1 -0
- package/dist/src/tools/ripGrep.d.ts +3 -2
- package/dist/src/tools/ripGrep.js +26 -55
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +113 -167
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +2 -2
- package/dist/src/tools/shell.js +51 -21
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +479 -76
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/shellBackgroundTools.d.ts +3 -3
- package/dist/src/tools/shellBackgroundTools.integration.test.js +6 -2
- package/dist/src/tools/shellBackgroundTools.integration.test.js.map +1 -1
- package/dist/src/tools/shellBackgroundTools.js +2 -2
- package/dist/src/tools/shellBackgroundTools.js.map +1 -1
- package/dist/src/tools/shellBackgroundTools.test.js +30 -10
- package/dist/src/tools/shellBackgroundTools.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +1 -0
- package/dist/src/tools/tool-error.js +1 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +5 -4
- package/dist/src/tools/tool-names.js +8 -2
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tool-registry.js +137 -114
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +3 -1
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +6 -6
- package/dist/src/tools/tools.js +6 -2
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/topicTool.d.ts +2 -2
- package/dist/src/tools/topicTool.js +1 -1
- package/dist/src/tools/topicTool.js.map +1 -1
- package/dist/src/tools/topicTool.test.js +6 -2
- package/dist/src/tools/topicTool.test.js.map +1 -1
- package/dist/src/tools/trackerTools.d.ts +7 -7
- package/dist/src/tools/trackerTools.js +6 -6
- package/dist/src/tools/trackerTools.js.map +1 -1
- package/dist/src/tools/web-fetch.js +1 -1
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +59 -23
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.js +1 -1
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/web-search.test.js +5 -5
- package/dist/src/tools/web-search.test.js.map +1 -1
- package/dist/src/tools/write-file.js +22 -4
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +29 -11
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/tools/write-todos.js +1 -1
- package/dist/src/tools/write-todos.js.map +1 -1
- package/dist/src/utils/compatibility.js +6 -1
- package/dist/src/utils/compatibility.js.map +1 -1
- package/dist/src/utils/compatibility.test.js +23 -0
- package/dist/src/utils/compatibility.test.js.map +1 -1
- package/dist/src/utils/errors.d.ts +3 -0
- package/dist/src/utils/errors.js +6 -0
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +1 -2
- package/dist/src/utils/fileUtils.js +80 -40
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +61 -0
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.d.ts +2 -0
- package/dist/src/utils/filesearch/fileSearch.js +97 -6
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.test.js +54 -0
- package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
- package/dist/src/utils/filesearch/fileWatcher.d.ts +25 -0
- package/dist/src/utils/filesearch/fileWatcher.js +86 -0
- package/dist/src/utils/filesearch/fileWatcher.js.map +1 -0
- package/dist/src/utils/filesearch/fileWatcher.test.js +142 -0
- package/dist/src/utils/filesearch/fileWatcher.test.js.map +1 -0
- package/dist/src/utils/getFolderStructure.js +4 -2
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.js +1 -1
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.d.ts +2 -1
- package/dist/src/utils/googleQuotaErrors.js +30 -35
- package/dist/src/utils/googleQuotaErrors.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.test.js +24 -0
- package/dist/src/utils/googleQuotaErrors.test.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/memoryDiscovery.js +15 -5
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/oauth-flow.js +17 -5
- package/dist/src/utils/oauth-flow.js.map +1 -1
- package/dist/src/utils/oauth-flow.test.js +20 -0
- package/dist/src/utils/oauth-flow.test.js.map +1 -1
- package/dist/src/utils/paths.d.ts +9 -0
- package/dist/src/utils/paths.js +37 -0
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/paths.test.js +45 -1
- package/dist/src/utils/paths.test.js.map +1 -1
- package/dist/src/utils/planUtils.d.ts +11 -2
- package/dist/src/utils/planUtils.js +43 -11
- package/dist/src/utils/planUtils.js.map +1 -1
- package/dist/src/utils/planUtils.test.js +10 -9
- package/dist/src/utils/planUtils.test.js.map +1 -1
- package/dist/src/utils/process-utils.d.ts +2 -1
- package/dist/src/utils/process-utils.js +64 -33
- package/dist/src/utils/process-utils.js.map +1 -1
- package/dist/src/utils/process-utils.test.js +9 -0
- package/dist/src/utils/process-utils.test.js.map +1 -1
- package/dist/src/utils/retry.js +18 -6
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +30 -0
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/sessionOperations.js +3 -2
- package/dist/src/utils/sessionOperations.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +2 -0
- package/dist/src/utils/shell-utils.js +237 -107
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/tool-utils.d.ts +1 -29
- package/dist/src/utils/tool-utils.js +0 -39
- package/dist/src/utils/tool-utils.js.map +1 -1
- package/dist/src/utils/tool-utils.test.js +2 -76
- package/dist/src/utils/tool-utils.test.js.map +1 -1
- package/dist/src/utils/tool-visibility.d.ts +40 -0
- package/dist/src/utils/tool-visibility.js +111 -0
- package/dist/src/utils/tool-visibility.js.map +1 -0
- package/dist/src/utils/tool-visibility.test.d.ts +6 -0
- package/dist/src/utils/tool-visibility.test.js +96 -0
- package/dist/src/utils/tool-visibility.test.js.map +1 -0
- package/dist/src/utils/trust.d.ts +64 -0
- package/dist/src/utils/trust.js +276 -0
- package/dist/src/utils/trust.js.map +1 -0
- package/dist/src/utils/trust.test.d.ts +6 -0
- package/dist/src/utils/trust.test.js +159 -0
- package/dist/src/utils/trust.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -4
- package/dist/docs/get-started/installation.md +0 -181
- package/dist/src/agents/memory-manager-agent.d.ts +0 -25
- package/dist/src/agents/memory-manager-agent.js +0 -138
- package/dist/src/agents/memory-manager-agent.js.map +0 -1
- package/dist/src/agents/memory-manager-agent.test.js +0 -123
- package/dist/src/agents/memory-manager-agent.test.js.map +0 -1
- package/dist/src/agents/subagent-tool-wrapper.d.ts +0 -38
- package/dist/src/agents/subagent-tool-wrapper.js +0 -58
- package/dist/src/agents/subagent-tool-wrapper.js.map +0 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js +0 -123
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +0 -1
- package/dist/src/agents/subagent-tool.d.ts +0 -18
- package/dist/src/agents/subagent-tool.js +0 -134
- package/dist/src/agents/subagent-tool.js.map +0 -1
- package/dist/src/agents/subagent-tool.test.js +0 -287
- package/dist/src/agents/subagent-tool.test.js.map +0 -1
- package/dist/src/policy/policies/tracker.toml +0 -34
- package/dist/src/prompts/snippets-memory-manager.test.js +0 -31
- package/dist/src/prompts/snippets-memory-manager.test.js.map +0 -1
- /package/dist/src/{agents/memory-manager-agent.test.d.ts → agent/tool-display-utils.test.d.ts} +0 -0
- /package/dist/src/agents/{subagent-tool.test.d.ts → agent-tool.test.d.ts} +0 -0
- /package/dist/src/{prompts/snippets-memory-manager.test.d.ts → agents/skill-extraction-agent.test.d.ts} +0 -0
- /package/dist/src/{agents/subagent-tool-wrapper.test.d.ts → utils/filesearch/fileWatcher.test.d.ts} +0 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { Tabs, TabItem } from '@astrojs/starlight/components';
|
|
2
|
+
|
|
3
|
+
# Cell CLI installation, execution, and releases
|
|
4
|
+
|
|
5
|
+
This document provides an overview of Cell CLI's system requirements,
|
|
6
|
+
installation methods, and release types.
|
|
7
|
+
|
|
8
|
+
## Recommended system specifications
|
|
9
|
+
|
|
10
|
+
- **Operating System:**
|
|
11
|
+
- macOS 15+
|
|
12
|
+
- Windows 11 24H2+
|
|
13
|
+
- Ubuntu 20.04+
|
|
14
|
+
- **Hardware:**
|
|
15
|
+
- "Casual" usage: 4GB+ RAM (short sessions, common tasks and edits)
|
|
16
|
+
- "Power" usage: 16GB+ RAM (long sessions, large codebases, deep context)
|
|
17
|
+
- **Runtime:** Node.js 20.0.0+
|
|
18
|
+
- **Shell:** Bash, Zsh, or PowerShell
|
|
19
|
+
- **Location:**
|
|
20
|
+
[Gemini Code Assist supported locations](https://developers.google.com/gemini-code-assist/resources/available-locations#americas)
|
|
21
|
+
- **Internet connection required**
|
|
22
|
+
|
|
23
|
+
## Install Cell CLI
|
|
24
|
+
|
|
25
|
+
We recommend most users install Cell CLI using one of the following
|
|
26
|
+
installation methods. Note that Cell CLI comes pre-installed on
|
|
27
|
+
[**Cloud Shell**](https://docs.cloud.google.com/shell/docs) and
|
|
28
|
+
[**Cloud Workstations**](https://cloud.google.com/workstations).
|
|
29
|
+
|
|
30
|
+
<Tabs>
|
|
31
|
+
<TabItem label="npm">
|
|
32
|
+
|
|
33
|
+
Install globally with npm:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm install -g @google/gemini-cli
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
</TabItem>
|
|
40
|
+
<TabItem label="Homebrew (macOS/Linux)">
|
|
41
|
+
|
|
42
|
+
Install globally with Homebrew:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
brew install gemini-cli
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
</TabItem>
|
|
49
|
+
<TabItem label="MacPorts (macOS)">
|
|
50
|
+
|
|
51
|
+
Install globally with MacPorts:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
sudo port install gemini-cli
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
</TabItem>
|
|
58
|
+
<TabItem label="Anaconda">
|
|
59
|
+
|
|
60
|
+
Install with Anaconda (for restricted environments):
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Create and activate a new environment
|
|
64
|
+
conda create -y -n gemini_env -c conda-forge nodejs
|
|
65
|
+
conda activate gemini_env
|
|
66
|
+
|
|
67
|
+
# Install Cell CLI globally via npm (inside the environment)
|
|
68
|
+
npm install -g @google/gemini-cli
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
</TabItem>
|
|
72
|
+
</Tabs>
|
|
73
|
+
|
|
74
|
+
## Run Cell CLI
|
|
75
|
+
|
|
76
|
+
For most users, we recommend running Cell CLI with the `gemini` command:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
gemini
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
For a list of options and additional commands, see the
|
|
83
|
+
[CLI cheatsheet](../cli/cli-reference.md).
|
|
84
|
+
|
|
85
|
+
You can also run Cell CLI using one of the following advanced methods:
|
|
86
|
+
|
|
87
|
+
<Tabs>
|
|
88
|
+
<TabItem label="npx">
|
|
89
|
+
|
|
90
|
+
Run instantly with npx. You can run Cell CLI without permanent installation.
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Using npx (no installation required)
|
|
94
|
+
npx @google/gemini-cli
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
You can also execute the CLI directly from the main branch on GitHub, which is
|
|
98
|
+
helpful for testing features still in development:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npx https://github.com/google-gemini/gemini-cli
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
</TabItem>
|
|
105
|
+
<TabItem label="Docker/Podman Sandbox">
|
|
106
|
+
|
|
107
|
+
For security and isolation, Cell CLI can be run inside a container. This is
|
|
108
|
+
the default way that the CLI executes tools that might have side effects.
|
|
109
|
+
|
|
110
|
+
- **Directly from the registry:** You can run the published sandbox image
|
|
111
|
+
directly. This is useful for environments where you only have Docker and want
|
|
112
|
+
to run the CLI.
|
|
113
|
+
```bash
|
|
114
|
+
# Run the published sandbox image
|
|
115
|
+
docker run --rm -it us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.1
|
|
116
|
+
```
|
|
117
|
+
- **Using the `--sandbox` flag:** If you have Cell CLI installed locally
|
|
118
|
+
(using the standard installation described above), you can instruct it to run
|
|
119
|
+
inside the sandbox container.
|
|
120
|
+
```bash
|
|
121
|
+
cell-cli --sandbox -y -p "your prompt here"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
</TabItem>
|
|
125
|
+
<TabItem label="From source">
|
|
126
|
+
|
|
127
|
+
Contributors to the project will want to run the CLI directly from the source
|
|
128
|
+
code.
|
|
129
|
+
|
|
130
|
+
- **Development mode:** This method provides hot-reloading and is useful for
|
|
131
|
+
active development.
|
|
132
|
+
```bash
|
|
133
|
+
# From the root of the repository
|
|
134
|
+
npm run start
|
|
135
|
+
```
|
|
136
|
+
- **Production mode (React optimizations):** This method runs the CLI with React
|
|
137
|
+
production mode enabled, which is useful for testing performance without
|
|
138
|
+
development overhead.
|
|
139
|
+
```bash
|
|
140
|
+
# From the root of the repository
|
|
141
|
+
npm run start:prod
|
|
142
|
+
```
|
|
143
|
+
- **Production-like mode (linked package):** This method simulates a global
|
|
144
|
+
installation by linking your local package. It's useful for testing a local
|
|
145
|
+
build in a production workflow.
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# Link the local cli package to your global node_modules
|
|
149
|
+
npm link packages/cli
|
|
150
|
+
|
|
151
|
+
# Now you can run your local version using the `gemini` command
|
|
152
|
+
gemini
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
</TabItem>
|
|
156
|
+
</Tabs>
|
|
157
|
+
|
|
158
|
+
## Releases
|
|
159
|
+
|
|
160
|
+
Cell CLI has three release channels: stable, preview, and nightly. For most
|
|
161
|
+
users, we recommend the stable release, which is the default installation.
|
|
162
|
+
|
|
163
|
+
<Tabs>
|
|
164
|
+
<TabItem label="Stable">
|
|
165
|
+
|
|
166
|
+
Stable releases are published each week. A stable release is created from the
|
|
167
|
+
previous week's preview release along with any bug fixes. The stable release
|
|
168
|
+
uses the `latest` tag. Omitting the tag also installs the latest stable
|
|
169
|
+
release by default.
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
# Both commands install the latest stable release.
|
|
173
|
+
npm install -g @google/gemini-cli
|
|
174
|
+
npm install -g @google/gemini-cli@latest
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
</TabItem>
|
|
178
|
+
<TabItem label="Preview">
|
|
179
|
+
|
|
180
|
+
New preview releases will be published each week. These releases are not fully
|
|
181
|
+
vetted and may contain regressions or other outstanding issues. Try out the
|
|
182
|
+
preview release by using the `preview` tag:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
npm install -g @google/gemini-cli@preview
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
</TabItem>
|
|
189
|
+
<TabItem label="Nightly">
|
|
190
|
+
|
|
191
|
+
Nightly releases are published every day. The nightly release includes all
|
|
192
|
+
changes from the main branch at time of release. It should be assumed there are
|
|
193
|
+
pending validations and issues. You can help test the latest changes by
|
|
194
|
+
installing with the `nightly` tag:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
npm install -g @google/gemini-cli@nightly
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
</TabItem>
|
|
201
|
+
</Tabs>
|
|
@@ -367,7 +367,7 @@ chmod +x .cell-cli/hooks/*.js
|
|
|
367
367
|
```
|
|
368
368
|
|
|
369
369
|
**Windows Note**: On Windows, PowerShell scripts (`.ps1`) don't use `chmod`, but
|
|
370
|
-
you may need to ensure your execution policy allows them to run (
|
|
370
|
+
you may need to ensure your execution policy allows them to run (for example,
|
|
371
371
|
`Set-ExecutionPolicy RemoteSigned -Scope CurrentUser`).
|
|
372
372
|
|
|
373
373
|
### Version control
|
|
@@ -401,12 +401,12 @@ git add .cell-cli/settings.json
|
|
|
401
401
|
Understanding where hooks come from and what they can do is critical for secure
|
|
402
402
|
usage.
|
|
403
403
|
|
|
404
|
-
| Hook Source | Description
|
|
405
|
-
| :------------------------------ |
|
|
406
|
-
| **System** | Configured by system administrators (
|
|
407
|
-
| **User** (`~/.cell-cli/...`) | Configured by you. You are responsible for ensuring they are safe.
|
|
408
|
-
| **Extensions** | You explicitly approve and install these. Security depends on the extension source (integrity).
|
|
409
|
-
| **Project** (`./.cell-cli/...`) | **Untrusted by default.** Safest in trusted internal repos; higher risk in third-party/public repos.
|
|
404
|
+
| Hook Source | Description |
|
|
405
|
+
| :------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------- |
|
|
406
|
+
| **System** | Configured by system administrators (for example, `/etc/gemini-cli/settings.json`, `/Library/...`). Assumed to be the **safest**. |
|
|
407
|
+
| **User** (`~/.cell-cli/...`) | Configured by you. You are responsible for ensuring they are safe. |
|
|
408
|
+
| **Extensions** | You explicitly approve and install these. Security depends on the extension source (integrity). |
|
|
409
|
+
| **Project** (`./.cell-cli/...`) | **Untrusted by default.** Safest in trusted internal repos; higher risk in third-party/public repos. |
|
|
410
410
|
|
|
411
411
|
#### Project Hook Security
|
|
412
412
|
|
|
@@ -422,9 +422,10 @@ When you open a project with hooks defined in `.cell-cli/settings.json`:
|
|
|
422
422
|
5. **Trust**: The hook is marked as "trusted" for this project.
|
|
423
423
|
|
|
424
424
|
> **Modification detection**: If the `command` string of a project hook is
|
|
425
|
-
> changed (
|
|
426
|
-
> as a **new, untrusted hook** and warn you again. This prevents
|
|
427
|
-
> actors from silently swapping a verified command for a malicious
|
|
425
|
+
> changed (for example, by a `git pull`), its identity changes. Cell CLI will
|
|
426
|
+
> treat it as a **new, untrusted hook** and warn you again. This prevents
|
|
427
|
+
> malicious actors from silently swapping a verified command for a malicious
|
|
428
|
+
> one.
|
|
428
429
|
|
|
429
430
|
### Risks
|
|
430
431
|
|
|
@@ -441,17 +442,17 @@ When you open a project with hooks defined in `.cell-cli/settings.json`:
|
|
|
441
442
|
**Verify the source** of any project hooks or extensions before enabling them.
|
|
442
443
|
|
|
443
444
|
- For open-source projects, a quick review of the hook scripts is recommended.
|
|
444
|
-
- For extensions, ensure you trust the author or publisher (
|
|
445
|
-
publishers, well-known community members).
|
|
445
|
+
- For extensions, ensure you trust the author or publisher (for example,
|
|
446
|
+
verified publishers, well-known community members).
|
|
446
447
|
- Be cautious with obfuscated scripts or compiled binaries from unknown sources.
|
|
447
448
|
|
|
448
449
|
#### Sanitize environment
|
|
449
450
|
|
|
450
|
-
Hooks inherit the environment of
|
|
451
|
-
|
|
451
|
+
Hooks inherit the environment of Cell CLI process, which may include sensitive
|
|
452
|
+
API keys. Cell CLI provides a
|
|
452
453
|
[redaction system](../reference/configuration.md#environment-variable-redaction)
|
|
453
|
-
that automatically filters variables matching sensitive patterns (
|
|
454
|
-
`TOKEN`).
|
|
454
|
+
that automatically filters variables matching sensitive patterns (for example,
|
|
455
|
+
`KEY`, `TOKEN`).
|
|
455
456
|
|
|
456
457
|
> **Disabled by Default**: Environment redaction is currently **OFF by
|
|
457
458
|
> default**. We strongly recommend enabling it if you are running third-party
|
|
@@ -511,7 +512,7 @@ chmod +x .cell-cli/hooks/my-hook.sh
|
|
|
511
512
|
```
|
|
512
513
|
|
|
513
514
|
**Windows Note**: On Windows, ensure your execution policy allows running
|
|
514
|
-
scripts (
|
|
515
|
+
scripts (for example, `Get-ExecutionPolicy`).
|
|
515
516
|
|
|
516
517
|
**Verify script path:** Ensure the path in `settings.json` resolves correctly.
|
|
517
518
|
|
package/dist/docs/hooks/index.md
CHANGED
|
@@ -63,9 +63,9 @@ Hooks communicate via `stdin` (Input) and `stdout` (Output).
|
|
|
63
63
|
2. **Pollution = Failure**: If `stdout` contains non-JSON text, parsing will
|
|
64
64
|
fail. The CLI will default to "Allow" and treat the entire output as a
|
|
65
65
|
`systemMessage`.
|
|
66
|
-
3. **Debug via Stderr**: Use `stderr` for **all** logging and debugging (
|
|
67
|
-
`echo "debug" >&2`). Cell CLI captures `stderr` but never attempts
|
|
68
|
-
it as JSON.
|
|
66
|
+
3. **Debug via Stderr**: Use `stderr` for **all** logging and debugging (for
|
|
67
|
+
example, `echo "debug" >&2`). Cell CLI captures `stderr` but never attempts
|
|
68
|
+
to parse it as JSON.
|
|
69
69
|
|
|
70
70
|
#### Exit codes
|
|
71
71
|
|
|
@@ -74,7 +74,7 @@ execution:
|
|
|
74
74
|
|
|
75
75
|
| Exit Code | Label | Behavioral Impact |
|
|
76
76
|
| --------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
77
|
-
| **0** | **Success** | The `stdout` is parsed as JSON. **Preferred code** for all logic, including intentional blocks (
|
|
77
|
+
| **0** | **Success** | The `stdout` is parsed as JSON. **Preferred code** for all logic, including intentional blocks (for example, `{"decision": "deny"}`). |
|
|
78
78
|
| **2** | **System Block** | **Critical Block**. The target action (tool, turn, or stop) is aborted. `stderr` is used as the rejection reason. High severity; used for security stops or script failures. |
|
|
79
79
|
| **Other** | **Warning** | Non-fatal failure. A warning is shown, but the interaction proceeds using original parameters. |
|
|
80
80
|
|
|
@@ -84,8 +84,9 @@ You can filter which specific tools or triggers fire your hook using the
|
|
|
84
84
|
`matcher` field.
|
|
85
85
|
|
|
86
86
|
- **Tool events** (`BeforeTool`, `AfterTool`): Matchers are **Regular
|
|
87
|
-
Expressions**. (
|
|
88
|
-
- **Lifecycle events**: Matchers are **Exact Strings**. (
|
|
87
|
+
Expressions**. (for example, `"write_.*"`).
|
|
88
|
+
- **Lifecycle events**: Matchers are **Exact Strings**. (for example,
|
|
89
|
+
`"startup"`).
|
|
89
90
|
- **Wildcards**: `"*"` or `""` (empty string) matches all occurrences.
|
|
90
91
|
|
|
91
92
|
## Configuration
|
|
@@ -137,6 +138,7 @@ multiple layers in the following order of precedence (highest to lowest):
|
|
|
137
138
|
Hooks are executed with a sanitized environment.
|
|
138
139
|
|
|
139
140
|
- `GEMINI_PROJECT_DIR`: The absolute path to the project root.
|
|
141
|
+
- `GEMINI_PLANS_DIR`: The absolute path to the plans directory.
|
|
140
142
|
- `GEMINI_SESSION_ID`: The unique ID for the current session.
|
|
141
143
|
- `GEMINI_CWD`: The current working directory.
|
|
142
144
|
- `CLAUDE_PROJECT_DIR`: (Alias) Provided for compatibility.
|
|
@@ -151,8 +153,8 @@ Hooks are executed with a sanitized environment.
|
|
|
151
153
|
|
|
152
154
|
**Project-level hooks** are particularly risky when opening untrusted projects.
|
|
153
155
|
Cell CLI **fingerprints** project hooks. If a hook's name or command changes
|
|
154
|
-
(
|
|
155
|
-
be warned before it executes.
|
|
156
|
+
(for example, via `git pull`), it is treated as a **new, untrusted hook** and
|
|
157
|
+
you will be warned before it executes.
|
|
156
158
|
|
|
157
159
|
See [Security Considerations](../hooks/best-practices.md#using-hooks-securely)
|
|
158
160
|
for a detailed threat model.
|
|
@@ -20,8 +20,8 @@ JSON schemas and API details.
|
|
|
20
20
|
|
|
21
21
|
## Configuration schema
|
|
22
22
|
|
|
23
|
-
Hooks are defined in `settings.json` within the `hooks` object. Each event
|
|
24
|
-
|
|
23
|
+
Hooks are defined in `settings.json` within the `hooks` object. Each event (for
|
|
24
|
+
example, `BeforeTool`) contains an array of **hook definitions**.
|
|
25
25
|
|
|
26
26
|
### Hook definition
|
|
27
27
|
|
|
@@ -52,7 +52,7 @@ All hooks receive these common fields via `stdin`:
|
|
|
52
52
|
"session_id": string, // Unique ID for the current session
|
|
53
53
|
"transcript_path": string, // Absolute path to session transcript JSON
|
|
54
54
|
"cwd": string, // Current working directory
|
|
55
|
-
"hook_event_name": string, // The firing event (
|
|
55
|
+
"hook_event_name": string, // The firing event (for example "BeforeTool")
|
|
56
56
|
"timestamp": string // ISO 8601 execution time
|
|
57
57
|
}
|
|
58
58
|
```
|
|
@@ -81,12 +81,12 @@ Most hooks support these fields in their `stdout` JSON:
|
|
|
81
81
|
For `BeforeTool` and `AfterTool` events, the `matcher` field in your settings is
|
|
82
82
|
compared against the name of the tool being executed.
|
|
83
83
|
|
|
84
|
-
- **Built-in Tools**: You can match any built-in tool (
|
|
84
|
+
- **Built-in Tools**: You can match any built-in tool (for example, `read_file`,
|
|
85
85
|
`run_shell_command`). See the [Tools Reference](../reference/tools) for a full
|
|
86
86
|
list of available tool names.
|
|
87
87
|
- **MCP Tools**: Tools from MCP servers follow the naming pattern
|
|
88
88
|
`mcp_<server_name>_<tool_name>`.
|
|
89
|
-
- **Regex Support**: Matchers support regular expressions (
|
|
89
|
+
- **Regex Support**: Matchers support regular expressions (for example,
|
|
90
90
|
`matcher: "read_.*"` matches all file reading tools).
|
|
91
91
|
|
|
92
92
|
### `BeforeTool`
|
|
@@ -194,7 +194,7 @@ request format.
|
|
|
194
194
|
(generation params).
|
|
195
195
|
- **Relevant Output Fields**:
|
|
196
196
|
- `hookSpecificOutput.llm_request`: An object that **overrides** parts of the
|
|
197
|
-
outgoing request (
|
|
197
|
+
outgoing request (for example, changing models or temperature).
|
|
198
198
|
- `hookSpecificOutput.llm_response`: A **Synthetic Response** object. If
|
|
199
199
|
provided, the CLI skips the LLM call entirely and uses this as the response.
|
|
200
200
|
- `decision`: Set to `"deny"` to block the request and abort the turn.
|
|
@@ -271,14 +271,14 @@ telemetry.
|
|
|
271
271
|
|
|
272
272
|
### `Notification`
|
|
273
273
|
|
|
274
|
-
Fires when the CLI emits a system alert (
|
|
275
|
-
external logging or cross-platform alerts.
|
|
274
|
+
Fires when the CLI emits a system alert (for example, Tool Permissions). Used
|
|
275
|
+
for external logging or cross-platform alerts.
|
|
276
276
|
|
|
277
277
|
- **Input Fields**:
|
|
278
278
|
- `notification_type`: (`"ToolPermission"`)
|
|
279
279
|
- `message`: Summary of the alert.
|
|
280
|
-
- `details`: JSON object with alert-specific metadata (
|
|
281
|
-
path).
|
|
280
|
+
- `details`: JSON object with alert-specific metadata (for example, tool name,
|
|
281
|
+
file path).
|
|
282
282
|
- **Relevant Output Fields**:
|
|
283
283
|
- `systemMessage`: Displayed alongside the system alert.
|
|
284
284
|
- **Observability Only**: This hook **cannot** block alerts or grant permissions
|
|
@@ -20,9 +20,9 @@ Protocol (MCP)**.
|
|
|
20
20
|
|
|
21
21
|
- **Protocol:** The server must be a valid MCP server. We recommend using an
|
|
22
22
|
existing MCP SDK for your language of choice if available.
|
|
23
|
-
- **Endpoint:** The server should expose a single endpoint (
|
|
24
|
-
all MCP communication.
|
|
25
|
-
- **Port:** The server **MUST** listen on a dynamically assigned port (
|
|
23
|
+
- **Endpoint:** The server should expose a single endpoint (for example, `/mcp`)
|
|
24
|
+
for all MCP communication.
|
|
25
|
+
- **Port:** The server **MUST** listen on a dynamically assigned port (that is,
|
|
26
26
|
listen on port `0`).
|
|
27
27
|
|
|
28
28
|
### 2. Discovery mechanism: The port file
|
|
@@ -68,15 +68,15 @@ creating a "discovery file."
|
|
|
68
68
|
The CLI will include this token in an `Authorization: Bearer <token>` header
|
|
69
69
|
on all requests.
|
|
70
70
|
- `ideInfo` (object, required): Information about the IDE.
|
|
71
|
-
- `name` (string, required): A short, lowercase identifier for the IDE
|
|
72
|
-
|
|
73
|
-
- `displayName` (string, required): A user-friendly name for the IDE (
|
|
74
|
-
`VS Code`, `JetBrains IDE`).
|
|
71
|
+
- `name` (string, required): A short, lowercase identifier for the IDE (for
|
|
72
|
+
example, `vscode`, `jetbrains`).
|
|
73
|
+
- `displayName` (string, required): A user-friendly name for the IDE (for
|
|
74
|
+
example, `VS Code`, `JetBrains IDE`).
|
|
75
75
|
|
|
76
76
|
- **Authentication:** To secure the connection, the plugin **MUST** generate a
|
|
77
77
|
unique, secret token and include it in the discovery file. The CLI will then
|
|
78
78
|
include this token in the `Authorization` header for all requests to the MCP
|
|
79
|
-
server (
|
|
79
|
+
server (for example, `Authorization: Bearer a-very-secret-token`). Your server
|
|
80
80
|
**MUST** validate this token on every request and reject any that are
|
|
81
81
|
unauthorized.
|
|
82
82
|
- **Tie-breaking with environment variables (recommended):** For the most
|
|
@@ -135,7 +135,7 @@ to the CLI whenever the user's context changes.
|
|
|
135
135
|
<!-- prettier-ignore -->
|
|
136
136
|
> [!NOTE]
|
|
137
137
|
> The `openFiles` list should only include files that exist on disk.
|
|
138
|
-
> Virtual files (
|
|
138
|
+
> Virtual files (for example, unsaved files without a path, editor settings pages)
|
|
139
139
|
> **MUST** be excluded.
|
|
140
140
|
|
|
141
141
|
### How the CLI uses this context
|
|
@@ -188,7 +188,7 @@ The plugin **MUST** register an `openDiff` tool on its MCP server.
|
|
|
188
188
|
`CallToolResult` to acknowledge the request and report whether the diff view
|
|
189
189
|
was successfully opened.
|
|
190
190
|
- On Success: If the diff view was opened successfully, the response **MUST**
|
|
191
|
-
contain empty content (
|
|
191
|
+
contain empty content (that is, `content: []`).
|
|
192
192
|
- On Failure: If an error prevented the diff view from opening, the response
|
|
193
193
|
**MUST** have `isError: true` and include a `TextContent` block in the
|
|
194
194
|
`content` array describing the error.
|
|
@@ -223,9 +223,9 @@ The plugin **MUST** register a `closeDiff` tool on its MCP server.
|
|
|
223
223
|
|
|
224
224
|
### `ide/diffAccepted` notification
|
|
225
225
|
|
|
226
|
-
When the user accepts the changes in a diff view (
|
|
227
|
-
or "Save" button), the plugin **MUST** send an `ide/diffAccepted`
|
|
228
|
-
to the CLI.
|
|
226
|
+
When the user accepts the changes in a diff view (for example, by clicking an
|
|
227
|
+
"Apply" or "Save" button), the plugin **MUST** send an `ide/diffAccepted`
|
|
228
|
+
notification to the CLI.
|
|
229
229
|
|
|
230
230
|
- **Payload:** The notification parameters **MUST** include the file path and
|
|
231
231
|
the final content of the file. The content may differ from the original
|
|
@@ -242,7 +242,7 @@ to the CLI.
|
|
|
242
242
|
|
|
243
243
|
### `ide/diffRejected` notification
|
|
244
244
|
|
|
245
|
-
When the user rejects the changes (
|
|
245
|
+
When the user rejects the changes (for example, by closing the diff view without
|
|
246
246
|
accepting), the plugin **MUST** send an `ide/diffRejected` notification to the
|
|
247
247
|
CLI.
|
|
248
248
|
|
|
@@ -131,7 +131,7 @@ editor.
|
|
|
131
131
|
**To accept a diff**, you can perform any of the following actions:
|
|
132
132
|
|
|
133
133
|
- Click the **checkmark icon** in the diff editor's title bar.
|
|
134
|
-
- Save the file (
|
|
134
|
+
- Save the file (for example, with `Cmd+S` or `Ctrl+S`).
|
|
135
135
|
- Open the Command Palette and run **Cell CLI: Accept Diff**.
|
|
136
136
|
- Respond with `yes` in the CLI when prompted.
|
|
137
137
|
|
|
@@ -207,7 +207,7 @@ through their in-built registry features.
|
|
|
207
207
|
|
|
208
208
|
## Using with sandboxing
|
|
209
209
|
|
|
210
|
-
If you are using Cell CLI within a sandbox,
|
|
210
|
+
If you are using Cell CLI within a sandbox, be aware of the following:
|
|
211
211
|
|
|
212
212
|
- **On macOS:** The IDE integration requires network access to communicate with
|
|
213
213
|
the IDE companion extension. You must use a Seatbelt profile that allows
|
|
@@ -298,5 +298,5 @@ connect using the provided PID.
|
|
|
298
298
|
|
|
299
299
|
### ACP integration errors
|
|
300
300
|
|
|
301
|
-
For issues related to ACP integration,
|
|
302
|
-
|
|
301
|
+
For issues related to ACP integration, refer to the debugging and telemetry
|
|
302
|
+
section in the [ACP Mode](../cli/acp-mode.md) documentation.
|
package/dist/docs/index.md
CHANGED
|
@@ -15,9 +15,9 @@ npm install -g @google/gemini-cli
|
|
|
15
15
|
Jump in to Cell CLI.
|
|
16
16
|
|
|
17
17
|
- **[Quickstart](./get-started/index.md):** Your first session with Cell CLI.
|
|
18
|
-
- **[Installation](./get-started/installation.
|
|
18
|
+
- **[Installation](./get-started/installation.mdx):** How to install Cell CLI on
|
|
19
19
|
your system.
|
|
20
|
-
- **[Authentication](./get-started/authentication.
|
|
20
|
+
- **[Authentication](./get-started/authentication.mdx):** Setup instructions for
|
|
21
21
|
personal and enterprise accounts.
|
|
22
22
|
- **[CLI cheatsheet](./cli/cli-reference.md):** A quick reference for common
|
|
23
23
|
commands and options.
|
|
@@ -6,8 +6,8 @@ in this project.
|
|
|
6
6
|
## Overview
|
|
7
7
|
|
|
8
8
|
The integration tests are designed to validate the end-to-end functionality of
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
Cell CLI. They execute the built binary in a controlled environment and verify
|
|
10
|
+
that it behaves as expected when interacting with the file system.
|
|
11
11
|
|
|
12
12
|
These tests are located in the `integration-tests` directory and are run using a
|
|
13
13
|
custom test runner.
|
|
@@ -117,6 +117,88 @@ npm run test:integration:sandbox:docker
|
|
|
117
117
|
npm run test:integration:sandbox:podman
|
|
118
118
|
```
|
|
119
119
|
|
|
120
|
+
## Memory regression tests
|
|
121
|
+
|
|
122
|
+
Memory regression tests are designed to detect heap growth and leaks across key
|
|
123
|
+
CLI scenarios. They are located in the `memory-tests` directory.
|
|
124
|
+
|
|
125
|
+
These tests are distinct from standard integration tests because they measure
|
|
126
|
+
memory usage and compare it against committed baselines.
|
|
127
|
+
|
|
128
|
+
### Running memory tests
|
|
129
|
+
|
|
130
|
+
Memory tests are not run as part of the default `npm run test` or
|
|
131
|
+
`npm run test:e2e` commands. They are run nightly in CI but can be run manually:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
npm run test:memory
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Updating baselines
|
|
138
|
+
|
|
139
|
+
If you intentionally change behavior that affects memory usage, you may need to
|
|
140
|
+
update the baselines. Set the `UPDATE_MEMORY_BASELINES` environment variable to
|
|
141
|
+
`true`:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
UPDATE_MEMORY_BASELINES=true npm run test:memory
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
This will run the tests, take median snapshots, and overwrite
|
|
148
|
+
`memory-tests/baselines.json`. You should review the changes and commit the
|
|
149
|
+
updated baseline file.
|
|
150
|
+
|
|
151
|
+
### How it works
|
|
152
|
+
|
|
153
|
+
The harness (`MemoryTestHarness` in `packages/test-utils`):
|
|
154
|
+
|
|
155
|
+
- Forces garbage collection multiple times to reduce noise.
|
|
156
|
+
- Takes median snapshots to filter spikes.
|
|
157
|
+
- Compares against baselines with a 10% tolerance.
|
|
158
|
+
- Can analyze sustained leaks across 3 snapshots using `analyzeSnapshots()`.
|
|
159
|
+
|
|
160
|
+
## Performance regression tests
|
|
161
|
+
|
|
162
|
+
Performance regression tests are designed to detect wall-clock time, CPU usage,
|
|
163
|
+
and event loop delay regressions across key CLI scenarios. They are located in
|
|
164
|
+
the `perf-tests` directory.
|
|
165
|
+
|
|
166
|
+
These tests are distinct from standard integration tests because they measure
|
|
167
|
+
performance metrics and compare it against committed baselines.
|
|
168
|
+
|
|
169
|
+
### Running performance tests
|
|
170
|
+
|
|
171
|
+
Performance tests are not run as part of the default `npm run test` or
|
|
172
|
+
`npm run test:e2e` commands. They are run nightly in CI but can be run manually:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
npm run test:perf
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Updating baselines
|
|
179
|
+
|
|
180
|
+
If you intentionally change behavior that affects performance, you may need to
|
|
181
|
+
update the baselines. Set the `UPDATE_PERF_BASELINES` environment variable to
|
|
182
|
+
`true`:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
UPDATE_PERF_BASELINES=true npm run test:perf
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
This will run the tests multiple times (with warmup), apply IQR outlier
|
|
189
|
+
filtering, and overwrite `perf-tests/baselines.json`. You should review the
|
|
190
|
+
changes and commit the updated baseline file.
|
|
191
|
+
|
|
192
|
+
### How it works
|
|
193
|
+
|
|
194
|
+
The harness (`PerfTestHarness` in `packages/test-utils`):
|
|
195
|
+
|
|
196
|
+
- Measures wall-clock time using `performance.now()`.
|
|
197
|
+
- Measures CPU usage using `process.cpuUsage()`.
|
|
198
|
+
- Monitors event loop delay using `perf_hooks.monitorEventLoopDelay()`.
|
|
199
|
+
- Applies IQR (Interquartile Range) filtering to remove outlier samples.
|
|
200
|
+
- Compares against baselines with a 15% tolerance.
|
|
201
|
+
|
|
120
202
|
## Diagnostics
|
|
121
203
|
|
|
122
204
|
The integration test runner provides several options for diagnostics to help
|
|
@@ -37,8 +37,8 @@ is to perform an initial analysis and apply the correct labels.
|
|
|
37
37
|
- It uses a Gemini model to analyze the issue's title and body against a
|
|
38
38
|
detailed set of guidelines.
|
|
39
39
|
- **Applies one `area/*` label**: Categorizes the issue into a functional area
|
|
40
|
-
of the project (
|
|
41
|
-
- **Applies one `kind/*` label**: Identifies the type of issue (
|
|
40
|
+
of the project (for example, `area/ux`, `area/models`, `area/platform`).
|
|
41
|
+
- **Applies one `kind/*` label**: Identifies the type of issue (for example,
|
|
42
42
|
`kind/bug`, `kind/enhancement`, `kind/question`).
|
|
43
43
|
- **Applies one `priority/*` label**: Assigns a priority from P0 (critical) to
|
|
44
44
|
P3 (low) based on the described impact.
|
|
@@ -50,8 +50,8 @@ is to perform an initial analysis and apply the correct labels.
|
|
|
50
50
|
- **What you should do**:
|
|
51
51
|
- Fill out the issue template as completely as possible. The more detail you
|
|
52
52
|
provide, the more accurate the triage will be.
|
|
53
|
-
- If the `status/need-information` label is added,
|
|
54
|
-
|
|
53
|
+
- If the `status/need-information` label is added, provide the requested
|
|
54
|
+
details in a comment.
|
|
55
55
|
|
|
56
56
|
### 2. When you open a pull request: `Continuous Integration (CI)`
|
|
57
57
|
|
|
@@ -84,7 +84,8 @@ issues and have consistent labels.
|
|
|
84
84
|
- **When it runs**: Every 15 minutes on all open pull requests.
|
|
85
85
|
- **What it does**:
|
|
86
86
|
- **Checks for a linked issue**: The bot scans your PR description for a
|
|
87
|
-
keyword that links it to an issue (
|
|
87
|
+
keyword that links it to an issue (for example, `Fixes #123`,
|
|
88
|
+
`Closes #456`).
|
|
88
89
|
- **Adds `status/need-issue`**: If no linked issue is found, the bot will add
|
|
89
90
|
the `status/need-issue` label to your PR. This is a clear signal that an
|
|
90
91
|
issue needs to be created and linked.
|
|
@@ -156,7 +157,7 @@ and will never be auto-unassigned.
|
|
|
156
157
|
### 6. Release automation
|
|
157
158
|
|
|
158
159
|
This workflow handles the process of packaging and publishing new versions of
|
|
159
|
-
|
|
160
|
+
Cell CLI.
|
|
160
161
|
|
|
161
162
|
- **Workflow File**: `.github/workflows/release-manual.yml`
|
|
162
163
|
- **When it runs**: On a daily schedule for "nightly" releases, and manually for
|
|
@@ -171,4 +172,4 @@ the Cell CLI.
|
|
|
171
172
|
will be included in the very next nightly release.
|
|
172
173
|
|
|
173
174
|
We hope this detailed overview is helpful. If you have any questions about our
|
|
174
|
-
automation or processes,
|
|
175
|
+
automation or processes, don't hesitate to ask!
|
package/dist/docs/npm.md
CHANGED
|
@@ -5,8 +5,8 @@ This monorepo contains two main packages: `@google/gemini-cli` and
|
|
|
5
5
|
|
|
6
6
|
## `@google/gemini-cli`
|
|
7
7
|
|
|
8
|
-
This is the main package for
|
|
9
|
-
|
|
8
|
+
This is the main package for Cell CLI. It is responsible for the user interface,
|
|
9
|
+
command parsing, and all other user-facing functionality.
|
|
10
10
|
|
|
11
11
|
When this package is published, it is bundled into a single executable file.
|
|
12
12
|
This bundle includes all of the package's dependencies, including
|