@cleocode/cleo 2026.3.56 → 2026.3.58

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 (705) hide show
  1. package/dist/cli/commander-shim.d.ts +112 -0
  2. package/dist/cli/commander-shim.d.ts.map +1 -0
  3. package/dist/cli/commander-shim.js +233 -0
  4. package/dist/cli/commander-shim.js.map +1 -0
  5. package/dist/cli/commands/add.d.ts +12 -0
  6. package/dist/cli/commands/add.d.ts.map +1 -0
  7. package/dist/cli/commands/add.js +91 -0
  8. package/dist/cli/commands/add.js.map +1 -0
  9. package/dist/cli/commands/adr.d.ts +27 -0
  10. package/dist/cli/commands/adr.d.ts.map +1 -0
  11. package/dist/cli/commands/adr.js +79 -0
  12. package/dist/cli/commands/adr.js.map +1 -0
  13. package/dist/cli/commands/analyze.d.ts +12 -0
  14. package/dist/cli/commands/analyze.d.ts.map +1 -0
  15. package/dist/cli/commands/analyze.js +20 -0
  16. package/dist/cli/commands/analyze.js.map +1 -0
  17. package/dist/cli/commands/archive-stats.d.ts +18 -0
  18. package/dist/cli/commands/archive-stats.d.ts.map +1 -0
  19. package/dist/cli/commands/archive-stats.js +49 -0
  20. package/dist/cli/commands/archive-stats.js.map +1 -0
  21. package/dist/cli/commands/archive.d.ts +12 -0
  22. package/dist/cli/commands/archive.d.ts.map +1 -0
  23. package/dist/cli/commands/archive.js +32 -0
  24. package/dist/cli/commands/archive.js.map +1 -0
  25. package/dist/cli/commands/backup.d.ts +8 -0
  26. package/dist/cli/commands/backup.d.ts.map +1 -0
  27. package/dist/cli/commands/backup.js +35 -0
  28. package/dist/cli/commands/backup.js.map +1 -0
  29. package/dist/cli/commands/blockers.d.ts +7 -0
  30. package/dist/cli/commands/blockers.d.ts.map +1 -0
  31. package/dist/cli/commands/blockers.js +16 -0
  32. package/dist/cli/commands/blockers.js.map +1 -0
  33. package/dist/cli/commands/briefing.d.ts +22 -0
  34. package/dist/cli/commands/briefing.d.ts.map +1 -0
  35. package/dist/cli/commands/briefing.js +45 -0
  36. package/dist/cli/commands/briefing.js.map +1 -0
  37. package/dist/cli/commands/bug.d.ts +12 -0
  38. package/dist/cli/commands/bug.d.ts.map +1 -0
  39. package/dist/cli/commands/bug.js +81 -0
  40. package/dist/cli/commands/bug.js.map +1 -0
  41. package/dist/cli/commands/checkpoint.d.ts +15 -0
  42. package/dist/cli/commands/checkpoint.d.ts.map +1 -0
  43. package/dist/cli/commands/checkpoint.js +91 -0
  44. package/dist/cli/commands/checkpoint.js.map +1 -0
  45. package/dist/cli/commands/commands.d.ts +13 -0
  46. package/dist/cli/commands/commands.d.ts.map +1 -0
  47. package/dist/cli/commands/commands.js +30 -0
  48. package/dist/cli/commands/commands.js.map +1 -0
  49. package/dist/cli/commands/complete.d.ts +12 -0
  50. package/dist/cli/commands/complete.d.ts.map +1 -0
  51. package/dist/cli/commands/complete.js +43 -0
  52. package/dist/cli/commands/complete.js.map +1 -0
  53. package/dist/cli/commands/compliance.d.ts +8 -0
  54. package/dist/cli/commands/compliance.d.ts.map +1 -0
  55. package/dist/cli/commands/compliance.js +85 -0
  56. package/dist/cli/commands/compliance.js.map +1 -0
  57. package/dist/cli/commands/config.d.ts +9 -0
  58. package/dist/cli/commands/config.d.ts.map +1 -0
  59. package/dist/cli/commands/config.js +43 -0
  60. package/dist/cli/commands/config.js.map +1 -0
  61. package/dist/cli/commands/consensus.d.ts +13 -0
  62. package/dist/cli/commands/consensus.d.ts.map +1 -0
  63. package/dist/cli/commands/consensus.js +45 -0
  64. package/dist/cli/commands/consensus.js.map +1 -0
  65. package/dist/cli/commands/context.d.ts +8 -0
  66. package/dist/cli/commands/context.d.ts.map +1 -0
  67. package/dist/cli/commands/context.js +40 -0
  68. package/dist/cli/commands/context.js.map +1 -0
  69. package/dist/cli/commands/contribution.d.ts +13 -0
  70. package/dist/cli/commands/contribution.d.ts.map +1 -0
  71. package/dist/cli/commands/contribution.js +41 -0
  72. package/dist/cli/commands/contribution.js.map +1 -0
  73. package/dist/cli/commands/current.d.ts +13 -0
  74. package/dist/cli/commands/current.d.ts.map +1 -0
  75. package/dist/cli/commands/current.js +20 -0
  76. package/dist/cli/commands/current.js.map +1 -0
  77. package/dist/cli/commands/dash.d.ts +12 -0
  78. package/dist/cli/commands/dash.d.ts.map +1 -0
  79. package/dist/cli/commands/dash.js +24 -0
  80. package/dist/cli/commands/dash.js.map +1 -0
  81. package/dist/cli/commands/decomposition.d.ts +13 -0
  82. package/dist/cli/commands/decomposition.d.ts.map +1 -0
  83. package/dist/cli/commands/decomposition.js +45 -0
  84. package/dist/cli/commands/decomposition.js.map +1 -0
  85. package/dist/cli/commands/delete.d.ts +12 -0
  86. package/dist/cli/commands/delete.d.ts.map +1 -0
  87. package/dist/cli/commands/delete.js +37 -0
  88. package/dist/cli/commands/delete.js.map +1 -0
  89. package/dist/cli/commands/deps.d.ts +9 -0
  90. package/dist/cli/commands/deps.d.ts.map +1 -0
  91. package/dist/cli/commands/deps.js +73 -0
  92. package/dist/cli/commands/deps.js.map +1 -0
  93. package/dist/cli/commands/detect-drift.d.ts +15 -0
  94. package/dist/cli/commands/detect-drift.d.ts.map +1 -0
  95. package/dist/cli/commands/detect-drift.js +386 -0
  96. package/dist/cli/commands/detect-drift.js.map +1 -0
  97. package/dist/cli/commands/detect.d.ts +10 -0
  98. package/dist/cli/commands/detect.d.ts.map +1 -0
  99. package/dist/cli/commands/detect.js +24 -0
  100. package/dist/cli/commands/detect.js.map +1 -0
  101. package/dist/cli/commands/docs.d.ts +13 -0
  102. package/dist/cli/commands/docs.d.ts.map +1 -0
  103. package/dist/cli/commands/docs.js +169 -0
  104. package/dist/cli/commands/docs.js.map +1 -0
  105. package/dist/cli/commands/doctor.d.ts +11 -0
  106. package/dist/cli/commands/doctor.d.ts.map +1 -0
  107. package/dist/cli/commands/doctor.js +54 -0
  108. package/dist/cli/commands/doctor.js.map +1 -0
  109. package/dist/cli/commands/dynamic.d.ts +24 -0
  110. package/dist/cli/commands/dynamic.d.ts.map +1 -0
  111. package/dist/cli/commands/dynamic.js +27 -0
  112. package/dist/cli/commands/dynamic.js.map +1 -0
  113. package/dist/cli/commands/env.d.ts +12 -0
  114. package/dist/cli/commands/env.d.ts.map +1 -0
  115. package/dist/cli/commands/env.js +44 -0
  116. package/dist/cli/commands/env.js.map +1 -0
  117. package/dist/cli/commands/exists.d.ts +7 -0
  118. package/dist/cli/commands/exists.d.ts.map +1 -0
  119. package/dist/cli/commands/exists.js +33 -0
  120. package/dist/cli/commands/exists.js.map +1 -0
  121. package/dist/cli/commands/export-tasks.d.ts +10 -0
  122. package/dist/cli/commands/export-tasks.d.ts.map +1 -0
  123. package/dist/cli/commands/export-tasks.js +47 -0
  124. package/dist/cli/commands/export-tasks.js.map +1 -0
  125. package/dist/cli/commands/export.d.ts +9 -0
  126. package/dist/cli/commands/export.d.ts.map +1 -0
  127. package/dist/cli/commands/export.js +46 -0
  128. package/dist/cli/commands/export.js.map +1 -0
  129. package/dist/cli/commands/find.d.ts +14 -0
  130. package/dist/cli/commands/find.d.ts.map +1 -0
  131. package/dist/cli/commands/find.js +70 -0
  132. package/dist/cli/commands/find.js.map +1 -0
  133. package/dist/cli/commands/generate-changelog.d.ts +14 -0
  134. package/dist/cli/commands/generate-changelog.d.ts.map +1 -0
  135. package/dist/cli/commands/generate-changelog.js +252 -0
  136. package/dist/cli/commands/generate-changelog.js.map +1 -0
  137. package/dist/cli/commands/grade.d.ts +13 -0
  138. package/dist/cli/commands/grade.d.ts.map +1 -0
  139. package/dist/cli/commands/grade.js +26 -0
  140. package/dist/cli/commands/grade.js.map +1 -0
  141. package/dist/cli/commands/history.d.ts +9 -0
  142. package/dist/cli/commands/history.d.ts.map +1 -0
  143. package/dist/cli/commands/history.js +30 -0
  144. package/dist/cli/commands/history.js.map +1 -0
  145. package/dist/cli/commands/implementation.d.ts +13 -0
  146. package/dist/cli/commands/implementation.d.ts.map +1 -0
  147. package/dist/cli/commands/implementation.js +41 -0
  148. package/dist/cli/commands/implementation.js.map +1 -0
  149. package/dist/cli/commands/import-tasks.d.ts +10 -0
  150. package/dist/cli/commands/import-tasks.d.ts.map +1 -0
  151. package/dist/cli/commands/import-tasks.js +38 -0
  152. package/dist/cli/commands/import-tasks.js.map +1 -0
  153. package/dist/cli/commands/import.d.ts +9 -0
  154. package/dist/cli/commands/import.d.ts.map +1 -0
  155. package/dist/cli/commands/import.js +28 -0
  156. package/dist/cli/commands/import.js.map +1 -0
  157. package/dist/cli/commands/init.d.ts +34 -0
  158. package/dist/cli/commands/init.d.ts.map +1 -0
  159. package/dist/cli/commands/init.js +89 -0
  160. package/dist/cli/commands/init.js.map +1 -0
  161. package/dist/cli/commands/inject.d.ts +8 -0
  162. package/dist/cli/commands/inject.d.ts.map +1 -0
  163. package/dist/cli/commands/inject.js +28 -0
  164. package/dist/cli/commands/inject.js.map +1 -0
  165. package/dist/cli/commands/install-global.d.ts +19 -0
  166. package/dist/cli/commands/install-global.d.ts.map +1 -0
  167. package/dist/cli/commands/install-global.js +50 -0
  168. package/dist/cli/commands/install-global.js.map +1 -0
  169. package/dist/cli/commands/issue.d.ts +14 -0
  170. package/dist/cli/commands/issue.d.ts.map +1 -0
  171. package/dist/cli/commands/issue.js +105 -0
  172. package/dist/cli/commands/issue.js.map +1 -0
  173. package/dist/cli/commands/labels.d.ts +13 -0
  174. package/dist/cli/commands/labels.d.ts.map +1 -0
  175. package/dist/cli/commands/labels.js +44 -0
  176. package/dist/cli/commands/labels.js.map +1 -0
  177. package/dist/cli/commands/lifecycle.d.ts +8 -0
  178. package/dist/cli/commands/lifecycle.d.ts.map +1 -0
  179. package/dist/cli/commands/lifecycle.js +72 -0
  180. package/dist/cli/commands/lifecycle.js.map +1 -0
  181. package/dist/cli/commands/list.d.ts +14 -0
  182. package/dist/cli/commands/list.d.ts.map +1 -0
  183. package/dist/cli/commands/list.js +71 -0
  184. package/dist/cli/commands/list.js.map +1 -0
  185. package/dist/cli/commands/log.d.ts +12 -0
  186. package/dist/cli/commands/log.d.ts.map +1 -0
  187. package/dist/cli/commands/log.js +30 -0
  188. package/dist/cli/commands/log.js.map +1 -0
  189. package/dist/cli/commands/map.d.ts +10 -0
  190. package/dist/cli/commands/map.d.ts.map +1 -0
  191. package/dist/cli/commands/map.js +23 -0
  192. package/dist/cli/commands/map.js.map +1 -0
  193. package/dist/cli/commands/mcp-install.d.ts +17 -0
  194. package/dist/cli/commands/mcp-install.d.ts.map +1 -0
  195. package/dist/cli/commands/mcp-install.js +128 -0
  196. package/dist/cli/commands/mcp-install.js.map +1 -0
  197. package/dist/cli/commands/memory-brain.d.ts +14 -0
  198. package/dist/cli/commands/memory-brain.d.ts.map +1 -0
  199. package/dist/cli/commands/memory-brain.js +151 -0
  200. package/dist/cli/commands/memory-brain.js.map +1 -0
  201. package/dist/cli/commands/migrate-claude-mem.d.ts +18 -0
  202. package/dist/cli/commands/migrate-claude-mem.d.ts.map +1 -0
  203. package/dist/cli/commands/migrate-claude-mem.js +60 -0
  204. package/dist/cli/commands/migrate-claude-mem.js.map +1 -0
  205. package/dist/cli/commands/next.d.ts +9 -0
  206. package/dist/cli/commands/next.d.ts.map +1 -0
  207. package/dist/cli/commands/next.js +20 -0
  208. package/dist/cli/commands/next.js.map +1 -0
  209. package/dist/cli/commands/nexus.d.ts +16 -0
  210. package/dist/cli/commands/nexus.d.ts.map +1 -0
  211. package/dist/cli/commands/nexus.js +155 -0
  212. package/dist/cli/commands/nexus.js.map +1 -0
  213. package/dist/cli/commands/observe.d.ts +9 -0
  214. package/dist/cli/commands/observe.d.ts.map +1 -0
  215. package/dist/cli/commands/observe.js +39 -0
  216. package/dist/cli/commands/observe.js.map +1 -0
  217. package/dist/cli/commands/ops.d.ts +10 -0
  218. package/dist/cli/commands/ops.d.ts.map +1 -0
  219. package/dist/cli/commands/ops.js +19 -0
  220. package/dist/cli/commands/ops.js.map +1 -0
  221. package/dist/cli/commands/orchestrate.d.ts +8 -0
  222. package/dist/cli/commands/orchestrate.d.ts.map +1 -0
  223. package/dist/cli/commands/orchestrate.js +58 -0
  224. package/dist/cli/commands/orchestrate.js.map +1 -0
  225. package/dist/cli/commands/otel.d.ts +12 -0
  226. package/dist/cli/commands/otel.d.ts.map +1 -0
  227. package/dist/cli/commands/otel.js +128 -0
  228. package/dist/cli/commands/otel.js.map +1 -0
  229. package/dist/cli/commands/phase.d.ts +12 -0
  230. package/dist/cli/commands/phase.d.ts.map +1 -0
  231. package/dist/cli/commands/phase.js +88 -0
  232. package/dist/cli/commands/phase.js.map +1 -0
  233. package/dist/cli/commands/phases.d.ts +12 -0
  234. package/dist/cli/commands/phases.d.ts.map +1 -0
  235. package/dist/cli/commands/phases.js +37 -0
  236. package/dist/cli/commands/phases.js.map +1 -0
  237. package/dist/cli/commands/plan.d.ts +8 -0
  238. package/dist/cli/commands/plan.d.ts.map +1 -0
  239. package/dist/cli/commands/plan.js +15 -0
  240. package/dist/cli/commands/plan.js.map +1 -0
  241. package/dist/cli/commands/promote.d.ts +7 -0
  242. package/dist/cli/commands/promote.d.ts.map +1 -0
  243. package/dist/cli/commands/promote.js +15 -0
  244. package/dist/cli/commands/promote.js.map +1 -0
  245. package/dist/cli/commands/refresh-memory.d.ts +9 -0
  246. package/dist/cli/commands/refresh-memory.d.ts.map +1 -0
  247. package/dist/cli/commands/refresh-memory.js +24 -0
  248. package/dist/cli/commands/refresh-memory.js.map +1 -0
  249. package/dist/cli/commands/relates.d.ts +12 -0
  250. package/dist/cli/commands/relates.d.ts.map +1 -0
  251. package/dist/cli/commands/relates.js +53 -0
  252. package/dist/cli/commands/relates.js.map +1 -0
  253. package/dist/cli/commands/release.d.ts +8 -0
  254. package/dist/cli/commands/release.d.ts.map +1 -0
  255. package/dist/cli/commands/release.js +72 -0
  256. package/dist/cli/commands/release.js.map +1 -0
  257. package/dist/cli/commands/remote.d.ts +12 -0
  258. package/dist/cli/commands/remote.d.ts.map +1 -0
  259. package/dist/cli/commands/remote.js +207 -0
  260. package/dist/cli/commands/remote.js.map +1 -0
  261. package/dist/cli/commands/reorder.d.ts +7 -0
  262. package/dist/cli/commands/reorder.d.ts.map +1 -0
  263. package/dist/cli/commands/reorder.js +20 -0
  264. package/dist/cli/commands/reorder.js.map +1 -0
  265. package/dist/cli/commands/reparent.d.ts +10 -0
  266. package/dist/cli/commands/reparent.d.ts.map +1 -0
  267. package/dist/cli/commands/reparent.js +19 -0
  268. package/dist/cli/commands/reparent.js.map +1 -0
  269. package/dist/cli/commands/research.d.ts +8 -0
  270. package/dist/cli/commands/research.d.ts.map +1 -0
  271. package/dist/cli/commands/research.js +129 -0
  272. package/dist/cli/commands/research.js.map +1 -0
  273. package/dist/cli/commands/restore.d.ts +11 -0
  274. package/dist/cli/commands/restore.d.ts.map +1 -0
  275. package/dist/cli/commands/restore.js +224 -0
  276. package/dist/cli/commands/restore.js.map +1 -0
  277. package/dist/cli/commands/roadmap.d.ts +8 -0
  278. package/dist/cli/commands/roadmap.d.ts.map +1 -0
  279. package/dist/cli/commands/roadmap.js +21 -0
  280. package/dist/cli/commands/roadmap.js.map +1 -0
  281. package/dist/cli/commands/safestop.d.ts +14 -0
  282. package/dist/cli/commands/safestop.d.ts.map +1 -0
  283. package/dist/cli/commands/safestop.js +32 -0
  284. package/dist/cli/commands/safestop.js.map +1 -0
  285. package/dist/cli/commands/self-update.d.ts +15 -0
  286. package/dist/cli/commands/self-update.d.ts.map +1 -0
  287. package/dist/cli/commands/self-update.js +329 -0
  288. package/dist/cli/commands/self-update.js.map +1 -0
  289. package/dist/cli/commands/sequence.d.ts +8 -0
  290. package/dist/cli/commands/sequence.d.ts.map +1 -0
  291. package/dist/cli/commands/sequence.js +30 -0
  292. package/dist/cli/commands/sequence.js.map +1 -0
  293. package/dist/cli/commands/session.d.ts +12 -0
  294. package/dist/cli/commands/session.d.ts.map +1 -0
  295. package/dist/cli/commands/session.js +160 -0
  296. package/dist/cli/commands/session.js.map +1 -0
  297. package/dist/cli/commands/show.d.ts +13 -0
  298. package/dist/cli/commands/show.d.ts.map +1 -0
  299. package/dist/cli/commands/show.js +20 -0
  300. package/dist/cli/commands/show.js.map +1 -0
  301. package/dist/cli/commands/skills.d.ts +13 -0
  302. package/dist/cli/commands/skills.d.ts.map +1 -0
  303. package/dist/cli/commands/skills.js +131 -0
  304. package/dist/cli/commands/skills.js.map +1 -0
  305. package/dist/cli/commands/snapshot.d.ts +9 -0
  306. package/dist/cli/commands/snapshot.d.ts.map +1 -0
  307. package/dist/cli/commands/snapshot.js +50 -0
  308. package/dist/cli/commands/snapshot.js.map +1 -0
  309. package/dist/cli/commands/specification.d.ts +13 -0
  310. package/dist/cli/commands/specification.d.ts.map +1 -0
  311. package/dist/cli/commands/specification.js +45 -0
  312. package/dist/cli/commands/specification.js.map +1 -0
  313. package/dist/cli/commands/start.d.ts +13 -0
  314. package/dist/cli/commands/start.d.ts.map +1 -0
  315. package/dist/cli/commands/start.js +20 -0
  316. package/dist/cli/commands/start.js.map +1 -0
  317. package/dist/cli/commands/stats.d.ts +12 -0
  318. package/dist/cli/commands/stats.d.ts.map +1 -0
  319. package/dist/cli/commands/stats.js +23 -0
  320. package/dist/cli/commands/stats.js.map +1 -0
  321. package/dist/cli/commands/sticky.d.ts +16 -0
  322. package/dist/cli/commands/sticky.d.ts.map +1 -0
  323. package/dist/cli/commands/sticky.js +211 -0
  324. package/dist/cli/commands/sticky.js.map +1 -0
  325. package/dist/cli/commands/stop.d.ts +13 -0
  326. package/dist/cli/commands/stop.d.ts.map +1 -0
  327. package/dist/cli/commands/stop.js +20 -0
  328. package/dist/cli/commands/stop.js.map +1 -0
  329. package/dist/cli/commands/testing.d.ts +13 -0
  330. package/dist/cli/commands/testing.d.ts.map +1 -0
  331. package/dist/cli/commands/testing.js +64 -0
  332. package/dist/cli/commands/testing.js.map +1 -0
  333. package/dist/cli/commands/token.d.ts +10 -0
  334. package/dist/cli/commands/token.d.ts.map +1 -0
  335. package/dist/cli/commands/token.js +135 -0
  336. package/dist/cli/commands/token.js.map +1 -0
  337. package/dist/cli/commands/update.d.ts +12 -0
  338. package/dist/cli/commands/update.d.ts.map +1 -0
  339. package/dist/cli/commands/update.js +77 -0
  340. package/dist/cli/commands/update.js.map +1 -0
  341. package/dist/cli/commands/upgrade.d.ts +16 -0
  342. package/dist/cli/commands/upgrade.d.ts.map +1 -0
  343. package/dist/cli/commands/upgrade.js +83 -0
  344. package/dist/cli/commands/upgrade.js.map +1 -0
  345. package/dist/cli/commands/validate.d.ts +12 -0
  346. package/dist/cli/commands/validate.d.ts.map +1 -0
  347. package/dist/cli/commands/validate.js +23 -0
  348. package/dist/cli/commands/validate.js.map +1 -0
  349. package/dist/cli/commands/verify.d.ts +8 -0
  350. package/dist/cli/commands/verify.d.ts.map +1 -0
  351. package/dist/cli/commands/verify.js +28 -0
  352. package/dist/cli/commands/verify.js.map +1 -0
  353. package/dist/cli/commands/web.d.ts +13 -0
  354. package/dist/cli/commands/web.d.ts.map +1 -0
  355. package/dist/cli/commands/web.js +264 -0
  356. package/dist/cli/commands/web.js.map +1 -0
  357. package/dist/cli/field-context.d.ts +32 -0
  358. package/dist/cli/field-context.d.ts.map +1 -0
  359. package/dist/cli/field-context.js +47 -0
  360. package/dist/cli/field-context.js.map +1 -0
  361. package/dist/cli/format-context.d.ts +32 -0
  362. package/dist/cli/format-context.d.ts.map +1 -0
  363. package/dist/cli/format-context.js +50 -0
  364. package/dist/cli/format-context.js.map +1 -0
  365. package/dist/cli/index.d.ts +9 -0
  366. package/dist/cli/index.d.ts.map +1 -0
  367. package/dist/cli/index.js +16876 -14937
  368. package/dist/cli/index.js.map +4 -4
  369. package/dist/cli/logger-bootstrap.d.ts +6 -0
  370. package/dist/cli/logger-bootstrap.d.ts.map +1 -0
  371. package/dist/cli/logger-bootstrap.js +10 -0
  372. package/dist/cli/logger-bootstrap.js.map +1 -0
  373. package/dist/cli/middleware/output-format.d.ts +30 -0
  374. package/dist/cli/middleware/output-format.d.ts.map +1 -0
  375. package/dist/cli/middleware/output-format.js +35 -0
  376. package/dist/cli/middleware/output-format.js.map +1 -0
  377. package/dist/cli/progress.d.ts +84 -0
  378. package/dist/cli/progress.d.ts.map +1 -0
  379. package/dist/cli/progress.js +169 -0
  380. package/dist/cli/progress.js.map +1 -0
  381. package/dist/cli/renderers/colors.d.ts +32 -0
  382. package/dist/cli/renderers/colors.d.ts.map +1 -0
  383. package/dist/cli/renderers/colors.js +141 -0
  384. package/dist/cli/renderers/colors.js.map +1 -0
  385. package/dist/cli/renderers/error.d.ts +13 -0
  386. package/dist/cli/renderers/error.d.ts.map +1 -0
  387. package/dist/cli/renderers/error.js +42 -0
  388. package/dist/cli/renderers/error.js.map +1 -0
  389. package/dist/cli/renderers/index.d.ts +59 -0
  390. package/dist/cli/renderers/index.d.ts.map +1 -0
  391. package/dist/cli/renderers/index.js +184 -0
  392. package/dist/cli/renderers/index.js.map +1 -0
  393. package/dist/cli/renderers/normalizer.d.ts +21 -0
  394. package/dist/cli/renderers/normalizer.d.ts.map +1 -0
  395. package/dist/cli/renderers/normalizer.js +106 -0
  396. package/dist/cli/renderers/normalizer.js.map +1 -0
  397. package/dist/cli/renderers/system.d.ts +25 -0
  398. package/dist/cli/renderers/system.d.ts.map +1 -0
  399. package/dist/cli/renderers/system.js +416 -0
  400. package/dist/cli/renderers/system.js.map +1 -0
  401. package/dist/cli/renderers/tasks.d.ts +28 -0
  402. package/dist/cli/renderers/tasks.d.ts.map +1 -0
  403. package/dist/cli/renderers/tasks.js +306 -0
  404. package/dist/cli/renderers/tasks.js.map +1 -0
  405. package/dist/dispatch/adapters/cli.d.ts +67 -0
  406. package/dist/dispatch/adapters/cli.d.ts.map +1 -0
  407. package/dist/dispatch/adapters/cli.js +205 -0
  408. package/dist/dispatch/adapters/cli.js.map +1 -0
  409. package/dist/dispatch/adapters/mcp.d.ts +37 -0
  410. package/dist/dispatch/adapters/mcp.d.ts.map +1 -0
  411. package/dist/dispatch/adapters/mcp.js +122 -0
  412. package/dist/dispatch/adapters/mcp.js.map +1 -0
  413. package/dist/dispatch/context/session-context.d.ts +54 -0
  414. package/dist/dispatch/context/session-context.d.ts.map +1 -0
  415. package/dist/dispatch/context/session-context.js +61 -0
  416. package/dist/dispatch/context/session-context.js.map +1 -0
  417. package/dist/dispatch/dispatcher.d.ts +23 -0
  418. package/dist/dispatch/dispatcher.d.ts.map +1 -0
  419. package/dist/dispatch/dispatcher.js +84 -0
  420. package/dist/dispatch/dispatcher.js.map +1 -0
  421. package/dist/dispatch/domains/_base.d.ts +59 -0
  422. package/dist/dispatch/domains/_base.d.ts.map +1 -0
  423. package/dist/dispatch/domains/_base.js +77 -0
  424. package/dist/dispatch/domains/_base.js.map +1 -0
  425. package/dist/dispatch/domains/_meta.d.ts +23 -0
  426. package/dist/dispatch/domains/_meta.d.ts.map +1 -0
  427. package/dist/dispatch/domains/_meta.js +25 -0
  428. package/dist/dispatch/domains/_meta.js.map +1 -0
  429. package/dist/dispatch/domains/_routing.d.ts +8 -0
  430. package/dist/dispatch/domains/_routing.d.ts.map +1 -0
  431. package/dist/dispatch/domains/_routing.js +20 -0
  432. package/dist/dispatch/domains/_routing.js.map +1 -0
  433. package/dist/dispatch/domains/admin.d.ts +25 -0
  434. package/dist/dispatch/domains/admin.d.ts.map +1 -0
  435. package/dist/dispatch/domains/admin.js +670 -0
  436. package/dist/dispatch/domains/admin.js.map +1 -0
  437. package/dist/dispatch/domains/check.d.ts +22 -0
  438. package/dist/dispatch/domains/check.d.ts.map +1 -0
  439. package/dist/dispatch/domains/check.js +279 -0
  440. package/dist/dispatch/domains/check.js.map +1 -0
  441. package/dist/dispatch/domains/index.d.ts +26 -0
  442. package/dist/dispatch/domains/index.d.ts.map +1 -0
  443. package/dist/dispatch/domains/index.js +38 -0
  444. package/dist/dispatch/domains/index.js.map +1 -0
  445. package/dist/dispatch/domains/memory.d.ts +22 -0
  446. package/dist/dispatch/domains/memory.d.ts.map +1 -0
  447. package/dist/dispatch/domains/memory.js +303 -0
  448. package/dist/dispatch/domains/memory.js.map +1 -0
  449. package/dist/dispatch/domains/nexus.d.ts +22 -0
  450. package/dist/dispatch/domains/nexus.d.ts.map +1 -0
  451. package/dist/dispatch/domains/nexus.js +286 -0
  452. package/dist/dispatch/domains/nexus.js.map +1 -0
  453. package/dist/dispatch/domains/orchestrate.d.ts +19 -0
  454. package/dist/dispatch/domains/orchestrate.d.ts.map +1 -0
  455. package/dist/dispatch/domains/orchestrate.js +259 -0
  456. package/dist/dispatch/domains/orchestrate.js.map +1 -0
  457. package/dist/dispatch/domains/pipeline.d.ts +35 -0
  458. package/dist/dispatch/domains/pipeline.d.ts.map +1 -0
  459. package/dist/dispatch/domains/pipeline.js +553 -0
  460. package/dist/dispatch/domains/pipeline.js.map +1 -0
  461. package/dist/dispatch/domains/session.d.ts +22 -0
  462. package/dist/dispatch/domains/session.d.ts.map +1 -0
  463. package/dist/dispatch/domains/session.js +255 -0
  464. package/dist/dispatch/domains/session.js.map +1 -0
  465. package/dist/dispatch/domains/sticky.d.ts +20 -0
  466. package/dist/dispatch/domains/sticky.d.ts.map +1 -0
  467. package/dist/dispatch/domains/sticky.js +164 -0
  468. package/dist/dispatch/domains/sticky.js.map +1 -0
  469. package/dist/dispatch/domains/tasks.d.ts +25 -0
  470. package/dist/dispatch/domains/tasks.d.ts.map +1 -0
  471. package/dist/dispatch/domains/tasks.js +323 -0
  472. package/dist/dispatch/domains/tasks.js.map +1 -0
  473. package/dist/dispatch/domains/tools.d.ts +36 -0
  474. package/dist/dispatch/domains/tools.d.ts.map +1 -0
  475. package/dist/dispatch/domains/tools.js +451 -0
  476. package/dist/dispatch/domains/tools.js.map +1 -0
  477. package/dist/dispatch/engines/_error.d.ts +42 -0
  478. package/dist/dispatch/engines/_error.d.ts.map +1 -0
  479. package/dist/dispatch/engines/_error.js +201 -0
  480. package/dist/dispatch/engines/_error.js.map +1 -0
  481. package/dist/dispatch/engines/codebase-map-engine.d.ts +17 -0
  482. package/dist/dispatch/engines/codebase-map-engine.d.ts.map +1 -0
  483. package/dist/dispatch/engines/codebase-map-engine.js +29 -0
  484. package/dist/dispatch/engines/codebase-map-engine.js.map +1 -0
  485. package/dist/dispatch/engines/config-engine.d.ts +21 -0
  486. package/dist/dispatch/engines/config-engine.d.ts.map +1 -0
  487. package/dist/dispatch/engines/config-engine.js +45 -0
  488. package/dist/dispatch/engines/config-engine.js.map +1 -0
  489. package/dist/dispatch/engines/hooks-engine.d.ts +47 -0
  490. package/dist/dispatch/engines/hooks-engine.d.ts.map +1 -0
  491. package/dist/dispatch/engines/hooks-engine.js +57 -0
  492. package/dist/dispatch/engines/hooks-engine.js.map +1 -0
  493. package/dist/dispatch/engines/init-engine.d.ts +43 -0
  494. package/dist/dispatch/engines/init-engine.d.ts.map +1 -0
  495. package/dist/dispatch/engines/init-engine.js +73 -0
  496. package/dist/dispatch/engines/init-engine.js.map +1 -0
  497. package/dist/dispatch/engines/lifecycle-engine.d.ts +66 -0
  498. package/dist/dispatch/engines/lifecycle-engine.d.ts.map +1 -0
  499. package/dist/dispatch/engines/lifecycle-engine.js +213 -0
  500. package/dist/dispatch/engines/lifecycle-engine.js.map +1 -0
  501. package/dist/dispatch/engines/memory-engine.d.ts +10 -0
  502. package/dist/dispatch/engines/memory-engine.d.ts.map +1 -0
  503. package/dist/dispatch/engines/memory-engine.js +10 -0
  504. package/dist/dispatch/engines/memory-engine.js.map +1 -0
  505. package/dist/dispatch/engines/nexus-engine.d.ts +167 -0
  506. package/dist/dispatch/engines/nexus-engine.d.ts.map +1 -0
  507. package/dist/dispatch/engines/nexus-engine.js +356 -0
  508. package/dist/dispatch/engines/nexus-engine.js.map +1 -0
  509. package/dist/dispatch/engines/orchestrate-engine.d.ts +133 -0
  510. package/dist/dispatch/engines/orchestrate-engine.d.ts.map +1 -0
  511. package/dist/dispatch/engines/orchestrate-engine.js +769 -0
  512. package/dist/dispatch/engines/orchestrate-engine.js.map +1 -0
  513. package/dist/dispatch/engines/pipeline-engine.d.ts +51 -0
  514. package/dist/dispatch/engines/pipeline-engine.d.ts.map +1 -0
  515. package/dist/dispatch/engines/pipeline-engine.js +191 -0
  516. package/dist/dispatch/engines/pipeline-engine.js.map +1 -0
  517. package/dist/dispatch/engines/release-engine.d.ts +94 -0
  518. package/dist/dispatch/engines/release-engine.d.ts.map +1 -0
  519. package/dist/dispatch/engines/release-engine.js +669 -0
  520. package/dist/dispatch/engines/release-engine.js.map +1 -0
  521. package/dist/dispatch/engines/session-engine.d.ts +323 -0
  522. package/dist/dispatch/engines/session-engine.d.ts.map +1 -0
  523. package/dist/dispatch/engines/session-engine.js +865 -0
  524. package/dist/dispatch/engines/session-engine.js.map +1 -0
  525. package/dist/dispatch/engines/sticky-engine.d.ts +100 -0
  526. package/dist/dispatch/engines/sticky-engine.d.ts.map +1 -0
  527. package/dist/dispatch/engines/sticky-engine.js +181 -0
  528. package/dist/dispatch/engines/sticky-engine.js.map +1 -0
  529. package/dist/dispatch/engines/system-engine.d.ts +377 -0
  530. package/dist/dispatch/engines/system-engine.d.ts.map +1 -0
  531. package/dist/dispatch/engines/system-engine.js +979 -0
  532. package/dist/dispatch/engines/system-engine.js.map +1 -0
  533. package/dist/dispatch/engines/task-engine.d.ts +612 -0
  534. package/dist/dispatch/engines/task-engine.d.ts.map +1 -0
  535. package/dist/dispatch/engines/task-engine.js +950 -0
  536. package/dist/dispatch/engines/task-engine.js.map +1 -0
  537. package/dist/dispatch/engines/template-parser.d.ts +34 -0
  538. package/dist/dispatch/engines/template-parser.d.ts.map +1 -0
  539. package/dist/dispatch/engines/template-parser.js +57 -0
  540. package/dist/dispatch/engines/template-parser.js.map +1 -0
  541. package/dist/dispatch/engines/tools-engine.d.ts +270 -0
  542. package/dist/dispatch/engines/tools-engine.d.ts.map +1 -0
  543. package/dist/dispatch/engines/tools-engine.js +636 -0
  544. package/dist/dispatch/engines/tools-engine.js.map +1 -0
  545. package/dist/dispatch/engines/validate-engine.d.ts +154 -0
  546. package/dist/dispatch/engines/validate-engine.d.ts.map +1 -0
  547. package/dist/dispatch/engines/validate-engine.js +524 -0
  548. package/dist/dispatch/engines/validate-engine.js.map +1 -0
  549. package/dist/dispatch/index.d.ts +20 -0
  550. package/dist/dispatch/index.d.ts.map +1 -0
  551. package/dist/dispatch/index.js +19 -0
  552. package/dist/dispatch/index.js.map +1 -0
  553. package/dist/dispatch/lib/capability-matrix.d.ts +11 -0
  554. package/dist/dispatch/lib/capability-matrix.d.ts.map +1 -0
  555. package/dist/dispatch/lib/capability-matrix.js +10 -0
  556. package/dist/dispatch/lib/capability-matrix.js.map +1 -0
  557. package/dist/dispatch/lib/config.d.ts +16 -0
  558. package/dist/dispatch/lib/config.d.ts.map +1 -0
  559. package/dist/dispatch/lib/config.js +15 -0
  560. package/dist/dispatch/lib/config.js.map +1 -0
  561. package/dist/dispatch/lib/engine.d.ts +25 -0
  562. package/dist/dispatch/lib/engine.d.ts.map +1 -0
  563. package/dist/dispatch/lib/engine.js +44 -0
  564. package/dist/dispatch/lib/engine.js.map +1 -0
  565. package/dist/dispatch/lib/meta.d.ts +26 -0
  566. package/dist/dispatch/lib/meta.d.ts.map +1 -0
  567. package/dist/dispatch/lib/meta.js +37 -0
  568. package/dist/dispatch/lib/meta.js.map +1 -0
  569. package/dist/dispatch/lib/param-utils.d.ts +11 -0
  570. package/dist/dispatch/lib/param-utils.d.ts.map +1 -0
  571. package/dist/dispatch/lib/param-utils.js +10 -0
  572. package/dist/dispatch/lib/param-utils.js.map +1 -0
  573. package/dist/dispatch/lib/projections.d.ts +23 -0
  574. package/dist/dispatch/lib/projections.d.ts.map +1 -0
  575. package/dist/dispatch/lib/projections.js +48 -0
  576. package/dist/dispatch/lib/projections.js.map +1 -0
  577. package/dist/dispatch/lib/schema-utils.d.ts +42 -0
  578. package/dist/dispatch/lib/schema-utils.d.ts.map +1 -0
  579. package/dist/dispatch/lib/schema-utils.js +93 -0
  580. package/dist/dispatch/lib/schema-utils.js.map +1 -0
  581. package/dist/dispatch/lib/security.d.ts +11 -0
  582. package/dist/dispatch/lib/security.d.ts.map +1 -0
  583. package/dist/dispatch/lib/security.js +10 -0
  584. package/dist/dispatch/lib/security.js.map +1 -0
  585. package/dist/dispatch/middleware/audit.d.ts +23 -0
  586. package/dist/dispatch/middleware/audit.d.ts.map +1 -0
  587. package/dist/dispatch/middleware/audit.js +169 -0
  588. package/dist/dispatch/middleware/audit.js.map +1 -0
  589. package/dist/dispatch/middleware/field-filter.d.ts +24 -0
  590. package/dist/dispatch/middleware/field-filter.d.ts.map +1 -0
  591. package/dist/dispatch/middleware/field-filter.js +65 -0
  592. package/dist/dispatch/middleware/field-filter.js.map +1 -0
  593. package/dist/dispatch/middleware/pipeline.d.ts +20 -0
  594. package/dist/dispatch/middleware/pipeline.d.ts.map +1 -0
  595. package/dist/dispatch/middleware/pipeline.js +47 -0
  596. package/dist/dispatch/middleware/pipeline.js.map +1 -0
  597. package/dist/dispatch/middleware/projection.d.ts +35 -0
  598. package/dist/dispatch/middleware/projection.d.ts.map +1 -0
  599. package/dist/dispatch/middleware/projection.js +145 -0
  600. package/dist/dispatch/middleware/projection.js.map +1 -0
  601. package/dist/dispatch/middleware/protocol-enforcement.d.ts +12 -0
  602. package/dist/dispatch/middleware/protocol-enforcement.d.ts.map +1 -0
  603. package/dist/dispatch/middleware/protocol-enforcement.js +30 -0
  604. package/dist/dispatch/middleware/protocol-enforcement.js.map +1 -0
  605. package/dist/dispatch/middleware/rate-limiter.d.ts +30 -0
  606. package/dist/dispatch/middleware/rate-limiter.d.ts.map +1 -0
  607. package/dist/dispatch/middleware/rate-limiter.js +101 -0
  608. package/dist/dispatch/middleware/rate-limiter.js.map +1 -0
  609. package/dist/dispatch/middleware/sanitizer.d.ts +10 -0
  610. package/dist/dispatch/middleware/sanitizer.d.ts.map +1 -0
  611. package/dist/dispatch/middleware/sanitizer.js +42 -0
  612. package/dist/dispatch/middleware/sanitizer.js.map +1 -0
  613. package/dist/dispatch/middleware/session-resolver.d.ts +26 -0
  614. package/dist/dispatch/middleware/session-resolver.d.ts.map +1 -0
  615. package/dist/dispatch/middleware/session-resolver.js +65 -0
  616. package/dist/dispatch/middleware/session-resolver.js.map +1 -0
  617. package/dist/dispatch/middleware/verification-gates.d.ts +3 -0
  618. package/dist/dispatch/middleware/verification-gates.d.ts.map +1 -0
  619. package/dist/dispatch/middleware/verification-gates.js +40 -0
  620. package/dist/dispatch/middleware/verification-gates.js.map +1 -0
  621. package/dist/dispatch/registry.d.ts +91 -0
  622. package/dist/dispatch/registry.d.ts.map +1 -0
  623. package/dist/dispatch/registry.js +2833 -0
  624. package/dist/dispatch/registry.js.map +1 -0
  625. package/dist/dispatch/types.d.ts +218 -0
  626. package/dist/dispatch/types.d.ts.map +1 -0
  627. package/dist/dispatch/types.js +25 -0
  628. package/dist/dispatch/types.js.map +1 -0
  629. package/dist/mcp/gateways/mutate.d.ts +146 -0
  630. package/dist/mcp/gateways/mutate.d.ts.map +1 -0
  631. package/dist/mcp/gateways/mutate.js +1016 -0
  632. package/dist/mcp/gateways/mutate.js.map +1 -0
  633. package/dist/mcp/gateways/query.d.ts +138 -0
  634. package/dist/mcp/gateways/query.d.ts.map +1 -0
  635. package/dist/mcp/gateways/query.js +186 -0
  636. package/dist/mcp/gateways/query.js.map +1 -0
  637. package/dist/mcp/index.d.ts +16 -0
  638. package/dist/mcp/index.d.ts.map +1 -0
  639. package/dist/mcp/index.js +16735 -14861
  640. package/dist/mcp/index.js.map +4 -4
  641. package/dist/mcp/lib/background-jobs.d.ts +86 -0
  642. package/dist/mcp/lib/background-jobs.d.ts.map +1 -0
  643. package/dist/mcp/lib/background-jobs.js +183 -0
  644. package/dist/mcp/lib/background-jobs.js.map +1 -0
  645. package/dist/mcp/lib/budget.d.ts +35 -0
  646. package/dist/mcp/lib/budget.d.ts.map +1 -0
  647. package/dist/mcp/lib/budget.js +102 -0
  648. package/dist/mcp/lib/budget.js.map +1 -0
  649. package/dist/mcp/lib/cache.d.ts +78 -0
  650. package/dist/mcp/lib/cache.d.ts.map +1 -0
  651. package/dist/mcp/lib/cache.js +207 -0
  652. package/dist/mcp/lib/cache.js.map +1 -0
  653. package/dist/mcp/lib/config.d.ts +42 -0
  654. package/dist/mcp/lib/config.d.ts.map +1 -0
  655. package/dist/mcp/lib/config.js +241 -0
  656. package/dist/mcp/lib/config.js.map +1 -0
  657. package/dist/mcp/lib/defaults.d.ts +115 -0
  658. package/dist/mcp/lib/defaults.d.ts.map +1 -0
  659. package/dist/mcp/lib/defaults.js +61 -0
  660. package/dist/mcp/lib/defaults.js.map +1 -0
  661. package/dist/mcp/lib/gate-validators.d.ts +13 -0
  662. package/dist/mcp/lib/gate-validators.d.ts.map +1 -0
  663. package/dist/mcp/lib/gate-validators.js +13 -0
  664. package/dist/mcp/lib/gate-validators.js.map +1 -0
  665. package/dist/mcp/lib/gateway-meta.d.ts +37 -0
  666. package/dist/mcp/lib/gateway-meta.d.ts.map +1 -0
  667. package/dist/mcp/lib/gateway-meta.js +50 -0
  668. package/dist/mcp/lib/gateway-meta.js.map +1 -0
  669. package/dist/mcp/lib/job-manager-accessor.d.ts +10 -0
  670. package/dist/mcp/lib/job-manager-accessor.d.ts.map +1 -0
  671. package/dist/mcp/lib/job-manager-accessor.js +14 -0
  672. package/dist/mcp/lib/job-manager-accessor.js.map +1 -0
  673. package/dist/mcp/lib/protocol-enforcement.d.ts +12 -0
  674. package/dist/mcp/lib/protocol-enforcement.d.ts.map +1 -0
  675. package/dist/mcp/lib/protocol-enforcement.js +12 -0
  676. package/dist/mcp/lib/protocol-enforcement.js.map +1 -0
  677. package/dist/mcp/lib/protocol-rules.d.ts +12 -0
  678. package/dist/mcp/lib/protocol-rules.d.ts.map +1 -0
  679. package/dist/mcp/lib/protocol-rules.js +12 -0
  680. package/dist/mcp/lib/protocol-rules.js.map +1 -0
  681. package/dist/mcp/lib/rate-limiter.d.ts +110 -0
  682. package/dist/mcp/lib/rate-limiter.d.ts.map +1 -0
  683. package/dist/mcp/lib/rate-limiter.js +208 -0
  684. package/dist/mcp/lib/rate-limiter.js.map +1 -0
  685. package/dist/mcp/lib/router.d.ts +58 -0
  686. package/dist/mcp/lib/router.d.ts.map +1 -0
  687. package/dist/mcp/lib/router.js +12 -0
  688. package/dist/mcp/lib/router.js.map +1 -0
  689. package/dist/mcp/lib/security.d.ts +161 -0
  690. package/dist/mcp/lib/security.d.ts.map +1 -0
  691. package/dist/mcp/lib/security.js +360 -0
  692. package/dist/mcp/lib/security.js.map +1 -0
  693. package/dist/mcp/lib/verification-gates.d.ts +13 -0
  694. package/dist/mcp/lib/verification-gates.d.ts.map +1 -0
  695. package/dist/mcp/lib/verification-gates.js +12 -0
  696. package/dist/mcp/lib/verification-gates.js.map +1 -0
  697. package/dist/mcp/resources/budget.d.ts +22 -0
  698. package/dist/mcp/resources/budget.d.ts.map +1 -0
  699. package/dist/mcp/resources/budget.js +46 -0
  700. package/dist/mcp/resources/budget.js.map +1 -0
  701. package/dist/mcp/resources/index.d.ts +53 -0
  702. package/dist/mcp/resources/index.d.ts.map +1 -0
  703. package/dist/mcp/resources/index.js +278 -0
  704. package/dist/mcp/resources/index.js.map +1 -0
  705. package/package.json +3 -3
@@ -0,0 +1,306 @@
1
+ /**
2
+ * Human-readable renderers for task-related CLI commands.
3
+ *
4
+ * Each renderer takes the same data shape that would be passed to formatSuccess()
5
+ * and returns a string suitable for terminal display.
6
+ *
7
+ * @task T4666
8
+ * @epic T4663
9
+ */
10
+ import { BOLD, BOX, DIM, GREEN, hRule, NC, priorityColor, prioritySymbol, RED, shortDate, statusColor, statusSymbol, YELLOW, } from './colors.js';
11
+ // ---------------------------------------------------------------------------
12
+ // show: single task detail
13
+ // ---------------------------------------------------------------------------
14
+ /** Render a single task in a box format (mirrors bash display_text). */
15
+ export function renderShow(data, quiet) {
16
+ const task = data['task'];
17
+ if (!task)
18
+ return 'No task found.';
19
+ if (quiet)
20
+ return renderShowQuiet(task);
21
+ return renderShowFull(task);
22
+ }
23
+ function renderShowQuiet(task) {
24
+ const sym = statusSymbol(task.status);
25
+ const pLabel = `[${task.priority}]`;
26
+ return `${task.id} ${sym} ${task.title} ${pLabel}\nStatus: ${task.status}`;
27
+ }
28
+ function renderShowFull(task) {
29
+ const lines = [];
30
+ const w = 65;
31
+ const hr = hRule(w);
32
+ const pCol = priorityColor(task.priority);
33
+ const sym = statusSymbol(task.status);
34
+ // Header box
35
+ lines.push('');
36
+ lines.push(`${BOX.tl}${hr}${BOX.tr}`);
37
+ lines.push(`${BOX.v} ${BOLD}${task.id}${NC} ${sym} ${pCol}[${task.priority}]${NC}`);
38
+ lines.push(`${BOX.v} ${task.title}`);
39
+ lines.push(`${BOX.ml}${hr}${BOX.mr}`);
40
+ // Core fields
41
+ lines.push(`${BOX.v} ${DIM}Status:${NC} ${task.status}`);
42
+ lines.push(`${BOX.v} ${DIM}Priority:${NC} ${task.priority}`);
43
+ if (task.type)
44
+ lines.push(`${BOX.v} ${DIM}Type:${NC} ${task.type}`);
45
+ if (task.phase)
46
+ lines.push(`${BOX.v} ${DIM}Phase:${NC} ${task.phase}`);
47
+ if (task.size)
48
+ lines.push(`${BOX.v} ${DIM}Size:${NC} ${task.size}`);
49
+ if (task.labels?.length)
50
+ lines.push(`${BOX.v} ${DIM}Labels:${NC} ${task.labels.join(', ')}`);
51
+ if (task.parentId)
52
+ lines.push(`${BOX.v} ${DIM}Parent:${NC} ${task.parentId}`);
53
+ const created = shortDate(task.createdAt);
54
+ if (created)
55
+ lines.push(`${BOX.v} ${DIM}Created:${NC} ${created}`);
56
+ const completed = shortDate(task.completedAt);
57
+ if (completed)
58
+ lines.push(`${BOX.v} ${DIM}Completed:${NC} ${completed}`);
59
+ // Description
60
+ if (task.description) {
61
+ lines.push(`${BOX.ml}${hr}${BOX.mr}`);
62
+ lines.push(`${BOX.v} ${BOLD}Description${NC}`);
63
+ for (const line of task.description.split('\n')) {
64
+ lines.push(`${BOX.v} ${line}`);
65
+ }
66
+ }
67
+ // Dependencies
68
+ if (task.depends?.length) {
69
+ lines.push(`${BOX.ml}${hr}${BOX.mr}`);
70
+ lines.push(`${BOX.v} ${BOLD}Depends On${NC}`);
71
+ lines.push(`${BOX.v} ${task.depends.join(', ')}`);
72
+ }
73
+ // Blocked by
74
+ if (task.blockedBy) {
75
+ lines.push(`${BOX.v} ${BOLD}Blocked By${NC}`);
76
+ lines.push(`${BOX.v} ${RED}${task.blockedBy}${NC}`);
77
+ }
78
+ // Notes
79
+ if (task.notes?.length) {
80
+ lines.push(`${BOX.ml}${hr}${BOX.mr}`);
81
+ lines.push(`${BOX.v} ${BOLD}Notes${NC} (${task.notes.length})`);
82
+ const shown = task.notes.slice(-5);
83
+ for (const note of shown) {
84
+ const short = note.length > 58 ? note.slice(0, 55) + '...' : note;
85
+ lines.push(`${BOX.v} \u2022 ${short}`);
86
+ }
87
+ if (task.notes.length > 5) {
88
+ lines.push(`${BOX.v} ${DIM}... and ${task.notes.length - 5} more${NC}`);
89
+ }
90
+ }
91
+ // Files
92
+ if (task.files?.length) {
93
+ lines.push(`${BOX.ml}${hr}${BOX.mr}`);
94
+ lines.push(`${BOX.v} ${BOLD}Files${NC}`);
95
+ lines.push(`${BOX.v} ${task.files.join(', ')}`);
96
+ }
97
+ // Acceptance criteria
98
+ if (task.acceptance?.length) {
99
+ lines.push(`${BOX.ml}${hr}${BOX.mr}`);
100
+ lines.push(`${BOX.v} ${BOLD}Acceptance Criteria${NC}`);
101
+ for (const criterion of task.acceptance) {
102
+ lines.push(`${BOX.v} \u2610 ${criterion}`);
103
+ }
104
+ }
105
+ // Footer
106
+ lines.push(`${BOX.bl}${hr}${BOX.br}`);
107
+ lines.push('');
108
+ return lines.join('\n');
109
+ }
110
+ // ---------------------------------------------------------------------------
111
+ // list: task list
112
+ // ---------------------------------------------------------------------------
113
+ /** Render a list of tasks (mirrors bash list.sh text output). */
114
+ export function renderList(data, quiet) {
115
+ const tasks = data['tasks'] ?? [];
116
+ const total = data['total'] ?? tasks.length;
117
+ if (tasks.length === 0) {
118
+ return quiet ? '' : 'No tasks found.';
119
+ }
120
+ if (quiet) {
121
+ return tasks.map((t) => `${t.id} ${statusSymbol(t.status)} ${t.title}`).join('\n');
122
+ }
123
+ const lines = [];
124
+ // Group by priority
125
+ const groups = { critical: [], high: [], medium: [], low: [] };
126
+ for (const t of tasks) {
127
+ const key = t.priority ?? 'medium';
128
+ if (!groups[key])
129
+ groups[key] = [];
130
+ groups[key].push(t);
131
+ }
132
+ for (const prio of ['critical', 'high', 'medium', 'low']) {
133
+ const group = groups[prio];
134
+ if (!group || group.length === 0)
135
+ continue;
136
+ const pSym = prioritySymbol(prio);
137
+ const pCol = priorityColor(prio);
138
+ lines.push('');
139
+ lines.push(`${pCol}${pSym} ${prio.toUpperCase()} (${group.length})${NC}`);
140
+ for (const t of group) {
141
+ const sCol = statusColor(t.status);
142
+ const sSym = statusSymbol(t.status);
143
+ lines.push(` ${BOLD}${t.id}${NC} ${sCol}${sSym} ${t.status}${NC}`);
144
+ lines.push(` ${BOLD}${t.title}${NC}`);
145
+ if (t.labels?.length) {
146
+ lines.push(` ${DIM}# ${t.labels.join(', ')}${NC}`);
147
+ }
148
+ }
149
+ }
150
+ lines.push('');
151
+ lines.push(`${DIM}${hRule(40)}${NC}`);
152
+ lines.push(`Total: ${total} tasks`);
153
+ return lines.join('\n');
154
+ }
155
+ // ---------------------------------------------------------------------------
156
+ // find: search results
157
+ // ---------------------------------------------------------------------------
158
+ /** Render search results. */
159
+ export function renderFind(data, quiet) {
160
+ const results = data['results'] ?? [];
161
+ const total = data['total'] ?? results.length;
162
+ if (results.length === 0) {
163
+ return quiet ? '' : 'No matching tasks found.';
164
+ }
165
+ if (quiet) {
166
+ return results.map((t) => `${t.id} ${t.title}`).join('\n');
167
+ }
168
+ const lines = [];
169
+ lines.push(`${BOLD}Found ${total} result${total !== 1 ? 's' : ''}${NC}`);
170
+ lines.push('');
171
+ for (const t of results) {
172
+ const sCol = statusColor(t.status);
173
+ const sSym = statusSymbol(t.status);
174
+ const pCol = priorityColor(t.priority);
175
+ lines.push(` ${BOLD}${t.id}${NC} ${sCol}${sSym}${NC} ${pCol}[${t.priority}]${NC} ${t.title}`);
176
+ if (t.description) {
177
+ const short = t.description.length > 60 ? t.description.slice(0, 57) + '...' : t.description;
178
+ lines.push(` ${DIM}${short}${NC}`);
179
+ }
180
+ }
181
+ return lines.join('\n');
182
+ }
183
+ // ---------------------------------------------------------------------------
184
+ // add: task created
185
+ // ---------------------------------------------------------------------------
186
+ /** Render add result. */
187
+ export function renderAdd(data, quiet) {
188
+ const task = data['task'];
189
+ const duplicate = data['duplicate'];
190
+ const dryRun = data['dryRun'];
191
+ if (!task)
192
+ return 'No task created.';
193
+ if (quiet)
194
+ return task.id;
195
+ const prefix = dryRun
196
+ ? `${YELLOW}[DRY RUN]${NC} Would create:`
197
+ : duplicate
198
+ ? `${YELLOW}[DUPLICATE]${NC} Created:`
199
+ : `${GREEN}Created:${NC}`;
200
+ return `${prefix} ${BOLD}${task.id}${NC} ${task.title} [${task.priority}]`;
201
+ }
202
+ // ---------------------------------------------------------------------------
203
+ // update: task updated
204
+ // ---------------------------------------------------------------------------
205
+ /** Render update result. */
206
+ export function renderUpdate(data, quiet) {
207
+ const task = data['task'];
208
+ const changes = data['changes'];
209
+ if (!task)
210
+ return 'No task updated.';
211
+ if (quiet)
212
+ return task.id;
213
+ const lines = [];
214
+ lines.push(`${GREEN}Updated:${NC} ${BOLD}${task.id}${NC} ${task.title}`);
215
+ if (Array.isArray(changes) && changes.length > 0) {
216
+ lines.push(` ${DIM}Changed:${NC} ${changes.join(', ')}`);
217
+ }
218
+ else if (changes && typeof changes === 'object' && Object.keys(changes).length > 0) {
219
+ for (const [key, val] of Object.entries(changes)) {
220
+ lines.push(` ${DIM}${key}:${NC} ${String(val)}`);
221
+ }
222
+ }
223
+ return lines.join('\n');
224
+ }
225
+ // ---------------------------------------------------------------------------
226
+ // complete: task completed
227
+ // ---------------------------------------------------------------------------
228
+ /** Render complete result. */
229
+ export function renderComplete(data, quiet) {
230
+ const task = data['task'];
231
+ const autoCompleted = data['autoCompleted'];
232
+ if (!task)
233
+ return 'No task completed.';
234
+ if (quiet)
235
+ return task.id;
236
+ const lines = [];
237
+ lines.push(`${GREEN}\u2713 Completed:${NC} ${BOLD}${task.id}${NC} ${task.title}`);
238
+ if (autoCompleted?.length) {
239
+ lines.push(` ${DIM}Auto-completed ${autoCompleted.length} child task${autoCompleted.length > 1 ? 's' : ''}:${NC}`);
240
+ for (const child of autoCompleted) {
241
+ lines.push(` ${child.id} ${child.title}`);
242
+ }
243
+ }
244
+ return lines.join('\n');
245
+ }
246
+ // ---------------------------------------------------------------------------
247
+ // delete: task deleted
248
+ // ---------------------------------------------------------------------------
249
+ /** Render delete result. */
250
+ export function renderDelete(data, quiet) {
251
+ const deletedTask = data['deletedTask'];
252
+ const cascadeDeleted = data['cascadeDeleted'];
253
+ if (!deletedTask)
254
+ return 'No task deleted.';
255
+ if (quiet)
256
+ return deletedTask.id;
257
+ const lines = [];
258
+ lines.push(`${RED}\u2717 Deleted:${NC} ${BOLD}${deletedTask.id}${NC} ${deletedTask.title}`);
259
+ if (cascadeDeleted?.length) {
260
+ lines.push(` ${DIM}Cascade-deleted ${cascadeDeleted.length} child task${cascadeDeleted.length > 1 ? 's' : ''}:${NC}`);
261
+ for (const child of cascadeDeleted) {
262
+ lines.push(` ${child.id} ${child.title}`);
263
+ }
264
+ }
265
+ return lines.join('\n');
266
+ }
267
+ // ---------------------------------------------------------------------------
268
+ // archive: tasks archived
269
+ // ---------------------------------------------------------------------------
270
+ /** Render archive result. */
271
+ export function renderArchive(data, quiet) {
272
+ const count = data['archivedCount'];
273
+ const dryRun = data['dryRun'];
274
+ const tasks = data['archivedTasks'];
275
+ if (quiet)
276
+ return String(count ?? 0);
277
+ if (dryRun) {
278
+ return `${YELLOW}[DRY RUN]${NC} Would archive ${count ?? 0} task${count !== 1 ? 's' : ''}`;
279
+ }
280
+ const lines = [];
281
+ lines.push(`${GREEN}Archived ${count ?? 0} task${count !== 1 ? 's' : ''}${NC}`);
282
+ if (tasks?.length) {
283
+ for (const t of tasks.slice(0, 10)) {
284
+ lines.push(` ${t.id} ${t.title}`);
285
+ }
286
+ if (tasks.length > 10) {
287
+ lines.push(` ${DIM}... and ${tasks.length - 10} more${NC}`);
288
+ }
289
+ }
290
+ return lines.join('\n');
291
+ }
292
+ // ---------------------------------------------------------------------------
293
+ // restore: task restored
294
+ // ---------------------------------------------------------------------------
295
+ /** Render restore result. */
296
+ export function renderRestore(data, quiet) {
297
+ const task = data['task'];
298
+ const restoredTask = data['restoredTask'];
299
+ const t = task ?? restoredTask;
300
+ if (!t)
301
+ return 'No task restored.';
302
+ if (quiet)
303
+ return t.id;
304
+ return `${GREEN}Restored:${NC} ${BOLD}${t.id}${NC} ${t.title}`;
305
+ }
306
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/cli/renderers/tasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * CLI Adapter for the CQRS Dispatch Layer.
3
+ *
4
+ * Provides dispatchFromCli() — the single entry point for all CLI commands
5
+ * that route through the dispatch pipeline. Also exports getCliDispatcher()
6
+ * for commands needing custom output handling.
7
+ *
8
+ * @epic T4820
9
+ * @task T4818
10
+ */
11
+ import { type CliOutputOptions } from '../../cli/renderers/index.js';
12
+ import { Dispatcher } from '../dispatcher.js';
13
+ import type { DispatchResponse, Gateway } from '../types.js';
14
+ /**
15
+ * Get or create the singleton CLI dispatcher.
16
+ *
17
+ * Creates a Dispatcher with all 9 domain handlers and sanitizer middleware.
18
+ * No rate limiter — CLI is a single-user tool.
19
+ */
20
+ export declare function getCliDispatcher(): Dispatcher;
21
+ /**
22
+ * Factory: creates a Dispatcher with all domain handlers + session-resolver,
23
+ * sanitizer, field-filter, and audit middleware.
24
+ *
25
+ * @epic T4959 — added session-resolver + audit to CLI pipeline
26
+ */
27
+ export declare function createCliDispatcher(): Dispatcher;
28
+ /**
29
+ * Reset the singleton dispatcher (for testing).
30
+ */
31
+ export declare function resetCliDispatcher(): void;
32
+ /**
33
+ * Build a DispatchRequest, dispatch it, and handle output/errors.
34
+ *
35
+ * This is the primary entry point for migrated CLI commands:
36
+ * await dispatchFromCli('query', 'tasks', 'show', { taskId }, { command: 'show' });
37
+ *
38
+ * Automatically honors global --field/--fields/--mvi flags from the FieldContext:
39
+ * - --field <name> → plain-text extraction, no JSON envelope
40
+ * - --fields <list> → field-filter middleware filters the JSON response
41
+ * - --mvi <level> → envelope verbosity passed to field-filter middleware
42
+ *
43
+ * On success: calls cliOutput(response.data, outputOpts)
44
+ * On error: calls cliError(message, exitCode) + process.exit(exitCode)
45
+ *
46
+ * @epic T4953
47
+ * @task T4955
48
+ */
49
+ export declare function dispatchFromCli(gateway: Gateway, domain: string, operation: string, params?: Record<string, unknown>, outputOpts?: CliOutputOptions): Promise<void>;
50
+ /**
51
+ * Handle an error response from dispatchRaw().
52
+ *
53
+ * Calls cliError() and process.exit() when the response indicates failure.
54
+ * No-op when response.success is true.
55
+ */
56
+ export declare function handleRawError(response: DispatchResponse, _opts: {
57
+ command: string;
58
+ operation: string;
59
+ }): void;
60
+ /**
61
+ * Dispatch and return the raw response without handling output.
62
+ *
63
+ * For commands that need custom output logic (pagination, conditional
64
+ * messages, etc.), call this instead of dispatchFromCli().
65
+ */
66
+ export declare function dispatchRaw(gateway: Gateway, domain: string, operation: string, params?: Record<string, unknown>): Promise<DispatchResponse>;
67
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/dispatch/adapters/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAsC7D;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAK7C;AAmBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,UAAU,CAWhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5C,IAAI,CAUN;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAU3B"}
@@ -0,0 +1,205 @@
1
+ /**
2
+ * CLI Adapter for the CQRS Dispatch Layer.
3
+ *
4
+ * Provides dispatchFromCli() — the single entry point for all CLI commands
5
+ * that route through the dispatch pipeline. Also exports getCliDispatcher()
6
+ * for commands needing custom output handling.
7
+ *
8
+ * @epic T4820
9
+ * @task T4818
10
+ */
11
+ import { randomUUID } from 'node:crypto';
12
+ import { autoRecordDispatchTokenUsage, getProjectRoot } from '@cleocode/core/internal';
13
+ import { cliError, cliOutput } from '../../cli/renderers/index.js';
14
+ import { Dispatcher } from '../dispatcher.js';
15
+ import { createDomainHandlers } from '../domains/index.js';
16
+ import { createAudit } from '../middleware/audit.js';
17
+ import { createFieldFilter } from '../middleware/field-filter.js';
18
+ import { createSanitizer } from '../middleware/sanitizer.js';
19
+ import { createSessionResolver } from '../middleware/session-resolver.js';
20
+ // Reverse mapping from string error codes to numeric exit codes.
21
+ // Used when dispatch handlers return string error codes without exitCode.
22
+ const ERROR_CODE_TO_EXIT = {
23
+ E_NOT_FOUND: 4,
24
+ E_INVALID_INPUT: 2,
25
+ E_FILE_ERROR: 3,
26
+ E_DEPENDENCY: 5,
27
+ E_VALIDATION: 6,
28
+ E_RETRYABLE: 7,
29
+ E_CONFIG_ERROR: 8,
30
+ E_PARENT_NOT_FOUND: 10,
31
+ E_DEPTH_EXCEEDED: 11,
32
+ E_SIBLING_LIMIT: 12,
33
+ E_CIRCULAR_DEP: 14,
34
+ E_INVALID_PARENT_TYPE: 13,
35
+ E_ORPHAN_DETECTED: 15,
36
+ E_HAS_CHILDREN: 16,
37
+ E_TASK_COMPLETED: 104,
38
+ E_HAS_DEPENDENTS: 19,
39
+ E_CHECKSUM_MISMATCH: 20,
40
+ E_SESSION_EXISTS: 30,
41
+ E_SESSION_NOT_FOUND: 31,
42
+ E_SCOPE_CONFLICT: 32,
43
+ E_ACTIVE_TASK_REQUIRED: 38,
44
+ E_INVALID_OPERATION: 2,
45
+ E_MISSING_PARAMS: 2,
46
+ E_NO_HANDLER: 1,
47
+ E_INTERNAL: 1,
48
+ };
49
+ // ---------------------------------------------------------------------------
50
+ // Lazy singleton dispatcher
51
+ // ---------------------------------------------------------------------------
52
+ let _dispatcher = null;
53
+ /**
54
+ * Get or create the singleton CLI dispatcher.
55
+ *
56
+ * Creates a Dispatcher with all 9 domain handlers and sanitizer middleware.
57
+ * No rate limiter — CLI is a single-user tool.
58
+ */
59
+ export function getCliDispatcher() {
60
+ if (!_dispatcher) {
61
+ _dispatcher = createCliDispatcher();
62
+ }
63
+ return _dispatcher;
64
+ }
65
+ /**
66
+ * Best-effort lookup of the active session ID from SQLite.
67
+ * Used by session-resolver middleware for CLI commands.
68
+ * Returns null on any failure (many CLI commands don't need a session).
69
+ *
70
+ * @epic T4959
71
+ */
72
+ async function lookupCliSession() {
73
+ try {
74
+ const { getActiveSession } = await import('@cleocode/core/internal');
75
+ const session = await getActiveSession();
76
+ return session?.id ?? null;
77
+ }
78
+ catch {
79
+ return null;
80
+ }
81
+ }
82
+ /**
83
+ * Factory: creates a Dispatcher with all domain handlers + session-resolver,
84
+ * sanitizer, field-filter, and audit middleware.
85
+ *
86
+ * @epic T4959 — added session-resolver + audit to CLI pipeline
87
+ */
88
+ export function createCliDispatcher() {
89
+ const handlers = createDomainHandlers();
90
+ return new Dispatcher({
91
+ handlers,
92
+ middlewares: [
93
+ createSessionResolver(lookupCliSession), // T4959: session identity first
94
+ createSanitizer(() => getProjectRoot()),
95
+ createFieldFilter(),
96
+ createAudit(), // T4959: CLI now gets audit trail
97
+ ],
98
+ });
99
+ }
100
+ /**
101
+ * Reset the singleton dispatcher (for testing).
102
+ */
103
+ export function resetCliDispatcher() {
104
+ _dispatcher = null;
105
+ }
106
+ // ---------------------------------------------------------------------------
107
+ // Main adapter function
108
+ // ---------------------------------------------------------------------------
109
+ /**
110
+ * Build a DispatchRequest, dispatch it, and handle output/errors.
111
+ *
112
+ * This is the primary entry point for migrated CLI commands:
113
+ * await dispatchFromCli('query', 'tasks', 'show', { taskId }, { command: 'show' });
114
+ *
115
+ * Automatically honors global --field/--fields/--mvi flags from the FieldContext:
116
+ * - --field <name> → plain-text extraction, no JSON envelope
117
+ * - --fields <list> → field-filter middleware filters the JSON response
118
+ * - --mvi <level> → envelope verbosity passed to field-filter middleware
119
+ *
120
+ * On success: calls cliOutput(response.data, outputOpts)
121
+ * On error: calls cliError(message, exitCode) + process.exit(exitCode)
122
+ *
123
+ * @epic T4953
124
+ * @task T4955
125
+ */
126
+ export async function dispatchFromCli(gateway, domain, operation, params, outputOpts) {
127
+ const dispatcher = getCliDispatcher();
128
+ const response = await dispatcher.dispatch({
129
+ gateway,
130
+ domain,
131
+ operation,
132
+ params,
133
+ source: 'cli',
134
+ requestId: randomUUID(),
135
+ });
136
+ if (response.success) {
137
+ await autoRecordDispatchTokenUsage({
138
+ requestPayload: params,
139
+ responsePayload: { data: response.data, page: response.page },
140
+ transport: 'cli',
141
+ gateway,
142
+ domain,
143
+ operation,
144
+ sessionId: response._meta.sessionId,
145
+ requestId: response._meta.requestId,
146
+ cwd: getProjectRoot(),
147
+ });
148
+ const opts = {
149
+ command: outputOpts?.command ?? operation,
150
+ operation: outputOpts?.operation ?? `${domain}.${operation}`,
151
+ ...outputOpts,
152
+ };
153
+ if (opts.page === undefined && response.page !== undefined) {
154
+ opts.page = response.page;
155
+ }
156
+ cliOutput(response.data, opts);
157
+ }
158
+ else {
159
+ // Derive exit code from the string error code when exitCode is not set
160
+ const errorCode = response.error?.code ?? 'E_GENERAL';
161
+ const exitCode = response.error?.exitCode ?? ERROR_CODE_TO_EXIT[errorCode] ?? 1;
162
+ cliError(response.error?.message ?? 'Unknown error', exitCode, {
163
+ name: errorCode,
164
+ details: response.error?.details,
165
+ fix: response.error?.fix,
166
+ });
167
+ process.exit(exitCode);
168
+ }
169
+ }
170
+ /**
171
+ * Handle an error response from dispatchRaw().
172
+ *
173
+ * Calls cliError() and process.exit() when the response indicates failure.
174
+ * No-op when response.success is true.
175
+ */
176
+ export function handleRawError(response, _opts) {
177
+ if (response.success)
178
+ return;
179
+ const errorCode = response.error?.code ?? 'E_GENERAL';
180
+ const exitCode = response.error?.exitCode ?? ERROR_CODE_TO_EXIT[errorCode] ?? 1;
181
+ cliError(response.error?.message ?? 'Unknown error', exitCode, {
182
+ name: errorCode,
183
+ details: response.error?.details,
184
+ fix: response.error?.fix,
185
+ });
186
+ process.exit(exitCode);
187
+ }
188
+ /**
189
+ * Dispatch and return the raw response without handling output.
190
+ *
191
+ * For commands that need custom output logic (pagination, conditional
192
+ * messages, etc.), call this instead of dispatchFromCli().
193
+ */
194
+ export async function dispatchRaw(gateway, domain, operation, params) {
195
+ const dispatcher = getCliDispatcher();
196
+ return dispatcher.dispatch({
197
+ gateway,
198
+ domain,
199
+ operation,
200
+ params,
201
+ source: 'cli',
202
+ requestId: randomUUID(),
203
+ });
204
+ }
205
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/dispatch/adapters/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * MCP Adapter for the CQRS Dispatch Layer.
3
+ *
4
+ * Provides handleMcpToolCall() — the single entry point for MCP requests
5
+ * that route through the dispatch pipeline.
6
+ *
7
+ * @epic T4820
8
+ * @task T4819
9
+ */
10
+ import type { RateLimitingConfig } from '../../mcp/lib/rate-limiter.js';
11
+ import { Dispatcher } from '../dispatcher.js';
12
+ import type { DispatchResponse } from '../types.js';
13
+ export interface McpDispatcherConfig {
14
+ rateLimiting?: Partial<RateLimitingConfig>;
15
+ strictMode?: boolean;
16
+ }
17
+ /**
18
+ * Initialize and get the singleton MCP dispatcher.
19
+ */
20
+ export declare function initMcpDispatcher(config?: McpDispatcherConfig): Dispatcher;
21
+ /**
22
+ * Get the initialized singleton MCP dispatcher.
23
+ */
24
+ export declare function getMcpDispatcher(): Dispatcher;
25
+ /**
26
+ * Reset the singleton dispatcher (for testing).
27
+ */
28
+ export declare function resetMcpDispatcher(): void;
29
+ /**
30
+ * Handle an MCP tool call (query or mutate).
31
+ *
32
+ * Translates the MCP parameters into a DispatchRequest, executes it
33
+ * through the dispatcher, and formats the response back to the standard
34
+ * MCP SDK format.
35
+ */
36
+ export declare function handleMcpToolCall(gateway: string, domain: string, operation: string, params?: Record<string, unknown>, requestId?: string): Promise<DispatchResponse>;
37
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/dispatch/adapters/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAU9C,OAAO,KAAK,EAAmB,gBAAgB,EAAW,MAAM,aAAa,CAAC;AAE9E,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,mBAAwB,GAAG,UAAU,CAqB9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAK7C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CA6D3B"}