@machina.ai/cell-cli-core 1.41.1-rc2 → 1.45.1-rc1
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/changelogs/index.md +63 -0
- package/dist/docs/changelogs/latest.md +200 -244
- package/dist/docs/changelogs/preview.md +198 -385
- package/dist/docs/cli/auto-memory.md +61 -40
- package/dist/docs/cli/cli-reference.md +2 -1
- package/dist/docs/cli/creating-skills.md +165 -38
- package/dist/docs/cli/custom-commands.md +1 -0
- package/dist/docs/cli/gemini-md.md +0 -3
- package/dist/docs/cli/model-routing.md +3 -3
- package/dist/docs/cli/plan-mode.md +2 -2
- package/dist/docs/cli/settings.md +20 -19
- package/dist/docs/cli/skills-best-practices.md +78 -0
- package/dist/docs/cli/skills.md +98 -176
- package/dist/docs/cli/tutorials/memory-management.md +3 -3
- package/dist/docs/cli/tutorials/session-management.md +13 -0
- package/dist/docs/cli/tutorials/skills-getting-started.md +140 -92
- package/dist/docs/cli/using-agent-skills.md +90 -0
- package/dist/docs/core/gemma-setup.md +83 -0
- package/dist/docs/core/index.md +3 -2
- package/dist/docs/core/local-model-routing.md +14 -7
- package/dist/docs/extensions/reference.md +16 -0
- package/dist/docs/extensions/releasing.md +58 -24
- package/dist/docs/extensions/writing-extensions.md +7 -0
- package/dist/docs/get-started/installation.mdx +2 -2
- package/dist/docs/model-routing-spec.md +683 -0
- package/dist/docs/reference/commands.md +14 -7
- package/dist/docs/reference/configuration.md +264 -88
- package/dist/docs/reference/keyboard-shortcuts.md +24 -1
- package/dist/docs/reference/policy-engine.md +14 -3
- package/dist/docs/reference/tools.md +48 -1
- package/dist/docs/releases.md +2 -2
- package/dist/docs/sidebar.json +24 -2
- package/dist/docs/tools/activate-skill.md +1 -1
- package/dist/docs/tools/mcp-server.md +24 -3
- package/dist/docs/tools/memory.md +10 -13
- package/dist/docs/tools/shell.md +17 -0
- package/dist/package.json +18 -18
- package/dist/src/agent/content-utils.js +6 -1
- 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 +8 -7
- package/dist/src/agent/event-translator.js.map +1 -1
- package/dist/src/agent/event-translator.test.js +2 -2
- package/dist/src/agent/event-translator.test.js.map +1 -1
- package/dist/src/agent/legacy-agent-session.js +5 -1
- package/dist/src/agent/legacy-agent-session.js.map +1 -1
- package/dist/src/agent/legacy-agent-session.test.js +11 -3
- 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 +5 -4
- package/dist/src/agents/a2aUtils.js.map +1 -1
- package/dist/src/agents/a2aUtils.test.js +18 -0
- package/dist/src/agents/a2aUtils.test.js.map +1 -1
- package/dist/src/agents/agent-tool.d.ts +3 -1
- package/dist/src/agents/agent-tool.js +19 -3
- package/dist/src/agents/agent-tool.js.map +1 -1
- package/dist/src/agents/agent-tool.test.js +76 -0
- package/dist/src/agents/agent-tool.test.js.map +1 -1
- package/dist/src/agents/agentLoader.d.ts +127 -22
- package/dist/src/agents/agentLoader.js +20 -0
- package/dist/src/agents/agentLoader.js.map +1 -1
- package/dist/src/agents/agentLoader.test.js +60 -0
- package/dist/src/agents/agentLoader.test.js.map +1 -1
- package/dist/src/agents/auth-provider/types.d.ts +5 -0
- package/dist/src/agents/browser/browserAgentInvocation.js +24 -19
- package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
- package/dist/src/agents/browser/snapshotSuperseder.js +11 -8
- package/dist/src/agents/browser/snapshotSuperseder.js.map +1 -1
- package/dist/src/agents/browser/snapshotSuperseder.test.js +6 -1
- package/dist/src/agents/browser/snapshotSuperseder.test.js.map +1 -1
- package/dist/src/agents/generalist-agent.js +8 -1
- package/dist/src/agents/generalist-agent.js.map +1 -1
- package/dist/src/agents/generalist-agent.test.js +24 -0
- package/dist/src/agents/generalist-agent.test.js.map +1 -1
- package/dist/src/agents/local-executor.d.ts +1 -0
- package/dist/src/agents/local-executor.js +76 -45
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/local-executor.test.js +199 -27
- package/dist/src/agents/local-executor.test.js.map +1 -1
- package/dist/src/agents/local-invocation.d.ts +1 -1
- package/dist/src/agents/local-invocation.js +47 -48
- package/dist/src/agents/local-invocation.js.map +1 -1
- package/dist/src/agents/local-invocation.test.js +13 -15
- package/dist/src/agents/local-invocation.test.js.map +1 -1
- package/dist/src/agents/local-session-invocation.d.ts +51 -0
- package/dist/src/agents/local-session-invocation.js +320 -0
- package/dist/src/agents/local-session-invocation.js.map +1 -0
- package/dist/src/agents/local-session-invocation.test.js +512 -0
- package/dist/src/agents/local-session-invocation.test.js.map +1 -0
- 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.js +676 -0
- package/dist/src/agents/local-subagent-protocol.test.js.map +1 -0
- package/dist/src/agents/registry.d.ts +8 -4
- package/dist/src/agents/registry.js +112 -47
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +9 -20
- package/dist/src/agents/registry.test.js.map +1 -1
- 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-session-invocation.d.ts +48 -0
- package/dist/src/agents/remote-session-invocation.js +193 -0
- package/dist/src/agents/remote-session-invocation.js.map +1 -0
- package/dist/src/agents/remote-session-invocation.test.d.ts +6 -0
- package/dist/src/agents/remote-session-invocation.test.js +405 -0
- package/dist/src/agents/remote-session-invocation.test.js.map +1 -0
- package/dist/src/agents/remote-subagent-protocol.d.ts +42 -0
- package/dist/src/agents/remote-subagent-protocol.js +348 -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.d.ts +8 -1
- package/dist/src/agents/skill-extraction-agent.js +171 -21
- package/dist/src/agents/skill-extraction-agent.js.map +1 -1
- package/dist/src/agents/skill-extraction-agent.test.js +66 -2
- package/dist/src/agents/skill-extraction-agent.test.js.map +1 -1
- package/dist/src/agents/types.d.ts +38 -2
- package/dist/src/agents/types.js +7 -0
- package/dist/src/agents/types.js.map +1 -1
- package/dist/src/availability/autoRoutingFallback.integration.test.d.ts +6 -0
- package/dist/src/availability/autoRoutingFallback.integration.test.js +288 -0
- package/dist/src/availability/autoRoutingFallback.integration.test.js.map +1 -0
- package/dist/src/availability/fallbackIntegration.test.js +29 -0
- package/dist/src/availability/fallbackIntegration.test.js.map +1 -1
- package/dist/src/availability/modelAvailabilityService.d.ts +6 -6
- package/dist/src/availability/modelAvailabilityService.js +16 -8
- package/dist/src/availability/modelAvailabilityService.js.map +1 -1
- package/dist/src/availability/modelAvailabilityService.test.js +39 -0
- package/dist/src/availability/modelAvailabilityService.test.js.map +1 -1
- package/dist/src/availability/modelPolicy.d.ts +1 -0
- package/dist/src/availability/policyCatalog.d.ts +2 -0
- package/dist/src/availability/policyCatalog.js +38 -9
- package/dist/src/availability/policyCatalog.js.map +1 -1
- package/dist/src/availability/policyCatalog.test.js +5 -4
- package/dist/src/availability/policyCatalog.test.js.map +1 -1
- package/dist/src/availability/policyHelpers.js +42 -27
- package/dist/src/availability/policyHelpers.js.map +1 -1
- package/dist/src/availability/policyHelpers.test.js +47 -7
- package/dist/src/availability/policyHelpers.test.js.map +1 -1
- package/dist/src/availability/testUtils.js +1 -1
- package/dist/src/availability/testUtils.js.map +1 -1
- package/dist/src/code_assist/admin/admin_controls.js +3 -1
- package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
- package/dist/src/code_assist/experiments/flagNames.d.ts +1 -1
- package/dist/src/code_assist/experiments/flagNames.js +1 -1
- package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
- package/dist/src/code_assist/oauth-credential-storage.js +12 -3
- package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
- package/dist/src/code_assist/oauth-credential-storage.test.js +29 -2
- package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +12 -3
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +38 -0
- package/dist/src/code_assist/oauth2.test.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 +10 -1
- package/dist/src/code_assist/setup.test.js.map +1 -1
- package/dist/src/commands/memory.d.ts +83 -2
- package/dist/src/commands/memory.js +479 -28
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/memory.test.js +414 -58
- package/dist/src/commands/memory.test.js.map +1 -1
- package/dist/src/config/config.d.ts +61 -37
- package/dist/src/config/config.js +294 -101
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +365 -113
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +185 -61
- package/dist/src/config/defaultModelConfigs.js.map +1 -1
- package/dist/src/config/flashFallback.test.js +31 -0
- package/dist/src/config/flashFallback.test.js.map +1 -1
- package/dist/src/config/models.d.ts +20 -10
- package/dist/src/config/models.js +105 -34
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +204 -47
- package/dist/src/config/models.test.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/config/scoped-config.d.ts +22 -0
- package/dist/src/config/scoped-config.js +32 -0
- package/dist/src/config/scoped-config.js.map +1 -1
- package/dist/src/config/storage.d.ts +0 -1
- package/dist/src/config/storage.js +0 -3
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.d.ts +3 -1
- package/dist/src/confirmation-bus/message-bus.js +14 -5
- package/dist/src/confirmation-bus/message-bus.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.test.js +34 -0
- package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
- package/dist/src/context/chatCompressionService.js +7 -5
- package/dist/src/context/chatCompressionService.js.map +1 -1
- package/dist/src/context/chatCompressionService.test.js +1 -1
- package/dist/src/context/chatCompressionService.test.js.map +1 -1
- package/dist/src/context/config/configLoader.js +4 -1
- package/dist/src/context/config/configLoader.js.map +1 -1
- package/dist/src/context/config/profiles.d.ts +10 -0
- package/dist/src/context/config/profiles.js +98 -3
- package/dist/src/context/config/profiles.js.map +1 -1
- package/dist/src/context/config/schema.d.ts +4 -0
- package/dist/src/context/config/schema.js +4 -0
- package/dist/src/context/config/schema.js.map +1 -1
- package/dist/src/context/config/types.d.ts +13 -1
- package/dist/src/context/contextCompressionService.test.js +7 -3
- package/dist/src/context/contextCompressionService.test.js.map +1 -1
- package/dist/src/context/contextManager.barrier.test.js +39 -16
- package/dist/src/context/contextManager.barrier.test.js.map +1 -1
- package/dist/src/context/contextManager.d.ts +25 -28
- package/dist/src/context/contextManager.hotstart.test.d.ts +6 -0
- package/dist/src/context/contextManager.hotstart.test.js +65 -0
- package/dist/src/context/contextManager.hotstart.test.js.map +1 -0
- package/dist/src/context/contextManager.incremental.test.d.ts +6 -0
- package/dist/src/context/contextManager.incremental.test.js +101 -0
- package/dist/src/context/contextManager.incremental.test.js.map +1 -0
- package/dist/src/context/contextManager.js +276 -79
- package/dist/src/context/contextManager.js.map +1 -1
- package/dist/src/context/contextManager.test.d.ts +6 -0
- package/dist/src/context/contextManager.test.js +142 -0
- package/dist/src/context/contextManager.test.js.map +1 -0
- package/dist/src/context/eventBus.d.ts +13 -0
- package/dist/src/context/eventBus.js +12 -0
- package/dist/src/context/eventBus.js.map +1 -1
- package/dist/src/context/graph/behaviorRegistry.d.ts +4 -12
- package/dist/src/context/graph/behaviorRegistry.js.map +1 -1
- package/dist/src/context/graph/builtinBehaviors.d.ts +6 -1
- package/dist/src/context/graph/builtinBehaviors.js +23 -108
- package/dist/src/context/graph/builtinBehaviors.js.map +1 -1
- package/dist/src/context/graph/fromGraph.d.ts +8 -3
- package/dist/src/context/graph/fromGraph.js +46 -30
- package/dist/src/context/graph/fromGraph.js.map +1 -1
- package/dist/src/context/graph/fromGraph.test.d.ts +6 -0
- package/dist/src/context/graph/fromGraph.test.js +186 -0
- package/dist/src/context/graph/fromGraph.test.js.map +1 -0
- package/dist/src/context/graph/mapper.d.ts +8 -10
- package/dist/src/context/graph/mapper.js +11 -19
- package/dist/src/context/graph/mapper.js.map +1 -1
- package/dist/src/context/graph/mapper.test.d.ts +6 -0
- package/dist/src/context/graph/mapper.test.js +101 -0
- package/dist/src/context/graph/mapper.test.js.map +1 -0
- package/dist/src/context/graph/nodeIdService.d.ts +17 -0
- package/dist/src/context/graph/nodeIdService.js +24 -0
- package/dist/src/context/graph/nodeIdService.js.map +1 -0
- package/dist/src/context/graph/render.d.ts +24 -5
- package/dist/src/context/graph/render.js +129 -34
- 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 +280 -0
- package/dist/src/context/graph/render.test.js.map +1 -0
- package/dist/src/context/graph/toGraph.d.ts +16 -14
- package/dist/src/context/graph/toGraph.js +180 -202
- 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 +116 -0
- package/dist/src/context/graph/toGraph.test.js.map +1 -0
- package/dist/src/context/graph/types.d.ts +36 -73
- package/dist/src/context/graph/types.js +23 -14
- package/dist/src/context/graph/types.js.map +1 -1
- package/dist/src/context/initializer.js +26 -5
- package/dist/src/context/initializer.js.map +1 -1
- package/dist/src/context/pipeline/contextWorkingBuffer.d.ts +5 -8
- package/dist/src/context/pipeline/contextWorkingBuffer.js +105 -35
- package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -1
- package/dist/src/context/pipeline/contextWorkingBuffer.test.js +81 -13
- 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 +7 -9
- 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 +20 -6
- package/dist/src/context/pipeline/orchestrator.js +97 -80
- package/dist/src/context/pipeline/orchestrator.js.map +1 -1
- package/dist/src/context/pipeline/orchestrator.test.js +33 -36
- package/dist/src/context/pipeline/orchestrator.test.js.map +1 -1
- package/dist/src/context/pipeline.d.ts +0 -1
- package/dist/src/context/processors/blobDegradationProcessor.js +43 -84
- package/dist/src/context/processors/blobDegradationProcessor.js.map +1 -1
- package/dist/src/context/processors/blobDegradationProcessor.test.js +33 -37
- package/dist/src/context/processors/blobDegradationProcessor.test.js.map +1 -1
- package/dist/src/context/processors/nodeDistillationProcessor.js +58 -80
- package/dist/src/context/processors/nodeDistillationProcessor.js.map +1 -1
- package/dist/src/context/processors/nodeDistillationProcessor.test.js +21 -15
- package/dist/src/context/processors/nodeDistillationProcessor.test.js.map +1 -1
- package/dist/src/context/processors/nodeTruncationProcessor.js +16 -60
- package/dist/src/context/processors/nodeTruncationProcessor.js.map +1 -1
- package/dist/src/context/processors/nodeTruncationProcessor.test.js +16 -19
- package/dist/src/context/processors/nodeTruncationProcessor.test.js.map +1 -1
- package/dist/src/context/processors/rollingSummaryProcessor.js +12 -25
- package/dist/src/context/processors/rollingSummaryProcessor.js.map +1 -1
- package/dist/src/context/processors/rollingSummaryProcessor.test.js +10 -9
- package/dist/src/context/processors/rollingSummaryProcessor.test.js.map +1 -1
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.d.ts +7 -0
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.js +37 -19
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.js.map +1 -1
- package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js +35 -10
- 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 +53 -21
- package/dist/src/context/processors/stateSnapshotProcessor.js.map +1 -1
- package/dist/src/context/processors/stateSnapshotProcessor.test.js +52 -12
- package/dist/src/context/processors/stateSnapshotProcessor.test.js.map +1 -1
- package/dist/src/context/processors/toolMaskingProcessor.js +96 -117
- package/dist/src/context/processors/toolMaskingProcessor.js.map +1 -1
- package/dist/src/context/processors/toolMaskingProcessor.test.js +50 -17
- package/dist/src/context/processors/toolMaskingProcessor.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 +100 -0
- package/dist/src/context/system-tests/hysteresis.test.js.map +1 -0
- package/dist/src/context/system-tests/lifecycle.golden.test.js +107 -72
- package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -1
- package/dist/src/context/system-tests/powerUserLifecycle.test.d.ts +6 -0
- package/dist/src/context/system-tests/powerUserLifecycle.test.js +91 -0
- package/dist/src/context/system-tests/powerUserLifecycle.test.js.map +1 -0
- package/dist/src/context/system-tests/simulationHarness.d.ts +2 -5
- package/dist/src/context/system-tests/simulationHarness.js +34 -35
- package/dist/src/context/system-tests/simulationHarness.js.map +1 -1
- package/dist/src/context/testing/contextTestUtils.d.ts +5 -3
- package/dist/src/context/testing/contextTestUtils.js +74 -53
- package/dist/src/context/testing/contextTestUtils.js.map +1 -1
- package/dist/src/context/testing/testProfile.js +1 -0
- package/dist/src/context/testing/testProfile.js.map +1 -1
- package/dist/src/context/toolOutputMaskingService.js +1 -2
- package/dist/src/context/toolOutputMaskingService.js.map +1 -1
- package/dist/src/context/toolOutputMaskingService.test.js +5 -20
- package/dist/src/context/toolOutputMaskingService.test.js.map +1 -1
- package/dist/src/context/utils/adaptiveTokenCalculator.d.ts +70 -0
- package/dist/src/context/utils/adaptiveTokenCalculator.js +138 -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 +129 -0
- package/dist/src/context/utils/adaptiveTokenCalculator.test.js.map +1 -0
- package/dist/src/context/utils/contextTokenCalculator.d.ts +63 -2
- package/dist/src/context/utils/contextTokenCalculator.js +80 -5
- package/dist/src/context/utils/contextTokenCalculator.js.map +1 -1
- package/dist/src/context/utils/contextTokenCalculator.test.d.ts +6 -0
- package/dist/src/context/utils/contextTokenCalculator.test.js +54 -0
- package/dist/src/context/utils/contextTokenCalculator.test.js.map +1 -0
- 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/invariantChecker.d.ts +11 -0
- package/dist/src/context/utils/invariantChecker.js +36 -0
- package/dist/src/context/utils/invariantChecker.js.map +1 -0
- package/dist/src/context/utils/snapshotGenerator.d.ts +43 -1
- package/dist/src/context/utils/snapshotGenerator.js +332 -33
- 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 +362 -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/agentChatHistory.d.ts +29 -14
- package/dist/src/core/agentChatHistory.js +27 -27
- package/dist/src/core/agentChatHistory.js.map +1 -1
- package/dist/src/core/baseLlmClient.d.ts +8 -0
- package/dist/src/core/baseLlmClient.js +23 -3
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +27 -23
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.d.ts +7 -5
- package/dist/src/core/client.js +65 -40
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +35 -131
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.js +46 -21
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +191 -13
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/fakeContentGenerator.d.ts +15 -3
- package/dist/src/core/fakeContentGenerator.js +29 -9
- package/dist/src/core/fakeContentGenerator.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +18 -7
- package/dist/src/core/geminiChat.js +312 -54
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +448 -54
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChat_network_retry.test.js +39 -0
- package/dist/src/core/geminiChat_network_retry.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/prompts.test.js +12 -7
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/core/turn.d.ts +7 -2
- package/dist/src/core/turn.js +61 -4
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +19 -10
- package/dist/src/core/turn.test.js.map +1 -1
- package/dist/src/fallback/handler.js +16 -6
- package/dist/src/fallback/handler.js.map +1 -1
- package/dist/src/fallback/handler.test.js +8 -2
- package/dist/src/fallback/handler.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/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/hooks/hookRunner.test.js +3 -3
- package/dist/src/hooks/hookRunner.test.js.map +1 -1
- package/dist/src/hooks/hookTranslator.js +95 -5
- package/dist/src/hooks/hookTranslator.js.map +1 -1
- package/dist/src/hooks/hookTranslator.test.js +171 -0
- package/dist/src/hooks/hookTranslator.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/ide/ide-connection-utils.test.js +25 -2
- package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
- package/dist/src/ide/types.d.ts +16 -16
- package/dist/src/index.d.ts +5 -2
- package/dist/src/index.js +5 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.d.ts +8 -0
- package/dist/src/mcp/oauth-provider.js +41 -0
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.js +7 -1
- package/dist/src/mcp/oauth-token-storage.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.test.js +55 -0
- package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
- package/dist/src/mcp/stored-token-provider.d.ts +27 -0
- package/dist/src/mcp/stored-token-provider.js +76 -0
- package/dist/src/mcp/stored-token-provider.js.map +1 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.js +2 -2
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.test.js +14 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -1
- package/dist/src/output/json-formatter.d.ts +1 -1
- package/dist/src/output/json-formatter.js +4 -1
- package/dist/src/output/json-formatter.js.map +1 -1
- package/dist/src/output/json-formatter.test.js +7 -0
- package/dist/src/output/json-formatter.test.js.map +1 -1
- package/dist/src/output/types.d.ts +1 -0
- package/dist/src/output/types.js.map +1 -1
- package/dist/src/policy/config.js +25 -0
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/config.test.js +80 -0
- package/dist/src/policy/config.test.js.map +1 -1
- package/dist/src/policy/core-tools-mapping.test.js +9 -1
- package/dist/src/policy/core-tools-mapping.test.js.map +1 -1
- package/dist/src/policy/policies/plan.toml +1 -1
- package/dist/src/policy/policies/write.toml +0 -7
- package/dist/src/policy/policy-engine.test.js +0 -8
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/sandboxPolicyManager.d.ts +20 -20
- package/dist/src/policy/stable-stringify.js +10 -6
- package/dist/src/policy/stable-stringify.js.map +1 -1
- package/dist/src/policy/stable-stringify.test.js +157 -0
- package/dist/src/policy/stable-stringify.test.js.map +1 -0
- package/dist/src/policy/types.d.ts +1 -0
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/prompts/promptProvider.js +8 -9
- package/dist/src/prompts/promptProvider.js.map +1 -1
- package/dist/src/prompts/promptProvider.test.js +3 -1
- package/dist/src/prompts/promptProvider.test.js.map +1 -1
- package/dist/src/prompts/snippets-memory.test.d.ts +6 -0
- package/dist/src/prompts/{snippets-memory-v2.test.js → snippets-memory.test.js} +5 -23
- package/dist/src/prompts/snippets-memory.test.js.map +1 -0
- package/dist/src/prompts/snippets.d.ts +6 -11
- package/dist/src/prompts/snippets.js +28 -30
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/prompts/snippets.legacy.d.ts +0 -1
- package/dist/src/prompts/snippets.legacy.js +8 -15
- package/dist/src/prompts/snippets.legacy.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 +9 -0
- package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js +18 -4
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js +77 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/defaultStrategy.js +1 -1
- package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.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 +15 -1
- 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 +32 -5
- package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +247 -25
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/sandbox/utils/commandSafety.js +22 -2
- package/dist/src/sandbox/utils/commandSafety.js.map +1 -1
- package/dist/src/sandbox/utils/commandSafety.test.d.ts +6 -0
- package/dist/src/sandbox/utils/commandSafety.test.js +85 -0
- package/dist/src/sandbox/utils/commandSafety.test.js.map +1 -0
- package/dist/src/scheduler/confirmation.test.js +29 -0
- package/dist/src/scheduler/confirmation.test.js.map +1 -1
- package/dist/src/scheduler/scheduler.js +15 -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/scheduler_parallel.test.js +37 -0
- package/dist/src/scheduler/scheduler_parallel.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/chatRecordingService.d.ts +14 -7
- package/dist/src/services/chatRecordingService.js +157 -133
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingService.test.js +189 -52
- package/dist/src/services/chatRecordingService.test.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 +43 -4
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +105 -1
- 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 +93 -0
- package/dist/src/services/memoryPatchUtils.js +310 -2
- package/dist/src/services/memoryPatchUtils.js.map +1 -1
- package/dist/src/services/memoryService.d.ts +2 -0
- package/dist/src/services/memoryService.js +214 -9
- package/dist/src/services/memoryService.js.map +1 -1
- package/dist/src/services/memoryService.test.js +133 -0
- package/dist/src/services/memoryService.test.js.map +1 -1
- package/dist/src/services/modelConfigService.d.ts +3 -0
- package/dist/src/services/modelConfigService.js +22 -13
- package/dist/src/services/modelConfigService.js.map +1 -1
- package/dist/src/services/modelConfigService.test.js +73 -0
- package/dist/src/services/modelConfigService.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.js +88 -41
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +22 -9
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.windows.integration.test.d.ts +6 -0
- package/dist/src/services/shellExecutionService.windows.integration.test.js +63 -0
- package/dist/src/services/shellExecutionService.windows.integration.test.js.map +1 -0
- package/dist/src/services/test-data/resolved-aliases-retry.golden.json +85 -7
- package/dist/src/services/test-data/resolved-aliases.golden.json +85 -7
- package/dist/src/services/trackerTypes.d.ts +4 -4
- package/dist/src/skills/skillManager.d.ts +4 -0
- package/dist/src/skills/skillManager.js +6 -0
- package/dist/src/skills/skillManager.js.map +1 -1
- package/dist/src/skills/skillManager.test.js +10 -0
- package/dist/src/skills/skillManager.test.js.map +1 -1
- package/dist/src/telemetry/file-exporters.d.ts +4 -1
- package/dist/src/telemetry/file-exporters.js +21 -3
- package/dist/src/telemetry/file-exporters.js.map +1 -1
- package/dist/src/telemetry/file-exporters.test.js +32 -2
- package/dist/src/telemetry/file-exporters.test.js.map +1 -1
- package/dist/src/telemetry/gcp-exporters.d.ts +3 -0
- package/dist/src/telemetry/gcp-exporters.js +72 -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/heap-snapshot.d.ts +12 -0
- package/dist/src/telemetry/heap-snapshot.js +35 -0
- package/dist/src/telemetry/heap-snapshot.js.map +1 -0
- package/dist/src/telemetry/heap-snapshot.test.d.ts +6 -0
- package/dist/src/telemetry/heap-snapshot.test.js +38 -0
- package/dist/src/telemetry/heap-snapshot.test.js.map +1 -0
- package/dist/src/telemetry/index.d.ts +1 -0
- package/dist/src/telemetry/index.js +1 -0
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +1 -0
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/memory-monitor.d.ts +5 -0
- package/dist/src/telemetry/memory-monitor.js +8 -0
- package/dist/src/telemetry/memory-monitor.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/test-utils/config.js +10 -1
- package/dist/src/test-utils/config.js.map +1 -1
- package/dist/src/tools/ask-user.js +25 -1
- package/dist/src/tools/ask-user.js.map +1 -1
- package/dist/src/tools/ask-user.test.js +46 -1
- package/dist/src/tools/ask-user.test.js.map +1 -1
- package/dist/src/tools/definitions/base-declarations.d.ts +0 -3
- package/dist/src/tools/definitions/base-declarations.js +0 -4
- package/dist/src/tools/definitions/base-declarations.js.map +1 -1
- package/dist/src/tools/definitions/coreTools.d.ts +1 -2
- package/dist/src/tools/definitions/coreTools.js +2 -8
- package/dist/src/tools/definitions/coreTools.js.map +1 -1
- package/dist/src/tools/definitions/coreToolsModelSnapshots.test.js +1 -2
- package/dist/src/tools/definitions/coreToolsModelSnapshots.test.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js +7 -31
- 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 +9 -26
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
- package/dist/src/tools/definitions/types.d.ts +0 -1
- package/dist/src/tools/edit.js +27 -5
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +37 -0
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/grep.js +14 -2
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +17 -0
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/jit-context.d.ts +1 -1
- package/dist/src/tools/jit-context.js +1 -4
- package/dist/src/tools/jit-context.js.map +1 -1
- package/dist/src/tools/jit-context.test.js +1 -13
- package/dist/src/tools/jit-context.test.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-manager.js +2 -1
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +29 -0
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.js +89 -50
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +353 -59
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/{xcode-mcp-fix-transport.d.ts → mcp-compliance-transport.d.ts} +6 -6
- package/dist/src/tools/{xcode-mcp-fix-transport.js → mcp-compliance-transport.js} +6 -6
- package/dist/src/tools/mcp-compliance-transport.js.map +1 -0
- package/dist/src/tools/mcp-compliance-transport.test.d.ts +6 -0
- package/dist/src/tools/mcp-compliance-transport.test.js +162 -0
- package/dist/src/tools/mcp-compliance-transport.test.js.map +1 -0
- package/dist/src/tools/memoryTool.d.ts +9 -31
- package/dist/src/tools/memoryTool.js +47 -262
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +41 -312
- package/dist/src/tools/memoryTool.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/read-many-files.js +2 -2
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +3 -7
- package/dist/src/tools/ripGrep.js +57 -35
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +197 -276
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +5 -3
- package/dist/src/tools/shell.js +130 -36
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +186 -14
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/shell_proactive.test.js +1 -0
- package/dist/src/tools/shell_proactive.test.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +3 -3
- package/dist/src/tools/tool-names.js +4 -5
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tool-registry.js +1 -1
- package/dist/src/tools/tool-registry.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/atCommandUtils.d.ts +35 -0
- package/dist/src/utils/atCommandUtils.js +163 -0
- package/dist/src/utils/atCommandUtils.js.map +1 -0
- package/dist/src/utils/atCommandUtils.test.d.ts +6 -0
- package/dist/src/utils/atCommandUtils.test.js +292 -0
- package/dist/src/utils/atCommandUtils.test.js.map +1 -0
- package/dist/src/utils/channel.d.ts +8 -0
- package/dist/src/utils/channel.js +21 -10
- package/dist/src/utils/channel.js.map +1 -1
- package/dist/src/utils/cryptoUtils.d.ts +11 -0
- package/dist/src/utils/cryptoUtils.js +19 -0
- package/dist/src/utils/cryptoUtils.js.map +1 -0
- package/dist/src/utils/cryptoUtils.test.d.ts +6 -0
- package/dist/src/utils/cryptoUtils.test.js +31 -0
- package/dist/src/utils/cryptoUtils.test.js.map +1 -0
- package/dist/src/utils/editor.d.ts +29 -3
- package/dist/src/utils/editor.js +94 -3
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/editor.test.js +176 -2
- package/dist/src/utils/editor.test.js.map +1 -1
- package/dist/src/utils/environmentContext.d.ts +2 -1
- package/dist/src/utils/environmentContext.js +15 -8
- package/dist/src/utils/environmentContext.js.map +1 -1
- package/dist/src/utils/environmentContext.test.js +4 -14
- package/dist/src/utils/environmentContext.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/events.d.ts +26 -1
- package/dist/src/utils/events.js +21 -2
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/events.test.js +39 -0
- package/dist/src/utils/events.test.js.map +1 -1
- package/dist/src/utils/extensionLoader.js +2 -2
- package/dist/src/utils/extensionLoader.js.map +1 -1
- package/dist/src/utils/extensionLoader.test.js +22 -15
- package/dist/src/utils/extensionLoader.test.js.map +1 -1
- package/dist/src/utils/fetch.d.ts +3 -3
- package/dist/src/utils/fetch.js +41 -17
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fetch.test.js +93 -17
- package/dist/src/utils/fetch.test.js.map +1 -1
- package/dist/src/utils/fileUtils.js +4 -1
- package/dist/src/utils/fileUtils.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/generateContentResponseUtilities.d.ts +1 -0
- package/dist/src/utils/generateContentResponseUtilities.js +37 -7
- package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.test.js +33 -0
- package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
- package/dist/src/utils/gitUtils.d.ts +5 -0
- package/dist/src/utils/gitUtils.js +11 -0
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/historyHardening.d.ts +37 -0
- package/dist/src/utils/historyHardening.js +332 -0
- package/dist/src/utils/historyHardening.js.map +1 -0
- package/dist/src/utils/historyHardening.test.d.ts +6 -0
- package/dist/src/utils/historyHardening.test.js +317 -0
- package/dist/src/utils/historyHardening.test.js.map +1 -0
- 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.d.ts +0 -20
- package/dist/src/utils/memoryDiscovery.js +57 -220
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +112 -403
- 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/partUtils.d.ts +26 -1
- package/dist/src/utils/partUtils.js +37 -0
- package/dist/src/utils/partUtils.js.map +1 -1
- package/dist/src/utils/path-validator.d.ts +17 -0
- package/dist/src/utils/path-validator.js +76 -0
- package/dist/src/utils/path-validator.js.map +1 -0
- package/dist/src/utils/path-validator.test.d.ts +6 -0
- package/dist/src/utils/path-validator.test.js +91 -0
- package/dist/src/utils/path-validator.test.js.map +1 -0
- package/dist/src/utils/pathReader.js +12 -0
- package/dist/src/utils/pathReader.js.map +1 -1
- package/dist/src/utils/pathReader.test.js +95 -0
- package/dist/src/utils/pathReader.test.js.map +1 -1
- package/dist/src/utils/paths.d.ts +19 -1
- package/dist/src/utils/paths.js +74 -9
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/paths.test.js +111 -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/ragLogger.d.ts +32 -0
- package/dist/src/utils/ragLogger.js +56 -0
- package/dist/src/utils/ragLogger.js.map +1 -0
- package/dist/src/utils/ragLogger.test.d.ts +6 -0
- package/dist/src/utils/ragLogger.test.js +97 -0
- package/dist/src/utils/ragLogger.test.js.map +1 -0
- package/dist/src/utils/retry.js +8 -3
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +17 -0
- package/dist/src/utils/retry.test.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/sessionOperations.d.ts +26 -0
- package/dist/src/utils/sessionOperations.js +177 -8
- package/dist/src/utils/sessionOperations.js.map +1 -1
- package/dist/src/utils/sessionUtils.d.ts +11 -5
- package/dist/src/utils/sessionUtils.js +139 -68
- package/dist/src/utils/sessionUtils.js.map +1 -1
- package/dist/src/utils/sessionUtils.test.js +31 -5
- package/dist/src/utils/sessionUtils.test.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +9 -1
- package/dist/src/utils/shell-utils.js +51 -20
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +87 -46
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/textUtils.d.ts +12 -2
- package/dist/src/utils/textUtils.js +30 -3
- package/dist/src/utils/textUtils.js.map +1 -1
- package/dist/src/utils/textUtils.test.js +96 -1
- package/dist/src/utils/textUtils.test.js.map +1 -1
- package/dist/src/utils/tokenCalculation.d.ts +3 -2
- package/dist/src/utils/tokenCalculation.js +9 -5
- 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 +18 -18
- package/dist/src/context/historyObserver.d.ts +0 -28
- package/dist/src/context/historyObserver.js +0 -63
- package/dist/src/context/historyObserver.js.map +0 -1
- package/dist/src/policy/memory-manager-policy.test.js +0 -80
- package/dist/src/policy/memory-manager-policy.test.js.map +0 -1
- package/dist/src/policy/policies/memory-manager.toml +0 -20
- package/dist/src/prompts/snippets-memory-v2.test.js.map +0 -1
- package/dist/src/tools/xcode-mcp-fix-transport.js.map +0 -1
- package/dist/src/tools/xcode-mcp-fix-transport.test.d.ts +0 -1
- package/dist/src/tools/xcode-mcp-fix-transport.test.js +0 -98
- package/dist/src/tools/xcode-mcp-fix-transport.test.js.map +0 -1
- package/dist/src/utils/systemEncoding.d.ts +0 -40
- package/dist/src/utils/systemEncoding.js +0 -150
- package/dist/src/utils/systemEncoding.js.map +0 -1
- package/dist/src/utils/systemEncoding.test.js +0 -369
- package/dist/src/utils/systemEncoding.test.js.map +0 -1
- /package/dist/src/{policy/memory-manager-policy.test.d.ts → agents/local-session-invocation.test.d.ts} +0 -0
- /package/dist/src/{prompts/snippets-memory-v2.test.d.ts → agents/local-subagent-protocol.test.d.ts} +0 -0
- /package/dist/src/{utils/systemEncoding.test.d.ts → policy/stable-stringify.test.d.ts} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# Auto Memory
|
|
2
2
|
|
|
3
3
|
Auto Memory is an experimental feature that mines your past Cell CLI sessions in
|
|
4
|
-
the background and
|
|
5
|
-
[Agent Skills](./skills.md). You review
|
|
6
|
-
|
|
4
|
+
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,32 @@ before it becomes available to future sessions.
|
|
|
12
13
|
## Overview
|
|
13
14
|
|
|
14
15
|
Every session you run with Cell 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
|
-
Auto Memory complements
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
Auto Memory complements direct memory-file editing. The agent can still persist
|
|
33
|
+
explicit user instructions by editing the appropriate Markdown memory file; Auto
|
|
34
|
+
Memory infers candidates from past sessions, writes reviewable patches or skill
|
|
35
|
+
drafts, and never applies them without your approval.
|
|
31
36
|
|
|
32
37
|
## Prerequisites
|
|
33
38
|
|
|
34
39
|
- Cell CLI installed and authenticated.
|
|
35
|
-
- At least
|
|
36
|
-
|
|
40
|
+
- At least one idle project session with 10 or more user messages. Auto Memory
|
|
41
|
+
ignores active, trivial, and sub-agent sessions.
|
|
37
42
|
|
|
38
43
|
## How to enable Auto Memory
|
|
39
44
|
|
|
@@ -66,36 +71,45 @@ UI, consume your interactive turns, or surface tool prompts.
|
|
|
66
71
|
been idle for at least three hours and contain at least 10 user messages.
|
|
67
72
|
2. **Lock acquisition.** A lock file in the project's memory directory
|
|
68
73
|
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
|
-
|
|
74
|
+
a time. A state file records processed session versions, and extraction is
|
|
75
|
+
throttled so short back-to-back CLI launches do not repeatedly scan history.
|
|
76
|
+
3. **Candidate extraction.** A background extraction agent reviews the session
|
|
77
|
+
index, reads any sessions that look like they contain durable memory or
|
|
78
|
+
repeated procedural workflows, and drafts candidates. It defaults to
|
|
79
|
+
creating no artifacts unless the evidence is strong, so many runs produce no
|
|
80
|
+
inbox items.
|
|
81
|
+
4. **Safety boundaries.** Auto Memory writes candidates to a review inbox. It
|
|
82
|
+
cannot directly edit active memory files, settings, credentials, or project
|
|
83
|
+
`GEMINI.md` files.
|
|
84
|
+
5. **Patch validation.** Skill update patches are parsed and dry-run before
|
|
85
|
+
they are surfaced. Memory patches are parsed, target-allowlisted, and
|
|
86
|
+
applied atomically only when you approve them from the inbox.
|
|
87
|
+
6. **Notification.** When a run produces new candidates, Cell CLI surfaces an
|
|
88
|
+
inline message telling you how many items are waiting.
|
|
89
|
+
|
|
90
|
+
## How to review extracted items
|
|
83
91
|
|
|
84
92
|
Use the `/memory inbox` slash command to open the inbox dialog at any time:
|
|
85
93
|
|
|
86
94
|
**Command:** `/memory inbox`
|
|
87
95
|
|
|
88
|
-
The dialog
|
|
89
|
-
|
|
96
|
+
The dialog groups pending items into new skills, skill updates, and memory
|
|
97
|
+
updates. From there you can:
|
|
90
98
|
|
|
91
99
|
- **Read** the full `SKILL.md` body before deciding.
|
|
92
100
|
- **Promote** a skill to your user (`~/.cell-cli/skills/`) or workspace
|
|
93
101
|
(`.cell-cli/skills/`) directory.
|
|
94
102
|
- **Discard** a skill you do not want.
|
|
95
103
|
- **Apply** or reject a `.patch` proposal against an existing skill.
|
|
104
|
+
- **Review** memory diffs before they touch active files.
|
|
105
|
+
- **Apply** or dismiss private and global memory patches. Private patches target
|
|
106
|
+
the project memory directory; global patches target only your personal
|
|
107
|
+
`~/.cell-cli/GEMINI.md` file.
|
|
96
108
|
|
|
97
109
|
Promoted skills become discoverable in the next session and follow the standard
|
|
98
|
-
[skill discovery precedence](./skills.md#skill-discovery-tiers).
|
|
110
|
+
[skill discovery precedence](./skills.md#skill-discovery-tiers). Applied memory
|
|
111
|
+
patches update the underlying memory files and reload memory for the current
|
|
112
|
+
session.
|
|
99
113
|
|
|
100
114
|
## How to disable Auto Memory
|
|
101
115
|
|
|
@@ -117,19 +131,26 @@ start. Existing inbox items remain on disk; you can either drain them with
|
|
|
117
131
|
## Data and privacy
|
|
118
132
|
|
|
119
133
|
- Auto Memory only reads session files that already exist locally on your
|
|
120
|
-
machine.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
-
|
|
125
|
-
|
|
134
|
+
machine.
|
|
135
|
+
- Auto Memory uses model calls to analyze selected local transcript content
|
|
136
|
+
during extraction. No candidates are applied automatically, but transcript
|
|
137
|
+
excerpts may be sent to the configured model as part of those calls.
|
|
138
|
+
- The extraction agent is instructed to redact secrets, tokens, and credentials
|
|
139
|
+
it encounters and to never copy large tool outputs verbatim.
|
|
140
|
+
- Drafted skills and memory patches live in your project's memory directory
|
|
141
|
+
until you promote, apply, dismiss, or discard them. They are not automatically
|
|
142
|
+
loaded into any session.
|
|
126
143
|
|
|
127
144
|
## Limitations
|
|
128
145
|
|
|
129
|
-
- The
|
|
130
|
-
on the model's ability to recognize durable patterns versus one-off
|
|
131
|
-
|
|
132
|
-
|
|
146
|
+
- The extraction agent runs on a preview Gemini Flash model. Extraction quality
|
|
147
|
+
depends on the model's ability to recognize durable patterns versus one-off
|
|
148
|
+
incidents.
|
|
149
|
+
- Auto Memory does not extract memory or skills from the current session. It
|
|
150
|
+
only considers sessions that have been idle for three hours or more.
|
|
151
|
+
- Project or workspace shared instructions in project `GEMINI.md` files are not
|
|
152
|
+
auto-extractable. Auto Memory can propose private project memory, global
|
|
153
|
+
personal memory, and skills.
|
|
133
154
|
- Inbox items are stored per project. Skills extracted in one workspace are not
|
|
134
155
|
visible from another until you promote them to the user-scope skills
|
|
135
156
|
directory.
|
|
@@ -138,6 +159,6 @@ start. Existing inbox items remain on disk; you can either drain them with
|
|
|
138
159
|
|
|
139
160
|
- Learn how skills are discovered and activated in [Agent Skills](./skills.md).
|
|
140
161
|
- Explore the [memory management tutorial](./tutorials/memory-management.md) for
|
|
141
|
-
the complementary
|
|
162
|
+
the complementary explicit-memory and `GEMINI.md` workflows.
|
|
142
163
|
- Review the experimental settings catalog in
|
|
143
164
|
[Settings](./settings.md#experimental).
|
|
@@ -9,7 +9,7 @@ parameters.
|
|
|
9
9
|
| ---------------------------------- | ---------------------------------- | ------------------------------------------------------------ |
|
|
10
10
|
| `gemini` | Start interactive REPL | `gemini` |
|
|
11
11
|
| `gemini -p "query"` | Query non-interactively | `gemini -p "summarize README.md"` |
|
|
12
|
-
|
|
|
12
|
+
| gemini "query" | Query and continue interactively | gemini "explain this project" |
|
|
13
13
|
| `cat file \| gemini` | Process piped content | `cat logs.txt \| gemini`<br>`Get-Content logs.txt \| gemini` |
|
|
14
14
|
| `gemini -i "query"` | Execute and continue interactively | `gemini -i "What is the purpose of this project?"` |
|
|
15
15
|
| `gemini -r "latest"` | Continue most recent session | `gemini -r "latest"` |
|
|
@@ -33,6 +33,7 @@ These commands are available within the interactive REPL.
|
|
|
33
33
|
| -------------------- | ----------------------------------------------- |
|
|
34
34
|
| `/skills reload` | Reload discovered skills from disk |
|
|
35
35
|
| `/agents reload` | Reload the agent registry |
|
|
36
|
+
| `/commands list` | List available custom slash commands |
|
|
36
37
|
| `/commands reload` | Reload custom slash commands |
|
|
37
38
|
| `/memory reload` | Reload context files (for example, `GEMINI.md`) |
|
|
38
39
|
| `/mcp reload` | Restart and reload MCP servers |
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
# Creating Agent Skills
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Agent Skills let you extend Cell CLI with specialized expertise, procedural
|
|
4
|
+
workflows, and task-specific resources. This guide walks you through both
|
|
5
|
+
automated and manual methods for creating and organizing your skills.
|
|
5
6
|
|
|
6
|
-
##
|
|
7
|
+
## Quickstart: Create a skill with a prompt
|
|
7
8
|
|
|
8
|
-
The
|
|
9
|
-
skill
|
|
9
|
+
The fastest way to create a new skill is to use the built-in `skill-creator`.
|
|
10
|
+
This meta-skill guides you through designing, scaffolding, and validating your
|
|
11
|
+
expertise.
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
Simply ask Cell CLI to create a skill for you:
|
|
12
14
|
|
|
13
|
-
> "
|
|
15
|
+
> "Create a new skill called 'code-reviewer' that analyzes local files for
|
|
16
|
+
> common errors and style violations."
|
|
14
17
|
|
|
15
|
-
|
|
18
|
+
Gemini will then:
|
|
16
19
|
|
|
17
20
|
1. Generate a new directory for your skill (for example, `my-new-skill/`).
|
|
18
21
|
2. Create a `SKILL.md` file with the necessary YAML frontmatter (`name` and
|
|
@@ -20,61 +23,185 @@ Cell CLI will then use the `skill-creator` to generate the skill:
|
|
|
20
23
|
3. Create the standard resource directories: `scripts/`, `references/`, and
|
|
21
24
|
`assets/`.
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
Once created, you can find your new skill in `.cell-cli/skills/code-reviewer/`.
|
|
24
27
|
|
|
25
|
-
|
|
28
|
+
## Manual creation
|
|
26
29
|
|
|
27
30
|
1. **Create a directory** for your skill (for example, `my-new-skill/`).
|
|
28
31
|
2. **Create a `SKILL.md` file** inside the new directory.
|
|
29
32
|
|
|
30
|
-
|
|
31
|
-
structure.
|
|
33
|
+
### 1. Create the directory structure
|
|
32
34
|
|
|
33
|
-
|
|
35
|
+
The first step is to create the necessary folders for your skill and its
|
|
36
|
+
scripts.
|
|
34
37
|
|
|
35
|
-
|
|
38
|
+
**macOS/Linux**
|
|
36
39
|
|
|
37
|
-
|
|
40
|
+
```bash
|
|
41
|
+
mkdir -p .cell-cli/skills/code-reviewer/scripts
|
|
42
|
+
```
|
|
38
43
|
|
|
39
|
-
|
|
40
|
-
following structure for organizing your skill's resources:
|
|
44
|
+
**Windows (PowerShell)**
|
|
41
45
|
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
├── SKILL.md (Required) Instructions and metadata
|
|
45
|
-
├── scripts/ (Optional) Executable scripts
|
|
46
|
-
├── references/ (Optional) Static documentation
|
|
47
|
-
└── assets/ (Optional) Templates and other resources
|
|
46
|
+
```powershell
|
|
47
|
+
New-Item -ItemType Directory -Force -Path ".cell-cli\skills\code-reviewer\scripts"
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
### `SKILL.md`
|
|
50
|
+
### 2. Define the skill (`SKILL.md`)
|
|
51
51
|
|
|
52
|
-
The `SKILL.md` file
|
|
53
|
-
|
|
52
|
+
The `SKILL.md` file defines the skill's purpose and instructions for the agent.
|
|
53
|
+
Create a file at `.cell-cli/skills/code-reviewer/SKILL.md`.
|
|
54
54
|
|
|
55
55
|
```markdown
|
|
56
56
|
---
|
|
57
57
|
name: code-reviewer
|
|
58
58
|
description:
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
Expertise in reviewing code changes for correctness, security, and style. Use
|
|
60
|
+
when the user asks to "review" their code or a PR.
|
|
61
61
|
---
|
|
62
62
|
|
|
63
|
-
# Code Reviewer
|
|
63
|
+
# Code Reviewer Instructions
|
|
64
|
+
|
|
65
|
+
You act as a senior software engineer specialized in code quality. When this
|
|
66
|
+
skill is active, you MUST:
|
|
67
|
+
|
|
68
|
+
1. **Analyze**: Review the provided code for logical errors, security
|
|
69
|
+
vulnerabilities, and style violations.
|
|
70
|
+
2. **Review**: Use the bundled `scripts/review.js` utility to perform an
|
|
71
|
+
automated check.
|
|
72
|
+
3. **Feedback**: Provide constructive feedback, clearly distinguishing between
|
|
73
|
+
critical issues and minor improvements.
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 3. Add the tool logic
|
|
77
|
+
|
|
78
|
+
Skills can bundle resources like scripts to perform deterministic tasks. Create
|
|
79
|
+
a file at `.cell-cli/skills/code-reviewer/scripts/review.js`.
|
|
80
|
+
|
|
81
|
+
```javascript
|
|
82
|
+
// .cell-cli/skills/code-reviewer/scripts/review.js
|
|
83
|
+
const file = process.argv[2];
|
|
64
84
|
|
|
65
|
-
|
|
85
|
+
if (!file) {
|
|
86
|
+
console.error('Usage: node review.js <file>');
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
66
89
|
|
|
67
|
-
|
|
90
|
+
console.log(`Reviewing ${file}...`);
|
|
91
|
+
// Simple mock review logic
|
|
92
|
+
setTimeout(() => {
|
|
93
|
+
console.log(`Result: Success (No major issues found in ${file})`);
|
|
94
|
+
}, 500);
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 4. Test the skill
|
|
98
|
+
|
|
99
|
+
Cell CLI automatically discovers skills in the `.cell-cli/skills` directory.
|
|
100
|
+
|
|
101
|
+
1. Start a new session and ask a question that triggers the skill's
|
|
102
|
+
description: "Can you review index.js"
|
|
103
|
+
2. Gemini identifies the request matches the `code-reviewer` description and
|
|
104
|
+
asks for permission to activate it.
|
|
105
|
+
3. Once you approve, Gemini executes the bundled script:
|
|
106
|
+
`node .cell-cli/skills/code-reviewer/scripts/review.js index.js`
|
|
68
107
|
|
|
69
|
-
|
|
108
|
+
To determine whether your skill has been correctly loaded, run the command:
|
|
70
109
|
|
|
71
|
-
|
|
72
|
-
|
|
110
|
+
```bash
|
|
111
|
+
/skills
|
|
73
112
|
```
|
|
74
113
|
|
|
114
|
+
### 5. Optional: Share your skill
|
|
115
|
+
|
|
116
|
+
You can share your skills in several ways depending on your target audience.
|
|
117
|
+
|
|
118
|
+
- **Workspace skills**: Commit your skill to a `.cell-cli/skills/` directory in
|
|
119
|
+
your project repository.
|
|
120
|
+
- **Extensions**: Bundle your skill within a
|
|
121
|
+
[Cell CLI extension](../extensions/writing-extensions.md).
|
|
122
|
+
- **Git repositories**: Share the skill directory as a standalone Git repo and
|
|
123
|
+
install it using `gemini skills install <url>`.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Core concepts
|
|
128
|
+
|
|
129
|
+
Now that you've built your first skill, let's explore the core components and
|
|
130
|
+
workflows for developing more complex expertise.
|
|
131
|
+
|
|
132
|
+
### Skill structure
|
|
133
|
+
|
|
134
|
+
While a `SKILL.md` file is the only required component, we recommend the
|
|
135
|
+
following structure for organizing your skill's resources.
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
my-skill/
|
|
139
|
+
├── SKILL.md (Required) Instructions and metadata
|
|
140
|
+
├── scripts/ (Optional) Executable scripts
|
|
141
|
+
├── references/ (Optional) Static documentation
|
|
142
|
+
└── assets/ (Optional) Templates and other resources
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
When a skill is activated, the model is granted access to this entire directory.
|
|
146
|
+
You can instruct the model to use the tools and files found within these
|
|
147
|
+
folders.
|
|
148
|
+
|
|
149
|
+
### Metadata and triggers
|
|
150
|
+
|
|
151
|
+
The `SKILL.md` file uses YAML frontmatter for metadata.
|
|
152
|
+
|
|
75
153
|
- **`name`**: A unique identifier for the skill. This should match the directory
|
|
76
154
|
name.
|
|
77
|
-
- **`description`**:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
155
|
+
- **`description`**: **CRITICAL.** This is how Gemini decides when to use the
|
|
156
|
+
skill. Be specific about the tasks it handles and the keywords that should
|
|
157
|
+
trigger it.
|
|
158
|
+
|
|
159
|
+
### Discovery tiers
|
|
160
|
+
|
|
161
|
+
Cell CLI discovers skills from several locations, following a specific order of
|
|
162
|
+
precedence (lowest to highest):
|
|
163
|
+
|
|
164
|
+
1. **Built-in Skills**: Included with Cell CLI (pre-approved).
|
|
165
|
+
2. **Extension Skills**: Bundled within [extensions](../extensions/).
|
|
166
|
+
3. **User Skills**: `~/.cell-cli/skills/` or the `~/.agents/skills/` alias.
|
|
167
|
+
4. **Workspace Skills**: `.cell-cli/skills/` or the `.agents/skills/` alias.
|
|
168
|
+
|
|
169
|
+
### Discovery aliases
|
|
170
|
+
|
|
171
|
+
You can use `.agents/skills` as an alternative to `.cell-cli/skills`. This alias
|
|
172
|
+
is compatible with other AI agent tools following the
|
|
173
|
+
[Agent Skills](https://agentskills.io) standard.
|
|
174
|
+
|
|
175
|
+
## Advanced development
|
|
176
|
+
|
|
177
|
+
Once you've built a basic skill, you can use specialized scripts and workflows
|
|
178
|
+
to streamline your development process.
|
|
179
|
+
|
|
180
|
+
### Creation scripts
|
|
181
|
+
|
|
182
|
+
If you are developing a skill and want to use the same scripts the built-in
|
|
183
|
+
tools use, you can find them in the core package. These scripts help automate
|
|
184
|
+
the initialization, validation, and packaging of skills.
|
|
185
|
+
|
|
186
|
+
- **Initialize**: `node scripts/init_skill.cjs <name> --path <dir>`
|
|
187
|
+
- **Validate**: `node scripts/validate_skill.cjs <path/to/skill>`
|
|
188
|
+
- **Package**: `node scripts/package_skill.cjs <path/to/skill>` (Creates a
|
|
189
|
+
`.skill` zip file)
|
|
190
|
+
|
|
191
|
+
### Linking for local development
|
|
192
|
+
|
|
193
|
+
If you are developing a skill in a separate directory, you can link it to your
|
|
194
|
+
user skills directory for testing:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
gemini skills link .
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Next steps
|
|
201
|
+
|
|
202
|
+
- [Skill best practices](./skills-best-practices.md): Learn strategies for
|
|
203
|
+
building reliable and effective skills.
|
|
204
|
+
- [Agent Skills overview](./skills.md): Deep dive into discovery tiers and the
|
|
205
|
+
skill lifecycle.
|
|
206
|
+
- [Get started with Agent Skills](./tutorials/skills-getting-started.md): A
|
|
207
|
+
quick walkthrough of triggering and using skills.
|
|
@@ -34,6 +34,7 @@ separator (`/` or `\`) being converted to a colon (`:`).
|
|
|
34
34
|
> [!TIP]
|
|
35
35
|
> After creating or modifying `.toml` command files, run
|
|
36
36
|
> `/commands reload` to pick up your changes without restarting the CLI.
|
|
37
|
+
> To see all available command files, run `/commands list`.
|
|
37
38
|
|
|
38
39
|
## TOML file format (v1)
|
|
39
40
|
|
|
@@ -65,9 +65,6 @@ You can interact with the loaded context files by using the `/memory` command.
|
|
|
65
65
|
being provided to the model.
|
|
66
66
|
- **`/memory reload`**: Forces a re-scan and reload of all `GEMINI.md` files
|
|
67
67
|
from all configured locations.
|
|
68
|
-
- **`/memory add <text>`**: Appends your text to your global
|
|
69
|
-
`~/.cell-cli/GEMINI.md` file. This lets you add persistent memories on the
|
|
70
|
-
fly.
|
|
71
68
|
|
|
72
69
|
## Modularize context with imports
|
|
73
70
|
|
|
@@ -34,11 +34,11 @@ Cell CLI will use a locally-running **Gemma** model to make routing decisions
|
|
|
34
34
|
reduce costs associated with hosted model usage while offering similar routing
|
|
35
35
|
decision latency and quality.
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
The easiest way to set this up is using the automated `gemini gemma setup`
|
|
38
|
+
command.
|
|
39
39
|
|
|
40
40
|
For more details on how to configure local model routing, see
|
|
41
|
-
[Local Model Routing](../core/
|
|
41
|
+
[`gemini gemma` — Local Model Routing Setup](../core/gemma-setup.md).
|
|
42
42
|
|
|
43
43
|
### Model selection precedence
|
|
44
44
|
|
|
@@ -136,7 +136,6 @@ These are the only allowed tools:
|
|
|
136
136
|
[`replace`](../tools/file-system.md#6-replace-edit) only allowed for `.md`
|
|
137
137
|
files in the `~/.cell-cli/tmp/<project>/<session-id>/plans/` directory or your
|
|
138
138
|
[custom plans directory](#custom-plan-directory-and-policies).
|
|
139
|
-
- **Memory:** [`save_memory`](../tools/memory.md)
|
|
140
139
|
- **Skills:** [`activate_skill`](../cli/skills.md) (allows loading specialized
|
|
141
140
|
instructions and resources in a read-only manner)
|
|
142
141
|
|
|
@@ -468,7 +467,8 @@ associated plan files and task trackers.
|
|
|
468
467
|
|
|
469
468
|
- **Default behavior:** Sessions (and their plans) are retained for **30 days**.
|
|
470
469
|
- **Configuration:** You can customize this behavior via the `/settings` command
|
|
471
|
-
(search for **Session
|
|
470
|
+
(search for **Enable Session Cleanup** or **Keep chat history**) or in your
|
|
471
|
+
`settings.json` file. See
|
|
472
472
|
[session retention](../cli/session-management.md#session-retention) for more
|
|
473
473
|
details.
|
|
474
474
|
|
|
@@ -40,6 +40,7 @@ they appear in the UI.
|
|
|
40
40
|
| Enable Session Cleanup | `general.sessionRetention.enabled` | Enable automatic session cleanup | `true` |
|
|
41
41
|
| Keep chat history | `general.sessionRetention.maxAge` | Automatically delete chats older than this time period (e.g., "30d", "7d", "24h", "1w") | `"30d"` |
|
|
42
42
|
| Topic & Update Narration | `general.topicUpdateNarration` | Enable the Topic & Update communication model for reduced chattiness and structured progress reporting. | `true` |
|
|
43
|
+
| Log RAG Snippets | `general.logRagSnippets` | Log full Code Customization (RAG) retrieved snippets to a local file for debugging. | `false` |
|
|
43
44
|
|
|
44
45
|
### Output
|
|
45
46
|
|
|
@@ -158,6 +159,7 @@ they appear in the UI.
|
|
|
158
159
|
| UI Label | Setting | Description | Default |
|
|
159
160
|
| --------------------------------- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
|
|
160
161
|
| Auto Configure Max Old Space Size | `advanced.autoConfigureMemory` | Automatically configure Node.js memory limits. Note: Because memory is allocated during the initial process boot, this setting is only read from the global user settings file and ignores workspace-level overrides. | `true` |
|
|
162
|
+
| Ignore Local .env | `advanced.ignoreLocalEnv` | Whether to ignore generic .env files in the project directory. | `false` |
|
|
161
163
|
|
|
162
164
|
### LoadMemoryFromIncludeDirectories
|
|
163
165
|
|
|
@@ -179,25 +181,24 @@ they appear in the UI.
|
|
|
179
181
|
|
|
180
182
|
### Experimental
|
|
181
183
|
|
|
182
|
-
| UI Label | Setting | Description
|
|
183
|
-
| ---------------------------------------------------- | ----------------------------------------------- |
|
|
184
|
-
| Gemma Models | `experimental.gemma` | Enable access to Gemma 4 models
|
|
185
|
-
| Voice Mode | `experimental.voiceMode` | Enable experimental voice dictation and commands (/voice, /voice model).
|
|
186
|
-
| Voice Activation Mode | `experimental.voice.activationMode` | How to trigger voice recording with the Space key.
|
|
187
|
-
| Voice Transcription Backend | `experimental.voice.backend` | The backend to use for voice transcription.
|
|
188
|
-
| Whisper Model | `experimental.voice.whisperModel` | The Whisper model to use for local transcription.
|
|
189
|
-
| Voice Stop Grace Period (ms) | `experimental.voice.stopGracePeriodMs` | How long to wait for final transcription after stopping recording.
|
|
190
|
-
| Enable Git Worktrees | `experimental.worktrees` | Enable automated Git worktree management for parallel work.
|
|
191
|
-
| 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).
|
|
192
|
-
| 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).
|
|
193
|
-
| Model Steering | `experimental.modelSteering` | Enable model steering (user hints) to guide the model during tool execution.
|
|
194
|
-
| Direct Web Fetch | `experimental.directWebFetch` | Enable web fetch behavior that bypasses LLM summarization.
|
|
195
|
-
| Enable Gemma Model Router | `experimental.gemmaModelRouter.enabled` | Enable the Gemma Model Router (experimental). Requires a local endpoint serving Gemma via the Gemini API using LiteRT-LM shim.
|
|
196
|
-
| Auto-start LiteRT Server | `experimental.gemmaModelRouter.autoStartServer` | Automatically start the LiteRT-LM server when Cell CLI starts and the Gemma router is enabled.
|
|
197
|
-
| Memory
|
|
198
|
-
|
|
|
199
|
-
|
|
|
200
|
-
| Enable Context Management | `experimental.contextManagement` | Enable logic for context management. | `false` |
|
|
184
|
+
| UI Label | Setting | Description | Default |
|
|
185
|
+
| ---------------------------------------------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
|
|
186
|
+
| Gemma Models | `experimental.gemma` | Enable access to Gemma 4 models via Gemini API. | `true` |
|
|
187
|
+
| Voice Mode | `experimental.voiceMode` | Enable experimental voice dictation and commands (/voice, /voice model). | `false` |
|
|
188
|
+
| Voice Activation Mode | `experimental.voice.activationMode` | How to trigger voice recording with the Space key. | `"push-to-talk"` |
|
|
189
|
+
| 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"` |
|
|
190
|
+
| Whisper Model | `experimental.voice.whisperModel` | The Whisper model to use for local transcription. | `"ggml-base.en.bin"` |
|
|
191
|
+
| Voice Stop Grace Period (ms) | `experimental.voice.stopGracePeriodMs` | How long to wait for final transcription after stopping recording. | `4000` |
|
|
192
|
+
| Enable Git Worktrees | `experimental.worktrees` | Enable automated Git worktree management for parallel work. | `false` |
|
|
193
|
+
| 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` |
|
|
194
|
+
| 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` |
|
|
195
|
+
| Model Steering | `experimental.modelSteering` | Enable model steering (user hints) to guide the model during tool execution. | `false` |
|
|
196
|
+
| Direct Web Fetch | `experimental.directWebFetch` | Enable web fetch behavior that bypasses LLM summarization. | `false` |
|
|
197
|
+
| Enable Gemma Model Router | `experimental.gemmaModelRouter.enabled` | Enable the Gemma Model Router (experimental). Requires a local endpoint serving Gemma via the Gemini API using LiteRT-LM shim. | `false` |
|
|
198
|
+
| Auto-start LiteRT Server | `experimental.gemmaModelRouter.autoStartServer` | Automatically start the LiteRT-LM server when Cell CLI starts and the Gemma router is enabled. | `false` |
|
|
199
|
+
| Auto Memory | `experimental.autoMemory` | Automatically extract memory patches and skills from past sessions in the background. Every change is written as a unified diff `.patch` file under `<projectMemoryDir>/.inbox/<kind>/` and held for review in /memory inbox; nothing is applied until you approve it. | `false` |
|
|
200
|
+
| Use the generalist profile to manage agent contexts. | `experimental.generalistProfile` | Suitable for general coding and software development tasks. | `false` |
|
|
201
|
+
| Enable Context Management | `experimental.contextManagement` | Enable logic for context management. | `false` |
|
|
201
202
|
|
|
202
203
|
### Skills
|
|
203
204
|
|