usesteady 0.1.0-alpha.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/LICENSE +186 -0
- package/README.md +724 -0
- package/bin/use-steady.js +13 -0
- package/dist/server-store.d.ts +68 -0
- package/dist/server-store.d.ts.map +1 -0
- package/dist/server-store.js +133 -0
- package/dist/server-store.js.map +1 -0
- package/dist/server.d.ts +35 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +569 -0
- package/dist/server.js.map +1 -0
- package/dist/src/claude/adapters/api-adapter.d.ts +99 -0
- package/dist/src/claude/adapters/api-adapter.d.ts.map +1 -0
- package/dist/src/claude/adapters/api-adapter.js +415 -0
- package/dist/src/claude/adapters/api-adapter.js.map +1 -0
- package/dist/src/claude/adapters/stub-adapter.d.ts +73 -0
- package/dist/src/claude/adapters/stub-adapter.d.ts.map +1 -0
- package/dist/src/claude/adapters/stub-adapter.js +114 -0
- package/dist/src/claude/adapters/stub-adapter.js.map +1 -0
- package/dist/src/claude/artifact-mapper.d.ts +85 -0
- package/dist/src/claude/artifact-mapper.d.ts.map +1 -0
- package/dist/src/claude/artifact-mapper.js +187 -0
- package/dist/src/claude/artifact-mapper.js.map +1 -0
- package/dist/src/claude/delivery-gate.d.ts +136 -0
- package/dist/src/claude/delivery-gate.d.ts.map +1 -0
- package/dist/src/claude/delivery-gate.js +231 -0
- package/dist/src/claude/delivery-gate.js.map +1 -0
- package/dist/src/claude/index.d.ts +24 -0
- package/dist/src/claude/index.d.ts.map +1 -0
- package/dist/src/claude/index.js +23 -0
- package/dist/src/claude/index.js.map +1 -0
- package/dist/src/claude/types.d.ts +223 -0
- package/dist/src/claude/types.d.ts.map +1 -0
- package/dist/src/claude/types.js +64 -0
- package/dist/src/claude/types.js.map +1 -0
- package/dist/src/control/compiler.d.ts +125 -0
- package/dist/src/control/compiler.d.ts.map +1 -0
- package/dist/src/control/compiler.js +179 -0
- package/dist/src/control/compiler.js.map +1 -0
- package/dist/src/control/constraints.d.ts +42 -0
- package/dist/src/control/constraints.d.ts.map +1 -0
- package/dist/src/control/constraints.js +116 -0
- package/dist/src/control/constraints.js.map +1 -0
- package/dist/src/control/drift-detector.d.ts +49 -0
- package/dist/src/control/drift-detector.d.ts.map +1 -0
- package/dist/src/control/drift-detector.js +115 -0
- package/dist/src/control/drift-detector.js.map +1 -0
- package/dist/src/control/index.d.ts +44 -0
- package/dist/src/control/index.d.ts.map +1 -0
- package/dist/src/control/index.js +40 -0
- package/dist/src/control/index.js.map +1 -0
- package/dist/src/control/types.d.ts +144 -0
- package/dist/src/control/types.d.ts.map +1 -0
- package/dist/src/control/types.js +57 -0
- package/dist/src/control/types.js.map +1 -0
- package/dist/src/cursor/adapters/inprocess-adapter.d.ts +78 -0
- package/dist/src/cursor/adapters/inprocess-adapter.d.ts.map +1 -0
- package/dist/src/cursor/adapters/inprocess-adapter.js +308 -0
- package/dist/src/cursor/adapters/inprocess-adapter.js.map +1 -0
- package/dist/src/cursor/adapters/stub-adapter.d.ts +75 -0
- package/dist/src/cursor/adapters/stub-adapter.d.ts.map +1 -0
- package/dist/src/cursor/adapters/stub-adapter.js +120 -0
- package/dist/src/cursor/adapters/stub-adapter.js.map +1 -0
- package/dist/src/cursor/artifact-mapper.d.ts +81 -0
- package/dist/src/cursor/artifact-mapper.d.ts.map +1 -0
- package/dist/src/cursor/artifact-mapper.js +203 -0
- package/dist/src/cursor/artifact-mapper.js.map +1 -0
- package/dist/src/cursor/delivery-gate.d.ts +144 -0
- package/dist/src/cursor/delivery-gate.d.ts.map +1 -0
- package/dist/src/cursor/delivery-gate.js +208 -0
- package/dist/src/cursor/delivery-gate.js.map +1 -0
- package/dist/src/cursor/glob-matcher.d.ts +30 -0
- package/dist/src/cursor/glob-matcher.d.ts.map +1 -0
- package/dist/src/cursor/glob-matcher.js +68 -0
- package/dist/src/cursor/glob-matcher.js.map +1 -0
- package/dist/src/cursor/index.d.ts +43 -0
- package/dist/src/cursor/index.d.ts.map +1 -0
- package/dist/src/cursor/index.js +44 -0
- package/dist/src/cursor/index.js.map +1 -0
- package/dist/src/cursor/ocd-evaluator.d.ts +89 -0
- package/dist/src/cursor/ocd-evaluator.d.ts.map +1 -0
- package/dist/src/cursor/ocd-evaluator.js +142 -0
- package/dist/src/cursor/ocd-evaluator.js.map +1 -0
- package/dist/src/cursor/types.d.ts +309 -0
- package/dist/src/cursor/types.d.ts.map +1 -0
- package/dist/src/cursor/types.js +48 -0
- package/dist/src/cursor/types.js.map +1 -0
- package/dist/src/execution/claude/claude-execution-coordinator.d.ts +164 -0
- package/dist/src/execution/claude/claude-execution-coordinator.d.ts.map +1 -0
- package/dist/src/execution/claude/claude-execution-coordinator.js +198 -0
- package/dist/src/execution/claude/claude-execution-coordinator.js.map +1 -0
- package/dist/src/execution/claude/index.d.ts +13 -0
- package/dist/src/execution/claude/index.d.ts.map +1 -0
- package/dist/src/execution/claude/index.js +12 -0
- package/dist/src/execution/claude/index.js.map +1 -0
- package/dist/src/execution/cursor/cursor-execution-coordinator.d.ts +216 -0
- package/dist/src/execution/cursor/cursor-execution-coordinator.d.ts.map +1 -0
- package/dist/src/execution/cursor/cursor-execution-coordinator.js +233 -0
- package/dist/src/execution/cursor/cursor-execution-coordinator.js.map +1 -0
- package/dist/src/execution/cursor/index.d.ts +20 -0
- package/dist/src/execution/cursor/index.d.ts.map +1 -0
- package/dist/src/execution/cursor/index.js +18 -0
- package/dist/src/execution/cursor/index.js.map +1 -0
- package/dist/src/execution/reminders/index.d.ts +11 -0
- package/dist/src/execution/reminders/index.d.ts.map +1 -0
- package/dist/src/execution/reminders/index.js +9 -0
- package/dist/src/execution/reminders/index.js.map +1 -0
- package/dist/src/execution/reminders/reminder-execution-coordinator.d.ts +125 -0
- package/dist/src/execution/reminders/reminder-execution-coordinator.d.ts.map +1 -0
- package/dist/src/execution/reminders/reminder-execution-coordinator.js +129 -0
- package/dist/src/execution/reminders/reminder-execution-coordinator.js.map +1 -0
- package/dist/src/execution/reminders/reminder-execution-types.d.ts +161 -0
- package/dist/src/execution/reminders/reminder-execution-types.d.ts.map +1 -0
- package/dist/src/execution/reminders/reminder-execution-types.js +39 -0
- package/dist/src/execution/reminders/reminder-execution-types.js.map +1 -0
- package/dist/src/execution/reminders/reminder-execution-validator.d.ts +45 -0
- package/dist/src/execution/reminders/reminder-execution-validator.d.ts.map +1 -0
- package/dist/src/execution/reminders/reminder-execution-validator.js +92 -0
- package/dist/src/execution/reminders/reminder-execution-validator.js.map +1 -0
- package/dist/src/execution/reminders/reminder-executor.d.ts +62 -0
- package/dist/src/execution/reminders/reminder-executor.d.ts.map +1 -0
- package/dist/src/execution/reminders/reminder-executor.js +113 -0
- package/dist/src/execution/reminders/reminder-executor.js.map +1 -0
- package/dist/src/execution/reminders/reminder-time-parser.d.ts +41 -0
- package/dist/src/execution/reminders/reminder-time-parser.d.ts.map +1 -0
- package/dist/src/execution/reminders/reminder-time-parser.js +113 -0
- package/dist/src/execution/reminders/reminder-time-parser.js.map +1 -0
- package/dist/src/friction/auto-capture.d.ts +38 -0
- package/dist/src/friction/auto-capture.d.ts.map +1 -0
- package/dist/src/friction/auto-capture.js +133 -0
- package/dist/src/friction/auto-capture.js.map +1 -0
- package/dist/src/friction/client.d.ts +39 -0
- package/dist/src/friction/client.d.ts.map +1 -0
- package/dist/src/friction/client.js +165 -0
- package/dist/src/friction/client.js.map +1 -0
- package/dist/src/friction/config.d.ts +16 -0
- package/dist/src/friction/config.d.ts.map +1 -0
- package/dist/src/friction/config.js +56 -0
- package/dist/src/friction/config.js.map +1 -0
- package/dist/src/friction/github-auth.d.ts +41 -0
- package/dist/src/friction/github-auth.d.ts.map +1 -0
- package/dist/src/friction/github-auth.js +155 -0
- package/dist/src/friction/github-auth.js.map +1 -0
- package/dist/src/friction/github-issues.d.ts +51 -0
- package/dist/src/friction/github-issues.d.ts.map +1 -0
- package/dist/src/friction/github-issues.js +118 -0
- package/dist/src/friction/github-issues.js.map +1 -0
- package/dist/src/friction/payout-ledger.d.ts +45 -0
- package/dist/src/friction/payout-ledger.d.ts.map +1 -0
- package/dist/src/friction/payout-ledger.js +111 -0
- package/dist/src/friction/payout-ledger.js.map +1 -0
- package/dist/src/friction/queue.d.ts +42 -0
- package/dist/src/friction/queue.d.ts.map +1 -0
- package/dist/src/friction/queue.js +179 -0
- package/dist/src/friction/queue.js.map +1 -0
- package/dist/src/friction/reviewer.d.ts +42 -0
- package/dist/src/friction/reviewer.d.ts.map +1 -0
- package/dist/src/friction/reviewer.js +269 -0
- package/dist/src/friction/reviewer.js.map +1 -0
- package/dist/src/friction/types.d.ts +63 -0
- package/dist/src/friction/types.d.ts.map +1 -0
- package/dist/src/friction/types.js +18 -0
- package/dist/src/friction/types.js.map +1 -0
- package/dist/src/history/index.d.ts +39 -0
- package/dist/src/history/index.d.ts.map +1 -0
- package/dist/src/history/index.js +41 -0
- package/dist/src/history/index.js.map +1 -0
- package/dist/src/history/session-chain.d.ts +36 -0
- package/dist/src/history/session-chain.d.ts.map +1 -0
- package/dist/src/history/session-chain.js +91 -0
- package/dist/src/history/session-chain.js.map +1 -0
- package/dist/src/history/types.d.ts +130 -0
- package/dist/src/history/types.d.ts.map +1 -0
- package/dist/src/history/types.js +32 -0
- package/dist/src/history/types.js.map +1 -0
- package/dist/src/history/workflow-history.d.ts +48 -0
- package/dist/src/history/workflow-history.d.ts.map +1 -0
- package/dist/src/history/workflow-history.js +116 -0
- package/dist/src/history/workflow-history.js.map +1 -0
- package/dist/src/index.d.ts +88 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +58 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/intake/classify-intent-state.d.ts +20 -0
- package/dist/src/intake/classify-intent-state.d.ts.map +1 -0
- package/dist/src/intake/classify-intent-state.js +29 -0
- package/dist/src/intake/classify-intent-state.js.map +1 -0
- package/dist/src/intake/intake-service.d.ts +105 -0
- package/dist/src/intake/intake-service.d.ts.map +1 -0
- package/dist/src/intake/intake-service.js +407 -0
- package/dist/src/intake/intake-service.js.map +1 -0
- package/dist/src/intake/response-planner.d.ts +25 -0
- package/dist/src/intake/response-planner.d.ts.map +1 -0
- package/dist/src/intake/response-planner.js +52 -0
- package/dist/src/intake/response-planner.js.map +1 -0
- package/dist/src/intake/signal-extractor.d.ts +25 -0
- package/dist/src/intake/signal-extractor.d.ts.map +1 -0
- package/dist/src/intake/signal-extractor.js +42 -0
- package/dist/src/intake/signal-extractor.js.map +1 -0
- package/dist/src/intake/trace.d.ts +157 -0
- package/dist/src/intake/trace.d.ts.map +1 -0
- package/dist/src/intake/trace.js +38 -0
- package/dist/src/intake/trace.js.map +1 -0
- package/dist/src/intake/types.d.ts +70 -0
- package/dist/src/intake/types.d.ts.map +1 -0
- package/dist/src/intake/types.js +30 -0
- package/dist/src/intake/types.js.map +1 -0
- package/dist/src/interaction/defaults.d.ts +12 -0
- package/dist/src/interaction/defaults.d.ts.map +1 -0
- package/dist/src/interaction/defaults.js +26 -0
- package/dist/src/interaction/defaults.js.map +1 -0
- package/dist/src/interaction/guidance-order.d.ts +53 -0
- package/dist/src/interaction/guidance-order.d.ts.map +1 -0
- package/dist/src/interaction/guidance-order.js +131 -0
- package/dist/src/interaction/guidance-order.js.map +1 -0
- package/dist/src/interaction/observe.d.ts +57 -0
- package/dist/src/interaction/observe.d.ts.map +1 -0
- package/dist/src/interaction/observe.js +77 -0
- package/dist/src/interaction/observe.js.map +1 -0
- package/dist/src/interaction/selectors.d.ts +16 -0
- package/dist/src/interaction/selectors.d.ts.map +1 -0
- package/dist/src/interaction/selectors.js +23 -0
- package/dist/src/interaction/selectors.js.map +1 -0
- package/dist/src/interaction/types.d.ts +105 -0
- package/dist/src/interaction/types.d.ts.map +1 -0
- package/dist/src/interaction/types.js +48 -0
- package/dist/src/interaction/types.js.map +1 -0
- package/dist/src/interaction/updater.d.ts +22 -0
- package/dist/src/interaction/updater.d.ts.map +1 -0
- package/dist/src/interaction/updater.js +87 -0
- package/dist/src/interaction/updater.js.map +1 -0
- package/dist/src/present/boundary-explanation/boundary-explanation-detector.d.ts +48 -0
- package/dist/src/present/boundary-explanation/boundary-explanation-detector.d.ts.map +1 -0
- package/dist/src/present/boundary-explanation/boundary-explanation-detector.js +107 -0
- package/dist/src/present/boundary-explanation/boundary-explanation-detector.js.map +1 -0
- package/dist/src/present/boundary-explanation/boundary-explanation-types.d.ts +43 -0
- package/dist/src/present/boundary-explanation/boundary-explanation-types.d.ts.map +1 -0
- package/dist/src/present/boundary-explanation/boundary-explanation-types.js +20 -0
- package/dist/src/present/boundary-explanation/boundary-explanation-types.js.map +1 -0
- package/dist/src/present/boundary-explanation/index.d.ts +10 -0
- package/dist/src/present/boundary-explanation/index.d.ts.map +1 -0
- package/dist/src/present/boundary-explanation/index.js +2 -0
- package/dist/src/present/boundary-explanation/index.js.map +1 -0
- package/dist/src/present/control-visibility/control-visibility-assertions.d.ts +70 -0
- package/dist/src/present/control-visibility/control-visibility-assertions.d.ts.map +1 -0
- package/dist/src/present/control-visibility/control-visibility-assertions.js +138 -0
- package/dist/src/present/control-visibility/control-visibility-assertions.js.map +1 -0
- package/dist/src/present/control-visibility/control-visibility-evaluator.d.ts +67 -0
- package/dist/src/present/control-visibility/control-visibility-evaluator.d.ts.map +1 -0
- package/dist/src/present/control-visibility/control-visibility-evaluator.js +146 -0
- package/dist/src/present/control-visibility/control-visibility-evaluator.js.map +1 -0
- package/dist/src/present/control-visibility/control-visibility-types.d.ts +113 -0
- package/dist/src/present/control-visibility/control-visibility-types.d.ts.map +1 -0
- package/dist/src/present/control-visibility/control-visibility-types.js +24 -0
- package/dist/src/present/control-visibility/control-visibility-types.js.map +1 -0
- package/dist/src/present/control-visibility/index.d.ts +16 -0
- package/dist/src/present/control-visibility/index.d.ts.map +1 -0
- package/dist/src/present/control-visibility/index.js +15 -0
- package/dist/src/present/control-visibility/index.js.map +1 -0
- package/dist/src/present/format.d.ts +57 -0
- package/dist/src/present/format.d.ts.map +1 -0
- package/dist/src/present/format.js +150 -0
- package/dist/src/present/format.js.map +1 -0
- package/dist/src/present/present-coordinator.d.ts +153 -0
- package/dist/src/present/present-coordinator.d.ts.map +1 -0
- package/dist/src/present/present-coordinator.js +213 -0
- package/dist/src/present/present-coordinator.js.map +1 -0
- package/dist/src/present/reminders/index.d.ts +22 -0
- package/dist/src/present/reminders/index.d.ts.map +1 -0
- package/dist/src/present/reminders/index.js +22 -0
- package/dist/src/present/reminders/index.js.map +1 -0
- package/dist/src/present/reminders/reminder-presenter.d.ts +76 -0
- package/dist/src/present/reminders/reminder-presenter.d.ts.map +1 -0
- package/dist/src/present/reminders/reminder-presenter.js +359 -0
- package/dist/src/present/reminders/reminder-presenter.js.map +1 -0
- package/dist/src/present/reminders/reminder-renderer.d.ts +82 -0
- package/dist/src/present/reminders/reminder-renderer.d.ts.map +1 -0
- package/dist/src/present/reminders/reminder-renderer.js +136 -0
- package/dist/src/present/reminders/reminder-renderer.js.map +1 -0
- package/dist/src/present/reminders/reminder-types.d.ts +131 -0
- package/dist/src/present/reminders/reminder-types.d.ts.map +1 -0
- package/dist/src/present/reminders/reminder-types.js +29 -0
- package/dist/src/present/reminders/reminder-types.js.map +1 -0
- package/dist/src/present/types.d.ts +114 -0
- package/dist/src/present/types.d.ts.map +1 -0
- package/dist/src/present/types.js +18 -0
- package/dist/src/present/types.js.map +1 -0
- package/dist/src/product/claude-product-session.d.ts +146 -0
- package/dist/src/product/claude-product-session.d.ts.map +1 -0
- package/dist/src/product/claude-product-session.js +362 -0
- package/dist/src/product/claude-product-session.js.map +1 -0
- package/dist/src/product/cursor-product-session.d.ts +211 -0
- package/dist/src/product/cursor-product-session.d.ts.map +1 -0
- package/dist/src/product/cursor-product-session.js +390 -0
- package/dist/src/product/cursor-product-session.js.map +1 -0
- package/dist/src/product/index.d.ts +28 -0
- package/dist/src/product/index.d.ts.map +1 -0
- package/dist/src/product/index.js +22 -0
- package/dist/src/product/index.js.map +1 -0
- package/dist/src/product/session-resilience/index.d.ts +17 -0
- package/dist/src/product/session-resilience/index.d.ts.map +1 -0
- package/dist/src/product/session-resilience/index.js +15 -0
- package/dist/src/product/session-resilience/index.js.map +1 -0
- package/dist/src/product/session-resilience/session-serializer.d.ts +43 -0
- package/dist/src/product/session-resilience/session-serializer.d.ts.map +1 -0
- package/dist/src/product/session-resilience/session-serializer.js +84 -0
- package/dist/src/product/session-resilience/session-serializer.js.map +1 -0
- package/dist/src/product/session-resilience/session-snapshot-types.d.ts +35 -0
- package/dist/src/product/session-resilience/session-snapshot-types.d.ts.map +1 -0
- package/dist/src/product/session-resilience/session-snapshot-types.js +21 -0
- package/dist/src/product/session-resilience/session-snapshot-types.js.map +1 -0
- package/dist/src/product/session-resilience/session-staleness.d.ts +54 -0
- package/dist/src/product/session-resilience/session-staleness.d.ts.map +1 -0
- package/dist/src/product/session-resilience/session-staleness.js +62 -0
- package/dist/src/product/session-resilience/session-staleness.js.map +1 -0
- package/dist/src/product/session-resilience/session-summary.d.ts +40 -0
- package/dist/src/product/session-resilience/session-summary.d.ts.map +1 -0
- package/dist/src/product/session-resilience/session-summary.js +72 -0
- package/dist/src/product/session-resilience/session-summary.js.map +1 -0
- package/dist/src/prv/patterns.d.ts +32 -0
- package/dist/src/prv/patterns.d.ts.map +1 -0
- package/dist/src/prv/patterns.js +40 -0
- package/dist/src/prv/patterns.js.map +1 -0
- package/dist/src/prv/prv.d.ts +13 -0
- package/dist/src/prv/prv.d.ts.map +1 -0
- package/dist/src/prv/prv.js +22 -0
- package/dist/src/prv/prv.js.map +1 -0
- package/dist/src/prv/types.d.ts +26 -0
- package/dist/src/prv/types.d.ts.map +1 -0
- package/dist/src/prv/types.js +15 -0
- package/dist/src/prv/types.js.map +1 -0
- package/dist/src/safety/detectors/arbitrary-exec.detector.d.ts +3 -0
- package/dist/src/safety/detectors/arbitrary-exec.detector.d.ts.map +1 -0
- package/dist/src/safety/detectors/arbitrary-exec.detector.js +31 -0
- package/dist/src/safety/detectors/arbitrary-exec.detector.js.map +1 -0
- package/dist/src/safety/detectors/bulk-data-exfil.detector.d.ts +21 -0
- package/dist/src/safety/detectors/bulk-data-exfil.detector.d.ts.map +1 -0
- package/dist/src/safety/detectors/bulk-data-exfil.detector.js +90 -0
- package/dist/src/safety/detectors/bulk-data-exfil.detector.js.map +1 -0
- package/dist/src/safety/detectors/destructive.detector.d.ts +3 -0
- package/dist/src/safety/detectors/destructive.detector.d.ts.map +1 -0
- package/dist/src/safety/detectors/destructive.detector.js +28 -0
- package/dist/src/safety/detectors/destructive.detector.js.map +1 -0
- package/dist/src/safety/detectors/evasion.detector.d.ts +3 -0
- package/dist/src/safety/detectors/evasion.detector.d.ts.map +1 -0
- package/dist/src/safety/detectors/evasion.detector.js +28 -0
- package/dist/src/safety/detectors/evasion.detector.js.map +1 -0
- package/dist/src/safety/detectors/secret-access.detector.d.ts +31 -0
- package/dist/src/safety/detectors/secret-access.detector.d.ts.map +1 -0
- package/dist/src/safety/detectors/secret-access.detector.js +78 -0
- package/dist/src/safety/detectors/secret-access.detector.js.map +1 -0
- package/dist/src/safety/registry.d.ts +9 -0
- package/dist/src/safety/registry.d.ts.map +1 -0
- package/dist/src/safety/registry.js +22 -0
- package/dist/src/safety/registry.js.map +1 -0
- package/dist/src/safety/safety-gate.d.ts +16 -0
- package/dist/src/safety/safety-gate.d.ts.map +1 -0
- package/dist/src/safety/safety-gate.js +26 -0
- package/dist/src/safety/safety-gate.js.map +1 -0
- package/dist/src/safety/types.d.ts +35 -0
- package/dist/src/safety/types.d.ts.map +1 -0
- package/dist/src/safety/types.js +14 -0
- package/dist/src/safety/types.js.map +1 -0
- package/dist/src/shell/claude-shell.d.ts +63 -0
- package/dist/src/shell/claude-shell.d.ts.map +1 -0
- package/dist/src/shell/claude-shell.js +81 -0
- package/dist/src/shell/claude-shell.js.map +1 -0
- package/dist/src/shell/cli/friction-admin.d.ts +14 -0
- package/dist/src/shell/cli/friction-admin.d.ts.map +1 -0
- package/dist/src/shell/cli/friction-admin.js +276 -0
- package/dist/src/shell/cli/friction-admin.js.map +1 -0
- package/dist/src/shell/cli/friction-report.d.ts +16 -0
- package/dist/src/shell/cli/friction-report.d.ts.map +1 -0
- package/dist/src/shell/cli/friction-report.js +156 -0
- package/dist/src/shell/cli/friction-report.js.map +1 -0
- package/dist/src/shell/cli/main.d.ts +68 -0
- package/dist/src/shell/cli/main.d.ts.map +1 -0
- package/dist/src/shell/cli/main.js +488 -0
- package/dist/src/shell/cli/main.js.map +1 -0
- package/dist/src/shell/cli/use-steady.d.ts +26 -0
- package/dist/src/shell/cli/use-steady.d.ts.map +1 -0
- package/dist/src/shell/cli/use-steady.js +117 -0
- package/dist/src/shell/cli/use-steady.js.map +1 -0
- package/dist/src/shell/cursor-shell.d.ts +63 -0
- package/dist/src/shell/cursor-shell.d.ts.map +1 -0
- package/dist/src/shell/cursor-shell.js +88 -0
- package/dist/src/shell/cursor-shell.js.map +1 -0
- package/dist/src/shell/defaults.d.ts +51 -0
- package/dist/src/shell/defaults.d.ts.map +1 -0
- package/dist/src/shell/defaults.js +78 -0
- package/dist/src/shell/defaults.js.map +1 -0
- package/dist/src/shell/history-render.d.ts +56 -0
- package/dist/src/shell/history-render.d.ts.map +1 -0
- package/dist/src/shell/history-render.js +166 -0
- package/dist/src/shell/history-render.js.map +1 -0
- package/dist/src/shell/index.d.ts +43 -0
- package/dist/src/shell/index.d.ts.map +1 -0
- package/dist/src/shell/index.js +45 -0
- package/dist/src/shell/index.js.map +1 -0
- package/dist/src/shell/render.d.ts +42 -0
- package/dist/src/shell/render.d.ts.map +1 -0
- package/dist/src/shell/render.js +122 -0
- package/dist/src/shell/render.js.map +1 -0
- package/dist/src/shell/types.d.ts +46 -0
- package/dist/src/shell/types.d.ts.map +1 -0
- package/dist/src/shell/types.js +19 -0
- package/dist/src/shell/types.js.map +1 -0
- package/dist/src/shell/workflow-defaults.d.ts +23 -0
- package/dist/src/shell/workflow-defaults.d.ts.map +1 -0
- package/dist/src/shell/workflow-defaults.js +27 -0
- package/dist/src/shell/workflow-defaults.js.map +1 -0
- package/dist/src/shell/workflow-render.d.ts +54 -0
- package/dist/src/shell/workflow-render.d.ts.map +1 -0
- package/dist/src/shell/workflow-render.js +319 -0
- package/dist/src/shell/workflow-render.js.map +1 -0
- package/dist/src/shell/workflow-shell.d.ts +110 -0
- package/dist/src/shell/workflow-shell.d.ts.map +1 -0
- package/dist/src/shell/workflow-shell.js +180 -0
- package/dist/src/shell/workflow-shell.js.map +1 -0
- package/dist/src/skills/audit.d.ts +118 -0
- package/dist/src/skills/audit.d.ts.map +1 -0
- package/dist/src/skills/audit.js +147 -0
- package/dist/src/skills/audit.js.map +1 -0
- package/dist/src/skills/invocation.d.ts +131 -0
- package/dist/src/skills/invocation.d.ts.map +1 -0
- package/dist/src/skills/invocation.js +165 -0
- package/dist/src/skills/invocation.js.map +1 -0
- package/dist/src/skills/loader.d.ts +70 -0
- package/dist/src/skills/loader.d.ts.map +1 -0
- package/dist/src/skills/loader.js +220 -0
- package/dist/src/skills/loader.js.map +1 -0
- package/dist/src/skills/local-recovery-adapter.d.ts +49 -0
- package/dist/src/skills/local-recovery-adapter.d.ts.map +1 -0
- package/dist/src/skills/local-recovery-adapter.js +184 -0
- package/dist/src/skills/local-recovery-adapter.js.map +1 -0
- package/dist/src/skills/parser.d.ts +53 -0
- package/dist/src/skills/parser.d.ts.map +1 -0
- package/dist/src/skills/parser.js +336 -0
- package/dist/src/skills/parser.js.map +1 -0
- package/dist/src/skills/registry.d.ts +123 -0
- package/dist/src/skills/registry.d.ts.map +1 -0
- package/dist/src/skills/registry.js +144 -0
- package/dist/src/skills/registry.js.map +1 -0
- package/dist/src/skills/types.d.ts +242 -0
- package/dist/src/skills/types.d.ts.map +1 -0
- package/dist/src/skills/types.js +50 -0
- package/dist/src/skills/types.js.map +1 -0
- package/dist/src/skills/validator.d.ts +31 -0
- package/dist/src/skills/validator.d.ts.map +1 -0
- package/dist/src/skills/validator.js +366 -0
- package/dist/src/skills/validator.js.map +1 -0
- package/dist/src/ucp/envelope.d.ts +165 -0
- package/dist/src/ucp/envelope.d.ts.map +1 -0
- package/dist/src/ucp/envelope.js +241 -0
- package/dist/src/ucp/envelope.js.map +1 -0
- package/dist/src/ucp/hashes.d.ts +36 -0
- package/dist/src/ucp/hashes.d.ts.map +1 -0
- package/dist/src/ucp/hashes.js +59 -0
- package/dist/src/ucp/hashes.js.map +1 -0
- package/dist/src/ucp/mappers/map-artifact.d.ts +58 -0
- package/dist/src/ucp/mappers/map-artifact.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-artifact.js +51 -0
- package/dist/src/ucp/mappers/map-artifact.js.map +1 -0
- package/dist/src/ucp/mappers/map-change-interpretation.d.ts +12 -0
- package/dist/src/ucp/mappers/map-change-interpretation.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-change-interpretation.js +18 -0
- package/dist/src/ucp/mappers/map-change-interpretation.js.map +1 -0
- package/dist/src/ucp/mappers/map-completion.d.ts +10 -0
- package/dist/src/ucp/mappers/map-completion.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-completion.js +24 -0
- package/dist/src/ucp/mappers/map-completion.js.map +1 -0
- package/dist/src/ucp/mappers/map-context.d.ts +9 -0
- package/dist/src/ucp/mappers/map-context.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-context.js +13 -0
- package/dist/src/ucp/mappers/map-context.js.map +1 -0
- package/dist/src/ucp/mappers/map-debug-trace.d.ts +10 -0
- package/dist/src/ucp/mappers/map-debug-trace.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-debug-trace.js +18 -0
- package/dist/src/ucp/mappers/map-debug-trace.js.map +1 -0
- package/dist/src/ucp/mappers/map-disambiguation.d.ts +10 -0
- package/dist/src/ucp/mappers/map-disambiguation.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-disambiguation.js +21 -0
- package/dist/src/ucp/mappers/map-disambiguation.js.map +1 -0
- package/dist/src/ucp/mappers/map-execution-trace.d.ts +64 -0
- package/dist/src/ucp/mappers/map-execution-trace.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-execution-trace.js +57 -0
- package/dist/src/ucp/mappers/map-execution-trace.js.map +1 -0
- package/dist/src/ucp/mappers/map-intent-interpretation.d.ts +11 -0
- package/dist/src/ucp/mappers/map-intent-interpretation.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-intent-interpretation.js +17 -0
- package/dist/src/ucp/mappers/map-intent-interpretation.js.map +1 -0
- package/dist/src/ucp/mappers/map-intent.d.ts +9 -0
- package/dist/src/ucp/mappers/map-intent.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-intent.js +11 -0
- package/dist/src/ucp/mappers/map-intent.js.map +1 -0
- package/dist/src/ucp/mappers/map-prv.d.ts +10 -0
- package/dist/src/ucp/mappers/map-prv.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-prv.js +14 -0
- package/dist/src/ucp/mappers/map-prv.js.map +1 -0
- package/dist/src/ucp/mappers/map-reminder-execution.d.ts +57 -0
- package/dist/src/ucp/mappers/map-reminder-execution.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-reminder-execution.js +69 -0
- package/dist/src/ucp/mappers/map-reminder-execution.js.map +1 -0
- package/dist/src/ucp/mappers/map-replay-report.d.ts +81 -0
- package/dist/src/ucp/mappers/map-replay-report.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-replay-report.js +76 -0
- package/dist/src/ucp/mappers/map-replay-report.js.map +1 -0
- package/dist/src/ucp/mappers/map-response.d.ts +13 -0
- package/dist/src/ucp/mappers/map-response.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-response.js +25 -0
- package/dist/src/ucp/mappers/map-response.js.map +1 -0
- package/dist/src/ucp/mappers/map-safety.d.ts +14 -0
- package/dist/src/ucp/mappers/map-safety.d.ts.map +1 -0
- package/dist/src/ucp/mappers/map-safety.js +22 -0
- package/dist/src/ucp/mappers/map-safety.js.map +1 -0
- package/dist/src/ucp/persistence/index.d.ts +24 -0
- package/dist/src/ucp/persistence/index.d.ts.map +1 -0
- package/dist/src/ucp/persistence/index.js +22 -0
- package/dist/src/ucp/persistence/index.js.map +1 -0
- package/dist/src/ucp/persistence/query.d.ts +164 -0
- package/dist/src/ucp/persistence/query.d.ts.map +1 -0
- package/dist/src/ucp/persistence/query.js +240 -0
- package/dist/src/ucp/persistence/query.js.map +1 -0
- package/dist/src/ucp/persistence/reader.d.ts +43 -0
- package/dist/src/ucp/persistence/reader.d.ts.map +1 -0
- package/dist/src/ucp/persistence/reader.js +104 -0
- package/dist/src/ucp/persistence/reader.js.map +1 -0
- package/dist/src/ucp/persistence/store.d.ts +77 -0
- package/dist/src/ucp/persistence/store.d.ts.map +1 -0
- package/dist/src/ucp/persistence/store.js +177 -0
- package/dist/src/ucp/persistence/store.js.map +1 -0
- package/dist/src/ucp/persistence/write.d.ts +48 -0
- package/dist/src/ucp/persistence/write.d.ts.map +1 -0
- package/dist/src/ucp/persistence/write.js +59 -0
- package/dist/src/ucp/persistence/write.js.map +1 -0
- package/dist/src/ucp/projection.d.ts +146 -0
- package/dist/src/ucp/projection.d.ts.map +1 -0
- package/dist/src/ucp/projection.js +139 -0
- package/dist/src/ucp/projection.js.map +1 -0
- package/dist/src/ucp/types.d.ts +585 -0
- package/dist/src/ucp/types.d.ts.map +1 -0
- package/dist/src/ucp/types.js +57 -0
- package/dist/src/ucp/types.js.map +1 -0
- package/dist/src/understand/completion/completion.d.ts +26 -0
- package/dist/src/understand/completion/completion.d.ts.map +1 -0
- package/dist/src/understand/completion/completion.js +45 -0
- package/dist/src/understand/completion/completion.js.map +1 -0
- package/dist/src/understand/completion/rules.d.ts +61 -0
- package/dist/src/understand/completion/rules.d.ts.map +1 -0
- package/dist/src/understand/completion/rules.js +268 -0
- package/dist/src/understand/completion/rules.js.map +1 -0
- package/dist/src/understand/completion/types.d.ts +68 -0
- package/dist/src/understand/completion/types.d.ts.map +1 -0
- package/dist/src/understand/completion/types.js +34 -0
- package/dist/src/understand/completion/types.js.map +1 -0
- package/dist/src/understand/context/context-alignment.d.ts +18 -0
- package/dist/src/understand/context/context-alignment.d.ts.map +1 -0
- package/dist/src/understand/context/context-alignment.js +61 -0
- package/dist/src/understand/context/context-alignment.js.map +1 -0
- package/dist/src/understand/context/types.d.ts +20 -0
- package/dist/src/understand/context/types.d.ts.map +1 -0
- package/dist/src/understand/context/types.js +13 -0
- package/dist/src/understand/context/types.js.map +1 -0
- package/dist/src/understand/disambiguation/detectors/missing-context.detector.d.ts +12 -0
- package/dist/src/understand/disambiguation/detectors/missing-context.detector.d.ts.map +1 -0
- package/dist/src/understand/disambiguation/detectors/missing-context.detector.js +60 -0
- package/dist/src/understand/disambiguation/detectors/missing-context.detector.js.map +1 -0
- package/dist/src/understand/disambiguation/detectors/overloaded-term.detector.d.ts +13 -0
- package/dist/src/understand/disambiguation/detectors/overloaded-term.detector.d.ts.map +1 -0
- package/dist/src/understand/disambiguation/detectors/overloaded-term.detector.js +57 -0
- package/dist/src/understand/disambiguation/detectors/overloaded-term.detector.js.map +1 -0
- package/dist/src/understand/disambiguation/detectors/typo-adjacent.detector.d.ts +16 -0
- package/dist/src/understand/disambiguation/detectors/typo-adjacent.detector.d.ts.map +1 -0
- package/dist/src/understand/disambiguation/detectors/typo-adjacent.detector.js +56 -0
- package/dist/src/understand/disambiguation/detectors/typo-adjacent.detector.js.map +1 -0
- package/dist/src/understand/disambiguation/registry.d.ts +14 -0
- package/dist/src/understand/disambiguation/registry.d.ts.map +1 -0
- package/dist/src/understand/disambiguation/registry.js +27 -0
- package/dist/src/understand/disambiguation/registry.js.map +1 -0
- package/dist/src/understand/disambiguation/types.d.ts +34 -0
- package/dist/src/understand/disambiguation/types.d.ts.map +1 -0
- package/dist/src/understand/disambiguation/types.js +15 -0
- package/dist/src/understand/disambiguation/types.js.map +1 -0
- package/dist/src/understand/intent-interpretation/intent-interpretation.d.ts +86 -0
- package/dist/src/understand/intent-interpretation/intent-interpretation.d.ts.map +1 -0
- package/dist/src/understand/intent-interpretation/intent-interpretation.js +141 -0
- package/dist/src/understand/intent-interpretation/intent-interpretation.js.map +1 -0
- package/dist/src/understand/intent-interpretation/interpreters/color-intent.interpreter.d.ts +33 -0
- package/dist/src/understand/intent-interpretation/interpreters/color-intent.interpreter.d.ts.map +1 -0
- package/dist/src/understand/intent-interpretation/interpreters/color-intent.interpreter.js +66 -0
- package/dist/src/understand/intent-interpretation/interpreters/color-intent.interpreter.js.map +1 -0
- package/dist/src/understand/intent-interpretation/interpreters/config-intent.interpreter.d.ts +20 -0
- package/dist/src/understand/intent-interpretation/interpreters/config-intent.interpreter.d.ts.map +1 -0
- package/dist/src/understand/intent-interpretation/interpreters/config-intent.interpreter.js +80 -0
- package/dist/src/understand/intent-interpretation/interpreters/config-intent.interpreter.js.map +1 -0
- package/dist/src/understand/intent-interpretation/interpreters/text-intent.interpreter.d.ts +25 -0
- package/dist/src/understand/intent-interpretation/interpreters/text-intent.interpreter.d.ts.map +1 -0
- package/dist/src/understand/intent-interpretation/interpreters/text-intent.interpreter.js +47 -0
- package/dist/src/understand/intent-interpretation/interpreters/text-intent.interpreter.js.map +1 -0
- package/dist/src/understand/intent-interpretation/interpreters/workflow-intent.interpreter.d.ts +35 -0
- package/dist/src/understand/intent-interpretation/interpreters/workflow-intent.interpreter.d.ts.map +1 -0
- package/dist/src/understand/intent-interpretation/interpreters/workflow-intent.interpreter.js +89 -0
- package/dist/src/understand/intent-interpretation/interpreters/workflow-intent.interpreter.js.map +1 -0
- package/dist/src/understand/intent-interpretation/registry.d.ts +18 -0
- package/dist/src/understand/intent-interpretation/registry.d.ts.map +1 -0
- package/dist/src/understand/intent-interpretation/registry.js +26 -0
- package/dist/src/understand/intent-interpretation/registry.js.map +1 -0
- package/dist/src/understand/intent-interpretation/types.d.ts +83 -0
- package/dist/src/understand/intent-interpretation/types.d.ts.map +1 -0
- package/dist/src/understand/intent-interpretation/types.js +40 -0
- package/dist/src/understand/intent-interpretation/types.js.map +1 -0
- package/dist/src/understand/interpretation/intent.d.ts +72 -0
- package/dist/src/understand/interpretation/intent.d.ts.map +1 -0
- package/dist/src/understand/interpretation/intent.js +414 -0
- package/dist/src/understand/interpretation/intent.js.map +1 -0
- package/dist/src/understand/interpretation/interpretation.d.ts +26 -0
- package/dist/src/understand/interpretation/interpretation.d.ts.map +1 -0
- package/dist/src/understand/interpretation/interpretation.js +43 -0
- package/dist/src/understand/interpretation/interpretation.js.map +1 -0
- package/dist/src/understand/interpretation/parser.d.ts +20 -0
- package/dist/src/understand/interpretation/parser.d.ts.map +1 -0
- package/dist/src/understand/interpretation/parser.js +88 -0
- package/dist/src/understand/interpretation/parser.js.map +1 -0
- package/dist/src/understand/interpretation/rules.d.ts +19 -0
- package/dist/src/understand/interpretation/rules.d.ts.map +1 -0
- package/dist/src/understand/interpretation/rules.js +222 -0
- package/dist/src/understand/interpretation/rules.js.map +1 -0
- package/dist/src/understand/interpretation/types.d.ts +90 -0
- package/dist/src/understand/interpretation/types.d.ts.map +1 -0
- package/dist/src/understand/interpretation/types.js +29 -0
- package/dist/src/understand/interpretation/types.js.map +1 -0
- package/dist/src/understand/shared/types.d.ts +13 -0
- package/dist/src/understand/shared/types.d.ts.map +1 -0
- package/dist/src/understand/shared/types.js +9 -0
- package/dist/src/understand/shared/types.js.map +1 -0
- package/dist/src/understand/silent-guidance/index.d.ts +4 -0
- package/dist/src/understand/silent-guidance/index.d.ts.map +1 -0
- package/dist/src/understand/silent-guidance/index.js +3 -0
- package/dist/src/understand/silent-guidance/index.js.map +1 -0
- package/dist/src/understand/silent-guidance/selector.d.ts +44 -0
- package/dist/src/understand/silent-guidance/selector.d.ts.map +1 -0
- package/dist/src/understand/silent-guidance/selector.js +158 -0
- package/dist/src/understand/silent-guidance/selector.js.map +1 -0
- package/dist/src/understand/silent-guidance/templates.d.ts +31 -0
- package/dist/src/understand/silent-guidance/templates.d.ts.map +1 -0
- package/dist/src/understand/silent-guidance/templates.js +109 -0
- package/dist/src/understand/silent-guidance/templates.js.map +1 -0
- package/dist/src/understand/silent-guidance/types.d.ts +36 -0
- package/dist/src/understand/silent-guidance/types.d.ts.map +1 -0
- package/dist/src/understand/silent-guidance/types.js +2 -0
- package/dist/src/understand/silent-guidance/types.js.map +1 -0
- package/dist/src/workflow/coordinator.d.ts +197 -0
- package/dist/src/workflow/coordinator.d.ts.map +1 -0
- package/dist/src/workflow/coordinator.js +682 -0
- package/dist/src/workflow/coordinator.js.map +1 -0
- package/dist/src/workflow/index.d.ts +30 -0
- package/dist/src/workflow/index.d.ts.map +1 -0
- package/dist/src/workflow/index.js +30 -0
- package/dist/src/workflow/index.js.map +1 -0
- package/dist/src/workflow/types.d.ts +213 -0
- package/dist/src/workflow/types.d.ts.map +1 -0
- package/dist/src/workflow/types.js +27 -0
- package/dist/src/workflow/types.js.map +1 -0
- package/package.json +54 -0
- package/ui/README.md +73 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../../src/ucp/persistence/reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UCP Persistence Store — raw file operations.
|
|
3
|
+
*
|
|
4
|
+
* Provides append-only JSONL logging and a lightweight JSON index for
|
|
5
|
+
* UCP envelopes. All operations are synchronous, deterministic, and
|
|
6
|
+
* filesystem-only — no database, no network, no async queues.
|
|
7
|
+
*
|
|
8
|
+
* ── File layout ──────────────────────────────────────────────────────────────
|
|
9
|
+
*
|
|
10
|
+
* <storeDir>/
|
|
11
|
+
* envelopes.log # append-only JSONL — one envelope per line
|
|
12
|
+
* index.json # lightweight in-memory index (rebuildable)
|
|
13
|
+
* index.json.tmp # transient during atomic index write (never left behind)
|
|
14
|
+
*
|
|
15
|
+
* ── Design invariants ────────────────────────────────────────────────────────
|
|
16
|
+
*
|
|
17
|
+
* 1. The log is append-only. Lines are never rewritten or deleted.
|
|
18
|
+
* 2. Each line is stableStringify(envelope) — canonical, deterministic bytes.
|
|
19
|
+
* 3. The index is a projection of the log. It can always be rebuilt from scratch.
|
|
20
|
+
* 4. Index writes are atomic: write to .tmp, then rename. No partial index state.
|
|
21
|
+
* 5. Duplicate envelope ids are tolerated: second occurrence does not overwrite
|
|
22
|
+
* the first in byId (first-write-wins for offset).
|
|
23
|
+
* 6. Corrupt lines in the log are skipped silently during rebuild.
|
|
24
|
+
* 7. This module has ZERO authority. It never affects mode, execution, or replay.
|
|
25
|
+
*/
|
|
26
|
+
import type { UCPEnvelope } from "../types.js";
|
|
27
|
+
export declare const LOG_FILENAME = "envelopes.log";
|
|
28
|
+
export declare const INDEX_FILENAME = "index.json";
|
|
29
|
+
/**
|
|
30
|
+
* UCPIndex — lightweight projection of the log file.
|
|
31
|
+
*
|
|
32
|
+
* byId — envelope id → byte offset in envelopes.log (seek position)
|
|
33
|
+
* byType — envelope type → [id, ...] (insertion order)
|
|
34
|
+
* byRoot — refs.rootId → [id, ...] (all envelopes in this intent chain)
|
|
35
|
+
* byParent — refs.parentId → [id, ...] (direct children of a parent envelope)
|
|
36
|
+
*/
|
|
37
|
+
export type UCPIndex = {
|
|
38
|
+
readonly byId: Record<string, number>;
|
|
39
|
+
readonly byType: Record<string, string[]>;
|
|
40
|
+
readonly byRoot: Record<string, string[]>;
|
|
41
|
+
readonly byParent: Record<string, string[]>;
|
|
42
|
+
};
|
|
43
|
+
export declare function emptyIndex(): UCPIndex;
|
|
44
|
+
export declare function ensureStoreDir(storeDir: string): void;
|
|
45
|
+
/**
|
|
46
|
+
* Append one envelope to the JSONL log.
|
|
47
|
+
* Returns the byte offset at which the envelope was written
|
|
48
|
+
* (i.e., the file size before the append).
|
|
49
|
+
*
|
|
50
|
+
* Uses stableStringify — output is canonical and deterministic.
|
|
51
|
+
* Same envelope always produces the same bytes.
|
|
52
|
+
*/
|
|
53
|
+
export declare function appendEnvelope(storeDir: string, envelope: UCPEnvelope<unknown>): number;
|
|
54
|
+
/**
|
|
55
|
+
* Load the index from disk. Returns an empty index if the file does not exist
|
|
56
|
+
* or cannot be parsed.
|
|
57
|
+
*/
|
|
58
|
+
export declare function loadIndex(storeDir: string): UCPIndex;
|
|
59
|
+
/**
|
|
60
|
+
* Add one envelope's index entries and atomically write the updated index.
|
|
61
|
+
*
|
|
62
|
+
* First-write-wins for byId: if the envelope id is already present, the stored
|
|
63
|
+
* offset is not overwritten. All other indexes (byType, byRoot, byParent) always
|
|
64
|
+
* append the id, preserving insertion order.
|
|
65
|
+
*/
|
|
66
|
+
export declare function updateIndex(storeDir: string, envelope: UCPEnvelope<unknown>, offset: number): void;
|
|
67
|
+
/**
|
|
68
|
+
* Rebuild the entire index by scanning the log file from the beginning.
|
|
69
|
+
* Corrupt or unparseable lines are skipped with a console.warn.
|
|
70
|
+
* The rebuilt index is written atomically and returned.
|
|
71
|
+
*
|
|
72
|
+
* Use this when:
|
|
73
|
+
* - index.json is missing or corrupt
|
|
74
|
+
* - the log and index are suspected to be out of sync
|
|
75
|
+
*/
|
|
76
|
+
export declare function rebuildIndex(storeDir: string): UCPIndex;
|
|
77
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/ucp/persistence/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAaH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,eAAO,MAAM,YAAY,kBAAoB,CAAC;AAC9C,eAAO,MAAM,cAAc,eAAe,CAAC;AAI3C;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC7C,CAAC;AAEF,wBAAgB,UAAU,IAAI,QAAQ,CAErC;AAID,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIrD;AAID;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,CAavF;AAID;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAQpD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAIlG;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAgCvD"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UCP Persistence Store — raw file operations.
|
|
3
|
+
*
|
|
4
|
+
* Provides append-only JSONL logging and a lightweight JSON index for
|
|
5
|
+
* UCP envelopes. All operations are synchronous, deterministic, and
|
|
6
|
+
* filesystem-only — no database, no network, no async queues.
|
|
7
|
+
*
|
|
8
|
+
* ── File layout ──────────────────────────────────────────────────────────────
|
|
9
|
+
*
|
|
10
|
+
* <storeDir>/
|
|
11
|
+
* envelopes.log # append-only JSONL — one envelope per line
|
|
12
|
+
* index.json # lightweight in-memory index (rebuildable)
|
|
13
|
+
* index.json.tmp # transient during atomic index write (never left behind)
|
|
14
|
+
*
|
|
15
|
+
* ── Design invariants ────────────────────────────────────────────────────────
|
|
16
|
+
*
|
|
17
|
+
* 1. The log is append-only. Lines are never rewritten or deleted.
|
|
18
|
+
* 2. Each line is stableStringify(envelope) — canonical, deterministic bytes.
|
|
19
|
+
* 3. The index is a projection of the log. It can always be rebuilt from scratch.
|
|
20
|
+
* 4. Index writes are atomic: write to .tmp, then rename. No partial index state.
|
|
21
|
+
* 5. Duplicate envelope ids are tolerated: second occurrence does not overwrite
|
|
22
|
+
* the first in byId (first-write-wins for offset).
|
|
23
|
+
* 6. Corrupt lines in the log are skipped silently during rebuild.
|
|
24
|
+
* 7. This module has ZERO authority. It never affects mode, execution, or replay.
|
|
25
|
+
*/
|
|
26
|
+
import { existsSync, mkdirSync, appendFileSync, readFileSync, writeFileSync, renameSync, statSync, } from "fs";
|
|
27
|
+
import { join } from "path";
|
|
28
|
+
import { stableStringify } from "../hashes.js";
|
|
29
|
+
// ─── Constants ────────────────────────────────────────────────────────────────
|
|
30
|
+
export const LOG_FILENAME = "envelopes.log";
|
|
31
|
+
export const INDEX_FILENAME = "index.json";
|
|
32
|
+
export function emptyIndex() {
|
|
33
|
+
return { byId: {}, byType: {}, byRoot: {}, byParent: {} };
|
|
34
|
+
}
|
|
35
|
+
// ─── Directory setup ──────────────────────────────────────────────────────────
|
|
36
|
+
export function ensureStoreDir(storeDir) {
|
|
37
|
+
if (!existsSync(storeDir)) {
|
|
38
|
+
mkdirSync(storeDir, { recursive: true });
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// ─── Log operations ───────────────────────────────────────────────────────────
|
|
42
|
+
/**
|
|
43
|
+
* Append one envelope to the JSONL log.
|
|
44
|
+
* Returns the byte offset at which the envelope was written
|
|
45
|
+
* (i.e., the file size before the append).
|
|
46
|
+
*
|
|
47
|
+
* Uses stableStringify — output is canonical and deterministic.
|
|
48
|
+
* Same envelope always produces the same bytes.
|
|
49
|
+
*/
|
|
50
|
+
export function appendEnvelope(storeDir, envelope) {
|
|
51
|
+
ensureStoreDir(storeDir);
|
|
52
|
+
const logPath = join(storeDir, LOG_FILENAME);
|
|
53
|
+
const line = stableStringify(envelope) + "\n";
|
|
54
|
+
let offset = 0;
|
|
55
|
+
if (existsSync(logPath)) {
|
|
56
|
+
offset = statSync(logPath).size;
|
|
57
|
+
}
|
|
58
|
+
appendFileSync(logPath, line, "utf8");
|
|
59
|
+
return offset;
|
|
60
|
+
}
|
|
61
|
+
// ─── Index operations ─────────────────────────────────────────────────────────
|
|
62
|
+
/**
|
|
63
|
+
* Load the index from disk. Returns an empty index if the file does not exist
|
|
64
|
+
* or cannot be parsed.
|
|
65
|
+
*/
|
|
66
|
+
export function loadIndex(storeDir) {
|
|
67
|
+
const indexPath = join(storeDir, INDEX_FILENAME);
|
|
68
|
+
if (!existsSync(indexPath))
|
|
69
|
+
return emptyIndex();
|
|
70
|
+
try {
|
|
71
|
+
return JSON.parse(readFileSync(indexPath, "utf8"));
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return emptyIndex();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Add one envelope's index entries and atomically write the updated index.
|
|
79
|
+
*
|
|
80
|
+
* First-write-wins for byId: if the envelope id is already present, the stored
|
|
81
|
+
* offset is not overwritten. All other indexes (byType, byRoot, byParent) always
|
|
82
|
+
* append the id, preserving insertion order.
|
|
83
|
+
*/
|
|
84
|
+
export function updateIndex(storeDir, envelope, offset) {
|
|
85
|
+
const index = loadIndex(storeDir);
|
|
86
|
+
const next = addToIndex(index, envelope, offset);
|
|
87
|
+
writeIndexAtomic(storeDir, next);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Rebuild the entire index by scanning the log file from the beginning.
|
|
91
|
+
* Corrupt or unparseable lines are skipped with a console.warn.
|
|
92
|
+
* The rebuilt index is written atomically and returned.
|
|
93
|
+
*
|
|
94
|
+
* Use this when:
|
|
95
|
+
* - index.json is missing or corrupt
|
|
96
|
+
* - the log and index are suspected to be out of sync
|
|
97
|
+
*/
|
|
98
|
+
export function rebuildIndex(storeDir) {
|
|
99
|
+
const logPath = join(storeDir, LOG_FILENAME);
|
|
100
|
+
if (!existsSync(logPath)) {
|
|
101
|
+
const empty = emptyIndex();
|
|
102
|
+
writeIndexAtomic(storeDir, empty);
|
|
103
|
+
return empty;
|
|
104
|
+
}
|
|
105
|
+
const raw = readFileSync(logPath, "utf8");
|
|
106
|
+
const lines = raw.split("\n");
|
|
107
|
+
let index = emptyIndex();
|
|
108
|
+
let byteOffset = 0;
|
|
109
|
+
for (const line of lines) {
|
|
110
|
+
const lineBytes = Buffer.byteLength(line, "utf8");
|
|
111
|
+
if (line.trim() !== "") {
|
|
112
|
+
try {
|
|
113
|
+
const envelope = JSON.parse(line);
|
|
114
|
+
index = addToIndex(index, envelope, byteOffset);
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
console.warn(`[ucp-persist] rebuildIndex: skipping corrupt line at offset ${byteOffset}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Each line in the log ends with \n — account for it.
|
|
121
|
+
byteOffset += lineBytes + 1;
|
|
122
|
+
}
|
|
123
|
+
writeIndexAtomic(storeDir, index);
|
|
124
|
+
return index;
|
|
125
|
+
}
|
|
126
|
+
// ─── Internal helpers ─────────────────────────────────────────────────────────
|
|
127
|
+
/**
|
|
128
|
+
* Pure function — returns a new UCPIndex with the envelope's entries added.
|
|
129
|
+
* Does not mutate the input index.
|
|
130
|
+
*/
|
|
131
|
+
function addToIndex(index, envelope, offset) {
|
|
132
|
+
const byId = { ...index.byId };
|
|
133
|
+
const byType = { ...index.byType };
|
|
134
|
+
const byRoot = { ...index.byRoot };
|
|
135
|
+
const byParent = { ...index.byParent };
|
|
136
|
+
// byId — first-write-wins: preserve the offset of the first occurrence.
|
|
137
|
+
if (!(envelope.id in byId)) {
|
|
138
|
+
byId[envelope.id] = offset;
|
|
139
|
+
}
|
|
140
|
+
// byType
|
|
141
|
+
if (!byType[envelope.type])
|
|
142
|
+
byType[envelope.type] = [];
|
|
143
|
+
if (!byType[envelope.type].includes(envelope.id)) {
|
|
144
|
+
byType[envelope.type] = [...byType[envelope.type], envelope.id];
|
|
145
|
+
}
|
|
146
|
+
// byRoot (only if refs.rootId present)
|
|
147
|
+
const rootId = envelope.refs?.rootId;
|
|
148
|
+
if (rootId) {
|
|
149
|
+
if (!byRoot[rootId])
|
|
150
|
+
byRoot[rootId] = [];
|
|
151
|
+
if (!byRoot[rootId].includes(envelope.id)) {
|
|
152
|
+
byRoot[rootId] = [...byRoot[rootId], envelope.id];
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// byParent (only if refs.parentId present)
|
|
156
|
+
const parentId = envelope.refs?.parentId;
|
|
157
|
+
if (parentId) {
|
|
158
|
+
if (!byParent[parentId])
|
|
159
|
+
byParent[parentId] = [];
|
|
160
|
+
if (!byParent[parentId].includes(envelope.id)) {
|
|
161
|
+
byParent[parentId] = [...byParent[parentId], envelope.id];
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return { byId, byType, byRoot, byParent };
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Atomically write index to disk: write to a .tmp file, then rename.
|
|
168
|
+
* This guarantees the index is never left in a partial state.
|
|
169
|
+
*/
|
|
170
|
+
function writeIndexAtomic(storeDir, index) {
|
|
171
|
+
ensureStoreDir(storeDir);
|
|
172
|
+
const indexPath = join(storeDir, INDEX_FILENAME);
|
|
173
|
+
const tmpPath = indexPath + ".tmp";
|
|
174
|
+
writeFileSync(tmpPath, JSON.stringify(index, null, 2), "utf8");
|
|
175
|
+
renameSync(tmpPath, indexPath);
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/ucp/persistence/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UCP Persistence — persistEnvelope facade.
|
|
3
|
+
*
|
|
4
|
+
* This is the single public call site for persisting a UCP envelope.
|
|
5
|
+
* It wraps the raw store operations in a try/catch so that persistence
|
|
6
|
+
* failures NEVER surface as execution failures.
|
|
7
|
+
*
|
|
8
|
+
* Callers (server.ts, CLI shell) must call this inside a fire-and-forget
|
|
9
|
+
* async block — this module itself is synchronous.
|
|
10
|
+
*
|
|
11
|
+
* ── Authority ────────────────────────────────────────────────────────────────
|
|
12
|
+
*
|
|
13
|
+
* persistEnvelope is zero-authority.
|
|
14
|
+
* A persistence failure must never:
|
|
15
|
+
* - cause a run to fail
|
|
16
|
+
* - change mode or execution behavior
|
|
17
|
+
* - surface to the renderer
|
|
18
|
+
*
|
|
19
|
+
* The only observable side effect of failure is a console.warn line.
|
|
20
|
+
*/
|
|
21
|
+
import type { UCPEnvelope } from "../types.js";
|
|
22
|
+
/**
|
|
23
|
+
* Persist one UCP envelope to the store directory.
|
|
24
|
+
*
|
|
25
|
+
* Appends to envelopes.log and updates index.json atomically.
|
|
26
|
+
* Never throws — errors are swallowed with console.warn.
|
|
27
|
+
*
|
|
28
|
+
* Use for: post-execution envelopes where a persistence failure must not
|
|
29
|
+
* block or change system behavior (fire-and-forget semantics).
|
|
30
|
+
*
|
|
31
|
+
* @param storeDir Absolute path to the UCP store directory.
|
|
32
|
+
* @param envelope The UCP envelope to persist.
|
|
33
|
+
*/
|
|
34
|
+
export declare function persistEnvelope(storeDir: string, envelope: UCPEnvelope<unknown>): void;
|
|
35
|
+
/**
|
|
36
|
+
* Persist one UCP envelope to the store directory, throwing on failure.
|
|
37
|
+
*
|
|
38
|
+
* Unlike persistEnvelope, this function DOES throw if persistence fails.
|
|
39
|
+
* Use for: pre-delivery gates where a persistence failure must block the
|
|
40
|
+
* subsequent action (e.g., cursor handoff — delivery must not proceed if
|
|
41
|
+
* the provenance record cannot be written).
|
|
42
|
+
*
|
|
43
|
+
* @param storeDir Absolute path to the UCP store directory.
|
|
44
|
+
* @param envelope The UCP envelope to persist.
|
|
45
|
+
* @throws If appending or indexing fails for any reason.
|
|
46
|
+
*/
|
|
47
|
+
export declare function persistEnvelopeOrThrow(storeDir: string, envelope: UCPEnvelope<unknown>): void;
|
|
48
|
+
//# sourceMappingURL=write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../../src/ucp/persistence/write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAUtF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAG7F"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UCP Persistence — persistEnvelope facade.
|
|
3
|
+
*
|
|
4
|
+
* This is the single public call site for persisting a UCP envelope.
|
|
5
|
+
* It wraps the raw store operations in a try/catch so that persistence
|
|
6
|
+
* failures NEVER surface as execution failures.
|
|
7
|
+
*
|
|
8
|
+
* Callers (server.ts, CLI shell) must call this inside a fire-and-forget
|
|
9
|
+
* async block — this module itself is synchronous.
|
|
10
|
+
*
|
|
11
|
+
* ── Authority ────────────────────────────────────────────────────────────────
|
|
12
|
+
*
|
|
13
|
+
* persistEnvelope is zero-authority.
|
|
14
|
+
* A persistence failure must never:
|
|
15
|
+
* - cause a run to fail
|
|
16
|
+
* - change mode or execution behavior
|
|
17
|
+
* - surface to the renderer
|
|
18
|
+
*
|
|
19
|
+
* The only observable side effect of failure is a console.warn line.
|
|
20
|
+
*/
|
|
21
|
+
import { appendEnvelope, updateIndex } from "./store.js";
|
|
22
|
+
/**
|
|
23
|
+
* Persist one UCP envelope to the store directory.
|
|
24
|
+
*
|
|
25
|
+
* Appends to envelopes.log and updates index.json atomically.
|
|
26
|
+
* Never throws — errors are swallowed with console.warn.
|
|
27
|
+
*
|
|
28
|
+
* Use for: post-execution envelopes where a persistence failure must not
|
|
29
|
+
* block or change system behavior (fire-and-forget semantics).
|
|
30
|
+
*
|
|
31
|
+
* @param storeDir Absolute path to the UCP store directory.
|
|
32
|
+
* @param envelope The UCP envelope to persist.
|
|
33
|
+
*/
|
|
34
|
+
export function persistEnvelope(storeDir, envelope) {
|
|
35
|
+
try {
|
|
36
|
+
const offset = appendEnvelope(storeDir, envelope);
|
|
37
|
+
updateIndex(storeDir, envelope, offset);
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
console.warn(`[ucp-persist] Failed to persist envelope id=${envelope.id.slice(0, 8)}… type=${envelope.type}:`, err);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Persist one UCP envelope to the store directory, throwing on failure.
|
|
45
|
+
*
|
|
46
|
+
* Unlike persistEnvelope, this function DOES throw if persistence fails.
|
|
47
|
+
* Use for: pre-delivery gates where a persistence failure must block the
|
|
48
|
+
* subsequent action (e.g., cursor handoff — delivery must not proceed if
|
|
49
|
+
* the provenance record cannot be written).
|
|
50
|
+
*
|
|
51
|
+
* @param storeDir Absolute path to the UCP store directory.
|
|
52
|
+
* @param envelope The UCP envelope to persist.
|
|
53
|
+
* @throws If appending or indexing fails for any reason.
|
|
54
|
+
*/
|
|
55
|
+
export function persistEnvelopeOrThrow(storeDir, envelope) {
|
|
56
|
+
const offset = appendEnvelope(storeDir, envelope);
|
|
57
|
+
updateIndex(storeDir, envelope, offset);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../src/ucp/persistence/write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,QAA8B;IAC9E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,+CAA+C,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,QAAQ,CAAC,IAAI,GAAG,EAChG,GAAG,CACJ,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAE,QAA8B;IACrF,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClD,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UCP Seam Projection — Phase 2 integration layer.
|
|
3
|
+
*
|
|
4
|
+
* UCPSeamProjection is the formal shape the shell layer exposes to surfaces
|
|
5
|
+
* (CLI, web UI, or any other consumer). It is PROVABLY derived from a
|
|
6
|
+
* UCPBundle — never constructed independently.
|
|
7
|
+
*
|
|
8
|
+
* ── Why this exists ───────────────────────────────────────────────────────────
|
|
9
|
+
*
|
|
10
|
+
* Before Phase 2, the seam exposed `PresentationOutput` — a manually maintained
|
|
11
|
+
* type that mirrored intake results but had no formal link to UCP.
|
|
12
|
+
*
|
|
13
|
+
* UCPSeamProjection replaces that. Every field maps to a specific envelope:
|
|
14
|
+
*
|
|
15
|
+
* mode ← bundle.response.payload.mode
|
|
16
|
+
* badge ← derived from mode (display only)
|
|
17
|
+
* headline ← bundle.intentInterpretation?.payload.summary
|
|
18
|
+
* OR bundle.changeInterpretation?.payload.summary
|
|
19
|
+
* OR bundle.response.payload.reason
|
|
20
|
+
* category ← human label from intentInterpretation or changeInterpretation
|
|
21
|
+
* confidence ← human label from intentInterpretation or changeInterpretation
|
|
22
|
+
* steps ← bundle.response.payload.guidance.nextSteps[].label (enriched form)
|
|
23
|
+
* missing ← bundle.response.payload.guidance.missing
|
|
24
|
+
* certaintyLevel ← derived: execute+change→certain, guide+intent→inferred, else→unknown
|
|
25
|
+
* debugTrace ← bundle.debugTrace.payload (all trace fields from the envelope)
|
|
26
|
+
*
|
|
27
|
+
* envelopeIds ← { intentId, responseId, traceId } from bundle envelope .id fields
|
|
28
|
+
* This is the PROOF FIELD.
|
|
29
|
+
* A consumer can verify that this projection came from a real UCPBundle
|
|
30
|
+
* by checking that envelopeIds.responseId is a valid sha256 hex string
|
|
31
|
+
* and matches bundle.response.id for the same input.
|
|
32
|
+
*
|
|
33
|
+
* ── Invariants ────────────────────────────────────────────────────────────────
|
|
34
|
+
*
|
|
35
|
+
* 1. projectUCPBundle is a pure function. Same bundle → same projection.
|
|
36
|
+
* 2. mode is sourced from bundle.response.payload.mode — it cannot drift.
|
|
37
|
+
* 3. envelopeIds are content-addressed. Same input → same IDs.
|
|
38
|
+
* 4. No field may be invented. Every field is derived from a named envelope.
|
|
39
|
+
* 5. A renderer MUST route on projection.mode, never on any other field.
|
|
40
|
+
*
|
|
41
|
+
* ── What this is NOT ──────────────────────────────────────────────────────────
|
|
42
|
+
*
|
|
43
|
+
* Not a pipeline layer. Not a decision layer. Not a transport format.
|
|
44
|
+
* It is a formal, testable projection function: f(UCPBundle) → UCPSeamProjection.
|
|
45
|
+
*/
|
|
46
|
+
import type { ResponseMode } from "../intake/types.js";
|
|
47
|
+
import type { DebugTracePayload } from "./types.js";
|
|
48
|
+
import type { UCPBundle } from "../intake/intake-service.js";
|
|
49
|
+
/**
|
|
50
|
+
* Three content-addressed sha256 envelope IDs that prove this projection
|
|
51
|
+
* was derived from a real UCPBundle.
|
|
52
|
+
*
|
|
53
|
+
* These IDs are deterministic:
|
|
54
|
+
* Same input → same intentId, responseId, traceId.
|
|
55
|
+
*
|
|
56
|
+
* A consumer verifying authenticity checks:
|
|
57
|
+
* envelopeIds.responseId.match(/^[0-9a-f]{64}$/) — it is a valid SHA-256
|
|
58
|
+
*/
|
|
59
|
+
export type UCPProjectionEnvelopeIds = {
|
|
60
|
+
/** bundle.intent.id — content-addressed from the raw input string. */
|
|
61
|
+
readonly intentId: string;
|
|
62
|
+
/** bundle.response.id — content-addressed from mode + reason + intentState. */
|
|
63
|
+
readonly responseId: string;
|
|
64
|
+
/** bundle.debugTrace.id — content-addressed from all trace fields. */
|
|
65
|
+
readonly traceId: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* The formal shape exposed to seam consumers (renderers, IPC callers).
|
|
69
|
+
*
|
|
70
|
+
* This type is structurally compatible with the legacy PresentationOutput
|
|
71
|
+
* and UICoreIntakeResult but carries the additional envelopeIds proof field.
|
|
72
|
+
*
|
|
73
|
+
* Consumers that only care about rendering can ignore envelopeIds.
|
|
74
|
+
* Consumers verifying UCP provenance should check it.
|
|
75
|
+
*/
|
|
76
|
+
export type UCPSeamProjection = {
|
|
77
|
+
/**
|
|
78
|
+
* Source: bundle.response.payload.mode
|
|
79
|
+
* THE ONLY ROUTING AUTHORITY. Consumers MUST route on this field.
|
|
80
|
+
*/
|
|
81
|
+
readonly mode: ResponseMode;
|
|
82
|
+
/**
|
|
83
|
+
* Source: derived from mode using MODE_BADGES lookup.
|
|
84
|
+
* Display only. Does not affect routing.
|
|
85
|
+
*/
|
|
86
|
+
readonly badge: string;
|
|
87
|
+
/**
|
|
88
|
+
* Source (priority order):
|
|
89
|
+
* 1. bundle.intentInterpretation.payload.summary (guide + bridge)
|
|
90
|
+
* 2. bundle.changeInterpretation.payload.summary (execute + structured patch)
|
|
91
|
+
* 3. bundle.response.payload.reason (fallback for all modes)
|
|
92
|
+
*/
|
|
93
|
+
readonly headline: string;
|
|
94
|
+
/**
|
|
95
|
+
* Source: derived from mode + interpretation envelope presence.
|
|
96
|
+
* "certain" → mode="execute" AND bundle.changeInterpretation exists
|
|
97
|
+
* "inferred" → mode="guide" AND bundle.intentInterpretation exists
|
|
98
|
+
* "unknown" → all other cases
|
|
99
|
+
*/
|
|
100
|
+
readonly certaintyLevel: "certain" | "inferred" | "unknown";
|
|
101
|
+
/**
|
|
102
|
+
* Source: human label derived from:
|
|
103
|
+
* - bundle.intentInterpretation.payload.category (guide mode)
|
|
104
|
+
* - bundle.changeInterpretation.payload.category (execute mode)
|
|
105
|
+
* Absent when no interpretation envelope is present.
|
|
106
|
+
*/
|
|
107
|
+
readonly category?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Source: human label derived from whichever interpretation envelope fired.
|
|
110
|
+
* Absent when no interpretation envelope is present.
|
|
111
|
+
*/
|
|
112
|
+
readonly confidence?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Source: bundle.response.payload.guidance.nextSteps[].label
|
|
115
|
+
* This is the ENRICHED, ordering-applied form — not the raw CompletionResult.
|
|
116
|
+
* Includes interpretation-improved labels and session-ordered steps.
|
|
117
|
+
* Present only when mode === "guide".
|
|
118
|
+
*/
|
|
119
|
+
readonly steps?: ReadonlyArray<string>;
|
|
120
|
+
/**
|
|
121
|
+
* Source: bundle.response.payload.guidance.missing
|
|
122
|
+
* Present only when mode === "guide".
|
|
123
|
+
*/
|
|
124
|
+
readonly missing?: ReadonlyArray<string>;
|
|
125
|
+
/**
|
|
126
|
+
* Source: bundle.debugTrace.payload (all 6 trace fields from the envelope).
|
|
127
|
+
* Zero authority. Developer-facing observability only.
|
|
128
|
+
*/
|
|
129
|
+
readonly debugTrace?: DebugTracePayload;
|
|
130
|
+
/**
|
|
131
|
+
* Proof field: three content-addressed envelope IDs.
|
|
132
|
+
* These IDs are sha256 hashes. Same input → same IDs (content-addressed).
|
|
133
|
+
* Their presence proves this projection came from a UCPBundle.
|
|
134
|
+
*/
|
|
135
|
+
readonly envelopeIds: UCPProjectionEnvelopeIds;
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Project a UCPBundle into a UCPSeamProjection.
|
|
139
|
+
*
|
|
140
|
+
* Pure function — same bundle → same projection, always.
|
|
141
|
+
* No side effects. No I/O. No randomness.
|
|
142
|
+
*
|
|
143
|
+
* Every output field documents its source envelope in the type definition above.
|
|
144
|
+
*/
|
|
145
|
+
export declare function projectUCPBundle(bundle: UCPBundle): UCPSeamProjection;
|
|
146
|
+
//# sourceMappingURL=projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../src/ucp/projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAI7D;;;;;;;;;GASG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAI,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAK,MAAM,CAAC;CAC7B,CAAC;AAIF;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAE5D;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAEzC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;CAChD,CAAC;AAmCF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,iBAAiB,CAyErE"}
|