@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,280 @@
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
+
17
+ // packages/cleo/src/cli/web-subsystem.ts
18
+ import { execFileSync, spawn } from "node:child_process";
19
+ import { existsSync, statSync } from "node:fs";
20
+ import { mkdir, open, readFile, rm, stat, writeFile } from "node:fs/promises";
21
+ import { dirname, join, resolve } from "node:path";
22
+ import { fileURLToPath } from "node:url";
23
+ import { ExitCode } from "@cleocode/contracts/exit-codes.js";
24
+ import { CleoError, getCleoHome } from "@cleocode/core";
25
+ import { defineSubsystem } from "@cleocode/runtime/daemon";
26
+ var WEB_DEFAULT_PORT = 3456;
27
+ var WEB_DEFAULT_HOST = "127.0.0.1";
28
+ var WEB_SUBSYSTEM_NAME = "cleo-web";
29
+ var SIGTERM_GRACE_ITERATIONS = 60;
30
+ var STARTUP_POLL_ITERATIONS = 30;
31
+ function resolveStudioCheckout(moduleUrl) {
32
+ try {
33
+ const packageRoot = resolve(dirname(fileURLToPath(moduleUrl)), "..", "..");
34
+ const checkout = resolve(packageRoot, "..", "..");
35
+ if (packageRoot !== join(checkout, "packages", "cleo")) return void 0;
36
+ const markers = [
37
+ join(packageRoot, "src", "cli", "web-subsystem.ts"),
38
+ join(checkout, "pnpm-workspace.yaml"),
39
+ join(checkout, "build.mjs"),
40
+ join(checkout, "packages", "studio", "package.json"),
41
+ join(checkout, "packages", "studio", "src", "app.html")
42
+ ];
43
+ return markers.every((path) => statSync(path).isFile()) ? checkout : void 0;
44
+ } catch {
45
+ return void 0;
46
+ }
47
+ }
48
+ function resolveStudioDir(moduleUrl = import.meta.url) {
49
+ const envOverride = process.env["CLEO_STUDIO_DIR"];
50
+ if (envOverride !== void 0 && envOverride.length > 0 && existsSync(join(envOverride, "index.js"))) {
51
+ return envOverride;
52
+ }
53
+ try {
54
+ const pkgRoot = resolve(dirname(fileURLToPath(moduleUrl)), "..", "..");
55
+ const bundled = join(pkgRoot, "studio-dist");
56
+ if (existsSync(join(bundled, "index.js"))) {
57
+ return bundled;
58
+ }
59
+ } catch {
60
+ }
61
+ const checkout = resolveStudioCheckout(moduleUrl);
62
+ if (checkout) {
63
+ const devPath = join(checkout, "packages", "studio", "build");
64
+ if (existsSync(join(devPath, "index.js"))) return devPath;
65
+ }
66
+ return void 0;
67
+ }
68
+ function resolveStudioStaticDir() {
69
+ const buildDir = resolveStudioDir();
70
+ if (buildDir === void 0) return void 0;
71
+ const clientDir = join(buildDir, "client");
72
+ return existsSync(clientDir) ? clientDir : void 0;
73
+ }
74
+ function getWebPaths() {
75
+ const cleoHome = getCleoHome();
76
+ return {
77
+ pidFile: join(cleoHome, "web-server.pid"),
78
+ configFile: join(cleoHome, "web-server.json"),
79
+ logDir: join(cleoHome, "logs"),
80
+ logFile: join(cleoHome, "logs", "web-server.log")
81
+ };
82
+ }
83
+ function isWebProcessRunning(pid) {
84
+ try {
85
+ process.kill(pid, 0);
86
+ return true;
87
+ } catch {
88
+ return false;
89
+ }
90
+ }
91
+ async function getWebStatus() {
92
+ const { pidFile, configFile } = getWebPaths();
93
+ try {
94
+ const pidStr = (await readFile(pidFile, "utf-8")).trim();
95
+ const pid = Number.parseInt(pidStr, 10);
96
+ if (Number.isNaN(pid) || !isWebProcessRunning(pid)) {
97
+ return { running: false, pid: null, port: null, host: null, url: null };
98
+ }
99
+ let port = WEB_DEFAULT_PORT;
100
+ let host = WEB_DEFAULT_HOST;
101
+ try {
102
+ const config = JSON.parse(await readFile(configFile, "utf-8"));
103
+ port = config.port ?? WEB_DEFAULT_PORT;
104
+ host = config.host ?? WEB_DEFAULT_HOST;
105
+ } catch {
106
+ }
107
+ return { running: true, pid, port, host, url: `http://${host}:${port}` };
108
+ } catch {
109
+ return { running: false, pid: null, port: null, host: null, url: null };
110
+ }
111
+ }
112
+ function createWebSubsystem(opts = {}, moduleUrl = import.meta.url) {
113
+ const port = opts.port ?? WEB_DEFAULT_PORT;
114
+ const host = opts.host ?? WEB_DEFAULT_HOST;
115
+ let live;
116
+ return defineSubsystem({
117
+ name: WEB_SUBSYSTEM_NAME,
118
+ async start() {
119
+ const { pidFile, configFile, logFile, logDir } = getWebPaths();
120
+ const existing = await getWebStatus();
121
+ if (existing.running && existing.pid !== null) {
122
+ const ctx2 = {
123
+ pid: existing.pid,
124
+ pidFile,
125
+ logFile,
126
+ port: existing.port ?? port,
127
+ host: existing.host ?? host
128
+ };
129
+ live = ctx2;
130
+ return ctx2;
131
+ }
132
+ const resolvedStudioDir = resolveStudioDir(moduleUrl);
133
+ const checkout = resolveStudioCheckout(moduleUrl);
134
+ const studioDir = resolvedStudioDir ?? (checkout ? join(checkout, "packages", "studio", "build") : void 0);
135
+ if (!studioDir) {
136
+ throw new CleoError(
137
+ ExitCode.NOT_FOUND,
138
+ "Packaged Studio bundle is missing its index.js entry. Reinstall a complete CLEO package or set CLEO_STUDIO_DIR to a built Studio bundle."
139
+ );
140
+ }
141
+ const webIndexPath = join(studioDir, "index.js");
142
+ await mkdir(logDir, { recursive: true });
143
+ await writeFile(
144
+ configFile,
145
+ JSON.stringify({ port, host, startedAt: (/* @__PURE__ */ new Date()).toISOString() })
146
+ );
147
+ try {
148
+ await stat(webIndexPath);
149
+ } catch {
150
+ if (!checkout || studioDir !== join(checkout, "packages", "studio", "build")) {
151
+ throw new CleoError(ExitCode.NOT_FOUND, `Studio entry is missing: ${webIndexPath}`);
152
+ }
153
+ try {
154
+ execFileSync("pnpm", ["--filter", "@cleocode/studio", "run", "build"], {
155
+ cwd: checkout,
156
+ stdio: "ignore",
157
+ timeout: 12e4
158
+ });
159
+ } catch {
160
+ throw new Error(
161
+ `Studio build failed. Run: pnpm --filter @cleocode/studio run build
162
+ Logs: ${logFile}`
163
+ );
164
+ }
165
+ await stat(webIndexPath);
166
+ }
167
+ const logFileHandle = await open(logFile, "a");
168
+ const serverProcess = spawn("node", [webIndexPath], {
169
+ cwd: studioDir,
170
+ env: {
171
+ ...process.env,
172
+ HOST: host,
173
+ PORT: String(port),
174
+ CLEO_ROOT: process.env["CLEO_ROOT"] ?? process.cwd()
175
+ },
176
+ detached: true,
177
+ stdio: ["ignore", logFileHandle.fd, logFileHandle.fd]
178
+ });
179
+ serverProcess.unref();
180
+ const pidFileTmp = `${pidFile}.tmp`;
181
+ await writeFile(pidFileTmp, String(serverProcess.pid));
182
+ await rm(pidFile, { force: true });
183
+ await writeFile(pidFile, String(serverProcess.pid));
184
+ await rm(pidFileTmp, { force: true });
185
+ await logFileHandle.close();
186
+ let started = false;
187
+ for (let i = 0; i < STARTUP_POLL_ITERATIONS; i++) {
188
+ try {
189
+ const response = await fetch(`http://${host}:${port}/api/health`);
190
+ if (response.ok) {
191
+ started = true;
192
+ break;
193
+ }
194
+ } catch {
195
+ }
196
+ await new Promise((resolve2) => setTimeout(resolve2, 500));
197
+ }
198
+ if (!started) {
199
+ try {
200
+ process.kill(serverProcess.pid, "SIGTERM");
201
+ } catch {
202
+ }
203
+ await rm(pidFile, { force: true });
204
+ throw new Error("Studio web server failed to start within 15 seconds");
205
+ }
206
+ const ctx = {
207
+ pid: serverProcess.pid,
208
+ pidFile,
209
+ logFile,
210
+ port,
211
+ host
212
+ };
213
+ live = ctx;
214
+ return ctx;
215
+ },
216
+ healthProbe() {
217
+ if (live === void 0) {
218
+ const stopped = "stopped";
219
+ return {
220
+ child_id: WEB_SUBSYSTEM_NAME,
221
+ pid: 0,
222
+ state: stopped,
223
+ restart_count: 0,
224
+ detail: "not started"
225
+ };
226
+ }
227
+ const alive = isWebProcessRunning(live.pid);
228
+ const state = alive ? "running" : "stopped";
229
+ return {
230
+ child_id: WEB_SUBSYSTEM_NAME,
231
+ pid: alive ? live.pid : 0,
232
+ state,
233
+ restart_count: 0,
234
+ detail: alive ? `url=http://${live.host}:${live.port} pid=${live.pid}` : `pid=${live.pid} exited`
235
+ };
236
+ },
237
+ async shutdown(context) {
238
+ const { pidFile } = context;
239
+ if (!isWebProcessRunning(context.pid)) {
240
+ await rm(pidFile, { force: true });
241
+ live = void 0;
242
+ return;
243
+ }
244
+ try {
245
+ if (process.platform === "win32") {
246
+ spawn("taskkill", ["/PID", String(context.pid), "/T"], { stdio: "ignore" });
247
+ } else {
248
+ process.kill(context.pid, "SIGTERM");
249
+ }
250
+ } catch {
251
+ }
252
+ for (let i = 0; i < SIGTERM_GRACE_ITERATIONS; i++) {
253
+ if (!isWebProcessRunning(context.pid)) break;
254
+ await new Promise((resolve2) => setTimeout(resolve2, 500));
255
+ }
256
+ if (isWebProcessRunning(context.pid)) {
257
+ try {
258
+ if (process.platform === "win32") {
259
+ spawn("taskkill", ["/PID", String(context.pid), "/F", "/T"], { stdio: "ignore" });
260
+ } else {
261
+ process.kill(context.pid, "SIGKILL");
262
+ }
263
+ } catch {
264
+ }
265
+ }
266
+ await rm(pidFile, { force: true });
267
+ live = void 0;
268
+ }
269
+ });
270
+ }
271
+
272
+ export {
273
+ WEB_DEFAULT_PORT,
274
+ WEB_DEFAULT_HOST,
275
+ resolveStudioStaticDir,
276
+ getWebPaths,
277
+ getWebStatus,
278
+ createWebSubsystem
279
+ };
280
+ //# sourceMappingURL=chunk-GAGUBU4Z.js.map
@@ -0,0 +1,171 @@
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
+ cliError,
21
+ cliOutput
22
+ } from "./chunk-4RGSNUUP.js";
23
+
24
+ // packages/cleo/src/cli/commands/doctor-twin-collapse.ts
25
+ import {
26
+ inspectProjectTwinCollapse,
27
+ recoverTwinCollapse,
28
+ releaseProjectTwinCollapseSnapshot,
29
+ retryTwinCollapse,
30
+ rollbackTwinCollapse
31
+ } from "@cleocode/core/doctor/twin-collapse.js";
32
+ import { CleoError } from "@cleocode/core/errors";
33
+ import { getProjectRoot } from "@cleocode/core/paths.js";
34
+ var doctorTwinCollapseCommand = defineCommand({
35
+ meta: {
36
+ name: "twin-collapse",
37
+ description: "Report the twin collapses (bare schema_meta / sticky_tags kept in step with their prefixed twins): state, last failure, snapshot path and space needed. --retry re-runs them; --recover restores what 2026.9.21 dropped; --release-snapshot lets a checked snapshot rotate."
38
+ },
39
+ args: {
40
+ retry: {
41
+ type: "boolean",
42
+ description: "Run the collapse once now (after clearing the reported cause)"
43
+ },
44
+ recover: {
45
+ type: "boolean",
46
+ description: "Restore twin values a 2026.9.21 collapse dropped or replaced, from its pinned pre-collapse snapshot, into twin_collapse_archive:* (T12727). Combine with --dry-run"
47
+ },
48
+ "dry-run": {
49
+ type: "boolean",
50
+ description: "With --recover: print the plan, write nothing"
51
+ },
52
+ "pin-snapshot": {
53
+ type: "boolean",
54
+ description: "With --recover: pin an unpinned pre-collapse snapshot (its .meta.json sidecar only) before applying"
55
+ },
56
+ rollback: {
57
+ type: "string",
58
+ description: "Undo one --recover apply by its receipt id (twin_collapse_recovery:<recoveredAt>)"
59
+ },
60
+ "release-snapshot": {
61
+ type: "string",
62
+ description: "Release a pre-collapse snapshot (backup id, e.g. migration-20260928-153200) after a verified recovery or a no-recovery-needed check, so it rotates normally. Needs --confirm; --dry-run shows the bytes reclaimed"
63
+ },
64
+ confirm: {
65
+ type: "boolean",
66
+ description: "With --release-snapshot: the owner's decision to release (obtained by the calling agent; the CLI never prompts)"
67
+ },
68
+ "confirm-owner-store": {
69
+ type: "boolean",
70
+ description: "From a git worktree: allow --recover, --rollback or --retry to write the owning project's live store"
71
+ },
72
+ json: { type: "boolean", description: "Output as JSON" },
73
+ human: { type: "boolean", description: "Force human-readable output" },
74
+ quiet: { type: "boolean", description: "Suppress non-essential output" }
75
+ },
76
+ async run({ args }) {
77
+ const projectRoot = getProjectRoot();
78
+ const guard = { cwd: process.cwd(), confirmOwnerStore: args["confirm-owner-store"] === true };
79
+ const actions = twinCollapseActions(args);
80
+ if (actions.length > 1) {
81
+ cliError(
82
+ `E_INVALID_INPUT: ${actions.join(" and ")} are separate actions; run them one at a time (--recover before --release-snapshot)`,
83
+ "E_INVALID_INPUT",
84
+ { name: "Error", fix: "cleo doctor twin-collapse --recover --dry-run" }
85
+ );
86
+ process.exitCode = 2;
87
+ return;
88
+ }
89
+ try {
90
+ if (typeof args.rollback === "string" && args.rollback.length > 0) {
91
+ const result = await rollbackTwinCollapse(projectRoot, args.rollback, guard);
92
+ cliOutput(
93
+ { kind: "generic", ...result },
94
+ { command: "doctor", operation: "doctor.twin-collapse.rollback" }
95
+ );
96
+ return;
97
+ }
98
+ if (typeof args["release-snapshot"] === "string" && args["release-snapshot"].length > 0) {
99
+ const result = await releaseProjectTwinCollapseSnapshot(
100
+ projectRoot,
101
+ args["release-snapshot"],
102
+ {
103
+ ...guard,
104
+ dryRun: args["dry-run"] === true,
105
+ confirm: args.confirm === true
106
+ }
107
+ );
108
+ cliOutput(
109
+ { kind: "generic", ...result },
110
+ { command: "doctor", operation: "doctor.twin-collapse.release-snapshot" }
111
+ );
112
+ return;
113
+ }
114
+ if (args.recover === true) {
115
+ const result = await recoverTwinCollapse(projectRoot, {
116
+ ...guard,
117
+ dryRun: args["dry-run"] === true,
118
+ pinSnapshot: args["pin-snapshot"] === true
119
+ });
120
+ cliOutput(
121
+ { kind: "generic", ...result },
122
+ { command: "doctor", operation: "doctor.twin-collapse.recover" }
123
+ );
124
+ return;
125
+ }
126
+ if (args.retry === true) {
127
+ const receipts = await retryTwinCollapse(projectRoot, guard);
128
+ cliOutput(
129
+ { kind: "generic", receipts },
130
+ { command: "doctor", operation: "doctor.twin-collapse.retry" }
131
+ );
132
+ return;
133
+ }
134
+ } catch (error) {
135
+ reportTwinCollapseError(error, args.retry === true);
136
+ return;
137
+ }
138
+ const report = inspectProjectTwinCollapse(projectRoot);
139
+ cliOutput(report, { command: "doctor", operation: "doctor.twin-collapse.run" });
140
+ const failed = report.pairs.some((p) => p.state === "failed") || report.preflight?.ok === false;
141
+ if (failed && (process.exitCode === void 0 || process.exitCode === 0)) {
142
+ process.exitCode = 1;
143
+ }
144
+ }
145
+ });
146
+ function reportTwinCollapseError(error, retry) {
147
+ if (retry && !(error instanceof CleoError)) throw error;
148
+ const message = error instanceof Error ? error.message : String(error);
149
+ const named = /^(E_[A-Z_]+):/.exec(message)?.[1];
150
+ const code = named ?? (retry ? "E_TWIN_COLLAPSE_FAILED" : "E_TWIN_COLLAPSE_RECOVER");
151
+ cliError(message, code, {
152
+ name: error instanceof CleoError ? "CleoError" : "Error",
153
+ fix: error instanceof CleoError ? error.fix : void 0,
154
+ details: error instanceof CleoError ? error.details : void 0
155
+ });
156
+ process.exitCode = error instanceof CleoError ? error.code : 1;
157
+ }
158
+ function twinCollapseActions(args) {
159
+ const named = (key) => typeof args[key] === "string" && args[key].length > 0;
160
+ return [
161
+ args.recover === true ? "--recover" : "",
162
+ named("release-snapshot") ? "--release-snapshot" : "",
163
+ named("rollback") ? "--rollback" : "",
164
+ args.retry === true ? "--retry" : ""
165
+ ].filter(Boolean);
166
+ }
167
+
168
+ export {
169
+ doctorTwinCollapseCommand
170
+ };
171
+ //# sourceMappingURL=chunk-GKRFH2YG.js.map