@cleocode/cleo 2026.10.4 → 2026.10.5

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 (331) hide show
  1. package/README.md +7 -0
  2. package/dist/cli/{adapter-LVXHFBC4.js → adapter-OUQRSFZL.js} +10 -9
  3. package/dist/cli/{add-WUAV7LDT.js → add-4SRRJL4U.js} +18 -18
  4. package/dist/cli/{add-batch-U2DLKAQC.js → add-batch-TSWICA5J.js} +12 -11
  5. package/dist/cli/admin-L3F6CDYH.js +1428 -0
  6. package/dist/cli/{admin-I7BQYVZD.js → admin-YMU55YCU.js} +10 -9
  7. package/dist/cli/{adr-K2THMQBS.js → adr-XESRMFMP.js} +10 -9
  8. package/dist/cli/{agent-WQ6XY2DW.js → agent-TAFPIYUU.js} +66 -28
  9. package/dist/cli/{agent-outputs-BJIYLVTU.js → agent-outputs-HVJJIPS4.js} +3 -3
  10. package/dist/cli/{analyze-PGQZWGOC.js → analyze-YQ22QVGW.js} +10 -9
  11. package/dist/cli/{archive-5LZPF7C3.js → archive-W5XX6AH7.js} +10 -9
  12. package/dist/cli/{archive-stats-U6CYC6JM.js → archive-stats-HP2KPAJU.js} +10 -9
  13. package/dist/cli/attention-7JBDCRZX.js +124 -0
  14. package/dist/cli/{attention-SOURWCNI.js → attention-ZXZANHKC.js} +13 -12
  15. package/dist/cli/{audit-FO2Y4LH2.js → audit-ICA2SEFN.js} +2 -2
  16. package/dist/cli/{auth-ED7TAIXI.js → auth-DXIG5OG7.js} +5 -5
  17. package/dist/cli/{backfill-32TRAYRD.js → backfill-LBSYBWLR.js} +2 -2
  18. package/dist/cli/{backup-LEJMZJKL.js → backup-NUGBZ7NA.js} +17 -16
  19. package/dist/cli/{backup-inspect-6HPLUEI2.js → backup-inspect-PDRXI45A.js} +3 -3
  20. package/dist/cli/{backup-recover-2BTYBZU2.js → backup-recover-TVKAPERB.js} +3 -3
  21. package/dist/cli/{blockers-5JULUJTV.js → blockers-ZOPCGHDW.js} +10 -9
  22. package/dist/cli/{brain-273N3FW4.js → brain-EJOBKL4A.js} +9 -12
  23. package/dist/cli/{briefing-7H6OLECX.js → briefing-RDQJ6WHS.js} +11 -10
  24. package/dist/cli/{caamp-MFQVN6VU.js → caamp-Z3XPKEHB.js} +2 -2
  25. package/dist/cli/{cancel-SCMJTXZB.js → cancel-S7EHLCJN.js} +10 -9
  26. package/dist/cli/{cant-46XCUP4P.js → cant-CHNN6O57.js} +2 -2
  27. package/dist/cli/{changeset-32NMBGG2.js → changeset-RYPHPN2B.js} +4 -6
  28. package/dist/cli/check-C67YAU7W.js +759 -0
  29. package/dist/cli/{check-RWJLBCI2.js → check-DHMURGHC.js} +30 -13
  30. package/dist/cli/{checkpoint-37HMMKD7.js → checkpoint-UWDFOGYQ.js} +3 -3
  31. package/dist/cli/{chunk-NRKWJLMS.js → chunk-22YPFZYB.js} +2 -2
  32. package/dist/cli/{chunk-I3CRQQAD.js → chunk-2MGFDMDF.js} +84 -37
  33. package/dist/cli/{chunk-BCEXRFA2.js → chunk-4JYHPP4C.js} +2 -2
  34. package/dist/cli/{chunk-A2IUEIM5.js → chunk-4PEODTHY.js} +2 -2
  35. package/dist/cli/{chunk-3ZO3M37V.js → chunk-4RGSNUUP.js} +118 -170
  36. package/dist/cli/{chunk-AWCQH2W5.js → chunk-4VASFLUW.js} +2 -2
  37. package/dist/cli/{chunk-BPEVD37G.js → chunk-5PNI276X.js} +2 -2
  38. package/dist/cli/{chunk-OGV57L4J.js → chunk-6N6WGLXE.js} +6 -2
  39. package/dist/cli/{chunk-KHB52JNB.js → chunk-75UH3BLS.js} +4 -3
  40. package/dist/cli/{chunk-5ZFFUFH7.js → chunk-7ACK4EIN.js} +2 -2
  41. package/dist/cli/{chunk-MNJRLSEQ.js → chunk-7NMKLVMI.js} +2 -2
  42. package/dist/cli/{chunk-GFGLLDXX.js → chunk-7SINJXB6.js} +2 -2
  43. package/dist/cli/{chunk-KJDWWQFY.js → chunk-7UARFJYS.js} +3 -3
  44. package/dist/cli/{chunk-JNZJPIPJ.js → chunk-7ZYPQV4N.js} +3 -3
  45. package/dist/cli/{chunk-DVTPIZJM.js → chunk-AQCYT3L4.js} +2 -2
  46. package/dist/cli/{chunk-EGOTK2HA.js → chunk-BQK6XTOH.js} +2 -2
  47. package/dist/cli/{chunk-DYABOIHB.js → chunk-CAPAGD5E.js} +6 -4
  48. package/dist/cli/{chunk-ZZTHTMQP.js → chunk-CHGEDCKG.js} +3 -3
  49. package/dist/cli/{chunk-QPUY2HQZ.js → chunk-COXFJ3PT.js} +2 -2
  50. package/dist/cli/chunk-D7BAQNV2.js +55 -0
  51. package/dist/cli/{chunk-OPTEQKBB.js → chunk-EIUXVHNF.js} +3 -3
  52. package/dist/cli/{chunk-3PGH67MT.js → chunk-EUGB6P5V.js} +4 -6
  53. package/dist/cli/chunk-EW2CKNNZ.js +304 -0
  54. package/dist/cli/{chunk-2JIJD2I7.js → chunk-FSKN4DWC.js} +2 -2
  55. package/dist/cli/{chunk-NSHV2JNM.js → chunk-FVKLULL7.js} +2 -2
  56. package/dist/cli/{chunk-GH37QXW5.js → chunk-GAGUBU4Z.js} +2 -2
  57. package/dist/cli/{chunk-37NU2XDP.js → chunk-GKRFH2YG.js} +2 -2
  58. package/dist/cli/{chunk-ULN4OKQQ.js → chunk-GRU74UE4.js} +21 -10
  59. package/dist/cli/{chunk-LKNUA3SB.js → chunk-HFLLZE6A.js} +2 -2
  60. package/dist/cli/{chunk-YGKEECTI.js → chunk-HXRXT3XU.js} +2 -2
  61. package/dist/cli/{chunk-REUTEW3O.js → chunk-IIOGUY3B.js} +6 -6
  62. package/dist/cli/chunk-ILWWL462.js +60 -0
  63. package/dist/cli/{chunk-XRAX6XFP.js → chunk-J5USPJKZ.js} +2 -2
  64. package/dist/cli/{chunk-S24YI723.js → chunk-KEQS36GD.js} +4 -4
  65. package/dist/cli/chunk-L7ONYSV6.js +2497 -0
  66. package/dist/cli/chunk-NEFMQYLE.js +656 -0
  67. package/dist/cli/{chunk-QFFQSKRC.js → chunk-NU6CQQVB.js} +6 -2
  68. package/dist/cli/{chunk-5J2VH3BC.js → chunk-PN4WW5VX.js} +3 -3
  69. package/dist/cli/{chunk-AYA6F4ZT.js → chunk-PSJ33WVO.js} +3 -3
  70. package/dist/cli/{chunk-FORFDPP5.js → chunk-QJJWWCIC.js} +3 -3
  71. package/dist/cli/{chunk-ZBISIPCK.js → chunk-QKMBWYAS.js} +16 -1
  72. package/dist/cli/chunk-QWNKLLLG.js +84 -0
  73. package/dist/cli/{chunk-7INMKEAD.js → chunk-QWUFFDL3.js} +2 -2
  74. package/dist/cli/chunk-QY76BRUZ.js +35 -0
  75. package/dist/cli/chunk-R45KVF5Y.js +117 -0
  76. package/dist/cli/{chunk-W33Q3FBH.js → chunk-RRKP7HLU.js} +3 -3
  77. package/dist/cli/{chunk-YUZJI67I.js → chunk-T6GZJYL3.js} +2 -2
  78. package/dist/cli/{chunk-LWQBJQSE.js → chunk-TLQ37HRE.js} +3 -3
  79. package/dist/cli/chunk-TPTNEJZJ.js +52 -0
  80. package/dist/cli/chunk-TYC7G5LF.js +100 -0
  81. package/dist/cli/{chunk-J3ZFM3UQ.js → chunk-UWCZY52R.js} +25 -13
  82. package/dist/cli/{chunk-V5GBGOGM.js → chunk-VB3LDPL5.js} +2 -2
  83. package/dist/cli/chunk-WWCYZYSN.js +56 -0
  84. package/dist/cli/{chunk-EBRZ76HS.js → chunk-XA5WISNV.js} +4 -3
  85. package/dist/cli/chunk-XHRZ7OYZ.js +132 -0
  86. package/dist/cli/{chunk-EOPQFCSR.js → chunk-XLPMIGJJ.js} +6 -6
  87. package/dist/cli/{chunk-NWTATTEQ.js → chunk-ZMGDZMSJ.js} +2 -2
  88. package/dist/cli/{claim-KPENYHIQ.js → claim-IGOG2QOC.js} +10 -9
  89. package/dist/cli/{classify-DRVMCFQU.js → classify-MG4N7GMQ.js} +2 -2
  90. package/dist/cli/{cli-T3CR7J57.js → cli-A23Q335V.js} +10 -7
  91. package/dist/cli/{cloud-PPQ4O5TX.js → cloud-SILYJVKO.js} +194 -28
  92. package/dist/cli/{code-Z5CTMVTD.js → code-H2FQCVMW.js} +2 -2
  93. package/dist/cli/{complete-UBOCOBRB.js → complete-JLX7NBI4.js} +9 -8
  94. package/dist/cli/{complexity-BV2AGQRZ.js → complexity-OKV7PVZH.js} +10 -9
  95. package/dist/cli/{compliance-32PD5Y47.js → compliance-QMGZHJNQ.js} +10 -9
  96. package/dist/cli/{conduit-VDKCH33F.js → conduit-4H32UYEA.js} +10 -9
  97. package/dist/cli/conduit-EY54WTZA.js +535 -0
  98. package/dist/cli/{config-I72JAXK4.js → config-TDYOC7XO.js} +21 -18
  99. package/dist/cli/{consensus-LFILLSTK.js → consensus-4XCOFPPT.js} +10 -9
  100. package/dist/cli/{context-XUUVFVTP.js → context-FN4YTGHD.js} +12 -11
  101. package/dist/cli/{contribution-37NQ4N5R.js → contribution-7RWFBJLC.js} +10 -9
  102. package/dist/cli/{curator-TFDXU2EX.js → curator-HKZJCVRL.js} +2 -2
  103. package/dist/cli/{current-C4SN5BWV.js → current-B2NU7V3G.js} +10 -9
  104. package/dist/cli/{daemon-DV25JQ62.js → daemon-GBD4TVCD.js} +11 -10
  105. package/dist/cli/{dash-TFU4RLQW.js → dash-IGDANIE5.js} +10 -9
  106. package/dist/cli/{decide-5VPMNTSI.js → decide-26SXC2V6.js} +5 -8
  107. package/dist/cli/{decompose-KOYEZNJL.js → decompose-LQ76TEZG.js} +11 -10
  108. package/dist/cli/{decomposition-7OHUFIQN.js → decomposition-WFRWNUSJ.js} +10 -9
  109. package/dist/cli/{delete-Q7YCAFY5.js → delete-T5DUQHOX.js} +11 -10
  110. package/dist/cli/{deps-6UZKLDGJ.js → deps-UTPZJBXL.js} +17 -18
  111. package/dist/cli/{detect-FERY35UL.js → detect-FFZSMVDT.js} +10 -9
  112. package/dist/cli/{detect-drift-UL2JTPUK.js → detect-drift-TVCJOFYJ.js} +7 -7
  113. package/dist/cli/diagnostics-GN5CVD3N.js +93 -0
  114. package/dist/cli/{diagnostics-TI5QAZXR.js → diagnostics-ZNBKH6GX.js} +10 -9
  115. package/dist/cli/docs-CLQKEEUK.js +1710 -0
  116. package/dist/cli/{docs-QI2PRN3T.js → docs-DPPDFTWR.js} +45 -42
  117. package/dist/cli/{doctor-AX5TICQO.js → doctor-GPENOP4N.js} +79 -62
  118. package/dist/cli/{doctor-ac-bindings-YPMYHU2G.js → doctor-ac-bindings-S3IOEFP4.js} +3 -3
  119. package/dist/cli/{doctor-acceptance-drift-PYNFGMKB.js → doctor-acceptance-drift-VNFKPBSQ.js} +3 -3
  120. package/dist/cli/{doctor-credentials-UZRIADKM.js → doctor-credentials-A5H4JMTF.js} +3 -3
  121. package/dist/cli/{doctor-db-substrate-Q2TOYM2S.js → doctor-db-substrate-FGCISE4Z.js} +3 -3
  122. package/dist/cli/{doctor-dep-cycles-GCVYZY6F.js → doctor-dep-cycles-BKKKHHYG.js} +3 -3
  123. package/dist/cli/{doctor-exodus-RO5SUTC2.js → doctor-exodus-ND2DH2KP.js} +3 -3
  124. package/dist/cli/{doctor-exodus-residue-EM2AWQXP.js → doctor-exodus-residue-4EMRYMEQ.js} +3 -3
  125. package/dist/cli/{doctor-fk-check-Q3FOLECE.js → doctor-fk-check-VY3RIQV3.js} +3 -3
  126. package/dist/cli/{doctor-global-delivery-TNOAQ3NP.js → doctor-global-delivery-JN6IGHUL.js} +3 -3
  127. package/dist/cli/{doctor-heavy-command-hook-IO3QAQLG.js → doctor-heavy-command-hook-XSN44WXU.js} +3 -3
  128. package/dist/cli/{doctor-legacy-backups-O2YH5VLS.js → doctor-legacy-backups-QAG5NHYP.js} +3 -3
  129. package/dist/cli/{doctor-legacy-reaper-VSEJEIFA.js → doctor-legacy-reaper-CIRGFE6R.js} +3 -3
  130. package/dist/cli/{doctor-malformed-ids-LQ766V5K.js → doctor-malformed-ids-WL7HT4TB.js} +3 -3
  131. package/dist/cli/{doctor-manifest-rows-6FQDNHLH.js → doctor-manifest-rows-SMQCKJ2T.js} +3 -3
  132. package/dist/cli/{doctor-memory-guard-J4PSEKB5.js → doctor-memory-guard-LJDOJG76.js} +3 -3
  133. package/dist/cli/{doctor-migrations-ONOH56YM.js → doctor-migrations-ETQPFNUP.js} +3 -3
  134. package/dist/cli/{doctor-nexus-residency-FUQAX7PV.js → doctor-nexus-residency-A4JMKBEJ.js} +3 -3
  135. package/dist/cli/{doctor-project-identity-GUDK3HYX.js → doctor-project-identity-FFQJ5LNX.js} +3 -3
  136. package/dist/cli/{doctor-projects-7L3BNL4O.js → doctor-projects-MFUTKRHP.js} +3 -3
  137. package/dist/cli/{doctor-projects-registry-TEAVHFQU.js → doctor-projects-registry-76X6VTGM.js} +3 -3
  138. package/dist/cli/{doctor-release-readiness-IEGHX6SL.js → doctor-release-readiness-QJCOPFTK.js} +3 -3
  139. package/dist/cli/{doctor-repair-NBONOSZU.js → doctor-repair-AU76FIKY.js} +3 -3
  140. package/dist/cli/doctor-row-identity-KW6JYZQE.js +26 -0
  141. package/dist/cli/{doctor-skill-fixtures-7Y6L34A3.js → doctor-skill-fixtures-G3T7JUHS.js} +3 -3
  142. package/dist/cli/{doctor-split-brain-TUKIGVHF.js → doctor-split-brain-FUW6L7FS.js} +3 -3
  143. package/dist/cli/{doctor-superseded-store-BHZY2B2L.js → doctor-superseded-store-DUHGSBLC.js} +3 -3
  144. package/dist/cli/doctor-sync-journal-SXMUIKF7.js +26 -0
  145. package/dist/cli/doctor-sync-triggers-6WNJZFRM.js +26 -0
  146. package/dist/cli/{doctor-tool-locks-REQMIVYK.js → doctor-tool-locks-66LSLUBN.js} +3 -3
  147. package/dist/cli/{doctor-twin-collapse-222GOSPE.js → doctor-twin-collapse-AYBYBFC4.js} +3 -3
  148. package/dist/cli/{doctor-worktree-stores-J7TCRVJ3.js → doctor-worktree-stores-C5XEH5OG.js} +3 -3
  149. package/dist/cli/{done-V3AOO65B.js → done-R64XRZ32.js} +11 -10
  150. package/dist/cli/entities-3JIHDIOK.js +361 -0
  151. package/dist/cli/{event-EGNPGE5A.js → event-45KEWV5H.js} +2 -2
  152. package/dist/cli/{exists-H4SDCBPL.js → exists-BEDZS5RI.js} +3 -3
  153. package/dist/cli/{exodus-KALO3B3X.js → exodus-DUX62344.js} +3 -3
  154. package/dist/cli/{export-ROFOCG4M.js → export-C5PQIQ5O.js} +11 -10
  155. package/dist/cli/{export-tasks-US3WBIEQ.js → export-tasks-CUXDZPJB.js} +11 -10
  156. package/dist/cli/{federation-SUIB5QWT.js → federation-ESM35EGG.js} +3 -3
  157. package/dist/cli/{find-YICG4BG6.js → find-5EUZHHQJ.js} +13 -12
  158. package/dist/cli/focus-6AH4KLRO.js +368 -0
  159. package/dist/cli/{focus-TKCZPKOM.js → focus-ANKAIRO5.js} +10 -9
  160. package/dist/cli/{gateway-H4HFDC3E.js → gateway-2GW2KTK3.js} +2 -2
  161. package/dist/cli/{gc-5R2TUY5T.js → gc-CTOQLUSA.js} +2 -2
  162. package/dist/cli/{go-PRQFK5YG.js → go-YJPNHHYT.js} +6 -6
  163. package/dist/cli/{goal-7CZRMLHC.js → goal-4GW4G77D.js} +4 -3
  164. package/dist/cli/{grade-PY2YRPUS.js → grade-25WSZH4X.js} +10 -9
  165. package/dist/cli/{graph-XIXMCFKG.js → graph-JUO3TMF3.js} +11 -10
  166. package/dist/cli/{history-EIXADPAD.js → history-NACNUQTC.js} +10 -9
  167. package/dist/cli/{import-R73SO444.js → import-7ESGL5SS.js} +10 -9
  168. package/dist/cli/{import-tasks-O22FZJ4U.js → import-tasks-FLE2RPBR.js} +10 -9
  169. package/dist/cli/index.js +395 -238
  170. package/dist/cli/{init-IHEJDQWU.js → init-AN4DZ2XO.js} +5 -5
  171. package/dist/cli/{inject-LSRVWNCP.js → inject-HQWA5GWY.js} +10 -9
  172. package/dist/cli/{install-global-4AZUCH6U.js → install-global-YQV4W5OG.js} +2 -2
  173. package/dist/cli/intelligence-OFFNQGHE.js +238 -0
  174. package/dist/cli/{intelligence-2OSFOGD2.js → intelligence-QIC4SN4X.js} +10 -9
  175. package/dist/cli/{issue-IIWEDNFC.js → issue-P5RNMRDG.js} +10 -9
  176. package/dist/cli/{janitor-GPMC7VOR.js → janitor-ZNCFQ7E3.js} +2 -2
  177. package/dist/cli/{labels-5NPOIQXN.js → labels-ORBM3T57.js} +10 -9
  178. package/dist/cli/{lifecycle-4FFS2K2T.js → lifecycle-MHR22TVI.js} +13 -12
  179. package/dist/cli/{list-47KEUGPQ.js → list-LB6GCYYU.js} +14 -13
  180. package/dist/cli/llm-H7LZWQKX.js +130 -0
  181. package/dist/cli/{llm-G5B3I6GD.js → llm-OTJWPMGI.js} +14 -13
  182. package/dist/cli/{llm-cost-S7RS6BVA.js → llm-cost-MLMXEAR4.js} +3 -3
  183. package/dist/cli/{llm-stream-24A45NTS.js → llm-stream-AAEUNKRP.js} +3 -3
  184. package/dist/cli/{log-XF6H2XSD.js → log-W2A5M2NA.js} +10 -9
  185. package/dist/cli/{login-LBPLGHYG.js → login-SIXFFZSP.js} +6 -4
  186. package/dist/cli/{logout-SX4JSJIV.js → logout-G3KVLQQM.js} +5 -5
  187. package/dist/cli/{manifest-NMCW4PIW.js → manifest-G4T6EBSI.js} +10 -9
  188. package/dist/cli/{map-BU72KMGF.js → map-VU5M72TK.js} +10 -9
  189. package/dist/cli/{memory-UHYIVGVM.js → memory-2E27G2G5.js} +17 -21
  190. package/dist/cli/memory-IAEYKXG6.js +1895 -0
  191. package/dist/cli/{migrate-agents-v2-OO7OILZK.js → migrate-agents-v2-A52QIYNJ.js} +3 -3
  192. package/dist/cli/{migrate-claude-mem-EDNYUY3K.js → migrate-claude-mem-TPDW3R4Z.js} +17 -12
  193. package/dist/cli/{next-RZFRG5X7.js → next-SVH4LIDY.js} +10 -9
  194. package/dist/cli/nexus-FPQV2EAF.js +1059 -0
  195. package/dist/cli/{nexus-4S4Z5EVU.js → nexus-XSFXN5E6.js} +14 -13
  196. package/dist/cli/{ops-KR7AWCG3.js → ops-K6LHY5J6.js} +10 -9
  197. package/dist/cli/orchestrate-CZ2J6W3L.js +1650 -0
  198. package/dist/cli/{orchestrate-HOYZY3VX.js → orchestrate-HURUCQFT.js} +13 -11
  199. package/dist/cli/{otel-U7IIRBCT.js → otel-JCNPVJLZ.js} +2 -2
  200. package/dist/cli/{phase-NYZFHUE5.js → phase-VDFRASSO.js} +10 -9
  201. package/dist/cli/pipeline-TCZPOEDR.js +697 -0
  202. package/dist/cli/{pivot-FF2CVUZL.js → pivot-V5MSQZ7L.js} +10 -9
  203. package/dist/cli/{plan-3SL2NTRV.js → plan-SQUGCKSM.js} +10 -9
  204. package/dist/cli/{playbook-2FCBV7N3.js → playbook-L47GLDQD.js} +10 -9
  205. package/dist/cli/playbook-NJVO4R6P.js +33 -0
  206. package/dist/cli/{project-WDX2TGMC.js → project-YZEC7GYF.js} +6 -5
  207. package/dist/cli/{promote-YINYFBZY.js → promote-FINF4HVK.js} +10 -9
  208. package/dist/cli/provenance-3TUWVBFR.js +141 -0
  209. package/dist/cli/{provenance-C7AYD7WG.js → provenance-YZG33JGM.js} +10 -9
  210. package/dist/cli/{provider-QLJEDQBR.js → provider-23JVLLG3.js} +10 -9
  211. package/dist/cli/{reason-JF5BHBM5.js → reason-FHN54O7O.js} +10 -9
  212. package/dist/cli/{reconcile-NMISHDGX.js → reconcile-MOM5T4AX.js} +11 -10
  213. package/dist/cli/{refresh-memory-EY5YNICV.js → refresh-memory-3OSTRAVK.js} +2 -2
  214. package/dist/cli/{relates-R3ZPICAY.js → relates-6FWUFUS2.js} +10 -9
  215. package/dist/cli/release-G2DPSG5M.js +347 -0
  216. package/dist/cli/{release-4ZJTMUUT.js → release-URX6JHZ2.js} +10 -9
  217. package/dist/cli/{remote-QSONJDIK.js → remote-VIULU2T5.js} +3 -3
  218. package/dist/cli/{renderers-64OR3IWX.js → renderers-TGSW77J4.js} +2 -2
  219. package/dist/cli/{reorder-J3DOE7ST.js → reorder-UIPN6TQY.js} +10 -9
  220. package/dist/cli/{reparent-2OUMKEZX.js → reparent-ALOWWUIU.js} +10 -9
  221. package/dist/cli/{req-TZB7OFKO.js → req-RH2Y3H7A.js} +10 -9
  222. package/dist/cli/{research-MTD7EX45.js → research-G2Y72HRC.js} +10 -9
  223. package/dist/cli/{restore-VEUOX7NF.js → restore-VBR5XNML.js} +62 -15
  224. package/dist/cli/{revert-3YF2IL5G.js → revert-32LDNSGP.js} +2 -2
  225. package/dist/cli/{roadmap-7OOQLXKG.js → roadmap-LFU3AG7D.js} +10 -9
  226. package/dist/cli/{run-2U5NZV5Z.js → run-HXRILSR7.js} +40 -6
  227. package/dist/cli/{safestop-VR4VK56D.js → safestop-Z5UC7NGQ.js} +10 -9
  228. package/dist/cli/{saga-SEWPIOX2.js → saga-Y6FZS6AM.js} +12 -11
  229. package/dist/cli/{schema-C52WZ35V.js → schema-OOOKLWUE.js} +5 -5
  230. package/dist/cli/{self-update-GQIGUDPS.js → self-update-26SOTJMH.js} +3 -3
  231. package/dist/cli/{selfimprove-3Y5L4ECT.js → selfimprove-4SMOCLUV.js} +10 -9
  232. package/dist/cli/selfimprove-EB4RQLP4.js +139 -0
  233. package/dist/cli/sentient-QPETVE53.js +254 -0
  234. package/dist/cli/{sentient-M4YMAVGV.js → sentient-RGMWR4XJ.js} +2 -2
  235. package/dist/cli/{sequence-6UBMA4IF.js → sequence-H7DSAJPF.js} +10 -9
  236. package/dist/cli/{service-5R7SILZ7.js → service-EK5MGB2D.js} +10 -9
  237. package/dist/cli/service-GLOMZWPQ.js +437 -0
  238. package/dist/cli/{session-3C6AAC4Y.js → session-HYUXAQGC.js} +12 -11
  239. package/dist/cli/session-N5ISU56W.js +568 -0
  240. package/dist/cli/{setup-BTUBW5PU.js → setup-L3YYV53D.js} +4 -4
  241. package/dist/cli/{show-MXT2V7TF.js → show-364V3KY2.js} +12 -11
  242. package/dist/cli/{skill-GFUZOU2C.js → skill-F2KR6HW5.js} +2 -2
  243. package/dist/cli/{skills-EDWLKAF3.js → skills-FS3DCP6E.js} +13 -12
  244. package/dist/cli/{snapshot-GUWMURCM.js → snapshot-EGXEQ5PR.js} +12 -11
  245. package/dist/cli/{src-66GAKPXR.js → src-LYLXHXHH.js} +2 -2
  246. package/dist/cli/{start-QFG56RGN.js → start-6DXOCCKL.js} +10 -9
  247. package/dist/cli/{stats-GW55P7RR.js → stats-UVUQEGYC.js} +10 -9
  248. package/dist/cli/{status-46HTKNRR.js → status-XLKYLN42.js} +3 -3
  249. package/dist/cli/sticky-VSTQ2I2O.js +264 -0
  250. package/dist/cli/{sticky-2DUZOUGI.js → sticky-XZXZDCFW.js} +12 -11
  251. package/dist/cli/{stop-J2QEUKHX.js → stop-VNOAFWNB.js} +10 -9
  252. package/dist/cli/{sync-GJP2QYT5.js → sync-YYPARW3A.js} +11 -10
  253. package/dist/cli/tasks-C24KHTFF.js +1118 -0
  254. package/dist/cli/{tasks-BNXTM7PB.js → tasks-LBJC7CZV.js} +10 -9
  255. package/dist/cli/{telemetry-55Z2XJWL.js → telemetry-CU7W5WAY.js} +2 -2
  256. package/dist/cli/{templates-7O77TKPV.js → templates-G42JBUY4.js} +9 -11
  257. package/dist/cli/{testing-37YTBNKP.js → testing-HSRITHEY.js} +10 -9
  258. package/dist/cli/{token-UAVJMNUI.js → token-J74E7TSU.js} +10 -9
  259. package/dist/cli/tools-BI74W7VE.js +652 -0
  260. package/dist/cli/{transcript-LORQTV5Z.js → transcript-RGK7RSGQ.js} +2 -2
  261. package/dist/cli/{update-NVCYV2FT.js → update-2KQWA27S.js} +19 -17
  262. package/dist/cli/update-check-entry.js +124 -0
  263. package/dist/cli/update-notice-6SQ6WPQG.js +68 -0
  264. package/dist/cli/upgrade-E2MJAPC7.js +136 -0
  265. package/dist/cli/{upgrade-OXJXOGEF.js → upgrade-XRSQ4RWH.js} +5 -5
  266. package/dist/cli/{verify-LYLDHPT2.js → verify-WASRGDBA.js} +10 -9
  267. package/dist/cli/{web-QP2RP266.js → web-NJ3P67EU.js} +4 -4
  268. package/dist/cli/{workgraph-FXBSZDQE.js → workgraph-OHJ2VKJD.js} +6 -6
  269. package/dist/cli/{worktree-6RXAJIST.js → worktree-FVQLORFY.js} +10 -9
  270. package/dist/cli/worktree-ZJ6JTQNG.js +287 -0
  271. package/package.json +13 -13
  272. package/studio-dist/client/_app/immutable/chunks/{Btgeq_wq.js → AH7dIemv.js} +1 -1
  273. package/studio-dist/client/_app/immutable/chunks/{DgEKqO6r.js → BDgH40i3.js} +1 -1
  274. package/studio-dist/client/_app/immutable/chunks/BXDCSJ7U.js +1 -0
  275. package/studio-dist/client/_app/immutable/chunks/{CgBjxmu6.js → Gg4iYl59.js} +1 -1
  276. package/studio-dist/client/_app/immutable/entry/{app.a02HWaRB.js → app.DUDNK-37.js} +2 -2
  277. package/studio-dist/client/_app/immutable/entry/start.DNmZ0pA4.js +1 -0
  278. package/studio-dist/client/_app/immutable/nodes/{0.nTXyRfc-.js → 0.DWqP3ail.js} +1 -1
  279. package/studio-dist/client/_app/immutable/nodes/{1.4zrWeHtl.js → 1.CZGVUP5B.js} +1 -1
  280. package/studio-dist/client/_app/immutable/nodes/{15.D9mk4JyY.js → 15.DGaflZRS.js} +1 -1
  281. package/studio-dist/client/_app/immutable/nodes/{16._-wt-sQf.js → 16.uYlarGXl.js} +1 -1
  282. package/studio-dist/client/_app/immutable/nodes/{17.CUu6LQDj.js → 17.CZMR0E47.js} +1 -1
  283. package/studio-dist/client/_app/immutable/nodes/{18.Dz4QRTkX.js → 18.CBC-AKH_.js} +1 -1
  284. package/studio-dist/client/_app/immutable/nodes/{20.CJ2_EB0U.js → 20.BGi43MvQ.js} +1 -1
  285. package/studio-dist/client/_app/immutable/nodes/{24.Igj2FS7k.js → 24.Dv8ftCyR.js} +1 -1
  286. package/studio-dist/client/_app/immutable/nodes/25.DQPVlTDQ.js +39 -0
  287. package/studio-dist/client/_app/immutable/nodes/{26.6iPyjT44.js → 26.Cl800304.js} +1 -1
  288. package/studio-dist/client/_app/immutable/nodes/{3.AA5GwNgP.js → 3.D_fQKj9f.js} +1 -1
  289. package/studio-dist/client/_app/version.json +1 -1
  290. package/studio-dist/server/chunks/{0-DGmsoBYm.js → 0-BpOagOst.js} +3 -3
  291. package/studio-dist/server/chunks/1-D0oRGR-C.js +9 -0
  292. package/studio-dist/server/chunks/{15-Bg6YTndh.js → 15-BcjHz7Tv.js} +3 -3
  293. package/studio-dist/server/chunks/{16-BObLwgyD.js → 16-CXm8TUk7.js} +3 -3
  294. package/studio-dist/server/chunks/{17-BNXGyAHX.js → 17-mSgUK-cp.js} +3 -3
  295. package/studio-dist/server/chunks/{18-UqQFRIID.js → 18-BtfnIw1d.js} +3 -3
  296. package/studio-dist/server/chunks/{20-CMn8a_yP.js → 20-By1e4QDS.js} +3 -3
  297. package/studio-dist/server/chunks/{24-BuOTDzib.js → 24-0i2YLVxG.js} +3 -3
  298. package/studio-dist/server/chunks/{dist-B8xbIrdB.js → 25-DPsrqbrh.js} +795 -10736
  299. package/studio-dist/server/chunks/{26-DWGObn2T.js → 26-P0XkOibm.js} +3 -3
  300. package/studio-dist/server/chunks/{3-CyiffdJZ.js → 3-WudjUK7e.js} +3 -3
  301. package/studio-dist/server/chunks/{_layout.svelte-DYtClaIk.js → _layout.svelte-D9m81Rle.js} +4 -4
  302. package/studio-dist/server/chunks/{_page.svelte-CEATWp_5.js → _page.svelte-2PDLOF83.js} +3 -3
  303. package/studio-dist/server/chunks/{_page.svelte-Bip079LT.js → _page.svelte-BjE3jm2K.js} +3 -3
  304. package/studio-dist/server/chunks/{_page.svelte-CV3xiD1y.js → _page.svelte-Clc0vmiZ.js} +4 -4
  305. package/studio-dist/server/chunks/{_page.svelte-DSSy6LuK.js → _page.svelte-DABdRT3h.js} +3 -3
  306. package/studio-dist/server/chunks/{_page.svelte-1h9E6s_f.js → _page.svelte-DG3PjiHj.js} +3 -3
  307. package/studio-dist/server/chunks/{_page.svelte-BT1EUadj.js → _page.svelte-Edy9CaE8.js} +20 -7
  308. package/studio-dist/server/chunks/{_page.svelte-BNNF62Nm.js → _page.svelte-Hrf3-ZR8.js} +3 -3
  309. package/studio-dist/server/chunks/{_page.svelte-TF795TAS.js → _page.svelte-VB4O4Nl5.js} +3 -3
  310. package/studio-dist/server/chunks/{_page.svelte-Cv_KVJDV.js → _page.svelte-d3jEgjsI.js} +3 -3
  311. package/studio-dist/server/chunks/{_server.ts-CzrwbhkQ.js → _server.ts-BcRFsyo3.js} +4 -5
  312. package/studio-dist/server/chunks/{_server.ts-C4w6UdU0.js → _server.ts-CEWpIFrj.js} +6 -5
  313. package/studio-dist/server/chunks/{_server.ts-BlhRFLY3.js → _server.ts-CLVdVIF9.js} +2 -2
  314. package/studio-dist/server/chunks/{_server.ts-Db6mEile.js → _server.ts-D_j7aSy5.js} +6 -5
  315. package/studio-dist/server/chunks/{_server.ts-DWt8Dziu.js → _server.ts-QEZF8h2q.js} +4 -5
  316. package/studio-dist/server/chunks/{client-D8f2k-H_.js → client-Kp1dP1od.js} +2 -2
  317. package/studio-dist/server/chunks/{error.svelte-DbbOwIme.js → error.svelte-WOCioJVX.js} +3 -3
  318. package/studio-dist/server/chunks/{hooks.server-D2qbf3Zp.js → hooks.server-DH9zkIrJ.js} +3 -1
  319. package/studio-dist/server/chunks/{http-1ftNGTs5.js → http-DT5kxaWk.js} +5 -4
  320. package/studio-dist/server/chunks/{internal-CTULuLPB.js → internal-z0vqd5_u.js} +3 -3
  321. package/studio-dist/server/chunks/operations-registry-DdzmYzqX.js +10584 -0
  322. package/studio-dist/server/chunks/{stores-CS5XOReX.js → stores-s2kaL315.js} +2 -2
  323. package/studio-dist/server/index.js +1 -1
  324. package/studio-dist/server/manifest.js +17 -17
  325. package/dist/cli/chunk-3IOQVUO7.js +0 -17308
  326. package/dist/cli/chunk-OAPN46TC.js +0 -89
  327. package/studio-dist/client/_app/immutable/chunks/t81h7afa.js +0 -1
  328. package/studio-dist/client/_app/immutable/entry/start.BreMSngo.js +0 -1
  329. package/studio-dist/client/_app/immutable/nodes/25.BnATjVGN.js +0 -39
  330. package/studio-dist/server/chunks/1-8PfxPvlK.js +0 -9
  331. package/studio-dist/server/chunks/25-CIMSmjVx.js +0 -366
@@ -18,11 +18,11 @@ import {
18
18
  } from "./chunk-PKKZPOOP.js";
19
19
  import {
20
20
  cliOutput
21
- } from "./chunk-3ZO3M37V.js";
21
+ } from "./chunk-4RGSNUUP.js";
22
22
 
23
23
  // packages/cleo/src/cli/commands/doctor-malformed-ids.ts
24
- import { getProjectRoot } from "@cleocode/core";
25
24
  import { scanMalformedTaskIds } from "@cleocode/core/doctor/malformed-task-ids.js";
25
+ import { getProjectRoot } from "@cleocode/core/project-scope";
26
26
  var doctorMalformedIdsCommand = defineCommand({
27
27
  meta: {
28
28
  name: "malformed-ids",
@@ -53,4 +53,4 @@ var doctorMalformedIdsCommand = defineCommand({
53
53
  export {
54
54
  doctorMalformedIdsCommand
55
55
  };
56
- //# sourceMappingURL=chunk-AYA6F4ZT.js.map
56
+ //# sourceMappingURL=chunk-PSJ33WVO.js.map
@@ -20,14 +20,14 @@ import {
20
20
  cliError,
21
21
  cliOutput,
22
22
  humanLine
23
- } from "./chunk-3ZO3M37V.js";
23
+ } from "./chunk-4RGSNUUP.js";
24
24
 
25
25
  // packages/cleo/src/cli/commands/backup-inspect.ts
26
26
  import fs from "node:fs";
27
27
  import os from "node:os";
28
28
  import path from "node:path";
29
29
  import zlib from "node:zlib";
30
- import { ExitCode } from "@cleocode/contracts";
30
+ import { ExitCode } from "@cleocode/contracts/exit-codes.js";
31
31
  import {
32
32
  BackupObservationInspectionError,
33
33
  detectEncryption,
@@ -285,4 +285,4 @@ var backupInspectSubCommand = defineCommand({
285
285
  export {
286
286
  backupInspectSubCommand
287
287
  };
288
- //# sourceMappingURL=chunk-FORFDPP5.js.map
288
+ //# sourceMappingURL=chunk-QJJWWCIC.js.map
@@ -57,6 +57,20 @@ function extractIdempotencyKeyArg(argv) {
57
57
  return { argv: sanitized, idempotencyKey };
58
58
  }
59
59
 
60
+ // packages/cleo/src/cli/lib/settle-then-exit.ts
61
+ async function settleThenExit(code, settle = settleWithCore, exit = (c) => process.exit(c)) {
62
+ process.exitCode = code;
63
+ try {
64
+ await settle();
65
+ } catch {
66
+ }
67
+ return exit(code);
68
+ }
69
+ async function settleWithCore() {
70
+ const { settleBeforeExit } = await import("@cleocode/core/shutdown");
71
+ return settleBeforeExit();
72
+ }
73
+
60
74
  // packages/cleo/src/cli/projection-context.ts
61
75
  var currentOptOut = false;
62
76
  function setProjectionOptOut(optOut) {
@@ -72,7 +86,8 @@ export {
72
86
  setIdempotencyKeyContext,
73
87
  getIdempotencyKeyContext,
74
88
  extractIdempotencyKeyArg,
89
+ settleThenExit,
75
90
  setProjectionOptOut,
76
91
  getProjectionOptOut
77
92
  };
78
- //# sourceMappingURL=chunk-ZBISIPCK.js.map
93
+ //# sourceMappingURL=chunk-QKMBWYAS.js.map
@@ -0,0 +1,84 @@
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/dispatch/adapters/typed.ts
18
+ async function typedDispatch(handler, op, rawParams) {
19
+ return handler.operations[op](rawParams);
20
+ }
21
+ function defineTypedHandler(domain, operations) {
22
+ return { domain, operations };
23
+ }
24
+ function lafsSuccess(data, _operation, extra) {
25
+ return {
26
+ success: true,
27
+ data,
28
+ ...extra?.page ? { page: extra.page } : {}
29
+ };
30
+ }
31
+ function lafsError(code, message, _operation, fix, details) {
32
+ const error = { code, message };
33
+ if (fix !== void 0) error.fix = fix;
34
+ if (details !== void 0) error.details = details;
35
+ return {
36
+ success: false,
37
+ error
38
+ };
39
+ }
40
+ function wrapCoreResult(result, opName, fallback) {
41
+ if (!result.success) {
42
+ const e = result.error;
43
+ const errorObj = {
44
+ code: String(e?.code ?? "E_INTERNAL"),
45
+ message: e?.message ?? "Unknown error"
46
+ };
47
+ if (e?.exitCode !== void 0) errorObj.exitCode = e.exitCode;
48
+ if (e?.details !== void 0) errorObj.details = e.details;
49
+ if (e?.fix !== void 0) errorObj.fix = e.fix;
50
+ if (e?.alternatives) {
51
+ errorObj.alternatives = e.alternatives;
52
+ }
53
+ if (e?.problemDetails !== void 0) errorObj.problemDetails = e.problemDetails;
54
+ return { success: false, error: errorObj };
55
+ }
56
+ return lafsSuccess(result.data ?? fallback, opName);
57
+ }
58
+ async function wrapConduitImpl(fn, opName) {
59
+ try {
60
+ const result = await fn();
61
+ if (!result.success) {
62
+ return lafsError(
63
+ String(result.error?.code ?? "E_CONDUIT"),
64
+ result.error?.message ?? "Unknown error",
65
+ opName
66
+ );
67
+ }
68
+ return lafsSuccess(result.data ?? {}, opName);
69
+ } catch (error) {
70
+ if (!(error instanceof Error)) return lafsError("E_CONDUIT", String(error), opName);
71
+ const code = "code" in error && typeof error.code === "string" ? error.code : "";
72
+ return lafsError(/^E_[A-Z0-9_]+$/.test(code) ? code : "E_CONDUIT", error.message, opName);
73
+ }
74
+ }
75
+
76
+ export {
77
+ typedDispatch,
78
+ defineTypedHandler,
79
+ lafsSuccess,
80
+ lafsError,
81
+ wrapCoreResult,
82
+ wrapConduitImpl
83
+ };
84
+ //# sourceMappingURL=chunk-QWNKLLLG.js.map
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  cliError,
21
21
  cliOutput
22
- } from "./chunk-3ZO3M37V.js";
22
+ } from "./chunk-4RGSNUUP.js";
23
23
 
24
24
  // packages/cleo/src/cli/commands/auth/remove.ts
25
25
  function emitLlmCredentialRemoval(outcome, command, operation) {
@@ -82,4 +82,4 @@ export {
82
82
  emitLlmCredentialRemoval,
83
83
  authRemoveCommand
84
84
  };
85
- //# sourceMappingURL=chunk-7INMKEAD.js.map
85
+ //# sourceMappingURL=chunk-QWUFFDL3.js.map
@@ -0,0 +1,35 @@
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/dispatch/domains/_routing.ts
18
+ function routeByParam(params, paramName, routes, defaultRoute) {
19
+ const value = params?.[paramName] ?? defaultRoute;
20
+ if (!value) {
21
+ const available = Object.keys(routes).join(", ");
22
+ throw new Error(`Missing required param '${paramName}'. Available: ${available}`);
23
+ }
24
+ const handler = routes[value];
25
+ if (!handler) {
26
+ const available = Object.keys(routes).join(", ");
27
+ throw new Error(`Unknown ${paramName} '${value}'. Available: ${available}`);
28
+ }
29
+ return handler();
30
+ }
31
+
32
+ export {
33
+ routeByParam
34
+ };
35
+ //# sourceMappingURL=chunk-QY76BRUZ.js.map
@@ -0,0 +1,117 @@
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
+ cliOutput
21
+ } from "./chunk-4RGSNUUP.js";
22
+
23
+ // packages/cleo/src/cli/commands/doctor-tool-locks.ts
24
+ import {
25
+ admissionCapacityBytes,
26
+ entryLiveness,
27
+ readForeignEntries,
28
+ readLedger,
29
+ reapLedger,
30
+ removeLedgerEntry
31
+ } from "@cleocode/core/resources/admission-ledger.js";
32
+ import { CANONICAL_TOOLS } from "@cleocode/core/tasks/tool-resolver.js";
33
+ var doctorToolLocksCommand = defineCommand({
34
+ meta: {
35
+ name: "tool-locks",
36
+ description: "Inspect the machine-wide admission ledger: which heavy runs hold the memory budget or wait for it, by which pid, and whether that pid is still alive. Read-only; --reap drops entries whose holder is provably gone; --remove <id> drops one entry."
37
+ },
38
+ args: {
39
+ reap: {
40
+ type: "boolean",
41
+ description: "Drop entries whose holder process and tool process groups are gone. Fails safe: an unreadable probe or a fresh heartbeat counts as ALIVE and is never reaped."
42
+ },
43
+ remove: {
44
+ type: "string",
45
+ description: "Drop the entry with this id whatever its liveness (an entry whose holder cannot be identified is otherwise kept until its heartbeat is 10 minutes old)."
46
+ },
47
+ tool: {
48
+ type: "string",
49
+ description: "Restrict to one canonical tool (test, build, lint, typecheck, \u2026)."
50
+ },
51
+ json: { type: "boolean", description: "Output as JSON" },
52
+ human: { type: "boolean", description: "Force human-readable output" },
53
+ quiet: { type: "boolean", description: "Suppress non-essential output" }
54
+ },
55
+ async run({ args }) {
56
+ const requested = typeof args.tool === "string" && args.tool.length > 0 ? args.tool : null;
57
+ if (requested && !CANONICAL_TOOLS.some((t) => t === requested)) {
58
+ cliOutput(
59
+ { error: `Unknown canonical tool "${requested}"`, known: [...CANONICAL_TOOLS] },
60
+ { command: "doctor", operation: "doctor.tool-locks.run" }
61
+ );
62
+ process.exitCode = 1;
63
+ return;
64
+ }
65
+ const reaped = args.reap === true ? await reapLedger() : [];
66
+ const removeId = typeof args.remove === "string" && args.remove.length > 0 ? args.remove : null;
67
+ const removed = removeId === null ? null : await removeLedgerEntry(removeId);
68
+ const now = Date.now();
69
+ const entries = readLedger().filter((e) => requested === null || e.label === `tool:${requested}`).map((e) => {
70
+ const alive = entryLiveness(e, now) === "alive";
71
+ return {
72
+ id: e.id,
73
+ label: e.label,
74
+ state: e.state,
75
+ pid: e.pid,
76
+ host: e.host,
77
+ command: e.command,
78
+ cwd: e.cwd,
79
+ footprintBytes: e.footprintBytes,
80
+ // T13132: what the run covers (`full` = a whole-suite run) and its task.
81
+ scope: e.scope ?? null,
82
+ task: e.task ?? null,
83
+ enqueuedAt: new Date(e.enqueuedAtMs).toISOString(),
84
+ admittedAt: e.admittedAtMs === null ? null : new Date(e.admittedAtMs).toISOString(),
85
+ toolGroups: e.toolGroups,
86
+ alive,
87
+ orphaned: !alive
88
+ };
89
+ });
90
+ const orphaned = entries.filter((e) => e.orphaned);
91
+ const held = entries.filter((e) => e.state === "admitted");
92
+ const foreignEntries = requested === null ? readForeignEntries() : [];
93
+ cliOutput(
94
+ {
95
+ capacityBytes: admissionCapacityBytes(),
96
+ usedBytes: held.reduce((n, e) => n + e.footprintBytes, 0),
97
+ entries,
98
+ heldCount: held.length,
99
+ waitingCount: entries.length - held.length,
100
+ orphanedCount: orphaned.length,
101
+ foreignEntries,
102
+ reaped,
103
+ reapApplied: args.reap === true,
104
+ ...removeId === null ? {} : { removeId, removed }
105
+ },
106
+ { command: "doctor", operation: "doctor.tool-locks.run" }
107
+ );
108
+ if ((orphaned.length > 0 || removed === false) && (process.exitCode ?? 0) === 0) {
109
+ process.exitCode = 1;
110
+ }
111
+ }
112
+ });
113
+
114
+ export {
115
+ doctorToolLocksCommand
116
+ };
117
+ //# sourceMappingURL=chunk-R45KVF5Y.js.map
@@ -15,10 +15,10 @@
15
15
  })();
16
16
  import {
17
17
  OPERATIONS
18
- } from "./chunk-AWCQH2W5.js";
18
+ } from "./chunk-4VASFLUW.js";
19
19
 
20
20
  // packages/cleo/src/cli/lib/registry-args.ts
21
- import { paramsToCittyArgs } from "@cleocode/contracts";
21
+ import { paramsToCittyArgs } from "@cleocode/contracts/operations/params.js";
22
22
  var IDEMPOTENCY_KEY_PARAM = {
23
23
  name: "idempotencyKey",
24
24
  type: "string",
@@ -63,4 +63,4 @@ export {
63
63
  registryParamsToDispatchPayload,
64
64
  paramsToCittyArgs
65
65
  };
66
- //# sourceMappingURL=chunk-W33Q3FBH.js.map
66
+ //# sourceMappingURL=chunk-RRKP7HLU.js.map
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  cliError,
21
21
  cliOutput
22
- } from "./chunk-3ZO3M37V.js";
22
+ } from "./chunk-4RGSNUUP.js";
23
23
 
24
24
  // packages/cleo/src/cli/commands/doctor-skill-fixtures.ts
25
25
  import {
@@ -105,4 +105,4 @@ var doctorSkillFixturesCommand = defineCommand({
105
105
  export {
106
106
  doctorSkillFixturesCommand
107
107
  };
108
- //# sourceMappingURL=chunk-YUZJI67I.js.map
108
+ //# sourceMappingURL=chunk-T6GZJYL3.js.map
@@ -18,14 +18,14 @@ import {
18
18
  } from "./chunk-PKKZPOOP.js";
19
19
  import {
20
20
  cliOutput
21
- } from "./chunk-3ZO3M37V.js";
21
+ } from "./chunk-4RGSNUUP.js";
22
22
 
23
23
  // packages/cleo/src/cli/commands/doctor-acceptance-drift.ts
24
- import { getProjectRoot } from "@cleocode/core";
25
24
  import {
26
25
  scanAcceptanceDrift,
27
26
  writeAcceptanceDriftBaseline
28
27
  } from "@cleocode/core/doctor/acceptance-drift.js";
28
+ import { getProjectRoot } from "@cleocode/core/project-scope";
29
29
  var doctorAcceptanceDriftCommand = defineCommand({
30
30
  meta: {
31
31
  name: "acceptance-drift",
@@ -64,4 +64,4 @@ var doctorAcceptanceDriftCommand = defineCommand({
64
64
  export {
65
65
  doctorAcceptanceDriftCommand
66
66
  };
67
- //# sourceMappingURL=chunk-LWQBJQSE.js.map
67
+ //# sourceMappingURL=chunk-TLQ37HRE.js.map
@@ -0,0 +1,52 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ defineCommand
18
+ } from "./chunk-PKKZPOOP.js";
19
+ import {
20
+ cliOutput
21
+ } from "./chunk-4RGSNUUP.js";
22
+
23
+ // packages/cleo/src/cli/commands/doctor-sync-journal.ts
24
+ import { runSyncRepair } from "@cleocode/core/doctor/sync-repair.js";
25
+ import { getProjectRoot } from "@cleocode/core/paths.js";
26
+ var doctorSyncJournalCommand = defineCommand({
27
+ meta: {
28
+ name: "sync-journal",
29
+ description: "Plan the repair diff of the project store's suspect tables (rows written uncaptured). --repair emits the repair ops, seals them, verifies each table and clears its suspect mark."
30
+ },
31
+ args: {
32
+ repair: {
33
+ type: "boolean",
34
+ description: "Seal pending captures, emit I/U/D repair ops for every row of each suspect table in a repair frame, seal them, verify (clean rescan, ledger equals count) and clear the suspect mark. Opens the store like any cleo command, so pending migrations are applied"
35
+ },
36
+ json: { type: "boolean", description: "Output as JSON" },
37
+ human: { type: "boolean", description: "Force human-readable output" },
38
+ quiet: { type: "boolean", description: "Suppress non-essential output" }
39
+ },
40
+ async run({ args }) {
41
+ const result = await runSyncRepair(getProjectRoot(), { repair: args.repair === true });
42
+ cliOutput(result, { command: "doctor", operation: "doctor.sync-journal.run" });
43
+ if (args.repair === true && (result.report.refused !== null || result.suspect.length > 0)) {
44
+ process.exitCode = 1;
45
+ }
46
+ }
47
+ });
48
+
49
+ export {
50
+ doctorSyncJournalCommand
51
+ };
52
+ //# sourceMappingURL=chunk-TPTNEJZJ.js.map
@@ -0,0 +1,100 @@
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/dispatch/domains/lazy.ts
18
+ import { OPERATIONS } from "@cleocode/contracts/dispatch/operations-registry.js";
19
+ var DOMAIN_LOADERS = [
20
+ ["tasks", async () => new (await import("./tasks-C24KHTFF.js")).TasksHandler()],
21
+ ["session", async () => new (await import("./session-N5ISU56W.js")).SessionHandler()],
22
+ ["attention", async () => new (await import("./attention-7JBDCRZX.js")).AttentionHandler()],
23
+ ["memory", async () => new (await import("./memory-IAEYKXG6.js")).MemoryHandler()],
24
+ ["intelligence", async () => new (await import("./intelligence-OFFNQGHE.js")).IntelligenceHandler()],
25
+ ["check", async () => new (await import("./check-C67YAU7W.js")).CheckHandler()],
26
+ ["pipeline", async () => new (await import("./pipeline-TCZPOEDR.js")).PipelineHandler()],
27
+ ["orchestrate", async () => new (await import("./orchestrate-CZ2J6W3L.js")).OrchestrateHandler()],
28
+ ["tools", async () => new (await import("./tools-BI74W7VE.js")).ToolsHandler()],
29
+ ["admin", async () => new (await import("./admin-L3F6CDYH.js")).AdminHandler()],
30
+ ["nexus", async () => new (await import("./nexus-FPQV2EAF.js")).NexusHandler()],
31
+ ["sticky", async () => new (await import("./sticky-VSTQ2I2O.js")).StickyHandler()],
32
+ ["diagnostics", async () => new (await import("./diagnostics-GN5CVD3N.js")).DiagnosticsHandler()],
33
+ ["docs", async () => new (await import("./docs-CLQKEEUK.js")).DocsHandler()],
34
+ ["focus", async () => new (await import("./focus-6AH4KLRO.js")).FocusHandler()],
35
+ ["playbook", async () => new (await import("./playbook-NJVO4R6P.js")).PlaybookHandler()],
36
+ ["conduit", async () => new (await import("./conduit-EY54WTZA.js")).ConduitHandler()],
37
+ ["sentient", async () => new (await import("./sentient-QPETVE53.js")).SentientHandler()],
38
+ ["release", async () => new (await import("./release-G2DPSG5M.js")).ReleaseHandler()],
39
+ ["provenance", async () => new (await import("./provenance-3TUWVBFR.js")).ProvenanceHandler()],
40
+ ["selfimprove", async () => new (await import("./selfimprove-EB4RQLP4.js")).SelfimproveHandler()],
41
+ ["service", async () => new (await import("./service-GLOMZWPQ.js")).ServiceHandler()],
42
+ ["llm", async () => new (await import("./llm-H7LZWQKX.js")).LlmHandler()],
43
+ ["account", async () => new (await import("./entities-3JIHDIOK.js")).AccountHandler()],
44
+ ["provider", async () => new (await import("./entities-3JIHDIOK.js")).ProviderHandler()],
45
+ ["model", async () => new (await import("./entities-3JIHDIOK.js")).ModelHandler()],
46
+ ["profile", async () => new (await import("./entities-3JIHDIOK.js")).ProfileHandler()],
47
+ ["worktree", async () => new (await import("./worktree-ZJ6JTQNG.js")).WorktreeHandler()],
48
+ ["upgrade", async () => new (await import("./upgrade-E2MJAPC7.js")).UpgradeHandler()]
49
+ ];
50
+ var LazyDomainHandler = class {
51
+ /**
52
+ * @param domain - Canonical domain name.
53
+ * @param load - Loads and constructs the real handler.
54
+ */
55
+ constructor(domain, load) {
56
+ this.domain = domain;
57
+ this.load = load;
58
+ }
59
+ domain;
60
+ load;
61
+ handler = null;
62
+ /** The real handler, loaded once. A failed load is retried on the next call. */
63
+ resolve() {
64
+ this.handler ??= this.load().catch((err) => {
65
+ this.handler = null;
66
+ throw err;
67
+ });
68
+ return this.handler;
69
+ }
70
+ /** @inheritdoc */
71
+ async query(operation, params) {
72
+ return (await this.resolve()).query(operation, params);
73
+ }
74
+ /** @inheritdoc */
75
+ async mutate(operation, params) {
76
+ return (await this.resolve()).mutate(operation, params);
77
+ }
78
+ /** @inheritdoc */
79
+ getSupportedOperations() {
80
+ const ops = OPERATIONS.filter((op) => op.domain === this.domain);
81
+ return {
82
+ query: ops.filter((op) => op.gateway === "query").map((op) => op.operation),
83
+ mutate: ops.filter((op) => op.gateway === "mutate").map((op) => op.operation)
84
+ };
85
+ }
86
+ };
87
+ function createLazyDomainHandlers() {
88
+ return new Map(
89
+ DOMAIN_LOADERS.map(([domain, load]) => [domain, new LazyDomainHandler(domain, load)])
90
+ );
91
+ }
92
+ function lazyOperation(load) {
93
+ return async (...args) => await (await load())(...args);
94
+ }
95
+
96
+ export {
97
+ createLazyDomainHandlers,
98
+ lazyOperation
99
+ };
100
+ //# sourceMappingURL=chunk-TYC7G5LF.js.map
@@ -22,11 +22,12 @@ import {
22
22
  failNexus,
23
23
  nexusLoginSummary,
24
24
  runNexusLogin,
25
+ terminalSafe,
25
26
  writeDeviceCodeApproved,
26
27
  writeDeviceCodeInterrupted,
27
28
  writeDeviceCodePending,
28
29
  writeDeviceCodePrompt
29
- } from "./chunk-ULN4OKQQ.js";
30
+ } from "./chunk-GRU74UE4.js";
30
31
  import {
31
32
  defineCommand
32
33
  } from "./chunk-PKKZPOOP.js";
@@ -35,10 +36,11 @@ import {
35
36
  cliOutput,
36
37
  humanLine,
37
38
  isHumanOutput
38
- } from "./chunk-3ZO3M37V.js";
39
+ } from "./chunk-4RGSNUUP.js";
39
40
 
40
41
  // packages/cleo/src/cli/commands/login.ts
41
- import { NEXUS_LOGIN_TARGET, WHOAMI_ROLE_IDS } from "@cleocode/contracts";
42
+ import { WHOAMI_ROLE_IDS } from "@cleocode/contracts/llm/system-of-use.js";
43
+ import { NEXUS_LOGIN_TARGET } from "@cleocode/contracts/nexus-account.js";
42
44
 
43
45
  // packages/cleo/src/cli/lib/nexus-first-run-cli.ts
44
46
  var STEP_LINES = {
@@ -47,10 +49,11 @@ var STEP_LINES = {
47
49
  restore: "Restoring its backup from Cleo Nexus...",
48
50
  projects: "Looking up your Cleo Nexus projects..."
49
51
  };
50
- function consentOf(args) {
52
+ function consentOf(args, env = process.env, tty = process.stdin.isTTY === true && process.stderr.isTTY === true) {
51
53
  if (args["yes"] === true) return "yes";
52
- const ci = (process.env["CI"] ?? "") !== "" && process.env["CI"] !== "false";
53
- return process.stdin.isTTY && process.stderr.isTTY && !ci ? "prompt" : "never";
54
+ const ci = (env["CI"] ?? "") !== "" && env["CI"] !== "false";
55
+ if (ci) return "never";
56
+ return tty ? "prompt" : "unattended";
54
57
  }
55
58
  async function runNexusFirstRunCli(args, login) {
56
59
  const { nexusFirstRunResult, runNexusFirstRun } = await import(
@@ -137,7 +140,8 @@ async function runNexusLoginCommand(args, operation, openBrowser) {
137
140
  failNexus(err, operation);
138
141
  }
139
142
  const firstRun = await runNexusFirstRunCli(args, login);
140
- for (const w of firstRun.warnings) process.stderr.write(`warning: ${w.message} (${w.code})
143
+ for (const w of firstRun.warnings)
144
+ process.stderr.write(`warning: ${terminalSafe(w.message)} (${w.code})
141
145
  `);
142
146
  if (!isHumanOutput()) {
143
147
  if (firstRun.nextCommand) process.stderr.write(`next: ${firstRun.nextCommand}
@@ -611,9 +615,16 @@ var NEXUS_PICKER_LABEL = "Cleo Nexus account";
611
615
  function loginPickerOptions(providerNames) {
612
616
  return [NEXUS_PICKER_LABEL, ...[...providerNames].sort()];
613
617
  }
614
- async function resolveLoginTarget(args) {
618
+ var LLM_ONLY_FLAGS = ["api-key", "api-key-stdin", "model", "role", "auth", "label"];
619
+ function nonInteractiveLoginTarget(args, operation) {
620
+ if (operation !== "login.run") return void 0;
621
+ const llmIntent = LLM_ONLY_FLAGS.some((f) => args[f] !== void 0 && args[f] !== false);
622
+ return llmIntent ? void 0 : NEXUS_LOGIN_TARGET;
623
+ }
624
+ async function resolveLoginTarget(args, operation) {
615
625
  const given = typeof args["provider"] === "string" ? args["provider"] : "";
616
- if (given || !process.stdin.isTTY) return given || void 0;
626
+ if (given) return given;
627
+ if (!process.stdin.isTTY) return nonInteractiveLoginTarget(args, operation);
617
628
  const names = (await (await providerRegistry()).listProviders()).map((p) => p.name);
618
629
  const io = new ReadlineWizardIO(process.stdin, process.stderr);
619
630
  try {
@@ -626,7 +637,7 @@ async function resolveLoginTarget(args) {
626
637
  async function runLoginCommand(args, operation) {
627
638
  let target;
628
639
  try {
629
- target = await resolveLoginTarget(args);
640
+ target = await resolveLoginTarget(args, operation);
630
641
  } catch (err) {
631
642
  failLogin(err, operation);
632
643
  }
@@ -696,7 +707,7 @@ var LOGIN_ARGS = {
696
707
  },
697
708
  yes: {
698
709
  type: "boolean",
699
- description: "nexus: inside a CLEO project this machine has not linked, link it and take the first encrypted backup without asking (or, when Cleo Nexus already backs it up from another device and this copy never synced, restore that backup here). Without it a terminal is asked, and a non-interactive run only prints the next command."
710
+ description: "nexus: inside a CLEO project this machine has not linked, link it and take the first encrypted backup without asking (or, when Cleo Nexus already backs it up from another device and this copy never synced, restore that backup here). Without it a terminal is asked; a non-interactive run outside CI (an agent) links and backs up unattended but never restores unasked; CI only prints the next command."
700
711
  },
701
712
  auth: {
702
713
  type: "string",
@@ -733,7 +744,7 @@ var loginCommand = defineCommand({
733
744
  // ONE quoted literal, no backticks: the manifest generator's DESC_RE
734
745
  // captures only the first plain string literal (concatenations + backticks
735
746
  // truncate the `cleo --help` text mid-sentence).
736
- description: "Log in to a Cleo Nexus account (cleo login nexus: device code, --api-url, --no-browser) or to an LLM provider, binding a usable profile in one step. The picker lists the Cleo Nexus account first, then the providers. After a Cleo Nexus sign-in inside an unlinked CLEO project it offers to link the project and back it up (--yes does it; a non-interactive run prints the next command); outside a project it lists your projects with the cleo cloud restore command for each. For a provider it picks an auth method (browser OAuth or API key), selects a model, binds it, and validates the binding. cleo auth login and cleo llm login resolve to this same flow. Prompts/URLs go to stderr; the result is a human line on a terminal or a JSON envelope when piped / --json."
747
+ description: "Log in to a Cleo Nexus account (cleo login nexus: device code, --api-url, --no-browser) or to an LLM provider, binding a usable profile in one step. The picker lists the Cleo Nexus account first, then the providers. Without a terminal and no target, cleo login signs in to Cleo Nexus (an agent needs no extra word). After a Cleo Nexus sign-in inside an unlinked CLEO project it links the project and backs it up: a terminal is asked, --yes or a non-interactive run (an agent) does it, a restore over this copy is never done unasked, and CI only prints the next command; outside a project it lists your projects with the cleo cloud restore command for each. For a provider it picks an auth method (browser OAuth or API key), selects a model, binds it, and validates the binding. cleo auth login and cleo llm login resolve to this same flow. Prompts/URLs go to stderr; the result is a human line on a terminal or a JSON envelope when piped / --json."
737
748
  },
738
749
  args: LOGIN_ARGS,
739
750
  async run({ args }) {
@@ -746,9 +757,10 @@ export {
746
757
  runLoginFrontDoor,
747
758
  NEXUS_PICKER_LABEL,
748
759
  loginPickerOptions,
760
+ nonInteractiveLoginTarget,
749
761
  runLoginCommand,
750
762
  emitLoginResult,
751
763
  LOGIN_ARGS,
752
764
  loginCommand
753
765
  };
754
- //# sourceMappingURL=chunk-J3ZFM3UQ.js.map
766
+ //# sourceMappingURL=chunk-UWCZY52R.js.map
@@ -32,7 +32,7 @@ import {
32
32
  statusColor,
33
33
  statusSymbol,
34
34
  YELLOW
35
- } from "@cleocode/core";
35
+ } from "@cleocode/core/render/colors";
36
36
 
37
37
  export {
38
38
  BOLD,
@@ -43,4 +43,4 @@ export {
43
43
  RED,
44
44
  YELLOW
45
45
  };
46
- //# sourceMappingURL=chunk-V5GBGOGM.js.map
46
+ //# sourceMappingURL=chunk-VB3LDPL5.js.map