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,241 @@
1
+ /**
2
+ * UCP envelope factory.
3
+ *
4
+ * ?? Identity contract ?????????????????????????????????????????????????????????
5
+ *
6
+ * id = sha256({ type, payload, refs })
7
+ * Content-addressed: same content ? same id.
8
+ * Does NOT include ts ? never changes when only ts changes.
9
+ *
10
+ * hash = sha256({ id, meta, payload, refs, type, version })
11
+ * Integrity hash covering all fields except ts (mutable) and hash itself.
12
+ * ts is excluded so the hash is stable regardless of wall-clock time.
13
+ *
14
+ * ?? Determinism guarantee ?????????????????????????????????????????????????????
15
+ *
16
+ * Two calls to createEnvelope() with identical type, payload, source, and refs
17
+ * will produce envelopes with the SAME id and SAME hash.
18
+ * They will differ only in ts (timestamp).
19
+ *
20
+ * ?? No randomness ?????????????????????????????????????????????????????????????
21
+ *
22
+ * createEnvelope does NOT use randomUUID or any non-deterministic input.
23
+ * id is fully determined by content.
24
+ */
25
+ import { hashObject } from "./hashes.js";
26
+ // ??? Core factory ??????????????????????????????????????????????????????????????
27
+ /**
28
+ * Create a UCPEnvelope from its constituent parts.
29
+ *
30
+ * @param type Dot-notation type string, e.g. "ucp.intent.v1".
31
+ * @param payload The structured payload. Must map EXACTLY from the source type.
32
+ * @param source The module name that produced this envelope (e.g. "completion").
33
+ * @param refs Optional parent/root envelope references.
34
+ */
35
+ export function createEnvelope(type, payload, source, refs) {
36
+ const meta = { source, deterministic: true };
37
+ // id: content-addressed. Same type + payload + refs ? same id.
38
+ // ts is intentionally excluded.
39
+ const idInput = refs !== undefined
40
+ ? { payload, refs, type }
41
+ : { payload, type };
42
+ const id = hashObject(idInput);
43
+ // hash: integrity over all stable fields. ts excluded.
44
+ const hashInput = refs !== undefined
45
+ ? { id, meta, payload, refs, type, version: 1 }
46
+ : { id, meta, payload, type, version: 1 };
47
+ const hash = hashObject(hashInput);
48
+ return {
49
+ id,
50
+ type,
51
+ version: 1,
52
+ ts: Date.now(),
53
+ payload,
54
+ meta,
55
+ ...(refs !== undefined ? { refs } : {}),
56
+ hash,
57
+ };
58
+ }
59
+ // ??? Typed factory helpers ????????????????????????????????????????????????????
60
+ export function createIntentEnvelope(payload, refs) {
61
+ return createEnvelope("ucp.intent.v1", payload, "intake", refs);
62
+ }
63
+ export function createPRVEnvelope(payload, refs) {
64
+ return createEnvelope("ucp.prv.v1", payload, "prv", refs);
65
+ }
66
+ export function createSafetyEnvelope(payload, refs) {
67
+ return createEnvelope("ucp.safety.v1", payload, "safety", refs);
68
+ }
69
+ export function createContextAlignmentEnvelope(payload, refs) {
70
+ return createEnvelope("ucp.context.v1", payload, "context", refs);
71
+ }
72
+ export function createDisambiguationEnvelope(payload, refs) {
73
+ return createEnvelope("ucp.disambiguation.v1", payload, "disambiguation", refs);
74
+ }
75
+ export function createCompletionEnvelope(payload, refs) {
76
+ return createEnvelope("ucp.completion.v1", payload, "completion", refs);
77
+ }
78
+ export function createIntentInterpretationEnvelope(payload, refs) {
79
+ return createEnvelope("ucp.intent_interpretation.v1", payload, "intent_interpretation", refs);
80
+ }
81
+ export function createChangeInterpretationEnvelope(payload, refs) {
82
+ return createEnvelope("ucp.change_interpretation.v1", payload, "change_interpretation", refs);
83
+ }
84
+ export function createResponseEnvelope(payload, refs) {
85
+ return createEnvelope("ucp.response.v1", payload, "response_planner", refs);
86
+ }
87
+ export function createInteractionContractEnvelope(payload, refs) {
88
+ return createEnvelope("ucp.interaction_contract.v1", payload, "interaction", refs);
89
+ }
90
+ export function createInteractionEventEnvelope(payload, refs) {
91
+ return createEnvelope("ucp.interaction_event.v1", payload, "interaction", refs);
92
+ }
93
+ export function createDebugTraceEnvelope(payload, refs) {
94
+ return createEnvelope("ucp.debug_trace.v1", payload, "intake", refs);
95
+ }
96
+ // ??? Phase 3: post-execution envelope factories ???????????????????????????????
97
+ /**
98
+ * Create an artifact envelope from a finalized run record.
99
+ *
100
+ * source = "artifact_finalizer" ? the component that calls finalizeArtifact().
101
+ * refs.rootId = intentId (ucp.intent.v1 ID) when available ? closes the provenance chain.
102
+ * refs.parentId = response envelope ID when available.
103
+ */
104
+ export function createArtifactEnvelope(payload, refs) {
105
+ return createEnvelope("ucp.artifact.v1", payload, "artifact_finalizer", refs);
106
+ }
107
+ /**
108
+ * Create an execution trace envelope ? the sealed batch record of a run's timeline.
109
+ *
110
+ * source = "artifact_finalizer" ? emitted at the same point as the artifact envelope.
111
+ * refs.parentId = artifact envelope ID (immediate causal predecessor).
112
+ * refs.rootId = intentId (propagated from artifact envelope).
113
+ */
114
+ export function createExecutionTraceEnvelope(payload, refs) {
115
+ return createEnvelope("ucp.execution_trace.v1", payload, "artifact_finalizer", refs);
116
+ }
117
+ /**
118
+ * Create a replay report envelope ? the canonical record of a verification outcome.
119
+ *
120
+ * source = "replay_engine" ? the component that calls verifyArtifact().
121
+ * refs.parentId = artifact envelope ID (the artifact that was verified).
122
+ * refs.rootId = intentId (propagated from artifact envelope, when available).
123
+ *
124
+ * NOTE: replay is a statement about an artifact, not an independent truth.
125
+ * The parentId link is the formal expression of that relationship.
126
+ */
127
+ export function createReplayReportEnvelope(payload, refs) {
128
+ return createEnvelope("ucp.replay_report.v1", payload, "replay_engine", refs);
129
+ }
130
+ // ??? Phase 8: Cursor integration envelope factories ??????????????????????????
131
+ /**
132
+ * Create a cursor handoff envelope ? persisted by the delivery gate BEFORE
133
+ * the artifact is passed to Cursor. Hard gate: if this fails, delivery is blocked.
134
+ *
135
+ * source = "cursor_delivery_gate"
136
+ * refs.parentId = response envelope ID (ucp.response.v1)
137
+ * refs.rootId = intent envelope ID (ucp.intent.v1)
138
+ *
139
+ * Chain position: ucp.response.v1 ? ucp.cursor_handoff.v1
140
+ */
141
+ export function createCursorHandoffEnvelope(payload, refs) {
142
+ return createEnvelope("ucp.cursor_handoff.v1", payload, "cursor_delivery_gate", refs);
143
+ }
144
+ /**
145
+ * Create a cursor receipt envelope ? persisted AFTER Cursor returns "accepted".
146
+ * Records that Cursor took ownership of the artifact.
147
+ *
148
+ * source = "cursor_delivery_gate"
149
+ * refs.parentId = cursor handoff envelope ID (ucp.cursor_handoff.v1)
150
+ * refs.rootId = intent envelope ID (ucp.intent.v1)
151
+ *
152
+ * Chain position: ucp.cursor_handoff.v1 ? ucp.cursor_receipt.v1
153
+ * ? [ucp.cursor_artifact.v1 ? RESERVED FUTURE SLOT]
154
+ * ? ucp.execution_trace.v1
155
+ */
156
+ export function createCursorReceiptEnvelope(payload, refs) {
157
+ return createEnvelope("ucp.cursor_receipt.v1", payload, "cursor_delivery_gate", refs);
158
+ }
159
+ /**
160
+ * Create a cursor refused envelope ? persisted when Cursor returns either
161
+ * refused_due_to_scope or refused_due_to_execution_error.
162
+ *
163
+ * source = "cursor_delivery_gate"
164
+ * refs.parentId = cursor handoff envelope ID (ucp.cursor_handoff.v1)
165
+ * refs.rootId = intent envelope ID (ucp.intent.v1)
166
+ *
167
+ * Chain position: ucp.cursor_handoff.v1 ? ucp.cursor_refused.v1 (dead end or retry trigger)
168
+ */
169
+ export function createCursorRefusedEnvelope(payload, refs) {
170
+ return createEnvelope("ucp.cursor_refused.v1", payload, "cursor_delivery_gate", refs);
171
+ }
172
+ // ??? Phase 8B: Claude Managed Agents envelope factories ??????????????????????
173
+ /**
174
+ * Create a Claude handoff envelope ? persisted by the delivery gate BEFORE
175
+ * the artifact is passed to Claude Managed Agents. Hard gate: if this fails,
176
+ * delivery is blocked.
177
+ *
178
+ * source = "claude_delivery_gate"
179
+ * refs.parentId = response envelope ID (ucp.response.v1)
180
+ * refs.rootId = intent envelope ID (ucp.intent.v1)
181
+ *
182
+ * Chain position: ucp.response.v1 ? ucp.claude_handoff.v1
183
+ */
184
+ export function createClaudeHandoffEnvelope(payload, refs) {
185
+ return createEnvelope("ucp.claude_handoff.v1", payload, "claude_delivery_gate", refs);
186
+ }
187
+ /**
188
+ * Create a Claude receipt envelope ? persisted AFTER Claude accepts the task.
189
+ * Records that Claude started a managed agent session.
190
+ *
191
+ * source = "claude_delivery_gate"
192
+ * refs.parentId = claude handoff envelope ID (ucp.claude_handoff.v1)
193
+ * refs.rootId = intent envelope ID (ucp.intent.v1)
194
+ *
195
+ * Chain position: ucp.claude_handoff.v1 ? ucp.claude_receipt.v1
196
+ */
197
+ export function createClaudeReceiptEnvelope(payload, refs) {
198
+ return createEnvelope("ucp.claude_receipt.v1", payload, "claude_delivery_gate", refs);
199
+ }
200
+ /**
201
+ * Create a Claude refused envelope ? persisted when Claude responds with
202
+ * refused_due_to_scope or refused_due_to_execution_error.
203
+ *
204
+ * source = "claude_delivery_gate"
205
+ * refs.parentId = claude handoff envelope ID (ucp.claude_handoff.v1)
206
+ * refs.rootId = intent envelope ID (ucp.intent.v1)
207
+ *
208
+ * Chain position: ucp.claude_handoff.v1 ? ucp.claude_refused.v1 (dead end or retry trigger)
209
+ */
210
+ export function createClaudeRefusedEnvelope(payload, refs) {
211
+ return createEnvelope("ucp.claude_refused.v1", payload, "claude_delivery_gate", refs);
212
+ }
213
+ // ??? Phase 6: reminder execution envelope factory ????????????????????????????
214
+ /**
215
+ * Create a reminder execution envelope from a finalized execution artifact.
216
+ *
217
+ * source = "reminder_executor" ? the reminder execution layer.
218
+ * refs.parentId = response envelope ID (the intake decision that led to this).
219
+ * refs.rootId = intent envelope ID (the originating user intent).
220
+ *
221
+ * Both refs are optional in this slice ? they will be wired when the execution
222
+ * layer is integrated into the full intake?present?execute pipeline.
223
+ */
224
+ export function createReminderExecutionEnvelope(payload, refs) {
225
+ return createEnvelope("ucp.reminder_execution.v1", payload, "reminder_executor", refs);
226
+ }
227
+ // ??? Phase 9F: workflow run envelope factory ??????????????????????????????????
228
+ /**
229
+ * Create a workflow run envelope ? the terminal provenance record for one
230
+ * complete workflow run. Persisted ONLY when the run reaches "completed" or
231
+ * "stopped" (W5). Never written for in-progress runs.
232
+ *
233
+ * source = "workflow_coordinator"
234
+ *
235
+ * refs are optional because the workflow spans multiple sessions.
236
+ * Individual session chains are recoverable through sessionRefs entries.
237
+ */
238
+ export function createWorkflowRunEnvelope(payload, refs) {
239
+ return createEnvelope("ucp.workflow_run.v1", payload, "workflow_coordinator", refs);
240
+ }
241
+ //# sourceMappingURL=envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../../src/ucp/envelope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * UCP hashing — deterministic SHA-256 over canonically serialized objects.
3
+ *
4
+ * Rules:
5
+ * - Object keys are sorted alphabetically at every level of nesting.
6
+ * - Arrays preserve element order.
7
+ * - The hash covers all fields provided; callers must omit `hash` before hashing.
8
+ * - Uses Node's built-in crypto — no external deps.
9
+ *
10
+ * ── CRITICAL: undefined is NOT omitted ────────────────────────────────────────
11
+ *
12
+ * stableStringify serializes `undefined` values as the string "undefined":
13
+ *
14
+ * stableStringify({ a: undefined }) → '{"a":"undefined"}'
15
+ * stableStringify({}) → '{}'
16
+ *
17
+ * This differs from JSON.stringify, which silently drops keys with undefined
18
+ * values. The consequence for content addressing:
19
+ *
20
+ * computeId({ rejection_reason: undefined }) ≠ computeId({})
21
+ *
22
+ * If a payload object with explicit undefined keys is passed to computeId,
23
+ * and the same payload is later serialized to disk via JSON.stringify (which
24
+ * strips undefined), the on-disk record will NOT reproduce the same id — the
25
+ * content-addressing guarantee is broken.
26
+ *
27
+ * Protocol rule: ALL payload objects passed to computeId (and therefore to
28
+ * createEnvelope) MUST be undefined-free. Optional fields must be omitted
29
+ * entirely when absent — never set to undefined.
30
+ *
31
+ * See: src/ucp/types.ts — "PROTOCOL INVARIANT: Payloads must be undefined-free"
32
+ */
33
+ export declare function stableStringify(value: unknown): string;
34
+ export declare function sha256(input: string): string;
35
+ export declare function hashObject(obj: unknown): string;
36
+ //# sourceMappingURL=hashes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashes.d.ts","sourceRoot":"","sources":["../../../src/ucp/hashes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkBtD;AAID,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5C;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE/C"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * UCP hashing — deterministic SHA-256 over canonically serialized objects.
3
+ *
4
+ * Rules:
5
+ * - Object keys are sorted alphabetically at every level of nesting.
6
+ * - Arrays preserve element order.
7
+ * - The hash covers all fields provided; callers must omit `hash` before hashing.
8
+ * - Uses Node's built-in crypto — no external deps.
9
+ *
10
+ * ── CRITICAL: undefined is NOT omitted ────────────────────────────────────────
11
+ *
12
+ * stableStringify serializes `undefined` values as the string "undefined":
13
+ *
14
+ * stableStringify({ a: undefined }) → '{"a":"undefined"}'
15
+ * stableStringify({}) → '{}'
16
+ *
17
+ * This differs from JSON.stringify, which silently drops keys with undefined
18
+ * values. The consequence for content addressing:
19
+ *
20
+ * computeId({ rejection_reason: undefined }) ≠ computeId({})
21
+ *
22
+ * If a payload object with explicit undefined keys is passed to computeId,
23
+ * and the same payload is later serialized to disk via JSON.stringify (which
24
+ * strips undefined), the on-disk record will NOT reproduce the same id — the
25
+ * content-addressing guarantee is broken.
26
+ *
27
+ * Protocol rule: ALL payload objects passed to computeId (and therefore to
28
+ * createEnvelope) MUST be undefined-free. Optional fields must be omitted
29
+ * entirely when absent — never set to undefined.
30
+ *
31
+ * See: src/ucp/types.ts — "PROTOCOL INVARIANT: Payloads must be undefined-free"
32
+ */
33
+ import { createHash } from "node:crypto";
34
+ // ─── Stable serialization ─────────────────────────────────────────────────────
35
+ export function stableStringify(value) {
36
+ if (value === null)
37
+ return "null";
38
+ if (value === undefined)
39
+ return "undefined";
40
+ if (typeof value !== "object") {
41
+ return JSON.stringify(value);
42
+ }
43
+ if (Array.isArray(value)) {
44
+ return "[" + value.map(stableStringify).join(",") + "]";
45
+ }
46
+ const obj = value;
47
+ const sortedKeys = Object.keys(obj).sort();
48
+ const pairs = sortedKeys.map((k) => JSON.stringify(k) + ":" + stableStringify(obj[k]));
49
+ return "{" + pairs.join(",") + "}";
50
+ }
51
+ // ─── SHA-256 helper ───────────────────────────────────────────────────────────
52
+ export function sha256(input) {
53
+ return createHash("sha256").update(input, "utf8").digest("hex");
54
+ }
55
+ // ─── Canonical hash for any serializable object ───────────────────────────────
56
+ export function hashObject(obj) {
57
+ return sha256(stableStringify(obj));
58
+ }
59
+ //# sourceMappingURL=hashes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashes.js","sourceRoot":"","sources":["../../../src/ucp/hashes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,iFAAiF;AAEjF,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAE5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC1D,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;IACF,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACrC,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Mapper: ArtifactLike → ArtifactEnvelope.
3
+ *
4
+ * Maps from a finalized run artifact to its canonical UCP envelope.
5
+ * This mapper is intentionally defined against a minimal structural type
6
+ * (ArtifactLike) rather than importing any branded FinalizedArtifact —
7
+ * avoiding circular dependencies while remaining fully type-safe via
8
+ * TypeScript's structural compatibility.
9
+ *
10
+ * ── Mapping rules (field-for-field) ──────────────────────────────────────────
11
+ *
12
+ * runId ← artifact.runId (direct copy)
13
+ * goal ← artifact.goal (direct copy)
14
+ * status ← artifact.status (direct copy)
15
+ * checksum ← artifact.checksum (direct copy — NEVER recomputed)
16
+ * graphChecksum ← artifact.graph.checksum (direct copy)
17
+ * nodeCount ← artifact.nodes.length (count only)
18
+ * startedAtMs ← artifact.startedAtMs (direct copy)
19
+ * completedAtMs ← artifact.completedAtMs (direct copy)
20
+ *
21
+ * ── What this mapper does NOT do ─────────────────────────────────────────────
22
+ *
23
+ * ✗ Recompute artifact checksum
24
+ * ✗ Copy nodes[], trace[], lineage, or explainSummary
25
+ * ✗ Interpret or reinterpret any field
26
+ * ✗ Add renderer-facing concerns
27
+ */
28
+ import type { ArtifactEnvelope, UCPRefs } from "../types.js";
29
+ /**
30
+ * Minimal structural type matching the relevant fields of FinalizedArtifact.
31
+ * No branded import needed — TypeScript structural typing ensures compatibility.
32
+ */
33
+ export type ArtifactLike = {
34
+ readonly runId: string;
35
+ readonly goal: string;
36
+ readonly status: "COMPLETED" | "FAILED" | "DENIED";
37
+ /** SHA-256 of the sealed artifact — copied as-is, never recomputed. */
38
+ readonly checksum: string;
39
+ readonly graph: {
40
+ readonly checksum: string;
41
+ };
42
+ /** Only .length is accessed — the full node list is not mapped. */
43
+ readonly nodes: readonly unknown[];
44
+ readonly startedAtMs: number;
45
+ readonly completedAtMs: number;
46
+ };
47
+ /**
48
+ * Map a finalized artifact to its canonical UCP envelope.
49
+ *
50
+ * Pure function — same artifact → same envelope id (content-addressed).
51
+ *
52
+ * @param artifact The finalized run artifact (must satisfy ArtifactLike shape)
53
+ * @param refs Optional provenance refs:
54
+ * refs.rootId = ucp.intent.v1 ID (closes provenance chain)
55
+ * refs.parentId = ucp.response.v1 ID (immediate predecessor)
56
+ */
57
+ export declare function mapArtifactToEnvelope(artifact: ArtifactLike, refs?: UCPRefs): ArtifactEnvelope;
58
+ //# sourceMappingURL=map-artifact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-artifact.d.ts","sourceRoot":"","sources":["../../../../src/ucp/mappers/map-artifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAU,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAW,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAS,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1D,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAO,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAU;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAU,SAAS,OAAO,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAI,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,EACtB,IAAI,CAAC,EAAE,OAAO,GACb,gBAAgB,CAclB"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Mapper: ArtifactLike → ArtifactEnvelope.
3
+ *
4
+ * Maps from a finalized run artifact to its canonical UCP envelope.
5
+ * This mapper is intentionally defined against a minimal structural type
6
+ * (ArtifactLike) rather than importing any branded FinalizedArtifact —
7
+ * avoiding circular dependencies while remaining fully type-safe via
8
+ * TypeScript's structural compatibility.
9
+ *
10
+ * ── Mapping rules (field-for-field) ──────────────────────────────────────────
11
+ *
12
+ * runId ← artifact.runId (direct copy)
13
+ * goal ← artifact.goal (direct copy)
14
+ * status ← artifact.status (direct copy)
15
+ * checksum ← artifact.checksum (direct copy — NEVER recomputed)
16
+ * graphChecksum ← artifact.graph.checksum (direct copy)
17
+ * nodeCount ← artifact.nodes.length (count only)
18
+ * startedAtMs ← artifact.startedAtMs (direct copy)
19
+ * completedAtMs ← artifact.completedAtMs (direct copy)
20
+ *
21
+ * ── What this mapper does NOT do ─────────────────────────────────────────────
22
+ *
23
+ * ✗ Recompute artifact checksum
24
+ * ✗ Copy nodes[], trace[], lineage, or explainSummary
25
+ * ✗ Interpret or reinterpret any field
26
+ * ✗ Add renderer-facing concerns
27
+ */
28
+ import { createArtifactEnvelope } from "../envelope.js";
29
+ /**
30
+ * Map a finalized artifact to its canonical UCP envelope.
31
+ *
32
+ * Pure function — same artifact → same envelope id (content-addressed).
33
+ *
34
+ * @param artifact The finalized run artifact (must satisfy ArtifactLike shape)
35
+ * @param refs Optional provenance refs:
36
+ * refs.rootId = ucp.intent.v1 ID (closes provenance chain)
37
+ * refs.parentId = ucp.response.v1 ID (immediate predecessor)
38
+ */
39
+ export function mapArtifactToEnvelope(artifact, refs) {
40
+ return createArtifactEnvelope({
41
+ runId: artifact.runId,
42
+ goal: artifact.goal,
43
+ status: artifact.status,
44
+ checksum: artifact.checksum, // copied — NEVER recomputed
45
+ graphChecksum: artifact.graph.checksum,
46
+ nodeCount: artifact.nodes.length,
47
+ startedAtMs: artifact.startedAtMs,
48
+ completedAtMs: artifact.completedAtMs,
49
+ }, refs);
50
+ }
51
+ //# sourceMappingURL=map-artifact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-artifact.js","sourceRoot":"","sources":["../../../../src/ucp/mappers/map-artifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAoBxD;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAsB,EACtB,IAAc;IAEd,OAAO,sBAAsB,CAC3B;QACE,KAAK,EAAU,QAAQ,CAAC,KAAK;QAC7B,IAAI,EAAW,QAAQ,CAAC,IAAI;QAC5B,MAAM,EAAS,QAAQ,CAAC,MAAM;QAC9B,QAAQ,EAAO,QAAQ,CAAC,QAAQ,EAAM,4BAA4B;QAClE,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;QACtC,SAAS,EAAM,QAAQ,CAAC,KAAK,CAAC,MAAM;QACpC,WAAW,EAAI,QAAQ,CAAC,WAAW;QACnC,aAAa,EAAE,QAAQ,CAAC,aAAa;KACtC,EACD,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Mapper: InterpretationResult → ChangeInterpretationEnvelope.
3
+ *
4
+ * Maps exactly from InterpretationResult
5
+ * (src/understand/interpretation/types.ts).
6
+ * Only produced when mode === "execute" and the input matched a structured
7
+ * change pattern.
8
+ */
9
+ import type { ChangeInterpretationEnvelope, UCPRefs } from "../types.js";
10
+ import type { InterpretationResult } from "../../understand/interpretation/types.js";
11
+ export declare function mapChangeInterpretationToEnvelope(result: InterpretationResult, refs?: UCPRefs): ChangeInterpretationEnvelope;
12
+ //# sourceMappingURL=map-change-interpretation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-change-interpretation.d.ts","sourceRoot":"","sources":["../../../../src/ucp/mappers/map-change-interpretation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAErF,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,oBAAoB,EAC5B,IAAI,CAAC,EAAE,OAAO,GACb,4BAA4B,CAU9B"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Mapper: InterpretationResult → ChangeInterpretationEnvelope.
3
+ *
4
+ * Maps exactly from InterpretationResult
5
+ * (src/understand/interpretation/types.ts).
6
+ * Only produced when mode === "execute" and the input matched a structured
7
+ * change pattern.
8
+ */
9
+ import { createChangeInterpretationEnvelope } from "../envelope.js";
10
+ export function mapChangeInterpretationToEnvelope(result, refs) {
11
+ return createChangeInterpretationEnvelope({
12
+ summary: result.summary,
13
+ impact: result.impact,
14
+ confidence: result.confidence,
15
+ category: result.category,
16
+ }, refs);
17
+ }
18
+ //# sourceMappingURL=map-change-interpretation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-change-interpretation.js","sourceRoot":"","sources":["../../../../src/ucp/mappers/map-change-interpretation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAIpE,MAAM,UAAU,iCAAiC,CAC/C,MAA4B,EAC5B,IAAc;IAEd,OAAO,kCAAkC,CACvC;QACE,OAAO,EAAK,MAAM,CAAC,OAAO;QAC1B,MAAM,EAAM,MAAM,CAAC,MAAM;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAI,MAAM,CAAC,QAAQ;KAC5B,EACD,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Mapper: CompletionResult → CompletionEnvelope.
3
+ *
4
+ * Maps exactly from CompletionResult (src/understand/completion/types.ts).
5
+ * Covers all three completion kinds: complete, incomplete, guided_recovery.
6
+ */
7
+ import type { CompletionEnvelope, UCPRefs } from "../types.js";
8
+ import type { CompletionResult } from "../../understand/completion/types.js";
9
+ export declare function mapCompletionToEnvelope(result: CompletionResult, refs?: UCPRefs): CompletionEnvelope;
10
+ //# sourceMappingURL=map-completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-completion.d.ts","sourceRoot":"","sources":["../../../../src/ucp/mappers/map-completion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAqB,OAAO,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,IAAI,CAAC,EAAE,OAAO,GACb,kBAAkB,CAgBpB"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Mapper: CompletionResult → CompletionEnvelope.
3
+ *
4
+ * Maps exactly from CompletionResult (src/understand/completion/types.ts).
5
+ * Covers all three completion kinds: complete, incomplete, guided_recovery.
6
+ */
7
+ import { createCompletionEnvelope } from "../envelope.js";
8
+ export function mapCompletionToEnvelope(result, refs) {
9
+ let payload;
10
+ if (result.kind === "complete") {
11
+ payload = { kind: "complete" };
12
+ }
13
+ else {
14
+ // incomplete or guided_recovery — both carry reason, missing, nextSteps
15
+ payload = {
16
+ kind: result.kind,
17
+ reason: result.reason,
18
+ missing: result.missing,
19
+ nextSteps: result.nextSteps,
20
+ };
21
+ }
22
+ return createCompletionEnvelope(payload, refs);
23
+ }
24
+ //# sourceMappingURL=map-completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-completion.js","sourceRoot":"","sources":["../../../../src/ucp/mappers/map-completion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,MAAM,UAAU,uBAAuB,CACrC,MAAwB,EACxB,IAAc;IAEd,IAAI,OAA0B,CAAC;IAE/B,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,OAAO,GAAG;YACR,IAAI,EAAO,MAAM,CAAC,IAAI;YACtB,MAAM,EAAK,MAAM,CAAC,MAAM;YACxB,OAAO,EAAI,MAAM,CAAC,OAAO;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;IAED,OAAO,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Mapper: ContextAlignmentResult → ContextAlignmentEnvelope.
3
+ *
4
+ * Maps exactly from ContextAlignmentResult (src/understand/context/types.ts).
5
+ */
6
+ import type { ContextAlignmentEnvelope, UCPRefs } from "../types.js";
7
+ import type { ContextAlignmentResult } from "../../understand/context/types.js";
8
+ export declare function mapContextToEnvelope(result: ContextAlignmentResult, refs?: UCPRefs): ContextAlignmentEnvelope;
9
+ //# sourceMappingURL=map-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-context.d.ts","sourceRoot":"","sources":["../../../../src/ucp/mappers/map-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,wBAAwB,EAA2B,OAAO,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,sBAAsB,EAC9B,IAAI,CAAC,EAAE,OAAO,GACb,wBAAwB,CAM1B"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Mapper: ContextAlignmentResult → ContextAlignmentEnvelope.
3
+ *
4
+ * Maps exactly from ContextAlignmentResult (src/understand/context/types.ts).
5
+ */
6
+ import { createContextAlignmentEnvelope } from "../envelope.js";
7
+ export function mapContextToEnvelope(result, refs) {
8
+ const payload = result.kind === "hard_mismatch"
9
+ ? { kind: result.kind, reason: result.reason }
10
+ : { kind: result.kind };
11
+ return createContextAlignmentEnvelope(payload, refs);
12
+ }
13
+ //# sourceMappingURL=map-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-context.js","sourceRoot":"","sources":["../../../../src/ucp/mappers/map-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAIhE,MAAM,UAAU,oBAAoB,CAClC,MAA8B,EAC9B,IAAc;IAEd,MAAM,OAAO,GACX,MAAM,CAAC,IAAI,KAAK,eAAe;QAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAC9C,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,8BAA8B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Mapper: DebugTrace → DebugTraceEnvelope.
3
+ *
4
+ * Maps exactly from DebugTrace (src/intake/trace.ts).
5
+ * Zero-authority: this envelope records what happened; it changes nothing.
6
+ */
7
+ import type { DebugTraceEnvelope, UCPRefs } from "../types.js";
8
+ import type { DebugTrace } from "../../intake/trace.js";
9
+ export declare function mapDebugTraceToEnvelope(trace: DebugTrace, refs?: UCPRefs): DebugTraceEnvelope;
10
+ //# sourceMappingURL=map-debug-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-debug-trace.d.ts","sourceRoot":"","sources":["../../../../src/ucp/mappers/map-debug-trace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,UAAU,EACjB,IAAI,CAAC,EAAE,OAAO,GACb,kBAAkB,CAYpB"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Mapper: DebugTrace → DebugTraceEnvelope.
3
+ *
4
+ * Maps exactly from DebugTrace (src/intake/trace.ts).
5
+ * Zero-authority: this envelope records what happened; it changes nothing.
6
+ */
7
+ import { createDebugTraceEnvelope } from "../envelope.js";
8
+ export function mapDebugTraceToEnvelope(trace, refs) {
9
+ return createDebugTraceEnvelope({
10
+ prvPassed: trace.prvPassed,
11
+ safetyVerdict: trace.safetyVerdict,
12
+ contextKind: trace.contextKind,
13
+ disambigKind: trace.disambigKind,
14
+ completionKind: trace.completionKind,
15
+ bridgeFired: trace.bridgeFired,
16
+ }, refs);
17
+ }
18
+ //# sourceMappingURL=map-debug-trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-debug-trace.js","sourceRoot":"","sources":["../../../../src/ucp/mappers/map-debug-trace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,MAAM,UAAU,uBAAuB,CACrC,KAAiB,EACjB,IAAc;IAEd,OAAO,wBAAwB,CAC7B;QACE,SAAS,EAAO,KAAK,CAAC,SAAS;QAC/B,aAAa,EAAG,KAAK,CAAC,aAAa;QACnC,WAAW,EAAK,KAAK,CAAC,WAAW;QACjC,YAAY,EAAI,KAAK,CAAC,YAAY;QAClC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,WAAW,EAAK,KAAK,CAAC,WAAW;KAClC,EACD,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Mapper: DisambiguationResult → DisambiguationEnvelope.
3
+ *
4
+ * Maps exactly from DisambiguationResult (src/understand/disambiguation/types.ts).
5
+ * The "unknown" kind carries no extra fields — the input simply had no signal.
6
+ */
7
+ import type { DisambiguationEnvelope, UCPRefs } from "../types.js";
8
+ import type { DisambiguationResult } from "../../understand/disambiguation/types.js";
9
+ export declare function mapDisambiguationToEnvelope(result: DisambiguationResult, refs?: UCPRefs): DisambiguationEnvelope;
10
+ //# sourceMappingURL=map-disambiguation.d.ts.map