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 @@
1
+ {"version":3,"file":"color-intent.interpreter.d.ts","sourceRoot":"","sources":["../../../../../src/understand/intent-interpretation/interpreters/color-intent.interpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,aAAa,CAAC;AAe3E,eAAO,MAAM,sBAAsB,EAAE,iBA4BpC,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Color intent interpreter.
3
+ *
4
+ * Scope: detect inputs that appear to be visual/color style changes.
5
+ * Priority 20 — runs after config (which owns toggle/enable verbs).
6
+ *
7
+ * Color signal words: named colors, comparative terms (darker/lighter), and
8
+ * the generic words "color" / "colour".
9
+ *
10
+ * UI target terms: component names that contextualize the color signal and
11
+ * raise confidence from "low" (color word only) to "medium" (color + target).
12
+ *
13
+ * Noun-context guard — DARK MODE:
14
+ * "dark mode" as a compound noun refers to a UI theme variant, not a shade/color
15
+ * change. The word "dark" alone would otherwise trigger this interpreter (false
16
+ * positive). If the input contains the phrase "dark mode", the interpreter returns
17
+ * null and yields to the config interpreter or bridge silence.
18
+ *
19
+ * Examples of the guard in action:
20
+ * "I want to add dark mode" → null (feature request, not color change)
21
+ * "add a dark mode option" → null (same: feature request)
22
+ * "make the background dark" → visual_color (shade change — guard does NOT fire)
23
+ * "darker shade of blue" → visual_color (no "dark mode" phrase — guard OK)
24
+ * "enable dark mode" → config_change (config fires first at priority 10)
25
+ *
26
+ * Language contract:
27
+ * Summary says "appears to be a color/style change request" — medium confidence.
28
+ * Never says "background becomes blue" or infers the component type.
29
+ * basis[] reports the exact matched token so the result is inspectable.
30
+ */
31
+ const COLOR_WORDS_RE = /\b(blue|red|green|yellow|orange|purple|pink|black|white|gray|grey|teal|indigo|violet|cyan|magenta|coral|slate|stone|zinc|neutral|amber|lime|emerald|sky|rose|darker|lighter|dark|light|colors?|colours?)\b/i;
32
+ const UI_COLOR_TARGETS_RE = /\b(button|background|header|footer|nav|sidebar|icon|badge|label|link|card|chip|tag|border|text|heading|banner|hero|modal|overlay|avatar)\b/i;
33
+ /**
34
+ * Noun-context guard: "dark mode" is a compound noun (UI theme feature),
35
+ * not a color/shade description. Matched exactly as a phrase to avoid
36
+ * over-suppression of "dark background", "dark overlay", etc.
37
+ */
38
+ const DARK_MODE_GUARD_RE = /\bdark\s+mode\b/i;
39
+ export const colorIntentInterpreter = {
40
+ id: "color_intent",
41
+ priority: 20,
42
+ matches(input) {
43
+ if (DARK_MODE_GUARD_RE.test(input))
44
+ return false;
45
+ return COLOR_WORDS_RE.test(input);
46
+ },
47
+ interpret(input) {
48
+ if (DARK_MODE_GUARD_RE.test(input))
49
+ return null;
50
+ const colorMatch = COLOR_WORDS_RE.exec(input);
51
+ if (colorMatch === null)
52
+ return null;
53
+ const basis = [`matched color word: ${colorMatch[1]}`];
54
+ const targetMatch = UI_COLOR_TARGETS_RE.exec(input);
55
+ if (targetMatch !== null) {
56
+ basis.push(`ui target term: ${targetMatch[1]}`);
57
+ }
58
+ return {
59
+ category: "visual_color",
60
+ summary: "This appears to be a color/style change request.",
61
+ confidence: targetMatch !== null ? "medium" : "low",
62
+ basis,
63
+ };
64
+ },
65
+ };
66
+ //# sourceMappingURL=color-intent.interpreter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-intent.interpreter.js","sourceRoot":"","sources":["../../../../../src/understand/intent-interpretation/interpreters/color-intent.interpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,MAAM,cAAc,GAClB,6MAA6M,CAAC;AAEhN,MAAM,mBAAmB,GACvB,6IAA6I,CAAC;AAEhJ;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,EAAE,EAAE,cAAc;IAClB,QAAQ,EAAE,EAAE;IAEZ,OAAO,CAAC,KAAK;QACX,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACjD,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,KAAK;QACb,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,KAAK,GAAa,CAAC,uBAAuB,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEjE,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,OAAO;YACL,QAAQ,EAAI,cAAc;YAC1B,OAAO,EAAK,kDAAkD;YAC9D,UAAU,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;YACnD,KAAK;SACN,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Config intent interpreter.
3
+ *
4
+ * Scope: detect inputs that appear to be feature flags, toggles, or configuration
5
+ * value changes. Priority 10 — runs before color/text to prevent "toggle dark mode"
6
+ * being misclassified as a color change.
7
+ *
8
+ * Strong verbs (always config-like regardless of noun):
9
+ * toggle, enable, disable, activate, deactivate
10
+ *
11
+ * Config nouns (trigger even with generic verbs like "set" / "change"):
12
+ * timeout, port, flag, config, configuration, env, environment, variable, feature, debug, logging
13
+ *
14
+ * Out of scope: general UI state like "disable the button" is borderline,
15
+ * but v1 errs toward config_change when a strong config verb is present.
16
+ * Confidence is "medium" throughout — the bridge never claims certainty.
17
+ */
18
+ import type { IntentInterpreter } from "../types.js";
19
+ export declare const configIntentInterpreter: IntentInterpreter;
20
+ //# sourceMappingURL=config-intent.interpreter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-intent.interpreter.d.ts","sourceRoot":"","sources":["../../../../../src/understand/intent-interpretation/interpreters/config-intent.interpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,aAAa,CAAC;AA0C3E,eAAO,MAAM,uBAAuB,EAAE,iBA8BrC,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Config intent interpreter.
3
+ *
4
+ * Scope: detect inputs that appear to be feature flags, toggles, or configuration
5
+ * value changes. Priority 10 — runs before color/text to prevent "toggle dark mode"
6
+ * being misclassified as a color change.
7
+ *
8
+ * Strong verbs (always config-like regardless of noun):
9
+ * toggle, enable, disable, activate, deactivate
10
+ *
11
+ * Config nouns (trigger even with generic verbs like "set" / "change"):
12
+ * timeout, port, flag, config, configuration, env, environment, variable, feature, debug, logging
13
+ *
14
+ * Out of scope: general UI state like "disable the button" is borderline,
15
+ * but v1 errs toward config_change when a strong config verb is present.
16
+ * Confidence is "medium" throughout — the bridge never claims certainty.
17
+ */
18
+ const STRONG_CONFIG_VERBS_RE = /\b(toggle|enable|disable|activate|deactivate)\b/i;
19
+ /**
20
+ * Config noun patterns — deliberately narrow to prevent false positives.
21
+ *
22
+ * ── Precision fixes (Sessions 4–5) ────────────────────────────────────────────
23
+ *
24
+ * Removed standalone "feature":
25
+ * "launch the new feature" was incorrectly firing config_change.
26
+ * "feature" alone is too broad — it matches product ops, not only config.
27
+ *
28
+ * Removed standalone "flag":
29
+ * "flag any user with N failed logins" incorrectly fired config_change.
30
+ * "flag" as a user-labeling verb is not config work.
31
+ *
32
+ * Added "feature[\s-]flag" as a compound phrase:
33
+ * The original intent — catching "update the feature flag" — is preserved.
34
+ * "toggle/enable/disable the flag" still fires via STRONG_CONFIG_VERBS_RE.
35
+ *
36
+ * ── Precision fix (Session 6) ─────────────────────────────────────────────────
37
+ *
38
+ * Removed standalone "debug":
39
+ * "debug the authentication error" / "debug the service mesh" incorrectly fired
40
+ * config_change because "debug" as a bare noun matched CONFIG_NOUNS_RE.
41
+ * Session 6 confirmed this fires across 4/4 diagnostic inputs, 3 personas — a
42
+ * systematic false positive, not an edge case.
43
+ *
44
+ * Added "debug[\s-](?:mode|log(?:ging)?|level|flag)" as a compound phrase:
45
+ * "debug mode for the API server" and "debug logging" are legitimate config work
46
+ * and must continue to fire. The compound catches these without absorbing
47
+ * diagnostic-verb uses like "debug the X" (where X is a problem or system).
48
+ *
49
+ * "enable debug logging" still fires:
50
+ * The strong verb "enable" matches STRONG_CONFIG_VERBS_RE independently, so
51
+ * removing bare "debug" does not break the strong-verb path.
52
+ */
53
+ const CONFIG_NOUNS_RE = /\b(?:timeout|port|config(?:uration)?|env(?:ironment)?|variable|logging)\b|\bfeature[\s-]flag\b|\bdebug[\s-](?:mode|log(?:ging)?|level|flag)\b/i;
54
+ export const configIntentInterpreter = {
55
+ id: "config_intent",
56
+ priority: 10,
57
+ matches(input) {
58
+ return STRONG_CONFIG_VERBS_RE.test(input) || CONFIG_NOUNS_RE.test(input);
59
+ },
60
+ interpret(input) {
61
+ const basis = [];
62
+ const verbMatch = STRONG_CONFIG_VERBS_RE.exec(input);
63
+ if (verbMatch !== null) {
64
+ basis.push(`matched config verb: ${verbMatch[1]}`);
65
+ }
66
+ const nounMatch = CONFIG_NOUNS_RE.exec(input);
67
+ if (nounMatch !== null) {
68
+ basis.push(`matched config keyword: ${nounMatch[1]}`);
69
+ }
70
+ if (basis.length === 0)
71
+ return null;
72
+ return {
73
+ category: "config_change",
74
+ summary: "This appears to be a configuration change request.",
75
+ confidence: "medium",
76
+ basis,
77
+ };
78
+ },
79
+ };
80
+ //# sourceMappingURL=config-intent.interpreter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-intent.interpreter.js","sourceRoot":"","sources":["../../../../../src/understand/intent-interpretation/interpreters/config-intent.interpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,sBAAsB,GAC1B,kDAAkD,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,eAAe,GACnB,gJAAgJ,CAAC;AAEnJ,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,EAAE,EAAE,eAAe;IACnB,QAAQ,EAAE,EAAE;IAEZ,OAAO,CAAC,KAAK;QACX,OAAO,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IAED,SAAS,CAAC,KAAK;QACb,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,wBAAwB,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,OAAO;YACL,QAAQ,EAAI,eAAe;YAC3B,OAAO,EAAK,oDAAoD;YAChE,UAAU,EAAE,QAAQ;YACpB,KAAK;SACN,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Text intent interpreter.
3
+ *
4
+ * Scope: detect inputs that appear to be UI text/copy changes.
5
+ * Priority 30 — runs last; requires BOTH a text-change verb AND a text target.
6
+ * This tighter match prevents generic verbs ("change") alone from triggering.
7
+ *
8
+ * Text change verbs: change, update, rename, edit, modify, rewrite, replace
9
+ * Text target terms: heading, headline, text, label, copy, title, caption,
10
+ * paragraph, message, description, placeholder, content,
11
+ * wording, phrase
12
+ *
13
+ * "change the heading text" → text_change (verb + target both present)
14
+ * "change the background" → not matched (no text target → falls through to color)
15
+ * "rename the title" → text_change (rename is a strong text verb)
16
+ * "update button label" → text_change (update + label)
17
+ *
18
+ * Language contract:
19
+ * Summary says "appears to be a text/content change request."
20
+ * Does NOT say "heading label" or infer element type from the target word.
21
+ * basis[] records both matched tokens.
22
+ */
23
+ import type { IntentInterpreter } from "../types.js";
24
+ export declare const textIntentInterpreter: IntentInterpreter;
25
+ //# sourceMappingURL=text-intent.interpreter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-intent.interpreter.d.ts","sourceRoot":"","sources":["../../../../../src/understand/intent-interpretation/interpreters/text-intent.interpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,aAAa,CAAC;AAQ3E,eAAO,MAAM,qBAAqB,EAAE,iBAuBnC,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Text intent interpreter.
3
+ *
4
+ * Scope: detect inputs that appear to be UI text/copy changes.
5
+ * Priority 30 — runs last; requires BOTH a text-change verb AND a text target.
6
+ * This tighter match prevents generic verbs ("change") alone from triggering.
7
+ *
8
+ * Text change verbs: change, update, rename, edit, modify, rewrite, replace
9
+ * Text target terms: heading, headline, text, label, copy, title, caption,
10
+ * paragraph, message, description, placeholder, content,
11
+ * wording, phrase
12
+ *
13
+ * "change the heading text" → text_change (verb + target both present)
14
+ * "change the background" → not matched (no text target → falls through to color)
15
+ * "rename the title" → text_change (rename is a strong text verb)
16
+ * "update button label" → text_change (update + label)
17
+ *
18
+ * Language contract:
19
+ * Summary says "appears to be a text/content change request."
20
+ * Does NOT say "heading label" or infer element type from the target word.
21
+ * basis[] records both matched tokens.
22
+ */
23
+ const TEXT_VERBS_RE = /\b(change|update|rename|edit|modify|rewrite|replace)\b/i;
24
+ const TEXT_TARGETS_RE = /\b(heading|headline|label|copy|title|caption|paragraph|message|description|placeholder|content|wording|phrase|sentence|text)\b/i;
25
+ export const textIntentInterpreter = {
26
+ id: "text_intent",
27
+ priority: 30,
28
+ matches(input) {
29
+ return TEXT_VERBS_RE.test(input) && TEXT_TARGETS_RE.test(input);
30
+ },
31
+ interpret(input) {
32
+ const verbMatch = TEXT_VERBS_RE.exec(input);
33
+ const targetMatch = TEXT_TARGETS_RE.exec(input);
34
+ if (verbMatch === null || targetMatch === null)
35
+ return null;
36
+ return {
37
+ category: "text_change",
38
+ summary: "This appears to be a text/content change request.",
39
+ confidence: "medium",
40
+ basis: [
41
+ `matched text change verb: ${verbMatch[1]}`,
42
+ `matched text target: ${targetMatch[1]}`,
43
+ ],
44
+ };
45
+ },
46
+ };
47
+ //# sourceMappingURL=text-intent.interpreter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-intent.interpreter.js","sourceRoot":"","sources":["../../../../../src/understand/intent-interpretation/interpreters/text-intent.interpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,MAAM,aAAa,GACjB,yDAAyD,CAAC;AAE5D,MAAM,eAAe,GACnB,iIAAiI,CAAC;AAEpI,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD,EAAE,EAAE,aAAa;IACjB,QAAQ,EAAE,EAAE;IAEZ,OAAO,CAAC,KAAK;QACX,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,SAAS,CAAC,KAAK;QACb,MAAM,SAAS,GAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,SAAS,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE5D,OAAO;YACL,QAAQ,EAAI,aAAa;YACzB,OAAO,EAAK,mDAAmD;YAC/D,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE;gBACL,6BAA6B,SAAS,CAAC,CAAC,CAAC,EAAE;gBAC3C,wBAAwB,WAAW,CAAC,CAAC,CAAC,EAAE;aACzC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Workflow intent interpreter.
3
+ *
4
+ * Scope: detect inputs that appear to be development lifecycle / operational
5
+ * workflow requests — commit actions, sequential multi-step flows, and
6
+ * simple operational cleanup tasks.
7
+ *
8
+ * Priority 5 — runs first (before config, color, text) because commit verbs
9
+ * are unambiguous and must not be misclassified as config or text changes.
10
+ *
11
+ * Two signal families (either alone is sufficient to classify):
12
+ *
13
+ * 1. Commit signals
14
+ * "commit", "git commit", "save changes", "save my changes"
15
+ * → clearly a dev-lifecycle intent regardless of surrounding words
16
+ *
17
+ * 2. Sequential workflow signals
18
+ * Patterns like "and then <verb>", "build and deploy", "test and commit"
19
+ * → two-step or multi-step operational chains
20
+ *
21
+ * Language contract:
22
+ * Summary says "appears to be a development workflow request" — medium confidence.
23
+ * basis[] records the exact matched token so results are inspectable.
24
+ * Never guesses the target branch, file, or working directory.
25
+ *
26
+ * Out of scope (v1):
27
+ * "push to production", "merge branch", "rebase" — too broad for v1;
28
+ * these fall back to the generic fallback guidance.
29
+ *
30
+ * ── Hard invariant ────────────────────────────────────────────────────────────
31
+ * Interpretation can improve guidance, but it can never manufacture executability.
32
+ */
33
+ import type { IntentInterpreter } from "../types.js";
34
+ export declare const workflowIntentInterpreter: IntentInterpreter;
35
+ //# sourceMappingURL=workflow-intent.interpreter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-intent.interpreter.d.ts","sourceRoot":"","sources":["../../../../../src/understand/intent-interpretation/interpreters/workflow-intent.interpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,aAAa,CAAC;AA8B3E,eAAO,MAAM,yBAAyB,EAAE,iBAqCvC,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Workflow intent interpreter.
3
+ *
4
+ * Scope: detect inputs that appear to be development lifecycle / operational
5
+ * workflow requests — commit actions, sequential multi-step flows, and
6
+ * simple operational cleanup tasks.
7
+ *
8
+ * Priority 5 — runs first (before config, color, text) because commit verbs
9
+ * are unambiguous and must not be misclassified as config or text changes.
10
+ *
11
+ * Two signal families (either alone is sufficient to classify):
12
+ *
13
+ * 1. Commit signals
14
+ * "commit", "git commit", "save changes", "save my changes"
15
+ * → clearly a dev-lifecycle intent regardless of surrounding words
16
+ *
17
+ * 2. Sequential workflow signals
18
+ * Patterns like "and then <verb>", "build and deploy", "test and commit"
19
+ * → two-step or multi-step operational chains
20
+ *
21
+ * Language contract:
22
+ * Summary says "appears to be a development workflow request" — medium confidence.
23
+ * basis[] records the exact matched token so results are inspectable.
24
+ * Never guesses the target branch, file, or working directory.
25
+ *
26
+ * Out of scope (v1):
27
+ * "push to production", "merge branch", "rebase" — too broad for v1;
28
+ * these fall back to the generic fallback guidance.
29
+ *
30
+ * ── Hard invariant ────────────────────────────────────────────────────────────
31
+ * Interpretation can improve guidance, but it can never manufacture executability.
32
+ */
33
+ /**
34
+ * Commit-intent signal: the user clearly wants to perform a commit action.
35
+ * Requires "commit" / "git commit" / "save changes" in the input.
36
+ *
37
+ * "commit" must not be in a noun-reference context.
38
+ * Noun exclusion pattern catches: "show last commit", "view recent commits",
39
+ * "latest commit", "previous commit", "check commit history", etc.
40
+ * In these cases, "commit" refers to a past recorded commit, not an action.
41
+ */
42
+ const COMMIT_SIGNAL_RE = /\b(git\s+commit|save\s+(?:my\s+)?changes|commit)\b/i;
43
+ /**
44
+ * Noun-context guard: "commit" is being used as a noun (reference to a
45
+ * past/existing commit object), NOT as a verb (the action of committing).
46
+ *
47
+ * If this matches, the commit signal must be suppressed.
48
+ */
49
+ const COMMIT_NOUN_CONTEXT_RE = /\b(?:show|view|see|check|inspect|display|list|log)\b.{0,30}\bcommits?\b|\b(?:last|latest|recent|previous|prior|earliest|newest|oldest)\s+commits?\b|\bcommit\s+(?:history|log|message|hash|id|sha|diff)\b/i;
50
+ /**
51
+ * Sequential workflow signal: two named actions chained together.
52
+ * Matches "and then <verb>", common two-step chains (build+deploy, test+commit, etc.).
53
+ */
54
+ const SEQUENTIAL_SIGNAL_RE = /\b(?:and\s+then|then\s+(?:commit|deploy|push|build|test)|(?:build|test|run|compile|check|verify|clean|lint)\s+and\s+(?:then\s+)?(?:commit|deploy|push|build|test|clean|remove|delete))\b/i;
55
+ export const workflowIntentInterpreter = {
56
+ id: "workflow_intent",
57
+ priority: 5,
58
+ matches(input) {
59
+ const hasSequential = SEQUENTIAL_SIGNAL_RE.test(input);
60
+ if (hasSequential)
61
+ return true;
62
+ // Suppress commit match when "commit" is in a noun-reference context
63
+ const hasCommit = COMMIT_SIGNAL_RE.test(input) && !COMMIT_NOUN_CONTEXT_RE.test(input);
64
+ return hasCommit;
65
+ },
66
+ interpret(input) {
67
+ const basis = [];
68
+ const sequentialMatch = SEQUENTIAL_SIGNAL_RE.exec(input);
69
+ if (sequentialMatch !== null) {
70
+ basis.push(`matched sequential workflow pattern: ${sequentialMatch[0].trim()}`);
71
+ }
72
+ // Only add commit basis when not in noun-reference context
73
+ if (!COMMIT_NOUN_CONTEXT_RE.test(input)) {
74
+ const commitMatch = COMMIT_SIGNAL_RE.exec(input);
75
+ if (commitMatch !== null) {
76
+ basis.push(`matched commit signal: ${commitMatch[1]}`);
77
+ }
78
+ }
79
+ if (basis.length === 0)
80
+ return null;
81
+ return {
82
+ category: "workflow_operation",
83
+ summary: "This appears to be a development workflow request.",
84
+ confidence: "medium",
85
+ basis,
86
+ };
87
+ },
88
+ };
89
+ //# sourceMappingURL=workflow-intent.interpreter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-intent.interpreter.js","sourceRoot":"","sources":["../../../../../src/understand/intent-interpretation/interpreters/workflow-intent.interpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GACpB,qDAAqD,CAAC;AAExD;;;;;GAKG;AACH,MAAM,sBAAsB,GAC1B,4MAA4M,CAAC;AAE/M;;;GAGG;AACH,MAAM,oBAAoB,GACxB,2LAA2L,CAAC;AAE9L,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,EAAE,EAAE,iBAAiB;IACrB,QAAQ,EAAE,CAAC;IAEX,OAAO,CAAC,KAAK;QACX,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,aAAa;YAAE,OAAO,IAAI,CAAC;QAC/B,qEAAqE;QACrE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,KAAK;QACb,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,wCAAwC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,0BAA0B,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,OAAO;YACL,QAAQ,EAAI,oBAAoB;YAChC,OAAO,EAAK,oDAAoD;YAChE,UAAU,EAAE,QAAQ;YACpB,KAAK;SACN,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Intent Interpretation Bridge — interpreter registry.
3
+ *
4
+ * This file owns the ordered list of IntentInterpreter instances.
5
+ * Orchestration logic lives in intent-interpretation.ts.
6
+ *
7
+ * Priority ordering is enforced here at compile time via the sort.
8
+ * Lower priority number = runs first.
9
+ *
10
+ * v1 registry:
11
+ * 5 — workflow (commit verbs + sequential patterns; wins before config/color/text)
12
+ * 10 — config (strong config verbs win over color words)
13
+ * 20 — color (named colors + UI target terms)
14
+ * 30 — text (text-change verb AND text target, both required)
15
+ */
16
+ import type { IntentInterpreter } from "./types.js";
17
+ export declare const ALL_INTENT_INTERPRETERS: ReadonlyArray<IntentInterpreter>;
18
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/understand/intent-interpretation/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC,iBAAiB,CAK5B,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Intent Interpretation Bridge — interpreter registry.
3
+ *
4
+ * This file owns the ordered list of IntentInterpreter instances.
5
+ * Orchestration logic lives in intent-interpretation.ts.
6
+ *
7
+ * Priority ordering is enforced here at compile time via the sort.
8
+ * Lower priority number = runs first.
9
+ *
10
+ * v1 registry:
11
+ * 5 — workflow (commit verbs + sequential patterns; wins before config/color/text)
12
+ * 10 — config (strong config verbs win over color words)
13
+ * 20 — color (named colors + UI target terms)
14
+ * 30 — text (text-change verb AND text target, both required)
15
+ */
16
+ import { workflowIntentInterpreter } from "./interpreters/workflow-intent.interpreter.js";
17
+ import { configIntentInterpreter } from "./interpreters/config-intent.interpreter.js";
18
+ import { colorIntentInterpreter } from "./interpreters/color-intent.interpreter.js";
19
+ import { textIntentInterpreter } from "./interpreters/text-intent.interpreter.js";
20
+ export const ALL_INTENT_INTERPRETERS = [
21
+ workflowIntentInterpreter, // priority 5
22
+ configIntentInterpreter, // priority 10
23
+ colorIntentInterpreter, // priority 20
24
+ textIntentInterpreter, // priority 30
25
+ ].sort((a, b) => a.priority - b.priority);
26
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/understand/intent-interpretation/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAQ,6CAA6C,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAS,4CAA4C,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAU,2CAA2C,CAAC;AAEtF,MAAM,CAAC,MAAM,uBAAuB,GAAqC;IACvE,yBAAyB,EAAE,cAAc;IACzC,uBAAuB,EAAI,cAAc;IACzC,sBAAsB,EAAK,cAAc;IACzC,qBAAqB,EAAM,cAAc;CAC1C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Intent Interpretation Bridge types.
3
+ *
4
+ * ── Two interpretation families ────────────────────────────────────────────────
5
+ *
6
+ * Change Interpretation (src/understand/interpretation/)
7
+ * → For executable, structured commands: replace "X" with "Y" in <file>
8
+ * → Runs when mode === "execute"
9
+ * → Describes what the change means after the fact
10
+ *
11
+ * Intent Interpretation Bridge (this module)
12
+ * → For vague, incomplete requests: "make the button blue"
13
+ * → Runs when CompletionResult.kind === "guided_recovery"
14
+ * → Describes what the user appears to be trying to do
15
+ * → Improves guidance labels — never invents missing values
16
+ *
17
+ * ── Scope contract ─────────────────────────────────────────────────────────────
18
+ *
19
+ * The bridge MAY:
20
+ * - Classify broad intent category (visual_color, text_change, config_change, workflow_operation)
21
+ * - Rewrite guidance labels in human language
22
+ * - Add rationale to "read first" steps
23
+ * - Record what signals triggered the classification (basis[])
24
+ * - Run for both guided_recovery and incomplete completion results (both become guide mode)
25
+ *
26
+ * The bridge MUST NOT:
27
+ * - Guess file paths
28
+ * - Guess current or new values
29
+ * - Turn guided_recovery or incomplete into complete
30
+ * - Downgrade safety
31
+ * - Override mode
32
+ *
33
+ * ── GuidancePayload (home of record) ─────────────────────────────────────────
34
+ *
35
+ * GuidancePayload lives here because it is enriched by this layer.
36
+ * intake/types.ts re-imports it from here to avoid circular dependencies.
37
+ * (understand → intake would be upward; this module is understand-level.)
38
+ */
39
+ import type { CompletionNextStep } from "../completion/types.js";
40
+ export type IntentInterpretationCategory = "visual_color" | "text_change" | "config_change" | "workflow_operation" | "unknown";
41
+ export type IntentInterpretation = {
42
+ readonly category: IntentInterpretationCategory;
43
+ readonly summary: string;
44
+ readonly confidence: "high" | "medium" | "low";
45
+ /**
46
+ * Inspectable evidence: what signals triggered this classification.
47
+ * Examples: ["matched color word: blue", "ui target term: button"]
48
+ * Never empty when category !== "unknown".
49
+ */
50
+ readonly basis: readonly string[];
51
+ };
52
+ /**
53
+ * GuidancePayload — the structured next-step payload for guide mode.
54
+ *
55
+ * When the bridge runs, it may attach an IntentInterpretation and rewrite
56
+ * nextSteps labels to be context-aware. It never fills in missing values.
57
+ *
58
+ * CONTRACT: interpretation is present only when category !== "unknown".
59
+ */
60
+ export type GuidancePayload = {
61
+ readonly missing: readonly string[];
62
+ readonly nextSteps: readonly CompletionNextStep[];
63
+ readonly interpretation?: IntentInterpretation;
64
+ };
65
+ /**
66
+ * An IntentInterpreter classifies a user's vague input into a broad intent
67
+ * category and provides human-readable classification evidence.
68
+ *
69
+ * Rules:
70
+ * - Must be deterministic (same input → same output, always)
71
+ * - Must return null if input is outside its scope
72
+ * - Must populate basis[] with specific matched evidence
73
+ * - Must never infer values not present in the input text
74
+ *
75
+ * Priority: lower number = runs first.
76
+ */
77
+ export type IntentInterpreter = {
78
+ readonly id: string;
79
+ readonly priority: number;
80
+ matches(input: string): boolean;
81
+ interpret(input: string): IntentInterpretation | null;
82
+ };
83
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/understand/intent-interpretation/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,MAAM,4BAA4B,GACpC,cAAc,GACd,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,SAAS,CAAC;AAEd,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAClD,QAAQ,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAC;CAChD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAAC;CACvD,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Intent Interpretation Bridge types.
3
+ *
4
+ * ── Two interpretation families ────────────────────────────────────────────────
5
+ *
6
+ * Change Interpretation (src/understand/interpretation/)
7
+ * → For executable, structured commands: replace "X" with "Y" in <file>
8
+ * → Runs when mode === "execute"
9
+ * → Describes what the change means after the fact
10
+ *
11
+ * Intent Interpretation Bridge (this module)
12
+ * → For vague, incomplete requests: "make the button blue"
13
+ * → Runs when CompletionResult.kind === "guided_recovery"
14
+ * → Describes what the user appears to be trying to do
15
+ * → Improves guidance labels — never invents missing values
16
+ *
17
+ * ── Scope contract ─────────────────────────────────────────────────────────────
18
+ *
19
+ * The bridge MAY:
20
+ * - Classify broad intent category (visual_color, text_change, config_change, workflow_operation)
21
+ * - Rewrite guidance labels in human language
22
+ * - Add rationale to "read first" steps
23
+ * - Record what signals triggered the classification (basis[])
24
+ * - Run for both guided_recovery and incomplete completion results (both become guide mode)
25
+ *
26
+ * The bridge MUST NOT:
27
+ * - Guess file paths
28
+ * - Guess current or new values
29
+ * - Turn guided_recovery or incomplete into complete
30
+ * - Downgrade safety
31
+ * - Override mode
32
+ *
33
+ * ── GuidancePayload (home of record) ─────────────────────────────────────────
34
+ *
35
+ * GuidancePayload lives here because it is enriched by this layer.
36
+ * intake/types.ts re-imports it from here to avoid circular dependencies.
37
+ * (understand → intake would be upward; this module is understand-level.)
38
+ */
39
+ export {};
40
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/understand/intent-interpretation/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG"}