@cleocode/cleo 2026.4.161 → 2026.5.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 (857) hide show
  1. package/dist/backfill/audit-columns.d.ts +105 -0
  2. package/dist/backfill/audit-columns.d.ts.map +1 -0
  3. package/dist/backfill/audit-columns.js +258 -0
  4. package/dist/backfill/audit-columns.js.map +1 -0
  5. package/dist/cli/commands/adapter.d.ts +28 -0
  6. package/dist/cli/commands/adapter.d.ts.map +1 -0
  7. package/dist/cli/commands/adapter.js +119 -0
  8. package/dist/cli/commands/adapter.js.map +1 -0
  9. package/dist/cli/commands/add-batch.d.ts +33 -0
  10. package/dist/cli/commands/add-batch.d.ts.map +1 -0
  11. package/dist/cli/commands/add-batch.js +148 -0
  12. package/dist/cli/commands/add-batch.js.map +1 -0
  13. package/dist/cli/commands/add.d.ts +162 -0
  14. package/dist/cli/commands/add.d.ts.map +1 -0
  15. package/dist/cli/commands/add.js +279 -0
  16. package/dist/cli/commands/add.js.map +1 -0
  17. package/dist/cli/commands/admin.d.ts +24 -0
  18. package/dist/cli/commands/admin.d.ts.map +1 -0
  19. package/dist/cli/commands/admin.js +283 -0
  20. package/dist/cli/commands/admin.js.map +1 -0
  21. package/dist/cli/commands/adr.d.ts +33 -0
  22. package/dist/cli/commands/adr.d.ts.map +1 -0
  23. package/dist/cli/commands/adr.js +147 -0
  24. package/dist/cli/commands/adr.js.map +1 -0
  25. package/dist/cli/commands/agent-profile-status.d.ts +98 -0
  26. package/dist/cli/commands/agent-profile-status.d.ts.map +1 -0
  27. package/dist/cli/commands/agent-profile-status.js +71 -0
  28. package/dist/cli/commands/agent-profile-status.js.map +1 -0
  29. package/dist/cli/commands/agent.d.ts +47 -0
  30. package/dist/cli/commands/agent.d.ts.map +1 -0
  31. package/dist/cli/commands/agent.js +2976 -0
  32. package/dist/cli/commands/agent.js.map +1 -0
  33. package/dist/cli/commands/analyze.d.ts +21 -0
  34. package/dist/cli/commands/analyze.d.ts.map +1 -0
  35. package/dist/cli/commands/analyze.js +32 -0
  36. package/dist/cli/commands/analyze.js.map +1 -0
  37. package/dist/cli/commands/archive-stats.d.ts +66 -0
  38. package/dist/cli/commands/archive-stats.d.ts.map +1 -0
  39. package/dist/cli/commands/archive-stats.js +93 -0
  40. package/dist/cli/commands/archive-stats.js.map +1 -0
  41. package/dist/cli/commands/archive.d.ts +42 -0
  42. package/dist/cli/commands/archive.d.ts.map +1 -0
  43. package/dist/cli/commands/archive.js +59 -0
  44. package/dist/cli/commands/archive.js.map +1 -0
  45. package/dist/cli/commands/audit.d.ts +22 -0
  46. package/dist/cli/commands/audit.d.ts.map +1 -0
  47. package/dist/cli/commands/audit.js +137 -0
  48. package/dist/cli/commands/audit.js.map +1 -0
  49. package/dist/cli/commands/backfill.d.ts +56 -0
  50. package/dist/cli/commands/backfill.d.ts.map +1 -0
  51. package/dist/cli/commands/backfill.js +161 -0
  52. package/dist/cli/commands/backfill.js.map +1 -0
  53. package/dist/cli/commands/backup-inspect.d.ts +33 -0
  54. package/dist/cli/commands/backup-inspect.d.ts.map +1 -0
  55. package/dist/cli/commands/backup-inspect.js +430 -0
  56. package/dist/cli/commands/backup-inspect.js.map +1 -0
  57. package/dist/cli/commands/backup.d.ts +23 -0
  58. package/dist/cli/commands/backup.d.ts.map +1 -0
  59. package/dist/cli/commands/backup.js +564 -0
  60. package/dist/cli/commands/backup.js.map +1 -0
  61. package/dist/cli/commands/blockers.d.ts +20 -0
  62. package/dist/cli/commands/blockers.d.ts.map +1 -0
  63. package/dist/cli/commands/blockers.js +31 -0
  64. package/dist/cli/commands/blockers.js.map +1 -0
  65. package/dist/cli/commands/brain.d.ts +37 -0
  66. package/dist/cli/commands/brain.d.ts.map +1 -0
  67. package/dist/cli/commands/brain.js +445 -0
  68. package/dist/cli/commands/brain.js.map +1 -0
  69. package/dist/cli/commands/briefing.d.ts +52 -0
  70. package/dist/cli/commands/briefing.d.ts.map +1 -0
  71. package/dist/cli/commands/briefing.js +69 -0
  72. package/dist/cli/commands/briefing.js.map +1 -0
  73. package/dist/cli/commands/bug.d.ts +61 -0
  74. package/dist/cli/commands/bug.d.ts.map +1 -0
  75. package/dist/cli/commands/bug.js +198 -0
  76. package/dist/cli/commands/bug.js.map +1 -0
  77. package/dist/cli/commands/cancel.d.ts +26 -0
  78. package/dist/cli/commands/cancel.d.ts.map +1 -0
  79. package/dist/cli/commands/cancel.js +40 -0
  80. package/dist/cli/commands/cancel.js.map +1 -0
  81. package/dist/cli/commands/cant.d.ts +13 -0
  82. package/dist/cli/commands/cant.d.ts.map +1 -0
  83. package/dist/cli/commands/cant.js +245 -0
  84. package/dist/cli/commands/cant.js.map +1 -0
  85. package/dist/cli/commands/chain.d.ts +24 -0
  86. package/dist/cli/commands/chain.d.ts.map +1 -0
  87. package/dist/cli/commands/chain.js +116 -0
  88. package/dist/cli/commands/chain.js.map +1 -0
  89. package/dist/cli/commands/check.d.ts +18 -0
  90. package/dist/cli/commands/check.d.ts.map +1 -0
  91. package/dist/cli/commands/check.js +280 -0
  92. package/dist/cli/commands/check.js.map +1 -0
  93. package/dist/cli/commands/checkpoint.d.ts +27 -0
  94. package/dist/cli/commands/checkpoint.d.ts.map +1 -0
  95. package/dist/cli/commands/checkpoint.js +105 -0
  96. package/dist/cli/commands/checkpoint.js.map +1 -0
  97. package/dist/cli/commands/claim.d.ts +35 -0
  98. package/dist/cli/commands/claim.d.ts.map +1 -0
  99. package/dist/cli/commands/claim.js +35 -0
  100. package/dist/cli/commands/claim.js.map +1 -0
  101. package/dist/cli/commands/code.d.ts +22 -0
  102. package/dist/cli/commands/code.d.ts.map +1 -0
  103. package/dist/cli/commands/code.js +161 -0
  104. package/dist/cli/commands/code.js.map +1 -0
  105. package/dist/cli/commands/complete.d.ts +58 -0
  106. package/dist/cli/commands/complete.d.ts.map +1 -0
  107. package/dist/cli/commands/complete.js +83 -0
  108. package/dist/cli/commands/complete.js.map +1 -0
  109. package/dist/cli/commands/complexity.d.ts +13 -0
  110. package/dist/cli/commands/complexity.d.ts.map +1 -0
  111. package/dist/cli/commands/complexity.js +32 -0
  112. package/dist/cli/commands/complexity.js.map +1 -0
  113. package/dist/cli/commands/compliance.d.ts +27 -0
  114. package/dist/cli/commands/compliance.d.ts.map +1 -0
  115. package/dist/cli/commands/compliance.js +233 -0
  116. package/dist/cli/commands/compliance.js.map +1 -0
  117. package/dist/cli/commands/conduit.d.ts +28 -0
  118. package/dist/cli/commands/conduit.d.ts.map +1 -0
  119. package/dist/cli/commands/conduit.js +279 -0
  120. package/dist/cli/commands/conduit.js.map +1 -0
  121. package/dist/cli/commands/config.d.ts +25 -0
  122. package/dist/cli/commands/config.d.ts.map +1 -0
  123. package/dist/cli/commands/config.js +132 -0
  124. package/dist/cli/commands/config.js.map +1 -0
  125. package/dist/cli/commands/consensus.d.ts +21 -0
  126. package/dist/cli/commands/consensus.d.ts.map +1 -0
  127. package/dist/cli/commands/consensus.js +100 -0
  128. package/dist/cli/commands/consensus.js.map +1 -0
  129. package/dist/cli/commands/context.d.ts +19 -0
  130. package/dist/cli/commands/context.d.ts.map +1 -0
  131. package/dist/cli/commands/context.js +111 -0
  132. package/dist/cli/commands/context.js.map +1 -0
  133. package/dist/cli/commands/contribution.d.ts +21 -0
  134. package/dist/cli/commands/contribution.d.ts.map +1 -0
  135. package/dist/cli/commands/contribution.js +90 -0
  136. package/dist/cli/commands/contribution.js.map +1 -0
  137. package/dist/cli/commands/current.d.ts +18 -0
  138. package/dist/cli/commands/current.d.ts.map +1 -0
  139. package/dist/cli/commands/current.js +28 -0
  140. package/dist/cli/commands/current.js.map +1 -0
  141. package/dist/cli/commands/daemon.d.ts +36 -0
  142. package/dist/cli/commands/daemon.d.ts.map +1 -0
  143. package/dist/cli/commands/daemon.js +223 -0
  144. package/dist/cli/commands/daemon.js.map +1 -0
  145. package/dist/cli/commands/dash.d.ts +23 -0
  146. package/dist/cli/commands/dash.d.ts.map +1 -0
  147. package/dist/cli/commands/dash.js +38 -0
  148. package/dist/cli/commands/dash.js.map +1 -0
  149. package/dist/cli/commands/decomposition.d.ts +13 -0
  150. package/dist/cli/commands/decomposition.d.ts.map +1 -0
  151. package/dist/cli/commands/decomposition.js +92 -0
  152. package/dist/cli/commands/decomposition.js.map +1 -0
  153. package/dist/cli/commands/delete.d.ts +29 -0
  154. package/dist/cli/commands/delete.d.ts.map +1 -0
  155. package/dist/cli/commands/delete.js +55 -0
  156. package/dist/cli/commands/delete.js.map +1 -0
  157. package/dist/cli/commands/deps.d.ts +45 -0
  158. package/dist/cli/commands/deps.d.ts.map +1 -0
  159. package/dist/cli/commands/deps.js +170 -0
  160. package/dist/cli/commands/deps.js.map +1 -0
  161. package/dist/cli/commands/detect-drift.d.ts +23 -0
  162. package/dist/cli/commands/detect-drift.d.ts.map +1 -0
  163. package/dist/cli/commands/detect-drift.js +440 -0
  164. package/dist/cli/commands/detect-drift.js.map +1 -0
  165. package/dist/cli/commands/detect.d.ts +3 -0
  166. package/dist/cli/commands/detect.d.ts.map +1 -0
  167. package/dist/cli/commands/detect.js +14 -0
  168. package/dist/cli/commands/detect.js.map +1 -0
  169. package/dist/cli/commands/diagnostics.d.ts +19 -0
  170. package/dist/cli/commands/diagnostics.d.ts.map +1 -0
  171. package/dist/cli/commands/diagnostics.js +109 -0
  172. package/dist/cli/commands/diagnostics.js.map +1 -0
  173. package/dist/cli/commands/docs.d.ts +25 -0
  174. package/dist/cli/commands/docs.d.ts.map +1 -0
  175. package/dist/cli/commands/docs.js +798 -0
  176. package/dist/cli/commands/docs.js.map +1 -0
  177. package/dist/cli/commands/doctor-projects.d.ts +101 -0
  178. package/dist/cli/commands/doctor-projects.d.ts.map +1 -0
  179. package/dist/cli/commands/doctor-projects.js +188 -0
  180. package/dist/cli/commands/doctor-projects.js.map +1 -0
  181. package/dist/cli/commands/doctor.d.ts +66 -0
  182. package/dist/cli/commands/doctor.d.ts.map +1 -0
  183. package/dist/cli/commands/doctor.js +178 -0
  184. package/dist/cli/commands/doctor.js.map +1 -0
  185. package/dist/cli/commands/dynamic.d.ts +15 -0
  186. package/dist/cli/commands/dynamic.d.ts.map +1 -0
  187. package/dist/cli/commands/dynamic.js +21 -0
  188. package/dist/cli/commands/dynamic.js.map +1 -0
  189. package/dist/cli/commands/exists.d.ts +13 -0
  190. package/dist/cli/commands/exists.d.ts.map +1 -0
  191. package/dist/cli/commands/exists.js +40 -0
  192. package/dist/cli/commands/exists.js.map +1 -0
  193. package/dist/cli/commands/export-tasks.d.ts +46 -0
  194. package/dist/cli/commands/export-tasks.d.ts.map +1 -0
  195. package/dist/cli/commands/export-tasks.js +81 -0
  196. package/dist/cli/commands/export-tasks.js.map +1 -0
  197. package/dist/cli/commands/export.d.ts +35 -0
  198. package/dist/cli/commands/export.d.ts.map +1 -0
  199. package/dist/cli/commands/export.js +68 -0
  200. package/dist/cli/commands/export.js.map +1 -0
  201. package/dist/cli/commands/find.d.ts +54 -0
  202. package/dist/cli/commands/find.d.ts.map +1 -0
  203. package/dist/cli/commands/find.js +92 -0
  204. package/dist/cli/commands/find.js.map +1 -0
  205. package/dist/cli/commands/gc.d.ts +25 -0
  206. package/dist/cli/commands/gc.d.ts.map +1 -0
  207. package/dist/cli/commands/gc.js +165 -0
  208. package/dist/cli/commands/gc.js.map +1 -0
  209. package/dist/cli/commands/generate-changelog.d.ts +30 -0
  210. package/dist/cli/commands/generate-changelog.d.ts.map +1 -0
  211. package/dist/cli/commands/generate-changelog.js +270 -0
  212. package/dist/cli/commands/generate-changelog.js.map +1 -0
  213. package/dist/cli/commands/grade.d.ts +13 -0
  214. package/dist/cli/commands/grade.d.ts.map +1 -0
  215. package/dist/cli/commands/grade.js +27 -0
  216. package/dist/cli/commands/grade.js.map +1 -0
  217. package/dist/cli/commands/history.d.ts +13 -0
  218. package/dist/cli/commands/history.d.ts.map +1 -0
  219. package/dist/cli/commands/history.js +65 -0
  220. package/dist/cli/commands/history.js.map +1 -0
  221. package/dist/cli/commands/import-tasks.d.ts +60 -0
  222. package/dist/cli/commands/import-tasks.d.ts.map +1 -0
  223. package/dist/cli/commands/import-tasks.js +83 -0
  224. package/dist/cli/commands/import-tasks.js.map +1 -0
  225. package/dist/cli/commands/import.d.ts +42 -0
  226. package/dist/cli/commands/import.d.ts.map +1 -0
  227. package/dist/cli/commands/import.js +64 -0
  228. package/dist/cli/commands/import.js.map +1 -0
  229. package/dist/cli/commands/init.d.ts +65 -0
  230. package/dist/cli/commands/init.d.ts.map +1 -0
  231. package/dist/cli/commands/init.js +122 -0
  232. package/dist/cli/commands/init.js.map +1 -0
  233. package/dist/cli/commands/inject.d.ts +41 -0
  234. package/dist/cli/commands/inject.d.ts.map +1 -0
  235. package/dist/cli/commands/inject.js +56 -0
  236. package/dist/cli/commands/inject.js.map +1 -0
  237. package/dist/cli/commands/install-global.d.ts +48 -0
  238. package/dist/cli/commands/install-global.d.ts.map +1 -0
  239. package/dist/cli/commands/install-global.js +104 -0
  240. package/dist/cli/commands/install-global.js.map +1 -0
  241. package/dist/cli/commands/intelligence.d.ts +21 -0
  242. package/dist/cli/commands/intelligence.d.ts.map +1 -0
  243. package/dist/cli/commands/intelligence.js +145 -0
  244. package/dist/cli/commands/intelligence.js.map +1 -0
  245. package/dist/cli/commands/issue.d.ts +23 -0
  246. package/dist/cli/commands/issue.d.ts.map +1 -0
  247. package/dist/cli/commands/issue.js +152 -0
  248. package/dist/cli/commands/issue.js.map +1 -0
  249. package/dist/cli/commands/labels.d.ts +21 -0
  250. package/dist/cli/commands/labels.d.ts.map +1 -0
  251. package/dist/cli/commands/labels.js +65 -0
  252. package/dist/cli/commands/labels.js.map +1 -0
  253. package/dist/cli/commands/lifecycle.d.ts +25 -0
  254. package/dist/cli/commands/lifecycle.d.ts.map +1 -0
  255. package/dist/cli/commands/lifecycle.js +221 -0
  256. package/dist/cli/commands/lifecycle.js.map +1 -0
  257. package/dist/cli/commands/list.d.ts +28 -0
  258. package/dist/cli/commands/list.d.ts.map +1 -0
  259. package/dist/cli/commands/list.js +81 -0
  260. package/dist/cli/commands/list.js.map +1 -0
  261. package/dist/cli/commands/log.d.ts +36 -0
  262. package/dist/cli/commands/log.d.ts.map +1 -0
  263. package/dist/cli/commands/log.js +50 -0
  264. package/dist/cli/commands/log.js.map +1 -0
  265. package/dist/cli/commands/manifest.d.ts +15 -0
  266. package/dist/cli/commands/manifest.d.ts.map +1 -0
  267. package/dist/cli/commands/manifest.js +334 -0
  268. package/dist/cli/commands/manifest.js.map +1 -0
  269. package/dist/cli/commands/map.d.ts +25 -0
  270. package/dist/cli/commands/map.d.ts.map +1 -0
  271. package/dist/cli/commands/map.js +37 -0
  272. package/dist/cli/commands/map.js.map +1 -0
  273. package/dist/cli/commands/memory.d.ts +48 -0
  274. package/dist/cli/commands/memory.d.ts.map +1 -0
  275. package/dist/cli/commands/memory.js +2439 -0
  276. package/dist/cli/commands/memory.js.map +1 -0
  277. package/dist/cli/commands/migrate-claude-mem.d.ts +23 -0
  278. package/dist/cli/commands/migrate-claude-mem.d.ts.map +1 -0
  279. package/dist/cli/commands/migrate-claude-mem.js +181 -0
  280. package/dist/cli/commands/migrate-claude-mem.js.map +1 -0
  281. package/dist/cli/commands/next.d.ts +27 -0
  282. package/dist/cli/commands/next.d.ts.map +1 -0
  283. package/dist/cli/commands/next.js +40 -0
  284. package/dist/cli/commands/next.js.map +1 -0
  285. package/dist/cli/commands/nexus.d.ts +15 -0
  286. package/dist/cli/commands/nexus.d.ts.map +1 -0
  287. package/dist/cli/commands/nexus.js +3377 -0
  288. package/dist/cli/commands/nexus.js.map +1 -0
  289. package/dist/cli/commands/ops.d.ts +23 -0
  290. package/dist/cli/commands/ops.d.ts.map +1 -0
  291. package/dist/cli/commands/ops.js +35 -0
  292. package/dist/cli/commands/ops.js.map +1 -0
  293. package/dist/cli/commands/orchestrate.d.ts +48 -0
  294. package/dist/cli/commands/orchestrate.d.ts.map +1 -0
  295. package/dist/cli/commands/orchestrate.js +774 -0
  296. package/dist/cli/commands/orchestrate.js.map +1 -0
  297. package/dist/cli/commands/otel.d.ts +30 -0
  298. package/dist/cli/commands/otel.d.ts.map +1 -0
  299. package/dist/cli/commands/otel.js +193 -0
  300. package/dist/cli/commands/otel.js.map +1 -0
  301. package/dist/cli/commands/phase.d.ts +29 -0
  302. package/dist/cli/commands/phase.d.ts.map +1 -0
  303. package/dist/cli/commands/phase.js +189 -0
  304. package/dist/cli/commands/phase.js.map +1 -0
  305. package/dist/cli/commands/pivot.d.ts +34 -0
  306. package/dist/cli/commands/pivot.d.ts.map +1 -0
  307. package/dist/cli/commands/pivot.js +50 -0
  308. package/dist/cli/commands/pivot.js.map +1 -0
  309. package/dist/cli/commands/plan.d.ts +17 -0
  310. package/dist/cli/commands/plan.d.ts.map +1 -0
  311. package/dist/cli/commands/plan.js +27 -0
  312. package/dist/cli/commands/plan.js.map +1 -0
  313. package/dist/cli/commands/playbook.d.ts +26 -0
  314. package/dist/cli/commands/playbook.d.ts.map +1 -0
  315. package/dist/cli/commands/playbook.js +220 -0
  316. package/dist/cli/commands/playbook.js.map +1 -0
  317. package/dist/cli/commands/promote.d.ts +19 -0
  318. package/dist/cli/commands/promote.d.ts.map +1 -0
  319. package/dist/cli/commands/promote.js +27 -0
  320. package/dist/cli/commands/promote.js.map +1 -0
  321. package/dist/cli/commands/provider.d.ts +23 -0
  322. package/dist/cli/commands/provider.d.ts.map +1 -0
  323. package/dist/cli/commands/provider.js +168 -0
  324. package/dist/cli/commands/provider.js.map +1 -0
  325. package/dist/cli/commands/reason.d.ts +18 -0
  326. package/dist/cli/commands/reason.d.ts.map +1 -0
  327. package/dist/cli/commands/reason.js +102 -0
  328. package/dist/cli/commands/reason.js.map +1 -0
  329. package/dist/cli/commands/reconcile.d.ts +35 -0
  330. package/dist/cli/commands/reconcile.d.ts.map +1 -0
  331. package/dist/cli/commands/reconcile.js +102 -0
  332. package/dist/cli/commands/reconcile.js.map +1 -0
  333. package/dist/cli/commands/refresh-memory.d.ts +16 -0
  334. package/dist/cli/commands/refresh-memory.d.ts.map +1 -0
  335. package/dist/cli/commands/refresh-memory.js +34 -0
  336. package/dist/cli/commands/refresh-memory.js.map +1 -0
  337. package/dist/cli/commands/relates.d.ts +19 -0
  338. package/dist/cli/commands/relates.d.ts.map +1 -0
  339. package/dist/cli/commands/relates.js +129 -0
  340. package/dist/cli/commands/relates.js.map +1 -0
  341. package/dist/cli/commands/release.d.ts +27 -0
  342. package/dist/cli/commands/release.d.ts.map +1 -0
  343. package/dist/cli/commands/release.js +300 -0
  344. package/dist/cli/commands/release.js.map +1 -0
  345. package/dist/cli/commands/remote.d.ts +49 -0
  346. package/dist/cli/commands/remote.d.ts.map +1 -0
  347. package/dist/cli/commands/remote.js +265 -0
  348. package/dist/cli/commands/remote.js.map +1 -0
  349. package/dist/cli/commands/reorder.d.ts +31 -0
  350. package/dist/cli/commands/reorder.d.ts.map +1 -0
  351. package/dist/cli/commands/reorder.js +57 -0
  352. package/dist/cli/commands/reorder.js.map +1 -0
  353. package/dist/cli/commands/reparent.d.ts +27 -0
  354. package/dist/cli/commands/reparent.d.ts.map +1 -0
  355. package/dist/cli/commands/reparent.js +36 -0
  356. package/dist/cli/commands/reparent.js.map +1 -0
  357. package/dist/cli/commands/req.d.ts +37 -0
  358. package/dist/cli/commands/req.d.ts.map +1 -0
  359. package/dist/cli/commands/req.js +121 -0
  360. package/dist/cli/commands/req.js.map +1 -0
  361. package/dist/cli/commands/research.d.ts +25 -0
  362. package/dist/cli/commands/research.d.ts.map +1 -0
  363. package/dist/cli/commands/research.js +327 -0
  364. package/dist/cli/commands/research.js.map +1 -0
  365. package/dist/cli/commands/restore.d.ts +64 -0
  366. package/dist/cli/commands/restore.d.ts.map +1 -0
  367. package/dist/cli/commands/restore.js +539 -0
  368. package/dist/cli/commands/restore.js.map +1 -0
  369. package/dist/cli/commands/revert.d.ts +79 -0
  370. package/dist/cli/commands/revert.d.ts.map +1 -0
  371. package/dist/cli/commands/revert.js +300 -0
  372. package/dist/cli/commands/revert.js.map +1 -0
  373. package/dist/cli/commands/roadmap.d.ts +29 -0
  374. package/dist/cli/commands/roadmap.d.ts.map +1 -0
  375. package/dist/cli/commands/roadmap.js +43 -0
  376. package/dist/cli/commands/roadmap.js.map +1 -0
  377. package/dist/cli/commands/safestop.d.ts +41 -0
  378. package/dist/cli/commands/safestop.d.ts.map +1 -0
  379. package/dist/cli/commands/safestop.js +62 -0
  380. package/dist/cli/commands/safestop.js.map +1 -0
  381. package/dist/cli/commands/schema.d.ts +44 -0
  382. package/dist/cli/commands/schema.d.ts.map +1 -0
  383. package/dist/cli/commands/schema.js +177 -0
  384. package/dist/cli/commands/schema.js.map +1 -0
  385. package/dist/cli/commands/self-update.d.ts +81 -0
  386. package/dist/cli/commands/self-update.d.ts.map +1 -0
  387. package/dist/cli/commands/self-update.js +483 -0
  388. package/dist/cli/commands/self-update.js.map +1 -0
  389. package/dist/cli/commands/sentient.d.ts +44 -0
  390. package/dist/cli/commands/sentient.d.ts.map +1 -0
  391. package/dist/cli/commands/sentient.js +687 -0
  392. package/dist/cli/commands/sentient.js.map +1 -0
  393. package/dist/cli/commands/sequence.d.ts +15 -0
  394. package/dist/cli/commands/sequence.d.ts.map +1 -0
  395. package/dist/cli/commands/sequence.js +68 -0
  396. package/dist/cli/commands/sequence.js.map +1 -0
  397. package/dist/cli/commands/session.d.ts +32 -0
  398. package/dist/cli/commands/session.d.ts.map +1 -0
  399. package/dist/cli/commands/session.js +583 -0
  400. package/dist/cli/commands/session.js.map +1 -0
  401. package/dist/cli/commands/show.d.ts +21 -0
  402. package/dist/cli/commands/show.d.ts.map +1 -0
  403. package/dist/cli/commands/show.js +37 -0
  404. package/dist/cli/commands/show.js.map +1 -0
  405. package/dist/cli/commands/skills.d.ts +31 -0
  406. package/dist/cli/commands/skills.d.ts.map +1 -0
  407. package/dist/cli/commands/skills.js +303 -0
  408. package/dist/cli/commands/skills.js.map +1 -0
  409. package/dist/cli/commands/snapshot.d.ts +17 -0
  410. package/dist/cli/commands/snapshot.d.ts.map +1 -0
  411. package/dist/cli/commands/snapshot.js +95 -0
  412. package/dist/cli/commands/snapshot.js.map +1 -0
  413. package/dist/cli/commands/start.d.ts +21 -0
  414. package/dist/cli/commands/start.d.ts.map +1 -0
  415. package/dist/cli/commands/start.js +32 -0
  416. package/dist/cli/commands/start.js.map +1 -0
  417. package/dist/cli/commands/stats.d.ts +30 -0
  418. package/dist/cli/commands/stats.d.ts.map +1 -0
  419. package/dist/cli/commands/stats.js +71 -0
  420. package/dist/cli/commands/stats.js.map +1 -0
  421. package/dist/cli/commands/sticky.d.ts +23 -0
  422. package/dist/cli/commands/sticky.d.ts.map +1 -0
  423. package/dist/cli/commands/sticky.js +315 -0
  424. package/dist/cli/commands/sticky.js.map +1 -0
  425. package/dist/cli/commands/stop.d.ts +15 -0
  426. package/dist/cli/commands/stop.d.ts.map +1 -0
  427. package/dist/cli/commands/stop.js +25 -0
  428. package/dist/cli/commands/stop.js.map +1 -0
  429. package/dist/cli/commands/sync.d.ts +25 -0
  430. package/dist/cli/commands/sync.d.ts.map +1 -0
  431. package/dist/cli/commands/sync.js +125 -0
  432. package/dist/cli/commands/sync.js.map +1 -0
  433. package/dist/cli/commands/testing.d.ts +22 -0
  434. package/dist/cli/commands/testing.d.ts.map +1 -0
  435. package/dist/cli/commands/testing.js +111 -0
  436. package/dist/cli/commands/testing.js.map +1 -0
  437. package/dist/cli/commands/token.d.ts +22 -0
  438. package/dist/cli/commands/token.d.ts.map +1 -0
  439. package/dist/cli/commands/token.js +197 -0
  440. package/dist/cli/commands/token.js.map +1 -0
  441. package/dist/cli/commands/transcript.d.ts +32 -0
  442. package/dist/cli/commands/transcript.d.ts.map +1 -0
  443. package/dist/cli/commands/transcript.js +526 -0
  444. package/dist/cli/commands/transcript.js.map +1 -0
  445. package/dist/cli/commands/update.d.ts +164 -0
  446. package/dist/cli/commands/update.d.ts.map +1 -0
  447. package/dist/cli/commands/update.js +234 -0
  448. package/dist/cli/commands/update.js.map +1 -0
  449. package/dist/cli/commands/upgrade.d.ts +76 -0
  450. package/dist/cli/commands/upgrade.d.ts.map +1 -0
  451. package/dist/cli/commands/upgrade.js +154 -0
  452. package/dist/cli/commands/upgrade.js.map +1 -0
  453. package/dist/cli/commands/verify.d.ts +83 -0
  454. package/dist/cli/commands/verify.d.ts.map +1 -0
  455. package/dist/cli/commands/verify.js +108 -0
  456. package/dist/cli/commands/verify.js.map +1 -0
  457. package/dist/cli/commands/web.d.ts +27 -0
  458. package/dist/cli/commands/web.d.ts.map +1 -0
  459. package/dist/cli/commands/web.js +414 -0
  460. package/dist/cli/commands/web.js.map +1 -0
  461. package/dist/cli/field-context.d.ts +32 -0
  462. package/dist/cli/field-context.d.ts.map +1 -0
  463. package/dist/cli/field-context.js +47 -0
  464. package/dist/cli/field-context.js.map +1 -0
  465. package/dist/cli/format-context.d.ts +32 -0
  466. package/dist/cli/format-context.d.ts.map +1 -0
  467. package/dist/cli/format-context.js +50 -0
  468. package/dist/cli/format-context.js.map +1 -0
  469. package/dist/cli/help-renderer.d.ts +40 -0
  470. package/dist/cli/help-renderer.d.ts.map +1 -0
  471. package/dist/cli/help-renderer.js +325 -0
  472. package/dist/cli/help-renderer.js.map +1 -0
  473. package/dist/cli/index.d.ts +14 -0
  474. package/dist/cli/index.d.ts.map +1 -0
  475. package/dist/cli/index.js +1712 -9777
  476. package/dist/cli/index.js.map +4 -4
  477. package/dist/cli/infer-files-via-gitnexus.d.ts +12 -0
  478. package/dist/cli/infer-files-via-gitnexus.d.ts.map +1 -0
  479. package/dist/cli/infer-files-via-gitnexus.js +12 -0
  480. package/dist/cli/infer-files-via-gitnexus.js.map +1 -0
  481. package/dist/cli/lib/did-you-mean.d.ts +30 -0
  482. package/dist/cli/lib/did-you-mean.d.ts.map +1 -0
  483. package/dist/cli/lib/did-you-mean.js +63 -0
  484. package/dist/cli/lib/did-you-mean.js.map +1 -0
  485. package/dist/cli/lib/registry-args.d.ts +36 -0
  486. package/dist/cli/lib/registry-args.d.ts.map +1 -0
  487. package/dist/cli/lib/registry-args.js +37 -0
  488. package/dist/cli/lib/registry-args.js.map +1 -0
  489. package/dist/cli/lib/subcommand-guard.d.ts +45 -0
  490. package/dist/cli/lib/subcommand-guard.d.ts.map +1 -0
  491. package/dist/cli/lib/subcommand-guard.js +55 -0
  492. package/dist/cli/lib/subcommand-guard.js.map +1 -0
  493. package/dist/cli/logger-bootstrap.d.ts +6 -0
  494. package/dist/cli/logger-bootstrap.d.ts.map +1 -0
  495. package/dist/cli/logger-bootstrap.js +10 -0
  496. package/dist/cli/logger-bootstrap.js.map +1 -0
  497. package/dist/cli/middleware/output-format.d.ts +30 -0
  498. package/dist/cli/middleware/output-format.d.ts.map +1 -0
  499. package/dist/cli/middleware/output-format.js +35 -0
  500. package/dist/cli/middleware/output-format.js.map +1 -0
  501. package/dist/cli/paths.d.ts +85 -0
  502. package/dist/cli/paths.d.ts.map +1 -0
  503. package/dist/cli/paths.js +108 -0
  504. package/dist/cli/paths.js.map +1 -0
  505. package/dist/cli/progress.d.ts +89 -0
  506. package/dist/cli/progress.d.ts.map +1 -0
  507. package/dist/cli/progress.js +185 -0
  508. package/dist/cli/progress.js.map +1 -0
  509. package/dist/cli/renderers/colors.d.ts +32 -0
  510. package/dist/cli/renderers/colors.d.ts.map +1 -0
  511. package/dist/cli/renderers/colors.js +141 -0
  512. package/dist/cli/renderers/colors.js.map +1 -0
  513. package/dist/cli/renderers/error.d.ts +13 -0
  514. package/dist/cli/renderers/error.d.ts.map +1 -0
  515. package/dist/cli/renderers/error.js +42 -0
  516. package/dist/cli/renderers/error.js.map +1 -0
  517. package/dist/cli/renderers/index.d.ts +90 -0
  518. package/dist/cli/renderers/index.d.ts.map +1 -0
  519. package/dist/cli/renderers/index.js +268 -0
  520. package/dist/cli/renderers/index.js.map +1 -0
  521. package/dist/cli/renderers/lafs-validator.d.ts +91 -0
  522. package/dist/cli/renderers/lafs-validator.d.ts.map +1 -0
  523. package/dist/cli/renderers/lafs-validator.js +176 -0
  524. package/dist/cli/renderers/lafs-validator.js.map +1 -0
  525. package/dist/cli/renderers/normalizer.d.ts +21 -0
  526. package/dist/cli/renderers/normalizer.d.ts.map +1 -0
  527. package/dist/cli/renderers/normalizer.js +106 -0
  528. package/dist/cli/renderers/normalizer.js.map +1 -0
  529. package/dist/cli/renderers/system.d.ts +110 -0
  530. package/dist/cli/renderers/system.d.ts.map +1 -0
  531. package/dist/cli/renderers/system.js +662 -0
  532. package/dist/cli/renderers/system.js.map +1 -0
  533. package/dist/cli/renderers/tasks.d.ts +28 -0
  534. package/dist/cli/renderers/tasks.d.ts.map +1 -0
  535. package/dist/cli/renderers/tasks.js +306 -0
  536. package/dist/cli/renderers/tasks.js.map +1 -0
  537. package/dist/cli/tree-context.d.ts +53 -0
  538. package/dist/cli/tree-context.d.ts.map +1 -0
  539. package/dist/cli/tree-context.js +43 -0
  540. package/dist/cli/tree-context.js.map +1 -0
  541. package/dist/dispatch/adapters/cli.d.ts +67 -0
  542. package/dist/dispatch/adapters/cli.d.ts.map +1 -0
  543. package/dist/dispatch/adapters/cli.js +331 -0
  544. package/dist/dispatch/adapters/cli.js.map +1 -0
  545. package/dist/dispatch/adapters/typed.d.ts +362 -0
  546. package/dist/dispatch/adapters/typed.d.ts.map +1 -0
  547. package/dist/dispatch/adapters/typed.js +278 -0
  548. package/dist/dispatch/adapters/typed.js.map +1 -0
  549. package/dist/dispatch/context/session-context.d.ts +108 -0
  550. package/dist/dispatch/context/session-context.d.ts.map +1 -0
  551. package/dist/dispatch/context/session-context.js +111 -0
  552. package/dist/dispatch/context/session-context.js.map +1 -0
  553. package/dist/dispatch/dispatcher.d.ts +37 -0
  554. package/dist/dispatch/dispatcher.d.ts.map +1 -0
  555. package/dist/dispatch/dispatcher.js +172 -0
  556. package/dist/dispatch/dispatcher.js.map +1 -0
  557. package/dist/dispatch/domains/_base.d.ts +104 -0
  558. package/dist/dispatch/domains/_base.d.ts.map +1 -0
  559. package/dist/dispatch/domains/_base.js +147 -0
  560. package/dist/dispatch/domains/_base.js.map +1 -0
  561. package/dist/dispatch/domains/_meta.d.ts +23 -0
  562. package/dist/dispatch/domains/_meta.d.ts.map +1 -0
  563. package/dist/dispatch/domains/_meta.js +25 -0
  564. package/dist/dispatch/domains/_meta.js.map +1 -0
  565. package/dist/dispatch/domains/_routing.d.ts +8 -0
  566. package/dist/dispatch/domains/_routing.d.ts.map +1 -0
  567. package/dist/dispatch/domains/_routing.js +20 -0
  568. package/dist/dispatch/domains/_routing.js.map +1 -0
  569. package/dist/dispatch/domains/admin/smoke-provider.d.ts +54 -0
  570. package/dist/dispatch/domains/admin/smoke-provider.d.ts.map +1 -0
  571. package/dist/dispatch/domains/admin/smoke-provider.js +309 -0
  572. package/dist/dispatch/domains/admin/smoke-provider.js.map +1 -0
  573. package/dist/dispatch/domains/admin.d.ts +51 -0
  574. package/dist/dispatch/domains/admin.d.ts.map +1 -0
  575. package/dist/dispatch/domains/admin.js +1163 -0
  576. package/dist/dispatch/domains/admin.js.map +1 -0
  577. package/dist/dispatch/domains/check/canon.d.ts +65 -0
  578. package/dist/dispatch/domains/check/canon.d.ts.map +1 -0
  579. package/dist/dispatch/domains/check/canon.js +193 -0
  580. package/dist/dispatch/domains/check/canon.js.map +1 -0
  581. package/dist/dispatch/domains/check.d.ts +37 -0
  582. package/dist/dispatch/domains/check.d.ts.map +1 -0
  583. package/dist/dispatch/domains/check.js +562 -0
  584. package/dist/dispatch/domains/check.js.map +1 -0
  585. package/dist/dispatch/domains/conduit.d.ts +61 -0
  586. package/dist/dispatch/domains/conduit.d.ts.map +1 -0
  587. package/dist/dispatch/domains/conduit.js +609 -0
  588. package/dist/dispatch/domains/conduit.js.map +1 -0
  589. package/dist/dispatch/domains/diagnostics.d.ts +25 -0
  590. package/dist/dispatch/domains/diagnostics.d.ts.map +1 -0
  591. package/dist/dispatch/domains/diagnostics.js +82 -0
  592. package/dist/dispatch/domains/diagnostics.js.map +1 -0
  593. package/dist/dispatch/domains/docs.d.ts +63 -0
  594. package/dist/dispatch/domains/docs.d.ts.map +1 -0
  595. package/dist/dispatch/domains/docs.js +539 -0
  596. package/dist/dispatch/domains/docs.js.map +1 -0
  597. package/dist/dispatch/domains/index.d.ts +33 -0
  598. package/dist/dispatch/domains/index.d.ts.map +1 -0
  599. package/dist/dispatch/domains/index.js +58 -0
  600. package/dist/dispatch/domains/index.js.map +1 -0
  601. package/dist/dispatch/domains/intelligence.d.ts +26 -0
  602. package/dist/dispatch/domains/intelligence.d.ts.map +1 -0
  603. package/dist/dispatch/domains/intelligence.js +154 -0
  604. package/dist/dispatch/domains/intelligence.js.map +1 -0
  605. package/dist/dispatch/domains/ivtr.d.ts +182 -0
  606. package/dist/dispatch/domains/ivtr.d.ts.map +1 -0
  607. package/dist/dispatch/domains/ivtr.js +430 -0
  608. package/dist/dispatch/domains/ivtr.js.map +1 -0
  609. package/dist/dispatch/domains/memory.d.ts +22 -0
  610. package/dist/dispatch/domains/memory.d.ts.map +1 -0
  611. package/dist/dispatch/domains/memory.js +1281 -0
  612. package/dist/dispatch/domains/memory.js.map +1 -0
  613. package/dist/dispatch/domains/nexus.d.ts +78 -0
  614. package/dist/dispatch/domains/nexus.d.ts.map +1 -0
  615. package/dist/dispatch/domains/nexus.js +938 -0
  616. package/dist/dispatch/domains/nexus.js.map +1 -0
  617. package/dist/dispatch/domains/orchestrate.d.ts +307 -0
  618. package/dist/dispatch/domains/orchestrate.d.ts.map +1 -0
  619. package/dist/dispatch/domains/orchestrate.js +986 -0
  620. package/dist/dispatch/domains/orchestrate.js.map +1 -0
  621. package/dist/dispatch/domains/pipeline.d.ts +276 -0
  622. package/dist/dispatch/domains/pipeline.d.ts.map +1 -0
  623. package/dist/dispatch/domains/pipeline.js +689 -0
  624. package/dist/dispatch/domains/pipeline.js.map +1 -0
  625. package/dist/dispatch/domains/playbook.d.ts +131 -0
  626. package/dist/dispatch/domains/playbook.d.ts.map +1 -0
  627. package/dist/dispatch/domains/playbook.js +633 -0
  628. package/dist/dispatch/domains/playbook.js.map +1 -0
  629. package/dist/dispatch/domains/release.d.ts +97 -0
  630. package/dist/dispatch/domains/release.d.ts.map +1 -0
  631. package/dist/dispatch/domains/release.js +177 -0
  632. package/dist/dispatch/domains/release.js.map +1 -0
  633. package/dist/dispatch/domains/sentient.d.ts +60 -0
  634. package/dist/dispatch/domains/sentient.d.ts.map +1 -0
  635. package/dist/dispatch/domains/sentient.js +270 -0
  636. package/dist/dispatch/domains/sentient.js.map +1 -0
  637. package/dist/dispatch/domains/session.d.ts +49 -0
  638. package/dist/dispatch/domains/session.d.ts.map +1 -0
  639. package/dist/dispatch/domains/session.js +459 -0
  640. package/dist/dispatch/domains/session.js.map +1 -0
  641. package/dist/dispatch/domains/sticky.d.ts +82 -0
  642. package/dist/dispatch/domains/sticky.d.ts.map +1 -0
  643. package/dist/dispatch/domains/sticky.js +287 -0
  644. package/dist/dispatch/domains/sticky.js.map +1 -0
  645. package/dist/dispatch/domains/tasks.d.ts +58 -0
  646. package/dist/dispatch/domains/tasks.d.ts.map +1 -0
  647. package/dist/dispatch/domains/tasks.js +497 -0
  648. package/dist/dispatch/domains/tasks.js.map +1 -0
  649. package/dist/dispatch/domains/tools.d.ts +37 -0
  650. package/dist/dispatch/domains/tools.d.ts.map +1 -0
  651. package/dist/dispatch/domains/tools.js +481 -0
  652. package/dist/dispatch/domains/tools.js.map +1 -0
  653. package/dist/dispatch/engines/_error.d.ts +114 -0
  654. package/dist/dispatch/engines/_error.d.ts.map +1 -0
  655. package/dist/dispatch/engines/_error.js +290 -0
  656. package/dist/dispatch/engines/_error.js.map +1 -0
  657. package/dist/dispatch/engines/admin-engine.d.ts +386 -0
  658. package/dist/dispatch/engines/admin-engine.d.ts.map +1 -0
  659. package/dist/dispatch/engines/admin-engine.js +270 -0
  660. package/dist/dispatch/engines/admin-engine.js.map +1 -0
  661. package/dist/dispatch/engines/code-engine.d.ts +14 -0
  662. package/dist/dispatch/engines/code-engine.d.ts.map +1 -0
  663. package/dist/dispatch/engines/code-engine.js +14 -0
  664. package/dist/dispatch/engines/code-engine.js.map +1 -0
  665. package/dist/dispatch/engines/codebase-map-engine.d.ts +31 -0
  666. package/dist/dispatch/engines/codebase-map-engine.d.ts.map +1 -0
  667. package/dist/dispatch/engines/codebase-map-engine.js +43 -0
  668. package/dist/dispatch/engines/codebase-map-engine.js.map +1 -0
  669. package/dist/dispatch/engines/config-engine.d.ts +14 -0
  670. package/dist/dispatch/engines/config-engine.d.ts.map +1 -0
  671. package/dist/dispatch/engines/config-engine.js +14 -0
  672. package/dist/dispatch/engines/config-engine.js.map +1 -0
  673. package/dist/dispatch/engines/diagnostics-engine.d.ts +13 -0
  674. package/dist/dispatch/engines/diagnostics-engine.d.ts.map +1 -0
  675. package/dist/dispatch/engines/diagnostics-engine.js +12 -0
  676. package/dist/dispatch/engines/diagnostics-engine.js.map +1 -0
  677. package/dist/dispatch/engines/hooks-engine.d.ts +13 -0
  678. package/dist/dispatch/engines/hooks-engine.d.ts.map +1 -0
  679. package/dist/dispatch/engines/hooks-engine.js +12 -0
  680. package/dist/dispatch/engines/hooks-engine.js.map +1 -0
  681. package/dist/dispatch/engines/init-engine.d.ts +14 -0
  682. package/dist/dispatch/engines/init-engine.d.ts.map +1 -0
  683. package/dist/dispatch/engines/init-engine.js +14 -0
  684. package/dist/dispatch/engines/init-engine.js.map +1 -0
  685. package/dist/dispatch/engines/lifecycle-engine.d.ts +13 -0
  686. package/dist/dispatch/engines/lifecycle-engine.d.ts.map +1 -0
  687. package/dist/dispatch/engines/lifecycle-engine.js +12 -0
  688. package/dist/dispatch/engines/lifecycle-engine.js.map +1 -0
  689. package/dist/dispatch/engines/memory-engine.d.ts +10 -0
  690. package/dist/dispatch/engines/memory-engine.d.ts.map +1 -0
  691. package/dist/dispatch/engines/memory-engine.js +10 -0
  692. package/dist/dispatch/engines/memory-engine.js.map +1 -0
  693. package/dist/dispatch/engines/nexus-engine.d.ts +603 -0
  694. package/dist/dispatch/engines/nexus-engine.d.ts.map +1 -0
  695. package/dist/dispatch/engines/nexus-engine.js +1438 -0
  696. package/dist/dispatch/engines/nexus-engine.js.map +1 -0
  697. package/dist/dispatch/engines/orchestrate-engine.d.ts +252 -0
  698. package/dist/dispatch/engines/orchestrate-engine.d.ts.map +1 -0
  699. package/dist/dispatch/engines/orchestrate-engine.js +1526 -0
  700. package/dist/dispatch/engines/orchestrate-engine.js.map +1 -0
  701. package/dist/dispatch/engines/pipeline-engine.d.ts +13 -0
  702. package/dist/dispatch/engines/pipeline-engine.d.ts.map +1 -0
  703. package/dist/dispatch/engines/pipeline-engine.js +12 -0
  704. package/dist/dispatch/engines/pipeline-engine.js.map +1 -0
  705. package/dist/dispatch/engines/release-engine.d.ts +13 -0
  706. package/dist/dispatch/engines/release-engine.d.ts.map +1 -0
  707. package/dist/dispatch/engines/release-engine.js +13 -0
  708. package/dist/dispatch/engines/release-engine.js.map +1 -0
  709. package/dist/dispatch/engines/session-engine.d.ts +15 -0
  710. package/dist/dispatch/engines/session-engine.d.ts.map +1 -0
  711. package/dist/dispatch/engines/session-engine.js +12 -0
  712. package/dist/dispatch/engines/session-engine.js.map +1 -0
  713. package/dist/dispatch/engines/sticky-engine.d.ts +13 -0
  714. package/dist/dispatch/engines/sticky-engine.d.ts.map +1 -0
  715. package/dist/dispatch/engines/sticky-engine.js +12 -0
  716. package/dist/dispatch/engines/sticky-engine.js.map +1 -0
  717. package/dist/dispatch/engines/system-engine.d.ts +543 -0
  718. package/dist/dispatch/engines/system-engine.d.ts.map +1 -0
  719. package/dist/dispatch/engines/system-engine.js +1278 -0
  720. package/dist/dispatch/engines/system-engine.js.map +1 -0
  721. package/dist/dispatch/engines/task-engine.d.ts +1161 -0
  722. package/dist/dispatch/engines/task-engine.d.ts.map +1 -0
  723. package/dist/dispatch/engines/task-engine.js +1599 -0
  724. package/dist/dispatch/engines/task-engine.js.map +1 -0
  725. package/dist/dispatch/engines/template-parser.d.ts +85 -0
  726. package/dist/dispatch/engines/template-parser.d.ts.map +1 -0
  727. package/dist/dispatch/engines/template-parser.js +114 -0
  728. package/dist/dispatch/engines/template-parser.js.map +1 -0
  729. package/dist/dispatch/engines/tools-engine.d.ts +13 -0
  730. package/dist/dispatch/engines/tools-engine.d.ts.map +1 -0
  731. package/dist/dispatch/engines/tools-engine.js +12 -0
  732. package/dist/dispatch/engines/tools-engine.js.map +1 -0
  733. package/dist/dispatch/engines/validate-engine.d.ts +13 -0
  734. package/dist/dispatch/engines/validate-engine.d.ts.map +1 -0
  735. package/dist/dispatch/engines/validate-engine.js +13 -0
  736. package/dist/dispatch/engines/validate-engine.js.map +1 -0
  737. package/dist/dispatch/index.d.ts +20 -0
  738. package/dist/dispatch/index.d.ts.map +1 -0
  739. package/dist/dispatch/index.js +19 -0
  740. package/dist/dispatch/index.js.map +1 -0
  741. package/dist/dispatch/lib/background-jobs.d.ts +162 -0
  742. package/dist/dispatch/lib/background-jobs.d.ts.map +1 -0
  743. package/dist/dispatch/lib/background-jobs.js +360 -0
  744. package/dist/dispatch/lib/background-jobs.js.map +1 -0
  745. package/dist/dispatch/lib/budget.d.ts +36 -0
  746. package/dist/dispatch/lib/budget.d.ts.map +1 -0
  747. package/dist/dispatch/lib/budget.js +109 -0
  748. package/dist/dispatch/lib/budget.js.map +1 -0
  749. package/dist/dispatch/lib/capability-matrix.d.ts +11 -0
  750. package/dist/dispatch/lib/capability-matrix.d.ts.map +1 -0
  751. package/dist/dispatch/lib/capability-matrix.js +10 -0
  752. package/dist/dispatch/lib/capability-matrix.js.map +1 -0
  753. package/dist/dispatch/lib/config-loader.d.ts +42 -0
  754. package/dist/dispatch/lib/config-loader.d.ts.map +1 -0
  755. package/dist/dispatch/lib/config-loader.js +218 -0
  756. package/dist/dispatch/lib/config-loader.js.map +1 -0
  757. package/dist/dispatch/lib/config.d.ts +11 -0
  758. package/dist/dispatch/lib/config.d.ts.map +1 -0
  759. package/dist/dispatch/lib/config.js +10 -0
  760. package/dist/dispatch/lib/config.js.map +1 -0
  761. package/dist/dispatch/lib/defaults.d.ts +115 -0
  762. package/dist/dispatch/lib/defaults.d.ts.map +1 -0
  763. package/dist/dispatch/lib/defaults.js +61 -0
  764. package/dist/dispatch/lib/defaults.js.map +1 -0
  765. package/dist/dispatch/lib/engine.d.ts +17 -0
  766. package/dist/dispatch/lib/engine.d.ts.map +1 -0
  767. package/dist/dispatch/lib/engine.js +36 -0
  768. package/dist/dispatch/lib/engine.js.map +1 -0
  769. package/dist/dispatch/lib/exit-codes.d.ts +35 -0
  770. package/dist/dispatch/lib/exit-codes.d.ts.map +1 -0
  771. package/dist/dispatch/lib/exit-codes.js +60 -0
  772. package/dist/dispatch/lib/exit-codes.js.map +1 -0
  773. package/dist/dispatch/lib/gateway-meta.d.ts +37 -0
  774. package/dist/dispatch/lib/gateway-meta.d.ts.map +1 -0
  775. package/dist/dispatch/lib/gateway-meta.js +50 -0
  776. package/dist/dispatch/lib/gateway-meta.js.map +1 -0
  777. package/dist/dispatch/lib/job-manager-accessor.d.ts +9 -0
  778. package/dist/dispatch/lib/job-manager-accessor.d.ts.map +1 -0
  779. package/dist/dispatch/lib/job-manager-accessor.js +13 -0
  780. package/dist/dispatch/lib/job-manager-accessor.js.map +1 -0
  781. package/dist/dispatch/lib/meta.d.ts +26 -0
  782. package/dist/dispatch/lib/meta.d.ts.map +1 -0
  783. package/dist/dispatch/lib/meta.js +37 -0
  784. package/dist/dispatch/lib/meta.js.map +1 -0
  785. package/dist/dispatch/lib/param-utils.d.ts +11 -0
  786. package/dist/dispatch/lib/param-utils.d.ts.map +1 -0
  787. package/dist/dispatch/lib/param-utils.js +10 -0
  788. package/dist/dispatch/lib/param-utils.js.map +1 -0
  789. package/dist/dispatch/lib/projections.d.ts +56 -0
  790. package/dist/dispatch/lib/projections.d.ts.map +1 -0
  791. package/dist/dispatch/lib/projections.js +65 -0
  792. package/dist/dispatch/lib/projections.js.map +1 -0
  793. package/dist/dispatch/lib/proto-envelope.d.ts +56 -0
  794. package/dist/dispatch/lib/proto-envelope.d.ts.map +1 -0
  795. package/dist/dispatch/lib/proto-envelope.js +17 -0
  796. package/dist/dispatch/lib/proto-envelope.js.map +1 -0
  797. package/dist/dispatch/lib/schema-utils.d.ts +39 -0
  798. package/dist/dispatch/lib/schema-utils.d.ts.map +1 -0
  799. package/dist/dispatch/lib/schema-utils.js +88 -0
  800. package/dist/dispatch/lib/schema-utils.js.map +1 -0
  801. package/dist/dispatch/lib/security.d.ts +11 -0
  802. package/dist/dispatch/lib/security.d.ts.map +1 -0
  803. package/dist/dispatch/lib/security.js +10 -0
  804. package/dist/dispatch/lib/security.js.map +1 -0
  805. package/dist/dispatch/middleware/audit.d.ts +23 -0
  806. package/dist/dispatch/middleware/audit.d.ts.map +1 -0
  807. package/dist/dispatch/middleware/audit.js +169 -0
  808. package/dist/dispatch/middleware/audit.js.map +1 -0
  809. package/dist/dispatch/middleware/field-filter.d.ts +25 -0
  810. package/dist/dispatch/middleware/field-filter.d.ts.map +1 -0
  811. package/dist/dispatch/middleware/field-filter.js +70 -0
  812. package/dist/dispatch/middleware/field-filter.js.map +1 -0
  813. package/dist/dispatch/middleware/pipeline.d.ts +33 -0
  814. package/dist/dispatch/middleware/pipeline.d.ts.map +1 -0
  815. package/dist/dispatch/middleware/pipeline.js +60 -0
  816. package/dist/dispatch/middleware/pipeline.js.map +1 -0
  817. package/dist/dispatch/middleware/projection.d.ts +35 -0
  818. package/dist/dispatch/middleware/projection.d.ts.map +1 -0
  819. package/dist/dispatch/middleware/projection.js +146 -0
  820. package/dist/dispatch/middleware/projection.js.map +1 -0
  821. package/dist/dispatch/middleware/protocol-enforcement.d.ts +30 -0
  822. package/dist/dispatch/middleware/protocol-enforcement.d.ts.map +1 -0
  823. package/dist/dispatch/middleware/protocol-enforcement.js +56 -0
  824. package/dist/dispatch/middleware/protocol-enforcement.js.map +1 -0
  825. package/dist/dispatch/middleware/rate-limiter.d.ts +72 -0
  826. package/dist/dispatch/middleware/rate-limiter.d.ts.map +1 -0
  827. package/dist/dispatch/middleware/rate-limiter.js +127 -0
  828. package/dist/dispatch/middleware/rate-limiter.js.map +1 -0
  829. package/dist/dispatch/middleware/sanitizer.d.ts +24 -0
  830. package/dist/dispatch/middleware/sanitizer.d.ts.map +1 -0
  831. package/dist/dispatch/middleware/sanitizer.js +56 -0
  832. package/dist/dispatch/middleware/sanitizer.js.map +1 -0
  833. package/dist/dispatch/middleware/session-resolver.d.ts +26 -0
  834. package/dist/dispatch/middleware/session-resolver.d.ts.map +1 -0
  835. package/dist/dispatch/middleware/session-resolver.js +65 -0
  836. package/dist/dispatch/middleware/session-resolver.js.map +1 -0
  837. package/dist/dispatch/middleware/telemetry.d.ts +21 -0
  838. package/dist/dispatch/middleware/telemetry.d.ts.map +1 -0
  839. package/dist/dispatch/middleware/telemetry.js +50 -0
  840. package/dist/dispatch/middleware/telemetry.js.map +1 -0
  841. package/dist/dispatch/middleware/verification-gates.d.ts +22 -0
  842. package/dist/dispatch/middleware/verification-gates.d.ts.map +1 -0
  843. package/dist/dispatch/middleware/verification-gates.js +59 -0
  844. package/dist/dispatch/middleware/verification-gates.js.map +1 -0
  845. package/dist/dispatch/registry.d.ts +91 -0
  846. package/dist/dispatch/registry.d.ts.map +1 -0
  847. package/dist/dispatch/registry.js +6430 -0
  848. package/dist/dispatch/registry.js.map +1 -0
  849. package/dist/dispatch/types.d.ts +150 -0
  850. package/dist/dispatch/types.d.ts.map +1 -0
  851. package/dist/dispatch/types.js +38 -0
  852. package/dist/dispatch/types.js.map +1 -0
  853. package/dist/migrations/2026-04-25-t991-parent-link-repair.d.ts +88 -0
  854. package/dist/migrations/2026-04-25-t991-parent-link-repair.d.ts.map +1 -0
  855. package/dist/migrations/2026-04-25-t991-parent-link-repair.js +76 -0
  856. package/dist/migrations/2026-04-25-t991-parent-link-repair.js.map +1 -0
  857. package/package.json +9 -9
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Session Domain Handler (Dispatch Layer)
3
+ *
4
+ * Handles session lifecycle operations: status, list, show, start, end,
5
+ * resume, suspend, gc, record.decision, decision.log,
6
+ * context.drift, record.assumption, handoff.show, briefing.show, find.
7
+ *
8
+ * All operations delegate to native engine functions from session-engine.
9
+ * Param extraction is type-safe via OpsFromCore inference (T1444 — T1435
10
+ * Wave 1 dispatch refactor). Per-op Params types are sole-sourced via
11
+ * `import type` from `@cleocode/contracts` (T1489).
12
+ *
13
+ * @epic T4820
14
+ * @task T5671
15
+ * @task T975 — typed-dispatch migration
16
+ * @task T1444 — OpsFromCore inference migration
17
+ * @task T1489 — sole-source Params/Result aliases via contracts re-exports
18
+ */
19
+ import type { DispatchResponse, DomainHandler } from '../types.js';
20
+ /**
21
+ * Domain handler for the `session` domain.
22
+ *
23
+ * Delegates all per-op logic to the typed inner handler
24
+ * `_sessionTypedHandler` (a `TypedDomainHandler<SessionOps>`). This
25
+ * satisfies the registry's `DomainHandler` interface while keeping every
26
+ * param access fully type-safe via the T975 Wave D adapter.
27
+ */
28
+ export declare class SessionHandler implements DomainHandler {
29
+ /**
30
+ * Execute a read-only session query operation.
31
+ *
32
+ * @param operation - The session query op name (e.g. 'status', 'list').
33
+ * @param params - Raw params from the dispatcher (narrowed internally).
34
+ */
35
+ query(operation: string, params?: Record<string, unknown>): Promise<DispatchResponse>;
36
+ /**
37
+ * Execute a state-modifying session mutation operation.
38
+ *
39
+ * @param operation - The session mutate op name (e.g. 'start', 'end').
40
+ * @param params - Raw params from the dispatcher (narrowed internally).
41
+ */
42
+ mutate(operation: string, params?: Record<string, unknown>): Promise<DispatchResponse>;
43
+ /** Declared operations for introspection and validation. */
44
+ getSupportedOperations(): {
45
+ query: string[];
46
+ mutate: string[];
47
+ };
48
+ }
49
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/dispatch/domains/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA0CH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAianE;;;;;;;GAOG;AACH,qBAAa,cAAe,YAAW,aAAa;IAKlD;;;;;OAKG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8B3F;;;;;OAKG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoC5F,4DAA4D;IAC5D,sBAAsB,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CAehE"}
@@ -0,0 +1,459 @@
1
+ /**
2
+ * Session Domain Handler (Dispatch Layer)
3
+ *
4
+ * Handles session lifecycle operations: status, list, show, start, end,
5
+ * resume, suspend, gc, record.decision, decision.log,
6
+ * context.drift, record.assumption, handoff.show, briefing.show, find.
7
+ *
8
+ * All operations delegate to native engine functions from session-engine.
9
+ * Param extraction is type-safe via OpsFromCore inference (T1444 — T1435
10
+ * Wave 1 dispatch refactor). Per-op Params types are sole-sourced via
11
+ * `import type` from `@cleocode/contracts` (T1489).
12
+ *
13
+ * @epic T4820
14
+ * @task T5671
15
+ * @task T975 — typed-dispatch migration
16
+ * @task T1444 — OpsFromCore inference migration
17
+ * @task T1489 — sole-source Params/Result aliases via contracts re-exports
18
+ */
19
+ import { getDb, getLogger, getProjectRoot, sessions } from '@cleocode/core/internal';
20
+ import { eq } from 'drizzle-orm';
21
+ import { defineTypedHandler, lafsError, lafsSuccess, typedDispatch, wrapCoreResult, } from '../adapters/typed.js';
22
+ import { bindSession, unbindSession } from '../context/session-context.js';
23
+ import { sessionBriefing, sessionComputeDebrief, sessionComputeHandoff, sessionContextDrift, sessionDebriefShow, sessionDecisionLog, sessionEnd, sessionFind, sessionGc, sessionHandoff, sessionList, sessionRecordAssumption, sessionRecordDecision, sessionResume, sessionShow, sessionStart, sessionStatus, sessionSuspend, } from '../lib/engine.js';
24
+ import { handleErrorResult, unsupportedOp, wrapResult } from './_base.js';
25
+ async function sessionStatusOp() {
26
+ return sessionStatus(getProjectRoot());
27
+ }
28
+ async function sessionListOp(params) {
29
+ return sessionList(getProjectRoot(), params);
30
+ }
31
+ async function sessionShowOp(params) {
32
+ if (params.include === 'debrief') {
33
+ return sessionDebriefShow(getProjectRoot(), params.sessionId);
34
+ }
35
+ return sessionShow(getProjectRoot(), params.sessionId);
36
+ }
37
+ async function sessionFindOp(params) {
38
+ return sessionFind(getProjectRoot(), params);
39
+ }
40
+ async function sessionDecisionLogOp(params) {
41
+ return sessionDecisionLog(getProjectRoot(), params);
42
+ }
43
+ async function sessionContextDriftOp(params) {
44
+ return sessionContextDrift(getProjectRoot(), params);
45
+ }
46
+ async function sessionHandoffShowOp(params) {
47
+ let scopeFilter;
48
+ if (params.scope) {
49
+ if (params.scope === 'global') {
50
+ scopeFilter = { type: 'global' };
51
+ }
52
+ else if (params.scope.startsWith('epic:')) {
53
+ scopeFilter = { type: 'epic', epicId: params.scope.replace('epic:', '') };
54
+ }
55
+ }
56
+ return sessionHandoff(getProjectRoot(), scopeFilter);
57
+ }
58
+ async function sessionBriefingShowOp(params) {
59
+ return sessionBriefing(getProjectRoot(), params);
60
+ }
61
+ async function sessionStartOp(params) {
62
+ return sessionStart(getProjectRoot(), params);
63
+ }
64
+ async function sessionEndOp(params) {
65
+ return sessionEnd(getProjectRoot(), params.note, {
66
+ sessionSummary: params.sessionSummary,
67
+ });
68
+ }
69
+ async function sessionResumeOp(params) {
70
+ return sessionResume(getProjectRoot(), params.sessionId);
71
+ }
72
+ async function sessionSuspendOp(params) {
73
+ return sessionSuspend(getProjectRoot(), params.sessionId, params.reason);
74
+ }
75
+ async function sessionGcOp(params) {
76
+ return sessionGc(getProjectRoot(), params.maxAgeDays);
77
+ }
78
+ async function sessionRecordDecisionOp(params) {
79
+ return sessionRecordDecision(getProjectRoot(), params);
80
+ }
81
+ async function sessionRecordAssumptionOp(params) {
82
+ return sessionRecordAssumption(getProjectRoot(), params);
83
+ }
84
+ const coreOps = {
85
+ status: sessionStatusOp,
86
+ list: sessionListOp,
87
+ show: sessionShowOp,
88
+ find: sessionFindOp,
89
+ 'decision.log': sessionDecisionLogOp,
90
+ 'context.drift': sessionContextDriftOp,
91
+ 'handoff.show': sessionHandoffShowOp,
92
+ 'briefing.show': sessionBriefingShowOp,
93
+ start: sessionStartOp,
94
+ end: sessionEndOp,
95
+ resume: sessionResumeOp,
96
+ suspend: sessionSuspendOp,
97
+ gc: sessionGcOp,
98
+ 'record.decision': sessionRecordDecisionOp,
99
+ 'record.assumption': sessionRecordAssumptionOp,
100
+ };
101
+ // ---------------------------------------------------------------------------
102
+ // Typed inner handler (Wave D · T975)
103
+ //
104
+ // The typed handler holds all per-op logic with fully-narrowed params.
105
+ // The outer DomainHandler class delegates to it so the registry sees the
106
+ // expected query/mutate interface while every param access is type-safe.
107
+ // ---------------------------------------------------------------------------
108
+ const _sessionTypedHandler = defineTypedHandler('session', {
109
+ // -------------------------------------------------------------------------
110
+ // Query ops
111
+ // -------------------------------------------------------------------------
112
+ // Engine guarantees data on success; fallback mirrors empty-state shape.
113
+ // overrideCount included per T1501 / P0-5.
114
+ status: async (_params) => wrapCoreResult(await coreOps.status(), 'status', {
115
+ hasActiveSession: false,
116
+ session: null,
117
+ taskWork: null,
118
+ overrideCount: 0,
119
+ }),
120
+ list: async (params) => wrapCoreResult(await coreOps.list(params), 'list'),
121
+ // session.show absorbs debrief.show via include param (T5615)
122
+ show: async (params) => {
123
+ if (!params.sessionId) {
124
+ return lafsError('E_INVALID_INPUT', 'sessionId is required', 'show');
125
+ }
126
+ const result = await coreOps.show(params);
127
+ if (!result.success) {
128
+ return lafsError(String(result.error?.code ?? 'E_INTERNAL'), result.error?.message ?? 'Unknown error', 'show');
129
+ }
130
+ // Non-debrief path: require data. Debrief returns opaque shape — no null check needed.
131
+ if (params.include !== 'debrief' && !result.data) {
132
+ return lafsError('E_NOT_FOUND', `Session ${params.sessionId} not found`, 'show');
133
+ }
134
+ return lafsSuccess(result.data, 'show');
135
+ },
136
+ find: async (params) => {
137
+ const result = await coreOps.find(params);
138
+ // Core returns an array; wrap in the expected {sessions:[]} envelope shape.
139
+ if (!result.success) {
140
+ return lafsError(String(result.error?.code ?? 'E_INTERNAL'), result.error?.message ?? 'Unknown error', 'find');
141
+ }
142
+ return lafsSuccess({ sessions: result.data ?? [] }, 'find');
143
+ },
144
+ 'decision.log': async (params) => wrapCoreResult(await coreOps['decision.log'](params), 'decision.log', []),
145
+ 'context.drift': async (params) => {
146
+ const result = await coreOps['context.drift'](params);
147
+ if (result.success && !result.data) {
148
+ return lafsError('E_INTERNAL', 'context.drift returned no data', 'context.drift');
149
+ }
150
+ return wrapCoreResult(result, 'context.drift');
151
+ },
152
+ 'handoff.show': async (params) => wrapCoreResult(await coreOps['handoff.show'](params), 'handoff.show', null),
153
+ 'briefing.show': async (params) => wrapCoreResult(await coreOps['briefing.show'](params), 'briefing.show'),
154
+ // -------------------------------------------------------------------------
155
+ // Mutate ops
156
+ // -------------------------------------------------------------------------
157
+ // SSoT-EXEMPT: storeOwnerAuthToken (DB side-effect requiring post-create sessionId),
158
+ // bindSession (process-scoped context, requires scope-string parsing) — ADR-058
159
+ start: async (params) => {
160
+ const projectRoot = getProjectRoot();
161
+ if (!params.scope) {
162
+ return lafsError('E_INVALID_INPUT', 'scope is required', 'start');
163
+ }
164
+ const result = await coreOps.start(params);
165
+ if (!result.success) {
166
+ return lafsError(String(result.error?.code ?? 'E_INTERNAL'), result.error?.message ?? 'Unknown error', 'start');
167
+ }
168
+ if (!result.data) {
169
+ return lafsError('E_INTERNAL', 'sessionStart returned no data', 'start');
170
+ }
171
+ const sessionData = result.data;
172
+ const sessionId = sessionData.id;
173
+ // T1118 L4a — If an ownerAuthToken was provided, store it in sessions.owner_auth_token.
174
+ if (params.ownerAuthToken) {
175
+ try {
176
+ await storeSessionOwnerAuthToken(projectRoot, sessionId, params.ownerAuthToken);
177
+ }
178
+ catch (err) {
179
+ // Non-fatal — session was created, token store failed
180
+ getLogger('domain:session').warn({ sessionId, err }, 'Failed to store owner_auth_token — override auth will not be available');
181
+ }
182
+ }
183
+ // Enrich with sessionId alias for easy extraction
184
+ // Use Object.assign to add the alias without violating Session type
185
+ Object.assign(sessionData, { sessionId });
186
+ // T4959: Bind session to process-scoped context
187
+ try {
188
+ const scopeParts = params.scope.split(':');
189
+ bindSession({
190
+ sessionId,
191
+ scope: {
192
+ type: scopeParts[0] ?? 'global',
193
+ epicId: scopeParts[1],
194
+ },
195
+ gradeMode: params.grade ?? false,
196
+ });
197
+ }
198
+ catch {
199
+ // Already bound — log and continue (session was still created)
200
+ getLogger('domain:session').warn({ sessionId }, 'Session context already bound, skipping bindSession');
201
+ }
202
+ return lafsSuccess(sessionData, 'start');
203
+ },
204
+ // SSoT-EXEMPT: orchestrated post-op pipeline — sessionComputeDebrief, persistSessionMemory,
205
+ // unbindSession (process-context teardown), refreshMemoryBridge — ADR-058
206
+ end: async (params) => {
207
+ const projectRoot = getProjectRoot();
208
+ // End the session first (T140: pass sessionSummary for structured ingestion)
209
+ const endResult = await coreOps.end(params);
210
+ if (!endResult.success) {
211
+ return lafsError(String(endResult.error?.code ?? 'E_INTERNAL'), endResult.error?.message ?? 'Unknown error', 'end');
212
+ }
213
+ // If session ended successfully, compute and persist debrief + handoff data
214
+ if (endResult.data) {
215
+ const sessionId = endResult.data.sessionId;
216
+ if (sessionId) {
217
+ // T4959: Compute rich debrief (superset of handoff)
218
+ let debriefResult = null;
219
+ try {
220
+ debriefResult = await sessionComputeDebrief(projectRoot, sessionId, {
221
+ note: params.note,
222
+ nextAction: params.nextAction,
223
+ });
224
+ }
225
+ catch {
226
+ // Debrief failure — fall back to handoff only
227
+ try {
228
+ await sessionComputeHandoff(projectRoot, sessionId, {
229
+ note: params.note,
230
+ nextAction: params.nextAction,
231
+ });
232
+ }
233
+ catch {
234
+ // Handoff computation failure should not fail the end operation
235
+ }
236
+ }
237
+ // Wave 3A: Persist session memory to brain.db (best-effort)
238
+ if (debriefResult?.success && debriefResult.data) {
239
+ try {
240
+ const { persistSessionMemory } = await import('@cleocode/core/internal');
241
+ await persistSessionMemory(projectRoot, sessionId, debriefResult.data);
242
+ }
243
+ catch {
244
+ // Memory persistence failure should not fail session end
245
+ }
246
+ }
247
+ }
248
+ // T4959: Unbind session from process-scoped context
249
+ unbindSession();
250
+ }
251
+ // Refresh memory bridge AFTER all session end work completes (T546).
252
+ // The engine path (session-engine.ts) does not go through core/sessions/index.ts
253
+ // which has the direct refreshMemoryBridge call, so we must trigger it here.
254
+ try {
255
+ const { refreshMemoryBridge } = await import('@cleocode/core/internal');
256
+ await refreshMemoryBridge(projectRoot);
257
+ }
258
+ catch {
259
+ // Best-effort: never block session end on bridge refresh failure
260
+ }
261
+ if (!endResult.data) {
262
+ return lafsError('E_INTERNAL', 'session.end returned no data', 'end');
263
+ }
264
+ return lafsSuccess(endResult.data, 'end');
265
+ },
266
+ resume: async (params) => {
267
+ if (!params.sessionId) {
268
+ return lafsError('E_INVALID_INPUT', 'sessionId is required', 'resume');
269
+ }
270
+ const result = await coreOps.resume(params);
271
+ if (result.success && !result.data) {
272
+ return lafsError('E_NOT_FOUND', `Session ${params.sessionId} not found`, 'resume');
273
+ }
274
+ return wrapCoreResult(result, 'resume');
275
+ },
276
+ suspend: async (params) => {
277
+ if (!params.sessionId) {
278
+ return lafsError('E_INVALID_INPUT', 'sessionId is required', 'suspend');
279
+ }
280
+ const result = await coreOps.suspend(params);
281
+ if (result.success && !result.data) {
282
+ return lafsError('E_NOT_FOUND', `Session ${params.sessionId} not found`, 'suspend');
283
+ }
284
+ return wrapCoreResult(result, 'suspend');
285
+ },
286
+ // Engine guarantees data on success; fallback for safety.
287
+ gc: async (params) => wrapCoreResult(await coreOps.gc(params), 'gc', { orphaned: [], removed: [] }),
288
+ 'record.decision': async (params) => {
289
+ const result = await coreOps['record.decision'](params);
290
+ if (result.success && !result.data) {
291
+ return lafsError('E_INTERNAL', 'record.decision returned no data', 'record.decision');
292
+ }
293
+ return wrapCoreResult(result, 'record.decision');
294
+ },
295
+ 'record.assumption': async (params) => {
296
+ const result = await coreOps['record.assumption'](params);
297
+ if (result.success && !result.data) {
298
+ return lafsError('E_INTERNAL', 'record.assumption returned no data', 'record.assumption');
299
+ }
300
+ return wrapCoreResult(result, 'record.assumption');
301
+ },
302
+ });
303
+ // ---------------------------------------------------------------------------
304
+ // Envelope-to-EngineResult adapter
305
+ //
306
+ // Converts a LafsEnvelope into the minimal EngineResult shape accepted by
307
+ // wrapResult. The error.code is coerced to string since LafsErrorDetail.code
308
+ // is typed as `number | string` but EngineResult.error.code requires string.
309
+ // ---------------------------------------------------------------------------
310
+ /**
311
+ * Convert a LAFS envelope into the minimal EngineResult shape expected by
312
+ * {@link wrapResult}.
313
+ *
314
+ * @param envelope - The LAFS envelope returned by the typed op function.
315
+ * @returns An object compatible with the `EngineResult` type in `_base.ts`.
316
+ *
317
+ * @internal
318
+ */
319
+ function envelopeToEngineResult(envelope) {
320
+ if (envelope.success) {
321
+ return { success: true, data: envelope.data };
322
+ }
323
+ return {
324
+ success: false,
325
+ error: {
326
+ code: String(envelope.error?.code ?? 'E_INTERNAL'),
327
+ message: envelope.error?.message ?? 'Unknown error',
328
+ },
329
+ };
330
+ }
331
+ // ---------------------------------------------------------------------------
332
+ // Op sets — validated before dispatch to prevent unsupported-op errors
333
+ // ---------------------------------------------------------------------------
334
+ const QUERY_OPS = new Set([
335
+ 'status',
336
+ 'list',
337
+ 'show',
338
+ 'find',
339
+ 'decision.log',
340
+ 'context.drift',
341
+ 'handoff.show',
342
+ 'briefing.show',
343
+ ]);
344
+ const MUTATE_OPS = new Set([
345
+ 'start',
346
+ 'end',
347
+ 'resume',
348
+ 'suspend',
349
+ 'gc',
350
+ 'record.decision',
351
+ 'record.assumption',
352
+ ]);
353
+ // ---------------------------------------------------------------------------
354
+ // SessionHandler — DomainHandler-compatible wrapper for the registry
355
+ // ---------------------------------------------------------------------------
356
+ /**
357
+ * Domain handler for the `session` domain.
358
+ *
359
+ * Delegates all per-op logic to the typed inner handler
360
+ * `_sessionTypedHandler` (a `TypedDomainHandler<SessionOps>`). This
361
+ * satisfies the registry's `DomainHandler` interface while keeping every
362
+ * param access fully type-safe via the T975 Wave D adapter.
363
+ */
364
+ export class SessionHandler {
365
+ // -----------------------------------------------------------------------
366
+ // Query
367
+ // -----------------------------------------------------------------------
368
+ /**
369
+ * Execute a read-only session query operation.
370
+ *
371
+ * @param operation - The session query op name (e.g. 'status', 'list').
372
+ * @param params - Raw params from the dispatcher (narrowed internally).
373
+ */
374
+ async query(operation, params) {
375
+ const startTime = Date.now();
376
+ if (!QUERY_OPS.has(operation)) {
377
+ return unsupportedOp('query', 'session', operation, startTime);
378
+ }
379
+ try {
380
+ // operation is validated above — cast to the typed key is safe.
381
+ // This is the single documented trust boundary: the registry guarantees
382
+ // `operation` is a valid session query op name at this point.
383
+ const envelope = await typedDispatch(_sessionTypedHandler, operation, params ?? {});
384
+ return wrapResult(envelopeToEngineResult(envelope), 'query', 'session', operation, startTime);
385
+ }
386
+ catch (error) {
387
+ getLogger('domain:session').error({ gateway: 'query', domain: 'session', operation, err: error }, error instanceof Error ? error.message : String(error));
388
+ return handleErrorResult('query', 'session', operation, error, startTime);
389
+ }
390
+ }
391
+ // -----------------------------------------------------------------------
392
+ // Mutate
393
+ // -----------------------------------------------------------------------
394
+ /**
395
+ * Execute a state-modifying session mutation operation.
396
+ *
397
+ * @param operation - The session mutate op name (e.g. 'start', 'end').
398
+ * @param params - Raw params from the dispatcher (narrowed internally).
399
+ */
400
+ async mutate(operation, params) {
401
+ const startTime = Date.now();
402
+ if (!MUTATE_OPS.has(operation)) {
403
+ return unsupportedOp('mutate', 'session', operation, startTime);
404
+ }
405
+ try {
406
+ // operation is validated above — cast to the typed key is safe.
407
+ // This is the single documented trust boundary: the registry guarantees
408
+ // `operation` is a valid session mutate op name at this point.
409
+ const envelope = await typedDispatch(_sessionTypedHandler, operation, params ?? {});
410
+ return wrapResult(envelopeToEngineResult(envelope), 'mutate', 'session', operation, startTime);
411
+ }
412
+ catch (error) {
413
+ getLogger('domain:session').error({ gateway: 'mutate', domain: 'session', operation, err: error }, error instanceof Error ? error.message : String(error));
414
+ return handleErrorResult('mutate', 'session', operation, error, startTime);
415
+ }
416
+ }
417
+ // -----------------------------------------------------------------------
418
+ // Supported operations
419
+ // -----------------------------------------------------------------------
420
+ /** Declared operations for introspection and validation. */
421
+ getSupportedOperations() {
422
+ return {
423
+ query: [
424
+ 'status',
425
+ 'list',
426
+ 'show',
427
+ 'find',
428
+ 'decision.log',
429
+ 'context.drift',
430
+ 'handoff.show',
431
+ 'briefing.show',
432
+ ],
433
+ mutate: ['start', 'end', 'resume', 'suspend', 'gc', 'record.decision', 'record.assumption'],
434
+ };
435
+ }
436
+ }
437
+ // ---------------------------------------------------------------------------
438
+ // T1118 L4a — Owner auth token storage helper
439
+ // ---------------------------------------------------------------------------
440
+ /**
441
+ * Store an owner-auth HMAC token against a session row.
442
+ *
443
+ * Uses a raw SQL update via the native SQLite accessor to avoid coupling
444
+ * the Session contract to the new column.
445
+ *
446
+ * @param projectRoot - Absolute project root path.
447
+ * @param sessionId - Session ID to update.
448
+ * @param token - HMAC token to store.
449
+ *
450
+ * @task T1118
451
+ * @task T1123
452
+ */
453
+ async function storeSessionOwnerAuthToken(projectRoot, sessionId, token) {
454
+ // The native DB is always available at this point because session.start
455
+ // already successfully ran.
456
+ const db = await getDb(projectRoot);
457
+ db.update(sessions).set({ ownerAuthToken: token }).where(eq(sessions.id, sessionId)).run();
458
+ }
459
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/dispatch/domains/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAWH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,WAAW,EAEX,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1E,KAAK,UAAU,eAAe;IAC5B,OAAO,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAsD;IACjF,OAAO,WAAW,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAyB;IACpD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,kBAAkB,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,WAAW,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAsD;IACjF,OAAO,WAAW,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,MAA6D;IAC/F,OAAO,kBAAkB,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAA8D;IAE9D,OAAO,mBAAmB,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,MAAgC;IAClE,IAAI,WAA0D,CAAC;IAC/D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACnC,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,WAAW,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC,cAAc,EAAE,EAAE,WAAW,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAA0D;IAC7F,OAAO,eAAe,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAA0B;IACtD,OAAO,YAAY,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAwB;IAClD,OAAO,UAAU,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE;QAC/C,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAA2B;IACxD,OAAO,aAAa,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAA4B;IAC1D,OAAO,cAAc,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAuB;IAChD,OAAO,SAAS,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,MAAmD;IACxF,OAAO,qBAAqB,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAAqD;IAC5F,OAAO,uBAAuB,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,OAAO,GAAG;IACd,MAAM,EAAE,eAAe;IACvB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IACnB,cAAc,EAAE,oBAAoB;IACpC,eAAe,EAAE,qBAAqB;IACtC,cAAc,EAAE,oBAAoB;IACpC,eAAe,EAAE,qBAAqB;IACtC,KAAK,EAAE,cAAc;IACrB,GAAG,EAAE,YAAY;IACjB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,gBAAgB;IACzB,EAAE,EAAE,WAAW;IACf,iBAAiB,EAAE,uBAAuB;IAC1C,mBAAmB,EAAE,yBAAyB;CACtC,CAAC;AAIX,8EAA8E;AAC9E,sCAAsC;AACtC,EAAE;AACF,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,8EAA8E;AAE9E,MAAM,oBAAoB,GAAG,kBAAkB,CAAa,SAAS,EAAE;IACrE,4EAA4E;IAC5E,YAAY;IACZ,4EAA4E;IAE5E,yEAAyE;IACzE,2CAA2C;IAC3C,MAAM,EAAE,KAAK,EAAE,OAAgC,EAAE,EAAE,CACjD,cAAc,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE;QAC/C,gBAAgB,EAAE,KAAc;QAChC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,CAAC;KACjB,CAAC;IAEJ,IAAI,EAAE,KAAK,EAAE,MAA6B,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEjG,8DAA8D;IAC9D,IAAI,EAAE,KAAK,EAAE,MAA6B,EAAE,EAAE;QAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,SAAS,CACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,YAAY,CAAC,EAC1C,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EACxC,MAAM,CACP,CAAC;QACJ,CAAC;QACD,uFAAuF;QACvF,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjD,OAAO,SAAS,CAAC,aAAa,EAAE,WAAW,MAAM,CAAC,SAAS,YAAY,EAAE,MAAM,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,EAAE,KAAK,EAAE,MAA6B,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,4EAA4E;QAC5E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,SAAS,CACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,YAAY,CAAC,EAC1C,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EACxC,MAAM,CACP,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc,EAAE,KAAK,EAAE,MAAqC,EAAE,EAAE,CAC9D,cAAc,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC;IAE3E,eAAe,EAAE,KAAK,EAAE,MAAsC,EAAE,EAAE;QAChE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC,YAAY,EAAE,gCAAgC,EAAE,eAAe,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACjD,CAAC;IAED,cAAc,EAAE,KAAK,EAAE,MAAqC,EAAE,EAAE,CAC9D,cAAc,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC;IAE7E,eAAe,EAAE,KAAK,EAAE,MAAsC,EAAE,EAAE,CAChE,cAAc,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzE,4EAA4E;IAC5E,aAAa;IACb,4EAA4E;IAE5E,qFAAqF;IACrF,gFAAgF;IAChF,KAAK,EAAE,KAAK,EAAE,MAA8B,EAAE,EAAE;QAC9C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,SAAS,CACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,YAAY,CAAC,EAC1C,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EACxC,OAAO,CACR,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC,YAAY,EAAE,+BAA+B,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC;QAEjC,wFAAwF;QACxF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,0BAA0B,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;YAClF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,sDAAsD;gBACtD,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAC9B,EAAE,SAAS,EAAE,GAAG,EAAE,EAClB,wEAAwE,CACzE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,oEAAoE;QACpE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1C,gDAAgD;QAChD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,WAAW,CAAC;gBACV,SAAS;gBACT,KAAK,EAAE;oBACL,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ;oBAC/B,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;iBACtB;gBACD,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;aACjC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;YAC/D,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAC9B,EAAE,SAAS,EAAE,EACb,qDAAqD,CACtD,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,4FAA4F;IAC5F,0EAA0E;IAC1E,GAAG,EAAE,KAAK,EAAE,MAA4B,EAAE,EAAE;QAC1C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,6EAA6E;QAC7E,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,SAAS,CACd,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,IAAI,YAAY,CAAC,EAC7C,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EAC3C,KAAK,CACN,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3C,IAAI,SAAS,EAAE,CAAC;gBACd,oDAAoD;gBACpD,IAAI,aAAa,GAGN,IAAI,CAAC;gBAChB,IAAI,CAAC;oBACH,aAAa,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,SAAS,EAAE;wBAClE,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,UAAU,EAAE,MAAM,CAAC,UAAU;qBAC9B,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,8CAA8C;oBAC9C,IAAI,CAAC;wBACH,MAAM,qBAAqB,CAAC,WAAW,EAAE,SAAS,EAAE;4BAClD,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,UAAU,EAAE,MAAM,CAAC,UAAU;yBAC9B,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBACP,gEAAgE;oBAClE,CAAC;gBACH,CAAC;gBAED,4DAA4D;gBAC5D,IAAI,aAAa,EAAE,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;oBACjD,IAAI,CAAC;wBACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;wBACzE,MAAM,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;oBACzE,CAAC;oBAAC,MAAM,CAAC;wBACP,yDAAyD;oBAC3D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oDAAoD;YACpD,aAAa,EAAE,CAAC;QAClB,CAAC;QAED,qEAAqE;QACrE,iFAAiF;QACjF,6EAA6E;QAC7E,IAAI,CAAC;YACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACxE,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;QACnE,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC,YAAY,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE;QAChD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC,aAAa,EAAE,WAAW,MAAM,CAAC,SAAS,YAAY,EAAE,QAAQ,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAgC,EAAE,EAAE;QAClD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC,aAAa,EAAE,WAAW,MAAM,CAAC,SAAS,YAAY,EAAE,SAAS,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,0DAA0D;IAC1D,EAAE,EAAE,KAAK,EAAE,MAA2B,EAAE,EAAE,CACxC,cAAc,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAE/E,iBAAiB,EAAE,KAAK,EAAE,MAAwC,EAAE,EAAE;QACpE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC,YAAY,EAAE,kCAAkC,EAAE,iBAAiB,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACnD,CAAC;IAED,mBAAmB,EAAE,KAAK,EAAE,MAA0C,EAAE,EAAE;QACxE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC,YAAY,EAAE,oCAAoC,EAAE,mBAAmB,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,cAAc,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,CAAC;CACF,CAAC,CAAC;AAEH,8EAA8E;AAC9E,mCAAmC;AACnC,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,QAI/B;IACC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,IAAI,YAAY,CAAC;YAClD,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe;SACpD;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAE9E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS;IAChC,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,cAAc;IACd,eAAe;IACf,cAAc;IACd,eAAe;CAChB,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS;IACjC,OAAO;IACP,KAAK;IACL,QAAQ;IACR,SAAS;IACT,IAAI;IACJ,iBAAiB;IACjB,mBAAmB;CACpB,CAAC,CAAC;AAEH,8EAA8E;AAC9E,qEAAqE;AACrE,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IACzB,0EAA0E;IAC1E,QAAQ;IACR,0EAA0E;IAE1E;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,MAAgC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC;YACH,gEAAgE;YAChE,wEAAwE;YACxE,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAClC,oBAAoB,EACpB,SAAsC,EACtC,MAAM,IAAI,EAAE,CACb,CAAC;YACF,OAAO,UAAU,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAC/B,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,EAC9D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;YACF,OAAO,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,SAAS;IACT,0EAA0E;IAE1E;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,MAAgC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,OAAO,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC;YACH,gEAAgE;YAChE,wEAAwE;YACxE,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAClC,oBAAoB,EACpB,SAAsC,EACtC,MAAM,IAAI,EAAE,CACb,CAAC;YACF,OAAO,UAAU,CACf,sBAAsB,CAAC,QAAQ,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,CACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAC/B,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,EAC/D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;YACF,OAAO,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,uBAAuB;IACvB,0EAA0E;IAE1E,4DAA4D;IAC5D,sBAAsB;QACpB,OAAO;YACL,KAAK,EAAE;gBACL,QAAQ;gBACR,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,cAAc;gBACd,eAAe;gBACf,cAAc;gBACd,eAAe;aAChB;YACD,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,CAAC;SAC5F,CAAC;IACJ,CAAC;CACF;AAED,8EAA8E;AAC9E,8CAA8C;AAC9C,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,0BAA0B,CACvC,WAAmB,EACnB,SAAiB,EACjB,KAAa;IAEb,wEAAwE;IACxE,4BAA4B;IAC5B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;IACpC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC7F,CAAC"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Sticky Domain Handler (Dispatch Layer)
3
+ *
4
+ * Handles sticky note operations: list, show, add, convert, archive, purge.
5
+ *
6
+ * Type-safe dispatch via `TypedDomainHandler<StickyDispatchOps>` per ADR-058.
7
+ * Param extraction inferred via `OpsFromCore<typeof stickyCoreOps>`.
8
+ * Zero `params?.x as Type` casts at call sites.
9
+ *
10
+ * T1537 convert split: the old monolithic `convert` branch is replaced by
11
+ * four typed sub-operation wrappers keyed as `convert.task`, `convert.memory`,
12
+ * `convert.session_note`, and `convert.task_note`. The public dispatch surface
13
+ * retains the single `convert` operation; the `mutate` gateway uses the
14
+ * `targetType` discriminant to route to the correct wrapper, then delegates
15
+ * to `typedDispatch` for type-safe param extraction.
16
+ *
17
+ * @task T5280
18
+ * @epic T5267
19
+ * @task T1535 — OpsFromCore migration per ADR-058
20
+ * @task T1537 — convert handler sub-operation split
21
+ */
22
+ import type { StickyAddParams, StickyArchiveParams, StickyListParams, StickyPurgeParams, StickyShowParams } from '@cleocode/contracts/operations/sticky';
23
+ import type { StickyConvertMemoryParams, StickyConvertResult, StickyConvertSessionNoteParams, StickyConvertTaskNoteParams, StickyConvertTaskParams } from '@cleocode/core/internal';
24
+ import { type OpsFromCore } from '../adapters/typed.js';
25
+ import type { DispatchResponse, DomainHandler } from '../types.js';
26
+ /** @task T1535 */
27
+ declare function stickyListOp(params: StickyListParams): Promise<import("@cleocode/core").EngineResult<{
28
+ stickies: import("@cleocode/core/internal").StickyNote[];
29
+ total: number;
30
+ filtered: number;
31
+ }>>;
32
+ /** @task T1535 */
33
+ declare function stickyShowOp(params: StickyShowParams): Promise<import("@cleocode/core").EngineResult<import("@cleocode/core/internal").StickyNote | null>>;
34
+ /** @task T1535 */
35
+ declare function stickyAddOp(params: StickyAddParams): Promise<import("@cleocode/core").EngineResult<import("@cleocode/core/internal").StickyNote>>;
36
+ /** @task T1535 */
37
+ declare function stickyArchiveOp(params: StickyArchiveParams): Promise<import("@cleocode/core").EngineResult<import("@cleocode/core/internal").StickyNote>>;
38
+ /** @task T1535 */
39
+ declare function stickyPurgeOp(params: StickyPurgeParams): Promise<import("@cleocode/core").EngineResult<import("@cleocode/core/internal").StickyNote>>;
40
+ /** Convert sticky to new task. @task T1537 */
41
+ declare function stickyConvertTaskOp(params: StickyConvertTaskParams): Promise<StickyConvertResult>;
42
+ /** Convert sticky to memory observation. @task T1537 */
43
+ declare function stickyConvertMemoryOp(params: StickyConvertMemoryParams): Promise<StickyConvertResult>;
44
+ /** Convert sticky to session note. @task T1537 */
45
+ declare function stickyConvertSessionNoteOp(params: StickyConvertSessionNoteParams): Promise<StickyConvertResult>;
46
+ /** Attach sticky as note on an existing task. @task T1537 */
47
+ declare function stickyConvertTaskNoteOp(params: StickyConvertTaskNoteParams): Promise<StickyConvertResult>;
48
+ /**
49
+ * Sticky operation registry for `OpsFromCore<typeof stickyCoreOps>` inference.
50
+ *
51
+ * @task T1535 — OpsFromCore migration
52
+ * @task T1537 — convert sub-operation split
53
+ */
54
+ declare const stickyCoreOps: {
55
+ readonly list: typeof stickyListOp;
56
+ readonly show: typeof stickyShowOp;
57
+ readonly add: typeof stickyAddOp;
58
+ readonly archive: typeof stickyArchiveOp;
59
+ readonly purge: typeof stickyPurgeOp;
60
+ readonly 'convert.task': typeof stickyConvertTaskOp;
61
+ readonly 'convert.memory': typeof stickyConvertMemoryOp;
62
+ readonly 'convert.session_note': typeof stickyConvertSessionNoteOp;
63
+ readonly 'convert.task_note': typeof stickyConvertTaskNoteOp;
64
+ };
65
+ /** Inferred typed operation record for the sticky domain (ADR-058 T1535). */
66
+ export type StickyDispatchOps = OpsFromCore<typeof stickyCoreOps>;
67
+ /**
68
+ * Dispatch handler for the sticky domain.
69
+ *
70
+ * @task T1535 — OpsFromCore migration per ADR-058
71
+ * @task T1537 — convert sub-operation split
72
+ */
73
+ export declare class StickyHandler implements DomainHandler {
74
+ query(operation: string, params?: Record<string, unknown>): Promise<DispatchResponse>;
75
+ mutate(operation: string, params?: Record<string, unknown>): Promise<DispatchResponse>;
76
+ getSupportedOperations(): {
77
+ query: string[];
78
+ mutate: string[];
79
+ };
80
+ }
81
+ export {};
82
+ //# sourceMappingURL=sticky.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["../../../src/dispatch/domains/sticky.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAY9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAUnE,kBAAkB;AAClB,iBAAe,YAAY,CAAC,MAAM,EAAE,gBAAgB;;;;IAYnD;AAED,kBAAkB;AAClB,iBAAe,YAAY,CAAC,MAAM,EAAE,gBAAgB,uGAEnD;AAED,kBAAkB;AAClB,iBAAe,WAAW,CAAC,MAAM,EAAE,eAAe,gGAOjD;AAED,kBAAkB;AAClB,iBAAe,eAAe,CAAC,MAAM,EAAE,mBAAmB,gGAEzD;AAED,kBAAkB;AAClB,iBAAe,aAAa,CAAC,MAAM,EAAE,iBAAiB,gGAErD;AAMD,8CAA8C;AAC9C,iBAAe,mBAAmB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAIhG;AAED,wDAAwD;AACxD,iBAAe,qBAAqB,CAClC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAI9B;AAED,kDAAkD;AAClD,iBAAe,0BAA0B,CACvC,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,mBAAmB,CAAC,CAQ9B;AAED,6DAA6D;AAC7D,iBAAe,uBAAuB,CACpC,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAI9B;AAMD;;;;;GAKG;AACH,QAAA,MAAM,aAAa;;;;;;;;;;CAUT,CAAC;AAMX,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC;AA+IlE;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,aAAa;IAC3C,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkBrF,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkC5F,sBAAsB,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CAMhE"}