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,158 @@
1
+ /**
2
+ * Silent Guidance Mode Selector.
3
+ *
4
+ * Inspects the raw input for shape-level signals and returns the most
5
+ * appropriate guidance template mode.
6
+ *
7
+ * ── Contracts ────────────────────────────────────────────────────────────────
8
+ *
9
+ * 1. Only called when bridgeSilenceReason === "no_interpreter_claimed".
10
+ * 2. Deterministic: same input → same mode, always.
11
+ * 3. Returns a mode — never null. "unknown" is the safe fallback.
12
+ * 4. Does NOT classify intent. Does NOT produce category/confidence.
13
+ * 5. Does NOT guess tools, services, file paths, or values.
14
+ * 6. Does NOT affect mode, signal, intentState, or any decision.
15
+ * 7. Regex match priority: investigation → operation → content_iteration → unknown.
16
+ * First match wins. This ordering prevents cross-domain false positives.
17
+ *
18
+ * ── Pattern philosophy ────────────────────────────────────────────────────────
19
+ *
20
+ * Patterns are narrow, not broad. Better to fall through to "unknown"
21
+ * (which still shows improved guidance over the old code-patch default)
22
+ * than to claim a mode incorrectly.
23
+ *
24
+ * Each pattern targets high-signal, low-ambiguity tokens:
25
+ * - "debug" is always QA; "deploy" is always ops; "tagline" is always content.
26
+ * - Ambiguous terms like "improve", "fix", "check" are deliberately excluded
27
+ * unless combined with a domain-specific qualifier.
28
+ */
29
+ // ── Pattern sets ───────────────────────────────────────────────────────────────
30
+ /**
31
+ * QA, debugging, bug reproduction, smoke testing, mocking.
32
+ * Also covers analytical investigation verbs: analyze, monitor, verify.
33
+ * Extended with diagnostic verbs: inspect, trace, diagnose, troubleshoot.
34
+ *
35
+ * ── Expansion (Sessions 4–5) ──────────────────────────────────────────────────
36
+ *
37
+ * Added analyz\w+ (analyze, analyzes, analyzing, analysing — any stem form).
38
+ * Added monitor: "monitor the error rate" → investigation, not ops.
39
+ * Added verify: "verify the deployment health" → investigation.
40
+ *
41
+ * These cleared C1 (≥ 2 cross-persona recurrences) and C3 (clear category)
42
+ * in Session 5 before being added. C2 still fails — interpreter remains NO-GO.
43
+ *
44
+ * Priority: investigation runs before operation. When "monitor the ingestion
45
+ * pipeline" is tested, `monitor\b` fires here instead of `pipeline\b` in
46
+ * OPERATION_RE. That is the correct outcome.
47
+ *
48
+ * ── Expansion (Session 6) ─────────────────────────────────────────────────────
49
+ *
50
+ * Added inspect: 3/3 recurrences across 3 personas (Dan, Syd, Pat).
51
+ * Added trac(?:e|ing): "trace the query" / "tracing the call" — investigation.
52
+ * Added diagnos\w+: diagnose, diagnosing, diagnosis, diagnostic.
53
+ * 4 cross-persona recurrences (Syd, Pat, Donna, Maya).
54
+ * Added troubleshoot\w*: troubleshoot, troubleshooting.
55
+ * 1 occurrence in Session 6 (Syd), eligible by C3 alone;
56
+ * diagnose+troubleshoot share semantic class, so combined
57
+ * C1 passes. Both fail C2 — no interpreter candidate.
58
+ *
59
+ * Note on "debug": debug is already in this pattern (added in v1). After the
60
+ * Session 6 config_change fix (removing bare "debug" from CONFIG_NOUNS_RE),
61
+ * "debug the X" inputs are now bridge-silent and correctly route here.
62
+ * No change to the debug token was needed.
63
+ */
64
+ const INVESTIGATION_RE = /\b(?:debug|bug|repro(?:duce)?|flak[iy]|smoke[\s-]test|mock(?:ing)?|test\s+(?:coverage|fixtures?|cases?)|coverage\s+report(?:ing)?|analyz\w+|monitor|verify|inspect|trac(?:e|ing)|diagnos\w+|troubleshoot\w*)\b/i;
65
+ /**
66
+ * Infrastructure ops, deployments, pipelines, schema changes, migrations.
67
+ * Also covers export, sync, scale (extended nouns), launch, roll-out.
68
+ *
69
+ * ── Expansion (Sessions 4–5) ──────────────────────────────────────────────────
70
+ *
71
+ * scale — extended to cover workers, fleet, replicas, pods, instances, nodes.
72
+ * Previously only matched service/app/cluster; Sessions 4–5 confirmed the
73
+ * broader noun set recurs across DevOps and SRE personas.
74
+ *
75
+ * export\b — standalone is sufficient; context is always data/artifact movement.
76
+ * 4 cross-persona recurrences (Sam, Nia, Fay, Kai) cleared C1+C3.
77
+ *
78
+ * sync\b — data/state synchronisation; 2 cross-persona recurrences (Leo, Kai).
79
+ *
80
+ * launch\b + roll[\s-]out\b — product/feature deployment verbs.
81
+ * 'deploy' was already covered; 'launch' and 'roll-out' were not.
82
+ * Note: 'launch the new feature' previously false-fired config_change via
83
+ * the 'feature' noun. That noun was removed from CONFIG_NOUNS_RE (see
84
+ * config-intent.interpreter.ts). Adding 'launch\b' here is now safe.
85
+ *
86
+ * ── Expansion (Session 7 — CRM/ticket vocabulary) ─────────────────────────────
87
+ *
88
+ * Evidence gate results (Session 7 report):
89
+ * suspend C1 ✓ (4 personas) C2 ✓ (non-execute) C3 → ops
90
+ * assign C1 ✓ (4 personas) C2 ✓ C3 → ops
91
+ * escalate C1 ✓ (4 personas) C2 ✓ C3 → ops
92
+ * merge C1 ✓ (3 personas) C2 ✓ C3 → ops
93
+ * lock C1 ✓ (2 personas) C2 ✓ C3 → ops
94
+ *
95
+ * Patterns added:
96
+ * suspend\b — account / user / service suspension
97
+ * assign\b — ticket / case assignment
98
+ * escalat\w+ — escalate, escalating, escalation
99
+ * merge\b — ticket, case, account, or record merge
100
+ * lock\b — account / ticket lock
101
+ *
102
+ * ── Expansion (Session 7 — Ops lifecycle vocabulary) ──────────────────────────
103
+ *
104
+ * Evidence gate results (Session 7 report):
105
+ * rotate C1 ✓ (4 personas) C2 ✓ C3 → ops
106
+ * upgrade C1 ✓ (4 personas) C2 ✓ C3 → ops
107
+ * provision C1 ✓ (4 personas) C2 ✓ C3 → ops
108
+ * failover C1 ✓ (3 personas) C2 ✓ C3 → ops
109
+ * patch C1 ✓ (3 personas) C2 ✓ C3 → ops
110
+ * drain C1 ✓ (2 personas) C2 ✓ C3 → ops
111
+ *
112
+ * Patterns added:
113
+ * rotat\w+\s+(?:(?:\w[\w-]*)\s+){0,3}(?:keys?|secrets?|credentials?|tokens?|certs?|certificates?|api[\s-]keys?)
114
+ * — DELIBERATELY SCOPED to credential/key rotation only.
115
+ * Allows up to 3 qualifier words between "rotate" and the credential
116
+ * noun so that "rotate the TLS certificates" and "rotate expired API keys"
117
+ * both match, while "rotate customer passwords" does not match (passwords
118
+ * is not a credential noun in this list — it is a data record noun covered
119
+ * by the bulk_data_exfiltration safety detector which runs first).
120
+ *
121
+ * upgrade\b — service, cluster, dependency upgrade
122
+ * provision\w* — provision, provisioning, provisioned
123
+ * failover\b — explicit, unambiguous
124
+ * drain\b — drain node, drain traffic, drain queue
125
+ * patch\b — ops security/service patch (NOT the structured change command
126
+ * `patch <file> search=…`; that format is consumed by the
127
+ * completion layer before the selector is ever called)
128
+ */
129
+ const OPERATION_RE = /\b(?:deploy(?:ment)?|rollback|restart|reboot|pipeline|migrat(?:e|ions?)|health[\s-]check|launch|roll[\s-]out|export|sync|add\s+(?:a\s+|an\s+)?(?:column|index)|update\s+the\s+schema|schema\s+change|run\s+(?:the\s+)?(?:pipeline|job|server|service|migrations?)|optimize\s+(?:the\s+)?(?:query|queries|slow\s+query)|scale\s+(?:the\s+)?(?:service|app|cluster|workers?|fleet|replicas?|pods?|instances?|nodes?)|suspend|assign|escalat\w+|merge|lock|rotat\w+\s+(?:(?:\w[\w-]*)\s+){0,3}(?:keys?|secrets?|credentials?|tokens?|certs?|certificates?|api[\s-]keys?)|upgrade|provision\w*|failover|drain|patch)\b/i;
130
+ /**
131
+ * Copy, UX text, product descriptions, taglines, user flows.
132
+ * Only high-signal content/product vocabulary — avoids over-matching.
133
+ */
134
+ const CONTENT_ITERATION_RE = /\b(tagline\b|compelling\b|testimonial(?:s)?\b|onboarding\b|user[\s-]flow\b|checkout[\s-]flow\b|product[\s-]description\b|improve\s+the\s+(?:user|product|content|copy|experience|flow|ux)\b|make\b.{0,25}\bmore\s+(?:compelling|engaging)\b)\b/i;
135
+ // ── Selector ──────────────────────────────────────────────────────────────────
136
+ /**
137
+ * Select the appropriate silent guidance template mode for a bridge-silent flow.
138
+ *
139
+ * Priority (first match wins):
140
+ * 1. investigation — QA / debugging signals
141
+ * 2. operation — infra / schema / pipeline signals
142
+ * 3. content_iteration — copy / UX / product signals
143
+ * 4. unknown — safe fallback (still better than code-patch default)
144
+ *
145
+ * "code_patch" is never returned here; it applies only when an interpreter
146
+ * already fired (bridgeFired === true), meaning the request is already
147
+ * enriched and needs no silent mode template.
148
+ */
149
+ export function selectSilentGuidanceMode(input) {
150
+ if (INVESTIGATION_RE.test(input))
151
+ return "investigation";
152
+ if (OPERATION_RE.test(input))
153
+ return "operation";
154
+ if (CONTENT_ITERATION_RE.test(input))
155
+ return "content_iteration";
156
+ return "unknown";
157
+ }
158
+ //# sourceMappingURL=selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector.js","sourceRoot":"","sources":["../../../../src/understand/silent-guidance/selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,kFAAkF;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,gBAAgB,GACpB,iNAAiN,CAAC;AAEpN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,YAAY,GAChB,qlBAAqlB,CAAC;AAExlB;;;GAGG;AACH,MAAM,oBAAoB,GACxB,iPAAiP,CAAC;AAEpP,iFAAiF;AAEjF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC;IACzD,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAAM,OAAO,WAAW,CAAC;IACrD,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IACjE,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Silent Guidance Templates.
3
+ *
4
+ * Maps each SilentGuidanceMode to a set of generic, domain-appropriate
5
+ * CompletionNextStep entries. These replace the code-patch default
6
+ * for bridge-silent flows.
7
+ *
8
+ * ── Template contracts ────────────────────────────────────────────────────────
9
+ *
10
+ * - Every template has exactly 3 steps (read_first, use_exact_format,
11
+ * add_missing_field) — the same structural shape as the code-patch default.
12
+ * - No template invents specifics (file names, tool names, table names, etc.).
13
+ * - No template implies executability. All remain in guide mode territory.
14
+ * - Templates use angle-bracket placeholders for values the user must supply.
15
+ *
16
+ * ── Why 3 steps ──────────────────────────────────────────────────────────────
17
+ *
18
+ * read_first — orients the user: gather information before acting
19
+ * use_exact_format — shows the deterministic format to express the change
20
+ * add_missing_field — names what the user must provide to make it actionable
21
+ */
22
+ import type { CompletionNextStep } from "../completion/types.js";
23
+ import type { SilentGuidanceMode } from "./types.js";
24
+ /**
25
+ * Return the generic next-step template for a given silent guidance mode.
26
+ *
27
+ * Returns a read-only array with exactly 3 steps.
28
+ * The array is a module-level constant — no allocation on each call.
29
+ */
30
+ export declare function getSilentGuidanceSteps(mode: SilentGuidanceMode): readonly CompletionNextStep[];
31
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../../src/understand/silent-guidance/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAiFrD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,kBAAkB,GACvB,SAAS,kBAAkB,EAAE,CAQ/B"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Silent Guidance Templates.
3
+ *
4
+ * Maps each SilentGuidanceMode to a set of generic, domain-appropriate
5
+ * CompletionNextStep entries. These replace the code-patch default
6
+ * for bridge-silent flows.
7
+ *
8
+ * ── Template contracts ────────────────────────────────────────────────────────
9
+ *
10
+ * - Every template has exactly 3 steps (read_first, use_exact_format,
11
+ * add_missing_field) — the same structural shape as the code-patch default.
12
+ * - No template invents specifics (file names, tool names, table names, etc.).
13
+ * - No template implies executability. All remain in guide mode territory.
14
+ * - Templates use angle-bracket placeholders for values the user must supply.
15
+ *
16
+ * ── Why 3 steps ──────────────────────────────────────────────────────────────
17
+ *
18
+ * read_first — orients the user: gather information before acting
19
+ * use_exact_format — shows the deterministic format to express the change
20
+ * add_missing_field — names what the user must provide to make it actionable
21
+ */
22
+ // ── Templates ──────────────────────────────────────────────────────────────────
23
+ const INVESTIGATION_STEPS = [
24
+ {
25
+ type: "read_first",
26
+ label: "Identify where the issue occurs and gather observable evidence before making any change.",
27
+ },
28
+ {
29
+ type: "use_exact_format",
30
+ label: 'Read the relevant file or test once you have identified the target: read "<file>"',
31
+ },
32
+ {
33
+ type: "add_missing_field",
34
+ label: "Provide the exact symptom, test name, or failure condition so the change can be targeted.",
35
+ },
36
+ ];
37
+ const OPERATION_STEPS = [
38
+ {
39
+ type: "read_first",
40
+ label: "Identify the specific tool, service, or system this operation applies to.",
41
+ },
42
+ {
43
+ type: "use_exact_format",
44
+ label: 'Locate the exact command, config, query, or migration needed: read "<config-or-migration-file>"',
45
+ },
46
+ {
47
+ type: "add_missing_field",
48
+ label: "Specify what it acts on (service name, table, environment) and what the expected outcome is.",
49
+ },
50
+ ];
51
+ const CONTENT_ITERATION_STEPS = [
52
+ {
53
+ type: "read_first",
54
+ label: 'Read the file containing the current text or content element: read "<file>"',
55
+ },
56
+ {
57
+ type: "use_exact_format",
58
+ label: 'Apply the change using the exact format: replace "<current text>" with "<new text>" in "<file>"',
59
+ },
60
+ {
61
+ type: "add_missing_field",
62
+ label: "Provide the specific new wording or content you want to use.",
63
+ },
64
+ ];
65
+ const CODE_PATCH_STEPS = [
66
+ {
67
+ type: "read_first",
68
+ label: 'Read the relevant file first: read "<file>"',
69
+ },
70
+ {
71
+ type: "use_exact_format",
72
+ label: 'Apply the change: replace "<old>" with "<new>" in "<file>"',
73
+ },
74
+ {
75
+ type: "add_missing_field",
76
+ label: "Specify the exact file path, old value, and new value.",
77
+ },
78
+ ];
79
+ const UNKNOWN_STEPS = [
80
+ {
81
+ type: "read_first",
82
+ label: "Break this request into one specific, deterministic change before proceeding.",
83
+ },
84
+ {
85
+ type: "use_exact_format",
86
+ label: 'Use one of these exact formats: read "<file>" | replace "<old>" with "<new>" in "<file>" | commit "<message>"',
87
+ },
88
+ {
89
+ type: "add_missing_field",
90
+ label: "Specify the exact file, value, or target this request applies to.",
91
+ },
92
+ ];
93
+ // ── Lookup ──────────────────────────────────────────────────────────────────────
94
+ /**
95
+ * Return the generic next-step template for a given silent guidance mode.
96
+ *
97
+ * Returns a read-only array with exactly 3 steps.
98
+ * The array is a module-level constant — no allocation on each call.
99
+ */
100
+ export function getSilentGuidanceSteps(mode) {
101
+ switch (mode) {
102
+ case "investigation": return INVESTIGATION_STEPS;
103
+ case "operation": return OPERATION_STEPS;
104
+ case "content_iteration": return CONTENT_ITERATION_STEPS;
105
+ case "code_patch": return CODE_PATCH_STEPS;
106
+ case "unknown": return UNKNOWN_STEPS;
107
+ }
108
+ }
109
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../../src/understand/silent-guidance/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,kFAAkF;AAElF,MAAM,mBAAmB,GAAkC;IACzD;QACE,IAAI,EAAG,YAAY;QACnB,KAAK,EAAE,0FAA0F;KAClG;IACD;QACE,IAAI,EAAG,kBAAkB;QACzB,KAAK,EAAE,mFAAmF;KAC3F;IACD;QACE,IAAI,EAAG,mBAAmB;QAC1B,KAAK,EAAE,2FAA2F;KACnG;CACF,CAAC;AAEF,MAAM,eAAe,GAAkC;IACrD;QACE,IAAI,EAAG,YAAY;QACnB,KAAK,EAAE,2EAA2E;KACnF;IACD;QACE,IAAI,EAAG,kBAAkB;QACzB,KAAK,EAAE,iGAAiG;KACzG;IACD;QACE,IAAI,EAAG,mBAAmB;QAC1B,KAAK,EAAE,8FAA8F;KACtG;CACF,CAAC;AAEF,MAAM,uBAAuB,GAAkC;IAC7D;QACE,IAAI,EAAG,YAAY;QACnB,KAAK,EAAE,6EAA6E;KACrF;IACD;QACE,IAAI,EAAG,kBAAkB;QACzB,KAAK,EAAE,iGAAiG;KACzG;IACD;QACE,IAAI,EAAG,mBAAmB;QAC1B,KAAK,EAAE,8DAA8D;KACtE;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAkC;IACtD;QACE,IAAI,EAAG,YAAY;QACnB,KAAK,EAAE,6CAA6C;KACrD;IACD;QACE,IAAI,EAAG,kBAAkB;QACzB,KAAK,EAAE,4DAA4D;KACpE;IACD;QACE,IAAI,EAAG,mBAAmB;QAC1B,KAAK,EAAE,wDAAwD;KAChE;CACF,CAAC;AAEF,MAAM,aAAa,GAAkC;IACnD;QACE,IAAI,EAAG,YAAY;QACnB,KAAK,EAAE,+EAA+E;KACvF;IACD;QACE,IAAI,EAAG,kBAAkB;QACzB,KAAK,EAAE,+GAA+G;KACvH;IACD;QACE,IAAI,EAAG,mBAAmB;QAC1B,KAAK,EAAE,mEAAmE;KAC3E;CACF,CAAC;AAEF,mFAAmF;AAEnF;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAwB;IAExB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,eAAe,CAAC,CAAK,OAAO,mBAAmB,CAAC;QACrD,KAAK,WAAW,CAAC,CAAS,OAAO,eAAe,CAAC;QACjD,KAAK,mBAAmB,CAAC,CAAC,OAAO,uBAAuB,CAAC;QACzD,KAAK,YAAY,CAAC,CAAQ,OAAO,gBAAgB,CAAC;QAClD,KAAK,SAAS,CAAC,CAAW,OAAO,aAAa,CAAC;IACjD,CAAC;AACH,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Silent Guidance Mode — the shape-based template selector for bridge-silent flows.
3
+ *
4
+ * ── Purpose ─────────────────────────────────────────────────────────────────
5
+ *
6
+ * When the Intent Interpretation Bridge is eligible but no interpreter claims
7
+ * the input (bridgeSilenceReason === "no_interpreter_claimed"), the system
8
+ * still needs to show guidance. The default code-patch template is often
9
+ * misleading for non-patch requests (ops, QA, content, schema, etc.).
10
+ *
11
+ * SilentGuidanceMode selects which generic template to render.
12
+ *
13
+ * ── What this is NOT ─────────────────────────────────────────────────────────
14
+ *
15
+ * NOT an intent classifier — produces no category or confidence
16
+ * NOT an interpreter — does not enter IntentInterpretation
17
+ * NOT in UCP — no envelope emitted
18
+ * NOT in GuidancePayload.interpretation — interpretation field unchanged
19
+ * NOT authority-bearing — does not affect mode, signal, intentState
20
+ *
21
+ * ── What this IS ─────────────────────────────────────────────────────────────
22
+ *
23
+ * Purely presentation-level guidance shaping.
24
+ * Replaces nextSteps in GuidancePayload with mode-appropriate generic steps.
25
+ * missing[] is always preserved unchanged.
26
+ *
27
+ * ── Mode semantics ────────────────────────────────────────────────────────────
28
+ *
29
+ * "investigation" QA, debugging, bug reproduction, smoke tests, mocks
30
+ * "operation" Infra, deployments, pipelines, schema changes, migrations
31
+ * "content_iteration" Copy, UX text, product description, taglines, user flow
32
+ * "code_patch" Explicit code patch intent not claimed by any interpreter
33
+ * "unknown" Fallback: vague, cross-domain, or ambiguous request shape
34
+ */
35
+ export type SilentGuidanceMode = "investigation" | "operation" | "content_iteration" | "code_patch" | "unknown";
36
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/understand/silent-guidance/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,WAAW,GACX,mBAAmB,GACnB,YAAY,GACZ,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/understand/silent-guidance/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,197 @@
1
+ /**
2
+ * Phase 9C: Workflow coordinator.
3
+ *
4
+ * ── Purpose ───────────────────────────────────────────────────────────────────
5
+ *
6
+ * Sequences CursorProductSession and ClaudeProductSession instances,
7
+ * one at a time, through a human-authored list of task specs.
8
+ *
9
+ * ── What this is NOT (W1) ─────────────────────────────────────────────────────
10
+ *
11
+ * NOT authority — calls session functions; makes no decisions.
12
+ * NOT a planner — task specs are fixed at definition time; none are derived.
13
+ * NOT a retry engine — retry creates a new session; H re-approves every time.
14
+ * NOT a batch approver — each session requires explicit H approval (W2).
15
+ * NOT stateful — all functions return new WorkflowRun objects.
16
+ *
17
+ * ── Function contract ─────────────────────────────────────────────────────────
18
+ *
19
+ * createWorkflowRun(spec) → "reviewing"
20
+ * startWorkflow(run, ...) → "task_ready" | "task_conflict" | "completed"
21
+ * cancelWorkflow(run) → "stopped" (no session created)
22
+ * advanceWorkflow(run, ...) → "task_ready" | "task_conflict" | "completed"
23
+ * acceptWorkflowConflict(run) → "task_ready"
24
+ * confirmWorkflowTask(run, yes) → "task_approved" | "task_failed"
25
+ * deliverWorkflowTask(run, ...) → "running" | "task_scope" | "task_failed"
26
+ * answerWorkflowScope(run, idx, ...) → "task_approved" (→ call deliverWorkflowTask)
27
+ * applyFailureAction(run, action, ...) → "running" | "stopped"
28
+ *
29
+ * ── Shell loop ─────────────────────────────────────────────────────────────────
30
+ *
31
+ * run = createWorkflowRun(spec) // → "reviewing"
32
+ * // (H confirms pre-flight list)
33
+ * run = startWorkflow(run, ...) // → "task_ready" | "task_conflict"
34
+ * while (!isWorkflowTerminal(run)):
35
+ * if "task_conflict": run = acceptWorkflowConflict(run) // or reject
36
+ * if "task_ready": run = confirmWorkflowTask(run, yes)
37
+ * if "task_approved": run = await deliverWorkflowTask(run, ...)
38
+ * if "task_scope": run = await answerWorkflowScope(run, idx, ...)
39
+ * run = await deliverWorkflowTask(run, ...)
40
+ * if "task_failed": run = applyFailureAction(run, action)
41
+ * if "running": run = advanceWorkflow(run, ...)
42
+ *
43
+ * ── Authority invariants (W1–W8) ──────────────────────────────────────────────
44
+ *
45
+ * W2: confirmWorkflowTask(yes) → calls approve() only. deliverWorkflowTask
46
+ * is a separate explicit call. The coordinator never auto-delivers.
47
+ * W3: applyFailureAction("retry") creates a new session; never resumes.
48
+ * W6: applyOCDOverride() adds to prohibited globs; never removes.
49
+ * W7: task spec inputs are read-only; never modified after createWorkflowRun.
50
+ * W8: runtime is taken from task spec; never derived or converted.
51
+ *
52
+ * See: docs/phase-9b-workflow-design.md
53
+ */
54
+ import type { CursorOCDPolicy } from "../cursor/types.js";
55
+ import type { ClaudeOCDPolicy } from "../claude/artifact-mapper.js";
56
+ import type { ClaudeToolPolicy } from "../claude/types.js";
57
+ import type { ClaudeGateDeps } from "../claude/delivery-gate.js";
58
+ import type { WorkflowSpec, WorkflowRun, WorkflowPlugins } from "./types.js";
59
+ import type { WorkflowRunPayload } from "../ucp/types.js";
60
+ /**
61
+ * Create a new WorkflowRun from a spec.
62
+ *
63
+ * The run begins in "reviewing" phase (Phase 11D / WF-R1).
64
+ * No session is created until H explicitly starts the workflow via startWorkflow().
65
+ *
66
+ * WF-R2: currentSession is absent in "reviewing".
67
+ *
68
+ * @param opts.mode "break_glass" to skip per-step human confirm (BG-1).
69
+ * @param opts.breakGlassReason Required when mode is "break_glass" (BG-4).
70
+ * Recorded in audit permanently (BG-3).
71
+ */
72
+ export declare function createWorkflowRun(spec: WorkflowSpec, opts?: {
73
+ mode?: "normal" | "break_glass";
74
+ breakGlassReason?: string;
75
+ }): WorkflowRun;
76
+ /**
77
+ * Confirm the pre-flight review and start executing the first task.
78
+ *
79
+ * WF-R3: the only path out of "reviewing" into execution.
80
+ *
81
+ * Transitions "reviewing" → "idle" → immediately calls advanceWorkflow to
82
+ * prepare the first task. Returns the same result advanceWorkflow would:
83
+ * "task_ready" | "task_conflict" | "completed" (if all tasks auto-skip).
84
+ *
85
+ * Valid from "reviewing" only; no-op from any other phase.
86
+ */
87
+ export declare function startWorkflow(run: WorkflowRun, cursorPolicy: CursorOCDPolicy, claudeOCDPolicy: ClaudeOCDPolicy, claudeToolPolicy: ClaudeToolPolicy): WorkflowRun;
88
+ /**
89
+ * Cancel the workflow at the pre-flight stage.
90
+ *
91
+ * H declined to start. No session was ever created (WF-R1).
92
+ * Transitions "reviewing" → "stopped" cleanly.
93
+ *
94
+ * Valid from "reviewing" only; no-op from any other phase.
95
+ */
96
+ export declare function cancelWorkflow(run: WorkflowRun): WorkflowRun;
97
+ export declare function isWorkflowTerminal(run: WorkflowRun): boolean;
98
+ /**
99
+ * Advance the workflow to the next task.
100
+ *
101
+ * Called when phase is "idle" or "running".
102
+ *
103
+ * Creates a new session for the current task spec, submits the task input,
104
+ * and transitions to "task_ready", "task_conflict", or "completed".
105
+ *
106
+ * Auto-skips tasks where intake returns a non-execute mode ("skipped_by_intake").
107
+ * This is the V1 default policy for non-execute inputs (see Phase 9B design).
108
+ *
109
+ * @param cursorPolicy Workspace Cursor OCD policy (workflow override is applied internally).
110
+ * @param claudeOCDPolicy Workspace Claude OCD policy (workflow override is applied internally).
111
+ * @param claudeToolPolicy Claude tool policy.
112
+ */
113
+ export declare function advanceWorkflow(run: WorkflowRun, cursorPolicy: CursorOCDPolicy, claudeOCDPolicy: ClaudeOCDPolicy, claudeToolPolicy: ClaudeToolPolicy): WorkflowRun;
114
+ /**
115
+ * Accept the OCD conflict on the current task.
116
+ *
117
+ * Valid from "task_conflict" only.
118
+ * Transitions to "task_ready".
119
+ */
120
+ export declare function acceptWorkflowConflict(run: WorkflowRun): WorkflowRun;
121
+ /**
122
+ * Confirm (approve) or reject the current prepared task.
123
+ *
124
+ * Valid from "task_ready" and "task_conflict" (rejection path).
125
+ *
126
+ * yes=true → calls approve() / approveClaude() → "task_approved"
127
+ * yes=false → calls reject() / rejectClaude() → "task_failed" (outcome: "rejected")
128
+ *
129
+ * ── Proof W2 (never approves on behalf of H) ────────────────────────────────
130
+ *
131
+ * This function calls approve() exactly once when yes=true.
132
+ * It does NOT call deliver() or deliverClaude().
133
+ * The session transitions to "approved", not "accepted".
134
+ * deliverWorkflowTask() is the separate, explicit delivery step.
135
+ */
136
+ export declare function confirmWorkflowTask(run: WorkflowRun, yes: boolean): WorkflowRun;
137
+ /**
138
+ * Deliver the current approved task to its runtime.
139
+ *
140
+ * Valid from "task_approved" only.
141
+ *
142
+ * Outcome:
143
+ * accepted → record outcome, increment currentIndex → "running"
144
+ * scope_question → "task_scope"
145
+ * exec_error / blocked → "task_failed"
146
+ *
147
+ * @param plugins WorkflowPlugins — coordinator picks the right one by runtime (W8 / Proof 3).
148
+ * @param storeDir UCP store directory.
149
+ * @param deps Optional gate dependencies (for test injection, Claude only).
150
+ */
151
+ export declare function deliverWorkflowTask(run: WorkflowRun, plugins: WorkflowPlugins, storeDir: string, deps?: ClaudeGateDeps): Promise<WorkflowRun>;
152
+ /**
153
+ * Answer a scope clarification question for the current task.
154
+ *
155
+ * Valid from "task_scope" only.
156
+ * Transitions to "task_approved" so the caller can call deliverWorkflowTask again.
157
+ *
158
+ * @param choiceIdx 1-based index into the scope candidates.
159
+ * Out-of-range → returns state unchanged.
160
+ */
161
+ export declare function answerWorkflowScope(run: WorkflowRun, choiceIdx: number): WorkflowRun;
162
+ /**
163
+ * Apply a failure action to the current failed task.
164
+ *
165
+ * Valid from "task_failed" only.
166
+ *
167
+ * Actions:
168
+ * stop → "stopped" (terminal)
169
+ * skip → record as "skipped", advance currentIndex → "running"
170
+ * retry → if retryCount < maxRetries: increment retryCount, reset session → "running"
171
+ * if retryCount >= maxRetries: returns state unchanged (stop/skip only)
172
+ *
173
+ * W3: retry creates a new session via advanceWorkflow; no session is re-opened.
174
+ *
175
+ * @returns Next WorkflowRun. Caller must call advanceWorkflow() after "running".
176
+ */
177
+ export declare function applyFailureAction(run: WorkflowRun, action: "stop" | "skip" | "retry"): WorkflowRun;
178
+ /**
179
+ * buildWorkflowRunPayload — produce the UCP payload for ucp.workflow_run.v1.
180
+ *
181
+ * Called when the workflow reaches "completed" or "stopped" (W5).
182
+ * Not called for in-progress runs.
183
+ *
184
+ * @throws {Error} If run is not in a terminal phase.
185
+ */
186
+ export declare function buildWorkflowRunPayload(run: WorkflowRun): WorkflowRunPayload;
187
+ /**
188
+ * persistWorkflowRun — build a ucp.workflow_run.v1 envelope and persist it.
189
+ *
190
+ * This is fire-and-forget (uses persistEnvelope, not persistEnvelopeOrThrow).
191
+ * A persistence failure must NOT block the shell from rendering a terminal
192
+ * state to the user. The UCP record is an audit artifact, not a gate.
193
+ *
194
+ * @throws {Error} If run is not terminal. Call only after isWorkflowTerminal(run).
195
+ */
196
+ export declare function persistWorkflowRun(run: WorkflowRun, storeDir: string): void;
197
+ //# sourceMappingURL=coordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/workflow/coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AA8BH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAO,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAO,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAQ,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EAOX,eAAe,EAGhB,MAAM,YAAY,CAAC;AAKpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAoK1D;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,YAAY,EAClB,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GACpE,WAAW,CA0Bb;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAe,WAAW,EAC7B,YAAY,EAAM,eAAe,EACjC,eAAe,EAAG,eAAe,EACjC,gBAAgB,EAAE,gBAAgB,GACjC,WAAW,CAMb;AAID;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAI5D;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAE5D;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAe,WAAW,EAC7B,YAAY,EAAM,eAAe,EACjC,eAAe,EAAG,eAAe,EACjC,gBAAgB,EAAE,gBAAgB,GACjC,WAAW,CA4Gb;AAID;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAkBpE;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,GAAG,WAAW,CAmD/E;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAO,WAAW,EACrB,OAAO,EAAG,eAAe,EACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAK,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,CA6HtB;AAID;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAsBpF;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAK,WAAW,EACnB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAChC,WAAW,CAuDb;AAID;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG,kBAAkB,CAmC5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI3E"}