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,585 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UCP — UseSteady Control Protocol types.
|
|
3
|
+
*
|
|
4
|
+
* OWNERSHIP RULE: Every decision that flows through UseSteady is representable
|
|
5
|
+
* as a UCPEnvelope. Envelopes are versioned, content-addressed, and hashable.
|
|
6
|
+
*
|
|
7
|
+
* UCPEnvelope is the canonical representation — NOT a transport wrapper.
|
|
8
|
+
* The pipeline is authoritative. Envelopes are a parallel, read-only view.
|
|
9
|
+
*
|
|
10
|
+
* ── Envelope fields ────────────────────────────────────────────────────────
|
|
11
|
+
*
|
|
12
|
+
* id Content-addressed identifier: sha256({ type, payload, refs }).
|
|
13
|
+
* Same content → same id. Does NOT change with ts.
|
|
14
|
+
*
|
|
15
|
+
* type Dot-notation namespaced string: "ucp.intent.v1", "ucp.prv.v1", etc.
|
|
16
|
+
*
|
|
17
|
+
* version Always 1 in this phase.
|
|
18
|
+
*
|
|
19
|
+
* ts Epoch milliseconds. Excluded from id and hash.
|
|
20
|
+
* Records when the envelope was created; does not affect identity.
|
|
21
|
+
*
|
|
22
|
+
* payload The structured result of the relevant pipeline step.
|
|
23
|
+
* Contains ONLY fields present in the source type — no invention.
|
|
24
|
+
*
|
|
25
|
+
* meta Envelope metadata. source = the module that produced this envelope.
|
|
26
|
+
* deterministic is always true in v1 (no random-valued payloads).
|
|
27
|
+
*
|
|
28
|
+
* refs Optional parent/root references for trace chain linkage.
|
|
29
|
+
*
|
|
30
|
+
* hash Integrity hash: sha256 over { id, meta, payload, refs, type, version }.
|
|
31
|
+
* Excludes ts and hash itself.
|
|
32
|
+
*
|
|
33
|
+
* ── PROTOCOL INVARIANT: Payloads must be undefined-free ──────────────────
|
|
34
|
+
*
|
|
35
|
+
* stableStringify (used by computeId) serializes `undefined` as the string
|
|
36
|
+
* "undefined" — it does NOT omit keys with undefined values the way
|
|
37
|
+
* JSON.stringify does. This means:
|
|
38
|
+
*
|
|
39
|
+
* { rejection_reason: undefined } → id contains "rejection_reason":"undefined"
|
|
40
|
+
* { } → id does NOT contain "rejection_reason"
|
|
41
|
+
*
|
|
42
|
+
* These produce DIFFERENT content addresses for otherwise-identical payloads.
|
|
43
|
+
* If the envelope is then persisted via JSON.stringify (which strips undefined
|
|
44
|
+
* keys), the stored record diverges from the id used to index it — breaking
|
|
45
|
+
* the content-addressing guarantee.
|
|
46
|
+
*
|
|
47
|
+
* CONSTRUCTION RULE (enforced by convention, checked in mappers):
|
|
48
|
+
* ✓ Omit optional fields entirely when they are absent.
|
|
49
|
+
* ✓ Use conditional spreading: ...(value !== undefined ? { key: value } : {})
|
|
50
|
+
* ✗ Never assign explicit `undefined` to a payload field.
|
|
51
|
+
* ✗ Never use Object.assign or spread with an object containing undefined values.
|
|
52
|
+
*
|
|
53
|
+
* All mappers in src/ucp/mappers/ must follow this rule.
|
|
54
|
+
* Callers constructing payloads inline must follow this rule.
|
|
55
|
+
*/
|
|
56
|
+
import type { SafetyReason } from "../safety/types.js";
|
|
57
|
+
import type { IntentInterpretationCategory } from "../understand/intent-interpretation/types.js";
|
|
58
|
+
import type { InterpretationCategory } from "../understand/interpretation/types.js";
|
|
59
|
+
import type { IntentState, ResponseMode } from "../intake/types.js";
|
|
60
|
+
import type { ObservedIntentPatterns } from "../interaction/types.js";
|
|
61
|
+
export type UCPType = "ucp.intent.v1" | "ucp.prv.v1" | "ucp.safety.v1" | "ucp.context.v1" | "ucp.disambiguation.v1" | "ucp.completion.v1" | "ucp.intent_interpretation.v1" | "ucp.change_interpretation.v1" | "ucp.response.v1" | "ucp.interaction_contract.v1" | "ucp.interaction_event.v1" | "ucp.debug_trace.v1" | "ucp.artifact.v1" | "ucp.execution_trace.v1" | "ucp.replay_report.v1" | "ucp.reminder_execution.v1" | "ucp.cursor_handoff.v1" | "ucp.cursor_receipt.v1" | "ucp.cursor_refused.v1" | "ucp.claude_handoff.v1" | "ucp.claude_receipt.v1" | "ucp.claude_refused.v1" | "ucp.workflow_run.v1";
|
|
62
|
+
/**
|
|
63
|
+
* @deprecated Use UCPType. UCPKind is kept for backward compatibility only.
|
|
64
|
+
*/
|
|
65
|
+
export type UCPKind = UCPType;
|
|
66
|
+
export type UCPMeta = {
|
|
67
|
+
readonly source: string;
|
|
68
|
+
readonly deterministic: true;
|
|
69
|
+
};
|
|
70
|
+
export type UCPRefs = {
|
|
71
|
+
readonly parentId?: string;
|
|
72
|
+
readonly rootId?: string;
|
|
73
|
+
};
|
|
74
|
+
export type UCPEnvelope<TPayload = unknown> = {
|
|
75
|
+
/**
|
|
76
|
+
* Content-addressed identity: sha256({ type, payload, refs }).
|
|
77
|
+
*
|
|
78
|
+
* Excludes: ts, meta, version, hash.
|
|
79
|
+
* Same content (type + payload + refs) → same id, regardless of wall-clock time
|
|
80
|
+
* or which module emitted the envelope.
|
|
81
|
+
*
|
|
82
|
+
* Use id for: provenance chain links (parentId, rootId), deduplication,
|
|
83
|
+
* content-addressed lookups, and replay verification.
|
|
84
|
+
*/
|
|
85
|
+
readonly id: string;
|
|
86
|
+
/** Dot-notation type identifier, e.g. "ucp.intent.v1". */
|
|
87
|
+
readonly type: UCPType;
|
|
88
|
+
readonly version: 1;
|
|
89
|
+
/**
|
|
90
|
+
* Creation timestamp (epoch ms).
|
|
91
|
+
* Excluded from both id and hash — ts records when, not what.
|
|
92
|
+
*/
|
|
93
|
+
readonly ts: number;
|
|
94
|
+
readonly payload: TPayload;
|
|
95
|
+
readonly meta: UCPMeta;
|
|
96
|
+
readonly refs?: UCPRefs;
|
|
97
|
+
/**
|
|
98
|
+
* Integrity checksum: sha256({ id, meta, payload, refs, type, version }).
|
|
99
|
+
*
|
|
100
|
+
* Excludes: ts, hash itself.
|
|
101
|
+
* Includes meta.source — so two envelopes from different modules with identical
|
|
102
|
+
* content will have the same id but different hash values.
|
|
103
|
+
*
|
|
104
|
+
* Use hash for: tamper detection of a specific persisted envelope record.
|
|
105
|
+
* Do NOT use hash for identity comparisons — use id.
|
|
106
|
+
*
|
|
107
|
+
* id ≠ hash: they are not redundant.
|
|
108
|
+
* id = "what was decided" (content identity, source-agnostic)
|
|
109
|
+
* hash = "does this record match what was produced" (integrity, source-aware)
|
|
110
|
+
*/
|
|
111
|
+
readonly hash: string;
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* IntentPayload — the raw user input before any processing.
|
|
115
|
+
* Source: the raw input string passed to runIntake().
|
|
116
|
+
*/
|
|
117
|
+
export type IntentPayload = {
|
|
118
|
+
readonly input: string;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* PRVPayload — maps exactly from PRVResult (src/prv/types.ts).
|
|
122
|
+
*/
|
|
123
|
+
export type PRVPayload = {
|
|
124
|
+
readonly ok: boolean;
|
|
125
|
+
readonly mode?: "clarify";
|
|
126
|
+
readonly reason?: string;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* SafetyPayload — maps exactly from SafetyResult (src/safety/types.ts).
|
|
130
|
+
* Includes inspection fields detectorId and matchedPattern when available.
|
|
131
|
+
*/
|
|
132
|
+
export type SafetyPayload = {
|
|
133
|
+
readonly verdict: "allow" | "block";
|
|
134
|
+
readonly reason?: SafetyReason;
|
|
135
|
+
readonly detectorId?: string;
|
|
136
|
+
readonly matchedPattern?: string;
|
|
137
|
+
readonly note?: string;
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* ContextAlignmentPayload — maps from ContextAlignmentResult (src/understand/context/types.ts).
|
|
141
|
+
*/
|
|
142
|
+
export type ContextAlignmentPayload = {
|
|
143
|
+
readonly kind: "aligned" | "non_literal" | "hard_mismatch";
|
|
144
|
+
readonly reason?: string;
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* DisambiguationPayload — maps from DisambiguationResult (src/understand/disambiguation/types.ts).
|
|
148
|
+
*/
|
|
149
|
+
export type DisambiguationPayload = {
|
|
150
|
+
readonly kind: "clear" | "ambiguous" | "unknown";
|
|
151
|
+
readonly normalized?: string;
|
|
152
|
+
readonly reason?: string;
|
|
153
|
+
readonly options?: readonly string[];
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* CompletionPayload — maps from CompletionResult (src/understand/completion/types.ts).
|
|
157
|
+
* Includes all three kinds: complete, incomplete, guided_recovery.
|
|
158
|
+
*/
|
|
159
|
+
export type CompletionPayload = {
|
|
160
|
+
readonly kind: "complete" | "incomplete" | "guided_recovery";
|
|
161
|
+
readonly reason?: string;
|
|
162
|
+
readonly missing?: readonly string[];
|
|
163
|
+
readonly nextSteps?: ReadonlyArray<{
|
|
164
|
+
readonly type: "read_first" | "use_exact_format" | "add_missing_field";
|
|
165
|
+
readonly label: string;
|
|
166
|
+
}>;
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* IntentInterpretationPayload — maps from IntentInterpretation
|
|
170
|
+
* (src/understand/intent-interpretation/types.ts).
|
|
171
|
+
* Present only when the Intent Interpretation Bridge fired (bridgeFired === true).
|
|
172
|
+
*/
|
|
173
|
+
export type IntentInterpretationPayload = {
|
|
174
|
+
readonly category: IntentInterpretationCategory;
|
|
175
|
+
readonly summary: string;
|
|
176
|
+
readonly confidence: "high" | "medium" | "low";
|
|
177
|
+
readonly basis: readonly string[];
|
|
178
|
+
};
|
|
179
|
+
/**
|
|
180
|
+
* ChangeInterpretationPayload — maps from InterpretationResult
|
|
181
|
+
* (src/understand/interpretation/types.ts).
|
|
182
|
+
* Present only when mode === "execute" AND the input matched a structured
|
|
183
|
+
* change pattern.
|
|
184
|
+
*/
|
|
185
|
+
export type ChangeInterpretationPayload = {
|
|
186
|
+
readonly summary: string;
|
|
187
|
+
readonly impact: readonly string[];
|
|
188
|
+
readonly confidence: "high" | "medium" | "low";
|
|
189
|
+
readonly category: InterpretationCategory;
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* ResponsePayload — maps from IntakeResult (src/intake/types.ts).
|
|
193
|
+
* The final decision: mode, reason, intent state, and — when present — the
|
|
194
|
+
* ENRICHED guidance (post-enrichGuidance + post-applyGuidanceOrdering).
|
|
195
|
+
*
|
|
196
|
+
* guidance captures the authoritative final form seen by the renderer, not the
|
|
197
|
+
* raw CompletionResult (which lives in CompletionPayload). This distinction is
|
|
198
|
+
* critical: the completion envelope is the intermediate step output; the response
|
|
199
|
+
* envelope is the final user-facing decision including any session adaptations.
|
|
200
|
+
*/
|
|
201
|
+
export type ResponsePayload = {
|
|
202
|
+
readonly mode: ResponseMode;
|
|
203
|
+
readonly reason: string;
|
|
204
|
+
readonly intentState: IntentState;
|
|
205
|
+
/** Enriched, ordering-applied guidance. Only present when mode === "guide". */
|
|
206
|
+
readonly guidance?: {
|
|
207
|
+
readonly missing: ReadonlyArray<string>;
|
|
208
|
+
readonly nextSteps: ReadonlyArray<{
|
|
209
|
+
readonly type: string;
|
|
210
|
+
readonly label: string;
|
|
211
|
+
}>;
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* InteractionContractPayload — maps from InteractionContract (src/interaction/types.ts).
|
|
216
|
+
*/
|
|
217
|
+
export type InteractionContractPayload = {
|
|
218
|
+
readonly subjectId: string;
|
|
219
|
+
readonly ambiguityMode: "conservative" | "balanced" | "fast";
|
|
220
|
+
readonly explanationMode: "plain_first" | "technical_first" | "mixed";
|
|
221
|
+
readonly unsupportedGuidanceMode: "syntax_first" | "examples_first" | "stepwise";
|
|
222
|
+
readonly observedIntentPatterns: ObservedIntentPatterns;
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* InteractionEventPayload — maps from InteractionEvent (src/interaction/types.ts).
|
|
226
|
+
*/
|
|
227
|
+
export type InteractionEventPayload = {
|
|
228
|
+
readonly type: "misinterpretation_corrected" | "unsupported_recovered" | "color_intent_observed" | "text_intent_observed" | "config_intent_observed";
|
|
229
|
+
readonly recoveryStyle?: "syntax_hint" | "example_used" | "stepwise_followed";
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* DebugTracePayload — maps exactly from DebugTrace (src/intake/trace.ts).
|
|
233
|
+
* Zero-authority: recorded for observability only.
|
|
234
|
+
*/
|
|
235
|
+
export type DebugTracePayload = {
|
|
236
|
+
readonly prvPassed: boolean;
|
|
237
|
+
readonly safetyVerdict: "allow" | "block" | "not_reached";
|
|
238
|
+
readonly contextKind: "aligned" | "non_literal" | "hard_mismatch" | "not_reached";
|
|
239
|
+
readonly disambigKind: "clear" | "ambiguous" | "unknown" | "not_reached";
|
|
240
|
+
readonly completionKind: "complete" | "incomplete" | "guided_recovery" | "not_reached";
|
|
241
|
+
readonly bridgeFired: boolean;
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* ArtifactPayload — maps from any FinalizedArtifact-compatible type via ArtifactLike.
|
|
245
|
+
*
|
|
246
|
+
* Lightweight identity record. Does NOT copy nodes[], trace[], lineage, or
|
|
247
|
+
* explainSummary. Full artifact data lives in the artifact file.
|
|
248
|
+
*
|
|
249
|
+
* CONTRACT: artifact.checksum is copied as-is — NEVER recomputed here.
|
|
250
|
+
* UCP wraps the existing artifact checksum; it does not replace or compete with it.
|
|
251
|
+
*/
|
|
252
|
+
export type ArtifactPayload = {
|
|
253
|
+
/** FinalizedArtifact.runId */
|
|
254
|
+
readonly runId: string;
|
|
255
|
+
/** FinalizedArtifact.goal */
|
|
256
|
+
readonly goal: string;
|
|
257
|
+
/** FinalizedArtifact.status */
|
|
258
|
+
readonly status: "COMPLETED" | "FAILED" | "DENIED";
|
|
259
|
+
/** FinalizedArtifact.checksum — the existing immutable artifact SHA-256. NOT recomputed. */
|
|
260
|
+
readonly checksum: string;
|
|
261
|
+
/** FinalizedArtifact.graph.checksum — the compiled graph SHA-256 */
|
|
262
|
+
readonly graphChecksum: string;
|
|
263
|
+
/** FinalizedArtifact.nodes.length — total node count, not the full node list */
|
|
264
|
+
readonly nodeCount: number;
|
|
265
|
+
/** FinalizedArtifact.startedAtMs */
|
|
266
|
+
readonly startedAtMs: number;
|
|
267
|
+
/** FinalizedArtifact.completedAtMs */
|
|
268
|
+
readonly completedAtMs: number;
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* ExecutionTracePayload — maps from FinalizedArtifact.trace[] (batch envelope).
|
|
272
|
+
*
|
|
273
|
+
* Seals the full execution timeline for one run as a lightweight identity record.
|
|
274
|
+
* Individual trace entries are not copied — they are represented by traceHash.
|
|
275
|
+
*
|
|
276
|
+
* traceHash specification (5 locked rules):
|
|
277
|
+
* 1. Ordering: recorded/append order — same as artifact.trace[] array order
|
|
278
|
+
* 2. Included: ALL TraceEntry fields (kind, runId, nodeId, timestampMs, payload)
|
|
279
|
+
* 3. Excluded: none — no derived summaries or presentation fields added/removed
|
|
280
|
+
* 4. Timestamps: timestampMs IS included — two runs at different times produce
|
|
281
|
+
* different traceHash values (correct: each trace is a specific execution)
|
|
282
|
+
* 5. Serialization: stableStringify() — sorted keys at all nesting levels, same algorithm
|
|
283
|
+
* as FinalizedArtifact.checksum computation
|
|
284
|
+
*
|
|
285
|
+
* Consequence: traceHash is unique per run. That is correct and expected.
|
|
286
|
+
*/
|
|
287
|
+
export type ExecutionTracePayload = {
|
|
288
|
+
/** FinalizedArtifact.runId (same as artifact envelope) */
|
|
289
|
+
readonly runId: string;
|
|
290
|
+
/** FinalizedArtifact.trace.length — total entry count */
|
|
291
|
+
readonly entryCount: number;
|
|
292
|
+
/** Ordered TraceEntryKind strings in recorded sequence */
|
|
293
|
+
readonly kinds: ReadonlyArray<string>;
|
|
294
|
+
/** SHA-256 of stableStringify(artifact.trace) — per locked spec above */
|
|
295
|
+
readonly traceHash: string;
|
|
296
|
+
};
|
|
297
|
+
/**
|
|
298
|
+
* ReplayReportPayload — maps from any ReplayReport-compatible type via ReplayReportLike.
|
|
299
|
+
*
|
|
300
|
+
* A mirror of the replay verification outcome, not an interpretation of it.
|
|
301
|
+
* The mapper derives count fields from nodeResults but adds no new conclusions.
|
|
302
|
+
*
|
|
303
|
+
* ── Node-level verdict states (3, exhaustive) ─────────────────────────────────
|
|
304
|
+
* "VERIFIED" node re-executed and output matched
|
|
305
|
+
* "DRIFTED" node re-executed and output differed (environment changed)
|
|
306
|
+
* "SKIPPED" node skipped (write-only commands: fs.apply_patch, git.commit, etc.)
|
|
307
|
+
*
|
|
308
|
+
* ── Run-level verdict states (4, derived from node results) ───────────────────
|
|
309
|
+
* "VERIFIED" checksumValid AND at least one VERIFIED, none DRIFTED
|
|
310
|
+
* "DRIFTED" checksumValid AND at least one DRIFTED
|
|
311
|
+
* "PARTIAL" checksumValid AND all nodes SKIPPED (allSkipped)
|
|
312
|
+
* "CORRUPTED" checksumValid === false → short-circuits before drift detection
|
|
313
|
+
* nodeResults is [] (empty) — all counts are 0
|
|
314
|
+
*
|
|
315
|
+
* ── CORRUPTED behavior ────────────────────────────────────────────────────────
|
|
316
|
+
* When verdict === "CORRUPTED":
|
|
317
|
+
* nodeCount = 0
|
|
318
|
+
* verifiedCount = 0
|
|
319
|
+
* driftedCount = 0
|
|
320
|
+
* skippedCount = 0
|
|
321
|
+
* This is not partial — it is an invalid baseline (artifact tampered with).
|
|
322
|
+
*
|
|
323
|
+
* ── Exhaustiveness invariant ──────────────────────────────────────────────────
|
|
324
|
+
* For all non-CORRUPTED reports:
|
|
325
|
+
* verifiedCount + driftedCount + skippedCount === nodeCount
|
|
326
|
+
*
|
|
327
|
+
* ── What this payload does NOT contain ────────────────────────────────────────
|
|
328
|
+
* No per-node driftField / driftExpected / driftActual details.
|
|
329
|
+
* Those live in the native ReplayReport.nodeResults[].
|
|
330
|
+
* The envelope carries the summary signal only.
|
|
331
|
+
*/
|
|
332
|
+
export type ReplayReportPayload = {
|
|
333
|
+
/** ReplayReport.runId */
|
|
334
|
+
readonly runId: string;
|
|
335
|
+
/** ReplayReport.verdict — run-level outcome */
|
|
336
|
+
readonly verdict: "VERIFIED" | "DRIFTED" | "CORRUPTED" | "PARTIAL";
|
|
337
|
+
/** ReplayReport.checksumValid — false when artifact was tampered with */
|
|
338
|
+
readonly checksumValid: boolean;
|
|
339
|
+
/** ReplayReport.artifactChecksum — the artifact hash that was verified */
|
|
340
|
+
readonly artifactChecksum: string;
|
|
341
|
+
/** ReplayReport.nodeResults.length — always 0 when verdict === "CORRUPTED" */
|
|
342
|
+
readonly nodeCount: number;
|
|
343
|
+
/** Count of nodes with verdict "VERIFIED". 0 when CORRUPTED (nodeResults is []). */
|
|
344
|
+
readonly verifiedCount: number;
|
|
345
|
+
/** Count of nodes with verdict "DRIFTED". 0 when CORRUPTED. */
|
|
346
|
+
readonly driftedCount: number;
|
|
347
|
+
/** Count of nodes with verdict "SKIPPED". Equals nodeCount when verdict === "PARTIAL". */
|
|
348
|
+
readonly skippedCount: number;
|
|
349
|
+
/** ReplayReport.replayedAtMs */
|
|
350
|
+
readonly replayedAtMs: number;
|
|
351
|
+
};
|
|
352
|
+
/**
|
|
353
|
+
* ReminderExecutionPayload — maps from ReminderExecutionArtifact
|
|
354
|
+
* (src/execution/reminders/reminder-execution-types.ts).
|
|
355
|
+
*
|
|
356
|
+
* ── Field selection rationale ─────────────────────────────────────────────────
|
|
357
|
+
*
|
|
358
|
+
* subject — the validated reminder task
|
|
359
|
+
* time_text — the original time phrase (mapper faithfulness)
|
|
360
|
+
* parsed_time_kind — the structural parse result kind ONLY, not the full
|
|
361
|
+
* ParsedTime struct. The envelope records the classification
|
|
362
|
+
* outcome (was time parseable, and of what shape?), not a
|
|
363
|
+
* full scheduler-ready temporal model. Full ParsedTime lives
|
|
364
|
+
* in the artifact for downstream integrations.
|
|
365
|
+
* recurrence_text — recurrence phrase or null
|
|
366
|
+
* source_confidence — from the presentation; part of why accepted/rejected
|
|
367
|
+
* verdict — accepted or rejected
|
|
368
|
+
* rejection_reason — present when rejected; includes ParsedTime.reason detail
|
|
369
|
+
* for time_unresolvable cases
|
|
370
|
+
*
|
|
371
|
+
* ── What this payload does NOT contain ────────────────────────────────────────
|
|
372
|
+
*
|
|
373
|
+
* No full ParsedTime object (hour/minute/period/offset_minutes).
|
|
374
|
+
* Those fields live in the artifact file for schedulers that need them.
|
|
375
|
+
* The envelope carries the summary signal: was it accepted, and what shape?
|
|
376
|
+
*/
|
|
377
|
+
export type ReminderExecutionPayload = {
|
|
378
|
+
readonly subject: string;
|
|
379
|
+
readonly time_text: string;
|
|
380
|
+
/** ParsedTime.kind — structural classification of the time phrase. */
|
|
381
|
+
readonly parsed_time_kind: "time_of_day" | "relative_offset" | "day_with_time" | "unresolvable";
|
|
382
|
+
readonly recurrence_text: string | null;
|
|
383
|
+
readonly source_confidence: "explicit" | "partial" | "ambiguous";
|
|
384
|
+
readonly verdict: "accepted" | "rejected";
|
|
385
|
+
readonly rejection_reason?: string;
|
|
386
|
+
};
|
|
387
|
+
/**
|
|
388
|
+
* CursorHandoffPayload — persisted by the delivery gate BEFORE the artifact
|
|
389
|
+
* is passed to Cursor. This is the hard persistence gate: if it fails, delivery
|
|
390
|
+
* is blocked.
|
|
391
|
+
*
|
|
392
|
+
* CONSTRUCTION RULE: undefined-free payloads (see protocol invariant above).
|
|
393
|
+
* All optional fields must be omitted entirely when absent.
|
|
394
|
+
*
|
|
395
|
+
* ── Chain position ─────────────────────────────────────────────────────────────
|
|
396
|
+
*
|
|
397
|
+
* ucp.intent.v1 → ucp.response.v1 → ucp.cursor_handoff.v1
|
|
398
|
+
* → ucp.cursor_receipt.v1 → [ucp.cursor_artifact.v1 — reserved future slot]
|
|
399
|
+
* → ucp.execution_trace.v1 → ucp.replay_report.v1
|
|
400
|
+
*
|
|
401
|
+
* ── Field selection rationale ──────────────────────────────────────────────────
|
|
402
|
+
*
|
|
403
|
+
* eligibility — always "approved_for_cursor"; delivery gate enforces this
|
|
404
|
+
* ocdStatus — "cleared" or "conflict_accepted"; never "conflict_detected"
|
|
405
|
+
* rulesFired — audit: which OCD rules were evaluated
|
|
406
|
+
* changeCategory — what kind of edit Cursor was handed
|
|
407
|
+
* scopeAllowedFiles — snapshot of the approved file set at delivery time
|
|
408
|
+
* confirmedByHuman — invariant: always true; H must have confirmed
|
|
409
|
+
* confirmedAt — epoch ms of H's confirmation
|
|
410
|
+
*/
|
|
411
|
+
export type CursorHandoffPayload = {
|
|
412
|
+
readonly intentId: string;
|
|
413
|
+
readonly responseId: string;
|
|
414
|
+
readonly eligibility: "approved_for_cursor";
|
|
415
|
+
readonly ocdStatus: "cleared" | "conflict_accepted";
|
|
416
|
+
readonly rulesFired: readonly string[];
|
|
417
|
+
readonly changeCategory: string;
|
|
418
|
+
readonly scopeAllowedFiles: readonly string[];
|
|
419
|
+
readonly confirmedByHuman: true;
|
|
420
|
+
readonly confirmedAt: number;
|
|
421
|
+
};
|
|
422
|
+
/**
|
|
423
|
+
* CursorReceiptPayload — persisted by the delivery gate AFTER Cursor responds
|
|
424
|
+
* with kind: "accepted". Records that Cursor took ownership.
|
|
425
|
+
*
|
|
426
|
+
* CONSTRUCTION RULE: undefined-free payloads.
|
|
427
|
+
*
|
|
428
|
+
* refs.parentId = ucp.cursor_handoff.v1 id.
|
|
429
|
+
*/
|
|
430
|
+
export type CursorReceiptPayload = {
|
|
431
|
+
readonly deliveryId: string;
|
|
432
|
+
readonly handoffId: string;
|
|
433
|
+
readonly artifactId: string;
|
|
434
|
+
readonly receivedAt: number;
|
|
435
|
+
};
|
|
436
|
+
/**
|
|
437
|
+
* CursorRefusedPayload — persisted by the delivery gate when Cursor responds
|
|
438
|
+
* with kind: "refused_due_to_scope" or "refused_due_to_execution_error".
|
|
439
|
+
*
|
|
440
|
+
* CONSTRUCTION RULE: undefined-free payloads.
|
|
441
|
+
* Scope-specific fields (scopeQuestionKind, scopeCandidates, scopeSearchedFor)
|
|
442
|
+
* are present only when refusalKind === "refused_due_to_scope".
|
|
443
|
+
* errorCode is present only when refusalKind === "refused_due_to_execution_error".
|
|
444
|
+
*
|
|
445
|
+
* refs.parentId = ucp.cursor_handoff.v1 id.
|
|
446
|
+
*/
|
|
447
|
+
export type CursorRefusedPayload = {
|
|
448
|
+
readonly deliveryId: string;
|
|
449
|
+
readonly handoffId: string;
|
|
450
|
+
readonly artifactId: string;
|
|
451
|
+
readonly receivedAt: number;
|
|
452
|
+
readonly refusalKind: "refused_due_to_scope" | "refused_due_to_execution_error";
|
|
453
|
+
readonly scopeQuestionKind?: "need_file_path" | "need_scope_selection" | "ambiguous_old_value";
|
|
454
|
+
readonly scopeCandidates?: readonly string[];
|
|
455
|
+
readonly scopeSearchedFor?: string;
|
|
456
|
+
readonly errorCode?: string;
|
|
457
|
+
};
|
|
458
|
+
/**
|
|
459
|
+
* ClaudeHandoffPayload — persisted by the delivery gate BEFORE the artifact
|
|
460
|
+
* is passed to Claude Managed Agents. This is the hard persistence gate.
|
|
461
|
+
*
|
|
462
|
+
* CONSTRUCTION RULE: undefined-free payloads.
|
|
463
|
+
*
|
|
464
|
+
* ── Chain position ────────────────────────────────────────────────────────────
|
|
465
|
+
*
|
|
466
|
+
* ucp.intent.v1 → ucp.response.v1 → ucp.claude_handoff.v1
|
|
467
|
+
* → ucp.claude_receipt.v1 → [ucp.claude_result.v1 — reserved future slot]
|
|
468
|
+
*
|
|
469
|
+
* confirmedByHuman — invariant: always true; H must have confirmed
|
|
470
|
+
* confirmedAt — epoch ms of H's confirmation
|
|
471
|
+
*/
|
|
472
|
+
export type ClaudeHandoffPayload = {
|
|
473
|
+
readonly intentId: string;
|
|
474
|
+
readonly responseId: string;
|
|
475
|
+
readonly eligibility: "approved_for_agent";
|
|
476
|
+
readonly ocdClearance: "clear" | "conflict_accepted";
|
|
477
|
+
readonly executionDomain: string;
|
|
478
|
+
readonly allowedFiles: readonly string[];
|
|
479
|
+
readonly allowedTools: readonly string[];
|
|
480
|
+
readonly confirmedByHuman: true;
|
|
481
|
+
readonly confirmedAt: number;
|
|
482
|
+
};
|
|
483
|
+
/**
|
|
484
|
+
* ClaudeReceiptPayload — persisted by the delivery gate AFTER Claude responds
|
|
485
|
+
* with kind: "accepted". Records that Claude started a managed session.
|
|
486
|
+
*
|
|
487
|
+
* sessionId — the Anthropic managed agent session ID.
|
|
488
|
+
* NOT resumable in V1 (A3). If interrupted, maps to execution error.
|
|
489
|
+
*
|
|
490
|
+
* CONSTRUCTION RULE: undefined-free payloads.
|
|
491
|
+
* refs.parentId = ucp.claude_handoff.v1 id.
|
|
492
|
+
*/
|
|
493
|
+
export type ClaudeReceiptPayload = {
|
|
494
|
+
readonly deliveryId: string;
|
|
495
|
+
readonly handoffId: string;
|
|
496
|
+
readonly artifactId: string;
|
|
497
|
+
readonly sessionId: string;
|
|
498
|
+
readonly receivedAt: number;
|
|
499
|
+
};
|
|
500
|
+
/**
|
|
501
|
+
* ClaudeRefusedPayload — persisted by the delivery gate when Claude responds
|
|
502
|
+
* with kind: "refused_due_to_scope" or "refused_due_to_execution_error".
|
|
503
|
+
*
|
|
504
|
+
* CONSTRUCTION RULE: undefined-free payloads.
|
|
505
|
+
* Scope-specific fields are present only when refusalKind === "refused_due_to_scope".
|
|
506
|
+
* errorCode is present only when refusalKind === "refused_due_to_execution_error".
|
|
507
|
+
*
|
|
508
|
+
* refs.parentId = ucp.claude_handoff.v1 id.
|
|
509
|
+
*/
|
|
510
|
+
export type ClaudeRefusedPayload = {
|
|
511
|
+
readonly deliveryId: string;
|
|
512
|
+
readonly handoffId: string;
|
|
513
|
+
readonly artifactId: string;
|
|
514
|
+
readonly receivedAt: number;
|
|
515
|
+
readonly refusalKind: "refused_due_to_scope" | "refused_due_to_execution_error";
|
|
516
|
+
readonly scopeQuestionKind?: "need_file_path" | "need_scope_selection" | "need_tool_permission" | "ambiguous_old_value";
|
|
517
|
+
readonly scopeCandidates?: readonly string[];
|
|
518
|
+
readonly errorCode?: string;
|
|
519
|
+
};
|
|
520
|
+
/**
|
|
521
|
+
* WorkflowRunPayload — the terminal record for a complete workflow run.
|
|
522
|
+
*
|
|
523
|
+
* Persisted ONLY when the workflow reaches "completed" or "stopped" (W5).
|
|
524
|
+
* Not written for in-progress runs.
|
|
525
|
+
*
|
|
526
|
+
* Acts as a provenance index: sessionRefs links this envelope to every
|
|
527
|
+
* individual session's UCP chain (intent + response + handoff/receipt/refused).
|
|
528
|
+
*
|
|
529
|
+
* CONSTRUCTION RULE: undefined-free payloads.
|
|
530
|
+
* sessionRefs entries omit intentId / responseId when absent.
|
|
531
|
+
*/
|
|
532
|
+
export type WorkflowRunPayload = {
|
|
533
|
+
readonly workflowRunId: string;
|
|
534
|
+
readonly workflowName: string;
|
|
535
|
+
readonly finalOutcome: "completed" | "stopped";
|
|
536
|
+
readonly taskCount: number;
|
|
537
|
+
readonly acceptedCount: number;
|
|
538
|
+
readonly skippedCount: number;
|
|
539
|
+
/**
|
|
540
|
+
* Task input strings from spec, ordered by task index (0-based).
|
|
541
|
+
*
|
|
542
|
+
* Allows the history read model to display the original task input for every
|
|
543
|
+
* task without requiring session-chain resolution (D5 fix from Phase 10A).
|
|
544
|
+
*
|
|
545
|
+
* V1.0 records written before Phase 10B do not have this field.
|
|
546
|
+
* Consumers must treat absent / undefined as [].
|
|
547
|
+
*/
|
|
548
|
+
readonly taskInputs: readonly string[];
|
|
549
|
+
/**
|
|
550
|
+
* Per-task session reference records.
|
|
551
|
+
* Only tasks that ran (outcome !== "pending") are included.
|
|
552
|
+
* Links back to individual session UCP chains via intentId / responseId.
|
|
553
|
+
*/
|
|
554
|
+
readonly sessionRefs: readonly {
|
|
555
|
+
readonly taskIndex: number;
|
|
556
|
+
readonly outcome: "accepted" | "skipped" | "skipped_by_intake" | "stopped" | "rejected";
|
|
557
|
+
readonly retryCount: number;
|
|
558
|
+
readonly intentId?: string;
|
|
559
|
+
readonly responseId?: string;
|
|
560
|
+
}[];
|
|
561
|
+
};
|
|
562
|
+
export type IntentEnvelope = UCPEnvelope<IntentPayload>;
|
|
563
|
+
export type PRVEnvelope = UCPEnvelope<PRVPayload>;
|
|
564
|
+
export type SafetyEnvelope = UCPEnvelope<SafetyPayload>;
|
|
565
|
+
export type ContextAlignmentEnvelope = UCPEnvelope<ContextAlignmentPayload>;
|
|
566
|
+
export type DisambiguationEnvelope = UCPEnvelope<DisambiguationPayload>;
|
|
567
|
+
export type CompletionEnvelope = UCPEnvelope<CompletionPayload>;
|
|
568
|
+
export type IntentInterpretationEnvelope = UCPEnvelope<IntentInterpretationPayload>;
|
|
569
|
+
export type ChangeInterpretationEnvelope = UCPEnvelope<ChangeInterpretationPayload>;
|
|
570
|
+
export type ResponseEnvelope = UCPEnvelope<ResponsePayload>;
|
|
571
|
+
export type InteractionContractEnvelope = UCPEnvelope<InteractionContractPayload>;
|
|
572
|
+
export type InteractionEventEnvelope = UCPEnvelope<InteractionEventPayload>;
|
|
573
|
+
export type DebugTraceEnvelope = UCPEnvelope<DebugTracePayload>;
|
|
574
|
+
export type ArtifactEnvelope = UCPEnvelope<ArtifactPayload>;
|
|
575
|
+
export type ExecutionTraceEnvelope = UCPEnvelope<ExecutionTracePayload>;
|
|
576
|
+
export type ReplayReportEnvelope = UCPEnvelope<ReplayReportPayload>;
|
|
577
|
+
export type ReminderExecutionEnvelope = UCPEnvelope<ReminderExecutionPayload>;
|
|
578
|
+
export type CursorHandoffEnvelope = UCPEnvelope<CursorHandoffPayload>;
|
|
579
|
+
export type CursorReceiptEnvelope = UCPEnvelope<CursorReceiptPayload>;
|
|
580
|
+
export type CursorRefusedEnvelope = UCPEnvelope<CursorRefusedPayload>;
|
|
581
|
+
export type ClaudeHandoffEnvelope = UCPEnvelope<ClaudeHandoffPayload>;
|
|
582
|
+
export type ClaudeReceiptEnvelope = UCPEnvelope<ClaudeReceiptPayload>;
|
|
583
|
+
export type ClaudeRefusedEnvelope = UCPEnvelope<ClaudeRefusedPayload>;
|
|
584
|
+
export type WorkflowRunEnvelope = UCPEnvelope<WorkflowRunPayload>;
|
|
585
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ucp/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UCP — UseSteady Control Protocol types.
|
|
3
|
+
*
|
|
4
|
+
* OWNERSHIP RULE: Every decision that flows through UseSteady is representable
|
|
5
|
+
* as a UCPEnvelope. Envelopes are versioned, content-addressed, and hashable.
|
|
6
|
+
*
|
|
7
|
+
* UCPEnvelope is the canonical representation — NOT a transport wrapper.
|
|
8
|
+
* The pipeline is authoritative. Envelopes are a parallel, read-only view.
|
|
9
|
+
*
|
|
10
|
+
* ── Envelope fields ────────────────────────────────────────────────────────
|
|
11
|
+
*
|
|
12
|
+
* id Content-addressed identifier: sha256({ type, payload, refs }).
|
|
13
|
+
* Same content → same id. Does NOT change with ts.
|
|
14
|
+
*
|
|
15
|
+
* type Dot-notation namespaced string: "ucp.intent.v1", "ucp.prv.v1", etc.
|
|
16
|
+
*
|
|
17
|
+
* version Always 1 in this phase.
|
|
18
|
+
*
|
|
19
|
+
* ts Epoch milliseconds. Excluded from id and hash.
|
|
20
|
+
* Records when the envelope was created; does not affect identity.
|
|
21
|
+
*
|
|
22
|
+
* payload The structured result of the relevant pipeline step.
|
|
23
|
+
* Contains ONLY fields present in the source type — no invention.
|
|
24
|
+
*
|
|
25
|
+
* meta Envelope metadata. source = the module that produced this envelope.
|
|
26
|
+
* deterministic is always true in v1 (no random-valued payloads).
|
|
27
|
+
*
|
|
28
|
+
* refs Optional parent/root references for trace chain linkage.
|
|
29
|
+
*
|
|
30
|
+
* hash Integrity hash: sha256 over { id, meta, payload, refs, type, version }.
|
|
31
|
+
* Excludes ts and hash itself.
|
|
32
|
+
*
|
|
33
|
+
* ── PROTOCOL INVARIANT: Payloads must be undefined-free ──────────────────
|
|
34
|
+
*
|
|
35
|
+
* stableStringify (used by computeId) serializes `undefined` as the string
|
|
36
|
+
* "undefined" — it does NOT omit keys with undefined values the way
|
|
37
|
+
* JSON.stringify does. This means:
|
|
38
|
+
*
|
|
39
|
+
* { rejection_reason: undefined } → id contains "rejection_reason":"undefined"
|
|
40
|
+
* { } → id does NOT contain "rejection_reason"
|
|
41
|
+
*
|
|
42
|
+
* These produce DIFFERENT content addresses for otherwise-identical payloads.
|
|
43
|
+
* If the envelope is then persisted via JSON.stringify (which strips undefined
|
|
44
|
+
* keys), the stored record diverges from the id used to index it — breaking
|
|
45
|
+
* the content-addressing guarantee.
|
|
46
|
+
*
|
|
47
|
+
* CONSTRUCTION RULE (enforced by convention, checked in mappers):
|
|
48
|
+
* ✓ Omit optional fields entirely when they are absent.
|
|
49
|
+
* ✓ Use conditional spreading: ...(value !== undefined ? { key: value } : {})
|
|
50
|
+
* ✗ Never assign explicit `undefined` to a payload field.
|
|
51
|
+
* ✗ Never use Object.assign or spread with an object containing undefined values.
|
|
52
|
+
*
|
|
53
|
+
* All mappers in src/ucp/mappers/ must follow this rule.
|
|
54
|
+
* Callers constructing payloads inline must follow this rule.
|
|
55
|
+
*/
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ucp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG"}
|