@cleocode/cleo 2026.3.37 → 2026.3.39

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 (724) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +565 -0
  3. package/bin/postinstall.js +0 -0
  4. package/completions/bash-completion.sh +0 -0
  5. package/completions/zsh-completion.zsh +0 -0
  6. package/dist/cli/index.js +3507 -3631
  7. package/dist/cli/index.js.map +4 -4
  8. package/dist/mcp/index.js +3311 -3215
  9. package/dist/mcp/index.js.map +4 -4
  10. package/migrations/drizzle-brain/20260318205549_initial/migration.sql +0 -0
  11. package/migrations/drizzle-brain/20260318205549_initial/snapshot.json +0 -0
  12. package/migrations/drizzle-nexus/20260318205558_initial/migration.sql +0 -0
  13. package/migrations/drizzle-nexus/20260318205558_initial/snapshot.json +0 -0
  14. package/migrations/drizzle-tasks/20260318205539_initial/migration.sql +0 -0
  15. package/migrations/drizzle-tasks/20260318205539_initial/snapshot.json +0 -0
  16. package/package.json +17 -12
  17. package/dist/cli/commander-shim.d.ts +0 -108
  18. package/dist/cli/commander-shim.d.ts.map +0 -1
  19. package/dist/cli/commander-shim.js +0 -229
  20. package/dist/cli/commander-shim.js.map +0 -1
  21. package/dist/cli/commands/add.d.ts +0 -12
  22. package/dist/cli/commands/add.d.ts.map +0 -1
  23. package/dist/cli/commands/add.js +0 -91
  24. package/dist/cli/commands/add.js.map +0 -1
  25. package/dist/cli/commands/adr.d.ts +0 -27
  26. package/dist/cli/commands/adr.d.ts.map +0 -1
  27. package/dist/cli/commands/adr.js +0 -79
  28. package/dist/cli/commands/adr.js.map +0 -1
  29. package/dist/cli/commands/analyze.d.ts +0 -12
  30. package/dist/cli/commands/analyze.d.ts.map +0 -1
  31. package/dist/cli/commands/analyze.js +0 -20
  32. package/dist/cli/commands/analyze.js.map +0 -1
  33. package/dist/cli/commands/archive-stats.d.ts +0 -18
  34. package/dist/cli/commands/archive-stats.d.ts.map +0 -1
  35. package/dist/cli/commands/archive-stats.js +0 -49
  36. package/dist/cli/commands/archive-stats.js.map +0 -1
  37. package/dist/cli/commands/archive.d.ts +0 -12
  38. package/dist/cli/commands/archive.d.ts.map +0 -1
  39. package/dist/cli/commands/archive.js +0 -32
  40. package/dist/cli/commands/archive.js.map +0 -1
  41. package/dist/cli/commands/backup.d.ts +0 -8
  42. package/dist/cli/commands/backup.d.ts.map +0 -1
  43. package/dist/cli/commands/backup.js +0 -35
  44. package/dist/cli/commands/backup.js.map +0 -1
  45. package/dist/cli/commands/blockers.d.ts +0 -7
  46. package/dist/cli/commands/blockers.d.ts.map +0 -1
  47. package/dist/cli/commands/blockers.js +0 -16
  48. package/dist/cli/commands/blockers.js.map +0 -1
  49. package/dist/cli/commands/briefing.d.ts +0 -22
  50. package/dist/cli/commands/briefing.d.ts.map +0 -1
  51. package/dist/cli/commands/briefing.js +0 -45
  52. package/dist/cli/commands/briefing.js.map +0 -1
  53. package/dist/cli/commands/bug.d.ts +0 -12
  54. package/dist/cli/commands/bug.d.ts.map +0 -1
  55. package/dist/cli/commands/bug.js +0 -81
  56. package/dist/cli/commands/bug.js.map +0 -1
  57. package/dist/cli/commands/checkpoint.d.ts +0 -15
  58. package/dist/cli/commands/checkpoint.d.ts.map +0 -1
  59. package/dist/cli/commands/checkpoint.js +0 -92
  60. package/dist/cli/commands/checkpoint.js.map +0 -1
  61. package/dist/cli/commands/commands.d.ts +0 -13
  62. package/dist/cli/commands/commands.d.ts.map +0 -1
  63. package/dist/cli/commands/commands.js +0 -30
  64. package/dist/cli/commands/commands.js.map +0 -1
  65. package/dist/cli/commands/complete.d.ts +0 -12
  66. package/dist/cli/commands/complete.d.ts.map +0 -1
  67. package/dist/cli/commands/complete.js +0 -43
  68. package/dist/cli/commands/complete.js.map +0 -1
  69. package/dist/cli/commands/compliance.d.ts +0 -8
  70. package/dist/cli/commands/compliance.d.ts.map +0 -1
  71. package/dist/cli/commands/compliance.js +0 -85
  72. package/dist/cli/commands/compliance.js.map +0 -1
  73. package/dist/cli/commands/config.d.ts +0 -9
  74. package/dist/cli/commands/config.d.ts.map +0 -1
  75. package/dist/cli/commands/config.js +0 -43
  76. package/dist/cli/commands/config.js.map +0 -1
  77. package/dist/cli/commands/consensus.d.ts +0 -13
  78. package/dist/cli/commands/consensus.d.ts.map +0 -1
  79. package/dist/cli/commands/consensus.js +0 -45
  80. package/dist/cli/commands/consensus.js.map +0 -1
  81. package/dist/cli/commands/context.d.ts +0 -8
  82. package/dist/cli/commands/context.d.ts.map +0 -1
  83. package/dist/cli/commands/context.js +0 -40
  84. package/dist/cli/commands/context.js.map +0 -1
  85. package/dist/cli/commands/contribution.d.ts +0 -13
  86. package/dist/cli/commands/contribution.d.ts.map +0 -1
  87. package/dist/cli/commands/contribution.js +0 -41
  88. package/dist/cli/commands/contribution.js.map +0 -1
  89. package/dist/cli/commands/current.d.ts +0 -13
  90. package/dist/cli/commands/current.d.ts.map +0 -1
  91. package/dist/cli/commands/current.js +0 -20
  92. package/dist/cli/commands/current.js.map +0 -1
  93. package/dist/cli/commands/dash.d.ts +0 -12
  94. package/dist/cli/commands/dash.d.ts.map +0 -1
  95. package/dist/cli/commands/dash.js +0 -24
  96. package/dist/cli/commands/dash.js.map +0 -1
  97. package/dist/cli/commands/decomposition.d.ts +0 -13
  98. package/dist/cli/commands/decomposition.d.ts.map +0 -1
  99. package/dist/cli/commands/decomposition.js +0 -45
  100. package/dist/cli/commands/decomposition.js.map +0 -1
  101. package/dist/cli/commands/delete.d.ts +0 -12
  102. package/dist/cli/commands/delete.d.ts.map +0 -1
  103. package/dist/cli/commands/delete.js +0 -37
  104. package/dist/cli/commands/delete.js.map +0 -1
  105. package/dist/cli/commands/deps.d.ts +0 -9
  106. package/dist/cli/commands/deps.d.ts.map +0 -1
  107. package/dist/cli/commands/deps.js +0 -73
  108. package/dist/cli/commands/deps.js.map +0 -1
  109. package/dist/cli/commands/detect-drift.d.ts +0 -15
  110. package/dist/cli/commands/detect-drift.d.ts.map +0 -1
  111. package/dist/cli/commands/detect-drift.js +0 -385
  112. package/dist/cli/commands/detect-drift.js.map +0 -1
  113. package/dist/cli/commands/docs.d.ts +0 -13
  114. package/dist/cli/commands/docs.d.ts.map +0 -1
  115. package/dist/cli/commands/docs.js +0 -170
  116. package/dist/cli/commands/docs.js.map +0 -1
  117. package/dist/cli/commands/doctor.d.ts +0 -11
  118. package/dist/cli/commands/doctor.d.ts.map +0 -1
  119. package/dist/cli/commands/doctor.js +0 -54
  120. package/dist/cli/commands/doctor.js.map +0 -1
  121. package/dist/cli/commands/dynamic.d.ts +0 -24
  122. package/dist/cli/commands/dynamic.d.ts.map +0 -1
  123. package/dist/cli/commands/dynamic.js +0 -27
  124. package/dist/cli/commands/dynamic.js.map +0 -1
  125. package/dist/cli/commands/env.d.ts +0 -12
  126. package/dist/cli/commands/env.d.ts.map +0 -1
  127. package/dist/cli/commands/env.js +0 -44
  128. package/dist/cli/commands/env.js.map +0 -1
  129. package/dist/cli/commands/exists.d.ts +0 -7
  130. package/dist/cli/commands/exists.d.ts.map +0 -1
  131. package/dist/cli/commands/exists.js +0 -33
  132. package/dist/cli/commands/exists.js.map +0 -1
  133. package/dist/cli/commands/export-tasks.d.ts +0 -10
  134. package/dist/cli/commands/export-tasks.d.ts.map +0 -1
  135. package/dist/cli/commands/export-tasks.js +0 -47
  136. package/dist/cli/commands/export-tasks.js.map +0 -1
  137. package/dist/cli/commands/export.d.ts +0 -9
  138. package/dist/cli/commands/export.d.ts.map +0 -1
  139. package/dist/cli/commands/export.js +0 -46
  140. package/dist/cli/commands/export.js.map +0 -1
  141. package/dist/cli/commands/extract.d.ts +0 -16
  142. package/dist/cli/commands/extract.d.ts.map +0 -1
  143. package/dist/cli/commands/extract.js +0 -43
  144. package/dist/cli/commands/extract.js.map +0 -1
  145. package/dist/cli/commands/find.d.ts +0 -14
  146. package/dist/cli/commands/find.d.ts.map +0 -1
  147. package/dist/cli/commands/find.js +0 -70
  148. package/dist/cli/commands/find.js.map +0 -1
  149. package/dist/cli/commands/generate-changelog.d.ts +0 -14
  150. package/dist/cli/commands/generate-changelog.d.ts.map +0 -1
  151. package/dist/cli/commands/generate-changelog.js +0 -252
  152. package/dist/cli/commands/generate-changelog.js.map +0 -1
  153. package/dist/cli/commands/grade.d.ts +0 -13
  154. package/dist/cli/commands/grade.d.ts.map +0 -1
  155. package/dist/cli/commands/grade.js +0 -16
  156. package/dist/cli/commands/grade.js.map +0 -1
  157. package/dist/cli/commands/history.d.ts +0 -9
  158. package/dist/cli/commands/history.d.ts.map +0 -1
  159. package/dist/cli/commands/history.js +0 -30
  160. package/dist/cli/commands/history.js.map +0 -1
  161. package/dist/cli/commands/implementation.d.ts +0 -13
  162. package/dist/cli/commands/implementation.d.ts.map +0 -1
  163. package/dist/cli/commands/implementation.js +0 -41
  164. package/dist/cli/commands/implementation.js.map +0 -1
  165. package/dist/cli/commands/import-tasks.d.ts +0 -10
  166. package/dist/cli/commands/import-tasks.d.ts.map +0 -1
  167. package/dist/cli/commands/import-tasks.js +0 -38
  168. package/dist/cli/commands/import-tasks.js.map +0 -1
  169. package/dist/cli/commands/import.d.ts +0 -9
  170. package/dist/cli/commands/import.d.ts.map +0 -1
  171. package/dist/cli/commands/import.js +0 -28
  172. package/dist/cli/commands/import.js.map +0 -1
  173. package/dist/cli/commands/init.d.ts +0 -34
  174. package/dist/cli/commands/init.d.ts.map +0 -1
  175. package/dist/cli/commands/init.js +0 -94
  176. package/dist/cli/commands/init.js.map +0 -1
  177. package/dist/cli/commands/inject.d.ts +0 -8
  178. package/dist/cli/commands/inject.d.ts.map +0 -1
  179. package/dist/cli/commands/inject.js +0 -28
  180. package/dist/cli/commands/inject.js.map +0 -1
  181. package/dist/cli/commands/install-global.d.ts +0 -19
  182. package/dist/cli/commands/install-global.d.ts.map +0 -1
  183. package/dist/cli/commands/install-global.js +0 -54
  184. package/dist/cli/commands/install-global.js.map +0 -1
  185. package/dist/cli/commands/issue.d.ts +0 -14
  186. package/dist/cli/commands/issue.d.ts.map +0 -1
  187. package/dist/cli/commands/issue.js +0 -105
  188. package/dist/cli/commands/issue.js.map +0 -1
  189. package/dist/cli/commands/labels.d.ts +0 -13
  190. package/dist/cli/commands/labels.d.ts.map +0 -1
  191. package/dist/cli/commands/labels.js +0 -44
  192. package/dist/cli/commands/labels.js.map +0 -1
  193. package/dist/cli/commands/lifecycle.d.ts +0 -8
  194. package/dist/cli/commands/lifecycle.d.ts.map +0 -1
  195. package/dist/cli/commands/lifecycle.js +0 -72
  196. package/dist/cli/commands/lifecycle.js.map +0 -1
  197. package/dist/cli/commands/list.d.ts +0 -14
  198. package/dist/cli/commands/list.d.ts.map +0 -1
  199. package/dist/cli/commands/list.js +0 -71
  200. package/dist/cli/commands/list.js.map +0 -1
  201. package/dist/cli/commands/log.d.ts +0 -12
  202. package/dist/cli/commands/log.d.ts.map +0 -1
  203. package/dist/cli/commands/log.js +0 -30
  204. package/dist/cli/commands/log.js.map +0 -1
  205. package/dist/cli/commands/map.d.ts +0 -10
  206. package/dist/cli/commands/map.d.ts.map +0 -1
  207. package/dist/cli/commands/map.js +0 -23
  208. package/dist/cli/commands/map.js.map +0 -1
  209. package/dist/cli/commands/mcp-install.d.ts +0 -17
  210. package/dist/cli/commands/mcp-install.d.ts.map +0 -1
  211. package/dist/cli/commands/mcp-install.js +0 -128
  212. package/dist/cli/commands/mcp-install.js.map +0 -1
  213. package/dist/cli/commands/memory-brain.d.ts +0 -14
  214. package/dist/cli/commands/memory-brain.d.ts.map +0 -1
  215. package/dist/cli/commands/memory-brain.js +0 -151
  216. package/dist/cli/commands/memory-brain.js.map +0 -1
  217. package/dist/cli/commands/migrate-claude-mem.d.ts +0 -18
  218. package/dist/cli/commands/migrate-claude-mem.d.ts.map +0 -1
  219. package/dist/cli/commands/migrate-claude-mem.js +0 -60
  220. package/dist/cli/commands/migrate-claude-mem.js.map +0 -1
  221. package/dist/cli/commands/next.d.ts +0 -9
  222. package/dist/cli/commands/next.d.ts.map +0 -1
  223. package/dist/cli/commands/next.js +0 -20
  224. package/dist/cli/commands/next.js.map +0 -1
  225. package/dist/cli/commands/nexus.d.ts +0 -16
  226. package/dist/cli/commands/nexus.d.ts.map +0 -1
  227. package/dist/cli/commands/nexus.js +0 -155
  228. package/dist/cli/commands/nexus.js.map +0 -1
  229. package/dist/cli/commands/observe.d.ts +0 -9
  230. package/dist/cli/commands/observe.d.ts.map +0 -1
  231. package/dist/cli/commands/observe.js +0 -39
  232. package/dist/cli/commands/observe.js.map +0 -1
  233. package/dist/cli/commands/ops.d.ts +0 -10
  234. package/dist/cli/commands/ops.d.ts.map +0 -1
  235. package/dist/cli/commands/ops.js +0 -19
  236. package/dist/cli/commands/ops.js.map +0 -1
  237. package/dist/cli/commands/orchestrate.d.ts +0 -8
  238. package/dist/cli/commands/orchestrate.d.ts.map +0 -1
  239. package/dist/cli/commands/orchestrate.js +0 -58
  240. package/dist/cli/commands/orchestrate.js.map +0 -1
  241. package/dist/cli/commands/otel.d.ts +0 -12
  242. package/dist/cli/commands/otel.d.ts.map +0 -1
  243. package/dist/cli/commands/otel.js +0 -128
  244. package/dist/cli/commands/otel.js.map +0 -1
  245. package/dist/cli/commands/phase.d.ts +0 -12
  246. package/dist/cli/commands/phase.d.ts.map +0 -1
  247. package/dist/cli/commands/phase.js +0 -88
  248. package/dist/cli/commands/phase.js.map +0 -1
  249. package/dist/cli/commands/phases.d.ts +0 -12
  250. package/dist/cli/commands/phases.d.ts.map +0 -1
  251. package/dist/cli/commands/phases.js +0 -37
  252. package/dist/cli/commands/phases.js.map +0 -1
  253. package/dist/cli/commands/plan.d.ts +0 -8
  254. package/dist/cli/commands/plan.d.ts.map +0 -1
  255. package/dist/cli/commands/plan.js +0 -15
  256. package/dist/cli/commands/plan.js.map +0 -1
  257. package/dist/cli/commands/promote.d.ts +0 -7
  258. package/dist/cli/commands/promote.d.ts.map +0 -1
  259. package/dist/cli/commands/promote.js +0 -15
  260. package/dist/cli/commands/promote.js.map +0 -1
  261. package/dist/cli/commands/refresh-memory.d.ts +0 -9
  262. package/dist/cli/commands/refresh-memory.d.ts.map +0 -1
  263. package/dist/cli/commands/refresh-memory.js +0 -24
  264. package/dist/cli/commands/refresh-memory.js.map +0 -1
  265. package/dist/cli/commands/relates.d.ts +0 -12
  266. package/dist/cli/commands/relates.d.ts.map +0 -1
  267. package/dist/cli/commands/relates.js +0 -53
  268. package/dist/cli/commands/relates.js.map +0 -1
  269. package/dist/cli/commands/release.d.ts +0 -8
  270. package/dist/cli/commands/release.d.ts.map +0 -1
  271. package/dist/cli/commands/release.js +0 -72
  272. package/dist/cli/commands/release.js.map +0 -1
  273. package/dist/cli/commands/remote.d.ts +0 -12
  274. package/dist/cli/commands/remote.d.ts.map +0 -1
  275. package/dist/cli/commands/remote.js +0 -207
  276. package/dist/cli/commands/remote.js.map +0 -1
  277. package/dist/cli/commands/reorder.d.ts +0 -7
  278. package/dist/cli/commands/reorder.d.ts.map +0 -1
  279. package/dist/cli/commands/reorder.js +0 -20
  280. package/dist/cli/commands/reorder.js.map +0 -1
  281. package/dist/cli/commands/reparent.d.ts +0 -10
  282. package/dist/cli/commands/reparent.d.ts.map +0 -1
  283. package/dist/cli/commands/reparent.js +0 -19
  284. package/dist/cli/commands/reparent.js.map +0 -1
  285. package/dist/cli/commands/research.d.ts +0 -8
  286. package/dist/cli/commands/research.d.ts.map +0 -1
  287. package/dist/cli/commands/research.js +0 -129
  288. package/dist/cli/commands/research.js.map +0 -1
  289. package/dist/cli/commands/restore.d.ts +0 -11
  290. package/dist/cli/commands/restore.d.ts.map +0 -1
  291. package/dist/cli/commands/restore.js +0 -225
  292. package/dist/cli/commands/restore.js.map +0 -1
  293. package/dist/cli/commands/roadmap.d.ts +0 -8
  294. package/dist/cli/commands/roadmap.d.ts.map +0 -1
  295. package/dist/cli/commands/roadmap.js +0 -21
  296. package/dist/cli/commands/roadmap.js.map +0 -1
  297. package/dist/cli/commands/safestop.d.ts +0 -14
  298. package/dist/cli/commands/safestop.d.ts.map +0 -1
  299. package/dist/cli/commands/safestop.js +0 -32
  300. package/dist/cli/commands/safestop.js.map +0 -1
  301. package/dist/cli/commands/self-update.d.ts +0 -15
  302. package/dist/cli/commands/self-update.d.ts.map +0 -1
  303. package/dist/cli/commands/self-update.js +0 -332
  304. package/dist/cli/commands/self-update.js.map +0 -1
  305. package/dist/cli/commands/sequence.d.ts +0 -8
  306. package/dist/cli/commands/sequence.d.ts.map +0 -1
  307. package/dist/cli/commands/sequence.js +0 -30
  308. package/dist/cli/commands/sequence.js.map +0 -1
  309. package/dist/cli/commands/session.d.ts +0 -12
  310. package/dist/cli/commands/session.d.ts.map +0 -1
  311. package/dist/cli/commands/session.js +0 -160
  312. package/dist/cli/commands/session.js.map +0 -1
  313. package/dist/cli/commands/show.d.ts +0 -13
  314. package/dist/cli/commands/show.d.ts.map +0 -1
  315. package/dist/cli/commands/show.js +0 -20
  316. package/dist/cli/commands/show.js.map +0 -1
  317. package/dist/cli/commands/skills.d.ts +0 -13
  318. package/dist/cli/commands/skills.d.ts.map +0 -1
  319. package/dist/cli/commands/skills.js +0 -131
  320. package/dist/cli/commands/skills.js.map +0 -1
  321. package/dist/cli/commands/snapshot.d.ts +0 -9
  322. package/dist/cli/commands/snapshot.d.ts.map +0 -1
  323. package/dist/cli/commands/snapshot.js +0 -50
  324. package/dist/cli/commands/snapshot.js.map +0 -1
  325. package/dist/cli/commands/specification.d.ts +0 -13
  326. package/dist/cli/commands/specification.d.ts.map +0 -1
  327. package/dist/cli/commands/specification.js +0 -45
  328. package/dist/cli/commands/specification.js.map +0 -1
  329. package/dist/cli/commands/start.d.ts +0 -13
  330. package/dist/cli/commands/start.d.ts.map +0 -1
  331. package/dist/cli/commands/start.js +0 -20
  332. package/dist/cli/commands/start.js.map +0 -1
  333. package/dist/cli/commands/stats.d.ts +0 -12
  334. package/dist/cli/commands/stats.d.ts.map +0 -1
  335. package/dist/cli/commands/stats.js +0 -23
  336. package/dist/cli/commands/stats.js.map +0 -1
  337. package/dist/cli/commands/sticky.d.ts +0 -16
  338. package/dist/cli/commands/sticky.d.ts.map +0 -1
  339. package/dist/cli/commands/sticky.js +0 -211
  340. package/dist/cli/commands/sticky.js.map +0 -1
  341. package/dist/cli/commands/stop.d.ts +0 -13
  342. package/dist/cli/commands/stop.d.ts.map +0 -1
  343. package/dist/cli/commands/stop.js +0 -20
  344. package/dist/cli/commands/stop.js.map +0 -1
  345. package/dist/cli/commands/sync.d.ts +0 -13
  346. package/dist/cli/commands/sync.d.ts.map +0 -1
  347. package/dist/cli/commands/sync.js +0 -48
  348. package/dist/cli/commands/sync.js.map +0 -1
  349. package/dist/cli/commands/testing.d.ts +0 -13
  350. package/dist/cli/commands/testing.d.ts.map +0 -1
  351. package/dist/cli/commands/testing.js +0 -64
  352. package/dist/cli/commands/testing.js.map +0 -1
  353. package/dist/cli/commands/token.d.ts +0 -10
  354. package/dist/cli/commands/token.d.ts.map +0 -1
  355. package/dist/cli/commands/token.js +0 -135
  356. package/dist/cli/commands/token.js.map +0 -1
  357. package/dist/cli/commands/update.d.ts +0 -12
  358. package/dist/cli/commands/update.d.ts.map +0 -1
  359. package/dist/cli/commands/update.js +0 -77
  360. package/dist/cli/commands/update.js.map +0 -1
  361. package/dist/cli/commands/upgrade.d.ts +0 -16
  362. package/dist/cli/commands/upgrade.d.ts.map +0 -1
  363. package/dist/cli/commands/upgrade.js +0 -74
  364. package/dist/cli/commands/upgrade.js.map +0 -1
  365. package/dist/cli/commands/validate.d.ts +0 -12
  366. package/dist/cli/commands/validate.d.ts.map +0 -1
  367. package/dist/cli/commands/validate.js +0 -23
  368. package/dist/cli/commands/validate.js.map +0 -1
  369. package/dist/cli/commands/verify.d.ts +0 -8
  370. package/dist/cli/commands/verify.d.ts.map +0 -1
  371. package/dist/cli/commands/verify.js +0 -28
  372. package/dist/cli/commands/verify.js.map +0 -1
  373. package/dist/cli/commands/web.d.ts +0 -13
  374. package/dist/cli/commands/web.d.ts.map +0 -1
  375. package/dist/cli/commands/web.js +0 -264
  376. package/dist/cli/commands/web.js.map +0 -1
  377. package/dist/cli/field-context.d.ts +0 -32
  378. package/dist/cli/field-context.d.ts.map +0 -1
  379. package/dist/cli/field-context.js +0 -47
  380. package/dist/cli/field-context.js.map +0 -1
  381. package/dist/cli/format-context.d.ts +0 -32
  382. package/dist/cli/format-context.d.ts.map +0 -1
  383. package/dist/cli/format-context.js +0 -50
  384. package/dist/cli/format-context.js.map +0 -1
  385. package/dist/cli/index.d.ts +0 -12
  386. package/dist/cli/index.d.ts.map +0 -1
  387. package/dist/cli/logger-bootstrap.d.ts +0 -6
  388. package/dist/cli/logger-bootstrap.d.ts.map +0 -1
  389. package/dist/cli/logger-bootstrap.js +0 -10
  390. package/dist/cli/logger-bootstrap.js.map +0 -1
  391. package/dist/cli/middleware/output-format.d.ts +0 -30
  392. package/dist/cli/middleware/output-format.d.ts.map +0 -1
  393. package/dist/cli/middleware/output-format.js +0 -35
  394. package/dist/cli/middleware/output-format.js.map +0 -1
  395. package/dist/cli/progress.d.ts +0 -84
  396. package/dist/cli/progress.d.ts.map +0 -1
  397. package/dist/cli/progress.js +0 -169
  398. package/dist/cli/progress.js.map +0 -1
  399. package/dist/cli/renderers/colors.d.ts +0 -32
  400. package/dist/cli/renderers/colors.d.ts.map +0 -1
  401. package/dist/cli/renderers/colors.js +0 -141
  402. package/dist/cli/renderers/colors.js.map +0 -1
  403. package/dist/cli/renderers/error.d.ts +0 -13
  404. package/dist/cli/renderers/error.d.ts.map +0 -1
  405. package/dist/cli/renderers/error.js +0 -42
  406. package/dist/cli/renderers/error.js.map +0 -1
  407. package/dist/cli/renderers/index.d.ts +0 -59
  408. package/dist/cli/renderers/index.d.ts.map +0 -1
  409. package/dist/cli/renderers/index.js +0 -184
  410. package/dist/cli/renderers/index.js.map +0 -1
  411. package/dist/cli/renderers/normalizer.d.ts +0 -21
  412. package/dist/cli/renderers/normalizer.d.ts.map +0 -1
  413. package/dist/cli/renderers/normalizer.js +0 -106
  414. package/dist/cli/renderers/normalizer.js.map +0 -1
  415. package/dist/cli/renderers/system.d.ts +0 -25
  416. package/dist/cli/renderers/system.d.ts.map +0 -1
  417. package/dist/cli/renderers/system.js +0 -416
  418. package/dist/cli/renderers/system.js.map +0 -1
  419. package/dist/cli/renderers/tasks.d.ts +0 -28
  420. package/dist/cli/renderers/tasks.d.ts.map +0 -1
  421. package/dist/cli/renderers/tasks.js +0 -308
  422. package/dist/cli/renderers/tasks.js.map +0 -1
  423. package/dist/dispatch/adapters/cli.d.ts +0 -67
  424. package/dist/dispatch/adapters/cli.d.ts.map +0 -1
  425. package/dist/dispatch/adapters/cli.js +0 -205
  426. package/dist/dispatch/adapters/cli.js.map +0 -1
  427. package/dist/dispatch/adapters/mcp.d.ts +0 -37
  428. package/dist/dispatch/adapters/mcp.d.ts.map +0 -1
  429. package/dist/dispatch/adapters/mcp.js +0 -122
  430. package/dist/dispatch/adapters/mcp.js.map +0 -1
  431. package/dist/dispatch/context/session-context.d.ts +0 -54
  432. package/dist/dispatch/context/session-context.d.ts.map +0 -1
  433. package/dist/dispatch/context/session-context.js +0 -61
  434. package/dist/dispatch/context/session-context.js.map +0 -1
  435. package/dist/dispatch/dispatcher.d.ts +0 -23
  436. package/dist/dispatch/dispatcher.d.ts.map +0 -1
  437. package/dist/dispatch/dispatcher.js +0 -84
  438. package/dist/dispatch/dispatcher.js.map +0 -1
  439. package/dist/dispatch/domains/_base.d.ts +0 -59
  440. package/dist/dispatch/domains/_base.d.ts.map +0 -1
  441. package/dist/dispatch/domains/_base.js +0 -77
  442. package/dist/dispatch/domains/_base.js.map +0 -1
  443. package/dist/dispatch/domains/_meta.d.ts +0 -23
  444. package/dist/dispatch/domains/_meta.d.ts.map +0 -1
  445. package/dist/dispatch/domains/_meta.js +0 -25
  446. package/dist/dispatch/domains/_meta.js.map +0 -1
  447. package/dist/dispatch/domains/_routing.d.ts +0 -8
  448. package/dist/dispatch/domains/_routing.d.ts.map +0 -1
  449. package/dist/dispatch/domains/_routing.js +0 -20
  450. package/dist/dispatch/domains/_routing.js.map +0 -1
  451. package/dist/dispatch/domains/admin.d.ts +0 -27
  452. package/dist/dispatch/domains/admin.d.ts.map +0 -1
  453. package/dist/dispatch/domains/admin.js +0 -672
  454. package/dist/dispatch/domains/admin.js.map +0 -1
  455. package/dist/dispatch/domains/check.d.ts +0 -24
  456. package/dist/dispatch/domains/check.d.ts.map +0 -1
  457. package/dist/dispatch/domains/check.js +0 -281
  458. package/dist/dispatch/domains/check.js.map +0 -1
  459. package/dist/dispatch/domains/index.d.ts +0 -26
  460. package/dist/dispatch/domains/index.d.ts.map +0 -1
  461. package/dist/dispatch/domains/index.js +0 -38
  462. package/dist/dispatch/domains/index.js.map +0 -1
  463. package/dist/dispatch/domains/memory.d.ts +0 -24
  464. package/dist/dispatch/domains/memory.d.ts.map +0 -1
  465. package/dist/dispatch/domains/memory.js +0 -305
  466. package/dist/dispatch/domains/memory.js.map +0 -1
  467. package/dist/dispatch/domains/nexus.d.ts +0 -24
  468. package/dist/dispatch/domains/nexus.d.ts.map +0 -1
  469. package/dist/dispatch/domains/nexus.js +0 -252
  470. package/dist/dispatch/domains/nexus.js.map +0 -1
  471. package/dist/dispatch/domains/orchestrate.d.ts +0 -21
  472. package/dist/dispatch/domains/orchestrate.d.ts.map +0 -1
  473. package/dist/dispatch/domains/orchestrate.js +0 -261
  474. package/dist/dispatch/domains/orchestrate.js.map +0 -1
  475. package/dist/dispatch/domains/pipeline.d.ts +0 -36
  476. package/dist/dispatch/domains/pipeline.d.ts.map +0 -1
  477. package/dist/dispatch/domains/pipeline.js +0 -554
  478. package/dist/dispatch/domains/pipeline.js.map +0 -1
  479. package/dist/dispatch/domains/session.d.ts +0 -24
  480. package/dist/dispatch/domains/session.d.ts.map +0 -1
  481. package/dist/dispatch/domains/session.js +0 -257
  482. package/dist/dispatch/domains/session.js.map +0 -1
  483. package/dist/dispatch/domains/sticky.d.ts +0 -22
  484. package/dist/dispatch/domains/sticky.d.ts.map +0 -1
  485. package/dist/dispatch/domains/sticky.js +0 -166
  486. package/dist/dispatch/domains/sticky.js.map +0 -1
  487. package/dist/dispatch/domains/tasks.d.ts +0 -26
  488. package/dist/dispatch/domains/tasks.d.ts.map +0 -1
  489. package/dist/dispatch/domains/tasks.js +0 -352
  490. package/dist/dispatch/domains/tasks.js.map +0 -1
  491. package/dist/dispatch/domains/tools.d.ts +0 -40
  492. package/dist/dispatch/domains/tools.d.ts.map +0 -1
  493. package/dist/dispatch/domains/tools.js +0 -497
  494. package/dist/dispatch/domains/tools.js.map +0 -1
  495. package/dist/dispatch/engines/_error.d.ts +0 -42
  496. package/dist/dispatch/engines/_error.d.ts.map +0 -1
  497. package/dist/dispatch/engines/_error.js +0 -201
  498. package/dist/dispatch/engines/_error.js.map +0 -1
  499. package/dist/dispatch/engines/codebase-map-engine.d.ts +0 -17
  500. package/dist/dispatch/engines/codebase-map-engine.d.ts.map +0 -1
  501. package/dist/dispatch/engines/codebase-map-engine.js +0 -29
  502. package/dist/dispatch/engines/codebase-map-engine.js.map +0 -1
  503. package/dist/dispatch/engines/config-engine.d.ts +0 -21
  504. package/dist/dispatch/engines/config-engine.d.ts.map +0 -1
  505. package/dist/dispatch/engines/config-engine.js +0 -45
  506. package/dist/dispatch/engines/config-engine.js.map +0 -1
  507. package/dist/dispatch/engines/hooks-engine.d.ts +0 -47
  508. package/dist/dispatch/engines/hooks-engine.d.ts.map +0 -1
  509. package/dist/dispatch/engines/hooks-engine.js +0 -57
  510. package/dist/dispatch/engines/hooks-engine.js.map +0 -1
  511. package/dist/dispatch/engines/init-engine.d.ts +0 -43
  512. package/dist/dispatch/engines/init-engine.d.ts.map +0 -1
  513. package/dist/dispatch/engines/init-engine.js +0 -73
  514. package/dist/dispatch/engines/init-engine.js.map +0 -1
  515. package/dist/dispatch/engines/lifecycle-engine.d.ts +0 -66
  516. package/dist/dispatch/engines/lifecycle-engine.d.ts.map +0 -1
  517. package/dist/dispatch/engines/lifecycle-engine.js +0 -213
  518. package/dist/dispatch/engines/lifecycle-engine.js.map +0 -1
  519. package/dist/dispatch/engines/memory-engine.d.ts +0 -10
  520. package/dist/dispatch/engines/memory-engine.d.ts.map +0 -1
  521. package/dist/dispatch/engines/memory-engine.js +0 -10
  522. package/dist/dispatch/engines/memory-engine.js.map +0 -1
  523. package/dist/dispatch/engines/nexus-engine.d.ts +0 -159
  524. package/dist/dispatch/engines/nexus-engine.d.ts.map +0 -1
  525. package/dist/dispatch/engines/nexus-engine.js +0 -329
  526. package/dist/dispatch/engines/nexus-engine.js.map +0 -1
  527. package/dist/dispatch/engines/orchestrate-engine.d.ts +0 -133
  528. package/dist/dispatch/engines/orchestrate-engine.d.ts.map +0 -1
  529. package/dist/dispatch/engines/orchestrate-engine.js +0 -770
  530. package/dist/dispatch/engines/orchestrate-engine.js.map +0 -1
  531. package/dist/dispatch/engines/pipeline-engine.d.ts +0 -51
  532. package/dist/dispatch/engines/pipeline-engine.d.ts.map +0 -1
  533. package/dist/dispatch/engines/pipeline-engine.js +0 -192
  534. package/dist/dispatch/engines/pipeline-engine.js.map +0 -1
  535. package/dist/dispatch/engines/release-engine.d.ts +0 -94
  536. package/dist/dispatch/engines/release-engine.d.ts.map +0 -1
  537. package/dist/dispatch/engines/release-engine.js +0 -670
  538. package/dist/dispatch/engines/release-engine.js.map +0 -1
  539. package/dist/dispatch/engines/session-engine.d.ts +0 -326
  540. package/dist/dispatch/engines/session-engine.d.ts.map +0 -1
  541. package/dist/dispatch/engines/session-engine.js +0 -869
  542. package/dist/dispatch/engines/session-engine.js.map +0 -1
  543. package/dist/dispatch/engines/sticky-engine.d.ts +0 -100
  544. package/dist/dispatch/engines/sticky-engine.d.ts.map +0 -1
  545. package/dist/dispatch/engines/sticky-engine.js +0 -181
  546. package/dist/dispatch/engines/sticky-engine.js.map +0 -1
  547. package/dist/dispatch/engines/system-engine.d.ts +0 -377
  548. package/dist/dispatch/engines/system-engine.d.ts.map +0 -1
  549. package/dist/dispatch/engines/system-engine.js +0 -980
  550. package/dist/dispatch/engines/system-engine.js.map +0 -1
  551. package/dist/dispatch/engines/task-engine.d.ts +0 -584
  552. package/dist/dispatch/engines/task-engine.d.ts.map +0 -1
  553. package/dist/dispatch/engines/task-engine.js +0 -881
  554. package/dist/dispatch/engines/task-engine.js.map +0 -1
  555. package/dist/dispatch/engines/template-parser.d.ts +0 -34
  556. package/dist/dispatch/engines/template-parser.d.ts.map +0 -1
  557. package/dist/dispatch/engines/template-parser.js +0 -57
  558. package/dist/dispatch/engines/template-parser.js.map +0 -1
  559. package/dist/dispatch/engines/tools-engine.d.ts +0 -285
  560. package/dist/dispatch/engines/tools-engine.d.ts.map +0 -1
  561. package/dist/dispatch/engines/tools-engine.js +0 -676
  562. package/dist/dispatch/engines/tools-engine.js.map +0 -1
  563. package/dist/dispatch/engines/validate-engine.d.ts +0 -154
  564. package/dist/dispatch/engines/validate-engine.d.ts.map +0 -1
  565. package/dist/dispatch/engines/validate-engine.js +0 -527
  566. package/dist/dispatch/engines/validate-engine.js.map +0 -1
  567. package/dist/dispatch/index.d.ts +0 -20
  568. package/dist/dispatch/index.d.ts.map +0 -1
  569. package/dist/dispatch/index.js +0 -19
  570. package/dist/dispatch/index.js.map +0 -1
  571. package/dist/dispatch/lib/capability-matrix.d.ts +0 -11
  572. package/dist/dispatch/lib/capability-matrix.d.ts.map +0 -1
  573. package/dist/dispatch/lib/capability-matrix.js +0 -10
  574. package/dist/dispatch/lib/capability-matrix.js.map +0 -1
  575. package/dist/dispatch/lib/config.d.ts +0 -16
  576. package/dist/dispatch/lib/config.d.ts.map +0 -1
  577. package/dist/dispatch/lib/config.js +0 -15
  578. package/dist/dispatch/lib/config.js.map +0 -1
  579. package/dist/dispatch/lib/engine.d.ts +0 -25
  580. package/dist/dispatch/lib/engine.d.ts.map +0 -1
  581. package/dist/dispatch/lib/engine.js +0 -44
  582. package/dist/dispatch/lib/engine.js.map +0 -1
  583. package/dist/dispatch/lib/meta.d.ts +0 -26
  584. package/dist/dispatch/lib/meta.d.ts.map +0 -1
  585. package/dist/dispatch/lib/meta.js +0 -37
  586. package/dist/dispatch/lib/meta.js.map +0 -1
  587. package/dist/dispatch/lib/param-utils.d.ts +0 -11
  588. package/dist/dispatch/lib/param-utils.d.ts.map +0 -1
  589. package/dist/dispatch/lib/param-utils.js +0 -10
  590. package/dist/dispatch/lib/param-utils.js.map +0 -1
  591. package/dist/dispatch/lib/projections.d.ts +0 -23
  592. package/dist/dispatch/lib/projections.d.ts.map +0 -1
  593. package/dist/dispatch/lib/projections.js +0 -48
  594. package/dist/dispatch/lib/projections.js.map +0 -1
  595. package/dist/dispatch/lib/schema-utils.d.ts +0 -42
  596. package/dist/dispatch/lib/schema-utils.d.ts.map +0 -1
  597. package/dist/dispatch/lib/schema-utils.js +0 -93
  598. package/dist/dispatch/lib/schema-utils.js.map +0 -1
  599. package/dist/dispatch/lib/security.d.ts +0 -12
  600. package/dist/dispatch/lib/security.d.ts.map +0 -1
  601. package/dist/dispatch/lib/security.js +0 -10
  602. package/dist/dispatch/lib/security.js.map +0 -1
  603. package/dist/dispatch/middleware/audit.d.ts +0 -23
  604. package/dist/dispatch/middleware/audit.d.ts.map +0 -1
  605. package/dist/dispatch/middleware/audit.js +0 -169
  606. package/dist/dispatch/middleware/audit.js.map +0 -1
  607. package/dist/dispatch/middleware/field-filter.d.ts +0 -24
  608. package/dist/dispatch/middleware/field-filter.d.ts.map +0 -1
  609. package/dist/dispatch/middleware/field-filter.js +0 -65
  610. package/dist/dispatch/middleware/field-filter.js.map +0 -1
  611. package/dist/dispatch/middleware/pipeline.d.ts +0 -20
  612. package/dist/dispatch/middleware/pipeline.d.ts.map +0 -1
  613. package/dist/dispatch/middleware/pipeline.js +0 -47
  614. package/dist/dispatch/middleware/pipeline.js.map +0 -1
  615. package/dist/dispatch/middleware/projection.d.ts +0 -35
  616. package/dist/dispatch/middleware/projection.d.ts.map +0 -1
  617. package/dist/dispatch/middleware/projection.js +0 -145
  618. package/dist/dispatch/middleware/projection.js.map +0 -1
  619. package/dist/dispatch/middleware/protocol-enforcement.d.ts +0 -12
  620. package/dist/dispatch/middleware/protocol-enforcement.d.ts.map +0 -1
  621. package/dist/dispatch/middleware/protocol-enforcement.js +0 -30
  622. package/dist/dispatch/middleware/protocol-enforcement.js.map +0 -1
  623. package/dist/dispatch/middleware/rate-limiter.d.ts +0 -30
  624. package/dist/dispatch/middleware/rate-limiter.d.ts.map +0 -1
  625. package/dist/dispatch/middleware/rate-limiter.js +0 -101
  626. package/dist/dispatch/middleware/rate-limiter.js.map +0 -1
  627. package/dist/dispatch/middleware/sanitizer.d.ts +0 -10
  628. package/dist/dispatch/middleware/sanitizer.d.ts.map +0 -1
  629. package/dist/dispatch/middleware/sanitizer.js +0 -42
  630. package/dist/dispatch/middleware/sanitizer.js.map +0 -1
  631. package/dist/dispatch/middleware/session-resolver.d.ts +0 -26
  632. package/dist/dispatch/middleware/session-resolver.d.ts.map +0 -1
  633. package/dist/dispatch/middleware/session-resolver.js +0 -65
  634. package/dist/dispatch/middleware/session-resolver.js.map +0 -1
  635. package/dist/dispatch/middleware/verification-gates.d.ts +0 -3
  636. package/dist/dispatch/middleware/verification-gates.d.ts.map +0 -1
  637. package/dist/dispatch/middleware/verification-gates.js +0 -40
  638. package/dist/dispatch/middleware/verification-gates.js.map +0 -1
  639. package/dist/dispatch/registry.d.ts +0 -91
  640. package/dist/dispatch/registry.d.ts.map +0 -1
  641. package/dist/dispatch/registry.js +0 -2693
  642. package/dist/dispatch/registry.js.map +0 -1
  643. package/dist/dispatch/types.d.ts +0 -218
  644. package/dist/dispatch/types.d.ts.map +0 -1
  645. package/dist/dispatch/types.js +0 -25
  646. package/dist/dispatch/types.js.map +0 -1
  647. package/dist/mcp/gateways/mutate.d.ts +0 -146
  648. package/dist/mcp/gateways/mutate.d.ts.map +0 -1
  649. package/dist/mcp/gateways/mutate.js +0 -1016
  650. package/dist/mcp/gateways/mutate.js.map +0 -1
  651. package/dist/mcp/gateways/query.d.ts +0 -138
  652. package/dist/mcp/gateways/query.d.ts.map +0 -1
  653. package/dist/mcp/gateways/query.js +0 -186
  654. package/dist/mcp/gateways/query.js.map +0 -1
  655. package/dist/mcp/index.d.ts +0 -16
  656. package/dist/mcp/index.d.ts.map +0 -1
  657. package/dist/mcp/lib/background-jobs.d.ts +0 -86
  658. package/dist/mcp/lib/background-jobs.d.ts.map +0 -1
  659. package/dist/mcp/lib/background-jobs.js +0 -183
  660. package/dist/mcp/lib/background-jobs.js.map +0 -1
  661. package/dist/mcp/lib/budget.d.ts +0 -35
  662. package/dist/mcp/lib/budget.d.ts.map +0 -1
  663. package/dist/mcp/lib/budget.js +0 -102
  664. package/dist/mcp/lib/budget.js.map +0 -1
  665. package/dist/mcp/lib/cache.d.ts +0 -78
  666. package/dist/mcp/lib/cache.d.ts.map +0 -1
  667. package/dist/mcp/lib/cache.js +0 -207
  668. package/dist/mcp/lib/cache.js.map +0 -1
  669. package/dist/mcp/lib/config.d.ts +0 -42
  670. package/dist/mcp/lib/config.d.ts.map +0 -1
  671. package/dist/mcp/lib/config.js +0 -241
  672. package/dist/mcp/lib/config.js.map +0 -1
  673. package/dist/mcp/lib/defaults.d.ts +0 -115
  674. package/dist/mcp/lib/defaults.d.ts.map +0 -1
  675. package/dist/mcp/lib/defaults.js +0 -61
  676. package/dist/mcp/lib/defaults.js.map +0 -1
  677. package/dist/mcp/lib/exit-codes.d.ts +0 -197
  678. package/dist/mcp/lib/exit-codes.d.ts.map +0 -1
  679. package/dist/mcp/lib/exit-codes.js +0 -1016
  680. package/dist/mcp/lib/exit-codes.js.map +0 -1
  681. package/dist/mcp/lib/gate-validators.d.ts +0 -13
  682. package/dist/mcp/lib/gate-validators.d.ts.map +0 -1
  683. package/dist/mcp/lib/gate-validators.js +0 -13
  684. package/dist/mcp/lib/gate-validators.js.map +0 -1
  685. package/dist/mcp/lib/gateway-meta.d.ts +0 -37
  686. package/dist/mcp/lib/gateway-meta.d.ts.map +0 -1
  687. package/dist/mcp/lib/gateway-meta.js +0 -50
  688. package/dist/mcp/lib/gateway-meta.js.map +0 -1
  689. package/dist/mcp/lib/job-manager-accessor.d.ts +0 -10
  690. package/dist/mcp/lib/job-manager-accessor.d.ts.map +0 -1
  691. package/dist/mcp/lib/job-manager-accessor.js +0 -14
  692. package/dist/mcp/lib/job-manager-accessor.js.map +0 -1
  693. package/dist/mcp/lib/protocol-enforcement.d.ts +0 -12
  694. package/dist/mcp/lib/protocol-enforcement.d.ts.map +0 -1
  695. package/dist/mcp/lib/protocol-enforcement.js +0 -12
  696. package/dist/mcp/lib/protocol-enforcement.js.map +0 -1
  697. package/dist/mcp/lib/protocol-rules.d.ts +0 -12
  698. package/dist/mcp/lib/protocol-rules.d.ts.map +0 -1
  699. package/dist/mcp/lib/protocol-rules.js +0 -12
  700. package/dist/mcp/lib/protocol-rules.js.map +0 -1
  701. package/dist/mcp/lib/rate-limiter.d.ts +0 -110
  702. package/dist/mcp/lib/rate-limiter.d.ts.map +0 -1
  703. package/dist/mcp/lib/rate-limiter.js +0 -208
  704. package/dist/mcp/lib/rate-limiter.js.map +0 -1
  705. package/dist/mcp/lib/router.d.ts +0 -58
  706. package/dist/mcp/lib/router.d.ts.map +0 -1
  707. package/dist/mcp/lib/router.js +0 -12
  708. package/dist/mcp/lib/router.js.map +0 -1
  709. package/dist/mcp/lib/security.d.ts +0 -161
  710. package/dist/mcp/lib/security.d.ts.map +0 -1
  711. package/dist/mcp/lib/security.js +0 -361
  712. package/dist/mcp/lib/security.js.map +0 -1
  713. package/dist/mcp/lib/verification-gates.d.ts +0 -13
  714. package/dist/mcp/lib/verification-gates.d.ts.map +0 -1
  715. package/dist/mcp/lib/verification-gates.js +0 -12
  716. package/dist/mcp/lib/verification-gates.js.map +0 -1
  717. package/dist/mcp/resources/budget.d.ts +0 -22
  718. package/dist/mcp/resources/budget.d.ts.map +0 -1
  719. package/dist/mcp/resources/budget.js +0 -46
  720. package/dist/mcp/resources/budget.js.map +0 -1
  721. package/dist/mcp/resources/index.d.ts +0 -53
  722. package/dist/mcp/resources/index.d.ts.map +0 -1
  723. package/dist/mcp/resources/index.js +0 -278
  724. package/dist/mcp/resources/index.js.map +0 -1
@@ -1,980 +0,0 @@
1
- /**
2
- * System Engine
3
- *
4
- * Thin wrapper layer that delegates to core modules.
5
- * All business logic lives in src/core/.
6
- *
7
- * Read-only queries: dash, stats, labels, archive-stats, log, context, sequence,
8
- * metrics, health, diagnostics, help, roadmap, compliance
9
- * Mutate operations: inject.generate, backup, restore, migrate, cleanup, audit,
10
- * sync, safestop, uncancel
11
- *
12
- * @task T4631
13
- * @task T4783
14
- */
15
- import { existsSync, readdirSync, readFileSync } from 'node:fs';
16
- import { basename, join } from 'node:path';
17
- import { auditData, cleanupSystem, systemCreateBackup as createBackup, generateInjection, getArchiveStats, getDashboard, getLabels, getMigrationStatus, getProjectStats, getRoadmap, getRuntimeDiagnostics, getSystemDiagnostics, getSystemHealth, getSystemMetrics, repairSequence, restoreBackup, safestop, uncancelTask, } from '@cleocode/core/internal';
18
- import { getAccessor } from '@cleocode/core/internal';
19
- import { engineError } from './_error.js';
20
- // ===== Help topics (static data, stays in engine) =====
21
- const HELP_TOPICS = {
22
- session: {
23
- topic: 'session',
24
- content: [
25
- 'Session Management',
26
- '',
27
- ' ct session list - List all sessions',
28
- ' ct session start --scope epic:T001 - Start session',
29
- ' ct session end --note "Progress" - End session',
30
- ' ct session resume <id> - Resume session',
31
- ].join('\n'),
32
- relatedCommands: ['ct session list', 'ct session start', 'ct session end'],
33
- },
34
- tasks: {
35
- topic: 'tasks',
36
- content: [
37
- 'Task Operations',
38
- '',
39
- ' ct add "Title" --desc "Description" - Create task',
40
- ' ct update T1234 --status active - Update task',
41
- ' ct complete T1234 - Complete task',
42
- ' ct find "query" - Search tasks',
43
- ' ct show T1234 - Show task details',
44
- ].join('\n'),
45
- relatedCommands: ['ct add', 'ct update', 'ct complete', 'ct find', 'ct show'],
46
- },
47
- focus: {
48
- topic: 'focus',
49
- content: [
50
- 'Task Work Management',
51
- '',
52
- ' ct start T1234 - Start working on task',
53
- ' ct current - Show current task',
54
- ' ct stop - Stop working on current task',
55
- ].join('\n'),
56
- relatedCommands: ['ct start', 'ct current', 'ct stop'],
57
- },
58
- labels: {
59
- topic: 'labels',
60
- content: [
61
- 'Label Operations',
62
- '',
63
- ' ct labels - List all labels',
64
- ' ct labels show <name> - Show tasks with label',
65
- ].join('\n'),
66
- relatedCommands: ['ct labels'],
67
- },
68
- compliance: {
69
- topic: 'compliance',
70
- content: [
71
- 'Compliance Monitoring',
72
- '',
73
- ' ct compliance summary - Compliance overview',
74
- ' ct compliance violations - List violations',
75
- ' ct compliance trend - Compliance trend',
76
- ].join('\n'),
77
- relatedCommands: ['ct compliance summary', 'ct compliance violations'],
78
- },
79
- };
80
- // ===== Dashboard =====
81
- /**
82
- * Project dashboard: task counts by status, active session info,
83
- * current focus, recent completions.
84
- */
85
- export async function systemDash(projectRoot, params) {
86
- try {
87
- const accessor = await getAccessor(projectRoot);
88
- const result = await getDashboard({ cwd: projectRoot, blockedTasksLimit: params?.blockedTasksLimit }, accessor);
89
- // Add missing fields that core doesn't produce
90
- const data = result;
91
- const summary = data.summary;
92
- return {
93
- success: true,
94
- data: {
95
- project: data.project,
96
- currentPhase: data.currentPhase,
97
- summary: {
98
- pending: summary.pending,
99
- active: summary.active,
100
- blocked: summary.blocked,
101
- done: summary.done,
102
- cancelled: summary.cancelled ?? 0,
103
- total: summary.total,
104
- archived: summary.archived ?? 0,
105
- grandTotal: summary.grandTotal ?? summary.total,
106
- },
107
- taskWork: (data.focus ?? data.taskWork),
108
- activeSession: data.activeSession ?? null,
109
- highPriority: data.highPriority,
110
- blockedTasks: data.blockedTasks,
111
- recentCompletions: (data.recentCompletions ?? []),
112
- topLabels: data.topLabels,
113
- },
114
- };
115
- }
116
- catch (err) {
117
- return engineError('E_NOT_INITIALIZED', err.message);
118
- }
119
- }
120
- // ===== Stats =====
121
- /**
122
- * Detailed statistics: tasks by status/priority/type/phase,
123
- * completion rate, average cycle time.
124
- */
125
- export async function systemStats(projectRoot, params) {
126
- try {
127
- const accessor = await getAccessor(projectRoot);
128
- const result = await getProjectStats({ period: String(params?.period ?? 30), cwd: projectRoot }, accessor);
129
- // Core stats lacks byPriority, byType, byPhase, cycleTimes — fill from accessor
130
- const queryResult = await accessor.queryTasks({});
131
- const tasks = queryResult?.tasks ?? [];
132
- // Distribution breakdowns: active tasks only (exclude cancelled — not actionable work)
133
- const activeTasks = tasks.filter((t) => t.status !== 'cancelled');
134
- const byPriority = {};
135
- for (const t of activeTasks) {
136
- byPriority[t.priority] = (byPriority[t.priority] ?? 0) + 1;
137
- }
138
- const byType = {};
139
- for (const t of activeTasks) {
140
- const type = t.type || 'task';
141
- byType[type] = (byType[type] ?? 0) + 1;
142
- }
143
- const byPhase = {};
144
- for (const t of activeTasks) {
145
- const phase = t.phase || 'unassigned';
146
- byPhase[phase] = (byPhase[phase] ?? 0) + 1;
147
- }
148
- // Cycle times
149
- const completedTasks = tasks.filter((t) => t.status === 'done' && t.completedAt && t.createdAt);
150
- let totalCycleDays = 0;
151
- let samples = 0;
152
- for (const t of completedTasks) {
153
- const created = new Date(t.createdAt).getTime();
154
- const completed = new Date(t.completedAt).getTime();
155
- if (completed > created) {
156
- totalCycleDays += (completed - created) / 86400000;
157
- samples++;
158
- }
159
- }
160
- const averageDays = samples > 0 ? Math.round((totalCycleDays / samples) * 100) / 100 : null;
161
- const coreData = result;
162
- const currentState = coreData.currentState;
163
- const completionMetrics = coreData.completionMetrics;
164
- const activityMetrics = coreData.activityMetrics;
165
- const allTime = coreData.allTime;
166
- return {
167
- success: true,
168
- data: {
169
- currentState: {
170
- pending: currentState.pending,
171
- active: currentState.active,
172
- done: currentState.done,
173
- blocked: currentState.blocked,
174
- cancelled: tasks.filter((t) => t.status === 'cancelled').length,
175
- totalActive: currentState.totalActive,
176
- archived: currentState.archived ?? 0,
177
- grandTotal: currentState.grandTotal ?? currentState.totalActive,
178
- },
179
- byPriority,
180
- byType,
181
- byPhase,
182
- completionMetrics: completionMetrics,
183
- activityMetrics: activityMetrics,
184
- allTime: allTime,
185
- cycleTimes: { averageDays, samples },
186
- },
187
- };
188
- }
189
- catch (err) {
190
- return engineError('E_NOT_INITIALIZED', err.message);
191
- }
192
- }
193
- // ===== Labels =====
194
- /**
195
- * List all unique labels across tasks with counts and task IDs per label.
196
- */
197
- export async function systemLabels(projectRoot) {
198
- try {
199
- const accessor = await getAccessor(projectRoot);
200
- const result = await getLabels(projectRoot, accessor);
201
- return { success: true, data: result };
202
- }
203
- catch (err) {
204
- return engineError('E_NOT_INITIALIZED', err.message);
205
- }
206
- }
207
- // ===== Archive Stats =====
208
- /**
209
- * Archive metrics: total archived, by reason, average cycle time, archive rate.
210
- */
211
- export async function systemArchiveStats(projectRoot, params) {
212
- try {
213
- const accessor = await getAccessor(projectRoot);
214
- const result = await getArchiveStats({ period: params?.period, cwd: projectRoot }, accessor);
215
- return { success: true, data: result };
216
- }
217
- catch (err) {
218
- return engineError('E_NOT_INITIALIZED', err.message);
219
- }
220
- }
221
- // ===== Log =====
222
- /**
223
- * Query audit log with optional filters.
224
- * Reads from SQLite audit_log table.
225
- *
226
- * @task T4837
227
- */
228
- export async function systemLog(projectRoot, filters) {
229
- try {
230
- // Canonical path: SQLite audit_log table.
231
- const entries = await queryAuditLogSqlite(projectRoot, filters);
232
- return { success: true, data: entries };
233
- }
234
- catch (err) {
235
- return engineError('E_FILE_ERROR', err.message);
236
- }
237
- }
238
- /**
239
- * Query audit_log from SQLite.
240
- * Includes dispatch-level fields (domain, requestId, durationMs, success,
241
- * source, gateway, errorMessage) when present (T4844).
242
- *
243
- * @task T4837
244
- * @task T4844
245
- */
246
- async function queryAuditLogSqlite(projectRoot, filters) {
247
- try {
248
- const { join } = await import('node:path');
249
- const { existsSync } = await import('node:fs');
250
- const dbPath = join(projectRoot, '.cleo', 'tasks.db');
251
- if (!existsSync(dbPath)) {
252
- const offset = filters?.offset ?? 0;
253
- const limit = filters?.limit ?? 20;
254
- return {
255
- entries: [],
256
- pagination: { total: 0, offset, limit, hasMore: false },
257
- };
258
- }
259
- const { getDb } = await import('@cleocode/core/internal');
260
- const { auditLog } = await import('@cleocode/core/internal');
261
- const { sql } = await import('drizzle-orm');
262
- const db = await getDb(projectRoot);
263
- // Check if audit_log table exists and has data
264
- try {
265
- // Build dynamic WHERE conditions
266
- const conditions = [];
267
- if (filters?.operation) {
268
- // Match against both legacy 'action' column and new 'operation' column
269
- conditions.push(sql `(${auditLog.action} = ${filters.operation} OR ${auditLog.operation} = ${filters.operation})`);
270
- }
271
- if (filters?.taskId) {
272
- conditions.push(sql `${auditLog.taskId} = ${filters.taskId}`);
273
- }
274
- if (filters?.since) {
275
- conditions.push(sql `${auditLog.timestamp} >= ${filters.since}`);
276
- }
277
- if (filters?.until) {
278
- conditions.push(sql `${auditLog.timestamp} <= ${filters.until}`);
279
- }
280
- const whereClause = conditions.length > 0 ? sql.join(conditions, sql ` AND `) : sql `1=1`;
281
- // Count total matching entries
282
- const countResult = await db.all(sql `SELECT count(*) as cnt FROM ${auditLog} WHERE ${whereClause}`);
283
- const total = countResult[0]?.cnt ?? 0;
284
- if (total === 0) {
285
- return {
286
- entries: [],
287
- pagination: {
288
- total: 0,
289
- offset: filters?.offset ?? 0,
290
- limit: filters?.limit ?? 20,
291
- hasMore: false,
292
- },
293
- };
294
- }
295
- const offset = filters?.offset ?? 0;
296
- const limit = filters?.limit ?? 20;
297
- // Fetch paginated results (includes dispatch-level columns)
298
- const rows = await db.all(sql `SELECT * FROM ${auditLog}
299
- WHERE ${whereClause}
300
- ORDER BY ${auditLog.timestamp} DESC
301
- LIMIT ${limit} OFFSET ${offset}`);
302
- const entries = rows.map((row) => ({
303
- operation: row.operation ?? row.action,
304
- taskId: row.task_id,
305
- timestamp: row.timestamp,
306
- actor: row.actor,
307
- details: row.details_json ? JSON.parse(row.details_json) : {},
308
- before: row.before_json ? JSON.parse(row.before_json) : undefined,
309
- after: row.after_json ? JSON.parse(row.after_json) : undefined,
310
- // Dispatch-level fields (may be null for legacy task-only entries)
311
- ...(row.domain != null && {
312
- domain: row.domain,
313
- sessionId: row.session_id,
314
- requestId: row.request_id,
315
- durationMs: row.duration_ms,
316
- success: row.success === 1,
317
- source: row.source,
318
- gateway: row.gateway,
319
- error: row.error_message,
320
- }),
321
- }));
322
- return {
323
- entries,
324
- pagination: { total, offset, limit, hasMore: offset + limit < total },
325
- };
326
- }
327
- catch {
328
- const offset = filters?.offset ?? 0;
329
- const limit = filters?.limit ?? 20;
330
- return {
331
- entries: [],
332
- pagination: { total: 0, offset, limit, hasMore: false },
333
- };
334
- }
335
- }
336
- catch {
337
- const offset = filters?.offset ?? 0;
338
- const limit = filters?.limit ?? 20;
339
- return {
340
- entries: [],
341
- pagination: { total: 0, offset, limit, hasMore: false },
342
- };
343
- }
344
- }
345
- // ===== Context =====
346
- /**
347
- * Context window tracking: estimate token usage from current session/state.
348
- */
349
- export function systemContext(projectRoot, params) {
350
- try {
351
- const cleoDir = join(projectRoot, '.cleo');
352
- // Resolve state file
353
- let stateFile;
354
- if (params?.session) {
355
- const sessionFile = join(cleoDir, 'context-states', `context-state-${params.session}.json`);
356
- stateFile = existsSync(sessionFile) ? sessionFile : join(cleoDir, '.context-state.json');
357
- }
358
- else {
359
- const currentSessionPath = join(cleoDir, '.current-session');
360
- if (existsSync(currentSessionPath)) {
361
- const currentSession = readFileSync(currentSessionPath, 'utf-8').trim();
362
- if (currentSession) {
363
- const sessionFile = join(cleoDir, 'context-states', `context-state-${currentSession}.json`);
364
- stateFile = existsSync(sessionFile) ? sessionFile : join(cleoDir, '.context-state.json');
365
- }
366
- else {
367
- stateFile = join(cleoDir, '.context-state.json');
368
- }
369
- }
370
- else {
371
- stateFile = join(cleoDir, '.context-state.json');
372
- }
373
- }
374
- // Collect session files
375
- const sessions = [];
376
- const statesDir = join(cleoDir, 'context-states');
377
- if (existsSync(statesDir)) {
378
- for (const file of readdirSync(statesDir)) {
379
- if (file.startsWith('context-state-') && file.endsWith('.json')) {
380
- try {
381
- const state = JSON.parse(readFileSync(join(statesDir, file), 'utf-8'));
382
- sessions.push({
383
- file: basename(file),
384
- sessionId: state.sessionId ?? null,
385
- percentage: state.contextWindow?.percentage ?? 0,
386
- status: state.status ?? 'unknown',
387
- timestamp: state.timestamp,
388
- });
389
- }
390
- catch {
391
- // skip invalid files
392
- }
393
- }
394
- }
395
- }
396
- const singletonFile = join(cleoDir, '.context-state.json');
397
- if (existsSync(singletonFile)) {
398
- try {
399
- const state = JSON.parse(readFileSync(singletonFile, 'utf-8'));
400
- sessions.push({
401
- file: '.context-state.json',
402
- sessionId: state.sessionId ?? 'global',
403
- percentage: state.contextWindow?.percentage ?? 0,
404
- status: state.status ?? 'unknown',
405
- timestamp: state.timestamp,
406
- });
407
- }
408
- catch {
409
- // skip
410
- }
411
- }
412
- if (!existsSync(stateFile)) {
413
- return {
414
- success: true,
415
- data: {
416
- available: false,
417
- status: 'unavailable',
418
- percentage: 0,
419
- currentTokens: 0,
420
- maxTokens: 0,
421
- timestamp: null,
422
- stale: true,
423
- sessions,
424
- },
425
- };
426
- }
427
- try {
428
- const state = JSON.parse(readFileSync(stateFile, 'utf-8'));
429
- const timestamp = state.timestamp;
430
- const staleMs = state.staleAfterMs ?? 5000;
431
- const percentage = state.contextWindow?.percentage ?? 0;
432
- const current = state.contextWindow?.currentTokens ?? 0;
433
- const max = state.contextWindow?.maxTokens ?? 0;
434
- let status = state.status ?? 'unknown';
435
- const fileTime = new Date(timestamp).getTime();
436
- if (Date.now() - fileTime > staleMs) {
437
- status = 'stale';
438
- }
439
- return {
440
- success: true,
441
- data: {
442
- available: true,
443
- status,
444
- percentage,
445
- currentTokens: current,
446
- maxTokens: max,
447
- timestamp,
448
- stale: status === 'stale',
449
- sessions,
450
- },
451
- };
452
- }
453
- catch {
454
- return {
455
- success: true,
456
- data: {
457
- available: false,
458
- status: 'error',
459
- percentage: 0,
460
- currentTokens: 0,
461
- maxTokens: 0,
462
- timestamp: null,
463
- stale: true,
464
- sessions,
465
- },
466
- };
467
- }
468
- }
469
- catch (err) {
470
- return engineError('E_GENERAL', err.message);
471
- }
472
- }
473
- // ===== Sequence =====
474
- /**
475
- * Read task ID sequence state from canonical SQLite metadata.
476
- * Supports 'show' and 'check' actions.
477
- * @task T4815
478
- */
479
- export async function systemSequence(projectRoot, params) {
480
- const { showSequence, checkSequence } = await import('@cleocode/core/internal');
481
- try {
482
- const action = params?.action ?? 'show';
483
- if (action === 'check') {
484
- const check = await checkSequence(projectRoot);
485
- return { success: true, data: check };
486
- }
487
- const seq = await showSequence(projectRoot);
488
- return {
489
- success: true,
490
- data: {
491
- counter: Number(seq.counter ?? 0),
492
- lastId: String(seq.lastId ?? ''),
493
- checksum: String(seq.checksum ?? ''),
494
- nextId: String(seq.nextId ?? ''),
495
- },
496
- };
497
- }
498
- catch (err) {
499
- return engineError('E_NOT_FOUND', err.message);
500
- }
501
- }
502
- // ===== Inject Generate (MVI) =====
503
- /**
504
- * Generate Minimum Viable Injection (MVI).
505
- */
506
- export async function systemInjectGenerate(projectRoot) {
507
- try {
508
- const root = projectRoot || process.cwd();
509
- const accessor = await getAccessor(root);
510
- const result = await generateInjection(root, accessor);
511
- return { success: true, data: result };
512
- }
513
- catch (err) {
514
- return engineError('E_GENERAL', err.message);
515
- }
516
- }
517
- // ===== Metrics =====
518
- /**
519
- * System metrics: token usage, compliance summary, session counts.
520
- * @task T4631
521
- */
522
- export async function systemMetrics(projectRoot, params) {
523
- try {
524
- const accessor = await getAccessor(projectRoot);
525
- const result = await getSystemMetrics(projectRoot, params, accessor);
526
- return { success: true, data: result };
527
- }
528
- catch (err) {
529
- return engineError('E_GENERAL', err.message);
530
- }
531
- }
532
- // ===== Health =====
533
- /**
534
- * System health check: verify core data files exist and are valid.
535
- * @task T4631
536
- */
537
- export function systemHealth(projectRoot, params) {
538
- try {
539
- const result = getSystemHealth(projectRoot, params);
540
- return { success: true, data: result };
541
- }
542
- catch (err) {
543
- return engineError('E_GENERAL', err.message);
544
- }
545
- }
546
- // ===== Diagnostics =====
547
- /**
548
- * System diagnostics: extended health checks with fix suggestions.
549
- * @task T4631
550
- */
551
- export async function systemDiagnostics(projectRoot, params) {
552
- try {
553
- const result = await getSystemDiagnostics(projectRoot, params);
554
- return { success: true, data: result };
555
- }
556
- catch (err) {
557
- return engineError('E_GENERAL', err.message);
558
- }
559
- }
560
- // ===== Help =====
561
- /**
562
- * Return help text for the system.
563
- * @task T4631
564
- */
565
- export function systemHelp(_projectRoot, params) {
566
- const topic = params?.topic;
567
- if (topic) {
568
- const topicHelp = HELP_TOPICS[topic];
569
- if (topicHelp) {
570
- return { success: true, data: topicHelp };
571
- }
572
- return engineError('E_NOT_FOUND', `Unknown help topic: ${topic}. Available topics: ${Object.keys(HELP_TOPICS).join(', ')}`);
573
- }
574
- return {
575
- success: true,
576
- data: {
577
- content: [
578
- 'CLEO Task Management System',
579
- '',
580
- 'Essential Commands:',
581
- ' ct find "query" - Fuzzy search tasks',
582
- ' ct show T1234 - Full task details',
583
- ' ct add "Task" - Create task',
584
- ' ct done <id> - Complete task',
585
- ' ct start <id> - Start working on task',
586
- ' ct dash - Project overview',
587
- ' ct session list - List sessions',
588
- '',
589
- 'Help Topics: session, tasks, focus, labels, compliance',
590
- ].join('\n'),
591
- relatedCommands: ['ct find', 'ct show', 'ct add', 'ct done', 'ct dash'],
592
- },
593
- };
594
- }
595
- // ===== Roadmap =====
596
- /**
597
- * Generate roadmap from pending epics and optional CHANGELOG history.
598
- * @task T4631
599
- */
600
- export async function systemRoadmap(projectRoot, params) {
601
- try {
602
- const accessor = await getAccessor(projectRoot);
603
- const result = await getRoadmap({
604
- includeHistory: params?.includeHistory,
605
- upcomingOnly: params?.upcomingOnly,
606
- cwd: projectRoot,
607
- }, accessor);
608
- return { success: true, data: result };
609
- }
610
- catch (err) {
611
- return engineError('E_NOT_INITIALIZED', err.message);
612
- }
613
- }
614
- // ===== Compliance =====
615
- /**
616
- * System compliance report from COMPLIANCE.jsonl.
617
- * @task T4631
618
- */
619
- export function systemCompliance(projectRoot, params) {
620
- try {
621
- if (params?.subcommand === 'trend') {
622
- const compliancePath = join(projectRoot, '.cleo', 'metrics', 'COMPLIANCE.jsonl');
623
- let entries = [];
624
- if (existsSync(compliancePath)) {
625
- const content = readFileSync(compliancePath, 'utf-8').trim();
626
- if (content) {
627
- entries = content
628
- .split('\n')
629
- .filter((l) => l.trim())
630
- .map((l) => JSON.parse(l));
631
- }
632
- }
633
- if (params.epic) {
634
- entries = entries.filter((e) => {
635
- const ctx = (e._context ?? {});
636
- return ctx.epic_id === params.epic || ctx.task_id === params.epic;
637
- });
638
- }
639
- if (params.days) {
640
- const cutoff = new Date(Date.now() - params.days * 86400000).toISOString();
641
- entries = entries.filter((e) => e.timestamp >= cutoff);
642
- }
643
- const totalEntries = entries.length;
644
- const compliance = entries.map((e) => (e.compliance ?? {}));
645
- const avgPassRate = totalEntries > 0
646
- ? Math.round((compliance.reduce((sum, c) => sum + (c.compliance_pass_rate ?? 0), 0) /
647
- totalEntries) *
648
- 1000) / 1000
649
- : 0;
650
- const avgAdherence = totalEntries > 0
651
- ? Math.round((compliance.reduce((sum, c) => sum + (c.rule_adherence_score ?? 0), 0) /
652
- totalEntries) *
653
- 1000) / 1000
654
- : 0;
655
- const totalViolations = compliance.reduce((sum, c) => sum + (c.violation_count ?? 0), 0);
656
- const byDate = {};
657
- for (const e of entries) {
658
- const date = e.timestamp.split('T')[0];
659
- if (!byDate[date])
660
- byDate[date] = [];
661
- byDate[date].push(e);
662
- }
663
- const dataPoints = Object.entries(byDate)
664
- .sort(([a], [b]) => a.localeCompare(b))
665
- .map(([date, dayEntries]) => {
666
- const dayCompliance = dayEntries.map((de) => (de.compliance ?? {}));
667
- return {
668
- date,
669
- entries: dayEntries.length,
670
- avgPassRate: dayCompliance.reduce((s, c) => s + (c.compliance_pass_rate ?? 0), 0) /
671
- dayEntries.length,
672
- violations: dayCompliance.reduce((s, c) => s + (c.violation_count ?? 0), 0),
673
- };
674
- });
675
- let trend;
676
- if (dataPoints.length >= 2) {
677
- const first = dataPoints[0].avgPassRate;
678
- const last = dataPoints[dataPoints.length - 1].avgPassRate;
679
- trend = last > first ? 'improving' : last < first ? 'declining' : 'stable';
680
- }
681
- else {
682
- trend = 'insufficient_data';
683
- }
684
- return {
685
- success: true,
686
- data: {
687
- totalEntries,
688
- averagePassRate: avgPassRate,
689
- averageAdherence: avgAdherence,
690
- totalViolations,
691
- trend,
692
- dataPoints,
693
- },
694
- };
695
- }
696
- // Default: summary (possibly filtered by epic/days)
697
- const compliancePath = join(projectRoot, '.cleo', 'metrics', 'COMPLIANCE.jsonl');
698
- let entries = [];
699
- if (existsSync(compliancePath)) {
700
- const content = readFileSync(compliancePath, 'utf-8').trim();
701
- if (content) {
702
- entries = content
703
- .split('\n')
704
- .filter((l) => l.trim())
705
- .map((l) => JSON.parse(l));
706
- }
707
- }
708
- if (params?.epic) {
709
- entries = entries.filter((e) => {
710
- const ctx = (e._context ?? {});
711
- return ctx.epic_id === params.epic || ctx.task_id === params.epic;
712
- });
713
- }
714
- if (params?.days) {
715
- const cutoff = new Date(Date.now() - params.days * 86400000).toISOString();
716
- entries = entries.filter((e) => e.timestamp >= cutoff);
717
- }
718
- const totalEntries = entries.length;
719
- const compliance = entries.map((e) => (e.compliance ?? {}));
720
- const avgPassRate = totalEntries > 0
721
- ? Math.round((compliance.reduce((sum, c) => sum + (c.compliance_pass_rate ?? 0), 0) /
722
- totalEntries) *
723
- 1000) / 1000
724
- : 0;
725
- const avgAdherence = totalEntries > 0
726
- ? Math.round((compliance.reduce((sum, c) => sum + (c.rule_adherence_score ?? 0), 0) /
727
- totalEntries) *
728
- 1000) / 1000
729
- : 0;
730
- const totalViolations = compliance.reduce((sum, c) => sum + (c.violation_count ?? 0), 0);
731
- return {
732
- success: true,
733
- data: {
734
- totalEntries,
735
- averagePassRate: avgPassRate,
736
- averageAdherence: avgAdherence,
737
- totalViolations,
738
- },
739
- };
740
- }
741
- catch (err) {
742
- return engineError('E_GENERAL', err.message);
743
- }
744
- }
745
- // ===== Backup =====
746
- /**
747
- * Create a backup of CLEO data files.
748
- * @task T4631
749
- */
750
- export function systemBackup(projectRoot, params) {
751
- try {
752
- const result = createBackup(projectRoot, params);
753
- return { success: true, data: result };
754
- }
755
- catch (err) {
756
- return engineError('E_GENERAL', err.message);
757
- }
758
- }
759
- // ===== Restore =====
760
- /**
761
- * Restore from a backup.
762
- * @task T4631
763
- */
764
- export function systemRestore(projectRoot, params) {
765
- try {
766
- const result = restoreBackup(projectRoot, params);
767
- return { success: true, data: result };
768
- }
769
- catch (err) {
770
- const code = err.code ?? 'E_RESTORE_FAILED';
771
- return engineError(code, err.message);
772
- }
773
- }
774
- /**
775
- * Restore an individual file from backup.
776
- * @task T5329
777
- */
778
- export async function backupRestore(projectRoot, fileName, options) {
779
- try {
780
- const { getBackupDir, getTaskPath, getConfigPath } = await import('@cleocode/core/internal');
781
- const { restoreFromBackup, listBackups } = await import('@cleocode/core/internal');
782
- const backupDir = getBackupDir(projectRoot);
783
- const targetPathMap = {
784
- 'tasks.db': getTaskPath,
785
- 'config.json': getConfigPath,
786
- };
787
- const pathGetter = targetPathMap[fileName];
788
- if (!pathGetter) {
789
- return engineError('E_INVALID_INPUT', `Unknown file: ${fileName}. Valid files: tasks.db, config.json`);
790
- }
791
- const targetPath = pathGetter();
792
- const backups = await listBackups(fileName, backupDir);
793
- if (backups.length === 0) {
794
- return engineError('E_NOT_FOUND', `No backups found for ${fileName}`);
795
- }
796
- if (options?.dryRun) {
797
- return {
798
- success: true,
799
- data: {
800
- restored: false,
801
- file: fileName,
802
- from: backups[0],
803
- targetPath,
804
- dryRun: true,
805
- },
806
- };
807
- }
808
- const restoredFrom = await restoreFromBackup(fileName, backupDir, targetPath);
809
- return {
810
- success: true,
811
- data: {
812
- restored: true,
813
- file: fileName,
814
- from: restoredFrom,
815
- targetPath,
816
- },
817
- };
818
- }
819
- catch (err) {
820
- const message = err instanceof Error ? err.message : String(err);
821
- if (message.includes('not found') || message.includes('No backups')) {
822
- return engineError('E_NOT_FOUND', message);
823
- }
824
- return engineError('E_GENERAL', `Backup restore failed: ${message}`);
825
- }
826
- }
827
- // ===== Migrate =====
828
- /**
829
- * Check/run schema migrations.
830
- * @task T4631
831
- */
832
- export async function systemMigrate(projectRoot, params) {
833
- try {
834
- const result = await getMigrationStatus(projectRoot, params);
835
- return { success: true, data: result };
836
- }
837
- catch (err) {
838
- const code = err.code ?? 'E_MIGRATE_FAILED';
839
- return engineError(code, err.message);
840
- }
841
- }
842
- // ===== Cleanup =====
843
- /**
844
- * Cleanup stale data (sessions, backups, logs).
845
- * @task T4631
846
- */
847
- export async function systemCleanup(projectRoot, params) {
848
- try {
849
- const result = await cleanupSystem(projectRoot, params);
850
- return { success: true, data: result };
851
- }
852
- catch (err) {
853
- const code = err.code ?? 'E_CLEANUP_FAILED';
854
- return engineError(code, err.message);
855
- }
856
- }
857
- // ===== Audit =====
858
- /**
859
- * Audit data integrity.
860
- * @task T4631
861
- */
862
- export async function systemAudit(projectRoot, params) {
863
- try {
864
- const result = await auditData(projectRoot, params);
865
- return { success: true, data: result };
866
- }
867
- catch (err) {
868
- return engineError('E_GENERAL', err.message);
869
- }
870
- }
871
- /**
872
- * Sync check (no external sync targets in native mode).
873
- * @task T4631
874
- */
875
- export function systemSync(_projectRoot, params) {
876
- return {
877
- success: true,
878
- data: {
879
- direction: params?.direction ?? 'up',
880
- synced: 0,
881
- conflicts: 0,
882
- message: 'Sync is a no-op in native mode (no external sync targets configured)',
883
- },
884
- };
885
- }
886
- // ===== Safestop =====
887
- /**
888
- * Safe stop: signal clean shutdown for agents.
889
- * @task T4631
890
- */
891
- export function systemSafestop(projectRoot, params) {
892
- try {
893
- const result = safestop(projectRoot, params);
894
- return { success: true, data: result };
895
- }
896
- catch (err) {
897
- return engineError('E_GENERAL', err.message);
898
- }
899
- }
900
- // ===== Uncancel =====
901
- /**
902
- * Uncancel a cancelled task (restore to pending).
903
- * @task T4631
904
- */
905
- export async function systemUncancel(projectRoot, params) {
906
- try {
907
- const result = await uncancelTask(projectRoot, params);
908
- return { success: true, data: result };
909
- }
910
- catch (err) {
911
- const code = err.code ?? 'E_UNCANCEL_FAILED';
912
- return engineError(code, err.message);
913
- }
914
- }
915
- // ===== Doctor Report =====
916
- /**
917
- * Run comprehensive doctor diagnostics.
918
- * @task T4795
919
- */
920
- export async function systemDoctor(projectRoot) {
921
- const { coreDoctorReport } = await import('@cleocode/core/internal');
922
- try {
923
- const result = await coreDoctorReport(projectRoot);
924
- return { success: true, data: result };
925
- }
926
- catch (err) {
927
- return engineError('E_GENERAL', err.message);
928
- }
929
- }
930
- // ===== Doctor Fix =====
931
- /**
932
- * Run auto-fix for failed doctor checks.
933
- * @task T4795
934
- */
935
- export async function systemFix(projectRoot) {
936
- const { runDoctorFixes } = await import('@cleocode/core/internal');
937
- try {
938
- const result = await runDoctorFixes(projectRoot);
939
- return { success: true, data: result };
940
- }
941
- catch (err) {
942
- return engineError('E_GENERAL', err.message);
943
- }
944
- }
945
- /**
946
- * Runtime/channel diagnostics for CLI/MCP installation mode checks.
947
- * @task T4815
948
- */
949
- export async function systemRuntime(_projectRoot, params) {
950
- try {
951
- const data = await getRuntimeDiagnostics({ detailed: params?.detailed ?? false });
952
- return { success: true, data };
953
- }
954
- catch (err) {
955
- return engineError('E_RUNTIME_ERROR', err.message);
956
- }
957
- }
958
- /**
959
- * Repair task ID sequence using canonical core implementation.
960
- * @task T4815
961
- */
962
- export async function systemSequenceRepair(projectRoot) {
963
- try {
964
- const repair = await repairSequence(projectRoot);
965
- return {
966
- success: true,
967
- data: {
968
- repaired: repair.repaired,
969
- message: repair.message,
970
- counter: repair.counter,
971
- oldCounter: repair.oldCounter,
972
- newCounter: repair.newCounter,
973
- },
974
- };
975
- }
976
- catch (err) {
977
- return engineError('E_SEQUENCE_REPAIR_FAILED', err.message);
978
- }
979
- }
980
- //# sourceMappingURL=system-engine.js.map