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,362 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ClaudeProductSession — product-layer state machine (Phase 8C).
|
|
3
|
+
*
|
|
4
|
+
* ── Purpose ───────────────────────────────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* Connects the intake engine + Claude delivery gate to real user interaction.
|
|
7
|
+
* Mirrors CursorProductSession in structure and philosophy.
|
|
8
|
+
*
|
|
9
|
+
* The session manages one Claude agent request from user input through to
|
|
10
|
+
* execution outcome. It holds state between steps so the consumer (CLI, UI,
|
|
11
|
+
* plugin) only has to call the right method at the right moment.
|
|
12
|
+
*
|
|
13
|
+
* ── What this is NOT ──────────────────────────────────────────────────────────
|
|
14
|
+
*
|
|
15
|
+
* NOT authority — this layer calls authority; it does not hold it.
|
|
16
|
+
* NOT a scheduler — one session = one agent task attempt.
|
|
17
|
+
* NOT a UI — it produces display strings; the caller renders them.
|
|
18
|
+
* NOT a router — intake mode still drives everything; this just surfaces it.
|
|
19
|
+
*
|
|
20
|
+
* ── Session lifecycle ─────────────────────────────────────────────────────────
|
|
21
|
+
*
|
|
22
|
+
* idle
|
|
23
|
+
* → submit(input) → "prepared" | "conflict" | "not_execute" | "intake_failed"
|
|
24
|
+
*
|
|
25
|
+
* prepared
|
|
26
|
+
* → approve() → "approved"
|
|
27
|
+
* → reject() → "rejected"
|
|
28
|
+
* → narrow(files) → "prepared" (monotonic scope reduction)
|
|
29
|
+
*
|
|
30
|
+
* conflict
|
|
31
|
+
* → acceptConflict() → "prepared" (conflict accepted, awaiting approval)
|
|
32
|
+
* → reject() → "rejected"
|
|
33
|
+
*
|
|
34
|
+
* approved
|
|
35
|
+
* → deliver(plugin, storeDir) → "accepted" | "scope_question" | "exec_error" | "blocked"
|
|
36
|
+
*
|
|
37
|
+
* scope_question
|
|
38
|
+
* → answerScope(file) → "approved" (narrowed + re-approved)
|
|
39
|
+
* → reject() → "rejected"
|
|
40
|
+
*
|
|
41
|
+
* Terminal: "accepted" | "rejected" | "not_execute" | "intake_failed" | "blocked" | "exec_error"
|
|
42
|
+
*
|
|
43
|
+
* ── Baseline truths (P1–P6, mirroring CursorProductSession) ──────────────────
|
|
44
|
+
*
|
|
45
|
+
* P1 — Terminal states are immutable.
|
|
46
|
+
* P2 — Scope clarification is candidate-bounded.
|
|
47
|
+
* P3 — Approval is never execution (approve ≠ deliver).
|
|
48
|
+
* P4 — Delivery requires approved.
|
|
49
|
+
* P5 — Session carries state but has no independent authority.
|
|
50
|
+
* P6 — All authority lives upstream of the session.
|
|
51
|
+
*
|
|
52
|
+
* ── Dependency direction ───────────────────────────────────────────────────────
|
|
53
|
+
*
|
|
54
|
+
* Session imports: intake, coordinator, claude module.
|
|
55
|
+
* Coordinator NEVER imports Session.
|
|
56
|
+
* Delivery gate NEVER imports Session.
|
|
57
|
+
*
|
|
58
|
+
* See: docs/claude-agent-phase-a-architecture.md
|
|
59
|
+
*/
|
|
60
|
+
import { runIntakeWithUCP } from "../intake/intake-service.js";
|
|
61
|
+
import { DEFAULT_CONTRACT } from "../interaction/defaults.js";
|
|
62
|
+
import { parseChange } from "../understand/interpretation/parser.js";
|
|
63
|
+
import { isFsChange } from "../understand/interpretation/types.js";
|
|
64
|
+
import { prepareClaudeExecution, deliverClaudeExecution, } from "../execution/claude/claude-execution-coordinator.js";
|
|
65
|
+
import { approveClaudeArtifact, narrowClaudeArtifactScope, } from "../claude/artifact-mapper.js";
|
|
66
|
+
// ─── Builders ─────────────────────────────────────────────────────────────────
|
|
67
|
+
function mkDisplay(d) {
|
|
68
|
+
return Object.fromEntries(Object.entries(d).filter(([, v]) => v !== undefined));
|
|
69
|
+
}
|
|
70
|
+
function mk(s) {
|
|
71
|
+
return Object.fromEntries(Object.entries(s).filter(([, v]) => v !== undefined));
|
|
72
|
+
}
|
|
73
|
+
// ─── Session factory ──────────────────────────────────────────────────────────
|
|
74
|
+
const INITIAL_STATE = {
|
|
75
|
+
phase: "idle",
|
|
76
|
+
display: { headline: "Ready. Submit a task for Claude." },
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Create a new Claude product session in the idle phase.
|
|
80
|
+
*/
|
|
81
|
+
export function createClaudeSession() {
|
|
82
|
+
return INITIAL_STATE;
|
|
83
|
+
}
|
|
84
|
+
// ─── Session transitions ──────────────────────────────────────────────────────
|
|
85
|
+
/**
|
|
86
|
+
* Submit user input. Runs intake + prepares the Claude artifact.
|
|
87
|
+
*
|
|
88
|
+
* @param input The raw user text (e.g. "replace X with Y in src/Button.tsx").
|
|
89
|
+
* @param policy OCD policy for the workspace.
|
|
90
|
+
* @param toolPolicy Tool policy for this Claude session.
|
|
91
|
+
*/
|
|
92
|
+
export function submitClaude(state, input, policy, toolPolicy) {
|
|
93
|
+
if (isClaudeTerminal(state))
|
|
94
|
+
return state;
|
|
95
|
+
let ucpResult;
|
|
96
|
+
try {
|
|
97
|
+
ucpResult = runIntakeWithUCP(input, {
|
|
98
|
+
prvContext: { hasPriorSession: false },
|
|
99
|
+
interactionContract: DEFAULT_CONTRACT,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
return mk({
|
|
104
|
+
phase: "intake_failed",
|
|
105
|
+
input,
|
|
106
|
+
display: mkDisplay({ headline: `Intake error: ${String(err)}` }),
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
const { result: intakeResult, ucp } = ucpResult;
|
|
110
|
+
const intentId = ucp.intent.id;
|
|
111
|
+
const responseId = ucp.response.id;
|
|
112
|
+
if (intakeResult.mode !== "execute") {
|
|
113
|
+
const modeDisplay = {
|
|
114
|
+
guide: "Not an executable task — guidance available.",
|
|
115
|
+
clarify: "Input is ambiguous — clarification needed.",
|
|
116
|
+
refuse: "Input refused — unsafe or out of scope.",
|
|
117
|
+
ignore: "Input does not require action.",
|
|
118
|
+
};
|
|
119
|
+
return mk({
|
|
120
|
+
phase: "not_execute", input, intentId, responseId,
|
|
121
|
+
display: mkDisplay({
|
|
122
|
+
headline: modeDisplay[intakeResult.mode] ?? `Mode: ${intakeResult.mode}`,
|
|
123
|
+
}),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
const rawPc = parseChange(input) ?? undefined;
|
|
127
|
+
const pc = (rawPc && !isFsChange(rawPc)) ? rawPc : undefined;
|
|
128
|
+
const prepResult = prepareClaudeExecution(intakeResult, intentId, responseId, policy, toolPolicy, pc);
|
|
129
|
+
if (prepResult.kind === "not_execute") {
|
|
130
|
+
return mk({
|
|
131
|
+
phase: "not_execute", input, intentId, responseId,
|
|
132
|
+
display: mkDisplay({ headline: prepResult.reason }),
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
const nextPhase = prepResult.kind === "conflict_detected" ? "conflict" : "prepared";
|
|
136
|
+
return mk({
|
|
137
|
+
phase: nextPhase,
|
|
138
|
+
input,
|
|
139
|
+
...(pc !== undefined ? { parsedChange: pc } : {}),
|
|
140
|
+
intentId,
|
|
141
|
+
responseId,
|
|
142
|
+
preparedAt: Date.now(),
|
|
143
|
+
artifact: prepResult.artifact,
|
|
144
|
+
prepResult,
|
|
145
|
+
display: mkDisplay({
|
|
146
|
+
headline: prepResult.display.headline,
|
|
147
|
+
changeSummary: prepResult.display.summary,
|
|
148
|
+
...(prepResult.display.targetFile
|
|
149
|
+
? { targetFiles: [prepResult.display.targetFile] }
|
|
150
|
+
: {}),
|
|
151
|
+
conflicts: [...prepResult.display.conflicts],
|
|
152
|
+
}),
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* H approves the prepared artifact. Transitions to "approved".
|
|
157
|
+
* Only valid from "prepared" phase.
|
|
158
|
+
*/
|
|
159
|
+
export function approveClaude(state, at = Date.now()) {
|
|
160
|
+
if (isClaudeTerminal(state))
|
|
161
|
+
return state;
|
|
162
|
+
if (state.phase !== "prepared" || !state.artifact) {
|
|
163
|
+
return invalidClaudeTransition(state, "approveClaude", "prepared");
|
|
164
|
+
}
|
|
165
|
+
const approved = approveClaudeArtifact(state.artifact, at);
|
|
166
|
+
return mk({
|
|
167
|
+
...state,
|
|
168
|
+
phase: "approved",
|
|
169
|
+
artifact: approved,
|
|
170
|
+
display: mkDisplay({
|
|
171
|
+
headline: "Approved. Ready to send to Claude.",
|
|
172
|
+
changeSummary: state.display.changeSummary,
|
|
173
|
+
}),
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* H accepts the OCD conflict. Transitions from "conflict" back to "prepared".
|
|
178
|
+
*/
|
|
179
|
+
export function acceptClaudeConflict(state) {
|
|
180
|
+
if (isClaudeTerminal(state))
|
|
181
|
+
return state;
|
|
182
|
+
if (state.phase !== "conflict" || !state.artifact) {
|
|
183
|
+
return invalidClaudeTransition(state, "acceptClaudeConflict", "conflict");
|
|
184
|
+
}
|
|
185
|
+
// Apply conflict_accepted clearance to the artifact
|
|
186
|
+
const updated = {
|
|
187
|
+
...state.artifact,
|
|
188
|
+
ocdClearance: "conflict_accepted",
|
|
189
|
+
};
|
|
190
|
+
const { prepResult: _dropped, ...rest } = state;
|
|
191
|
+
void _dropped;
|
|
192
|
+
return mk({
|
|
193
|
+
...rest,
|
|
194
|
+
phase: "prepared",
|
|
195
|
+
artifact: updated,
|
|
196
|
+
display: mkDisplay({
|
|
197
|
+
headline: "Conflict accepted. Ready to confirm.",
|
|
198
|
+
changeSummary: state.display.changeSummary,
|
|
199
|
+
targetFiles: state.display.targetFiles,
|
|
200
|
+
conflicts: [],
|
|
201
|
+
}),
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* H narrows the scope to a subset of the currently allowed files.
|
|
206
|
+
* Monotonic: can only reduce, not expand. Re-evaluates display.
|
|
207
|
+
* Valid from "prepared" or "scope_question".
|
|
208
|
+
*/
|
|
209
|
+
export function narrowClaude(state, allowedFiles) {
|
|
210
|
+
if (isClaudeTerminal(state))
|
|
211
|
+
return state;
|
|
212
|
+
if ((state.phase !== "prepared" && state.phase !== "scope_question")
|
|
213
|
+
|| !state.artifact) {
|
|
214
|
+
return invalidClaudeTransition(state, "narrowClaude", "prepared | scope_question");
|
|
215
|
+
}
|
|
216
|
+
const narrowed = narrowClaudeArtifactScope(state.artifact, allowedFiles);
|
|
217
|
+
return mk({
|
|
218
|
+
...state,
|
|
219
|
+
phase: "prepared",
|
|
220
|
+
artifact: narrowed,
|
|
221
|
+
display: mkDisplay({
|
|
222
|
+
headline: "Scope narrowed. Review and approve.",
|
|
223
|
+
changeSummary: state.display.changeSummary,
|
|
224
|
+
targetFiles: [...allowedFiles],
|
|
225
|
+
conflicts: [],
|
|
226
|
+
}),
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* H answers a scope question from Claude by selecting one candidate file.
|
|
231
|
+
* Narrows to that file and re-approves. Valid from "scope_question".
|
|
232
|
+
*/
|
|
233
|
+
export function answerClaudeScope(state, file, at = Date.now()) {
|
|
234
|
+
if (isClaudeTerminal(state))
|
|
235
|
+
return state;
|
|
236
|
+
if (state.phase !== "scope_question" || !state.artifact) {
|
|
237
|
+
return invalidClaudeTransition(state, "answerClaudeScope", "scope_question");
|
|
238
|
+
}
|
|
239
|
+
if (state.scopeQuestion && !state.scopeQuestion.candidates.includes(file)) {
|
|
240
|
+
return invalidClaudeTransition(state, "answerClaudeScope", `scope_question (file must be one of: ${state.scopeQuestion.candidates.join(", ")})`);
|
|
241
|
+
}
|
|
242
|
+
const narrowed = narrowClaudeArtifactScope(state.artifact, [file]);
|
|
243
|
+
const approved = approveClaudeArtifact(narrowed, at);
|
|
244
|
+
return mk({
|
|
245
|
+
...state,
|
|
246
|
+
phase: "approved",
|
|
247
|
+
artifact: approved,
|
|
248
|
+
display: mkDisplay({
|
|
249
|
+
headline: `Scope set to ${file}. Approved.`,
|
|
250
|
+
changeSummary: state.display.changeSummary,
|
|
251
|
+
targetFiles: [file],
|
|
252
|
+
}),
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* H rejects. Terminal state.
|
|
257
|
+
*/
|
|
258
|
+
export function rejectClaude(state) {
|
|
259
|
+
if (isClaudeTerminal(state))
|
|
260
|
+
return state;
|
|
261
|
+
return mk({
|
|
262
|
+
...state,
|
|
263
|
+
phase: "rejected",
|
|
264
|
+
display: mkDisplay({
|
|
265
|
+
headline: "Rejected.",
|
|
266
|
+
changeSummary: state.display.changeSummary,
|
|
267
|
+
}),
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Deliver the approved artifact to Claude through the execution gate.
|
|
272
|
+
* Only valid from "approved" phase.
|
|
273
|
+
*
|
|
274
|
+
* @param plugin The Claude transport adapter.
|
|
275
|
+
* @param storeDir Absolute path to UCP store directory.
|
|
276
|
+
* @param deps Optional injectable persistence fns for testing.
|
|
277
|
+
*/
|
|
278
|
+
export async function deliverClaude(state, plugin, storeDir, deps) {
|
|
279
|
+
if (isClaudeTerminal(state))
|
|
280
|
+
return state;
|
|
281
|
+
if (state.phase !== "approved" || !state.artifact) {
|
|
282
|
+
return invalidClaudeTransition(state, "deliverClaude", "approved");
|
|
283
|
+
}
|
|
284
|
+
const result = await deliverClaudeExecution(state.artifact, plugin, storeDir, deps);
|
|
285
|
+
switch (result.kind) {
|
|
286
|
+
case "accepted":
|
|
287
|
+
return mk({
|
|
288
|
+
...state,
|
|
289
|
+
phase: "accepted",
|
|
290
|
+
executionResult: result,
|
|
291
|
+
display: mkDisplay({
|
|
292
|
+
headline: "Claude session started.",
|
|
293
|
+
changeSummary: state.display.changeSummary,
|
|
294
|
+
targetFiles: state.display.targetFiles,
|
|
295
|
+
resultNote: `Session ID: ${result.sessionId}`,
|
|
296
|
+
}),
|
|
297
|
+
});
|
|
298
|
+
case "refused_due_to_scope":
|
|
299
|
+
return mk({
|
|
300
|
+
...state,
|
|
301
|
+
phase: "scope_question",
|
|
302
|
+
scopeQuestion: result.scopeQuestion,
|
|
303
|
+
executionResult: result,
|
|
304
|
+
display: mkDisplay({
|
|
305
|
+
headline: "Claude needs scope clarification.",
|
|
306
|
+
changeSummary: state.display.changeSummary,
|
|
307
|
+
scopeCandidates: result.scopeQuestion.candidates,
|
|
308
|
+
resultNote: result.scopeQuestion.explanation,
|
|
309
|
+
}),
|
|
310
|
+
});
|
|
311
|
+
case "refused_due_to_execution_error":
|
|
312
|
+
return mk({
|
|
313
|
+
...state,
|
|
314
|
+
phase: "exec_error",
|
|
315
|
+
executionResult: result,
|
|
316
|
+
display: mkDisplay({
|
|
317
|
+
headline: result.display.headline,
|
|
318
|
+
resultNote: result.detail,
|
|
319
|
+
}),
|
|
320
|
+
});
|
|
321
|
+
case "blocked_ineligible":
|
|
322
|
+
case "blocked_tool_policy":
|
|
323
|
+
case "blocked_persistence_failure": {
|
|
324
|
+
const note = result.display.note ?? undefined;
|
|
325
|
+
return mk({
|
|
326
|
+
...state,
|
|
327
|
+
phase: "blocked",
|
|
328
|
+
executionResult: result,
|
|
329
|
+
display: mkDisplay({
|
|
330
|
+
headline: result.display.headline,
|
|
331
|
+
...(note ? { resultNote: note } : {}),
|
|
332
|
+
}),
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
338
|
+
/** Returns true if the session is in a terminal phase. */
|
|
339
|
+
export function isClaudeTerminal(state) {
|
|
340
|
+
return (state.phase === "accepted" ||
|
|
341
|
+
state.phase === "rejected" ||
|
|
342
|
+
state.phase === "exec_error" ||
|
|
343
|
+
state.phase === "blocked" ||
|
|
344
|
+
state.phase === "not_execute" ||
|
|
345
|
+
state.phase === "intake_failed");
|
|
346
|
+
}
|
|
347
|
+
/** Returns true if the session accepted and started a Claude agent session. */
|
|
348
|
+
export function isClaudeAccepted(state) {
|
|
349
|
+
return state.phase === "accepted";
|
|
350
|
+
}
|
|
351
|
+
// ─── Internal ─────────────────────────────────────────────────────────────────
|
|
352
|
+
function invalidClaudeTransition(state, method, expected) {
|
|
353
|
+
return mk({
|
|
354
|
+
...state,
|
|
355
|
+
phase: "blocked",
|
|
356
|
+
display: mkDisplay({
|
|
357
|
+
headline: `Invalid transition: ${method}() called from phase "${state.phase}" (expected: ${expected}).`,
|
|
358
|
+
resultNote: "Session is now blocked. Create a new session to continue.",
|
|
359
|
+
}),
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
//# sourceMappingURL=claude-product-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-product-session.js","sourceRoot":"","sources":["../../../src/product/claude-product-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAgB,6BAA6B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAgB,4BAA4B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAqB,wCAAwC,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAqB,uCAAuC,CAAC;AAElF,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,qDAAqD,CAAC;AAK7D,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AAiFtC,iFAAiF;AAEjF,SAAS,SAAS,CAAC,CAOlB;IACC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAC7B,CAAC;AAC5B,CAAC;AAMD,SAAS,EAAE,CAAC,CAAuB;IACjC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAC/B,CAAC;AAC1B,CAAC;AAED,iFAAiF;AAEjF,MAAM,aAAa,GAAuB;IACxC,KAAK,EAAI,MAAM;IACf,OAAO,EAAE,EAAE,QAAQ,EAAE,kCAAkC,EAAE;CAC1D,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,KAA8B,EAC9B,KAAkB,EAClB,MAA2B,EAC3B,UAA4B;IAE5B,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1C,IAAI,SAAS,CAAC;IACd,IAAI,CAAC;QACH,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE;YAClC,UAAU,EAAW,EAAE,eAAe,EAAE,KAAK,EAAE;YAC/C,mBAAmB,EAAE,gBAAgB;SACtC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;YACR,KAAK,EAAE,eAAe;YACtB,KAAK;YACL,OAAO,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,iBAAiB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;SACjE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAChD,MAAM,QAAQ,GAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAEnC,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,WAAW,GAA2B;YAC1C,KAAK,EAAI,8CAA8C;YACvD,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAG,yCAAyC;YAClD,MAAM,EAAG,gCAAgC;SAC1C,CAAC;QACF,OAAO,EAAE,CAAC;YACR,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU;YACjD,OAAO,EAAE,SAAS,CAAC;gBACjB,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,SAAS,YAAY,CAAC,IAAI,EAAE;aACzE,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;IAC9C,MAAM,EAAE,GAA8B,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAExF,MAAM,UAAU,GAAG,sBAAsB,CACvC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAC3D,CAAC;IAEF,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;YACR,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU;YACjD,OAAO,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;SACpD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GACb,UAAU,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IAEpE,OAAO,EAAE,CAAC;QACR,KAAK,EAAO,SAAS;QACrB,KAAK;QACL,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,QAAQ;QACR,UAAU;QACV,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;QACtB,QAAQ,EAAI,UAAU,CAAC,QAAQ;QAC/B,UAAU;QACV,OAAO,EAAK,SAAS,CAAC;YACpB,QAAQ,EAAO,UAAU,CAAC,OAAO,CAAC,QAAQ;YAC1C,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO;YACzC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU;gBAC/B,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAClD,CAAC,CAAC,EAAE,CAAC;YACP,SAAS,EAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;SACjD,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAyB,EACzB,KAAgB,IAAI,CAAC,GAAG,EAAE;IAE1B,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClD,OAAO,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,EAAE,CAAC;QACR,GAAG,KAAK;QACR,KAAK,EAAK,UAAU;QACpB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAG,SAAS,CAAC;YAClB,QAAQ,EAAO,oCAAoC;YACnD,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;SAC3C,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC5D,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClD,OAAO,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IACD,oDAAoD;IACpD,MAAM,OAAO,GAAG;QACd,GAAG,KAAK,CAAC,QAAQ;QACjB,YAAY,EAAE,mBAA4B;KAC3C,CAAC;IACF,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAChD,KAAK,QAAQ,CAAC;IACd,OAAO,EAAE,CAAC;QACR,GAAG,IAAI;QACP,KAAK,EAAK,UAAU;QACpB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAG,SAAS,CAAC;YAClB,QAAQ,EAAO,sCAAsC;YACrD,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;YAC1C,WAAW,EAAI,KAAK,CAAC,OAAO,CAAC,WAAW;YACxC,SAAS,EAAM,EAAE;SAClB,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAgC,EAChC,YAA+B;IAE/B,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IACE,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,gBAAgB,CAAC;WAC7D,CAAC,KAAK,CAAC,QAAQ,EAClB,CAAC;QACD,OAAO,uBAAuB,CAAC,KAAK,EAAE,cAAc,EAAE,2BAA2B,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACzE,OAAO,EAAE,CAAC;QACR,GAAG,KAAK;QACR,KAAK,EAAK,UAAU;QACpB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAG,SAAS,CAAC;YAClB,QAAQ,EAAO,qCAAqC;YACpD,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;YAC1C,WAAW,EAAI,CAAC,GAAG,YAAY,CAAC;YAChC,SAAS,EAAM,EAAE;SAClB,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAyB,EACzB,IAAa,EACb,KAAgB,IAAI,CAAC,GAAG,EAAE;IAE1B,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,KAAK,CAAC,KAAK,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxD,OAAO,uBAAuB,CAAC,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1E,OAAO,uBAAuB,CAC5B,KAAK,EACL,mBAAmB,EACnB,wCAAwC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC;QACR,GAAG,KAAK;QACR,KAAK,EAAK,UAAU;QACpB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAG,SAAS,CAAC;YAClB,QAAQ,EAAO,gBAAgB,IAAI,aAAa;YAChD,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;YAC1C,WAAW,EAAI,CAAC,IAAI,CAAC;SACtB,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAyB;IACpD,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,EAAE,CAAC;QACR,GAAG,KAAK;QACR,KAAK,EAAI,UAAU;QACnB,OAAO,EAAE,SAAS,CAAC;YACjB,QAAQ,EAAO,WAAW;YAC1B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;SAC3C,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAA4B,EAC5B,MAA2B,EAC3B,QAAgB,EAChB,IAAwB;IAExB,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClD,OAAO,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEpF,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,EAAE,CAAC;gBACR,GAAG,KAAK;gBACR,KAAK,EAAY,UAAU;gBAC3B,eAAe,EAAE,MAAM;gBACvB,OAAO,EAAU,SAAS,CAAC;oBACzB,QAAQ,EAAO,yBAAyB;oBACxC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;oBAC1C,WAAW,EAAI,KAAK,CAAC,OAAO,CAAC,WAAW;oBACxC,UAAU,EAAK,eAAe,MAAM,CAAC,SAAS,EAAE;iBACjD,CAAC;aACH,CAAC,CAAC;QAEL,KAAK,sBAAsB;YACzB,OAAO,EAAE,CAAC;gBACR,GAAG,KAAK;gBACR,KAAK,EAAY,gBAAgB;gBACjC,aAAa,EAAI,MAAM,CAAC,aAAa;gBACrC,eAAe,EAAE,MAAM;gBACvB,OAAO,EAAU,SAAS,CAAC;oBACzB,QAAQ,EAAS,mCAAmC;oBACpD,aAAa,EAAI,KAAK,CAAC,OAAO,CAAC,aAAa;oBAC5C,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU;oBAChD,UAAU,EAAO,MAAM,CAAC,aAAa,CAAC,WAAW;iBAClD,CAAC;aACH,CAAC,CAAC;QAEL,KAAK,gCAAgC;YACnC,OAAO,EAAE,CAAC;gBACR,GAAG,KAAK;gBACR,KAAK,EAAY,YAAY;gBAC7B,eAAe,EAAE,MAAM;gBACvB,OAAO,EAAU,SAAS,CAAC;oBACzB,QAAQ,EAAI,MAAM,CAAC,OAAO,CAAC,QAAQ;oBACnC,UAAU,EAAE,MAAM,CAAC,MAAM;iBAC1B,CAAC;aACH,CAAC,CAAC;QAEL,KAAK,oBAAoB,CAAC;QAC1B,KAAK,qBAAqB,CAAC;QAC3B,KAAK,6BAA6B,CAAC,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;YAC9C,OAAO,EAAE,CAAC;gBACR,GAAG,KAAK;gBACR,KAAK,EAAY,SAAS;gBAC1B,eAAe,EAAE,MAAM;gBACvB,OAAO,EAAU,SAAS,CAAC;oBACzB,QAAQ,EAAI,MAAM,CAAC,OAAO,CAAC,QAAQ;oBACnC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,OAAO,CACL,KAAK,CAAC,KAAK,KAAK,UAAU;QAC1B,KAAK,CAAC,KAAK,KAAK,UAAU;QAC1B,KAAK,CAAC,KAAK,KAAK,YAAY;QAC5B,KAAK,CAAC,KAAK,KAAK,SAAS;QACzB,KAAK,CAAC,KAAK,KAAK,aAAa;QAC7B,KAAK,CAAC,KAAK,KAAK,eAAe,CAChC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC;AACpC,CAAC;AAED,iFAAiF;AAEjF,SAAS,uBAAuB,CAC9B,KAA4B,EAC5B,MAAgB,EAChB,QAAgB;IAEhB,OAAO,EAAE,CAAC;QACR,GAAG,KAAK;QACR,KAAK,EAAI,SAAS;QAClB,OAAO,EAAE,SAAS,CAAC;YACjB,QAAQ,EAAI,uBAAuB,MAAM,yBAAyB,KAAK,CAAC,KAAK,gBAAgB,QAAQ,IAAI;YACzG,UAAU,EAAE,2DAA2D;SACxE,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CursorProductSession — product-layer state machine.
|
|
3
|
+
*
|
|
4
|
+
* ── Purpose ───────────────────────────────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* Connects the execution engine to real user interaction flows.
|
|
7
|
+
* This is the "who calls the seam, and how does the user see it" layer.
|
|
8
|
+
*
|
|
9
|
+
* The session manages one edit request from user input through to execution
|
|
10
|
+
* outcome. It holds state between steps so the consumer (CLI, UI, plugin)
|
|
11
|
+
* only has to call the right method at the right moment.
|
|
12
|
+
*
|
|
13
|
+
* ── What this is NOT ──────────────────────────────────────────────────────────
|
|
14
|
+
*
|
|
15
|
+
* NOT authority — this layer calls authority; it does not hold it.
|
|
16
|
+
* NOT a scheduler — one session = one edit attempt.
|
|
17
|
+
* NOT a UI — it produces display strings; the caller renders them.
|
|
18
|
+
* NOT a router — intake mode still drives everything; this just surfaces it.
|
|
19
|
+
*
|
|
20
|
+
* ── Baseline truths (locked — see docs/cursor-v1-baseline.md) ────────────────
|
|
21
|
+
*
|
|
22
|
+
* P1 — Terminal states are immutable.
|
|
23
|
+
* Once a session reaches accepted / rejected / exec_error / blocked /
|
|
24
|
+
* not_execute / intake_failed, all further transition calls return the
|
|
25
|
+
* same state object unchanged. A new session must be created for a new
|
|
26
|
+
* edit attempt. Enforced by isTerminal() guard at the top of every
|
|
27
|
+
* public transition function.
|
|
28
|
+
*
|
|
29
|
+
* P2 — Scope clarification is candidate-bounded.
|
|
30
|
+
* answerScope(state, file) rejects any file not present in
|
|
31
|
+
* state.scopeQuestion.candidates. Cursor surfaced exactly those
|
|
32
|
+
* candidates; choosing outside them is silent scope expansion.
|
|
33
|
+
*
|
|
34
|
+
* P3 — Approval is never execution.
|
|
35
|
+
* approve() transitions to "approved", not "accepted".
|
|
36
|
+
* deliver() is a separate explicit act by the product shell.
|
|
37
|
+
* These two steps must never be collapsed into one.
|
|
38
|
+
*
|
|
39
|
+
* P4 — Delivery requires approved.
|
|
40
|
+
* deliver() called from any phase other than "approved" returns
|
|
41
|
+
* "blocked". The gate inside deliverCursorExecution() also
|
|
42
|
+
* independently checks eligibility. Defense-in-depth.
|
|
43
|
+
*
|
|
44
|
+
* P5 — Session carries state but has no independent authority.
|
|
45
|
+
* The session holds the artifact and display fields.
|
|
46
|
+
* Authority lives in: intake (mode), OCD/policy (constraints),
|
|
47
|
+
* H (approval, narrowing), and the delivery gate (eligibility).
|
|
48
|
+
* The session is the carrier and transition guard — nothing more.
|
|
49
|
+
*
|
|
50
|
+
* P6 — All authority lives upstream of the session.
|
|
51
|
+
* intake → sole mode authority
|
|
52
|
+
* OCD → sole policy authority
|
|
53
|
+
* H → sole approval authority
|
|
54
|
+
* gate → sole delivery eligibility authority
|
|
55
|
+
* Session → no authority of its own
|
|
56
|
+
*
|
|
57
|
+
* ── Session lifecycle ─────────────────────────────────────────────────────────
|
|
58
|
+
*
|
|
59
|
+
* idle
|
|
60
|
+
* → submit(input) → "prepared" | "conflict" | "not_execute" | "intake_failed"
|
|
61
|
+
*
|
|
62
|
+
* prepared
|
|
63
|
+
* → approve() → "approved"
|
|
64
|
+
* → reject() → "rejected"
|
|
65
|
+
* → narrow(files) → "prepared" (re-evaluated after narrow)
|
|
66
|
+
*
|
|
67
|
+
* conflict
|
|
68
|
+
* → acceptConflict() → "prepared" (re-evaluated OCD status)
|
|
69
|
+
* → reject() → "rejected"
|
|
70
|
+
*
|
|
71
|
+
* approved
|
|
72
|
+
* → deliver(plugin, storeDir) → "accepted" | "scope_question" | "exec_error" | "blocked"
|
|
73
|
+
*
|
|
74
|
+
* scope_question
|
|
75
|
+
* → answerScope(file) → "approved" (narrowed + re-approved)
|
|
76
|
+
* → reject() → "rejected"
|
|
77
|
+
*
|
|
78
|
+
* Terminal: "accepted" | "rejected" | "not_execute" | "intake_failed" | "blocked"
|
|
79
|
+
*
|
|
80
|
+
* ── Dependency direction ───────────────────────────────────────────────────────
|
|
81
|
+
*
|
|
82
|
+
* Session imports: intake, coordinator, cursor module.
|
|
83
|
+
* Coordinator NEVER imports Session.
|
|
84
|
+
* Delivery gate NEVER imports Session.
|
|
85
|
+
*/
|
|
86
|
+
import { deliverCursorExecution } from "../execution/cursor/cursor-execution-coordinator.js";
|
|
87
|
+
import type { CursorPreparationResult, CursorExecutionResult, CursorPresentHints } from "../execution/cursor/cursor-execution-coordinator.js";
|
|
88
|
+
import type { CursorHandoffArtifact, CursorOCDPolicy, CursorScopeQuestion } from "../cursor/types.js";
|
|
89
|
+
import type { CursorEditorPlugin } from "../cursor/delivery-gate.js";
|
|
90
|
+
import type { ReplaceChange } from "../understand/interpretation/types.js";
|
|
91
|
+
export type SessionPhase = "idle" | "not_execute" | "intake_failed" | "prepared" | "conflict" | "approved" | "scope_question" | "accepted" | "exec_error" | "blocked" | "rejected";
|
|
92
|
+
export type CursorSessionState = {
|
|
93
|
+
readonly phase: SessionPhase;
|
|
94
|
+
readonly input?: string;
|
|
95
|
+
readonly parsedChange?: ReplaceChange;
|
|
96
|
+
readonly intentId?: string;
|
|
97
|
+
readonly responseId?: string;
|
|
98
|
+
readonly artifact?: CursorHandoffArtifact;
|
|
99
|
+
readonly prepResult?: CursorPreparationResult;
|
|
100
|
+
/**
|
|
101
|
+
* presentHints — wiring bridge for Phase 5D contradiction visibility.
|
|
102
|
+
*
|
|
103
|
+
* Pass to presentFromInput(rawInput, intakeResult, trace, policyHint, parsedChangeHint)
|
|
104
|
+
* so the present coordinator can detect policy_may_block_target for prohibited
|
|
105
|
+
* target paths in execute-mode flows.
|
|
106
|
+
*
|
|
107
|
+
* policyHint: { prohibitedGlobs: state.presentHints.prohibitedGlobs }
|
|
108
|
+
* parsedChangeHint: { filePath: state.presentHints.parsedChangeFilePath }
|
|
109
|
+
*
|
|
110
|
+
* Set when phase transitions to "prepared" or "conflict". Preserved through
|
|
111
|
+
* subsequent transitions. Cleared only when a new session is created.
|
|
112
|
+
*/
|
|
113
|
+
readonly presentHints?: CursorPresentHints;
|
|
114
|
+
readonly scopeQuestion?: CursorScopeQuestion;
|
|
115
|
+
readonly executionResult?: CursorExecutionResult;
|
|
116
|
+
/**
|
|
117
|
+
* preparedAt — Unix timestamp (ms) when the session first entered the
|
|
118
|
+
* "prepared" or "conflict" phase.
|
|
119
|
+
*
|
|
120
|
+
* Phase 6C: used by evaluateSessionStaleness() to compute session age.
|
|
121
|
+
* Not set for idle, not_execute, intake_failed, or terminal phases.
|
|
122
|
+
* Set once on the first prepare; preserved through subsequent transitions.
|
|
123
|
+
*/
|
|
124
|
+
readonly preparedAt?: number;
|
|
125
|
+
readonly display: SessionDisplay;
|
|
126
|
+
};
|
|
127
|
+
export type SessionDisplay = {
|
|
128
|
+
/** Single-line headline for the current phase. */
|
|
129
|
+
readonly headline: string;
|
|
130
|
+
/** Summary of the proposed change (if known). */
|
|
131
|
+
readonly changeSummary?: string | undefined;
|
|
132
|
+
/** File(s) in scope (if known). */
|
|
133
|
+
readonly targetFiles?: readonly string[] | undefined;
|
|
134
|
+
/** OCD conflict messages (if any). */
|
|
135
|
+
readonly conflicts?: readonly string[] | undefined;
|
|
136
|
+
/** Scope candidates (when phase === "scope_question"). */
|
|
137
|
+
readonly scopeCandidates?: readonly string[] | undefined;
|
|
138
|
+
/** Result note (when phase is a terminal execution outcome). */
|
|
139
|
+
readonly resultNote?: string | undefined;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Create a new product session in the idle phase.
|
|
143
|
+
*/
|
|
144
|
+
export declare function createSession(): CursorSessionState;
|
|
145
|
+
/**
|
|
146
|
+
* Submit user input. Runs intake + prepare. Returns next session state.
|
|
147
|
+
*
|
|
148
|
+
* @param input The raw user text (e.g. "change button color to red").
|
|
149
|
+
* @param policy OCD policy for the workspace.
|
|
150
|
+
*/
|
|
151
|
+
export declare function submit(state: CursorSessionState, input: string, policy: CursorOCDPolicy): CursorSessionState;
|
|
152
|
+
/**
|
|
153
|
+
* H approves the prepared artifact. Transitions to "approved".
|
|
154
|
+
* Only valid from "prepared" phase.
|
|
155
|
+
*/
|
|
156
|
+
export declare function approve(state: CursorSessionState, at?: number): CursorSessionState;
|
|
157
|
+
/**
|
|
158
|
+
* H accepts the OCD conflict. Transitions from "conflict" back to "prepared".
|
|
159
|
+
*/
|
|
160
|
+
export declare function acceptConflict(state: CursorSessionState): CursorSessionState;
|
|
161
|
+
/**
|
|
162
|
+
* H narrows the scope to a subset of the currently allowed files.
|
|
163
|
+
* Monotonic: can only reduce, not expand. Re-evaluates display.
|
|
164
|
+
* Valid from "prepared" or "scope_question".
|
|
165
|
+
*/
|
|
166
|
+
export declare function narrow(state: CursorSessionState, allowedFiles: readonly string[]): CursorSessionState;
|
|
167
|
+
/**
|
|
168
|
+
* H answers a scope question by selecting a single candidate file.
|
|
169
|
+
* The session narrows to that file and re-approves automatically.
|
|
170
|
+
* Valid from "scope_question".
|
|
171
|
+
*/
|
|
172
|
+
export declare function answerScope(state: CursorSessionState, file: string, at?: number): CursorSessionState;
|
|
173
|
+
/**
|
|
174
|
+
* H rejects. Terminal state.
|
|
175
|
+
*/
|
|
176
|
+
export declare function reject(state: CursorSessionState): CursorSessionState;
|
|
177
|
+
/**
|
|
178
|
+
* Deliver the approved artifact through the execution gate.
|
|
179
|
+
* Only valid from "approved" phase. Returns a terminal or "scope_question" state.
|
|
180
|
+
*
|
|
181
|
+
* @param plugin The transport adapter (CursorInProcessAdapter for real edits).
|
|
182
|
+
* @param storeDir Absolute path to UCP store directory.
|
|
183
|
+
* @param deps Optional injectable persistence fns for testing.
|
|
184
|
+
*/
|
|
185
|
+
export declare function deliver(state: CursorSessionState, plugin: CursorEditorPlugin, storeDir: string, deps?: Parameters<typeof deliverCursorExecution>[3]): Promise<CursorSessionState>;
|
|
186
|
+
/** Returns true if the session is in a terminal phase (no further transitions). */
|
|
187
|
+
export declare function isTerminal(state: CursorSessionState): boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Extract contradiction-visibility args for presentFromInput().
|
|
190
|
+
*
|
|
191
|
+
* Call this after submit() to get the policyHint and parsedChangeHint that
|
|
192
|
+
* enable Phase 5D cross-layer contradiction detection. Pass the result
|
|
193
|
+
* arguments directly to presentFromInput():
|
|
194
|
+
*
|
|
195
|
+
* const { policyHint, parsedChangeHint } = getPresentHints(state);
|
|
196
|
+
* presentFromInput(rawInput, intakeResult, undefined, policyHint, parsedChangeHint);
|
|
197
|
+
*
|
|
198
|
+
* Returns undefined for both hints when the session has no presentHints
|
|
199
|
+
* (e.g. idle, not_execute, intake_failed phases).
|
|
200
|
+
*/
|
|
201
|
+
export declare function getPresentHints(state: CursorSessionState): {
|
|
202
|
+
policyHint: {
|
|
203
|
+
readonly prohibitedGlobs: readonly string[];
|
|
204
|
+
} | undefined;
|
|
205
|
+
parsedChangeHint: {
|
|
206
|
+
readonly filePath?: string;
|
|
207
|
+
} | undefined;
|
|
208
|
+
};
|
|
209
|
+
/** Returns true if the session accepted and applied an edit. */
|
|
210
|
+
export declare function isAccepted(state: CursorSessionState): boolean;
|
|
211
|
+
//# sourceMappingURL=cursor-product-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-product-session.d.ts","sourceRoot":"","sources":["../../../src/product/cursor-product-session.ts"],"names":[],"mappings":"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"}
|