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,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Execution Coordinator — product seam wiring (Phase 8C).
|
|
3
|
+
*
|
|
4
|
+
* ── Purpose ───────────────────────────────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* The execution entry point for Claude Managed Agent requests.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors cursor-execution-coordinator.ts in structure:
|
|
9
|
+
*
|
|
10
|
+
* prepareCursorExecution() → prepareClaude Execution()
|
|
11
|
+
* deliverCursorExecution() → deliverClaudeExecution()
|
|
12
|
+
*
|
|
13
|
+
* Two phases. Same intent-separation as Cursor:
|
|
14
|
+
* Phase 1 (prepare): deterministic, synchronous, no side effects.
|
|
15
|
+
* Builds the artifact, evaluates OCD, returns confirmation state.
|
|
16
|
+
* Phase 2 (deliver): async, requires H approval, dispatches to Claude API.
|
|
17
|
+
* Calls the delivery gate with an already-approved artifact.
|
|
18
|
+
*
|
|
19
|
+
* ── OCD evaluation for Claude ──────────────────────────────────────────────────
|
|
20
|
+
*
|
|
21
|
+
* Claude OCD is simpler than Cursor OCD at V1.
|
|
22
|
+
* The artifact already carries prohibitedPatterns from the mapper (ClaudeOCDPolicy).
|
|
23
|
+
*
|
|
24
|
+
* The OCD check fires a conflict when parsedChange.filePath matches any
|
|
25
|
+
* prohibitedPattern glob. This surfaces the conflict to H before delivery.
|
|
26
|
+
* The delivery gate independently enforces prohibitedPatterns at delivery time
|
|
27
|
+
* (defense-in-depth: gate is the hard block, OCD is the early warning).
|
|
28
|
+
*
|
|
29
|
+
* ── What this is NOT ──────────────────────────────────────────────────────────
|
|
30
|
+
*
|
|
31
|
+
* NOT a scheduler — does not queue or retry
|
|
32
|
+
* NOT an OCD authority — OCD fires conflicts; this surfaces them
|
|
33
|
+
* NOT a decision maker — all decisions flow from intake + OCD + H approval
|
|
34
|
+
* NOT autonomous — deliverClaudeExecution() requires an approved artifact
|
|
35
|
+
*
|
|
36
|
+
* ── Dependency direction ───────────────────────────────────────────────────────
|
|
37
|
+
*
|
|
38
|
+
* Coordinator imports: intake types, claude module (all phases).
|
|
39
|
+
* Claude module NEVER imports this coordinator.
|
|
40
|
+
* Present layer NEVER imports this coordinator.
|
|
41
|
+
*
|
|
42
|
+
* ── Authority invariants preserved ────────────────────────────────────────────
|
|
43
|
+
*
|
|
44
|
+
* - mode === "execute" is the only intake mode that opens Phase 1.
|
|
45
|
+
* - eligibility === "approved_for_agent" is the only state that opens Phase 2.
|
|
46
|
+
* - Raw input never crosses to Claude (enforced by ClaudeAgentHandoffArtifact shape).
|
|
47
|
+
* - executionDomain is derived once in buildClaudeHandoffArtifact (A1).
|
|
48
|
+
* - OCD fires conflicts; this surfaces them — never overrides them.
|
|
49
|
+
* - H approval is explicit (approveClaudeArtifact before deliverClaudeExecution).
|
|
50
|
+
*
|
|
51
|
+
* See: docs/claude-agent-phase-a-architecture.md
|
|
52
|
+
*/
|
|
53
|
+
import { matchesGlob } from "../../cursor/glob-matcher.js";
|
|
54
|
+
import { buildClaudeHandoffArtifact, } from "../../claude/artifact-mapper.js";
|
|
55
|
+
import { ClaudeDeliveryGate } from "../../claude/delivery-gate.js";
|
|
56
|
+
// ─── Phase 1: prepareClaudeExecution ──────────────────────────────────────────
|
|
57
|
+
/**
|
|
58
|
+
* Build and OCD-evaluate a ClaudeAgentHandoffArtifact from an IntakeResult.
|
|
59
|
+
*
|
|
60
|
+
* Returns a preparation result describing what will happen and whether OCD
|
|
61
|
+
* has any conflicts. Synchronous and side-effect-free.
|
|
62
|
+
*
|
|
63
|
+
* @param intakeResult Output of runIntake(). Must have mode === "execute".
|
|
64
|
+
* @param intentId UCP envelope id of the intent.
|
|
65
|
+
* @param responseId UCP envelope id of the response.
|
|
66
|
+
* @param policy OCD policy (alwaysProhibitedGlobs, writeSafeGlobs).
|
|
67
|
+
* @param toolPolicy Tool policy (allowedTools, networkAccess, filesystemMode).
|
|
68
|
+
* @param parsedChange Optional: structured change parsed from the input.
|
|
69
|
+
*/
|
|
70
|
+
export function prepareClaudeExecution(intakeResult, intentId, responseId, policy, toolPolicy, parsedChange) {
|
|
71
|
+
if (intakeResult.mode !== "execute") {
|
|
72
|
+
return {
|
|
73
|
+
kind: "not_execute",
|
|
74
|
+
reason: `Cannot prepare Claude execution for mode "${intakeResult.mode}". Only "execute" mode is valid.`,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
const artifact = buildClaudeHandoffArtifact(intakeResult, intentId, responseId, policy, toolPolicy, parsedChange);
|
|
78
|
+
const conflicts = evaluateClaudeOCD(artifact, policy, parsedChange);
|
|
79
|
+
const display = formatPreparationDisplay(artifact, conflicts);
|
|
80
|
+
if (conflicts.length > 0) {
|
|
81
|
+
return { kind: "conflict_detected", artifact, display };
|
|
82
|
+
}
|
|
83
|
+
return { kind: "ready_for_confirmation", artifact, display };
|
|
84
|
+
}
|
|
85
|
+
// ─── Phase 2: deliverClaudeExecution ──────────────────────────────────────────
|
|
86
|
+
/**
|
|
87
|
+
* Deliver an already-approved ClaudeAgentHandoffArtifact through the delivery gate.
|
|
88
|
+
*
|
|
89
|
+
* Call this after H has called approveClaudeArtifact() on the prepared artifact.
|
|
90
|
+
*
|
|
91
|
+
* @param approvedArtifact A ClaudeAgentHandoffArtifact with eligibility: "approved_for_agent".
|
|
92
|
+
* @param plugin The transport adapter (ClaudeApiAdapter or stub).
|
|
93
|
+
* @param storeDir Absolute path to the UCP store directory.
|
|
94
|
+
* @param deps Optional: injectable persistence fns for testing.
|
|
95
|
+
*/
|
|
96
|
+
export async function deliverClaudeExecution(approvedArtifact, plugin, storeDir, deps) {
|
|
97
|
+
const gate = new ClaudeDeliveryGate(plugin, storeDir, deps);
|
|
98
|
+
const result = await gate.deliver(approvedArtifact);
|
|
99
|
+
switch (result.outcome) {
|
|
100
|
+
case "accepted":
|
|
101
|
+
return {
|
|
102
|
+
kind: "accepted",
|
|
103
|
+
deliveryId: result.deliveryId,
|
|
104
|
+
sessionId: result.sessionId,
|
|
105
|
+
display: {
|
|
106
|
+
verdict: "accepted",
|
|
107
|
+
headline: "Claude session started.",
|
|
108
|
+
note: `Session ID: ${result.sessionId}`,
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
case "refused_due_to_scope":
|
|
112
|
+
return {
|
|
113
|
+
kind: "refused_due_to_scope",
|
|
114
|
+
deliveryId: result.deliveryId,
|
|
115
|
+
scopeQuestion: result.scopeQuestion,
|
|
116
|
+
display: {
|
|
117
|
+
verdict: "refused",
|
|
118
|
+
headline: "Claude needs scope clarification.",
|
|
119
|
+
note: result.scopeQuestion.explanation,
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
case "refused_due_to_execution_error":
|
|
123
|
+
return {
|
|
124
|
+
kind: "refused_due_to_execution_error",
|
|
125
|
+
deliveryId: result.deliveryId,
|
|
126
|
+
errorCode: result.errorCode,
|
|
127
|
+
detail: result.message,
|
|
128
|
+
display: {
|
|
129
|
+
verdict: "refused",
|
|
130
|
+
headline: "Claude could not complete the task.",
|
|
131
|
+
note: result.message,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
case "blocked_ineligible":
|
|
135
|
+
return {
|
|
136
|
+
kind: "blocked_ineligible",
|
|
137
|
+
display: {
|
|
138
|
+
verdict: "blocked",
|
|
139
|
+
headline: "Delivery blocked: artifact not approved.",
|
|
140
|
+
note: result.reason,
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
case "blocked_tool_policy":
|
|
144
|
+
return {
|
|
145
|
+
kind: "blocked_tool_policy",
|
|
146
|
+
reason: result.reason,
|
|
147
|
+
display: {
|
|
148
|
+
verdict: "blocked",
|
|
149
|
+
headline: "Delivery blocked: tool policy violation.",
|
|
150
|
+
note: result.reason,
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
case "blocked_persistence_failure":
|
|
154
|
+
return {
|
|
155
|
+
kind: "blocked_persistence_failure",
|
|
156
|
+
reason: result.reason,
|
|
157
|
+
display: {
|
|
158
|
+
verdict: "blocked",
|
|
159
|
+
headline: "Delivery blocked: provenance could not be recorded.",
|
|
160
|
+
note: result.reason,
|
|
161
|
+
},
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// ─── OCD evaluation ───────────────────────────────────────────────────────────
|
|
166
|
+
/**
|
|
167
|
+
* Evaluate OCD rules for the Claude artifact.
|
|
168
|
+
*
|
|
169
|
+
* V1 rules:
|
|
170
|
+
* CLAUDE_OCD_1 — parsedChange.filePath matches a prohibitedPattern
|
|
171
|
+
*
|
|
172
|
+
* Returns human-readable conflict messages. Empty array = no conflicts.
|
|
173
|
+
*/
|
|
174
|
+
function evaluateClaudeOCD(artifact, _policy, parsedChange) {
|
|
175
|
+
const conflicts = [];
|
|
176
|
+
if (!parsedChange?.filePath)
|
|
177
|
+
return conflicts;
|
|
178
|
+
for (const pattern of artifact.prohibitedPatterns) {
|
|
179
|
+
if (matchesGlob(parsedChange.filePath, pattern)) {
|
|
180
|
+
conflicts.push(`Target file "${parsedChange.filePath}" matches prohibited pattern "${pattern}". ` +
|
|
181
|
+
`Editing this file requires explicit conflict acceptance.`);
|
|
182
|
+
break; // one conflict message per file is enough
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return conflicts;
|
|
186
|
+
}
|
|
187
|
+
// ─── Display formatting ───────────────────────────────────────────────────────
|
|
188
|
+
function formatPreparationDisplay(artifact, conflicts) {
|
|
189
|
+
const hasConflict = conflicts.length > 0;
|
|
190
|
+
const targetFile = artifact.allowedFiles[0] ?? null;
|
|
191
|
+
return {
|
|
192
|
+
headline: hasConflict ? "Conflict detected. Review before approving." : "Ready to delegate to Claude.",
|
|
193
|
+
summary: artifact.taskSpec.summary,
|
|
194
|
+
targetFile,
|
|
195
|
+
conflicts,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=claude-execution-coordinator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-execution-coordinator.js","sourceRoot":"","sources":["../../../../src/execution/claude/claude-execution-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Execution — Phase 8C public API.
|
|
3
|
+
*
|
|
4
|
+
* Consumer pattern:
|
|
5
|
+
* const prep = prepareClaudeExecution(intake, intentId, responseId, policy, toolPolicy);
|
|
6
|
+
* // show prep to H; H may accept conflicts or reject
|
|
7
|
+
* const approved = approveClaudeArtifact(prep.artifact, Date.now());
|
|
8
|
+
* const result = await deliverClaudeExecution(approved, plugin, storeDir);
|
|
9
|
+
* // route on result.kind
|
|
10
|
+
*/
|
|
11
|
+
export type { ClaudePreparationResult, ClaudePreparationDisplay, ClaudeExecutionResult, ClaudeExecutionDisplay, } from "./claude-execution-coordinator.js";
|
|
12
|
+
export { prepareClaudeExecution, deliverClaudeExecution, } from "./claude-execution-coordinator.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/execution/claude/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Execution — Phase 8C public API.
|
|
3
|
+
*
|
|
4
|
+
* Consumer pattern:
|
|
5
|
+
* const prep = prepareClaudeExecution(intake, intentId, responseId, policy, toolPolicy);
|
|
6
|
+
* // show prep to H; H may accept conflicts or reject
|
|
7
|
+
* const approved = approveClaudeArtifact(prep.artifact, Date.now());
|
|
8
|
+
* const result = await deliverClaudeExecution(approved, plugin, storeDir);
|
|
9
|
+
* // route on result.kind
|
|
10
|
+
*/
|
|
11
|
+
export { prepareClaudeExecution, deliverClaudeExecution, } from "./claude-execution-coordinator.js";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/execution/claude/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cursor Execution Coordinator — product seam wiring.
|
|
3
|
+
*
|
|
4
|
+
* ── Purpose ───────────────────────────────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* The execution entry point for code-change requests.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors the reminder execution coordinator in structure:
|
|
9
|
+
*
|
|
10
|
+
* presentFromInput() — intake result → display-ready presentation
|
|
11
|
+
* executeFromPresent() — present result → display-ready execution outcome
|
|
12
|
+
*
|
|
13
|
+
* prepareCursorExecution() — intake result → artifact ready for H confirmation
|
|
14
|
+
* deliverCursorExecution() — approved artifact + gate → display-ready outcome
|
|
15
|
+
*
|
|
16
|
+
* Two phases are intentional. The split preserves the authority model:
|
|
17
|
+
* Phase 1 (prepare): deterministic, synchronous, no side effects.
|
|
18
|
+
* Builds the artifact, runs OCD, returns confirmation state.
|
|
19
|
+
* Phase 2 (deliver): async, requires H approval, produces real file changes.
|
|
20
|
+
* Calls the delivery gate with an already-approved artifact.
|
|
21
|
+
*
|
|
22
|
+
* ── What this is NOT ──────────────────────────────────────────────────────────
|
|
23
|
+
*
|
|
24
|
+
* NOT a scheduler — does not queue or retry
|
|
25
|
+
* NOT an OCD authority — OCD fires conflicts; this surfaces them
|
|
26
|
+
* NOT a decision maker — all decisions flow from intake + OCD + H approval
|
|
27
|
+
* NOT autonomous — deliverCursorExecution() requires an approved artifact
|
|
28
|
+
*
|
|
29
|
+
* ── Consumer contract ─────────────────────────────────────────────────────────
|
|
30
|
+
*
|
|
31
|
+
* Step 1 — Prepare:
|
|
32
|
+
* const prep = prepareCursorExecution(intakeResult, intentId, responseId, policy);
|
|
33
|
+
* if (prep.kind !== "ready_for_confirmation" && prep.kind !== "conflict_detected") return;
|
|
34
|
+
* // show prep.artifact to H; H may narrow scope or accept conflicts
|
|
35
|
+
*
|
|
36
|
+
* Step 2 — H approves:
|
|
37
|
+
* const approved = approveArtifact(prep.artifact, Date.now());
|
|
38
|
+
*
|
|
39
|
+
* Step 3 — Deliver:
|
|
40
|
+
* const result = await deliverCursorExecution(approved, gate);
|
|
41
|
+
* // route on result.kind: "accepted" | "refused_due_to_scope" | ...
|
|
42
|
+
*
|
|
43
|
+
* ── Dependency direction ───────────────────────────────────────────────────────
|
|
44
|
+
*
|
|
45
|
+
* Coordinator imports: intake types, cursor module (all phases).
|
|
46
|
+
* Cursor module NEVER imports this coordinator.
|
|
47
|
+
* Present layer NEVER imports this coordinator.
|
|
48
|
+
* One-way dependencies only.
|
|
49
|
+
*
|
|
50
|
+
* ── Authority invariants preserved ────────────────────────────────────────────
|
|
51
|
+
*
|
|
52
|
+
* - mode === "execute" is the only intake mode that opens Phase 1.
|
|
53
|
+
* - eligibility === "approved_for_cursor" is the only state that opens Phase 2.
|
|
54
|
+
* - Raw input never crosses to the delivery gate (enforced by CursorHandoffArtifact shape).
|
|
55
|
+
* - OCD fires conflicts; this surfaces them — never overrides them.
|
|
56
|
+
* - H approval is explicit (approveArtifact before deliverCursorExecution).
|
|
57
|
+
*
|
|
58
|
+
* See: docs/cursor-integration-architecture.md — authority model
|
|
59
|
+
* docs/cursor-delivery-contract.md — delivery paths
|
|
60
|
+
* src/execution/reminders/reminder-execution-coordinator.ts — pattern reference
|
|
61
|
+
*/
|
|
62
|
+
import type { IntakeResult } from "../../intake/types.js";
|
|
63
|
+
import type { ReplaceChange } from "../../understand/interpretation/types.js";
|
|
64
|
+
type ParsedChange = ReplaceChange;
|
|
65
|
+
import type { CursorHandoffArtifact, CursorOCDPolicy, CursorScopeQuestion, CursorExecutionErrorCode } from "../../cursor/index.js";
|
|
66
|
+
import type { CursorEditorPlugin } from "../../cursor/delivery-gate.js";
|
|
67
|
+
import type { CursorGateDeps } from "../../cursor/delivery-gate.js";
|
|
68
|
+
/**
|
|
69
|
+
* Hints for wiring contradiction visibility via presentFromInput().
|
|
70
|
+
*
|
|
71
|
+
* Pass these to presentFromInput(rawInput, intakeResult, trace, policyHint, parsedChangeHint)
|
|
72
|
+
* to surface policy_may_block_target when an execute-mode request targets a
|
|
73
|
+
* prohibited path (Phase 5D cross-layer contradiction visibility).
|
|
74
|
+
*
|
|
75
|
+
* prohibitedGlobs — from CursorOCDPolicy.alwaysProhibitedGlobs
|
|
76
|
+
* parsedChangeFilePath — from the parsedChange extracted during preparation (if any)
|
|
77
|
+
*/
|
|
78
|
+
export type CursorPresentHints = {
|
|
79
|
+
readonly prohibitedGlobs: readonly string[];
|
|
80
|
+
readonly parsedChangeFilePath?: string;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* CursorPreparationResult — returned by prepareCursorExecution().
|
|
84
|
+
*
|
|
85
|
+
* "ready_for_confirmation" OCD cleared. Artifact awaits H approval.
|
|
86
|
+
* "conflict_detected" OCD fired one or more conflicts. H must review.
|
|
87
|
+
* H may call acceptOCDConflict() then approve.
|
|
88
|
+
* "not_execute" intakeResult.mode was not "execute". No artifact produced.
|
|
89
|
+
*
|
|
90
|
+
* For execute-mode results, presentHints can be passed directly to
|
|
91
|
+
* presentFromInput() to enable Phase 5D contradiction visibility.
|
|
92
|
+
*/
|
|
93
|
+
export type CursorPreparationResult = {
|
|
94
|
+
readonly kind: "ready_for_confirmation";
|
|
95
|
+
readonly artifact: CursorHandoffArtifact;
|
|
96
|
+
readonly display: CursorPreparationDisplay;
|
|
97
|
+
readonly presentHints: CursorPresentHints;
|
|
98
|
+
} | {
|
|
99
|
+
readonly kind: "conflict_detected";
|
|
100
|
+
readonly artifact: CursorHandoffArtifact;
|
|
101
|
+
readonly display: CursorPreparationDisplay;
|
|
102
|
+
readonly presentHints: CursorPresentHints;
|
|
103
|
+
} | {
|
|
104
|
+
readonly kind: "not_execute";
|
|
105
|
+
readonly reason: string;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* CursorPreparationDisplay — consumer-ready strings for the Phase 1 result.
|
|
109
|
+
*
|
|
110
|
+
* headline — "Ready to apply" / "Conflict detected" (for confirm UI)
|
|
111
|
+
* summary — what the change will do (from changeSpec.summary)
|
|
112
|
+
* targetFile — the proposed target file, if already known (from allowedFiles[0])
|
|
113
|
+
* conflicts — human-readable OCD conflict messages; empty when cleared
|
|
114
|
+
*/
|
|
115
|
+
export type CursorPreparationDisplay = {
|
|
116
|
+
readonly headline: string;
|
|
117
|
+
readonly summary: string;
|
|
118
|
+
readonly targetFile: string | null;
|
|
119
|
+
readonly conflicts: readonly string[];
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* CursorExecutionResult — returned by deliverCursorExecution().
|
|
123
|
+
*
|
|
124
|
+
* Mirrors DeliveryGateResult but adds consumer-ready display strings.
|
|
125
|
+
*
|
|
126
|
+
* "accepted" Edit applied. File mutated on disk.
|
|
127
|
+
* "refused_due_to_scope" Cursor needs H to narrow scope.
|
|
128
|
+
* "refused_due_to_execution_error" Cursor could not apply the edit.
|
|
129
|
+
* "blocked_ineligible" Artifact not approved. Caller error.
|
|
130
|
+
* "blocked_persistence_failure" Handoff provenance could not be recorded.
|
|
131
|
+
*/
|
|
132
|
+
export type CursorExecutionResult = {
|
|
133
|
+
readonly kind: "accepted";
|
|
134
|
+
readonly deliveryId: string;
|
|
135
|
+
readonly artifactId: string;
|
|
136
|
+
readonly handoffEnvelopeId: string;
|
|
137
|
+
readonly receiptEnvelopeId: string;
|
|
138
|
+
readonly display: CursorExecutionDisplay;
|
|
139
|
+
} | {
|
|
140
|
+
readonly kind: "refused_due_to_scope";
|
|
141
|
+
readonly deliveryId: string;
|
|
142
|
+
readonly scopeQuestion: CursorScopeQuestion;
|
|
143
|
+
readonly display: CursorExecutionDisplay;
|
|
144
|
+
} | {
|
|
145
|
+
readonly kind: "refused_due_to_execution_error";
|
|
146
|
+
readonly deliveryId: string;
|
|
147
|
+
readonly errorCode: CursorExecutionErrorCode;
|
|
148
|
+
readonly detail: string;
|
|
149
|
+
readonly display: CursorExecutionDisplay;
|
|
150
|
+
} | {
|
|
151
|
+
readonly kind: "blocked_ineligible";
|
|
152
|
+
readonly display: CursorExecutionDisplay;
|
|
153
|
+
} | {
|
|
154
|
+
readonly kind: "blocked_persistence_failure";
|
|
155
|
+
readonly reason: string;
|
|
156
|
+
readonly display: CursorExecutionDisplay;
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* CursorExecutionDisplay — consumer-ready strings for the Phase 2 result.
|
|
160
|
+
*
|
|
161
|
+
* verdict — "accepted" | "refused" | "blocked"
|
|
162
|
+
* headline — single-line summary for the user
|
|
163
|
+
* note — additional detail for the user; null when headline is sufficient
|
|
164
|
+
*/
|
|
165
|
+
export type CursorExecutionDisplay = {
|
|
166
|
+
readonly verdict: "accepted" | "refused" | "blocked";
|
|
167
|
+
readonly headline: string;
|
|
168
|
+
readonly note: string | null;
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* Build and OCD-evaluate a CursorHandoffArtifact from an IntakeResult.
|
|
172
|
+
*
|
|
173
|
+
* Call this when intakeResult.mode === "execute" and the consumer wants to
|
|
174
|
+
* present a confirmation to H before delivery. Returns a preparation result
|
|
175
|
+
* that describes what will happen and whether OCD has any conflicts.
|
|
176
|
+
*
|
|
177
|
+
* This is synchronous and side-effect-free. No files are read or written.
|
|
178
|
+
*
|
|
179
|
+
* @param intakeResult Output of runIntake(). Must have mode === "execute".
|
|
180
|
+
* @param intentId UCP envelope id of the intent (from runIntakeWithUCP).
|
|
181
|
+
* @param responseId UCP envelope id of the response (from runIntakeWithUCP).
|
|
182
|
+
* @param policy OCD policy — write_safe_globs, prohibited patterns, etc.
|
|
183
|
+
*/
|
|
184
|
+
export declare function prepareCursorExecution(intakeResult: IntakeResult, intentId: string, responseId: string, policy: CursorOCDPolicy, parsedChange?: ParsedChange): CursorPreparationResult;
|
|
185
|
+
/**
|
|
186
|
+
* Deliver an already-approved CursorHandoffArtifact through the delivery gate.
|
|
187
|
+
*
|
|
188
|
+
* Call this after H has called approveArtifact() on the prepared artifact.
|
|
189
|
+
* The gate enforces that eligibility === "approved_for_cursor" before proceeding.
|
|
190
|
+
*
|
|
191
|
+
* @param approvedArtifact A CursorHandoffArtifact with eligibility: "approved_for_cursor".
|
|
192
|
+
* @param plugin The transport adapter (in-process, IPC, etc.).
|
|
193
|
+
* @param storeDir Absolute path to the UCP store directory.
|
|
194
|
+
* @param deps Optional: injectable persistence fns for testing.
|
|
195
|
+
*/
|
|
196
|
+
export declare function deliverCursorExecution(approvedArtifact: CursorHandoffArtifact, plugin: CursorEditorPlugin, storeDir: string, deps?: CursorGateDeps): Promise<CursorExecutionResult>;
|
|
197
|
+
/**
|
|
198
|
+
* Returns true if the preparation result needs H to review OCD conflicts
|
|
199
|
+
* before the artifact can be approved.
|
|
200
|
+
*/
|
|
201
|
+
export declare function hasConflicts(result: CursorPreparationResult): boolean;
|
|
202
|
+
/**
|
|
203
|
+
* Returns true if the execution result is "accepted" (edit applied on disk).
|
|
204
|
+
*/
|
|
205
|
+
export declare function isCursorExecutionAccepted(result: CursorExecutionResult): boolean;
|
|
206
|
+
/**
|
|
207
|
+
* Returns a plain-English note for the consumer to display.
|
|
208
|
+
*
|
|
209
|
+
* "accepted" → null (headline is sufficient)
|
|
210
|
+
* "refused_due_to_scope" → scope question explanation
|
|
211
|
+
* "refused_due_to_execution_error" → detail text
|
|
212
|
+
* "blocked_*" → block reason
|
|
213
|
+
*/
|
|
214
|
+
export declare function getCursorExecutionNote(result: CursorExecutionResult): string | null;
|
|
215
|
+
export {};
|
|
216
|
+
//# sourceMappingURL=cursor-execution-coordinator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-execution-coordinator.d.ts","sourceRoot":"","sources":["../../../../src/execution/cursor/cursor-execution-coordinator.ts"],"names":[],"mappings":"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"}
|