@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
@@ -0,0 +1,302 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ describeYaziProfile,
4
+ inspectCurrentYaziProfile,
5
+ resetYaziProfile
6
+ } from "./chunk-J5LZHVIT.js";
7
+ import {
8
+ installTool,
9
+ installedToolVersions,
10
+ removeTool
11
+ } from "./chunk-D4CJV46V.js";
12
+ import {
13
+ describeFloorRejection,
14
+ describeResolution,
15
+ installRemedy,
16
+ toolStatus,
17
+ toolStatuses
18
+ } from "./chunk-QSNYB6ZV.js";
19
+ import {
20
+ PINNED_TOOLS,
21
+ findPinnedTool
22
+ } from "./chunk-QDC3K2U3.js";
23
+ import {
24
+ formatColumns,
25
+ printError,
26
+ printOk
27
+ } from "./chunk-VPKWYKEY.js";
28
+ import {
29
+ init_esm_shims
30
+ } from "./chunk-3R73A4XB.js";
31
+
32
+ // src/cli/tools.ts
33
+ init_esm_shims();
34
+ var HELP = `clio-coder tools <command>
35
+
36
+ Manage the external terminal programs Clio can drive. Every one of them is
37
+ optional: Clio works without them and only uses one when it is present. Each is
38
+ pinned to an exact upstream version and checksum, and a copy already on PATH
39
+ wins over Clio's own as long as it clears the pinned minimum.
40
+
41
+ Commands:
42
+ clio-coder tools list [--json] the pinned table and where each resolves
43
+ clio-coder tools status <id> [--json] [--reset-profile] one tool in detail
44
+ clio-coder tools install <id> [--force] [--json] download, verify, and vendor a tool
45
+ clio-coder tools remove <id>|--all [--json] delete every vendored version of a tool
46
+
47
+ Downloads happen only here. Nothing on a startup path fetches anything.
48
+
49
+ An install keeps one version directory per tool: once the pinned version is in
50
+ place, versions it superseded are pruned, along with any staging directory left
51
+ by an install that was killed. Removal touches nothing outside <data>/tools/<id>
52
+ and needs no confirmation, since every byte under it is re-downloadable from the
53
+ checksum-pinned registry. "remove --all" sweeps every tool in the table.
54
+ `;
55
+ async function runToolsCommand(argv = []) {
56
+ let parsed;
57
+ try {
58
+ parsed = parse(argv);
59
+ } catch (error) {
60
+ printError(error instanceof Error ? error.message : String(error));
61
+ process.stderr.write(HELP);
62
+ return 2;
63
+ }
64
+ if (parsed.help || parsed.command === void 0) {
65
+ process.stdout.write(HELP);
66
+ return parsed.help ? 0 : 2;
67
+ }
68
+ if (parsed.all && parsed.command !== "remove") {
69
+ printError("--all is only valid with `tools remove`");
70
+ return 2;
71
+ }
72
+ switch (parsed.command) {
73
+ case "list":
74
+ if (parsed.resetProfile) return invalidResetProfile();
75
+ return listTools(parsed.json);
76
+ case "status":
77
+ return statusTool(parsed.positional[0], parsed.json, parsed.resetProfile);
78
+ case "install":
79
+ if (parsed.resetProfile) return invalidResetProfile();
80
+ return installOne(parsed.positional[0], parsed.force, parsed.json);
81
+ case "remove":
82
+ if (parsed.resetProfile) return invalidResetProfile();
83
+ return parsed.all ? removeAll(parsed.positional[0], parsed.json) : removeOne(parsed.positional[0], parsed.json);
84
+ default:
85
+ printError(`unknown tools command: ${parsed.command}`);
86
+ process.stderr.write(HELP);
87
+ return 2;
88
+ }
89
+ }
90
+ function parse(argv) {
91
+ const out = { positional: [], json: false, force: false, all: false, resetProfile: false, help: false };
92
+ for (const arg of argv) {
93
+ if (!out.command && !arg.startsWith("-")) {
94
+ out.command = arg;
95
+ continue;
96
+ }
97
+ switch (arg) {
98
+ case "--json":
99
+ out.json = true;
100
+ break;
101
+ case "--force":
102
+ case "-f":
103
+ out.force = true;
104
+ break;
105
+ case "--all":
106
+ out.all = true;
107
+ break;
108
+ case "--reset-profile":
109
+ out.resetProfile = true;
110
+ break;
111
+ case "--help":
112
+ case "-h":
113
+ out.help = true;
114
+ break;
115
+ default:
116
+ if (arg.startsWith("-")) throw new Error(`unknown flag: ${arg}`);
117
+ out.positional.push(arg);
118
+ }
119
+ }
120
+ return out;
121
+ }
122
+ function listTools(json) {
123
+ const statuses = toolStatuses();
124
+ if (json) {
125
+ process.stdout.write(`${JSON.stringify(statuses.map(jsonShape), null, 2)}
126
+ `);
127
+ return 0;
128
+ }
129
+ const rows = statuses.map((status) => [
130
+ status.id,
131
+ status.version,
132
+ status.license,
133
+ status.resolution.source,
134
+ describeResolution(status)
135
+ ]);
136
+ process.stdout.write(formatColumns([["TOOL", "PIN", "LICENSE", "SOURCE", "RESOLVED"], ...rows]));
137
+ return 0;
138
+ }
139
+ function invalidResetProfile() {
140
+ printError("--reset-profile is only valid with `tools status yazi`");
141
+ return 2;
142
+ }
143
+ function unknownTool(id) {
144
+ printError(`unknown tool: ${id} (known: ${PINNED_TOOLS.map((row) => row.id).join(", ")})`);
145
+ return 2;
146
+ }
147
+ function statusTool(id, json, resetProfile) {
148
+ if (id === void 0) {
149
+ printError("usage: clio-coder tools status <id>");
150
+ return 2;
151
+ }
152
+ const entry = findPinnedTool(id);
153
+ if (entry === null) {
154
+ return unknownTool(id);
155
+ }
156
+ if (resetProfile && id !== "yazi") return invalidResetProfile();
157
+ if (resetProfile) resetYaziProfile();
158
+ const status = toolStatus(entry);
159
+ const profile = id === "yazi" ? inspectCurrentYaziProfile() : null;
160
+ if (json) {
161
+ process.stdout.write(
162
+ `${JSON.stringify({ ...jsonShape(status), ...profile ? { profile, profileReset: resetProfile } : {} }, null, 2)}
163
+ `
164
+ );
165
+ return 0;
166
+ }
167
+ const rejection = describeFloorRejection(status);
168
+ const installedVersions = installedToolVersions(entry.id);
169
+ const lines = [
170
+ `${entry.id} ${entry.version} (${entry.license})`,
171
+ ` ${entry.summary}`,
172
+ ` homepage ${entry.homepage}`,
173
+ ` binaries ${entry.binaries.join(", ")}`,
174
+ ` PATH floor ${entry.minimumVersion}`,
175
+ ` platform ${status.platform ?? `${process.platform}-${process.arch}`}${status.supported ? "" : " (no pinned asset)"}`,
176
+ ` vendor dir ${status.installDir}${status.installed ? "" : " (not installed)"}`,
177
+ ` vendored ${installedVersions.length === 0 ? "nothing" : installedVersions.join(", ")}`,
178
+ ` resolves to ${describeResolution(status)}`,
179
+ // Spelled out on its own line as well as inside the resolution sentence,
180
+ // because a rejected PATH copy is the one thing an operator reads this
181
+ // command to understand and the sentence above may be about something else.
182
+ ...rejection === null ? [] : [
183
+ ` floor rejected: ${rejection}`,
184
+ ...status.resolution.source === "none" && status.supported ? [` remedy ${installRemedy(entry.id)}`] : []
185
+ ],
186
+ ...profile ? [
187
+ ` profile ${describeYaziProfile(profile)}`,
188
+ ...resetProfile ? [" profile reset; next open regenerates it"] : []
189
+ ] : []
190
+ ];
191
+ process.stdout.write(`${lines.join("\n")}
192
+ `);
193
+ return 0;
194
+ }
195
+ async function installOne(id, force, json) {
196
+ if (id === void 0) {
197
+ printError("usage: clio-coder tools install <id>");
198
+ return 2;
199
+ }
200
+ if (findPinnedTool(id) === null) {
201
+ return unknownTool(id);
202
+ }
203
+ const result = await installTool(id, {
204
+ force,
205
+ ...json ? {} : { onProgress: (message) => process.stderr.write(` ${message}
206
+ `) }
207
+ });
208
+ if (json) {
209
+ process.stdout.write(`${JSON.stringify(result, null, 2)}
210
+ `);
211
+ return result.ok ? 0 : 1;
212
+ }
213
+ if (!result.ok) {
214
+ printError(result.message);
215
+ return 1;
216
+ }
217
+ printOk(result.message);
218
+ for (const path of result.documents) process.stdout.write(` license ${path}
219
+ `);
220
+ for (const version of result.pruned) process.stdout.write(` pruned ${id} ${version}
221
+ `);
222
+ return 0;
223
+ }
224
+ function removeOne(id, json) {
225
+ if (id === void 0) {
226
+ printError("usage: clio-coder tools remove <id>");
227
+ return 2;
228
+ }
229
+ if (findPinnedTool(id) === null) return unknownTool(id);
230
+ const result = removeTool(id);
231
+ if (json) {
232
+ process.stdout.write(`${JSON.stringify(result, null, 2)}
233
+ `);
234
+ return result.ok ? 0 : 1;
235
+ }
236
+ if (!result.ok) {
237
+ printError(result.message);
238
+ return 1;
239
+ }
240
+ printOk(result.message);
241
+ if (result.removed.length > 0) {
242
+ process.stdout.write(` reinstall with \`${installRemedy(id)}\`
243
+ `);
244
+ }
245
+ return 0;
246
+ }
247
+ function removeAll(id, json) {
248
+ if (id !== void 0) {
249
+ printError("`tools remove --all` takes no tool id; drop the id or drop --all");
250
+ return 2;
251
+ }
252
+ const results = PINNED_TOOLS.map((entry) => removeTool(entry.id));
253
+ if (json) {
254
+ process.stdout.write(`${JSON.stringify(results, null, 2)}
255
+ `);
256
+ return results.every((result) => result.ok) ? 0 : 1;
257
+ }
258
+ for (const result of results) {
259
+ if (!result.ok) printError(result.message);
260
+ else if (result.removed.length > 0 || result.staleStaging.length > 0) printOk(result.message);
261
+ }
262
+ const touched = results.filter((result) => result.ok && result.removed.length > 0);
263
+ const untouched = results.filter((result) => result.ok && result.removed.length === 0);
264
+ if (touched.length > 0) {
265
+ process.stdout.write(` reinstall with \`clio-coder tools install <id>\`
266
+ `);
267
+ }
268
+ if (untouched.length > 0) {
269
+ process.stdout.write(` ${untouched.length} of ${results.length} had nothing vendored
270
+ `);
271
+ }
272
+ return results.every((result) => result.ok) ? 0 : 1;
273
+ }
274
+ function jsonShape(status) {
275
+ return {
276
+ id: status.id,
277
+ version: status.version,
278
+ license: status.license,
279
+ platform: status.platform,
280
+ supported: status.supported,
281
+ installed: status.installed,
282
+ installDir: status.installDir,
283
+ source: status.resolution.source,
284
+ binaryPath: status.resolution.binaryPath,
285
+ foundVersion: status.resolution.version,
286
+ minimumVersion: status.resolution.entry?.minimumVersion ?? null,
287
+ pathCandidate: status.resolution.pathCandidate,
288
+ // A script deciding whether to warn about a floor rejection should not have
289
+ // to parse `detail` for it, so the rejection and the command that answers
290
+ // it are their own fields. `remedy` is null exactly where installing would
291
+ // change nothing: already vendored, or no asset for this platform.
292
+ floorRejection: describeFloorRejection(status),
293
+ remedy: status.resolution.source === "none" && status.supported ? installRemedy(status.id) : null,
294
+ installedVersions: installedToolVersions(status.id),
295
+ detail: describeResolution(status)
296
+ };
297
+ }
298
+
299
+ export {
300
+ runToolsCommand
301
+ };
302
+ //# sourceMappingURL=chunk-BJGUKIG4.js.map
@@ -0,0 +1,27 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ findExecutableOnPath,
4
+ resolveToolBinary
5
+ } from "./chunk-QSNYB6ZV.js";
6
+ import {
7
+ init_esm_shims
8
+ } from "./chunk-3R73A4XB.js";
9
+
10
+ // src/tools/executables.ts
11
+ init_esm_shims();
12
+ function resolveFdBinary() {
13
+ return findExecutableOnPath("fd") ?? findExecutableOnPath("fdfind");
14
+ }
15
+ function resolveRgBinary() {
16
+ return findExecutableOnPath("rg");
17
+ }
18
+ function resolveBinary(name) {
19
+ return resolveToolBinary(name).binaryPath;
20
+ }
21
+
22
+ export {
23
+ resolveFdBinary,
24
+ resolveRgBinary,
25
+ resolveBinary
26
+ };
27
+ //# sourceMappingURL=chunk-BMS5RKQY.js.map
@@ -1,35 +1,39 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ migrateSettingsV1Document
4
+ } from "./chunk-AP73CFDC.js";
2
5
  import {
3
6
  parseAgentRecipeSchema
4
- } from "./chunk-HCBCAYZU.js";
7
+ } from "./chunk-ZJLUDYFY.js";
5
8
  import {
6
9
  parseFleetContract
7
- } from "./chunk-HPCTNZM2.js";
10
+ } from "./chunk-CTJ4RNAA.js";
8
11
  import {
9
12
  parseFrontmatter
10
13
  } from "./chunk-RKKLTLYB.js";
11
14
  import {
12
15
  assertAgentSpecPolicy,
13
16
  normalizeAgentSpec
14
- } from "./chunk-S4COXYBG.js";
17
+ } from "./chunk-IG7BCQBA.js";
15
18
  import {
16
19
  readSettings,
17
20
  settingsPath,
18
- updateSettings
19
- } from "./chunk-PNY46YEY.js";
21
+ updateSettings,
22
+ validateSettings
23
+ } from "./chunk-EIMVLWB3.js";
20
24
  import {
21
25
  readClioVersion
22
26
  } from "./chunk-IWHMRKLL.js";
23
27
  import {
24
28
  DEFAULT_SETTINGS
25
- } from "./chunk-XDOQXGFO.js";
29
+ } from "./chunk-BWW4HLO4.js";
26
30
  import {
27
31
  require_dist
28
32
  } from "./chunk-APJ265NV.js";
29
33
  import {
30
34
  clioConfigDir,
31
35
  resolveClioDirs
32
- } from "./chunk-BNAZZHFG.js";
36
+ } from "./chunk-BYP5D4HI.js";
33
37
  import {
34
38
  safeResourceBackupPath,
35
39
  safeResourceWrite
@@ -111,16 +115,45 @@ function addTree(files, type, scope, root, archivePrefix, filter) {
111
115
  }
112
116
  function settingsFragment(settings) {
113
117
  return {
114
- autonomy: settings.autonomy,
115
- scope: settings.scope,
116
- budget: settings.budget,
117
- theme: settings.theme,
118
- terminal: settings.terminal,
119
- keybindings: settings.keybindings,
120
- compaction: settings.compaction,
121
- retry: settings.retry
118
+ version: 2,
119
+ chat: {
120
+ modelPicker: { cycleSet: [...settings.chat.modelPicker.cycleSet] },
121
+ retry: structuredClone(settings.chat.retry)
122
+ },
123
+ fleet: { concurrency: settings.fleet.concurrency },
124
+ context: { compaction: structuredClone(settings.context.compaction) },
125
+ safety: {
126
+ autonomy: settings.safety.autonomy,
127
+ limits: { sessionCostUsd: settings.safety.limits.sessionCostUsd }
128
+ },
129
+ interface: structuredClone(settings.interface)
122
130
  };
123
131
  }
132
+ var SETTINGS_FRAGMENT_ROOTS = ["chat", "fleet", "context", "safety", "interface"];
133
+ function normalizedSettingsFragment(parsed) {
134
+ if (!isRecord(parsed)) throw new Error("settings fragment must be a YAML object");
135
+ let normalized = parsed;
136
+ if (parsed.version === void 0 || parsed.version === 1) {
137
+ normalized = migrateSettingsV1Document(parsed).document;
138
+ } else if (parsed.version !== 2) {
139
+ throw new Error(`settings fragment version must be 1 or 2, got ${String(parsed.version)}`);
140
+ }
141
+ const validation = validateSettings(normalized);
142
+ if (validation.issues.length > 0) {
143
+ throw new Error(
144
+ `invalid settings fragment: ${validation.issues.map((issue) => `${issue.path}: ${issue.message}`).join("; ")}`
145
+ );
146
+ }
147
+ return normalized;
148
+ }
149
+ function mergeFragmentValue(current, fragment) {
150
+ if (!isRecord(current) || !isRecord(fragment)) return structuredClone(fragment);
151
+ const merged = { ...current };
152
+ for (const [key, value] of Object.entries(fragment)) {
153
+ merged[key] = mergeFragmentValue(merged[key], value);
154
+ }
155
+ return merged;
156
+ }
124
157
  function requestedScopes(scope) {
125
158
  if (scope === "both") return ["project", "user"];
126
159
  return [scope ?? "project"];
@@ -200,11 +233,11 @@ function createShareArchive(options = {}) {
200
233
  }
201
234
  const manifestFiles = files.map(({ data: _data, encoding: _encoding, ...entry }) => entry);
202
235
  return {
203
- kind: "clio-share-archive",
236
+ kind: "clio-coder-share-archive",
204
237
  formatVersion: 1,
205
238
  manifest: {
206
- format: "clio.share.v1",
207
- clioVersion: readClioVersion(),
239
+ format: "clio-coder.share.v1",
240
+ clioCoderVersion: readClioVersion(),
208
241
  createdAt: (/* @__PURE__ */ new Date()).toISOString(),
209
242
  files: manifestFiles
210
243
  },
@@ -221,13 +254,25 @@ function decodeArchiveFile(entry) {
221
254
  return Buffer.from(entry.data, entry.encoding);
222
255
  }
223
256
  function parseArchive(raw) {
224
- if (!isRecord(raw) || raw.kind !== "clio-share-archive" || raw.formatVersion !== 1 || !isRecord(raw.manifest)) {
257
+ if (!isRecord(raw) || raw.kind !== "clio-coder-share-archive" && raw.kind !== "clio-share-archive" || raw.formatVersion !== 1 || !isRecord(raw.manifest)) {
225
258
  throw new Error("not a Clio share archive v1");
226
259
  }
227
- if (raw.manifest.format !== "clio.share.v1" || !Array.isArray(raw.files)) {
260
+ if (raw.manifest.format !== "clio-coder.share.v1" && raw.manifest.format !== "clio.share.v1" || !Array.isArray(raw.files)) {
228
261
  throw new Error("share archive manifest is malformed");
229
262
  }
230
- const archive = raw;
263
+ const clioCoderVersion = raw.manifest.clioCoderVersion ?? raw.manifest.clioVersion;
264
+ if (typeof clioCoderVersion !== "string") throw new Error("share archive manifest is malformed");
265
+ const archive = {
266
+ kind: "clio-coder-share-archive",
267
+ formatVersion: 1,
268
+ manifest: {
269
+ format: "clio-coder.share.v1",
270
+ clioCoderVersion,
271
+ createdAt: raw.manifest.createdAt,
272
+ files: raw.manifest.files
273
+ },
274
+ files: raw.files
275
+ };
231
276
  const allowedTypes = /* @__PURE__ */ new Set([
232
277
  "project-context",
233
278
  "prompt",
@@ -385,24 +430,30 @@ function preflightImportTargets(archive, options) {
385
430
  function versionDiagnostics(archive) {
386
431
  const current = readClioVersion();
387
432
  const [curMajor, curMinor] = current.split(".");
388
- const [arcMajor, arcMinor] = archive.manifest.clioVersion.split(".");
433
+ const [arcMajor, arcMinor] = archive.manifest.clioCoderVersion.split(".");
389
434
  if (curMajor !== arcMajor || curMinor !== arcMinor) {
390
435
  return [
391
436
  {
392
437
  type: "warning",
393
- message: `archive was created by Clio ${archive.manifest.clioVersion}; current Clio is ${current}`
438
+ message: `archive was created by Clio ${archive.manifest.clioCoderVersion}; current Clio is ${current}`
394
439
  }
395
440
  ];
396
441
  }
397
442
  return [];
398
443
  }
399
444
  function settingsPlan(buffer, options) {
400
- const parsed = (0, import_yaml.parse)(buffer.toString("utf8"));
401
- if (!isRecord(parsed)) return [{ type: "error", message: "settings fragment must be a YAML object" }];
445
+ let parsed;
446
+ try {
447
+ parsed = normalizedSettingsFragment((0, import_yaml.parse)(buffer.toString("utf8")));
448
+ } catch (error) {
449
+ return [{ type: "error", message: error instanceof Error ? error.message : String(error) }];
450
+ }
402
451
  const settingsTarget = settingsFilePath();
403
452
  const current = settingsFragment(existsSync(settingsTarget) ? readSettings() : DEFAULT_SETTINGS);
404
453
  const diagnostics = [];
405
- for (const [key, value] of Object.entries(parsed)) {
454
+ for (const [key, value] of Object.entries(parsed).filter(
455
+ ([key2]) => SETTINGS_FRAGMENT_ROOTS.includes(key2)
456
+ )) {
406
457
  if (key in current && JSON.stringify(current[key]) !== JSON.stringify(value)) {
407
458
  diagnostics.push({
408
459
  type: "conflict",
@@ -486,21 +537,11 @@ function planShareImport(filePath, options = {}) {
486
537
  return publicImportPlan(prepareShareImport(filePath, options));
487
538
  }
488
539
  function mergeSettingsFragment(buffer) {
489
- const parsed = (0, import_yaml.parse)(buffer.toString("utf8"));
490
- if (!isRecord(parsed)) throw new Error("settings fragment must be a YAML object");
540
+ const parsed = normalizedSettingsFragment((0, import_yaml.parse)(buffer.toString("utf8")));
491
541
  updateSettings((settings) => {
492
542
  const next = settings;
493
- for (const key of [
494
- "autonomy",
495
- "scope",
496
- "budget",
497
- "theme",
498
- "terminal",
499
- "keybindings",
500
- "compaction",
501
- "retry"
502
- ]) {
503
- if (key in parsed) next[key] = parsed[key];
543
+ for (const key of SETTINGS_FRAGMENT_ROOTS) {
544
+ if (key in parsed) next[key] = mergeFragmentValue(next[key], parsed[key]);
504
545
  }
505
546
  });
506
547
  return settingsPath();
@@ -612,4 +653,4 @@ export {
612
653
  importShareArchive,
613
654
  ShareDomainModule
614
655
  };
615
- //# sourceMappingURL=chunk-TD7UE2L5.js.map
656
+ //# sourceMappingURL=chunk-BTGG6BG2.js.map
@@ -0,0 +1,67 @@
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/core/naming-events.ts
7
+ init_esm_shims();
8
+ var CLIO_CODER_EVENT_SUFFIXES = /* @__PURE__ */ new Set([
9
+ "permission_escalated",
10
+ "permission_resolved",
11
+ "plan_update",
12
+ "run_outcome",
13
+ "safety_decision",
14
+ "skill_activation",
15
+ "steer_received",
16
+ "tool_activity",
17
+ "tool_finish",
18
+ "tool_start",
19
+ "usage",
20
+ "verification",
21
+ "write_record_downgraded"
22
+ ]);
23
+ function normalizeClioCoderEventType(type) {
24
+ if (!type.startsWith("clio_") || type.startsWith("clio_coder_")) return type;
25
+ const suffix = type.slice("clio_".length);
26
+ return CLIO_CODER_EVENT_SUFFIXES.has(suffix) ? `clio_coder_${suffix}` : type;
27
+ }
28
+ function normalizeClioCoderEventRecord(record) {
29
+ if (typeof record.type !== "string") return record;
30
+ const type = normalizeClioCoderEventType(record.type);
31
+ return type === record.type ? record : { ...record, type };
32
+ }
33
+ function normalizeClioCoderEventTree(value) {
34
+ if (Array.isArray(value)) {
35
+ let changed2 = false;
36
+ const next2 = value.map((entry) => {
37
+ const normalized = normalizeClioCoderEventTree(entry);
38
+ if (normalized !== entry) changed2 = true;
39
+ return normalized;
40
+ });
41
+ return changed2 ? next2 : value;
42
+ }
43
+ if (typeof value !== "object" || value === null) return value;
44
+ const record = value;
45
+ let changed = false;
46
+ const next = {};
47
+ for (const [key, entry] of Object.entries(record)) {
48
+ const normalized = normalizeClioCoderEventTree(entry);
49
+ next[key] = normalized;
50
+ if (normalized !== entry) changed = true;
51
+ }
52
+ if (typeof record.type === "string") {
53
+ const type = normalizeClioCoderEventType(record.type);
54
+ if (type !== record.type) {
55
+ next.type = type;
56
+ changed = true;
57
+ }
58
+ }
59
+ return changed ? next : value;
60
+ }
61
+
62
+ export {
63
+ normalizeClioCoderEventType,
64
+ normalizeClioCoderEventRecord,
65
+ normalizeClioCoderEventTree
66
+ };
67
+ //# sourceMappingURL=chunk-BTK3SSSK.js.map
@@ -1183,4 +1183,4 @@ export {
1183
1183
  updateCodewikiPaths,
1184
1184
  syncCodewiki
1185
1185
  };
1186
- //# sourceMappingURL=chunk-M6L6IDJG.js.map
1186
+ //# sourceMappingURL=chunk-BWH6N36D.js.map