@sema-ai/core 1.275.1
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/CHANGELOG.md +5433 -0
- package/LICENSE +27 -0
- package/NOTICE.md +30 -0
- package/README.md +1040 -0
- package/dist/agents/agent-definition.d.ts +10 -0
- package/dist/agents/agent-definition.d.ts.map +1 -0
- package/dist/agents/agent-definition.js +18 -0
- package/dist/agents/agent-definition.js.map +1 -0
- package/dist/agents/builtin-agents.d.ts +69 -0
- package/dist/agents/builtin-agents.d.ts.map +1 -0
- package/dist/agents/builtin-agents.js +177 -0
- package/dist/agents/builtin-agents.js.map +1 -0
- package/dist/agents/cascade.d.ts +101 -0
- package/dist/agents/cascade.d.ts.map +1 -0
- package/dist/agents/cascade.js +189 -0
- package/dist/agents/cascade.js.map +1 -0
- package/dist/agents/observer.d.ts +209 -0
- package/dist/agents/observer.d.ts.map +1 -0
- package/dist/agents/observer.js +495 -0
- package/dist/agents/observer.js.map +1 -0
- package/dist/agents/repair-loop.d.ts +236 -0
- package/dist/agents/repair-loop.d.ts.map +1 -0
- package/dist/agents/repair-loop.js +293 -0
- package/dist/agents/repair-loop.js.map +1 -0
- package/dist/agents/session-util.d.ts +8 -0
- package/dist/agents/session-util.d.ts.map +1 -0
- package/dist/agents/session-util.js +9 -0
- package/dist/agents/session-util.js.map +1 -0
- package/dist/agents/subagent-steps.d.ts +93 -0
- package/dist/agents/subagent-steps.d.ts.map +1 -0
- package/dist/agents/subagent-steps.js +206 -0
- package/dist/agents/subagent-steps.js.map +1 -0
- package/dist/agents/subagent.d.ts +441 -0
- package/dist/agents/subagent.d.ts.map +1 -0
- package/dist/agents/subagent.js +2492 -0
- package/dist/agents/subagent.js.map +1 -0
- package/dist/agents/suspend-guard.d.ts +35 -0
- package/dist/agents/suspend-guard.d.ts.map +1 -0
- package/dist/agents/suspend-guard.js +48 -0
- package/dist/agents/suspend-guard.js.map +1 -0
- package/dist/agents/teacher.d.ts +137 -0
- package/dist/agents/teacher.d.ts.map +1 -0
- package/dist/agents/teacher.js +575 -0
- package/dist/agents/teacher.js.map +1 -0
- package/dist/agents/team.d.ts +211 -0
- package/dist/agents/team.d.ts.map +1 -0
- package/dist/agents/team.js +293 -0
- package/dist/agents/team.js.map +1 -0
- package/dist/agents/tool-filter.d.ts +29 -0
- package/dist/agents/tool-filter.d.ts.map +1 -0
- package/dist/agents/tool-filter.js +50 -0
- package/dist/agents/tool-filter.js.map +1 -0
- package/dist/agents/verify.d.ts +177 -0
- package/dist/agents/verify.d.ts.map +1 -0
- package/dist/agents/verify.js +305 -0
- package/dist/agents/verify.js.map +1 -0
- package/dist/bench/metrics.d.ts +714 -0
- package/dist/bench/metrics.d.ts.map +1 -0
- package/dist/bench/metrics.js +618 -0
- package/dist/bench/metrics.js.map +1 -0
- package/dist/bin/sema-tb.d.ts +3 -0
- package/dist/bin/sema-tb.d.ts.map +1 -0
- package/dist/bin/sema-tb.js +516 -0
- package/dist/bin/sema-tb.js.map +1 -0
- package/dist/bin/tb-env.d.ts +13 -0
- package/dist/bin/tb-env.d.ts.map +1 -0
- package/dist/bin/tb-env.js +26 -0
- package/dist/bin/tb-env.js.map +1 -0
- package/dist/brain/anthropic.d.ts +46 -0
- package/dist/brain/anthropic.d.ts.map +1 -0
- package/dist/brain/anthropic.js +830 -0
- package/dist/brain/anthropic.js.map +1 -0
- package/dist/brain/circuit-breaker.d.ts +46 -0
- package/dist/brain/circuit-breaker.d.ts.map +1 -0
- package/dist/brain/circuit-breaker.js +173 -0
- package/dist/brain/circuit-breaker.js.map +1 -0
- package/dist/brain/degrading.d.ts +98 -0
- package/dist/brain/degrading.d.ts.map +1 -0
- package/dist/brain/degrading.js +249 -0
- package/dist/brain/degrading.js.map +1 -0
- package/dist/brain/errors.d.ts +31 -0
- package/dist/brain/errors.d.ts.map +1 -0
- package/dist/brain/errors.js +58 -0
- package/dist/brain/errors.js.map +1 -0
- package/dist/brain/failover.d.ts +18 -0
- package/dist/brain/failover.d.ts.map +1 -0
- package/dist/brain/failover.js +118 -0
- package/dist/brain/failover.js.map +1 -0
- package/dist/brain/model-presets.d.ts +36 -0
- package/dist/brain/model-presets.d.ts.map +1 -0
- package/dist/brain/model-presets.js +54 -0
- package/dist/brain/model-presets.js.map +1 -0
- package/dist/brain/openai.d.ts +43 -0
- package/dist/brain/openai.d.ts.map +1 -0
- package/dist/brain/openai.js +784 -0
- package/dist/brain/openai.js.map +1 -0
- package/dist/brain/reasoning.d.ts +138 -0
- package/dist/brain/reasoning.d.ts.map +1 -0
- package/dist/brain/reasoning.js +146 -0
- package/dist/brain/reasoning.js.map +1 -0
- package/dist/brain/repetition.d.ts +60 -0
- package/dist/brain/repetition.d.ts.map +1 -0
- package/dist/brain/repetition.js +121 -0
- package/dist/brain/repetition.js.map +1 -0
- package/dist/brain/request-params.d.ts +29 -0
- package/dist/brain/request-params.d.ts.map +1 -0
- package/dist/brain/request-params.js +78 -0
- package/dist/brain/request-params.js.map +1 -0
- package/dist/brain/retry.d.ts +18 -0
- package/dist/brain/retry.d.ts.map +1 -0
- package/dist/brain/retry.js +42 -0
- package/dist/brain/retry.js.map +1 -0
- package/dist/brain/routing.d.ts +19 -0
- package/dist/brain/routing.d.ts.map +1 -0
- package/dist/brain/routing.js +44 -0
- package/dist/brain/routing.js.map +1 -0
- package/dist/brain/status-sink.d.ts +46 -0
- package/dist/brain/status-sink.d.ts.map +1 -0
- package/dist/brain/status-sink.js +36 -0
- package/dist/brain/status-sink.js.map +1 -0
- package/dist/brain/stream-engine.d.ts +85 -0
- package/dist/brain/stream-engine.d.ts.map +1 -0
- package/dist/brain/stream-engine.js +391 -0
- package/dist/brain/stream-engine.js.map +1 -0
- package/dist/brain/timeout.d.ts +44 -0
- package/dist/brain/timeout.d.ts.map +1 -0
- package/dist/brain/timeout.js +41 -0
- package/dist/brain/timeout.js.map +1 -0
- package/dist/brain/tool-call-repair.d.ts +15 -0
- package/dist/brain/tool-call-repair.d.ts.map +1 -0
- package/dist/brain/tool-call-repair.js +67 -0
- package/dist/brain/tool-call-repair.js.map +1 -0
- package/dist/brain/walltime.d.ts +14 -0
- package/dist/brain/walltime.d.ts.map +1 -0
- package/dist/brain/walltime.js +14 -0
- package/dist/brain/walltime.js.map +1 -0
- package/dist/core/arg-summary.d.ts +19 -0
- package/dist/core/arg-summary.d.ts.map +1 -0
- package/dist/core/arg-summary.js +96 -0
- package/dist/core/arg-summary.js.map +1 -0
- package/dist/core/ask-question.d.ts +113 -0
- package/dist/core/ask-question.d.ts.map +1 -0
- package/dist/core/ask-question.js +246 -0
- package/dist/core/ask-question.js.map +1 -0
- package/dist/core/auto-compaction.d.ts +341 -0
- package/dist/core/auto-compaction.d.ts.map +1 -0
- package/dist/core/auto-compaction.js +495 -0
- package/dist/core/auto-compaction.js.map +1 -0
- package/dist/core/auto-promote.d.ts +126 -0
- package/dist/core/auto-promote.d.ts.map +1 -0
- package/dist/core/auto-promote.js +171 -0
- package/dist/core/auto-promote.js.map +1 -0
- package/dist/core/background-shell.d.ts +128 -0
- package/dist/core/background-shell.d.ts.map +1 -0
- package/dist/core/background-shell.js +42 -0
- package/dist/core/background-shell.js.map +1 -0
- package/dist/core/cache-break-detector.d.ts +63 -0
- package/dist/core/cache-break-detector.d.ts.map +1 -0
- package/dist/core/cache-break-detector.js +0 -0
- package/dist/core/cache-break-detector.js.map +1 -0
- package/dist/core/canonical-json.d.ts +45 -0
- package/dist/core/canonical-json.d.ts.map +1 -0
- package/dist/core/canonical-json.js +132 -0
- package/dist/core/canonical-json.js.map +1 -0
- package/dist/core/checkpoint-store.d.ts +1101 -0
- package/dist/core/checkpoint-store.d.ts.map +1 -0
- package/dist/core/checkpoint-store.js +514 -0
- package/dist/core/checkpoint-store.js.map +1 -0
- package/dist/core/consolidate-scope.d.ts +94 -0
- package/dist/core/consolidate-scope.d.ts.map +1 -0
- package/dist/core/consolidate-scope.js +158 -0
- package/dist/core/consolidate-scope.js.map +1 -0
- package/dist/core/context-edit.d.ts +82 -0
- package/dist/core/context-edit.d.ts.map +1 -0
- package/dist/core/context-edit.js +149 -0
- package/dist/core/context-edit.js.map +1 -0
- package/dist/core/context-guard.d.ts +43 -0
- package/dist/core/context-guard.d.ts.map +1 -0
- package/dist/core/context-guard.js +171 -0
- package/dist/core/context-guard.js.map +1 -0
- package/dist/core/dynamic-recall.d.ts +100 -0
- package/dist/core/dynamic-recall.d.ts.map +1 -0
- package/dist/core/dynamic-recall.js +108 -0
- package/dist/core/dynamic-recall.js.map +1 -0
- package/dist/core/exec-gate.d.ts +74 -0
- package/dist/core/exec-gate.d.ts.map +1 -0
- package/dist/core/exec-gate.js +143 -0
- package/dist/core/exec-gate.js.map +1 -0
- package/dist/core/exec-output-tail.d.ts +37 -0
- package/dist/core/exec-output-tail.d.ts.map +1 -0
- package/dist/core/exec-output-tail.js +63 -0
- package/dist/core/exec-output-tail.js.map +1 -0
- package/dist/core/file-snapshot-store.d.ts +137 -0
- package/dist/core/file-snapshot-store.d.ts.map +1 -0
- package/dist/core/file-snapshot-store.js +319 -0
- package/dist/core/file-snapshot-store.js.map +1 -0
- package/dist/core/git-worktree-env.d.ts +41 -0
- package/dist/core/git-worktree-env.d.ts.map +1 -0
- package/dist/core/git-worktree-env.js +64 -0
- package/dist/core/git-worktree-env.js.map +1 -0
- package/dist/core/hooks.d.ts +372 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +269 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/lsp-diagnostics.d.ts +74 -0
- package/dist/core/lsp-diagnostics.d.ts.map +1 -0
- package/dist/core/lsp-diagnostics.js +125 -0
- package/dist/core/lsp-diagnostics.js.map +1 -0
- package/dist/core/lsp-protocol.d.ts +28 -0
- package/dist/core/lsp-protocol.d.ts.map +1 -0
- package/dist/core/lsp-protocol.js +179 -0
- package/dist/core/lsp-protocol.js.map +1 -0
- package/dist/core/lsp-session.d.ts +56 -0
- package/dist/core/lsp-session.d.ts.map +1 -0
- package/dist/core/lsp-session.js +185 -0
- package/dist/core/lsp-session.js.map +1 -0
- package/dist/core/lsp.d.ts +132 -0
- package/dist/core/lsp.d.ts.map +1 -0
- package/dist/core/lsp.js +147 -0
- package/dist/core/lsp.js.map +1 -0
- package/dist/core/mcp.d.ts +294 -0
- package/dist/core/mcp.d.ts.map +1 -0
- package/dist/core/mcp.js +992 -0
- package/dist/core/mcp.js.map +1 -0
- package/dist/core/media-byte-cap.d.ts +34 -0
- package/dist/core/media-byte-cap.d.ts.map +1 -0
- package/dist/core/media-byte-cap.js +76 -0
- package/dist/core/media-byte-cap.js.map +1 -0
- package/dist/core/memory-engine/data-plane.d.ts +103 -0
- package/dist/core/memory-engine/data-plane.d.ts.map +1 -0
- package/dist/core/memory-engine/data-plane.js +272 -0
- package/dist/core/memory-engine/data-plane.js.map +1 -0
- package/dist/core/memory-engine/dual-root.d.ts +40 -0
- package/dist/core/memory-engine/dual-root.d.ts.map +1 -0
- package/dist/core/memory-engine/dual-root.js +95 -0
- package/dist/core/memory-engine/dual-root.js.map +1 -0
- package/dist/core/memory-engine/engine.d.ts +161 -0
- package/dist/core/memory-engine/engine.d.ts.map +1 -0
- package/dist/core/memory-engine/engine.js +1110 -0
- package/dist/core/memory-engine/engine.js.map +1 -0
- package/dist/core/memory-engine/file-backend.d.ts +162 -0
- package/dist/core/memory-engine/file-backend.d.ts.map +1 -0
- package/dist/core/memory-engine/file-backend.js +948 -0
- package/dist/core/memory-engine/file-backend.js.map +1 -0
- package/dist/core/memory-engine/frontmatter.d.ts +24 -0
- package/dist/core/memory-engine/frontmatter.d.ts.map +1 -0
- package/dist/core/memory-engine/frontmatter.js +135 -0
- package/dist/core/memory-engine/frontmatter.js.map +1 -0
- package/dist/core/memory-engine/index.d.ts +13 -0
- package/dist/core/memory-engine/index.d.ts.map +1 -0
- package/dist/core/memory-engine/index.js +28 -0
- package/dist/core/memory-engine/index.js.map +1 -0
- package/dist/core/memory-engine/layout.d.ts +123 -0
- package/dist/core/memory-engine/layout.d.ts.map +1 -0
- package/dist/core/memory-engine/layout.js +643 -0
- package/dist/core/memory-engine/layout.js.map +1 -0
- package/dist/core/memory-engine/memory-backend-contract.d.ts +22 -0
- package/dist/core/memory-engine/memory-backend-contract.d.ts.map +1 -0
- package/dist/core/memory-engine/memory-backend-contract.js +271 -0
- package/dist/core/memory-engine/memory-backend-contract.js.map +1 -0
- package/dist/core/memory-engine/migrate.d.ts +17 -0
- package/dist/core/memory-engine/migrate.d.ts.map +1 -0
- package/dist/core/memory-engine/migrate.js +35 -0
- package/dist/core/memory-engine/migrate.js.map +1 -0
- package/dist/core/memory-engine/scan.d.ts +20 -0
- package/dist/core/memory-engine/scan.d.ts.map +1 -0
- package/dist/core/memory-engine/scan.js +84 -0
- package/dist/core/memory-engine/scan.js.map +1 -0
- package/dist/core/memory-engine/scope-contract.d.ts +104 -0
- package/dist/core/memory-engine/scope-contract.d.ts.map +1 -0
- package/dist/core/memory-engine/scope-contract.js +288 -0
- package/dist/core/memory-engine/scope-contract.js.map +1 -0
- package/dist/core/memory-engine/sync-client.d.ts +100 -0
- package/dist/core/memory-engine/sync-client.d.ts.map +1 -0
- package/dist/core/memory-engine/sync-client.js +328 -0
- package/dist/core/memory-engine/sync-client.js.map +1 -0
- package/dist/core/memory-engine/sync.d.ts +97 -0
- package/dist/core/memory-engine/sync.d.ts.map +1 -0
- package/dist/core/memory-engine/sync.js +91 -0
- package/dist/core/memory-engine/sync.js.map +1 -0
- package/dist/core/memory-engine/types.d.ts +279 -0
- package/dist/core/memory-engine/types.d.ts.map +1 -0
- package/dist/core/memory-engine/types.js +9 -0
- package/dist/core/memory-engine/types.js.map +1 -0
- package/dist/core/memory-recall.d.ts +261 -0
- package/dist/core/memory-recall.d.ts.map +1 -0
- package/dist/core/memory-recall.js +600 -0
- package/dist/core/memory-recall.js.map +1 -0
- package/dist/core/memory-vector.d.ts +24 -0
- package/dist/core/memory-vector.d.ts.map +1 -0
- package/dist/core/memory-vector.js +51 -0
- package/dist/core/memory-vector.js.map +1 -0
- package/dist/core/memory.d.ts +502 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +881 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/message-utils.d.ts +7 -0
- package/dist/core/message-utils.d.ts.map +1 -0
- package/dist/core/message-utils.js +10 -0
- package/dist/core/message-utils.js.map +1 -0
- package/dist/core/oracle-isolation.d.ts +85 -0
- package/dist/core/oracle-isolation.d.ts.map +1 -0
- package/dist/core/oracle-isolation.js +121 -0
- package/dist/core/oracle-isolation.js.map +1 -0
- package/dist/core/permission-rules.d.ts +102 -0
- package/dist/core/permission-rules.d.ts.map +1 -0
- package/dist/core/permission-rules.js +357 -0
- package/dist/core/permission-rules.js.map +1 -0
- package/dist/core/present-plan-tool.d.ts +28 -0
- package/dist/core/present-plan-tool.d.ts.map +1 -0
- package/dist/core/present-plan-tool.js +119 -0
- package/dist/core/present-plan-tool.js.map +1 -0
- package/dist/core/pricing.d.ts +48 -0
- package/dist/core/pricing.d.ts.map +1 -0
- package/dist/core/pricing.js +46 -0
- package/dist/core/pricing.js.map +1 -0
- package/dist/core/property-harness.d.ts +126 -0
- package/dist/core/property-harness.d.ts.map +1 -0
- package/dist/core/property-harness.js +192 -0
- package/dist/core/property-harness.js.map +1 -0
- package/dist/core/push-queue.d.ts +10 -0
- package/dist/core/push-queue.d.ts.map +1 -0
- package/dist/core/push-queue.js +42 -0
- package/dist/core/push-queue.js.map +1 -0
- package/dist/core/remote-env.d.ts +432 -0
- package/dist/core/remote-env.d.ts.map +1 -0
- package/dist/core/remote-env.js +77 -0
- package/dist/core/remote-env.js.map +1 -0
- package/dist/core/roles.d.ts +74 -0
- package/dist/core/roles.d.ts.map +1 -0
- package/dist/core/roles.js +272 -0
- package/dist/core/roles.js.map +1 -0
- package/dist/core/runner/active-skill-scope.d.ts +64 -0
- package/dist/core/runner/active-skill-scope.d.ts.map +1 -0
- package/dist/core/runner/active-skill-scope.js +197 -0
- package/dist/core/runner/active-skill-scope.js.map +1 -0
- package/dist/core/runner/assemble-result.d.ts +191 -0
- package/dist/core/runner/assemble-result.d.ts.map +1 -0
- package/dist/core/runner/assemble-result.js +250 -0
- package/dist/core/runner/assemble-result.js.map +1 -0
- package/dist/core/runner/call-cap.d.ts +130 -0
- package/dist/core/runner/call-cap.d.ts.map +1 -0
- package/dist/core/runner/call-cap.js +151 -0
- package/dist/core/runner/call-cap.js.map +1 -0
- package/dist/core/runner/grounding-signal.d.ts +12 -0
- package/dist/core/runner/grounding-signal.d.ts.map +1 -0
- package/dist/core/runner/grounding-signal.js +94 -0
- package/dist/core/runner/grounding-signal.js.map +1 -0
- package/dist/core/runner/image.d.ts +23 -0
- package/dist/core/runner/image.d.ts.map +1 -0
- package/dist/core/runner/image.js +151 -0
- package/dist/core/runner/image.js.map +1 -0
- package/dist/core/runner/memory-consolidation.d.ts +112 -0
- package/dist/core/runner/memory-consolidation.d.ts.map +1 -0
- package/dist/core/runner/memory-consolidation.js +372 -0
- package/dist/core/runner/memory-consolidation.js.map +1 -0
- package/dist/core/runner/prepare-task.d.ts +583 -0
- package/dist/core/runner/prepare-task.d.ts.map +1 -0
- package/dist/core/runner/prepare-task.js +3612 -0
- package/dist/core/runner/prepare-task.js.map +1 -0
- package/dist/core/runner/prompt-suggestions.d.ts +33 -0
- package/dist/core/runner/prompt-suggestions.d.ts.map +1 -0
- package/dist/core/runner/prompt-suggestions.js +116 -0
- package/dist/core/runner/prompt-suggestions.js.map +1 -0
- package/dist/core/runner/runtask.d.ts +274 -0
- package/dist/core/runner/runtask.d.ts.map +1 -0
- package/dist/core/runner/runtask.js +4606 -0
- package/dist/core/runner/runtask.js.map +1 -0
- package/dist/core/runner/session-rule-policy.d.ts +28 -0
- package/dist/core/runner/session-rule-policy.d.ts.map +1 -0
- package/dist/core/runner/session-rule-policy.js +110 -0
- package/dist/core/runner/session-rule-policy.js.map +1 -0
- package/dist/core/runner/strict-output-schema.d.ts +36 -0
- package/dist/core/runner/strict-output-schema.d.ts.map +1 -0
- package/dist/core/runner/strict-output-schema.js +365 -0
- package/dist/core/runner/strict-output-schema.js.map +1 -0
- package/dist/core/runner/synthetic-tools.d.ts +72 -0
- package/dist/core/runner/synthetic-tools.d.ts.map +1 -0
- package/dist/core/runner/synthetic-tools.js +203 -0
- package/dist/core/runner/synthetic-tools.js.map +1 -0
- package/dist/core/runner/tool-disclosure.d.ts +117 -0
- package/dist/core/runner/tool-disclosure.d.ts.map +1 -0
- package/dist/core/runner/tool-disclosure.js +0 -0
- package/dist/core/runner/tool-disclosure.js.map +1 -0
- package/dist/core/runner/turn-attachments.d.ts +381 -0
- package/dist/core/runner/turn-attachments.d.ts.map +1 -0
- package/dist/core/runner/turn-attachments.js +596 -0
- package/dist/core/runner/turn-attachments.js.map +1 -0
- package/dist/core/runner/usage-accounting.d.ts +35 -0
- package/dist/core/runner/usage-accounting.d.ts.map +1 -0
- package/dist/core/runner/usage-accounting.js +45 -0
- package/dist/core/runner/usage-accounting.js.map +1 -0
- package/dist/core/runtime.d.ts +9 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/runtime.js +17 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/safety-axis-vocab.d.ts +33 -0
- package/dist/core/safety-axis-vocab.d.ts.map +1 -0
- package/dist/core/safety-axis-vocab.js +35 -0
- package/dist/core/safety-axis-vocab.js.map +1 -0
- package/dist/core/safety-merge-corpus.d.ts +48 -0
- package/dist/core/safety-merge-corpus.d.ts.map +1 -0
- package/dist/core/safety-merge-corpus.js +203 -0
- package/dist/core/safety-merge-corpus.js.map +1 -0
- package/dist/core/scheduler.d.ts +126 -0
- package/dist/core/scheduler.d.ts.map +1 -0
- package/dist/core/scheduler.js +54 -0
- package/dist/core/scheduler.js.map +1 -0
- package/dist/core/secret-env.d.ts +23 -0
- package/dist/core/secret-env.d.ts.map +1 -0
- package/dist/core/secret-env.js +35 -0
- package/dist/core/secret-env.js.map +1 -0
- package/dist/core/select-model.d.ts +26 -0
- package/dist/core/select-model.d.ts.map +1 -0
- package/dist/core/select-model.js +58 -0
- package/dist/core/select-model.js.map +1 -0
- package/dist/core/sensitive-path-policy.d.ts +24 -0
- package/dist/core/sensitive-path-policy.d.ts.map +1 -0
- package/dist/core/sensitive-path-policy.js +96 -0
- package/dist/core/sensitive-path-policy.js.map +1 -0
- package/dist/core/session-policy-store.d.ts +102 -0
- package/dist/core/session-policy-store.d.ts.map +1 -0
- package/dist/core/session-policy-store.js +177 -0
- package/dist/core/session-policy-store.js.map +1 -0
- package/dist/core/session-reconcile.d.ts +63 -0
- package/dist/core/session-reconcile.d.ts.map +1 -0
- package/dist/core/session-reconcile.js +71 -0
- package/dist/core/session-reconcile.js.map +1 -0
- package/dist/core/session-store.d.ts +99 -0
- package/dist/core/session-store.d.ts.map +1 -0
- package/dist/core/session-store.js +298 -0
- package/dist/core/session-store.js.map +1 -0
- package/dist/core/session.d.ts +144 -0
- package/dist/core/session.d.ts.map +1 -0
- package/dist/core/session.js +56 -0
- package/dist/core/session.js.map +1 -0
- package/dist/core/spec-contract.d.ts +147 -0
- package/dist/core/spec-contract.d.ts.map +1 -0
- package/dist/core/spec-contract.js +340 -0
- package/dist/core/spec-contract.js.map +1 -0
- package/dist/core/strategy-store.d.ts +50 -0
- package/dist/core/strategy-store.d.ts.map +1 -0
- package/dist/core/strategy-store.js +100 -0
- package/dist/core/strategy-store.js.map +1 -0
- package/dist/core/stub-env.d.ts +35 -0
- package/dist/core/stub-env.d.ts.map +1 -0
- package/dist/core/stub-env.js +69 -0
- package/dist/core/stub-env.js.map +1 -0
- package/dist/core/task-notification.d.ts +115 -0
- package/dist/core/task-notification.d.ts.map +1 -0
- package/dist/core/task-notification.js +247 -0
- package/dist/core/task-notification.js.map +1 -0
- package/dist/core/task-outcome.d.ts +80 -0
- package/dist/core/task-outcome.d.ts.map +1 -0
- package/dist/core/task-outcome.js +40 -0
- package/dist/core/task-outcome.js.map +1 -0
- package/dist/core/task-registry.d.ts +349 -0
- package/dist/core/task-registry.d.ts.map +1 -0
- package/dist/core/task-registry.js +1751 -0
- package/dist/core/task-registry.js.map +1 -0
- package/dist/core/tighten-task-spec.d.ts +27 -0
- package/dist/core/tighten-task-spec.d.ts.map +1 -0
- package/dist/core/tighten-task-spec.js +95 -0
- package/dist/core/tighten-task-spec.js.map +1 -0
- package/dist/core/tool-detach.d.ts +31 -0
- package/dist/core/tool-detach.d.ts.map +1 -0
- package/dist/core/tool-detach.js +62 -0
- package/dist/core/tool-detach.js.map +1 -0
- package/dist/core/tool-errors.d.ts +72 -0
- package/dist/core/tool-errors.d.ts.map +1 -0
- package/dist/core/tool-errors.js +194 -0
- package/dist/core/tool-errors.js.map +1 -0
- package/dist/core/tool-name-aliases.d.ts +5 -0
- package/dist/core/tool-name-aliases.d.ts.map +1 -0
- package/dist/core/tool-name-aliases.js +130 -0
- package/dist/core/tool-name-aliases.js.map +1 -0
- package/dist/core/tool-policy.d.ts +295 -0
- package/dist/core/tool-policy.d.ts.map +1 -0
- package/dist/core/tool-policy.js +567 -0
- package/dist/core/tool-policy.js.map +1 -0
- package/dist/core/tool-result-budget.d.ts +44 -0
- package/dist/core/tool-result-budget.d.ts.map +1 -0
- package/dist/core/tool-result-budget.js +140 -0
- package/dist/core/tool-result-budget.js.map +1 -0
- package/dist/core/tool-result-store.d.ts +136 -0
- package/dist/core/tool-result-store.d.ts.map +1 -0
- package/dist/core/tool-result-store.js +219 -0
- package/dist/core/tool-result-store.js.map +1 -0
- package/dist/core/tools.d.ts +14 -0
- package/dist/core/tools.d.ts.map +1 -0
- package/dist/core/tools.js +98 -0
- package/dist/core/tools.js.map +1 -0
- package/dist/core/trace.d.ts +340 -0
- package/dist/core/trace.d.ts.map +1 -0
- package/dist/core/trace.js +12 -0
- package/dist/core/trace.js.map +1 -0
- package/dist/core/types.d.ts +2828 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/untrusted-egress.d.ts +32 -0
- package/dist/core/untrusted-egress.d.ts.map +1 -0
- package/dist/core/untrusted-egress.js +49 -0
- package/dist/core/untrusted-egress.js.map +1 -0
- package/dist/core/untrusted-text.d.ts +64 -0
- package/dist/core/untrusted-text.d.ts.map +1 -0
- package/dist/core/untrusted-text.js +119 -0
- package/dist/core/untrusted-text.js.map +1 -0
- package/dist/core/warm-resume.d.ts +23 -0
- package/dist/core/warm-resume.d.ts.map +1 -0
- package/dist/core/warm-resume.js +28 -0
- package/dist/core/warm-resume.js.map +1 -0
- package/dist/core/with-retry.d.ts +43 -0
- package/dist/core/with-retry.d.ts.map +1 -0
- package/dist/core/with-retry.js +59 -0
- package/dist/core/with-retry.js.map +1 -0
- package/dist/core/workflow-journal-store.d.ts +44 -0
- package/dist/core/workflow-journal-store.d.ts.map +1 -0
- package/dist/core/workflow-journal-store.js +47 -0
- package/dist/core/workflow-journal-store.js.map +1 -0
- package/dist/core/workflow-run-store-contract.d.ts +31 -0
- package/dist/core/workflow-run-store-contract.d.ts.map +1 -0
- package/dist/core/workflow-run-store-contract.js +191 -0
- package/dist/core/workflow-run-store-contract.js.map +1 -0
- package/dist/core/workflow-run-store.d.ts +149 -0
- package/dist/core/workflow-run-store.d.ts.map +1 -0
- package/dist/core/workflow-run-store.js +110 -0
- package/dist/core/workflow-run-store.js.map +1 -0
- package/dist/engine/compaction/compaction.d.ts +139 -0
- package/dist/engine/compaction/compaction.d.ts.map +1 -0
- package/dist/engine/compaction/compaction.js +1030 -0
- package/dist/engine/compaction/compaction.js.map +1 -0
- package/dist/engine/compaction/utils.d.ts +45 -0
- package/dist/engine/compaction/utils.d.ts.map +1 -0
- package/dist/engine/compaction/utils.js +203 -0
- package/dist/engine/compaction/utils.js.map +1 -0
- package/dist/engine/execution-env/kill-tree.d.ts +20 -0
- package/dist/engine/execution-env/kill-tree.d.ts.map +1 -0
- package/dist/engine/execution-env/kill-tree.js +183 -0
- package/dist/engine/execution-env/kill-tree.js.map +1 -0
- package/dist/engine/execution-env/node-execution-env.d.ts +133 -0
- package/dist/engine/execution-env/node-execution-env.d.ts.map +1 -0
- package/dist/engine/execution-env/node-execution-env.js +1031 -0
- package/dist/engine/execution-env/node-execution-env.js.map +1 -0
- package/dist/engine/harness/agent-harness.d.ts +174 -0
- package/dist/engine/harness/agent-harness.d.ts.map +1 -0
- package/dist/engine/harness/agent-harness.js +1053 -0
- package/dist/engine/harness/agent-harness.js.map +1 -0
- package/dist/engine/harness/messages.d.ts +17 -0
- package/dist/engine/harness/messages.d.ts.map +1 -0
- package/dist/engine/harness/messages.js +122 -0
- package/dist/engine/harness/messages.js.map +1 -0
- package/dist/engine/harness/types.d.ts +713 -0
- package/dist/engine/harness/types.d.ts.map +1 -0
- package/dist/engine/harness/types.js +100 -0
- package/dist/engine/harness/types.js.map +1 -0
- package/dist/engine/llm/diagnostics.d.ts +23 -0
- package/dist/engine/llm/diagnostics.d.ts.map +1 -0
- package/dist/engine/llm/diagnostics.js +32 -0
- package/dist/engine/llm/diagnostics.js.map +1 -0
- package/dist/engine/llm/event-stream.d.ts +25 -0
- package/dist/engine/llm/event-stream.d.ts.map +1 -0
- package/dist/engine/llm/event-stream.js +103 -0
- package/dist/engine/llm/event-stream.js.map +1 -0
- package/dist/engine/llm/index.d.ts +12 -0
- package/dist/engine/llm/index.d.ts.map +1 -0
- package/dist/engine/llm/index.js +12 -0
- package/dist/engine/llm/index.js.map +1 -0
- package/dist/engine/llm/types.d.ts +753 -0
- package/dist/engine/llm/types.d.ts.map +1 -0
- package/dist/engine/llm/types.js +2 -0
- package/dist/engine/llm/types.js.map +1 -0
- package/dist/engine/llm/validation.d.ts +8 -0
- package/dist/engine/llm/validation.d.ts.map +1 -0
- package/dist/engine/llm/validation.js +318 -0
- package/dist/engine/llm/validation.js.map +1 -0
- package/dist/engine/loop/agent-loop.d.ts +74 -0
- package/dist/engine/loop/agent-loop.d.ts.map +1 -0
- package/dist/engine/loop/agent-loop.js +1490 -0
- package/dist/engine/loop/agent-loop.js.map +1 -0
- package/dist/engine/loop/runtime-deps.d.ts +17 -0
- package/dist/engine/loop/runtime-deps.d.ts.map +1 -0
- package/dist/engine/loop/runtime-deps.js +21 -0
- package/dist/engine/loop/runtime-deps.js.map +1 -0
- package/dist/engine/loop/types.d.ts +609 -0
- package/dist/engine/loop/types.d.ts.map +1 -0
- package/dist/engine/loop/types.js +2 -0
- package/dist/engine/loop/types.js.map +1 -0
- package/dist/engine/lsp/frame-decoder.d.ts +16 -0
- package/dist/engine/lsp/frame-decoder.d.ts.map +1 -0
- package/dist/engine/lsp/frame-decoder.js +53 -0
- package/dist/engine/lsp/frame-decoder.js.map +1 -0
- package/dist/engine/lsp/node-lsp-manager.d.ts +105 -0
- package/dist/engine/lsp/node-lsp-manager.d.ts.map +1 -0
- package/dist/engine/lsp/node-lsp-manager.js +343 -0
- package/dist/engine/lsp/node-lsp-manager.js.map +1 -0
- package/dist/engine/lsp/stdio-lsp-transport.d.ts +37 -0
- package/dist/engine/lsp/stdio-lsp-transport.d.ts.map +1 -0
- package/dist/engine/lsp/stdio-lsp-transport.js +185 -0
- package/dist/engine/lsp/stdio-lsp-transport.js.map +1 -0
- package/dist/engine/session/import-validate.d.ts +44 -0
- package/dist/engine/session/import-validate.d.ts.map +1 -0
- package/dist/engine/session/import-validate.js +92 -0
- package/dist/engine/session/import-validate.js.map +1 -0
- package/dist/engine/session/memory-repo.d.ts +25 -0
- package/dist/engine/session/memory-repo.d.ts.map +1 -0
- package/dist/engine/session/memory-repo.js +59 -0
- package/dist/engine/session/memory-repo.js.map +1 -0
- package/dist/engine/session/memory-storage.d.ts +14 -0
- package/dist/engine/session/memory-storage.d.ts.map +1 -0
- package/dist/engine/session/memory-storage.js +17 -0
- package/dist/engine/session/memory-storage.js.map +1 -0
- package/dist/engine/session/repo-utils.d.ts +11 -0
- package/dist/engine/session/repo-utils.d.ts.map +1 -0
- package/dist/engine/session/repo-utils.js +40 -0
- package/dist/engine/session/repo-utils.js.map +1 -0
- package/dist/engine/session/session.d.ts +34 -0
- package/dist/engine/session/session.d.ts.map +1 -0
- package/dist/engine/session/session.js +227 -0
- package/dist/engine/session/session.js.map +1 -0
- package/dist/engine/session/storage-base.d.ts +38 -0
- package/dist/engine/session/storage-base.d.ts.map +1 -0
- package/dist/engine/session/storage-base.js +157 -0
- package/dist/engine/session/storage-base.js.map +1 -0
- package/dist/engine/session/timestamps.d.ts +3 -0
- package/dist/engine/session/timestamps.d.ts.map +1 -0
- package/dist/engine/session/timestamps.js +15 -0
- package/dist/engine/session/timestamps.js.map +1 -0
- package/dist/engine/session/uuid.d.ts +2 -0
- package/dist/engine/session/uuid.d.ts.map +1 -0
- package/dist/engine/session/uuid.js +50 -0
- package/dist/engine/session/uuid.js.map +1 -0
- package/dist/index.d.ts +160 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +374 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/harness.d.ts +26 -0
- package/dist/internal/harness.d.ts.map +1 -0
- package/dist/internal/harness.js +24 -0
- package/dist/internal/harness.js.map +1 -0
- package/dist/internal/llm.d.ts +9 -0
- package/dist/internal/llm.d.ts.map +1 -0
- package/dist/internal/llm.js +8 -0
- package/dist/internal/llm.js.map +1 -0
- package/dist/orchestration/builtin-workflows.d.ts +44 -0
- package/dist/orchestration/builtin-workflows.d.ts.map +1 -0
- package/dist/orchestration/builtin-workflows.js +165 -0
- package/dist/orchestration/builtin-workflows.js.map +1 -0
- package/dist/orchestration/dev-vm-script-runner.d.ts +24 -0
- package/dist/orchestration/dev-vm-script-runner.d.ts.map +1 -0
- package/dist/orchestration/dev-vm-script-runner.js +106 -0
- package/dist/orchestration/dev-vm-script-runner.js.map +1 -0
- package/dist/orchestration/goal.d.ts +97 -0
- package/dist/orchestration/goal.d.ts.map +1 -0
- package/dist/orchestration/goal.js +248 -0
- package/dist/orchestration/goal.js.map +1 -0
- package/dist/orchestration/run-spec.d.ts +63 -0
- package/dist/orchestration/run-spec.d.ts.map +1 -0
- package/dist/orchestration/run-spec.js +274 -0
- package/dist/orchestration/run-spec.js.map +1 -0
- package/dist/orchestration/run-workflow-tool.d.ts +187 -0
- package/dist/orchestration/run-workflow-tool.d.ts.map +1 -0
- package/dist/orchestration/run-workflow-tool.js +612 -0
- package/dist/orchestration/run-workflow-tool.js.map +1 -0
- package/dist/orchestration/workflow-governance.d.ts +70 -0
- package/dist/orchestration/workflow-governance.d.ts.map +1 -0
- package/dist/orchestration/workflow-governance.js +176 -0
- package/dist/orchestration/workflow-governance.js.map +1 -0
- package/dist/orchestration/workflow-meta.d.ts +41 -0
- package/dist/orchestration/workflow-meta.d.ts.map +1 -0
- package/dist/orchestration/workflow-meta.js +426 -0
- package/dist/orchestration/workflow-meta.js.map +1 -0
- package/dist/orchestration/workflow-observe.d.ts +77 -0
- package/dist/orchestration/workflow-observe.d.ts.map +1 -0
- package/dist/orchestration/workflow-observe.js +177 -0
- package/dist/orchestration/workflow-observe.js.map +1 -0
- package/dist/orchestration/workflow-primitives.d.ts +31 -0
- package/dist/orchestration/workflow-primitives.d.ts.map +1 -0
- package/dist/orchestration/workflow-primitives.js +104 -0
- package/dist/orchestration/workflow-primitives.js.map +1 -0
- package/dist/orchestration/workflow-sandbox-conformance.d.ts +34 -0
- package/dist/orchestration/workflow-sandbox-conformance.d.ts.map +1 -0
- package/dist/orchestration/workflow-sandbox-conformance.js +301 -0
- package/dist/orchestration/workflow-sandbox-conformance.js.map +1 -0
- package/dist/orchestration/workflow-script-runner.d.ts +127 -0
- package/dist/orchestration/workflow-script-runner.d.ts.map +1 -0
- package/dist/orchestration/workflow-script-runner.js +48 -0
- package/dist/orchestration/workflow-script-runner.js.map +1 -0
- package/dist/orchestration/workflow-script-store.d.ts +99 -0
- package/dist/orchestration/workflow-script-store.d.ts.map +1 -0
- package/dist/orchestration/workflow-script-store.js +133 -0
- package/dist/orchestration/workflow-script-store.js.map +1 -0
- package/dist/orchestration/workflow-size-guideline.d.ts +50 -0
- package/dist/orchestration/workflow-size-guideline.d.ts.map +1 -0
- package/dist/orchestration/workflow-size-guideline.js +78 -0
- package/dist/orchestration/workflow-size-guideline.js.map +1 -0
- package/dist/orchestration/workflow.d.ts +624 -0
- package/dist/orchestration/workflow.d.ts.map +1 -0
- package/dist/orchestration/workflow.js +1596 -0
- package/dist/orchestration/workflow.js.map +1 -0
- package/dist/prompts/default.d.ts +474 -0
- package/dist/prompts/default.d.ts.map +1 -0
- package/dist/prompts/default.js +676 -0
- package/dist/prompts/default.js.map +1 -0
- package/dist/prompts/supervisor.d.ts +60 -0
- package/dist/prompts/supervisor.d.ts.map +1 -0
- package/dist/prompts/supervisor.js +162 -0
- package/dist/prompts/supervisor.js.map +1 -0
- package/dist/scenarios/env.d.ts +41 -0
- package/dist/scenarios/env.d.ts.map +1 -0
- package/dist/scenarios/env.js +65 -0
- package/dist/scenarios/env.js.map +1 -0
- package/dist/scenarios/full-body.d.ts +47 -0
- package/dist/scenarios/full-body.d.ts.map +1 -0
- package/dist/scenarios/full-body.js +36 -0
- package/dist/scenarios/full-body.js.map +1 -0
- package/dist/scenarios/scenario-registry.d.ts +107 -0
- package/dist/scenarios/scenario-registry.d.ts.map +1 -0
- package/dist/scenarios/scenario-registry.js +192 -0
- package/dist/scenarios/scenario-registry.js.map +1 -0
- package/dist/scenarios/teacher-quickstart.d.ts +41 -0
- package/dist/scenarios/teacher-quickstart.d.ts.map +1 -0
- package/dist/scenarios/teacher-quickstart.js +32 -0
- package/dist/scenarios/teacher-quickstart.js.map +1 -0
- package/dist/server/http.d.ts +36 -0
- package/dist/server/http.d.ts.map +1 -0
- package/dist/server/http.js +144 -0
- package/dist/server/http.js.map +1 -0
- package/dist/stores/file/checkpoint-store.d.ts +62 -0
- package/dist/stores/file/checkpoint-store.d.ts.map +1 -0
- package/dist/stores/file/checkpoint-store.js +250 -0
- package/dist/stores/file/checkpoint-store.js.map +1 -0
- package/dist/stores/file/file-snapshot-store.d.ts +43 -0
- package/dist/stores/file/file-snapshot-store.d.ts.map +1 -0
- package/dist/stores/file/file-snapshot-store.js +374 -0
- package/dist/stores/file/file-snapshot-store.js.map +1 -0
- package/dist/stores/file/fs-atomic.d.ts +95 -0
- package/dist/stores/file/fs-atomic.d.ts.map +1 -0
- package/dist/stores/file/fs-atomic.js +415 -0
- package/dist/stores/file/fs-atomic.js.map +1 -0
- package/dist/stores/file/index.d.ts +98 -0
- package/dist/stores/file/index.d.ts.map +1 -0
- package/dist/stores/file/index.js +109 -0
- package/dist/stores/file/index.js.map +1 -0
- package/dist/stores/file/memory-store.d.ts +95 -0
- package/dist/stores/file/memory-store.d.ts.map +1 -0
- package/dist/stores/file/memory-store.js +393 -0
- package/dist/stores/file/memory-store.js.map +1 -0
- package/dist/stores/file/session-policy-store.d.ts +24 -0
- package/dist/stores/file/session-policy-store.d.ts.map +1 -0
- package/dist/stores/file/session-policy-store.js +123 -0
- package/dist/stores/file/session-policy-store.js.map +1 -0
- package/dist/stores/file/session-store.d.ts +34 -0
- package/dist/stores/file/session-store.d.ts.map +1 -0
- package/dist/stores/file/session-store.js +175 -0
- package/dist/stores/file/session-store.js.map +1 -0
- package/dist/stores/file/tool-result-store.d.ts +23 -0
- package/dist/stores/file/tool-result-store.d.ts.map +1 -0
- package/dist/stores/file/tool-result-store.js +61 -0
- package/dist/stores/file/tool-result-store.js.map +1 -0
- package/dist/stores/file/workflow-journal-store.d.ts +36 -0
- package/dist/stores/file/workflow-journal-store.d.ts.map +1 -0
- package/dist/stores/file/workflow-journal-store.js +157 -0
- package/dist/stores/file/workflow-journal-store.js.map +1 -0
- package/dist/stores/file/workflow-run-store.d.ts +58 -0
- package/dist/stores/file/workflow-run-store.d.ts.map +1 -0
- package/dist/stores/file/workflow-run-store.js +178 -0
- package/dist/stores/file/workflow-run-store.js.map +1 -0
- package/dist/stores/pg.d.ts +210 -0
- package/dist/stores/pg.d.ts.map +1 -0
- package/dist/stores/pg.js +652 -0
- package/dist/stores/pg.js.map +1 -0
- package/dist/tools/fs/encoding.d.ts +51 -0
- package/dist/tools/fs/encoding.d.ts.map +1 -0
- package/dist/tools/fs/encoding.js +74 -0
- package/dist/tools/fs/encoding.js.map +1 -0
- package/dist/tools/fs/gh-rate-limit.d.ts +19 -0
- package/dist/tools/fs/gh-rate-limit.d.ts.map +1 -0
- package/dist/tools/fs/gh-rate-limit.js +35 -0
- package/dist/tools/fs/gh-rate-limit.js.map +1 -0
- package/dist/tools/fs/index.d.ts +246 -0
- package/dist/tools/fs/index.d.ts.map +1 -0
- package/dist/tools/fs/index.js +2130 -0
- package/dist/tools/fs/index.js.map +1 -0
- package/dist/tools/fs/pdf.d.ts +106 -0
- package/dist/tools/fs/pdf.d.ts.map +1 -0
- package/dist/tools/fs/pdf.js +178 -0
- package/dist/tools/fs/pdf.js.map +1 -0
- package/dist/tools/fs/repo-map.d.ts +15 -0
- package/dist/tools/fs/repo-map.d.ts.map +1 -0
- package/dist/tools/fs/repo-map.js +251 -0
- package/dist/tools/fs/repo-map.js.map +1 -0
- package/dist/tools/fs/safety.d.ts +168 -0
- package/dist/tools/fs/safety.d.ts.map +1 -0
- package/dist/tools/fs/safety.js +479 -0
- package/dist/tools/fs/safety.js.map +1 -0
- package/dist/tools/fs/search.d.ts +118 -0
- package/dist/tools/fs/search.d.ts.map +1 -0
- package/dist/tools/fs/search.js +650 -0
- package/dist/tools/fs/search.js.map +1 -0
- package/dist/tools/gitea-issue.d.ts +39 -0
- package/dist/tools/gitea-issue.d.ts.map +1 -0
- package/dist/tools/gitea-issue.js +91 -0
- package/dist/tools/gitea-issue.js.map +1 -0
- package/dist/tools/monitor.d.ts +64 -0
- package/dist/tools/monitor.d.ts.map +1 -0
- package/dist/tools/monitor.js +135 -0
- package/dist/tools/monitor.js.map +1 -0
- package/dist/tools/scheduler-tools.d.ts +48 -0
- package/dist/tools/scheduler-tools.d.ts.map +1 -0
- package/dist/tools/scheduler-tools.js +449 -0
- package/dist/tools/scheduler-tools.js.map +1 -0
- package/dist/tools/sql-adapters.d.ts +32 -0
- package/dist/tools/sql-adapters.d.ts.map +1 -0
- package/dist/tools/sql-adapters.js +31 -0
- package/dist/tools/sql-adapters.js.map +1 -0
- package/dist/tools/sql.d.ts +36 -0
- package/dist/tools/sql.d.ts.map +1 -0
- package/dist/tools/sql.js +131 -0
- package/dist/tools/sql.js.map +1 -0
- package/dist/tools/task-list.d.ts +26 -0
- package/dist/tools/task-list.d.ts.map +1 -0
- package/dist/tools/task-list.js +352 -0
- package/dist/tools/task-list.js.map +1 -0
- package/dist/tools/todo.d.ts +11 -0
- package/dist/tools/todo.d.ts.map +1 -0
- package/dist/tools/todo.js +126 -0
- package/dist/tools/todo.js.map +1 -0
- package/dist/tools/web.d.ts +59 -0
- package/dist/tools/web.d.ts.map +1 -0
- package/dist/tools/web.js +607 -0
- package/dist/tools/web.js.map +1 -0
- package/dist/tools/worktree.d.ts +88 -0
- package/dist/tools/worktree.d.ts.map +1 -0
- package/dist/tools/worktree.js +434 -0
- package/dist/tools/worktree.js.map +1 -0
- package/docs/A1-ATTRIBUTION-ROUND1-2026-07-09.md +181 -0
- package/docs/AB-ORACLE-GATE-VERDICT-2026-07-10.md +100 -0
- package/docs/ANCHOR-GAP-INVENTORY-2026-07-09.md +143 -0
- package/docs/ARCHITECTURE.md +125 -0
- package/docs/BUGHUNT-2026-07-05-NIGHT.md +98 -0
- package/docs/BUILD.md +63 -0
- package/docs/CANCEL-ASYNC-ATTRIBUTION-2026-07-09.md +98 -0
- package/docs/CC-198-VS-201-DRIFT-2026-07-09.md +70 -0
- package/docs/CC-BASELINE-FAKE-ZERO-AUDIT-2026-07-09.md +51 -0
- package/docs/CC-DRIFT-198-206-AGENT-TYPES-2026-07-10.md +82 -0
- package/docs/CC-DRIFT-198-206-CHANGELOG-2026-07-10.md +82 -0
- package/docs/CC-DRIFT-198-206-REMINDERS-2026-07-10.md +96 -0
- package/docs/CC-DRIFT-198-206-ROADMAP-2026-07-10.md +110 -0
- package/docs/CC-DRIFT-198-206-TOOL-INVENTORY-2026-07-10.md +53 -0
- package/docs/CC-DRIFT-198-206-USAGE-CONSTANTS-2026-07-10.md +64 -0
- package/docs/CC-DRIFT-198-206-WORKFLOW-2026-07-10.md +83 -0
- package/docs/CC-PARITY-CHECKLIST.md +220 -0
- package/docs/CC-PARITY-DEEP-SWEEP-2026-07-07.md +149 -0
- package/docs/CC-SUBAGENT-PROMPT-STUDY-2026-07-09.md +219 -0
- package/docs/CC-TASK-REMINDER-CADENCE-STUDY-2026-07-09.md +396 -0
- package/docs/CC-TOOL-PARITY-SWEEP-2026-07.md +56 -0
- package/docs/CC-TOOL-PROMPT-DEEP-DIFF-2026-07-08.md +274 -0
- package/docs/CC-TOOLSURFACE-DEEP-DIVE-2026-07-07.md +197 -0
- package/docs/CC206-OBSERVER-ANCHORS-2026-07-11.md +463 -0
- package/docs/CC207-CORE-SWEEP-BACKLOG-2026-07-12.md +155 -0
- package/docs/CENTER-CONTROL-PLANE-SEAM.md +86 -0
- package/docs/CLEANUP-CONTRACT-ANCHOR-2026-07-09.md +83 -0
- package/docs/COLD-START-RSI-2026-07-09.md +72 -0
- package/docs/COMPACTION-LIVE-AUDIT-2026-07-09.md +114 -0
- package/docs/CONTEXT-lifecycle-extension-points-and-stop-attribution.md +71 -0
- package/docs/COREWARS-POLYGLOT-TRIAGE-2026-07-09.md +85 -0
- package/docs/DEADTARGET-OVERFULL-HBOX-2026-07-10.md +92 -0
- package/docs/DEADTARGET-PATH-TRACING-REVERSE-2026-07-10.md +87 -0
- package/docs/DEADTARGET-WINNING-AVG-COREWARS-2026-07-10.md +96 -0
- package/docs/DEEPSEEK-API-LIMITS-PROBE-2026-07-09.md +118 -0
- package/docs/DESIGN-140-MOCK-VERIFY-2026-07-11.md +79 -0
- package/docs/DESIGN-140-VERIFICATION-2026-07-11.md +43 -0
- package/docs/DESIGN-DRAFT-workflow-collab-2026-07-11.md +56 -0
- package/docs/DESIGN-ORACLE-GROUNDING-GATE-2026-07-10.md +167 -0
- package/docs/DESIGN-TFRAG-RECONCILE-SCAFFOLD-2026-07-09.md +102 -0
- package/docs/EXP-PA2-PE-DESIGN-2026-07-11.md +220 -0
- package/docs/EXT-DOGFOOD-2026-07-12.md +50 -0
- package/docs/FINAL-VERIFY-SURFACE-AUDIT-2026-07-09.md +44 -0
- package/docs/FRAG-RECON-INVESTIGATION-2026-07-09.md +183 -0
- package/docs/HANDOFF.md +121 -0
- package/docs/KNOWN-ISSUES.md +96 -0
- package/docs/LEGW-WINDOW-TAX-2026-07-10.md +82 -0
- package/docs/LIVE-PROBE-BATCH-2026-07-11.md +207 -0
- package/docs/M2-CERT-ATTRIBUTION-2026-07-10.md +61 -0
- package/docs/M25-LEG-VARIANCE-ATTRIBUTION-2026-07-10.md +81 -0
- package/docs/MAILMAN-TIMEOUT-ATTRIBUTION-2026-07-10.md +88 -0
- package/docs/MEMORY-BACKEND-DIALECT-NOTES.md +69 -0
- package/docs/MTEB-ESCAPE-HATCH-ATTRIBUTION-2026-07-09.md +57 -0
- package/docs/MTEB-LEADERBOARD-ATTRIBUTION-2026-07-10.md +134 -0
- package/docs/ORACLE-GATE-NEGATIVE-SAMPLE-2026-07-11.md +28 -0
- package/docs/PARITY-CONTEXT-TRANSACTIONS-2026-07-10.md +67 -0
- package/docs/PARITY-PROGRESS-MATRIX-2026-07-10.md +37 -0
- package/docs/PARITY-SPOT-AGENT-TYPES-2026-07-10.md +70 -0
- package/docs/PARITY-SPOT-REMINDERS-2026-07-10.md +144 -0
- package/docs/PARITY-SPOT-TOOL-INVENTORY-2026-07-10.md +61 -0
- package/docs/PARITY-SPOT-USAGE-CONSTANTS-2026-07-10.md +95 -0
- package/docs/PARITY-SPOT-WORKFLOW-2026-07-10.md +93 -0
- package/docs/PASSWORD-RECOVERY-PANEL-VERDICT-2026-07-10.md +62 -0
- package/docs/R8-R9-FINALIZE-COORDINATION-2026-07-09.md +124 -0
- package/docs/REPL-CODE-MODE-EVALUATION-2026-07-10.md +187 -0
- package/docs/REPORT-1249-TARGETED.md +48 -0
- package/docs/RESEARCH-3P-MEMORY-SWAP-2026-07-12.md +273 -0
- package/docs/ROADMAP.md +111 -0
- package/docs/RSI-CLOUD-DEPLOY-2026-07-06.md +289 -0
- package/docs/RSI-PROCESS-AI-COLDSTART-2026-07-11.md +68 -0
- package/docs/S18-THOROUGHNESS-AUDIT-2026-07-09.md +113 -0
- package/docs/SERVICE-INTEGRATION-GUIDE.md +298 -0
- package/docs/SUBAGENT-STREAM-RESILIENCE-PARITY-2026-07-10.md +118 -0
- package/docs/SWEBENCH-PRO-RECON-2026-07-11.md +31 -0
- package/docs/TB-EFFICIENCY-TELEMETRY-2026-07-08.md +114 -0
- package/docs/TB-FAILURE-AUTOPSY-2026-07-05-RERUN.md +67 -0
- package/docs/TB-FAIRNESS-AUDIT-2026-07-08.md +141 -0
- package/docs/TB-FULL-1257-2026-07-08.md +77 -0
- package/docs/TB-LEG-GAP-ATTRIBUTION-1261-1263-2026-07-11.md +154 -0
- package/docs/TB-REGRESSION-DAEMON-KILL-2026-07-08.md +58 -0
- package/docs/TB-RSI-CROSSCHECK-2026-07-06.md +68 -0
- package/docs/TB-RSI-LEDGER.md +30 -0
- package/docs/TB-STABLE-SET-2026-07-08.md +127 -0
- package/docs/TB21-RECON-2026-07-11.md +28 -0
- package/docs/TEST-DESIGN-BATCH-1-2-3.md +97 -0
- package/docs/THIRD-PARTY-INTEGRATION.md +45 -0
- package/docs/TOKEN-ESTIMATE-CALIBRATION-LIVE-2026-07-09.md +102 -0
- package/docs/audit-2026-06-10-/347/254/254/344/272/214/350/275/256-/347/251/272/347/231/275/345/214/272/344/270/216/345/277/230/346/216/245/347/272/277.md +147 -0
- package/docs/audit-2026-06-10-/350/256/241/347/256/227bug/346/211/253/346/217/217.md +163 -0
- package/docs/audit-2026-06-11-/344/277/256/345/244/215/345/244/215/345/256/241/344/270/216/345/233/236/345/275/222/344/270/223/346/211/253.md +95 -0
- package/docs/audit-2026-06-12-design71-P1/346/275/234/344/274/217/351/235/242/350/243/201/345/206/263/344/270/216/345/220/236/351/224/231/345/256/241/350/256/241.md +45 -0
- package/docs/audit-2026-06-12-/345/205/254/345/274/200/346/227/213/351/222/256/346/264/273/346/200/247/344/270/216vendored/346/255/273/350/267/257.md +63 -0
- package/docs/audit-2026-06-15/ADDENDUM-second-pass.md +88 -0
- package/docs/audit-2026-06-15/ARCHITECTURE-AND-ROADMAP.md +187 -0
- package/docs/audit-2026-06-15/DOC-CORRECTIONS.md +105 -0
- package/docs/audit-2026-06-15/INDEX.md +49 -0
- package/docs/audit-2026-06-15/ORCHESTRATION-STATUS.md +98 -0
- package/docs/audit-2026-06-15/PRODUCTION-ISSUES.md +189 -0
- package/docs/audit-2026-06-15/REFERENCES-literature.md +139 -0
- package/docs/audit-2026-06-15/VENDOR-REFACTOR-PLAN.md +96 -0
- package/docs/cc-probe-198/README.md +72 -0
- package/docs/cc-probe-198/STABILITY-AUDIT.md +118 -0
- package/docs/cc-probe-198/live-schema-monitor-worktree-2026-07-09.json +56 -0
- package/docs/cc-probe-198/mount-variants.json +536 -0
- package/docs/cc-probe-198/plan-mode-run.json +1 -0
- package/docs/cc-probe-198/probe-bash-bg.json +224 -0
- package/docs/cc-probe-198/probe-edit-mismatch.json +120 -0
- package/docs/cc-probe-198/probe-read-missing.json +62 -0
- package/docs/cc-probe-198/probe-search-empty.json +127 -0
- package/docs/cc-probe-198/probe-task-family.json +227 -0
- package/docs/cc-probe-198/probes.status +6 -0
- package/docs/cc-probe-198/raw-capture-interactive.json +948 -0
- package/docs/cc-probe-198/raw-capture-print.json +787 -0
- package/docs/cc-probe-198/raw-capture2-interactive.json +948 -0
- package/docs/cc-probe-198/raw-capture2-print.json +787 -0
- package/docs/cc-probe-198/system-prompt.txt +135 -0
- package/docs/cc-probe-198/tools-array.json +962 -0
- package/docs/durability-boundary.md +63 -0
- package/docs/fix-2026-06-10-/350/256/241/347/256/227bug/344/277/256/345/244/215-search/346/211/271.md +75 -0
- package/docs/fix-2026-06-11-/347/254/254/344/272/214/350/275/256-/344/277/256/345/244/215-search/346/211/271.md +62 -0
- package/docs/parity-sweep/REPORT-DYNAMIC.md +97 -0
- package/docs/parity-sweep/REPORT-STATIC-GGB.md +127 -0
- package/docs/parity-sweep/REPORT-STATIC-RWE.md +133 -0
- package/docs/vendor-history.md +385 -0
- package/docs/vendored-upstream-diff-2026-07.md +83 -0
- package/package.json +70 -0
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured header fields of one memory entry (the CC frontmatter shape: `name`/`description`/
|
|
3
|
+
* `metadata.type`). `extra` preserves any additional frontmatter lines VERBATIM (round-trip safety:
|
|
4
|
+
* the engine must never destroy model-authored frontmatter it doesn't understand — same posture as
|
|
5
|
+
* the file store's unknown-op replay skip).
|
|
6
|
+
*/
|
|
7
|
+
export interface MemoryEntryFrontmatter {
|
|
8
|
+
/** Short kebab-case slug (CC `name:`). Defaults to the file slug when the model omits it. */
|
|
9
|
+
name?: string;
|
|
10
|
+
/** One-line summary used for recall relevance (CC `description:`). */
|
|
11
|
+
description?: string;
|
|
12
|
+
/** CC `metadata.type`: user | feedback | project | reference (unknown strings degrade, design/65). */
|
|
13
|
+
type?: string;
|
|
14
|
+
/** design/138 §2.4 删除防线 — the EXPLICIT tombstone. A file that merely disappears is NEVER a
|
|
15
|
+
* delete; only `deleted: true` in frontmatter produces a delete patch. */
|
|
16
|
+
deleted?: boolean;
|
|
17
|
+
/** Unknown frontmatter lines preserved verbatim (order kept), re-serialized on projection. */
|
|
18
|
+
extra?: string[];
|
|
19
|
+
}
|
|
20
|
+
/** design/138 §2.1 — one memory entry (the unit the backend stores and the engine projects to a file). */
|
|
21
|
+
export interface MemoryEntry {
|
|
22
|
+
/** IMMUTABLE uuid — survives slug renames (consolidation cursors/vectors/dedup all key on it).
|
|
23
|
+
* Hidden in the file's frontmatter as `id:`; minted at harvest for id-less new files. */
|
|
24
|
+
id: string;
|
|
25
|
+
/** File-name identity (the path relative to its scope dir, without `.md`) — model-visible, renameable. */
|
|
26
|
+
slug: string;
|
|
27
|
+
frontmatter: MemoryEntryFrontmatter;
|
|
28
|
+
/** The markdown body (everything after the frontmatter block). */
|
|
29
|
+
body: string;
|
|
30
|
+
/** CAS baseline — a content hash over (id, frontmatter, body). See {@link computeEntryRev}. */
|
|
31
|
+
rev: string;
|
|
32
|
+
/** Owning scope (tenant/layer key, same vocabulary as `TaskSpec.memory.scopes`). */
|
|
33
|
+
scope: string;
|
|
34
|
+
}
|
|
35
|
+
/** Manifest-level header: enough to judge relevance / build the derived index, never the body. */
|
|
36
|
+
export interface MemoryEntryHeader {
|
|
37
|
+
id: string;
|
|
38
|
+
slug: string;
|
|
39
|
+
scope: string;
|
|
40
|
+
name?: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
type?: string;
|
|
43
|
+
/** Last content change (ms epoch) — drives the natural-language age rendering in the derived index. */
|
|
44
|
+
mtimeMs: number;
|
|
45
|
+
rev: string;
|
|
46
|
+
/** Approximate stored size (bytes of body+frontmatter) — drives the per-scope materialization budget. */
|
|
47
|
+
sizeBytes: number;
|
|
48
|
+
}
|
|
49
|
+
/** A scored search hit (FileBackend = lexical floor; PgBackend = design/81 vector rungs, S3). */
|
|
50
|
+
export interface ScoredMemoryEntry extends MemoryEntryHeader {
|
|
51
|
+
/** Cosine-DISTANCE ∈ [0,2], 0 = identical (same contract as {@link import("../memory.js").ScoredMemory}). */
|
|
52
|
+
score: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* design/138 §2.1 — one entry transaction. `add`/`delete` are naturally commutative; `update` carries
|
|
56
|
+
* a per-id CAS baseline (`baseRev`): when the backend's current rev differs, the patch is reported as a
|
|
57
|
+
* CONFLICT (never blind-written) and the next task re-materializes fresh state (§2.4 并发).
|
|
58
|
+
*/
|
|
59
|
+
export interface NotePatch {
|
|
60
|
+
op: "add" | "update" | "delete";
|
|
61
|
+
/** The immutable entry id this patch addresses. */
|
|
62
|
+
id: string;
|
|
63
|
+
/** The full new entry state (`add`/`update`). Absent for `delete`. */
|
|
64
|
+
entry?: MemoryEntry;
|
|
65
|
+
/** CAS baseline for `update`/`delete`: the rev this patch was computed against. Absent (a brand-new
|
|
66
|
+
* add) ⇒ no CAS. */
|
|
67
|
+
baseRev?: string;
|
|
68
|
+
/** ADD-ONLY guard (design/142 S2.5, E-02). Meaningful only on `op: "add"`:
|
|
69
|
+
* - `"absent"` ⇒ add-if-absent: if the target id already exists, the backend compares revs —
|
|
70
|
+
* same rev AND same projection (scope+slug) = idempotent apply; DIFFERENT rev, or same rev at a
|
|
71
|
+
* DIFFERENT projection (三轮复查: rev hashes id/frontmatter/body, not slug/scope — a same-content
|
|
72
|
+
* copy at another slug/scope is no no-op, "applying" it would mint a duplicate file for the id) =
|
|
73
|
+
* a REPORTED conflict (`add_guard_absent_conflict`, carrying `currentRev`), NEVER a blind
|
|
74
|
+
* overwrite or a duplicate. This is for sync's first-round pull adds, where a concurrent local
|
|
75
|
+
* create during the RTT must not be clobbered.
|
|
76
|
+
* A plain add WITHOUT this guard keeps its existing idempotent-overwrite semantics (the
|
|
77
|
+
* `same-scope re-add of an existing id is the idempotent overwrite` contract clause is unchanged).
|
|
78
|
+
* Ignored on `update`/`delete`. */
|
|
79
|
+
guard?: "absent";
|
|
80
|
+
}
|
|
81
|
+
/** Result of {@link MemoryBackend.applyPatches} — applied ops + per-id CAS conflicts (reported, not thrown). */
|
|
82
|
+
export interface PatchReport {
|
|
83
|
+
applied: Array<{
|
|
84
|
+
op: NotePatch["op"];
|
|
85
|
+
id: string;
|
|
86
|
+
slug?: string;
|
|
87
|
+
}>;
|
|
88
|
+
conflicts: Array<{
|
|
89
|
+
op: NotePatch["op"];
|
|
90
|
+
id: string;
|
|
91
|
+
reason: string;
|
|
92
|
+
baseRev?: string;
|
|
93
|
+
currentRev?: string;
|
|
94
|
+
}>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* design/138 §2.1 — the storage seam under the MemoryEngine. NOT a MemoryStore replacement shim: this
|
|
98
|
+
* is the S1 new-architecture surface (the legacy `MemoryStore` path is untouched and switched off it).
|
|
99
|
+
*/
|
|
100
|
+
export interface MemoryBackend {
|
|
101
|
+
/** Headers for every entry in the given scopes (manifest surface — bodies excluded). */
|
|
102
|
+
listHeaders(scopes: readonly string[]): Promise<MemoryEntryHeader[]>;
|
|
103
|
+
/** Full entries for the selected ids (unknown ids silently skipped). */
|
|
104
|
+
getByIds(ids: readonly string[]): Promise<MemoryEntry[]>;
|
|
105
|
+
/** Scored retrieval (FileBackend = lexical floor; vector rungs live in the S3 PgBackend). */
|
|
106
|
+
search(query: string, scopes: readonly string[], opts?: {
|
|
107
|
+
limit?: number;
|
|
108
|
+
}): Promise<ScoredMemoryEntry[]>;
|
|
109
|
+
/**
|
|
110
|
+
* Apply entry transactions (add/update/delete) against the backend's CURRENT state (per-id CAS).
|
|
111
|
+
*
|
|
112
|
+
* Behavior clauses a conforming implementation MUST honor (ext-dogfood F1 — each is asserted by
|
|
113
|
+
* `memoryBackendContract`, listed here so a third party doesn't have to discover them case by case):
|
|
114
|
+
* - a repeated id WITHIN one batch: first op wins, later ones conflict with reason matching
|
|
115
|
+
* /duplicate id in batch/;
|
|
116
|
+
* - `entry.id !== patch.id` (either op) is refused with reason matching /malformed patch refused/
|
|
117
|
+
* — never silently rekeyed;
|
|
118
|
+
* - an `add` whose slug is taken by a DIFFERENT id in the same scope gets a deterministic `-n`
|
|
119
|
+
* suffix (`taken` → `taken-2`); the id stays the identity anchor;
|
|
120
|
+
* - re-`add` of an EXISTING id is the idempotent overwrite (and into another scope = the MOVE:
|
|
121
|
+
* the old scope loses the entry) — not a conflict;
|
|
122
|
+
* - an `add` carrying `guard: "absent"` is add-if-absent: onto a MISSING id it is a plain add;
|
|
123
|
+
* onto an EXISTING id it is idempotent when the rev AND the projection (scope+slug) match, else a
|
|
124
|
+
* REPORTED conflict with reason matching /add_guard_absent_conflict/ carrying `currentRev` —
|
|
125
|
+
* NEVER a blind overwrite, never a second file for one id (E-02 + 三轮复查投影校验);
|
|
126
|
+
* - `update` MAY move an entry across scopes; a stale `baseRev` is a REPORTED conflict, never
|
|
127
|
+
* thrown, never blind-written;
|
|
128
|
+
* - conflicts are per-patch and non-fatal: the rest of the batch still applies.
|
|
129
|
+
*/
|
|
130
|
+
applyPatches(patches: readonly NotePatch[]): Promise<PatchReport>;
|
|
131
|
+
/** design/84 Seam B cursor pair, migrated verbatim onto the entry-id plane (S2 rewires consolidation). */
|
|
132
|
+
getConsolidationCursor(scope: string): Promise<string | undefined>;
|
|
133
|
+
setConsolidationCursor(scope: string, cursor: string): Promise<void>;
|
|
134
|
+
}
|
|
135
|
+
/** One file the engine materialized into the session memory directory. */
|
|
136
|
+
export interface MaterializedFile {
|
|
137
|
+
/** Absolute canonical path of the projected file. */
|
|
138
|
+
path: string;
|
|
139
|
+
/** Path relative to the memory dir root (the link target used in the derived MEMORY.md index). */
|
|
140
|
+
relPath: string;
|
|
141
|
+
scope: string;
|
|
142
|
+
id: string;
|
|
143
|
+
slug: string;
|
|
144
|
+
/** Rev of the ON-DISK content at materialize time (for a stub: the stub content's rev). */
|
|
145
|
+
rev: string;
|
|
146
|
+
/** True when this file is a budget stub (frontmatter+description only, body archived — §2.3). */
|
|
147
|
+
stub: boolean;
|
|
148
|
+
/** True when the file belongs to a read-only inherited layer (chmod-protected, never harvested as a write). */
|
|
149
|
+
readonly: boolean;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* design/138 §2.2 — the session handle `materialize` returns and `harvest`/`rebaseline` consume.
|
|
153
|
+
* `materialized` IS the harvest diff domain (plus session-new files under `writableRoot`): an entry
|
|
154
|
+
* that was never materialized can never be deleted by its absence (镜头 G).
|
|
155
|
+
*/
|
|
156
|
+
export interface MemorySessionHandle {
|
|
157
|
+
/** The memory directory root. PURE CONFIG (§2.7 r2.1): a project scope may live IN-REPO
|
|
158
|
+
* (git-tracked `memory/`), a user/personal scope OUTSIDE — the engine never asserts either.
|
|
159
|
+
* TODO(S1b): per-scope PHYSICAL roots (project scope in-repo + user scope in the home mount in ONE
|
|
160
|
+
* session) — `fileToScope` already keys absolute paths, so only the layout mapping needs the split. */
|
|
161
|
+
memoryDir: string;
|
|
162
|
+
/** The single directory the model may write memory into (the writeScope's home). Equals `memoryDir`
|
|
163
|
+
* when the writeScope owns the root (the standard TOC layout). */
|
|
164
|
+
writableRoot: string;
|
|
165
|
+
writeScope: string | null;
|
|
166
|
+
scopes: string[];
|
|
167
|
+
/** The materialized manifest = the harvest diff domain. */
|
|
168
|
+
materialized: MaterializedFile[];
|
|
169
|
+
/** Absolute file path → owning scope. */
|
|
170
|
+
fileToScope: Map<string, string>;
|
|
171
|
+
/** Absolute file path → materialize-time rev (the per-id CAS baseline harvest sends with updates). */
|
|
172
|
+
baseRevs: Map<string, string>;
|
|
173
|
+
/** Absolute file path → entry id at materialize time (rename/id-restore bookkeeping). */
|
|
174
|
+
baseIds: Map<string, string>;
|
|
175
|
+
/** Lines of the derived MEMORY.md at materialize time (the index-cleared fuse baseline). */
|
|
176
|
+
indexBaselineLines: number;
|
|
177
|
+
/** 评审 M6 — the derived index TEXT as of materialize. `inject` reads THIS when no on-disk
|
|
178
|
+
* MEMORY.md exists (a read-only layering never writes one), so first-session read-only injection
|
|
179
|
+
* works without a disk round-trip. */
|
|
180
|
+
indexText: string;
|
|
181
|
+
}
|
|
182
|
+
/** Stable rejection codes a harvest gate can produce (model-visible gate events — 镜头 I). */
|
|
183
|
+
export type HarvestRejectionCode = "outside_root" | "symlink" | "secret" | "injection" | "filename" | "too_large" | "file_cap" | "readonly_layer" | "stub_modified" | "nested_too_deep" | "quarantine_failed" | "invalid";
|
|
184
|
+
/** One rejected file: path (relative to the memory dir), stable code, and a model-readable reason. */
|
|
185
|
+
export interface HarvestRejection {
|
|
186
|
+
path: string;
|
|
187
|
+
code: HarvestRejectionCode;
|
|
188
|
+
reason: string;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* design/138 S2-C — one finding from the shared write-time/harvest scan rule set
|
|
192
|
+
* (`scan.ts` `scanMemoryWrite`/`scanMemoryFileName`; ONE rule set, TWO mount points).
|
|
193
|
+
*/
|
|
194
|
+
export interface ScanFinding {
|
|
195
|
+
/** The subset of {@link HarvestRejectionCode} the scan can produce. */
|
|
196
|
+
code: "secret" | "injection" | "filename" | "too_large";
|
|
197
|
+
/** Engine-composed, model-readable reason fragment (for `secret`: the pattern LABEL, never the value). */
|
|
198
|
+
reason: string;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* design/138 S2-B — one queued memory-change announcement, drained into the NEXT session's first
|
|
202
|
+
* injection (时机① only; there is no in-run delivery lane — O-F2/C-F4 裁撤). Queued via the
|
|
203
|
+
* journaled control-plane queue ({@link import("./layout.js").enqueueMemoryAnnouncement}) so
|
|
204
|
+
* concurrent writers never overwrite each other (O-F6/C-F5).
|
|
205
|
+
*/
|
|
206
|
+
export interface MemoryAnnouncement {
|
|
207
|
+
/** `gate` = engine gate/harvest events (rejections, quarantine, incidents, restores, conflicts,
|
|
208
|
+
* degradation, applied-patch summary); `external` = out-of-session changes the backend's read-side
|
|
209
|
+
* detected (disk rev ≠ ledger: adopted external edits + inbound-gate rejects). */
|
|
210
|
+
kind: "gate" | "external";
|
|
211
|
+
/** ms epoch at enqueue. */
|
|
212
|
+
at: number;
|
|
213
|
+
/** Optional producing-session id (repo-level event stream — Q-G: no worktree attribution in S2). */
|
|
214
|
+
sessionId?: string;
|
|
215
|
+
/** Engine-composed single-line items. O-F1/C-F8: every model/collaborator-controllable identifier
|
|
216
|
+
* (path/slug/name/description) is neutralized (inlineUntrusted) AND JSON-quoted at ENQUEUE time —
|
|
217
|
+
* the stored strings are already render-safe; the render step only adds the trusted lead/frame. */
|
|
218
|
+
items: string[];
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* design/138 §2.4 — the harvest outcome. Rejections are MODEL-VISIBLE gate events: S1 delivers the
|
|
222
|
+
* structure; the runner's boundary-announcement wiring (attachments member) lands in S2 (TODO(S2)).
|
|
223
|
+
*/
|
|
224
|
+
export interface HarvestReport {
|
|
225
|
+
/** False ⇔ the whole harvest was refused (deletion fuse / missing dir / corrupt sidecar incident). */
|
|
226
|
+
ok: boolean;
|
|
227
|
+
/** Set when a fuse tripped (§2.4 删除防线 / B3 fail-closed): the harvest is refused wholesale, NO
|
|
228
|
+
* patches (especially no deletes) are produced, and the report is surfaced as an alert. */
|
|
229
|
+
incident?: {
|
|
230
|
+
kind: "mass_deletion" | "index_cleared" | "dir_missing" | "sidecar_corrupt";
|
|
231
|
+
detail: string;
|
|
232
|
+
};
|
|
233
|
+
/** Patch counts actually APPLIED by the backend. */
|
|
234
|
+
patches: {
|
|
235
|
+
add: number;
|
|
236
|
+
update: number;
|
|
237
|
+
delete: number;
|
|
238
|
+
};
|
|
239
|
+
/** Per-id CAS conflicts from the backend (reported, never blind-written). */
|
|
240
|
+
conflicts: PatchReport["conflicts"];
|
|
241
|
+
rejections: HarvestRejection[];
|
|
242
|
+
/** Non-`.md` / non-structural files found in the diff domain — listed, never persisted (they stay
|
|
243
|
+
* on disk: they may be the model's working files). Files REMOVED from the model-visible plane go
|
|
244
|
+
* in {@link movedToQuarantine}. */
|
|
245
|
+
quarantined: string[];
|
|
246
|
+
/** Gate-rejected files physically MOVED into the control plane's `quarantine/` (out of the scan
|
|
247
|
+
* domain and off the model-visible disk — B2/验收 L4: secret-bearing files never linger). */
|
|
248
|
+
movedToQuarantine: string[];
|
|
249
|
+
/** C-F9 (S2-0) — quarantine escalations: any deviation from the clean capture+remove path is
|
|
250
|
+
* REPORT-VISIBLE here (never a debug-only downgrade). `contained` = the suspect content no longer
|
|
251
|
+
* sits raw on the model-visible plane (deleted / cleared in place / overwritten with the committed
|
|
252
|
+
* copy); `contained: false` is the worst case — residue remains and a human/runner must act. */
|
|
253
|
+
quarantineFailures?: Array<{
|
|
254
|
+
path: string;
|
|
255
|
+
contained: boolean;
|
|
256
|
+
detail: string;
|
|
257
|
+
}>;
|
|
258
|
+
/** Materialized files absent at harvest. NOT deletes (§2.4: 文件缺失≠删除). Files whose entry id
|
|
259
|
+
* re-appears at another path (a RENAME) are NOT counted here (验收 M1 — a rename is an id-keyed
|
|
260
|
+
* update, never a missing file, and never feeds the deletion fuse). */
|
|
261
|
+
missing: string[];
|
|
262
|
+
/** B1 committed-shadow recovery: missing (non-tombstoned) files RESTORED onto disk from the
|
|
263
|
+
* committed copy (backend/shadow). Disclosed here (the restore is an engine action, never silent).
|
|
264
|
+
* Restored paths also appear in {@link missing} (the honest record of what vanished). */
|
|
265
|
+
restored: string[];
|
|
266
|
+
/** Index self-heal notes (L8): suspected-duplicate index lines kept-with-warning, cleared orphans. */
|
|
267
|
+
warnings: string[];
|
|
268
|
+
/** M7 harvest budget: set when the deadline/file budget cut the harvest short. `pending` files were
|
|
269
|
+
* NOT processed this round (no patches, still on disk) — the next boundary harvest picks them up. */
|
|
270
|
+
degraded?: {
|
|
271
|
+
reason: "deadline" | "file_budget";
|
|
272
|
+
pending: string[];
|
|
273
|
+
};
|
|
274
|
+
/** B2 §2.7 r2.1 inbound gate: findings from scanning changes that did NOT originate in this session
|
|
275
|
+
* (e.g. a git-pull-borne edit of an in-repo memory dir — a write channel that bypasses the harvest
|
|
276
|
+
* gate). Populated by the backend's read-side sync gate and drained into the report at harvest. */
|
|
277
|
+
inboundFindings?: HarvestRejection[];
|
|
278
|
+
}
|
|
279
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/memory-engine/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// design/138 S1 — MemoryEngine contract types (§2.1: 条目为本体,文件为投影).
|
|
2
|
+
//
|
|
3
|
+
// The ENTRY is the unit of truth; files are the engine's projection of entries into a directory the
|
|
4
|
+
// model manipulates with its ordinary file skills (CC file-based-memory parity, live capture §12).
|
|
5
|
+
// The backend seam below is deliberately CONDITION-FREE across deployments: FileBackend (TOC 权威盘,
|
|
6
|
+
// this slice) and PgBackend (TOB, S3) implement the SAME entry-transactional surface, so the engine —
|
|
7
|
+
// and therefore the model-facing behavior — never forks on the storage tier.
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/memory-engine/types.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,oGAAoG;AACpG,mGAAmG;AACnG,kGAAkG;AAClG,sGAAsG;AACtG,6EAA6E"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import type { MemoryNoteHeader, MemoryNoteRecord, MemoryStore } from "./memory.js";
|
|
2
|
+
import type { ModelRef, TaskSpec, TaskResult } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Selective memory recall (design/65 §2.2 — port of CC `findRelevantMemories`). For a LARGE memory scope,
|
|
5
|
+
* instead of injecting the whole `<user_memory>` block (inject-all), we inject a compact **manifest** (one
|
|
6
|
+
* header line per note) + a side-query that picks the ≤K relevant note ids + only those bodies. Small
|
|
7
|
+
* scopes keep inject-all (the common case after consolidation) — this path is threshold-gated, so most
|
|
8
|
+
* tasks pay nothing.
|
|
9
|
+
*
|
|
10
|
+
* The model side-query is an injected **seam** ({@link MemorySelector}); core provides a brain-backed
|
|
11
|
+
* default ({@link createBrainMemorySelector}) and a deployment can override it. The pipeline here is pure +
|
|
12
|
+
* deterministic given a selector: it validates the returned ids against the manifest (rejects hallucinated
|
|
13
|
+
* ids, council #5), caps at K, applies a hard timeout (council #12), and on ANY selector failure/timeout
|
|
14
|
+
* DEGRADES to inject-all (council #4 — never silently drop knowledge). Output goes in the variable tail
|
|
15
|
+
* (manifest + selected bodies are per-user/volatile, like the current memory block).
|
|
16
|
+
*/
|
|
17
|
+
/** Default max notes the side-query may select (CC `findRelevantMemories` ≤5). */
|
|
18
|
+
export declare const DEFAULT_MAX_SELECTED = 5;
|
|
19
|
+
/** Default max 1-hop link-followed notes appended after the selected ones (design/65 P3). */
|
|
20
|
+
export declare const DEFAULT_MAX_LINKED = 3;
|
|
21
|
+
/** Default side-query hard timeout (ms) — council #12; on timeout we degrade to inject-all. */
|
|
22
|
+
export declare const DEFAULT_SELECT_TIMEOUT_MS = 5000;
|
|
23
|
+
/**
|
|
24
|
+
* Render a memory note's age as a natural-language phrase (CC-parity P0-1, design/65). CC's eval found
|
|
25
|
+
* models reason about memory age much better from natural language ("3 days ago") than from a boolean
|
|
26
|
+
* "older note" flag (verify-claims 0/2 → 3/3 once the age was spelled out), because the model can weigh
|
|
27
|
+
* staleness proportionally instead of as a single cliff. This is the relative phrase only; the
|
|
28
|
+
* point-in-time / verify-before-trust discipline still lives in {@link RECALL_CAVEAT} + the per-note
|
|
29
|
+
* "verify it's still current" hint (the age is ADDITIONAL signal, not a replacement).
|
|
30
|
+
*
|
|
31
|
+
* Buckets (each chooses the coarsest unit that's ≥1): `today` (<1 day, incl. future mtime / clock skew →
|
|
32
|
+
* clamped to today, never a negative age), `yesterday` (1–2 days), `N days ago` (2–7 days),
|
|
33
|
+
* `N weeks ago` (1 week – ~1 month), `N months ago` (≥ ~1 month). N is floored to the whole unit.
|
|
34
|
+
*/
|
|
35
|
+
export declare function formatMemoryAge(ageMs: number): string;
|
|
36
|
+
/**
|
|
37
|
+
* Read-side recall caveat (design/65 §8#2 / §9#1 — ported from CC's MEMORY_DRIFT_CAVEAT +
|
|
38
|
+
* TRUSTING_RECALL_SECTION). The council found CC's two-section form is **eval-validated** (verify-claims
|
|
39
|
+
* 0/2→3/3) and that the structure carries the effect: the precise decision-point heading
|
|
40
|
+
* "## Before recommending from memory" scored 3/3 while an abstract heading or a buried bullet scored 0/3.
|
|
41
|
+
* So this is deliberately TWO sections — a drift bullet + a titled action section with the frame-shift
|
|
42
|
+
* sentence and concrete verify actions — NOT one merged paragraph (same semantics, 3× worse eval).
|
|
43
|
+
* MEMORY_SAFETY already carries the authority hierarchy; this adds the point-in-time / verify-before-trust
|
|
44
|
+
* discipline selective recall specifically needs.
|
|
45
|
+
*/
|
|
46
|
+
export declare const RECALL_CAVEAT: string;
|
|
47
|
+
export interface MemorySelectRequest {
|
|
48
|
+
/** The task objective the recall is for. */
|
|
49
|
+
objective: string;
|
|
50
|
+
/** The manifest the selector chooses from (id + description [+ type]). */
|
|
51
|
+
manifest: MemoryNoteHeader[];
|
|
52
|
+
/** Tools the task will use — for these, keep gotchas/warnings, skip pure usage notes (design/65 §2.2). */
|
|
53
|
+
recentTools?: string[];
|
|
54
|
+
}
|
|
55
|
+
/** The side-query seam: pick the relevant note ids from the manifest. MUST be fail-fast (throw → degrade). */
|
|
56
|
+
export type MemorySelector = (req: MemorySelectRequest, signal?: AbortSignal) => Promise<string[]>;
|
|
57
|
+
export interface SelectiveRecallOptions {
|
|
58
|
+
store: MemoryStore;
|
|
59
|
+
scope: string;
|
|
60
|
+
objective: string;
|
|
61
|
+
selector: MemorySelector;
|
|
62
|
+
recentTools?: string[];
|
|
63
|
+
/** Absolute time for the freshness caveat (default Date.now()). */
|
|
64
|
+
nowMs?: number;
|
|
65
|
+
maxSelected?: number;
|
|
66
|
+
/** Max 1-hop `[[name]]` link-followed notes appended after the selected ones (design/65 P3).
|
|
67
|
+
* `0` disables link-following. Default {@link DEFAULT_MAX_LINKED}. */
|
|
68
|
+
maxLinked?: number;
|
|
69
|
+
timeoutMs?: number;
|
|
70
|
+
signal?: AbortSignal;
|
|
71
|
+
/**
|
|
72
|
+
* CC-parity P1 (durable cross-worker recall de-dup). Note ids ALREADY surfaced to this logical
|
|
73
|
+
* conversation in earlier turns/runs (CC's in-process `alreadySurfaced`/readFileState filter, lifted
|
|
74
|
+
* to a **durable, caller-owned** set so it survives task hops, resume, and multi-worker fan-out). When
|
|
75
|
+
* provided, these ids are **filtered out of the manifest BEFORE the selector sees it** — the selector
|
|
76
|
+
* never sees an already-shown note, so it cannot re-select it, so a long/resumed/multi-worker session
|
|
77
|
+
* does not re-inject the same bodies. core does NOT store this set (like {@link CheckpointStore}, the
|
|
78
|
+
* durable store is the caller's): the caller persists {@link surfacedIds} from one call and feeds it
|
|
79
|
+
* back here as `priorSurfacedIds` on the next. Omitted ⇒ no filtering (the prior, non-de-duped behavior).
|
|
80
|
+
*/
|
|
81
|
+
priorSurfacedIds?: ReadonlySet<string>;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Result of {@link selectAndComposeMemory}. `surfacedIds` (CC-parity P1) is the set of note ids whose
|
|
85
|
+
* BODIES this call injected into the prompt — the caller appends them to its durable surfaced-set and
|
|
86
|
+
* feeds that back as {@link SelectiveRecallOptions.priorSurfacedIds} next time, so a long/resumed/
|
|
87
|
+
* multi-worker session does not re-inject the same notes. THREE shapes (all carry `surfacedIds`):
|
|
88
|
+
*
|
|
89
|
+
* - **block branch** (`{ block: string }`): a selective-recall block was rendered. `surfacedIds` = the
|
|
90
|
+
* validated selection + the 1-hop linked notes (everything whose body was rendered). The caller injects
|
|
91
|
+
* `block` verbatim.
|
|
92
|
+
*
|
|
93
|
+
* - **no-new branch** (`{ block: undefined }`): a SUCCESS, NOT a degrade. Every selectable candidate was
|
|
94
|
+
* already surfaced earlier (filtered out by {@link SelectiveRecallOptions.priorSurfacedIds}), so there is
|
|
95
|
+
* NOTHING NEW to inject. The caller injects NOTHING (no block) — it must NOT fall back to inject-all,
|
|
96
|
+
* because inject-all would re-dump the WHOLE scope including the already-shown notes, defeating the
|
|
97
|
+
* de-dup. `surfacedIds` is `[]` (this call added no new note to the durable set; the prior ids are
|
|
98
|
+
* already in the caller's store). Distinguished from `degrade` precisely so the caller does not
|
|
99
|
+
* re-inject (the bug this branch fixes). `"block" in result` is TRUE here (the key is present, value
|
|
100
|
+
* `undefined`), so the caller's `"degrade" in result` narrow routes this to the non-degrade path.
|
|
101
|
+
*
|
|
102
|
+
* - **degrade branch** (`{ degrade: true }`): a true FALLBACK — the store can't do selective recall
|
|
103
|
+
* (missing manifest/getByIds), the scope is empty, OR the selector failed/timed out. The caller falls
|
|
104
|
+
* back to inject-all (never drops knowledge, council #4), a best-effort FULL DUMP that
|
|
105
|
+
* `composeMemoryBlock` hard-truncates to a head slice (so it does NOT reliably render every body), and
|
|
106
|
+
* the caller already holds the prior surfaced ids. Degrade is therefore not a precise per-id surface that
|
|
107
|
+
* can be de-duped: `surfacedIds` is ALWAYS `[]` and degrade does **not** advance the durable surfaced-set.
|
|
108
|
+
* (Reporting the full header id list here would over-claim the truncated tail as surfaced → permanent
|
|
109
|
+
* silent under-recall on the next turn.) See {@link selectAndComposeMemory}.
|
|
110
|
+
*/
|
|
111
|
+
export type SelectiveRecallResult = {
|
|
112
|
+
block: string;
|
|
113
|
+
surfacedIds: string[];
|
|
114
|
+
} | {
|
|
115
|
+
block: undefined;
|
|
116
|
+
surfacedIds: string[];
|
|
117
|
+
} | {
|
|
118
|
+
degrade: true;
|
|
119
|
+
surfacedIds: string[];
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Resolve the `[[name]]` references in the selected notes' bodies to manifest headers — ONE hop
|
|
123
|
+
* (design/65 P3: "recall one note → bring its [[links]]"; linked bodies are NOT re-scanned, so a link
|
|
124
|
+
* chain can't pull in the whole graph). Pure-text convention: names resolve against the manifest's
|
|
125
|
+
* `name` field; an unresolved name is silently skipped (a `[[link]]` to a not-yet-written note is legal
|
|
126
|
+
* authoring, design/65 §2.1); a name collision resolves to the newest note (strict mtime `>`; on a
|
|
127
|
+
* tie the first-encountered header wins). Already-selected targets are excluded (they're injected
|
|
128
|
+
* anyway). Returns at most `max` ids, in first-mention order.
|
|
129
|
+
*/
|
|
130
|
+
export declare function resolveLinkedIds(headers: MemoryNoteHeader[], selected: MemoryNoteRecord[], max: number): string[];
|
|
131
|
+
/** Render the manifest as compact lines, double-capped (council #7). One line per note, guaranteed. */
|
|
132
|
+
export declare function buildManifestText(headers: MemoryNoteHeader[]): string;
|
|
133
|
+
/** Keep only ids present in the manifest (reject hallucinated, council #5), de-duped, capped at `max`. */
|
|
134
|
+
export declare function validateSelectedIds(headers: MemoryNoteHeader[], ids: string[], max: number): string[];
|
|
135
|
+
/**
|
|
136
|
+
* Render the BODY of a selective-recall block: the optional `recall` manifest index + the selected note
|
|
137
|
+
* bodies (+ 1-hop linked notes), WITHOUT the outer `<user_memory>` wrapper and WITHOUT {@link RECALL_CAVEAT}.
|
|
138
|
+
* The wrapper + caveat are the caller's job — `composeSelectiveMemoryBlock` (single-scope) places ONE caveat
|
|
139
|
+
* inside ONE `<user_memory scope=… mode="selective">`, and the layered renderer places ONE caveat inside ONE
|
|
140
|
+
* `<user_memory mode="selective">` ahead of N `<scope>` subsections (MAJOR fix: no nested fences, no per-scope
|
|
141
|
+
* caveat duplication).
|
|
142
|
+
*
|
|
143
|
+
* `recallable` controls the "Memory index — call recall …" affordance (MAJOR fix): the on-demand `recall` tool
|
|
144
|
+
* is bound to a SINGLE scope, so the "load in full via recall" instruction is only TRUE for that scope. Pass
|
|
145
|
+
* `false` for non-recallable layers — the selected bodies are already rendered inline, so the index is just a
|
|
146
|
+
* false affordance that wastes a tool call (model searches the wrong scope → "No memory matches").
|
|
147
|
+
*
|
|
148
|
+
* Notes are tagged with their natural-language age (CC-parity P0-1, design/65; >1-day-old ones keep the
|
|
149
|
+
* "verify it's still current" hint, council #8). `linked` (design/65 P3) are 1-hop `[[name]]`-followed notes,
|
|
150
|
+
* rendered in their own clearly-labeled subsection AFTER the selected ones — expanded as DATA under the same
|
|
151
|
+
* fence/sanitize/byte-cap discipline (design/65 §8#9: a followed link must not become markup or escalate authority).
|
|
152
|
+
*/
|
|
153
|
+
export declare function composeSelectiveBody(manifestText: string, selected: MemoryNoteRecord[], nowMs: number, linked?: MemoryNoteRecord[], recallable?: boolean): string;
|
|
154
|
+
/** Render the single-scope selective block: ONE `<user_memory scope=… mode="selective">` with ONE
|
|
155
|
+
* {@link RECALL_CAVEAT} at the top and the {@link composeSelectiveBody} (manifest + selected bodies + links).
|
|
156
|
+
* `recall` is bound to this single scope, so the manifest affordance is recallable. *
|
|
157
|
+
* @deprecated design/138 S4 — served ONLY the retired legacy memoryStore injection path; the Runner no
|
|
158
|
+
* longer calls this. Kept exported one major for direct/standalone store-level use; removal is the next major.
|
|
159
|
+
*/
|
|
160
|
+
export declare function composeSelectiveMemoryBlock(scope: string, manifestText: string, selected: MemoryNoteRecord[], nowMs: number, linked?: MemoryNoteRecord[]): string;
|
|
161
|
+
/**
|
|
162
|
+
* Run the selective-recall pipeline. Returns the composed block (+ {@link SelectiveRecallResult.surfacedIds}),
|
|
163
|
+
* or `{ degrade: true, surfacedIds: [] }` when the selector fails/times out (caller falls back to inject-all —
|
|
164
|
+
* never drops knowledge, council #4). Degrade always reports `surfacedIds: []`: inject-all is a best-effort
|
|
165
|
+
* full dump (head-truncated at the cap), so it cannot honestly attribute a precise per-id surface, and the
|
|
166
|
+
* caller already holds the prior ids — degrade does NOT advance the durable surfaced-set.
|
|
167
|
+
*
|
|
168
|
+
* CC-parity P1 (durable cross-worker de-dup): when {@link SelectiveRecallOptions.priorSurfacedIds} is given,
|
|
169
|
+
* those ids are dropped from the candidate headers BEFORE the manifest is built and BEFORE the selector runs,
|
|
170
|
+
* so an already-shown note is invisible to the selector (and therefore cannot be re-selected, re-link-followed,
|
|
171
|
+
* or re-rendered). `surfacedIds` reports what THIS call rendered, for the caller's durable surfaced-set.
|
|
172
|
+
*
|
|
173
|
+
* @deprecated design/138 S4 — served ONLY the retired legacy memoryStore injection path; the Runner no
|
|
174
|
+
* longer calls this. Kept exported one major for direct/standalone store-level use; removal is the next major.
|
|
175
|
+
*/
|
|
176
|
+
export declare function selectAndComposeMemory(opts: SelectiveRecallOptions): Promise<SelectiveRecallResult>;
|
|
177
|
+
/** A `(scope, id)` composite key for the multi-scope durable de-dup (design/84 Seam A decision 5). Note ids
|
|
178
|
+
* are only unique WITHIN a scope, so the cross-scope `priorSurfacedKeys`/`surfacedKeys` set MUST be keyed on
|
|
179
|
+
* both. Core owns the FORMAT so a caller can't drift the wire format (decision 7) — the encoding is OPAQUE
|
|
180
|
+
* and length-prefixes the scope so a scope/id containing the separator cannot forge a collision.
|
|
181
|
+
*
|
|
182
|
+
* ONE-WAY by design (codex MINOR (d)): the key is only ever PRODUCED here (`surfacedKeys`) and compared by
|
|
183
|
+
* STRING EQUALITY against the caller's persisted set ({@link LayeredRecallOptions.priorSurfacedKeys}, applied
|
|
184
|
+
* at memory-recall.ts via `priorSurfacedKeys.has(encodeSurfacedKey(h.scope, h.id))`). Nothing ever needs the
|
|
185
|
+
* `(scope, id)` BACK out of a key, so there is intentionally NO `decodeSurfacedKey` — adding a decode would
|
|
186
|
+
* widen the public surface (and invite callers to parse the opaque format) for zero consumer. Treat the key
|
|
187
|
+
* as an opaque token: persist it, feed it back, compare for equality — never split it. */
|
|
188
|
+
export declare function encodeSurfacedKey(scope: string, id: string): string;
|
|
189
|
+
/** A manifest header tagged with the scope it came from (design/84 Seam A decision 5). */
|
|
190
|
+
export interface ScopedNoteHeader extends MemoryNoteHeader {
|
|
191
|
+
scope: string;
|
|
192
|
+
}
|
|
193
|
+
/** A full record tagged with its scope (for cross-scope getByIds). */
|
|
194
|
+
export interface ScopedNoteRecord extends MemoryNoteRecord {
|
|
195
|
+
scope: string;
|
|
196
|
+
}
|
|
197
|
+
export interface LayeredRecallOptions {
|
|
198
|
+
store: MemoryStore;
|
|
199
|
+
/** Ordered scopes (design/84 Seam A): list order = priority; the last is highest. */
|
|
200
|
+
scopes: ReadonlyArray<string>;
|
|
201
|
+
objective: string;
|
|
202
|
+
selector: MemorySelector;
|
|
203
|
+
recentTools?: string[];
|
|
204
|
+
nowMs?: number;
|
|
205
|
+
maxSelected?: number;
|
|
206
|
+
maxLinked?: number;
|
|
207
|
+
timeoutMs?: number;
|
|
208
|
+
signal?: AbortSignal;
|
|
209
|
+
/** CC-parity P1, multi-scope: `(scope,id)` composite keys ({@link encodeSurfacedKey}) already surfaced to
|
|
210
|
+
* this logical conversation. Filtered out of the merged manifest BEFORE the selector sees it. */
|
|
211
|
+
priorSurfacedKeys?: ReadonlySet<string>;
|
|
212
|
+
}
|
|
213
|
+
/** Result of {@link selectAndComposeLayeredMemory}. `surfacedKeys` are `(scope,id)` composite keys
|
|
214
|
+
* ({@link encodeSurfacedKey}) — the caller appends them to its durable set and feeds them back as
|
|
215
|
+
* {@link LayeredRecallOptions.priorSurfacedKeys}. Mirrors {@link SelectiveRecallResult}'s three shapes. */
|
|
216
|
+
export type LayeredRecallResult = {
|
|
217
|
+
block: string;
|
|
218
|
+
surfacedKeys: string[];
|
|
219
|
+
} | {
|
|
220
|
+
block: undefined;
|
|
221
|
+
surfacedKeys: string[];
|
|
222
|
+
} | {
|
|
223
|
+
degrade: true;
|
|
224
|
+
surfacedKeys: string[];
|
|
225
|
+
};
|
|
226
|
+
/**
|
|
227
|
+
* Multi-scope (layered) selective recall (design/84 Seam A decision 5). Merges each scope's
|
|
228
|
+
* {@link MemoryStore.listStructuredNotes} into ONE manifest (each header tagged with its scope), lets the
|
|
229
|
+
* selector pick ids from the merged manifest, then fetches the selected bodies per-scope via
|
|
230
|
+
* {@link MemoryStore.getByIds} and renders ONE `<user_memory>` block with the selected notes grouped under a
|
|
231
|
+
* `<scope …>` subsection IN LIST ORDER (stable layers first = cacheable prefix, volatile last = tail). The
|
|
232
|
+
* `(scope,id)` composite de-dup ({@link LayeredRecallOptions.priorSurfacedKeys}) is applied at the manifest
|
|
233
|
+
* layer so an already-shown note in ANY scope is invisible to the selector.
|
|
234
|
+
*
|
|
235
|
+
* v1 (decision 6): accepts the N-small (3–4 layer) fan-out of one `listStructuredNotes`/`getByIds` per scope
|
|
236
|
+
* — no pre-built batch getByIds. Degrades to inject-all (the caller's job, like the single-scope path) on
|
|
237
|
+
* store-incapability / empty / selector failure. Threshold-gated by the caller, so a small layering pays nothing.
|
|
238
|
+
*
|
|
239
|
+
* @deprecated design/138 S4 — served ONLY the retired legacy memoryStore injection path; the Runner no
|
|
240
|
+
* longer calls this. Kept exported one major for direct/standalone store-level use; removal is the next major.
|
|
241
|
+
*/
|
|
242
|
+
export declare function selectAndComposeLayeredMemory(opts: LayeredRecallOptions): Promise<LayeredRecallResult>;
|
|
243
|
+
/** Minimal structural view of the Runner needed by {@link createBrainMemorySelector} (avoids a circular
|
|
244
|
+
* import of the Runner class). */
|
|
245
|
+
export interface MemorySelectorRunner {
|
|
246
|
+
runTask(spec: TaskSpec): Promise<TaskResult>;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Default brain-backed {@link MemorySelector} (design/65 §6.2 / council #1: the side-query uses the MAIN
|
|
250
|
+
* brain — a cheap model is our unproven ABOVE assumption, not a CC port). Runs a tiny isolated sub-task
|
|
251
|
+
* with an `{ids}` output schema, no tools, a short budget. Returns the selected ids (validated downstream).
|
|
252
|
+
*
|
|
253
|
+
* @deprecated design/138 S4 — served ONLY the retired legacy memoryStore injection path; the Runner no
|
|
254
|
+
* longer calls this. Kept exported one major for direct/standalone store-level use; removal is the next major.
|
|
255
|
+
*/
|
|
256
|
+
export declare function createBrainMemorySelector(runner: MemorySelectorRunner, opts?: {
|
|
257
|
+
model?: ModelRef;
|
|
258
|
+
timeoutSec?: number;
|
|
259
|
+
release?: (sessionId: string) => Promise<void> | void;
|
|
260
|
+
}): MemorySelector;
|
|
261
|
+
//# sourceMappingURL=memory-recall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-recall.d.ts","sourceRoot":"","sources":["../../src/core/memory-recall.ts"],"names":[],"mappings":"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"}
|