@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
@@ -4,17 +4,17 @@ import {
4
4
  normalizeWriteBoundary,
5
5
  normalizeWriteBoundaryEntry,
6
6
  writeBoundaryCovers
7
- } from "./chunk-HPCTNZM2.js";
7
+ } from "./chunk-CTJ4RNAA.js";
8
8
  import {
9
9
  asDirectoryPathBoundary,
10
10
  pathBoundaryEntryCovers
11
- } from "./chunk-S4COXYBG.js";
11
+ } from "./chunk-HHV2GANA.js";
12
12
  import {
13
13
  atomicWrite
14
- } from "./chunk-KV2AOLDF.js";
14
+ } from "./chunk-76ONBSIA.js";
15
15
  import {
16
16
  clioStateDir
17
- } from "./chunk-BNAZZHFG.js";
17
+ } from "./chunk-BYP5D4HI.js";
18
18
  import {
19
19
  init_esm_shims
20
20
  } from "./chunk-3R73A4XB.js";
@@ -542,6 +542,39 @@ function createCandidateWorktree(ownership, index, baseline) {
542
542
  git2(ownership.root, ["worktree", "add", "-b", branch, path, baseline]);
543
543
  return { index, branch, path };
544
544
  }
545
+ async function createCandidateWorktreeMapped(ownership, index, baseline, mux) {
546
+ assertOwnership2(ownership);
547
+ const branch = competeBranch(ownership.group, index);
548
+ const path = join2(ownership.directory, `candidate-${index}`);
549
+ if (!isCanonicalPathInside(ownership.directory, path)) {
550
+ throw new Error(`candidate ${index} path escapes compete group ${ownership.group}`);
551
+ }
552
+ let fallback = "mux-unavailable";
553
+ if (mux?.available()) {
554
+ const created = await mux.worktreeCreate({
555
+ cwd: ownership.root,
556
+ branch,
557
+ base: baseline,
558
+ path,
559
+ label: `clio compete ${ownership.group} candidate ${index}`,
560
+ focus: false
561
+ }).catch(() => null);
562
+ if (created !== null) {
563
+ if (resolve2(created.worktree.path) !== resolve2(path) || created.worktree.branch !== branch) {
564
+ throw new Error(`herdr created candidate ${index} at an unexpected path or branch`);
565
+ }
566
+ return {
567
+ index,
568
+ branch,
569
+ path,
570
+ provenance: { backend: "herdr", path, branch, workspaceId: created.workspaceId }
571
+ };
572
+ }
573
+ fallback = "mux-operation-failed";
574
+ }
575
+ const native = createCandidateWorktree(ownership, index, baseline);
576
+ return { ...native, provenance: { backend: "native", path, branch, fallback } };
577
+ }
545
578
  function commitCandidateWork(worktree, message) {
546
579
  return commitWorktreePath(worktree.path, COMPETE_COMMIT_IDENTITY, message);
547
580
  }
@@ -588,6 +621,13 @@ function removeCandidateWorktree(ownership, worktree, deleteBranch) {
588
621
  throw new Error(`failed to remove candidate ${worktree.index} from compete group ${ownership.group}`);
589
622
  }
590
623
  }
624
+ async function removeCandidateWorktreeMapped(ownership, worktree, deleteBranch, mux) {
625
+ const workspaceId = worktree.provenance?.backend === "herdr" ? worktree.provenance.workspaceId : void 0;
626
+ if (workspaceId && mux?.available()) {
627
+ await mux.worktreeRemove(workspaceId, { force: true }).catch(() => false);
628
+ }
629
+ removeCandidateWorktree(ownership, worktree, deleteBranch);
630
+ }
591
631
  function mergeWinnerBranch(root, branch) {
592
632
  return mergeWorktreeBranch(root, branch, COMPETE_COMMIT_IDENTITY);
593
633
  }
@@ -1123,11 +1163,11 @@ export {
1123
1163
  settleCompeteGroupRun,
1124
1164
  markCompeteGroupCleanupReady,
1125
1165
  markCompeteGroupWinnerPreserved,
1126
- createCandidateWorktree,
1166
+ createCandidateWorktreeMapped,
1127
1167
  commitCandidateWork,
1128
1168
  candidateDiffStat,
1129
1169
  protectedPathsChangedByCompeteBranch,
1130
- removeCandidateWorktree,
1170
+ removeCandidateWorktreeMapped,
1131
1171
  mergeWinnerBranch,
1132
1172
  cleanupCompeteGroup,
1133
1173
  settleRecoveredCompeteDecision,
@@ -1138,4 +1178,4 @@ export {
1138
1178
  preflightWriteBoundaries,
1139
1179
  createWriteBoundaryEnforcer
1140
1180
  };
1141
- //# sourceMappingURL=chunk-ECUO3KDP.js.map
1181
+ //# sourceMappingURL=chunk-U77AMWDL.js.map
@@ -4,26 +4,26 @@ import {
4
4
  loadProjectRules,
5
5
  renderOperatorProfile,
6
6
  selectActiveRules
7
- } from "./chunk-HJB5IUKP.js";
7
+ } from "./chunk-I5VEOC6I.js";
8
8
  import {
9
9
  loadFragments
10
- } from "./chunk-47CMYGET.js";
10
+ } from "./chunk-VAZSBTKF.js";
11
11
  import {
12
12
  compile,
13
13
  compileWorker
14
- } from "./chunk-TEO2TLVN.js";
14
+ } from "./chunk-BUMFYQFY.js";
15
15
  import {
16
16
  sha256
17
- } from "./chunk-MLOK6ZOS.js";
17
+ } from "./chunk-B7OBL7PK.js";
18
18
  import {
19
19
  classifyProjectPreload
20
20
  } from "./chunk-JVCV3ICN.js";
21
21
  import {
22
22
  isUserVisibleAgent
23
- } from "./chunk-S4COXYBG.js";
23
+ } from "./chunk-DYJP44XW.js";
24
24
  import {
25
25
  BusChannels
26
- } from "./chunk-RKRLDWD3.js";
26
+ } from "./chunk-HLW2MRKE.js";
27
27
  import {
28
28
  init_esm_shims
29
29
  } from "./chunk-3R73A4XB.js";
@@ -659,4 +659,4 @@ export {
659
659
  createPromptsDomainModule,
660
660
  SchedulingDomainModule
661
661
  };
662
- //# sourceMappingURL=chunk-3UUY7R3Z.js.map
662
+ //# sourceMappingURL=chunk-ULC6OTWO.js.map
@@ -2,7 +2,7 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  cwdHash,
4
4
  sessionPaths
5
- } from "./chunk-KV2AOLDF.js";
5
+ } from "./chunk-76ONBSIA.js";
6
6
  import {
7
7
  init_esm_shims
8
8
  } from "./chunk-3R73A4XB.js";
@@ -631,4 +631,4 @@ export {
631
631
  snapshotInputTokens,
632
632
  reconcileSnapshot
633
633
  };
634
- //# sourceMappingURL=chunk-AEYBF3TB.js.map
634
+ //# sourceMappingURL=chunk-UM7N4G5A.js.map
@@ -1,4 +1,18 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ fingerprintNativeRuntime
4
+ } from "./chunk-NEKRRTYW.js";
5
+ import {
6
+ INHERITED_PROJECT_CONTEXT,
7
+ acceptInteropAgents,
8
+ declineInteropAgents,
9
+ detectInteropAgents,
10
+ interopProposals,
11
+ renderProposalEntry
12
+ } from "./chunk-SP2RXXYO.js";
13
+ import {
14
+ initializeClioHome
15
+ } from "./chunk-2OQE55CK.js";
2
16
  import {
3
17
  createDelayedManualCodeInput,
4
18
  promptOAuthSelection
@@ -13,40 +27,30 @@ import {
13
27
  import {
14
28
  credentialWriteFailed,
15
29
  printPlaintextCredentialWarning
16
- } from "./chunk-IFBNV6H6.js";
17
- import {
18
- INHERITED_PROJECT_CONTEXT,
19
- acceptInteropAgents,
20
- declineInteropAgents,
21
- detectInteropAgents,
22
- fingerprintNativeRuntime,
23
- interopProposals,
24
- renderProposalEntry
25
- } from "./chunk-QQ7EKM72.js";
26
- import {
27
- initializeClioHome
28
- } from "./chunk-56KB5IJP.js";
30
+ } from "./chunk-2ANTL7MR.js";
29
31
  import {
30
32
  printError,
31
33
  printOk
32
- } from "./chunk-XK56QHLX.js";
34
+ } from "./chunk-VPKWYKEY.js";
33
35
  import {
34
36
  isOrchestratorEligibleRuntime,
35
- probeCapabilitiesForModel
36
- } from "./chunk-MIX5N5AC.js";
37
+ probeCapabilitiesForModel,
38
+ readTargetModelSnapshot,
39
+ recordTargetModelSnapshot
40
+ } from "./chunk-DQITNCXG.js";
37
41
  import {
38
42
  credentialsPresent
39
- } from "./chunk-LU7P4LHA.js";
43
+ } from "./chunk-P3FOHJT4.js";
40
44
  import {
41
45
  readSettings,
42
46
  removeTargetFromSettings,
43
47
  settingsPath,
44
48
  updateSettings
45
- } from "./chunk-PNY46YEY.js";
49
+ } from "./chunk-VFA6GDY5.js";
46
50
  import {
47
51
  greetLmStudio,
48
52
  registerBuiltinRuntimes
49
- } from "./chunk-JEQQR47K.js";
53
+ } from "./chunk-6DB53AJS.js";
50
54
  import {
51
55
  buildProviderSupportEntry,
52
56
  configuredTargetsForRuntime,
@@ -54,14 +58,14 @@ import {
54
58
  listKnownModelsForRuntime,
55
59
  listProviderSupportEntries,
56
60
  supportGroupLabel
57
- } from "./chunk-774ILSRL.js";
61
+ } from "./chunk-HI63TFOG.js";
58
62
  import {
59
63
  openAuthStorage,
60
64
  registerClioOAuthProviders,
61
65
  resolveAuthTarget,
62
66
  resolveRuntimeAuthTarget,
63
67
  targetRequiresAuth
64
- } from "./chunk-EQ63NRB7.js";
68
+ } from "./chunk-BBVYXMFO.js";
65
69
  import {
66
70
  getRuntimeRegistry
67
71
  } from "./chunk-NUGM5KR6.js";
@@ -358,7 +362,8 @@ var DEFAULT_PORTS = {
358
362
  "lemonade-anthropic": 8e3,
359
363
  lemonade: 8e3,
360
364
  "anthropic-compat": 8e3,
361
- "openai-compat": 8e3
365
+ "openai-compat": 8e3,
366
+ litellm: 4e3
362
367
  };
363
368
  function parseSetupArgs(argv) {
364
369
  const out = {
@@ -523,7 +528,7 @@ function printRuntimeList(includeHidden) {
523
528
  for (const entry of listProviderSupportEntries(getRuntimeRegistry().list(), { includeHidden })) {
524
529
  const runtime = getRuntimeRegistry().get(entry.runtimeId);
525
530
  const status = runtime && entry.connectable ? auth.statusForTarget(resolveRuntimeAuthTarget(runtime), { includeFallback: false }) : null;
526
- const authLabel = runtime?.auth === "oauth" ? status?.available ? "connected" : "login" : runtime?.auth === "api-key" ? status?.available ? "credential" : "needs-key" : runtime?.auth ?? "none";
531
+ const authLabel = runtime?.auth === "oauth" ? status?.available ? "connected" : "login" : runtime?.auth === "api-key" ? status?.available ? "credential" : targetRequiresAuth({ id: entry.runtimeId, runtime: entry.runtimeId }, runtime) ? "needs-key" : "key-optional" : runtime?.auth ?? "none";
527
532
  rows.push({
528
533
  group: supportGroupLabel(entry.group),
529
534
  runtimeId: entry.runtimeId,
@@ -764,18 +769,12 @@ settings written to ${settingsPath()}
764
769
  function buildDescriptor(runtime, id, parts) {
765
770
  const descriptor = { id, runtime: runtime.id };
766
771
  if (parts.url) descriptor.url = parts.url;
767
- const wireModels = parts.wireModels?.filter((value, index, all) => value.trim().length > 0 && all.indexOf(value) === index) ?? [];
768
772
  if (parts.model) descriptor.defaultModel = parts.model;
769
- else {
770
- const firstWireModel = wireModels[0];
771
- if (firstWireModel) descriptor.defaultModel = firstWireModel;
772
- }
773
773
  const auth = {};
774
774
  if (parts.apiKeyEnv) auth.apiKeyEnvVar = parts.apiKeyEnv;
775
775
  if (parts.apiKeyRef) auth.apiKeyRef = parts.apiKeyRef;
776
776
  if (parts.oauthProfile) auth.oauthProfile = parts.oauthProfile;
777
777
  if (Object.keys(auth).length > 0) descriptor.auth = auth;
778
- if (wireModels.length > 0) descriptor.wireModels = wireModels;
779
778
  if (parts.gateway) descriptor.gateway = true;
780
779
  if (parts.lifecycle) descriptor.lifecycle = parts.lifecycle;
781
780
  const caps = {};
@@ -862,13 +861,21 @@ async function resolveSupportedWireModels(runtime, target, existing, authToken)
862
861
  if (runtime.kind === "http") {
863
862
  const probe = await runtimeProbe(runtime, target, authToken);
864
863
  if (probe?.ok && probe.models && probe.models.length > 0) {
864
+ recordTargetModelSnapshot(target, probe.models);
865
865
  return { models: [...probe.models], source: "probe", modelStates: probe.modelStates };
866
866
  }
867
867
  const discovered = await runtimeProbeModels(runtime, target, authToken);
868
- if (discovered.length > 0) return { models: discovered, source: "probe" };
868
+ if (discovered.length > 0) {
869
+ recordTargetModelSnapshot(target, discovered);
870
+ return { models: discovered, source: "probe" };
871
+ }
872
+ }
873
+ const cached = readTargetModelSnapshot(target);
874
+ if (cached && cached.models.length > 0) return { models: [...cached.models], source: "cache" };
875
+ if (existing?.wireModels && existing.wireModels.length > 0) {
876
+ recordTargetModelSnapshot(target, existing.wireModels);
877
+ return { models: [...existing.wireModels], source: "legacy" };
869
878
  }
870
- if (existing?.wireModels && existing.wireModels.length > 0)
871
- return { models: [...existing.wireModels], source: "existing" };
872
879
  return { models: [], source: "none" };
873
880
  }
874
881
  function resolveModelChoice(answer, wireModels, defaultValue) {
@@ -972,7 +979,6 @@ async function runNonInteractive(runtime, args) {
972
979
  const descriptor = buildDescriptor(runtime, args.id, {
973
980
  ...url !== void 0 ? { url } : {},
974
981
  ...model ? { model } : {},
975
- ...wireModels.length > 0 ? { wireModels } : {},
976
982
  ...apiKeyEnv !== void 0 ? { apiKeyEnv } : {},
977
983
  ...apiKeyRef !== void 0 ? { apiKeyRef } : {},
978
984
  ...oauthProfile !== void 0 ? { oauthProfile } : {},
@@ -1023,6 +1029,7 @@ async function runNonInteractive(runtime, args) {
1023
1029
  applyConfiguration(settings);
1024
1030
  updateSettings(applyConfiguration);
1025
1031
  const probe = await runtimeProbe(runtime, descriptor);
1032
+ if (probe?.ok && probe.models) recordTargetModelSnapshot(descriptor, probe.models);
1026
1033
  printSummary(settings, descriptor, probe);
1027
1034
  if (runtime.auth === "oauth" && !auth.statusForTarget(resolveRuntimeAuthTarget(runtime), { includeFallback: false }).available) {
1028
1035
  process.stdout.write(
@@ -1280,7 +1287,7 @@ Selected runtime: ${runtime.id} (${support.summary})
1280
1287
  oauthProfile = runtime.oauthProviderId ?? runtime.id;
1281
1288
  }
1282
1289
  let model = defaults.model;
1283
- let inventory = existing?.wireModels && existing.wireModels.length > 0 ? { models: [...existing.wireModels], source: "existing" } : { models: [], source: "none" };
1290
+ let inventory = { models: [], source: "none" };
1284
1291
  const tentative = buildDescriptor(runtime, targetId, {
1285
1292
  ...url !== void 0 ? { url } : {},
1286
1293
  ...apiKeyEnv !== void 0 ? { apiKeyEnv } : {},
@@ -1360,7 +1367,6 @@ Selected runtime: ${runtime.id} (${support.summary})
1360
1367
  ...apiKeyEnv !== void 0 ? { apiKeyEnv } : {},
1361
1368
  ...apiKeyRef !== void 0 ? { apiKeyRef } : {},
1362
1369
  ...oauthProfile !== void 0 ? { oauthProfile } : {},
1363
- ...wireModels.length > 0 ? { wireModels } : {},
1364
1370
  gateway: gatewayAnswer,
1365
1371
  ...defaults.lifecycle !== void 0 ? { lifecycle: defaults.lifecycle } : existing?.lifecycle !== void 0 ? { lifecycle: existing.lifecycle } : {},
1366
1372
  ...contextWindowChoice !== void 0 ? { contextWindow: contextWindowChoice } : {},
@@ -1381,6 +1387,7 @@ Selected runtime: ${runtime.id} (${support.summary})
1381
1387
  printPlaintextCredentialWarning();
1382
1388
  }
1383
1389
  const probe = await runtimeProbe(runtime, descriptor);
1390
+ if (probe?.ok && probe.models) recordTargetModelSnapshot(descriptor, probe.models);
1384
1391
  if (probe) {
1385
1392
  process.stdout.write("\n");
1386
1393
  for (const line of probeLines(descriptor, probe)) process.stdout.write(`${line}
@@ -1548,4 +1555,4 @@ export {
1548
1555
  runTargetRename,
1549
1556
  runConfigureCommand
1550
1557
  };
1551
- //# sourceMappingURL=chunk-3V5AYSEQ.js.map
1558
+ //# sourceMappingURL=chunk-UXMFQ54G.js.map
@@ -801,6 +801,39 @@ var TraceReader = class {
801
801
  clampInt(limit, 1, TRACE_EVENT_POLL_LIMIT)
802
802
  );
803
803
  }
804
+ /**
805
+ * Per-kind event tallies for one run.
806
+ *
807
+ * Aggregated in SQL rather than by reading rows, so `payload_json` and the
808
+ * free-form event name are never loaded at all. That is the point: a caller
809
+ * that only ever wants shapes should not be holding the payloads in memory
810
+ * on the way to counting them.
811
+ */
812
+ eventKindCounts(runId) {
813
+ return this.db.prepare("SELECT type, COUNT(*) AS count FROM events WHERE run_id=? GROUP BY type ORDER BY count DESC, type").all(runId);
814
+ }
815
+ /** Total events and the wall span they cover, without reading one of them. */
816
+ eventSpan(runId) {
817
+ const row = this.db.prepare(
818
+ `SELECT COUNT(*) AS total, MIN(started_at) AS firstAt,
819
+ MAX(COALESCE(ended_at, started_at)) AS lastAt FROM events WHERE run_id=?`
820
+ ).get(runId);
821
+ return row ?? { total: 0, firstAt: null, lastAt: null };
822
+ }
823
+ /**
824
+ * Per-kind process tallies for one run.
825
+ *
826
+ * Same reason as {@link eventKindCounts}, and more sharply: a process row
827
+ * carries the command line, the pid, and the host, none of which a shape
828
+ * count needs.
829
+ */
830
+ processKindCounts(runId) {
831
+ return this.db.prepare(
832
+ `SELECT kind, COUNT(*) AS total,
833
+ SUM(CASE WHEN ended_at IS NULL THEN 1 ELSE 0 END) AS running
834
+ FROM processes WHERE run_id=? GROUP BY kind ORDER BY total DESC, kind`
835
+ ).all(runId);
836
+ }
804
837
  processes(runId) {
805
838
  return this.db.prepare("SELECT * FROM processes WHERE run_id=? ORDER BY ended_at IS NOT NULL, id").all(runId);
806
839
  }
@@ -1130,4 +1163,4 @@ export {
1130
1163
  TraceReader,
1131
1164
  createDispatchTraceMirror
1132
1165
  };
1133
- //# sourceMappingURL=chunk-YW7UVM5V.js.map
1166
+ //# sourceMappingURL=chunk-V5DHCITQ.js.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  sha256
4
- } from "./chunk-MLOK6ZOS.js";
4
+ } from "./chunk-B7OBL7PK.js";
5
5
  import {
6
6
  resolvePackageRoot
7
7
  } from "./chunk-IWHMRKLL.js";
@@ -225,4 +225,4 @@ export {
225
225
  renderCodewikiDigest,
226
226
  loadFragments
227
227
  };
228
- //# sourceMappingURL=chunk-47CMYGET.js.map
228
+ //# sourceMappingURL=chunk-VAZSBTKF.js.map
@@ -25,7 +25,7 @@ import {
25
25
  ceilChars,
26
26
  contentChars,
27
27
  estimateAgentMessageTokens
28
- } from "./chunk-AEYBF3TB.js";
28
+ } from "./chunk-UM7N4G5A.js";
29
29
  import {
30
30
  init_esm_shims
31
31
  } from "./chunk-3R73A4XB.js";
@@ -674,4 +674,4 @@ export {
674
674
  compactionCut,
675
675
  selectVisibleEntries
676
676
  };
677
- //# sourceMappingURL=chunk-3MRC2YSQ.js.map
677
+ //# sourceMappingURL=chunk-VEO4AP2K.js.map
@@ -10,7 +10,7 @@ import {
10
10
  DEFAULT_SETTINGS,
11
11
  THEME_NAMED_COLORS,
12
12
  THINKING_LEVELS
13
- } from "./chunk-XDOQXGFO.js";
13
+ } from "./chunk-GXNLGKAB.js";
14
14
  import {
15
15
  withStateFileLockSync
16
16
  } from "./chunk-IKCO5N3L.js";
@@ -20,7 +20,7 @@ import {
20
20
  import {
21
21
  clioConfigDir,
22
22
  resolveClioDirs
23
- } from "./chunk-BNAZZHFG.js";
23
+ } from "./chunk-BYP5D4HI.js";
24
24
  import {
25
25
  safeResourceWrite
26
26
  } from "./chunk-WEPFGWHJ.js";
@@ -818,6 +818,7 @@ var TOP_LEVEL_KEYS = [
818
818
  "compaction",
819
819
  "context",
820
820
  "prewarm",
821
+ "panes",
821
822
  "retry",
822
823
  "guardrails"
823
824
  ];
@@ -1370,6 +1371,49 @@ function validateSettings(raw) {
1370
1371
  }
1371
1372
  }
1372
1373
  }
1374
+ if ("panes" in raw) {
1375
+ if (!isPlainObject(raw.panes)) {
1376
+ issues.add("panes", `expected a map, got ${describe(raw.panes)}`);
1377
+ } else {
1378
+ issues.unknownKeys("panes", raw.panes, ["enabled", "agents", "keepFailed", "notifications", "journal", "yazi"]);
1379
+ if ("enabled" in raw.panes) {
1380
+ const v = expectEnum(issues, "panes.enabled", raw.panes.enabled, ["auto", "embedded", "off"]);
1381
+ if (v !== void 0) settings.panes.enabled = v;
1382
+ }
1383
+ if ("notifications" in raw.panes) {
1384
+ const v = expectEnum(issues, "panes.notifications", raw.panes.notifications, ["failures", "all", "off"]);
1385
+ if (v !== void 0) settings.panes.notifications = v;
1386
+ }
1387
+ if ("journal" in raw.panes) {
1388
+ const v = expectBoolean(issues, "panes.journal", raw.panes.journal);
1389
+ if (v !== void 0) settings.panes.journal = v;
1390
+ }
1391
+ if ("yazi" in raw.panes) {
1392
+ if (!isPlainObject(raw.panes.yazi)) {
1393
+ issues.add("panes.yazi", `expected a map, got ${describe(raw.panes.yazi)}`);
1394
+ } else {
1395
+ const yazi = raw.panes.yazi;
1396
+ issues.unknownKeys("panes.yazi", yazi, ["enabled", "mode", "profile", "followCwd"]);
1397
+ if ("enabled" in yazi) {
1398
+ const v = expectBoolean(issues, "panes.yazi.enabled", yazi.enabled);
1399
+ if (v !== void 0) settings.panes.yazi.enabled = v;
1400
+ }
1401
+ if ("mode" in yazi) {
1402
+ const v = expectEnum(issues, "panes.yazi.mode", yazi.mode, ["companion", "chooser"]);
1403
+ if (v !== void 0) settings.panes.yazi.mode = v;
1404
+ }
1405
+ if ("profile" in yazi) {
1406
+ const v = expectEnum(issues, "panes.yazi.profile", yazi.profile, ["managed", "user"]);
1407
+ if (v !== void 0) settings.panes.yazi.profile = v;
1408
+ }
1409
+ if ("followCwd" in yazi) {
1410
+ const v = expectBoolean(issues, "panes.yazi.followCwd", yazi.followCwd);
1411
+ if (v !== void 0) settings.panes.yazi.followCwd = v;
1412
+ }
1413
+ }
1414
+ }
1415
+ }
1416
+ }
1373
1417
  if ("retry" in raw) {
1374
1418
  if (!isPlainObject(raw.retry)) {
1375
1419
  issues.add("retry", `expected a map, got ${describe(raw.retry)}`);
@@ -1578,4 +1622,4 @@ export {
1578
1622
  removeFleetProfileFromSettings,
1579
1623
  bindAgentProfileInSettings
1580
1624
  };
1581
- //# sourceMappingURL=chunk-PNY46YEY.js.map
1625
+ //# sourceMappingURL=chunk-VFA6GDY5.js.map
@@ -0,0 +1,75 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ removeTool
4
+ } from "./chunk-BKFM6EJV.js";
5
+ import {
6
+ resolveToolBinary,
7
+ toolStatus,
8
+ toolStatuses
9
+ } from "./chunk-QSNYB6ZV.js";
10
+ import {
11
+ PINNED_TOOLS,
12
+ findPinnedTool
13
+ } from "./chunk-QDC3K2U3.js";
14
+ import {
15
+ init_esm_shims
16
+ } from "./chunk-3R73A4XB.js";
17
+
18
+ // src/domains/toolchain/index.ts
19
+ init_esm_shims();
20
+
21
+ // src/domains/toolchain/extension.ts
22
+ init_esm_shims();
23
+ function createToolchainBundle(_context) {
24
+ const extension = {
25
+ start() {
26
+ return void 0;
27
+ }
28
+ };
29
+ const contract = {
30
+ list() {
31
+ return PINNED_TOOLS;
32
+ },
33
+ get(id) {
34
+ return findPinnedTool(id);
35
+ },
36
+ resolve(name) {
37
+ return resolveToolBinary(name);
38
+ },
39
+ status(id) {
40
+ const entry = findPinnedTool(id);
41
+ return entry === null ? null : toolStatus(entry);
42
+ },
43
+ statuses() {
44
+ return toolStatuses();
45
+ },
46
+ async install(id, options = {}) {
47
+ const { installTool: installTool2 } = await import("./install-XGLBQY5E.js");
48
+ return installTool2(id, options);
49
+ },
50
+ remove(id, options = {}) {
51
+ return removeTool(id, options);
52
+ }
53
+ };
54
+ return { extension, contract };
55
+ }
56
+
57
+ // src/domains/toolchain/manifest.ts
58
+ init_esm_shims();
59
+ var ToolchainManifest = {
60
+ name: "toolchain",
61
+ // The registry is a static table plus filesystem lookups under the data
62
+ // root. It reads no settings and calls no other domain.
63
+ dependsOn: []
64
+ };
65
+
66
+ // src/domains/toolchain/index.ts
67
+ var ToolchainDomainModule = {
68
+ manifest: ToolchainManifest,
69
+ createExtension: createToolchainBundle
70
+ };
71
+
72
+ export {
73
+ ToolchainDomainModule
74
+ };
75
+ //# sourceMappingURL=chunk-VO67MWHC.js.map
@@ -62,7 +62,9 @@ var ROOT_FLAG_TOKENS = /* @__PURE__ */ new Set(["--help", "-h", "--all", "--vers
62
62
  var GLOBAL_ONLY_FLAGS = /* @__PURE__ */ new Map([
63
63
  ["--api-key", "--api-key <key>"],
64
64
  ["--no-context-files", "--no-context-files"],
65
- ["-nc", "-nc"]
65
+ ["-nc", "-nc"],
66
+ ["--with-panes", "--with-panes"],
67
+ ["--no-panes", "--no-panes"]
66
68
  ]);
67
69
  function globalFlagPositionHint(arg, command) {
68
70
  const usage = GLOBAL_ONLY_FLAGS.get(arg);
@@ -81,6 +83,7 @@ function extractGlobalFlags(argv, isSubcommand = () => false) {
81
83
  let apiKey;
82
84
  let noContextFiles = false;
83
85
  let noSkills = false;
86
+ let panes;
84
87
  const skillPaths = [];
85
88
  for (let i = 0; i < argv.length; i++) {
86
89
  const arg = argv[i];
@@ -93,6 +96,10 @@ function extractGlobalFlags(argv, isSubcommand = () => false) {
93
96
  rest.push(...argv.slice(i));
94
97
  break;
95
98
  }
99
+ if (arg === "--acp") {
100
+ rest.push("acp", ...argv.slice(i + 1));
101
+ break;
102
+ }
96
103
  if (ROOT_FLAG_TOKENS.has(arg)) {
97
104
  rest.push(arg);
98
105
  continue;
@@ -105,6 +112,10 @@ function extractGlobalFlags(argv, isSubcommand = () => false) {
105
112
  noSkills = true;
106
113
  continue;
107
114
  }
115
+ if (arg === "--with-panes" || arg === "--no-panes") {
116
+ panes = arg === "--with-panes" ? "with" : "without";
117
+ continue;
118
+ }
108
119
  if (arg === "--api-key" || arg === "--skill") {
109
120
  const value = argv[i + 1];
110
121
  if (value === void 0 || value.startsWith("-") || isSubcommand(value)) {
@@ -114,7 +125,8 @@ function extractGlobalFlags(argv, isSubcommand = () => false) {
114
125
  skillPaths,
115
126
  rest,
116
127
  error: `${arg} requires a value`,
117
- ...apiKey === void 0 ? {} : { apiKey }
128
+ ...apiKey === void 0 ? {} : { apiKey },
129
+ ...panes === void 0 ? {} : { panes }
118
130
  };
119
131
  }
120
132
  if (arg === "--api-key") apiKey = value;
@@ -128,7 +140,8 @@ function extractGlobalFlags(argv, isSubcommand = () => false) {
128
140
  skillPaths,
129
141
  rest,
130
142
  error: unknownGlobalOptionError(arg),
131
- ...apiKey === void 0 ? {} : { apiKey }
143
+ ...apiKey === void 0 ? {} : { apiKey },
144
+ ...panes === void 0 ? {} : { panes }
132
145
  };
133
146
  }
134
147
  return {
@@ -136,7 +149,8 @@ function extractGlobalFlags(argv, isSubcommand = () => false) {
136
149
  noSkills,
137
150
  skillPaths,
138
151
  rest,
139
- ...apiKey === void 0 ? {} : { apiKey }
152
+ ...apiKey === void 0 ? {} : { apiKey },
153
+ ...panes === void 0 ? {} : { panes }
140
154
  };
141
155
  }
142
156
 
@@ -152,4 +166,4 @@ export {
152
166
  globalFlagPositionHint,
153
167
  extractGlobalFlags
154
168
  };
155
- //# sourceMappingURL=chunk-XK56QHLX.js.map
169
+ //# sourceMappingURL=chunk-VPKWYKEY.js.map