@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
|
@@ -7,6 +7,7 @@ import * as fs from 'node:fs/promises';
|
|
|
7
7
|
import * as path from 'node:path';
|
|
8
8
|
import * as Diff from 'diff';
|
|
9
9
|
import { Storage } from '../config/storage.js';
|
|
10
|
+
import { getGlobalMemoryFilePath, PROJECT_MEMORY_INDEX_FILENAME, } from '../tools/memoryTool.js';
|
|
10
11
|
import { isNodeError } from '../utils/errors.js';
|
|
11
12
|
import { debugLogger } from '../utils/debugLogger.js';
|
|
12
13
|
import { isSubpath } from '../utils/paths.js';
|
|
@@ -132,7 +133,283 @@ export function hasParsedPatchHunks(parsedPatches) {
|
|
|
132
133
|
return (parsedPatches.length > 0 &&
|
|
133
134
|
parsedPatches.every((patch) => patch.hunks.length > 0));
|
|
134
135
|
}
|
|
136
|
+
export function getMemoryPatchRoot(memoryDir, kind) {
|
|
137
|
+
return path.join(memoryDir, '.inbox', kind);
|
|
138
|
+
}
|
|
139
|
+
function isSubpathOrSame(childPath, parentPath) {
|
|
140
|
+
return isSubpath(parentPath, childPath);
|
|
141
|
+
}
|
|
142
|
+
export function normalizeInboxMemoryPatchPath(relativePath) {
|
|
143
|
+
if (relativePath.length === 0 ||
|
|
144
|
+
path.isAbsolute(relativePath) ||
|
|
145
|
+
relativePath.includes('\\')) {
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
const normalizedPath = path.posix.normalize(relativePath);
|
|
149
|
+
if (normalizedPath === '.' ||
|
|
150
|
+
normalizedPath.startsWith('../') ||
|
|
151
|
+
normalizedPath === '..' ||
|
|
152
|
+
!normalizedPath.endsWith('.patch')) {
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
return normalizedPath;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Returns coarse directory roots (or single-file roots) used for canonical
|
|
159
|
+
* containment checks before the kind-specific target validator runs.
|
|
160
|
+
*
|
|
161
|
+
* - `private` is rooted at the project memory directory, then narrowed to
|
|
162
|
+
* direct memory markdown documents by `isAllowedPrivateMemoryDocumentPath`.
|
|
163
|
+
* - `global` is intentionally a single-file allowlist: the only writeable
|
|
164
|
+
* global file is the personal `~/.cell-cli/GEMINI.md`. Other files under
|
|
165
|
+
* `~/.cell-cli/` (settings, credentials, oauth, keybindings, etc.) are off-limits.
|
|
166
|
+
*/
|
|
167
|
+
export function getAllowedMemoryPatchRoots(config, kind) {
|
|
168
|
+
switch (kind) {
|
|
169
|
+
case 'private':
|
|
170
|
+
return [path.resolve(config.storage.getProjectMemoryTempDir())];
|
|
171
|
+
case 'global':
|
|
172
|
+
return [path.resolve(getGlobalMemoryFilePath())];
|
|
173
|
+
default:
|
|
174
|
+
throw new Error(`Unknown memory patch kind: ${kind}`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
function hasMarkdownExtension(fileName) {
|
|
178
|
+
return fileName.toLowerCase().endsWith('.md');
|
|
179
|
+
}
|
|
180
|
+
function isAllowedPrivateMemoryFileName(fileName) {
|
|
181
|
+
if (fileName === PROJECT_MEMORY_INDEX_FILENAME) {
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
return !fileName.startsWith('.') && hasMarkdownExtension(fileName);
|
|
185
|
+
}
|
|
186
|
+
function uniqueResolvedPaths(paths) {
|
|
187
|
+
return Array.from(new Set(paths.map((filePath) => path.resolve(filePath))));
|
|
188
|
+
}
|
|
189
|
+
function isSamePath(leftPath, rightPath) {
|
|
190
|
+
return isSubpath(leftPath, rightPath) && isSubpath(rightPath, leftPath);
|
|
191
|
+
}
|
|
192
|
+
function includesSamePath(paths, targetPath) {
|
|
193
|
+
return paths.some((candidate) => isSamePath(candidate, targetPath));
|
|
194
|
+
}
|
|
195
|
+
function isAllowedPrivateMemoryDocumentPath(targetPath, memoryDirs) {
|
|
196
|
+
const resolvedTargetPath = path.resolve(targetPath);
|
|
197
|
+
const targetDir = path.dirname(resolvedTargetPath);
|
|
198
|
+
if (!includesSamePath(memoryDirs, targetDir)) {
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
return isAllowedPrivateMemoryFileName(path.basename(resolvedTargetPath));
|
|
202
|
+
}
|
|
203
|
+
function isAllowedGlobalMemoryDocumentPath(targetPath, globalMemoryFiles) {
|
|
204
|
+
const resolvedTargetPath = path.resolve(targetPath);
|
|
205
|
+
return includesSamePath(globalMemoryFiles, resolvedTargetPath);
|
|
206
|
+
}
|
|
207
|
+
export async function getMemoryPatchTargetValidationContext(config, kind) {
|
|
208
|
+
const allowedRoots = await canonicalizeAllowedPatchRoots(getAllowedMemoryPatchRoots(config, kind));
|
|
209
|
+
if (kind === 'global') {
|
|
210
|
+
const rawGlobalMemoryFile = path.resolve(getGlobalMemoryFilePath());
|
|
211
|
+
const canonicalGlobalMemoryFiles = await canonicalizeAllowedPatchRoots([
|
|
212
|
+
rawGlobalMemoryFile,
|
|
213
|
+
]);
|
|
214
|
+
return {
|
|
215
|
+
kind,
|
|
216
|
+
allowedRoots,
|
|
217
|
+
privateMemoryDirs: [],
|
|
218
|
+
globalMemoryFiles: uniqueResolvedPaths([
|
|
219
|
+
rawGlobalMemoryFile,
|
|
220
|
+
...canonicalGlobalMemoryFiles,
|
|
221
|
+
]),
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
const rawPrivateMemoryDir = path.resolve(config.storage.getProjectMemoryTempDir());
|
|
225
|
+
const canonicalPrivateMemoryDirs = await canonicalizeAllowedPatchRoots([
|
|
226
|
+
rawPrivateMemoryDir,
|
|
227
|
+
]);
|
|
228
|
+
const privateMemoryDirs = uniqueResolvedPaths([
|
|
229
|
+
rawPrivateMemoryDir,
|
|
230
|
+
...canonicalPrivateMemoryDirs,
|
|
231
|
+
]);
|
|
232
|
+
return { kind, allowedRoots, privateMemoryDirs, globalMemoryFiles: [] };
|
|
233
|
+
}
|
|
234
|
+
export function isResolvedMemoryPatchTargetAllowed(resolvedTargetPath, context) {
|
|
235
|
+
if (context.kind === 'global') {
|
|
236
|
+
return isAllowedGlobalMemoryDocumentPath(resolvedTargetPath, context.globalMemoryFiles);
|
|
237
|
+
}
|
|
238
|
+
if (context.kind === 'private') {
|
|
239
|
+
return isAllowedPrivateMemoryDocumentPath(resolvedTargetPath, context.privateMemoryDirs);
|
|
240
|
+
}
|
|
241
|
+
return true;
|
|
242
|
+
}
|
|
243
|
+
export async function resolveMemoryPatchTargetWithinAllowedSet(targetPath, context) {
|
|
244
|
+
const resolvedTargetPath = await resolveTargetWithinAllowedRoots(targetPath, context.allowedRoots);
|
|
245
|
+
if (!resolvedTargetPath) {
|
|
246
|
+
return undefined;
|
|
247
|
+
}
|
|
248
|
+
if (context.kind === 'private' &&
|
|
249
|
+
(!isAllowedPrivateMemoryDocumentPath(targetPath, context.privateMemoryDirs) ||
|
|
250
|
+
!isAllowedPrivateMemoryDocumentPath(resolvedTargetPath, context.privateMemoryDirs))) {
|
|
251
|
+
return undefined;
|
|
252
|
+
}
|
|
253
|
+
if (context.kind === 'global' &&
|
|
254
|
+
(!isAllowedGlobalMemoryDocumentPath(targetPath, context.globalMemoryFiles) ||
|
|
255
|
+
!isAllowedGlobalMemoryDocumentPath(resolvedTargetPath, context.globalMemoryFiles))) {
|
|
256
|
+
return undefined;
|
|
257
|
+
}
|
|
258
|
+
return resolvedTargetPath;
|
|
259
|
+
}
|
|
260
|
+
export async function findDisallowedMemoryPatchTarget(parsedPatches, context) {
|
|
261
|
+
const validated = validateParsedSkillPatchHeaders(parsedPatches);
|
|
262
|
+
if (!validated.success) {
|
|
263
|
+
return undefined;
|
|
264
|
+
}
|
|
265
|
+
for (const header of validated.patches) {
|
|
266
|
+
if (!(await resolveMemoryPatchTargetWithinAllowedSet(header.targetPath, context))) {
|
|
267
|
+
return header.targetPath;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
return undefined;
|
|
271
|
+
}
|
|
272
|
+
export async function getInboxMemoryPatchSourcePath(config, kind, relativePath) {
|
|
273
|
+
const normalizedPath = normalizeInboxMemoryPatchPath(relativePath);
|
|
274
|
+
if (!normalizedPath) {
|
|
275
|
+
return undefined;
|
|
276
|
+
}
|
|
277
|
+
const patchRoot = path.resolve(getMemoryPatchRoot(config.storage.getProjectMemoryTempDir(), kind));
|
|
278
|
+
const sourcePath = path.resolve(patchRoot, ...normalizedPath.split('/'));
|
|
279
|
+
if (!isSubpathOrSame(sourcePath, patchRoot)) {
|
|
280
|
+
return undefined;
|
|
281
|
+
}
|
|
282
|
+
return sourcePath;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Returns the absolute paths of every `.patch` file currently in the kind's
|
|
286
|
+
* inbox directory (sorted by basename for stable ordering at apply time).
|
|
287
|
+
*
|
|
288
|
+
* NOTE: this is a raw filesystem listing — it does NOT validate patch shape
|
|
289
|
+
* or that targets fall inside the kind's allowed root. Callers that need
|
|
290
|
+
* "what the user actually sees in the inbox" should use `listValidInboxPatchFiles`.
|
|
291
|
+
*/
|
|
292
|
+
export async function listInboxPatchFiles(config, kind) {
|
|
293
|
+
const patchRoot = getMemoryPatchRoot(config.storage.getProjectMemoryTempDir(), kind);
|
|
294
|
+
const found = [];
|
|
295
|
+
async function walk(currentDir) {
|
|
296
|
+
let dirEntries;
|
|
297
|
+
try {
|
|
298
|
+
dirEntries = await fs.readdir(currentDir, { withFileTypes: true });
|
|
299
|
+
}
|
|
300
|
+
catch {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
for (const entry of dirEntries) {
|
|
304
|
+
const entryPath = path.join(currentDir, entry.name);
|
|
305
|
+
if (entry.isDirectory()) {
|
|
306
|
+
await walk(entryPath);
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
if (entry.isFile() && entry.name.endsWith('.patch')) {
|
|
310
|
+
found.push(entryPath);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
await walk(patchRoot);
|
|
315
|
+
return found.sort();
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Checks whether a memory inbox patch passes the same validation as
|
|
319
|
+
* `/memory inbox`: parseable unified diff, at least one hunk per parsed file,
|
|
320
|
+
* valid absolute headers, and all targets inside the kind's allowed target set.
|
|
321
|
+
*/
|
|
322
|
+
export async function validateInboxMemoryPatchFile(config, kind, sourcePath) {
|
|
323
|
+
let content;
|
|
324
|
+
try {
|
|
325
|
+
content = await fs.readFile(sourcePath, 'utf-8');
|
|
326
|
+
}
|
|
327
|
+
catch (error) {
|
|
328
|
+
return {
|
|
329
|
+
valid: false,
|
|
330
|
+
reason: `failed to read patch: ${error instanceof Error ? error.message : String(error)}`,
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
let parsed;
|
|
334
|
+
try {
|
|
335
|
+
parsed = Diff.parsePatch(content);
|
|
336
|
+
}
|
|
337
|
+
catch (error) {
|
|
338
|
+
return {
|
|
339
|
+
valid: false,
|
|
340
|
+
reason: `failed to parse patch: ${error instanceof Error ? error.message : String(error)}`,
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
if (!hasParsedPatchHunks(parsed)) {
|
|
344
|
+
return { valid: false, reason: 'no hunks found in patch' };
|
|
345
|
+
}
|
|
346
|
+
const validated = validateParsedSkillPatchHeaders(parsed);
|
|
347
|
+
if (!validated.success) {
|
|
348
|
+
switch (validated.reason) {
|
|
349
|
+
case 'missingTargetPath':
|
|
350
|
+
return {
|
|
351
|
+
valid: false,
|
|
352
|
+
reason: 'missing target file path in patch header',
|
|
353
|
+
};
|
|
354
|
+
case 'invalidPatchHeaders':
|
|
355
|
+
return {
|
|
356
|
+
valid: false,
|
|
357
|
+
reason: `invalid diff headers${validated.targetPath ? `: ${validated.targetPath}` : ''}`,
|
|
358
|
+
};
|
|
359
|
+
default:
|
|
360
|
+
return { valid: false, reason: 'invalid patch headers' };
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
const validationContext = await getMemoryPatchTargetValidationContext(config, kind);
|
|
364
|
+
for (const header of validated.patches) {
|
|
365
|
+
if (!(await resolveMemoryPatchTargetWithinAllowedSet(header.targetPath, validationContext))) {
|
|
366
|
+
return {
|
|
367
|
+
valid: false,
|
|
368
|
+
reason: `target file is outside ${kind} memory roots: ${header.targetPath}`,
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
return { valid: true };
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Returns only the inbox patch files that pass the same validation as the
|
|
376
|
+
* inbox listing (parseable, has hunks, valid headers, targets in the kind's
|
|
377
|
+
* allowed target set). Used by aggregate apply and memory-service notification
|
|
378
|
+
* counting so the user only ever sees results for patches the inbox actually
|
|
379
|
+
* surfaced.
|
|
380
|
+
*/
|
|
381
|
+
export async function listValidInboxPatchFiles(config, kind) {
|
|
382
|
+
const patchFiles = await listInboxPatchFiles(config, kind);
|
|
383
|
+
if (patchFiles.length === 0) {
|
|
384
|
+
return [];
|
|
385
|
+
}
|
|
386
|
+
const valid = [];
|
|
387
|
+
for (const sourcePath of patchFiles) {
|
|
388
|
+
const validation = await validateInboxMemoryPatchFile(config, kind, sourcePath);
|
|
389
|
+
if (validation.valid) {
|
|
390
|
+
valid.push(sourcePath);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
return valid;
|
|
394
|
+
}
|
|
135
395
|
export async function applyParsedSkillPatches(parsedPatches, config) {
|
|
396
|
+
const allowedRoots = await getCanonicalAllowedSkillPatchRoots(config);
|
|
397
|
+
return applyParsedPatchesWithAllowedRoots(parsedPatches, allowedRoots);
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Applies parsed unified diff patches against any caller-supplied set of
|
|
401
|
+
* allowed root directories. This is the kind-agnostic core used by both the
|
|
402
|
+
* skill patch flow and the memory patch flow.
|
|
403
|
+
*
|
|
404
|
+
* The patch headers must reference absolute paths inside one of the allowed
|
|
405
|
+
* roots (after canonical resolution) and pass any caller-supplied fine-grained
|
|
406
|
+
* target predicate. Update patches must reference an existing target; creation
|
|
407
|
+
* patches (`/dev/null` source) must reference a path that does not yet exist.
|
|
408
|
+
*
|
|
409
|
+
* Returns the per-target before/after content so callers can stage commits
|
|
410
|
+
* and roll back on failure.
|
|
411
|
+
*/
|
|
412
|
+
export async function applyParsedPatchesWithAllowedRoots(parsedPatches, allowedRoots, options = {}) {
|
|
136
413
|
const results = new Map();
|
|
137
414
|
const patchedContentByTarget = new Map();
|
|
138
415
|
const originalContentByTarget = new Map();
|
|
@@ -142,8 +419,10 @@ export async function applyParsedSkillPatches(parsedPatches, config) {
|
|
|
142
419
|
}
|
|
143
420
|
for (const [index, patch] of parsedPatches.entries()) {
|
|
144
421
|
const { targetPath, isNewFile } = validatedHeaders.patches[index];
|
|
145
|
-
const resolvedTargetPath = await
|
|
146
|
-
if (!resolvedTargetPath
|
|
422
|
+
const resolvedTargetPath = await resolveTargetWithinAllowedRoots(targetPath, allowedRoots);
|
|
423
|
+
if (!resolvedTargetPath ||
|
|
424
|
+
(options.isResolvedTargetAllowed &&
|
|
425
|
+
!options.isResolvedTargetAllowed(resolvedTargetPath))) {
|
|
147
426
|
return {
|
|
148
427
|
success: false,
|
|
149
428
|
reason: 'outsideAllowedRoots',
|
|
@@ -213,4 +492,33 @@ export async function applyParsedSkillPatches(parsedPatches, config) {
|
|
|
213
492
|
results: Array.from(results.values()),
|
|
214
493
|
};
|
|
215
494
|
}
|
|
495
|
+
/**
|
|
496
|
+
* Canonicalizes a caller-supplied allowed root list once so callers can pass
|
|
497
|
+
* raw `Storage` paths without each call doing realpath traversal.
|
|
498
|
+
*/
|
|
499
|
+
export async function canonicalizeAllowedPatchRoots(roots) {
|
|
500
|
+
const canonicalRoots = await Promise.all(roots.map((root) => resolvePathWithExistingAncestors(root)));
|
|
501
|
+
return Array.from(new Set(canonicalRoots.filter((root) => typeof root === 'string')));
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* Returns the canonical target path if it falls inside (or exactly equals)
|
|
505
|
+
* one of the supplied allowed roots, otherwise `undefined`. Allowed roots may
|
|
506
|
+
* be either directories (subtree allowlist) or single file paths
|
|
507
|
+
* (single-file allowlist) — `isSubpath(file, file)` returns true for the
|
|
508
|
+
* same-path case.
|
|
509
|
+
*
|
|
510
|
+
* Exported so that `listInboxMemoryPatches` can pre-filter patches whose
|
|
511
|
+
* headers escape the kind's allowed root, instead of surfacing them in the
|
|
512
|
+
* UI just to fail at Apply time.
|
|
513
|
+
*/
|
|
514
|
+
export async function resolveTargetWithinAllowedRoots(targetPath, allowedRoots) {
|
|
515
|
+
const canonicalTargetPath = await resolvePathWithExistingAncestors(targetPath);
|
|
516
|
+
if (!canonicalTargetPath) {
|
|
517
|
+
return undefined;
|
|
518
|
+
}
|
|
519
|
+
if (allowedRoots.some((root) => isSubpath(root, canonicalTargetPath))) {
|
|
520
|
+
return canonicalTargetPath;
|
|
521
|
+
}
|
|
522
|
+
return undefined;
|
|
523
|
+
}
|
|
216
524
|
//# sourceMappingURL=memoryPatchUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryPatchUtils.js","sourceRoot":"","sources":["../../../src/services/memoryPatchUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memoryPatchUtils.js","sourceRoot":"","sources":["../../../src/services/memoryPatchUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,8 @@ export interface ExtractionRun {
|
|
|
23
23
|
sessionIds: string[];
|
|
24
24
|
candidateSessions?: SessionVersion[];
|
|
25
25
|
processedSessions?: SessionVersion[];
|
|
26
|
+
memoryCandidatesCreated?: string[];
|
|
27
|
+
memoryFilesUpdated?: string[];
|
|
26
28
|
skillsCreated: string[];
|
|
27
29
|
turnCount?: number;
|
|
28
30
|
durationMs?: number;
|