@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
@@ -0,0 +1,368 @@
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
+ lafsSuccess
18
+ } from "./chunk-QWNKLLLG.js";
19
+ import {
20
+ dispatchMeta,
21
+ handleErrorResult,
22
+ unsupportedOp
23
+ } from "./chunk-XHRZ7OYZ.js";
24
+
25
+ // packages/cleo/src/dispatch/domains/focus.ts
26
+ import { execSync } from "node:child_process";
27
+ import { runKnowledgeDoctor } from "@cleocode/core/doctor/knowledge";
28
+ import {
29
+ compactKnowledgeCoverage,
30
+ compactKnowledgeHealth
31
+ } from "@cleocode/core/doctor/knowledge-summary";
32
+ import { buildAttentionDigest } from "@cleocode/core/memory/attention";
33
+ import { memoryFind } from "@cleocode/core/memory/engine-compat";
34
+ import { orchestrateReady } from "@cleocode/core/orchestrate/query-ops";
35
+ import { getProjectRoot } from "@cleocode/core/project-scope";
36
+ import { isSagaType } from "@cleocode/core/sagas/is-saga-type";
37
+ import { createAttachmentStore } from "@cleocode/core/store/attachment-store";
38
+ import { taskRelates } from "@cleocode/core/tasks/engine-wrap";
39
+ import { taskShow } from "@cleocode/core/tasks/show";
40
+ function roughTokenCount(value) {
41
+ try {
42
+ return Math.ceil(JSON.stringify(value).length / 4);
43
+ } catch {
44
+ return 0;
45
+ }
46
+ }
47
+ var TASK_ID_RE = /^T\d+$/i;
48
+ function fetchRecentActivity(taskId, projectRoot, diagnostics) {
49
+ try {
50
+ const raw = execSync(`git log --grep="${taskId}" --pretty=format:"%H %s %aI" -n 5`, {
51
+ encoding: "utf8",
52
+ stdio: ["pipe", "pipe", "pipe"],
53
+ cwd: projectRoot
54
+ });
55
+ return raw.trim().split("\n").filter(Boolean).map((line) => {
56
+ const parts = line.split(" ");
57
+ return {
58
+ commitSha: parts[0] ?? "",
59
+ message: parts[1] ?? "",
60
+ date: parts[2] ?? ""
61
+ };
62
+ }).filter((c) => c.commitSha !== "");
63
+ } catch (error) {
64
+ diagnostics["git"] = { status: "failed", reasons: [String(error)], evidence: [] };
65
+ return [];
66
+ }
67
+ }
68
+ function describeEngineFailure(result) {
69
+ const { code, message, fix } = result.error;
70
+ return `${code}: ${message}${fix ? ` (fix: ${fix})` : ""}`;
71
+ }
72
+ async function fetchAttachedDocs(projectRoot, taskId, diagnostics) {
73
+ try {
74
+ const store = createAttachmentStore();
75
+ const metas = await store.listByOwner("task", taskId, projectRoot);
76
+ const entries = [];
77
+ for (const meta of metas) {
78
+ const extras = await store.getExtras(meta.id, projectRoot);
79
+ entries.push({
80
+ attachmentId: meta.id,
81
+ kind: meta.attachment.kind,
82
+ ...extras?.slug != null ? { slug: extras.slug } : {},
83
+ ...extras?.type != null ? { type: extras.type } : {}
84
+ });
85
+ }
86
+ return entries;
87
+ } catch (error) {
88
+ diagnostics["docs"] = { status: "failed", reasons: [String(error)], evidence: [] };
89
+ return [];
90
+ }
91
+ }
92
+ async function fetchBrainContext(taskId, diagnostics) {
93
+ try {
94
+ const [obsResult, decResult, lrnResult] = await Promise.allSettled([
95
+ memoryFind({ query: taskId, limit: 3, tables: ["observations"] }),
96
+ memoryFind({ query: taskId, limit: 3, tables: ["decisions"] }),
97
+ memoryFind({ query: taskId, limit: 3, tables: ["learnings"] })
98
+ ]);
99
+ const failures = [];
100
+ const fail = (table, cause) => {
101
+ failures.push(`${table}: ${cause}`);
102
+ diagnostics["memory"] = {
103
+ status: "failed",
104
+ reasons: ["One or more scoped memory retrievals failed.", ...failures],
105
+ evidence: []
106
+ };
107
+ return [];
108
+ };
109
+ const toHits = (table, r) => {
110
+ if (r.status === "rejected") return fail(table, String(r.reason));
111
+ if (!r.value.success) return fail(table, describeEngineFailure(r.value));
112
+ const data = r.value.data;
113
+ return (data?.results ?? []).slice(0, 3);
114
+ };
115
+ return {
116
+ observations: toHits("observations", obsResult),
117
+ learnings: toHits("learnings", lrnResult),
118
+ decisions: toHits("decisions", decResult)
119
+ };
120
+ } catch (error) {
121
+ diagnostics["memory"] = { status: "failed", reasons: [String(error)], evidence: [] };
122
+ return void 0;
123
+ }
124
+ }
125
+ async function fetchAttentionDigest(projectRoot, diagnostics) {
126
+ try {
127
+ const digest = await buildAttentionDigest(projectRoot);
128
+ return digest ?? void 0;
129
+ } catch (error) {
130
+ diagnostics["attention"] = { status: "failed", reasons: [String(error)], evidence: [] };
131
+ return void 0;
132
+ }
133
+ }
134
+ async function fetchSagaMembersWithTitles(projectRoot, sagaId, diagnostics) {
135
+ try {
136
+ const relResult = await taskRelates(projectRoot, sagaId);
137
+ if (!relResult.success) {
138
+ diagnostics["saga"] = {
139
+ status: "failed",
140
+ reasons: ["Saga relationship retrieval failed."],
141
+ evidence: []
142
+ };
143
+ return [];
144
+ }
145
+ const memberIds = (relResult.data?.relations ?? []).filter((r) => r.type === "groups").map((r) => r.taskId);
146
+ if (memberIds.length === 0) return [];
147
+ const showResults = await Promise.allSettled(
148
+ memberIds.map((epicId) => taskShow(projectRoot, epicId))
149
+ );
150
+ return showResults.map((r, i) => {
151
+ const epicId = memberIds[i] ?? "";
152
+ if (r.status !== "fulfilled" || !r.value.success) {
153
+ diagnostics["saga"] = {
154
+ status: "failed",
155
+ reasons: ["One or more saga member records could not be loaded."],
156
+ evidence: []
157
+ };
158
+ return { epicId, title: epicId, status: "unknown" };
159
+ }
160
+ const t = r.value.data.task;
161
+ return { epicId: t.id, title: t.title, status: t.status };
162
+ }).filter((m) => m.epicId !== "");
163
+ } catch (error) {
164
+ diagnostics["saga"] = { status: "failed", reasons: [String(error)], evidence: [] };
165
+ return [];
166
+ }
167
+ }
168
+ async function buildFocusEnvelope(id, projectRoot) {
169
+ const showResult = await taskShow(projectRoot, id);
170
+ if (!showResult.success) {
171
+ return {
172
+ error: {
173
+ code: showResult.error?.code?.toString() ?? "E_NOT_FOUND",
174
+ message: showResult.error?.message ?? `Task not found: ${id}`
175
+ }
176
+ };
177
+ }
178
+ const knowledge = await runKnowledgeDoctor(projectRoot, { fix: true, budgetMs: 2e3 });
179
+ const sourceDiagnostics = {};
180
+ const task = showResult.data.task;
181
+ const isSaga = isSagaType(task);
182
+ const isEpic = task.type === "epic" && !isSaga;
183
+ const entityType = isSaga ? "saga" : isEpic ? "epic" : "task";
184
+ const identity = {
185
+ id: task.id,
186
+ title: task.title,
187
+ type: entityType,
188
+ status: task.status,
189
+ ...task.parentId != null ? { parentId: task.parentId } : {}
190
+ };
191
+ const scope = {};
192
+ if (entityType === "task") {
193
+ scope.taskId = task.id;
194
+ if (task.parentId) scope.epicId = task.parentId;
195
+ } else if (entityType === "epic") {
196
+ scope.epicId = task.id;
197
+ } else {
198
+ scope.sagaId = task.id;
199
+ }
200
+ const blockers = [];
201
+ const explicitBlockers = Array.isArray(task.blockedBy) ? task.blockedBy : [];
202
+ const unresolvedDepends = [];
203
+ if (explicitBlockers.length === 0 && Array.isArray(task.depends)) {
204
+ for (const depId of task.depends) {
205
+ const dRes = await taskShow(projectRoot, depId).catch(() => null);
206
+ if (!dRes?.success)
207
+ sourceDiagnostics["dependencies"] = {
208
+ status: "failed",
209
+ reasons: ["A dependency record could not be assessed."],
210
+ evidence: []
211
+ };
212
+ if (dRes?.success && dRes.data) {
213
+ const s = dRes.data.task.status;
214
+ if (s !== "done" && s !== "cancelled") {
215
+ unresolvedDepends.push(depId);
216
+ blockers.push({
217
+ id: depId,
218
+ title: dRes.data.task.title,
219
+ reason: `dependency not resolved (status: ${s})`
220
+ });
221
+ }
222
+ }
223
+ }
224
+ }
225
+ if (explicitBlockers.length > 0) {
226
+ await Promise.allSettled(
227
+ explicitBlockers.map(async (bid) => {
228
+ const bRes = await taskShow(projectRoot, bid).catch(() => null);
229
+ if (!bRes?.success)
230
+ sourceDiagnostics["blockers"] = {
231
+ status: "failed",
232
+ reasons: ["A blocker record could not be assessed."],
233
+ evidence: []
234
+ };
235
+ blockers.push({
236
+ id: bid,
237
+ title: bRes?.success ? bRes.data?.task.title ?? bid : bid,
238
+ reason: bRes?.success ? bRes.data?.task.status ?? "unknown" : "unknown"
239
+ });
240
+ })
241
+ );
242
+ }
243
+ const epicIdForReady = entityType === "epic" ? task.id : entityType === "task" && task.parentId ? task.parentId : void 0;
244
+ const [sagaMembersResult, readyResult, docsResult, brainResult, attentionResult] = await Promise.allSettled([
245
+ isSaga ? fetchSagaMembersWithTitles(projectRoot, id, sourceDiagnostics) : Promise.resolve(void 0),
246
+ epicIdForReady && TASK_ID_RE.test(epicIdForReady) ? orchestrateReady(epicIdForReady, projectRoot) : Promise.resolve(null),
247
+ fetchAttachedDocs(projectRoot, id, sourceDiagnostics),
248
+ fetchBrainContext(id, sourceDiagnostics),
249
+ // T11374: Tier-2 attention digest for the calling agent's resolved scope.
250
+ fetchAttentionDigest(projectRoot, sourceDiagnostics)
251
+ ]);
252
+ const recentActivity = fetchRecentActivity(id, projectRoot, sourceDiagnostics);
253
+ const members = sagaMembersResult.status === "fulfilled" && sagaMembersResult.value != null ? sagaMembersResult.value : void 0;
254
+ let readyWave;
255
+ if (readyResult.status === "fulfilled" && readyResult.value?.success) {
256
+ const rData = readyResult.value.data;
257
+ const rTasks = rData?.readyTasks ?? [];
258
+ if (rTasks.length > 0) {
259
+ readyWave = rTasks.map((t) => ({
260
+ id: t.id,
261
+ title: t.title,
262
+ priority: t.priority,
263
+ depends: t.depends
264
+ }));
265
+ }
266
+ }
267
+ const attachedDocs = docsResult.status === "fulfilled" && docsResult.value.length > 0 ? docsResult.value : void 0;
268
+ const brainContext = brainResult.status === "fulfilled" ? brainResult.value : void 0;
269
+ const attentionDigest = attentionResult.status === "fulfilled" ? attentionResult.value : void 0;
270
+ for (const [name, result] of Object.entries({
271
+ saga: sagaMembersResult,
272
+ ready: readyResult,
273
+ docs: docsResult,
274
+ memory: brainResult,
275
+ attention: attentionResult
276
+ })) {
277
+ if (result.status === "rejected")
278
+ sourceDiagnostics[name] = {
279
+ status: "failed",
280
+ reasons: [String(result.reason)],
281
+ evidence: []
282
+ };
283
+ }
284
+ if (readyResult.status === "fulfilled" && readyResult.value?.success === false) {
285
+ sourceDiagnostics["ready"] = {
286
+ status: "failed",
287
+ reasons: ["Ready-wave assessment failed.", describeEngineFailure(readyResult.value)],
288
+ evidence: []
289
+ };
290
+ }
291
+ const envelope = {
292
+ identity,
293
+ scope,
294
+ coverage: compactKnowledgeCoverage(knowledge.health.coverage),
295
+ ...brainContext != null ? { brainContext } : {},
296
+ blockers,
297
+ ...readyWave != null ? { readyWave } : {},
298
+ knowledgeHealth: compactKnowledgeHealth(knowledge.health, "/coverage"),
299
+ sourceDiagnostics,
300
+ ...members != null ? { members } : {},
301
+ ...attachedDocs != null ? { attachedDocs } : {},
302
+ ...recentActivity.length > 0 ? { recentActivity } : {},
303
+ ...attentionDigest != null ? { attentionDigest } : {},
304
+ tokensEstimated: 0
305
+ };
306
+ envelope.tokensEstimated = roughTokenCount(envelope);
307
+ return envelope;
308
+ }
309
+ var QUERY_OPS = /* @__PURE__ */ new Set(["show"]);
310
+ var FocusHandler = class {
311
+ /**
312
+ * Execute a focus query with bounded deterministic knowledge maintenance.
313
+ *
314
+ * @param operation - Operation name (`'show'`).
315
+ * @param params - Raw params (must contain `id: string`).
316
+ */
317
+ async query(operation, params) {
318
+ const startTime = Date.now();
319
+ if (!QUERY_OPS.has(operation)) {
320
+ return unsupportedOp("query", "focus", operation, startTime);
321
+ }
322
+ try {
323
+ const id = typeof params?.["id"] === "string" ? params["id"].trim() : "";
324
+ if (!id) {
325
+ return {
326
+ meta: dispatchMeta("query", "focus", operation, startTime),
327
+ success: false,
328
+ error: { code: "E_INVALID_INPUT", message: "id is required (e.g. cleo focus T9973)" }
329
+ };
330
+ }
331
+ const projectRoot = getProjectRoot();
332
+ const result = await buildFocusEnvelope(id, projectRoot);
333
+ if ("error" in result) {
334
+ return {
335
+ meta: dispatchMeta("query", "focus", operation, startTime),
336
+ success: false,
337
+ error: result.error
338
+ };
339
+ }
340
+ const wrapped = lafsSuccess(result, "focus.show");
341
+ return {
342
+ meta: dispatchMeta("query", "focus", operation, startTime),
343
+ success: true,
344
+ data: wrapped.data
345
+ };
346
+ } catch (error) {
347
+ return handleErrorResult("query", "focus", operation, error, startTime);
348
+ }
349
+ }
350
+ /**
351
+ * The focus domain has no mutate operations.
352
+ *
353
+ * @param operation - Always unsupported.
354
+ * @param _params - Unused.
355
+ */
356
+ async mutate(operation, _params) {
357
+ const startTime = Date.now();
358
+ return unsupportedOp("mutate", "focus", operation, startTime);
359
+ }
360
+ /** Declared operations for introspection. */
361
+ getSupportedOperations() {
362
+ return { query: ["show"], mutate: [] };
363
+ }
364
+ };
365
+ export {
366
+ FocusHandler
367
+ };
368
+ //# sourceMappingURL=focus-6AH4KLRO.js.map
@@ -13,18 +13,19 @@
13
13
  return _origEmitWarning.call(process, warning, type, code, ctor);
14
14
  };
15
15
  })();
16
+ import {
17
+ dispatchFromCli
18
+ } from "./chunk-L7ONYSV6.js";
19
+ import "./chunk-6N6WGLXE.js";
20
+ import "./chunk-4VASFLUW.js";
16
21
  import {
17
22
  defineCommand
18
23
  } from "./chunk-PKKZPOOP.js";
19
- import {
20
- dispatchFromCli
21
- } from "./chunk-3IOQVUO7.js";
22
- import "./chunk-AWCQH2W5.js";
23
- import "./chunk-OGV57L4J.js";
24
- import "./chunk-ZBISIPCK.js";
25
- import "./chunk-3ZO3M37V.js";
24
+ import "./chunk-QKMBWYAS.js";
25
+ import "./chunk-4RGSNUUP.js";
26
26
  import "./chunk-6JSJNYH2.js";
27
- import "./chunk-QFFQSKRC.js";
27
+ import "./chunk-D7BAQNV2.js";
28
+ import "./chunk-TYC7G5LF.js";
28
29
 
29
30
  // packages/cleo/src/cli/commands/focus.ts
30
31
  var focusCommand = defineCommand({
@@ -52,4 +53,4 @@ var focusCommand = defineCommand({
52
53
  export {
53
54
  focusCommand
54
55
  };
55
- //# sourceMappingURL=focus-TKCZPKOM.js.map
56
+ //# sourceMappingURL=focus-ANKAIRO5.js.map
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-PKKZPOOP.js";
20
20
  import {
21
21
  cliOutput
22
- } from "./chunk-3ZO3M37V.js";
22
+ } from "./chunk-4RGSNUUP.js";
23
23
  import "./chunk-6JSJNYH2.js";
24
24
 
25
25
  // packages/cleo/src/cli/commands/gateway.ts
@@ -74,4 +74,4 @@ export {
74
74
  gatewayCommand,
75
75
  gatewayOpenapiSubCommand
76
76
  };
77
- //# sourceMappingURL=gateway-H4HFDC3E.js.map
77
+ //# sourceMappingURL=gateway-2GW2KTK3.js.map
@@ -20,7 +20,7 @@ import {
20
20
  import {
21
21
  cliError,
22
22
  cliOutput
23
- } from "./chunk-3ZO3M37V.js";
23
+ } from "./chunk-4RGSNUUP.js";
24
24
  import "./chunk-6JSJNYH2.js";
25
25
 
26
26
  // packages/cleo/src/cli/commands/gc.ts
@@ -288,4 +288,4 @@ var gcCommand = defineCommand({
288
288
  export {
289
289
  gcCommand
290
290
  };
291
- //# sourceMappingURL=gc-5R2TUY5T.js.map
291
+ //# sourceMappingURL=gc-CTOQLUSA.js.map
@@ -14,17 +14,17 @@
14
14
  };
15
15
  })();
16
16
  import "./chunk-C3B7C43W.js";
17
+ import {
18
+ executePlaybook,
19
+ parsePlaybook
20
+ } from "./chunk-NU6CQQVB.js";
17
21
  import {
18
22
  defineCommand
19
23
  } from "./chunk-PKKZPOOP.js";
20
24
  import {
21
25
  cliOutput
22
- } from "./chunk-3ZO3M37V.js";
26
+ } from "./chunk-4RGSNUUP.js";
23
27
  import "./chunk-6JSJNYH2.js";
24
- import {
25
- executePlaybook,
26
- parsePlaybook
27
- } from "./chunk-QFFQSKRC.js";
28
28
 
29
29
  // packages/cleo/src/cli/commands/go.ts
30
30
  import { getProjectRoot, go } from "@cleocode/core";
@@ -203,4 +203,4 @@ var goCommand = defineCommand({
203
203
  export {
204
204
  goCommand
205
205
  };
206
- //# sourceMappingURL=go-PRQFK5YG.js.map
206
+ //# sourceMappingURL=go-YJPNHHYT.js.map
@@ -21,11 +21,12 @@ import {
21
21
  import {
22
22
  cliError,
23
23
  cliOutput
24
- } from "./chunk-3ZO3M37V.js";
24
+ } from "./chunk-4RGSNUUP.js";
25
25
  import "./chunk-6JSJNYH2.js";
26
26
 
27
27
  // packages/cleo/src/cli/commands/goal.ts
28
- import { ExitCode, isValidGoalTargetTaskId } from "@cleocode/contracts";
28
+ import { ExitCode } from "@cleocode/contracts/exit-codes.js";
29
+ import { isValidGoalTargetTaskId } from "@cleocode/contracts/goal.js";
29
30
  import { getProjectRoot, goal } from "@cleocode/core";
30
31
  var DEFAULT_TURN_BUDGET = 10;
31
32
  function resolveGoalKind(task) {
@@ -209,4 +210,4 @@ var goalCommand = defineCommand({
209
210
  export {
210
211
  goalCommand
211
212
  };
212
- //# sourceMappingURL=goal-7CZRMLHC.js.map
213
+ //# sourceMappingURL=goal-4GW4G77D.js.map
@@ -13,18 +13,19 @@
13
13
  return _origEmitWarning.call(process, warning, type, code, ctor);
14
14
  };
15
15
  })();
16
+ import {
17
+ dispatchFromCli
18
+ } from "./chunk-L7ONYSV6.js";
19
+ import "./chunk-6N6WGLXE.js";
20
+ import "./chunk-4VASFLUW.js";
16
21
  import {
17
22
  defineCommand
18
23
  } from "./chunk-PKKZPOOP.js";
19
- import {
20
- dispatchFromCli
21
- } from "./chunk-3IOQVUO7.js";
22
- import "./chunk-AWCQH2W5.js";
23
- import "./chunk-OGV57L4J.js";
24
- import "./chunk-ZBISIPCK.js";
25
- import "./chunk-3ZO3M37V.js";
24
+ import "./chunk-QKMBWYAS.js";
25
+ import "./chunk-4RGSNUUP.js";
26
26
  import "./chunk-6JSJNYH2.js";
27
- import "./chunk-QFFQSKRC.js";
27
+ import "./chunk-D7BAQNV2.js";
28
+ import "./chunk-TYC7G5LF.js";
28
29
 
29
30
  // packages/cleo/src/cli/commands/grade.ts
30
31
  var gradeCommand = defineCommand({
@@ -53,4 +54,4 @@ var gradeCommand = defineCommand({
53
54
  export {
54
55
  gradeCommand
55
56
  };
56
- //# sourceMappingURL=grade-PY2YRPUS.js.map
57
+ //# sourceMappingURL=grade-25WSZH4X.js.map
@@ -13,27 +13,28 @@
13
13
  return _origEmitWarning.call(process, warning, type, code, ctor);
14
14
  };
15
15
  })();
16
+ import {
17
+ dispatchFromCli,
18
+ dispatchRaw
19
+ } from "./chunk-L7ONYSV6.js";
20
+ import "./chunk-6N6WGLXE.js";
21
+ import "./chunk-4VASFLUW.js";
16
22
  import {
17
23
  defineCommand,
18
24
  showUsage
19
25
  } from "./chunk-PKKZPOOP.js";
20
- import {
21
- dispatchFromCli,
22
- dispatchRaw
23
- } from "./chunk-3IOQVUO7.js";
24
- import "./chunk-AWCQH2W5.js";
25
- import "./chunk-OGV57L4J.js";
26
- import "./chunk-ZBISIPCK.js";
26
+ import "./chunk-QKMBWYAS.js";
27
27
  import {
28
28
  cliError,
29
29
  cliOutput,
30
30
  humanWarn
31
- } from "./chunk-3ZO3M37V.js";
31
+ } from "./chunk-4RGSNUUP.js";
32
32
  import {
33
33
  getFormatContext,
34
34
  setFormatContext
35
35
  } from "./chunk-6JSJNYH2.js";
36
- import "./chunk-QFFQSKRC.js";
36
+ import "./chunk-D7BAQNV2.js";
37
+ import "./chunk-TYC7G5LF.js";
37
38
 
38
39
  // packages/cleo/src/cli/commands/graph.ts
39
40
  import path from "node:path";
@@ -875,4 +876,4 @@ var graphCommand = defineCommand({
875
876
  export {
876
877
  graphCommand
877
878
  };
878
- //# sourceMappingURL=graph-XIXMCFKG.js.map
879
+ //# sourceMappingURL=graph-JUO3TMF3.js.map
@@ -13,19 +13,20 @@
13
13
  return _origEmitWarning.call(process, warning, type, code, ctor);
14
14
  };
15
15
  })();
16
+ import {
17
+ dispatchFromCli
18
+ } from "./chunk-L7ONYSV6.js";
19
+ import "./chunk-6N6WGLXE.js";
20
+ import "./chunk-4VASFLUW.js";
16
21
  import {
17
22
  defineCommand,
18
23
  showUsage
19
24
  } from "./chunk-PKKZPOOP.js";
20
- import {
21
- dispatchFromCli
22
- } from "./chunk-3IOQVUO7.js";
23
- import "./chunk-AWCQH2W5.js";
24
- import "./chunk-OGV57L4J.js";
25
- import "./chunk-ZBISIPCK.js";
26
- import "./chunk-3ZO3M37V.js";
25
+ import "./chunk-QKMBWYAS.js";
26
+ import "./chunk-4RGSNUUP.js";
27
27
  import "./chunk-6JSJNYH2.js";
28
- import "./chunk-QFFQSKRC.js";
28
+ import "./chunk-D7BAQNV2.js";
29
+ import "./chunk-TYC7G5LF.js";
29
30
 
30
31
  // packages/cleo/src/cli/commands/history.ts
31
32
  var logCommand = defineCommand({
@@ -134,4 +135,4 @@ var historyCommand = defineCommand({
134
135
  export {
135
136
  historyCommand
136
137
  };
137
- //# sourceMappingURL=history-EIXADPAD.js.map
138
+ //# sourceMappingURL=history-NACNUQTC.js.map
@@ -13,19 +13,20 @@
13
13
  return _origEmitWarning.call(process, warning, type, code, ctor);
14
14
  };
15
15
  })();
16
+ import {
17
+ dispatchFromCli
18
+ } from "./chunk-L7ONYSV6.js";
19
+ import "./chunk-6N6WGLXE.js";
20
+ import "./chunk-4VASFLUW.js";
16
21
  import {
17
22
  defineCommand,
18
23
  showUsage
19
24
  } from "./chunk-PKKZPOOP.js";
20
- import {
21
- dispatchFromCli
22
- } from "./chunk-3IOQVUO7.js";
23
- import "./chunk-AWCQH2W5.js";
24
- import "./chunk-OGV57L4J.js";
25
- import "./chunk-ZBISIPCK.js";
26
- import "./chunk-3ZO3M37V.js";
25
+ import "./chunk-QKMBWYAS.js";
26
+ import "./chunk-4RGSNUUP.js";
27
27
  import "./chunk-6JSJNYH2.js";
28
- import "./chunk-QFFQSKRC.js";
28
+ import "./chunk-D7BAQNV2.js";
29
+ import "./chunk-TYC7G5LF.js";
29
30
 
30
31
  // packages/cleo/src/cli/commands/import.ts
31
32
  var importCommand = defineCommand({
@@ -85,4 +86,4 @@ var importCommand = defineCommand({
85
86
  export {
86
87
  importCommand
87
88
  };
88
- //# sourceMappingURL=import-R73SO444.js.map
89
+ //# sourceMappingURL=import-7ESGL5SS.js.map
@@ -16,18 +16,19 @@
16
16
  import {
17
17
  negatedFlag
18
18
  } from "./chunk-47JYZAMS.js";
19
+ import {
20
+ dispatchFromCli
21
+ } from "./chunk-L7ONYSV6.js";
22
+ import "./chunk-6N6WGLXE.js";
23
+ import "./chunk-4VASFLUW.js";
19
24
  import {
20
25
  defineCommand
21
26
  } from "./chunk-PKKZPOOP.js";
22
- import {
23
- dispatchFromCli
24
- } from "./chunk-3IOQVUO7.js";
25
- import "./chunk-AWCQH2W5.js";
26
- import "./chunk-OGV57L4J.js";
27
- import "./chunk-ZBISIPCK.js";
28
- import "./chunk-3ZO3M37V.js";
27
+ import "./chunk-QKMBWYAS.js";
28
+ import "./chunk-4RGSNUUP.js";
29
29
  import "./chunk-6JSJNYH2.js";
30
- import "./chunk-QFFQSKRC.js";
30
+ import "./chunk-D7BAQNV2.js";
31
+ import "./chunk-TYC7G5LF.js";
31
32
 
32
33
  // packages/cleo/src/cli/commands/import-tasks.ts
33
34
  var importTasksCommand = defineCommand({
@@ -105,4 +106,4 @@ var importTasksCommand = defineCommand({
105
106
  export {
106
107
  importTasksCommand
107
108
  };
108
- //# sourceMappingURL=import-tasks-O22FZJ4U.js.map
109
+ //# sourceMappingURL=import-tasks-FLE2RPBR.js.map