@iowarp/clio-coder 0.4.0 → 0.4.2

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 (751) hide show
  1. package/CHANGELOG.md +131 -0
  2. package/CONTRIBUTING.md +59 -36
  3. package/README.md +407 -375
  4. package/SECURITY.md +2 -1
  5. package/dist/{acp-G5WJBNCT.js → acp-TMDQZDIG.js} +14 -14
  6. package/dist/{agents-FMV2Q5G4.js → agents-5N5NG3XG.js} +45 -34
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/{auth-3IDSJEIK.js → auth-Z5CCBXKQ.js} +22 -21
  9. package/dist/{builtins-XCZWXSC7.js → builtins-K6TNDT24.js} +6 -6
  10. package/dist/{chunk-GR5G2PVF.js → chunk-2HFQNRV3.js} +15 -10
  11. package/dist/{chunk-PQEFIJ36.js → chunk-2LEAKD4C.js} +1 -2
  12. package/dist/{chunk-HJJTYUHX.js → chunk-2NHR3NAY.js} +168 -1406
  13. package/dist/chunk-2X4RYJTJ.js +39 -0
  14. package/dist/{chunk-UXMFQ54G.js → chunk-2Z2IKEXI.js} +39 -43
  15. package/dist/{chunk-SST6Z5JA.js → chunk-336NSSKI.js} +1 -1
  16. package/dist/chunk-34BHNEE3.js +1846 -0
  17. package/dist/{chunk-YJX4SHTD.js → chunk-35MSIRKH.js} +9 -4
  18. package/dist/chunk-3EBYEESD.js +314 -0
  19. package/dist/{chunk-CTJ4RNAA.js → chunk-3F7VUY77.js} +2 -2
  20. package/dist/chunk-3KIPBMUA.js +308 -0
  21. package/dist/chunk-3M6DQK6S.js +362 -0
  22. package/dist/{chunk-BPKCPIL7.js → chunk-462T4EGZ.js} +3 -3
  23. package/dist/{chunk-QLFS5GO2.js → chunk-4JDLP6ZS.js} +44 -37
  24. package/dist/{chunk-LDQ2ZF2M.js → chunk-4O6MANBS.js} +6 -6
  25. package/dist/{chunk-O6TL7WWY.js → chunk-54ODD65L.js} +6 -6
  26. package/dist/{chunk-JDG2WCRO.js → chunk-5KW52TEP.js} +5 -5
  27. package/dist/{chunk-NHLBIGRH.js → chunk-5PFYMY2V.js} +41 -18
  28. package/dist/{chunk-P3FOHJT4.js → chunk-72GZI5EV.js} +2 -2
  29. package/dist/chunk-77QIVUZB.js +1334 -0
  30. package/dist/{chunk-HWHKMHUA.js → chunk-7BHIY2MW.js} +9 -15
  31. package/dist/{chunk-FWDFM5ZU.js → chunk-AK5XEFVZ.js} +3 -3
  32. package/dist/{chunk-VAZSBTKF.js → chunk-AZ4WMN4W.js} +2 -2
  33. package/dist/{chunk-B7OBL7PK.js → chunk-B74PXLU7.js} +21 -11
  34. package/dist/{chunk-CY6FY24N.js → chunk-B7HM5Z7T.js} +15 -15
  35. package/dist/{chunk-ULC6OTWO.js → chunk-BO7Y52RY.js} +88 -27
  36. package/dist/chunk-BTK3SSSK.js +67 -0
  37. package/dist/{chunk-M6L6IDJG.js → chunk-BWH6N36D.js} +1 -1
  38. package/dist/{chunk-DQITNCXG.js → chunk-BYMNWQ7O.js} +149 -159
  39. package/dist/{chunk-HI63TFOG.js → chunk-CDNVLKUX.js} +3 -3
  40. package/dist/{chunk-Z4TXYIEG.js → chunk-CRFOIAX3.js} +10 -10
  41. package/dist/{chunk-UM7N4G5A.js → chunk-CWVRRIEI.js} +2 -2
  42. package/dist/{chunk-3BT2XMV4.js → chunk-CYZW7JHJ.js} +53 -60
  43. package/dist/{chunk-BKFM6EJV.js → chunk-D4CJV46V.js} +2 -2
  44. package/dist/chunk-D7E7WCDF.js +27 -0
  45. package/dist/{chunk-X3YGUTOB.js → chunk-DYHAXKHD.js} +90 -62
  46. package/dist/{chunk-QBJA7R7N.js → chunk-DZAW46HP.js} +3 -3
  47. package/dist/{chunk-MLKNTWH2.js → chunk-DZEK6CJN.js} +22 -22
  48. package/dist/{chunk-K5C3NCBD.js → chunk-E7GT7O5N.js} +5 -5
  49. package/dist/{chunk-FQ4SKYE4.js → chunk-EBY63B7G.js} +2 -5
  50. package/dist/chunk-F2I26BDK.js +66 -0
  51. package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
  52. package/dist/{chunk-RAPCMZL4.js → chunk-FSP7CMNU.js} +9 -1
  53. package/dist/{chunk-32KWKNSF.js → chunk-FVDGR2ZL.js} +4 -4
  54. package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
  55. package/dist/{chunk-SJ5ZKQ4S.js → chunk-HIICAHCJ.js} +2 -2
  56. package/dist/chunk-HJWWJ6IL.js +184 -0
  57. package/dist/{chunk-WZR7K7ZX.js → chunk-HKMD33FO.js} +32 -83
  58. package/dist/chunk-HLAFFSEK.js +360 -0
  59. package/dist/{chunk-VO67MWHC.js → chunk-HRQMFLJP.js} +3 -3
  60. package/dist/{chunk-KFZI4NIL.js → chunk-I64IFBLB.js} +152 -31
  61. package/dist/{chunk-BKFJHQCA.js → chunk-I66EAJFY.js} +2 -2
  62. package/dist/{chunk-BUMFYQFY.js → chunk-I66ZTYNP.js} +543 -267
  63. package/dist/{chunk-2OQE55CK.js → chunk-I7XBWTYH.js} +2 -2
  64. package/dist/{chunk-GKF55TAZ.js → chunk-IDNA72AH.js} +104 -3
  65. package/dist/{chunk-GCSMB2KY.js → chunk-IKOZFYBN.js} +1 -1
  66. package/dist/{chunk-J4W7KFM7.js → chunk-IKSLQ4XV.js} +5439 -3475
  67. package/dist/{chunk-6DB53AJS.js → chunk-IMXMHHMQ.js} +171 -30
  68. package/dist/{chunk-AB44T6BB.js → chunk-JBCS7CRR.js} +8 -7
  69. package/dist/{chunk-BBVJUZHB.js → chunk-JIEGK6UF.js} +5 -173
  70. package/dist/{chunk-SP2RXXYO.js → chunk-JWJGP5DQ.js} +10 -10
  71. package/dist/{chunk-HZHHCK24.js → chunk-KKOJXO6R.js} +527 -325
  72. package/dist/chunk-KPXDY6QF.js +47 -0
  73. package/dist/{chunk-LQ3DZAMX.js → chunk-LJID3DYZ.js} +8 -2
  74. package/dist/{chunk-7MCTRUCE.js → chunk-M2DAX4F6.js} +2 -2
  75. package/dist/{chunk-VEO4AP2K.js → chunk-M2WXEHER.js} +4 -3
  76. package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
  77. package/dist/{chunk-YDFRH54B.js → chunk-MCMZMDAC.js} +4 -4
  78. package/dist/{chunk-J5Q24KAG.js → chunk-MNJGS2IN.js} +5 -6
  79. package/dist/{chunk-76ONBSIA.js → chunk-MQXIVJ35.js} +14 -5
  80. package/dist/chunk-NDDGJUXD.js +81 -0
  81. package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
  82. package/dist/chunk-NMJXSHBJ.js +283 -0
  83. package/dist/{chunk-VYMXRQI6.js → chunk-O3YUNJZ2.js} +88 -100
  84. package/dist/{chunk-VO2LKSTM.js → chunk-O42A54GG.js} +2 -2
  85. package/dist/{chunk-Z2RR6MAK.js → chunk-P75RZCJW.js} +28 -6
  86. package/dist/{chunk-NHCZP4K7.js → chunk-PBP4B7XR.js} +2 -2
  87. package/dist/{chunk-DYJP44XW.js → chunk-PGF63K6I.js} +2 -2
  88. package/dist/chunk-PJX3WQUQ.js +42 -0
  89. package/dist/{chunk-ZGVHUX3M.js → chunk-PMZVFWSR.js} +2 -2
  90. package/dist/{chunk-2JDWVJND.js → chunk-Q4XWMHX6.js} +5 -7
  91. package/dist/{chunk-W5VSYASO.js → chunk-QQLGQY2A.js} +46 -87
  92. package/dist/{chunk-KMVISBZR.js → chunk-RKSR6VSF.js} +1 -1
  93. package/dist/{chunk-C2LTL2W6.js → chunk-RLYRBIYQ.js} +463 -180
  94. package/dist/{chunk-4ZG3XFUR.js → chunk-S66XZJOF.js} +14 -23
  95. package/dist/{chunk-I5VEOC6I.js → chunk-SSEYRH53.js} +13 -14
  96. package/dist/chunk-SZAA6XDG.js +30 -0
  97. package/dist/{chunk-CODPRO7Q.js → chunk-TPEQIQIE.js} +7 -7
  98. package/dist/{chunk-QLL7ILRG.js → chunk-UBRFI4HS.js} +1151 -614
  99. package/dist/{chunk-O4XIVISU.js → chunk-UH347SHR.js} +227 -47
  100. package/dist/{chunk-OQBA45DZ.js → chunk-UH632ZYL.js} +2 -2
  101. package/dist/chunk-UXCU4E3T.js +303 -0
  102. package/dist/{chunk-CMZWFGD2.js → chunk-VAVR4IJY.js} +19 -15
  103. package/dist/{chunk-IQ7KR472.js → chunk-VIA6RFQZ.js} +8 -13
  104. package/dist/{chunk-V5DHCITQ.js → chunk-VKPAQYEB.js} +49 -19
  105. package/dist/{chunk-5LXZXPKX.js → chunk-VN3SHNBN.js} +2 -2
  106. package/dist/{chunk-UOSL25KY.js → chunk-VXMFAE2W.js} +1 -1
  107. package/dist/{chunk-3XML7CDN.js → chunk-W4YEMFBX.js} +3 -3
  108. package/dist/{chunk-U77AMWDL.js → chunk-W6NIE6OW.js} +44 -23
  109. package/dist/{chunk-BBVYXMFO.js → chunk-WNP7O5WZ.js} +2 -2
  110. package/dist/{chunk-QREDIESB.js → chunk-X7IARSHT.js} +15 -9
  111. package/dist/{chunk-3URVFKWK.js → chunk-XE3PCIXH.js} +5 -5
  112. package/dist/{chunk-FEFIFZTL.js → chunk-XGDPUNND.js} +2 -2
  113. package/dist/{chunk-F4CKPOEQ.js → chunk-XOXV5GKE.js} +119 -38
  114. package/dist/chunk-XQRY4DTA.js +657 -0
  115. package/dist/{chunk-NYS75XW5.js → chunk-YAKGTXEV.js} +5 -3
  116. package/dist/{chunk-NQQH3YT7.js → chunk-YJISEZKC.js} +3 -3
  117. package/dist/{chunk-X75E3D2N.js → chunk-ZGNYYXQ6.js} +18 -16
  118. package/dist/{chunk-LY4S7GJC.js → chunk-ZNT2M6TG.js} +20 -18
  119. package/dist/{chunk-HKIYEGME.js → chunk-ZTJUVLTU.js} +2 -2
  120. package/dist/{chunk-IBEBSCYA.js → chunk-ZW4HH5JJ.js} +43 -34
  121. package/dist/{chunk-2ANTL7MR.js → chunk-ZW55JB7N.js} +2 -2
  122. package/dist/cli/index.js +38 -37
  123. package/dist/{clio-2JXHBBY5.js → clio-7VB377CC.js} +12 -13
  124. package/dist/{code-nav-3YYRMYNF.js → code-nav-YVLCYA7V.js} +86 -18
  125. package/dist/codewiki/build-worker.js +1 -1
  126. package/dist/{compile-cache-7FPE6PS3.js → compile-cache-OQAVB7Y5.js} +2 -4
  127. package/dist/{components-RYZV4JGP.js → components-UBWCQSRW.js} +4 -4
  128. package/dist/{config-QZPCMYSO.js → config-4HVOS65E.js} +112 -63
  129. package/dist/{configure-TEGEBYCA.js → configure-PIWO7B24.js} +25 -22
  130. package/dist/{context-E6H5RNMC.js → context-IYEHL3WQ.js} +53 -47
  131. package/dist/{context-GSXUE4CT.js → context-KQYIWPWT.js} +68 -42
  132. package/dist/{context-AV7OEZ4D.js → context-N6ZE3LGJ.js} +11 -11
  133. package/dist/{context-clear-SHIBYK6T.js → context-clear-G4OGZJDS.js} +53 -47
  134. package/dist/{context-working-set-5ZGKPGZQ.js → context-working-set-BWLF6LJP.js} +12 -11
  135. package/dist/{dispatch-runner-EFMJT4LD.js → dispatch-runner-2QQAITS3.js} +67 -58
  136. package/dist/{docs-23KQS3XK.js → docs-PD3EXDKU.js} +20 -25
  137. package/dist/doctor-LHBD36VU.js +773 -0
  138. package/dist/{eval-TFBYQH4H.js → eval-C45FYRJ6.js} +68 -49
  139. package/dist/{eval-inventory-SXH7PDKX.js → eval-inventory-6DEJPLBF.js} +7 -8
  140. package/dist/{evidence-ERGESKGN.js → evidence-6SHONYAF.js} +50 -44
  141. package/dist/{evolve-VDXTSYCJ.js → evolve-KRKMV72X.js} +49 -43
  142. package/dist/{extensions-7BGBHN57.js → extensions-KPZ2UHBB.js} +8 -6
  143. package/dist/{fleet-2RRVDF2V.js → fleet-IVTCKDHT.js} +93 -79
  144. package/dist/{fleet-commands-VJ726XIA.js → fleet-commands-EDWL3IT7.js} +10 -9
  145. package/dist/{fleet-decisions-EPAPM3XJ.js → fleet-decisions-YP3YEFGK.js} +6 -6
  146. package/dist/{fleet-graph-JF5QOATM.js → fleet-graph-ZFWKHY2M.js} +19 -15
  147. package/dist/{fleet-inspect-VLY4S7QM.js → fleet-inspect-FVUNCBML.js} +50 -45
  148. package/dist/{fleet-preflight-AIZUEJOY.js → fleet-preflight-UN5XED4R.js} +5 -9
  149. package/dist/{fleet-validate-AJRPDMDV.js → fleet-validate-XOWC4HSX.js} +22 -17
  150. package/dist/{fleet-verify-JFEL2L3H.js → fleet-verify-UN3SODEL.js} +48 -43
  151. package/dist/fleet-view-TWHJKCN6.js +96 -0
  152. package/dist/{init-DN2WWLFE.js → init-T2QORQ3Y.js} +72 -66
  153. package/dist/{install-XGLBQY5E.js → install-NKNG7KD4.js} +2 -2
  154. package/dist/{interop-OZBKXAYL.js → interop-IN5I2A66.js} +13 -11
  155. package/dist/{library-YWZG7IMW.js → library-LSCATDLZ.js} +23 -18
  156. package/dist/{memory-I4C4HMLW.js → memory-HYOKAGGJ.js} +51 -45
  157. package/dist/{models-CEYXJBO6.js → models-2GPMFYCM.js} +42 -33
  158. package/dist/{monitor-NZ6GCI3P.js → monitor-E4ASVUJH.js} +56 -50
  159. package/dist/{orchestrator-GCGQ4N5I.js → orchestrator-DDMPR3PY.js} +2676 -1507
  160. package/dist/{panes-KY6W3V2E.js → panes-E3RUXOW5.js} +5 -5
  161. package/dist/panes-IXKLOKA2.js +75 -0
  162. package/dist/{paths-II4K7DNR.js → paths-L7LGY6RN.js} +4 -4
  163. package/dist/{reset-DQ6FGCSH.js → reset-OAQP3W4O.js} +7 -8
  164. package/dist/{resources-BB3MVJMD.js → resources-OTRSN34L.js} +23 -17
  165. package/dist/{run-H2GQDUER.js → run-5DEYH5QK.js} +95 -84
  166. package/dist/{share-GTJN6A5O.js → share-IHWTLO3M.js} +26 -19
  167. package/dist/{skills-L55TEW6R.js → skills-IYMXMKW4.js} +25 -20
  168. package/dist/{skills-eval-XVXPH2JI.js → skills-eval-DROHSJAR.js} +63 -65
  169. package/dist/{skills-inventory-S4MXPJFV.js → skills-inventory-D7X4L4ZX.js} +21 -16
  170. package/dist/{slash-commands-ZSGASKJC.js → slash-commands-QBM7UZ3B.js} +38 -33
  171. package/dist/{steer-RZGSCY4R.js → steer-Z5DO23FJ.js} +3 -3
  172. package/dist/{support-PKEUNNQL.js → support-U7QOWY26.js} +6 -6
  173. package/dist/{targets-NCPZ644J.js → targets-P2FUC4IL.js} +64 -61
  174. package/dist/{terminal-lease-44SV3YCN.js → terminal-lease-YREJ3JX2.js} +15 -10
  175. package/dist/{tools-DAF3DI3C.js → tools-5B7RO6MV.js} +10 -8
  176. package/dist/{trace-FYVW2MQA.js → trace-YMGMUM6A.js} +101 -8
  177. package/dist/{tui-primitives-2AKXQNZK.js → tui-primitives-K5PASC3O.js} +8 -4
  178. package/dist/{uninstall-DW2PNOIC.js → uninstall-N34PCTGJ.js} +4 -6
  179. package/dist/{upgrade-3XPP6OQL.js → upgrade-PXK3S2YM.js} +36 -61
  180. package/dist/{usage-3NLHGTU2.js → usage-ME5MPXGX.js} +58 -53
  181. package/dist/{verifiers-SSQONKRT.js → verifiers-BVZ7IWOO.js} +10 -9
  182. package/dist/{verify-3U6J7FZI.js → verify-5K7ZKQFC.js} +9 -8
  183. package/dist/{web-fetch-S7RR6GZ7.js → web-fetch-MPARV2K7.js} +2 -3
  184. package/dist/{wiki-generate-CEHYGPGQ.js → wiki-generate-F5W5QTYY.js} +74 -70
  185. package/dist/{with-panes-MKB46MPQ.js → with-panes-BYOJCLAM.js} +78 -246
  186. package/dist/worker/entry.js +83 -63
  187. package/docs/README.md +176 -81
  188. package/docs/{acp.md → architecture/acp.md} +36 -20
  189. package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
  190. package/docs/{architecture.md → architecture/architecture.md} +43 -22
  191. package/docs/{artifact-placement.md → architecture/artifact-placement.md} +26 -23
  192. package/docs/architecture/artifact-versions.md +90 -0
  193. package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
  194. package/docs/{context-engine.md → architecture/context-engine.md} +25 -25
  195. package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
  196. package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
  197. package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
  198. package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
  199. package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
  200. package/docs/{model-catalog.md → architecture/model-catalog.md} +40 -17
  201. package/docs/{observability.md → architecture/observability.md} +26 -13
  202. package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
  203. package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +55 -20
  204. package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +35 -24
  205. package/docs/{safety-model.md → architecture/safety-model.md} +20 -15
  206. package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
  207. package/docs/architecture/time-conventions.md +125 -0
  208. package/docs/{trace-store.md → architecture/trace-store.md} +26 -13
  209. package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
  210. package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
  211. package/docs/{built-in-agents.md → guide/built-in-agents.md} +70 -46
  212. package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +73 -62
  213. package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +323 -444
  214. package/docs/guide/configuration-reference.md +1158 -0
  215. package/docs/{environment-variables.md → guide/environment-variables.md} +31 -27
  216. package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +8 -3
  217. package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
  218. package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +47 -49
  219. package/docs/{glossary.md → guide/glossary.md} +14 -11
  220. package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +45 -14
  221. package/docs/guide/panes-and-files.md +290 -0
  222. package/docs/{proactive-memory.md → guide/proactive-memory.md} +79 -66
  223. package/docs/{resource-library.md → guide/resource-library.md} +13 -4
  224. package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +7 -3
  225. package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
  226. package/docs/{troubleshooting.md → guide/troubleshooting.md} +10 -5
  227. package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +13 -10
  228. package/docs/history/release-cut-checklist.md +207 -0
  229. package/docs/{development-pipeline.md → process/development-pipeline.md} +24 -26
  230. package/docs/process/documentation-coverage.md +100 -0
  231. package/docs/process/documentation-guide.md +187 -0
  232. package/docs/{eval-runner.md → process/eval-runner.md} +41 -50
  233. package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
  234. package/docs/{evolution.md → process/evolution.md} +2 -2
  235. package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +17 -10
  236. package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
  237. package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
  238. package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
  239. package/evals/README.md +5 -0
  240. package/evals/behavioral-corpus-grader.mjs +103 -0
  241. package/evals/behavioral-machinery-baseline.json +2276 -0
  242. package/evals/behavioral-machinery-driver.ts +250 -0
  243. package/evals/behavioral-machinery-support.ts +253 -0
  244. package/evals/behavioral-machinery.yaml +614 -0
  245. package/evals/behavioral-model-negative-control.yaml +68 -0
  246. package/evals/behavioral-model.yaml +216 -0
  247. package/evals/fixtures/behavioral-facts.txt +3 -0
  248. package/evals/fixtures/behavioral-main.ts +7 -0
  249. package/evals/fixtures/decoy/note.txt +2 -0
  250. package/evals/fixtures/private/credentials.txt +1 -0
  251. package/evals/tracked-metrics-baseline.yaml +229 -0
  252. package/evals/tracked-metrics-grader.mjs +129 -0
  253. package/package.json +13 -21
  254. package/skills/README.md +51 -42
  255. package/skills/coding/ast-grep/SKILL.md +9 -3
  256. package/skills/coding/coding-standards/SKILL.md +9 -3
  257. package/skills/coding/prototype/SKILL.md +9 -3
  258. package/skills/coding/tdd/SKILL.md +9 -3
  259. package/skills/context/context-handoff/SKILL.md +13 -4
  260. package/skills/context/context-handoff/evals.md +3 -3
  261. package/skills/context/context-prime/SKILL.md +9 -3
  262. package/skills/context/context-prime/evals.md +2 -2
  263. package/skills/git/file-ticket/SKILL.md +10 -5
  264. package/skills/git/file-ticket/evals.md +2 -2
  265. package/skills/git/fix-issue/SKILL.md +12 -5
  266. package/skills/git/fix-issue/evals.md +4 -4
  267. package/skills/git/resolve-merge-conflicts/SKILL.md +9 -3
  268. package/skills/git/resolve-merge-conflicts/evals.md +2 -2
  269. package/skills/git/ship/SKILL.md +10 -4
  270. package/skills/git/ship/evals.md +4 -4
  271. package/skills/git/worktree-create/SKILL.md +8 -3
  272. package/skills/git/worktree-create/evals.md +6 -6
  273. package/skills/git/worktree-merge/SKILL.md +8 -3
  274. package/skills/git/worktree-merge/evals.md +6 -6
  275. package/skills/meta/{clio-dev → clio-coder-dev}/SKILL.md +22 -12
  276. package/skills/meta/{clio-dev → clio-coder-dev}/evals.md +5 -4
  277. package/skills/meta/clio-coder-test/SKILL.md +146 -0
  278. package/skills/meta/{clio-test → clio-coder-test}/evals.md +10 -5
  279. package/skills/meta/clio-coder-test/references/harness.md +102 -0
  280. package/skills/meta/clio-coder-test/references/test-map.md +96 -0
  281. package/skills/meta/credentials/SKILL.md +10 -3
  282. package/skills/meta/find-skills/SKILL.md +9 -3
  283. package/skills/meta/herdr/SKILL.md +9 -3
  284. package/skills/meta/skill-craft/SKILL.md +39 -16
  285. package/skills/planning/architecture/SKILL.md +9 -3
  286. package/skills/planning/backlog/SKILL.md +9 -3
  287. package/skills/planning/prd/SKILL.md +9 -3
  288. package/skills/planning/product-intent/SKILL.md +9 -3
  289. package/skills/planning/tech-spec/SKILL.md +9 -3
  290. package/skills/registry.yaml +66 -66
  291. package/skills/research/arxiv-literature/SKILL.md +9 -3
  292. package/skills/research/experiment-protocol/SKILL.md +10 -3
  293. package/skills/research/scientific-debugging/SKILL.md +10 -3
  294. package/skills/research/scientific-debugging/evals.md +2 -2
  295. package/skills/research/scientific-modernization/SKILL.md +10 -3
  296. package/skills/skill-marketplace.json +285 -66
  297. package/skills/workflow/cut-it/SKILL.md +11 -3
  298. package/skills/workflow/design-council/SKILL.md +12 -3
  299. package/skills/workflow/grill-me/SKILL.md +9 -3
  300. package/skills/workflow/workflow-distiller/SKILL.md +9 -3
  301. package/src/cli/acp.ts +2 -2
  302. package/src/cli/args.ts +2 -2
  303. package/src/cli/auth.ts +2 -2
  304. package/src/cli/bootstrap-generate.ts +6 -6
  305. package/src/cli/clio.ts +6 -1
  306. package/src/cli/config-inspect.ts +68 -15
  307. package/src/cli/configure-interop.ts +1 -1
  308. package/src/cli/configure.ts +27 -31
  309. package/src/cli/default-target.ts +1 -1
  310. package/src/cli/docs.ts +28 -20
  311. package/src/cli/doctor-naming.ts +323 -0
  312. package/src/cli/doctor-panes.ts +46 -14
  313. package/src/cli/doctor-toolchain.ts +31 -10
  314. package/src/cli/doctor.ts +15 -1
  315. package/src/cli/eval-inventory.ts +8 -8
  316. package/src/cli/eval.ts +1 -2
  317. package/src/cli/evidence-detail.ts +1 -1
  318. package/src/cli/evidence-inventory.ts +1 -1
  319. package/src/cli/extensions.ts +2 -1
  320. package/src/cli/fleet-decisions.ts +1 -1
  321. package/src/cli/fleet-inspect.ts +1 -1
  322. package/src/cli/fleet-preflight.ts +1 -1
  323. package/src/cli/fleet-verify.ts +1 -1
  324. package/src/cli/fleet-view.ts +40 -23
  325. package/src/cli/fleet.ts +9 -6
  326. package/src/cli/index.ts +2 -1
  327. package/src/cli/internal-dispatch.ts +3 -4
  328. package/src/cli/interop-inspect.ts +2 -2
  329. package/src/cli/models.ts +3 -3
  330. package/src/cli/modes/print.ts +1 -1
  331. package/src/cli/panes.ts +19 -5
  332. package/src/cli/reset.ts +1 -1
  333. package/src/cli/run.ts +13 -17
  334. package/src/cli/share.ts +6 -2
  335. package/src/cli/skills-eval.ts +14 -14
  336. package/src/cli/targets.ts +25 -30
  337. package/src/cli/trace-inspect.ts +1 -1
  338. package/src/cli/trace.ts +96 -4
  339. package/src/cli/uninstall.ts +2 -2
  340. package/src/cli/upgrade.ts +29 -34
  341. package/src/cli/usage.ts +2 -2
  342. package/src/cli/validate-model.ts +1 -1
  343. package/src/cli/verifiers-inspect.ts +1 -1
  344. package/src/cli/wiki-generate.ts +6 -6
  345. package/src/core/artifact-paths.ts +1 -1
  346. package/src/core/bash-exec.ts +132 -87
  347. package/src/core/boot-trace.ts +3 -3
  348. package/src/core/bus-events.ts +51 -6
  349. package/src/core/bus-trace.ts +2 -2
  350. package/src/core/compile-cache.ts +1 -1
  351. package/src/core/config.ts +1066 -886
  352. package/src/core/defaults.ts +326 -530
  353. package/src/core/dispatch-outcome.ts +16 -0
  354. package/src/core/domain-loader.ts +6 -4
  355. package/src/core/event-bus.ts +1 -1
  356. package/src/core/file-references.ts +78 -88
  357. package/src/core/git-commit-attribution.ts +3 -9
  358. package/src/core/guardrails.ts +33 -52
  359. package/src/core/naming-compat.ts +45 -0
  360. package/src/core/naming-events.ts +62 -0
  361. package/src/core/prompt-hint.ts +9 -0
  362. package/src/core/recent-models.ts +1 -7
  363. package/src/core/residency-protection.ts +4 -8
  364. package/src/core/resolve-config-value.ts +1 -1
  365. package/src/core/response-model-id.ts +0 -14
  366. package/src/core/session-routing.ts +84 -74
  367. package/src/core/skill-activation.ts +18 -0
  368. package/src/core/termination.ts +4 -4
  369. package/src/core/timers.ts +2 -12
  370. package/src/domains/agents/builtins/architect.md +2 -3
  371. package/src/domains/agents/builtins/coder.md +3 -2
  372. package/src/domains/agents/builtins/debugger.md +2 -2
  373. package/src/domains/agents/builtins/documenter.md +2 -2
  374. package/src/domains/agents/builtins/git-master.md +1 -1
  375. package/src/domains/agents/builtins/oracle.md +1 -1
  376. package/src/domains/agents/builtins/provenance.md +1 -1
  377. package/src/domains/agents/builtins/researcher.md +1 -1
  378. package/src/domains/agents/builtins/scout.md +1 -1
  379. package/src/domains/agents/builtins/tester.md +2 -2
  380. package/src/domains/agents/builtins/verifier.md +2 -2
  381. package/src/domains/agents/builtins/wiki-writer.md +1 -1
  382. package/src/domains/agents/catalog.ts +14 -26
  383. package/src/domains/agents/contract.ts +2 -0
  384. package/src/domains/agents/extension.ts +26 -4
  385. package/src/domains/agents/registry.ts +7 -7
  386. package/src/domains/agents/result-contract.ts +1 -1
  387. package/src/domains/agents/spec.ts +0 -11
  388. package/src/domains/config/classify.ts +35 -47
  389. package/src/domains/config/extension.ts +5 -5
  390. package/src/domains/config/keybindings.ts +56 -47
  391. package/src/domains/config/watcher.ts +1 -1
  392. package/src/domains/context/codewiki/indexer.ts +1 -1
  393. package/src/domains/context/extension.ts +3 -6
  394. package/src/domains/context/prompt-context.ts +1 -1
  395. package/src/domains/context/wiki/assemble.ts +2 -2
  396. package/src/domains/context/working-set/path-index.ts +1 -0
  397. package/src/domains/context/working-set/replay/metrics.ts +0 -4
  398. package/src/domains/context/working-set/replay/report.ts +1 -1
  399. package/src/domains/context/working-set/replay/synthetic.ts +2 -2
  400. package/src/domains/dispatch/active-route-planner.ts +2 -2
  401. package/src/domains/dispatch/agent-candidates.ts +1 -1
  402. package/src/domains/dispatch/agent-ledger-store.ts +1 -1
  403. package/src/domains/dispatch/agent-ledger.ts +1 -1
  404. package/src/domains/dispatch/assignment.ts +5 -5
  405. package/src/domains/dispatch/capability-match.ts +10 -0
  406. package/src/domains/dispatch/capacity-lease.ts +2 -5
  407. package/src/domains/dispatch/code-step.ts +1 -1
  408. package/src/domains/dispatch/contract.ts +2 -2
  409. package/src/domains/dispatch/extension.ts +169 -82
  410. package/src/domains/dispatch/fleet-node-prompt.ts +1 -1
  411. package/src/domains/dispatch/fleet-preflight.ts +8 -17
  412. package/src/domains/dispatch/fleet-run.ts +0 -7
  413. package/src/domains/dispatch/gate-decisions.ts +25 -14
  414. package/src/domains/dispatch/host-verification.ts +435 -39
  415. package/src/domains/dispatch/intent-requirements.ts +10 -0
  416. package/src/domains/dispatch/intent.ts +18 -1
  417. package/src/domains/dispatch/joint-route-resolver.ts +1 -1
  418. package/src/domains/dispatch/path-scope.ts +220 -70
  419. package/src/domains/dispatch/placement.ts +2 -2
  420. package/src/domains/dispatch/receipt-findings.ts +1 -1
  421. package/src/domains/dispatch/receipt-integrity.ts +20 -8
  422. package/src/domains/dispatch/reservation-store.ts +0 -23
  423. package/src/domains/dispatch/route-decision.ts +1 -1
  424. package/src/domains/dispatch/route-history.ts +1 -1
  425. package/src/domains/dispatch/route-policy.ts +1 -1
  426. package/src/domains/dispatch/route-readiness.ts +0 -28
  427. package/src/domains/dispatch/run-event-journal.ts +9 -19
  428. package/src/domains/dispatch/state.ts +2 -3
  429. package/src/domains/dispatch/tool-stats.ts +1 -1
  430. package/src/domains/dispatch/transport.ts +47 -40
  431. package/src/domains/dispatch/types.ts +58 -6
  432. package/src/domains/dispatch/worker-protocol.ts +2 -2
  433. package/src/domains/eval/artifacts/store.ts +10 -4
  434. package/src/domains/eval/compare/thresholds.ts +0 -8
  435. package/src/domains/eval/execution-provenance.ts +1 -1
  436. package/src/domains/eval/metrics/token-stream.ts +0 -7
  437. package/src/domains/eval/report.ts +1 -1
  438. package/src/domains/eval/runner.ts +1 -1
  439. package/src/domains/eval/runners/clio-run.ts +7 -6
  440. package/src/domains/eval/runners/external-command.ts +4 -3
  441. package/src/domains/eval/schema/artifact.ts +1 -1
  442. package/src/domains/eval/schema/behavioral-metrics.ts +3 -2
  443. package/src/domains/eval/schema/behavioral.ts +7 -6
  444. package/src/domains/eval/schema/execution-envelope.ts +4 -2
  445. package/src/domains/eval/schema/naming.ts +10 -0
  446. package/src/domains/eval/schema/suite.ts +2 -2
  447. package/src/domains/eval/schema/validate.ts +9 -5
  448. package/src/domains/eval/schema/verdict.ts +4 -2
  449. package/src/domains/eval/store.ts +20 -3
  450. package/src/domains/eval/suites/run.ts +12 -6
  451. package/src/domains/eval/types.ts +1 -1
  452. package/src/domains/eval/workspaces/git.ts +1 -1
  453. package/src/domains/eval/workspaces/temp-copy.ts +1 -1
  454. package/src/domains/evidence/build.ts +13 -5
  455. package/src/domains/evidence/trust-status.ts +10 -1
  456. package/src/domains/extensions/contract.ts +15 -1
  457. package/src/domains/extensions/discovery.ts +238 -41
  458. package/src/domains/extensions/extension.ts +105 -6
  459. package/src/domains/extensions/index.ts +24 -0
  460. package/src/domains/extensions/integrity.ts +189 -0
  461. package/src/domains/extensions/manager.ts +17 -1
  462. package/src/domains/extensions/resource-path.ts +27 -0
  463. package/src/domains/extensions/resources.ts +18 -38
  464. package/src/domains/extensions/snapshot-store.ts +39 -0
  465. package/src/domains/extensions/snapshot.ts +180 -0
  466. package/src/domains/extensions/state.ts +385 -57
  467. package/src/domains/extensions/types.ts +118 -1
  468. package/src/domains/interop/consent.ts +7 -7
  469. package/src/domains/interop/extension.ts +1 -1
  470. package/src/domains/lifecycle/doctor.ts +27 -21
  471. package/src/domains/lifecycle/migrations/2026-09-01-clio-coder-naming.ts +155 -0
  472. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
  473. package/src/domains/lifecycle/migrations/2026-09-01-retire-panes-knobs.ts +59 -0
  474. package/src/domains/lifecycle/migrations/2026-09-01-settings-v2.ts +338 -0
  475. package/src/domains/lifecycle/migrations/index.ts +22 -1
  476. package/src/domains/lifecycle/naming-history.ts +153 -0
  477. package/src/domains/lifecycle/naming-mutable-state.ts +104 -0
  478. package/src/domains/lifecycle/naming-resources.ts +276 -0
  479. package/src/domains/lifecycle/naming-tool-markers.ts +139 -0
  480. package/src/domains/lifecycle/naming-yazi.ts +86 -0
  481. package/src/domains/lifecycle/upgrade-notice.ts +1 -1
  482. package/src/domains/memory/task-memory-handoff.ts +6 -3
  483. package/src/domains/middleware/contract.ts +26 -0
  484. package/src/domains/middleware/extension.ts +24 -24
  485. package/src/domains/middleware/hook-receipts.ts +27 -4
  486. package/src/domains/middleware/hooks-io.ts +65 -32
  487. package/src/domains/middleware/hooks.ts +64 -0
  488. package/src/domains/middleware/index.ts +35 -4
  489. package/src/domains/middleware/marketplace-offer.ts +339 -0
  490. package/src/domains/middleware/registrations.ts +326 -0
  491. package/src/domains/middleware/runtime.ts +30 -2
  492. package/src/domains/middleware/snapshot.ts +20 -7
  493. package/src/domains/mux/contract.ts +195 -25
  494. package/src/domains/mux/detect.ts +23 -6
  495. package/src/domains/mux/dock-controller.ts +365 -0
  496. package/src/domains/mux/extension.ts +7 -1
  497. package/src/domains/mux/index.ts +21 -1
  498. package/src/domains/mux/operations.ts +72 -5
  499. package/src/domains/mux/protocol.ts +19 -6
  500. package/src/domains/mux/socket-client.ts +167 -19
  501. package/src/domains/mux/types.ts +49 -6
  502. package/src/domains/mux/yazi/assets/yazi.toml +2 -2
  503. package/src/domains/mux/yazi/event-stream.ts +6 -4
  504. package/src/domains/mux/yazi/profile.ts +1 -1
  505. package/src/domains/mux/yazi/session.ts +79 -7
  506. package/src/domains/mux/yazi/theme.ts +117 -17
  507. package/src/domains/observability/contract.ts +10 -11
  508. package/src/domains/observability/extension.ts +12 -4
  509. package/src/domains/observability/out-of-turn-usage.ts +2 -2
  510. package/src/domains/observability/projection.ts +15 -91
  511. package/src/domains/observability/trace-store.ts +65 -19
  512. package/src/domains/prompts/compiler.ts +75 -55
  513. package/src/domains/prompts/contract.ts +15 -3
  514. package/src/domains/prompts/extension.ts +100 -12
  515. package/src/domains/prompts/fragments/identity/clio-worker.md +2 -4
  516. package/src/domains/prompts/fragments/identity/clio.md +6 -12
  517. package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
  518. package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
  519. package/src/domains/prompts/fragments/operating/contract.md +7 -15
  520. package/src/domains/prompts/fragments/operating/delegation.md +32 -34
  521. package/src/domains/prompts/fragments/operating/skills.md +11 -18
  522. package/src/domains/prompts/fragments/operating/worker.md +1 -8
  523. package/src/domains/providers/extension.ts +5 -5
  524. package/src/domains/providers/index.ts +1 -1
  525. package/src/domains/providers/knowledge-base-path.ts +1 -1
  526. package/src/domains/providers/model-runtime-capabilities.ts +99 -23
  527. package/src/domains/providers/models/cloud-models/alcf.yaml +1 -1
  528. package/src/domains/providers/models/local-models/{clio-local-coding-targets.yaml → clio-coder-local-coding-targets.yaml} +671 -106
  529. package/src/domains/providers/plugins.ts +1 -1
  530. package/src/domains/providers/resolver.ts +1 -1
  531. package/src/domains/providers/runtime-resolution.ts +31 -0
  532. package/src/domains/providers/runtimes/cloud/alcf.ts +4 -4
  533. package/src/domains/providers/runtimes/common/lmstudio-http.ts +1 -5
  534. package/src/domains/providers/runtimes/common/local-synth.ts +3 -3
  535. package/src/domains/providers/runtimes/common/probe-helpers.ts +9 -4
  536. package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
  537. package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
  538. package/src/domains/providers/runtimes/local-native/lmstudio.ts +2 -9
  539. package/src/domains/providers/runtimes/protocol/litellm.ts +1 -91
  540. package/src/domains/providers/types/cost-provenance.ts +19 -0
  541. package/src/domains/providers/types/knowledge-base.ts +13 -0
  542. package/src/domains/providers/types/local-model-quirks.ts +87 -39
  543. package/src/domains/providers/types/target-descriptor.ts +3 -3
  544. package/src/domains/resources/extension.ts +1 -1
  545. package/src/domains/resources/library.ts +6 -6
  546. package/src/domains/resources/prompts/loader.ts +1 -1
  547. package/src/domains/resources/skills/content-hash.ts +7 -6
  548. package/src/domains/resources/skills/evals.ts +1 -1
  549. package/src/domains/resources/skills/install.ts +36 -12
  550. package/src/domains/resources/skills/loader.ts +41 -18
  551. package/src/domains/resources/skills/marketplace.ts +21 -2
  552. package/src/domains/resources/skills/promotion.ts +214 -0
  553. package/src/domains/safety/audit.ts +2 -2
  554. package/src/domains/safety/call-target.ts +1 -1
  555. package/src/domains/safety/finish-contract.ts +2 -1
  556. package/src/domains/safety/loop-detector.ts +7 -4
  557. package/src/domains/safety/run-effects.ts +1 -1
  558. package/src/domains/scheduling/extension.ts +4 -4
  559. package/src/domains/session/archive-readers.ts +9 -1
  560. package/src/domains/session/compaction/branch-summary.ts +4 -0
  561. package/src/domains/session/compaction/compact.ts +1 -1
  562. package/src/domains/session/compaction/tokens.ts +4 -0
  563. package/src/domains/session/context-accounting.ts +1 -1
  564. package/src/domains/session/decision-board.ts +1 -1
  565. package/src/domains/session/extension.ts +1 -1
  566. package/src/domains/session/handoff.ts +2 -2
  567. package/src/domains/session/prompt-manifest.ts +0 -5
  568. package/src/domains/session/protected-artifact-journal.ts +12 -6
  569. package/src/domains/session/retry.ts +1 -1
  570. package/src/domains/session/task-board.ts +10 -9
  571. package/src/domains/share/archive.ts +249 -43
  572. package/src/domains/toolchain/install.ts +1 -1
  573. package/src/engine/acp/adapter.ts +3 -3
  574. package/src/engine/acp/event-mapper.ts +3 -3
  575. package/src/engine/acp/server.ts +89 -35
  576. package/src/engine/acp/tool-mediator.ts +2 -2
  577. package/src/engine/acp/types.ts +1 -1
  578. package/src/engine/alcf-oauth.ts +5 -5
  579. package/src/engine/antigravity/subprocess-runtime.ts +2 -2
  580. package/src/engine/api-registry.ts +1 -1
  581. package/src/engine/apis/llamacpp-residency.ts +4 -23
  582. package/src/engine/apis/lmstudio.ts +4 -9
  583. package/src/engine/apis/ollama-native.ts +9 -9
  584. package/src/engine/apis/openai-completions.ts +30 -27
  585. package/src/engine/apis/output-budget.ts +8 -18
  586. package/src/engine/apis/residency.ts +10 -35
  587. package/src/engine/claude/sdk-module.ts +1 -12
  588. package/src/engine/claude/sdk-runtime.ts +6 -6
  589. package/src/engine/claude/subprocess-runtime.ts +1 -1
  590. package/src/engine/claude/tool-safety.ts +4 -4
  591. package/src/engine/gemma-channel-filter.ts +19 -0
  592. package/src/engine/loop-guard.ts +92 -17
  593. package/src/engine/session.ts +14 -7
  594. package/src/engine/tui-primitives.ts +1 -1
  595. package/src/engine/worker-events.ts +6 -6
  596. package/src/engine/worker-runtime.ts +54 -24
  597. package/src/engine/worker-tools.ts +3 -1
  598. package/src/entry/extension-hook-sources.ts +28 -0
  599. package/src/entry/extension-reload.ts +309 -0
  600. package/src/entry/orchestrator.ts +163 -120
  601. package/src/interactive/application-controller.ts +23 -22
  602. package/src/interactive/bus-notices.ts +10 -3
  603. package/src/interactive/chat-loop-messages.ts +3 -13
  604. package/src/interactive/chat-loop.ts +18 -9
  605. package/src/interactive/chat-panel.ts +37 -14
  606. package/src/interactive/chat-renderer.ts +71 -7
  607. package/src/interactive/clio-editor.ts +105 -1
  608. package/src/interactive/context-activity.ts +8 -6
  609. package/src/interactive/context-meter.ts +3 -6
  610. package/src/interactive/context-overlay.ts +1 -1
  611. package/src/interactive/cost-overlay.ts +1 -1
  612. package/src/interactive/council-grid.ts +2 -2
  613. package/src/interactive/dispatch-board.ts +36 -44
  614. package/src/interactive/editor-bash.ts +21 -0
  615. package/src/interactive/editor-steer.ts +9 -4
  616. package/src/interactive/editor-submit.ts +24 -18
  617. package/src/interactive/external-editor.ts +1 -1
  618. package/src/interactive/file-reference-completion.ts +360 -0
  619. package/src/interactive/footer/dashboard.ts +15 -17
  620. package/src/interactive/footer/notifications.ts +14 -8
  621. package/src/interactive/footer/widgets.ts +15 -44
  622. package/src/interactive/interactive-application.ts +116 -61
  623. package/src/interactive/interactive-event-projection.ts +1 -1
  624. package/src/interactive/interactive-input-runtime.ts +6 -2
  625. package/src/interactive/interactive-presentation.ts +22 -17
  626. package/src/interactive/interactive-shell.ts +2 -2
  627. package/src/interactive/interactive-slash-runtime.ts +65 -17
  628. package/src/interactive/interactive-subscriptions.ts +1 -1
  629. package/src/interactive/interactive-tickers.ts +1 -1
  630. package/src/interactive/keybinding-manager.ts +4 -4
  631. package/src/interactive/layout.ts +1 -1
  632. package/src/interactive/memory-overlay.ts +2 -2
  633. package/src/interactive/modal-marker.ts +2 -21
  634. package/src/interactive/mutation-preview.ts +1 -1
  635. package/src/interactive/overlay-frame.ts +4 -12
  636. package/src/interactive/overlay-general-openers.ts +6 -2
  637. package/src/interactive/overlay-key-routing.ts +7 -7
  638. package/src/interactive/overlay-lifecycle.ts +1 -1
  639. package/src/interactive/overlay-model-selectors.ts +3 -3
  640. package/src/interactive/overlays/agents.ts +2 -2
  641. package/src/interactive/overlays/ask-user.ts +25 -11
  642. package/src/interactive/overlays/context-reset.ts +28 -4
  643. package/src/interactive/overlays/cwd-fallback.ts +28 -4
  644. package/src/interactive/overlays/decisions.ts +4 -2
  645. package/src/interactive/overlays/extensions.ts +9 -1
  646. package/src/interactive/overlays/fleet-run-approval.ts +3 -3
  647. package/src/interactive/overlays/handoff-review.ts +2 -2
  648. package/src/interactive/overlays/help-reference.ts +13 -0
  649. package/src/interactive/overlays/interop.ts +1 -1
  650. package/src/interactive/overlays/library-install-confirm.ts +1 -1
  651. package/src/interactive/overlays/message-picker.ts +1 -1
  652. package/src/interactive/overlays/model-selector.ts +39 -31
  653. package/src/interactive/overlays/prompts.ts +10 -4
  654. package/src/interactive/overlays/session-selector.ts +2 -2
  655. package/src/interactive/overlays/settings.ts +360 -303
  656. package/src/interactive/overlays/side-question.ts +2 -2
  657. package/src/interactive/overlays/skills-hub.ts +8 -8
  658. package/src/interactive/overlays/tree-selector.ts +2 -2
  659. package/src/interactive/panes-runtime.ts +145 -43
  660. package/src/interactive/permission-overlay.ts +2 -2
  661. package/src/interactive/prompt-cache-identity.ts +88 -0
  662. package/src/interactive/renderers/retry-status.ts +12 -4
  663. package/src/interactive/renderers/tool-execution.ts +4 -4
  664. package/src/interactive/session-transcript.ts +3 -3
  665. package/src/interactive/slash-autocomplete.ts +454 -165
  666. package/src/interactive/slash-commands.ts +401 -190
  667. package/src/interactive/slash-spec.ts +160 -17
  668. package/src/interactive/status/controller.ts +2 -2
  669. package/src/interactive/stream-pacing-policy.ts +1 -24
  670. package/src/interactive/tasks-overlay.ts +20 -13
  671. package/src/interactive/terminal-lease.ts +6 -7
  672. package/src/interactive/turn-context.ts +41 -26
  673. package/src/interactive/turn-persistence.ts +2 -2
  674. package/src/interactive/turn-prewarm.ts +2 -2
  675. package/src/interactive/turn-runtime.ts +8 -8
  676. package/src/interactive/turn-state.ts +1 -1
  677. package/src/interactive/view/artifacts.ts +12 -9
  678. package/src/interactive/view/view-overlay.ts +13 -10
  679. package/src/interactive/watch-pane.ts +38 -10
  680. package/src/interactive/welcome-dashboard.ts +15 -15
  681. package/src/interactive/worker-progress.ts +4 -4
  682. package/src/interactive/worker-receipts.ts +1 -1
  683. package/src/interactive/worker-stream.ts +1 -4
  684. package/src/interactive/yazi-bridge.ts +72 -11
  685. package/src/tools/agent-tools.ts +30 -1
  686. package/src/tools/artifact.ts +2 -2
  687. package/src/tools/ask-user.ts +6 -6
  688. package/src/tools/bash.ts +2 -2
  689. package/src/tools/bootstrap.ts +4 -0
  690. package/src/tools/builtin-tool-catalog.ts +52 -22
  691. package/src/tools/codewiki/code-nav-surface.ts +6 -0
  692. package/src/tools/codewiki/code-nav.ts +99 -13
  693. package/src/tools/compete-worktrees.ts +27 -17
  694. package/src/tools/context/docs-engine.ts +20 -7
  695. package/src/tools/context/index.ts +44 -13
  696. package/src/tools/core-bootstrap.ts +28 -6
  697. package/src/tools/credential-present.ts +1 -2
  698. package/src/tools/dispatch-admission.ts +4 -2
  699. package/src/tools/dispatch-arguments.ts +6 -2
  700. package/src/tools/dispatch-plan.ts +48 -15
  701. package/src/tools/dispatch-run-events.ts +13 -11
  702. package/src/tools/dispatch-runner.ts +11 -6
  703. package/src/tools/dispatch-schema.ts +338 -0
  704. package/src/tools/dispatch-types.ts +3 -0
  705. package/src/tools/dispatch.ts +9 -254
  706. package/src/tools/find.ts +1 -6
  707. package/src/tools/ledger.ts +3 -5
  708. package/src/tools/monitor-surface.ts +5 -13
  709. package/src/tools/monitor.ts +4 -4
  710. package/src/tools/observation.ts +4 -5
  711. package/src/tools/observers.ts +0 -33
  712. package/src/tools/panes-surface.ts +4 -11
  713. package/src/tools/panes.ts +4 -2
  714. package/src/tools/policy.ts +15 -2
  715. package/src/tools/read.ts +5 -6
  716. package/src/tools/registry.ts +30 -7
  717. package/src/tools/result-shaping.ts +18 -14
  718. package/src/tools/steer-surface.ts +1 -1
  719. package/src/tools/task-worktree.ts +28 -7
  720. package/src/tools/tasks.ts +1 -1
  721. package/src/tools/truncate.ts +6 -5
  722. package/src/tools/verify/authoring.ts +3 -6
  723. package/src/tools/verify/frontend.ts +1 -1
  724. package/src/tools/verify/surface.ts +6 -12
  725. package/src/tools/web-fetch-surface.ts +1 -3
  726. package/src/tools/web-fetch.ts +1 -1
  727. package/src/worker/entry.ts +4 -3
  728. package/src/worker/protocol.ts +16 -14
  729. package/src/worker/spec-contract.ts +2 -2
  730. package/src/worker/stdin-demux.ts +2 -2
  731. package/dist/chunk-36EJLSQQ.js +0 -814
  732. package/dist/chunk-GXNLGKAB.js +0 -571
  733. package/dist/chunk-K7VKOLQQ.js +0 -15
  734. package/dist/chunk-PMZCIOCJ.js +0 -25
  735. package/dist/chunk-SUCTJL45.js +0 -45
  736. package/dist/chunk-SUW5DORT.js +0 -819
  737. package/dist/chunk-TZ3SGWZZ.js +0 -48
  738. package/dist/chunk-UOV2BYIW.js +0 -107
  739. package/dist/chunk-VFA6GDY5.js +0 -1625
  740. package/dist/doctor-QOA5FNY5.js +0 -313
  741. package/dist/fleet-view-ZCON35AG.js +0 -102
  742. package/dist/panes-HMABYVO4.js +0 -58
  743. package/docs/artifact-versions.md +0 -67
  744. package/docs/documentation-coverage.md +0 -46
  745. package/docs/documentation-guide.md +0 -167
  746. package/docs/release-cut-checklist.md +0 -193
  747. package/docs/time-conventions.md +0 -101
  748. package/skills/meta/clio-test/SKILL.md +0 -133
  749. package/skills/meta/clio-test/references/harness.md +0 -126
  750. package/skills/meta/clio-test/references/test-map.md +0 -69
  751. package/src/engine/apis/degraded-inference.ts +0 -95
@@ -5,46 +5,54 @@ import {
5
5
  } from "./chunk-CFGTUFWB.js";
6
6
  import {
7
7
  credentialsPresent
8
- } from "./chunk-P3FOHJT4.js";
8
+ } from "./chunk-72GZI5EV.js";
9
9
  import {
10
10
  ceilChars,
11
11
  estimateAgentMessageTokens,
12
12
  toolSchemaChars
13
- } from "./chunk-UM7N4G5A.js";
13
+ } from "./chunk-CWVRRIEI.js";
14
14
  import {
15
15
  getSharedBus
16
- } from "./chunk-ZGVHUX3M.js";
17
- import {
18
- BusChannels
19
- } from "./chunk-HLW2MRKE.js";
16
+ } from "./chunk-PMZVFWSR.js";
20
17
  import {
21
18
  readSettings
22
- } from "./chunk-VFA6GDY5.js";
19
+ } from "./chunk-34BHNEE3.js";
20
+ import {
21
+ warnLegacyNaming
22
+ } from "./chunk-D7E7WCDF.js";
23
+ import {
24
+ BusChannels
25
+ } from "./chunk-F4EKGO4N.js";
23
26
  import {
24
27
  sleep
25
- } from "./chunk-FQ4SKYE4.js";
28
+ } from "./chunk-EBY63B7G.js";
26
29
  import {
27
30
  CLIO_CONTEXT_WINDOW_WARN_BELOW,
28
31
  CLIO_MIN_CONTEXT_WINDOW,
29
32
  CLIO_MIN_MAX_OUTPUT_TOKENS,
33
+ EMPTY_CAPABILITIES,
34
+ VALID_THINKING_LEVELS,
35
+ availableThinkingLevels,
30
36
  extractLocalModelQuirks,
37
+ inferLocalModelFamily,
38
+ isHarmonyModelId,
31
39
  listLmStudioModels,
32
40
  lmStudioReasoningEffort,
33
41
  lmStudioRootUrl,
34
42
  registerBuiltinRuntimes,
35
43
  requestLmStudioJson,
36
44
  resolveLmStudioInstance
37
- } from "./chunk-6DB53AJS.js";
45
+ } from "./chunk-IMXMHHMQ.js";
38
46
  import {
39
47
  listKnownModelsForRuntime
40
- } from "./chunk-HI63TFOG.js";
48
+ } from "./chunk-CDNVLKUX.js";
41
49
  import {
42
50
  authNotRequiredStatus,
43
51
  openAuthStorage,
44
52
  registerClioOAuthProviders,
45
53
  resolveAuthTarget,
46
54
  targetRequiresAuth
47
- } from "./chunk-BBVYXMFO.js";
55
+ } from "./chunk-WNP7O5WZ.js";
48
56
  import {
49
57
  withStateFileLock
50
58
  } from "./chunk-IKCO5N3L.js";
@@ -67,17 +75,16 @@ import {
67
75
  } from "./chunk-NUGM5KR6.js";
68
76
  import {
69
77
  capabilitiesFromCatalogModel,
70
- catalogThinkingLevelsForRuntime,
71
78
  getCatalogModelForRuntime,
72
79
  mergeCapabilities,
73
80
  resolveCostProvenance
74
- } from "./chunk-VO2LKSTM.js";
81
+ } from "./chunk-O42A54GG.js";
75
82
  import {
76
83
  activateExternalPluginApiBridge,
77
84
  calculateEngineCost,
78
85
  ensurePiAiRegistered,
79
86
  registerEngineApiProvider
80
- } from "./chunk-UOSL25KY.js";
87
+ } from "./chunk-VXMFAE2W.js";
81
88
  import {
82
89
  __toESM,
83
90
  init_esm_shims
@@ -427,7 +434,7 @@ function evictionNotice(facts, entry) {
427
434
  facts,
428
435
  "swap",
429
436
  "warning",
430
- `swapping resident '${entry.modelId}' for requested '${facts.keepModelId}' on '${facts.targetId}' (Clio did not load it; recorded transition instead of a silent unload; set CLIO_CODER_RESIDENCY=observe or lifecycle: user-managed to forbid swaps).`,
437
+ `swapping resident '${entry.modelId}' for requested '${facts.keepModelId}' on '${facts.targetId}' (Clio did not load it; recorded transition instead of a silent unload; set lifecycle: user-managed to forbid swaps).`,
431
438
  {
432
439
  ...entry.sizeVramBytes !== void 0 ? { freedVramBytes: entry.sizeVramBytes } : {},
433
440
  swappedOut: entry.modelId
@@ -730,16 +737,8 @@ async function reconcileResidency(adapter) {
730
737
  }
731
738
  return plan;
732
739
  }
733
- function residencyManaged(env = process.env) {
734
- const opt = (env.CLIO_CODER_RESIDENCY ?? "").trim().toLowerCase();
735
- if (opt === "observe" || opt === "off" || opt === "0" || opt === "false" || opt === "user" || opt === "user-managed") {
736
- return false;
737
- }
738
- return true;
739
- }
740
- function residencyManagedFor(lifecycle, env = process.env) {
741
- if (lifecycle === "user-managed") return false;
742
- return residencyManaged(env);
740
+ function residencyManagedFor(lifecycle) {
741
+ return lifecycle !== "user-managed";
743
742
  }
744
743
 
745
744
  // src/core/run-overrides.ts
@@ -787,97 +786,6 @@ async function withRunOverrides(overrides, fn) {
787
786
  }
788
787
  }
789
788
 
790
- // src/domains/providers/types/capability-flags.ts
791
- init_esm_shims();
792
-
793
- // src/domains/providers/model-family.ts
794
- init_esm_shims();
795
- function normalizeModelIdForFamily(modelId) {
796
- return (modelId ?? "").trim().toLowerCase().replace(/_/g, "-");
797
- }
798
- function isHarmonyModelId(modelId) {
799
- return normalizeModelIdForFamily(modelId).includes("gpt-oss");
800
- }
801
- function inferLocalModelFamily(modelId) {
802
- const normalized = normalizeModelIdForFamily(modelId);
803
- if (normalized.length === 0) return "unknown";
804
- if (normalized.includes("gpt-oss")) return "openai-gpt-oss";
805
- if (normalized.includes("nemotron-cascade-2") || normalized.includes("nemotron-cascade2")) {
806
- return "nemotron-cascade-2";
807
- }
808
- if (normalized.includes("nemotron-3-nano-omni") || normalized.includes("nemotron-nano-omni")) {
809
- return "nemotron-3-nano-omni";
810
- }
811
- if (normalized.includes("qwen3")) return "qwen3";
812
- if (normalized.includes("gemma-4") || normalized.includes("gemma4") || normalized.includes("gemopus")) {
813
- return "gemma-4";
814
- }
815
- return "unknown";
816
- }
817
-
818
- // src/domains/providers/types/capability-flags.ts
819
- var EMPTY_CAPABILITIES = {
820
- chat: false,
821
- tools: false,
822
- reasoning: false,
823
- vision: false,
824
- audio: false,
825
- embeddings: false,
826
- rerank: false,
827
- fim: false,
828
- contextWindow: 0,
829
- maxTokens: 0
830
- };
831
- var VALID_THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
832
- var THINKING_LEVELS_WITHOUT_XHIGH = ["off", "minimal", "low", "medium", "high"];
833
- var THINKING_LEVELS_OPENAI_5_1_MINI = ["off", "minimal", "low", "medium", "high"];
834
- var THINKING_LEVELS_OPENAI_5_2_PLUS = [
835
- "off",
836
- "minimal",
837
- "low",
838
- "medium",
839
- "high",
840
- "xhigh"
841
- ];
842
- var THINKING_LEVELS_OPENAI_5_6 = [...THINKING_LEVELS_OPENAI_5_2_PLUS, "max"];
843
- var THINKING_LEVELS_HARMONY = ["low", "medium", "high"];
844
- function normalizeModelId(modelId) {
845
- if (!modelId) return void 0;
846
- const trimmed = modelId.trim();
847
- if (trimmed.length === 0) return void 0;
848
- return trimmed.includes("/") ? trimmed.split("/").pop() ?? trimmed : trimmed;
849
- }
850
- function availableOpenAICodexThinkingLevels(modelId) {
851
- const normalized = normalizeModelId(modelId);
852
- if (!normalized) return VALID_THINKING_LEVELS;
853
- if (normalized === "gpt-5.1-codex-mini") return THINKING_LEVELS_OPENAI_5_1_MINI;
854
- if (normalized.startsWith("gpt-5.2") || normalized.startsWith("gpt-5.3") || normalized.startsWith("gpt-5.4") || normalized.startsWith("gpt-5.5")) {
855
- return THINKING_LEVELS_OPENAI_5_2_PLUS;
856
- }
857
- if (normalized.startsWith("gpt-5.6")) {
858
- return THINKING_LEVELS_OPENAI_5_6;
859
- }
860
- return THINKING_LEVELS_WITHOUT_XHIGH;
861
- }
862
- function availableThinkingLevels(caps, options) {
863
- if (!caps.reasoning) return ["off"];
864
- if (caps.thinkingFormat === "harmony" || isHarmonyModelId(options?.modelId)) {
865
- return THINKING_LEVELS_HARMONY;
866
- }
867
- const catalogLevels = options?.runtimeId && options.modelId ? catalogThinkingLevelsForRuntime(options.runtimeId, options.modelId) : void 0;
868
- if (catalogLevels) {
869
- if (!catalogLevels.includes("xhigh")) return catalogLevels.filter((level) => level !== "max");
870
- return catalogLevels;
871
- }
872
- if (caps.thinkingFormat === "openai-codex" || options?.runtimeId === "openai-codex") {
873
- return availableOpenAICodexThinkingLevels(options?.modelId);
874
- }
875
- if (caps.thinkingFormat === "anthropic-extended") {
876
- return THINKING_LEVELS_WITHOUT_XHIGH;
877
- }
878
- return THINKING_LEVELS_WITHOUT_XHIGH;
879
- }
880
-
881
789
  // src/domains/providers/model-capabilities.ts
882
790
  init_esm_shims();
883
791
  function normalizedModelId(wireModelId) {
@@ -1137,14 +1045,15 @@ function supportedBudgetLevels(baseLevels, quirks) {
1137
1045
  function supportedEffortLevels(baseLevels, quirks, harmony) {
1138
1046
  if (harmony) return HARMONY_LEVELS;
1139
1047
  const efforts = quirks?.thinking?.effortByLevel;
1140
- if (!efforts) return baseLevels;
1048
+ const byLevelValues = (quirks?.chatTemplateKwargs ?? quirks?.thinking?.chatTemplateKwargs)?.byLevel?.values;
1049
+ if (!efforts && !byLevelValues) return baseLevels;
1141
1050
  const out = [];
1142
1051
  if (baseLevels.includes("off")) out.push("off");
1143
- if (efforts.minimal !== void 0) out.push("minimal");
1144
- if (efforts.low !== void 0) out.push("low");
1145
- if (efforts.medium !== void 0) out.push("medium");
1146
- if (efforts.high !== void 0) out.push("high");
1147
- if (efforts.xhigh !== void 0) out.push("xhigh");
1052
+ if (efforts?.minimal !== void 0 || byLevelValues?.minimal !== void 0) out.push("minimal");
1053
+ if (efforts?.low !== void 0 || byLevelValues?.low !== void 0) out.push("low");
1054
+ if (efforts?.medium !== void 0 || byLevelValues?.medium !== void 0) out.push("medium");
1055
+ if (efforts?.high !== void 0 || byLevelValues?.high !== void 0) out.push("high");
1056
+ if (efforts?.xhigh !== void 0 || byLevelValues?.xhigh !== void 0) out.push("xhigh");
1148
1057
  return out.length > 0 ? out : baseLevels;
1149
1058
  }
1150
1059
  function restrictThinkingLevelsByMechanism(levels, mechanism, quirks, options) {
@@ -1280,12 +1189,45 @@ function resolveThinkingCapability(input, quirks, parser) {
1280
1189
  budgetEnforcement
1281
1190
  };
1282
1191
  }
1283
- var REASONING_EFFORT_ON_OFF_RUNTIMES = /* @__PURE__ */ new Set(["lmstudio"]);
1192
+ var REASONING_EFFORT_ONLY_RUNTIMES = /* @__PURE__ */ new Set(["lmstudio"]);
1284
1193
  function onOffReasoningEffort(thinkingActive) {
1285
1194
  return thinkingActive ? "low" : "none";
1286
1195
  }
1287
- function resolveRequestCapability(thinking, parser, runtimeId) {
1196
+ function resolveFamilyChatTemplateKwargs(quirks, effectiveLevel, configuredLevel) {
1197
+ const block = quirks?.chatTemplateKwargs ?? quirks?.thinking?.chatTemplateKwargs;
1198
+ if (!block) return void 0;
1199
+ const out = {};
1200
+ if (block.static) {
1201
+ for (const [k, v] of Object.entries(block.static)) {
1202
+ out[k] = v;
1203
+ }
1204
+ }
1205
+ if (block.byLevel) {
1206
+ const byLevel = block.byLevel;
1207
+ const val = byLevel.values[effectiveLevel] ?? byLevel.values[configuredLevel];
1208
+ if (val !== void 0) {
1209
+ out[byLevel.key] = val;
1210
+ }
1211
+ }
1212
+ return Object.keys(out).length > 0 ? out : void 0;
1213
+ }
1214
+ function familyKwargsDeclaredUnsupported(quirks, runtimeId) {
1215
+ if (runtimeId !== "lmstudio") return false;
1216
+ const block = quirks?.chatTemplateKwargs ?? quirks?.thinking?.chatTemplateKwargs;
1217
+ return block?.lmstudio === "unsupported" || block?.byLevel?.lmstudio === "unsupported";
1218
+ }
1219
+ function resolveRequestCapability(thinking, parser, runtimeId, quirks) {
1288
1220
  const request = { budgetEnforcement: thinking.budgetEnforcement };
1221
+ const effortOnly = REASONING_EFFORT_ONLY_RUNTIMES.has(runtimeId);
1222
+ const familyKwargs = resolveFamilyChatTemplateKwargs(quirks, thinking.effectiveLevel, thinking.configuredLevel);
1223
+ if (familyKwargs && effortOnly) {
1224
+ request.undeliverableChatTemplateKwargs = {
1225
+ keys: Object.keys(familyKwargs),
1226
+ declaredUnsupported: familyKwargsDeclaredUnsupported(quirks, runtimeId)
1227
+ };
1228
+ } else if (familyKwargs) {
1229
+ request.chatTemplateKwargs = { ...familyKwargs };
1230
+ }
1289
1231
  if (thinking.mechanism === "effort-levels" && thinking.effort) {
1290
1232
  request.reasoningEffort = thinking.effort;
1291
1233
  }
@@ -1296,15 +1238,16 @@ function resolveRequestCapability(thinking, parser, runtimeId) {
1296
1238
  request.budgetTokens = thinking.budgetTokens;
1297
1239
  }
1298
1240
  if (thinking.mechanism === "on-off" && thinking.chatTemplateKwargs) {
1299
- request.chatTemplateKwargs = { ...thinking.chatTemplateKwargs };
1300
- if (REASONING_EFFORT_ON_OFF_RUNTIMES.has(runtimeId)) {
1301
- request.reasoningEffort = onOffReasoningEffort(thinking.thinkingActive);
1302
- }
1241
+ request.chatTemplateKwargs = { ...request.chatTemplateKwargs ?? {}, ...thinking.chatTemplateKwargs };
1303
1242
  }
1304
1243
  if (parser === "harmony" && thinking.effort) {
1305
1244
  request.reasoningEffort = thinking.effort;
1306
1245
  request.chatTemplateKwargs = { ...request.chatTemplateKwargs ?? {}, reasoning_effort: thinking.effort };
1307
1246
  }
1247
+ if (effortOnly && thinking.mechanism !== "none" && thinking.mechanism !== "always-on") {
1248
+ if (!thinking.thinkingActive) request.reasoningEffort = onOffReasoningEffort(false);
1249
+ else if (thinking.mechanism === "on-off") request.reasoningEffort = onOffReasoningEffort(true);
1250
+ }
1308
1251
  return request;
1309
1252
  }
1310
1253
  function resolveModelRuntimeCapabilities(input) {
@@ -1320,7 +1263,7 @@ function resolveModelRuntimeCapabilities(input) {
1320
1263
  family,
1321
1264
  capabilities: input.capabilities,
1322
1265
  thinking,
1323
- request: resolveRequestCapability(thinking, parser, input.runtimeId),
1266
+ request: resolveRequestCapability(thinking, parser, input.runtimeId, quirks),
1324
1267
  response: {
1325
1268
  parser,
1326
1269
  stripTokenizerSentinels: true
@@ -1404,7 +1347,9 @@ function capabilitiesFromModel(model) {
1404
1347
  return caps;
1405
1348
  }
1406
1349
  function resolveModelRuntimeCapabilitiesForModel(model, configuredThinkingLevel) {
1407
- const metadata2 = model.clio;
1350
+ const runtimeModel = model;
1351
+ if (runtimeModel.clio !== void 0) warnLegacyNaming("model.clio", "model.clioCoder");
1352
+ const metadata2 = runtimeModel.clioCoder ?? runtimeModel.clio;
1408
1353
  const caps = capabilitiesFromModel(model);
1409
1354
  return resolveModelRuntimeCapabilities({
1410
1355
  targetId: metadata2?.targetId ?? null,
@@ -1816,6 +1761,20 @@ function appendThinkingDiagnostics(diagnostics, resolved, requested) {
1816
1761
  const severity = thinking.noticeKind === "unsupported" || thinking.noticeKind === "always-on" || thinking.noticeKind === "ignored-on-off" ? "warning" : "info";
1817
1762
  diagnostics.push(diagnostic(severity, `thinking-${thinking.noticeKind}`, thinking.notice));
1818
1763
  }
1764
+ var CHAT_TEMPLATE_KWARGS_UNDELIVERABLE = "chat-template-kwargs-undeliverable";
1765
+ function appendChatTemplateKwargsDiagnostics(diagnostics, resolved) {
1766
+ const undeliverable = resolved.request.undeliverableChatTemplateKwargs;
1767
+ if (!undeliverable || undeliverable.keys.length === 0) return;
1768
+ const keys = undeliverable.keys.join(", ");
1769
+ const declared = undeliverable.declaredUnsupported ? "its family entry marks them unsupported there" : "its family entry does not say so";
1770
+ diagnostics.push(
1771
+ diagnostic(
1772
+ "warning",
1773
+ CHAT_TEMPLATE_KWARGS_UNDELIVERABLE,
1774
+ `chat-template kwargs ${keys} cannot reach ${resolved.runtimeId}, which ignores chat_template_kwargs; ${resolved.modelId} runs without them and ${declared}`
1775
+ )
1776
+ );
1777
+ }
1819
1778
  function nonNegativeFiniteNumber(value) {
1820
1779
  return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : void 0;
1821
1780
  }
@@ -1943,6 +1902,7 @@ function resolveRuntimeTarget(providers, input) {
1943
1902
  const decisions = capabilityDecisions(runtime, capabilities);
1944
1903
  appendCapabilityDiagnostics(diagnostics, input, capabilities, decisions, targetId);
1945
1904
  appendThinkingDiagnostics(diagnostics, modelRuntime, requestedThinkingLevel);
1905
+ appendChatTemplateKwargsDiagnostics(diagnostics, modelRuntime);
1946
1906
  if (hasError(diagnostics)) return { ok: false, diagnostics };
1947
1907
  const resolved = {
1948
1908
  targetId: target.id,
@@ -1982,6 +1942,7 @@ function modelHintPatch(target, model) {
1982
1942
  function withoutStaleRuntimeDiagnostics(diagnostics, decisions) {
1983
1943
  return diagnostics.filter((entry) => {
1984
1944
  if (entry.code.startsWith("thinking-")) return false;
1945
+ if (entry.code === CHAT_TEMPLATE_KWARGS_UNDELIVERABLE) return false;
1985
1946
  if (entry.code === "output-budget-unknown" && decisions.maxTokens > 0) return false;
1986
1947
  if (entry.code === "tools-unsupported" && decisions.tools) return false;
1987
1948
  return true;
@@ -2020,6 +1981,7 @@ function refineRuntimeTargetWithModelHints(target, model, knowledgeBase) {
2020
1981
  const decisions = capabilityDecisions(target.runtime, capabilities);
2021
1982
  const diagnostics = withoutStaleRuntimeDiagnostics(target.diagnostics, decisions);
2022
1983
  appendThinkingDiagnostics(diagnostics, modelRuntime, target.requestedThinkingLevel);
1984
+ appendChatTemplateKwargsDiagnostics(diagnostics, modelRuntime);
2023
1985
  return {
2024
1986
  ...target,
2025
1987
  capabilities,
@@ -2147,6 +2109,15 @@ init_esm_shims();
2147
2109
  function normalizeCostProvenance(value) {
2148
2110
  return value ?? "unknown";
2149
2111
  }
2112
+ var COST_PROVENANCE_VALUES = /* @__PURE__ */ new Set([
2113
+ "known",
2114
+ "known_free",
2115
+ "estimated",
2116
+ "unknown"
2117
+ ]);
2118
+ function resolveCostProvenance2(value, fallback) {
2119
+ return typeof value === "string" && COST_PROVENANCE_VALUES.has(value) ? value : fallback;
2120
+ }
2150
2121
 
2151
2122
  // src/domains/providers/index.ts
2152
2123
  init_esm_shims();
@@ -2180,6 +2151,9 @@ function residencyTargetKey(runtimeId, baseUrl) {
2180
2151
  // src/engine/gemma-channel-filter.ts
2181
2152
  init_esm_shims();
2182
2153
  import { createAssistantMessageEventStream } from "@earendil-works/pi-ai";
2154
+ function usesGemmaChannelMarkers(modelId) {
2155
+ return inferLocalModelFamily(modelId) === "gemma-4";
2156
+ }
2183
2157
  var THOUGHT_START = /<\|channel>[^\n]*\n/;
2184
2158
  var BARE_THOUGHT_START = /^\s*(?:thought|own[- ]?(?:thought|think))\s*\n/i;
2185
2159
  var BARE_THOUGHT_ONLY = /^\s*(?:thought|own[- ]?(?:thought|think))\s*$/i;
@@ -2379,7 +2353,6 @@ var globalDefaultMaxOutputTokens = 0;
2379
2353
  function setGlobalDefaultMaxOutputTokens(value) {
2380
2354
  globalDefaultMaxOutputTokens = Number.isFinite(value) && value > 0 ? Math.floor(value) : 0;
2381
2355
  }
2382
- var LOCAL_TOOL_TURN_MAX_OUTPUT_TOKENS = CLIO_MIN_MAX_OUTPUT_TOKENS;
2383
2356
  function resolveReservedOutputTokens(maxOutputTokens) {
2384
2357
  const limit = typeof maxOutputTokens === "number" && Number.isFinite(maxOutputTokens) && maxOutputTokens > 0 ? maxOutputTokens : DEFAULT_MAX_OUTPUT_TOKENS;
2385
2358
  return Math.min(limit, DEFAULT_MAX_OUTPUT_TOKENS);
@@ -2398,7 +2371,7 @@ function remainingContextMaxTokens(model, context, options, limits) {
2398
2371
  const contextWindow = Math.min(configuredContextWindow, loadedContextWindow);
2399
2372
  const budget = Number.isFinite(contextWindow) ? Math.max(1, contextWindow - inputTokens - safety) : Number.POSITIVE_INFINITY;
2400
2373
  const modelLimit = model.maxTokens > 0 ? model.maxTokens : Number.POSITIVE_INFINITY;
2401
- const defaultLimit = limits?.maxOutputTokens !== void 0 && limits.maxOutputTokens > 0 ? limits.maxOutputTokens : globalDefaultMaxOutputTokens > 0 ? globalDefaultMaxOutputTokens : modelLimit;
2374
+ const defaultLimit = limits?.maxOutputTokens !== void 0 && limits.maxOutputTokens > 0 ? limits.maxOutputTokens : globalDefaultMaxOutputTokens > 0 ? globalDefaultMaxOutputTokens : model.maxTokens > 0 ? modelLimit : DEFAULT_MAX_OUTPUT_TOKENS;
2402
2375
  const requested = options?.maxTokens ?? defaultLimit;
2403
2376
  const resolved = Math.min(requested, modelLimit, budget);
2404
2377
  return Number.isFinite(resolved) ? resolved : DEFAULT_MAX_OUTPUT_TOKENS;
@@ -2436,15 +2409,15 @@ function mergeSamplingOverride(profile, override = runSamplingOverrides()) {
2436
2409
  // src/engine/apis/ollama-native.ts
2437
2410
  var REASONING_CHARS_PER_TOKEN = 4;
2438
2411
  function clioQuirks(model) {
2439
- return model.clio?.quirks;
2412
+ return model.clioCoder?.quirks;
2440
2413
  }
2441
2414
  function ollamaTargetId(model) {
2442
- return model.clio?.targetId ?? model.provider;
2415
+ return model.clioCoder?.targetId ?? model.provider;
2443
2416
  }
2444
2417
  async function reconcileOllamaResidency(model, headers) {
2445
2418
  const baseUrl = model.baseUrl;
2446
2419
  if (!baseUrl) return;
2447
- const metadata2 = model.clio;
2420
+ const metadata2 = model.clioCoder;
2448
2421
  const adapter = {
2449
2422
  targetKey: residencyTargetKey("ollama-native", baseUrl),
2450
2423
  targetId: ollamaTargetId(model),
@@ -2676,7 +2649,7 @@ function runStream(model, context, options, thinkingLevel) {
2676
2649
  let doneReason;
2677
2650
  const sentinelStripper = createSentinelStripper();
2678
2651
  const resolved = resolveModelRuntimeCapabilitiesForModel(model, thinkingLevel);
2679
- const channelFilter = resolved.family === "gemma-4" ? createGemmaChannelFilter() : null;
2652
+ const channelFilter = usesGemmaChannelMarkers(resolved.modelId) ? createGemmaChannelFilter() : null;
2680
2653
  const closeActiveThinking = () => {
2681
2654
  if (!activeThinking) return;
2682
2655
  stream.push({
@@ -3108,7 +3081,7 @@ async function ensureLlamaCppResidency(input) {
3108
3081
  targetId: input.targetId,
3109
3082
  runtimeId: input.runtimeId,
3110
3083
  keepModelId: input.keepModelId,
3111
- managed: input.managed ?? residencyManaged(),
3084
+ managed: input.managed ?? true,
3112
3085
  strategy: "router",
3113
3086
  listResident: async () => {
3114
3087
  const models = await fetchRouterModels(input, fetchImpl);
@@ -3188,7 +3161,7 @@ function responseInstanceId(data) {
3188
3161
  return typeof id === "string" && id.trim().length > 0 ? id.trim() : void 0;
3189
3162
  }
3190
3163
  function metadata(model) {
3191
- return model.clio;
3164
+ return model.clioCoder;
3192
3165
  }
3193
3166
  function targetForModel(model) {
3194
3167
  const info = metadata(model);
@@ -3385,10 +3358,10 @@ async function ensureLmStudioResidency(model, options = {}) {
3385
3358
  var piOpenAICompletions = openAICompletionsApi();
3386
3359
  var REASONING_CHARS_PER_TOKEN2 = 4;
3387
3360
  function chatTemplateKwargsUnsupported(model) {
3388
- return model.clio?.chatTemplateKwargsUnsupported === true;
3361
+ return model.clioCoder?.chatTemplateKwargsUnsupported === true;
3389
3362
  }
3390
3363
  function clioQuirks2(model) {
3391
- return model.clio?.quirks;
3364
+ return model.clioCoder?.quirks;
3392
3365
  }
3393
3366
  function pickSamplingProfile2(quirks, thinkingActive) {
3394
3367
  const sampling = quirks?.sampling;
@@ -3419,7 +3392,7 @@ function backendCompletionTimings(value, source) {
3419
3392
  };
3420
3393
  }
3421
3394
  function backendTimingsSourceForModel(model) {
3422
- const metadata2 = model.clio;
3395
+ const metadata2 = model.clioCoder;
3423
3396
  if (model.provider === "llamacpp" && metadata2?.runtimeId === "llamacpp") return "llamacpp-timings";
3424
3397
  if (model.provider === "lmstudio" && metadata2?.runtimeId === "lmstudio") return "lmstudio-timings";
3425
3398
  return null;
@@ -3597,8 +3570,23 @@ function withStrippedPartial(event) {
3597
3570
  return { ...event, partial: stripThinkingFromMessage(event.partial) };
3598
3571
  }
3599
3572
  function applyThinkingPayload(payload, applied, resolved, model) {
3600
- if (applied.mechanism === "none") return stripThinkingRequestFields(payload);
3601
- if (applied.mechanism === "always-on") return payload;
3573
+ if (applied.mechanism === "none") {
3574
+ const next2 = stripThinkingRequestFields(payload);
3575
+ if (resolved.request.chatTemplateKwargs && !chatTemplateKwargsUnsupported(model)) {
3576
+ const existing = isPlainRecord(next2.chat_template_kwargs) ? next2.chat_template_kwargs : {};
3577
+ next2.chat_template_kwargs = { ...existing, ...resolved.request.chatTemplateKwargs };
3578
+ }
3579
+ return next2;
3580
+ }
3581
+ if (applied.mechanism === "always-on") {
3582
+ if (resolved.request.chatTemplateKwargs && !chatTemplateKwargsUnsupported(model)) {
3583
+ const next2 = { ...payload };
3584
+ const existing = isPlainRecord(next2.chat_template_kwargs) ? next2.chat_template_kwargs : {};
3585
+ next2.chat_template_kwargs = { ...existing, ...resolved.request.chatTemplateKwargs };
3586
+ return next2;
3587
+ }
3588
+ return payload;
3589
+ }
3602
3590
  const next = { ...payload };
3603
3591
  if (resolved.request.reasoningEffort && (next.reasoning_effort === void 0 || resolved.response.parser === "harmony")) {
3604
3592
  next.reasoning_effort = resolved.request.reasoningEffort;
@@ -3729,16 +3717,9 @@ function thinkingLevelFromSimple2(options) {
3729
3717
  return reasoning;
3730
3718
  }
3731
3719
  function withRemainingContextBudget(model, context, options) {
3732
- const metadata2 = runtimeMetadata(model);
3733
- const localToolOutputLimit = options?.maxTokens === void 0 && (context.tools?.length ?? 0) > 0 && (model.provider === "llamacpp" || metadata2?.runtimeId === "llamacpp") ? LOCAL_TOOL_TURN_MAX_OUTPUT_TOKENS : void 0;
3734
3720
  return {
3735
3721
  ...options ?? {},
3736
- maxTokens: remainingContextMaxTokens(
3737
- model,
3738
- context,
3739
- options,
3740
- localToolOutputLimit === void 0 ? void 0 : { maxOutputTokens: localToolOutputLimit }
3741
- )
3722
+ maxTokens: remainingContextMaxTokens(model, context, options)
3742
3723
  };
3743
3724
  }
3744
3725
  function requiredToolArguments(tool) {
@@ -3752,7 +3733,7 @@ function hasEmptyArguments(args) {
3752
3733
  return Object.keys(args).length === 0;
3753
3734
  }
3754
3735
  function runtimeMetadata(model) {
3755
- return model.clio;
3736
+ return model.clioCoder;
3756
3737
  }
3757
3738
  function emptyErrorMessage(model, message) {
3758
3739
  return {
@@ -4026,7 +4007,7 @@ var openAICompletionsApiProvider = {
4026
4007
  (requestModel) => piOpenAICompletions.stream(requestModel, effectiveContext, capturedOptions)
4027
4008
  )
4028
4009
  ),
4029
- resolved.family === "gemma-4"
4010
+ usesGemmaChannelMarkers(resolved.modelId)
4030
4011
  ),
4031
4012
  resolved
4032
4013
  ),
@@ -4058,7 +4039,7 @@ var openAICompletionsApiProvider = {
4058
4039
  (requestModel) => piOpenAICompletions.streamSimple(requestModel, effectiveContext, capturedOptions)
4059
4040
  )
4060
4041
  ),
4061
- resolved.family === "gemma-4"
4042
+ usesGemmaChannelMarkers(resolved.modelId)
4062
4043
  ),
4063
4044
  resolved
4064
4045
  ),
@@ -4309,6 +4290,16 @@ function normalizeEntry(raw, file) {
4309
4290
  }
4310
4291
  entry.quirks = candidate.quirks;
4311
4292
  }
4293
+ const canonicalMetadata = candidate["clio-coder"];
4294
+ const legacyMetadata = candidate.clio;
4295
+ if (legacyMetadata !== void 0) warnLegacyNaming("clio: model metadata", "clio-coder: model metadata");
4296
+ const metadata2 = canonicalMetadata ?? legacyMetadata;
4297
+ if (metadata2 !== void 0) {
4298
+ if (typeof metadata2 !== "object" || metadata2 === null || Array.isArray(metadata2)) {
4299
+ throw new Error(`knowledge base file ${file}: entry '${family}' clio-coder metadata must be an object`);
4300
+ }
4301
+ entry.clioCoder = metadata2;
4302
+ }
4312
4303
  return entry;
4313
4304
  }
4314
4305
 
@@ -4554,7 +4545,7 @@ function createProvidersBundle(context) {
4554
4545
  }
4555
4546
  if (probeResult.ok && options?.reasoning !== false && typeof desc.probeReasoning === "function") {
4556
4547
  const settings = readConfig();
4557
- const orchestratorTarget = settings.orchestrator.target === target.id ? settings.orchestrator.model : null;
4548
+ const orchestratorTarget = settings.chat.target === target.id ? settings.chat.model : null;
4558
4549
  const candidateModelId = orchestratorTarget ?? target.defaultModel ?? null;
4559
4550
  if (candidateModelId) {
4560
4551
  try {
@@ -4632,7 +4623,7 @@ function createProvidersBundle(context) {
4632
4623
  registerClioOAuthProviders();
4633
4624
  registerBuiltinRuntimes(registry);
4634
4625
  const settings = readConfig();
4635
- setGlobalDefaultMaxOutputTokens(settings.defaults.maxTokens);
4626
+ setGlobalDefaultMaxOutputTokens(settings.chat.maxOutputTokens);
4636
4627
  await loadPluginRuntimes(registry, settings);
4637
4628
  await probeAll();
4638
4629
  const config = context.getContract("config");
@@ -4768,8 +4759,6 @@ export {
4768
4759
  setResidencyNoticeSink,
4769
4760
  setProtectedModelsProvider,
4770
4761
  withRunOverrides,
4771
- EMPTY_CAPABILITIES,
4772
- VALID_THINKING_LEVELS,
4773
4762
  applyModelCapabilityPatch,
4774
4763
  probeCapabilitiesForModel,
4775
4764
  resolveModelCapabilities,
@@ -4798,6 +4787,7 @@ export {
4798
4787
  runtimeResolutionWarnings,
4799
4788
  runtimeResolutionWarningsBesideThinkingNotice,
4800
4789
  normalizeCostProvenance,
4790
+ resolveCostProvenance2 as resolveCostProvenance,
4801
4791
  ProvidersDomainModule
4802
4792
  };
4803
- //# sourceMappingURL=chunk-DQITNCXG.js.map
4793
+ //# sourceMappingURL=chunk-BYMNWQ7O.js.map
@@ -2,14 +2,14 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  resolveAuthTarget,
4
4
  resolveRuntimeAuthTarget
5
- } from "./chunk-BBVYXMFO.js";
5
+ } from "./chunk-WNP7O5WZ.js";
6
6
  import {
7
7
  getRuntimeRegistry
8
8
  } from "./chunk-NUGM5KR6.js";
9
9
  import {
10
10
  catalogProviderForRuntime,
11
11
  listCatalogModelsForRuntime
12
- } from "./chunk-VO2LKSTM.js";
12
+ } from "./chunk-O42A54GG.js";
13
13
  import {
14
14
  init_esm_shims
15
15
  } from "./chunk-3R73A4XB.js";
@@ -170,4 +170,4 @@ export {
170
170
  configuredTargetsForRuntime,
171
171
  resolveProviderReference
172
172
  };
173
- //# sourceMappingURL=chunk-HI63TFOG.js.map
173
+ //# sourceMappingURL=chunk-CDNVLKUX.js.map