@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,770 +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
- * @task T4478
8
- * @task T4784
9
- */
10
- // Core module imports
11
- import { orchestrationAnalyzeDependencies as analyzeDependencies, analyzeEpic, buildBrainState, computeEpicStatus, computeOverallStatus, computeProgress, computeStartupSummary, endParallelExecution, estimateContext, orchestrationGetCriticalPath as getCriticalPath, getEnrichedWaves, orchestrationGetNextTask as getNextTask, getParallelStatus, orchestrationGetReadyTasks as getReadyTasks, getSkillContent, getUnblockOpportunities, prepareSpawn, resolveProjectRoot, startParallelExecution, validateSpawnReadiness, } from '@cleocode/core/internal';
12
- import { getAccessor } from '@cleocode/core/internal';
13
- import { engineError } from './_error.js';
14
- import { sessionContextInject, sessionEnd, sessionStatus } from './session-engine.js';
15
- /**
16
- * Load all tasks from task data.
17
- */
18
- async function loadTasks(projectRoot) {
19
- const root = projectRoot || resolveProjectRoot();
20
- try {
21
- const accessor = await getAccessor(root);
22
- const result = await accessor.queryTasks({});
23
- return result?.tasks ?? [];
24
- }
25
- catch {
26
- return [];
27
- }
28
- }
29
- /**
30
- * orchestrate.status - Get orchestrator status
31
- * @task T4478
32
- */
33
- export async function orchestrateStatus(epicId, projectRoot) {
34
- try {
35
- const root = projectRoot || resolveProjectRoot();
36
- const tasks = await loadTasks(root);
37
- if (epicId) {
38
- const epic = tasks.find((t) => t.id === epicId);
39
- if (!epic) {
40
- return engineError('E_NOT_FOUND', `Epic ${epicId} not found`);
41
- }
42
- const children = tasks.filter((t) => t.parentId === epicId);
43
- const status = computeEpicStatus(epicId, epic.title, children);
44
- return { success: true, data: status };
45
- }
46
- // No epicId - return overall status
47
- const status = computeOverallStatus(tasks);
48
- return { success: true, data: status };
49
- }
50
- catch (err) {
51
- return engineError('E_GENERAL', err.message);
52
- }
53
- }
54
- /**
55
- * orchestrate.analyze - Dependency analysis
56
- * @task T4478
57
- */
58
- export async function orchestrateAnalyze(epicId, projectRoot, mode) {
59
- // Mode: critical-path (delegates to critical path engine)
60
- if (mode === 'critical-path') {
61
- return orchestrateCriticalPath(projectRoot);
62
- }
63
- // Default mode: analysis (requires epicId)
64
- if (!epicId) {
65
- return engineError('E_INVALID_INPUT', 'epicId is required for standard analysis');
66
- }
67
- try {
68
- const root = projectRoot || resolveProjectRoot();
69
- const accessor = await getAccessor(root);
70
- const result = await analyzeEpic(epicId, root, accessor);
71
- // Add dependency graph and circular dep detection via core analyze module
72
- const tasks = await loadTasks(root);
73
- const children = tasks.filter((t) => t.parentId === epicId);
74
- const depAnalysis = analyzeDependencies(children, tasks);
75
- return {
76
- success: true,
77
- data: {
78
- epicId: result.epicId,
79
- epicTitle: tasks.find((t) => t.id === epicId)?.title || epicId,
80
- totalTasks: result.totalTasks,
81
- waves: result.waves,
82
- circularDependencies: depAnalysis.circularDependencies,
83
- missingDependencies: depAnalysis.missingDependencies,
84
- dependencyGraph: depAnalysis.dependencyGraph,
85
- },
86
- };
87
- }
88
- catch (err) {
89
- const code = err.code ?? 'E_GENERAL';
90
- return engineError(code, err.message);
91
- }
92
- }
93
- /**
94
- * orchestrate.ready - Get parallel-safe tasks (ready to execute)
95
- * @task T4478
96
- */
97
- export async function orchestrateReady(epicId, projectRoot) {
98
- if (!epicId) {
99
- return engineError('E_INVALID_INPUT', 'epicId is required');
100
- }
101
- try {
102
- const root = projectRoot || resolveProjectRoot();
103
- const accessor = await getAccessor(root);
104
- const readyTasks = await getReadyTasks(epicId, root, accessor);
105
- const ready = readyTasks.filter((t) => t.ready);
106
- return {
107
- success: true,
108
- data: {
109
- epicId,
110
- readyTasks: ready.map((t) => ({
111
- id: t.taskId,
112
- title: t.title,
113
- priority: 'medium', // getReadyTasks doesn't return priority
114
- depends: t.blockers,
115
- })),
116
- total: ready.length,
117
- },
118
- };
119
- }
120
- catch (err) {
121
- const code = err.code ?? 'E_GENERAL';
122
- return engineError(code, err.message);
123
- }
124
- }
125
- /**
126
- * orchestrate.next - Next task to spawn
127
- * @task T4478
128
- */
129
- export async function orchestrateNext(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 nextTask = await getNextTask(epicId, root, accessor);
137
- if (!nextTask) {
138
- return {
139
- success: true,
140
- data: {
141
- epicId,
142
- nextTask: null,
143
- message: 'No tasks ready to spawn. All pending tasks may have unmet dependencies.',
144
- },
145
- };
146
- }
147
- // Get all ready tasks for alternatives
148
- const readyTasks = await getReadyTasks(epicId, root, accessor);
149
- const ready = readyTasks.filter((t) => t.ready);
150
- return {
151
- success: true,
152
- data: {
153
- epicId,
154
- nextTask: { id: nextTask.taskId, title: nextTask.title, priority: 'medium' },
155
- alternatives: ready
156
- .slice(1, 4)
157
- .map((t) => ({ id: t.taskId, title: t.title, priority: 'medium' })),
158
- totalReady: ready.length,
159
- },
160
- };
161
- }
162
- catch (err) {
163
- const code = err.code ?? 'E_GENERAL';
164
- return engineError(code, err.message);
165
- }
166
- }
167
- /**
168
- * orchestrate.waves - Compute dependency waves
169
- * @task T4478
170
- */
171
- export async function orchestrateWaves(epicId, projectRoot) {
172
- if (!epicId) {
173
- return engineError('E_INVALID_INPUT', 'epicId is required');
174
- }
175
- try {
176
- const root = projectRoot || resolveProjectRoot();
177
- const accessor = await getAccessor(root);
178
- const result = await getEnrichedWaves(epicId, root, accessor);
179
- return { success: true, data: result };
180
- }
181
- catch (err) {
182
- const code = err.code ?? 'E_GENERAL';
183
- return engineError(code, err.message);
184
- }
185
- }
186
- /**
187
- * orchestrate.context - Context usage check
188
- * @task T4478
189
- */
190
- export async function orchestrateContext(epicId, projectRoot) {
191
- try {
192
- const root = projectRoot || resolveProjectRoot();
193
- const tasks = await loadTasks(root);
194
- let taskCount = tasks.length;
195
- if (epicId) {
196
- taskCount = tasks.filter((t) => t.parentId === epicId).length;
197
- }
198
- const contextData = estimateContext(taskCount, root, epicId);
199
- return { success: true, data: contextData };
200
- }
201
- catch (err) {
202
- return engineError('E_GENERAL', err.message);
203
- }
204
- }
205
- /**
206
- * orchestrate.validate - Validate spawn readiness for a task
207
- * @task T4478
208
- */
209
- export async function orchestrateValidate(taskId, projectRoot) {
210
- if (!taskId) {
211
- return engineError('E_INVALID_INPUT', 'taskId is required');
212
- }
213
- try {
214
- const root = projectRoot || resolveProjectRoot();
215
- const accessor = await getAccessor(root);
216
- const result = await validateSpawnReadiness(taskId, root, accessor);
217
- return { success: true, data: result };
218
- }
219
- catch (err) {
220
- return engineError('E_VALIDATION', err.message);
221
- }
222
- }
223
- /**
224
- * orchestrate.spawn.select - Select best provider for spawn based on required capabilities
225
- * @task T5236
226
- */
227
- export async function orchestrateSpawnSelectProvider(capabilities, _projectRoot) {
228
- if (!capabilities || capabilities.length === 0) {
229
- return engineError('E_INVALID_INPUT', 'At least one capability is required');
230
- }
231
- try {
232
- const { initializeDefaultAdapters, spawnRegistry } = await import('@cleocode/core/internal');
233
- const { getAllProviders, getProvidersBySpawnCapability, providerSupportsById } = await import('@cleocode/caamp');
234
- await initializeDefaultAdapters();
235
- // Get providers matching all required capabilities
236
- let matchingProviders = [];
237
- if (capabilities.length === 1) {
238
- // Single capability - use direct filter
239
- matchingProviders = getProvidersBySpawnCapability(capabilities[0]);
240
- }
241
- else {
242
- // Multiple capabilities - find intersection
243
- const providerSets = capabilities.map((cap) => new Set(getProvidersBySpawnCapability(cap).map((p) => p.id)));
244
- // Find intersection of all provider IDs
245
- const allProviders = await spawnRegistry.listSpawnCapable();
246
- const intersection = allProviders
247
- .filter((adapter) => providerSets.every((set) => set.has(adapter.providerId)))
248
- .map((adapter) => getAllProviders().find((p) => p.id === adapter.providerId))
249
- .filter((provider) => provider !== undefined);
250
- matchingProviders = intersection;
251
- }
252
- if (matchingProviders.length === 0) {
253
- return {
254
- success: false,
255
- error: {
256
- code: 'E_SPAWN_NO_PROVIDER',
257
- message: `No provider found with all required capabilities: ${capabilities.join(', ')}`,
258
- exitCode: 60,
259
- },
260
- };
261
- }
262
- // Get first registered adapter for the matching providers
263
- const adapter = matchingProviders
264
- .map((p) => spawnRegistry.getForProvider(p.id))
265
- .find((a) => a !== undefined);
266
- if (!adapter) {
267
- return {
268
- success: false,
269
- error: {
270
- code: 'E_SPAWN_NO_ADAPTER',
271
- message: 'No spawn adapter registered for matching providers',
272
- exitCode: 60,
273
- },
274
- };
275
- }
276
- // Verify adapter can actually spawn
277
- const canSpawn = await adapter.canSpawn();
278
- if (!canSpawn) {
279
- return {
280
- success: false,
281
- error: {
282
- code: 'E_SPAWN_ADAPTER_UNAVAILABLE',
283
- message: `Selected adapter '${adapter.id}' cannot spawn in current environment`,
284
- exitCode: 63,
285
- },
286
- };
287
- }
288
- return {
289
- success: true,
290
- data: {
291
- providerId: adapter.providerId,
292
- adapterId: adapter.id,
293
- capabilities: capabilities.filter((cap) => providerSupportsById(adapter.providerId, `spawn.${cap}`)),
294
- },
295
- };
296
- }
297
- catch (err) {
298
- return engineError('E_GENERAL', err.message);
299
- }
300
- }
301
- /**
302
- * orchestrate.spawn.execute - Execute spawn for a task using adapter registry
303
- * @task T5236
304
- */
305
- export async function orchestrateSpawnExecute(taskId, adapterId, protocolType, projectRoot, tier) {
306
- const cwd = projectRoot ?? process.cwd();
307
- try {
308
- // Get spawn registry
309
- const { initializeDefaultAdapters, spawnRegistry } = await import('@cleocode/core/internal');
310
- await initializeDefaultAdapters();
311
- // Find adapter
312
- let adapter;
313
- if (adapterId) {
314
- adapter = spawnRegistry.get(adapterId);
315
- }
316
- else {
317
- // Auto-select first capable adapter
318
- const capable = await spawnRegistry.listSpawnCapable();
319
- adapter = capable[0];
320
- }
321
- if (!adapter) {
322
- return {
323
- success: false,
324
- error: {
325
- code: 'E_SPAWN_NO_ADAPTER',
326
- message: 'No spawn adapter available for this provider',
327
- exitCode: 60,
328
- },
329
- };
330
- }
331
- // Verify provider supports subagents using providerSupportsById
332
- const { providerSupportsById } = await import('@cleocode/caamp');
333
- if (!providerSupportsById(adapter.providerId, 'spawn.supportsSubagents')) {
334
- return {
335
- success: false,
336
- error: {
337
- code: 'E_SPAWN_CAPABILITY_UNSUPPORTED',
338
- message: `Provider ${adapter.providerId} does not support spawning subagents`,
339
- exitCode: 60,
340
- },
341
- };
342
- }
343
- // Prepare spawn context (reuse existing prepareSpawn logic)
344
- const { prepareSpawn } = await import('@cleocode/core/internal');
345
- const accessor = await getAccessor(cwd);
346
- const spawnContext = await prepareSpawn(taskId, cwd, accessor);
347
- // Check for unresolved tokens
348
- if (!spawnContext.tokenResolution.fullyResolved) {
349
- return {
350
- success: false,
351
- error: {
352
- code: 'E_SPAWN_VALIDATION_FAILED',
353
- message: `Unresolved tokens in spawn context: ${spawnContext.tokenResolution.unresolvedTokens.join(', ')}`,
354
- exitCode: 63,
355
- },
356
- };
357
- }
358
- // Build CLEO spawn context from core spawn context
359
- const { getSpawnCapableProviders } = await import('@cleocode/caamp');
360
- const providers = getSpawnCapableProviders();
361
- const provider = providers.find((p) => p.id === adapter.providerId);
362
- if (!provider) {
363
- return {
364
- success: false,
365
- error: {
366
- code: 'E_SPAWN_NO_PROVIDER',
367
- message: `Provider ${adapter.providerId} not found`,
368
- exitCode: 60,
369
- },
370
- };
371
- }
372
- const cleoSpawnContext = {
373
- taskId: spawnContext.taskId,
374
- protocol: protocolType || spawnContext.protocol,
375
- prompt: spawnContext.prompt,
376
- provider: provider.id,
377
- options: {
378
- prompt: spawnContext.prompt,
379
- },
380
- workingDirectory: cwd,
381
- tokenResolution: {
382
- resolved: [],
383
- unresolved: spawnContext.tokenResolution.unresolvedTokens,
384
- totalTokens: 0,
385
- },
386
- };
387
- // Execute spawn
388
- const result = await adapter.spawn(cleoSpawnContext);
389
- return {
390
- success: true,
391
- data: {
392
- instanceId: result.instanceId,
393
- status: result.status,
394
- providerId: adapter.providerId,
395
- taskId,
396
- timing: result.timing,
397
- tier: tier ?? null,
398
- },
399
- };
400
- }
401
- catch (error) {
402
- return {
403
- success: false,
404
- error: {
405
- code: 'E_SPAWN_FAILED',
406
- message: error instanceof Error ? error.message : 'Unknown spawn error',
407
- exitCode: 60,
408
- },
409
- };
410
- }
411
- }
412
- /**
413
- * orchestrate.spawn - Generate spawn prompt for a task
414
- * @task T4478
415
- */
416
- export async function orchestrateSpawn(taskId, protocolType, projectRoot, tier) {
417
- if (!taskId) {
418
- return engineError('E_INVALID_INPUT', 'taskId is required');
419
- }
420
- try {
421
- const root = projectRoot || resolveProjectRoot();
422
- // Validate readiness first
423
- const accessor = await getAccessor(root);
424
- const validation = await validateSpawnReadiness(taskId, root, accessor);
425
- if (!validation.ready) {
426
- return engineError('E_SPAWN_VALIDATION_FAILED', `Task ${taskId} is not ready to spawn`, {
427
- details: { issues: validation.issues },
428
- });
429
- }
430
- // Prepare spawn context via core
431
- const spawnContext = await prepareSpawn(taskId, root, accessor);
432
- return {
433
- success: true,
434
- data: {
435
- taskId,
436
- spawnContext: {
437
- taskId: spawnContext.taskId,
438
- protocol: spawnContext.protocol,
439
- protocolType: protocolType || spawnContext.protocol,
440
- tier: tier ?? null,
441
- },
442
- protocolType: protocolType || spawnContext.protocol,
443
- tier: tier ?? null,
444
- tokenResolution: spawnContext.tokenResolution,
445
- },
446
- };
447
- }
448
- catch (err) {
449
- const code = err.code ?? 'E_GENERAL';
450
- return engineError(code, err.message);
451
- }
452
- }
453
- /**
454
- * orchestrate.startup - Initialize orchestration for an epic
455
- * @task T4478
456
- */
457
- export async function orchestrateStartup(epicId, projectRoot) {
458
- if (!epicId) {
459
- return engineError('E_INVALID_INPUT', 'epicId is required');
460
- }
461
- try {
462
- const root = projectRoot || resolveProjectRoot();
463
- const accessor = await getAccessor(root);
464
- const tasks = await loadTasks(root);
465
- const epic = tasks.find((t) => t.id === epicId);
466
- if (!epic) {
467
- return engineError('E_NOT_FOUND', `Epic ${epicId} not found`);
468
- }
469
- const children = tasks.filter((t) => t.parentId === epicId);
470
- const readyTasks = await getReadyTasks(epicId, root, accessor);
471
- const ready = readyTasks.filter((t) => t.ready);
472
- const summary = computeStartupSummary(epicId, epic.title, children, ready.length);
473
- return { success: true, data: summary };
474
- }
475
- catch (err) {
476
- const code = err.code ?? 'E_GENERAL';
477
- return engineError(code, err.message);
478
- }
479
- }
480
- /**
481
- * orchestrate.bootstrap - Load brain state for agent bootstrapping
482
- * @task T4478
483
- * @task T4657
484
- */
485
- export async function orchestrateBootstrap(projectRoot, params) {
486
- try {
487
- const root = projectRoot || resolveProjectRoot();
488
- const accessor = await getAccessor(root);
489
- const brain = await buildBrainState(root, params, accessor);
490
- return { success: true, data: brain };
491
- }
492
- catch (err) {
493
- return engineError('E_GENERAL', err.message);
494
- }
495
- }
496
- /**
497
- * orchestrate.critical-path - Find the longest dependency chain
498
- * @task T4478
499
- */
500
- export async function orchestrateCriticalPath(projectRoot) {
501
- try {
502
- const root = projectRoot || resolveProjectRoot();
503
- const accessor = await getAccessor(root);
504
- const result = await getCriticalPath(root, accessor);
505
- return { success: true, data: result };
506
- }
507
- catch (err) {
508
- return engineError('E_GENERAL', err.message);
509
- }
510
- }
511
- /**
512
- * orchestrate.unblock-opportunities - Analyze dependency graph for unblocking opportunities
513
- * @task T4478
514
- */
515
- export async function orchestrateUnblockOpportunities(projectRoot) {
516
- try {
517
- const root = projectRoot || resolveProjectRoot();
518
- const accessor = await getAccessor(root);
519
- const result = await getUnblockOpportunities(root, accessor);
520
- return { success: true, data: result };
521
- }
522
- catch (err) {
523
- return engineError('E_GENERAL', err.message);
524
- }
525
- }
526
- /**
527
- * orchestrate.parallel - Manage parallel execution (start/end)
528
- * @task T4632
529
- */
530
- export async function orchestrateParallel(action, epicId, wave, projectRoot) {
531
- if (action === 'start') {
532
- if (wave === undefined || wave === null) {
533
- return engineError('E_INVALID_INPUT', 'wave number is required for start action');
534
- }
535
- return orchestrateParallelStart(epicId, wave, projectRoot);
536
- }
537
- if (action === 'end') {
538
- // wave is technically optional for end if we want to end ANY parallel execution,
539
- // but the current implementation expects wave.
540
- // However, endParallelExecution calls endParallelExecution(epicId, wave, root)
541
- if (wave === undefined || wave === null) {
542
- // If wave is not provided, maybe we can find the active one?
543
- // For now, let's require it to match the underlying signature or default to 0/current?
544
- // The underlying `endParallelExecution` signature is `(epicId: string, wave: number, root: string)`.
545
- // Let's require it for now to be safe, or check if we can improve this.
546
- return engineError('E_INVALID_INPUT', 'wave number is required for end action');
547
- }
548
- return orchestrateParallelEnd(epicId, wave, projectRoot);
549
- }
550
- return engineError('E_INVALID_INPUT', `Unknown parallel action: ${action}`);
551
- }
552
- /**
553
- * orchestrate.parallel.start - Start parallel execution for a wave
554
- * @task T4632
555
- */
556
- export async function orchestrateParallelStart(epicId, wave, projectRoot) {
557
- if (!epicId) {
558
- return engineError('E_INVALID_INPUT', 'epicId is required');
559
- }
560
- if (wave === undefined || wave === null) {
561
- return engineError('E_INVALID_INPUT', 'wave number is required');
562
- }
563
- try {
564
- const root = projectRoot || resolveProjectRoot();
565
- const accessor = await getAccessor(root);
566
- const result = await startParallelExecution(epicId, wave, root, accessor);
567
- return { success: true, data: result };
568
- }
569
- catch (err) {
570
- const code = err.code ?? 'E_GENERAL';
571
- return engineError(code, err.message);
572
- }
573
- }
574
- /**
575
- * orchestrate.parallel.end - End parallel execution for a wave
576
- * @task T4632
577
- */
578
- export async function orchestrateParallelEnd(epicId, wave, projectRoot) {
579
- if (!epicId) {
580
- return engineError('E_INVALID_INPUT', 'epicId is required');
581
- }
582
- try {
583
- const root = projectRoot || resolveProjectRoot();
584
- const result = await endParallelExecution(epicId, wave, root);
585
- if (result.alreadyEnded) {
586
- return {
587
- success: true,
588
- data: {
589
- epicId,
590
- wave,
591
- message: 'No parallel execution was active',
592
- alreadyEnded: true,
593
- },
594
- };
595
- }
596
- return { success: true, data: result };
597
- }
598
- catch (err) {
599
- const code = err.code ?? 'E_GENERAL';
600
- return engineError(code, err.message);
601
- }
602
- }
603
- /**
604
- * orchestrate.check - Check current orchestration state
605
- * @task T4632
606
- */
607
- export async function orchestrateCheck(projectRoot) {
608
- try {
609
- const root = projectRoot || resolveProjectRoot();
610
- const parallelState = await getParallelStatus(root);
611
- const tasks = await loadTasks(root);
612
- const activeTasks = tasks.filter((t) => t.status === 'active');
613
- const progress = computeProgress(tasks);
614
- return {
615
- success: true,
616
- data: {
617
- parallelExecution: {
618
- active: parallelState.active,
619
- epicId: parallelState.epicId || null,
620
- wave: parallelState.wave || null,
621
- tasks: parallelState.tasks || [],
622
- startedAt: parallelState.startedAt || null,
623
- },
624
- activeTasks: activeTasks.map((t) => ({ id: t.id, title: t.title, status: t.status })),
625
- progress,
626
- },
627
- };
628
- }
629
- catch (err) {
630
- return engineError('E_GENERAL', err.message);
631
- }
632
- }
633
- /**
634
- * orchestrate.skill.inject - Read skill content for injection into agent context
635
- * @task T4632
636
- */
637
- export function orchestrateSkillInject(skillName, projectRoot) {
638
- try {
639
- const root = projectRoot || resolveProjectRoot();
640
- const result = getSkillContent(skillName, root);
641
- return { success: true, data: result };
642
- }
643
- catch (err) {
644
- const code = err.code ?? 'E_GENERAL';
645
- return engineError(code, err.message);
646
- }
647
- }
648
- /**
649
- * orchestrate.handoff - Composite session handoff + successor spawn
650
- *
651
- * Step order is explicit and fixed:
652
- * 1) session.context.inject
653
- * 2) session.end
654
- * 3) orchestrate.spawn
655
- *
656
- * Idempotency policy:
657
- * - Non-idempotent overall. A retry after step 2 can duplicate spawn output.
658
- * - Failures include exact step state and a safe retry entry point.
659
- */
660
- export async function orchestrateHandoff(params, projectRoot) {
661
- if (!params.taskId) {
662
- return engineError('E_INVALID_INPUT', 'taskId is required');
663
- }
664
- if (!params.protocolType) {
665
- return engineError('E_INVALID_INPUT', 'protocolType is required');
666
- }
667
- const root = projectRoot || resolveProjectRoot();
668
- const steps = {
669
- contextInject: { status: 'pending', operation: 'session.context.inject' },
670
- sessionEnd: { status: 'pending', operation: 'session.end' },
671
- spawn: { status: 'pending', operation: 'orchestrate.spawn' },
672
- };
673
- const idempotency = {
674
- key: params.idempotencyKey ?? null,
675
- policy: 'non-idempotent',
676
- safeRetryFrom: 'start',
677
- reason: 'session.end and orchestrate.spawn mutate state and may be executed independently on retry',
678
- };
679
- let activeSessionId = null;
680
- let endedSessionId = null;
681
- const failWithStep = (code, message, failedStep, safeRetryFrom) => {
682
- idempotency.safeRetryFrom = safeRetryFrom;
683
- return engineError(code, message, {
684
- details: {
685
- failedStep,
686
- activeSessionId,
687
- endedSessionId,
688
- idempotency,
689
- steps,
690
- },
691
- fix: safeRetryFrom === 'orchestrate.spawn'
692
- ? 'Retry only step 3 with mutate orchestrate spawn'
693
- : 'Retry from step 1 with mutate orchestrate handoff',
694
- alternatives: [
695
- {
696
- action: 'Run canonical multi-op fallback manually',
697
- command: 'mutate session context.inject -> mutate session end -> mutate orchestrate spawn',
698
- },
699
- ],
700
- });
701
- };
702
- const preflight = await sessionStatus(root);
703
- if (!preflight.success) {
704
- return failWithStep(preflight.error?.code ?? 'E_NOT_INITIALIZED', preflight.error?.message ?? 'Unable to load session status', 'session.context.inject', 'start');
705
- }
706
- if (!preflight.data?.hasActiveSession || !preflight.data.session?.id) {
707
- steps.contextInject.status = 'skipped';
708
- steps.contextInject.message = 'No active session available for handoff';
709
- steps.sessionEnd.status = 'skipped';
710
- steps.sessionEnd.message = 'No active session available for handoff';
711
- steps.spawn.status = 'skipped';
712
- steps.spawn.message = 'No active session available for handoff';
713
- return failWithStep('E_SESSION_REQUIRED', 'orchestrate.handoff requires an active session', 'session.end', 'start');
714
- }
715
- activeSessionId = preflight.data.session.id;
716
- const injectResult = sessionContextInject(params.protocolType, { taskId: params.taskId, variant: params.variant }, root);
717
- if (!injectResult.success) {
718
- steps.contextInject.status = 'failed';
719
- steps.contextInject.message = injectResult.error?.message;
720
- steps.sessionEnd.status = 'skipped';
721
- steps.sessionEnd.message = 'Blocked by session.context.inject failure';
722
- steps.spawn.status = 'skipped';
723
- steps.spawn.message = 'Blocked by session.context.inject failure';
724
- return failWithStep(injectResult.error?.code ?? 'E_GENERAL', injectResult.error?.message ?? 'Failed to inject handoff context', 'session.context.inject', 'start');
725
- }
726
- steps.contextInject.status = 'completed';
727
- steps.contextInject.message = 'Handoff context injected';
728
- const endResult = await sessionEnd(root, params.note);
729
- if (!endResult.success) {
730
- steps.sessionEnd.status = 'failed';
731
- steps.sessionEnd.message = endResult.error?.message;
732
- steps.spawn.status = 'skipped';
733
- steps.spawn.message = 'Blocked by session.end failure';
734
- return failWithStep(endResult.error?.code ?? 'E_GENERAL', endResult.error?.message ?? 'Failed to end predecessor session', 'session.end', 'start');
735
- }
736
- endedSessionId = endResult.data?.sessionId ?? null;
737
- if (endedSessionId !== activeSessionId) {
738
- steps.sessionEnd.status = 'failed';
739
- steps.sessionEnd.message = `Ended session '${endedSessionId ?? 'null'}' does not match active session '${activeSessionId}'`;
740
- steps.spawn.status = 'skipped';
741
- steps.spawn.message = 'Blocked by session mismatch';
742
- return failWithStep('E_CONCURRENT_SESSION', 'Active session changed during orchestrate.handoff', 'session.end', 'start');
743
- }
744
- steps.sessionEnd.status = 'completed';
745
- steps.sessionEnd.message = `Ended session ${endedSessionId}`;
746
- const spawnResult = await orchestrateSpawn(params.taskId, params.protocolType, root, params.tier);
747
- if (!spawnResult.success) {
748
- steps.spawn.status = 'failed';
749
- steps.spawn.message = spawnResult.error?.message;
750
- return failWithStep(spawnResult.error?.code ?? 'E_GENERAL', spawnResult.error?.message ?? 'Failed to prepare successor spawn context', 'orchestrate.spawn', 'orchestrate.spawn');
751
- }
752
- steps.spawn.status = 'completed';
753
- steps.spawn.message = `Spawn prepared for ${params.taskId}`;
754
- return {
755
- success: true,
756
- data: {
757
- taskId: params.taskId,
758
- predecessorSessionId: activeSessionId,
759
- endedSessionId,
760
- protocolType: params.protocolType,
761
- note: params.note ?? null,
762
- nextAction: params.nextAction ?? null,
763
- idempotency,
764
- steps,
765
- contextInject: injectResult.data,
766
- spawn: spawnResult.data,
767
- },
768
- };
769
- }
770
- //# sourceMappingURL=orchestrate-engine.js.map