@cleocode/cleo 2026.10.3 → 2026.10.5-rc.ci.672

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 (352) hide show
  1. package/README.md +7 -0
  2. package/bin/cleo.js +11 -1
  3. package/dist/cli/adapter-OUQRSFZL.js +159 -0
  4. package/dist/cli/add-4SRRJL4U.js +443 -0
  5. package/dist/cli/add-batch-TSWICA5J.js +164 -0
  6. package/dist/cli/admin-L3F6CDYH.js +1428 -0
  7. package/dist/cli/admin-YMU55YCU.js +341 -0
  8. package/dist/cli/adr-XESRMFMP.js +172 -0
  9. package/dist/cli/agent-TAFPIYUU.js +2404 -0
  10. package/dist/cli/agent-outputs-HVJJIPS4.js +84 -0
  11. package/dist/cli/analyze-YQ22QVGW.js +49 -0
  12. package/dist/cli/archive-W5XX6AH7.js +65 -0
  13. package/dist/cli/archive-stats-HP2KPAJU.js +101 -0
  14. package/dist/cli/attention-7JBDCRZX.js +124 -0
  15. package/dist/cli/attention-ZXZANHKC.js +168 -0
  16. package/dist/cli/audit-ICA2SEFN.js +122 -0
  17. package/dist/cli/auth-DXIG5OG7.js +491 -0
  18. package/dist/cli/backfill-LBSYBWLR.js +156 -0
  19. package/dist/cli/backup-NUGBZ7NA.js +588 -0
  20. package/dist/cli/backup-inspect-PDRXI45A.js +26 -0
  21. package/dist/cli/backup-recover-TVKAPERB.js +29 -0
  22. package/dist/cli/blockers-ZOPCGHDW.js +55 -0
  23. package/dist/cli/brain-EJOBKL4A.js +397 -0
  24. package/dist/cli/briefing-RDQJ6WHS.js +213 -0
  25. package/dist/cli/caamp-Z3XPKEHB.js +181 -0
  26. package/dist/cli/cancel-S7EHLCJN.js +85 -0
  27. package/dist/cli/canon-NPF5RODM.js +142 -0
  28. package/dist/cli/canon-docs-2GTOLF7Y.js +26 -0
  29. package/dist/cli/cant-CHNN6O57.js +239 -0
  30. package/dist/cli/changeset-RYPHPN2B.js +246 -0
  31. package/dist/cli/check-C67YAU7W.js +759 -0
  32. package/dist/cli/check-DHMURGHC.js +924 -0
  33. package/dist/cli/checkpoint-UWDFOGYQ.js +128 -0
  34. package/dist/cli/chunk-22YPFZYB.js +91 -0
  35. package/dist/cli/chunk-2MGFDMDF.js +272 -0
  36. package/dist/cli/chunk-47JYZAMS.js +30 -0
  37. package/dist/cli/chunk-4JYHPP4C.js +76 -0
  38. package/dist/cli/chunk-4PEODTHY.js +278 -0
  39. package/dist/cli/chunk-4RGSNUUP.js +950 -0
  40. package/dist/cli/chunk-4VASFLUW.js +35 -0
  41. package/dist/cli/chunk-5PNI276X.js +124 -0
  42. package/dist/cli/chunk-6JSJNYH2.js +114 -0
  43. package/dist/cli/chunk-6N6WGLXE.js +63 -0
  44. package/dist/cli/chunk-75UH3BLS.js +210 -0
  45. package/dist/cli/chunk-7ACK4EIN.js +92 -0
  46. package/dist/cli/chunk-7NMKLVMI.js +107 -0
  47. package/dist/cli/chunk-7SINJXB6.js +110 -0
  48. package/dist/cli/chunk-7UARFJYS.js +46 -0
  49. package/dist/cli/chunk-7ZYPQV4N.js +90 -0
  50. package/dist/cli/chunk-AQCYT3L4.js +72 -0
  51. package/dist/cli/chunk-BQK6XTOH.js +57 -0
  52. package/dist/cli/chunk-C3B7C43W.js +16 -0
  53. package/dist/cli/chunk-CAPAGD5E.js +98 -0
  54. package/dist/cli/chunk-CHGEDCKG.js +77 -0
  55. package/dist/cli/chunk-COXFJ3PT.js +74 -0
  56. package/dist/cli/chunk-D7BAQNV2.js +55 -0
  57. package/dist/cli/chunk-EIUXVHNF.js +258 -0
  58. package/dist/cli/chunk-EUGB6P5V.js +173 -0
  59. package/dist/cli/chunk-EW2CKNNZ.js +304 -0
  60. package/dist/cli/chunk-FSKN4DWC.js +108 -0
  61. package/dist/cli/chunk-FVKLULL7.js +48 -0
  62. package/dist/cli/chunk-GAGUBU4Z.js +280 -0
  63. package/dist/cli/chunk-GKRFH2YG.js +171 -0
  64. package/dist/cli/chunk-GRU74UE4.js +270 -0
  65. package/dist/cli/chunk-GZFVDR44.js +320 -0
  66. package/dist/cli/chunk-HFLLZE6A.js +83 -0
  67. package/dist/cli/chunk-HXRXT3XU.js +78 -0
  68. package/dist/cli/chunk-IIOGUY3B.js +258 -0
  69. package/dist/cli/chunk-ILWWL462.js +60 -0
  70. package/dist/cli/chunk-J5USPJKZ.js +48 -0
  71. package/dist/cli/chunk-KEQS36GD.js +88 -0
  72. package/dist/cli/chunk-L7ONYSV6.js +2497 -0
  73. package/dist/cli/chunk-LVGIFMCV.js +163 -0
  74. package/dist/cli/chunk-NEFMQYLE.js +656 -0
  75. package/dist/cli/chunk-NU6CQQVB.js +4501 -0
  76. package/dist/cli/chunk-OILHT47L.js +252 -0
  77. package/dist/cli/chunk-PKKZPOOP.js +352 -0
  78. package/dist/cli/chunk-PN4WW5VX.js +66 -0
  79. package/dist/cli/chunk-PSJ33WVO.js +56 -0
  80. package/dist/cli/chunk-QA6T2LQ5.js +71 -0
  81. package/dist/cli/chunk-QJJWWCIC.js +288 -0
  82. package/dist/cli/chunk-QKMBWYAS.js +93 -0
  83. package/dist/cli/chunk-QWNKLLLG.js +84 -0
  84. package/dist/cli/chunk-QWUFFDL3.js +85 -0
  85. package/dist/cli/chunk-QY76BRUZ.js +35 -0
  86. package/dist/cli/chunk-R45KVF5Y.js +117 -0
  87. package/dist/cli/chunk-RRKP7HLU.js +66 -0
  88. package/dist/cli/chunk-SXXOC6KZ.js +209 -0
  89. package/dist/cli/chunk-T6GZJYL3.js +108 -0
  90. package/dist/cli/chunk-TLQ37HRE.js +67 -0
  91. package/dist/cli/chunk-TPTNEJZJ.js +52 -0
  92. package/dist/cli/chunk-TYC7G5LF.js +100 -0
  93. package/dist/cli/chunk-UWCZY52R.js +766 -0
  94. package/dist/cli/chunk-VB3LDPL5.js +46 -0
  95. package/dist/cli/chunk-VLEYOOPH.js +31 -0
  96. package/dist/cli/chunk-W3JLYKKY.js +140 -0
  97. package/dist/cli/chunk-WWCYZYSN.js +56 -0
  98. package/dist/cli/chunk-XA5WISNV.js +52 -0
  99. package/dist/cli/chunk-XHRZ7OYZ.js +132 -0
  100. package/dist/cli/chunk-XLPMIGJJ.js +148 -0
  101. package/dist/cli/chunk-YY66LFZF.js +29 -0
  102. package/dist/cli/chunk-ZMGDZMSJ.js +210 -0
  103. package/dist/cli/claim-IGOG2QOC.js +97 -0
  104. package/dist/cli/classify-MG4N7GMQ.js +117 -0
  105. package/dist/cli/cli-A23Q335V.js +51 -0
  106. package/dist/cli/cloud-SILYJVKO.js +731 -0
  107. package/dist/cli/cockpit-RZKLGYPN.js +790 -0
  108. package/dist/cli/code-H2FQCVMW.js +178 -0
  109. package/dist/cli/complete-JLX7NBI4.js +35 -0
  110. package/dist/cli/complexity-OKV7PVZH.js +57 -0
  111. package/dist/cli/compliance-QMGZHJNQ.js +277 -0
  112. package/dist/cli/conduit-4H32UYEA.js +308 -0
  113. package/dist/cli/conduit-EY54WTZA.js +535 -0
  114. package/dist/cli/config-TDYOC7XO.js +519 -0
  115. package/dist/cli/consensus-4XCOFPPT.js +122 -0
  116. package/dist/cli/context-FN4YTGHD.js +142 -0
  117. package/dist/cli/contribution-7RWFBJLC.js +112 -0
  118. package/dist/cli/curator-HKZJCVRL.js +139 -0
  119. package/dist/cli/current-B2NU7V3G.js +43 -0
  120. package/dist/cli/daemon-GBD4TVCD.js +452 -0
  121. package/dist/cli/dash-IGDANIE5.js +71 -0
  122. package/dist/cli/decide-26SXC2V6.js +416 -0
  123. package/dist/cli/decompose-LQ76TEZG.js +78 -0
  124. package/dist/cli/decomposition-WFRWNUSJ.js +122 -0
  125. package/dist/cli/delete-T5DUQHOX.js +69 -0
  126. package/dist/cli/deps-UTPZJBXL.js +462 -0
  127. package/dist/cli/detect-FFZSMVDT.js +46 -0
  128. package/dist/cli/detect-drift-TVCJOFYJ.js +408 -0
  129. package/dist/cli/diagnostics-GN5CVD3N.js +93 -0
  130. package/dist/cli/diagnostics-ZNBKH6GX.js +133 -0
  131. package/dist/cli/docs-CLQKEEUK.js +1710 -0
  132. package/dist/cli/docs-DPPDFTWR.js +3098 -0
  133. package/dist/cli/doctor-GPENOP4N.js +1270 -0
  134. package/dist/cli/doctor-ac-bindings-S3IOEFP4.js +26 -0
  135. package/dist/cli/doctor-acceptance-drift-VNFKPBSQ.js +26 -0
  136. package/dist/cli/doctor-credentials-A5H4JMTF.js +26 -0
  137. package/dist/cli/doctor-db-substrate-FGCISE4Z.js +27 -0
  138. package/dist/cli/doctor-dep-cycles-BKKKHHYG.js +26 -0
  139. package/dist/cli/doctor-exodus-ND2DH2KP.js +26 -0
  140. package/dist/cli/doctor-exodus-residue-4EMRYMEQ.js +26 -0
  141. package/dist/cli/doctor-fk-check-VY3RIQV3.js +26 -0
  142. package/dist/cli/doctor-global-delivery-JN6IGHUL.js +26 -0
  143. package/dist/cli/doctor-heavy-command-hook-XSN44WXU.js +26 -0
  144. package/dist/cli/doctor-legacy-backups-QAG5NHYP.js +26 -0
  145. package/dist/cli/doctor-legacy-reaper-CIRGFE6R.js +26 -0
  146. package/dist/cli/doctor-malformed-ids-WL7HT4TB.js +26 -0
  147. package/dist/cli/doctor-manifest-rows-SMQCKJ2T.js +26 -0
  148. package/dist/cli/doctor-memory-guard-LJDOJG76.js +26 -0
  149. package/dist/cli/doctor-migrations-ETQPFNUP.js +26 -0
  150. package/dist/cli/doctor-nexus-residency-A4JMKBEJ.js +26 -0
  151. package/dist/cli/doctor-project-identity-FFQJ5LNX.js +26 -0
  152. package/dist/cli/doctor-projects-MFUTKRHP.js +30 -0
  153. package/dist/cli/doctor-projects-registry-76X6VTGM.js +26 -0
  154. package/dist/cli/doctor-release-readiness-QJCOPFTK.js +26 -0
  155. package/dist/cli/doctor-repair-AU76FIKY.js +26 -0
  156. package/dist/cli/doctor-row-identity-KW6JYZQE.js +26 -0
  157. package/dist/cli/doctor-skill-fixtures-G3T7JUHS.js +26 -0
  158. package/dist/cli/doctor-split-brain-FUW6L7FS.js +26 -0
  159. package/dist/cli/doctor-superseded-store-DUHGSBLC.js +26 -0
  160. package/dist/cli/doctor-sync-journal-SXMUIKF7.js +26 -0
  161. package/dist/cli/doctor-sync-triggers-6WNJZFRM.js +26 -0
  162. package/dist/cli/doctor-tool-locks-66LSLUBN.js +26 -0
  163. package/dist/cli/doctor-twin-collapse-AYBYBFC4.js +26 -0
  164. package/dist/cli/doctor-worktree-stores-C5XEH5OG.js +26 -0
  165. package/dist/cli/done-R64XRZ32.js +196 -0
  166. package/dist/cli/dynamic-RR4HB7BB.js +29 -0
  167. package/dist/cli/entities-3JIHDIOK.js +361 -0
  168. package/dist/cli/event-45KEWV5H.js +372 -0
  169. package/dist/cli/exists-BEDZS5RI.js +65 -0
  170. package/dist/cli/exodus-DUX62344.js +401 -0
  171. package/dist/cli/export-C5PQIQ5O.js +93 -0
  172. package/dist/cli/export-tasks-CUXDZPJB.js +97 -0
  173. package/dist/cli/federation-ESM35EGG.js +145 -0
  174. package/dist/cli/find-5EUZHHQJ.js +178 -0
  175. package/dist/cli/focus-6AH4KLRO.js +368 -0
  176. package/dist/cli/focus-ANKAIRO5.js +56 -0
  177. package/dist/cli/gateway-2GW2KTK3.js +77 -0
  178. package/dist/cli/gateway-auto-start-EDK7XI6E.js +36 -0
  179. package/dist/cli/gc-CTOQLUSA.js +291 -0
  180. package/dist/cli/go-YJPNHHYT.js +206 -0
  181. package/dist/cli/goal-4GW4G77D.js +213 -0
  182. package/dist/cli/grade-25WSZH4X.js +57 -0
  183. package/dist/cli/graph-JUO3TMF3.js +879 -0
  184. package/dist/cli/history-NACNUQTC.js +138 -0
  185. package/dist/cli/hook-UF7J7R6D.js +57 -0
  186. package/dist/cli/hook-entry.js +244 -19
  187. package/dist/cli/hygiene-3QZ2NI7P.js +55 -0
  188. package/dist/cli/import-7ESGL5SS.js +89 -0
  189. package/dist/cli/import-tasks-FLE2RPBR.js +109 -0
  190. package/dist/cli/index.js +601 -94637
  191. package/dist/cli/init-AN4DZ2XO.js +40 -0
  192. package/dist/cli/inject-HQWA5GWY.js +83 -0
  193. package/dist/cli/install-global-YQV4W5OG.js +95 -0
  194. package/dist/cli/intelligence-OFFNQGHE.js +238 -0
  195. package/dist/cli/intelligence-QIC4SN4X.js +182 -0
  196. package/dist/cli/issue-P5RNMRDG.js +159 -0
  197. package/dist/cli/janitor-ZNCFQ7E3.js +111 -0
  198. package/dist/cli/labels-ORBM3T57.js +88 -0
  199. package/dist/cli/lifecycle-MHR22TVI.js +273 -0
  200. package/dist/cli/list-LB6GCYYU.js +109 -0
  201. package/dist/cli/llm-H7LZWQKX.js +130 -0
  202. package/dist/cli/llm-OTJWPMGI.js +704 -0
  203. package/dist/cli/llm-cost-MLMXEAR4.js +25 -0
  204. package/dist/cli/llm-stream-AAEUNKRP.js +27 -0
  205. package/dist/cli/log-W2A5M2NA.js +76 -0
  206. package/dist/cli/login-SIXFFZSP.js +45 -0
  207. package/dist/cli/logout-G3KVLQQM.js +74 -0
  208. package/dist/cli/manifest-G4T6EBSI.js +354 -0
  209. package/dist/cli/map-VU5M72TK.js +53 -0
  210. package/dist/cli/memory-2E27G2G5.js +1952 -0
  211. package/dist/cli/memory-IAEYKXG6.js +1895 -0
  212. package/dist/cli/migrate-agents-v2-A52QIYNJ.js +33 -0
  213. package/dist/cli/migrate-claude-mem-TPDW3R4Z.js +206 -0
  214. package/dist/cli/next-SVH4LIDY.js +57 -0
  215. package/dist/cli/nexus-FPQV2EAF.js +1059 -0
  216. package/dist/cli/nexus-XSFXN5E6.js +2924 -0
  217. package/dist/cli/ops-K6LHY5J6.js +52 -0
  218. package/dist/cli/orchestrate-CZ2J6W3L.js +1650 -0
  219. package/dist/cli/orchestrate-HURUCQFT.js +950 -0
  220. package/dist/cli/otel-JCNPVJLZ.js +188 -0
  221. package/dist/cli/phase-VDFRASSO.js +221 -0
  222. package/dist/cli/pipeline-TCZPOEDR.js +697 -0
  223. package/dist/cli/pivot-V5MSQZ7L.js +88 -0
  224. package/dist/cli/plan-SQUGCKSM.js +49 -0
  225. package/dist/cli/playbook-L47GLDQD.js +230 -0
  226. package/dist/cli/playbook-NJVO4R6P.js +33 -0
  227. package/dist/cli/project-YZEC7GYF.js +331 -0
  228. package/dist/cli/promote-FINF4HVK.js +53 -0
  229. package/dist/cli/provenance-3TUWVBFR.js +141 -0
  230. package/dist/cli/provenance-YZG33JGM.js +129 -0
  231. package/dist/cli/provider-23JVLLG3.js +213 -0
  232. package/dist/cli/reason-FHN54O7O.js +138 -0
  233. package/dist/cli/reconcile-MOM5T4AX.js +128 -0
  234. package/dist/cli/refresh-memory-3OSTRAVK.js +45 -0
  235. package/dist/cli/relates-6FWUFUS2.js +260 -0
  236. package/dist/cli/release-G2DPSG5M.js +347 -0
  237. package/dist/cli/release-URX6JHZ2.js +525 -0
  238. package/dist/cli/remote-VIULU2T5.js +279 -0
  239. package/dist/cli/renderers-TGSW77J4.js +37 -0
  240. package/dist/cli/reorder-UIPN6TQY.js +87 -0
  241. package/dist/cli/reparent-ALOWWUIU.js +59 -0
  242. package/dist/cli/req-RH2Y3H7A.js +130 -0
  243. package/dist/cli/research-G2Y72HRC.js +366 -0
  244. package/dist/cli/restore-VBR5XNML.js +470 -0
  245. package/dist/cli/revert-32LDNSGP.js +240 -0
  246. package/dist/cli/roadmap-LFU3AG7D.js +62 -0
  247. package/dist/cli/run-HXRILSR7.js +245 -0
  248. package/dist/cli/safestop-Z5UC7NGQ.js +89 -0
  249. package/dist/cli/saga-Y6FZS6AM.js +286 -0
  250. package/dist/cli/schema-OOOKLWUE.js +195 -0
  251. package/dist/cli/self-update-26SOTJMH.js +504 -0
  252. package/dist/cli/selfimprove-4SMOCLUV.js +89 -0
  253. package/dist/cli/selfimprove-EB4RQLP4.js +139 -0
  254. package/dist/cli/sentient-QPETVE53.js +254 -0
  255. package/dist/cli/sentient-RGMWR4XJ.js +1088 -0
  256. package/dist/cli/sequence-H7DSAJPF.js +94 -0
  257. package/dist/cli/service-EK5MGB2D.js +156 -0
  258. package/dist/cli/service-GLOMZWPQ.js +437 -0
  259. package/dist/cli/session-HYUXAQGC.js +708 -0
  260. package/dist/cli/session-N5ISU56W.js +568 -0
  261. package/dist/cli/setup-L3YYV53D.js +323 -0
  262. package/dist/cli/show-364V3KY2.js +123 -0
  263. package/dist/cli/skill-F2KR6HW5.js +84 -0
  264. package/dist/cli/skills-FS3DCP6E.js +929 -0
  265. package/dist/cli/smoke-provider-SKUFMZXU.js +218 -0
  266. package/dist/cli/snapshot-EGXEQ5PR.js +120 -0
  267. package/dist/cli/src-LYLXHXHH.js +80 -0
  268. package/dist/cli/start-6DXOCCKL.js +68 -0
  269. package/dist/cli/stats-UVUQEGYC.js +96 -0
  270. package/dist/cli/status-XLKYLN42.js +157 -0
  271. package/dist/cli/sticky-VSTQ2I2O.js +264 -0
  272. package/dist/cli/sticky-XZXZDCFW.js +339 -0
  273. package/dist/cli/stop-VNOAFWNB.js +43 -0
  274. package/dist/cli/sync-YYPARW3A.js +155 -0
  275. package/dist/cli/tasks-C24KHTFF.js +1118 -0
  276. package/dist/cli/tasks-LBJC7CZV.js +175 -0
  277. package/dist/cli/telemetry-CU7W5WAY.js +120 -0
  278. package/dist/cli/templates-G42JBUY4.js +609 -0
  279. package/dist/cli/testing-HSRITHEY.js +147 -0
  280. package/dist/cli/token-J74E7TSU.js +221 -0
  281. package/dist/cli/tools-BI74W7VE.js +652 -0
  282. package/dist/cli/transcript-RGK7RSGQ.js +440 -0
  283. package/dist/cli/tui-BPUFHYKK.js +51 -0
  284. package/dist/cli/update-2KQWA27S.js +478 -0
  285. package/dist/cli/update-check-entry.js +124 -0
  286. package/dist/cli/update-notice-6SQ6WPQG.js +68 -0
  287. package/dist/cli/upgrade-E2MJAPC7.js +136 -0
  288. package/dist/cli/upgrade-XRSQ4RWH.js +243 -0
  289. package/dist/cli/verify-WASRGDBA.js +191 -0
  290. package/dist/cli/web-NJ3P67EU.js +275 -0
  291. package/dist/cli/workgraph-OHJ2VKJD.js +232 -0
  292. package/dist/cli/worktree-FVQLORFY.js +371 -0
  293. package/dist/cli/worktree-ZJ6JTQNG.js +287 -0
  294. package/package.json +13 -13
  295. package/studio-dist/client/_app/immutable/chunks/{DMj27Pxj.js → AH7dIemv.js} +1 -1
  296. package/studio-dist/client/_app/immutable/chunks/{Dc2owyvE.js → BDgH40i3.js} +1 -1
  297. package/studio-dist/client/_app/immutable/chunks/BXDCSJ7U.js +1 -0
  298. package/studio-dist/client/_app/immutable/chunks/{qq3pe1aT.js → Gg4iYl59.js} +1 -1
  299. package/studio-dist/client/_app/immutable/entry/{app.CHWXLeE9.js → app.DUDNK-37.js} +2 -2
  300. package/studio-dist/client/_app/immutable/entry/start.DNmZ0pA4.js +1 -0
  301. package/studio-dist/client/_app/immutable/nodes/{0.DmKQGvFh.js → 0.DWqP3ail.js} +1 -1
  302. package/studio-dist/client/_app/immutable/nodes/{1.DqJk_REO.js → 1.CZGVUP5B.js} +1 -1
  303. package/studio-dist/client/_app/immutable/nodes/{15.GUy6kdW1.js → 15.DGaflZRS.js} +1 -1
  304. package/studio-dist/client/_app/immutable/nodes/{16.CcnKZ8f9.js → 16.uYlarGXl.js} +1 -1
  305. package/studio-dist/client/_app/immutable/nodes/{17.DAlQF3lQ.js → 17.CZMR0E47.js} +1 -1
  306. package/studio-dist/client/_app/immutable/nodes/{18.vQFr-vFj.js → 18.CBC-AKH_.js} +1 -1
  307. package/studio-dist/client/_app/immutable/nodes/{20.GVOj5j_r.js → 20.BGi43MvQ.js} +1 -1
  308. package/studio-dist/client/_app/immutable/nodes/{24.2-wC6DOh.js → 24.Dv8ftCyR.js} +1 -1
  309. package/studio-dist/client/_app/immutable/nodes/25.DQPVlTDQ.js +39 -0
  310. package/studio-dist/client/_app/immutable/nodes/{26.C3rNqzZF.js → 26.Cl800304.js} +1 -1
  311. package/studio-dist/client/_app/immutable/nodes/{3.b-7pzc3M.js → 3.D_fQKj9f.js} +1 -1
  312. package/studio-dist/client/_app/version.json +1 -1
  313. package/studio-dist/server/chunks/{0-BaCce-O1.js → 0-BpOagOst.js} +3 -3
  314. package/studio-dist/server/chunks/1-D0oRGR-C.js +9 -0
  315. package/studio-dist/server/chunks/{15-DRMOSIC9.js → 15-BcjHz7Tv.js} +3 -3
  316. package/studio-dist/server/chunks/{16-BulXhoZZ.js → 16-CXm8TUk7.js} +3 -3
  317. package/studio-dist/server/chunks/{17-DUEOCM0H.js → 17-mSgUK-cp.js} +3 -3
  318. package/studio-dist/server/chunks/{18-DP7Q8zPs.js → 18-BtfnIw1d.js} +3 -3
  319. package/studio-dist/server/chunks/{20-9ta6MI7q.js → 20-By1e4QDS.js} +3 -3
  320. package/studio-dist/server/chunks/{24-DysdL1ab.js → 24-0i2YLVxG.js} +3 -3
  321. package/studio-dist/server/chunks/{dist-CdoCt9zT.js → 25-DPsrqbrh.js} +797 -10736
  322. package/studio-dist/server/chunks/{26-Df4YXgg0.js → 26-P0XkOibm.js} +3 -3
  323. package/studio-dist/server/chunks/{3-BEhOhYpL.js → 3-WudjUK7e.js} +3 -3
  324. package/studio-dist/server/chunks/{_layout.svelte-CnLcXYG-.js → _layout.svelte-D9m81Rle.js} +4 -4
  325. package/studio-dist/server/chunks/{_page.svelte-DGhXqeRc.js → _page.svelte-2PDLOF83.js} +3 -3
  326. package/studio-dist/server/chunks/{_page.svelte-Dv8tmDEC.js → _page.svelte-BjE3jm2K.js} +3 -3
  327. package/studio-dist/server/chunks/{_page.svelte-C0qgUvzA.js → _page.svelte-Clc0vmiZ.js} +4 -4
  328. package/studio-dist/server/chunks/{_page.svelte-ui7LnWkL.js → _page.svelte-DABdRT3h.js} +3 -3
  329. package/studio-dist/server/chunks/{_page.svelte-HUqTICJR.js → _page.svelte-DG3PjiHj.js} +3 -3
  330. package/studio-dist/server/chunks/{_page.svelte-DzcZljiy.js → _page.svelte-Edy9CaE8.js} +20 -7
  331. package/studio-dist/server/chunks/{_page.svelte-DOl0DGOO.js → _page.svelte-Hrf3-ZR8.js} +3 -3
  332. package/studio-dist/server/chunks/{_page.svelte-Da4q5l93.js → _page.svelte-VB4O4Nl5.js} +3 -3
  333. package/studio-dist/server/chunks/{_page.svelte-CbyEPj2j.js → _page.svelte-d3jEgjsI.js} +3 -3
  334. package/studio-dist/server/chunks/{_server.ts-P4wVVksg.js → _server.ts-BcRFsyo3.js} +4 -5
  335. package/studio-dist/server/chunks/{_server.ts-Cr57EKWf.js → _server.ts-CEWpIFrj.js} +6 -5
  336. package/studio-dist/server/chunks/{_server.ts-CnKVmf_s.js → _server.ts-CLVdVIF9.js} +2 -2
  337. package/studio-dist/server/chunks/{_server.ts-C0evMKCk.js → _server.ts-D_j7aSy5.js} +6 -5
  338. package/studio-dist/server/chunks/{_server.ts-2BazvYRP.js → _server.ts-QEZF8h2q.js} +4 -5
  339. package/studio-dist/server/chunks/{client-CPM4LrO2.js → client-Kp1dP1od.js} +2 -2
  340. package/studio-dist/server/chunks/{error.svelte-ShcZo43D.js → error.svelte-WOCioJVX.js} +3 -3
  341. package/studio-dist/server/chunks/{hooks.server-D2qbf3Zp.js → hooks.server-DH9zkIrJ.js} +3 -1
  342. package/studio-dist/server/chunks/{http-BiQjEmVU.js → http-DT5kxaWk.js} +5 -4
  343. package/studio-dist/server/chunks/{internal-Cgsrya1j.js → internal-z0vqd5_u.js} +3 -3
  344. package/studio-dist/server/chunks/operations-registry-DdzmYzqX.js +10584 -0
  345. package/studio-dist/server/chunks/{stores-BGrpEDMK.js → stores-s2kaL315.js} +2 -2
  346. package/studio-dist/server/index.js +1 -1
  347. package/studio-dist/server/manifest.js +17 -17
  348. package/studio-dist/client/_app/immutable/chunks/Bw6J8NDM.js +0 -1
  349. package/studio-dist/client/_app/immutable/entry/start.C9bwPpvc.js +0 -1
  350. package/studio-dist/client/_app/immutable/nodes/25.D1vYaH8g.js +0 -39
  351. package/studio-dist/server/chunks/1-CVo7Nk6d.js +0 -9
  352. package/studio-dist/server/chunks/25-CYsps38R.js +0 -366
@@ -0,0 +1,697 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ defineTypedHandler,
18
+ lafsError,
19
+ lafsSuccess,
20
+ typedDispatch,
21
+ wrapCoreResult
22
+ } from "./chunk-QWNKLLLG.js";
23
+ import {
24
+ lazyOperation
25
+ } from "./chunk-TYC7G5LF.js";
26
+ import {
27
+ dispatchMeta,
28
+ envelopeToEngineResult,
29
+ errorResult,
30
+ getListParams,
31
+ handleErrorResult,
32
+ wrapResult
33
+ } from "./chunk-XHRZ7OYZ.js";
34
+
35
+ // packages/cleo/src/dispatch/domains/pipeline.ts
36
+ import { execFileSync } from "node:child_process";
37
+ import { buildStageGuidance, formatStageGuidance } from "@cleocode/core/lifecycle/stage-guidance";
38
+ import { isValidStage } from "@cleocode/core/lifecycle/stages";
39
+ import { getLogger } from "@cleocode/core/logger";
40
+ import { pipelineManifestList } from "@cleocode/core/memory/pipeline-manifest-sqlite";
41
+ import { paginate } from "@cleocode/core/pagination";
42
+ import { getProjectRoot } from "@cleocode/core/project-scope";
43
+ import {
44
+ channelToDistTag,
45
+ describeChannel,
46
+ resolveChannelFromBranch
47
+ } from "@cleocode/core/release/channel";
48
+ var lifecycleCheck = lazyOperation(
49
+ async () => (await import("@cleocode/core/lifecycle/engine-ops")).lifecycleCheck
50
+ );
51
+ var lifecycleGateFail = lazyOperation(
52
+ async () => (await import("@cleocode/core/lifecycle/engine-ops")).lifecycleGateFail
53
+ );
54
+ var lifecycleGatePass = lazyOperation(
55
+ async () => (await import("@cleocode/core/lifecycle/engine-ops")).lifecycleGatePass
56
+ );
57
+ var lifecycleHistory = lazyOperation(
58
+ async () => (await import("@cleocode/core/lifecycle/engine-ops")).lifecycleHistory
59
+ );
60
+ var lifecycleProgress = lazyOperation(
61
+ async () => (await import("@cleocode/core/lifecycle/engine-ops")).lifecycleProgress
62
+ );
63
+ var lifecycleReset = lazyOperation(
64
+ async () => (await import("@cleocode/core/lifecycle/engine-ops")).lifecycleReset
65
+ );
66
+ var lifecycleSkip = lazyOperation(
67
+ async () => (await import("@cleocode/core/lifecycle/engine-ops")).lifecycleSkip
68
+ );
69
+ var lifecycleStatus = lazyOperation(
70
+ async () => (await import("@cleocode/core/lifecycle/engine-ops")).lifecycleStatus
71
+ );
72
+ var phaseAdvance = lazyOperation(
73
+ async () => (await import("@cleocode/core/pipeline/engine-ops")).phaseAdvance
74
+ );
75
+ var phaseComplete = lazyOperation(
76
+ async () => (await import("@cleocode/core/pipeline/engine-ops")).phaseComplete
77
+ );
78
+ var phaseDelete = lazyOperation(
79
+ async () => (await import("@cleocode/core/pipeline/engine-ops")).phaseDelete
80
+ );
81
+ var phaseList = lazyOperation(
82
+ async () => (await import("@cleocode/core/pipeline/engine-ops")).phaseList
83
+ );
84
+ var phaseRename = lazyOperation(
85
+ async () => (await import("@cleocode/core/pipeline/engine-ops")).phaseRename
86
+ );
87
+ var phaseSet = lazyOperation(
88
+ async () => (await import("@cleocode/core/pipeline/engine-ops")).phaseSet
89
+ );
90
+ var phaseShow = lazyOperation(
91
+ async () => (await import("@cleocode/core/pipeline/engine-ops")).phaseShow
92
+ );
93
+ var phaseStart = lazyOperation(
94
+ async () => (await import("@cleocode/core/pipeline/engine-ops")).phaseStart
95
+ );
96
+ var pipelineManifestAppend = lazyOperation(
97
+ async () => (await import("@cleocode/core/memory/pipeline-manifest-sqlite")).pipelineManifestAppend
98
+ );
99
+ var pipelineManifestArchive = lazyOperation(
100
+ async () => (await import("@cleocode/core/memory/pipeline-manifest-sqlite")).pipelineManifestArchive
101
+ );
102
+ var pipelineManifestFind = lazyOperation(
103
+ async () => (await import("@cleocode/core/memory/pipeline-manifest-sqlite")).pipelineManifestFind
104
+ );
105
+ var pipelineManifestShow = lazyOperation(
106
+ async () => (await import("@cleocode/core/memory/pipeline-manifest-sqlite")).pipelineManifestShow
107
+ );
108
+ var pipelineManifestStats = lazyOperation(
109
+ async () => (await import("@cleocode/core/memory/pipeline-manifest-sqlite")).pipelineManifestStats
110
+ );
111
+ var releaseCancel = lazyOperation(
112
+ async () => (await import("@cleocode/core/release/engine-ops")).releaseCancel
113
+ );
114
+ var releaseList = lazyOperation(
115
+ async () => (await import("@cleocode/core/release/engine-ops")).releaseList
116
+ );
117
+ var releasePrStatus = lazyOperation(
118
+ async () => (await import("@cleocode/core/release/engine-ops")).releasePrStatus
119
+ );
120
+ var releaseRollback = lazyOperation(
121
+ async () => (await import("@cleocode/core/release/engine-ops")).releaseRollback
122
+ );
123
+ var releaseRollbackFull = lazyOperation(
124
+ async () => (await import("@cleocode/core/release/engine-ops")).releaseRollbackFull
125
+ );
126
+ var releaseShow = lazyOperation(
127
+ async () => (await import("@cleocode/core/release/engine-ops")).releaseShow
128
+ );
129
+ async function stageValidateOp(params) {
130
+ return lifecycleCheck(params.epicId, params.targetStage, getProjectRoot());
131
+ }
132
+ async function stageStatusOp(params) {
133
+ return lifecycleStatus(params.epicId, getProjectRoot());
134
+ }
135
+ async function stageHistoryOp(params) {
136
+ return lifecycleHistory(params.taskId, getProjectRoot());
137
+ }
138
+ async function stageGuidanceOp(params) {
139
+ let stage = params.stage;
140
+ const epicId = params.epicId;
141
+ const format = params.format ?? "markdown";
142
+ const projectRoot = getProjectRoot();
143
+ if (!stage && epicId) {
144
+ const statusResult = await lifecycleStatus(epicId, projectRoot);
145
+ if (statusResult.success) {
146
+ const data = statusResult.data;
147
+ stage = data?.currentStage ?? data?.activeStage;
148
+ }
149
+ }
150
+ return { _stage: stage, _format: format, _projectRoot: projectRoot };
151
+ }
152
+ async function stageRecordOp(params) {
153
+ return lifecycleProgress(
154
+ params.taskId,
155
+ params.stage,
156
+ params.status,
157
+ params.notes,
158
+ getProjectRoot()
159
+ );
160
+ }
161
+ async function stageSkipOp(params) {
162
+ return lifecycleSkip(params.taskId, params.stage, params.reason, getProjectRoot());
163
+ }
164
+ async function stageResetOp(params) {
165
+ return lifecycleReset(params.taskId, params.stage, params.reason, getProjectRoot());
166
+ }
167
+ async function stageGatePassOp(params) {
168
+ return lifecycleGatePass(
169
+ params.taskId,
170
+ params.gateName,
171
+ params.agent,
172
+ params.notes,
173
+ getProjectRoot()
174
+ );
175
+ }
176
+ async function stageGateFailOp(params) {
177
+ return lifecycleGateFail(params.taskId, params.gateName, params.reason, getProjectRoot());
178
+ }
179
+ async function releaseListOp(params) {
180
+ return releaseList(
181
+ { status: params.status, limit: params.limit, offset: params.offset },
182
+ getProjectRoot()
183
+ );
184
+ }
185
+ async function releaseShowOp(params) {
186
+ return releaseShow(params.version, getProjectRoot());
187
+ }
188
+ async function releaseChannelShowOp(_params) {
189
+ let currentBranch = "unknown";
190
+ const projectRoot = getProjectRoot();
191
+ try {
192
+ currentBranch = execFileSync("git", ["rev-parse", "--abbrev-ref", "HEAD"], {
193
+ encoding: "utf-8",
194
+ stdio: "pipe",
195
+ cwd: projectRoot
196
+ }).trim();
197
+ } catch {
198
+ }
199
+ const resolvedChannel = resolveChannelFromBranch(currentBranch);
200
+ const distTag = channelToDistTag(resolvedChannel);
201
+ const description = describeChannel(resolvedChannel);
202
+ return {
203
+ success: true,
204
+ data: { branch: currentBranch, channel: resolvedChannel, distTag, description }
205
+ };
206
+ }
207
+ async function releasePrStatusOp(params) {
208
+ return releasePrStatus(params.version, getProjectRoot());
209
+ }
210
+ async function releaseCancelOp(params) {
211
+ return releaseCancel(params.version, getProjectRoot());
212
+ }
213
+ async function releaseRollbackOp(params) {
214
+ return releaseRollback(params.version, params.reason, getProjectRoot());
215
+ }
216
+ async function releaseRollbackFullOp(params) {
217
+ return releaseRollbackFull(
218
+ params.version,
219
+ { reason: params.reason, force: params.force, unpublish: params.unpublish },
220
+ getProjectRoot()
221
+ );
222
+ }
223
+ async function manifestShowOp(params) {
224
+ return pipelineManifestShow(params.entryId, getProjectRoot());
225
+ }
226
+ async function manifestListOp(params) {
227
+ return pipelineManifestList(params, getProjectRoot());
228
+ }
229
+ async function manifestFindOp(params) {
230
+ return pipelineManifestFind(
231
+ params.query,
232
+ { confidence: params.confidence, limit: params.limit },
233
+ getProjectRoot()
234
+ );
235
+ }
236
+ async function manifestStatsOp(params) {
237
+ return pipelineManifestStats(params.epicId, getProjectRoot());
238
+ }
239
+ async function manifestAppendOp(params) {
240
+ return pipelineManifestAppend(params.entry, getProjectRoot(), { requireExistingTasks: true });
241
+ }
242
+ async function manifestArchiveOp(params) {
243
+ return pipelineManifestArchive(params.beforeDate, getProjectRoot());
244
+ }
245
+ async function phaseShowOp(params) {
246
+ return phaseShow(params.phaseId, getProjectRoot());
247
+ }
248
+ async function phaseListOp(_params) {
249
+ return phaseList(getProjectRoot());
250
+ }
251
+ async function phaseSetOp(params) {
252
+ const { phaseId, action, rollback, force, dryRun } = params;
253
+ const projectRoot = getProjectRoot();
254
+ if (action === "start") {
255
+ return phaseStart(phaseId, projectRoot);
256
+ }
257
+ if (action === "complete") {
258
+ return phaseComplete(phaseId, projectRoot);
259
+ }
260
+ return phaseSet({ phaseId, rollback, force, dryRun }, projectRoot);
261
+ }
262
+ async function phaseAdvanceOp(params) {
263
+ return phaseAdvance(params.force, getProjectRoot());
264
+ }
265
+ async function phaseRenameOp(params) {
266
+ return phaseRename(params.oldName, params.newName, getProjectRoot());
267
+ }
268
+ async function phaseDeleteOp(params) {
269
+ return phaseDelete(
270
+ params.phaseId,
271
+ { reassignTo: params.reassignTo, force: params.force },
272
+ getProjectRoot()
273
+ );
274
+ }
275
+ var coreOps = {
276
+ "stage.validate": stageValidateOp,
277
+ "stage.status": stageStatusOp,
278
+ "stage.history": stageHistoryOp,
279
+ "stage.guidance": stageGuidanceOp,
280
+ "stage.record": stageRecordOp,
281
+ "stage.skip": stageSkipOp,
282
+ "stage.reset": stageResetOp,
283
+ "stage.gate.pass": stageGatePassOp,
284
+ "stage.gate.fail": stageGateFailOp,
285
+ "release.list": releaseListOp,
286
+ "release.show": releaseShowOp,
287
+ "release.channel.show": releaseChannelShowOp,
288
+ "release.pr-status": releasePrStatusOp,
289
+ "release.cancel": releaseCancelOp,
290
+ "release.rollback": releaseRollbackOp,
291
+ "release.rollback.full": releaseRollbackFullOp,
292
+ "manifest.show": manifestShowOp,
293
+ "manifest.list": manifestListOp,
294
+ "manifest.find": manifestFindOp,
295
+ "manifest.stats": manifestStatsOp,
296
+ "manifest.append": manifestAppendOp,
297
+ "manifest.archive": manifestArchiveOp,
298
+ "phase.show": phaseShowOp,
299
+ "phase.list": phaseListOp,
300
+ "phase.set": phaseSetOp,
301
+ "phase.advance": phaseAdvanceOp,
302
+ "phase.rename": phaseRenameOp,
303
+ "phase.delete": phaseDeleteOp
304
+ };
305
+ var _pipelineTypedHandler = defineTypedHandler("pipeline", {
306
+ // -------------------------------------------------------------------------
307
+ // Stage queries
308
+ // -------------------------------------------------------------------------
309
+ "stage.validate": async (params) => {
310
+ if (!params.epicId || !params.targetStage) {
311
+ return lafsError("E_INVALID_INPUT", "epicId and targetStage are required", "stage.validate");
312
+ }
313
+ return wrapCoreResult(await coreOps["stage.validate"](params), "stage.validate");
314
+ },
315
+ "stage.status": async (params) => {
316
+ if (!params.epicId) {
317
+ return lafsError("E_INVALID_INPUT", "epicId is required", "stage.status");
318
+ }
319
+ return wrapCoreResult(await coreOps["stage.status"](params), "stage.status");
320
+ },
321
+ "stage.history": async (params) => {
322
+ if (!params.taskId) {
323
+ return lafsError("E_INVALID_INPUT", "taskId is required", "stage.history");
324
+ }
325
+ return wrapCoreResult(await coreOps["stage.history"](params), "stage.history");
326
+ },
327
+ // SSoT-EXEMPT: sentinel-unwrap from stageGuidanceOp + isValidStage + buildStageGuidance
328
+ // + formatStageGuidance — Core fn returns an intermediate sentinel shape; dispatch
329
+ // cannot simply delegate and wrap — ADR-058
330
+ "stage.guidance": async (params) => {
331
+ const {
332
+ _stage: stage,
333
+ _format: format,
334
+ _projectRoot: projectRoot
335
+ } = await coreOps["stage.guidance"](params);
336
+ if (!stage) {
337
+ return lafsError(
338
+ "E_INVALID_INPUT",
339
+ "Either stage or epicId (with an active pipeline stage) is required",
340
+ "stage.guidance"
341
+ );
342
+ }
343
+ if (!isValidStage(stage)) {
344
+ return lafsError("E_INVALID_INPUT", `Unknown stage: ${stage}`, "stage.guidance");
345
+ }
346
+ const guidance = buildStageGuidance(stage, projectRoot);
347
+ const data = format === "json" ? { stage: guidance.stage, guidance } : {
348
+ stage: guidance.stage,
349
+ name: guidance.name,
350
+ order: guidance.order,
351
+ primarySkill: guidance.primarySkill,
352
+ loadedSkills: guidance.loadedSkills,
353
+ requiredGates: guidance.requiredGates,
354
+ expectedArtifacts: guidance.expectedArtifacts,
355
+ source: guidance.source,
356
+ prompt: formatStageGuidance(guidance)
357
+ };
358
+ return lafsSuccess(data, "stage.guidance");
359
+ },
360
+ // -------------------------------------------------------------------------
361
+ // Stage mutations
362
+ // -------------------------------------------------------------------------
363
+ "stage.record": async (params) => {
364
+ if (!params.taskId || !params.stage || !params.status) {
365
+ return lafsError("E_INVALID_INPUT", "taskId, stage, and status are required", "stage.record");
366
+ }
367
+ return wrapCoreResult(await coreOps["stage.record"](params), "stage.record");
368
+ },
369
+ "stage.skip": async (params) => {
370
+ if (!params.taskId || !params.stage || !params.reason) {
371
+ return lafsError("E_INVALID_INPUT", "taskId, stage, and reason are required", "stage.skip");
372
+ }
373
+ return wrapCoreResult(await coreOps["stage.skip"](params), "stage.skip");
374
+ },
375
+ "stage.reset": async (params) => {
376
+ if (!params.taskId || !params.stage || !params.reason) {
377
+ return lafsError("E_INVALID_INPUT", "taskId, stage, and reason are required", "stage.reset");
378
+ }
379
+ return wrapCoreResult(await coreOps["stage.reset"](params), "stage.reset");
380
+ },
381
+ "stage.gate.pass": async (params) => {
382
+ if (!params.taskId || !params.gateName) {
383
+ return lafsError("E_INVALID_INPUT", "taskId and gateName are required", "stage.gate.pass");
384
+ }
385
+ return wrapCoreResult(await coreOps["stage.gate.pass"](params), "stage.gate.pass");
386
+ },
387
+ "stage.gate.fail": async (params) => {
388
+ if (!params.taskId || !params.gateName) {
389
+ return lafsError("E_INVALID_INPUT", "taskId and gateName are required", "stage.gate.fail");
390
+ }
391
+ return wrapCoreResult(await coreOps["stage.gate.fail"](params), "stage.gate.fail");
392
+ },
393
+ // -------------------------------------------------------------------------
394
+ // Release queries
395
+ // -------------------------------------------------------------------------
396
+ "release.list": async (params) => {
397
+ const result = await coreOps["release.list"](params);
398
+ if (!result.success) {
399
+ return lafsError(
400
+ String(result.error?.code ?? "E_INTERNAL"),
401
+ result.error?.message ?? "Unknown error",
402
+ "release.list"
403
+ );
404
+ }
405
+ return lafsSuccess(
406
+ { ...result.data, _enginePage: result.page },
407
+ "release.list"
408
+ );
409
+ },
410
+ "release.show": async (params) => {
411
+ if (!params.version) {
412
+ return lafsError("E_INVALID_INPUT", "version is required", "release.show");
413
+ }
414
+ return wrapCoreResult(await coreOps["release.show"](params), "release.show");
415
+ },
416
+ // Always succeeds (git branch detection falls back to 'unknown') — no error path.
417
+ "release.channel.show": async (_params) => lafsSuccess((await coreOps["release.channel.show"](_params)).data, "release.channel.show"),
418
+ // -------------------------------------------------------------------------
419
+ // Release mutations
420
+ //
421
+ // T9540 removed `release.ship` from the pipeline domain — the
422
+ // `cleo release ship` CLI alias now forwards to `release.plan` +
423
+ // `release.open` (handled by the release domain), not the deleted
424
+ // `releaseShip` monolith.
425
+ // -------------------------------------------------------------------------
426
+ // release.pr-status — T9095 query: poll CI checks for an in-progress release PR
427
+ "release.pr-status": async (params) => {
428
+ if (!params.version) {
429
+ return lafsError("E_INVALID_INPUT", "version is required", "release.pr-status");
430
+ }
431
+ return wrapCoreResult(await coreOps["release.pr-status"](params), "release.pr-status");
432
+ },
433
+ "release.cancel": async (params) => {
434
+ if (!params.version) {
435
+ return lafsError("E_INVALID_INPUT", "version is required", "release.cancel");
436
+ }
437
+ return wrapCoreResult(await coreOps["release.cancel"](params), "release.cancel");
438
+ },
439
+ "release.rollback": async (params) => {
440
+ if (!params.version) {
441
+ return lafsError("E_INVALID_INPUT", "version is required", "release.rollback");
442
+ }
443
+ return wrapCoreResult(await coreOps["release.rollback"](params), "release.rollback");
444
+ },
445
+ "release.rollback.full": async (params) => {
446
+ if (!params.version) {
447
+ return lafsError("E_INVALID_INPUT", "version is required", "release.rollback.full");
448
+ }
449
+ return wrapCoreResult(await coreOps["release.rollback.full"](params), "release.rollback.full");
450
+ },
451
+ // -------------------------------------------------------------------------
452
+ // Manifest queries
453
+ // -------------------------------------------------------------------------
454
+ "manifest.show": async (params) => {
455
+ if (!params.entryId) {
456
+ return lafsError("E_INVALID_INPUT", "entryId is required", "manifest.show");
457
+ }
458
+ return wrapCoreResult(await coreOps["manifest.show"](params), "manifest.show");
459
+ },
460
+ "manifest.list": async (params) => {
461
+ const result = await coreOps["manifest.list"](params);
462
+ if (!result.success) {
463
+ return wrapCoreResult(result, "manifest.list");
464
+ }
465
+ return lafsSuccess(
466
+ { ...result.data, _enginePage: result.page },
467
+ "manifest.list"
468
+ );
469
+ },
470
+ "manifest.find": async (params) => {
471
+ if (!params.query) {
472
+ return lafsError("E_INVALID_INPUT", "query is required", "manifest.find");
473
+ }
474
+ return wrapCoreResult(await coreOps["manifest.find"](params), "manifest.find");
475
+ },
476
+ "manifest.stats": async (params) => wrapCoreResult(await coreOps["manifest.stats"](params), "manifest.stats"),
477
+ // -------------------------------------------------------------------------
478
+ // Manifest mutations
479
+ // -------------------------------------------------------------------------
480
+ "manifest.append": async (params) => {
481
+ if (!params.entry) {
482
+ return lafsError("E_INVALID_INPUT", "entry is required", "manifest.append");
483
+ }
484
+ return wrapCoreResult(await coreOps["manifest.append"](params), "manifest.append");
485
+ },
486
+ "manifest.archive": async (params) => {
487
+ if (!params.beforeDate) {
488
+ return lafsError(
489
+ "E_INVALID_INPUT",
490
+ "beforeDate is required (ISO-8601: YYYY-MM-DD)",
491
+ "manifest.archive"
492
+ );
493
+ }
494
+ return wrapCoreResult(await coreOps["manifest.archive"](params), "manifest.archive");
495
+ },
496
+ // -------------------------------------------------------------------------
497
+ // Phase queries
498
+ // -------------------------------------------------------------------------
499
+ "phase.show": async (params) => wrapCoreResult(await coreOps["phase.show"](params), "phase.show"),
500
+ // Pagination is applied in PipelineHandler.query() for phase.list.
501
+ "phase.list": async (_params) => wrapCoreResult(await coreOps["phase.list"](_params), "phase.list"),
502
+ // -------------------------------------------------------------------------
503
+ // Phase mutations
504
+ // -------------------------------------------------------------------------
505
+ "phase.set": async (params) => {
506
+ if (!params.phaseId) {
507
+ return lafsError("E_INVALID_INPUT", "phaseId is required", "phase.set");
508
+ }
509
+ return wrapCoreResult(await coreOps["phase.set"](params), "phase.set");
510
+ },
511
+ "phase.advance": async (params) => wrapCoreResult(await coreOps["phase.advance"](params), "phase.advance"),
512
+ "phase.rename": async (params) => {
513
+ if (!params.oldName || !params.newName) {
514
+ return lafsError("E_INVALID_INPUT", "oldName and newName are required", "phase.rename");
515
+ }
516
+ return wrapCoreResult(await coreOps["phase.rename"](params), "phase.rename");
517
+ },
518
+ "phase.delete": async (params) => {
519
+ if (!params.phaseId) {
520
+ return lafsError("E_INVALID_INPUT", "phaseId is required", "phase.delete");
521
+ }
522
+ return wrapCoreResult(await coreOps["phase.delete"](params), "phase.delete");
523
+ }
524
+ });
525
+ function pipelinePhaseListResponse(envelope, params, operation, startTime) {
526
+ const listData = envelope.data ?? {};
527
+ const phases = listData?.phases ?? [];
528
+ const total = listData?.summary?.total ?? phases.length;
529
+ const { limit, offset } = getListParams(params);
530
+ const page = paginate(phases, limit, offset);
531
+ return {
532
+ meta: dispatchMeta("query", "pipeline", operation, startTime),
533
+ success: true,
534
+ data: { ...listData, phases: page.items, total, filtered: total },
535
+ page: page.page
536
+ };
537
+ }
538
+ function pipelineEnvelopeResponse(envelope, operation, startTime) {
539
+ const envelopeData = envelope.data;
540
+ const enginePage = envelopeData?._enginePage;
541
+ const responseData = envelopeData?._enginePage !== void 0 ? (({ _enginePage: _p, ...rest }) => rest)(
542
+ envelopeData
543
+ ) : envelopeData;
544
+ return {
545
+ meta: dispatchMeta("query", "pipeline", operation, startTime),
546
+ success: true,
547
+ data: responseData,
548
+ ...enginePage ? { page: enginePage } : {}
549
+ };
550
+ }
551
+ var PipelineHandler = class {
552
+ // -----------------------------------------------------------------------
553
+ // DomainHandler interface
554
+ // -----------------------------------------------------------------------
555
+ async query(operation, params) {
556
+ const startTime = Date.now();
557
+ const queryOps = /* @__PURE__ */ new Set([
558
+ "stage.validate",
559
+ "stage.status",
560
+ "stage.history",
561
+ "stage.guidance",
562
+ "manifest.show",
563
+ "manifest.list",
564
+ "manifest.find",
565
+ "manifest.stats",
566
+ "release.list",
567
+ "release.show",
568
+ "release.channel.show",
569
+ "release.pr-status",
570
+ "phase.show",
571
+ "phase.list"
572
+ ]);
573
+ if (!queryOps.has(operation)) {
574
+ return errorResult(
575
+ "query",
576
+ "pipeline",
577
+ operation,
578
+ "E_INVALID_OPERATION",
579
+ `Unknown pipeline query: ${operation}`,
580
+ startTime
581
+ );
582
+ }
583
+ try {
584
+ const envelope = await typedDispatch(
585
+ _pipelineTypedHandler,
586
+ operation,
587
+ params ?? {}
588
+ );
589
+ if (!envelope.success) {
590
+ return wrapResult(
591
+ envelopeToEngineResult(envelope),
592
+ "query",
593
+ "pipeline",
594
+ operation,
595
+ startTime
596
+ );
597
+ }
598
+ if (operation === "phase.list")
599
+ return pipelinePhaseListResponse(envelope, params, operation, startTime);
600
+ return pipelineEnvelopeResponse(envelope, operation, startTime);
601
+ } catch (error) {
602
+ getLogger("domain:pipeline").error(
603
+ { gateway: "query", domain: "pipeline", operation, err: error },
604
+ error instanceof Error ? error.message : String(error)
605
+ );
606
+ return handleErrorResult("query", "pipeline", operation, error, startTime);
607
+ }
608
+ }
609
+ async mutate(operation, params) {
610
+ const startTime = Date.now();
611
+ const mutateOps = /* @__PURE__ */ new Set([
612
+ "stage.record",
613
+ "stage.skip",
614
+ "stage.reset",
615
+ "stage.gate.pass",
616
+ "stage.gate.fail",
617
+ "release.cancel",
618
+ "release.rollback",
619
+ "release.rollback.full",
620
+ "manifest.append",
621
+ "manifest.archive",
622
+ "phase.set",
623
+ "phase.advance",
624
+ "phase.rename",
625
+ "phase.delete"
626
+ ]);
627
+ if (!mutateOps.has(operation)) {
628
+ return errorResult(
629
+ "mutate",
630
+ "pipeline",
631
+ operation,
632
+ "E_INVALID_OPERATION",
633
+ `Unknown pipeline mutation: ${operation}`,
634
+ startTime
635
+ );
636
+ }
637
+ try {
638
+ const envelope = await typedDispatch(
639
+ _pipelineTypedHandler,
640
+ operation,
641
+ params ?? {}
642
+ );
643
+ return wrapResult(
644
+ envelopeToEngineResult(envelope),
645
+ "mutate",
646
+ "pipeline",
647
+ operation,
648
+ startTime
649
+ );
650
+ } catch (error) {
651
+ getLogger("domain:pipeline").error(
652
+ { gateway: "mutate", domain: "pipeline", operation, err: error },
653
+ error instanceof Error ? error.message : String(error)
654
+ );
655
+ return handleErrorResult("mutate", "pipeline", operation, error, startTime);
656
+ }
657
+ }
658
+ getSupportedOperations() {
659
+ return {
660
+ query: [
661
+ "stage.validate",
662
+ "stage.status",
663
+ "stage.history",
664
+ "stage.guidance",
665
+ "manifest.show",
666
+ "manifest.list",
667
+ "manifest.find",
668
+ "manifest.stats",
669
+ "release.list",
670
+ "release.show",
671
+ "release.channel.show",
672
+ "phase.show",
673
+ "phase.list"
674
+ ],
675
+ mutate: [
676
+ "stage.record",
677
+ "stage.skip",
678
+ "stage.reset",
679
+ "stage.gate.pass",
680
+ "stage.gate.fail",
681
+ "release.cancel",
682
+ "release.rollback",
683
+ "release.rollback.full",
684
+ "manifest.append",
685
+ "manifest.archive",
686
+ "phase.set",
687
+ "phase.advance",
688
+ "phase.rename",
689
+ "phase.delete"
690
+ ]
691
+ };
692
+ }
693
+ };
694
+ export {
695
+ PipelineHandler
696
+ };
697
+ //# sourceMappingURL=pipeline-TCZPOEDR.js.map