@cleocode/cleo 2026.4.41 → 2026.4.43

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 (757) hide show
  1. package/dist/cli/index.js +187 -31
  2. package/dist/cli/index.js.map +3 -3
  3. package/package.json +12 -8
  4. package/dist/cli/commander-shim.d.ts +0 -112
  5. package/dist/cli/commander-shim.d.ts.map +0 -1
  6. package/dist/cli/commander-shim.js +0 -233
  7. package/dist/cli/commander-shim.js.map +0 -1
  8. package/dist/cli/commands/adapter.d.ts +0 -21
  9. package/dist/cli/commands/adapter.d.ts.map +0 -1
  10. package/dist/cli/commands/adapter.js +0 -73
  11. package/dist/cli/commands/adapter.js.map +0 -1
  12. package/dist/cli/commands/add-batch.d.ts +0 -16
  13. package/dist/cli/commands/add-batch.d.ts.map +0 -1
  14. package/dist/cli/commands/add-batch.js +0 -133
  15. package/dist/cli/commands/add-batch.js.map +0 -1
  16. package/dist/cli/commands/add.d.ts +0 -12
  17. package/dist/cli/commands/add.d.ts.map +0 -1
  18. package/dist/cli/commands/add.js +0 -238
  19. package/dist/cli/commands/add.js.map +0 -1
  20. package/dist/cli/commands/admin.d.ts +0 -15
  21. package/dist/cli/commands/admin.d.ts.map +0 -1
  22. package/dist/cli/commands/admin.js +0 -143
  23. package/dist/cli/commands/admin.js.map +0 -1
  24. package/dist/cli/commands/adr.d.ts +0 -27
  25. package/dist/cli/commands/adr.d.ts.map +0 -1
  26. package/dist/cli/commands/adr.js +0 -79
  27. package/dist/cli/commands/adr.js.map +0 -1
  28. package/dist/cli/commands/agent-profile-status.d.ts +0 -98
  29. package/dist/cli/commands/agent-profile-status.d.ts.map +0 -1
  30. package/dist/cli/commands/agent-profile-status.js +0 -71
  31. package/dist/cli/commands/agent-profile-status.js.map +0 -1
  32. package/dist/cli/commands/agent.d.ts +0 -41
  33. package/dist/cli/commands/agent.d.ts.map +0 -1
  34. package/dist/cli/commands/agent.js +0 -2270
  35. package/dist/cli/commands/agent.js.map +0 -1
  36. package/dist/cli/commands/agents.d.ts +0 -17
  37. package/dist/cli/commands/agents.d.ts.map +0 -1
  38. package/dist/cli/commands/agents.js +0 -20
  39. package/dist/cli/commands/agents.js.map +0 -1
  40. package/dist/cli/commands/analyze.d.ts +0 -12
  41. package/dist/cli/commands/analyze.d.ts.map +0 -1
  42. package/dist/cli/commands/analyze.js +0 -20
  43. package/dist/cli/commands/analyze.js.map +0 -1
  44. package/dist/cli/commands/archive-stats.d.ts +0 -18
  45. package/dist/cli/commands/archive-stats.d.ts.map +0 -1
  46. package/dist/cli/commands/archive-stats.js +0 -49
  47. package/dist/cli/commands/archive-stats.js.map +0 -1
  48. package/dist/cli/commands/archive.d.ts +0 -12
  49. package/dist/cli/commands/archive.d.ts.map +0 -1
  50. package/dist/cli/commands/archive.js +0 -32
  51. package/dist/cli/commands/archive.js.map +0 -1
  52. package/dist/cli/commands/backfill.d.ts +0 -38
  53. package/dist/cli/commands/backfill.d.ts.map +0 -1
  54. package/dist/cli/commands/backfill.js +0 -144
  55. package/dist/cli/commands/backfill.js.map +0 -1
  56. package/dist/cli/commands/backup-inspect.d.ts +0 -24
  57. package/dist/cli/commands/backup-inspect.d.ts.map +0 -1
  58. package/dist/cli/commands/backup-inspect.js +0 -417
  59. package/dist/cli/commands/backup-inspect.js.map +0 -1
  60. package/dist/cli/commands/backup.d.ts +0 -13
  61. package/dist/cli/commands/backup.d.ts.map +0 -1
  62. package/dist/cli/commands/backup.js +0 -479
  63. package/dist/cli/commands/backup.js.map +0 -1
  64. package/dist/cli/commands/blockers.d.ts +0 -7
  65. package/dist/cli/commands/blockers.d.ts.map +0 -1
  66. package/dist/cli/commands/blockers.js +0 -16
  67. package/dist/cli/commands/blockers.js.map +0 -1
  68. package/dist/cli/commands/brain.d.ts +0 -29
  69. package/dist/cli/commands/brain.d.ts.map +0 -1
  70. package/dist/cli/commands/brain.js +0 -252
  71. package/dist/cli/commands/brain.js.map +0 -1
  72. package/dist/cli/commands/briefing.d.ts +0 -22
  73. package/dist/cli/commands/briefing.d.ts.map +0 -1
  74. package/dist/cli/commands/briefing.js +0 -45
  75. package/dist/cli/commands/briefing.js.map +0 -1
  76. package/dist/cli/commands/bug.d.ts +0 -12
  77. package/dist/cli/commands/bug.d.ts.map +0 -1
  78. package/dist/cli/commands/bug.js +0 -81
  79. package/dist/cli/commands/bug.js.map +0 -1
  80. package/dist/cli/commands/cancel.d.ts +0 -17
  81. package/dist/cli/commands/cancel.d.ts.map +0 -1
  82. package/dist/cli/commands/cancel.js +0 -28
  83. package/dist/cli/commands/cancel.js.map +0 -1
  84. package/dist/cli/commands/cant.d.ts +0 -32
  85. package/dist/cli/commands/cant.d.ts.map +0 -1
  86. package/dist/cli/commands/cant.js +0 -264
  87. package/dist/cli/commands/cant.js.map +0 -1
  88. package/dist/cli/commands/chain.d.ts +0 -16
  89. package/dist/cli/commands/chain.d.ts.map +0 -1
  90. package/dist/cli/commands/chain.js +0 -52
  91. package/dist/cli/commands/chain.js.map +0 -1
  92. package/dist/cli/commands/check.d.ts +0 -25
  93. package/dist/cli/commands/check.d.ts.map +0 -1
  94. package/dist/cli/commands/check.js +0 -193
  95. package/dist/cli/commands/check.js.map +0 -1
  96. package/dist/cli/commands/checkpoint.d.ts +0 -15
  97. package/dist/cli/commands/checkpoint.d.ts.map +0 -1
  98. package/dist/cli/commands/checkpoint.js +0 -91
  99. package/dist/cli/commands/checkpoint.js.map +0 -1
  100. package/dist/cli/commands/claim.d.ts +0 -27
  101. package/dist/cli/commands/claim.d.ts.map +0 -1
  102. package/dist/cli/commands/claim.js +0 -45
  103. package/dist/cli/commands/claim.js.map +0 -1
  104. package/dist/cli/commands/code.d.ts +0 -11
  105. package/dist/cli/commands/code.d.ts.map +0 -1
  106. package/dist/cli/commands/code.js +0 -114
  107. package/dist/cli/commands/code.js.map +0 -1
  108. package/dist/cli/commands/commands.d.ts +0 -13
  109. package/dist/cli/commands/commands.d.ts.map +0 -1
  110. package/dist/cli/commands/commands.js +0 -29
  111. package/dist/cli/commands/commands.js.map +0 -1
  112. package/dist/cli/commands/complete.d.ts +0 -12
  113. package/dist/cli/commands/complete.d.ts.map +0 -1
  114. package/dist/cli/commands/complete.js +0 -92
  115. package/dist/cli/commands/complete.js.map +0 -1
  116. package/dist/cli/commands/complexity.d.ts +0 -17
  117. package/dist/cli/commands/complexity.d.ts.map +0 -1
  118. package/dist/cli/commands/complexity.js +0 -25
  119. package/dist/cli/commands/complexity.js.map +0 -1
  120. package/dist/cli/commands/compliance.d.ts +0 -9
  121. package/dist/cli/commands/compliance.d.ts.map +0 -1
  122. package/dist/cli/commands/compliance.js +0 -110
  123. package/dist/cli/commands/compliance.js.map +0 -1
  124. package/dist/cli/commands/config.d.ts +0 -10
  125. package/dist/cli/commands/config.d.ts.map +0 -1
  126. package/dist/cli/commands/config.js +0 -69
  127. package/dist/cli/commands/config.js.map +0 -1
  128. package/dist/cli/commands/consensus.d.ts +0 -13
  129. package/dist/cli/commands/consensus.d.ts.map +0 -1
  130. package/dist/cli/commands/consensus.js +0 -45
  131. package/dist/cli/commands/consensus.js.map +0 -1
  132. package/dist/cli/commands/context.d.ts +0 -15
  133. package/dist/cli/commands/context.d.ts.map +0 -1
  134. package/dist/cli/commands/context.js +0 -76
  135. package/dist/cli/commands/context.js.map +0 -1
  136. package/dist/cli/commands/contribution.d.ts +0 -13
  137. package/dist/cli/commands/contribution.d.ts.map +0 -1
  138. package/dist/cli/commands/contribution.js +0 -41
  139. package/dist/cli/commands/contribution.js.map +0 -1
  140. package/dist/cli/commands/current.d.ts +0 -13
  141. package/dist/cli/commands/current.d.ts.map +0 -1
  142. package/dist/cli/commands/current.js +0 -20
  143. package/dist/cli/commands/current.js.map +0 -1
  144. package/dist/cli/commands/dash.d.ts +0 -12
  145. package/dist/cli/commands/dash.d.ts.map +0 -1
  146. package/dist/cli/commands/dash.js +0 -20
  147. package/dist/cli/commands/dash.js.map +0 -1
  148. package/dist/cli/commands/decomposition.d.ts +0 -13
  149. package/dist/cli/commands/decomposition.d.ts.map +0 -1
  150. package/dist/cli/commands/decomposition.js +0 -45
  151. package/dist/cli/commands/decomposition.js.map +0 -1
  152. package/dist/cli/commands/delete.d.ts +0 -12
  153. package/dist/cli/commands/delete.d.ts.map +0 -1
  154. package/dist/cli/commands/delete.js +0 -37
  155. package/dist/cli/commands/delete.js.map +0 -1
  156. package/dist/cli/commands/deps.d.ts +0 -24
  157. package/dist/cli/commands/deps.d.ts.map +0 -1
  158. package/dist/cli/commands/deps.js +0 -98
  159. package/dist/cli/commands/deps.js.map +0 -1
  160. package/dist/cli/commands/detect-drift.d.ts +0 -15
  161. package/dist/cli/commands/detect-drift.d.ts.map +0 -1
  162. package/dist/cli/commands/detect-drift.js +0 -428
  163. package/dist/cli/commands/detect-drift.js.map +0 -1
  164. package/dist/cli/commands/detect.d.ts +0 -13
  165. package/dist/cli/commands/detect.d.ts.map +0 -1
  166. package/dist/cli/commands/detect.js +0 -20
  167. package/dist/cli/commands/detect.js.map +0 -1
  168. package/dist/cli/commands/docs.d.ts +0 -13
  169. package/dist/cli/commands/docs.d.ts.map +0 -1
  170. package/dist/cli/commands/docs.js +0 -169
  171. package/dist/cli/commands/docs.js.map +0 -1
  172. package/dist/cli/commands/doctor.d.ts +0 -15
  173. package/dist/cli/commands/doctor.d.ts.map +0 -1
  174. package/dist/cli/commands/doctor.js +0 -133
  175. package/dist/cli/commands/doctor.js.map +0 -1
  176. package/dist/cli/commands/dynamic.d.ts +0 -24
  177. package/dist/cli/commands/dynamic.d.ts.map +0 -1
  178. package/dist/cli/commands/dynamic.js +0 -27
  179. package/dist/cli/commands/dynamic.js.map +0 -1
  180. package/dist/cli/commands/env.d.ts +0 -12
  181. package/dist/cli/commands/env.d.ts.map +0 -1
  182. package/dist/cli/commands/env.js +0 -44
  183. package/dist/cli/commands/env.js.map +0 -1
  184. package/dist/cli/commands/exists.d.ts +0 -24
  185. package/dist/cli/commands/exists.d.ts.map +0 -1
  186. package/dist/cli/commands/exists.js +0 -53
  187. package/dist/cli/commands/exists.js.map +0 -1
  188. package/dist/cli/commands/export-tasks.d.ts +0 -10
  189. package/dist/cli/commands/export-tasks.d.ts.map +0 -1
  190. package/dist/cli/commands/export-tasks.js +0 -47
  191. package/dist/cli/commands/export-tasks.js.map +0 -1
  192. package/dist/cli/commands/export.d.ts +0 -9
  193. package/dist/cli/commands/export.d.ts.map +0 -1
  194. package/dist/cli/commands/export.js +0 -46
  195. package/dist/cli/commands/export.js.map +0 -1
  196. package/dist/cli/commands/find.d.ts +0 -14
  197. package/dist/cli/commands/find.d.ts.map +0 -1
  198. package/dist/cli/commands/find.js +0 -152
  199. package/dist/cli/commands/find.js.map +0 -1
  200. package/dist/cli/commands/generate-changelog.d.ts +0 -14
  201. package/dist/cli/commands/generate-changelog.d.ts.map +0 -1
  202. package/dist/cli/commands/generate-changelog.js +0 -252
  203. package/dist/cli/commands/generate-changelog.js.map +0 -1
  204. package/dist/cli/commands/grade.d.ts +0 -13
  205. package/dist/cli/commands/grade.d.ts.map +0 -1
  206. package/dist/cli/commands/grade.js +0 -26
  207. package/dist/cli/commands/grade.js.map +0 -1
  208. package/dist/cli/commands/history.d.ts +0 -9
  209. package/dist/cli/commands/history.d.ts.map +0 -1
  210. package/dist/cli/commands/history.js +0 -33
  211. package/dist/cli/commands/history.js.map +0 -1
  212. package/dist/cli/commands/implementation.d.ts +0 -13
  213. package/dist/cli/commands/implementation.d.ts.map +0 -1
  214. package/dist/cli/commands/implementation.js +0 -41
  215. package/dist/cli/commands/implementation.js.map +0 -1
  216. package/dist/cli/commands/import-tasks.d.ts +0 -10
  217. package/dist/cli/commands/import-tasks.d.ts.map +0 -1
  218. package/dist/cli/commands/import-tasks.js +0 -38
  219. package/dist/cli/commands/import-tasks.js.map +0 -1
  220. package/dist/cli/commands/import.d.ts +0 -9
  221. package/dist/cli/commands/import.d.ts.map +0 -1
  222. package/dist/cli/commands/import.js +0 -28
  223. package/dist/cli/commands/import.js.map +0 -1
  224. package/dist/cli/commands/init.d.ts +0 -34
  225. package/dist/cli/commands/init.d.ts.map +0 -1
  226. package/dist/cli/commands/init.js +0 -96
  227. package/dist/cli/commands/init.js.map +0 -1
  228. package/dist/cli/commands/inject.d.ts +0 -8
  229. package/dist/cli/commands/inject.d.ts.map +0 -1
  230. package/dist/cli/commands/inject.js +0 -28
  231. package/dist/cli/commands/inject.js.map +0 -1
  232. package/dist/cli/commands/intelligence.d.ts +0 -22
  233. package/dist/cli/commands/intelligence.d.ts.map +0 -1
  234. package/dist/cli/commands/intelligence.js +0 -72
  235. package/dist/cli/commands/intelligence.js.map +0 -1
  236. package/dist/cli/commands/issue.d.ts +0 -17
  237. package/dist/cli/commands/issue.d.ts.map +0 -1
  238. package/dist/cli/commands/issue.js +0 -107
  239. package/dist/cli/commands/issue.js.map +0 -1
  240. package/dist/cli/commands/labels.d.ts +0 -17
  241. package/dist/cli/commands/labels.d.ts.map +0 -1
  242. package/dist/cli/commands/labels.js +0 -48
  243. package/dist/cli/commands/labels.js.map +0 -1
  244. package/dist/cli/commands/lifecycle.d.ts +0 -8
  245. package/dist/cli/commands/lifecycle.d.ts.map +0 -1
  246. package/dist/cli/commands/lifecycle.js +0 -128
  247. package/dist/cli/commands/lifecycle.js.map +0 -1
  248. package/dist/cli/commands/list.d.ts +0 -14
  249. package/dist/cli/commands/list.d.ts.map +0 -1
  250. package/dist/cli/commands/list.js +0 -143
  251. package/dist/cli/commands/list.js.map +0 -1
  252. package/dist/cli/commands/log.d.ts +0 -12
  253. package/dist/cli/commands/log.d.ts.map +0 -1
  254. package/dist/cli/commands/log.js +0 -30
  255. package/dist/cli/commands/log.js.map +0 -1
  256. package/dist/cli/commands/map.d.ts +0 -10
  257. package/dist/cli/commands/map.d.ts.map +0 -1
  258. package/dist/cli/commands/map.js +0 -23
  259. package/dist/cli/commands/map.js.map +0 -1
  260. package/dist/cli/commands/memory-brain.d.ts +0 -14
  261. package/dist/cli/commands/memory-brain.d.ts.map +0 -1
  262. package/dist/cli/commands/memory-brain.js +0 -377
  263. package/dist/cli/commands/memory-brain.js.map +0 -1
  264. package/dist/cli/commands/migrate-claude-mem.d.ts +0 -23
  265. package/dist/cli/commands/migrate-claude-mem.d.ts.map +0 -1
  266. package/dist/cli/commands/migrate-claude-mem.js +0 -79
  267. package/dist/cli/commands/migrate-claude-mem.js.map +0 -1
  268. package/dist/cli/commands/next.d.ts +0 -9
  269. package/dist/cli/commands/next.d.ts.map +0 -1
  270. package/dist/cli/commands/next.js +0 -20
  271. package/dist/cli/commands/next.js.map +0 -1
  272. package/dist/cli/commands/nexus.d.ts +0 -20
  273. package/dist/cli/commands/nexus.d.ts.map +0 -1
  274. package/dist/cli/commands/nexus.js +0 -1163
  275. package/dist/cli/commands/nexus.js.map +0 -1
  276. package/dist/cli/commands/observe.d.ts +0 -13
  277. package/dist/cli/commands/observe.d.ts.map +0 -1
  278. package/dist/cli/commands/observe.js +0 -30
  279. package/dist/cli/commands/observe.js.map +0 -1
  280. package/dist/cli/commands/ops.d.ts +0 -10
  281. package/dist/cli/commands/ops.d.ts.map +0 -1
  282. package/dist/cli/commands/ops.js +0 -19
  283. package/dist/cli/commands/ops.js.map +0 -1
  284. package/dist/cli/commands/orchestrate.d.ts +0 -24
  285. package/dist/cli/commands/orchestrate.d.ts.map +0 -1
  286. package/dist/cli/commands/orchestrate.js +0 -254
  287. package/dist/cli/commands/orchestrate.js.map +0 -1
  288. package/dist/cli/commands/otel.d.ts +0 -12
  289. package/dist/cli/commands/otel.d.ts.map +0 -1
  290. package/dist/cli/commands/otel.js +0 -128
  291. package/dist/cli/commands/otel.js.map +0 -1
  292. package/dist/cli/commands/phase.d.ts +0 -12
  293. package/dist/cli/commands/phase.d.ts.map +0 -1
  294. package/dist/cli/commands/phase.js +0 -91
  295. package/dist/cli/commands/phase.js.map +0 -1
  296. package/dist/cli/commands/phases.d.ts +0 -14
  297. package/dist/cli/commands/phases.d.ts.map +0 -1
  298. package/dist/cli/commands/phases.js +0 -42
  299. package/dist/cli/commands/phases.js.map +0 -1
  300. package/dist/cli/commands/plan.d.ts +0 -8
  301. package/dist/cli/commands/plan.d.ts.map +0 -1
  302. package/dist/cli/commands/plan.js +0 -15
  303. package/dist/cli/commands/plan.js.map +0 -1
  304. package/dist/cli/commands/promote.d.ts +0 -11
  305. package/dist/cli/commands/promote.d.ts.map +0 -1
  306. package/dist/cli/commands/promote.js +0 -18
  307. package/dist/cli/commands/promote.js.map +0 -1
  308. package/dist/cli/commands/provider.d.ts +0 -21
  309. package/dist/cli/commands/provider.d.ts.map +0 -1
  310. package/dist/cli/commands/provider.js +0 -88
  311. package/dist/cli/commands/provider.js.map +0 -1
  312. package/dist/cli/commands/reason.d.ts +0 -36
  313. package/dist/cli/commands/reason.d.ts.map +0 -1
  314. package/dist/cli/commands/reason.js +0 -85
  315. package/dist/cli/commands/reason.js.map +0 -1
  316. package/dist/cli/commands/refresh-memory.d.ts +0 -9
  317. package/dist/cli/commands/refresh-memory.d.ts.map +0 -1
  318. package/dist/cli/commands/refresh-memory.js +0 -24
  319. package/dist/cli/commands/refresh-memory.js.map +0 -1
  320. package/dist/cli/commands/relates.d.ts +0 -12
  321. package/dist/cli/commands/relates.d.ts.map +0 -1
  322. package/dist/cli/commands/relates.js +0 -53
  323. package/dist/cli/commands/relates.js.map +0 -1
  324. package/dist/cli/commands/release.d.ts +0 -8
  325. package/dist/cli/commands/release.d.ts.map +0 -1
  326. package/dist/cli/commands/release.js +0 -82
  327. package/dist/cli/commands/release.js.map +0 -1
  328. package/dist/cli/commands/remote.d.ts +0 -12
  329. package/dist/cli/commands/remote.d.ts.map +0 -1
  330. package/dist/cli/commands/remote.js +0 -207
  331. package/dist/cli/commands/remote.js.map +0 -1
  332. package/dist/cli/commands/reorder.d.ts +0 -17
  333. package/dist/cli/commands/reorder.d.ts.map +0 -1
  334. package/dist/cli/commands/reorder.js +0 -41
  335. package/dist/cli/commands/reorder.js.map +0 -1
  336. package/dist/cli/commands/reparent.d.ts +0 -10
  337. package/dist/cli/commands/reparent.d.ts.map +0 -1
  338. package/dist/cli/commands/reparent.js +0 -19
  339. package/dist/cli/commands/reparent.js.map +0 -1
  340. package/dist/cli/commands/research.d.ts +0 -8
  341. package/dist/cli/commands/research.d.ts.map +0 -1
  342. package/dist/cli/commands/research.js +0 -164
  343. package/dist/cli/commands/research.js.map +0 -1
  344. package/dist/cli/commands/restore.d.ts +0 -54
  345. package/dist/cli/commands/restore.d.ts.map +0 -1
  346. package/dist/cli/commands/restore.js +0 -470
  347. package/dist/cli/commands/restore.js.map +0 -1
  348. package/dist/cli/commands/roadmap.d.ts +0 -14
  349. package/dist/cli/commands/roadmap.d.ts.map +0 -1
  350. package/dist/cli/commands/roadmap.js +0 -26
  351. package/dist/cli/commands/roadmap.js.map +0 -1
  352. package/dist/cli/commands/safestop.d.ts +0 -14
  353. package/dist/cli/commands/safestop.d.ts.map +0 -1
  354. package/dist/cli/commands/safestop.js +0 -32
  355. package/dist/cli/commands/safestop.js.map +0 -1
  356. package/dist/cli/commands/schema.d.ts +0 -27
  357. package/dist/cli/commands/schema.d.ts.map +0 -1
  358. package/dist/cli/commands/schema.js +0 -160
  359. package/dist/cli/commands/schema.js.map +0 -1
  360. package/dist/cli/commands/self-update.d.ts +0 -15
  361. package/dist/cli/commands/self-update.d.ts.map +0 -1
  362. package/dist/cli/commands/self-update.js +0 -363
  363. package/dist/cli/commands/self-update.js.map +0 -1
  364. package/dist/cli/commands/sequence.d.ts +0 -11
  365. package/dist/cli/commands/sequence.d.ts.map +0 -1
  366. package/dist/cli/commands/sequence.js +0 -40
  367. package/dist/cli/commands/sequence.js.map +0 -1
  368. package/dist/cli/commands/session.d.ts +0 -12
  369. package/dist/cli/commands/session.d.ts.map +0 -1
  370. package/dist/cli/commands/session.js +0 -219
  371. package/dist/cli/commands/session.js.map +0 -1
  372. package/dist/cli/commands/show.d.ts +0 -13
  373. package/dist/cli/commands/show.d.ts.map +0 -1
  374. package/dist/cli/commands/show.js +0 -40
  375. package/dist/cli/commands/show.js.map +0 -1
  376. package/dist/cli/commands/skills.d.ts +0 -13
  377. package/dist/cli/commands/skills.d.ts.map +0 -1
  378. package/dist/cli/commands/skills.js +0 -161
  379. package/dist/cli/commands/skills.js.map +0 -1
  380. package/dist/cli/commands/snapshot.d.ts +0 -9
  381. package/dist/cli/commands/snapshot.d.ts.map +0 -1
  382. package/dist/cli/commands/snapshot.js +0 -50
  383. package/dist/cli/commands/snapshot.js.map +0 -1
  384. package/dist/cli/commands/specification.d.ts +0 -13
  385. package/dist/cli/commands/specification.d.ts.map +0 -1
  386. package/dist/cli/commands/specification.js +0 -45
  387. package/dist/cli/commands/specification.js.map +0 -1
  388. package/dist/cli/commands/start.d.ts +0 -13
  389. package/dist/cli/commands/start.d.ts.map +0 -1
  390. package/dist/cli/commands/start.js +0 -20
  391. package/dist/cli/commands/start.js.map +0 -1
  392. package/dist/cli/commands/stats.d.ts +0 -12
  393. package/dist/cli/commands/stats.d.ts.map +0 -1
  394. package/dist/cli/commands/stats.js +0 -35
  395. package/dist/cli/commands/stats.js.map +0 -1
  396. package/dist/cli/commands/sticky.d.ts +0 -16
  397. package/dist/cli/commands/sticky.d.ts.map +0 -1
  398. package/dist/cli/commands/sticky.js +0 -218
  399. package/dist/cli/commands/sticky.js.map +0 -1
  400. package/dist/cli/commands/stop.d.ts +0 -13
  401. package/dist/cli/commands/stop.d.ts.map +0 -1
  402. package/dist/cli/commands/stop.js +0 -20
  403. package/dist/cli/commands/stop.js.map +0 -1
  404. package/dist/cli/commands/sync.d.ts +0 -26
  405. package/dist/cli/commands/sync.d.ts.map +0 -1
  406. package/dist/cli/commands/sync.js +0 -82
  407. package/dist/cli/commands/sync.js.map +0 -1
  408. package/dist/cli/commands/testing.d.ts +0 -13
  409. package/dist/cli/commands/testing.d.ts.map +0 -1
  410. package/dist/cli/commands/testing.js +0 -65
  411. package/dist/cli/commands/testing.js.map +0 -1
  412. package/dist/cli/commands/token.d.ts +0 -10
  413. package/dist/cli/commands/token.d.ts.map +0 -1
  414. package/dist/cli/commands/token.js +0 -135
  415. package/dist/cli/commands/token.js.map +0 -1
  416. package/dist/cli/commands/update.d.ts +0 -12
  417. package/dist/cli/commands/update.d.ts.map +0 -1
  418. package/dist/cli/commands/update.js +0 -83
  419. package/dist/cli/commands/update.js.map +0 -1
  420. package/dist/cli/commands/upgrade.d.ts +0 -18
  421. package/dist/cli/commands/upgrade.d.ts.map +0 -1
  422. package/dist/cli/commands/upgrade.js +0 -103
  423. package/dist/cli/commands/upgrade.js.map +0 -1
  424. package/dist/cli/commands/validate.d.ts +0 -12
  425. package/dist/cli/commands/validate.d.ts.map +0 -1
  426. package/dist/cli/commands/validate.js +0 -24
  427. package/dist/cli/commands/validate.js.map +0 -1
  428. package/dist/cli/commands/verify.d.ts +0 -8
  429. package/dist/cli/commands/verify.d.ts.map +0 -1
  430. package/dist/cli/commands/verify.js +0 -28
  431. package/dist/cli/commands/verify.js.map +0 -1
  432. package/dist/cli/commands/web.d.ts +0 -13
  433. package/dist/cli/commands/web.d.ts.map +0 -1
  434. package/dist/cli/commands/web.js +0 -277
  435. package/dist/cli/commands/web.js.map +0 -1
  436. package/dist/cli/field-context.d.ts +0 -32
  437. package/dist/cli/field-context.d.ts.map +0 -1
  438. package/dist/cli/field-context.js +0 -47
  439. package/dist/cli/field-context.js.map +0 -1
  440. package/dist/cli/format-context.d.ts +0 -32
  441. package/dist/cli/format-context.d.ts.map +0 -1
  442. package/dist/cli/format-context.js +0 -50
  443. package/dist/cli/format-context.js.map +0 -1
  444. package/dist/cli/help-generator.d.ts +0 -74
  445. package/dist/cli/help-generator.d.ts.map +0 -1
  446. package/dist/cli/help-generator.js +0 -229
  447. package/dist/cli/help-generator.js.map +0 -1
  448. package/dist/cli/help-renderer.d.ts +0 -28
  449. package/dist/cli/help-renderer.d.ts.map +0 -1
  450. package/dist/cli/help-renderer.js +0 -301
  451. package/dist/cli/help-renderer.js.map +0 -1
  452. package/dist/cli/index.d.ts +0 -9
  453. package/dist/cli/index.d.ts.map +0 -1
  454. package/dist/cli/logger-bootstrap.d.ts +0 -6
  455. package/dist/cli/logger-bootstrap.d.ts.map +0 -1
  456. package/dist/cli/logger-bootstrap.js +0 -10
  457. package/dist/cli/logger-bootstrap.js.map +0 -1
  458. package/dist/cli/middleware/output-format.d.ts +0 -30
  459. package/dist/cli/middleware/output-format.d.ts.map +0 -1
  460. package/dist/cli/middleware/output-format.js +0 -35
  461. package/dist/cli/middleware/output-format.js.map +0 -1
  462. package/dist/cli/progress.d.ts +0 -84
  463. package/dist/cli/progress.d.ts.map +0 -1
  464. package/dist/cli/progress.js +0 -169
  465. package/dist/cli/progress.js.map +0 -1
  466. package/dist/cli/renderers/colors.d.ts +0 -32
  467. package/dist/cli/renderers/colors.d.ts.map +0 -1
  468. package/dist/cli/renderers/colors.js +0 -141
  469. package/dist/cli/renderers/colors.js.map +0 -1
  470. package/dist/cli/renderers/error.d.ts +0 -13
  471. package/dist/cli/renderers/error.d.ts.map +0 -1
  472. package/dist/cli/renderers/error.js +0 -42
  473. package/dist/cli/renderers/error.js.map +0 -1
  474. package/dist/cli/renderers/index.d.ts +0 -87
  475. package/dist/cli/renderers/index.d.ts.map +0 -1
  476. package/dist/cli/renderers/index.js +0 -262
  477. package/dist/cli/renderers/index.js.map +0 -1
  478. package/dist/cli/renderers/lafs-validator.d.ts +0 -91
  479. package/dist/cli/renderers/lafs-validator.d.ts.map +0 -1
  480. package/dist/cli/renderers/lafs-validator.js +0 -176
  481. package/dist/cli/renderers/lafs-validator.js.map +0 -1
  482. package/dist/cli/renderers/normalizer.d.ts +0 -21
  483. package/dist/cli/renderers/normalizer.d.ts.map +0 -1
  484. package/dist/cli/renderers/normalizer.js +0 -106
  485. package/dist/cli/renderers/normalizer.js.map +0 -1
  486. package/dist/cli/renderers/system.d.ts +0 -25
  487. package/dist/cli/renderers/system.d.ts.map +0 -1
  488. package/dist/cli/renderers/system.js +0 -416
  489. package/dist/cli/renderers/system.js.map +0 -1
  490. package/dist/cli/renderers/tasks.d.ts +0 -28
  491. package/dist/cli/renderers/tasks.d.ts.map +0 -1
  492. package/dist/cli/renderers/tasks.js +0 -306
  493. package/dist/cli/renderers/tasks.js.map +0 -1
  494. package/dist/dispatch/adapters/cli.d.ts +0 -67
  495. package/dist/dispatch/adapters/cli.d.ts.map +0 -1
  496. package/dist/dispatch/adapters/cli.js +0 -329
  497. package/dist/dispatch/adapters/cli.js.map +0 -1
  498. package/dist/dispatch/context/session-context.d.ts +0 -54
  499. package/dist/dispatch/context/session-context.d.ts.map +0 -1
  500. package/dist/dispatch/context/session-context.js +0 -61
  501. package/dist/dispatch/context/session-context.js.map +0 -1
  502. package/dist/dispatch/dispatcher.d.ts +0 -23
  503. package/dist/dispatch/dispatcher.d.ts.map +0 -1
  504. package/dist/dispatch/dispatcher.js +0 -84
  505. package/dist/dispatch/dispatcher.js.map +0 -1
  506. package/dist/dispatch/domains/_base.d.ts +0 -59
  507. package/dist/dispatch/domains/_base.d.ts.map +0 -1
  508. package/dist/dispatch/domains/_base.js +0 -77
  509. package/dist/dispatch/domains/_base.js.map +0 -1
  510. package/dist/dispatch/domains/_meta.d.ts +0 -23
  511. package/dist/dispatch/domains/_meta.d.ts.map +0 -1
  512. package/dist/dispatch/domains/_meta.js +0 -25
  513. package/dist/dispatch/domains/_meta.js.map +0 -1
  514. package/dist/dispatch/domains/_routing.d.ts +0 -8
  515. package/dist/dispatch/domains/_routing.d.ts.map +0 -1
  516. package/dist/dispatch/domains/_routing.js +0 -20
  517. package/dist/dispatch/domains/_routing.js.map +0 -1
  518. package/dist/dispatch/domains/admin.d.ts +0 -25
  519. package/dist/dispatch/domains/admin.d.ts.map +0 -1
  520. package/dist/dispatch/domains/admin.js +0 -791
  521. package/dist/dispatch/domains/admin.js.map +0 -1
  522. package/dist/dispatch/domains/check.d.ts +0 -22
  523. package/dist/dispatch/domains/check.d.ts.map +0 -1
  524. package/dist/dispatch/domains/check.js +0 -381
  525. package/dist/dispatch/domains/check.js.map +0 -1
  526. package/dist/dispatch/domains/conduit.d.ts +0 -38
  527. package/dist/dispatch/domains/conduit.d.ts.map +0 -1
  528. package/dist/dispatch/domains/conduit.js +0 -247
  529. package/dist/dispatch/domains/conduit.js.map +0 -1
  530. package/dist/dispatch/domains/index.d.ts +0 -28
  531. package/dist/dispatch/domains/index.d.ts.map +0 -1
  532. package/dist/dispatch/domains/index.js +0 -43
  533. package/dist/dispatch/domains/index.js.map +0 -1
  534. package/dist/dispatch/domains/intelligence.d.ts +0 -26
  535. package/dist/dispatch/domains/intelligence.d.ts.map +0 -1
  536. package/dist/dispatch/domains/intelligence.js +0 -154
  537. package/dist/dispatch/domains/intelligence.js.map +0 -1
  538. package/dist/dispatch/domains/memory.d.ts +0 -22
  539. package/dist/dispatch/domains/memory.d.ts.map +0 -1
  540. package/dist/dispatch/domains/memory.js +0 -387
  541. package/dist/dispatch/domains/memory.js.map +0 -1
  542. package/dist/dispatch/domains/nexus.d.ts +0 -22
  543. package/dist/dispatch/domains/nexus.d.ts.map +0 -1
  544. package/dist/dispatch/domains/nexus.js +0 -286
  545. package/dist/dispatch/domains/nexus.js.map +0 -1
  546. package/dist/dispatch/domains/orchestrate.d.ts +0 -26
  547. package/dist/dispatch/domains/orchestrate.d.ts.map +0 -1
  548. package/dist/dispatch/domains/orchestrate.js +0 -691
  549. package/dist/dispatch/domains/orchestrate.js.map +0 -1
  550. package/dist/dispatch/domains/pipeline.d.ts +0 -35
  551. package/dist/dispatch/domains/pipeline.d.ts.map +0 -1
  552. package/dist/dispatch/domains/pipeline.js +0 -593
  553. package/dist/dispatch/domains/pipeline.js.map +0 -1
  554. package/dist/dispatch/domains/session.d.ts +0 -22
  555. package/dist/dispatch/domains/session.d.ts.map +0 -1
  556. package/dist/dispatch/domains/session.js +0 -267
  557. package/dist/dispatch/domains/session.js.map +0 -1
  558. package/dist/dispatch/domains/sticky.d.ts +0 -20
  559. package/dist/dispatch/domains/sticky.d.ts.map +0 -1
  560. package/dist/dispatch/domains/sticky.js +0 -167
  561. package/dist/dispatch/domains/sticky.js.map +0 -1
  562. package/dist/dispatch/domains/tasks.d.ts +0 -25
  563. package/dist/dispatch/domains/tasks.d.ts.map +0 -1
  564. package/dist/dispatch/domains/tasks.js +0 -368
  565. package/dist/dispatch/domains/tasks.js.map +0 -1
  566. package/dist/dispatch/domains/tools.d.ts +0 -37
  567. package/dist/dispatch/domains/tools.d.ts.map +0 -1
  568. package/dist/dispatch/domains/tools.js +0 -481
  569. package/dist/dispatch/domains/tools.js.map +0 -1
  570. package/dist/dispatch/engines/_error.d.ts +0 -119
  571. package/dist/dispatch/engines/_error.d.ts.map +0 -1
  572. package/dist/dispatch/engines/_error.js +0 -298
  573. package/dist/dispatch/engines/_error.js.map +0 -1
  574. package/dist/dispatch/engines/code-engine.d.ts +0 -18
  575. package/dist/dispatch/engines/code-engine.d.ts.map +0 -1
  576. package/dist/dispatch/engines/code-engine.js +0 -71
  577. package/dist/dispatch/engines/code-engine.js.map +0 -1
  578. package/dist/dispatch/engines/codebase-map-engine.d.ts +0 -31
  579. package/dist/dispatch/engines/codebase-map-engine.d.ts.map +0 -1
  580. package/dist/dispatch/engines/codebase-map-engine.js +0 -43
  581. package/dist/dispatch/engines/codebase-map-engine.js.map +0 -1
  582. package/dist/dispatch/engines/config-engine.d.ts +0 -32
  583. package/dist/dispatch/engines/config-engine.d.ts.map +0 -1
  584. package/dist/dispatch/engines/config-engine.js +0 -70
  585. package/dist/dispatch/engines/config-engine.js.map +0 -1
  586. package/dist/dispatch/engines/hooks-engine.d.ts +0 -96
  587. package/dist/dispatch/engines/hooks-engine.d.ts.map +0 -1
  588. package/dist/dispatch/engines/hooks-engine.js +0 -144
  589. package/dist/dispatch/engines/hooks-engine.js.map +0 -1
  590. package/dist/dispatch/engines/init-engine.d.ts +0 -56
  591. package/dist/dispatch/engines/init-engine.d.ts.map +0 -1
  592. package/dist/dispatch/engines/init-engine.js +0 -78
  593. package/dist/dispatch/engines/init-engine.js.map +0 -1
  594. package/dist/dispatch/engines/lifecycle-engine.d.ts +0 -66
  595. package/dist/dispatch/engines/lifecycle-engine.d.ts.map +0 -1
  596. package/dist/dispatch/engines/lifecycle-engine.js +0 -224
  597. package/dist/dispatch/engines/lifecycle-engine.js.map +0 -1
  598. package/dist/dispatch/engines/memory-engine.d.ts +0 -10
  599. package/dist/dispatch/engines/memory-engine.d.ts.map +0 -1
  600. package/dist/dispatch/engines/memory-engine.js +0 -10
  601. package/dist/dispatch/engines/memory-engine.js.map +0 -1
  602. package/dist/dispatch/engines/nexus-engine.d.ts +0 -167
  603. package/dist/dispatch/engines/nexus-engine.d.ts.map +0 -1
  604. package/dist/dispatch/engines/nexus-engine.js +0 -356
  605. package/dist/dispatch/engines/nexus-engine.js.map +0 -1
  606. package/dist/dispatch/engines/orchestrate-engine.d.ts +0 -141
  607. package/dist/dispatch/engines/orchestrate-engine.d.ts.map +0 -1
  608. package/dist/dispatch/engines/orchestrate-engine.js +0 -912
  609. package/dist/dispatch/engines/orchestrate-engine.js.map +0 -1
  610. package/dist/dispatch/engines/pipeline-engine.d.ts +0 -51
  611. package/dist/dispatch/engines/pipeline-engine.d.ts.map +0 -1
  612. package/dist/dispatch/engines/pipeline-engine.js +0 -191
  613. package/dist/dispatch/engines/pipeline-engine.js.map +0 -1
  614. package/dist/dispatch/engines/release-engine.d.ts +0 -94
  615. package/dist/dispatch/engines/release-engine.d.ts.map +0 -1
  616. package/dist/dispatch/engines/release-engine.js +0 -763
  617. package/dist/dispatch/engines/release-engine.js.map +0 -1
  618. package/dist/dispatch/engines/session-engine.d.ts +0 -387
  619. package/dist/dispatch/engines/session-engine.d.ts.map +0 -1
  620. package/dist/dispatch/engines/session-engine.js +0 -924
  621. package/dist/dispatch/engines/session-engine.js.map +0 -1
  622. package/dist/dispatch/engines/sticky-engine.d.ts +0 -100
  623. package/dist/dispatch/engines/sticky-engine.d.ts.map +0 -1
  624. package/dist/dispatch/engines/sticky-engine.js +0 -181
  625. package/dist/dispatch/engines/sticky-engine.js.map +0 -1
  626. package/dist/dispatch/engines/system-engine.d.ts +0 -543
  627. package/dist/dispatch/engines/system-engine.d.ts.map +0 -1
  628. package/dist/dispatch/engines/system-engine.js +0 -1273
  629. package/dist/dispatch/engines/system-engine.js.map +0 -1
  630. package/dist/dispatch/engines/task-engine.d.ts +0 -971
  631. package/dist/dispatch/engines/task-engine.d.ts.map +0 -1
  632. package/dist/dispatch/engines/task-engine.js +0 -1255
  633. package/dist/dispatch/engines/task-engine.js.map +0 -1
  634. package/dist/dispatch/engines/template-parser.d.ts +0 -85
  635. package/dist/dispatch/engines/template-parser.d.ts.map +0 -1
  636. package/dist/dispatch/engines/template-parser.js +0 -108
  637. package/dist/dispatch/engines/template-parser.js.map +0 -1
  638. package/dist/dispatch/engines/tools-engine.d.ts +0 -270
  639. package/dist/dispatch/engines/tools-engine.d.ts.map +0 -1
  640. package/dist/dispatch/engines/tools-engine.js +0 -663
  641. package/dist/dispatch/engines/tools-engine.js.map +0 -1
  642. package/dist/dispatch/engines/validate-engine.d.ts +0 -218
  643. package/dist/dispatch/engines/validate-engine.d.ts.map +0 -1
  644. package/dist/dispatch/engines/validate-engine.js +0 -737
  645. package/dist/dispatch/engines/validate-engine.js.map +0 -1
  646. package/dist/dispatch/index.d.ts +0 -20
  647. package/dist/dispatch/index.d.ts.map +0 -1
  648. package/dist/dispatch/index.js +0 -19
  649. package/dist/dispatch/index.js.map +0 -1
  650. package/dist/dispatch/lib/background-jobs.d.ts +0 -86
  651. package/dist/dispatch/lib/background-jobs.d.ts.map +0 -1
  652. package/dist/dispatch/lib/background-jobs.js +0 -183
  653. package/dist/dispatch/lib/background-jobs.js.map +0 -1
  654. package/dist/dispatch/lib/budget.d.ts +0 -36
  655. package/dist/dispatch/lib/budget.d.ts.map +0 -1
  656. package/dist/dispatch/lib/budget.js +0 -109
  657. package/dist/dispatch/lib/budget.js.map +0 -1
  658. package/dist/dispatch/lib/capability-matrix.d.ts +0 -11
  659. package/dist/dispatch/lib/capability-matrix.d.ts.map +0 -1
  660. package/dist/dispatch/lib/capability-matrix.js +0 -10
  661. package/dist/dispatch/lib/capability-matrix.js.map +0 -1
  662. package/dist/dispatch/lib/config-loader.d.ts +0 -42
  663. package/dist/dispatch/lib/config-loader.d.ts.map +0 -1
  664. package/dist/dispatch/lib/config-loader.js +0 -217
  665. package/dist/dispatch/lib/config-loader.js.map +0 -1
  666. package/dist/dispatch/lib/config.d.ts +0 -11
  667. package/dist/dispatch/lib/config.d.ts.map +0 -1
  668. package/dist/dispatch/lib/config.js +0 -10
  669. package/dist/dispatch/lib/config.js.map +0 -1
  670. package/dist/dispatch/lib/defaults.d.ts +0 -115
  671. package/dist/dispatch/lib/defaults.d.ts.map +0 -1
  672. package/dist/dispatch/lib/defaults.js +0 -61
  673. package/dist/dispatch/lib/defaults.js.map +0 -1
  674. package/dist/dispatch/lib/engine.d.ts +0 -26
  675. package/dist/dispatch/lib/engine.d.ts.map +0 -1
  676. package/dist/dispatch/lib/engine.js +0 -46
  677. package/dist/dispatch/lib/engine.js.map +0 -1
  678. package/dist/dispatch/lib/exit-codes.d.ts +0 -35
  679. package/dist/dispatch/lib/exit-codes.d.ts.map +0 -1
  680. package/dist/dispatch/lib/exit-codes.js +0 -60
  681. package/dist/dispatch/lib/exit-codes.js.map +0 -1
  682. package/dist/dispatch/lib/gateway-meta.d.ts +0 -37
  683. package/dist/dispatch/lib/gateway-meta.d.ts.map +0 -1
  684. package/dist/dispatch/lib/gateway-meta.js +0 -50
  685. package/dist/dispatch/lib/gateway-meta.js.map +0 -1
  686. package/dist/dispatch/lib/job-manager-accessor.d.ts +0 -9
  687. package/dist/dispatch/lib/job-manager-accessor.d.ts.map +0 -1
  688. package/dist/dispatch/lib/job-manager-accessor.js +0 -13
  689. package/dist/dispatch/lib/job-manager-accessor.js.map +0 -1
  690. package/dist/dispatch/lib/meta.d.ts +0 -26
  691. package/dist/dispatch/lib/meta.d.ts.map +0 -1
  692. package/dist/dispatch/lib/meta.js +0 -37
  693. package/dist/dispatch/lib/meta.js.map +0 -1
  694. package/dist/dispatch/lib/param-utils.d.ts +0 -11
  695. package/dist/dispatch/lib/param-utils.d.ts.map +0 -1
  696. package/dist/dispatch/lib/param-utils.js +0 -10
  697. package/dist/dispatch/lib/param-utils.js.map +0 -1
  698. package/dist/dispatch/lib/projections.d.ts +0 -56
  699. package/dist/dispatch/lib/projections.d.ts.map +0 -1
  700. package/dist/dispatch/lib/projections.js +0 -65
  701. package/dist/dispatch/lib/projections.js.map +0 -1
  702. package/dist/dispatch/lib/proto-envelope.d.ts +0 -56
  703. package/dist/dispatch/lib/proto-envelope.d.ts.map +0 -1
  704. package/dist/dispatch/lib/proto-envelope.js +0 -17
  705. package/dist/dispatch/lib/proto-envelope.js.map +0 -1
  706. package/dist/dispatch/lib/schema-utils.d.ts +0 -39
  707. package/dist/dispatch/lib/schema-utils.d.ts.map +0 -1
  708. package/dist/dispatch/lib/schema-utils.js +0 -88
  709. package/dist/dispatch/lib/schema-utils.js.map +0 -1
  710. package/dist/dispatch/lib/security.d.ts +0 -11
  711. package/dist/dispatch/lib/security.d.ts.map +0 -1
  712. package/dist/dispatch/lib/security.js +0 -10
  713. package/dist/dispatch/lib/security.js.map +0 -1
  714. package/dist/dispatch/middleware/audit.d.ts +0 -23
  715. package/dist/dispatch/middleware/audit.d.ts.map +0 -1
  716. package/dist/dispatch/middleware/audit.js +0 -169
  717. package/dist/dispatch/middleware/audit.js.map +0 -1
  718. package/dist/dispatch/middleware/field-filter.d.ts +0 -25
  719. package/dist/dispatch/middleware/field-filter.d.ts.map +0 -1
  720. package/dist/dispatch/middleware/field-filter.js +0 -70
  721. package/dist/dispatch/middleware/field-filter.js.map +0 -1
  722. package/dist/dispatch/middleware/pipeline.d.ts +0 -33
  723. package/dist/dispatch/middleware/pipeline.d.ts.map +0 -1
  724. package/dist/dispatch/middleware/pipeline.js +0 -60
  725. package/dist/dispatch/middleware/pipeline.js.map +0 -1
  726. package/dist/dispatch/middleware/projection.d.ts +0 -35
  727. package/dist/dispatch/middleware/projection.d.ts.map +0 -1
  728. package/dist/dispatch/middleware/projection.js +0 -146
  729. package/dist/dispatch/middleware/projection.js.map +0 -1
  730. package/dist/dispatch/middleware/protocol-enforcement.d.ts +0 -30
  731. package/dist/dispatch/middleware/protocol-enforcement.d.ts.map +0 -1
  732. package/dist/dispatch/middleware/protocol-enforcement.js +0 -56
  733. package/dist/dispatch/middleware/protocol-enforcement.js.map +0 -1
  734. package/dist/dispatch/middleware/rate-limiter.d.ts +0 -72
  735. package/dist/dispatch/middleware/rate-limiter.d.ts.map +0 -1
  736. package/dist/dispatch/middleware/rate-limiter.js +0 -127
  737. package/dist/dispatch/middleware/rate-limiter.js.map +0 -1
  738. package/dist/dispatch/middleware/sanitizer.d.ts +0 -24
  739. package/dist/dispatch/middleware/sanitizer.d.ts.map +0 -1
  740. package/dist/dispatch/middleware/sanitizer.js +0 -56
  741. package/dist/dispatch/middleware/sanitizer.js.map +0 -1
  742. package/dist/dispatch/middleware/session-resolver.d.ts +0 -26
  743. package/dist/dispatch/middleware/session-resolver.d.ts.map +0 -1
  744. package/dist/dispatch/middleware/session-resolver.js +0 -65
  745. package/dist/dispatch/middleware/session-resolver.js.map +0 -1
  746. package/dist/dispatch/middleware/verification-gates.d.ts +0 -22
  747. package/dist/dispatch/middleware/verification-gates.d.ts.map +0 -1
  748. package/dist/dispatch/middleware/verification-gates.js +0 -59
  749. package/dist/dispatch/middleware/verification-gates.js.map +0 -1
  750. package/dist/dispatch/registry.d.ts +0 -91
  751. package/dist/dispatch/registry.d.ts.map +0 -1
  752. package/dist/dispatch/registry.js +0 -3457
  753. package/dist/dispatch/registry.js.map +0 -1
  754. package/dist/dispatch/types.d.ts +0 -206
  755. package/dist/dispatch/types.d.ts.map +0 -1
  756. package/dist/dispatch/types.js +0 -26
  757. package/dist/dispatch/types.js.map +0 -1
@@ -1,912 +0,0 @@
1
- /**
2
- * Orchestrate Engine
3
- *
4
- * Thin wrapper layer that delegates to core modules.
5
- * All business logic lives in src/core/orchestration/.
6
- *
7
- * Wave 7a (T432): composeSpawnPayload from @cleocode/cant is now wired into
8
- * the orchestrateSpawnExecute path. Before the Pi adapter spawn call, the
9
- * composer runs JIT context assembly (context_sources from BRAIN + mental model)
10
- * and produces a token-budgeted systemPrompt. The resulting prompt replaces the
11
- * raw prepareSpawn prompt so subagents receive fully-composed context at spawn
12
- * time. This unblocks the ULTRAPLAN Wave 5 empirical gate (T432 blocker).
13
- *
14
- * @task T4478
15
- * @task T4784
16
- * @task T432
17
- */
18
- // Core module imports
19
- import { orchestrationAnalyzeDependencies as analyzeDependencies, analyzeEpic, buildBrainState, computeEpicStatus, computeOverallStatus, computeProgress, computeStartupSummary, endParallelExecution, estimateContext, getAccessor, orchestrationGetCriticalPath as getCriticalPath, getEnrichedWaves, orchestrationGetNextTask as getNextTask, getParallelStatus, orchestrationGetReadyTasks as getReadyTasks, getSkillContent, getUnblockOpportunities, prepareSpawn, resolveProjectRoot, startParallelExecution, validateSpawnReadiness, } from '@cleocode/core/internal';
20
- import { cleoErrorToEngineError, engineError } from './_error.js';
21
- import { sessionContextInject, sessionEnd, sessionStatus } from './session-engine.js';
22
- /**
23
- * Send a structured orchestration event to conduit.db via the active agent
24
- * credential. Failures are silently swallowed — conduit events MUST NOT block
25
- * or alter orchestration outcomes.
26
- *
27
- * @param cwd - Project root used to locate conduit.db and the agent registry.
28
- * @param to - Recipient agent ID (e.g. 'cleo-core').
29
- * @param event - Structured event payload (LAFS-shaped JSON).
30
- */
31
- async function sendConduitEvent(cwd, to, event) {
32
- try {
33
- const { AgentRegistryAccessor, createConduit } = await import('@cleocode/core/internal');
34
- const registry = new AgentRegistryAccessor(cwd);
35
- const conduit = await createConduit(registry);
36
- try {
37
- await conduit.send(to, JSON.stringify(event));
38
- }
39
- finally {
40
- await conduit.disconnect();
41
- }
42
- }
43
- catch {
44
- // Best-effort: conduit failures must never surface to callers
45
- }
46
- }
47
- /**
48
- * Load all tasks from task data.
49
- */
50
- async function loadTasks(projectRoot) {
51
- const root = projectRoot || resolveProjectRoot();
52
- try {
53
- const accessor = await getAccessor(root);
54
- const result = await accessor.queryTasks({});
55
- return result?.tasks ?? [];
56
- }
57
- catch {
58
- return [];
59
- }
60
- }
61
- /**
62
- * orchestrate.status - Get orchestrator status
63
- * @task T4478
64
- */
65
- export async function orchestrateStatus(epicId, projectRoot) {
66
- try {
67
- const root = projectRoot || resolveProjectRoot();
68
- const tasks = await loadTasks(root);
69
- if (epicId) {
70
- const epic = tasks.find((t) => t.id === epicId);
71
- if (!epic) {
72
- return engineError('E_NOT_FOUND', `Epic ${epicId} not found`);
73
- }
74
- const children = tasks.filter((t) => t.parentId === epicId);
75
- const status = computeEpicStatus(epicId, epic.title, children);
76
- return { success: true, data: status };
77
- }
78
- // No epicId - return overall status
79
- const status = computeOverallStatus(tasks);
80
- return { success: true, data: status };
81
- }
82
- catch (err) {
83
- return engineError('E_GENERAL', err.message);
84
- }
85
- }
86
- /**
87
- * orchestrate.analyze - Dependency analysis
88
- * @task T4478
89
- */
90
- export async function orchestrateAnalyze(epicId, projectRoot, mode) {
91
- // Mode: critical-path (delegates to critical path engine)
92
- if (mode === 'critical-path') {
93
- return orchestrateCriticalPath(projectRoot);
94
- }
95
- // Default mode: analysis (requires epicId)
96
- if (!epicId) {
97
- return engineError('E_INVALID_INPUT', 'epicId is required for standard analysis');
98
- }
99
- try {
100
- const root = projectRoot || resolveProjectRoot();
101
- const accessor = await getAccessor(root);
102
- const result = await analyzeEpic(epicId, root, accessor);
103
- // Add dependency graph and circular dep detection via core analyze module
104
- const tasks = await loadTasks(root);
105
- const children = tasks.filter((t) => t.parentId === epicId);
106
- const depAnalysis = analyzeDependencies(children, tasks);
107
- return {
108
- success: true,
109
- data: {
110
- epicId: result.epicId,
111
- epicTitle: tasks.find((t) => t.id === epicId)?.title || epicId,
112
- totalTasks: result.totalTasks,
113
- waves: result.waves,
114
- circularDependencies: depAnalysis.circularDependencies,
115
- missingDependencies: depAnalysis.missingDependencies,
116
- dependencyGraph: depAnalysis.dependencyGraph,
117
- },
118
- };
119
- }
120
- catch (err) {
121
- const code = err.code ?? 'E_GENERAL';
122
- return engineError(code, err.message);
123
- }
124
- }
125
- /**
126
- * orchestrate.ready - Get parallel-safe tasks (ready to execute)
127
- * @task T4478
128
- */
129
- export async function orchestrateReady(epicId, projectRoot) {
130
- if (!epicId) {
131
- return engineError('E_INVALID_INPUT', 'epicId is required');
132
- }
133
- try {
134
- const root = projectRoot || resolveProjectRoot();
135
- const accessor = await getAccessor(root);
136
- const readyTasks = await getReadyTasks(epicId, root, accessor);
137
- const ready = readyTasks.filter((t) => t.ready);
138
- return {
139
- success: true,
140
- data: {
141
- epicId,
142
- readyTasks: ready.map((t) => ({
143
- id: t.taskId,
144
- title: t.title,
145
- priority: 'medium', // getReadyTasks doesn't return priority
146
- depends: t.blockers,
147
- })),
148
- total: ready.length,
149
- },
150
- };
151
- }
152
- catch (err) {
153
- const code = err.code ?? 'E_GENERAL';
154
- return engineError(code, err.message);
155
- }
156
- }
157
- /**
158
- * orchestrate.next - Next task to spawn
159
- * @task T4478
160
- */
161
- export async function orchestrateNext(epicId, projectRoot) {
162
- if (!epicId) {
163
- return engineError('E_INVALID_INPUT', 'epicId is required');
164
- }
165
- try {
166
- const root = projectRoot || resolveProjectRoot();
167
- const accessor = await getAccessor(root);
168
- const nextTask = await getNextTask(epicId, root, accessor);
169
- if (!nextTask) {
170
- return {
171
- success: true,
172
- data: {
173
- epicId,
174
- nextTask: null,
175
- message: 'No tasks ready to spawn. All pending tasks may have unmet dependencies.',
176
- },
177
- };
178
- }
179
- // Get all ready tasks for alternatives
180
- const readyTasks = await getReadyTasks(epicId, root, accessor);
181
- const ready = readyTasks.filter((t) => t.ready);
182
- return {
183
- success: true,
184
- data: {
185
- epicId,
186
- nextTask: { id: nextTask.taskId, title: nextTask.title, priority: 'medium' },
187
- alternatives: ready
188
- .slice(1, 4)
189
- .map((t) => ({ id: t.taskId, title: t.title, priority: 'medium' })),
190
- totalReady: ready.length,
191
- },
192
- };
193
- }
194
- catch (err) {
195
- const code = err.code ?? 'E_GENERAL';
196
- return engineError(code, err.message);
197
- }
198
- }
199
- /**
200
- * orchestrate.waves - Compute dependency waves
201
- * @task T4478
202
- */
203
- export async function orchestrateWaves(epicId, projectRoot) {
204
- if (!epicId) {
205
- return engineError('E_INVALID_INPUT', 'epicId is required');
206
- }
207
- try {
208
- const root = projectRoot || resolveProjectRoot();
209
- const accessor = await getAccessor(root);
210
- const result = await getEnrichedWaves(epicId, root, accessor);
211
- return { success: true, data: result };
212
- }
213
- catch (err) {
214
- const code = err.code ?? 'E_GENERAL';
215
- return engineError(code, err.message);
216
- }
217
- }
218
- /**
219
- * orchestrate.context - Context usage check
220
- * @task T4478
221
- */
222
- export async function orchestrateContext(epicId, projectRoot) {
223
- try {
224
- const root = projectRoot || resolveProjectRoot();
225
- const tasks = await loadTasks(root);
226
- let taskCount = tasks.length;
227
- if (epicId) {
228
- taskCount = tasks.filter((t) => t.parentId === epicId).length;
229
- }
230
- const contextData = estimateContext(taskCount, root, epicId);
231
- return { success: true, data: contextData };
232
- }
233
- catch (err) {
234
- return engineError('E_GENERAL', err.message);
235
- }
236
- }
237
- /**
238
- * orchestrate.validate - Validate spawn readiness for a task
239
- * @task T4478
240
- */
241
- export async function orchestrateValidate(taskId, projectRoot) {
242
- if (!taskId) {
243
- return engineError('E_INVALID_INPUT', 'taskId is required');
244
- }
245
- try {
246
- const root = projectRoot || resolveProjectRoot();
247
- const accessor = await getAccessor(root);
248
- const result = await validateSpawnReadiness(taskId, root, accessor);
249
- return { success: true, data: result };
250
- }
251
- catch (err) {
252
- return engineError('E_VALIDATION', err.message);
253
- }
254
- }
255
- /**
256
- * orchestrate.spawn.select - Select best provider for spawn based on required capabilities
257
- * @task T5236
258
- */
259
- export async function orchestrateSpawnSelectProvider(capabilities, _projectRoot) {
260
- if (!capabilities || capabilities.length === 0) {
261
- return engineError('E_INVALID_INPUT', 'At least one capability is required');
262
- }
263
- try {
264
- const { initializeDefaultAdapters, spawnRegistry } = await import('@cleocode/core/internal');
265
- const { getAllProviders, getProvidersBySpawnCapability, providerSupportsById } = await import('@cleocode/caamp');
266
- await initializeDefaultAdapters();
267
- // Get providers matching all required capabilities
268
- let matchingProviders = [];
269
- if (capabilities.length === 1) {
270
- // Single capability - use direct filter
271
- matchingProviders = getProvidersBySpawnCapability(capabilities[0]);
272
- }
273
- else {
274
- // Multiple capabilities - find intersection
275
- const providerSets = capabilities.map((cap) => new Set(getProvidersBySpawnCapability(cap).map((p) => p.id)));
276
- // Find intersection of all provider IDs
277
- const allProviders = await spawnRegistry.listSpawnCapable();
278
- const intersection = allProviders
279
- .filter((adapter) => providerSets.every((set) => set.has(adapter.providerId)))
280
- .map((adapter) => getAllProviders().find((p) => p.id === adapter.providerId))
281
- .filter((provider) => provider !== undefined);
282
- matchingProviders = intersection;
283
- }
284
- if (matchingProviders.length === 0) {
285
- return {
286
- success: false,
287
- error: {
288
- code: 'E_SPAWN_NO_PROVIDER',
289
- message: `No provider found with all required capabilities: ${capabilities.join(', ')}`,
290
- exitCode: 60,
291
- },
292
- };
293
- }
294
- // Get first registered adapter for the matching providers
295
- const adapter = matchingProviders
296
- .map((p) => spawnRegistry.getForProvider(p.id))
297
- .find((a) => a !== undefined);
298
- if (!adapter) {
299
- return {
300
- success: false,
301
- error: {
302
- code: 'E_SPAWN_NO_ADAPTER',
303
- message: 'No spawn adapter registered for matching providers',
304
- exitCode: 60,
305
- },
306
- };
307
- }
308
- // Verify adapter can actually spawn
309
- const canSpawn = await adapter.canSpawn();
310
- if (!canSpawn) {
311
- return {
312
- success: false,
313
- error: {
314
- code: 'E_SPAWN_ADAPTER_UNAVAILABLE',
315
- message: `Selected adapter '${adapter.id}' cannot spawn in current environment`,
316
- exitCode: 63,
317
- },
318
- };
319
- }
320
- return {
321
- success: true,
322
- data: {
323
- providerId: adapter.providerId,
324
- adapterId: adapter.id,
325
- capabilities: capabilities.filter((cap) => providerSupportsById(adapter.providerId, `spawn.${cap}`)),
326
- },
327
- };
328
- }
329
- catch (err) {
330
- return engineError('E_GENERAL', err.message);
331
- }
332
- }
333
- /**
334
- * orchestrate.spawn.execute - Execute spawn for a task using adapter registry
335
- * @task T5236
336
- */
337
- export async function orchestrateSpawnExecute(taskId, adapterId, protocolType, projectRoot, tier) {
338
- const cwd = projectRoot ?? process.cwd();
339
- try {
340
- // Get spawn registry
341
- const { initializeDefaultAdapters, spawnRegistry } = await import('@cleocode/core/internal');
342
- await initializeDefaultAdapters();
343
- // Find adapter
344
- let adapter;
345
- if (adapterId) {
346
- adapter = spawnRegistry.get(adapterId);
347
- }
348
- else {
349
- // Auto-select first capable adapter
350
- const capable = await spawnRegistry.listSpawnCapable();
351
- adapter = capable[0];
352
- }
353
- if (!adapter) {
354
- return {
355
- success: false,
356
- error: {
357
- code: 'E_SPAWN_NO_ADAPTER',
358
- message: 'No spawn adapter available for this provider',
359
- exitCode: 60,
360
- },
361
- };
362
- }
363
- // Verify provider supports subagents using providerSupportsById
364
- const { providerSupportsById } = await import('@cleocode/caamp');
365
- if (!providerSupportsById(adapter.providerId, 'spawn.supportsSubagents')) {
366
- return {
367
- success: false,
368
- error: {
369
- code: 'E_SPAWN_CAPABILITY_UNSUPPORTED',
370
- message: `Provider ${adapter.providerId} does not support spawning subagents`,
371
- exitCode: 60,
372
- },
373
- };
374
- }
375
- // Prepare spawn context (reuse existing prepareSpawn logic)
376
- const { prepareSpawn } = await import('@cleocode/core/internal');
377
- const accessor = await getAccessor(cwd);
378
- const spawnContext = await prepareSpawn(taskId, cwd, accessor);
379
- // Check for unresolved tokens
380
- if (!spawnContext.tokenResolution.fullyResolved) {
381
- return {
382
- success: false,
383
- error: {
384
- code: 'E_SPAWN_VALIDATION_FAILED',
385
- message: `Unresolved tokens in spawn context: ${spawnContext.tokenResolution.unresolvedTokens.join(', ')}`,
386
- exitCode: 63,
387
- },
388
- };
389
- }
390
- // Build CLEO spawn context from core spawn context
391
- const { getSpawnCapableProviders } = await import('@cleocode/caamp');
392
- const providers = getSpawnCapableProviders();
393
- const provider = providers.find((p) => p.id === adapter.providerId);
394
- if (!provider) {
395
- return {
396
- success: false,
397
- error: {
398
- code: 'E_SPAWN_NO_PROVIDER',
399
- message: `Provider ${adapter.providerId} not found`,
400
- exitCode: 60,
401
- },
402
- };
403
- }
404
- // T432 (Wave 7a): JIT context assembly via composeSpawnPayload.
405
- //
406
- // Attempt to load the agent definition from the CANT bundle for this task.
407
- // If the task has a compiled .cant agent definition available, we compose
408
- // a token-budgeted system prompt that includes BRAIN context sources and
409
- // the agent's mental model. The composed prompt replaces the raw prepareSpawn
410
- // prompt. If no CANT definition is available or the composer throws, we fall
411
- // back to the raw prompt (graceful degradation — never blocks spawning).
412
- let composedPrompt = spawnContext.prompt;
413
- try {
414
- const { composeSpawnPayload } = await import('@cleocode/cant');
415
- const { brainContextProvider } = await import('@cleocode/cant');
416
- const { createHash } = await import('node:crypto');
417
- // Derive a project hash for scoped mental model lookup.
418
- const projectHash = createHash('sha256').update(cwd).digest('hex').slice(0, 12);
419
- // Look for a compiled agent definition attached to the spawn context.
420
- // The spawn context may carry an `agentDef` field if the task was
421
- // created via `cleo orchestrate spawn` with a compiled CANT bundle.
422
- // For tasks without an agentDef we use a minimal stub so that the
423
- // composer still assembles any available BRAIN context.
424
- const agentDef = spawnContext.agentDef;
425
- if (agentDef) {
426
- const provider = brainContextProvider(cwd);
427
- const payload = await composeSpawnPayload(agentDef, provider, projectHash);
428
- composedPrompt = payload.systemPrompt;
429
- }
430
- // If no agentDef, composedPrompt remains the raw prepareSpawn prompt.
431
- }
432
- catch {
433
- // Graceful degradation: composer failure must never block spawning.
434
- // The raw prompt from prepareSpawn is used unchanged.
435
- }
436
- const cleoSpawnContext = {
437
- taskId: spawnContext.taskId,
438
- protocol: protocolType || spawnContext.protocol,
439
- prompt: composedPrompt,
440
- provider: provider.id,
441
- options: {
442
- prompt: composedPrompt,
443
- },
444
- workingDirectory: cwd,
445
- tokenResolution: {
446
- resolved: [],
447
- unresolved: spawnContext.tokenResolution.unresolvedTokens,
448
- totalTokens: 0,
449
- },
450
- };
451
- // Wave 6-C/D: Capacity-aware routing — find the least-loaded agent and
452
- // attach it as a preferred routing hint on the spawn options.
453
- // Best-effort: if no agents are registered or the check throws, fall
454
- // through to default spawn behavior without blocking.
455
- try {
456
- const { findLeastLoadedAgent } = await import('@cleocode/core/internal');
457
- const leastLoaded = await findLeastLoadedAgent(undefined, cwd);
458
- if (leastLoaded) {
459
- cleoSpawnContext.options = {
460
- ...cleoSpawnContext.options,
461
- preferredAgent: leastLoaded.id,
462
- };
463
- }
464
- }
465
- catch {
466
- // Capacity check is best-effort — never block spawn
467
- }
468
- // Dispatch SubagentStart hook BEFORE spawning — triggers brain observation
469
- // recording and conduit messaging for the agent lifecycle (T555).
470
- try {
471
- const { hooks } = await import('@cleocode/core/internal');
472
- await hooks
473
- .dispatch('SubagentStart', cwd, {
474
- timestamp: new Date().toISOString(),
475
- taskId,
476
- agentId: cleoSpawnContext.options?.preferredAgent ?? `worker-${taskId}`,
477
- role: protocolType || 'worker',
478
- providerId: adapter.providerId,
479
- })
480
- .catch(() => {
481
- /* Hooks are best-effort — never block spawn */
482
- });
483
- }
484
- catch {
485
- /* Hook registry unavailable — non-fatal */
486
- }
487
- // Execute spawn
488
- const result = await adapter.spawn(cleoSpawnContext);
489
- // Dispatch SubagentStop hook AFTER spawn returns — records completion
490
- // status in brain and conduit (T555).
491
- try {
492
- const { hooks } = await import('@cleocode/core/internal');
493
- await hooks
494
- .dispatch('SubagentStop', cwd, {
495
- timestamp: new Date().toISOString(),
496
- taskId,
497
- agentId: cleoSpawnContext.options?.preferredAgent ?? `worker-${taskId}`,
498
- status: result.status,
499
- instanceId: result.instanceId,
500
- })
501
- .catch(() => {
502
- /* Hooks are best-effort — never block spawn */
503
- });
504
- }
505
- catch {
506
- /* Hook registry unavailable — non-fatal */
507
- }
508
- // Best-effort: record spawn event in conduit.db so agents can observe
509
- // orchestration activity. Never awaited in a blocking way — fires and
510
- // the main return path continues regardless of conduit outcome.
511
- void sendConduitEvent(cwd, 'cleo-core', {
512
- event: 'agent.spawned',
513
- taskId,
514
- instanceId: result.instanceId,
515
- status: result.status,
516
- providerId: adapter.providerId,
517
- adapterId: adapter.id,
518
- tier: tier ?? null,
519
- spawnedAt: new Date().toISOString(),
520
- });
521
- return {
522
- success: true,
523
- data: {
524
- instanceId: result.instanceId,
525
- status: result.status,
526
- providerId: adapter.providerId,
527
- taskId,
528
- timing: result.timing,
529
- tier: tier ?? null,
530
- },
531
- };
532
- }
533
- catch (error) {
534
- return {
535
- success: false,
536
- error: {
537
- code: 'E_SPAWN_FAILED',
538
- message: error instanceof Error ? error.message : 'Unknown spawn error',
539
- exitCode: 60,
540
- },
541
- };
542
- }
543
- }
544
- /**
545
- * orchestrate.spawn - Generate spawn prompt for a task
546
- * @task T4478
547
- */
548
- export async function orchestrateSpawn(taskId, protocolType, projectRoot, tier) {
549
- if (!taskId) {
550
- return engineError('E_INVALID_INPUT', 'taskId is required');
551
- }
552
- try {
553
- const root = projectRoot || resolveProjectRoot();
554
- // Validate readiness first
555
- const accessor = await getAccessor(root);
556
- const validation = await validateSpawnReadiness(taskId, root, accessor);
557
- if (!validation.ready) {
558
- return engineError('E_SPAWN_VALIDATION_FAILED', `Task ${taskId} is not ready to spawn`, {
559
- details: { issues: validation.issues },
560
- });
561
- }
562
- // Prepare spawn context via core
563
- const spawnContext = await prepareSpawn(taskId, root, accessor);
564
- return {
565
- success: true,
566
- data: {
567
- taskId,
568
- spawnContext: {
569
- taskId: spawnContext.taskId,
570
- protocol: spawnContext.protocol,
571
- protocolType: protocolType || spawnContext.protocol,
572
- tier: tier ?? null,
573
- },
574
- protocolType: protocolType || spawnContext.protocol,
575
- tier: tier ?? null,
576
- tokenResolution: spawnContext.tokenResolution,
577
- },
578
- };
579
- }
580
- catch (err) {
581
- const code = err.code ?? 'E_GENERAL';
582
- return engineError(code, err.message);
583
- }
584
- }
585
- /**
586
- * orchestrate.startup - Initialize orchestration for an epic
587
- * @task T4478
588
- */
589
- export async function orchestrateStartup(epicId, projectRoot) {
590
- if (!epicId) {
591
- return engineError('E_INVALID_INPUT', 'epicId is required');
592
- }
593
- try {
594
- const root = projectRoot || resolveProjectRoot();
595
- const accessor = await getAccessor(root);
596
- const tasks = await loadTasks(root);
597
- const epic = tasks.find((t) => t.id === epicId);
598
- if (!epic) {
599
- return engineError('E_NOT_FOUND', `Epic ${epicId} not found`);
600
- }
601
- const children = tasks.filter((t) => t.parentId === epicId);
602
- const readyTasks = await getReadyTasks(epicId, root, accessor);
603
- const ready = readyTasks.filter((t) => t.ready);
604
- const summary = computeStartupSummary(epicId, epic.title, children, ready.length);
605
- return { success: true, data: summary };
606
- }
607
- catch (err) {
608
- const code = err.code ?? 'E_GENERAL';
609
- return engineError(code, err.message);
610
- }
611
- }
612
- /**
613
- * orchestrate.bootstrap - Load brain state for agent bootstrapping
614
- * @task T4478
615
- * @task T4657
616
- */
617
- export async function orchestrateBootstrap(projectRoot, params) {
618
- try {
619
- const root = projectRoot || resolveProjectRoot();
620
- const accessor = await getAccessor(root);
621
- const brain = await buildBrainState(root, params, accessor);
622
- return { success: true, data: brain };
623
- }
624
- catch (err) {
625
- return engineError('E_GENERAL', err.message);
626
- }
627
- }
628
- /**
629
- * orchestrate.critical-path - Find the longest dependency chain
630
- * @task T4478
631
- */
632
- export async function orchestrateCriticalPath(projectRoot) {
633
- try {
634
- const root = projectRoot || resolveProjectRoot();
635
- const accessor = await getAccessor(root);
636
- const result = await getCriticalPath(root, accessor);
637
- return { success: true, data: result };
638
- }
639
- catch (err) {
640
- return engineError('E_GENERAL', err.message);
641
- }
642
- }
643
- /**
644
- * orchestrate.unblock-opportunities - Analyze dependency graph for unblocking opportunities
645
- * @task T4478
646
- */
647
- export async function orchestrateUnblockOpportunities(projectRoot) {
648
- try {
649
- const root = projectRoot || resolveProjectRoot();
650
- const accessor = await getAccessor(root);
651
- const result = await getUnblockOpportunities(root, accessor);
652
- return { success: true, data: result };
653
- }
654
- catch (err) {
655
- return engineError('E_GENERAL', err.message);
656
- }
657
- }
658
- /**
659
- * orchestrate.parallel - Manage parallel execution (start/end)
660
- * @task T4632
661
- */
662
- export async function orchestrateParallel(action, epicId, wave, projectRoot) {
663
- if (action === 'start') {
664
- if (wave === undefined || wave === null) {
665
- return engineError('E_INVALID_INPUT', 'wave number is required for start action');
666
- }
667
- return orchestrateParallelStart(epicId, wave, projectRoot);
668
- }
669
- if (action === 'end') {
670
- // wave is technically optional for end if we want to end ANY parallel execution,
671
- // but the current implementation expects wave.
672
- // However, endParallelExecution calls endParallelExecution(epicId, wave, root)
673
- if (wave === undefined || wave === null) {
674
- // If wave is not provided, maybe we can find the active one?
675
- // For now, let's require it to match the underlying signature or default to 0/current?
676
- // The underlying `endParallelExecution` signature is `(epicId: string, wave: number, root: string)`.
677
- // Let's require it for now to be safe, or check if we can improve this.
678
- return engineError('E_INVALID_INPUT', 'wave number is required for end action');
679
- }
680
- return orchestrateParallelEnd(epicId, wave, projectRoot);
681
- }
682
- return engineError('E_INVALID_INPUT', `Unknown parallel action: ${action}`);
683
- }
684
- /**
685
- * orchestrate.parallel.start - Start parallel execution for a wave
686
- * @task T4632
687
- */
688
- export async function orchestrateParallelStart(epicId, wave, projectRoot) {
689
- if (!epicId) {
690
- return engineError('E_INVALID_INPUT', 'epicId is required');
691
- }
692
- if (wave === undefined || wave === null) {
693
- return engineError('E_INVALID_INPUT', 'wave number is required');
694
- }
695
- try {
696
- const root = projectRoot || resolveProjectRoot();
697
- const accessor = await getAccessor(root);
698
- const result = await startParallelExecution(epicId, wave, root, accessor);
699
- return { success: true, data: result };
700
- }
701
- catch (err) {
702
- return cleoErrorToEngineError(err, 'E_GENERAL', 'Failed to start parallel execution');
703
- }
704
- }
705
- /**
706
- * orchestrate.parallel.end - End parallel execution for a wave
707
- * @task T4632
708
- */
709
- export async function orchestrateParallelEnd(epicId, wave, projectRoot) {
710
- if (!epicId) {
711
- return engineError('E_INVALID_INPUT', 'epicId is required');
712
- }
713
- try {
714
- const root = projectRoot || resolveProjectRoot();
715
- const result = await endParallelExecution(epicId, wave, root);
716
- if (result.alreadyEnded) {
717
- return {
718
- success: true,
719
- data: {
720
- epicId,
721
- wave,
722
- message: 'No parallel execution was active',
723
- alreadyEnded: true,
724
- },
725
- };
726
- }
727
- return { success: true, data: result };
728
- }
729
- catch (err) {
730
- return cleoErrorToEngineError(err, 'E_GENERAL', 'Failed to end parallel execution');
731
- }
732
- }
733
- /**
734
- * orchestrate.check - Check current orchestration state
735
- * @task T4632
736
- */
737
- export async function orchestrateCheck(projectRoot) {
738
- try {
739
- const root = projectRoot || resolveProjectRoot();
740
- const parallelState = await getParallelStatus(root);
741
- const tasks = await loadTasks(root);
742
- const activeTasks = tasks.filter((t) => t.status === 'active');
743
- const progress = computeProgress(tasks);
744
- return {
745
- success: true,
746
- data: {
747
- parallelExecution: {
748
- active: parallelState.active,
749
- epicId: parallelState.epicId || null,
750
- wave: parallelState.wave || null,
751
- tasks: parallelState.tasks || [],
752
- startedAt: parallelState.startedAt || null,
753
- },
754
- activeTasks: activeTasks.map((t) => ({ id: t.id, title: t.title, status: t.status })),
755
- progress,
756
- },
757
- };
758
- }
759
- catch (err) {
760
- return engineError('E_GENERAL', err.message);
761
- }
762
- }
763
- /**
764
- * orchestrate.skill.inject - Read skill content for injection into agent context
765
- * @task T4632
766
- */
767
- export function orchestrateSkillInject(skillName, projectRoot) {
768
- try {
769
- const root = projectRoot || resolveProjectRoot();
770
- const result = getSkillContent(skillName, root);
771
- return { success: true, data: result };
772
- }
773
- catch (err) {
774
- const code = err.code ?? 'E_GENERAL';
775
- return engineError(code, err.message);
776
- }
777
- }
778
- /**
779
- * orchestrate.handoff - Composite session handoff + successor spawn
780
- *
781
- * Step order is explicit and fixed:
782
- * 1) session.context.inject
783
- * 2) session.end
784
- * 3) orchestrate.spawn
785
- *
786
- * Idempotency policy:
787
- * - Non-idempotent overall. A retry after step 2 can duplicate spawn output.
788
- * - Failures include exact step state and a safe retry entry point.
789
- */
790
- export async function orchestrateHandoff(params, projectRoot) {
791
- if (!params.taskId) {
792
- return engineError('E_INVALID_INPUT', 'taskId is required');
793
- }
794
- if (!params.protocolType) {
795
- return engineError('E_INVALID_INPUT', 'protocolType is required');
796
- }
797
- const root = projectRoot || resolveProjectRoot();
798
- const steps = {
799
- contextInject: { status: 'pending', operation: 'session.context.inject' },
800
- sessionEnd: { status: 'pending', operation: 'session.end' },
801
- spawn: { status: 'pending', operation: 'orchestrate.spawn' },
802
- };
803
- const idempotency = {
804
- key: params.idempotencyKey ?? null,
805
- policy: 'non-idempotent',
806
- safeRetryFrom: 'start',
807
- reason: 'session.end and orchestrate.spawn mutate state and may be executed independently on retry',
808
- };
809
- let activeSessionId = null;
810
- let endedSessionId = null;
811
- const failWithStep = (code, message, failedStep, safeRetryFrom) => {
812
- idempotency.safeRetryFrom = safeRetryFrom;
813
- return engineError(code, message, {
814
- details: {
815
- failedStep,
816
- activeSessionId,
817
- endedSessionId,
818
- idempotency,
819
- steps,
820
- },
821
- fix: safeRetryFrom === 'orchestrate.spawn'
822
- ? 'Retry only step 3 with mutate orchestrate spawn'
823
- : 'Retry from step 1 with mutate orchestrate handoff',
824
- alternatives: [
825
- {
826
- action: 'Run canonical multi-op fallback manually',
827
- command: 'mutate session context.inject -> mutate session end -> mutate orchestrate spawn',
828
- },
829
- ],
830
- });
831
- };
832
- const preflight = await sessionStatus(root);
833
- if (!preflight.success) {
834
- return failWithStep(preflight.error?.code ?? 'E_NOT_INITIALIZED', preflight.error?.message ?? 'Unable to load session status', 'session.context.inject', 'start');
835
- }
836
- if (!preflight.data?.hasActiveSession || !preflight.data.session?.id) {
837
- steps.contextInject.status = 'skipped';
838
- steps.contextInject.message = 'No active session available for handoff';
839
- steps.sessionEnd.status = 'skipped';
840
- steps.sessionEnd.message = 'No active session available for handoff';
841
- steps.spawn.status = 'skipped';
842
- steps.spawn.message = 'No active session available for handoff';
843
- return failWithStep('E_SESSION_REQUIRED', 'orchestrate.handoff requires an active session', 'session.end', 'start');
844
- }
845
- activeSessionId = preflight.data.session.id;
846
- const injectResult = sessionContextInject(params.protocolType, { taskId: params.taskId, variant: params.variant }, root);
847
- if (!injectResult.success) {
848
- steps.contextInject.status = 'failed';
849
- steps.contextInject.message = injectResult.error?.message;
850
- steps.sessionEnd.status = 'skipped';
851
- steps.sessionEnd.message = 'Blocked by session.context.inject failure';
852
- steps.spawn.status = 'skipped';
853
- steps.spawn.message = 'Blocked by session.context.inject failure';
854
- return failWithStep(injectResult.error?.code ?? 'E_GENERAL', injectResult.error?.message ?? 'Failed to inject handoff context', 'session.context.inject', 'start');
855
- }
856
- steps.contextInject.status = 'completed';
857
- steps.contextInject.message = 'Handoff context injected';
858
- const endResult = await sessionEnd(root, params.note);
859
- if (!endResult.success) {
860
- steps.sessionEnd.status = 'failed';
861
- steps.sessionEnd.message = endResult.error?.message;
862
- steps.spawn.status = 'skipped';
863
- steps.spawn.message = 'Blocked by session.end failure';
864
- return failWithStep(endResult.error?.code ?? 'E_GENERAL', endResult.error?.message ?? 'Failed to end predecessor session', 'session.end', 'start');
865
- }
866
- endedSessionId = endResult.data?.sessionId ?? null;
867
- if (endedSessionId !== activeSessionId) {
868
- steps.sessionEnd.status = 'failed';
869
- steps.sessionEnd.message = `Ended session '${endedSessionId ?? 'null'}' does not match active session '${activeSessionId}'`;
870
- steps.spawn.status = 'skipped';
871
- steps.spawn.message = 'Blocked by session mismatch';
872
- return failWithStep('E_CONCURRENT_SESSION', 'Active session changed during orchestrate.handoff', 'session.end', 'start');
873
- }
874
- steps.sessionEnd.status = 'completed';
875
- steps.sessionEnd.message = `Ended session ${endedSessionId}`;
876
- const spawnResult = await orchestrateSpawn(params.taskId, params.protocolType, root, params.tier);
877
- if (!spawnResult.success) {
878
- steps.spawn.status = 'failed';
879
- steps.spawn.message = spawnResult.error?.message;
880
- return failWithStep(spawnResult.error?.code ?? 'E_GENERAL', spawnResult.error?.message ?? 'Failed to prepare successor spawn context', 'orchestrate.spawn', 'orchestrate.spawn');
881
- }
882
- steps.spawn.status = 'completed';
883
- steps.spawn.message = `Spawn prepared for ${params.taskId}`;
884
- // Best-effort: record handoff event in conduit.db so orchestrators and
885
- // observers can track session transitions. Never blocks the return.
886
- void sendConduitEvent(root, 'cleo-core', {
887
- event: 'orchestrate.handoff',
888
- taskId: params.taskId,
889
- protocolType: params.protocolType,
890
- predecessorSessionId: activeSessionId,
891
- endedSessionId,
892
- note: params.note ?? null,
893
- nextAction: params.nextAction ?? null,
894
- handoffAt: new Date().toISOString(),
895
- });
896
- return {
897
- success: true,
898
- data: {
899
- taskId: params.taskId,
900
- predecessorSessionId: activeSessionId,
901
- endedSessionId,
902
- protocolType: params.protocolType,
903
- note: params.note ?? null,
904
- nextAction: params.nextAction ?? null,
905
- idempotency,
906
- steps,
907
- contextInject: injectResult.data,
908
- spawn: spawnResult.data,
909
- },
910
- };
911
- }
912
- //# sourceMappingURL=orchestrate-engine.js.map