@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
|
@@ -5,24 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { describe, it, expect } from 'vitest';
|
|
7
7
|
import { renderOperationalGuidelines } from './snippets.js';
|
|
8
|
-
describe('renderOperationalGuidelines -
|
|
8
|
+
describe('renderOperationalGuidelines - memory', () => {
|
|
9
9
|
const baseOptions = {
|
|
10
10
|
interactive: true,
|
|
11
11
|
interactiveShellEnabled: false,
|
|
12
12
|
topicUpdateNarration: false,
|
|
13
|
-
memoryV2Enabled: false,
|
|
14
13
|
};
|
|
15
|
-
it('should
|
|
14
|
+
it('should distinguish shared GEMINI.md instructions from private MEMORY.md', () => {
|
|
16
15
|
const result = renderOperationalGuidelines(baseOptions);
|
|
17
|
-
expect(result).toContain('save_memory');
|
|
18
|
-
expect(result).toContain('persist facts across sessions');
|
|
19
|
-
expect(result).not.toContain('Instruction and Memory Files');
|
|
20
|
-
});
|
|
21
|
-
it('should distinguish shared GEMINI.md instructions from private MEMORY.md when memoryV2Enabled is true', () => {
|
|
22
|
-
const result = renderOperationalGuidelines({
|
|
23
|
-
...baseOptions,
|
|
24
|
-
memoryV2Enabled: true,
|
|
25
|
-
});
|
|
26
16
|
expect(result).toContain('Instruction and Memory Files');
|
|
27
17
|
expect(result).toContain('GEMINI.md');
|
|
28
18
|
expect(result).toContain('./GEMINI.md');
|
|
@@ -49,17 +39,13 @@ describe('renderOperationalGuidelines - memoryV2Enabled', () => {
|
|
|
49
39
|
expect(result).toContain('never use it to point at');
|
|
50
40
|
});
|
|
51
41
|
it('should NOT include the Private Project Memory bullet when userProjectMemoryPath is undefined', () => {
|
|
52
|
-
const result = renderOperationalGuidelines(
|
|
53
|
-
...baseOptions,
|
|
54
|
-
memoryV2Enabled: true,
|
|
55
|
-
});
|
|
42
|
+
const result = renderOperationalGuidelines(baseOptions);
|
|
56
43
|
expect(result).not.toContain('**Private Project Memory**');
|
|
57
44
|
});
|
|
58
45
|
it('should include the Private Project Memory bullet with the absolute path when provided', () => {
|
|
59
46
|
const userProjectMemoryPath = '/Users/test/.cell-cli/tmp/abc123/memory/MEMORY.md';
|
|
60
47
|
const result = renderOperationalGuidelines({
|
|
61
48
|
...baseOptions,
|
|
62
|
-
memoryV2Enabled: true,
|
|
63
49
|
userProjectMemoryPath,
|
|
64
50
|
});
|
|
65
51
|
expect(result).toContain('**Private Project Memory**');
|
|
@@ -67,10 +53,7 @@ describe('renderOperationalGuidelines - memoryV2Enabled', () => {
|
|
|
67
53
|
expect(result).toContain('NOT** be committed to the repo');
|
|
68
54
|
});
|
|
69
55
|
it('should NOT include the Global Personal Memory bullet or cross-project routing rule when globalMemoryPath is undefined', () => {
|
|
70
|
-
const result = renderOperationalGuidelines(
|
|
71
|
-
...baseOptions,
|
|
72
|
-
memoryV2Enabled: true,
|
|
73
|
-
});
|
|
56
|
+
const result = renderOperationalGuidelines(baseOptions);
|
|
74
57
|
expect(result).not.toContain('**Global Personal Memory**');
|
|
75
58
|
expect(result).not.toContain('across all my projects');
|
|
76
59
|
expect(result).not.toContain('cross-project personal preference');
|
|
@@ -79,7 +62,6 @@ describe('renderOperationalGuidelines - memoryV2Enabled', () => {
|
|
|
79
62
|
const globalMemoryPath = '/Users/test/.cell-cli/GEMINI.md';
|
|
80
63
|
const result = renderOperationalGuidelines({
|
|
81
64
|
...baseOptions,
|
|
82
|
-
memoryV2Enabled: true,
|
|
83
65
|
globalMemoryPath,
|
|
84
66
|
});
|
|
85
67
|
expect(result).toContain('**Global Personal Memory**');
|
|
@@ -91,4 +73,4 @@ describe('renderOperationalGuidelines - memoryV2Enabled', () => {
|
|
|
91
73
|
expect(result).toContain('across all four tiers');
|
|
92
74
|
});
|
|
93
75
|
});
|
|
94
|
-
//# sourceMappingURL=snippets-memory
|
|
76
|
+
//# sourceMappingURL=snippets-memory.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippets-memory.test.js","sourceRoot":"","sources":["../../../src/prompts/snippets-memory.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import type { HierarchicalMemory } from '../config/memory.js';
|
|
7
|
+
import type { ApprovalMode } from '../policy/types.js';
|
|
7
8
|
export interface SystemPromptOptions {
|
|
8
9
|
preamble?: PreambleOptions;
|
|
9
10
|
coreMandates?: CoreMandatesOptions;
|
|
@@ -20,6 +21,7 @@ export interface SystemPromptOptions {
|
|
|
20
21
|
}
|
|
21
22
|
export interface PreambleOptions {
|
|
22
23
|
interactive: boolean;
|
|
24
|
+
approvalMode: ApprovalMode;
|
|
23
25
|
}
|
|
24
26
|
export interface CoreMandatesOptions {
|
|
25
27
|
interactive: boolean;
|
|
@@ -45,23 +47,16 @@ export interface OperationalGuidelinesOptions {
|
|
|
45
47
|
interactive: boolean;
|
|
46
48
|
interactiveShellEnabled: boolean;
|
|
47
49
|
topicUpdateNarration: boolean;
|
|
48
|
-
memoryV2Enabled: boolean;
|
|
49
50
|
/**
|
|
50
51
|
* Absolute path to the user's per-project private memory index
|
|
51
|
-
* (e.g. ~/.cell-cli/tmp/<project-hash>/memory/MEMORY.md).
|
|
52
|
-
* model when memoryV2Enabled is true so the prompt-driven memory flow
|
|
53
|
-
* can route project-specific personal notes there instead of the committed
|
|
54
|
-
* project GEMINI.md.
|
|
52
|
+
* (e.g. ~/.cell-cli/tmp/<project-hash>/memory/MEMORY.md).
|
|
55
53
|
*/
|
|
56
54
|
userProjectMemoryPath?: string;
|
|
57
55
|
/**
|
|
58
56
|
* Absolute path to the user's global personal memory file
|
|
59
|
-
* (e.g. ~/.cell-cli/GEMINI.md).
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* instead of the project-scoped tiers. Config.isPathAllowed surgically
|
|
63
|
-
* allowlists this exact file (only this file, not the rest of `~/.cell-cli/`)
|
|
64
|
-
* so the agent can edit it directly.
|
|
57
|
+
* (e.g. ~/.cell-cli/GEMINI.md). Config.isPathAllowed surgically allowlists
|
|
58
|
+
* this exact file (only this file, not the rest of `~/.cell-cli/`) so the
|
|
59
|
+
* agent can edit it directly.
|
|
65
60
|
*/
|
|
66
61
|
globalMemoryPath?: string;
|
|
67
62
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { ACTIVATE_SKILL_TOOL_NAME, ASK_USER_TOOL_NAME, EDIT_TOOL_NAME, ENTER_PLAN_MODE_TOOL_NAME, EXIT_PLAN_MODE_TOOL_NAME, UPDATE_TOPIC_TOOL_NAME, TOPIC_PARAM_TITLE, TOPIC_PARAM_SUMMARY, GLOB_TOOL_NAME, GREP_TOOL_NAME,
|
|
6
|
+
import { ACTIVATE_SKILL_TOOL_NAME, ASK_USER_TOOL_NAME, EDIT_TOOL_NAME, ENTER_PLAN_MODE_TOOL_NAME, EXIT_PLAN_MODE_TOOL_NAME, UPDATE_TOPIC_TOOL_NAME, TOPIC_PARAM_TITLE, TOPIC_PARAM_SUMMARY, GLOB_TOOL_NAME, GREP_TOOL_NAME, READ_FILE_TOOL_NAME, SHELL_TOOL_NAME, WRITE_FILE_TOOL_NAME, WRITE_TODOS_TOOL_NAME, GREP_PARAM_TOTAL_MAX_MATCHES, GREP_PARAM_INCLUDE_PATTERN, GREP_PARAM_EXCLUDE_PATTERN, GREP_PARAM_CONTEXT, GREP_PARAM_BEFORE, GREP_PARAM_AFTER, READ_FILE_PARAM_START_LINE, READ_FILE_PARAM_END_LINE, SHELL_PARAM_IS_BACKGROUND, EDIT_PARAM_OLD_STRING, TRACKER_CREATE_TASK_TOOL_NAME, TRACKER_LIST_TASKS_TOOL_NAME, TRACKER_UPDATE_TASK_TOOL_NAME, AGENT_TOOL_NAME, } from '../tools/tool-names.js';
|
|
7
7
|
import { DEFAULT_CONTEXT_FILENAME } from '../tools/memoryTool.js';
|
|
8
8
|
// --- High Level Composition ---
|
|
9
9
|
/**
|
|
@@ -51,9 +51,17 @@ ${renderUserMemory(userMemory, contextFilenames)}
|
|
|
51
51
|
export function renderPreamble(options) {
|
|
52
52
|
if (!options)
|
|
53
53
|
return '';
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
let modeStr = 'Default';
|
|
55
|
+
if (options.approvalMode === 'plan')
|
|
56
|
+
modeStr = 'Plan';
|
|
57
|
+
if (options.approvalMode === 'yolo')
|
|
58
|
+
modeStr = 'YOLO';
|
|
59
|
+
if (options.approvalMode === 'autoEdit')
|
|
60
|
+
modeStr = 'Auto-Edit';
|
|
61
|
+
const base = options.interactive
|
|
62
|
+
? 'You are Cell CLI, an interactive CLI agent specializing in software engineering tasks.'
|
|
63
|
+
: 'You are Cell CLI, an autonomous CLI agent specializing in software engineering tasks.';
|
|
64
|
+
return `${base} You are currently operating in **${modeStr}** mode. Your primary goal is to help users safely and effectively.`;
|
|
57
65
|
}
|
|
58
66
|
export function renderCoreMandates(options) {
|
|
59
67
|
if (!options)
|
|
@@ -93,7 +101,7 @@ Use the following guidelines to optimize your search and read patterns.
|
|
|
93
101
|
- Prefer using tools like ${GREP_TOOL_NAME} to identify points of interest instead of reading lots of files individually.
|
|
94
102
|
- If you need to read multiple ranges in a file, do so parallel, in as few turns as possible.
|
|
95
103
|
- It is more important to reduce extra turns, but please also try to minimize unnecessarily large file reads and search results, when doing so doesn't result in extra turns. Do this by always providing conservative limits and scopes to tools like ${READ_FILE_TOOL_NAME} and ${GREP_TOOL_NAME}.
|
|
96
|
-
- ${
|
|
104
|
+
- ${EDIT_TOOL_NAME} fails if ${EDIT_PARAM_OLD_STRING} is ambiguous, causing extra turns. Take care to read enough with ${READ_FILE_TOOL_NAME} and ${GREP_TOOL_NAME} to make the edit unambiguous.
|
|
97
105
|
- You can compensate for the risk of missing results with scoped or limited searches by doing multiple searches in parallel.
|
|
98
106
|
- Your primary goal is still to do your best quality work. Efficiency is an important, but secondary concern.
|
|
99
107
|
</guidelines>
|
|
@@ -113,7 +121,7 @@ Use the following guidelines to optimize your search and read patterns.
|
|
|
113
121
|
- **Design Patterns:** Prioritize explicit composition and delegation (e.g.: wrapper classes, proxies, or factory functions) over complex inheritance or prototype-based cloning. When extending or modifying existing classes, prefer patterns that are easily traceable and type-safe.
|
|
114
122
|
- **Libraries/Frameworks:** NEVER assume a library/framework is available. Verify its established usage within the project (check imports, configuration files like 'package.json', 'Cargo.toml', 'requirements.txt', etc.) before employing it.
|
|
115
123
|
- **Technical Integrity:** You are responsible for the entire lifecycle: implementation, testing, and validation. Within the scope of your changes, prioritize readability and long-term maintainability by consolidating logic into clean abstractions rather than threading state across unrelated layers. Align strictly with the requested architectural direction, ensuring the final implementation is focused and free of redundant "just-in-case" alternatives. Validation is not merely running tests; it is the exhaustive process of ensuring that every aspect of your change—behavioral, structural, and stylistic—is correct and fully compatible with the broader project. For bug fixes, you must empirically reproduce the failure with a new test case or reproduction script before applying the fix.
|
|
116
|
-
- **Expertise & Intent Alignment:** Provide proactive technical opinions grounded in research while strictly adhering to the user's intended workflow. Distinguish between **Directives** (unambiguous requests for action or implementation) and **Inquiries** (requests for analysis, advice, or observations). Assume all requests are Inquiries unless they contain an explicit instruction to perform a task. For Inquiries, your scope is strictly limited to research and analysis; you may propose a solution or strategy, but you MUST NOT modify files until a
|
|
124
|
+
- **Expertise & Intent Alignment:** Provide proactive technical opinions grounded in research while strictly adhering to the user's intended workflow. Distinguish between **Directives** (unambiguous requests for action or implementation) and **Inquiries** (requests for analysis, advice, or observations, e.g., "Can you tell me how to"). Assume all requests are Inquiries unless they contain an explicit instruction to perform a task. For Inquiries, or whenever the user explicitly instructs you NOT to make changes just yet (e.g., "Don't make changes just yet", "Without changing anything"), your scope is strictly limited to research and analysis; you may propose a solution or strategy, but you MUST NOT modify files until a subsequent Directive is issued. Do not initiate implementation based on observations of bugs or statements of fact. Once an Inquiry is resolved, or while waiting for a Directive, stop and wait for the next user instruction. ${options.interactive ? 'For Directives, only clarify if critically underspecified; otherwise, work autonomously.' : 'For Directives, you must work autonomously as no further user input is available.'} You should only seek user intervention if you have exhausted all possible routes or if a proposed solution would take the workspace in a significantly different architectural direction.
|
|
117
125
|
- **Proactiveness:** When executing a Directive, persist through errors and obstacles by diagnosing failures in the execution phase and, if necessary, backtracking to the research or strategy phases to adjust your approach until a successful, verified outcome is achieved. Fulfill the user's request thoroughly, including adding tests when adding features or fixing bugs. Take reasonable liberties to fulfill broad goals while staying within the requested scope; however, prioritize simplicity and the removal of redundant logic over providing "just-in-case" alternatives that diverge from the established path.
|
|
118
126
|
- **Testing:** ALWAYS search for and update related tests after making a code change. You must add a new test case to the existing test file (if one exists) or create a new test file to verify your changes.${mandateConflictResolution(options.hasHierarchicalMemory)}
|
|
119
127
|
- **User Hints:** During execution, the user may provide real-time hints (marked as "User hint:" or "User hints:"). Treat these as high-priority but scope-preserving course corrections: apply the minimal plan change needed, keep unaffected user tasks active, and never cancel/skip tasks unless cancellation is explicit for those tasks. Hints may add new tasks, modify one or more tasks, cancel specific tasks, or provide extra context only. If scope is ambiguous, ask for clarification before dropping work.
|
|
@@ -336,10 +344,11 @@ export function renderGitRepo(options) {
|
|
|
336
344
|
- "Commit the change" -> add changed files and commit.
|
|
337
345
|
- "Wrap up this PR for me" -> do not commit.
|
|
338
346
|
- When asked to commit changes or prepare a commit, always start by gathering information using shell commands:
|
|
339
|
-
- \`git status\` to ensure that all relevant files are tracked and staged, using \`git add
|
|
347
|
+
- \`git status\` to ensure that all relevant files are tracked and staged, using \`git add <file>...\` for specific files as needed.
|
|
340
348
|
- \`git diff HEAD\` to review all changes (including unstaged changes) to tracked files in work tree since last commit.
|
|
341
349
|
- \`git diff --staged\` to review only staged changes when a partial commit makes sense or was requested by the user.
|
|
342
350
|
- \`git log -n 3\` to review recent commit messages and match their style (verbosity, formatting, signature line, etc.)
|
|
351
|
+
- Do not use \`git add .\` or \`git add -A\` unprompted as this can stage unwanted or untracked files. Instead, stage only the specific files that were changed or created as part of the task.
|
|
343
352
|
- Combine shell commands whenever possible to save time/steps, e.g. \`git status && git diff HEAD && git log -n 3\`.
|
|
344
353
|
- Always propose a draft commit message. Never just ask the user to give you the full commit message.
|
|
345
354
|
- Prefer commit messages that are clear, concise, and focused more on "why" and less on "what".${gitRepoKeepUserInformed(options.interactive)}
|
|
@@ -430,7 +439,7 @@ ${options.planModeToolsList}
|
|
|
430
439
|
- **Inquiries:** If the request is an **Inquiry** (e.g., "How does X work?"), answer directly. DO NOT create a plan.
|
|
431
440
|
- **Directives:** If the request is a **Directive** (e.g., "Fix bug Y"), follow the workflow below.
|
|
432
441
|
5. **Plan Storage:** Save plans as Markdown (.md) using descriptive filenames.
|
|
433
|
-
6. **Direct Modification:** If asked to modify code, explain you are in Plan Mode and use ${formatToolName(EXIT_PLAN_MODE_TOOL_NAME)} to request approval.
|
|
442
|
+
6. **Direct Modification:** If asked to modify code, explain you are in Plan Mode and use the built-in ${formatToolName(EXIT_PLAN_MODE_TOOL_NAME)} tool to request approval. **CRITICAL: NEVER attempt to call this tool via ${formatToolName(SHELL_TOOL_NAME)}.**
|
|
434
443
|
7. **Presenting Plan:** When seeking informal agreement on a plan, or any time the user asks to see the plan, you MUST output the full content of the plan in the chat response. This overrides the "Minimal Output" guideline.
|
|
435
444
|
|
|
436
445
|
## Planning Workflow
|
|
@@ -454,7 +463,7 @@ Write the implementation plan to \`${options.plansDir}/\`. The plan's structure
|
|
|
454
463
|
- **Complex Tasks:** Include **Background & Motivation**, **Scope & Impact**, **Proposed Solution**, **Alternatives Considered**, a phased **Implementation Plan**, **Verification**, and **Migration & Rollback** strategies.${options.interactive ? '\n- **Alignment Check:** After drafting the plan, you MUST present it to the user in the chat (adhering to Rule 7 for presenting plans) to ensure alignment on the specific details. Ask for feedback or confirmation, and proceed to Step 4 (Review & Approval) once the user agrees with the detailed plan.' : ''}
|
|
455
464
|
|
|
456
465
|
### 4. Review & Approval
|
|
457
|
-
ONLY use the ${formatToolName(EXIT_PLAN_MODE_TOOL_NAME)} tool to present the plan for formal approval AFTER you have reached an informal agreement with the user in the chat regarding the proposed strategy. When called, this tool will present the plan and ${options.interactive ? 'formally request approval.' : 'begin implementation.'}
|
|
466
|
+
ONLY use the built-in ${formatToolName(EXIT_PLAN_MODE_TOOL_NAME)} tool to present the plan for formal approval AFTER you have reached an informal agreement with the user in the chat regarding the proposed strategy. **CRITICAL: NEVER attempt to call this tool via ${formatToolName(SHELL_TOOL_NAME)}.** When called, this tool will present the plan and ${options.interactive ? 'formally request approval.' : 'begin implementation.'}
|
|
458
467
|
|
|
459
468
|
${renderApprovedPlanSection(options.approvedPlanPath)}`.trim();
|
|
460
469
|
}
|
|
@@ -625,20 +634,19 @@ function toolUsageInteractive(interactive, interactiveShellEnabled) {
|
|
|
625
634
|
- **Interactive Commands:** Always prefer non-interactive commands (e.g., using 'run once' or 'CI' flags for test runners to avoid persistent watch modes or 'git --no-pager') unless a persistent process is specifically required; however, some commands are only interactive and expect user input during their execution (e.g. ssh, vim).`;
|
|
626
635
|
}
|
|
627
636
|
function toolUsageRememberingFacts(options) {
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
? `
|
|
637
|
+
const userProjectBullet = options.userProjectMemoryPath
|
|
638
|
+
? `
|
|
631
639
|
- **Private Project Memory** (\`${options.userProjectMemoryPath}\`): Personal-to-the-user, project-specific notes that must **NOT** be committed to the repo. Keep this file concise: it is the private index for this workspace. Store richer detail in sibling \`*.md\` files in the same folder and use \`MEMORY.md\` to point to them.`
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
640
|
+
: '';
|
|
641
|
+
const globalMemoryBullet = options.globalMemoryPath
|
|
642
|
+
? `
|
|
635
643
|
- **Global Personal Memory** (\`${options.globalMemoryPath}\`): Cross-project personal preferences and facts about the user that should follow them into every workspace (e.g. preferred testing framework across all projects, language preferences, coding-style defaults). Loaded automatically in every session. Keep entries concise and durable — never workspace-specific.`
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
644
|
+
: '';
|
|
645
|
+
const globalRoutingRule = options.globalMemoryPath
|
|
646
|
+
? `
|
|
639
647
|
- When the user states a **cross-project personal preference** that should follow them into every workspace ("I always prefer X", "across all my projects", "my personal coding style is Y", "in general I like Z"), update the global personal memory file. Do **not** also write it into a \`GEMINI.md\` file or the private memory folder.`
|
|
640
|
-
|
|
641
|
-
|
|
648
|
+
: '';
|
|
649
|
+
return `
|
|
642
650
|
- **Instruction and Memory Files:** You persist long-lived project context by editing markdown files directly with ${formatToolName(EDIT_TOOL_NAME)} or ${formatToolName(WRITE_FILE_TOOL_NAME)}. There is no \`save_memory\` tool. The current contents of all loaded \`GEMINI.md\` files and the private project \`MEMORY.md\` index are already in your context — do not re-read them before editing.
|
|
643
651
|
- **Project Instructions** (\`./GEMINI.md\`): Team-shared architecture, conventions, workflows, and other repo guidance. **Committed to the repo and shared with the team.**
|
|
644
652
|
- **Subdirectory Instructions** (e.g. \`./src/GEMINI.md\`): Scoped instructions for one part of the project. Reference them from \`./GEMINI.md\` so they remain discoverable.${userProjectBullet}${globalMemoryBullet}
|
|
@@ -649,16 +657,6 @@ function toolUsageRememberingFacts(options) {
|
|
|
649
657
|
**Never duplicate or mirror the same fact across tiers** — each fact lives in exactly one file across all four tiers (project \`GEMINI.md\`, subdirectory \`GEMINI.md\`, private project memory, global personal memory). Do not add cross-references between any of them.
|
|
650
658
|
**Inside the private memory folder:** \`MEMORY.md\` is the index for its sibling \`*.md\` notes **in that same folder only** — never use it to point at, summarize, or duplicate content from any \`GEMINI.md\` file. For brief facts, write the entry directly into \`MEMORY.md\`. When a note has substantial detail (multiple sections, procedures, or fields), put the detail in a sibling \`*.md\` file in the same folder and add a one-line pointer entry in \`MEMORY.md\`.
|
|
651
659
|
Never save transient session state, summaries of code changes, bug fixes, or task-specific findings — these files are loaded into every session and must stay lean.`;
|
|
652
|
-
}
|
|
653
|
-
const base = `
|
|
654
|
-
- **Memory Tool:** Use ${formatToolName(MEMORY_TOOL_NAME)} to persist facts across sessions. It supports two scopes via the \`scope\` parameter:
|
|
655
|
-
- \`"global"\` (default): Cross-project preferences and personal facts loaded in every workspace.
|
|
656
|
-
- \`"project"\`: Facts specific to the current workspace, private to the user (not committed to the repo). Use this for local dev setup notes, project-specific workflows, or personal reminders about this codebase.
|
|
657
|
-
Never save transient session state. Do not use memory to store summaries of code changes, bug fixes, or findings discovered during a task.`;
|
|
658
|
-
const suffix = options.interactive
|
|
659
|
-
? ' If unsure whether a fact is global or project-specific, ask the user.'
|
|
660
|
-
: '';
|
|
661
|
-
return base + suffix;
|
|
662
660
|
}
|
|
663
661
|
function gitRepoKeepUserInformed(interactive) {
|
|
664
662
|
return interactive
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippets.js","sourceRoot":"","sources":["../../../src/prompts/snippets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snippets.js","sourceRoot":"","sources":["../../../src/prompts/snippets.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,6 @@ export interface OperationalGuidelinesOptions {
|
|
|
46
46
|
enableShellEfficiency: boolean;
|
|
47
47
|
interactiveShellEnabled: boolean;
|
|
48
48
|
topicUpdateNarration?: boolean;
|
|
49
|
-
memoryV2Enabled: boolean;
|
|
50
49
|
/**
|
|
51
50
|
* Absolute path to the user's per-project private memory index. See
|
|
52
51
|
* snippets.ts for full semantics.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { ACTIVATE_SKILL_TOOL_NAME, ASK_USER_TOOL_NAME, EDIT_TOOL_NAME, ENTER_PLAN_MODE_TOOL_NAME, EXIT_PLAN_MODE_TOOL_NAME, GLOB_TOOL_NAME, GREP_TOOL_NAME,
|
|
6
|
+
import { ACTIVATE_SKILL_TOOL_NAME, ASK_USER_TOOL_NAME, EDIT_TOOL_NAME, ENTER_PLAN_MODE_TOOL_NAME, EXIT_PLAN_MODE_TOOL_NAME, GLOB_TOOL_NAME, GREP_TOOL_NAME, READ_FILE_TOOL_NAME, SHELL_PARAM_IS_BACKGROUND, SHELL_TOOL_NAME, TRACKER_CREATE_TASK_TOOL_NAME, TRACKER_LIST_TASKS_TOOL_NAME, TRACKER_UPDATE_TASK_TOOL_NAME, UPDATE_TOPIC_TOOL_NAME, TOPIC_PARAM_TITLE, TOPIC_PARAM_SUMMARY, WRITE_FILE_TOOL_NAME, WRITE_TODOS_TOOL_NAME, AGENT_TOOL_NAME, } from '../tools/tool-names.js';
|
|
7
7
|
// --- High Level Composition ---
|
|
8
8
|
/**
|
|
9
9
|
* Composes the core system prompt from its constituent subsections.
|
|
@@ -233,10 +233,11 @@ export function renderGitRepo(options) {
|
|
|
233
233
|
- "Commit the change" -> add changed files and commit.
|
|
234
234
|
- "Wrap up this PR for me" -> do not commit.
|
|
235
235
|
- When asked to commit changes or prepare a commit, always start by gathering information using shell commands:
|
|
236
|
-
- \`git status\` to ensure that all relevant files are tracked and staged, using \`git add
|
|
236
|
+
- \`git status\` to ensure that all relevant files are tracked and staged, using \`git add <file>...\` for specific files as needed.
|
|
237
237
|
- \`git diff HEAD\` to review all changes (including unstaged changes) to tracked files in work tree since last commit.
|
|
238
238
|
- \`git diff --staged\` to review only staged changes when a partial commit makes sense or was requested by the user.
|
|
239
239
|
- \`git log -n 3\` to review recent commit messages and match their style (verbosity, formatting, signature line, etc.)
|
|
240
|
+
- Do not use \`git add .\` or \`git add -A\` unprompted as this can stage unwanted or untracked files. Instead, stage only the specific files that were changed or created as part of the task.
|
|
240
241
|
- Combine shell commands whenever possible to save time/steps, e.g. \`git status && git diff HEAD && git log -n 3\`.
|
|
241
242
|
- Always propose a draft commit message. Never just ask the user to give you the full commit message.
|
|
242
243
|
- Prefer commit messages that are clear, concise, and focused more on "why" and less on "what".${gitRepoKeepUserInformed(options.interactive)}
|
|
@@ -336,7 +337,7 @@ ${options.planModeToolsList}
|
|
|
336
337
|
- Save the implementation plan to the designated plans directory
|
|
337
338
|
|
|
338
339
|
### Phase 4: Review & Approval
|
|
339
|
-
- Present the plan and request approval for the finalized plan using the \`${EXIT_PLAN_MODE_TOOL_NAME}\` tool
|
|
340
|
+
- Present the plan and request approval for the finalized plan using the built-in \`${EXIT_PLAN_MODE_TOOL_NAME}\` tool. **CRITICAL: NEVER attempt to call this tool via \`${SHELL_TOOL_NAME}\`.**
|
|
340
341
|
- If plan is approved, you can begin implementation
|
|
341
342
|
- If plan is rejected, address the feedback and iterate on the plan
|
|
342
343
|
|
|
@@ -541,23 +542,15 @@ function toolUsageInteractive(interactive, interactiveShellEnabled) {
|
|
|
541
542
|
- **Interactive Commands:** Always prefer non-interactive commands (e.g., using 'run once' or 'CI' flags for test runners to avoid persistent watch modes or 'git --no-pager') unless a persistent process is specifically required; however, some commands are only interactive and expect user input during their execution (e.g. ssh, vim).`;
|
|
542
543
|
}
|
|
543
544
|
function toolUsageRememberingFacts(options) {
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
? `
|
|
545
|
+
const userProjectBullet = options.userProjectMemoryPath
|
|
546
|
+
? `
|
|
547
547
|
- **Private Project Memory** (\`${options.userProjectMemoryPath}\`): Personal-to-the-user, project-specific notes that must **NOT** be committed to the repo. Keep this file concise: it is the private index for this workspace. Store richer detail in sibling \`*.md\` files in the same folder and use \`MEMORY.md\` to point to them.`
|
|
548
|
-
|
|
549
|
-
|
|
548
|
+
: '';
|
|
549
|
+
return `
|
|
550
550
|
- **Instruction and Memory Files:** You persist long-lived project context by editing markdown files directly with '${EDIT_TOOL_NAME}' or '${WRITE_FILE_TOOL_NAME}'. There is no \`save_memory\` tool. The current contents of all loaded \`GEMINI.md\` files and the private project \`MEMORY.md\` index are already in your context — do not re-read them before editing.
|
|
551
551
|
- **Project Instructions** (\`./GEMINI.md\`): Team-shared architecture, conventions, workflows, and other repo guidance. **Committed to the repo and shared with the team.**
|
|
552
552
|
- **Subdirectory Instructions** (e.g. \`./src/GEMINI.md\`): Scoped instructions for one part of the project. Reference them from \`./GEMINI.md\` so they remain discoverable.${userProjectBullet}
|
|
553
553
|
Whenever the user tells you to "remember" something or states a durable personal workflow for this codebase, save it in the private project memory folder immediately. Put concise index entries in \`MEMORY.md\`; if more detail is useful, create or update a sibling \`*.md\` note in the same folder and keep \`MEMORY.md\` as the pointer. Only update \`GEMINI.md\` files when the memory is a shared project instruction or convention that belongs in the repo. If it could be either tier, ask the user. Never save transient session state, summaries of code changes, bug fixes, or task-specific findings — these files are loaded into every session and must stay lean.`;
|
|
554
|
-
}
|
|
555
|
-
const base = `
|
|
556
|
-
- **Remembering Facts:** Use the '${MEMORY_TOOL_NAME}' tool to remember specific, *user-related* facts or preferences when the user explicitly asks, or when they state a clear, concise piece of information that would help personalize or streamline *your future interactions with them* (e.g., preferred coding style, common project paths they use, personal tool aliases, or a workflow like "always lint after editing"). This tool is for user-specific information that should persist across sessions. Do *not* use it for general project context or information.`;
|
|
557
|
-
const suffix = options.interactive
|
|
558
|
-
? ' If unsure whether to save something, you can ask the user, "Should I remember that for you?"'
|
|
559
|
-
: '';
|
|
560
|
-
return base + suffix;
|
|
561
554
|
}
|
|
562
555
|
function gitRepoKeepUserInformed(interactive) {
|
|
563
556
|
return interactive
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippets.legacy.js","sourceRoot":"","sources":["../../../src/prompts/snippets.legacy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"snippets.legacy.js","sourceRoot":"","sources":["../../../src/prompts/snippets.legacy.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,13 +25,15 @@ export class ApprovalModeStrategy {
|
|
|
25
25
|
const startTime = Date.now();
|
|
26
26
|
const approvalMode = config.getApprovalMode();
|
|
27
27
|
const approvedPlanPath = config.getApprovedPlanPath();
|
|
28
|
-
const [useGemini3_1, useCustomToolModel] = await Promise.all([
|
|
28
|
+
const [useGemini3_1, useCustomToolModel, hasAccessToPreview] = await Promise.all([
|
|
29
29
|
config.getGemini31Launched(),
|
|
30
30
|
config.getUseCustomToolModel(),
|
|
31
|
+
config.getHasAccessToPreviewModel(),
|
|
31
32
|
]);
|
|
33
|
+
const useGemini3_5Flash = config.hasGemini35FlashGAAccess?.() ?? false;
|
|
32
34
|
// 1. Planning Phase: If ApprovalMode === PLAN, explicitly route to the Pro model.
|
|
33
35
|
if (approvalMode === ApprovalMode.PLAN) {
|
|
34
|
-
const proModel = resolveClassifierModel(model, GEMINI_MODEL_ALIAS_PRO, useGemini3_1, useCustomToolModel);
|
|
36
|
+
const proModel = resolveClassifierModel(model, GEMINI_MODEL_ALIAS_PRO, useGemini3_1, useCustomToolModel, hasAccessToPreview, config, useGemini3_5Flash);
|
|
35
37
|
return {
|
|
36
38
|
model: proModel,
|
|
37
39
|
metadata: {
|
|
@@ -43,7 +45,7 @@ export class ApprovalModeStrategy {
|
|
|
43
45
|
}
|
|
44
46
|
else if (approvedPlanPath) {
|
|
45
47
|
// 2. Implementation Phase: If ApprovalMode !== PLAN AND an approved plan path is set, prefer the Flash model.
|
|
46
|
-
const flashModel = resolveClassifierModel(model, GEMINI_MODEL_ALIAS_FLASH, useGemini3_1, useCustomToolModel);
|
|
48
|
+
const flashModel = resolveClassifierModel(model, GEMINI_MODEL_ALIAS_FLASH, useGemini3_1, useCustomToolModel, hasAccessToPreview, config, useGemini3_5Flash);
|
|
47
49
|
return {
|
|
48
50
|
model: flashModel,
|
|
49
51
|
metadata: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvalModeStrategy.js","sourceRoot":"","sources":["../../../../src/routing/strategies/approvalModeStrategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOrD;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IACtB,IAAI,GAAG,eAAe,CAAC;IAEhC,KAAK,CAAC,KAAK,CACT,OAAuB,EACvB,MAAc,EACd,cAA6B;QAE7B,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE1D,+CAA+C;QAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAEtD,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"approvalModeStrategy.js","sourceRoot":"","sources":["../../../../src/routing/strategies/approvalModeStrategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOrD;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IACtB,IAAI,GAAG,eAAe,CAAC;IAEhC,KAAK,CAAC,KAAK,CACT,OAAuB,EACvB,MAAc,EACd,cAA6B;QAE7B,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE1D,+CAA+C;QAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAEtD,MAAM,CAAC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,GAC1D,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,CAAC,mBAAmB,EAAE;YAC5B,MAAM,CAAC,qBAAqB,EAAE;YAC9B,MAAM,CAAC,0BAA0B,EAAE;SACpC,CAAC,CAAC;QACL,MAAM,iBAAiB,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,IAAI,KAAK,CAAC;QAEvE,kFAAkF;QAClF,IAAI,YAAY,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,sBAAsB,CACrC,KAAK,EACL,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,iBAAiB,CAClB,CAAC;YACF,OAAO;gBACL,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE;oBACR,MAAM,EAAE,IAAI,CAAC,IAAI;oBACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACjC,SAAS,EAAE,oDAAoD;iBAChE;aACF,CAAC;QACJ,CAAC;aAAM,IAAI,gBAAgB,EAAE,CAAC;YAC5B,8GAA8G;YAC9G,MAAM,UAAU,GAAG,sBAAsB,CACvC,KAAK,EACL,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,iBAAiB,CAClB,CAAC;YACF,OAAO;gBACL,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE;oBACR,MAAM,EAAE,IAAI,CAAC,IAAI;oBACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACjC,SAAS,EAAE,6DAA6D,gBAAgB,GAAG;iBAC5F;aACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -27,6 +27,7 @@ describe('ApprovalModeStrategy', () => {
|
|
|
27
27
|
getApprovedPlanPath: vi.fn().mockReturnValue(undefined),
|
|
28
28
|
getPlanModeRoutingEnabled: vi.fn().mockResolvedValue(true),
|
|
29
29
|
getGemini31Launched: vi.fn().mockResolvedValue(false),
|
|
30
|
+
getHasAccessToPreviewModel: vi.fn().mockReturnValue(true),
|
|
30
31
|
getUseCustomToolModel: vi.fn().mockImplementation(async () => {
|
|
31
32
|
const launched = await mockConfig.getGemini31Launched();
|
|
32
33
|
const authType = mockConfig.getContentGeneratorConfig?.()?.authType;
|
|
@@ -136,5 +137,13 @@ describe('ApprovalModeStrategy', () => {
|
|
|
136
137
|
// Should resolve to Preview Flash (3.0) because resolveClassifierModel uses preview variants for Gemini 3
|
|
137
138
|
expect(decision?.model).toBe(PREVIEW_GEMINI_FLASH_MODEL);
|
|
138
139
|
});
|
|
140
|
+
it('should route to DEFAULT_GEMINI_FLASH_MODEL when hasGemini35FlashGAAccess is true and plan is approved', async () => {
|
|
141
|
+
vi.mocked(mockConfig.getModel).mockReturnValue(GEMINI_MODEL_ALIAS_AUTO);
|
|
142
|
+
mockConfig.hasGemini35FlashGAAccess = vi.fn().mockReturnValue(true);
|
|
143
|
+
vi.mocked(mockConfig.getApprovalMode).mockReturnValue(ApprovalMode.DEFAULT);
|
|
144
|
+
vi.mocked(mockConfig.getApprovedPlanPath).mockReturnValue('/path/to/plan.md');
|
|
145
|
+
const decision = await strategy.route(mockContext, mockConfig, mockBaseLlmClient);
|
|
146
|
+
expect(decision?.model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
|
|
147
|
+
});
|
|
139
148
|
});
|
|
140
149
|
//# sourceMappingURL=approvalModeStrategy.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvalModeStrategy.test.js","sourceRoot":"","sources":["../../../../src/routing/strategies/approvalModeStrategy.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"approvalModeStrategy.test.js","sourceRoot":"","sources":["../../../../src/routing/strategies/approvalModeStrategy.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { resolveClassifierModel, isGemini3Model } from '../../config/models.js';
|
|
|
9
9
|
import { createUserContent, Type } from '@google/genai';
|
|
10
10
|
import { isFunctionCall, isFunctionResponse, } from '../../utils/messageInspectors.js';
|
|
11
11
|
import { debugLogger } from '../../utils/debugLogger.js';
|
|
12
|
+
import { normalizeModelId } from '../../utils/modelUtils.js';
|
|
12
13
|
import { LlmRole } from '../../telemetry/types.js';
|
|
13
14
|
// The number of recent history turns to provide to the router for context.
|
|
14
15
|
const HISTORY_TURNS_FOR_CONTEXT = 4;
|
|
@@ -116,10 +117,17 @@ export class ClassifierStrategy {
|
|
|
116
117
|
isGemini3Model(model, config)) {
|
|
117
118
|
return null;
|
|
118
119
|
}
|
|
120
|
+
// TODO - Consider using function req/res if they help accuracy.
|
|
121
|
+
// Bypass the classifier if the request is a function response.
|
|
122
|
+
// Since we prune all tool turns from history, sending a function response
|
|
123
|
+
// request would result in an invalid payload (missing the preceding function call).
|
|
124
|
+
if (isFunctionResponse(createUserContent(context.request))) {
|
|
125
|
+
debugLogger.log('[Routing] Bypassing Classifier: request is FunctionResponse.');
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
119
128
|
const promptId = getPromptIdWithFallback('classifier-router');
|
|
120
129
|
const historySlice = context.history.slice(-HISTORY_SEARCH_WINDOW);
|
|
121
130
|
// Filter out tool-related turns.
|
|
122
|
-
// TODO - Consider using function req/res if they help accuracy.
|
|
123
131
|
const cleanHistory = historySlice.filter((content) => !isFunctionCall(content) && !isFunctionResponse(content));
|
|
124
132
|
// Take the last N turns from the *cleaned* history.
|
|
125
133
|
const finalHistory = cleanHistory.slice(-HISTORY_TURNS_FOR_CONTEXT);
|
|
@@ -135,12 +143,18 @@ export class ClassifierStrategy {
|
|
|
135
143
|
const routerResponse = ClassifierResponseSchema.parse(jsonResponse);
|
|
136
144
|
const reasoning = routerResponse.reasoning;
|
|
137
145
|
const latencyMs = Date.now() - startTime;
|
|
138
|
-
const [useGemini3_1,
|
|
146
|
+
const [useGemini3_1, useCustomToolModel] = await Promise.all([
|
|
139
147
|
config.getGemini31Launched(),
|
|
140
|
-
config.getGemini31FlashLiteLaunched(),
|
|
141
148
|
config.getUseCustomToolModel(),
|
|
142
149
|
]);
|
|
143
|
-
const
|
|
150
|
+
const useGemini3_5Flash = config.hasGemini35FlashGAAccess?.() ?? false;
|
|
151
|
+
const selectedModel = normalizeModelId(resolveClassifierModel(normalizeModelId(model), routerResponse.model_choice, useGemini3_1, useCustomToolModel, config.getHasAccessToPreviewModel?.() ?? true, config, useGemini3_5Flash));
|
|
152
|
+
const service = config.getModelAvailabilityService();
|
|
153
|
+
const snapshot = service.snapshot(selectedModel);
|
|
154
|
+
if (!snapshot.available) {
|
|
155
|
+
debugLogger.warn(`[Routing] Classifier selected unavailable model ${selectedModel} (${snapshot.reason}). Bypassing.`);
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
144
158
|
return {
|
|
145
159
|
model: selectedModel,
|
|
146
160
|
metadata: {
|