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,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Control Visibility Evaluator — Phase 5B.
|
|
3
|
+
*
|
|
4
|
+
* ── Responsibility ────────────────────────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* Pure mapping from presentation state → ControlVisibilityResult.
|
|
7
|
+
*
|
|
8
|
+
* No inference. No guessing. No logic authority.
|
|
9
|
+
* Every mapping is an explicit, deterministic read of existing state.
|
|
10
|
+
*
|
|
11
|
+
* ── What this does NOT do ─────────────────────────────────────────────────────
|
|
12
|
+
*
|
|
13
|
+
* Does NOT call intake, execution, or UCP
|
|
14
|
+
* Does NOT derive new decisions from the presentation
|
|
15
|
+
* Does NOT change any output shape
|
|
16
|
+
* Does NOT produce side effects
|
|
17
|
+
*
|
|
18
|
+
* ── Locked rules (permanent — see docs/cvg-baseline.md) ─────────────────────
|
|
19
|
+
*
|
|
20
|
+
* C1 — CVG is derived only from existing presentation state.
|
|
21
|
+
* No re-evaluation. No classification. No inference. Pure mapping.
|
|
22
|
+
*
|
|
23
|
+
* C2 — CVG may assert, but never route.
|
|
24
|
+
* This function returns a result. It never changes what the caller returns.
|
|
25
|
+
*
|
|
26
|
+
* C4 — Any new presentation family must extend ControlVisibilityInput here,
|
|
27
|
+
* add a mapping case below, and pass all uniqueness/invariant tests.
|
|
28
|
+
* Exhaustive switch required — no default fallthrough.
|
|
29
|
+
*
|
|
30
|
+
* ── Signal mapping summary ────────────────────────────────────────────────────
|
|
31
|
+
*
|
|
32
|
+
* reminder_presentation:
|
|
33
|
+
* ready_to_confirm → signal: "ready_to_confirm", level: "normal"
|
|
34
|
+
* needs_time → signal: "not_ready", level: "blocking"
|
|
35
|
+
* needs_subject → signal: "not_ready", level: "blocking"
|
|
36
|
+
* ambiguous → signal: "ambiguous", level: "attention"
|
|
37
|
+
*
|
|
38
|
+
* intake_presentation (by mode):
|
|
39
|
+
* execute → signal: "ready_to_confirm", level: "normal"
|
|
40
|
+
* guide → signal: "not_ready", level: "blocking"
|
|
41
|
+
* clarify → signal: "ambiguous", level: "attention"
|
|
42
|
+
* refuse → signal: "refused_execution", level: "blocking"
|
|
43
|
+
* ignore → signal: "not_ready", level: "blocking"
|
|
44
|
+
*
|
|
45
|
+
* cursor_preparation:
|
|
46
|
+
* ready_for_confirmation → signal: "ready_to_confirm", level: "normal"
|
|
47
|
+
* conflict_detected → signal: "conflict_detected", level: "blocking"
|
|
48
|
+
* not_execute → signal: "not_ready", level: "blocking"
|
|
49
|
+
*
|
|
50
|
+
* cursor_execution:
|
|
51
|
+
* accepted → signal: "ready_to_confirm", level: "normal"
|
|
52
|
+
* refused_due_to_scope → signal: "refused_scope", level: "blocking"
|
|
53
|
+
* refused_due_to_execution_error → signal: "refused_execution", level: "blocking"
|
|
54
|
+
* blocked_ineligible → signal: "refused_execution", level: "blocking"
|
|
55
|
+
* blocked_persistence_failure → signal: "refused_execution", level: "blocking"
|
|
56
|
+
*/
|
|
57
|
+
// ─── Public API ───────────────────────────────────────────────────────────────
|
|
58
|
+
/**
|
|
59
|
+
* Evaluate the control visibility for a given presentation input.
|
|
60
|
+
*
|
|
61
|
+
* Pure function. No side effects. No inference. Deterministic.
|
|
62
|
+
*
|
|
63
|
+
* @param input A ControlVisibilityInput discriminated union arm.
|
|
64
|
+
* @returns A ControlVisibilityResult characterizing the authority level.
|
|
65
|
+
*/
|
|
66
|
+
// ─── Signal mapping summary addendum (Phase 5D) ──────────────────────────────
|
|
67
|
+
//
|
|
68
|
+
// intake_provisionally_executable:
|
|
69
|
+
// → signal: "provisionally_executable", level: "attention"
|
|
70
|
+
// → must_block_confirm: false (does not hard-block)
|
|
71
|
+
// → must_surface: true (H must see the warning)
|
|
72
|
+
// → must_differentiate: true
|
|
73
|
+
//
|
|
74
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
75
|
+
export function evaluateControlVisibility(input) {
|
|
76
|
+
switch (input.kind) {
|
|
77
|
+
case "reminder_presentation":
|
|
78
|
+
return fromReminderState(input.presentation.state);
|
|
79
|
+
case "intake_presentation":
|
|
80
|
+
return fromIntakeMode(input.presentation.mode);
|
|
81
|
+
case "cursor_preparation":
|
|
82
|
+
return fromCursorPreparation(input.result.kind);
|
|
83
|
+
case "cursor_execution":
|
|
84
|
+
return fromCursorExecution(input.result.kind);
|
|
85
|
+
case "intake_provisionally_executable":
|
|
86
|
+
// Phase 5D — structurally executable but downstream policy block likely.
|
|
87
|
+
// attention level: must surface, must NOT hard-block confirm.
|
|
88
|
+
return build("provisionally_executable", "attention");
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// ─── Internal mappers ─────────────────────────────────────────────────────────
|
|
92
|
+
function fromReminderState(state) {
|
|
93
|
+
switch (state) {
|
|
94
|
+
case "ready_to_confirm": return build("ready_to_confirm", "normal");
|
|
95
|
+
case "needs_time": return build("not_ready", "blocking");
|
|
96
|
+
case "needs_subject": return build("not_ready", "blocking");
|
|
97
|
+
case "ambiguous": return build("ambiguous", "attention");
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function fromIntakeMode(mode) {
|
|
101
|
+
switch (mode) {
|
|
102
|
+
case "execute": return build("ready_to_confirm", "normal");
|
|
103
|
+
case "guide": return build("not_ready", "blocking");
|
|
104
|
+
case "clarify": return build("ambiguous", "attention");
|
|
105
|
+
case "refuse": return build("refused_execution", "blocking");
|
|
106
|
+
case "ignore": return build("not_ready", "blocking");
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function fromCursorPreparation(kind) {
|
|
110
|
+
switch (kind) {
|
|
111
|
+
case "ready_for_confirmation": return build("ready_to_confirm", "normal");
|
|
112
|
+
case "conflict_detected": return build("conflict_detected", "blocking");
|
|
113
|
+
case "not_execute": return build("not_ready", "blocking");
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function fromCursorExecution(kind) {
|
|
117
|
+
switch (kind) {
|
|
118
|
+
case "accepted": return build("ready_to_confirm", "normal");
|
|
119
|
+
case "refused_due_to_scope": return build("refused_scope", "blocking");
|
|
120
|
+
case "refused_due_to_execution_error": return build("refused_execution", "blocking");
|
|
121
|
+
case "blocked_ineligible": return build("refused_execution", "blocking");
|
|
122
|
+
case "blocked_persistence_failure": return build("refused_execution", "blocking");
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// ─── Result builder ───────────────────────────────────────────────────────────
|
|
126
|
+
/**
|
|
127
|
+
* Derive the three boolean flags from level.
|
|
128
|
+
*
|
|
129
|
+
* blocking: must_block_confirm=true, must_surface=true, must_differentiate=true
|
|
130
|
+
* attention: must_block_confirm=false, must_surface=true, must_differentiate=true
|
|
131
|
+
* normal: must_block_confirm=false, must_surface=false, must_differentiate=true
|
|
132
|
+
*
|
|
133
|
+
* Higher-authority signals subsume lower-authority flags.
|
|
134
|
+
* must_differentiate is always true — no two levels may be visually equivalent.
|
|
135
|
+
*/
|
|
136
|
+
function build(signal, level) {
|
|
137
|
+
switch (level) {
|
|
138
|
+
case "blocking":
|
|
139
|
+
return { level, signal, must_block_confirm: true, must_surface: true, must_differentiate: true };
|
|
140
|
+
case "attention":
|
|
141
|
+
return { level, signal, must_block_confirm: false, must_surface: true, must_differentiate: true };
|
|
142
|
+
case "normal":
|
|
143
|
+
return { level, signal, must_block_confirm: false, must_surface: false, must_differentiate: true };
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=control-visibility-evaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-visibility-evaluator.js","sourceRoot":"","sources":["../../../../src/present/control-visibility/control-visibility-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Control Visibility & Boundary Integrity (CVG) — Phase 5B types.
|
|
3
|
+
*
|
|
4
|
+
* ── Purpose ───────────────────────────────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* A PRESENTATION-LAYER safety contract. Not a UI concern.
|
|
7
|
+
*
|
|
8
|
+
* Higher-authority signals MUST dominate lower-authority presentation.
|
|
9
|
+
* This module defines the types that make that rule programmable and testable.
|
|
10
|
+
*
|
|
11
|
+
* ── What this is NOT ──────────────────────────────────────────────────────────
|
|
12
|
+
*
|
|
13
|
+
* NOT an execution authority — it reads state, never sets it
|
|
14
|
+
* NOT a UI styling concern — no colors, no strings
|
|
15
|
+
* NOT a routing decision — consumers route; CVG only characterizes
|
|
16
|
+
*
|
|
17
|
+
* ── Invariant ─────────────────────────────────────────────────────────────────
|
|
18
|
+
*
|
|
19
|
+
* Every distinct signal produces a structurally distinct result.
|
|
20
|
+
* No two authority levels are visually or programmatically equivalent.
|
|
21
|
+
* Assertions enforce this at runtime.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* ControlSignalLevel — the authority tier of a presentation signal.
|
|
25
|
+
*
|
|
26
|
+
* "blocking" — execution MUST NOT proceed. Confirm is disabled.
|
|
27
|
+
* The state must be surfaced and differentiated.
|
|
28
|
+
* Example: conflict_detected, refused_scope.
|
|
29
|
+
*
|
|
30
|
+
* "attention" — execution should not proceed without user acknowledgment.
|
|
31
|
+
* The state must be surfaced, but confirm is not hard-blocked.
|
|
32
|
+
* Example: ambiguous.
|
|
33
|
+
*
|
|
34
|
+
* "normal" — execution may proceed. No blocking concern.
|
|
35
|
+
* The state must still be distinguishable from higher levels.
|
|
36
|
+
* Example: ready_to_confirm.
|
|
37
|
+
*
|
|
38
|
+
* Authority order: blocking > attention > normal.
|
|
39
|
+
* A higher-level signal MUST NOT be treated as a lower one.
|
|
40
|
+
*/
|
|
41
|
+
export type ControlSignalLevel = "normal" | "attention" | "blocking";
|
|
42
|
+
/**
|
|
43
|
+
* ControlSignal — the semantic identity of the presentation state.
|
|
44
|
+
*
|
|
45
|
+
* conflict_detected — OCD policy conflict; H must resolve before proceeding.
|
|
46
|
+
* not_ready — required fields are missing; input incomplete.
|
|
47
|
+
* ambiguous — insufficient signal to determine intent.
|
|
48
|
+
* refused_scope — Cursor refused: scope clarification required.
|
|
49
|
+
* refused_execution — Cursor refused: execution-level error or system block.
|
|
50
|
+
* ready_to_confirm — all conditions met; H may proceed.
|
|
51
|
+
* provisionally_executable — Phase 5D: structurally executable now, but a downstream
|
|
52
|
+
* policy block is likely based on the target path.
|
|
53
|
+
* level: attention. Does not hard-block confirm.
|
|
54
|
+
* Must surface. Must differentiate from ready_to_confirm.
|
|
55
|
+
*/
|
|
56
|
+
export type ControlSignal = "conflict_detected" | "not_ready" | "ambiguous" | "refused_scope" | "refused_execution" | "ready_to_confirm" | "provisionally_executable";
|
|
57
|
+
/**
|
|
58
|
+
* ControlVisibilityResult — the programmatic characterization of a presentation state.
|
|
59
|
+
*
|
|
60
|
+
* level — authority tier (blocking / attention / normal)
|
|
61
|
+
* signal — semantic identity of the state
|
|
62
|
+
* must_block_confirm — true when the confirm action MUST be disabled
|
|
63
|
+
* must_surface — true when the state MUST be shown to H (not hidden)
|
|
64
|
+
* must_differentiate — true when the state MUST be visually/structurally
|
|
65
|
+
* distinct from all other levels (always true)
|
|
66
|
+
*
|
|
67
|
+
* Flag assignment by level:
|
|
68
|
+
*
|
|
69
|
+
* blocking: must_block_confirm=true, must_surface=true, must_differentiate=true
|
|
70
|
+
* attention: must_block_confirm=false, must_surface=true, must_differentiate=true
|
|
71
|
+
* normal: must_block_confirm=false, must_surface=false, must_differentiate=true
|
|
72
|
+
*/
|
|
73
|
+
export type ControlVisibilityResult = {
|
|
74
|
+
readonly level: ControlSignalLevel;
|
|
75
|
+
readonly signal: ControlSignal;
|
|
76
|
+
readonly must_block_confirm: boolean;
|
|
77
|
+
readonly must_surface: boolean;
|
|
78
|
+
readonly must_differentiate: boolean;
|
|
79
|
+
};
|
|
80
|
+
import type { ReminderPresentation } from "../reminders/reminder-types.js";
|
|
81
|
+
import type { PresentationOutput } from "../types.js";
|
|
82
|
+
import type { CursorPreparationResult, CursorExecutionResult } from "../../execution/cursor/cursor-execution-coordinator.js";
|
|
83
|
+
/**
|
|
84
|
+
* ControlVisibilityInput — the set of presentation shapes the evaluator accepts.
|
|
85
|
+
*
|
|
86
|
+
* Each arm carries the full shape; the evaluator reads only what it needs
|
|
87
|
+
* and never calls upstream logic.
|
|
88
|
+
*
|
|
89
|
+
* "reminder_presentation" — a ReminderPresentation from presentReminder()
|
|
90
|
+
* "intake_presentation" — a PresentationOutput from formatIntakeResult()
|
|
91
|
+
* "cursor_preparation" — a CursorPreparationResult from prepareCursorExecution()
|
|
92
|
+
* "cursor_execution" — a CursorExecutionResult from deliverCursorExecution()
|
|
93
|
+
* "intake_provisionally_executable" — Phase 5D: execute-mode presentation where a
|
|
94
|
+
* downstream policy block is likely. Signals
|
|
95
|
+
* "attention" without blocking confirm.
|
|
96
|
+
*/
|
|
97
|
+
export type ControlVisibilityInput = {
|
|
98
|
+
readonly kind: "reminder_presentation";
|
|
99
|
+
readonly presentation: ReminderPresentation;
|
|
100
|
+
} | {
|
|
101
|
+
readonly kind: "intake_presentation";
|
|
102
|
+
readonly presentation: PresentationOutput;
|
|
103
|
+
} | {
|
|
104
|
+
readonly kind: "cursor_preparation";
|
|
105
|
+
readonly result: CursorPreparationResult;
|
|
106
|
+
} | {
|
|
107
|
+
readonly kind: "cursor_execution";
|
|
108
|
+
readonly result: CursorExecutionResult;
|
|
109
|
+
} | {
|
|
110
|
+
readonly kind: "intake_provisionally_executable";
|
|
111
|
+
readonly presentation: PresentationOutput;
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=control-visibility-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-visibility-types.d.ts","sourceRoot":"","sources":["../../../../src/present/control-visibility/control-visibility-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,WAAW,GACX,UAAU,CAAC;AAIf;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,aAAa,GACrB,mBAAmB,GACnB,WAAW,GACX,WAAW,GACX,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,0BAA0B,CAAC;AAI/B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,KAAK,EAAe,kBAAkB,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAc,aAAa,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAQ,OAAO,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;CACtC,CAAC;AAIF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAO,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAS,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MACvD,wDAAwD,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAAW,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAA;CAAE,GACjG;IAAE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAAa,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAA;CAAE,GAC/F;IAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAAc,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAA;CAAE,GAC9F;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAgB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,GAC5F;IAAE,QAAQ,CAAC,IAAI,EAAE,iCAAiC,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Control Visibility & Boundary Integrity (CVG) — Phase 5B types.
|
|
3
|
+
*
|
|
4
|
+
* ── Purpose ───────────────────────────────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* A PRESENTATION-LAYER safety contract. Not a UI concern.
|
|
7
|
+
*
|
|
8
|
+
* Higher-authority signals MUST dominate lower-authority presentation.
|
|
9
|
+
* This module defines the types that make that rule programmable and testable.
|
|
10
|
+
*
|
|
11
|
+
* ── What this is NOT ──────────────────────────────────────────────────────────
|
|
12
|
+
*
|
|
13
|
+
* NOT an execution authority — it reads state, never sets it
|
|
14
|
+
* NOT a UI styling concern — no colors, no strings
|
|
15
|
+
* NOT a routing decision — consumers route; CVG only characterizes
|
|
16
|
+
*
|
|
17
|
+
* ── Invariant ─────────────────────────────────────────────────────────────────
|
|
18
|
+
*
|
|
19
|
+
* Every distinct signal produces a structurally distinct result.
|
|
20
|
+
* No two authority levels are visually or programmatically equivalent.
|
|
21
|
+
* Assertions enforce this at runtime.
|
|
22
|
+
*/
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=control-visibility-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-visibility-types.js","sourceRoot":"","sources":["../../../../src/present/control-visibility/control-visibility-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Control Visibility & Boundary Integrity (CVG) — Phase 5B public API.
|
|
3
|
+
*
|
|
4
|
+
* Usage in presentation entry points:
|
|
5
|
+
*
|
|
6
|
+
* import { evaluateControlVisibility, assertControlVisibilityConsistency }
|
|
7
|
+
* from "./control-visibility/index.js";
|
|
8
|
+
*
|
|
9
|
+
* const cvg = evaluateControlVisibility({ kind: "reminder_presentation", presentation });
|
|
10
|
+
* assertControlVisibilityConsistency(cvg);
|
|
11
|
+
* // result is unchanged — CVG is a read-only hook
|
|
12
|
+
*/
|
|
13
|
+
export type { ControlSignalLevel, ControlSignal, ControlVisibilityResult, ControlVisibilityInput, } from "./control-visibility-types.js";
|
|
14
|
+
export { evaluateControlVisibility } from "./control-visibility-evaluator.js";
|
|
15
|
+
export { assertControlVisibilityConsistency, ControlVisibilityViolationError, } from "./control-visibility-assertions.js";
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/present/control-visibility/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EACL,kCAAkC,EAClC,+BAA+B,GAChC,MAAM,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Control Visibility & Boundary Integrity (CVG) — Phase 5B public API.
|
|
3
|
+
*
|
|
4
|
+
* Usage in presentation entry points:
|
|
5
|
+
*
|
|
6
|
+
* import { evaluateControlVisibility, assertControlVisibilityConsistency }
|
|
7
|
+
* from "./control-visibility/index.js";
|
|
8
|
+
*
|
|
9
|
+
* const cvg = evaluateControlVisibility({ kind: "reminder_presentation", presentation });
|
|
10
|
+
* assertControlVisibilityConsistency(cvg);
|
|
11
|
+
* // result is unchanged — CVG is a read-only hook
|
|
12
|
+
*/
|
|
13
|
+
export { evaluateControlVisibility } from "./control-visibility-evaluator.js";
|
|
14
|
+
export { assertControlVisibilityConsistency, ControlVisibilityViolationError, } from "./control-visibility-assertions.js";
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/present/control-visibility/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EACL,kCAAkC,EAClC,+BAA+B,GAChC,MAAM,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Presentation formatter — formatIntakeResult.
|
|
3
|
+
*
|
|
4
|
+
* Converts an IntakeResult into a consumer-ready PresentationOutput.
|
|
5
|
+
* No logic here. No decisions. Only translation.
|
|
6
|
+
*
|
|
7
|
+
* ── UCP boundary note ─────────────────────────────────────────────────────────
|
|
8
|
+
*
|
|
9
|
+
* UCP is canonical source of truth, but presentation consumes projected IntakeResult.
|
|
10
|
+
* Direct UCP consumption is deferred to Phase 2 integration.
|
|
11
|
+
*
|
|
12
|
+
* In Phase 2, PresentationOutput may be derived directly from UCPBundle instead
|
|
13
|
+
* of from IntakeResult, using the response envelope as the authoritative source.
|
|
14
|
+
* Until then, IntakeResult is the presentation input and UCP is a parallel view.
|
|
15
|
+
*
|
|
16
|
+
* ── What this is ──────────────────────────────────────────────────────────────
|
|
17
|
+
*
|
|
18
|
+
* The presentation layer sits above the intake pipeline.
|
|
19
|
+
* It takes already-decided IntakeResult data and formats it for display.
|
|
20
|
+
*
|
|
21
|
+
* ── What this is not ─────────────────────────────────────────────────────────
|
|
22
|
+
*
|
|
23
|
+
* This layer does NOT:
|
|
24
|
+
* - Re-run intake, completion, or interpretation
|
|
25
|
+
* - Add new decisions or modify existing ones
|
|
26
|
+
* - Guess values or invent context
|
|
27
|
+
* - Render HTML, terminal escape codes, or markdown
|
|
28
|
+
*
|
|
29
|
+
* ── Dual interpretation families ─────────────────────────────────────────────
|
|
30
|
+
*
|
|
31
|
+
* IntentInterpretation (guide mode)
|
|
32
|
+
* → category comes from IntentInterpretationCategory
|
|
33
|
+
* → lives at result.guidance.interpretation
|
|
34
|
+
* → display names: "Color / style change", "Text / copy change", "Configuration change"
|
|
35
|
+
*
|
|
36
|
+
* InterpretationResult (execute mode)
|
|
37
|
+
* → category comes from InterpretationCategory
|
|
38
|
+
* → lives at result.interpretation
|
|
39
|
+
* → display names: "Tailwind color change", "CSS color change", etc.
|
|
40
|
+
*
|
|
41
|
+
* These are never merged. One is for guide. One is for execute.
|
|
42
|
+
*/
|
|
43
|
+
import type { IntakeResult } from "../intake/types.js";
|
|
44
|
+
import type { DebugTrace } from "../intake/trace.js";
|
|
45
|
+
import type { PresentationOutput } from "./types.js";
|
|
46
|
+
/**
|
|
47
|
+
* Format an IntakeResult into a consumer-ready PresentationOutput.
|
|
48
|
+
*
|
|
49
|
+
* @param result The intake pipeline result
|
|
50
|
+
* @param trace Optional debug trace from runIntakeWithTrace.
|
|
51
|
+
* When provided, it is attached to debugTrace on the output.
|
|
52
|
+
* It has zero effect on any other field.
|
|
53
|
+
*
|
|
54
|
+
* The result is deterministic: same inputs → same output.
|
|
55
|
+
*/
|
|
56
|
+
export declare function formatIntakeResult(result: IntakeResult, trace?: DebugTrace): PresentationOutput;
|
|
57
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/present/format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAsDrD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EACpB,KAAK,CAAC,EAAE,UAAU,GACjB,kBAAkB,CAwDpB"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Presentation formatter — formatIntakeResult.
|
|
3
|
+
*
|
|
4
|
+
* Converts an IntakeResult into a consumer-ready PresentationOutput.
|
|
5
|
+
* No logic here. No decisions. Only translation.
|
|
6
|
+
*
|
|
7
|
+
* ── UCP boundary note ─────────────────────────────────────────────────────────
|
|
8
|
+
*
|
|
9
|
+
* UCP is canonical source of truth, but presentation consumes projected IntakeResult.
|
|
10
|
+
* Direct UCP consumption is deferred to Phase 2 integration.
|
|
11
|
+
*
|
|
12
|
+
* In Phase 2, PresentationOutput may be derived directly from UCPBundle instead
|
|
13
|
+
* of from IntakeResult, using the response envelope as the authoritative source.
|
|
14
|
+
* Until then, IntakeResult is the presentation input and UCP is a parallel view.
|
|
15
|
+
*
|
|
16
|
+
* ── What this is ──────────────────────────────────────────────────────────────
|
|
17
|
+
*
|
|
18
|
+
* The presentation layer sits above the intake pipeline.
|
|
19
|
+
* It takes already-decided IntakeResult data and formats it for display.
|
|
20
|
+
*
|
|
21
|
+
* ── What this is not ─────────────────────────────────────────────────────────
|
|
22
|
+
*
|
|
23
|
+
* This layer does NOT:
|
|
24
|
+
* - Re-run intake, completion, or interpretation
|
|
25
|
+
* - Add new decisions or modify existing ones
|
|
26
|
+
* - Guess values or invent context
|
|
27
|
+
* - Render HTML, terminal escape codes, or markdown
|
|
28
|
+
*
|
|
29
|
+
* ── Dual interpretation families ─────────────────────────────────────────────
|
|
30
|
+
*
|
|
31
|
+
* IntentInterpretation (guide mode)
|
|
32
|
+
* → category comes from IntentInterpretationCategory
|
|
33
|
+
* → lives at result.guidance.interpretation
|
|
34
|
+
* → display names: "Color / style change", "Text / copy change", "Configuration change"
|
|
35
|
+
*
|
|
36
|
+
* InterpretationResult (execute mode)
|
|
37
|
+
* → category comes from InterpretationCategory
|
|
38
|
+
* → lives at result.interpretation
|
|
39
|
+
* → display names: "Tailwind color change", "CSS color change", etc.
|
|
40
|
+
*
|
|
41
|
+
* These are never merged. One is for guide. One is for execute.
|
|
42
|
+
*/
|
|
43
|
+
// ─── Display name maps ────────────────────────────────────────────────────────
|
|
44
|
+
const MODE_BADGES = {
|
|
45
|
+
refuse: "REFUSE",
|
|
46
|
+
ignore: "IGNORE",
|
|
47
|
+
clarify: "CLARIFY",
|
|
48
|
+
guide: "GUIDE",
|
|
49
|
+
execute: "EXECUTE",
|
|
50
|
+
};
|
|
51
|
+
const CONFIDENCE_LABELS = {
|
|
52
|
+
high: "High confidence",
|
|
53
|
+
medium: "Medium confidence",
|
|
54
|
+
low: "Low confidence",
|
|
55
|
+
};
|
|
56
|
+
// Intent interpretation (guide mode — what the user appears to be trying to do)
|
|
57
|
+
const INTENT_CATEGORY_LABELS = {
|
|
58
|
+
visual_color: "Color / style change",
|
|
59
|
+
text_change: "Text / copy change",
|
|
60
|
+
config_change: "Configuration change",
|
|
61
|
+
workflow_operation: "Development workflow",
|
|
62
|
+
unknown: "Unclassified",
|
|
63
|
+
};
|
|
64
|
+
// Change interpretation (execute mode — what the structured change means)
|
|
65
|
+
const CHANGE_CATEGORY_LABELS = {
|
|
66
|
+
tailwind_color_change: "Tailwind color change",
|
|
67
|
+
css_color_change: "CSS color change",
|
|
68
|
+
text_literal_change: "Text / copy change",
|
|
69
|
+
config_value_change: "Configuration value change",
|
|
70
|
+
};
|
|
71
|
+
// ─── certaintyLevel derivation ────────────────────────────────────────────────
|
|
72
|
+
/**
|
|
73
|
+
* Purely derived — no logic authority.
|
|
74
|
+
*
|
|
75
|
+
* "certain" → execute + change interpretation (structured patch, known meaning)
|
|
76
|
+
* "inferred" → guide + intent interpretation (vague but classified)
|
|
77
|
+
* "unknown" → all other cases (refuse, ignore, clarify, bare execute, incomplete guide)
|
|
78
|
+
*/
|
|
79
|
+
function deriveCertaintyLevel(result) {
|
|
80
|
+
if (result.mode === "execute" && result.interpretation !== undefined)
|
|
81
|
+
return "certain";
|
|
82
|
+
if (result.mode === "guide" && result.guidance?.interpretation !== undefined)
|
|
83
|
+
return "inferred";
|
|
84
|
+
return "unknown";
|
|
85
|
+
}
|
|
86
|
+
// ─── formatIntakeResult ───────────────────────────────────────────────────────
|
|
87
|
+
/**
|
|
88
|
+
* Format an IntakeResult into a consumer-ready PresentationOutput.
|
|
89
|
+
*
|
|
90
|
+
* @param result The intake pipeline result
|
|
91
|
+
* @param trace Optional debug trace from runIntakeWithTrace.
|
|
92
|
+
* When provided, it is attached to debugTrace on the output.
|
|
93
|
+
* It has zero effect on any other field.
|
|
94
|
+
*
|
|
95
|
+
* The result is deterministic: same inputs → same output.
|
|
96
|
+
*/
|
|
97
|
+
export function formatIntakeResult(result, trace) {
|
|
98
|
+
const badge = MODE_BADGES[result.mode];
|
|
99
|
+
const certaintyLevel = deriveCertaintyLevel(result);
|
|
100
|
+
const traceField = trace !== undefined ? { debugTrace: trace } : {};
|
|
101
|
+
// ── guide mode with intent interpretation (guided_recovery + classification) ─
|
|
102
|
+
if (result.mode === "guide" && result.guidance?.interpretation !== undefined) {
|
|
103
|
+
const interp = result.guidance.interpretation;
|
|
104
|
+
return {
|
|
105
|
+
mode: result.mode,
|
|
106
|
+
badge,
|
|
107
|
+
headline: interp.summary,
|
|
108
|
+
category: INTENT_CATEGORY_LABELS[interp.category],
|
|
109
|
+
confidence: CONFIDENCE_LABELS[interp.confidence],
|
|
110
|
+
steps: result.guidance.nextSteps.map((s) => s.label),
|
|
111
|
+
missing: [...result.guidance.missing],
|
|
112
|
+
certaintyLevel,
|
|
113
|
+
...traceField,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
// ── guide mode without intent interpretation (incomplete, or no classification) ─
|
|
117
|
+
if (result.mode === "guide" && result.guidance !== undefined) {
|
|
118
|
+
return {
|
|
119
|
+
mode: result.mode,
|
|
120
|
+
badge,
|
|
121
|
+
headline: result.reason,
|
|
122
|
+
steps: result.guidance.nextSteps.map((s) => s.label),
|
|
123
|
+
missing: [...result.guidance.missing],
|
|
124
|
+
certaintyLevel,
|
|
125
|
+
...traceField,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
// ── execute mode with change interpretation ────────────────────────────────
|
|
129
|
+
if (result.mode === "execute" && result.interpretation !== undefined) {
|
|
130
|
+
const interp = result.interpretation;
|
|
131
|
+
return {
|
|
132
|
+
mode: result.mode,
|
|
133
|
+
badge,
|
|
134
|
+
headline: interp.summary,
|
|
135
|
+
category: CHANGE_CATEGORY_LABELS[interp.category],
|
|
136
|
+
confidence: CONFIDENCE_LABELS[interp.confidence],
|
|
137
|
+
certaintyLevel,
|
|
138
|
+
...traceField,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
// ── refuse / ignore / clarify / execute (no interpretation) ───────────────
|
|
142
|
+
return {
|
|
143
|
+
mode: result.mode,
|
|
144
|
+
badge,
|
|
145
|
+
headline: result.reason,
|
|
146
|
+
certaintyLevel,
|
|
147
|
+
...traceField,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/present/format.ts"],"names":[],"mappings":"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"}
|