@iowarp/clio-coder 0.3.9 → 0.4.1

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 (733) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/NOTICE +33 -0
  3. package/README.md +121 -16
  4. package/dist/{acp-7LOELQFP.js → acp-ZILU3AUO.js} +19 -18
  5. package/dist/{agents-FIBG2SHA.js → agents-HYWGBGQR.js} +53 -39
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-OI4LIH2I.js → auth-N3QT7CBO.js} +24 -21
  8. package/dist/{builtins-AD25UL3C.js → builtins-UJLMOVOV.js} +6 -6
  9. package/dist/{chunk-I4HZDVNP.js → chunk-2LEAKD4C.js} +2 -3
  10. package/dist/{chunk-465CC7FK.js → chunk-2NM363SV.js} +60 -64
  11. package/dist/{chunk-4H6ULJ3H.js → chunk-2VG7KLYV.js} +1046 -1370
  12. package/dist/{chunk-SST6Z5JA.js → chunk-336NSSKI.js} +1 -1
  13. package/dist/{chunk-NZU6YDNV.js → chunk-3I5NY75V.js} +5 -5
  14. package/dist/{chunk-47CMYGET.js → chunk-3QSOM6PA.js} +2 -2
  15. package/dist/chunk-42FMPA75.js +101 -0
  16. package/dist/{chunk-HAY4ZE2P.js → chunk-5PSMVOLM.js} +2 -2
  17. package/dist/{chunk-IHKBWSXF.js → chunk-5QIAJV2D.js} +3 -3
  18. package/dist/chunk-5YHDIDBP.js +97 -0
  19. package/dist/chunk-6CCS4G3W.js +1529 -0
  20. package/dist/{chunk-2JDWVJND.js → chunk-6DWBAZ5U.js} +2 -2
  21. package/dist/{chunk-BVDVID7E.js → chunk-6FN3E6KX.js} +6 -6
  22. package/dist/{chunk-DG4M6ZUE.js → chunk-6HMJX2VU.js} +59 -59
  23. package/dist/{chunk-3MRC2YSQ.js → chunk-6I5ILFOF.js} +3 -2
  24. package/dist/chunk-6NJQITNH.js +1412 -0
  25. package/dist/chunk-6VC4OV3Z.js +365 -0
  26. package/dist/{chunk-LU7P4LHA.js → chunk-72GZI5EV.js} +2 -2
  27. package/dist/{chunk-5T7RBWN2.js → chunk-74YWRRU5.js} +9 -8
  28. package/dist/{chunk-VPTUJU4P.js → chunk-7EPLI7VL.js} +2 -2
  29. package/dist/{chunk-CA42X6KT.js → chunk-7OBGU7UB.js} +7 -7
  30. package/dist/{chunk-56KB5IJP.js → chunk-7PWAODYW.js} +3 -3
  31. package/dist/chunk-7RY5VZPH.js +573 -0
  32. package/dist/{chunk-OEDBCISO.js → chunk-ABLSQ6JX.js} +3 -3
  33. package/dist/{chunk-5HFBWUMU.js → chunk-AFKWHWXF.js} +13 -23
  34. package/dist/{chunk-FWDFM5ZU.js → chunk-AK5XEFVZ.js} +3 -3
  35. package/dist/{chunk-WXCJ7VME.js → chunk-AKB4GYDL.js} +7 -7
  36. package/dist/chunk-AP73CFDC.js +308 -0
  37. package/dist/{chunk-4LJX2PUC.js → chunk-BBTJOK6Y.js} +5 -5
  38. package/dist/{chunk-QQ7EKM72.js → chunk-BDPT6GTK.js} +13 -61
  39. package/dist/chunk-BJGUKIG4.js +302 -0
  40. package/dist/chunk-BMS5RKQY.js +27 -0
  41. package/dist/{chunk-TD7UE2L5.js → chunk-BTGG6BG2.js} +81 -40
  42. package/dist/chunk-BTK3SSSK.js +67 -0
  43. package/dist/{chunk-M6L6IDJG.js → chunk-BWH6N36D.js} +1 -1
  44. package/dist/chunk-BWW4HLO4.js +301 -0
  45. package/dist/{chunk-BNAZZHFG.js → chunk-BYP5D4HI.js} +1 -1
  46. package/dist/{chunk-HJB5IUKP.js → chunk-C537JADH.js} +18 -18
  47. package/dist/{chunk-774ILSRL.js → chunk-CDNVLKUX.js} +5 -4
  48. package/dist/{chunk-HPCTNZM2.js → chunk-CTJ4RNAA.js} +4 -4
  49. package/dist/{chunk-AEYBF3TB.js → chunk-CWVRRIEI.js} +2 -2
  50. package/dist/chunk-D4CJV46V.js +462 -0
  51. package/dist/chunk-D7E7WCDF.js +27 -0
  52. package/dist/{chunk-5PVQ4SRS.js → chunk-E67WX76H.js} +10 -126
  53. package/dist/{chunk-FQ4SKYE4.js → chunk-EBY63B7G.js} +2 -5
  54. package/dist/chunk-EIMVLWB3.js +1842 -0
  55. package/dist/{chunk-AMKHQW3C.js → chunk-FEFIFZTL.js} +3 -3
  56. package/dist/{chunk-RAPCMZL4.js → chunk-FSP7CMNU.js} +9 -1
  57. package/dist/{chunk-3DUR4WUA.js → chunk-FYUN5KZ3.js} +25 -25
  58. package/dist/{chunk-MV3K5QF2.js → chunk-GCSMB2KY.js} +2 -2
  59. package/dist/chunk-GIZNH63R.js +40 -0
  60. package/dist/chunk-GPPB3JBE.js +688 -0
  61. package/dist/{chunk-B5XRQOLB.js → chunk-GVQJ5CCZ.js} +17 -11
  62. package/dist/chunk-HHV2GANA.js +88 -0
  63. package/dist/chunk-HJWWJ6IL.js +184 -0
  64. package/dist/{chunk-RKRLDWD3.js → chunk-HLW2MRKE.js} +1 -1
  65. package/dist/chunk-HRQMFLJP.js +75 -0
  66. package/dist/{chunk-AD7Y7STJ.js → chunk-HUAS7ITX.js} +107 -97
  67. package/dist/{chunk-O6I4CIEU.js → chunk-I66EAJFY.js} +6 -6
  68. package/dist/{chunk-S4COXYBG.js → chunk-IG7BCQBA.js} +129 -106
  69. package/dist/{chunk-N3PBVRTZ.js → chunk-IXJT6DCX.js} +9 -7
  70. package/dist/chunk-J4HBWF6Y.js +2635 -0
  71. package/dist/chunk-J5LZHVIT.js +284 -0
  72. package/dist/{chunk-GAYUJ7LE.js → chunk-JA5QWE4Z.js} +544 -227
  73. package/dist/{chunk-B5CSFE7B.js → chunk-JIEGK6UF.js} +6 -174
  74. package/dist/{chunk-VKBMFOYV.js → chunk-JZWT5J3Y.js} +23 -27
  75. package/dist/chunk-K6BF4U2H.js +1785 -0
  76. package/dist/{chunk-CGKSTWHD.js → chunk-K6BSR66V.js} +2 -1
  77. package/dist/{chunk-YSEHGPCT.js → chunk-MA3H6DM5.js} +6 -6
  78. package/dist/{chunk-EBOC7MT3.js → chunk-MOPSG2X7.js} +9 -9
  79. package/dist/{chunk-KV2AOLDF.js → chunk-MQXIVJ35.js} +18 -29
  80. package/dist/{chunk-P3JGPQFL.js → chunk-N5UK64DP.js} +4 -4
  81. package/dist/chunk-NDDGJUXD.js +81 -0
  82. package/dist/chunk-NEKRRTYW.js +56 -0
  83. package/dist/{chunk-4ZG3XFUR.js → chunk-NLFAQR7Z.js} +12 -1
  84. package/dist/{chunk-VO2LKSTM.js → chunk-O42A54GG.js} +2 -2
  85. package/dist/{chunk-T3Z6VAAF.js → chunk-OJTRZGR3.js} +53 -92
  86. package/dist/{chunk-5DQRIYDZ.js → chunk-PBP4B7XR.js} +3 -3
  87. package/dist/{chunk-NQ6UCCOD.js → chunk-PJJ6MY27.js} +8 -8
  88. package/dist/chunk-PMZCIOCJ.js +25 -0
  89. package/dist/{chunk-ZGVHUX3M.js → chunk-PMZVFWSR.js} +2 -2
  90. package/dist/{chunk-7C6RYZGQ.js → chunk-PVAMAVBB.js} +5 -4
  91. package/dist/chunk-QDC3K2U3.js +262 -0
  92. package/dist/{chunk-JEQQR47K.js → chunk-QKIFBZKT.js} +173 -14
  93. package/dist/{chunk-R7LNVMCS.js → chunk-QMXC4JB7.js} +70 -78
  94. package/dist/chunk-QSNYB6ZV.js +195 -0
  95. package/dist/chunk-QTFGO774.js +644 -0
  96. package/dist/{chunk-ODFEOB4F.js → chunk-R23Z6K6I.js} +27 -9
  97. package/dist/{chunk-3UUY7R3Z.js → chunk-R32CLGZ6.js} +14 -14
  98. package/dist/chunk-R346GLFC.js +31 -0
  99. package/dist/chunk-RKSR6VSF.js +132 -0
  100. package/dist/{chunk-N5XKWMDW.js → chunk-SCYB3HA4.js} +73 -27
  101. package/dist/{chunk-PZ4I4JE2.js → chunk-SINK3QR6.js} +135 -125
  102. package/dist/{chunk-5QKCQQ3E.js → chunk-SUW5DORT.js} +2 -2
  103. package/dist/chunk-T56WDKA5.js +183 -0
  104. package/dist/{chunk-ECUO3KDP.js → chunk-TD3PGPQA.js} +87 -26
  105. package/dist/{chunk-HKO36JWF.js → chunk-THYWACCR.js} +31 -3
  106. package/dist/{chunk-LXPJXFM5.js → chunk-TVH4ONAM.js} +18 -12
  107. package/dist/chunk-TVHHYFHE.js +255 -0
  108. package/dist/chunk-U2WB7TZS.js +271 -0
  109. package/dist/{chunk-NNNWO6F2.js → chunk-UAPGZHYC.js} +237 -33
  110. package/dist/{chunk-MIX5N5AC.js → chunk-UEDMSP56.js} +415 -160
  111. package/dist/{chunk-WIE7ZOSW.js → chunk-UXN6JT4W.js} +3 -3
  112. package/dist/{chunk-CMZWFGD2.js → chunk-VAVR4IJY.js} +19 -15
  113. package/dist/{chunk-MV2VUEJC.js → chunk-VEGN6WIQ.js} +2 -2
  114. package/dist/chunk-VKFQTNDV.js +66 -0
  115. package/dist/{chunk-FALJGAWU.js → chunk-VKRH2TCS.js} +2 -2
  116. package/dist/{chunk-A2NJGIB3.js → chunk-VN3SHNBN.js} +2 -2
  117. package/dist/{chunk-XK56QHLX.js → chunk-VPKWYKEY.js} +19 -5
  118. package/dist/{chunk-UOSL25KY.js → chunk-VXMFAE2W.js} +1 -1
  119. package/dist/{chunk-EQ63NRB7.js → chunk-WNP7O5WZ.js} +3 -3
  120. package/dist/chunk-WR6U3OVP.js +45 -0
  121. package/dist/{chunk-TEO2TLVN.js → chunk-XKA2ICR3.js} +1051 -1196
  122. package/dist/{chunk-3V5AYSEQ.js → chunk-Y45G3AXC.js} +72 -65
  123. package/dist/{chunk-J5Q24KAG.js → chunk-Y4CAGMM6.js} +2 -2
  124. package/dist/chunk-YAKGTXEV.js +17 -0
  125. package/dist/{chunk-ZI647VB5.js → chunk-YPI3QQCF.js} +2 -2
  126. package/dist/{chunk-YW7UVM5V.js → chunk-ZAZB4JMW.js} +55 -11
  127. package/dist/{chunk-HCBCAYZU.js → chunk-ZJLUDYFY.js} +11 -11
  128. package/dist/{chunk-HKIYEGME.js → chunk-ZTJUVLTU.js} +2 -2
  129. package/dist/{chunk-IFBNV6H6.js → chunk-ZW55JB7N.js} +3 -3
  130. package/dist/cli/index.js +48 -37
  131. package/dist/clio-IT3G3VQH.js +25 -0
  132. package/dist/{code-nav-LMW275PA.js → code-nav-RK6S7F6E.js} +8 -8
  133. package/dist/codewiki/build-worker.js +1 -1
  134. package/dist/{compile-cache-CVJMMODC.js → compile-cache-OQAVB7Y5.js} +3 -5
  135. package/dist/{components-ZFA3SAER.js → components-UBWCQSRW.js} +6 -6
  136. package/dist/{config-RXS5T3JT.js → config-3QZRWZJF.js} +73 -61
  137. package/dist/configure-FL7Y3KJF.js +54 -0
  138. package/dist/{context-MVOORGMF.js → context-5HE7ODYK.js} +61 -49
  139. package/dist/{context-I3BTOTCS.js → context-KYQFRVDC.js} +11 -11
  140. package/dist/{context-PALKKQYL.js → context-XNHL75JV.js} +43 -28
  141. package/dist/{context-clear-N2WOYZ2K.js → context-clear-N545L53A.js} +60 -48
  142. package/dist/{context-working-set-MIEVECVZ.js → context-working-set-QHKXSV2F.js} +15 -13
  143. package/dist/{dispatch-runner-VVA4SRRH.js → dispatch-runner-RGIE5PCT.js} +109 -72
  144. package/dist/{docs-7LQ23DLM.js → docs-5NAF6AU7.js} +7 -13
  145. package/dist/doctor-ZGPEGHIP.js +772 -0
  146. package/dist/{eval-IJ5VEZDJ.js → eval-GXLL44RD.js} +106 -86
  147. package/dist/eval-inventory-HBWSWQOK.js +315 -0
  148. package/dist/{evidence-L5APPXNV.js → evidence-HWLBRH3Q.js} +209 -51
  149. package/dist/{evolve-RGNKFJ52.js → evolve-FTZBMNVW.js} +57 -45
  150. package/dist/{extensions-7WYWUX5A.js → extensions-VHRBEID7.js} +7 -7
  151. package/dist/{fleet-6CNVBZZP.js → fleet-CKZHJWZJ.js} +215 -114
  152. package/dist/{fleet-commands-L2SXSYEI.js → fleet-commands-EXDXBMV6.js} +13 -12
  153. package/dist/fleet-decisions-OTHB6KRL.js +157 -0
  154. package/dist/{fleet-graph-2J3OOIPO.js → fleet-graph-YTEZUCUT.js} +20 -17
  155. package/dist/fleet-inspect-SS6YMDCK.js +445 -0
  156. package/dist/{fleet-preflight-CZRJ4JP5.js → fleet-preflight-PBY4VYOM.js} +6 -9
  157. package/dist/{fleet-validate-C5RI6DP7.js → fleet-validate-KMEM5L3S.js} +25 -20
  158. package/dist/fleet-verify-QD5M7E7Q.js +178 -0
  159. package/dist/fleet-view-WAMJYNDT.js +94 -0
  160. package/dist/{init-VBN2ACVA.js → init-5XQRBOFV.js} +79 -66
  161. package/dist/install-NKNG7KD4.js +13 -0
  162. package/dist/interop-34TVO25M.js +116 -0
  163. package/dist/{library-JHGUMLY2.js → library-3QY6KF57.js} +25 -21
  164. package/dist/{memory-K4OQIYWG.js → memory-L4UTIIIW.js} +59 -47
  165. package/dist/{models-2NCZUWDD.js → models-ZVX3QOWE.js} +47 -37
  166. package/dist/{monitor-MMVTJABD.js → monitor-CEKVSYTS.js} +67 -57
  167. package/dist/{orchestrator-ZKBPCHW6.js → orchestrator-77BAP6BC.js} +7633 -7699
  168. package/dist/panes-7STHOAUJ.js +103 -0
  169. package/dist/panes-SHAUIRXY.js +60 -0
  170. package/dist/{paths-DBXMZMDU.js → paths-L7LGY6RN.js} +6 -6
  171. package/dist/{reset-DD5JGOY3.js → reset-EOLM7GVE.js} +15 -14
  172. package/dist/resources-74GKTLSF.js +115 -0
  173. package/dist/{run-QEGNX7FL.js → run-HBAUJNNZ.js} +139 -98
  174. package/dist/{share-JKD3BQMW.js → share-G3APVLVP.js} +25 -21
  175. package/dist/{skills-LMQIKDOZ.js → skills-35HHUKCR.js} +37 -27
  176. package/dist/{skills-eval-I7X2774U.js → skills-eval-QN4HSHDC.js} +80 -73
  177. package/dist/skills-inventory-J357J34F.js +129 -0
  178. package/dist/slash-commands-JZZCQA32.js +79 -0
  179. package/dist/{steer-CF5TDANS.js → steer-XAVHJM22.js} +4 -4
  180. package/dist/{support-I7LOJLIF.js → support-U7QOWY26.js} +7 -7
  181. package/dist/{targets-RUSR6B5Z.js → targets-DSM6CY3M.js} +67 -59
  182. package/dist/{terminal-lease-QYVORFR4.js → terminal-lease-JOPFUVEM.js} +15 -10
  183. package/dist/tools-MKNWVPBH.js +29 -0
  184. package/dist/{trace-ODOQIVIW.js → trace-ECQ7TIYZ.js} +194 -7
  185. package/dist/tui-primitives-K5PASC3O.js +17 -0
  186. package/dist/{uninstall-ZJF5H5ZN.js → uninstall-N34PCTGJ.js} +6 -8
  187. package/dist/{upgrade-XANW3FXB.js → upgrade-H7TOM7YL.js} +37 -62
  188. package/dist/{usage-4H7ZRXQT.js → usage-X52N3IDJ.js} +70 -59
  189. package/dist/{verifiers-UZXNBZEB.js → verifiers-EJTVVSMA.js} +174 -14
  190. package/dist/{verify-BVKWTNDL.js → verify-YJL6XET2.js} +12 -11
  191. package/dist/{web-fetch-2YHJ3KTG.js → web-fetch-MPIFL3LL.js} +3 -4
  192. package/dist/{wiki-generate-MY7WV2QI.js → wiki-generate-4NDZTQ4B.js} +86 -75
  193. package/dist/with-panes-OBOBFIIR.js +818 -0
  194. package/dist/worker/entry.js +131 -91
  195. package/docs/README.md +3 -2
  196. package/docs/acp.md +25 -4
  197. package/docs/alcf-provider.md +1 -1
  198. package/docs/architecture.md +2 -2
  199. package/docs/artifact-versions.md +4 -1
  200. package/docs/built-in-agents.md +40 -32
  201. package/docs/capacity-and-scheduling.md +43 -5
  202. package/docs/commands-and-modes.md +39 -4
  203. package/docs/config-knobs-audit.md +3 -0
  204. package/docs/configuration-and-targets.md +138 -167
  205. package/docs/context-engine.md +1 -1
  206. package/docs/development-pipeline.md +19 -0
  207. package/docs/dispatch-typed-intent.md +385 -0
  208. package/docs/documentation-coverage.md +2 -2
  209. package/docs/documentation-guide.md +1 -1
  210. package/docs/environment-variables.md +3 -1
  211. package/docs/eval-runner.md +1 -1
  212. package/docs/evals-internal.md +1 -1
  213. package/docs/evidence-and-memory.md +2 -2
  214. package/docs/evolution.md +1 -1
  215. package/docs/exit-codes-and-output.md +3 -1
  216. package/docs/extensions-and-sharing.md +25 -1
  217. package/docs/fleet-demo-runbook.md +6 -3
  218. package/docs/fleet-dispatch.md +30 -7
  219. package/docs/installation-and-lifecycle.md +16 -3
  220. package/docs/middleware-and-components.md +1 -1
  221. package/docs/model-catalog.md +10 -1
  222. package/docs/observability.md +3 -3
  223. package/docs/proactive-memory.md +1 -1
  224. package/docs/prompt-envelope-and-tools.md +1 -1
  225. package/docs/provider-adapter-cookbook.md +1 -1
  226. package/docs/release-cut-checklist.md +164 -177
  227. package/docs/safety-model.md +2 -2
  228. package/docs/scientific-validation.md +3 -3
  229. package/docs/session-lifecycle.md +1 -1
  230. package/docs/skills-marketplace.md +1 -1
  231. package/docs/tool-usage.md +18 -8
  232. package/docs/trace-store.md +16 -11
  233. package/docs/troubleshooting.md +2 -2
  234. package/docs/tui-design.md +1 -1
  235. package/docs/worker-dispatch-mechanics.md +1 -1
  236. package/evals/README.md +5 -0
  237. package/evals/behavioral-corpus-grader.mjs +103 -0
  238. package/evals/behavioral-machinery-baseline.json +2276 -0
  239. package/evals/behavioral-machinery-driver.ts +250 -0
  240. package/evals/behavioral-machinery-support.ts +253 -0
  241. package/evals/behavioral-machinery.yaml +614 -0
  242. package/evals/behavioral-model-negative-control.yaml +68 -0
  243. package/evals/behavioral-model.yaml +216 -0
  244. package/evals/fixtures/behavioral-facts.txt +3 -0
  245. package/evals/fixtures/behavioral-main.ts +7 -0
  246. package/evals/fixtures/decoy/note.txt +2 -0
  247. package/evals/fixtures/private/credentials.txt +1 -0
  248. package/evals/tracked-metrics-baseline.yaml +229 -0
  249. package/evals/tracked-metrics-grader.mjs +129 -0
  250. package/package.json +8 -16
  251. package/skills/README.md +6 -6
  252. package/skills/coding/ast-grep/SKILL.md +8 -2
  253. package/skills/coding/coding-standards/SKILL.md +8 -2
  254. package/skills/coding/prototype/SKILL.md +8 -2
  255. package/skills/coding/tdd/SKILL.md +8 -2
  256. package/skills/context/context-handoff/SKILL.md +12 -3
  257. package/skills/context/context-handoff/evals.md +3 -3
  258. package/skills/context/context-prime/SKILL.md +8 -2
  259. package/skills/context/context-prime/evals.md +2 -2
  260. package/skills/git/file-ticket/SKILL.md +9 -4
  261. package/skills/git/file-ticket/evals.md +2 -2
  262. package/skills/git/fix-issue/SKILL.md +12 -5
  263. package/skills/git/fix-issue/evals.md +4 -4
  264. package/skills/git/resolve-merge-conflicts/SKILL.md +8 -2
  265. package/skills/git/resolve-merge-conflicts/evals.md +2 -2
  266. package/skills/git/ship/SKILL.md +9 -3
  267. package/skills/git/ship/evals.md +4 -4
  268. package/skills/git/worktree-create/SKILL.md +7 -2
  269. package/skills/git/worktree-create/evals.md +6 -6
  270. package/skills/git/worktree-merge/SKILL.md +7 -2
  271. package/skills/git/worktree-merge/evals.md +6 -6
  272. package/skills/meta/{clio-dev → clio-coder-dev}/SKILL.md +14 -8
  273. package/skills/meta/{clio-dev → clio-coder-dev}/evals.md +3 -3
  274. package/skills/meta/{clio-test → clio-coder-test}/SKILL.md +11 -5
  275. package/skills/meta/{clio-test → clio-coder-test}/evals.md +1 -1
  276. package/skills/meta/credentials/SKILL.md +9 -2
  277. package/skills/meta/find-skills/SKILL.md +8 -2
  278. package/skills/meta/herdr/SKILL.md +8 -2
  279. package/skills/meta/skill-craft/SKILL.md +21 -4
  280. package/skills/planning/architecture/SKILL.md +9 -3
  281. package/skills/planning/backlog/SKILL.md +8 -2
  282. package/skills/planning/prd/SKILL.md +8 -2
  283. package/skills/planning/product-intent/SKILL.md +8 -2
  284. package/skills/planning/tech-spec/SKILL.md +9 -3
  285. package/skills/registry.yaml +66 -66
  286. package/skills/research/arxiv-literature/SKILL.md +8 -2
  287. package/skills/research/experiment-protocol/SKILL.md +9 -2
  288. package/skills/research/scientific-debugging/SKILL.md +9 -2
  289. package/skills/research/scientific-debugging/evals.md +2 -2
  290. package/skills/research/scientific-modernization/SKILL.md +9 -2
  291. package/skills/skill-marketplace.json +257 -38
  292. package/skills/workflow/cut-it/SKILL.md +10 -2
  293. package/skills/workflow/design-council/SKILL.md +11 -2
  294. package/skills/workflow/grill-me/SKILL.md +8 -2
  295. package/skills/workflow/workflow-distiller/SKILL.md +8 -2
  296. package/src/cli/acp.ts +8 -4
  297. package/src/cli/argv.ts +25 -0
  298. package/src/cli/auth.ts +2 -2
  299. package/src/cli/bootstrap-generate.ts +5 -5
  300. package/src/cli/clio.ts +6 -1
  301. package/src/cli/config-inspect.ts +3 -3
  302. package/src/cli/configure-interop.ts +1 -1
  303. package/src/cli/configure.ts +50 -48
  304. package/src/cli/default-target.ts +1 -1
  305. package/src/cli/docs.ts +6 -6
  306. package/src/cli/doctor-naming.ts +323 -0
  307. package/src/cli/doctor-panes.ts +156 -0
  308. package/src/cli/doctor-toolchain.ts +78 -0
  309. package/src/cli/doctor.ts +34 -1
  310. package/src/cli/eval-inventory.ts +436 -0
  311. package/src/cli/eval.ts +13 -0
  312. package/src/cli/evidence-detail.ts +88 -0
  313. package/src/cli/evidence-inventory.ts +183 -0
  314. package/src/cli/evidence.ts +30 -5
  315. package/src/cli/fleet-decisions.ts +69 -0
  316. package/src/cli/fleet-inspect.ts +334 -0
  317. package/src/cli/fleet-preflight.ts +1 -1
  318. package/src/cli/fleet-verify.ts +133 -0
  319. package/src/cli/fleet-view.ts +827 -0
  320. package/src/cli/fleet.ts +154 -40
  321. package/src/cli/index.ts +14 -2
  322. package/src/cli/interop-inspect.ts +128 -0
  323. package/src/cli/interop.ts +34 -0
  324. package/src/cli/models.ts +3 -3
  325. package/src/cli/modes/print.ts +1 -1
  326. package/src/cli/panes.ts +35 -0
  327. package/src/cli/reset.ts +6 -3
  328. package/src/cli/run.ts +67 -13
  329. package/src/cli/share.ts +1 -1
  330. package/src/cli/skills-eval.ts +11 -11
  331. package/src/cli/skills-inventory.ts +185 -0
  332. package/src/cli/skills.ts +16 -13
  333. package/src/cli/targets.ts +23 -24
  334. package/src/cli/tools.ts +321 -0
  335. package/src/cli/trace-inspect.ts +252 -0
  336. package/src/cli/trace.ts +64 -2
  337. package/src/cli/uninstall.ts +2 -2
  338. package/src/cli/upgrade.ts +29 -34
  339. package/src/cli/usage.ts +2 -2
  340. package/src/cli/validate-model.ts +1 -1
  341. package/src/cli/verifiers-inspect.ts +347 -0
  342. package/src/cli/verifiers.ts +9 -0
  343. package/src/cli/wiki-generate.ts +5 -5
  344. package/src/core/bash-exec.ts +1 -1
  345. package/src/core/boot-trace.ts +3 -3
  346. package/src/core/bus-events.ts +4 -0
  347. package/src/core/bus-trace.ts +2 -2
  348. package/src/core/compile-cache.ts +1 -1
  349. package/src/core/config.ts +1070 -845
  350. package/src/core/defaults.ts +342 -463
  351. package/src/core/domain-loader.ts +6 -4
  352. package/src/core/event-bus.ts +1 -1
  353. package/src/core/file-references.ts +78 -88
  354. package/src/core/git-commit-attribution.ts +3 -9
  355. package/src/core/guardrails.ts +24 -4
  356. package/src/core/naming-compat.ts +45 -0
  357. package/src/core/naming-events.ts +62 -0
  358. package/src/core/recent-models.ts +1 -7
  359. package/src/core/residency-protection.ts +4 -8
  360. package/src/core/resolve-config-value.ts +1 -1
  361. package/src/core/response-model-id.ts +0 -14
  362. package/src/core/response-schema.ts +44 -4
  363. package/src/core/session-routing.ts +84 -74
  364. package/src/core/skill-activation.ts +18 -0
  365. package/src/core/termination.ts +4 -4
  366. package/src/core/theme-token-hex.ts +43 -0
  367. package/src/core/timers.ts +2 -12
  368. package/src/core/tool-names.ts +2 -1
  369. package/src/core/xdg.ts +1 -1
  370. package/src/domains/agents/catalog.ts +2 -12
  371. package/src/domains/agents/extension.ts +3 -3
  372. package/src/domains/agents/fleets/build-review.md +0 -3
  373. package/src/domains/agents/fleets/build-test.md +0 -3
  374. package/src/domains/agents/registry.ts +7 -7
  375. package/src/domains/agents/result-contract-filesystem.ts +32 -0
  376. package/src/domains/agents/result-contract.ts +165 -36
  377. package/src/domains/agents/spec.ts +0 -11
  378. package/src/domains/config/classify.ts +37 -46
  379. package/src/domains/config/extension.ts +5 -5
  380. package/src/domains/config/keybindings.ts +48 -47
  381. package/src/domains/config/watcher.ts +1 -1
  382. package/src/domains/context/codewiki/indexer.ts +1 -1
  383. package/src/domains/context/extension.ts +3 -3
  384. package/src/domains/context/prompt-context.ts +1 -1
  385. package/src/domains/context/wiki/assemble.ts +2 -2
  386. package/src/domains/context/working-set/replay/metrics.ts +0 -4
  387. package/src/domains/context/working-set/replay/report.ts +1 -1
  388. package/src/domains/context/working-set/replay/synthetic.ts +2 -2
  389. package/src/domains/dispatch/active-route-planner.ts +2 -2
  390. package/src/domains/dispatch/admission-error.ts +9 -0
  391. package/src/domains/dispatch/admission.ts +22 -21
  392. package/src/domains/dispatch/agent-candidates.ts +1 -1
  393. package/src/domains/dispatch/agent-ledger-store.ts +1 -1
  394. package/src/domains/dispatch/agent-ledger.ts +1 -1
  395. package/src/domains/dispatch/assignment.ts +5 -5
  396. package/src/domains/dispatch/capacity-lease.ts +23 -6
  397. package/src/domains/dispatch/code-step.ts +1 -1
  398. package/src/domains/dispatch/contract.ts +2 -2
  399. package/src/domains/dispatch/council-topology.ts +398 -0
  400. package/src/domains/dispatch/extension.ts +287 -111
  401. package/src/domains/dispatch/fleet-node-prompt.ts +62 -0
  402. package/src/domains/dispatch/fleet-plan.ts +7 -2
  403. package/src/domains/dispatch/fleet-preflight.ts +8 -17
  404. package/src/domains/dispatch/fleet-run.ts +59 -3
  405. package/src/domains/dispatch/gate-decisions.ts +36 -15
  406. package/src/domains/dispatch/gate-role-prompts.ts +9 -0
  407. package/src/domains/dispatch/gate-topology.ts +289 -0
  408. package/src/domains/dispatch/index.ts +19 -0
  409. package/src/domains/dispatch/intent-compatibility.ts +330 -0
  410. package/src/domains/dispatch/intent.ts +85 -1
  411. package/src/domains/dispatch/joint-route-resolver.ts +1 -1
  412. package/src/domains/dispatch/path-scope.ts +0 -61
  413. package/src/domains/dispatch/placement.ts +2 -2
  414. package/src/domains/dispatch/receipt-findings.ts +1 -1
  415. package/src/domains/dispatch/receipt-integrity.ts +20 -8
  416. package/src/domains/dispatch/reservation-store.ts +24 -27
  417. package/src/domains/dispatch/route-decision.ts +1 -1
  418. package/src/domains/dispatch/route-history.ts +1 -1
  419. package/src/domains/dispatch/route-policy.ts +1 -1
  420. package/src/domains/dispatch/route-readiness.ts +0 -28
  421. package/src/domains/dispatch/run-event-journal-bridge.ts +149 -0
  422. package/src/domains/dispatch/run-event-journal.ts +599 -0
  423. package/src/domains/dispatch/state.ts +45 -1
  424. package/src/domains/dispatch/tool-stats.ts +1 -1
  425. package/src/domains/dispatch/transport.ts +2 -19
  426. package/src/domains/dispatch/types.ts +16 -3
  427. package/src/domains/dispatch/validation.ts +33 -8
  428. package/src/domains/dispatch/worker-protocol.ts +2 -2
  429. package/src/domains/eval/artifacts/store.ts +5 -4
  430. package/src/domains/eval/compare/compare.ts +3 -16
  431. package/src/domains/eval/compare/thresholds.ts +0 -8
  432. package/src/domains/eval/execution-provenance.ts +1 -1
  433. package/src/domains/eval/inventory.ts +113 -0
  434. package/src/domains/eval/metrics/token-stream.ts +0 -7
  435. package/src/domains/eval/report.ts +1 -1
  436. package/src/domains/eval/runner.ts +1 -1
  437. package/src/domains/eval/runners/clio-run.ts +7 -6
  438. package/src/domains/eval/runners/external-command.ts +4 -3
  439. package/src/domains/eval/schema/artifact.ts +1 -1
  440. package/src/domains/eval/schema/behavioral-metrics.ts +3 -2
  441. package/src/domains/eval/schema/behavioral.ts +7 -6
  442. package/src/domains/eval/schema/execution-envelope.ts +4 -2
  443. package/src/domains/eval/schema/naming.ts +10 -0
  444. package/src/domains/eval/schema/serving.ts +31 -0
  445. package/src/domains/eval/schema/suite.ts +2 -2
  446. package/src/domains/eval/schema/validate.ts +9 -5
  447. package/src/domains/eval/schema/verdict.ts +4 -2
  448. package/src/domains/eval/store.ts +12 -2
  449. package/src/domains/eval/suites/run.ts +12 -6
  450. package/src/domains/eval/types.ts +1 -1
  451. package/src/domains/eval/workspaces/git.ts +1 -1
  452. package/src/domains/eval/workspaces/temp-copy.ts +1 -1
  453. package/src/domains/evidence/build.ts +13 -5
  454. package/src/domains/evidence/store.ts +6 -0
  455. package/src/domains/interop/consent.ts +7 -7
  456. package/src/domains/interop/extension.ts +1 -1
  457. package/src/domains/lifecycle/doctor.ts +27 -21
  458. package/src/domains/lifecycle/migrations/2026-09-01-clio-coder-naming.ts +155 -0
  459. package/src/domains/lifecycle/migrations/2026-09-01-retire-panes-knobs.ts +59 -0
  460. package/src/domains/lifecycle/migrations/2026-09-01-settings-v2.ts +338 -0
  461. package/src/domains/lifecycle/migrations/index.ts +20 -1
  462. package/src/domains/lifecycle/naming-history.ts +153 -0
  463. package/src/domains/lifecycle/naming-mutable-state.ts +104 -0
  464. package/src/domains/lifecycle/naming-resources.ts +261 -0
  465. package/src/domains/lifecycle/naming-tool-markers.ts +139 -0
  466. package/src/domains/lifecycle/naming-yazi.ts +81 -0
  467. package/src/domains/lifecycle/upgrade-notice.ts +1 -1
  468. package/src/domains/memory/index.ts +0 -1
  469. package/src/domains/memory/task-memory-handoff.ts +6 -3
  470. package/src/domains/memory/task-memory-policy.ts +6 -10
  471. package/src/domains/memory/task-memory-telemetry.ts +1 -0
  472. package/src/domains/middleware/index.ts +7 -0
  473. package/src/domains/middleware/marketplace-offer.ts +339 -0
  474. package/src/domains/middleware/memory-intervention.ts +33 -21
  475. package/src/domains/middleware/runtime.ts +2 -2
  476. package/src/domains/mux/contract.ts +566 -0
  477. package/src/domains/mux/detect.ts +182 -0
  478. package/src/domains/mux/dock-controller.ts +365 -0
  479. package/src/domains/mux/extension.ts +53 -0
  480. package/src/domains/mux/index.ts +116 -0
  481. package/src/domains/mux/manifest.ts +6 -0
  482. package/src/domains/mux/operations.ts +192 -0
  483. package/src/domains/mux/pane-registry.ts +90 -0
  484. package/src/domains/mux/protocol.ts +62 -0
  485. package/src/domains/mux/socket-client.ts +964 -0
  486. package/src/domains/mux/types.ts +265 -0
  487. package/src/domains/mux/viewer-command.ts +59 -0
  488. package/src/domains/mux/yazi/assets/init.lua +2 -0
  489. package/src/domains/mux/yazi/assets/plugins/git.yazi/LICENSE +21 -0
  490. package/src/domains/mux/yazi/assets/plugins/git.yazi/README.md +78 -0
  491. package/src/domains/mux/yazi/assets/plugins/git.yazi/main.lua +255 -0
  492. package/src/domains/mux/yazi/assets/plugins/git.yazi/types.lua +12 -0
  493. package/src/domains/mux/yazi/assets/yazi.toml +17 -0
  494. package/src/domains/mux/yazi/event-stream.ts +182 -0
  495. package/src/domains/mux/yazi/profile.ts +299 -0
  496. package/src/domains/mux/yazi/session.ts +251 -0
  497. package/src/domains/mux/yazi/theme.ts +30 -0
  498. package/src/domains/observability/cost.ts +21 -0
  499. package/src/domains/observability/extension.ts +1 -1
  500. package/src/domains/observability/index.ts +2 -0
  501. package/src/domains/observability/out-of-turn-usage.ts +2 -2
  502. package/src/domains/observability/projection.ts +1 -1
  503. package/src/domains/observability/trace-store.ts +63 -11
  504. package/src/domains/prompts/compiler.ts +2 -2
  505. package/src/domains/prompts/extension.ts +3 -3
  506. package/src/domains/prompts/fragments/identity/clio-worker.md +1 -1
  507. package/src/domains/prompts/fragments/operating/skills.md +25 -18
  508. package/src/domains/providers/endpoint-capacity.ts +154 -22
  509. package/src/domains/providers/endpoint-slots-store.ts +189 -0
  510. package/src/domains/providers/extension.ts +25 -8
  511. package/src/domains/providers/index.ts +22 -0
  512. package/src/domains/providers/knowledge-base-path.ts +1 -1
  513. package/src/domains/providers/model-runtime-capabilities.ts +46 -2
  514. package/src/domains/providers/models/cloud-models/alcf.yaml +1 -1
  515. package/src/domains/providers/models/local-models/{clio-local-coding-targets.yaml → clio-coder-local-coding-targets.yaml} +4 -4
  516. package/src/domains/providers/plugins.ts +1 -1
  517. package/src/domains/providers/resolver.ts +1 -1
  518. package/src/domains/providers/runtimes/boot-manifest.ts +1 -0
  519. package/src/domains/providers/runtimes/builtins.ts +2 -0
  520. package/src/domains/providers/runtimes/cloud/alcf.ts +4 -4
  521. package/src/domains/providers/runtimes/common/lmstudio-http.ts +1 -5
  522. package/src/domains/providers/runtimes/common/local-synth.ts +3 -3
  523. package/src/domains/providers/runtimes/common/probe-helpers.ts +2 -2
  524. package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
  525. package/src/domains/providers/runtimes/local-native/lmstudio.ts +2 -9
  526. package/src/domains/providers/runtimes/protocol/litellm.ts +285 -0
  527. package/src/domains/providers/support.ts +1 -0
  528. package/src/domains/providers/target-model-cache.ts +124 -0
  529. package/src/domains/providers/types/knowledge-base.ts +13 -0
  530. package/src/domains/providers/types/local-model-quirks.ts +2 -2
  531. package/src/domains/providers/types/target-descriptor.ts +3 -3
  532. package/src/domains/resources/extension.ts +1 -1
  533. package/src/domains/resources/index.ts +3 -0
  534. package/src/domains/resources/library.ts +6 -6
  535. package/src/domains/resources/prompts/loader.ts +1 -1
  536. package/src/domains/resources/skills/content-hash.ts +7 -6
  537. package/src/domains/resources/skills/evals.ts +1 -1
  538. package/src/domains/resources/skills/install.ts +36 -12
  539. package/src/domains/resources/skills/loader.ts +72 -13
  540. package/src/domains/resources/skills/marketplace.ts +21 -2
  541. package/src/domains/resources/skills/promotion.ts +214 -0
  542. package/src/domains/safety/action-classifier.ts +6 -0
  543. package/src/domains/safety/audit.ts +2 -2
  544. package/src/domains/safety/finish-contract.ts +2 -1
  545. package/src/domains/safety/run-effects.ts +1 -1
  546. package/src/domains/scheduling/extension.ts +4 -4
  547. package/src/domains/session/archive-readers.ts +9 -1
  548. package/src/domains/session/compaction/branch-summary.ts +4 -0
  549. package/src/domains/session/compaction/compact.ts +1 -1
  550. package/src/domains/session/compaction/tokens.ts +4 -0
  551. package/src/domains/session/context-accounting.ts +1 -1
  552. package/src/domains/session/decision-board.ts +1 -1
  553. package/src/domains/session/extension.ts +1 -1
  554. package/src/domains/session/handoff.ts +2 -2
  555. package/src/domains/session/prompt-manifest.ts +0 -5
  556. package/src/domains/session/protected-artifact-journal.ts +12 -6
  557. package/src/domains/session/retry.ts +1 -1
  558. package/src/domains/share/archive.ts +85 -36
  559. package/src/domains/toolchain/archive.ts +175 -0
  560. package/src/domains/toolchain/contract.ts +28 -0
  561. package/src/domains/toolchain/extension.ts +47 -0
  562. package/src/domains/toolchain/index.ts +39 -0
  563. package/src/domains/toolchain/install.ts +327 -0
  564. package/src/domains/toolchain/manifest.ts +8 -0
  565. package/src/domains/toolchain/paths.ts +34 -0
  566. package/src/domains/toolchain/registry.ts +265 -0
  567. package/src/domains/toolchain/remove.ts +218 -0
  568. package/src/domains/toolchain/resolve.ts +182 -0
  569. package/src/domains/toolchain/types.ts +113 -0
  570. package/src/domains/toolchain/version.ts +88 -0
  571. package/src/engine/acp/adapter.ts +3 -3
  572. package/src/engine/acp/event-mapper.ts +3 -3
  573. package/src/engine/acp/server.ts +440 -96
  574. package/src/engine/acp/tool-mediator.ts +2 -2
  575. package/src/engine/acp/types.ts +20 -2
  576. package/src/engine/alcf-oauth.ts +5 -5
  577. package/src/engine/antigravity/subprocess-runtime.ts +2 -2
  578. package/src/engine/api-registry.ts +1 -1
  579. package/src/engine/apis/llamacpp-residency.ts +1 -19
  580. package/src/engine/apis/lmstudio.ts +1 -6
  581. package/src/engine/apis/ollama-native.ts +3 -3
  582. package/src/engine/apis/openai-completions.ts +2 -2
  583. package/src/engine/apis/residency.ts +3 -9
  584. package/src/engine/claude/sdk-module.ts +87 -0
  585. package/src/engine/claude/sdk-runtime.ts +25 -17
  586. package/src/engine/claude/subprocess-runtime.ts +1 -1
  587. package/src/engine/claude/tool-safety.ts +4 -4
  588. package/src/engine/loop-guard.ts +0 -5
  589. package/src/engine/session.ts +14 -7
  590. package/src/engine/tui-primitives.ts +21 -0
  591. package/src/engine/tui.ts +1 -0
  592. package/src/engine/worker-events.ts +6 -6
  593. package/src/engine/worker-runtime.ts +16 -26
  594. package/src/entry/boot-options.ts +2 -0
  595. package/src/entry/orchestrator.ts +207 -90
  596. package/src/entry/panes-activation.ts +31 -0
  597. package/src/entry/with-panes.ts +20 -0
  598. package/src/interactive/application-controller.ts +21 -21
  599. package/src/interactive/bus-notices.ts +2 -2
  600. package/src/interactive/chat-loop.ts +8 -8
  601. package/src/interactive/chat-panel.ts +1 -1
  602. package/src/interactive/clio-editor.ts +105 -1
  603. package/src/interactive/context-activity.ts +8 -6
  604. package/src/interactive/context-meter.ts +3 -6
  605. package/src/interactive/context-overlay.ts +2 -1
  606. package/src/interactive/cost-overlay.ts +3 -1
  607. package/src/interactive/council-grid.ts +3 -5
  608. package/src/interactive/council.ts +11 -0
  609. package/src/interactive/dispatch-board.ts +56 -49
  610. package/src/interactive/editor-bash.ts +21 -0
  611. package/src/interactive/editor-steer.ts +9 -4
  612. package/src/interactive/editor-submit.ts +24 -18
  613. package/src/interactive/external-editor.ts +1 -1
  614. package/src/interactive/file-reference-completion.ts +360 -0
  615. package/src/interactive/footer/dashboard.ts +15 -17
  616. package/src/interactive/footer/notifications.ts +14 -8
  617. package/src/interactive/footer/widgets.ts +2 -44
  618. package/src/interactive/interactive-application.ts +229 -62
  619. package/src/interactive/interactive-event-projection.ts +1 -1
  620. package/src/interactive/interactive-input-runtime.ts +9 -2
  621. package/src/interactive/interactive-presentation.ts +21 -16
  622. package/src/interactive/interactive-shell.ts +2 -2
  623. package/src/interactive/interactive-slash-runtime.ts +99 -23
  624. package/src/interactive/interactive-subscriptions.ts +1 -1
  625. package/src/interactive/interactive-tickers.ts +1 -1
  626. package/src/interactive/keybinding-manager.ts +4 -4
  627. package/src/interactive/layout.ts +1 -1
  628. package/src/interactive/memory-overlay.ts +3 -2
  629. package/src/interactive/modal-marker.ts +151 -0
  630. package/src/interactive/mutation-preview.ts +1 -1
  631. package/src/interactive/mux-bridge.ts +214 -0
  632. package/src/interactive/overlay-frame.ts +62 -14
  633. package/src/interactive/overlay-general-openers.ts +7 -2
  634. package/src/interactive/overlay-key-routing.ts +21 -10
  635. package/src/interactive/overlay-lifecycle.ts +20 -4
  636. package/src/interactive/overlay-model-selectors.ts +43 -6
  637. package/src/interactive/overlay-permission-lifecycle.ts +90 -22
  638. package/src/interactive/overlay-transitions.ts +18 -4
  639. package/src/interactive/overlays/agents.ts +3 -2
  640. package/src/interactive/overlays/ask-user.ts +161 -41
  641. package/src/interactive/overlays/auth-dialog.ts +1 -0
  642. package/src/interactive/overlays/context-reset.ts +29 -4
  643. package/src/interactive/overlays/cwd-fallback.ts +29 -4
  644. package/src/interactive/overlays/decisions.ts +15 -13
  645. package/src/interactive/overlays/extensions.ts +1 -0
  646. package/src/interactive/overlays/fleet-run-approval.ts +4 -3
  647. package/src/interactive/overlays/handoff-review.ts +3 -2
  648. package/src/interactive/overlays/help-reference.ts +2 -0
  649. package/src/interactive/overlays/interop.ts +2 -1
  650. package/src/interactive/overlays/library-install-confirm.ts +2 -1
  651. package/src/interactive/overlays/library-tabs.ts +28 -0
  652. package/src/interactive/overlays/list-overlay.ts +10 -1
  653. package/src/interactive/overlays/message-picker.ts +2 -1
  654. package/src/interactive/overlays/model-scope.ts +86 -0
  655. package/src/interactive/overlays/model-selector.ts +40 -31
  656. package/src/interactive/overlays/prompts.ts +11 -4
  657. package/src/interactive/overlays/session-selector.ts +3 -2
  658. package/src/interactive/overlays/settings-sections.ts +30 -0
  659. package/src/interactive/overlays/settings.ts +849 -268
  660. package/src/interactive/overlays/side-question.ts +3 -2
  661. package/src/interactive/overlays/skills-hub.ts +11 -19
  662. package/src/interactive/overlays/tree-selector.ts +3 -2
  663. package/src/interactive/pane-policy.ts +46 -0
  664. package/src/interactive/panes-runtime.ts +318 -0
  665. package/src/interactive/permission-overlay.ts +2 -2
  666. package/src/interactive/renderers/compaction-summary.ts +29 -0
  667. package/src/interactive/renderers/retry-status.ts +12 -4
  668. package/src/interactive/renderers/tool-execution.ts +4 -4
  669. package/src/interactive/renderers/worker-entry.ts +122 -14
  670. package/src/interactive/session-transcript.ts +3 -3
  671. package/src/interactive/slash-autocomplete.ts +454 -165
  672. package/src/interactive/slash-commands.ts +521 -189
  673. package/src/interactive/slash-spec.ts +160 -17
  674. package/src/interactive/status/controller.ts +2 -2
  675. package/src/interactive/stream-pacing-policy.ts +1 -1
  676. package/src/interactive/tasks-overlay.ts +21 -13
  677. package/src/interactive/terminal-lease.ts +6 -7
  678. package/src/interactive/theme/tokens.ts +3 -14
  679. package/src/interactive/turn-context.ts +58 -13
  680. package/src/interactive/turn-persistence.ts +2 -2
  681. package/src/interactive/turn-prewarm.ts +2 -2
  682. package/src/interactive/turn-runtime.ts +8 -8
  683. package/src/interactive/turn-state.ts +1 -1
  684. package/src/interactive/view/artifacts.ts +120 -9
  685. package/src/interactive/view/view-overlay.ts +14 -10
  686. package/src/interactive/watch-pane.ts +180 -0
  687. package/src/interactive/welcome-dashboard.ts +15 -15
  688. package/src/interactive/worker-progress.ts +11 -5
  689. package/src/interactive/worker-receipts.ts +20 -2
  690. package/src/interactive/worker-stream.ts +6 -4
  691. package/src/interactive/yazi-bridge.ts +451 -0
  692. package/src/tools/ask-user.ts +3 -3
  693. package/src/tools/bash.ts +1 -1
  694. package/src/tools/bootstrap.ts +26 -2
  695. package/src/tools/builtin-tool-catalog.ts +16 -1
  696. package/src/tools/compete-worktrees.ts +108 -17
  697. package/src/tools/context/index.ts +15 -1
  698. package/src/tools/core-bootstrap.ts +2 -1
  699. package/src/tools/dispatch-admission.ts +18 -5
  700. package/src/tools/dispatch-arguments.ts +21 -21
  701. package/src/tools/dispatch-plan.ts +0 -11
  702. package/src/tools/dispatch-run-events.ts +145 -28
  703. package/src/tools/dispatch-runner.ts +40 -13
  704. package/src/tools/dispatch-types.ts +15 -3
  705. package/src/tools/dispatch.ts +2 -2
  706. package/src/tools/executables.ts +17 -14
  707. package/src/tools/find.ts +1 -6
  708. package/src/tools/monitor.ts +4 -4
  709. package/src/tools/observation.ts +54 -4
  710. package/src/tools/observers.ts +0 -33
  711. package/src/tools/panes-surface.ts +38 -0
  712. package/src/tools/panes.ts +112 -0
  713. package/src/tools/policy.ts +10 -1
  714. package/src/tools/presentation.ts +1 -0
  715. package/src/tools/task-worktree.ts +28 -7
  716. package/src/tools/verify/authoring.ts +3 -6
  717. package/src/tools/verify/frontend.ts +1 -1
  718. package/src/tools/web-fetch.ts +1 -1
  719. package/src/worker/entry.ts +4 -3
  720. package/src/worker/protocol.ts +16 -14
  721. package/src/worker/spec-contract.ts +2 -2
  722. package/src/worker/stdin-demux.ts +2 -2
  723. package/dist/chunk-D73KXYPF.js +0 -37
  724. package/dist/chunk-MLOK6ZOS.js +0 -2888
  725. package/dist/chunk-PNY46YEY.js +0 -1581
  726. package/dist/chunk-XDOQXGFO.js +0 -515
  727. package/dist/chunk-YKOFT37S.js +0 -279
  728. package/dist/clio-LT5V7SSZ.js +0 -26
  729. package/dist/configure-2WYWSCSD.js +0 -49
  730. package/dist/doctor-TWBWFK5V.js +0 -165
  731. package/src/engine/apis/degraded-inference.ts +0 -95
  732. /package/skills/meta/{clio-test → clio-coder-test}/references/harness.md +0 -0
  733. /package/skills/meta/{clio-test → clio-coder-test}/references/test-map.md +0 -0
@@ -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-BDPT6GTK.js";
13
+ import {
14
+ initializeClioHome
15
+ } from "./chunk-7PWAODYW.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-ZW55JB7N.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-UEDMSP56.js";
37
41
  import {
38
42
  credentialsPresent
39
- } from "./chunk-LU7P4LHA.js";
43
+ } from "./chunk-72GZI5EV.js";
40
44
  import {
41
45
  readSettings,
42
46
  removeTargetFromSettings,
43
47
  settingsPath,
44
48
  updateSettings
45
- } from "./chunk-PNY46YEY.js";
49
+ } from "./chunk-EIMVLWB3.js";
46
50
  import {
47
51
  greetLmStudio,
48
52
  registerBuiltinRuntimes
49
- } from "./chunk-JEQQR47K.js";
53
+ } from "./chunk-QKIFBZKT.js";
50
54
  import {
51
55
  buildProviderSupportEntry,
52
56
  configuredTargetsForRuntime,
@@ -54,20 +58,20 @@ import {
54
58
  listKnownModelsForRuntime,
55
59
  listProviderSupportEntries,
56
60
  supportGroupLabel
57
- } from "./chunk-774ILSRL.js";
61
+ } from "./chunk-CDNVLKUX.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-WNP7O5WZ.js";
65
69
  import {
66
70
  getRuntimeRegistry
67
71
  } from "./chunk-NUGM5KR6.js";
68
72
  import {
69
73
  getCatalogModelForRuntime
70
- } from "./chunk-VO2LKSTM.js";
74
+ } from "./chunk-O42A54GG.js";
71
75
  import {
72
76
  init_esm_shims
73
77
  } from "./chunk-3R73A4XB.js";
@@ -115,7 +119,7 @@ function describe(proposal) {
115
119
  renderProposalEntry(proposal),
116
120
  "",
117
121
  `projectContext stays ${INHERITED_PROJECT_CONTEXT}: this agent receives your task text, never the project projection.`,
118
- `toolGovernance is clio-policy: its tool calls are gated by Clio safety.`
122
+ `toolGovernance is clio-coder-policy: its tool calls are gated by Clio safety.`
119
123
  ];
120
124
  if (proposal.needsNetworkInstall) {
121
125
  lines.push(`The ACP adapter is not installed locally; npx fetches it the first time you delegate.`);
@@ -335,7 +339,7 @@ Non-interactive flags:
335
339
  --force save a model outside the runtime catalog, or one the
336
340
  target does not advertise, without refusing
337
341
  --gateway mark the target as a gateway
338
- --lifecycle <user-managed|clio-managed>
342
+ --lifecycle <user-managed|clio-coder-managed>
339
343
  resident model lifecycle policy
340
344
  --set-orchestrator use this target for chat
341
345
  --set-background use this target for proactive task memory
@@ -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 = {
@@ -446,8 +451,8 @@ function parseSetupArgs(argv) {
446
451
  break;
447
452
  case "--lifecycle": {
448
453
  const v = need();
449
- if (v !== "user-managed" && v !== "clio-managed") {
450
- throw new Error("--lifecycle must be user-managed or clio-managed");
454
+ if (v !== "user-managed" && v !== "clio-coder-managed") {
455
+ throw new Error("--lifecycle must be user-managed or clio-coder-managed");
451
456
  }
452
457
  out.lifecycle = v;
453
458
  break;
@@ -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,
@@ -650,12 +655,12 @@ function setOrchestratorPointer(settings, descriptor, model) {
650
655
  `cannot use target '${descriptor.id}' as orchestrator target because runtime '${runtime.id}' is not an HTTP/native runtime`
651
656
  );
652
657
  }
653
- settings.orchestrator.target = descriptor.id;
654
- settings.orchestrator.model = model ?? descriptor.defaultModel ?? null;
658
+ settings.chat.target = descriptor.id;
659
+ settings.chat.model = model ?? descriptor.defaultModel ?? null;
655
660
  }
656
661
  function setWorkerDefaultPointer(settings, descriptor, model) {
657
- settings.workers.default.target = descriptor.id;
658
- settings.workers.default.model = model ?? descriptor.defaultModel ?? null;
662
+ settings.fleet.default.target = descriptor.id;
663
+ settings.fleet.default.model = model ?? descriptor.defaultModel ?? null;
659
664
  }
660
665
  function setBackgroundPointer(settings, descriptor, model) {
661
666
  const runtime = getRuntimeRegistry().get(descriptor.runtime);
@@ -664,12 +669,12 @@ function setBackgroundPointer(settings, descriptor, model) {
664
669
  `cannot use target '${descriptor.id}' as background target because runtime '${descriptor.runtime}' is not an HTTP/native runtime`
665
670
  );
666
671
  }
667
- settings.background.target = descriptor.id;
668
- settings.background.model = model ?? descriptor.defaultModel ?? null;
672
+ settings.context.memory.target = descriptor.id;
673
+ settings.context.memory.model = model ?? descriptor.defaultModel ?? null;
669
674
  }
670
675
  function assertOrchestratorReplacementEligible(settings, descriptor) {
671
- if (settings.orchestrator.target !== descriptor.id && settings.background.target !== descriptor.id) return;
672
- const role = settings.orchestrator.target === descriptor.id ? "orchestrator" : "background";
676
+ if (settings.chat.target !== descriptor.id && settings.context.memory.target !== descriptor.id) return;
677
+ const role = settings.chat.target === descriptor.id ? "orchestrator" : "background";
673
678
  const runtime = getRuntimeRegistry().get(descriptor.runtime);
674
679
  if (!runtime) {
675
680
  throw new Error(
@@ -683,7 +688,7 @@ function assertOrchestratorReplacementEligible(settings, descriptor) {
683
688
  function setWorkerProfilePointer(settings, name, descriptor, model) {
684
689
  const trimmed = name.trim();
685
690
  if (trimmed.length === 0) throw new Error("fleet profile name must be non-empty");
686
- settings.workers.profiles[trimmed] = {
691
+ settings.fleet.profiles[trimmed] = {
687
692
  target: descriptor.id,
688
693
  model: model ?? descriptor.defaultModel ?? null,
689
694
  thinkingLevel: "off"
@@ -750,10 +755,10 @@ saved target ${descriptor.id} (runtime=${descriptor.runtime})
750
755
  `);
751
756
  }
752
757
  warnUndiscoveredContextWindow(descriptor, probe);
753
- if (settings.orchestrator.target === descriptor.id) process.stdout.write(" orchestrator target\n");
754
- if (settings.background.target === descriptor.id) process.stdout.write(" background memory target\n");
755
- if (settings.workers.default.target === descriptor.id) process.stdout.write(" fleet default\n");
756
- for (const [name, profile] of Object.entries(settings.workers.profiles)) {
758
+ if (settings.chat.target === descriptor.id) process.stdout.write(" orchestrator target\n");
759
+ if (settings.context.memory.target === descriptor.id) process.stdout.write(" background memory target\n");
760
+ if (settings.fleet.default.target === descriptor.id) process.stdout.write(" fleet default\n");
761
+ for (const [name, profile] of Object.entries(settings.fleet.profiles)) {
757
762
  if (profile.target === descriptor.id) process.stdout.write(` fleet profile ${name}
758
763
  `);
759
764
  }
@@ -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(
@@ -1174,7 +1181,7 @@ async function runInteractive(rl, preselectedRuntime, defaults) {
1174
1181
  let runtime = preselectedRuntime ?? await pickRuntimeViaCategory(rl);
1175
1182
  if (!runtime) {
1176
1183
  printError("configuration cancelled");
1177
- return 0;
1184
+ return 130;
1178
1185
  }
1179
1186
  const auth = openAuthStorage();
1180
1187
  const settings = readSettings();
@@ -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}
@@ -1393,28 +1400,28 @@ Selected runtime: ${runtime.id} (${support.summary})
1393
1400
  }
1394
1401
  }
1395
1402
  }
1396
- const setOrchestrator = !isOrchestratorEligibleRuntime(runtime) ? false : defaults.setOrchestrator ? true : await askYesNo(rl, "use as orchestrator (chat) target?", !settings.orchestrator.target);
1397
- const setWorkerDefault = defaults.setWorkerDefault ? true : await askYesNo(rl, "use as fleet default?", !settings.workers.default.target);
1403
+ const setOrchestrator = !isOrchestratorEligibleRuntime(runtime) ? false : defaults.setOrchestrator ? true : await askYesNo(rl, "use as orchestrator (chat) target?", !settings.chat.target);
1404
+ const setWorkerDefault = defaults.setWorkerDefault ? true : await askYesNo(rl, "use as fleet default?", !settings.fleet.default.target);
1398
1405
  const setBackground = !isOrchestratorEligibleRuntime(runtime) ? false : defaults.setBackground ? true : await askYesNo(rl, "use as background memory target?", false);
1399
1406
  const orchestratorModel = setOrchestrator ? defaults.orchestratorModel ?? await askModelChoice(
1400
1407
  rl,
1401
1408
  "Orchestrator model",
1402
1409
  wireModels,
1403
- settings.orchestrator.target === targetId ? settings.orchestrator.model ?? model : model
1410
+ settings.chat.target === targetId ? settings.chat.model ?? model : model
1404
1411
  ) : void 0;
1405
1412
  if (orchestratorModel === null) return 0;
1406
1413
  const workerModel = setWorkerDefault ? defaults.workerModel ?? await askModelChoice(
1407
1414
  rl,
1408
1415
  "Fleet model",
1409
1416
  wireModels,
1410
- settings.workers.default.target === targetId ? settings.workers.default.model ?? model : model
1417
+ settings.fleet.default.target === targetId ? settings.fleet.default.model ?? model : model
1411
1418
  ) : void 0;
1412
1419
  if (workerModel === null) return 0;
1413
1420
  const backgroundModel = setBackground ? defaults.backgroundModel ?? await askModelChoice(
1414
1421
  rl,
1415
1422
  "Background memory model",
1416
1423
  wireModels,
1417
- settings.background.target === targetId ? settings.background.model ?? model : model
1424
+ settings.context.memory.target === targetId ? settings.context.memory.model ?? model : model
1418
1425
  ) : void 0;
1419
1426
  if (backgroundModel === null) return 0;
1420
1427
  const applyWizardChoice = (target) => {
@@ -1459,13 +1466,13 @@ function runTargetRename(oldId, newId) {
1459
1466
  const target = settings.targets.find((e) => e.id === oldId);
1460
1467
  if (!target) return;
1461
1468
  target.id = newId;
1462
- if (settings.orchestrator.target === oldId) settings.orchestrator.target = newId;
1463
- if (settings.background.target === oldId) settings.background.target = newId;
1464
- if (settings.workers.default.target === oldId) settings.workers.default.target = newId;
1465
- for (const profile of Object.values(settings.workers.profiles)) {
1469
+ if (settings.chat.target === oldId) settings.chat.target = newId;
1470
+ if (settings.context.memory.target === oldId) settings.context.memory.target = newId;
1471
+ if (settings.fleet.default.target === oldId) settings.fleet.default.target = newId;
1472
+ for (const profile of Object.values(settings.fleet.profiles)) {
1466
1473
  if (profile.target === oldId) profile.target = newId;
1467
1474
  }
1468
- settings.scope = settings.scope.map((entry) => {
1475
+ settings.chat.modelPicker.cycleSet = settings.chat.modelPicker.cycleSet.map((entry) => {
1469
1476
  const [head, ...rest] = entry.split("/");
1470
1477
  if (head !== oldId) return entry;
1471
1478
  return rest.length === 0 ? newId : `${newId}/${rest.join("/")}`;
@@ -1548,4 +1555,4 @@ export {
1548
1555
  runTargetRename,
1549
1556
  runConfigureCommand
1550
1557
  };
1551
- //# sourceMappingURL=chunk-3V5AYSEQ.js.map
1558
+ //# sourceMappingURL=chunk-Y45G3AXC.js.map
@@ -2,7 +2,7 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  GUARDRAIL_ENV_VARS,
4
4
  resolveGuardrail
5
- } from "./chunk-4ZG3XFUR.js";
5
+ } from "./chunk-NLFAQR7Z.js";
6
6
  import {
7
7
  init_esm_shims
8
8
  } from "./chunk-3R73A4XB.js";
@@ -31,4 +31,4 @@ function armInternalDispatchDeadline(dispatch, runId, label, env = process.env,
31
31
  export {
32
32
  armInternalDispatchDeadline
33
33
  };
34
- //# sourceMappingURL=chunk-J5Q24KAG.js.map
34
+ //# sourceMappingURL=chunk-Y4CAGMM6.js.map
@@ -0,0 +1,17 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-3R73A4XB.js";
5
+
6
+ // src/engine/tui-primitives.ts
7
+ init_esm_shims();
8
+ import { ProcessTerminal, TuiAltScreen, truncateToWidth, visibleWidth, wrapTextWithAnsi } from "@earendil-works/pi-tui";
9
+
10
+ export {
11
+ ProcessTerminal,
12
+ TuiAltScreen,
13
+ truncateToWidth,
14
+ visibleWidth,
15
+ wrapTextWithAnsi
16
+ };
17
+ //# sourceMappingURL=chunk-YAKGTXEV.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-5B2AEOW5.js";
5
5
  import {
6
6
  ToolNames
7
- } from "./chunk-CGKSTWHD.js";
7
+ } from "./chunk-K6BSR66V.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-3R73A4XB.js";
@@ -34,4 +34,4 @@ var webFetchToolSurface = {
34
34
  export {
35
35
  webFetchToolSurface
36
36
  };
37
- //# sourceMappingURL=chunk-ZI647VB5.js.map
37
+ //# sourceMappingURL=chunk-YPI3QQCF.js.map
@@ -3,6 +3,9 @@ import {
3
3
  createRedactionTally,
4
4
  redactSecretsText
5
5
  } from "./chunk-4BJ5BYCE.js";
6
+ import {
7
+ normalizeClioCoderEventType
8
+ } from "./chunk-BTK3SSSK.js";
6
9
  import {
7
10
  processAlive,
8
11
  processBirthToken
@@ -793,13 +796,53 @@ var TraceReader = class {
793
796
  return this.db.prepare("SELECT * FROM phases WHERE run_id=? ORDER BY seq, phase_id").all(runId);
794
797
  }
795
798
  events(runId, afterRowid = 0, limit = TRACE_EVENT_POLL_LIMIT) {
796
- return this.db.prepare(`SELECT rowid, event_id, run_id, phase_id, parent_id, type, name, payload_json,
799
+ const rows = this.db.prepare(`SELECT rowid, event_id, run_id, phase_id, parent_id, type, name, payload_json,
797
800
  tokens, started_at, ended_at FROM events
798
801
  WHERE run_id = ? AND rowid > ? ORDER BY rowid LIMIT ?`).all(
799
802
  runId,
800
803
  Math.max(0, Math.trunc(afterRowid)),
801
804
  clampInt(limit, 1, TRACE_EVENT_POLL_LIMIT)
802
805
  );
806
+ return rows.map((row) => ({ ...row, type: normalizeClioCoderEventType(row.type) }));
807
+ }
808
+ /**
809
+ * Per-kind event tallies for one run.
810
+ *
811
+ * Aggregated in SQL rather than by reading rows, so `payload_json` and the
812
+ * free-form event name are never loaded at all. That is the point: a caller
813
+ * that only ever wants shapes should not be holding the payloads in memory
814
+ * on the way to counting them.
815
+ */
816
+ eventKindCounts(runId) {
817
+ const rows = this.db.prepare("SELECT type, COUNT(*) AS count FROM events WHERE run_id=? GROUP BY type ORDER BY count DESC, type").all(runId);
818
+ const counts = /* @__PURE__ */ new Map();
819
+ for (const row of rows) {
820
+ const type = normalizeClioCoderEventType(row.type);
821
+ counts.set(type, (counts.get(type) ?? 0) + row.count);
822
+ }
823
+ return [...counts].map(([type, count]) => ({ type, count })).sort((left, right) => right.count - left.count || left.type.localeCompare(right.type));
824
+ }
825
+ /** Total events and the wall span they cover, without reading one of them. */
826
+ eventSpan(runId) {
827
+ const row = this.db.prepare(
828
+ `SELECT COUNT(*) AS total, MIN(started_at) AS firstAt,
829
+ MAX(COALESCE(ended_at, started_at)) AS lastAt FROM events WHERE run_id=?`
830
+ ).get(runId);
831
+ return row ?? { total: 0, firstAt: null, lastAt: null };
832
+ }
833
+ /**
834
+ * Per-kind process tallies for one run.
835
+ *
836
+ * Same reason as {@link eventKindCounts}, and more sharply: a process row
837
+ * carries the command line, the pid, and the host, none of which a shape
838
+ * count needs.
839
+ */
840
+ processKindCounts(runId) {
841
+ return this.db.prepare(
842
+ `SELECT kind, COUNT(*) AS total,
843
+ SUM(CASE WHEN ended_at IS NULL THEN 1 ELSE 0 END) AS running
844
+ FROM processes WHERE run_id=? GROUP BY kind ORDER BY total DESC, kind`
845
+ ).all(runId);
803
846
  }
804
847
  processes(runId) {
805
848
  return this.db.prepare("SELECT * FROM processes WHERE run_id=? ORDER BY ended_at IS NOT NULL, id").all(runId);
@@ -811,12 +854,12 @@ var TraceReader = class {
811
854
  return this.db.prepare("SELECT * FROM envelopes WHERE run_id=? ORDER BY created_at, envelope_id").all(runId);
812
855
  }
813
856
  select(sql) {
814
- assertSelectOnly(sql);
857
+ assertTraceSelectOnly(sql);
815
858
  return this.db.prepare(sql).all();
816
859
  }
817
860
  };
818
861
  function createDispatchTraceMirror(path, options = {}) {
819
- const warn = options.warn ?? ((message) => process.stderr.write(`[clio:trace] ${message}
862
+ const warn = options.warn ?? ((message) => process.stderr.write(`[clio-coder:trace] ${message}
820
863
  `));
821
864
  const now = options.now ?? (() => (/* @__PURE__ */ new Date()).toISOString());
822
865
  let store = null;
@@ -909,7 +952,7 @@ function createDispatchTraceMirror(path, options = {}) {
909
952
  function recordProgress(store, payload, starts, seen, contextWindows, gateRuns, at) {
910
953
  if (!isRecord(payload.event)) return;
911
954
  const event = payload.event;
912
- const type = typeof event.type === "string" ? event.type : "progress";
955
+ const type = typeof event.type === "string" ? normalizeClioCoderEventType(event.type) : "progress";
913
956
  const toolCallId = stringValue(event.toolCallId) ?? stringValue(event.tool_call_id);
914
957
  if (type === "message_end" && isRecord(event.message) && event.message.role === "assistant" && event.message.stopReason !== "error" && event.message.stopReason !== "aborted" && isRecord(event.message.usage)) {
915
958
  const usage = event.message.usage;
@@ -931,7 +974,7 @@ function recordProgress(store, payload, starts, seen, contextWindows, gateRuns,
931
974
  });
932
975
  }
933
976
  }
934
- if ((type === "tool_execution_start" || type === "clio_tool_start") && toolCallId !== null) {
977
+ if ((type === "tool_execution_start" || type === "clio_coder_tool_start") && toolCallId !== null) {
935
978
  starts.set(`${payload.runId}:${toolCallId}`, {
936
979
  toolCallId,
937
980
  tool: stringValue(event.toolName) ?? stringValue(event.tool) ?? "tool",
@@ -940,7 +983,7 @@ function recordProgress(store, payload, starts, seen, contextWindows, gateRuns,
940
983
  });
941
984
  return;
942
985
  }
943
- if ((type === "tool_execution_end" || type === "clio_tool_finish") && toolCallId !== null) {
986
+ if ((type === "tool_execution_end" || type === "clio_coder_tool_finish") && toolCallId !== null) {
944
987
  const key = `${payload.runId}:${toolCallId}`;
945
988
  const start = starts.get(key);
946
989
  const duration = finiteNonNegative(event.durationMs);
@@ -1009,8 +1052,8 @@ function recordFailure(store, input, at) {
1009
1052
  function isCriticalTraceEvent(channel, raw) {
1010
1053
  if (channel !== "dispatch.progress") return true;
1011
1054
  if (!isRecord(raw) || !isRecord(raw.event)) return false;
1012
- const type = raw.event.type;
1013
- return type === "tool_execution_start" || type === "tool_execution_end" || type === "clio_tool_start" || type === "clio_tool_finish" || type === "message_end" || type === "attempt_start";
1055
+ const type = typeof raw.event.type === "string" ? normalizeClioCoderEventType(raw.event.type) : raw.event.type;
1056
+ return type === "tool_execution_start" || type === "tool_execution_end" || type === "clio_coder_tool_start" || type === "clio_coder_tool_finish" || type === "message_end" || type === "attempt_start";
1014
1057
  }
1015
1058
  function projectProgressPayload(type, event) {
1016
1059
  if (type === "message_end") {
@@ -1099,7 +1142,7 @@ function traceText(value, maxChars) {
1099
1142
  function sha256(value) {
1100
1143
  return createHash("sha256").update(value, "utf8").digest("hex");
1101
1144
  }
1102
- function assertSelectOnly(sql) {
1145
+ function assertTraceSelectOnly(sql) {
1103
1146
  const trimmed = sql.trim();
1104
1147
  if (!/^(SELECT|WITH)\b/i.test(trimmed)) throw new Error("trace sql accepts SELECT or read-only WITH queries only");
1105
1148
  if (trimmed.includes(";")) throw new Error("trace sql accepts exactly one statement");
@@ -1128,6 +1171,7 @@ export {
1128
1171
  resolveTraceRetentionPolicy,
1129
1172
  TraceStore,
1130
1173
  TraceReader,
1131
- createDispatchTraceMirror
1174
+ createDispatchTraceMirror,
1175
+ assertTraceSelectOnly
1132
1176
  };
1133
- //# sourceMappingURL=chunk-YW7UVM5V.js.map
1177
+ //# sourceMappingURL=chunk-ZAZB4JMW.js.map
@@ -1,13 +1,13 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  loadSkills
4
- } from "./chunk-AD7Y7STJ.js";
4
+ } from "./chunk-HUAS7ITX.js";
5
5
  import {
6
6
  parseFrontmatter
7
7
  } from "./chunk-RKKLTLYB.js";
8
8
  import {
9
9
  enabledExtensionResourceRoots
10
- } from "./chunk-5QKCQQ3E.js";
10
+ } from "./chunk-SUW5DORT.js";
11
11
  import {
12
12
  assertAgentSpecPolicy,
13
13
  isAgentAudience,
@@ -19,13 +19,13 @@ import {
19
19
  isShadowAgent,
20
20
  normalizeAgentSpec,
21
21
  parseResultContract
22
- } from "./chunk-S4COXYBG.js";
22
+ } from "./chunk-IG7BCQBA.js";
23
23
  import {
24
24
  resolvePackageRoot
25
25
  } from "./chunk-IWHMRKLL.js";
26
26
  import {
27
27
  clioConfigDir
28
- } from "./chunk-BNAZZHFG.js";
28
+ } from "./chunk-BYP5D4HI.js";
29
29
  import {
30
30
  init_esm_shims
31
31
  } from "./chunk-3R73A4XB.js";
@@ -316,7 +316,7 @@ function loadRecipesFromDir(source, diagnostics = []) {
316
316
  if (source.source === "builtin") throw error;
317
317
  const message = error instanceof Error ? error.message : String(error);
318
318
  diagnostics.push({ source: source.source, filepath, message });
319
- process.stderr.write(`[clio:agents] quarantine path=${filepath} source=${source.source} reason=${message}
319
+ process.stderr.write(`[clio-coder:agents] quarantine path=${filepath} source=${source.source} reason=${message}
320
320
  `);
321
321
  }
322
322
  }
@@ -334,27 +334,27 @@ function mergeRecipes(...sources) {
334
334
  for (const group of sources) {
335
335
  for (const recipe of group) {
336
336
  if (recipe.source !== "builtin" && RESERVED_CUSTOM_AGENT_IDS.has(recipe.id)) {
337
- process.stderr.write(`[clio:agents] ignore id=${recipe.id} by=${recipe.source} reason=reserved-agent-id
337
+ process.stderr.write(`[clio-coder:agents] ignore id=${recipe.id} by=${recipe.source} reason=reserved-agent-id
338
338
  `);
339
339
  continue;
340
340
  }
341
341
  const builtin = builtinById.get(recipe.id);
342
342
  if (recipe.source === "extension" && builtin) {
343
- process.stderr.write(`[clio:agents] ignore override id=${recipe.id} by=extension reason=reserved-builtin
343
+ process.stderr.write(`[clio-coder:agents] ignore override id=${recipe.id} by=extension reason=reserved-builtin
344
344
  `);
345
345
  continue;
346
346
  }
347
347
  if (recipe.source === "user" && builtin && isShadowAgent(normalizeAgentSpec(builtin))) {
348
- process.stderr.write(`[clio:agents] ignore override id=${recipe.id} by=user reason=reserved-shadow
348
+ process.stderr.write(`[clio-coder:agents] ignore override id=${recipe.id} by=user reason=reserved-shadow
349
349
  `);
350
350
  continue;
351
351
  }
352
352
  if (recipe.source === "project" && builtin) {
353
- process.stderr.write(`[clio:agents] ignore override id=${recipe.id} by=project reason=reserved-builtin
353
+ process.stderr.write(`[clio-coder:agents] ignore override id=${recipe.id} by=project reason=reserved-builtin
354
354
  `);
355
355
  continue;
356
356
  }
357
- if (byId.has(recipe.id)) process.stderr.write(`[clio:agents] override id=${recipe.id} by=${recipe.source}
357
+ if (byId.has(recipe.id)) process.stderr.write(`[clio-coder:agents] override id=${recipe.id} by=${recipe.source}
358
358
  `);
359
359
  byId.set(recipe.id, recipe);
360
360
  }
@@ -396,4 +396,4 @@ export {
396
396
  parseAgentRecipeSchema,
397
397
  discoverAgentRecipes
398
398
  };
399
- //# sourceMappingURL=chunk-HCBCAYZU.js.map
399
+ //# sourceMappingURL=chunk-ZJLUDYFY.js.map
@@ -12,7 +12,7 @@ function isBootTraceEnabled() {
12
12
  function formatBootTrace(phase, detail) {
13
13
  if (!isBootTraceEnabled()) return null;
14
14
  const suffix = detail !== void 0 && detail.length > 0 ? ` (${detail})` : "";
15
- return `[clio:boot] +${performance.now().toFixed(1)}ms ${phase}${suffix}
15
+ return `[clio-coder:boot] +${performance.now().toFixed(1)}ms ${phase}${suffix}
16
16
  `;
17
17
  }
18
18
  function traceBoot(phase, detail) {
@@ -27,4 +27,4 @@ export {
27
27
  formatBootTrace,
28
28
  traceBoot
29
29
  };
30
- //# sourceMappingURL=chunk-HKIYEGME.js.map
30
+ //# sourceMappingURL=chunk-ZTJUVLTU.js.map
@@ -1,13 +1,13 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  printError
4
- } from "./chunk-XK56QHLX.js";
4
+ } from "./chunk-VPKWYKEY.js";
5
5
  import {
6
6
  source_default
7
7
  } from "./chunk-5TSRNF4G.js";
8
8
  import {
9
9
  authStoragePath
10
- } from "./chunk-EQ63NRB7.js";
10
+ } from "./chunk-WNP7O5WZ.js";
11
11
  import {
12
12
  init_esm_shims
13
13
  } from "./chunk-3R73A4XB.js";
@@ -35,4 +35,4 @@ export {
35
35
  printPlaintextCredentialWarning,
36
36
  credentialWriteFailed
37
37
  };
38
- //# sourceMappingURL=chunk-IFBNV6H6.js.map
38
+ //# sourceMappingURL=chunk-ZW55JB7N.js.map