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.
Files changed (665) hide show
  1. package/LICENSE +186 -0
  2. package/README.md +724 -0
  3. package/bin/use-steady.js +13 -0
  4. package/dist/server-store.d.ts +68 -0
  5. package/dist/server-store.d.ts.map +1 -0
  6. package/dist/server-store.js +133 -0
  7. package/dist/server-store.js.map +1 -0
  8. package/dist/server.d.ts +35 -0
  9. package/dist/server.d.ts.map +1 -0
  10. package/dist/server.js +569 -0
  11. package/dist/server.js.map +1 -0
  12. package/dist/src/claude/adapters/api-adapter.d.ts +99 -0
  13. package/dist/src/claude/adapters/api-adapter.d.ts.map +1 -0
  14. package/dist/src/claude/adapters/api-adapter.js +415 -0
  15. package/dist/src/claude/adapters/api-adapter.js.map +1 -0
  16. package/dist/src/claude/adapters/stub-adapter.d.ts +73 -0
  17. package/dist/src/claude/adapters/stub-adapter.d.ts.map +1 -0
  18. package/dist/src/claude/adapters/stub-adapter.js +114 -0
  19. package/dist/src/claude/adapters/stub-adapter.js.map +1 -0
  20. package/dist/src/claude/artifact-mapper.d.ts +85 -0
  21. package/dist/src/claude/artifact-mapper.d.ts.map +1 -0
  22. package/dist/src/claude/artifact-mapper.js +187 -0
  23. package/dist/src/claude/artifact-mapper.js.map +1 -0
  24. package/dist/src/claude/delivery-gate.d.ts +136 -0
  25. package/dist/src/claude/delivery-gate.d.ts.map +1 -0
  26. package/dist/src/claude/delivery-gate.js +231 -0
  27. package/dist/src/claude/delivery-gate.js.map +1 -0
  28. package/dist/src/claude/index.d.ts +24 -0
  29. package/dist/src/claude/index.d.ts.map +1 -0
  30. package/dist/src/claude/index.js +23 -0
  31. package/dist/src/claude/index.js.map +1 -0
  32. package/dist/src/claude/types.d.ts +223 -0
  33. package/dist/src/claude/types.d.ts.map +1 -0
  34. package/dist/src/claude/types.js +64 -0
  35. package/dist/src/claude/types.js.map +1 -0
  36. package/dist/src/control/compiler.d.ts +125 -0
  37. package/dist/src/control/compiler.d.ts.map +1 -0
  38. package/dist/src/control/compiler.js +179 -0
  39. package/dist/src/control/compiler.js.map +1 -0
  40. package/dist/src/control/constraints.d.ts +42 -0
  41. package/dist/src/control/constraints.d.ts.map +1 -0
  42. package/dist/src/control/constraints.js +116 -0
  43. package/dist/src/control/constraints.js.map +1 -0
  44. package/dist/src/control/drift-detector.d.ts +49 -0
  45. package/dist/src/control/drift-detector.d.ts.map +1 -0
  46. package/dist/src/control/drift-detector.js +115 -0
  47. package/dist/src/control/drift-detector.js.map +1 -0
  48. package/dist/src/control/index.d.ts +44 -0
  49. package/dist/src/control/index.d.ts.map +1 -0
  50. package/dist/src/control/index.js +40 -0
  51. package/dist/src/control/index.js.map +1 -0
  52. package/dist/src/control/types.d.ts +144 -0
  53. package/dist/src/control/types.d.ts.map +1 -0
  54. package/dist/src/control/types.js +57 -0
  55. package/dist/src/control/types.js.map +1 -0
  56. package/dist/src/cursor/adapters/inprocess-adapter.d.ts +78 -0
  57. package/dist/src/cursor/adapters/inprocess-adapter.d.ts.map +1 -0
  58. package/dist/src/cursor/adapters/inprocess-adapter.js +308 -0
  59. package/dist/src/cursor/adapters/inprocess-adapter.js.map +1 -0
  60. package/dist/src/cursor/adapters/stub-adapter.d.ts +75 -0
  61. package/dist/src/cursor/adapters/stub-adapter.d.ts.map +1 -0
  62. package/dist/src/cursor/adapters/stub-adapter.js +120 -0
  63. package/dist/src/cursor/adapters/stub-adapter.js.map +1 -0
  64. package/dist/src/cursor/artifact-mapper.d.ts +81 -0
  65. package/dist/src/cursor/artifact-mapper.d.ts.map +1 -0
  66. package/dist/src/cursor/artifact-mapper.js +203 -0
  67. package/dist/src/cursor/artifact-mapper.js.map +1 -0
  68. package/dist/src/cursor/delivery-gate.d.ts +144 -0
  69. package/dist/src/cursor/delivery-gate.d.ts.map +1 -0
  70. package/dist/src/cursor/delivery-gate.js +208 -0
  71. package/dist/src/cursor/delivery-gate.js.map +1 -0
  72. package/dist/src/cursor/glob-matcher.d.ts +30 -0
  73. package/dist/src/cursor/glob-matcher.d.ts.map +1 -0
  74. package/dist/src/cursor/glob-matcher.js +68 -0
  75. package/dist/src/cursor/glob-matcher.js.map +1 -0
  76. package/dist/src/cursor/index.d.ts +43 -0
  77. package/dist/src/cursor/index.d.ts.map +1 -0
  78. package/dist/src/cursor/index.js +44 -0
  79. package/dist/src/cursor/index.js.map +1 -0
  80. package/dist/src/cursor/ocd-evaluator.d.ts +89 -0
  81. package/dist/src/cursor/ocd-evaluator.d.ts.map +1 -0
  82. package/dist/src/cursor/ocd-evaluator.js +142 -0
  83. package/dist/src/cursor/ocd-evaluator.js.map +1 -0
  84. package/dist/src/cursor/types.d.ts +309 -0
  85. package/dist/src/cursor/types.d.ts.map +1 -0
  86. package/dist/src/cursor/types.js +48 -0
  87. package/dist/src/cursor/types.js.map +1 -0
  88. package/dist/src/execution/claude/claude-execution-coordinator.d.ts +164 -0
  89. package/dist/src/execution/claude/claude-execution-coordinator.d.ts.map +1 -0
  90. package/dist/src/execution/claude/claude-execution-coordinator.js +198 -0
  91. package/dist/src/execution/claude/claude-execution-coordinator.js.map +1 -0
  92. package/dist/src/execution/claude/index.d.ts +13 -0
  93. package/dist/src/execution/claude/index.d.ts.map +1 -0
  94. package/dist/src/execution/claude/index.js +12 -0
  95. package/dist/src/execution/claude/index.js.map +1 -0
  96. package/dist/src/execution/cursor/cursor-execution-coordinator.d.ts +216 -0
  97. package/dist/src/execution/cursor/cursor-execution-coordinator.d.ts.map +1 -0
  98. package/dist/src/execution/cursor/cursor-execution-coordinator.js +233 -0
  99. package/dist/src/execution/cursor/cursor-execution-coordinator.js.map +1 -0
  100. package/dist/src/execution/cursor/index.d.ts +20 -0
  101. package/dist/src/execution/cursor/index.d.ts.map +1 -0
  102. package/dist/src/execution/cursor/index.js +18 -0
  103. package/dist/src/execution/cursor/index.js.map +1 -0
  104. package/dist/src/execution/reminders/index.d.ts +11 -0
  105. package/dist/src/execution/reminders/index.d.ts.map +1 -0
  106. package/dist/src/execution/reminders/index.js +9 -0
  107. package/dist/src/execution/reminders/index.js.map +1 -0
  108. package/dist/src/execution/reminders/reminder-execution-coordinator.d.ts +125 -0
  109. package/dist/src/execution/reminders/reminder-execution-coordinator.d.ts.map +1 -0
  110. package/dist/src/execution/reminders/reminder-execution-coordinator.js +129 -0
  111. package/dist/src/execution/reminders/reminder-execution-coordinator.js.map +1 -0
  112. package/dist/src/execution/reminders/reminder-execution-types.d.ts +161 -0
  113. package/dist/src/execution/reminders/reminder-execution-types.d.ts.map +1 -0
  114. package/dist/src/execution/reminders/reminder-execution-types.js +39 -0
  115. package/dist/src/execution/reminders/reminder-execution-types.js.map +1 -0
  116. package/dist/src/execution/reminders/reminder-execution-validator.d.ts +45 -0
  117. package/dist/src/execution/reminders/reminder-execution-validator.d.ts.map +1 -0
  118. package/dist/src/execution/reminders/reminder-execution-validator.js +92 -0
  119. package/dist/src/execution/reminders/reminder-execution-validator.js.map +1 -0
  120. package/dist/src/execution/reminders/reminder-executor.d.ts +62 -0
  121. package/dist/src/execution/reminders/reminder-executor.d.ts.map +1 -0
  122. package/dist/src/execution/reminders/reminder-executor.js +113 -0
  123. package/dist/src/execution/reminders/reminder-executor.js.map +1 -0
  124. package/dist/src/execution/reminders/reminder-time-parser.d.ts +41 -0
  125. package/dist/src/execution/reminders/reminder-time-parser.d.ts.map +1 -0
  126. package/dist/src/execution/reminders/reminder-time-parser.js +113 -0
  127. package/dist/src/execution/reminders/reminder-time-parser.js.map +1 -0
  128. package/dist/src/friction/auto-capture.d.ts +38 -0
  129. package/dist/src/friction/auto-capture.d.ts.map +1 -0
  130. package/dist/src/friction/auto-capture.js +133 -0
  131. package/dist/src/friction/auto-capture.js.map +1 -0
  132. package/dist/src/friction/client.d.ts +39 -0
  133. package/dist/src/friction/client.d.ts.map +1 -0
  134. package/dist/src/friction/client.js +165 -0
  135. package/dist/src/friction/client.js.map +1 -0
  136. package/dist/src/friction/config.d.ts +16 -0
  137. package/dist/src/friction/config.d.ts.map +1 -0
  138. package/dist/src/friction/config.js +56 -0
  139. package/dist/src/friction/config.js.map +1 -0
  140. package/dist/src/friction/github-auth.d.ts +41 -0
  141. package/dist/src/friction/github-auth.d.ts.map +1 -0
  142. package/dist/src/friction/github-auth.js +155 -0
  143. package/dist/src/friction/github-auth.js.map +1 -0
  144. package/dist/src/friction/github-issues.d.ts +51 -0
  145. package/dist/src/friction/github-issues.d.ts.map +1 -0
  146. package/dist/src/friction/github-issues.js +118 -0
  147. package/dist/src/friction/github-issues.js.map +1 -0
  148. package/dist/src/friction/payout-ledger.d.ts +45 -0
  149. package/dist/src/friction/payout-ledger.d.ts.map +1 -0
  150. package/dist/src/friction/payout-ledger.js +111 -0
  151. package/dist/src/friction/payout-ledger.js.map +1 -0
  152. package/dist/src/friction/queue.d.ts +42 -0
  153. package/dist/src/friction/queue.d.ts.map +1 -0
  154. package/dist/src/friction/queue.js +179 -0
  155. package/dist/src/friction/queue.js.map +1 -0
  156. package/dist/src/friction/reviewer.d.ts +42 -0
  157. package/dist/src/friction/reviewer.d.ts.map +1 -0
  158. package/dist/src/friction/reviewer.js +269 -0
  159. package/dist/src/friction/reviewer.js.map +1 -0
  160. package/dist/src/friction/types.d.ts +63 -0
  161. package/dist/src/friction/types.d.ts.map +1 -0
  162. package/dist/src/friction/types.js +18 -0
  163. package/dist/src/friction/types.js.map +1 -0
  164. package/dist/src/history/index.d.ts +39 -0
  165. package/dist/src/history/index.d.ts.map +1 -0
  166. package/dist/src/history/index.js +41 -0
  167. package/dist/src/history/index.js.map +1 -0
  168. package/dist/src/history/session-chain.d.ts +36 -0
  169. package/dist/src/history/session-chain.d.ts.map +1 -0
  170. package/dist/src/history/session-chain.js +91 -0
  171. package/dist/src/history/session-chain.js.map +1 -0
  172. package/dist/src/history/types.d.ts +130 -0
  173. package/dist/src/history/types.d.ts.map +1 -0
  174. package/dist/src/history/types.js +32 -0
  175. package/dist/src/history/types.js.map +1 -0
  176. package/dist/src/history/workflow-history.d.ts +48 -0
  177. package/dist/src/history/workflow-history.d.ts.map +1 -0
  178. package/dist/src/history/workflow-history.js +116 -0
  179. package/dist/src/history/workflow-history.js.map +1 -0
  180. package/dist/src/index.d.ts +88 -0
  181. package/dist/src/index.d.ts.map +1 -0
  182. package/dist/src/index.js +58 -0
  183. package/dist/src/index.js.map +1 -0
  184. package/dist/src/intake/classify-intent-state.d.ts +20 -0
  185. package/dist/src/intake/classify-intent-state.d.ts.map +1 -0
  186. package/dist/src/intake/classify-intent-state.js +29 -0
  187. package/dist/src/intake/classify-intent-state.js.map +1 -0
  188. package/dist/src/intake/intake-service.d.ts +105 -0
  189. package/dist/src/intake/intake-service.d.ts.map +1 -0
  190. package/dist/src/intake/intake-service.js +407 -0
  191. package/dist/src/intake/intake-service.js.map +1 -0
  192. package/dist/src/intake/response-planner.d.ts +25 -0
  193. package/dist/src/intake/response-planner.d.ts.map +1 -0
  194. package/dist/src/intake/response-planner.js +52 -0
  195. package/dist/src/intake/response-planner.js.map +1 -0
  196. package/dist/src/intake/signal-extractor.d.ts +25 -0
  197. package/dist/src/intake/signal-extractor.d.ts.map +1 -0
  198. package/dist/src/intake/signal-extractor.js +42 -0
  199. package/dist/src/intake/signal-extractor.js.map +1 -0
  200. package/dist/src/intake/trace.d.ts +157 -0
  201. package/dist/src/intake/trace.d.ts.map +1 -0
  202. package/dist/src/intake/trace.js +38 -0
  203. package/dist/src/intake/trace.js.map +1 -0
  204. package/dist/src/intake/types.d.ts +70 -0
  205. package/dist/src/intake/types.d.ts.map +1 -0
  206. package/dist/src/intake/types.js +30 -0
  207. package/dist/src/intake/types.js.map +1 -0
  208. package/dist/src/interaction/defaults.d.ts +12 -0
  209. package/dist/src/interaction/defaults.d.ts.map +1 -0
  210. package/dist/src/interaction/defaults.js +26 -0
  211. package/dist/src/interaction/defaults.js.map +1 -0
  212. package/dist/src/interaction/guidance-order.d.ts +53 -0
  213. package/dist/src/interaction/guidance-order.d.ts.map +1 -0
  214. package/dist/src/interaction/guidance-order.js +131 -0
  215. package/dist/src/interaction/guidance-order.js.map +1 -0
  216. package/dist/src/interaction/observe.d.ts +57 -0
  217. package/dist/src/interaction/observe.d.ts.map +1 -0
  218. package/dist/src/interaction/observe.js +77 -0
  219. package/dist/src/interaction/observe.js.map +1 -0
  220. package/dist/src/interaction/selectors.d.ts +16 -0
  221. package/dist/src/interaction/selectors.d.ts.map +1 -0
  222. package/dist/src/interaction/selectors.js +23 -0
  223. package/dist/src/interaction/selectors.js.map +1 -0
  224. package/dist/src/interaction/types.d.ts +105 -0
  225. package/dist/src/interaction/types.d.ts.map +1 -0
  226. package/dist/src/interaction/types.js +48 -0
  227. package/dist/src/interaction/types.js.map +1 -0
  228. package/dist/src/interaction/updater.d.ts +22 -0
  229. package/dist/src/interaction/updater.d.ts.map +1 -0
  230. package/dist/src/interaction/updater.js +87 -0
  231. package/dist/src/interaction/updater.js.map +1 -0
  232. package/dist/src/present/boundary-explanation/boundary-explanation-detector.d.ts +48 -0
  233. package/dist/src/present/boundary-explanation/boundary-explanation-detector.d.ts.map +1 -0
  234. package/dist/src/present/boundary-explanation/boundary-explanation-detector.js +107 -0
  235. package/dist/src/present/boundary-explanation/boundary-explanation-detector.js.map +1 -0
  236. package/dist/src/present/boundary-explanation/boundary-explanation-types.d.ts +43 -0
  237. package/dist/src/present/boundary-explanation/boundary-explanation-types.d.ts.map +1 -0
  238. package/dist/src/present/boundary-explanation/boundary-explanation-types.js +20 -0
  239. package/dist/src/present/boundary-explanation/boundary-explanation-types.js.map +1 -0
  240. package/dist/src/present/boundary-explanation/index.d.ts +10 -0
  241. package/dist/src/present/boundary-explanation/index.d.ts.map +1 -0
  242. package/dist/src/present/boundary-explanation/index.js +2 -0
  243. package/dist/src/present/boundary-explanation/index.js.map +1 -0
  244. package/dist/src/present/control-visibility/control-visibility-assertions.d.ts +70 -0
  245. package/dist/src/present/control-visibility/control-visibility-assertions.d.ts.map +1 -0
  246. package/dist/src/present/control-visibility/control-visibility-assertions.js +138 -0
  247. package/dist/src/present/control-visibility/control-visibility-assertions.js.map +1 -0
  248. package/dist/src/present/control-visibility/control-visibility-evaluator.d.ts +67 -0
  249. package/dist/src/present/control-visibility/control-visibility-evaluator.d.ts.map +1 -0
  250. package/dist/src/present/control-visibility/control-visibility-evaluator.js +146 -0
  251. package/dist/src/present/control-visibility/control-visibility-evaluator.js.map +1 -0
  252. package/dist/src/present/control-visibility/control-visibility-types.d.ts +113 -0
  253. package/dist/src/present/control-visibility/control-visibility-types.d.ts.map +1 -0
  254. package/dist/src/present/control-visibility/control-visibility-types.js +24 -0
  255. package/dist/src/present/control-visibility/control-visibility-types.js.map +1 -0
  256. package/dist/src/present/control-visibility/index.d.ts +16 -0
  257. package/dist/src/present/control-visibility/index.d.ts.map +1 -0
  258. package/dist/src/present/control-visibility/index.js +15 -0
  259. package/dist/src/present/control-visibility/index.js.map +1 -0
  260. package/dist/src/present/format.d.ts +57 -0
  261. package/dist/src/present/format.d.ts.map +1 -0
  262. package/dist/src/present/format.js +150 -0
  263. package/dist/src/present/format.js.map +1 -0
  264. package/dist/src/present/present-coordinator.d.ts +153 -0
  265. package/dist/src/present/present-coordinator.d.ts.map +1 -0
  266. package/dist/src/present/present-coordinator.js +213 -0
  267. package/dist/src/present/present-coordinator.js.map +1 -0
  268. package/dist/src/present/reminders/index.d.ts +22 -0
  269. package/dist/src/present/reminders/index.d.ts.map +1 -0
  270. package/dist/src/present/reminders/index.js +22 -0
  271. package/dist/src/present/reminders/index.js.map +1 -0
  272. package/dist/src/present/reminders/reminder-presenter.d.ts +76 -0
  273. package/dist/src/present/reminders/reminder-presenter.d.ts.map +1 -0
  274. package/dist/src/present/reminders/reminder-presenter.js +359 -0
  275. package/dist/src/present/reminders/reminder-presenter.js.map +1 -0
  276. package/dist/src/present/reminders/reminder-renderer.d.ts +82 -0
  277. package/dist/src/present/reminders/reminder-renderer.d.ts.map +1 -0
  278. package/dist/src/present/reminders/reminder-renderer.js +136 -0
  279. package/dist/src/present/reminders/reminder-renderer.js.map +1 -0
  280. package/dist/src/present/reminders/reminder-types.d.ts +131 -0
  281. package/dist/src/present/reminders/reminder-types.d.ts.map +1 -0
  282. package/dist/src/present/reminders/reminder-types.js +29 -0
  283. package/dist/src/present/reminders/reminder-types.js.map +1 -0
  284. package/dist/src/present/types.d.ts +114 -0
  285. package/dist/src/present/types.d.ts.map +1 -0
  286. package/dist/src/present/types.js +18 -0
  287. package/dist/src/present/types.js.map +1 -0
  288. package/dist/src/product/claude-product-session.d.ts +146 -0
  289. package/dist/src/product/claude-product-session.d.ts.map +1 -0
  290. package/dist/src/product/claude-product-session.js +362 -0
  291. package/dist/src/product/claude-product-session.js.map +1 -0
  292. package/dist/src/product/cursor-product-session.d.ts +211 -0
  293. package/dist/src/product/cursor-product-session.d.ts.map +1 -0
  294. package/dist/src/product/cursor-product-session.js +390 -0
  295. package/dist/src/product/cursor-product-session.js.map +1 -0
  296. package/dist/src/product/index.d.ts +28 -0
  297. package/dist/src/product/index.d.ts.map +1 -0
  298. package/dist/src/product/index.js +22 -0
  299. package/dist/src/product/index.js.map +1 -0
  300. package/dist/src/product/session-resilience/index.d.ts +17 -0
  301. package/dist/src/product/session-resilience/index.d.ts.map +1 -0
  302. package/dist/src/product/session-resilience/index.js +15 -0
  303. package/dist/src/product/session-resilience/index.js.map +1 -0
  304. package/dist/src/product/session-resilience/session-serializer.d.ts +43 -0
  305. package/dist/src/product/session-resilience/session-serializer.d.ts.map +1 -0
  306. package/dist/src/product/session-resilience/session-serializer.js +84 -0
  307. package/dist/src/product/session-resilience/session-serializer.js.map +1 -0
  308. package/dist/src/product/session-resilience/session-snapshot-types.d.ts +35 -0
  309. package/dist/src/product/session-resilience/session-snapshot-types.d.ts.map +1 -0
  310. package/dist/src/product/session-resilience/session-snapshot-types.js +21 -0
  311. package/dist/src/product/session-resilience/session-snapshot-types.js.map +1 -0
  312. package/dist/src/product/session-resilience/session-staleness.d.ts +54 -0
  313. package/dist/src/product/session-resilience/session-staleness.d.ts.map +1 -0
  314. package/dist/src/product/session-resilience/session-staleness.js +62 -0
  315. package/dist/src/product/session-resilience/session-staleness.js.map +1 -0
  316. package/dist/src/product/session-resilience/session-summary.d.ts +40 -0
  317. package/dist/src/product/session-resilience/session-summary.d.ts.map +1 -0
  318. package/dist/src/product/session-resilience/session-summary.js +72 -0
  319. package/dist/src/product/session-resilience/session-summary.js.map +1 -0
  320. package/dist/src/prv/patterns.d.ts +32 -0
  321. package/dist/src/prv/patterns.d.ts.map +1 -0
  322. package/dist/src/prv/patterns.js +40 -0
  323. package/dist/src/prv/patterns.js.map +1 -0
  324. package/dist/src/prv/prv.d.ts +13 -0
  325. package/dist/src/prv/prv.d.ts.map +1 -0
  326. package/dist/src/prv/prv.js +22 -0
  327. package/dist/src/prv/prv.js.map +1 -0
  328. package/dist/src/prv/types.d.ts +26 -0
  329. package/dist/src/prv/types.d.ts.map +1 -0
  330. package/dist/src/prv/types.js +15 -0
  331. package/dist/src/prv/types.js.map +1 -0
  332. package/dist/src/safety/detectors/arbitrary-exec.detector.d.ts +3 -0
  333. package/dist/src/safety/detectors/arbitrary-exec.detector.d.ts.map +1 -0
  334. package/dist/src/safety/detectors/arbitrary-exec.detector.js +31 -0
  335. package/dist/src/safety/detectors/arbitrary-exec.detector.js.map +1 -0
  336. package/dist/src/safety/detectors/bulk-data-exfil.detector.d.ts +21 -0
  337. package/dist/src/safety/detectors/bulk-data-exfil.detector.d.ts.map +1 -0
  338. package/dist/src/safety/detectors/bulk-data-exfil.detector.js +90 -0
  339. package/dist/src/safety/detectors/bulk-data-exfil.detector.js.map +1 -0
  340. package/dist/src/safety/detectors/destructive.detector.d.ts +3 -0
  341. package/dist/src/safety/detectors/destructive.detector.d.ts.map +1 -0
  342. package/dist/src/safety/detectors/destructive.detector.js +28 -0
  343. package/dist/src/safety/detectors/destructive.detector.js.map +1 -0
  344. package/dist/src/safety/detectors/evasion.detector.d.ts +3 -0
  345. package/dist/src/safety/detectors/evasion.detector.d.ts.map +1 -0
  346. package/dist/src/safety/detectors/evasion.detector.js +28 -0
  347. package/dist/src/safety/detectors/evasion.detector.js.map +1 -0
  348. package/dist/src/safety/detectors/secret-access.detector.d.ts +31 -0
  349. package/dist/src/safety/detectors/secret-access.detector.d.ts.map +1 -0
  350. package/dist/src/safety/detectors/secret-access.detector.js +78 -0
  351. package/dist/src/safety/detectors/secret-access.detector.js.map +1 -0
  352. package/dist/src/safety/registry.d.ts +9 -0
  353. package/dist/src/safety/registry.d.ts.map +1 -0
  354. package/dist/src/safety/registry.js +22 -0
  355. package/dist/src/safety/registry.js.map +1 -0
  356. package/dist/src/safety/safety-gate.d.ts +16 -0
  357. package/dist/src/safety/safety-gate.d.ts.map +1 -0
  358. package/dist/src/safety/safety-gate.js +26 -0
  359. package/dist/src/safety/safety-gate.js.map +1 -0
  360. package/dist/src/safety/types.d.ts +35 -0
  361. package/dist/src/safety/types.d.ts.map +1 -0
  362. package/dist/src/safety/types.js +14 -0
  363. package/dist/src/safety/types.js.map +1 -0
  364. package/dist/src/shell/claude-shell.d.ts +63 -0
  365. package/dist/src/shell/claude-shell.d.ts.map +1 -0
  366. package/dist/src/shell/claude-shell.js +81 -0
  367. package/dist/src/shell/claude-shell.js.map +1 -0
  368. package/dist/src/shell/cli/friction-admin.d.ts +14 -0
  369. package/dist/src/shell/cli/friction-admin.d.ts.map +1 -0
  370. package/dist/src/shell/cli/friction-admin.js +276 -0
  371. package/dist/src/shell/cli/friction-admin.js.map +1 -0
  372. package/dist/src/shell/cli/friction-report.d.ts +16 -0
  373. package/dist/src/shell/cli/friction-report.d.ts.map +1 -0
  374. package/dist/src/shell/cli/friction-report.js +156 -0
  375. package/dist/src/shell/cli/friction-report.js.map +1 -0
  376. package/dist/src/shell/cli/main.d.ts +68 -0
  377. package/dist/src/shell/cli/main.d.ts.map +1 -0
  378. package/dist/src/shell/cli/main.js +488 -0
  379. package/dist/src/shell/cli/main.js.map +1 -0
  380. package/dist/src/shell/cli/use-steady.d.ts +26 -0
  381. package/dist/src/shell/cli/use-steady.d.ts.map +1 -0
  382. package/dist/src/shell/cli/use-steady.js +117 -0
  383. package/dist/src/shell/cli/use-steady.js.map +1 -0
  384. package/dist/src/shell/cursor-shell.d.ts +63 -0
  385. package/dist/src/shell/cursor-shell.d.ts.map +1 -0
  386. package/dist/src/shell/cursor-shell.js +88 -0
  387. package/dist/src/shell/cursor-shell.js.map +1 -0
  388. package/dist/src/shell/defaults.d.ts +51 -0
  389. package/dist/src/shell/defaults.d.ts.map +1 -0
  390. package/dist/src/shell/defaults.js +78 -0
  391. package/dist/src/shell/defaults.js.map +1 -0
  392. package/dist/src/shell/history-render.d.ts +56 -0
  393. package/dist/src/shell/history-render.d.ts.map +1 -0
  394. package/dist/src/shell/history-render.js +166 -0
  395. package/dist/src/shell/history-render.js.map +1 -0
  396. package/dist/src/shell/index.d.ts +43 -0
  397. package/dist/src/shell/index.d.ts.map +1 -0
  398. package/dist/src/shell/index.js +45 -0
  399. package/dist/src/shell/index.js.map +1 -0
  400. package/dist/src/shell/render.d.ts +42 -0
  401. package/dist/src/shell/render.d.ts.map +1 -0
  402. package/dist/src/shell/render.js +122 -0
  403. package/dist/src/shell/render.js.map +1 -0
  404. package/dist/src/shell/types.d.ts +46 -0
  405. package/dist/src/shell/types.d.ts.map +1 -0
  406. package/dist/src/shell/types.js +19 -0
  407. package/dist/src/shell/types.js.map +1 -0
  408. package/dist/src/shell/workflow-defaults.d.ts +23 -0
  409. package/dist/src/shell/workflow-defaults.d.ts.map +1 -0
  410. package/dist/src/shell/workflow-defaults.js +27 -0
  411. package/dist/src/shell/workflow-defaults.js.map +1 -0
  412. package/dist/src/shell/workflow-render.d.ts +54 -0
  413. package/dist/src/shell/workflow-render.d.ts.map +1 -0
  414. package/dist/src/shell/workflow-render.js +319 -0
  415. package/dist/src/shell/workflow-render.js.map +1 -0
  416. package/dist/src/shell/workflow-shell.d.ts +110 -0
  417. package/dist/src/shell/workflow-shell.d.ts.map +1 -0
  418. package/dist/src/shell/workflow-shell.js +180 -0
  419. package/dist/src/shell/workflow-shell.js.map +1 -0
  420. package/dist/src/skills/audit.d.ts +118 -0
  421. package/dist/src/skills/audit.d.ts.map +1 -0
  422. package/dist/src/skills/audit.js +147 -0
  423. package/dist/src/skills/audit.js.map +1 -0
  424. package/dist/src/skills/invocation.d.ts +131 -0
  425. package/dist/src/skills/invocation.d.ts.map +1 -0
  426. package/dist/src/skills/invocation.js +165 -0
  427. package/dist/src/skills/invocation.js.map +1 -0
  428. package/dist/src/skills/loader.d.ts +70 -0
  429. package/dist/src/skills/loader.d.ts.map +1 -0
  430. package/dist/src/skills/loader.js +220 -0
  431. package/dist/src/skills/loader.js.map +1 -0
  432. package/dist/src/skills/local-recovery-adapter.d.ts +49 -0
  433. package/dist/src/skills/local-recovery-adapter.d.ts.map +1 -0
  434. package/dist/src/skills/local-recovery-adapter.js +184 -0
  435. package/dist/src/skills/local-recovery-adapter.js.map +1 -0
  436. package/dist/src/skills/parser.d.ts +53 -0
  437. package/dist/src/skills/parser.d.ts.map +1 -0
  438. package/dist/src/skills/parser.js +336 -0
  439. package/dist/src/skills/parser.js.map +1 -0
  440. package/dist/src/skills/registry.d.ts +123 -0
  441. package/dist/src/skills/registry.d.ts.map +1 -0
  442. package/dist/src/skills/registry.js +144 -0
  443. package/dist/src/skills/registry.js.map +1 -0
  444. package/dist/src/skills/types.d.ts +242 -0
  445. package/dist/src/skills/types.d.ts.map +1 -0
  446. package/dist/src/skills/types.js +50 -0
  447. package/dist/src/skills/types.js.map +1 -0
  448. package/dist/src/skills/validator.d.ts +31 -0
  449. package/dist/src/skills/validator.d.ts.map +1 -0
  450. package/dist/src/skills/validator.js +366 -0
  451. package/dist/src/skills/validator.js.map +1 -0
  452. package/dist/src/ucp/envelope.d.ts +165 -0
  453. package/dist/src/ucp/envelope.d.ts.map +1 -0
  454. package/dist/src/ucp/envelope.js +241 -0
  455. package/dist/src/ucp/envelope.js.map +1 -0
  456. package/dist/src/ucp/hashes.d.ts +36 -0
  457. package/dist/src/ucp/hashes.d.ts.map +1 -0
  458. package/dist/src/ucp/hashes.js +59 -0
  459. package/dist/src/ucp/hashes.js.map +1 -0
  460. package/dist/src/ucp/mappers/map-artifact.d.ts +58 -0
  461. package/dist/src/ucp/mappers/map-artifact.d.ts.map +1 -0
  462. package/dist/src/ucp/mappers/map-artifact.js +51 -0
  463. package/dist/src/ucp/mappers/map-artifact.js.map +1 -0
  464. package/dist/src/ucp/mappers/map-change-interpretation.d.ts +12 -0
  465. package/dist/src/ucp/mappers/map-change-interpretation.d.ts.map +1 -0
  466. package/dist/src/ucp/mappers/map-change-interpretation.js +18 -0
  467. package/dist/src/ucp/mappers/map-change-interpretation.js.map +1 -0
  468. package/dist/src/ucp/mappers/map-completion.d.ts +10 -0
  469. package/dist/src/ucp/mappers/map-completion.d.ts.map +1 -0
  470. package/dist/src/ucp/mappers/map-completion.js +24 -0
  471. package/dist/src/ucp/mappers/map-completion.js.map +1 -0
  472. package/dist/src/ucp/mappers/map-context.d.ts +9 -0
  473. package/dist/src/ucp/mappers/map-context.d.ts.map +1 -0
  474. package/dist/src/ucp/mappers/map-context.js +13 -0
  475. package/dist/src/ucp/mappers/map-context.js.map +1 -0
  476. package/dist/src/ucp/mappers/map-debug-trace.d.ts +10 -0
  477. package/dist/src/ucp/mappers/map-debug-trace.d.ts.map +1 -0
  478. package/dist/src/ucp/mappers/map-debug-trace.js +18 -0
  479. package/dist/src/ucp/mappers/map-debug-trace.js.map +1 -0
  480. package/dist/src/ucp/mappers/map-disambiguation.d.ts +10 -0
  481. package/dist/src/ucp/mappers/map-disambiguation.d.ts.map +1 -0
  482. package/dist/src/ucp/mappers/map-disambiguation.js +21 -0
  483. package/dist/src/ucp/mappers/map-disambiguation.js.map +1 -0
  484. package/dist/src/ucp/mappers/map-execution-trace.d.ts +64 -0
  485. package/dist/src/ucp/mappers/map-execution-trace.d.ts.map +1 -0
  486. package/dist/src/ucp/mappers/map-execution-trace.js +57 -0
  487. package/dist/src/ucp/mappers/map-execution-trace.js.map +1 -0
  488. package/dist/src/ucp/mappers/map-intent-interpretation.d.ts +11 -0
  489. package/dist/src/ucp/mappers/map-intent-interpretation.d.ts.map +1 -0
  490. package/dist/src/ucp/mappers/map-intent-interpretation.js +17 -0
  491. package/dist/src/ucp/mappers/map-intent-interpretation.js.map +1 -0
  492. package/dist/src/ucp/mappers/map-intent.d.ts +9 -0
  493. package/dist/src/ucp/mappers/map-intent.d.ts.map +1 -0
  494. package/dist/src/ucp/mappers/map-intent.js +11 -0
  495. package/dist/src/ucp/mappers/map-intent.js.map +1 -0
  496. package/dist/src/ucp/mappers/map-prv.d.ts +10 -0
  497. package/dist/src/ucp/mappers/map-prv.d.ts.map +1 -0
  498. package/dist/src/ucp/mappers/map-prv.js +14 -0
  499. package/dist/src/ucp/mappers/map-prv.js.map +1 -0
  500. package/dist/src/ucp/mappers/map-reminder-execution.d.ts +57 -0
  501. package/dist/src/ucp/mappers/map-reminder-execution.d.ts.map +1 -0
  502. package/dist/src/ucp/mappers/map-reminder-execution.js +69 -0
  503. package/dist/src/ucp/mappers/map-reminder-execution.js.map +1 -0
  504. package/dist/src/ucp/mappers/map-replay-report.d.ts +81 -0
  505. package/dist/src/ucp/mappers/map-replay-report.d.ts.map +1 -0
  506. package/dist/src/ucp/mappers/map-replay-report.js +76 -0
  507. package/dist/src/ucp/mappers/map-replay-report.js.map +1 -0
  508. package/dist/src/ucp/mappers/map-response.d.ts +13 -0
  509. package/dist/src/ucp/mappers/map-response.d.ts.map +1 -0
  510. package/dist/src/ucp/mappers/map-response.js +25 -0
  511. package/dist/src/ucp/mappers/map-response.js.map +1 -0
  512. package/dist/src/ucp/mappers/map-safety.d.ts +14 -0
  513. package/dist/src/ucp/mappers/map-safety.d.ts.map +1 -0
  514. package/dist/src/ucp/mappers/map-safety.js +22 -0
  515. package/dist/src/ucp/mappers/map-safety.js.map +1 -0
  516. package/dist/src/ucp/persistence/index.d.ts +24 -0
  517. package/dist/src/ucp/persistence/index.d.ts.map +1 -0
  518. package/dist/src/ucp/persistence/index.js +22 -0
  519. package/dist/src/ucp/persistence/index.js.map +1 -0
  520. package/dist/src/ucp/persistence/query.d.ts +164 -0
  521. package/dist/src/ucp/persistence/query.d.ts.map +1 -0
  522. package/dist/src/ucp/persistence/query.js +240 -0
  523. package/dist/src/ucp/persistence/query.js.map +1 -0
  524. package/dist/src/ucp/persistence/reader.d.ts +43 -0
  525. package/dist/src/ucp/persistence/reader.d.ts.map +1 -0
  526. package/dist/src/ucp/persistence/reader.js +104 -0
  527. package/dist/src/ucp/persistence/reader.js.map +1 -0
  528. package/dist/src/ucp/persistence/store.d.ts +77 -0
  529. package/dist/src/ucp/persistence/store.d.ts.map +1 -0
  530. package/dist/src/ucp/persistence/store.js +177 -0
  531. package/dist/src/ucp/persistence/store.js.map +1 -0
  532. package/dist/src/ucp/persistence/write.d.ts +48 -0
  533. package/dist/src/ucp/persistence/write.d.ts.map +1 -0
  534. package/dist/src/ucp/persistence/write.js +59 -0
  535. package/dist/src/ucp/persistence/write.js.map +1 -0
  536. package/dist/src/ucp/projection.d.ts +146 -0
  537. package/dist/src/ucp/projection.d.ts.map +1 -0
  538. package/dist/src/ucp/projection.js +139 -0
  539. package/dist/src/ucp/projection.js.map +1 -0
  540. package/dist/src/ucp/types.d.ts +585 -0
  541. package/dist/src/ucp/types.d.ts.map +1 -0
  542. package/dist/src/ucp/types.js +57 -0
  543. package/dist/src/ucp/types.js.map +1 -0
  544. package/dist/src/understand/completion/completion.d.ts +26 -0
  545. package/dist/src/understand/completion/completion.d.ts.map +1 -0
  546. package/dist/src/understand/completion/completion.js +45 -0
  547. package/dist/src/understand/completion/completion.js.map +1 -0
  548. package/dist/src/understand/completion/rules.d.ts +61 -0
  549. package/dist/src/understand/completion/rules.d.ts.map +1 -0
  550. package/dist/src/understand/completion/rules.js +268 -0
  551. package/dist/src/understand/completion/rules.js.map +1 -0
  552. package/dist/src/understand/completion/types.d.ts +68 -0
  553. package/dist/src/understand/completion/types.d.ts.map +1 -0
  554. package/dist/src/understand/completion/types.js +34 -0
  555. package/dist/src/understand/completion/types.js.map +1 -0
  556. package/dist/src/understand/context/context-alignment.d.ts +18 -0
  557. package/dist/src/understand/context/context-alignment.d.ts.map +1 -0
  558. package/dist/src/understand/context/context-alignment.js +61 -0
  559. package/dist/src/understand/context/context-alignment.js.map +1 -0
  560. package/dist/src/understand/context/types.d.ts +20 -0
  561. package/dist/src/understand/context/types.d.ts.map +1 -0
  562. package/dist/src/understand/context/types.js +13 -0
  563. package/dist/src/understand/context/types.js.map +1 -0
  564. package/dist/src/understand/disambiguation/detectors/missing-context.detector.d.ts +12 -0
  565. package/dist/src/understand/disambiguation/detectors/missing-context.detector.d.ts.map +1 -0
  566. package/dist/src/understand/disambiguation/detectors/missing-context.detector.js +60 -0
  567. package/dist/src/understand/disambiguation/detectors/missing-context.detector.js.map +1 -0
  568. package/dist/src/understand/disambiguation/detectors/overloaded-term.detector.d.ts +13 -0
  569. package/dist/src/understand/disambiguation/detectors/overloaded-term.detector.d.ts.map +1 -0
  570. package/dist/src/understand/disambiguation/detectors/overloaded-term.detector.js +57 -0
  571. package/dist/src/understand/disambiguation/detectors/overloaded-term.detector.js.map +1 -0
  572. package/dist/src/understand/disambiguation/detectors/typo-adjacent.detector.d.ts +16 -0
  573. package/dist/src/understand/disambiguation/detectors/typo-adjacent.detector.d.ts.map +1 -0
  574. package/dist/src/understand/disambiguation/detectors/typo-adjacent.detector.js +56 -0
  575. package/dist/src/understand/disambiguation/detectors/typo-adjacent.detector.js.map +1 -0
  576. package/dist/src/understand/disambiguation/registry.d.ts +14 -0
  577. package/dist/src/understand/disambiguation/registry.d.ts.map +1 -0
  578. package/dist/src/understand/disambiguation/registry.js +27 -0
  579. package/dist/src/understand/disambiguation/registry.js.map +1 -0
  580. package/dist/src/understand/disambiguation/types.d.ts +34 -0
  581. package/dist/src/understand/disambiguation/types.d.ts.map +1 -0
  582. package/dist/src/understand/disambiguation/types.js +15 -0
  583. package/dist/src/understand/disambiguation/types.js.map +1 -0
  584. package/dist/src/understand/intent-interpretation/intent-interpretation.d.ts +86 -0
  585. package/dist/src/understand/intent-interpretation/intent-interpretation.d.ts.map +1 -0
  586. package/dist/src/understand/intent-interpretation/intent-interpretation.js +141 -0
  587. package/dist/src/understand/intent-interpretation/intent-interpretation.js.map +1 -0
  588. package/dist/src/understand/intent-interpretation/interpreters/color-intent.interpreter.d.ts +33 -0
  589. package/dist/src/understand/intent-interpretation/interpreters/color-intent.interpreter.d.ts.map +1 -0
  590. package/dist/src/understand/intent-interpretation/interpreters/color-intent.interpreter.js +66 -0
  591. package/dist/src/understand/intent-interpretation/interpreters/color-intent.interpreter.js.map +1 -0
  592. package/dist/src/understand/intent-interpretation/interpreters/config-intent.interpreter.d.ts +20 -0
  593. package/dist/src/understand/intent-interpretation/interpreters/config-intent.interpreter.d.ts.map +1 -0
  594. package/dist/src/understand/intent-interpretation/interpreters/config-intent.interpreter.js +80 -0
  595. package/dist/src/understand/intent-interpretation/interpreters/config-intent.interpreter.js.map +1 -0
  596. package/dist/src/understand/intent-interpretation/interpreters/text-intent.interpreter.d.ts +25 -0
  597. package/dist/src/understand/intent-interpretation/interpreters/text-intent.interpreter.d.ts.map +1 -0
  598. package/dist/src/understand/intent-interpretation/interpreters/text-intent.interpreter.js +47 -0
  599. package/dist/src/understand/intent-interpretation/interpreters/text-intent.interpreter.js.map +1 -0
  600. package/dist/src/understand/intent-interpretation/interpreters/workflow-intent.interpreter.d.ts +35 -0
  601. package/dist/src/understand/intent-interpretation/interpreters/workflow-intent.interpreter.d.ts.map +1 -0
  602. package/dist/src/understand/intent-interpretation/interpreters/workflow-intent.interpreter.js +89 -0
  603. package/dist/src/understand/intent-interpretation/interpreters/workflow-intent.interpreter.js.map +1 -0
  604. package/dist/src/understand/intent-interpretation/registry.d.ts +18 -0
  605. package/dist/src/understand/intent-interpretation/registry.d.ts.map +1 -0
  606. package/dist/src/understand/intent-interpretation/registry.js +26 -0
  607. package/dist/src/understand/intent-interpretation/registry.js.map +1 -0
  608. package/dist/src/understand/intent-interpretation/types.d.ts +83 -0
  609. package/dist/src/understand/intent-interpretation/types.d.ts.map +1 -0
  610. package/dist/src/understand/intent-interpretation/types.js +40 -0
  611. package/dist/src/understand/intent-interpretation/types.js.map +1 -0
  612. package/dist/src/understand/interpretation/intent.d.ts +72 -0
  613. package/dist/src/understand/interpretation/intent.d.ts.map +1 -0
  614. package/dist/src/understand/interpretation/intent.js +414 -0
  615. package/dist/src/understand/interpretation/intent.js.map +1 -0
  616. package/dist/src/understand/interpretation/interpretation.d.ts +26 -0
  617. package/dist/src/understand/interpretation/interpretation.d.ts.map +1 -0
  618. package/dist/src/understand/interpretation/interpretation.js +43 -0
  619. package/dist/src/understand/interpretation/interpretation.js.map +1 -0
  620. package/dist/src/understand/interpretation/parser.d.ts +20 -0
  621. package/dist/src/understand/interpretation/parser.d.ts.map +1 -0
  622. package/dist/src/understand/interpretation/parser.js +88 -0
  623. package/dist/src/understand/interpretation/parser.js.map +1 -0
  624. package/dist/src/understand/interpretation/rules.d.ts +19 -0
  625. package/dist/src/understand/interpretation/rules.d.ts.map +1 -0
  626. package/dist/src/understand/interpretation/rules.js +222 -0
  627. package/dist/src/understand/interpretation/rules.js.map +1 -0
  628. package/dist/src/understand/interpretation/types.d.ts +90 -0
  629. package/dist/src/understand/interpretation/types.d.ts.map +1 -0
  630. package/dist/src/understand/interpretation/types.js +29 -0
  631. package/dist/src/understand/interpretation/types.js.map +1 -0
  632. package/dist/src/understand/shared/types.d.ts +13 -0
  633. package/dist/src/understand/shared/types.d.ts.map +1 -0
  634. package/dist/src/understand/shared/types.js +9 -0
  635. package/dist/src/understand/shared/types.js.map +1 -0
  636. package/dist/src/understand/silent-guidance/index.d.ts +4 -0
  637. package/dist/src/understand/silent-guidance/index.d.ts.map +1 -0
  638. package/dist/src/understand/silent-guidance/index.js +3 -0
  639. package/dist/src/understand/silent-guidance/index.js.map +1 -0
  640. package/dist/src/understand/silent-guidance/selector.d.ts +44 -0
  641. package/dist/src/understand/silent-guidance/selector.d.ts.map +1 -0
  642. package/dist/src/understand/silent-guidance/selector.js +158 -0
  643. package/dist/src/understand/silent-guidance/selector.js.map +1 -0
  644. package/dist/src/understand/silent-guidance/templates.d.ts +31 -0
  645. package/dist/src/understand/silent-guidance/templates.d.ts.map +1 -0
  646. package/dist/src/understand/silent-guidance/templates.js +109 -0
  647. package/dist/src/understand/silent-guidance/templates.js.map +1 -0
  648. package/dist/src/understand/silent-guidance/types.d.ts +36 -0
  649. package/dist/src/understand/silent-guidance/types.d.ts.map +1 -0
  650. package/dist/src/understand/silent-guidance/types.js +2 -0
  651. package/dist/src/understand/silent-guidance/types.js.map +1 -0
  652. package/dist/src/workflow/coordinator.d.ts +197 -0
  653. package/dist/src/workflow/coordinator.d.ts.map +1 -0
  654. package/dist/src/workflow/coordinator.js +682 -0
  655. package/dist/src/workflow/coordinator.js.map +1 -0
  656. package/dist/src/workflow/index.d.ts +30 -0
  657. package/dist/src/workflow/index.d.ts.map +1 -0
  658. package/dist/src/workflow/index.js +30 -0
  659. package/dist/src/workflow/index.js.map +1 -0
  660. package/dist/src/workflow/types.d.ts +213 -0
  661. package/dist/src/workflow/types.d.ts.map +1 -0
  662. package/dist/src/workflow/types.js +27 -0
  663. package/dist/src/workflow/types.js.map +1 -0
  664. package/package.json +54 -0
  665. 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAgB,8BAA8B,CAAC;AACrE,OAAO,EACL,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AAQzC,OAAO,EAAE,kBAAkB,EAAE,MAAY,+BAA+B,CAAC;AAmGzE,iFAAiF;AAEjF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,YAA0B,EAC1B,QAAoB,EACpB,UAAoB,EACpB,MAA6B,EAC7B,UAA8B,EAC9B,YAA2B;IAE3B,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAI,aAAa;YACrB,MAAM,EAAE,6CAA6C,YAAY,CAAC,IAAI,kCAAkC;SACzG,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,0BAA0B,CACzC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CACrE,CAAC;IAEF,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACpE,MAAM,OAAO,GAAK,wBAAwB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEhE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/D,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,gBAA4C,EAC5C,MAAmC,EACnC,QAAwB,EACxB,IAAgC;IAEhC,MAAM,IAAI,GAAK,IAAI,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEpD,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,UAAU;YACb,OAAO;gBACL,IAAI,EAAQ,UAAU;gBACtB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAG,MAAM,CAAC,SAAS;gBAC5B,OAAO,EAAE;oBACP,OAAO,EAAG,UAAU;oBACpB,QAAQ,EAAE,yBAAyB;oBACnC,IAAI,EAAM,eAAe,MAAM,CAAC,SAAS,EAAE;iBAC5C;aACF,CAAC;QAEJ,KAAK,sBAAsB;YACzB,OAAO;gBACL,IAAI,EAAW,sBAAsB;gBACrC,UAAU,EAAK,MAAM,CAAC,UAAU;gBAChC,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,OAAO,EAAE;oBACP,OAAO,EAAG,SAAS;oBACnB,QAAQ,EAAE,mCAAmC;oBAC7C,IAAI,EAAM,MAAM,CAAC,aAAa,CAAC,WAAW;iBAC3C;aACF,CAAC;QAEJ,KAAK,gCAAgC;YACnC,OAAO;gBACL,IAAI,EAAQ,gCAAgC;gBAC5C,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAG,MAAM,CAAC,SAAS;gBAC5B,MAAM,EAAM,MAAM,CAAC,OAAO;gBAC1B,OAAO,EAAE;oBACP,OAAO,EAAG,SAAS;oBACnB,QAAQ,EAAE,qCAAqC;oBAC/C,IAAI,EAAM,MAAM,CAAC,OAAO;iBACzB;aACF,CAAC;QAEJ,KAAK,oBAAoB;YACvB,OAAO;gBACL,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE;oBACP,OAAO,EAAG,SAAS;oBACnB,QAAQ,EAAE,0CAA0C;oBACpD,IAAI,EAAM,MAAM,CAAC,MAAM;iBACxB;aACF,CAAC;QAEJ,KAAK,qBAAqB;YACxB,OAAO;gBACL,IAAI,EAAI,qBAAqB;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE;oBACP,OAAO,EAAG,SAAS;oBACnB,QAAQ,EAAE,0CAA0C;oBACpD,IAAI,EAAM,MAAM,CAAC,MAAM;iBACxB;aACF,CAAC;QAEJ,KAAK,6BAA6B;YAChC,OAAO;gBACL,IAAI,EAAI,6BAA6B;gBACrC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE;oBACP,OAAO,EAAG,SAAS;oBACnB,QAAQ,EAAE,qDAAqD;oBAC/D,IAAI,EAAM,MAAM,CAAC,MAAM;iBACxB;aACF,CAAC;IACN,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF;;;;;;;GAOG;AACH,SAAS,iBAAiB,CACxB,QAAyC,EACzC,OAA8B,EAC9B,YAA2B;IAE3B,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,CAAC,YAAY,EAAE,QAAQ;QAAE,OAAO,SAAS,CAAC;IAE9C,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAClD,IAAI,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YAChD,SAAS,CAAC,IAAI,CACZ,gBAAgB,YAAY,CAAC,QAAQ,iCAAiC,OAAO,KAAK;gBAClF,0DAA0D,CAC3D,CAAC;YACF,MAAM,CAAE,0CAA0C;QACpD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,iFAAiF;AAEjF,SAAS,wBAAwB,CAC/B,QAAqC,EACrC,SAA4B;IAE5B,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,MAAM,UAAU,GAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAErD,OAAO;QACL,QAAQ,EAAI,WAAW,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,8BAA8B;QACxG,OAAO,EAAK,QAAQ,CAAC,QAAQ,CAAC,OAAO;QACrC,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -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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"}