@cleocode/cleo 2026.10.2 → 2026.10.4

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 (307) hide show
  1. package/bin/cleo.js +11 -1
  2. package/dist/cli/adapter-LVXHFBC4.js +158 -0
  3. package/dist/cli/add-WUAV7LDT.js +443 -0
  4. package/dist/cli/add-batch-U2DLKAQC.js +163 -0
  5. package/dist/cli/admin-I7BQYVZD.js +340 -0
  6. package/dist/cli/adr-K2THMQBS.js +171 -0
  7. package/dist/cli/agent-WQ6XY2DW.js +2366 -0
  8. package/dist/cli/agent-outputs-BJIYLVTU.js +84 -0
  9. package/dist/cli/analyze-PGQZWGOC.js +48 -0
  10. package/dist/cli/archive-5LZPF7C3.js +64 -0
  11. package/dist/cli/archive-stats-U6CYC6JM.js +100 -0
  12. package/dist/cli/attention-SOURWCNI.js +167 -0
  13. package/dist/cli/audit-FO2Y4LH2.js +122 -0
  14. package/dist/cli/auth-ED7TAIXI.js +491 -0
  15. package/dist/cli/backfill-32TRAYRD.js +156 -0
  16. package/dist/cli/backup-LEJMZJKL.js +587 -0
  17. package/dist/cli/backup-inspect-6HPLUEI2.js +26 -0
  18. package/dist/cli/backup-recover-2BTYBZU2.js +29 -0
  19. package/dist/cli/blockers-5JULUJTV.js +54 -0
  20. package/dist/cli/brain-273N3FW4.js +400 -0
  21. package/dist/cli/briefing-7H6OLECX.js +212 -0
  22. package/dist/cli/caamp-MFQVN6VU.js +181 -0
  23. package/dist/cli/cancel-SCMJTXZB.js +84 -0
  24. package/dist/cli/canon-NPF5RODM.js +142 -0
  25. package/dist/cli/canon-docs-2GTOLF7Y.js +26 -0
  26. package/dist/cli/cant-46XCUP4P.js +239 -0
  27. package/dist/cli/changeset-32NMBGG2.js +248 -0
  28. package/dist/cli/check-RWJLBCI2.js +907 -0
  29. package/dist/cli/checkpoint-37HMMKD7.js +128 -0
  30. package/dist/cli/chunk-2JIJD2I7.js +108 -0
  31. package/dist/cli/chunk-37NU2XDP.js +171 -0
  32. package/dist/cli/chunk-3IOQVUO7.js +17308 -0
  33. package/dist/cli/chunk-3PGH67MT.js +175 -0
  34. package/dist/cli/chunk-3ZO3M37V.js +1002 -0
  35. package/dist/cli/chunk-47JYZAMS.js +30 -0
  36. package/dist/cli/chunk-5J2VH3BC.js +66 -0
  37. package/dist/cli/chunk-5ZFFUFH7.js +92 -0
  38. package/dist/cli/chunk-6JSJNYH2.js +114 -0
  39. package/dist/cli/chunk-7INMKEAD.js +85 -0
  40. package/dist/cli/chunk-A2IUEIM5.js +278 -0
  41. package/dist/cli/chunk-AWCQH2W5.js +35 -0
  42. package/dist/cli/chunk-AYA6F4ZT.js +56 -0
  43. package/dist/cli/chunk-BCEXRFA2.js +76 -0
  44. package/dist/cli/chunk-BPEVD37G.js +124 -0
  45. package/dist/cli/chunk-C3B7C43W.js +16 -0
  46. package/dist/cli/chunk-DVTPIZJM.js +72 -0
  47. package/dist/cli/chunk-DYABOIHB.js +96 -0
  48. package/dist/cli/chunk-EBRZ76HS.js +51 -0
  49. package/dist/cli/chunk-EGOTK2HA.js +57 -0
  50. package/dist/cli/chunk-EOPQFCSR.js +148 -0
  51. package/dist/cli/chunk-FORFDPP5.js +288 -0
  52. package/dist/cli/chunk-GFGLLDXX.js +110 -0
  53. package/dist/cli/chunk-GH37QXW5.js +280 -0
  54. package/dist/cli/chunk-GZFVDR44.js +320 -0
  55. package/dist/cli/chunk-I3CRQQAD.js +225 -0
  56. package/dist/cli/chunk-J3ZFM3UQ.js +754 -0
  57. package/dist/cli/chunk-JNZJPIPJ.js +90 -0
  58. package/dist/cli/chunk-KHB52JNB.js +209 -0
  59. package/dist/cli/chunk-KJDWWQFY.js +46 -0
  60. package/dist/cli/chunk-LKNUA3SB.js +83 -0
  61. package/dist/cli/chunk-LVGIFMCV.js +163 -0
  62. package/dist/cli/chunk-LWQBJQSE.js +67 -0
  63. package/dist/cli/chunk-MNJRLSEQ.js +107 -0
  64. package/dist/cli/chunk-NRKWJLMS.js +91 -0
  65. package/dist/cli/chunk-NSHV2JNM.js +48 -0
  66. package/dist/cli/chunk-NWTATTEQ.js +210 -0
  67. package/dist/cli/chunk-OAPN46TC.js +89 -0
  68. package/dist/cli/chunk-OGV57L4J.js +59 -0
  69. package/dist/cli/chunk-OILHT47L.js +252 -0
  70. package/dist/cli/chunk-OPTEQKBB.js +258 -0
  71. package/dist/cli/chunk-PKKZPOOP.js +352 -0
  72. package/dist/cli/chunk-QA6T2LQ5.js +71 -0
  73. package/dist/cli/chunk-QFFQSKRC.js +4497 -0
  74. package/dist/cli/chunk-QPUY2HQZ.js +74 -0
  75. package/dist/cli/chunk-REUTEW3O.js +258 -0
  76. package/dist/cli/chunk-S24YI723.js +88 -0
  77. package/dist/cli/chunk-SXXOC6KZ.js +209 -0
  78. package/dist/cli/chunk-ULN4OKQQ.js +259 -0
  79. package/dist/cli/chunk-V5GBGOGM.js +46 -0
  80. package/dist/cli/chunk-VLEYOOPH.js +31 -0
  81. package/dist/cli/chunk-W33Q3FBH.js +66 -0
  82. package/dist/cli/chunk-W3JLYKKY.js +140 -0
  83. package/dist/cli/chunk-XRAX6XFP.js +48 -0
  84. package/dist/cli/chunk-YGKEECTI.js +78 -0
  85. package/dist/cli/chunk-YUZJI67I.js +108 -0
  86. package/dist/cli/chunk-YY66LFZF.js +29 -0
  87. package/dist/cli/chunk-ZBISIPCK.js +78 -0
  88. package/dist/cli/chunk-ZZTHTMQP.js +77 -0
  89. package/dist/cli/claim-KPENYHIQ.js +96 -0
  90. package/dist/cli/classify-DRVMCFQU.js +117 -0
  91. package/dist/cli/cli-T3CR7J57.js +48 -0
  92. package/dist/cli/cloud-PPQ4O5TX.js +565 -0
  93. package/dist/cli/cockpit-RZKLGYPN.js +790 -0
  94. package/dist/cli/code-Z5CTMVTD.js +178 -0
  95. package/dist/cli/complete-UBOCOBRB.js +34 -0
  96. package/dist/cli/complexity-BV2AGQRZ.js +56 -0
  97. package/dist/cli/compliance-32PD5Y47.js +276 -0
  98. package/dist/cli/conduit-VDKCH33F.js +307 -0
  99. package/dist/cli/config-I72JAXK4.js +516 -0
  100. package/dist/cli/consensus-LFILLSTK.js +121 -0
  101. package/dist/cli/context-XUUVFVTP.js +141 -0
  102. package/dist/cli/contribution-37NQ4N5R.js +111 -0
  103. package/dist/cli/curator-TFDXU2EX.js +139 -0
  104. package/dist/cli/current-C4SN5BWV.js +42 -0
  105. package/dist/cli/daemon-DV25JQ62.js +451 -0
  106. package/dist/cli/dash-TFU4RLQW.js +70 -0
  107. package/dist/cli/decide-5VPMNTSI.js +419 -0
  108. package/dist/cli/decompose-KOYEZNJL.js +77 -0
  109. package/dist/cli/decomposition-7OHUFIQN.js +121 -0
  110. package/dist/cli/delete-Q7YCAFY5.js +68 -0
  111. package/dist/cli/deps-6UZKLDGJ.js +463 -0
  112. package/dist/cli/detect-FERY35UL.js +45 -0
  113. package/dist/cli/detect-drift-UL2JTPUK.js +408 -0
  114. package/dist/cli/diagnostics-TI5QAZXR.js +132 -0
  115. package/dist/cli/docs-QI2PRN3T.js +3095 -0
  116. package/dist/cli/doctor-AX5TICQO.js +1253 -0
  117. package/dist/cli/doctor-ac-bindings-YPMYHU2G.js +26 -0
  118. package/dist/cli/doctor-acceptance-drift-PYNFGMKB.js +26 -0
  119. package/dist/cli/doctor-credentials-UZRIADKM.js +26 -0
  120. package/dist/cli/doctor-db-substrate-Q2TOYM2S.js +27 -0
  121. package/dist/cli/doctor-dep-cycles-GCVYZY6F.js +26 -0
  122. package/dist/cli/doctor-exodus-RO5SUTC2.js +26 -0
  123. package/dist/cli/doctor-exodus-residue-EM2AWQXP.js +26 -0
  124. package/dist/cli/doctor-fk-check-Q3FOLECE.js +26 -0
  125. package/dist/cli/doctor-global-delivery-TNOAQ3NP.js +26 -0
  126. package/dist/cli/doctor-heavy-command-hook-IO3QAQLG.js +26 -0
  127. package/dist/cli/doctor-legacy-backups-O2YH5VLS.js +26 -0
  128. package/dist/cli/doctor-legacy-reaper-VSEJEIFA.js +26 -0
  129. package/dist/cli/doctor-malformed-ids-LQ766V5K.js +26 -0
  130. package/dist/cli/doctor-manifest-rows-6FQDNHLH.js +26 -0
  131. package/dist/cli/doctor-memory-guard-J4PSEKB5.js +26 -0
  132. package/dist/cli/doctor-migrations-ONOH56YM.js +26 -0
  133. package/dist/cli/doctor-nexus-residency-FUQAX7PV.js +26 -0
  134. package/dist/cli/doctor-project-identity-GUDK3HYX.js +26 -0
  135. package/dist/cli/doctor-projects-7L3BNL4O.js +30 -0
  136. package/dist/cli/doctor-projects-registry-TEAVHFQU.js +26 -0
  137. package/dist/cli/doctor-release-readiness-IEGHX6SL.js +26 -0
  138. package/dist/cli/doctor-repair-NBONOSZU.js +26 -0
  139. package/dist/cli/doctor-skill-fixtures-7Y6L34A3.js +26 -0
  140. package/dist/cli/doctor-split-brain-TUKIGVHF.js +26 -0
  141. package/dist/cli/doctor-superseded-store-BHZY2B2L.js +26 -0
  142. package/dist/cli/doctor-tool-locks-REQMIVYK.js +26 -0
  143. package/dist/cli/doctor-twin-collapse-222GOSPE.js +26 -0
  144. package/dist/cli/doctor-worktree-stores-J7TCRVJ3.js +26 -0
  145. package/dist/cli/done-V3AOO65B.js +195 -0
  146. package/dist/cli/dynamic-RR4HB7BB.js +29 -0
  147. package/dist/cli/event-EGNPGE5A.js +372 -0
  148. package/dist/cli/exists-H4SDCBPL.js +65 -0
  149. package/dist/cli/exodus-KALO3B3X.js +401 -0
  150. package/dist/cli/export-ROFOCG4M.js +92 -0
  151. package/dist/cli/export-tasks-US3WBIEQ.js +96 -0
  152. package/dist/cli/federation-SUIB5QWT.js +145 -0
  153. package/dist/cli/find-YICG4BG6.js +177 -0
  154. package/dist/cli/focus-TKCZPKOM.js +55 -0
  155. package/dist/cli/gateway-H4HFDC3E.js +77 -0
  156. package/dist/cli/gateway-auto-start-EDK7XI6E.js +36 -0
  157. package/dist/cli/gc-5R2TUY5T.js +291 -0
  158. package/dist/cli/go-PRQFK5YG.js +206 -0
  159. package/dist/cli/goal-7CZRMLHC.js +212 -0
  160. package/dist/cli/grade-PY2YRPUS.js +56 -0
  161. package/dist/cli/graph-XIXMCFKG.js +878 -0
  162. package/dist/cli/history-EIXADPAD.js +137 -0
  163. package/dist/cli/hook-UF7J7R6D.js +57 -0
  164. package/dist/cli/hook-entry.js +244 -19
  165. package/dist/cli/hygiene-3QZ2NI7P.js +55 -0
  166. package/dist/cli/import-R73SO444.js +88 -0
  167. package/dist/cli/import-tasks-O22FZJ4U.js +108 -0
  168. package/dist/cli/index.js +419 -94607
  169. package/dist/cli/init-IHEJDQWU.js +40 -0
  170. package/dist/cli/inject-LSRVWNCP.js +82 -0
  171. package/dist/cli/install-global-4AZUCH6U.js +95 -0
  172. package/dist/cli/intelligence-2OSFOGD2.js +181 -0
  173. package/dist/cli/issue-IIWEDNFC.js +158 -0
  174. package/dist/cli/janitor-GPMC7VOR.js +111 -0
  175. package/dist/cli/labels-5NPOIQXN.js +87 -0
  176. package/dist/cli/lifecycle-4FFS2K2T.js +272 -0
  177. package/dist/cli/list-47KEUGPQ.js +108 -0
  178. package/dist/cli/llm-G5B3I6GD.js +703 -0
  179. package/dist/cli/llm-cost-S7RS6BVA.js +25 -0
  180. package/dist/cli/llm-stream-24A45NTS.js +27 -0
  181. package/dist/cli/log-XF6H2XSD.js +75 -0
  182. package/dist/cli/login-LBPLGHYG.js +43 -0
  183. package/dist/cli/logout-SX4JSJIV.js +74 -0
  184. package/dist/cli/manifest-NMCW4PIW.js +353 -0
  185. package/dist/cli/map-BU72KMGF.js +52 -0
  186. package/dist/cli/memory-UHYIVGVM.js +1956 -0
  187. package/dist/cli/migrate-agents-v2-OO7OILZK.js +33 -0
  188. package/dist/cli/migrate-claude-mem-EDNYUY3K.js +201 -0
  189. package/dist/cli/next-RZFRG5X7.js +56 -0
  190. package/dist/cli/nexus-4S4Z5EVU.js +2923 -0
  191. package/dist/cli/ops-KR7AWCG3.js +51 -0
  192. package/dist/cli/orchestrate-HOYZY3VX.js +948 -0
  193. package/dist/cli/otel-U7IIRBCT.js +188 -0
  194. package/dist/cli/phase-NYZFHUE5.js +220 -0
  195. package/dist/cli/pivot-FF2CVUZL.js +87 -0
  196. package/dist/cli/plan-3SL2NTRV.js +48 -0
  197. package/dist/cli/playbook-2FCBV7N3.js +229 -0
  198. package/dist/cli/project-WDX2TGMC.js +330 -0
  199. package/dist/cli/promote-YINYFBZY.js +52 -0
  200. package/dist/cli/provenance-C7AYD7WG.js +128 -0
  201. package/dist/cli/provider-QLJEDQBR.js +212 -0
  202. package/dist/cli/reason-JF5BHBM5.js +137 -0
  203. package/dist/cli/reconcile-NMISHDGX.js +127 -0
  204. package/dist/cli/refresh-memory-EY5YNICV.js +45 -0
  205. package/dist/cli/relates-R3ZPICAY.js +259 -0
  206. package/dist/cli/release-4ZJTMUUT.js +524 -0
  207. package/dist/cli/remote-QSONJDIK.js +279 -0
  208. package/dist/cli/renderers-64OR3IWX.js +37 -0
  209. package/dist/cli/reorder-J3DOE7ST.js +86 -0
  210. package/dist/cli/reparent-2OUMKEZX.js +58 -0
  211. package/dist/cli/req-TZB7OFKO.js +129 -0
  212. package/dist/cli/research-MTD7EX45.js +365 -0
  213. package/dist/cli/restore-VEUOX7NF.js +423 -0
  214. package/dist/cli/revert-3YF2IL5G.js +240 -0
  215. package/dist/cli/roadmap-7OOQLXKG.js +61 -0
  216. package/dist/cli/run-2U5NZV5Z.js +211 -0
  217. package/dist/cli/safestop-VR4VK56D.js +88 -0
  218. package/dist/cli/saga-SEWPIOX2.js +285 -0
  219. package/dist/cli/schema-C52WZ35V.js +195 -0
  220. package/dist/cli/self-update-GQIGUDPS.js +504 -0
  221. package/dist/cli/selfimprove-3Y5L4ECT.js +88 -0
  222. package/dist/cli/sentient-M4YMAVGV.js +1088 -0
  223. package/dist/cli/sequence-6UBMA4IF.js +93 -0
  224. package/dist/cli/service-5R7SILZ7.js +155 -0
  225. package/dist/cli/session-3C6AAC4Y.js +707 -0
  226. package/dist/cli/setup-BTUBW5PU.js +323 -0
  227. package/dist/cli/show-MXT2V7TF.js +122 -0
  228. package/dist/cli/skill-GFUZOU2C.js +84 -0
  229. package/dist/cli/skills-EDWLKAF3.js +928 -0
  230. package/dist/cli/smoke-provider-SKUFMZXU.js +218 -0
  231. package/dist/cli/snapshot-GUWMURCM.js +119 -0
  232. package/dist/cli/src-66GAKPXR.js +80 -0
  233. package/dist/cli/start-QFG56RGN.js +67 -0
  234. package/dist/cli/stats-GW55P7RR.js +95 -0
  235. package/dist/cli/status-46HTKNRR.js +157 -0
  236. package/dist/cli/sticky-2DUZOUGI.js +338 -0
  237. package/dist/cli/stop-J2QEUKHX.js +42 -0
  238. package/dist/cli/sync-GJP2QYT5.js +154 -0
  239. package/dist/cli/tasks-BNXTM7PB.js +174 -0
  240. package/dist/cli/telemetry-55Z2XJWL.js +120 -0
  241. package/dist/cli/templates-7O77TKPV.js +611 -0
  242. package/dist/cli/testing-37YTBNKP.js +146 -0
  243. package/dist/cli/token-UAVJMNUI.js +220 -0
  244. package/dist/cli/transcript-LORQTV5Z.js +440 -0
  245. package/dist/cli/tui-BPUFHYKK.js +51 -0
  246. package/dist/cli/update-NVCYV2FT.js +476 -0
  247. package/dist/cli/upgrade-OXJXOGEF.js +243 -0
  248. package/dist/cli/verify-LYLDHPT2.js +190 -0
  249. package/dist/cli/web-QP2RP266.js +275 -0
  250. package/dist/cli/workgraph-FXBSZDQE.js +232 -0
  251. package/dist/cli/worktree-6RXAJIST.js +370 -0
  252. package/package.json +13 -13
  253. package/studio-dist/client/_app/immutable/chunks/{Buaay_Q8.js → Btgeq_wq.js} +1 -1
  254. package/studio-dist/client/_app/immutable/chunks/{BJp57kf2.js → CgBjxmu6.js} +1 -1
  255. package/studio-dist/client/_app/immutable/chunks/{CLP4JZvZ.js → DgEKqO6r.js} +1 -1
  256. package/studio-dist/client/_app/immutable/chunks/t81h7afa.js +1 -0
  257. package/studio-dist/client/_app/immutable/entry/{app.CczVILch.js → app.a02HWaRB.js} +2 -2
  258. package/studio-dist/client/_app/immutable/entry/start.BreMSngo.js +1 -0
  259. package/studio-dist/client/_app/immutable/nodes/{0.Zy2IsLEl.js → 0.nTXyRfc-.js} +1 -1
  260. package/studio-dist/client/_app/immutable/nodes/{1.DJN1QI3l.js → 1.4zrWeHtl.js} +1 -1
  261. package/studio-dist/client/_app/immutable/nodes/{15.B4rwqbHV.js → 15.D9mk4JyY.js} +1 -1
  262. package/studio-dist/client/_app/immutable/nodes/{16.jn-5BG_L.js → 16._-wt-sQf.js} +1 -1
  263. package/studio-dist/client/_app/immutable/nodes/{17.DnWGC4t9.js → 17.CUu6LQDj.js} +1 -1
  264. package/studio-dist/client/_app/immutable/nodes/{18.0zddLZOY.js → 18.Dz4QRTkX.js} +1 -1
  265. package/studio-dist/client/_app/immutable/nodes/{20.DEKHq9Tc.js → 20.CJ2_EB0U.js} +1 -1
  266. package/studio-dist/client/_app/immutable/nodes/{24.CQB9KP-p.js → 24.Igj2FS7k.js} +1 -1
  267. package/studio-dist/client/_app/immutable/nodes/{25.BaqToZD-.js → 25.BnATjVGN.js} +2 -2
  268. package/studio-dist/client/_app/immutable/nodes/{26.BiE1i4iE.js → 26.6iPyjT44.js} +1 -1
  269. package/studio-dist/client/_app/immutable/nodes/{3.BObAOu_-.js → 3.AA5GwNgP.js} +1 -1
  270. package/studio-dist/client/_app/version.json +1 -1
  271. package/studio-dist/server/chunks/{0-BmUoS2yd.js → 0-DGmsoBYm.js} +3 -3
  272. package/studio-dist/server/chunks/1-8PfxPvlK.js +9 -0
  273. package/studio-dist/server/chunks/{15-Dt4kqUxW.js → 15-Bg6YTndh.js} +3 -3
  274. package/studio-dist/server/chunks/{16-kgTLJvbO.js → 16-BObLwgyD.js} +3 -3
  275. package/studio-dist/server/chunks/{17-mRYB5141.js → 17-BNXGyAHX.js} +3 -3
  276. package/studio-dist/server/chunks/{18-BjZ325q5.js → 18-UqQFRIID.js} +3 -3
  277. package/studio-dist/server/chunks/{20-DQ2Vrujq.js → 20-CMn8a_yP.js} +3 -3
  278. package/studio-dist/server/chunks/{24-DAeuAfXN.js → 24-BuOTDzib.js} +3 -3
  279. package/studio-dist/server/chunks/{25-DGCNmzAS.js → 25-CIMSmjVx.js} +4 -4
  280. package/studio-dist/server/chunks/{26-CiN6bbmR.js → 26-DWGObn2T.js} +3 -3
  281. package/studio-dist/server/chunks/{3-BS2FXYjP.js → 3-CyiffdJZ.js} +3 -3
  282. package/studio-dist/server/chunks/{_layout.svelte-DJ_UWmGp.js → _layout.svelte-DYtClaIk.js} +4 -4
  283. package/studio-dist/server/chunks/{_page.svelte-WR6jUiQE.js → _page.svelte-1h9E6s_f.js} +3 -3
  284. package/studio-dist/server/chunks/{_page.svelte-BUq8_eQH.js → _page.svelte-BNNF62Nm.js} +3 -3
  285. package/studio-dist/server/chunks/{_page.svelte-CRnYa4cW.js → _page.svelte-BT1EUadj.js} +5 -5
  286. package/studio-dist/server/chunks/{_page.svelte-Dk0znswQ.js → _page.svelte-Bip079LT.js} +3 -3
  287. package/studio-dist/server/chunks/{_page.svelte-CcP_KW3Y.js → _page.svelte-CEATWp_5.js} +3 -3
  288. package/studio-dist/server/chunks/{_page.svelte-Ca7x-ZvH.js → _page.svelte-CV3xiD1y.js} +4 -4
  289. package/studio-dist/server/chunks/{_page.svelte-Cfv9tDBA.js → _page.svelte-Cv_KVJDV.js} +3 -3
  290. package/studio-dist/server/chunks/{_page.svelte-J4HjPhfO.js → _page.svelte-DSSy6LuK.js} +3 -3
  291. package/studio-dist/server/chunks/{_page.svelte-D8dLEr7O.js → _page.svelte-TF795TAS.js} +3 -3
  292. package/studio-dist/server/chunks/{_server.ts-Bih2-_5O.js → _server.ts-BlhRFLY3.js} +2 -2
  293. package/studio-dist/server/chunks/{_server.ts-Cr57EKWf.js → _server.ts-C4w6UdU0.js} +3 -3
  294. package/studio-dist/server/chunks/{_server.ts-P4wVVksg.js → _server.ts-CzrwbhkQ.js} +3 -3
  295. package/studio-dist/server/chunks/{_server.ts-2BazvYRP.js → _server.ts-DWt8Dziu.js} +3 -3
  296. package/studio-dist/server/chunks/{_server.ts-C0evMKCk.js → _server.ts-Db6mEile.js} +3 -3
  297. package/studio-dist/server/chunks/{client-Cl295FWH.js → client-D8f2k-H_.js} +2 -2
  298. package/studio-dist/server/chunks/{dist-CdoCt9zT.js → dist-B8xbIrdB.js} +3 -1
  299. package/studio-dist/server/chunks/{error.svelte-ajn1HNOb.js → error.svelte-DbbOwIme.js} +3 -3
  300. package/studio-dist/server/chunks/{http-BiQjEmVU.js → http-1ftNGTs5.js} +2 -2
  301. package/studio-dist/server/chunks/{internal-D9MtKHIF.js → internal-CTULuLPB.js} +2 -2
  302. package/studio-dist/server/chunks/{stores-BlknvZ80.js → stores-CS5XOReX.js} +2 -2
  303. package/studio-dist/server/index.js +1 -1
  304. package/studio-dist/server/manifest.js +17 -17
  305. package/studio-dist/client/_app/immutable/chunks/C3l-lTkq.js +0 -1
  306. package/studio-dist/client/_app/immutable/entry/start.D7gHmBNS.js +0 -1
  307. package/studio-dist/server/chunks/1-CTjj2MYz.js +0 -9
@@ -0,0 +1,229 @@
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
+ defineCommand,
18
+ showUsage
19
+ } from "./chunk-PKKZPOOP.js";
20
+ import {
21
+ dispatchFromCli
22
+ } from "./chunk-3IOQVUO7.js";
23
+ import "./chunk-AWCQH2W5.js";
24
+ import "./chunk-OGV57L4J.js";
25
+ import "./chunk-ZBISIPCK.js";
26
+ import "./chunk-3ZO3M37V.js";
27
+ import "./chunk-6JSJNYH2.js";
28
+ import "./chunk-QFFQSKRC.js";
29
+
30
+ // packages/cleo/src/cli/commands/playbook.ts
31
+ var runCommand = defineCommand({
32
+ meta: {
33
+ name: "run",
34
+ description: "Execute a playbook (.cantbook) by name \u2014 walks the graph until completion or HITL pause"
35
+ },
36
+ args: {
37
+ name: {
38
+ type: "positional",
39
+ description: "Playbook name (resolved as <name>.cantbook)",
40
+ required: true
41
+ },
42
+ context: {
43
+ type: "string",
44
+ description: `JSON object string seeding the initial run context (e.g. '{"epicId":"T999"}')`
45
+ }
46
+ },
47
+ async run({ args }) {
48
+ await dispatchFromCli(
49
+ "mutate",
50
+ "playbook",
51
+ "run",
52
+ { name: args.name, context: args.context },
53
+ { command: "playbook" }
54
+ );
55
+ }
56
+ });
57
+ var statusCommand = defineCommand({
58
+ meta: {
59
+ name: "status",
60
+ description: "Return the current state of a playbook run from playbook_runs"
61
+ },
62
+ args: {
63
+ runId: {
64
+ type: "positional",
65
+ description: "Playbook run identifier",
66
+ required: true
67
+ }
68
+ },
69
+ async run({ args }) {
70
+ await dispatchFromCli(
71
+ "query",
72
+ "playbook",
73
+ "status",
74
+ { runId: args.runId },
75
+ { command: "playbook" }
76
+ );
77
+ }
78
+ });
79
+ var resumeCommand = defineCommand({
80
+ meta: {
81
+ name: "resume",
82
+ description: "Resume a paused playbook run once its HITL approval gate is approved"
83
+ },
84
+ args: {
85
+ runId: {
86
+ type: "positional",
87
+ description: "Playbook run identifier to resume",
88
+ required: true
89
+ }
90
+ },
91
+ async run({ args }) {
92
+ await dispatchFromCli(
93
+ "mutate",
94
+ "playbook",
95
+ "resume",
96
+ { runId: args.runId },
97
+ { command: "playbook" }
98
+ );
99
+ }
100
+ });
101
+ var createCommand = defineCommand({
102
+ meta: {
103
+ name: "create",
104
+ description: "Scaffold a new .cantbook playbook (invokes playbook-architect meta-agent)"
105
+ },
106
+ args: {
107
+ name: {
108
+ type: "positional",
109
+ description: 'Playbook name (kebab-case, e.g. "feature-ship")',
110
+ required: true
111
+ },
112
+ description: {
113
+ type: "string",
114
+ description: "Plain-text description of what the playbook should do"
115
+ },
116
+ stages: {
117
+ type: "string",
118
+ description: "Comma-separated list of stage names to scaffold (auto-inferred if omitted)"
119
+ },
120
+ "output-dir": {
121
+ type: "string",
122
+ description: "Output directory for the .cantbook file (defaults to .cleo/cant/playbooks/)"
123
+ },
124
+ "dry-run": {
125
+ type: "boolean",
126
+ description: "Preview what would be created without writing files",
127
+ default: false
128
+ }
129
+ },
130
+ async run({ args }) {
131
+ await dispatchFromCli(
132
+ "mutate",
133
+ "playbook",
134
+ "create",
135
+ {
136
+ name: args.name,
137
+ description: args.description,
138
+ stages: args.stages,
139
+ outputDir: args["output-dir"],
140
+ dryRun: args["dry-run"]
141
+ },
142
+ { command: "playbook" }
143
+ );
144
+ }
145
+ });
146
+ var listCommand = defineCommand({
147
+ meta: {
148
+ name: "list",
149
+ description: "List playbook runs (optionally filter by status: active|completed|pending|failed|cancelled)"
150
+ },
151
+ args: {
152
+ status: {
153
+ type: "string",
154
+ description: "Filter runs by status (active \u2192 running, pending \u2192 paused, completed, ...)"
155
+ },
156
+ epic: {
157
+ type: "string",
158
+ description: "Filter runs by epic id"
159
+ },
160
+ limit: {
161
+ type: "string",
162
+ description: "Maximum number of runs to return"
163
+ },
164
+ offset: {
165
+ type: "string",
166
+ description: "Skip the first N runs"
167
+ }
168
+ },
169
+ async run({ args }) {
170
+ await dispatchFromCli(
171
+ "query",
172
+ "playbook",
173
+ "list",
174
+ {
175
+ status: args.status,
176
+ epicId: args.epic,
177
+ limit: args.limit !== void 0 ? Number.parseInt(args.limit, 10) : void 0,
178
+ offset: args.offset !== void 0 ? Number.parseInt(args.offset, 10) : void 0
179
+ },
180
+ { command: "playbook" }
181
+ );
182
+ }
183
+ });
184
+ var validateCommand = defineCommand({
185
+ meta: {
186
+ name: "validate",
187
+ description: "Parse and validate a .cantbook file \u2014 exit 0 on success, exit 70 on parse error (T1261)"
188
+ },
189
+ args: {
190
+ file: {
191
+ type: "positional",
192
+ description: "Path to .cantbook file OR playbook name to resolve via search path",
193
+ required: true
194
+ }
195
+ },
196
+ async run({ args }) {
197
+ const isPath = args.file.includes("/") || args.file.includes("\\") || args.file.endsWith(".cantbook");
198
+ await dispatchFromCli(
199
+ "query",
200
+ "playbook",
201
+ "validate",
202
+ isPath ? { file: args.file } : { name: args.file },
203
+ { command: "playbook" }
204
+ );
205
+ }
206
+ });
207
+ var playbookCommand = defineCommand({
208
+ meta: {
209
+ name: "playbook",
210
+ description: "Playbook runtime operations (run, status, resume, list, create, validate)"
211
+ },
212
+ subCommands: {
213
+ run: runCommand,
214
+ status: statusCommand,
215
+ resume: resumeCommand,
216
+ list: listCommand,
217
+ create: createCommand,
218
+ validate: validateCommand
219
+ },
220
+ async run({ cmd, rawArgs }) {
221
+ const firstArg = rawArgs?.find((a) => !a.startsWith("-"));
222
+ if (firstArg && cmd.subCommands && firstArg in cmd.subCommands) return;
223
+ await showUsage(cmd);
224
+ }
225
+ });
226
+ export {
227
+ playbookCommand
228
+ };
229
+ //# sourceMappingURL=playbook-2FCBV7N3.js.map
@@ -0,0 +1,330 @@
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
+ NEXUS_API_URL_ARG,
18
+ emitNexusResult,
19
+ failNexus,
20
+ nexusApiUrlArg,
21
+ writeNexusWarnings
22
+ } from "./chunk-ULN4OKQQ.js";
23
+ import "./chunk-47JYZAMS.js";
24
+ import {
25
+ defineCommand
26
+ } from "./chunk-PKKZPOOP.js";
27
+ import {
28
+ cliError,
29
+ cliOutput
30
+ } from "./chunk-3ZO3M37V.js";
31
+ import {
32
+ getFormatContext
33
+ } from "./chunk-6JSJNYH2.js";
34
+
35
+ // packages/cleo/src/cli/commands/project.ts
36
+ import { resolve } from "node:path";
37
+ import { ExitCode } from "@cleocode/contracts";
38
+ import {
39
+ CleoError,
40
+ getProjectRoot,
41
+ moveProject,
42
+ projectLifecycle,
43
+ renameProject,
44
+ rerootProject
45
+ } from "@cleocode/core";
46
+ function formatSuccessSection(header, icon, items) {
47
+ const prefix = icon ? `${icon} ` : "";
48
+ return { kind: "section", data: { header: `${prefix}${header}`, items } };
49
+ }
50
+ function emitEngineFailure(error, operation) {
51
+ const exitCode = error.exitCode ?? ExitCode.GENERAL_ERROR;
52
+ cliError(
53
+ error.message,
54
+ exitCode,
55
+ { name: error.code, fix: error.fix, details: error.details },
56
+ { operation }
57
+ );
58
+ process.exitCode = exitCode;
59
+ }
60
+ function resolveRootOrFail(operation) {
61
+ try {
62
+ return getProjectRoot();
63
+ } catch (err) {
64
+ const code = err instanceof CleoError && typeof err.details?.["code"] === "string" ? err.details["code"] : "E_NOT_CLEO_PROJECT";
65
+ emitEngineFailure(
66
+ {
67
+ code,
68
+ message: err.message,
69
+ exitCode: err instanceof CleoError ? err.code : ExitCode.CONFIG_ERROR,
70
+ fix: err instanceof CleoError ? err.fix : void 0
71
+ },
72
+ operation
73
+ );
74
+ return null;
75
+ }
76
+ }
77
+ function planItems(plan) {
78
+ const r = plan.registry;
79
+ return [
80
+ `Source: ${plan.source}`,
81
+ `Target: ${plan.target}`,
82
+ `Rename: ${plan.entries.join(", ") || "(nothing)"}`,
83
+ ...plan.excluded.map((e) => `Left: ${e.entry} (${e.reason})`),
84
+ `Writes: ${plan.writes.join(", ") || "(nothing)"}`,
85
+ `Registry: ${r.livePath} live; ${r.demotedPath} ${r.demotedState}`,
86
+ `Checkpoint: ${plan.checkpoint}`,
87
+ ...plan.blockers.map((b) => `BLOCKER: ${b}`),
88
+ ...plan.deferredChecks.map((c) => `Checked at apply time: ${c}`),
89
+ "Nothing was changed. Run without --dry-run to apply."
90
+ ];
91
+ }
92
+ function resultItems(r) {
93
+ const [from, to] = "oldPath" in r ? [r.oldPath, r.newPath] : [r.oldRoot, r.newRoot];
94
+ return [
95
+ `Project ID: ${r.projectId}`,
96
+ `Old root: ${from}`,
97
+ `New root: ${to}`,
98
+ ..."renamed" in r ? [`Renamed: ${r.renamed.join(", ") || "(resumed)"}`] : [],
99
+ `Checkpoint: ${r.checkpointPath || "(none: resumed)"}`,
100
+ `Registry: ${r.reconcileStatus}`,
101
+ ..."notes" in r ? r.notes.map((n) => `Next: ${n}`) : []
102
+ ];
103
+ }
104
+ function emitRelocation(data, operation) {
105
+ if (getFormatContext().format !== "human") {
106
+ cliOutput(data, { command: "project", operation });
107
+ return;
108
+ }
109
+ const verb = operation === "project.move" ? "move" : "reroot";
110
+ cliOutput(
111
+ data.dryRun ? formatSuccessSection(`Dry Run: project ${verb}`, void 0, [
112
+ `Project ID: ${data.projectId}`,
113
+ ...planItems(data)
114
+ ]) : formatSuccessSection(
115
+ verb === "move" ? "Project Moved" : "Project Rerooted",
116
+ "\u2705",
117
+ resultItems(data)
118
+ ),
119
+ { command: "project", operation }
120
+ );
121
+ }
122
+ var moveSubCommand = defineCommand({
123
+ meta: {
124
+ name: "move",
125
+ description: "Move this project to a new path on the same device by RENAMING its root: .git, the database and everything else move together, nothing is copied and no old copy is left. The registry is rebound to the new path. Refuses a cross-device target (use a plain `mv`, then any cleo command), a target inside the project (use `cleo project reroot`), and any move while sessions are active or worktrees exist (end them first)."
126
+ },
127
+ args: {
128
+ newPath: {
129
+ type: "positional",
130
+ description: "New project root: absent or an empty directory, outside this project.",
131
+ required: true
132
+ },
133
+ "dry-run": {
134
+ type: "boolean",
135
+ description: "Print the plan (renames, blockers, registry action) and change nothing.",
136
+ default: false
137
+ },
138
+ json: { type: "boolean", description: "Output raw JSON envelope.", default: false }
139
+ },
140
+ async run({ args }) {
141
+ const operation = "project.move";
142
+ const root = resolveRootOrFail(operation);
143
+ if (root === null) return;
144
+ const result = await moveProject(resolve(args["newPath"]), root, {
145
+ dryRun: args["dry-run"] === true
146
+ });
147
+ if (!result.success) {
148
+ emitEngineFailure(result.error, operation);
149
+ return;
150
+ }
151
+ emitRelocation(result.data, operation);
152
+ }
153
+ });
154
+ var rerootSubCommand = defineCommand({
155
+ meta: {
156
+ name: "reroot",
157
+ description: "Make a subdirectory of this project the project root. Checkpoints, then RENAMES CLEO's own top-level entries into it (.cleo/, .worktreeinclude, and .github/ when it holds only CLEO's init templates), keeps the same project id, leaves a .cleo-moved.json tombstone at the old root and rebinds the registry. Everything else stays. Refuses while a session or worktree is active. Run `cleo project reroot .` from the child to finish an interrupted reroot."
158
+ },
159
+ args: {
160
+ childDir: {
161
+ type: "positional",
162
+ description: "Existing subdirectory of the current project root (`.` from the child resumes).",
163
+ required: true
164
+ },
165
+ "dry-run": {
166
+ type: "boolean",
167
+ description: "Print the plan and change nothing (no disk, no registry).",
168
+ default: false
169
+ },
170
+ json: { type: "boolean", description: "Output raw JSON envelope.", default: false }
171
+ },
172
+ async run({ args }) {
173
+ const operation = "project.reroot";
174
+ const root = resolveRootOrFail(operation);
175
+ if (root === null) return;
176
+ const result = await rerootProject(resolve(args["childDir"]), root, {
177
+ dryRun: args["dry-run"] === true
178
+ });
179
+ if (!result.success) {
180
+ emitEngineFailure(result.error, operation);
181
+ return;
182
+ }
183
+ emitRelocation(result.data, operation);
184
+ }
185
+ });
186
+ var renameSubCommand = defineCommand({
187
+ meta: {
188
+ name: "rename",
189
+ description: "Rename this project: the committed .cleo/project.json name, the registry label, and a Cleo Nexus relink hint (the id never changes)."
190
+ },
191
+ args: {
192
+ newName: { type: "positional", description: "New project name.", required: true },
193
+ "dry-run": { type: "boolean", description: "Validate without applying.", default: false },
194
+ json: { type: "boolean", description: "Output raw JSON envelope.", default: false }
195
+ },
196
+ async run({ args }) {
197
+ const newName = args["newName"];
198
+ const dryRun = args["dry-run"] ?? false;
199
+ const nameRe = /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,99}$/;
200
+ if (!newName || !nameRe.test(newName)) {
201
+ emitEngineFailure(
202
+ {
203
+ code: "E_VALIDATION",
204
+ message: `Invalid project name: "${newName}".`,
205
+ exitCode: ExitCode.INVALID_INPUT,
206
+ fix: 'Use 1-100 characters: letters, digits, "_" or "-", starting with a letter or digit'
207
+ },
208
+ "project.rename"
209
+ );
210
+ return;
211
+ }
212
+ if (dryRun) {
213
+ cliOutput(
214
+ formatSuccessSection("Dry Run", void 0, [
215
+ `Would rename project to "${newName}".`,
216
+ "Run without --dry-run to apply."
217
+ ]),
218
+ { command: "project", operation: "project.rename" }
219
+ );
220
+ return;
221
+ }
222
+ const result = await renameProject(newName, process.cwd());
223
+ if (result.success) {
224
+ const r = result.data;
225
+ cliOutput(
226
+ formatSuccessSection("Project Renamed", "\u2705", [
227
+ `Project ID: ${r.projectId}`,
228
+ `Old name: ${r.oldName}`,
229
+ `New name: ${r.newName}`,
230
+ `Project hash: ${r.newProjectHash}`,
231
+ ...r.recordedIn ? [`Recorded in: .cleo/${r.recordedIn}`] : [],
232
+ ...r.registry ? [`Registry: ${r.registry}`] : [],
233
+ ...r.nexusLabel ? [`Nexus label: ${r.nexusLabel}`] : [],
234
+ ...r.hint ? [`Next: ${r.hint}`] : []
235
+ ]),
236
+ { command: "project", operation: "project.rename" }
237
+ );
238
+ } else {
239
+ emitEngineFailure(result.error, "project.rename");
240
+ }
241
+ }
242
+ });
243
+ var reregisterSubCommand = defineCommand({
244
+ meta: { name: "re-register", description: "Re-register project with NEXUS." },
245
+ args: {
246
+ fix: { type: "boolean", description: "Auto-heal path_updated drift.", default: false },
247
+ json: { type: "boolean", description: "Output raw JSON envelope.", default: false }
248
+ },
249
+ async run() {
250
+ const result = await projectLifecycle.reregisterProject(process.cwd());
251
+ if (result.success) {
252
+ const r = result.data;
253
+ const icon = r.drifted ? "\u26A0\uFE0F" : "\u2705";
254
+ const items = [
255
+ `Project ID: ${r.projectId}`,
256
+ `Project root: ${r.projectRoot}`,
257
+ `Hash: ${r.projectHash}`,
258
+ `Status: ${r.reconcileStatus}`
259
+ ];
260
+ if (r.drifted && r.oldPath) items.push(`Old path: ${r.oldPath}`);
261
+ cliOutput(
262
+ formatSuccessSection(
263
+ r.drifted ? "Project Re-registered (Drift Detected)" : "Project Re-registered",
264
+ icon,
265
+ items
266
+ ),
267
+ { command: "project", operation: "project.re-register" }
268
+ );
269
+ } else {
270
+ emitEngineFailure(result.error, "project.re-register");
271
+ }
272
+ }
273
+ });
274
+ var linkSubCommand = defineCommand({
275
+ meta: {
276
+ name: "link",
277
+ description: "Register this project with Cleo Nexus under its project id (.cleo/project-id) with its name as a plaintext label (--label overrides; never a filesystem path). Idempotent: re-linking after a rename updates the label. Requires cleo login nexus."
278
+ },
279
+ args: {
280
+ label: {
281
+ type: "string",
282
+ description: "Name shown in Nexus, sent in plaintext (default: the project name). A name, never a path."
283
+ },
284
+ rebind: {
285
+ type: "boolean",
286
+ description: "Use only after E_NEXUS_REPLICA_COPIED: give this copy of the project a new replica id before attaching it (this machine was re-enrolled, or the store was copied). Each run mints a new id and leaves the old one on the server as stale history."
287
+ },
288
+ "api-url": NEXUS_API_URL_ARG,
289
+ json: { type: "boolean", description: "Output raw JSON envelope.", default: false }
290
+ },
291
+ async run({ args }) {
292
+ const { linkProjectToNexus } = await import(
293
+ /* webpackIgnore: true */
294
+ "@cleocode/core/cloud/nexus-link.js"
295
+ );
296
+ let result;
297
+ try {
298
+ result = await linkProjectToNexus({
299
+ apiUrl: nexusApiUrlArg(args),
300
+ ...typeof args["label"] === "string" && args["label"] ? { label: args["label"] } : {},
301
+ ...args["rebind"] === true ? { rebind: true } : {}
302
+ });
303
+ } catch (err) {
304
+ failNexus(err, "project.link");
305
+ }
306
+ const { link, replica } = result;
307
+ const verb = result.alreadyLinked ? "Already linked" : "Linked";
308
+ const attached = replica ? ` This machine (device ${replica.deviceId}) holds it as replica ${replica.replicaId}${replica.reboundFrom ? ` (rebound from ${replica.reboundFrom})` : ""}${replica.presenceAt ? "; presence reported" : ""}.` : "";
309
+ const summary = `${verb}: project ${link.localProjectId} as "${link.label ?? ""}" on ${link.apiUrl}.${attached}`;
310
+ writeNexusWarnings(result.warnings);
311
+ emitNexusResult(result, summary, "project", "project.link");
312
+ }
313
+ });
314
+ var projectCommand = defineCommand({
315
+ meta: {
316
+ name: "project",
317
+ description: "Project lifecycle management (move, reroot, rename, re-register, link)."
318
+ },
319
+ subCommands: {
320
+ link: linkSubCommand,
321
+ move: moveSubCommand,
322
+ reroot: rerootSubCommand,
323
+ rename: renameSubCommand,
324
+ "re-register": reregisterSubCommand
325
+ }
326
+ });
327
+ export {
328
+ projectCommand
329
+ };
330
+ //# sourceMappingURL=project-WDX2TGMC.js.map
@@ -0,0 +1,52 @@
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
+ defineCommand
18
+ } from "./chunk-PKKZPOOP.js";
19
+ import {
20
+ dispatchFromCli
21
+ } from "./chunk-3IOQVUO7.js";
22
+ import "./chunk-AWCQH2W5.js";
23
+ import "./chunk-OGV57L4J.js";
24
+ import "./chunk-ZBISIPCK.js";
25
+ import "./chunk-3ZO3M37V.js";
26
+ import "./chunk-6JSJNYH2.js";
27
+ import "./chunk-QFFQSKRC.js";
28
+
29
+ // packages/cleo/src/cli/commands/promote.ts
30
+ var promoteCommand = defineCommand({
31
+ meta: { name: "promote", description: "Remove parent from task, making it root-level" },
32
+ args: {
33
+ taskId: {
34
+ type: "positional",
35
+ description: "Task ID to promote to root level",
36
+ required: true
37
+ }
38
+ },
39
+ async run({ args }) {
40
+ await dispatchFromCli(
41
+ "mutate",
42
+ "tasks",
43
+ "reparent",
44
+ { taskId: args.taskId, newParentId: null },
45
+ { command: "promote" }
46
+ );
47
+ }
48
+ });
49
+ export {
50
+ promoteCommand
51
+ };
52
+ //# sourceMappingURL=promote-YINYFBZY.js.map