@iowarp/clio-coder 0.3.9 → 0.4.0

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 (416) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/NOTICE +33 -0
  3. package/README.md +7 -2
  4. package/dist/{acp-7LOELQFP.js → acp-G5WJBNCT.js} +13 -12
  5. package/dist/{agents-FIBG2SHA.js → agents-FMV2Q5G4.js} +39 -36
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-OI4LIH2I.js → auth-3IDSJEIK.js} +16 -15
  8. package/dist/{builtins-AD25UL3C.js → builtins-XCZWXSC7.js} +3 -3
  9. package/dist/{chunk-IFBNV6H6.js → chunk-2ANTL7MR.js} +3 -3
  10. package/dist/{chunk-56KB5IJP.js → chunk-2OQE55CK.js} +3 -3
  11. package/dist/{chunk-N3PBVRTZ.js → chunk-32KWKNSF.js} +9 -7
  12. package/dist/{chunk-VKBMFOYV.js → chunk-36EJLSQQ.js} +23 -27
  13. package/dist/{chunk-465CC7FK.js → chunk-3BT2XMV4.js} +16 -13
  14. package/dist/{chunk-NQ6UCCOD.js → chunk-3URVFKWK.js} +7 -7
  15. package/dist/{chunk-WIE7ZOSW.js → chunk-3XML7CDN.js} +2 -2
  16. package/dist/chunk-42FMPA75.js +101 -0
  17. package/dist/{chunk-A2NJGIB3.js → chunk-5LXZXPKX.js} +2 -2
  18. package/dist/{chunk-HAY4ZE2P.js → chunk-5PSMVOLM.js} +2 -2
  19. package/dist/{chunk-JEQQR47K.js → chunk-6DB53AJS.js} +168 -9
  20. package/dist/{chunk-KV2AOLDF.js → chunk-76ONBSIA.js} +5 -25
  21. package/dist/{chunk-FALJGAWU.js → chunk-7MCTRUCE.js} +2 -2
  22. package/dist/{chunk-5T7RBWN2.js → chunk-AB44T6BB.js} +5 -5
  23. package/dist/chunk-B7OBL7PK.js +1405 -0
  24. package/dist/{chunk-B5CSFE7B.js → chunk-BBVJUZHB.js} +2 -2
  25. package/dist/{chunk-EQ63NRB7.js → chunk-BBVYXMFO.js} +2 -2
  26. package/dist/{chunk-O6I4CIEU.js → chunk-BKFJHQCA.js} +6 -6
  27. package/dist/chunk-BKFM6EJV.js +462 -0
  28. package/dist/chunk-BMS5RKQY.js +27 -0
  29. package/dist/{chunk-MV2VUEJC.js → chunk-BPKCPIL7.js} +2 -2
  30. package/dist/{chunk-TEO2TLVN.js → chunk-BUMFYQFY.js} +964 -1120
  31. package/dist/{chunk-BNAZZHFG.js → chunk-BYP5D4HI.js} +1 -1
  32. package/dist/chunk-C2LTL2W6.js +2447 -0
  33. package/dist/{chunk-EBOC7MT3.js → chunk-CODPRO7Q.js} +8 -8
  34. package/dist/{chunk-HPCTNZM2.js → chunk-CTJ4RNAA.js} +4 -4
  35. package/dist/{chunk-ODFEOB4F.js → chunk-CY6FY24N.js} +26 -8
  36. package/dist/{chunk-MIX5N5AC.js → chunk-DQITNCXG.js} +394 -154
  37. package/dist/{chunk-S4COXYBG.js → chunk-DYJP44XW.js} +129 -106
  38. package/dist/{chunk-N5XKWMDW.js → chunk-F4CKPOEQ.js} +6 -6
  39. package/dist/{chunk-AMKHQW3C.js → chunk-FEFIFZTL.js} +3 -3
  40. package/dist/{chunk-MV3K5QF2.js → chunk-GCSMB2KY.js} +2 -2
  41. package/dist/{chunk-7C6RYZGQ.js → chunk-GKF55TAZ.js} +3 -3
  42. package/dist/{chunk-B5XRQOLB.js → chunk-GR5G2PVF.js} +9 -8
  43. package/dist/{chunk-XDOQXGFO.js → chunk-GXNLGKAB.js} +64 -8
  44. package/dist/chunk-HHV2GANA.js +88 -0
  45. package/dist/{chunk-774ILSRL.js → chunk-HI63TFOG.js} +4 -3
  46. package/dist/{chunk-R7LNVMCS.js → chunk-HJJTYUHX.js} +64 -72
  47. package/dist/{chunk-RKRLDWD3.js → chunk-HLW2MRKE.js} +1 -1
  48. package/dist/{chunk-CA42X6KT.js → chunk-HWHKMHUA.js} +6 -6
  49. package/dist/chunk-HZHHCK24.js +1631 -0
  50. package/dist/{chunk-HJB5IUKP.js → chunk-I5VEOC6I.js} +12 -12
  51. package/dist/chunk-IBEBSCYA.js +564 -0
  52. package/dist/chunk-IQ7KR472.js +362 -0
  53. package/dist/{chunk-4H6ULJ3H.js → chunk-J4W7KFM7.js} +921 -990
  54. package/dist/{chunk-4LJX2PUC.js → chunk-JDG2WCRO.js} +5 -5
  55. package/dist/{chunk-NZU6YDNV.js → chunk-K5C3NCBD.js} +4 -4
  56. package/dist/{chunk-CGKSTWHD.js → chunk-K6BSR66V.js} +2 -1
  57. package/dist/{chunk-NNNWO6F2.js → chunk-KFZI4NIL.js} +93 -3
  58. package/dist/chunk-KMVISBZR.js +132 -0
  59. package/dist/{chunk-BVDVID7E.js → chunk-LDQ2ZF2M.js} +2 -2
  60. package/dist/{chunk-OEDBCISO.js → chunk-LQ3DZAMX.js} +2 -2
  61. package/dist/{chunk-PZ4I4JE2.js → chunk-LY4S7GJC.js} +124 -116
  62. package/dist/{chunk-3DUR4WUA.js → chunk-MLKNTWH2.js} +19 -19
  63. package/dist/chunk-NEKRRTYW.js +56 -0
  64. package/dist/{chunk-5DQRIYDZ.js → chunk-NHCZP4K7.js} +2 -2
  65. package/dist/chunk-NHLBIGRH.js +1506 -0
  66. package/dist/chunk-NQQH3YT7.js +302 -0
  67. package/dist/chunk-NYS75XW5.js +15 -0
  68. package/dist/{chunk-TD7UE2L5.js → chunk-O4XIVISU.js} +7 -7
  69. package/dist/{chunk-WXCJ7VME.js → chunk-O6TL7WWY.js} +6 -6
  70. package/dist/chunk-OQBA45DZ.js +97 -0
  71. package/dist/{chunk-LU7P4LHA.js → chunk-P3FOHJT4.js} +2 -2
  72. package/dist/chunk-PMZCIOCJ.js +25 -0
  73. package/dist/{chunk-I4HZDVNP.js → chunk-PQEFIJ36.js} +2 -2
  74. package/dist/{chunk-HKO36JWF.js → chunk-QBJA7R7N.js} +31 -3
  75. package/dist/chunk-QDC3K2U3.js +262 -0
  76. package/dist/{chunk-5HFBWUMU.js → chunk-QLFS5GO2.js} +4 -4
  77. package/dist/{chunk-GAYUJ7LE.js → chunk-QLL7ILRG.js} +41 -32
  78. package/dist/{chunk-LXPJXFM5.js → chunk-QREDIESB.js} +7 -7
  79. package/dist/chunk-QSNYB6ZV.js +195 -0
  80. package/dist/chunk-R346GLFC.js +31 -0
  81. package/dist/{chunk-VPTUJU4P.js → chunk-SJ5ZKQ4S.js} +2 -2
  82. package/dist/{chunk-QQ7EKM72.js → chunk-SP2RXXYO.js} +6 -54
  83. package/dist/chunk-SUCTJL45.js +45 -0
  84. package/dist/{chunk-5QKCQQ3E.js → chunk-SUW5DORT.js} +2 -2
  85. package/dist/chunk-T56WDKA5.js +183 -0
  86. package/dist/chunk-TVHHYFHE.js +255 -0
  87. package/dist/{chunk-IHKBWSXF.js → chunk-TZ3SGWZZ.js} +2 -2
  88. package/dist/{chunk-ECUO3KDP.js → chunk-U77AMWDL.js} +47 -7
  89. package/dist/{chunk-3UUY7R3Z.js → chunk-ULC6OTWO.js} +7 -7
  90. package/dist/{chunk-AEYBF3TB.js → chunk-UM7N4G5A.js} +2 -2
  91. package/dist/{chunk-3V5AYSEQ.js → chunk-UXMFQ54G.js} +43 -36
  92. package/dist/{chunk-YW7UVM5V.js → chunk-V5DHCITQ.js} +34 -1
  93. package/dist/{chunk-47CMYGET.js → chunk-VAZSBTKF.js} +2 -2
  94. package/dist/{chunk-3MRC2YSQ.js → chunk-VEO4AP2K.js} +2 -2
  95. package/dist/{chunk-PNY46YEY.js → chunk-VFA6GDY5.js} +47 -3
  96. package/dist/chunk-VO67MWHC.js +75 -0
  97. package/dist/{chunk-XK56QHLX.js → chunk-VPKWYKEY.js} +19 -5
  98. package/dist/{chunk-AD7Y7STJ.js → chunk-VYMXRQI6.js} +36 -22
  99. package/dist/{chunk-T3Z6VAAF.js → chunk-W5VSYASO.js} +19 -17
  100. package/dist/{chunk-5PVQ4SRS.js → chunk-WZR7K7ZX.js} +7 -123
  101. package/dist/{chunk-DG4M6ZUE.js → chunk-X3YGUTOB.js} +4 -4
  102. package/dist/chunk-X75E3D2N.js +686 -0
  103. package/dist/{chunk-P3JGPQFL.js → chunk-YDFRH54B.js} +4 -4
  104. package/dist/chunk-YJX4SHTD.js +40 -0
  105. package/dist/{chunk-ZI647VB5.js → chunk-YPI3QQCF.js} +2 -2
  106. package/dist/{chunk-YSEHGPCT.js → chunk-Z2RR6MAK.js} +3 -3
  107. package/dist/{chunk-HCBCAYZU.js → chunk-Z4TXYIEG.js} +5 -5
  108. package/dist/cli/index.js +47 -36
  109. package/dist/{clio-LT5V7SSZ.js → clio-2JXHBBY5.js} +7 -7
  110. package/dist/{code-nav-LMW275PA.js → code-nav-3YYRMYNF.js} +6 -6
  111. package/dist/{compile-cache-CVJMMODC.js → compile-cache-7FPE6PS3.js} +3 -3
  112. package/dist/{components-ZFA3SAER.js → components-RYZV4JGP.js} +5 -5
  113. package/dist/{config-RXS5T3JT.js → config-QZPCMYSO.js} +58 -50
  114. package/dist/{configure-2WYWSCSD.js → configure-TEGEBYCA.js} +21 -19
  115. package/dist/{context-I3BTOTCS.js → context-AV7OEZ4D.js} +11 -11
  116. package/dist/{context-MVOORGMF.js → context-E6H5RNMC.js} +49 -41
  117. package/dist/{context-PALKKQYL.js → context-GSXUE4CT.js} +25 -23
  118. package/dist/{context-clear-N2WOYZ2K.js → context-clear-SHIBYK6T.js} +48 -40
  119. package/dist/{context-working-set-MIEVECVZ.js → context-working-set-5ZGKPGZQ.js} +11 -10
  120. package/dist/{dispatch-runner-VVA4SRRH.js → dispatch-runner-EFMJT4LD.js} +88 -60
  121. package/dist/{docs-7LQ23DLM.js → docs-23KQS3XK.js} +5 -5
  122. package/dist/doctor-QOA5FNY5.js +313 -0
  123. package/dist/{eval-IJ5VEZDJ.js → eval-TFBYQH4H.js} +66 -64
  124. package/dist/eval-inventory-SXH7PDKX.js +316 -0
  125. package/dist/{evidence-L5APPXNV.js → evidence-ERGESKGN.js} +198 -44
  126. package/dist/{evolve-RGNKFJ52.js → evolve-VDXTSYCJ.js} +46 -38
  127. package/dist/{extensions-7WYWUX5A.js → extensions-7BGBHN57.js} +6 -6
  128. package/dist/{fleet-6CNVBZZP.js → fleet-2RRVDF2V.js} +189 -101
  129. package/dist/{fleet-commands-L2SXSYEI.js → fleet-commands-VJ726XIA.js} +10 -10
  130. package/dist/fleet-decisions-EPAPM3XJ.js +157 -0
  131. package/dist/{fleet-graph-2J3OOIPO.js → fleet-graph-JF5QOATM.js} +16 -15
  132. package/dist/fleet-inspect-VLY4S7QM.js +442 -0
  133. package/dist/{fleet-preflight-CZRJ4JP5.js → fleet-preflight-AIZUEJOY.js} +6 -5
  134. package/dist/{fleet-validate-C5RI6DP7.js → fleet-validate-AJRPDMDV.js} +20 -18
  135. package/dist/fleet-verify-JFEL2L3H.js +175 -0
  136. package/dist/fleet-view-ZCON35AG.js +102 -0
  137. package/dist/{init-VBN2ACVA.js → init-DN2WWLFE.js} +64 -56
  138. package/dist/install-XGLBQY5E.js +13 -0
  139. package/dist/interop-OZBKXAYL.js +114 -0
  140. package/dist/{library-JHGUMLY2.js → library-YWZG7IMW.js} +19 -18
  141. package/dist/{memory-K4OQIYWG.js → memory-I4C4HMLW.js} +48 -40
  142. package/dist/{models-2NCZUWDD.js → models-CEYXJBO6.js} +30 -28
  143. package/dist/{monitor-MMVTJABD.js → monitor-NZ6GCI3P.js} +53 -47
  144. package/dist/{orchestrator-ZKBPCHW6.js → orchestrator-GCGQ4N5I.js} +6311 -7145
  145. package/dist/panes-HMABYVO4.js +58 -0
  146. package/dist/panes-KY6W3V2E.js +103 -0
  147. package/dist/{paths-DBXMZMDU.js → paths-II4K7DNR.js} +5 -5
  148. package/dist/{reset-DD5JGOY3.js → reset-DQ6FGCSH.js} +13 -11
  149. package/dist/resources-BB3MVJMD.js +111 -0
  150. package/dist/{run-QEGNX7FL.js → run-H2GQDUER.js} +113 -82
  151. package/dist/{share-JKD3BQMW.js → share-GTJN6A5O.js} +18 -17
  152. package/dist/{skills-LMQIKDOZ.js → skills-L55TEW6R.js} +31 -24
  153. package/dist/{skills-eval-I7X2774U.js → skills-eval-XVXPH2JI.js} +61 -52
  154. package/dist/skills-inventory-S4MXPJFV.js +126 -0
  155. package/dist/slash-commands-ZSGASKJC.js +77 -0
  156. package/dist/{steer-CF5TDANS.js → steer-RZGSCY4R.js} +3 -3
  157. package/dist/{support-I7LOJLIF.js → support-PKEUNNQL.js} +4 -4
  158. package/dist/{targets-RUSR6B5Z.js → targets-NCPZ644J.js} +31 -29
  159. package/dist/{terminal-lease-QYVORFR4.js → terminal-lease-44SV3YCN.js} +4 -4
  160. package/dist/tools-DAF3DI3C.js +27 -0
  161. package/dist/{trace-ODOQIVIW.js → trace-FYVW2MQA.js} +149 -7
  162. package/dist/tui-primitives-2AKXQNZK.js +13 -0
  163. package/dist/{uninstall-ZJF5H5ZN.js → uninstall-DW2PNOIC.js} +5 -5
  164. package/dist/{upgrade-XANW3FXB.js → upgrade-3XPP6OQL.js} +26 -24
  165. package/dist/{usage-4H7ZRXQT.js → usage-3NLHGTU2.js} +57 -49
  166. package/dist/{verifiers-UZXNBZEB.js → verifiers-SSQONKRT.js} +171 -12
  167. package/dist/{verify-BVKWTNDL.js → verify-3U6J7FZI.js} +9 -9
  168. package/dist/{web-fetch-2YHJ3KTG.js → web-fetch-S7RR6GZ7.js} +3 -3
  169. package/dist/{wiki-generate-MY7WV2QI.js → wiki-generate-CEHYGPGQ.js} +67 -59
  170. package/dist/with-panes-MKB46MPQ.js +782 -0
  171. package/dist/worker/entry.js +101 -66
  172. package/docs/README.md +3 -2
  173. package/docs/acp.md +24 -3
  174. package/docs/alcf-provider.md +1 -1
  175. package/docs/architecture.md +2 -2
  176. package/docs/artifact-versions.md +4 -1
  177. package/docs/built-in-agents.md +1 -1
  178. package/docs/capacity-and-scheduling.md +43 -5
  179. package/docs/commands-and-modes.md +31 -2
  180. package/docs/configuration-and-targets.md +40 -10
  181. package/docs/context-engine.md +1 -1
  182. package/docs/development-pipeline.md +19 -0
  183. package/docs/dispatch-typed-intent.md +385 -0
  184. package/docs/documentation-coverage.md +2 -2
  185. package/docs/documentation-guide.md +1 -1
  186. package/docs/environment-variables.md +1 -0
  187. package/docs/eval-runner.md +1 -1
  188. package/docs/evals-internal.md +1 -1
  189. package/docs/evidence-and-memory.md +2 -2
  190. package/docs/evolution.md +1 -1
  191. package/docs/exit-codes-and-output.md +1 -1
  192. package/docs/extensions-and-sharing.md +25 -1
  193. package/docs/fleet-dispatch.md +22 -1
  194. package/docs/installation-and-lifecycle.md +15 -2
  195. package/docs/middleware-and-components.md +1 -1
  196. package/docs/model-catalog.md +10 -1
  197. package/docs/observability.md +3 -3
  198. package/docs/proactive-memory.md +1 -1
  199. package/docs/prompt-envelope-and-tools.md +1 -1
  200. package/docs/provider-adapter-cookbook.md +1 -1
  201. package/docs/safety-model.md +2 -2
  202. package/docs/scientific-validation.md +3 -3
  203. package/docs/session-lifecycle.md +1 -1
  204. package/docs/skills-marketplace.md +1 -1
  205. package/docs/tool-usage.md +18 -8
  206. package/docs/trace-store.md +1 -1
  207. package/docs/troubleshooting.md +1 -1
  208. package/docs/tui-design.md +1 -1
  209. package/docs/worker-dispatch-mechanics.md +1 -1
  210. package/package.json +4 -2
  211. package/src/cli/acp.ts +6 -2
  212. package/src/cli/argv.ts +25 -0
  213. package/src/cli/configure.ts +23 -21
  214. package/src/cli/doctor-panes.ts +124 -0
  215. package/src/cli/doctor-toolchain.ts +57 -0
  216. package/src/cli/doctor.ts +20 -1
  217. package/src/cli/eval-inventory.ts +436 -0
  218. package/src/cli/eval.ts +13 -0
  219. package/src/cli/evidence-detail.ts +88 -0
  220. package/src/cli/evidence-inventory.ts +183 -0
  221. package/src/cli/evidence.ts +30 -5
  222. package/src/cli/fleet-decisions.ts +69 -0
  223. package/src/cli/fleet-inspect.ts +334 -0
  224. package/src/cli/fleet-verify.ts +133 -0
  225. package/src/cli/fleet-view.ts +810 -0
  226. package/src/cli/fleet.ts +148 -37
  227. package/src/cli/index.ts +14 -2
  228. package/src/cli/interop-inspect.ts +128 -0
  229. package/src/cli/interop.ts +34 -0
  230. package/src/cli/panes.ts +35 -0
  231. package/src/cli/reset.ts +5 -2
  232. package/src/cli/run.ts +58 -0
  233. package/src/cli/skills-inventory.ts +185 -0
  234. package/src/cli/skills.ts +16 -13
  235. package/src/cli/tools.ts +321 -0
  236. package/src/cli/trace-inspect.ts +252 -0
  237. package/src/cli/trace.ts +23 -2
  238. package/src/cli/verifiers-inspect.ts +347 -0
  239. package/src/cli/verifiers.ts +9 -0
  240. package/src/core/bus-events.ts +4 -0
  241. package/src/core/config.ts +49 -0
  242. package/src/core/defaults.ts +93 -7
  243. package/src/core/response-schema.ts +44 -4
  244. package/src/core/theme-token-hex.ts +43 -0
  245. package/src/core/tool-names.ts +2 -1
  246. package/src/core/xdg.ts +1 -1
  247. package/src/domains/agents/fleets/build-review.md +0 -3
  248. package/src/domains/agents/fleets/build-test.md +0 -3
  249. package/src/domains/agents/result-contract-filesystem.ts +32 -0
  250. package/src/domains/agents/result-contract.ts +164 -35
  251. package/src/domains/config/classify.ts +3 -0
  252. package/src/domains/dispatch/admission-error.ts +9 -0
  253. package/src/domains/dispatch/admission.ts +22 -21
  254. package/src/domains/dispatch/capacity-lease.ts +21 -1
  255. package/src/domains/dispatch/council-topology.ts +398 -0
  256. package/src/domains/dispatch/extension.ts +222 -50
  257. package/src/domains/dispatch/fleet-node-prompt.ts +62 -0
  258. package/src/domains/dispatch/fleet-plan.ts +7 -2
  259. package/src/domains/dispatch/fleet-run.ts +64 -1
  260. package/src/domains/dispatch/gate-decisions.ts +11 -1
  261. package/src/domains/dispatch/gate-role-prompts.ts +9 -0
  262. package/src/domains/dispatch/gate-topology.ts +289 -0
  263. package/src/domains/dispatch/index.ts +19 -0
  264. package/src/domains/dispatch/intent-compatibility.ts +330 -0
  265. package/src/domains/dispatch/intent.ts +85 -1
  266. package/src/domains/dispatch/reservation-store.ts +24 -4
  267. package/src/domains/dispatch/run-event-journal-bridge.ts +149 -0
  268. package/src/domains/dispatch/run-event-journal.ts +598 -0
  269. package/src/domains/dispatch/state.ts +45 -1
  270. package/src/domains/dispatch/types.ts +13 -0
  271. package/src/domains/dispatch/validation.ts +33 -8
  272. package/src/domains/eval/compare/compare.ts +3 -16
  273. package/src/domains/eval/inventory.ts +113 -0
  274. package/src/domains/eval/schema/serving.ts +31 -0
  275. package/src/domains/evidence/store.ts +6 -0
  276. package/src/domains/memory/index.ts +0 -1
  277. package/src/domains/memory/task-memory-policy.ts +6 -10
  278. package/src/domains/memory/task-memory-telemetry.ts +1 -0
  279. package/src/domains/middleware/memory-intervention.ts +33 -21
  280. package/src/domains/mux/contract.ts +434 -0
  281. package/src/domains/mux/detect.ts +158 -0
  282. package/src/domains/mux/extension.ts +47 -0
  283. package/src/domains/mux/index.ts +96 -0
  284. package/src/domains/mux/manifest.ts +6 -0
  285. package/src/domains/mux/operations.ts +164 -0
  286. package/src/domains/mux/pane-registry.ts +90 -0
  287. package/src/domains/mux/protocol.ts +49 -0
  288. package/src/domains/mux/socket-client.ts +816 -0
  289. package/src/domains/mux/types.ts +222 -0
  290. package/src/domains/mux/viewer-command.ts +59 -0
  291. package/src/domains/mux/yazi/assets/init.lua +2 -0
  292. package/src/domains/mux/yazi/assets/plugins/git.yazi/LICENSE +21 -0
  293. package/src/domains/mux/yazi/assets/plugins/git.yazi/README.md +78 -0
  294. package/src/domains/mux/yazi/assets/plugins/git.yazi/main.lua +255 -0
  295. package/src/domains/mux/yazi/assets/plugins/git.yazi/types.lua +12 -0
  296. package/src/domains/mux/yazi/assets/yazi.toml +17 -0
  297. package/src/domains/mux/yazi/event-stream.ts +180 -0
  298. package/src/domains/mux/yazi/profile.ts +299 -0
  299. package/src/domains/mux/yazi/session.ts +228 -0
  300. package/src/domains/mux/yazi/theme.ts +30 -0
  301. package/src/domains/observability/cost.ts +21 -0
  302. package/src/domains/observability/index.ts +2 -0
  303. package/src/domains/observability/trace-store.ts +42 -0
  304. package/src/domains/providers/endpoint-capacity.ts +154 -22
  305. package/src/domains/providers/endpoint-slots-store.ts +189 -0
  306. package/src/domains/providers/extension.ts +20 -3
  307. package/src/domains/providers/index.ts +22 -0
  308. package/src/domains/providers/model-runtime-capabilities.ts +32 -0
  309. package/src/domains/providers/runtimes/boot-manifest.ts +1 -0
  310. package/src/domains/providers/runtimes/builtins.ts +2 -0
  311. package/src/domains/providers/runtimes/protocol/litellm.ts +375 -0
  312. package/src/domains/providers/support.ts +1 -0
  313. package/src/domains/providers/target-model-cache.ts +124 -0
  314. package/src/domains/resources/index.ts +3 -0
  315. package/src/domains/resources/skills/loader.ts +33 -0
  316. package/src/domains/safety/action-classifier.ts +6 -0
  317. package/src/domains/toolchain/archive.ts +175 -0
  318. package/src/domains/toolchain/contract.ts +28 -0
  319. package/src/domains/toolchain/extension.ts +47 -0
  320. package/src/domains/toolchain/index.ts +39 -0
  321. package/src/domains/toolchain/install.ts +327 -0
  322. package/src/domains/toolchain/manifest.ts +8 -0
  323. package/src/domains/toolchain/paths.ts +34 -0
  324. package/src/domains/toolchain/registry.ts +265 -0
  325. package/src/domains/toolchain/remove.ts +218 -0
  326. package/src/domains/toolchain/resolve.ts +182 -0
  327. package/src/domains/toolchain/types.ts +113 -0
  328. package/src/domains/toolchain/version.ts +88 -0
  329. package/src/engine/acp/server.ts +413 -70
  330. package/src/engine/acp/types.ts +19 -1
  331. package/src/engine/claude/sdk-module.ts +98 -0
  332. package/src/engine/claude/sdk-runtime.ts +19 -11
  333. package/src/engine/tui-primitives.ts +21 -0
  334. package/src/engine/tui.ts +1 -0
  335. package/src/engine/worker-runtime.ts +2 -13
  336. package/src/entry/boot-options.ts +2 -0
  337. package/src/entry/orchestrator.ts +103 -5
  338. package/src/entry/panes-activation.ts +31 -0
  339. package/src/entry/with-panes.ts +20 -0
  340. package/src/interactive/context-overlay.ts +1 -0
  341. package/src/interactive/cost-overlay.ts +2 -0
  342. package/src/interactive/council-grid.ts +1 -3
  343. package/src/interactive/council.ts +11 -0
  344. package/src/interactive/dispatch-board.ts +26 -16
  345. package/src/interactive/interactive-application.ts +153 -6
  346. package/src/interactive/interactive-input-runtime.ts +7 -0
  347. package/src/interactive/interactive-slash-runtime.ts +36 -6
  348. package/src/interactive/memory-overlay.ts +1 -0
  349. package/src/interactive/modal-marker.ts +170 -0
  350. package/src/interactive/mux-bridge.ts +214 -0
  351. package/src/interactive/overlay-frame.ts +58 -2
  352. package/src/interactive/overlay-general-openers.ts +1 -0
  353. package/src/interactive/overlay-key-routing.ts +14 -3
  354. package/src/interactive/overlay-lifecycle.ts +19 -3
  355. package/src/interactive/overlay-model-selectors.ts +40 -3
  356. package/src/interactive/overlay-permission-lifecycle.ts +90 -22
  357. package/src/interactive/overlay-transitions.ts +18 -4
  358. package/src/interactive/overlays/agents.ts +1 -0
  359. package/src/interactive/overlays/ask-user.ts +136 -30
  360. package/src/interactive/overlays/auth-dialog.ts +1 -0
  361. package/src/interactive/overlays/context-reset.ts +1 -0
  362. package/src/interactive/overlays/cwd-fallback.ts +1 -0
  363. package/src/interactive/overlays/decisions.ts +11 -11
  364. package/src/interactive/overlays/extensions.ts +1 -0
  365. package/src/interactive/overlays/fleet-run-approval.ts +1 -0
  366. package/src/interactive/overlays/handoff-review.ts +1 -0
  367. package/src/interactive/overlays/help-reference.ts +2 -0
  368. package/src/interactive/overlays/interop.ts +1 -0
  369. package/src/interactive/overlays/library-install-confirm.ts +1 -0
  370. package/src/interactive/overlays/library-tabs.ts +28 -0
  371. package/src/interactive/overlays/list-overlay.ts +10 -1
  372. package/src/interactive/overlays/message-picker.ts +1 -0
  373. package/src/interactive/overlays/model-scope.ts +86 -0
  374. package/src/interactive/overlays/model-selector.ts +1 -0
  375. package/src/interactive/overlays/prompts.ts +1 -0
  376. package/src/interactive/overlays/session-selector.ts +1 -0
  377. package/src/interactive/overlays/settings-sections.ts +30 -0
  378. package/src/interactive/overlays/settings.ts +579 -44
  379. package/src/interactive/overlays/side-question.ts +1 -0
  380. package/src/interactive/overlays/skills-hub.ts +3 -11
  381. package/src/interactive/overlays/tree-selector.ts +1 -0
  382. package/src/interactive/pane-policy.ts +46 -0
  383. package/src/interactive/panes-runtime.ts +292 -0
  384. package/src/interactive/renderers/compaction-summary.ts +29 -0
  385. package/src/interactive/renderers/worker-entry.ts +122 -14
  386. package/src/interactive/slash-commands.ts +251 -15
  387. package/src/interactive/tasks-overlay.ts +1 -0
  388. package/src/interactive/theme/tokens.ts +3 -14
  389. package/src/interactive/turn-context.ts +47 -2
  390. package/src/interactive/view/artifacts.ts +109 -1
  391. package/src/interactive/view/view-overlay.ts +1 -0
  392. package/src/interactive/watch-pane.ts +152 -0
  393. package/src/interactive/worker-progress.ts +7 -1
  394. package/src/interactive/worker-receipts.ts +19 -1
  395. package/src/interactive/worker-stream.ts +5 -0
  396. package/src/interactive/yazi-bridge.ts +444 -0
  397. package/src/tools/bootstrap.ts +26 -2
  398. package/src/tools/builtin-tool-catalog.ts +15 -0
  399. package/src/tools/compete-worktrees.ts +83 -2
  400. package/src/tools/core-bootstrap.ts +2 -1
  401. package/src/tools/dispatch-admission.ts +14 -3
  402. package/src/tools/dispatch-arguments.ts +20 -20
  403. package/src/tools/dispatch-run-events.ts +134 -19
  404. package/src/tools/dispatch-runner.ts +29 -7
  405. package/src/tools/dispatch-types.ts +15 -3
  406. package/src/tools/dispatch.ts +1 -1
  407. package/src/tools/executables.ts +17 -14
  408. package/src/tools/observation.ts +54 -4
  409. package/src/tools/panes-surface.ts +38 -0
  410. package/src/tools/panes.ts +112 -0
  411. package/src/tools/policy.ts +10 -1
  412. package/src/tools/presentation.ts +1 -0
  413. package/dist/chunk-D73KXYPF.js +0 -37
  414. package/dist/chunk-MLOK6ZOS.js +0 -2888
  415. package/dist/chunk-YKOFT37S.js +0 -279
  416. package/dist/doctor-TWBWFK5V.js +0 -165
@@ -1,47 +1,46 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import "./chunk-OQBA45DZ.js";
2
3
  import {
3
4
  SPOT_CHECK_GUIDANCE,
4
5
  receiptEvidenceLabels,
5
6
  workerTextLabel,
6
7
  workerTextNonEvidenceNotices
7
- } from "./chunk-NZU6YDNV.js";
8
- import {
9
- createDispatchRunEventRegistry
10
- } from "./chunk-YKOFT37S.js";
11
- import "./chunk-D73KXYPF.js";
8
+ } from "./chunk-K5C3NCBD.js";
12
9
  import {
13
10
  UNVERIFIABLE_RECEIPT_VERIFICATION,
14
11
  closeAgentLedger,
15
- decideReviewGate,
16
- durableAssistantTextFromEvent,
12
+ createDispatchRunEventRegistry,
17
13
  executePlan,
18
14
  extractRunProvenance,
15
+ openAgentLedger,
16
+ provenanceCompactSuffix,
17
+ renderAgentLedgerBoard,
18
+ renderDispatchReviewerTask
19
+ } from "./chunk-BUMFYQFY.js";
20
+ import {
21
+ decideReviewGate,
19
22
  finalizePendingGateDecision,
20
23
  materializePendingGateDecision,
21
- openAgentLedger,
22
24
  parseCompeteGateResult,
23
25
  preflightPendingGateDecisionMaterialization,
24
26
  preparePendingGateDecisionRecovery,
25
- provenanceCompactSuffix,
26
27
  readGateDecisionArtifacts,
27
- renderAgentLedgerBoard,
28
- renderDispatchReviewerTask,
29
28
  resolvePendingGateDecision,
30
29
  stagePendingGateDecision,
31
30
  stagePendingGateOutput
32
- } from "./chunk-TEO2TLVN.js";
31
+ } from "./chunk-X75E3D2N.js";
33
32
  import {
34
33
  adaptRunReceiptTrustStatus,
35
34
  summarizeTrustStatus,
36
35
  verifyReceiptIntegrity
37
- } from "./chunk-MLOK6ZOS.js";
38
- import "./chunk-LXPJXFM5.js";
36
+ } from "./chunk-B7OBL7PK.js";
37
+ import "./chunk-QREDIESB.js";
39
38
  import {
40
39
  candidateDiffStat,
41
40
  claimCompeteGroup,
42
41
  cleanupCompeteGroup,
43
42
  commitCandidateWork,
44
- createCandidateWorktree,
43
+ createCandidateWorktreeMapped,
45
44
  isGitRepository,
46
45
  loadCompeteGroup,
47
46
  markCompeteGroupCleanupReady,
@@ -50,98 +49,108 @@ import {
50
49
  protectedPathsChangedByCompeteBranch,
51
50
  recoverCleanupReadyCompeteGroups,
52
51
  registerCompeteGroupRun,
53
- removeCandidateWorktree,
52
+ removeCandidateWorktreeMapped,
54
53
  settleCompeteGroupRun,
55
54
  settleRecoveredCompeteDecision
56
- } from "./chunk-ECUO3KDP.js";
55
+ } from "./chunk-U77AMWDL.js";
57
56
  import {
58
57
  compileExecutionPlan,
59
58
  requireAgentSteps
60
- } from "./chunk-HKO36JWF.js";
59
+ } from "./chunk-QBJA7R7N.js";
61
60
  import "./chunk-RVG5JXAL.js";
62
61
  import "./chunk-3DPEIQKN.js";
62
+ import "./chunk-NHLBIGRH.js";
63
+ import "./chunk-IQ7KR472.js";
64
+ import {
65
+ durableAssistantTextFromEvent
66
+ } from "./chunk-T56WDKA5.js";
63
67
  import "./chunk-W6GROXXM.js";
64
- import "./chunk-HPCTNZM2.js";
65
- import "./chunk-RKKLTLYB.js";
66
- import "./chunk-5QKCQQ3E.js";
67
- import "./chunk-5HFBWUMU.js";
68
+ import "./chunk-QLFS5GO2.js";
68
69
  import "./chunk-TXOTCRLG.js";
69
70
  import "./chunk-HVDIIIQW.js";
71
+ import "./chunk-CTJ4RNAA.js";
72
+ import "./chunk-RKKLTLYB.js";
73
+ import "./chunk-SUW5DORT.js";
70
74
  import {
71
75
  RESOLVED_DISPATCH_PLAN_ARGUMENT,
72
76
  describeDispatchPlan,
73
77
  withResolvedPlanTaskPin
74
- } from "./chunk-VKBMFOYV.js";
78
+ } from "./chunk-36EJLSQQ.js";
75
79
  import {
76
80
  COMPETE_STANCES,
77
81
  COUNCIL_JUDGE_PROMPT,
78
82
  JUDGE_GATE_PROMPT,
79
83
  REVIEWER_GATE_PROMPT,
84
+ narrowDispatchIntentToReadOnly,
80
85
  renderCouncilVoteMemberTask
81
- } from "./chunk-4H6ULJ3H.js";
86
+ } from "./chunk-J4W7KFM7.js";
82
87
  import {
83
88
  explainRouteDecision
84
- } from "./chunk-VPTUJU4P.js";
89
+ } from "./chunk-SJ5ZKQ4S.js";
85
90
  import "./chunk-2JDWVJND.js";
91
+ import "./chunk-GKF55TAZ.js";
92
+ import "./chunk-32KWKNSF.js";
93
+ import "./chunk-TVHHYFHE.js";
94
+ import "./chunk-42FMPA75.js";
86
95
  import {
87
96
  gateDeciderAgentId,
88
97
  gateRouteCorrelation
89
98
  } from "./chunk-H7IXIC72.js";
90
- import "./chunk-7C6RYZGQ.js";
91
- import "./chunk-N3PBVRTZ.js";
92
- import "./chunk-A2NJGIB3.js";
99
+ import "./chunk-5LXZXPKX.js";
93
100
  import "./chunk-OQE5J4C6.js";
94
- import {
95
- parseJsonObjectPayload,
96
- parseScoutResult,
97
- resultContractSourceId
98
- } from "./chunk-S4COXYBG.js";
99
- import "./chunk-MV3K5QF2.js";
100
101
  import "./chunk-RAPCMZL4.js";
101
- import "./chunk-UL3WSD3F.js";
102
- import "./chunk-ODFEOB4F.js";
102
+ import "./chunk-CY6FY24N.js";
103
103
  import "./chunk-OZNBF4L3.js";
104
104
  import "./chunk-4BJ5BYCE.js";
105
- import "./chunk-ECH6PKUQ.js";
106
- import "./chunk-CMZWFGD2.js";
107
- import "./chunk-I4HZDVNP.js";
108
105
  import {
109
106
  truncateUtf8
110
107
  } from "./chunk-6XLNIQDB.js";
108
+ import "./chunk-CMZWFGD2.js";
109
+ import "./chunk-PQEFIJ36.js";
110
+ import "./chunk-HHV2GANA.js";
111
+ import {
112
+ parseJsonObjectPayload,
113
+ parseScoutResult,
114
+ resultContractSourceId
115
+ } from "./chunk-DYJP44XW.js";
116
+ import "./chunk-GCSMB2KY.js";
117
+ import "./chunk-UL3WSD3F.js";
118
+ import "./chunk-ECH6PKUQ.js";
111
119
  import "./chunk-5B2AEOW5.js";
112
- import "./chunk-CGKSTWHD.js";
120
+ import "./chunk-K6BSR66V.js";
113
121
  import "./chunk-XAKHZX5N.js";
114
122
  import "./chunk-33YXPOE3.js";
115
123
  import "./chunk-7CR24IG7.js";
116
124
  import "./chunk-XPLRXC72.js";
117
- import "./chunk-MIX5N5AC.js";
125
+ import "./chunk-DQITNCXG.js";
118
126
  import "./chunk-CFGTUFWB.js";
119
- import "./chunk-LU7P4LHA.js";
120
- import "./chunk-AEYBF3TB.js";
121
- import "./chunk-IHXBNWMM.js";
122
- import "./chunk-B5CSFE7B.js";
123
- import "./chunk-PNY46YEY.js";
124
- import "./chunk-FQ4SKYE4.js";
127
+ import "./chunk-P3FOHJT4.js";
128
+ import "./chunk-UM7N4G5A.js";
125
129
  import "./chunk-ZGVHUX3M.js";
126
130
  import {
127
131
  BusChannels
128
- } from "./chunk-RKRLDWD3.js";
129
- import "./chunk-KV2AOLDF.js";
132
+ } from "./chunk-HLW2MRKE.js";
133
+ import "./chunk-76ONBSIA.js";
134
+ import "./chunk-R346GLFC.js";
135
+ import "./chunk-IHXBNWMM.js";
136
+ import "./chunk-VFA6GDY5.js";
137
+ import "./chunk-BBVJUZHB.js";
138
+ import "./chunk-FQ4SKYE4.js";
130
139
  import "./chunk-6EJMN2Y3.js";
131
140
  import "./chunk-IWHMRKLL.js";
132
- import "./chunk-JEQQR47K.js";
133
- import "./chunk-XDOQXGFO.js";
141
+ import "./chunk-6DB53AJS.js";
142
+ import "./chunk-GXNLGKAB.js";
134
143
  import "./chunk-LL4KHSZI.js";
135
144
  import "./chunk-4ZG3XFUR.js";
136
- import "./chunk-774ILSRL.js";
137
- import "./chunk-EQ63NRB7.js";
145
+ import "./chunk-HI63TFOG.js";
146
+ import "./chunk-BBVYXMFO.js";
138
147
  import "./chunk-SST6Z5JA.js";
139
148
  import "./chunk-IKCO5N3L.js";
140
149
  import "./chunk-3I7MS7N2.js";
141
150
  import "./chunk-APJ265NV.js";
142
151
  import {
143
152
  clioStateDir
144
- } from "./chunk-BNAZZHFG.js";
153
+ } from "./chunk-BYP5D4HI.js";
145
154
  import "./chunk-WEPFGWHJ.js";
146
155
  import "./chunk-NUGM5KR6.js";
147
156
  import "./chunk-VO2LKSTM.js";
@@ -1085,10 +1094,12 @@ async function runCompete(deps, base, compete, autonomy, timeoutMs, signal) {
1085
1094
  outcome = await (async () => {
1086
1095
  ownership = claimCompeteGroup(requestedRoot, group);
1087
1096
  const root = ownership.root;
1088
- const createCandidate = deps.competeWorktrees?.createCandidate ?? createCandidateWorktree;
1089
1097
  for (let index = 1; index <= compete.candidates; index += 1) {
1090
1098
  throwIfStopped();
1091
- worktrees.push(createCandidate(ownership, index, "HEAD"));
1099
+ const customCreate = deps.competeWorktrees?.createCandidate;
1100
+ worktrees.push(
1101
+ await (customCreate ? customCreate(ownership, index, "HEAD") : createCandidateWorktreeMapped(ownership, index, "HEAD", deps.competeWorktrees?.mux))
1102
+ );
1092
1103
  }
1093
1104
  if (timeoutMs !== void 0) {
1094
1105
  timer = setTimeout(
@@ -1110,7 +1121,12 @@ async function runCompete(deps, base, compete, autonomy, timeoutMs, signal) {
1110
1121
  executionRole: "builder",
1111
1122
  cwd: worktree.path,
1112
1123
  protectedArtifactRemap: { sourceRoot: root, workerRoot: worktree.path },
1113
- gate: { role: "candidate", group, cycle: worktree.index },
1124
+ gate: {
1125
+ role: "candidate",
1126
+ group,
1127
+ cycle: worktree.index,
1128
+ ...worktree.provenance ? { worktree: worktree.provenance } : {}
1129
+ },
1114
1130
  ledger,
1115
1131
  competeStance: COMPETE_STANCES[(worktree.index - 1) % COMPETE_STANCES.length]
1116
1132
  };
@@ -1326,7 +1342,7 @@ async function runCompete(deps, base, compete, autonomy, timeoutMs, signal) {
1326
1342
  for (const worktree of worktrees) {
1327
1343
  if (worktree.index === winnerAtFinalization.index) continue;
1328
1344
  try {
1329
- removeCandidateWorktree(ownership, worktree, true);
1345
+ await removeCandidateWorktreeMapped(ownership, worktree, true, deps.competeWorktrees?.mux);
1330
1346
  } catch (err) {
1331
1347
  finalizationErrors.push(err);
1332
1348
  }
@@ -1341,8 +1357,13 @@ async function runCompete(deps, base, compete, autonomy, timeoutMs, signal) {
1341
1357
  finalizationErrors.push(err);
1342
1358
  }
1343
1359
  try {
1360
+ if (deps.competeWorktrees?.mux) {
1361
+ for (const worktree of worktrees) {
1362
+ await removeCandidateWorktreeMapped(ownership, worktree, true, deps.competeWorktrees.mux);
1363
+ }
1364
+ }
1344
1365
  const cleanupGroup = deps.competeWorktrees?.cleanupGroup ?? cleanupCompeteGroup;
1345
- cleanupGroup(ownership);
1366
+ await cleanupGroup(ownership);
1346
1367
  } catch (err) {
1347
1368
  finalizationErrors.push(err);
1348
1369
  }
@@ -1635,6 +1656,13 @@ async function runCouncil(deps, base, council, timeoutMs, signal) {
1635
1656
  executionRole: "researcher",
1636
1657
  autonomy: "read-only",
1637
1658
  toolProfile: "council-read-only",
1659
+ // Admission already demoted the caller's declared write roots to
1660
+ // read roots for every planned member, and the resolved-plan pin
1661
+ // below carries that narrowed intent in. Repeat it here so the
1662
+ // no-plan fallback path lands on the same request: a member spread
1663
+ // from `base` would otherwise inherit a write scope its read-only
1664
+ // autonomy cannot grant, and the two paths would disagree.
1665
+ ...base.intent === void 0 ? {} : { intent: narrowDispatchIntentToReadOnly(base.intent) },
1638
1666
  // A vote is a majority over the members' verdict fields, so a vote
1639
1667
  // council asks each member for one and seals the ballot it asked
1640
1668
  // for. The seated recipe is untouched: the ask is a task suffix and
@@ -2298,4 +2326,4 @@ async function runWriterLimitedBatch(deps, requests, timeoutMs, signal) {
2298
2326
  export {
2299
2327
  runDispatchTool
2300
2328
  };
2301
- //# sourceMappingURL=dispatch-runner-VVA4SRRH.js.map
2329
+ //# sourceMappingURL=dispatch-runner-EFMJT4LD.js.map
@@ -1,21 +1,21 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
- import "./chunk-IFBNV6H6.js";
2
+ import "./chunk-2ANTL7MR.js";
3
3
  import {
4
4
  printError,
5
5
  printHeader
6
- } from "./chunk-XK56QHLX.js";
6
+ } from "./chunk-VPKWYKEY.js";
7
7
  import {
8
8
  source_default
9
9
  } from "./chunk-5TSRNF4G.js";
10
10
  import {
11
11
  resolvePackageRoot
12
12
  } from "./chunk-IWHMRKLL.js";
13
- import "./chunk-EQ63NRB7.js";
13
+ import "./chunk-BBVYXMFO.js";
14
14
  import "./chunk-SST6Z5JA.js";
15
15
  import "./chunk-IKCO5N3L.js";
16
16
  import "./chunk-3I7MS7N2.js";
17
17
  import "./chunk-APJ265NV.js";
18
- import "./chunk-BNAZZHFG.js";
18
+ import "./chunk-BYP5D4HI.js";
19
19
  import "./chunk-WEPFGWHJ.js";
20
20
  import "./chunk-YXLYO42X.js";
21
21
  import {
@@ -296,4 +296,4 @@ export {
296
296
  synthesizeMenu,
297
297
  topicToFile
298
298
  };
299
- //# sourceMappingURL=docs-7LQ23DLM.js.map
299
+ //# sourceMappingURL=docs-23KQS3XK.js.map
@@ -0,0 +1,313 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ MUX_METHOD_MIN_PROTOCOL,
4
+ describeYaziProfile,
5
+ detectMux,
6
+ inspectCurrentYaziProfile,
7
+ resolveSocketCandidates,
8
+ userYaziConfigDir,
9
+ yaziProfileDir
10
+ } from "./chunk-HZHHCK24.js";
11
+ import "./chunk-VO67MWHC.js";
12
+ import {
13
+ formatDoctorReport,
14
+ isUninitializedHome,
15
+ runDoctor,
16
+ runDoctorFleetChecks,
17
+ runDoctorInteropChecks,
18
+ runDoctorModelChecks,
19
+ runDoctorRuntimeChecks
20
+ } from "./chunk-W5VSYASO.js";
21
+ import "./chunk-BKFM6EJV.js";
22
+ import "./chunk-LCGCVYZ4.js";
23
+ import "./chunk-3DPEIQKN.js";
24
+ import {
25
+ runEventJournalRoot
26
+ } from "./chunk-IQ7KR472.js";
27
+ import "./chunk-VYMXRQI6.js";
28
+ import "./chunk-FEFIFZTL.js";
29
+ import "./chunk-SUW5DORT.js";
30
+ import {
31
+ describeResolution,
32
+ toolStatus,
33
+ toolStatuses
34
+ } from "./chunk-QSNYB6ZV.js";
35
+ import {
36
+ findPinnedTool
37
+ } from "./chunk-QDC3K2U3.js";
38
+ import "./chunk-RAPCMZL4.js";
39
+ import "./chunk-K6BSR66V.js";
40
+ import "./chunk-XPLRXC72.js";
41
+ import "./chunk-NEKRRTYW.js";
42
+ import "./chunk-SP2RXXYO.js";
43
+ import "./chunk-2OQE55CK.js";
44
+ import "./chunk-2ANTL7MR.js";
45
+ import {
46
+ printError
47
+ } from "./chunk-VPKWYKEY.js";
48
+ import "./chunk-5TSRNF4G.js";
49
+ import "./chunk-P3FOHJT4.js";
50
+ import "./chunk-76ONBSIA.js";
51
+ import "./chunk-R346GLFC.js";
52
+ import "./chunk-IHXBNWMM.js";
53
+ import {
54
+ readSettings
55
+ } from "./chunk-VFA6GDY5.js";
56
+ import "./chunk-BBVJUZHB.js";
57
+ import "./chunk-FQ4SKYE4.js";
58
+ import "./chunk-6EJMN2Y3.js";
59
+ import "./chunk-IWHMRKLL.js";
60
+ import "./chunk-GXNLGKAB.js";
61
+ import "./chunk-LL4KHSZI.js";
62
+ import "./chunk-4ZG3XFUR.js";
63
+ import "./chunk-BBVYXMFO.js";
64
+ import "./chunk-SST6Z5JA.js";
65
+ import "./chunk-IKCO5N3L.js";
66
+ import "./chunk-3I7MS7N2.js";
67
+ import "./chunk-APJ265NV.js";
68
+ import {
69
+ resolveClioDirs
70
+ } from "./chunk-BYP5D4HI.js";
71
+ import "./chunk-WEPFGWHJ.js";
72
+ import "./chunk-NUGM5KR6.js";
73
+ import "./chunk-YXLYO42X.js";
74
+ import {
75
+ init_esm_shims
76
+ } from "./chunk-3R73A4XB.js";
77
+
78
+ // src/cli/doctor.ts
79
+ init_esm_shims();
80
+
81
+ // src/cli/doctor-panes.ts
82
+ init_esm_shims();
83
+ import { accessSync, constants, mkdirSync } from "node:fs";
84
+ var PANE_HOST_TOOL_ID = "herdr";
85
+ var REQUIRED_PROTOCOL = Math.max(...Object.values(MUX_METHOD_MIN_PROTOCOL));
86
+ function journalWritabilityFinding(root = runEventJournalRoot()) {
87
+ try {
88
+ mkdirSync(root, { recursive: true });
89
+ accessSync(root, constants.W_OK);
90
+ return { ok: true, name: "panes journal dir", detail: `${root} is writable` };
91
+ } catch (error) {
92
+ return {
93
+ ok: true,
94
+ level: "warn",
95
+ name: "panes journal dir",
96
+ detail: `${root} is not writable (${error instanceof Error ? error.message : String(error)}); \`clio-coder fleet view\` will have no transcript to follow`
97
+ };
98
+ }
99
+ }
100
+ async function panesFindings(env = process.env) {
101
+ let enabled = "off";
102
+ try {
103
+ enabled = readSettings().panes.enabled;
104
+ } catch {
105
+ }
106
+ if (enabled === "off") {
107
+ return [
108
+ {
109
+ ok: true,
110
+ name: "panes mode",
111
+ detail: "off by choice (panes.enabled=off); start `clio-coder --with-panes` for one session, or set panes.enabled=auto"
112
+ },
113
+ journalWritabilityFinding()
114
+ ];
115
+ }
116
+ const { detection, client } = await detectMux({ enabled, env });
117
+ await client?.close().catch(() => void 0);
118
+ const candidates = detection.candidates.length > 0 ? detection.candidates : resolveSocketCandidates(env);
119
+ const findings = [
120
+ {
121
+ ok: true,
122
+ level: detection.mode === "none" ? "warn" : "ok",
123
+ name: "panes mode",
124
+ detail: `${detection.mode} (panes.enabled=${enabled}); ${detection.reason}`
125
+ },
126
+ {
127
+ ok: true,
128
+ level: detection.socketPath === null ? "warn" : "ok",
129
+ name: "panes socket",
130
+ detail: detection.socketPath === null ? `no socket answered; tried ${candidates.length > 0 ? candidates.join(", ") : "no candidates"}` : `${detection.socketPath} answered a ping`
131
+ }
132
+ ];
133
+ const server = detection.server;
134
+ findings.push({
135
+ ok: true,
136
+ level: server === null || server.protocol < REQUIRED_PROTOCOL ? "warn" : "ok",
137
+ name: "panes protocol",
138
+ detail: server === null ? `unknown; Clio's optional methods need protocol ${REQUIRED_PROTOCOL} or newer` : `server ${server.version}, protocol ${server.protocol}; Clio's optional methods need ${REQUIRED_PROTOCOL} (${server.protocol >= REQUIRED_PROTOCOL ? "satisfied" : "toasts and agent focus fall back"})`
139
+ });
140
+ const entry = findPinnedTool(PANE_HOST_TOOL_ID);
141
+ findings.push(
142
+ entry === null ? {
143
+ ok: true,
144
+ level: "warn",
145
+ name: "panes binary",
146
+ detail: `${PANE_HOST_TOOL_ID} is not in the pinned tool registry`
147
+ } : {
148
+ ok: true,
149
+ level: toolStatus(entry).resolution.source === "none" ? "warn" : "ok",
150
+ name: "panes binary",
151
+ detail: describeResolution(toolStatus(entry))
152
+ }
153
+ );
154
+ findings.push(journalWritabilityFinding());
155
+ return findings;
156
+ }
157
+
158
+ // src/cli/doctor-state-size.ts
159
+ init_esm_shims();
160
+ import { lstatSync, readdirSync } from "node:fs";
161
+ import { join } from "node:path";
162
+ function stateStorageFinding(stateDir = resolveClioDirs().state) {
163
+ let names;
164
+ try {
165
+ names = readdirSync(stateDir);
166
+ } catch (error) {
167
+ return {
168
+ ok: false,
169
+ name: "state storage",
170
+ detail: `${stateDir} could not be measured: ${error instanceof Error ? error.message : String(error)}`
171
+ };
172
+ }
173
+ let total = 0;
174
+ let largest = null;
175
+ for (const name of names.sort()) {
176
+ const measured = measureEntry(join(stateDir, name));
177
+ if (measured.error !== null) {
178
+ return { ok: false, name: "state storage", detail: measured.error };
179
+ }
180
+ total += measured.bytes;
181
+ if (largest === null || measured.bytes > largest.bytes) largest = { name, bytes: measured.bytes };
182
+ }
183
+ return {
184
+ ok: true,
185
+ name: "state storage",
186
+ detail: largest === null ? `${formatBytes(total)} (${total.toLocaleString("en-US")} bytes); largest contributor none` : `${formatBytes(total)} (${total.toLocaleString("en-US")} bytes); largest contributor ${largest.name} at ${formatBytes(largest.bytes)} (${largest.bytes.toLocaleString("en-US")} bytes)`
187
+ };
188
+ }
189
+ function measureEntry(path) {
190
+ let stats;
191
+ try {
192
+ stats = lstatSync(path);
193
+ } catch (error) {
194
+ return {
195
+ bytes: 0,
196
+ error: `${path} could not be inspected: ${error instanceof Error ? error.message : String(error)}`
197
+ };
198
+ }
199
+ if (!stats.isDirectory() || stats.isSymbolicLink()) return { bytes: stats.size, error: null };
200
+ let names;
201
+ try {
202
+ names = readdirSync(path);
203
+ } catch (error) {
204
+ return { bytes: 0, error: `${path} could not be listed: ${error instanceof Error ? error.message : String(error)}` };
205
+ }
206
+ let bytes = 0;
207
+ for (const name of names) {
208
+ const child = measureEntry(join(path, name));
209
+ if (child.error !== null) return child;
210
+ bytes += child.bytes;
211
+ }
212
+ return { bytes, error: null };
213
+ }
214
+ function formatBytes(bytes) {
215
+ if (bytes < 1024) return `${bytes} B`;
216
+ const units = ["KiB", "MiB", "GiB", "TiB"];
217
+ let value = bytes;
218
+ let unit = -1;
219
+ do {
220
+ value /= 1024;
221
+ unit += 1;
222
+ } while (value >= 1024 && unit < units.length - 1);
223
+ return `${value.toFixed(value >= 10 ? 1 : 2)} ${units[unit]}`;
224
+ }
225
+
226
+ // src/cli/doctor-toolchain.ts
227
+ init_esm_shims();
228
+ function yaziProfileFinding() {
229
+ try {
230
+ const profile = inspectCurrentYaziProfile();
231
+ return {
232
+ ok: true,
233
+ name: "yazi managed profile",
234
+ detail: describeYaziProfile(profile),
235
+ level: profile.state === "current" ? "ok" : "warn"
236
+ };
237
+ } catch (error) {
238
+ return {
239
+ ok: true,
240
+ name: "yazi managed profile",
241
+ level: "warn",
242
+ detail: `${yaziProfileDir()} could not be inspected (${error instanceof Error ? error.message : String(error)}); user config ${userYaziConfigDir()} is separate and untouched`
243
+ };
244
+ }
245
+ }
246
+ function toolchainFindings() {
247
+ const tools = toolStatuses().map((status) => ({
248
+ ok: true,
249
+ name: `external tool ${status.id}`,
250
+ // The rejection and the remedy both live inside the shared resolution
251
+ // sentence, so this row and `clio-coder tools status` cannot describe the
252
+ // same machine differently.
253
+ detail: describeResolution(status),
254
+ level: status.resolution.source === "none" ? "warn" : "ok"
255
+ }));
256
+ return [...tools, yaziProfileFinding()];
257
+ }
258
+
259
+ // src/cli/doctor.ts
260
+ var HELP = `clio-coder doctor [--fix] [--json]
261
+
262
+ Diagnose Clio Coder state without creating files. On a home Clio has never
263
+ written to, doctor says so in one row and exits 0. Use --fix to repair structure:
264
+ missing directories, missing template files, and credential permissions.
265
+ Settings are validated directly against the current schema.
266
+ Pass --json to emit a machine-readable report on stdout.
267
+ `;
268
+ async function runDoctorCommand(args = []) {
269
+ if (args.includes("--help") || args.includes("-h")) {
270
+ process.stdout.write(HELP);
271
+ return 0;
272
+ }
273
+ const fix = args.includes("--fix");
274
+ const json = args.includes("--json");
275
+ const unknown = args.find((arg) => arg !== "--fix" && arg !== "--json");
276
+ if (unknown) {
277
+ printError(`unknown flag: ${unknown}`);
278
+ process.stderr.write(HELP);
279
+ return 2;
280
+ }
281
+ const untouched = !fix && isUninitializedHome();
282
+ const findings = runDoctor({ fix });
283
+ const storageChecks = untouched ? [] : [stateStorageFinding()];
284
+ const runtimeChecks = await runDoctorRuntimeChecks();
285
+ const modelChecks = await runDoctorModelChecks();
286
+ const interopChecks = untouched ? [] : await runDoctorInteropChecks();
287
+ const fleetChecks = untouched ? [] : await runDoctorFleetChecks();
288
+ const toolChecks = untouched ? [] : toolchainFindings();
289
+ const paneChecks = untouched ? [] : await panesFindings();
290
+ const all = [
291
+ ...findings,
292
+ ...storageChecks,
293
+ ...runtimeChecks,
294
+ ...modelChecks,
295
+ ...interopChecks,
296
+ ...fleetChecks,
297
+ ...toolChecks,
298
+ ...paneChecks
299
+ ];
300
+ const ok = all.every((f) => f.ok);
301
+ if (json) {
302
+ process.stdout.write(`${JSON.stringify({ ok, fix, findings: all }, null, 2)}
303
+ `);
304
+ } else {
305
+ process.stdout.write(`${formatDoctorReport(all)}
306
+ `);
307
+ }
308
+ return ok ? 0 : 1;
309
+ }
310
+ export {
311
+ runDoctorCommand
312
+ };
313
+ //# sourceMappingURL=doctor-QOA5FNY5.js.map