@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,478 @@
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
+ collectMutateInput
18
+ } from "./chunk-QA6T2LQ5.js";
19
+ import {
20
+ dispatchFromCli,
21
+ dispatchRaw,
22
+ handleRawError,
23
+ maybeEmitDescribe
24
+ } from "./chunk-L7ONYSV6.js";
25
+ import "./chunk-6N6WGLXE.js";
26
+ import "./chunk-4VASFLUW.js";
27
+ import {
28
+ defineCommand,
29
+ showUsage
30
+ } from "./chunk-PKKZPOOP.js";
31
+ import "./chunk-QKMBWYAS.js";
32
+ import {
33
+ cliError,
34
+ cliOutput
35
+ } from "./chunk-4RGSNUUP.js";
36
+ import "./chunk-6JSJNYH2.js";
37
+ import "./chunk-D7BAQNV2.js";
38
+ import "./chunk-TYC7G5LF.js";
39
+
40
+ // packages/cleo/src/cli/commands/update.ts
41
+ import { TASK_SEVERITIES } from "@cleocode/contracts/enums.js";
42
+ import { ExitCode } from "@cleocode/contracts/exit-codes.js";
43
+ import { INPUT_CONTRACTS } from "@cleocode/core/dispatch/contracts/input-contracts";
44
+ import { validateOperationInput } from "@cleocode/core/dispatch/validation";
45
+ import { parseAcceptanceCriteria } from "@cleocode/core/tasks/acceptance-input";
46
+ import {
47
+ isPipelineTransitionForward,
48
+ isValidPipelineStage,
49
+ TASK_PIPELINE_STAGES
50
+ } from "@cleocode/core/tasks/pipeline-stage";
51
+ var updateCommand = defineCommand({
52
+ meta: {
53
+ name: "update",
54
+ description: "Update a task. Safe under concurrent invocation \u2014 retries on SQLITE_BUSY up to 4 attempts (gh#391)."
55
+ },
56
+ args: {
57
+ /**
58
+ * Schema-first input — supersedes all flag-based args when present.
59
+ *
60
+ * Accepts a JSON object matching `INPUT_CONTRACTS['tasks.update']`.
61
+ * The `taskId` MUST be present in the JSON payload (positional
62
+ * `taskId` arg is ignored in this path).
63
+ *
64
+ * @task T9917
65
+ */
66
+ params: {
67
+ type: "string",
68
+ description: 'Inline JSON object matching INPUT_CONTRACTS["tasks.update"] (T9917). Overrides positional + flags.'
69
+ },
70
+ /**
71
+ * Schema-first input from a JSON file. Same semantics as --params.
72
+ *
73
+ * @task T9917
74
+ */
75
+ "params-file": {
76
+ type: "string",
77
+ description: 'Path to JSON file matching INPUT_CONTRACTS["tasks.update"] (T9917).'
78
+ },
79
+ taskId: {
80
+ type: "positional",
81
+ description: "Task ID to update",
82
+ required: false
83
+ },
84
+ title: {
85
+ type: "string",
86
+ description: "New title"
87
+ },
88
+ status: {
89
+ type: "string",
90
+ description: "New status (pending|active|blocked|done|cancelled)",
91
+ alias: "s"
92
+ },
93
+ priority: {
94
+ type: "string",
95
+ description: "New priority (critical|high|medium|low). Orthogonal to --severity \u2014 see `cleo find --urgent` for the unified surface (T9905).",
96
+ alias: "p"
97
+ },
98
+ type: {
99
+ type: "string",
100
+ description: "New type (task|epic|subtask)",
101
+ alias: "t"
102
+ },
103
+ size: {
104
+ type: "string",
105
+ description: "New size"
106
+ },
107
+ phase: {
108
+ type: "string",
109
+ description: "New phase",
110
+ alias: "P"
111
+ },
112
+ description: {
113
+ type: "string",
114
+ description: "New description",
115
+ alias: "d"
116
+ },
117
+ labels: {
118
+ type: "string",
119
+ description: 'Set labels (comma-separated; lowercase alphanumeric + hyphens + periods only, e.g. "track-b,wave.1") (gh-392)',
120
+ alias: "l"
121
+ },
122
+ "add-labels": {
123
+ type: "string",
124
+ description: 'Add labels (comma-separated; lowercase alphanumeric + hyphens + periods only, e.g. "track-b,wave.1") (gh-392)'
125
+ },
126
+ "remove-labels": {
127
+ type: "string",
128
+ description: "Remove labels (comma-separated)"
129
+ },
130
+ depends: {
131
+ type: "string",
132
+ description: "Set dependencies (comma-separated)",
133
+ alias: "D"
134
+ },
135
+ "add-depends": {
136
+ type: "string",
137
+ description: "Add dependencies (comma-separated)"
138
+ },
139
+ "remove-depends": {
140
+ type: "string",
141
+ description: "Remove dependencies (comma-separated)"
142
+ },
143
+ notes: {
144
+ type: "string",
145
+ description: "Add a note"
146
+ },
147
+ note: {
148
+ type: "string",
149
+ description: "Alias for --notes"
150
+ },
151
+ acceptance: {
152
+ type: "string",
153
+ description: 'Set acceptance criteria (pipe-separated, e.g. "AC1|AC2|AC3")'
154
+ },
155
+ files: {
156
+ type: "string",
157
+ description: "Set files (comma-separated)"
158
+ },
159
+ "add-files": {
160
+ type: "string",
161
+ description: "Add files incrementally (comma-separated)"
162
+ },
163
+ "remove-files": {
164
+ type: "string",
165
+ description: "Remove files incrementally (comma-separated)"
166
+ },
167
+ "blocked-by": {
168
+ type: "string",
169
+ description: "Set blocked-by reason"
170
+ },
171
+ "clear-blocked-by": {
172
+ type: "boolean",
173
+ description: "Clear the blocked-by reason string"
174
+ },
175
+ parent: {
176
+ type: "string",
177
+ description: "Set parent ID"
178
+ },
179
+ "parent-id": {
180
+ type: "string",
181
+ description: "Alias for --parent (legacy parentId compatibility)"
182
+ },
183
+ "auto-complete": {
184
+ type: "boolean",
185
+ description: "Enable auto-complete for epic",
186
+ negativeDescription: "Disable auto-complete for epic"
187
+ },
188
+ "pipeline-stage": {
189
+ type: "string",
190
+ description: "Set pipeline stage (forward-only: research|consensus|architecture_decision|specification|decomposition|implementation|validation|testing|release|contribution)"
191
+ },
192
+ /**
193
+ * Task kind axis — intent of work.
194
+ * Values: work | research | experiment | bug | spike | release
195
+ * @task T944
196
+ * @task T9072
197
+ */
198
+ kind: {
199
+ type: "string",
200
+ description: "Task kind / intent axis (work|research|experiment|bug|spike|release) \u2014 orthogonal to --type (T944)"
201
+ },
202
+ /**
203
+ * Task scope axis — granularity of work.
204
+ * Values: project | feature | unit
205
+ * @task T944
206
+ */
207
+ scope: {
208
+ type: "string",
209
+ description: "Task scope / granularity axis (project|feature|unit) \u2014 orthogonal to --type (T944)"
210
+ },
211
+ /**
212
+ * Severity level — valid for any role (not just bug).
213
+ * Values: P0 | P1 | P2 | P3
214
+ * Orthogonal to --priority — does NOT auto-map priority.
215
+ * Appends a signed attestation to .cleo/audit/severity-attestation.jsonl (T9071/T9073).
216
+ * @task T9073
217
+ */
218
+ severity: {
219
+ type: "string",
220
+ description: "Severity level (P0|P1|P2|P3) \u2014 valid for any --kind (T9073). Orthogonal to --priority \u2014 does NOT auto-map (a P0 with priority=medium stays medium). Use `cleo find --urgent` for the unified surface (T9905). Appends signed attestation."
221
+ },
222
+ /**
223
+ * Operator-supplied justification required to override the
224
+ * acceptance-criteria immutability guard once a task has entered the
225
+ * implementation pipeline stage. Audit log: `.cleo/audit/ac-changes.jsonl`.
226
+ *
227
+ * @epic T1586 Foundation Lockdown
228
+ * @task T1590
229
+ */
230
+ reason: {
231
+ type: "string",
232
+ description: "Why this change is made. Recorded on the audit row of any priority/severity/kind/depends change (D11161; see `cleo history ranking <id>`), and required to mutate --acceptance once stage >= implementation (T1590)"
233
+ },
234
+ /**
235
+ * Waiver for the critical-priority dependency declaration requirement.
236
+ *
237
+ * Critical-priority tasks without declared dependencies silently break
238
+ * wave-order spawning when downstream work assumes they are load-bearing.
239
+ * Provide a justification string to waive the `--depends` requirement.
240
+ * The waiver is stored in the task update audit log in the mutation transaction.
241
+ *
242
+ * @task T1856
243
+ * @epic T1855
244
+ */
245
+ /**
246
+ * Optimistic-concurrency guard: the task `updatedAt` the caller read
247
+ * (e.g. from `cleo show <id> --field /data/task/updatedAt`). When the
248
+ * stored version differs, the update fails with E_CONFLICT carrying the
249
+ * current version instead of overwriting a newer write.
250
+ *
251
+ * @task T12503
252
+ */
253
+ "expected-updated-at": {
254
+ type: "string",
255
+ description: "Fail with E_CONFLICT unless the task updatedAt still equals this value (optimistic concurrency; T12503)"
256
+ },
257
+ "if-match": {
258
+ type: "string",
259
+ description: "Fail with E_CONFLICT unless the task updatedAt still equals this version (from cleo show). Same as --expected-updated-at."
260
+ },
261
+ "depends-waiver": {
262
+ type: "string",
263
+ description: "Non-empty justification to waive the dependency requirement for --priority critical. Stored verbatim in the transactional task update audit log. Rejected for non-critical updates. (gh-405 / T1856)"
264
+ },
265
+ /**
266
+ * Related tasks — semantic relationships (non-dependency).
267
+ *
268
+ * Direction convention (gh-403):
269
+ * `cleo update <fromId> --add-relates <toId>:<type>`
270
+ * creates a directed edge FROM `<fromId>` TO `<toId>` with the given type.
271
+ * Example: `cleo update T127 --add-relates T123:blocks` means
272
+ * "T127 blocks T123" (the task being updated is the source).
273
+ *
274
+ * For dependency edges (T127 must complete before T128 can start), prefer
275
+ * `--add-depends T128` on T127 — `depends` is the canonical dep primitive
276
+ * and is what `cleo orchestrate ready`/`waves` walks. `--add-relates` is for
277
+ * semantic relationships (blocks/supersedes/groups/related) that don't
278
+ * affect wave-order scheduling.
279
+ */
280
+ relates: {
281
+ type: "string",
282
+ description: 'Set related tasks (comma-separated, optional type suffix: "T001:blocks,T002"). Direction: <current task> \u2192 <relate>. For dep edges, prefer --add-depends. (gh-403)'
283
+ },
284
+ "add-relates": {
285
+ type: "string",
286
+ description: 'Add related tasks without overwriting (comma-separated, optional type suffix: "T001:blocks"). Direction: <current task> \u2192 <relate>. For dep edges, prefer --add-depends. (gh-403)'
287
+ },
288
+ "remove-relates": {
289
+ type: "string",
290
+ description: "Remove related tasks by taskId (comma-separated)"
291
+ }
292
+ },
293
+ async run({ args, cmd }) {
294
+ if (maybeEmitDescribe("mutate", "tasks", "update", { command: "update" })) return;
295
+ const paramsArg = args.params;
296
+ const paramsFileArg = args["params-file"];
297
+ if (paramsArg !== void 0 || paramsFileArg !== void 0) {
298
+ const collectArgs = {};
299
+ if (paramsArg !== void 0) collectArgs.params = paramsArg;
300
+ if (paramsFileArg !== void 0) collectArgs.file = paramsFileArg;
301
+ let raw;
302
+ try {
303
+ raw = await collectMutateInput(
304
+ collectArgs,
305
+ process.stdin
306
+ );
307
+ } catch (err) {
308
+ cliError(
309
+ err.message,
310
+ ExitCode.VALIDATION_ERROR,
311
+ {
312
+ name: "E_VALIDATION_FAILED",
313
+ fix: "Verify the JSON syntax of your --params / --params-file input"
314
+ },
315
+ { operation: "tasks.update" }
316
+ );
317
+ process.exit(ExitCode.VALIDATION_ERROR);
318
+ return;
319
+ }
320
+ if (raw !== null && typeof raw === "object" && !Array.isArray(raw) && raw["taskId"] === void 0 && args.taskId !== void 0) {
321
+ raw["taskId"] = args.taskId;
322
+ }
323
+ const contract = INPUT_CONTRACTS["tasks.update"];
324
+ if (!contract) {
325
+ cliError(
326
+ "tasks.update contract missing from INPUT_CONTRACTS registry",
327
+ ExitCode.GENERAL_ERROR,
328
+ { name: "E_INTERNAL", fix: "This is a CLI bug \u2014 file an issue" },
329
+ { operation: "tasks.update" }
330
+ );
331
+ process.exit(ExitCode.GENERAL_ERROR);
332
+ return;
333
+ }
334
+ const validation = validateOperationInput(contract, raw);
335
+ if (!validation.ok) {
336
+ cliError(
337
+ "tasks.update failed: validation",
338
+ ExitCode.VALIDATION_ERROR,
339
+ {
340
+ name: "E_VALIDATION_FAILED",
341
+ fix: validation.errors[0]?.fix ?? "Inspect errors[] and correct the input",
342
+ details: { errors: validation.errors }
343
+ },
344
+ { operation: "tasks.update" }
345
+ );
346
+ process.exit(ExitCode.VALIDATION_ERROR);
347
+ return;
348
+ }
349
+ const validatedPayload = raw;
350
+ const response = await dispatchRaw("mutate", "tasks", "update", validatedPayload);
351
+ if (!response.success) {
352
+ handleRawError(response, { command: "update", operation: "tasks.update" });
353
+ return;
354
+ }
355
+ cliOutput(response.data, { command: "update", operation: "tasks.update" });
356
+ return;
357
+ }
358
+ if (!args.taskId) {
359
+ await showUsage(cmd);
360
+ return;
361
+ }
362
+ if (args.severity !== void 0 && !TASK_SEVERITIES.includes(args.severity)) {
363
+ const valid = TASK_SEVERITIES.join(", ");
364
+ cliError(
365
+ `severity must be one of: ${valid} \u2014 got '${args.severity}'`,
366
+ 6,
367
+ {
368
+ name: "E_INVALID_SEVERITY_VALUE",
369
+ fix: `Pass --severity with one of: ${valid}`
370
+ },
371
+ { operation: "tasks.update" }
372
+ );
373
+ process.exit(6);
374
+ return;
375
+ }
376
+ if (args["pipeline-stage"] !== void 0) {
377
+ const requestedStage = String(args["pipeline-stage"]);
378
+ if (!isValidPipelineStage(requestedStage)) {
379
+ const valid = TASK_PIPELINE_STAGES.join(", ");
380
+ cliError(
381
+ `pipeline-stage must be one of: ${valid} \u2014 got '${requestedStage}'`,
382
+ 6,
383
+ {
384
+ name: "E_INVALID_PIPELINE_STAGE",
385
+ fix: `Pass --pipeline-stage with one of: ${valid}`
386
+ },
387
+ { operation: "tasks.update" }
388
+ );
389
+ process.exit(6);
390
+ return;
391
+ }
392
+ const showResponse = await dispatchRaw("query", "tasks", "show", {
393
+ taskId: args.taskId
394
+ });
395
+ if (!showResponse.success) {
396
+ handleRawError(showResponse, { command: "update", operation: "tasks.show" });
397
+ return;
398
+ }
399
+ const existingTask = showResponse.data;
400
+ const currentStage = typeof existingTask?.["pipelineStage"] === "string" ? existingTask["pipelineStage"] : null;
401
+ if (currentStage && !isPipelineTransitionForward(currentStage, requestedStage)) {
402
+ const validForward = TASK_PIPELINE_STAGES.filter((s) => {
403
+ return isPipelineTransitionForward(currentStage, s);
404
+ }).join(", ");
405
+ cliError(
406
+ `pipeline-stage transition rejected: cannot move backward from '${currentStage}' to '${requestedStage}'. Pipeline stages are forward-only.`,
407
+ 6,
408
+ {
409
+ name: "E_INVALID_PIPELINE_STAGE",
410
+ fix: `Pass --pipeline-stage with a stage at or after '${currentStage}'. Valid forward stages: ${validForward}`
411
+ },
412
+ { operation: "tasks.update" }
413
+ );
414
+ process.exit(6);
415
+ return;
416
+ }
417
+ }
418
+ const params = { taskId: args.taskId };
419
+ if (args.title !== void 0) params["title"] = args.title;
420
+ if (args.status !== void 0) params["status"] = args.status;
421
+ if (args.priority !== void 0) params["priority"] = args.priority;
422
+ if (args.type !== void 0) params["type"] = args.type;
423
+ if (args.size !== void 0) params["size"] = args.size;
424
+ if (args.phase !== void 0) params["phase"] = args.phase;
425
+ if (args.description !== void 0) params["description"] = args.description;
426
+ if (args.labels) params["labels"] = args.labels.split(",").map((s) => s.trim());
427
+ if (args["add-labels"])
428
+ params["addLabels"] = args["add-labels"].split(",").map((s) => s.trim());
429
+ if (args["remove-labels"])
430
+ params["removeLabels"] = args["remove-labels"].split(",").map((s) => s.trim());
431
+ if (args.depends) params["depends"] = args.depends.split(",").map((s) => s.trim());
432
+ if (args["add-depends"])
433
+ params["addDepends"] = args["add-depends"].split(",").map((s) => s.trim());
434
+ if (args["remove-depends"])
435
+ params["removeDepends"] = args["remove-depends"].split(",").map((s) => s.trim());
436
+ if (args.relates) {
437
+ params["relates"] = args.relates.split(",").map((s) => {
438
+ const [taskId, relType = "related"] = s.trim().split(":");
439
+ return { taskId: taskId.trim(), type: relType.trim() };
440
+ });
441
+ }
442
+ if (args["add-relates"]) {
443
+ params["addRelates"] = args["add-relates"].split(",").map((s) => {
444
+ const [taskId, relType = "related"] = s.trim().split(":");
445
+ return { taskId: taskId.trim(), type: relType.trim() };
446
+ });
447
+ }
448
+ if (args["remove-relates"]) {
449
+ params["removeRelates"] = args["remove-relates"].split(",").map((s) => s.trim());
450
+ }
451
+ if (args.notes !== void 0) params["notes"] = args.notes;
452
+ if (args.note !== void 0) params["notes"] = params["notes"] ?? args.note;
453
+ if (args.acceptance) params["acceptance"] = parseAcceptanceCriteria(args.acceptance);
454
+ if (args.files) params["files"] = args.files.split(",").map((s) => s.trim());
455
+ if (args["add-files"])
456
+ params["addFiles"] = args["add-files"].split(",").map((s) => s.trim());
457
+ if (args["remove-files"])
458
+ params["removeFiles"] = args["remove-files"].split(",").map((s) => s.trim());
459
+ if (args["blocked-by"] !== void 0) params["blockedBy"] = args["blocked-by"];
460
+ if (args["clear-blocked-by"] === true) params["clearBlockedBy"] = true;
461
+ if (args.parent !== void 0) params["parent"] = args.parent;
462
+ if (args["parent-id"] !== void 0) params["parent"] = params["parent"] ?? args["parent-id"];
463
+ if (args["auto-complete"] !== void 0) params["noAutoComplete"] = !args["auto-complete"];
464
+ if (args["pipeline-stage"] !== void 0) params["pipelineStage"] = args["pipeline-stage"];
465
+ if (args.kind !== void 0) params["kind"] = args.kind;
466
+ if (args.scope !== void 0) params["scope"] = args.scope;
467
+ if (args.severity !== void 0) params["severity"] = args.severity;
468
+ if (args.reason !== void 0) params["reason"] = args.reason;
469
+ if (args["depends-waiver"] !== void 0) params["dependsWaiver"] = args["depends-waiver"];
470
+ const ifMatch = args["if-match"] ?? args["expected-updated-at"];
471
+ if (ifMatch !== void 0) params["expectedUpdatedAt"] = ifMatch;
472
+ await dispatchFromCli("mutate", "tasks", "update", params, { command: "update" });
473
+ }
474
+ });
475
+ export {
476
+ updateCommand
477
+ };
478
+ //# sourceMappingURL=update-2KQWA27S.js.map
@@ -0,0 +1,124 @@
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
+ compareVersions
18
+ } from "./chunk-EW2CKNNZ.js";
19
+
20
+ // packages/cleo/src/cli/lib/update-check.ts
21
+ import { mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
22
+ import { dirname } from "node:path";
23
+ var UPDATE_CHECK_TIMEOUT_MS = 1e4;
24
+ var MAX_DIST_TAGS = 32;
25
+ var VERSION_RE = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z.-]+)?$/;
26
+ function distTagsUrl(registry2, packageName2) {
27
+ return `${registry2.replace(/\/+$/, "")}/-/package/${packageName2.replace("/", "%2f")}/dist-tags`;
28
+ }
29
+ function versionManifestUrl(registry2, packageName2, version) {
30
+ return `${registry2.replace(/\/+$/, "")}/${packageName2.replace("/", "%2f")}/${encodeURIComponent(version)}`;
31
+ }
32
+ function manifestFlagsHotfix(body) {
33
+ if (typeof body !== "object" || body === null || !("cleo" in body)) return false;
34
+ const meta = body.cleo;
35
+ return typeof meta === "object" && meta !== null && "hotfix" in meta && meta.hotfix === true;
36
+ }
37
+ function parseDistTags(body) {
38
+ if (typeof body !== "object" || body === null || Array.isArray(body)) return null;
39
+ const tags = {};
40
+ for (const [tag, version] of Object.entries(body)) {
41
+ if (Object.keys(tags).length >= MAX_DIST_TAGS) break;
42
+ if (/^[A-Za-z0-9._-]{1,64}$/.test(tag) && typeof version === "string") {
43
+ if (VERSION_RE.test(version)) tags[tag] = version;
44
+ }
45
+ }
46
+ return tags;
47
+ }
48
+ function previousCache(cachePath2) {
49
+ try {
50
+ const body = JSON.parse(readFileSync(cachePath2, "utf8"));
51
+ if (typeof body === "object" && body !== null) {
52
+ const distTags = "distTags" in body ? parseDistTags(body.distTags) ?? {} : {};
53
+ const hotfix = "hotfix" in body ? body.hotfix : void 0;
54
+ return typeof hotfix === "string" && VERSION_RE.test(hotfix) ? { distTags, hotfix } : { distTags };
55
+ }
56
+ } catch {
57
+ }
58
+ return { distTags: {} };
59
+ }
60
+ function maxVersion(a, b) {
61
+ if (a === void 0) return b;
62
+ if (b === void 0) return a;
63
+ return (compareVersions(a, b) ?? 0) >= 0 ? a : b;
64
+ }
65
+ function writeCache(cachePath2, cache) {
66
+ mkdirSync(dirname(cachePath2), { recursive: true });
67
+ const tmp = `${cachePath2}.${process.pid}.tmp`;
68
+ writeFileSync(tmp, `${JSON.stringify(cache)}
69
+ `);
70
+ renameSync(tmp, cachePath2);
71
+ }
72
+ async function runUpdateCheck(request, fetchImpl = fetch, now = () => /* @__PURE__ */ new Date()) {
73
+ const previous = previousCache(request.cachePath);
74
+ const signal = AbortSignal.timeout(UPDATE_CHECK_TIMEOUT_MS);
75
+ const headers = { accept: "application/json" };
76
+ let distTags = null;
77
+ let manifestRead = false;
78
+ let flagged;
79
+ try {
80
+ const response = await fetchImpl(distTagsUrl(request.registry, request.packageName), {
81
+ signal,
82
+ headers
83
+ });
84
+ if (response.ok) distTags = parseDistTags(await response.json());
85
+ const latest = distTags?.["latest"];
86
+ if (latest !== void 0) {
87
+ const manifest = await fetchImpl(
88
+ versionManifestUrl(request.registry, request.packageName, latest),
89
+ { signal, headers }
90
+ );
91
+ if (manifest.ok) {
92
+ manifestRead = true;
93
+ if (manifestFlagsHotfix(await manifest.json())) flagged = latest;
94
+ }
95
+ }
96
+ } catch {
97
+ }
98
+ const hotfix = maxVersion(previous.hotfix, flagged);
99
+ const cache = {
100
+ schemaVersion: 1,
101
+ checkedAt: now().toISOString(),
102
+ // Both reads must succeed: a missed manifest would hide a hotfix for a day.
103
+ ok: distTags !== null && (manifestRead || distTags["latest"] === void 0),
104
+ distTags: distTags ?? previous.distTags,
105
+ ...hotfix === void 0 ? {} : { hotfix }
106
+ };
107
+ try {
108
+ writeCache(request.cachePath, cache);
109
+ } catch {
110
+ }
111
+ try {
112
+ unlinkSync(request.lockPath);
113
+ } catch {
114
+ }
115
+ return cache;
116
+ }
117
+
118
+ // packages/cleo/src/cli/update-check-entry.ts
119
+ var [cachePath, lockPath, registry, packageName] = process.argv.slice(2);
120
+ if (cachePath && lockPath && registry && packageName) {
121
+ await runUpdateCheck({ cachePath, lockPath, registry, packageName });
122
+ }
123
+ process.exit(0);
124
+ //# sourceMappingURL=update-check-entry.js.map
@@ -0,0 +1,68 @@
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
+ CLEO_PACKAGE_NAME,
18
+ DEFAULT_NPM_REGISTRY,
19
+ HOTFIX_NOTICE_INTERVAL_MS,
20
+ HOTFIX_NOTICE_STAMP_FILE,
21
+ UPDATE_CACHE_FILE,
22
+ UPDATE_CHECK_ENTRY,
23
+ UPDATE_CHECK_INTERVAL_MS,
24
+ UPDATE_CHECK_LOCK_STALE_MS,
25
+ UPDATE_CHECK_RETRY_MS,
26
+ UPDATE_LOCK_FILE,
27
+ UPDATE_NOTICE_FROM_SOURCE_ENV,
28
+ UPDATE_NOTICE_INTERVAL_MS,
29
+ UPDATE_NOTICE_OPT_OUT_ENV,
30
+ UPDATE_NOTICE_STAMP_FILE,
31
+ claimUpdateCheck,
32
+ compareVersions,
33
+ decideUpdateNotice,
34
+ formatUpdateNotice,
35
+ isCiEnvironment,
36
+ parseUpdateCache,
37
+ releaseChannelTag,
38
+ showUpdateNotice,
39
+ updateCheckDue,
40
+ updateNoticeSuppression
41
+ } from "./chunk-EW2CKNNZ.js";
42
+ export {
43
+ CLEO_PACKAGE_NAME,
44
+ DEFAULT_NPM_REGISTRY,
45
+ HOTFIX_NOTICE_INTERVAL_MS,
46
+ HOTFIX_NOTICE_STAMP_FILE,
47
+ UPDATE_CACHE_FILE,
48
+ UPDATE_CHECK_ENTRY,
49
+ UPDATE_CHECK_INTERVAL_MS,
50
+ UPDATE_CHECK_LOCK_STALE_MS,
51
+ UPDATE_CHECK_RETRY_MS,
52
+ UPDATE_LOCK_FILE,
53
+ UPDATE_NOTICE_FROM_SOURCE_ENV,
54
+ UPDATE_NOTICE_INTERVAL_MS,
55
+ UPDATE_NOTICE_OPT_OUT_ENV,
56
+ UPDATE_NOTICE_STAMP_FILE,
57
+ claimUpdateCheck,
58
+ compareVersions,
59
+ decideUpdateNotice,
60
+ formatUpdateNotice,
61
+ isCiEnvironment,
62
+ parseUpdateCache,
63
+ releaseChannelTag,
64
+ showUpdateNotice,
65
+ updateCheckDue,
66
+ updateNoticeSuppression
67
+ };
68
+ //# sourceMappingURL=update-notice-6SQ6WPQG.js.map