@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,440 @@
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
+ cliError,
22
+ cliOutput
23
+ } from "./chunk-3ZO3M37V.js";
24
+ import "./chunk-6JSJNYH2.js";
25
+
26
+ // packages/cleo/src/cli/commands/transcript.ts
27
+ import { homedir } from "node:os";
28
+ import { join } from "node:path";
29
+ import { getProjectRoot } from "@cleocode/core";
30
+ import {
31
+ parseDurationMs,
32
+ pruneTranscripts,
33
+ scanTranscripts
34
+ } from "@cleocode/core/gc/transcript.js";
35
+ var scanCommand = defineCommand({
36
+ meta: {
37
+ name: "scan",
38
+ description: "Inventory all session transcripts with hot/warm/cold tier breakdown"
39
+ },
40
+ args: {
41
+ "projects-dir": {
42
+ type: "string",
43
+ description: "Override ~/.claude/projects/ path"
44
+ },
45
+ pending: {
46
+ type: "boolean",
47
+ description: "List sessions queued for warm-tier extraction (T732)"
48
+ }
49
+ },
50
+ async run({ args }) {
51
+ if (args.pending) {
52
+ try {
53
+ const projectRoot = getProjectRoot();
54
+ const { scanPendingTranscripts } = await import("@cleocode/core/memory/transcript-scanner.js");
55
+ const pending = await scanPendingTranscripts(projectRoot);
56
+ cliOutput(
57
+ { count: pending.length, pending },
58
+ {
59
+ command: "transcript",
60
+ operation: "transcript.scan",
61
+ message: `Sessions pending extraction: ${pending.length}`
62
+ }
63
+ );
64
+ } catch (err) {
65
+ const message = err instanceof Error ? err.message : String(err);
66
+ cliError(
67
+ "Pending scan failed",
68
+ "E_INTERNAL",
69
+ { name: "E_INTERNAL", details: message },
70
+ { operation: "transcript.scan" }
71
+ );
72
+ process.exit(1);
73
+ }
74
+ return;
75
+ }
76
+ const projectsDir = args["projects-dir"] ?? join(homedir(), ".claude", "projects");
77
+ try {
78
+ const result = await scanTranscripts(projectsDir);
79
+ cliOutput(
80
+ {
81
+ totalSessions: result.totalSessions,
82
+ totalBytes: result.totalBytes,
83
+ totalMB: Number.parseFloat((result.totalBytes / 1024 / 1024).toFixed(2)),
84
+ hot: {
85
+ count: result.hot.length,
86
+ sessions: result.hot.map((s) => ({
87
+ sessionId: s.sessionId,
88
+ projectSlug: s.projectSlug,
89
+ ageHours: Number.parseFloat((s.ageMs / 36e5).toFixed(1)),
90
+ bytes: s.bytes + s.sessionDirBytes
91
+ }))
92
+ },
93
+ warm: {
94
+ count: result.warm.length,
95
+ sessions: result.warm.map((s) => ({
96
+ sessionId: s.sessionId,
97
+ projectSlug: s.projectSlug,
98
+ ageDays: Number.parseFloat((s.ageMs / 864e5).toFixed(1)),
99
+ bytes: s.bytes + s.sessionDirBytes
100
+ }))
101
+ },
102
+ projectsDir: result.projectsDir
103
+ },
104
+ { command: "transcript", operation: "transcript.scan" }
105
+ );
106
+ } catch (err) {
107
+ const message = err instanceof Error ? err.message : String(err);
108
+ cliError(
109
+ "Scan failed",
110
+ "E_INTERNAL",
111
+ { name: "E_INTERNAL", details: message },
112
+ { operation: "transcript.scan" }
113
+ );
114
+ process.exit(1);
115
+ }
116
+ }
117
+ });
118
+ var extractCommand = defineCommand({
119
+ meta: {
120
+ name: "extract",
121
+ description: "Run LLM extraction on a session transcript and write memories to brain.db"
122
+ },
123
+ args: {
124
+ "session-id": {
125
+ type: "positional",
126
+ description: "Session UUID to extract (omit for --all-warm)",
127
+ required: false
128
+ },
129
+ "all-warm": {
130
+ type: "boolean",
131
+ description: "Extract all warm-tier sessions (1\u20137d old)"
132
+ },
133
+ tier: {
134
+ type: "string",
135
+ description: "LLM tier: warm (default) or cold (Sonnet)",
136
+ default: "warm"
137
+ },
138
+ "dry-run": {
139
+ type: "boolean",
140
+ description: "Report without writing to brain.db or deleting JSONL"
141
+ },
142
+ "projects-dir": {
143
+ type: "string",
144
+ description: "Override ~/.claude/projects/ path"
145
+ }
146
+ },
147
+ async run({ args }) {
148
+ const tier = args.tier ?? "warm";
149
+ const dryRun = args["dry-run"] ?? false;
150
+ const projectRoot = getProjectRoot();
151
+ try {
152
+ const { extractTranscript } = await import("@cleocode/core/memory/transcript-extractor.js");
153
+ const { findSessionTranscriptPath, listAllTranscripts } = await import("@cleocode/core/memory/transcript-scanner.js");
154
+ const sessions = [];
155
+ const projectsDirOverride = typeof args["projects-dir"] === "string" && args["projects-dir"].length > 0 ? args["projects-dir"] : void 0;
156
+ if (args["all-warm"]) {
157
+ const allTranscripts = await listAllTranscripts({
158
+ olderThanHours: 1,
159
+ projectsDir: projectsDirOverride
160
+ });
161
+ for (const t of allTranscripts) {
162
+ sessions.push({ sessionId: t.sessionId, path: t.path });
163
+ }
164
+ } else if (args["session-id"]) {
165
+ const path = await findSessionTranscriptPath(args["session-id"], projectsDirOverride);
166
+ if (!path) {
167
+ cliError(
168
+ `Session JSONL not found for: ${args["session-id"]}`,
169
+ 4,
170
+ { name: "E_NOT_FOUND" },
171
+ { operation: "transcript.extract" }
172
+ );
173
+ process.exit(4);
174
+ return;
175
+ }
176
+ sessions.push({ sessionId: args["session-id"], path });
177
+ } else {
178
+ cliError(
179
+ "Provide a session-id or use --all-warm to extract all warm sessions",
180
+ 2,
181
+ { name: "E_INVALID_INPUT" },
182
+ { operation: "transcript.extract" }
183
+ );
184
+ process.exit(2);
185
+ return;
186
+ }
187
+ let totalExtracted = 0;
188
+ let totalStored = 0;
189
+ let totalBytesFreed = 0;
190
+ const results = [];
191
+ for (const session of sessions) {
192
+ const result = await extractTranscript({
193
+ transcriptPath: session.path,
194
+ projectRoot,
195
+ tier,
196
+ dryRun,
197
+ sessionId: session.sessionId
198
+ });
199
+ results.push(result);
200
+ totalExtracted += result.extractedCount;
201
+ totalStored += result.storedCount;
202
+ totalBytesFreed += result.bytesFreed;
203
+ }
204
+ const dryLabel = dryRun ? " (dry run)" : "";
205
+ cliOutput(
206
+ {
207
+ sessionsProcessed: sessions.length,
208
+ memoriesExtracted: totalExtracted,
209
+ memoriesStored: totalStored,
210
+ bytesFreed: totalBytesFreed,
211
+ dryRun,
212
+ results
213
+ },
214
+ {
215
+ command: "transcript",
216
+ operation: "transcript.extract",
217
+ message: `Transcript extraction complete${dryLabel}`
218
+ }
219
+ );
220
+ } catch (err) {
221
+ const message = err instanceof Error ? err.message : String(err);
222
+ cliError(
223
+ "Extract failed",
224
+ "E_INTERNAL",
225
+ { name: "E_INTERNAL", details: message },
226
+ { operation: "transcript.extract" }
227
+ );
228
+ process.exit(1);
229
+ }
230
+ }
231
+ });
232
+ var migrateCommand = defineCommand({
233
+ meta: {
234
+ name: "migrate",
235
+ description: "Backfill extraction from existing ~/.claude/projects/ session JSONLs (T733)"
236
+ },
237
+ args: {
238
+ "dry-run": {
239
+ type: "boolean",
240
+ description: "Report without writing to brain.db or deleting JSONLs"
241
+ },
242
+ tier: {
243
+ type: "string",
244
+ description: "LLM tier: warm (default) or cold (Sonnet)",
245
+ default: "warm"
246
+ },
247
+ "older-than-hours": {
248
+ type: "string",
249
+ description: "Only process sessions older than N hours",
250
+ default: "24"
251
+ },
252
+ "project-filter": {
253
+ type: "string",
254
+ description: "Limit to a specific Claude project directory slug"
255
+ },
256
+ limit: {
257
+ type: "string",
258
+ description: "Maximum number of sessions to process"
259
+ }
260
+ },
261
+ async run({ args }) {
262
+ const tier = args.tier ?? "warm";
263
+ const dryRun = args["dry-run"] ?? false;
264
+ const olderThanHours = args["older-than-hours"] ? Number.parseInt(args["older-than-hours"], 10) : 24;
265
+ const limit = args.limit ? Number.parseInt(args.limit, 10) : void 0;
266
+ const projectRoot = getProjectRoot();
267
+ try {
268
+ const { extractTranscript } = await import("@cleocode/core/memory/transcript-extractor.js");
269
+ const { listAllTranscripts } = await import("@cleocode/core/memory/transcript-scanner.js");
270
+ const transcripts = await listAllTranscripts({
271
+ olderThanHours,
272
+ projectFilter: args["project-filter"],
273
+ limit
274
+ });
275
+ cliOutput(
276
+ { discovered: transcripts.length, message: "Starting migration..." },
277
+ {
278
+ command: "transcript",
279
+ operation: "transcript.migrate",
280
+ message: `Migrating ${transcripts.length} session transcripts${dryRun ? " (dry run)" : ""}...`
281
+ }
282
+ );
283
+ let memoriesExtracted = 0;
284
+ let memoriesStored = 0;
285
+ let bytesFreed = 0;
286
+ let processed = 0;
287
+ let skipped = 0;
288
+ let failed = 0;
289
+ for (const entry of transcripts) {
290
+ try {
291
+ const result = await extractTranscript({
292
+ transcriptPath: entry.path,
293
+ projectRoot,
294
+ tier,
295
+ dryRun,
296
+ sessionId: entry.sessionId
297
+ });
298
+ if (result.warnings.some((w) => w.includes("Already extracted"))) {
299
+ skipped += 1;
300
+ } else {
301
+ processed += 1;
302
+ memoriesExtracted += result.extractedCount;
303
+ memoriesStored += result.storedCount;
304
+ bytesFreed += result.bytesFreed;
305
+ }
306
+ } catch {
307
+ failed += 1;
308
+ }
309
+ }
310
+ const dryLabel = dryRun ? " (dry run \u2014 no changes written)" : "";
311
+ cliOutput(
312
+ {
313
+ sessionsProcessed: processed,
314
+ sessionsSkipped: skipped,
315
+ sessionsFailed: failed,
316
+ memoriesExtracted,
317
+ memoriesStored,
318
+ bytesFreed,
319
+ mbFreed: Number.parseFloat((bytesFreed / 1024 / 1024).toFixed(2)),
320
+ dryRun
321
+ },
322
+ {
323
+ command: "transcript",
324
+ operation: "transcript.migrate",
325
+ message: `Migration complete${dryLabel}`
326
+ }
327
+ );
328
+ } catch (err) {
329
+ const message = err instanceof Error ? err.message : String(err);
330
+ cliError(
331
+ "Migration failed",
332
+ "E_INTERNAL",
333
+ { name: "E_INTERNAL", details: message },
334
+ { operation: "transcript.migrate" }
335
+ );
336
+ process.exit(1);
337
+ }
338
+ }
339
+ });
340
+ var pruneCommand = defineCommand({
341
+ meta: {
342
+ name: "prune",
343
+ description: "Prune session transcripts older than the specified duration. Dry-run by default."
344
+ },
345
+ args: {
346
+ "older-than": {
347
+ type: "string",
348
+ description: "Delete sessions older than this (e.g. 7d, 24h, 30m)",
349
+ required: true
350
+ },
351
+ confirm: {
352
+ type: "boolean",
353
+ description: "Perform actual deletion. Without this flag, the command dry-runs."
354
+ },
355
+ "projects-dir": {
356
+ type: "string",
357
+ description: "Override ~/.claude/projects/ path"
358
+ }
359
+ },
360
+ async run({ args }) {
361
+ const isTTY = Boolean(process.stdin.isTTY && process.stdout.isTTY);
362
+ const confirm = args.confirm ?? false;
363
+ if (!confirm && !isTTY) {
364
+ cliError(
365
+ "Non-interactive mode requires --confirm flag to perform deletion. Use --confirm to bypass the dry-run. Without --confirm, a dry-run report is printed.",
366
+ "E_INVALID_INPUT",
367
+ { name: "E_INVALID_INPUT" },
368
+ { operation: "transcript.prune" }
369
+ );
370
+ process.exit(0);
371
+ }
372
+ let olderThanMs;
373
+ try {
374
+ olderThanMs = parseDurationMs(args["older-than"]);
375
+ } catch (parseErr) {
376
+ const message = parseErr instanceof Error ? parseErr.message : String(parseErr);
377
+ cliError(
378
+ `Invalid duration: ${message}`,
379
+ "E_INVALID_INPUT",
380
+ { name: "E_INVALID_INPUT" },
381
+ { operation: "transcript.prune" }
382
+ );
383
+ process.exit(2);
384
+ return;
385
+ }
386
+ const projectsDir = args["projects-dir"] ?? join(homedir(), ".claude", "projects");
387
+ try {
388
+ const pruneResult = await pruneTranscripts({
389
+ olderThanMs,
390
+ confirm,
391
+ projectsDir
392
+ });
393
+ const dryLabel = pruneResult.dryRun ? " (dry run \u2014 use --confirm to delete)" : "";
394
+ cliOutput(
395
+ {
396
+ pruned: pruneResult.pruned,
397
+ bytesFreed: pruneResult.bytesFreed,
398
+ mbFreed: Number.parseFloat((pruneResult.bytesFreed / 1024 / 1024).toFixed(2)),
399
+ dryRun: pruneResult.dryRun,
400
+ deletedPaths: pruneResult.deletedPaths
401
+ },
402
+ {
403
+ command: "transcript",
404
+ operation: "transcript.prune",
405
+ message: `Transcript prune${dryLabel}`
406
+ }
407
+ );
408
+ } catch (err) {
409
+ const message = err instanceof Error ? err.message : String(err);
410
+ cliError(
411
+ "Prune failed",
412
+ "E_INTERNAL",
413
+ { name: "E_INTERNAL", details: message },
414
+ { operation: "transcript.prune" }
415
+ );
416
+ process.exit(1);
417
+ }
418
+ }
419
+ });
420
+ var transcriptCommand = defineCommand({
421
+ meta: {
422
+ name: "transcript",
423
+ description: "Transcript lifecycle management: scan, extract, and prune session transcripts"
424
+ },
425
+ subCommands: {
426
+ scan: scanCommand,
427
+ extract: extractCommand,
428
+ migrate: migrateCommand,
429
+ prune: pruneCommand
430
+ },
431
+ async run({ cmd, rawArgs }) {
432
+ const firstArg = rawArgs?.find((a) => !a.startsWith("-"));
433
+ if (firstArg && cmd.subCommands && firstArg in cmd.subCommands) return;
434
+ await showUsage(cmd);
435
+ }
436
+ });
437
+ export {
438
+ transcriptCommand
439
+ };
440
+ //# sourceMappingURL=transcript-LORQTV5Z.js.map
@@ -0,0 +1,51 @@
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 "./chunk-C3B7C43W.js";
17
+ import {
18
+ defineCommand
19
+ } from "./chunk-PKKZPOOP.js";
20
+
21
+ // packages/cleo/src/cli/commands/tui.ts
22
+ var tuiCommand = defineCommand({
23
+ meta: {
24
+ name: "tui",
25
+ description: "Launch the Pi-powered terminal cockpit (keyboard-first Kanban over the daemon /v1 gateway)"
26
+ },
27
+ args: {
28
+ "base-url": {
29
+ type: "string",
30
+ description: "Gateway base URL (default http://127.0.0.1:7777 \u2014 the `cleo daemon serve` listener)"
31
+ },
32
+ once: {
33
+ type: "boolean",
34
+ description: "Render the board once (plain text) and exit \u2014 do not enter the interactive loop",
35
+ default: false
36
+ }
37
+ },
38
+ async run({ args }) {
39
+ const { runCockpit } = await import("./cockpit-RZKLGYPN.js");
40
+ const baseUrlArg = args["base-url"];
41
+ const result = await runCockpit({
42
+ ...typeof baseUrlArg === "string" && baseUrlArg.length > 0 ? { baseUrl: baseUrlArg } : {},
43
+ once: args.once === true
44
+ });
45
+ void result;
46
+ }
47
+ });
48
+ export {
49
+ tuiCommand
50
+ };
51
+ //# sourceMappingURL=tui-BPUFHYKK.js.map