@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,110 +1,158 @@
|
|
|
1
1
|
# Get started with Agent Skills
|
|
2
2
|
|
|
3
|
-
Agent Skills extend Cell CLI with specialized expertise. In this
|
|
4
|
-
learn how to create your first skill, bundle custom
|
|
5
|
-
during a session.
|
|
3
|
+
Agent Skills extend Cell CLI with specialized expertise. In this tutorial,
|
|
4
|
+
you'll learn how to create your first skill, bundle custom logic, and activate
|
|
5
|
+
it during a session.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Create your first skill
|
|
8
8
|
|
|
9
|
-
A skill is defined by a directory containing a `SKILL.md` file
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
A skill is defined by a directory containing a `SKILL.md` file and
|
|
10
|
+
subdirectories containing reference materials or scripts used by the skill.
|
|
11
|
+
Let's create an **API Auditor** skill that runs a script to help you verify if
|
|
12
|
+
local or remote endpoints are responding correctly.
|
|
12
13
|
|
|
13
|
-
### Create the directory structure
|
|
14
|
+
### 1. Create the directory structure
|
|
15
|
+
|
|
16
|
+
The first step is to create the necessary folders for your skill and its
|
|
17
|
+
scripts.
|
|
18
|
+
|
|
19
|
+
**macOS/Linux**
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
mkdir -p .cell-cli/skills/api-auditor/scripts
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Windows (PowerShell)**
|
|
26
|
+
|
|
27
|
+
```powershell
|
|
28
|
+
New-Item -ItemType Directory -Force -Path ".cell-cli\skills\api-auditor\scripts"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 2. Create the definition (`SKILL.md`)
|
|
32
|
+
|
|
33
|
+
The `SKILL.md` file defines the skill's purpose and instructions for the agent.
|
|
34
|
+
Create a file at `.cell-cli/skills/api-auditor/SKILL.md`. This tells the agent
|
|
35
|
+
_when_ to use the skill and _how_ to behave.
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
---
|
|
39
|
+
name: api-auditor
|
|
40
|
+
description:
|
|
41
|
+
Expertise in auditing and testing API endpoints. Use when the user asks to
|
|
42
|
+
"check", "test", or "audit" a URL or API.
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
# API Auditor Instructions
|
|
46
|
+
|
|
47
|
+
You act as a QA engineer specialized in API reliability. When this skill is
|
|
48
|
+
active, you MUST:
|
|
49
|
+
|
|
50
|
+
1. **Audit**: Use the bundled `scripts/audit.js` utility to check the status of
|
|
51
|
+
the provided URL.
|
|
52
|
+
2. **Report**: Analyze the output (status codes, latency) and explain any
|
|
53
|
+
failures in plain English.
|
|
54
|
+
3. **Secure**: Remind the user if they are testing a sensitive endpoint without
|
|
55
|
+
an `https://` protocol.
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 3. Add the tool logic
|
|
59
|
+
|
|
60
|
+
Skills can bundle resources like scripts to perform deterministic tasks. Create
|
|
61
|
+
a file at `.cell-cli/skills/api-auditor/scripts/audit.js`. This is the code the
|
|
62
|
+
agent will run.
|
|
63
|
+
|
|
64
|
+
```javascript
|
|
65
|
+
// .cell-cli/skills/api-auditor/scripts/audit.js
|
|
66
|
+
const url = process.argv[2];
|
|
67
|
+
|
|
68
|
+
if (!url) {
|
|
69
|
+
console.error('Usage: node audit.js <url>');
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
console.log(`Auditing ${url}...`);
|
|
74
|
+
fetch(url, { method: 'HEAD' })
|
|
75
|
+
.then((r) => console.log(`Result: Success (Status ${r.status})`))
|
|
76
|
+
.catch((e) => console.error(`Result: Failed (${e.message})`));
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Verify discovery
|
|
80
|
+
|
|
81
|
+
Cell CLI automatically discovers skills in the `.cell-cli/skills` directory (as
|
|
82
|
+
well as the `.agents/skills` alias).
|
|
83
|
+
|
|
84
|
+
To check if Cell CLI found your new skill, use the `/skills list` command within
|
|
85
|
+
an interactive session:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
/skills list
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
You should see `api-auditor` in the list of available skills. If you just added
|
|
92
|
+
the files, you can run `/skills reload` to refresh the list without restarting
|
|
93
|
+
the session.
|
|
94
|
+
|
|
95
|
+
### If your skill doesn't appear
|
|
96
|
+
|
|
97
|
+
If `/skills list` doesn't show your skill, check the following:
|
|
98
|
+
|
|
99
|
+
1. **The folder must be trusted (workspace skills only).** Skills under
|
|
100
|
+
`<workspace>/.cell-cli/skills/` are only loaded when the workspace folder is
|
|
101
|
+
marked as trusted. Run `/trust` and restart the session if needed. Skills
|
|
102
|
+
under `~/.cell-cli/skills/` (user scope) are not affected by trust.
|
|
103
|
+
2. **Check the path layout.** `SKILL.md` is discovered either at the root of
|
|
104
|
+
the skills directory (`.cell-cli/skills/SKILL.md`) or one directory deep
|
|
105
|
+
(`.cell-cli/skills/<skill-name>/SKILL.md`). The recommended layout uses a
|
|
106
|
+
subdirectory per skill so you can bundle scripts and other resources
|
|
107
|
+
alongside it. Files nested more than one directory deep are not discovered.
|
|
108
|
+
3. **The filename must be exactly `SKILL.md`.** Capitalization matters on
|
|
109
|
+
case-sensitive filesystems (Linux, and macOS when configured as such):
|
|
110
|
+
`skill.md` or `Skill.md` will be ignored.
|
|
111
|
+
4. **Frontmatter must include both `name:` and `description:`, and must be the
|
|
112
|
+
first thing in the file.** A `SKILL.md` is silently skipped if either field
|
|
113
|
+
is missing, if the delimiters (`---` on their own lines) are absent, or if
|
|
114
|
+
any text (an H1 title, a comment, even a blank line) appears before the
|
|
115
|
+
opening `---`.
|
|
116
|
+
5. **The skill name comes from the `name:` field, not the directory name.** If
|
|
117
|
+
your frontmatter says `name: foo`, the skill appears as `foo` in
|
|
118
|
+
`/skills list` regardless of what its parent directory is called. The
|
|
119
|
+
characters `: \ / < > * ? " |` in the name are replaced with `-`.
|
|
14
120
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
**macOS/Linux**
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
mkdir -p .cell-cli/skills/api-auditor/scripts
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Windows (PowerShell)**
|
|
24
|
-
|
|
25
|
-
```powershell
|
|
26
|
-
New-Item -ItemType Directory -Force -Path ".cell-cli\skills\api-auditor\scripts"
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Create the definition
|
|
30
|
-
|
|
31
|
-
1. Create a file at `.cell-cli/skills/api-auditor/SKILL.md`. This tells the
|
|
32
|
-
agent _when_ to use the skill and _how_ to behave.
|
|
33
|
-
|
|
34
|
-
```markdown
|
|
35
|
-
---
|
|
36
|
-
name: api-auditor
|
|
37
|
-
description:
|
|
38
|
-
Expertise in auditing and testing API endpoints. Use when the user asks to
|
|
39
|
-
"check", "test", or "audit" a URL or API.
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
# API Auditor Instructions
|
|
43
|
-
|
|
44
|
-
You act as a QA engineer specialized in API reliability. When this skill is
|
|
45
|
-
active, you MUST:
|
|
46
|
-
|
|
47
|
-
1. **Audit**: Use the bundled `scripts/audit.js` utility to check the
|
|
48
|
-
status of the provided URL.
|
|
49
|
-
2. **Report**: Analyze the output (status codes, latency) and explain any
|
|
50
|
-
failures in plain English.
|
|
51
|
-
3. **Secure**: Remind the user if they are testing a sensitive endpoint
|
|
52
|
-
without an `https://` protocol.
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Add the tool logic
|
|
56
|
-
|
|
57
|
-
Skills can bundle resources like scripts.
|
|
58
|
-
|
|
59
|
-
1. Create a file at `.cell-cli/skills/api-auditor/scripts/audit.js`. This is
|
|
60
|
-
the code the agent will run.
|
|
61
|
-
|
|
62
|
-
```javascript
|
|
63
|
-
// .cell-cli/skills/api-auditor/scripts/audit.js
|
|
64
|
-
const url = process.argv[2];
|
|
65
|
-
|
|
66
|
-
if (!url) {
|
|
67
|
-
console.error('Usage: node audit.js <url>');
|
|
68
|
-
process.exit(1);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
console.log(`Auditing ${url}...`);
|
|
72
|
-
fetch(url, { method: 'HEAD' })
|
|
73
|
-
.then((r) => console.log(`Result: Success (Status ${r.status})`))
|
|
74
|
-
.catch((e) => console.error(`Result: Failed (${e.message})`));
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## How to verify discovery
|
|
78
|
-
|
|
79
|
-
Cell CLI automatically discovers skills in the `.cell-cli/skills` directory. You
|
|
80
|
-
can also use `.agents/skills` as a more generic alternative. Check that it found
|
|
81
|
-
your new skill.
|
|
121
|
+
## How to use the skill
|
|
82
122
|
|
|
83
|
-
|
|
123
|
+
Now that the skill is discovered, you can trigger its activation by asking a
|
|
124
|
+
relevant question.
|
|
84
125
|
|
|
85
|
-
|
|
126
|
+
1. **Trigger**: Start a new session and ask: "Can you audit https://google.com"
|
|
127
|
+
2. **Activation**: Gemini identifies that the request matches the `api-auditor`
|
|
128
|
+
description and calls the `activate_skill` tool.
|
|
129
|
+
3. **Consent**: You will see a confirmation prompt. Type **y** to approve.
|
|
130
|
+
4. **Execution**: Once activated, Gemini uses the `run_shell_command` tool to
|
|
131
|
+
execute your bundled script:
|
|
132
|
+
`node .cell-cli/skills/api-auditor/scripts/audit.js https://google.com`
|
|
86
133
|
|
|
87
|
-
##
|
|
134
|
+
## Pro tip: Use the skill-creator
|
|
88
135
|
|
|
89
|
-
|
|
90
|
-
skill
|
|
136
|
+
If you don't want to create the files manually, you can use the built-in
|
|
137
|
+
`skill-creator` skill. Simply ask Gemini:
|
|
91
138
|
|
|
92
|
-
|
|
139
|
+
> "Create a new skill called 'api-auditor' that tests if URLs are responding."
|
|
93
140
|
|
|
94
|
-
|
|
95
|
-
permission to activate it.
|
|
141
|
+
The `skill-creator` will handle the directory structure and boilerplate for you.
|
|
96
142
|
|
|
97
|
-
|
|
98
|
-
skill. I'll run the audit script now..."
|
|
143
|
+
## Manage skills
|
|
99
144
|
|
|
100
|
-
|
|
101
|
-
script:
|
|
145
|
+
You can also manage skills using the `gemini skills` command from your terminal:
|
|
102
146
|
|
|
103
|
-
`
|
|
147
|
+
- **Install**: `gemini skills install <url-or-path>`
|
|
148
|
+
- **Link**: `gemini skills link <path>` (useful for local development)
|
|
149
|
+
- **Uninstall**: `gemini skills uninstall <name>`
|
|
104
150
|
|
|
105
151
|
## Next steps
|
|
106
152
|
|
|
107
|
-
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
153
|
+
- [Creating Agent Skills](../creating-skills.md): Detailed guide on advanced
|
|
154
|
+
skill features and metadata.
|
|
155
|
+
- [Using Agent Skills](../using-agent-skills.md): More ways to discover and
|
|
156
|
+
manage your skill library.
|
|
157
|
+
- [Skill best practices](../skills-best-practices.md): Learn how to design
|
|
158
|
+
reliable and effective expertise.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Managing Agent Skills
|
|
2
|
+
|
|
3
|
+
Agent Skills provide Cell CLI with specialized expertise on demand. This guide
|
|
4
|
+
covers advanced management techniques, including using slash commands, terminal
|
|
5
|
+
utilities, and understanding discovery tiers.
|
|
6
|
+
|
|
7
|
+
## Discovery tiers
|
|
8
|
+
|
|
9
|
+
Cell CLI discovers skills from several locations, following a specific order of
|
|
10
|
+
precedence (lowest to highest):
|
|
11
|
+
|
|
12
|
+
1. **Built-in Skills**: Included with Cell CLI and always available.
|
|
13
|
+
2. **Extension Skills**: Bundled within [extensions](../extensions/index.md).
|
|
14
|
+
3. **User Skills**: Located in `~/.cell-cli/skills/` or the `~/.agents/skills/`
|
|
15
|
+
alias. These are available across all your projects.
|
|
16
|
+
4. **Workspace Skills**: Located in `.cell-cli/skills/` or the
|
|
17
|
+
`.agents/skills/` alias within your current directory. These are
|
|
18
|
+
project-specific.
|
|
19
|
+
|
|
20
|
+
> **Tip:** If multiple skills share the same name, the version from the
|
|
21
|
+
> higher-precedence location is used.
|
|
22
|
+
|
|
23
|
+
## In-session management
|
|
24
|
+
|
|
25
|
+
Use the `/skills` slash command during an interactive session to manage your
|
|
26
|
+
available expertise.
|
|
27
|
+
|
|
28
|
+
- **List skills**: `/skills list` (shows discovered skills).
|
|
29
|
+
- Use `/skills list all` to include internal built-in skills.
|
|
30
|
+
- Use `/skills list nodesc` to hide descriptions.
|
|
31
|
+
- **Reload skills**: `/skills reload` (or `/skills refresh`) to scan for new or
|
|
32
|
+
modified skills without restarting the CLI.
|
|
33
|
+
- **Toggle status**:
|
|
34
|
+
- `/skills disable <name>`: Prevents a skill from being triggered.
|
|
35
|
+
- `/skills enable <name>`: Re-enables a disabled skill.
|
|
36
|
+
- **Link local skills**: `/skills link <path> [--scope user|workspace]` to
|
|
37
|
+
immediately use a skill you are developing.
|
|
38
|
+
|
|
39
|
+
## Terminal utilities
|
|
40
|
+
|
|
41
|
+
The `gemini skills` command provides management utilities directly from your
|
|
42
|
+
system shell.
|
|
43
|
+
|
|
44
|
+
### Install a skill
|
|
45
|
+
|
|
46
|
+
To install a skill from a remote repository or a local `.skill` package:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
gemini skills install https://github.com/user/my-awesome-skill
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
By default, this installs to your **user profile**. Use `--scope workspace` to
|
|
53
|
+
install it only for the current project.
|
|
54
|
+
|
|
55
|
+
### Link for development
|
|
56
|
+
|
|
57
|
+
If you are developing a skill, use the `link` command to create a reference to
|
|
58
|
+
your local directory:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
gemini skills link ./path/to/my-skill
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Uninstall a skill
|
|
65
|
+
|
|
66
|
+
To completely remove an installed or linked skill:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
gemini skills uninstall <name>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Security and consent
|
|
73
|
+
|
|
74
|
+
Agent Skills can execute scripts and access your files. To protect your
|
|
75
|
+
environment:
|
|
76
|
+
|
|
77
|
+
1. **Installation consent**: When installing from a remote URL, you will be
|
|
78
|
+
asked to confirm the source.
|
|
79
|
+
2. **Activation consent**: Every time a skill is triggered during a session,
|
|
80
|
+
the agent must ask for permission to activate it and gain access to its
|
|
81
|
+
resources.
|
|
82
|
+
|
|
83
|
+
## Next steps
|
|
84
|
+
|
|
85
|
+
- [Get started with Agent Skills](./tutorials/skills-getting-started.md): A
|
|
86
|
+
walkthrough for creating your first skill.
|
|
87
|
+
- [Creating Agent Skills](./creating-skills.md): Detailed guide on bundling
|
|
88
|
+
scripts and assets.
|
|
89
|
+
- [Skill best practices](./skills-best-practices.md): Strategies for building
|
|
90
|
+
reliable expertise.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# `gemini gemma` — Automated Local Model Routing Setup
|
|
2
|
+
|
|
3
|
+
Local model routing uses a local Gemma 3 1B model running on your machine to
|
|
4
|
+
classify and route user requests. It routes simple requests (like file reads) to
|
|
5
|
+
Gemini Flash and complex requests (like architecture discussions) to Gemini Pro.
|
|
6
|
+
|
|
7
|
+
<!-- prettier-ignore -->
|
|
8
|
+
> [!NOTE]
|
|
9
|
+
> This is an experimental feature currently under active development.
|
|
10
|
+
|
|
11
|
+
## What is this?
|
|
12
|
+
|
|
13
|
+
This feature saves cloud API costs by using local inference for task
|
|
14
|
+
classification instead of a cloud-based classifier. It adds a few milliseconds
|
|
15
|
+
of local latency but can significantly reduce the overall token usage for hosted
|
|
16
|
+
models.
|
|
17
|
+
|
|
18
|
+
## Quick start
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# One command does everything: downloads runtime, pulls model, configures settings, starts server
|
|
22
|
+
gemini gemma setup
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
You'll be prompted to accept the Gemma Terms of Use. The model is ~1 GB.
|
|
26
|
+
|
|
27
|
+
After setup, **just use the CLI normally** — routing happens automatically on
|
|
28
|
+
every request.
|
|
29
|
+
|
|
30
|
+
## Commands
|
|
31
|
+
|
|
32
|
+
| Command | What it does |
|
|
33
|
+
| --------------------- | -------------------------------------------------------------- |
|
|
34
|
+
| `gemini gemma setup` | Full install (binary + model + settings + server start) |
|
|
35
|
+
| `gemini gemma status` | Health check — shows what's installed and running |
|
|
36
|
+
| `gemini gemma start` | Start the LiteRT server (auto-starts on CLI launch by default) |
|
|
37
|
+
| `gemini gemma stop` | Stop the LiteRT server |
|
|
38
|
+
| `gemini gemma logs` | Tail the server logs to see routing requests live |
|
|
39
|
+
| `/gemma` | In-session status check (type it inside the CLI) |
|
|
40
|
+
|
|
41
|
+
## Verifying it works
|
|
42
|
+
|
|
43
|
+
1. Run `gemini gemma status` — all checks should show green
|
|
44
|
+
2. Open two terminals:
|
|
45
|
+
- Terminal 1: `gemini gemma logs` (watch for incoming requests)
|
|
46
|
+
- Terminal 2: use the CLI normally
|
|
47
|
+
3. You should see classification requests appear in the logs as you interact
|
|
48
|
+
with the CLI
|
|
49
|
+
4. The `/gemma` slash command inside a session shows a quick status panel
|
|
50
|
+
|
|
51
|
+
## Setup flags
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
gemini gemma setup --port 8080 # custom port
|
|
55
|
+
gemini gemma setup --no-start # don't start server after install
|
|
56
|
+
gemini gemma setup --force # re-download everything
|
|
57
|
+
gemini gemma setup --skip-model # binary only, skip the 1GB model download
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## How it works under the hood
|
|
61
|
+
|
|
62
|
+
- Local Gemma classifies each request as "simple" or "complex" (~100ms)
|
|
63
|
+
- Simple → Flash, Complex → Pro
|
|
64
|
+
- If the local server is down, the CLI silently falls back to the cloud
|
|
65
|
+
classifier — no errors, no disruption
|
|
66
|
+
|
|
67
|
+
## Disabling
|
|
68
|
+
|
|
69
|
+
Set `enabled: false` in settings or just run `gemini gemma stop` to turn off the
|
|
70
|
+
server:
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{ "experimental": { "gemmaModelRouter": { "enabled": false } } }
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Advanced setup
|
|
77
|
+
|
|
78
|
+
If you are in an environment where the `gemini gemma setup` command cannot
|
|
79
|
+
automatically download binaries (for example, behind a strict corporate
|
|
80
|
+
firewall), you can perform the setup manually.
|
|
81
|
+
|
|
82
|
+
For more information, see the
|
|
83
|
+
[Manual Local Model Routing Setup guide](./local-model-routing.md).
|
package/dist/docs/core/index.md
CHANGED
|
@@ -15,8 +15,9 @@ requests sent from `packages/cli`. For a general overview of Cell CLI, see the
|
|
|
15
15
|
modular GEMINI.md import feature using @file.md syntax.
|
|
16
16
|
- **[Policy Engine](../reference/policy-engine.md):** Use the Policy Engine for
|
|
17
17
|
fine-grained control over tool execution.
|
|
18
|
-
- **[Local Model Routing (experimental)](./
|
|
19
|
-
|
|
18
|
+
- **[Local Model Routing (experimental)](./gemma-setup.md):** Learn how to
|
|
19
|
+
enable use of a local Gemma model for model routing decisions using the
|
|
20
|
+
automated setup command.
|
|
20
21
|
|
|
21
22
|
## Role of the core
|
|
22
23
|
|
|
@@ -1,22 +1,29 @@
|
|
|
1
|
-
# Local Model Routing (experimental)
|
|
1
|
+
# Manual Local Model Routing Setup (experimental)
|
|
2
2
|
|
|
3
3
|
Cell CLI supports using a local model for
|
|
4
4
|
[routing decisions](../cli/model-routing.md). When configured, Cell CLI will use
|
|
5
5
|
a locally-running **Gemma** model to make routing decisions (instead of sending
|
|
6
6
|
routing decisions to a hosted model).
|
|
7
7
|
|
|
8
|
+
<!-- prettier-ignore -->
|
|
9
|
+
> [!NOTE]
|
|
10
|
+
> This is an experimental feature currently under active development.
|
|
11
|
+
|
|
12
|
+
<!-- prettier-ignore -->
|
|
13
|
+
> [!IMPORTANT]
|
|
14
|
+
> **Recommended:** We now provide a fully automated setup command. We recommend
|
|
15
|
+
> using the [`gemini gemma` Setup Guide](./gemma-setup.md) instead of following
|
|
16
|
+
> these manual steps.
|
|
17
|
+
|
|
8
18
|
This feature can help reduce costs associated with hosted model usage while
|
|
9
19
|
offering similar routing decision latency and quality.
|
|
10
20
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Setup
|
|
21
|
+
## Manual Setup
|
|
14
22
|
|
|
15
23
|
Using a Gemma model for routing decisions requires that an implementation of a
|
|
16
24
|
Gemma model be running locally on your machine, served behind an HTTP endpoint
|
|
17
|
-
and accessed via the Gemini API.
|
|
18
|
-
|
|
19
|
-
To serve the Gemma model, follow these steps:
|
|
25
|
+
and accessed via the Gemini API. If you cannot use the `gemini gemma setup`
|
|
26
|
+
command, follow these manual steps:
|
|
20
27
|
|
|
21
28
|
### Download the LiteRT-LM runtime
|
|
22
29
|
|
|
@@ -210,6 +210,22 @@ To update an extension's settings:
|
|
|
210
210
|
gemini extensions config <name> [setting] [--scope <scope>]
|
|
211
211
|
```
|
|
212
212
|
|
|
213
|
+
#### Environment variable sanitization
|
|
214
|
+
|
|
215
|
+
For security reasons, sensitive environment variables are filtered out and not
|
|
216
|
+
passed to extensions or MCP servers by default.
|
|
217
|
+
|
|
218
|
+
Extensions **will not** inherit the user's full shell environment variables.
|
|
219
|
+
They will only have access to:
|
|
220
|
+
|
|
221
|
+
1. Standard safe variables (e.g., `HOME`, `PATH`, `TMPDIR`).
|
|
222
|
+
2. Variables explicitly declared and requested in the `gemini-extension.json`
|
|
223
|
+
manifest via the `settings` array (using the `envVar` property).
|
|
224
|
+
|
|
225
|
+
If your extension requires specific environment variables (like an API key,
|
|
226
|
+
custom host, or config path), you **must** declare them in the `settings` array
|
|
227
|
+
so the CLI can allowlist them for use within the extension.
|
|
228
|
+
|
|
213
229
|
### Custom commands
|
|
214
230
|
|
|
215
231
|
Provide [custom commands](../cli/custom-commands.md) by placing TOML files in a
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# Release extensions
|
|
2
2
|
|
|
3
3
|
Release Cell CLI extensions to your users through a Git repository or GitHub
|
|
4
|
-
Releases.
|
|
4
|
+
Releases. This guide explains how to share your work, list it in the gallery,
|
|
5
|
+
and manage updates.
|
|
5
6
|
|
|
6
7
|
Git repository releases are the simplest approach and offer the most flexibility
|
|
7
8
|
for managing development branches. GitHub Releases are more efficient for
|
|
@@ -153,29 +154,62 @@ jobs:
|
|
|
153
154
|
release/win32.arm64.my-tool.zip
|
|
154
155
|
```
|
|
155
156
|
|
|
156
|
-
##
|
|
157
|
+
## Migrate an extension repository
|
|
157
158
|
|
|
158
|
-
If you
|
|
159
|
-
|
|
160
|
-
property in your `gemini-extension.json` file to seamlessly transition your
|
|
159
|
+
If you move your extension to a new repository or rename it, use the
|
|
160
|
+
`migratedTo` property in `gemini-extension.json` to seamlessly transition your
|
|
161
161
|
users.
|
|
162
162
|
|
|
163
|
-
1.
|
|
164
|
-
2.
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
163
|
+
1. **Create the new repository:** Set up your extension in its new location.
|
|
164
|
+
2. **Update the old repository:** In your original repository, update the
|
|
165
|
+
`gemini-extension.json` file to include the `migratedTo` property pointing
|
|
166
|
+
to the new repository URL, and increment the version number.
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"name": "my-extension",
|
|
170
|
+
"version": "1.1.0",
|
|
171
|
+
"migratedTo": "https://github.com/new-owner/new-extension-repo"
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
3. **Release the update:** Publish this new version in your old repository.
|
|
175
|
+
|
|
176
|
+
When users check for updates, Cell CLI detects the `migratedTo` field, verifies
|
|
177
|
+
the new repository, and automatically updates their local installation to track
|
|
178
|
+
the new source. All settings migrate automatically.
|
|
179
|
+
|
|
180
|
+
## How updates work
|
|
181
|
+
|
|
182
|
+
Cell CLI automatically checks for extension updates based on the installation
|
|
183
|
+
method. Understanding these mechanisms helps you ensure your users always have
|
|
184
|
+
the latest version.
|
|
185
|
+
|
|
186
|
+
### Sync manifest and tags
|
|
187
|
+
|
|
188
|
+
For GitHub releases, always ensure the `version` in `gemini-extension.json`
|
|
189
|
+
matches your GitHub release tag. While the CLI uses tags for update detection,
|
|
190
|
+
it displays the manifest version in the UI. Keeping them in sync prevents
|
|
191
|
+
confusion.
|
|
192
|
+
|
|
193
|
+
### Update mechanisms
|
|
194
|
+
|
|
195
|
+
<details>
|
|
196
|
+
<summary>Technical update details</summary>
|
|
197
|
+
|
|
198
|
+
The CLI uses different strategies depending on the installation type:
|
|
199
|
+
|
|
200
|
+
- **GitHub releases:** The CLI queries the GitHub API for the latest release
|
|
201
|
+
tag. It ignores the `version` field in the manifest for detection.
|
|
202
|
+
- **Git clones:** The CLI runs `git ls-remote` to compare the latest remote
|
|
203
|
+
commit hash with your local `HEAD`.
|
|
204
|
+
- **Local extensions:** The CLI compares the `version` field in the source
|
|
205
|
+
directory's manifest with the installed version.
|
|
206
|
+
|
|
207
|
+
To verify an extension's installation type, inspect the `type` field in the
|
|
208
|
+
metadata file at `~/.cell-cli/extensions/<name>/.gemini-extension-install.json`.
|
|
209
|
+
|
|
210
|
+
</details>
|
|
211
|
+
|
|
212
|
+
<!-- prettier-ignore -->
|
|
213
|
+
> [!IMPORTANT]
|
|
214
|
+
> The `migratedTo` flow requires at least one release on the new repository for
|
|
215
|
+
> the CLI to recognize it as a valid update source.
|
|
@@ -159,6 +159,13 @@ Key". The value will be stored securely in the system keychain (because
|
|
|
159
159
|
`sensitive` is true) and injected into the MCP server's process as the
|
|
160
160
|
`MY_SERVICE_API_KEY` environment variable.
|
|
161
161
|
|
|
162
|
+
> **Important (Environment Variable Sanitization):** For security reasons,
|
|
163
|
+
> sensitive environment variables are filtered out and not passed to extensions
|
|
164
|
+
> or MCP servers by default. Extensions will _only_ have access to environment
|
|
165
|
+
> variables that are explicitly declared in the `settings` array using the
|
|
166
|
+
> `envVar` property, plus a few standard safe variables. Do not expect host
|
|
167
|
+
> environment variables to be available otherwise.
|
|
168
|
+
|
|
162
169
|
## Step 4: Link your extension
|
|
163
170
|
|
|
164
171
|
Link your extension to your Cell CLI installation for local development.
|
|
@@ -111,8 +111,8 @@ You can also run Cell CLI using one of the following advanced methods:
|
|
|
111
111
|
directly. This is useful for environments where you only have Docker and want
|
|
112
112
|
to run the CLI.
|
|
113
113
|
```bash
|
|
114
|
-
# Run the published sandbox image
|
|
115
|
-
docker run --rm -it us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.
|
|
114
|
+
# Run the published sandbox image for a specified CLI version
|
|
115
|
+
docker run --rm -it us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.42.0-nightly.20260428.g59b2dea0e
|
|
116
116
|
```
|
|
117
117
|
- **Using the `--sandbox` flag:** If you have Cell CLI installed locally
|
|
118
118
|
(using the standard installation described above), you can instruct it to run
|