@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
@@ -1,12 +1,13 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  THINKING_LEVELS
4
- } from "./chunk-GXNLGKAB.js";
4
+ } from "./chunk-UXCU4E3T.js";
5
5
  import {
6
+ catalogThinkingLevelsForRuntime,
6
7
  listCatalogModelsForRuntime,
7
8
  mergeCapabilities,
8
9
  synthesizeCatalogBackedModel
9
- } from "./chunk-VO2LKSTM.js";
10
+ } from "./chunk-O42A54GG.js";
10
11
  import {
11
12
  init_esm_shims
12
13
  } from "./chunk-3R73A4XB.js";
@@ -257,15 +258,102 @@ init_esm_shims();
257
258
 
258
259
  // src/domains/providers/types/local-model-quirks.ts
259
260
  init_esm_shims();
260
- var KV_CACHE_QUANTS = ["f32", "f16", "q8_0", "q4_0", "q4_1", "iq4_nl", "q5_0", "q5_1"];
261
+
262
+ // src/domains/providers/types/capability-flags.ts
263
+ init_esm_shims();
264
+
265
+ // src/domains/providers/model-family.ts
266
+ init_esm_shims();
267
+ function normalizeModelIdForFamily(modelId) {
268
+ return (modelId ?? "").trim().toLowerCase().replace(/_/g, "-");
269
+ }
270
+ function isHarmonyModelId(modelId) {
271
+ return normalizeModelIdForFamily(modelId).includes("gpt-oss");
272
+ }
273
+ function inferLocalModelFamily(modelId) {
274
+ const normalized = normalizeModelIdForFamily(modelId);
275
+ if (normalized.length === 0) return "unknown";
276
+ if (normalized.includes("gpt-oss")) return "openai-gpt-oss";
277
+ if (normalized.includes("nemotron-cascade-2") || normalized.includes("nemotron-cascade2")) {
278
+ return "nemotron-cascade-2";
279
+ }
280
+ if (normalized.includes("nemotron-3-nano-omni") || normalized.includes("nemotron-nano-omni")) {
281
+ return "nemotron-3-nano-omni";
282
+ }
283
+ if (normalized.includes("qwen3")) return "qwen3";
284
+ if (normalized.includes("gemma-4") || normalized.includes("gemma4") || normalized.includes("gemopus")) {
285
+ return "gemma-4";
286
+ }
287
+ return "unknown";
288
+ }
289
+
290
+ // src/domains/providers/types/capability-flags.ts
291
+ var EMPTY_CAPABILITIES = {
292
+ chat: false,
293
+ tools: false,
294
+ reasoning: false,
295
+ vision: false,
296
+ audio: false,
297
+ embeddings: false,
298
+ rerank: false,
299
+ fim: false,
300
+ contextWindow: 0,
301
+ maxTokens: 0
302
+ };
303
+ var VALID_THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
304
+ var THINKING_LEVELS_WITHOUT_XHIGH = ["off", "minimal", "low", "medium", "high"];
305
+ var THINKING_LEVELS_OPENAI_5_1_MINI = ["off", "minimal", "low", "medium", "high"];
306
+ var THINKING_LEVELS_OPENAI_5_2_PLUS = [
307
+ "off",
308
+ "minimal",
309
+ "low",
310
+ "medium",
311
+ "high",
312
+ "xhigh"
313
+ ];
314
+ var THINKING_LEVELS_OPENAI_5_6 = [...THINKING_LEVELS_OPENAI_5_2_PLUS, "max"];
315
+ var THINKING_LEVELS_HARMONY = ["low", "medium", "high"];
316
+ function normalizeModelId(modelId) {
317
+ if (!modelId) return void 0;
318
+ const trimmed = modelId.trim();
319
+ if (trimmed.length === 0) return void 0;
320
+ return trimmed.includes("/") ? trimmed.split("/").pop() ?? trimmed : trimmed;
321
+ }
322
+ function availableOpenAICodexThinkingLevels(modelId) {
323
+ const normalized = normalizeModelId(modelId);
324
+ if (!normalized) return VALID_THINKING_LEVELS;
325
+ if (normalized === "gpt-5.1-codex-mini") return THINKING_LEVELS_OPENAI_5_1_MINI;
326
+ if (normalized.startsWith("gpt-5.2") || normalized.startsWith("gpt-5.3") || normalized.startsWith("gpt-5.4") || normalized.startsWith("gpt-5.5")) {
327
+ return THINKING_LEVELS_OPENAI_5_2_PLUS;
328
+ }
329
+ if (normalized.startsWith("gpt-5.6")) {
330
+ return THINKING_LEVELS_OPENAI_5_6;
331
+ }
332
+ return THINKING_LEVELS_WITHOUT_XHIGH;
333
+ }
334
+ function availableThinkingLevels(caps, options) {
335
+ if (!caps.reasoning) return ["off"];
336
+ if (caps.thinkingFormat === "harmony" || isHarmonyModelId(options?.modelId)) {
337
+ return THINKING_LEVELS_HARMONY;
338
+ }
339
+ const catalogLevels = options?.runtimeId && options.modelId ? catalogThinkingLevelsForRuntime(options.runtimeId, options.modelId) : void 0;
340
+ if (catalogLevels) {
341
+ if (!catalogLevels.includes("xhigh")) return catalogLevels.filter((level) => level !== "max");
342
+ return catalogLevels;
343
+ }
344
+ if (caps.thinkingFormat === "openai-codex" || options?.runtimeId === "openai-codex") {
345
+ return availableOpenAICodexThinkingLevels(options?.modelId);
346
+ }
347
+ if (caps.thinkingFormat === "anthropic-extended") {
348
+ return THINKING_LEVELS_WITHOUT_XHIGH;
349
+ }
350
+ return THINKING_LEVELS_WITHOUT_XHIGH;
351
+ }
352
+
353
+ // src/domains/providers/types/local-model-quirks.ts
261
354
  function isRecord(value) {
262
355
  return value !== null && typeof value === "object" && !Array.isArray(value);
263
356
  }
264
- function asKvCacheQuant(value) {
265
- if (value === false) return false;
266
- if (typeof value !== "string") return void 0;
267
- return KV_CACHE_QUANTS.includes(value) ? value : void 0;
268
- }
269
357
  function asPositive(value) {
270
358
  return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : void 0;
271
359
  }
@@ -276,16 +364,6 @@ function asInteger(value) {
276
364
  function asPenalty(value) {
277
365
  return typeof value === "number" && Number.isFinite(value) ? value : void 0;
278
366
  }
279
- function extractKvCache(raw) {
280
- if (!isRecord(raw)) return void 0;
281
- const out = {};
282
- const k = asKvCacheQuant(raw.kQuant);
283
- if (k !== void 0) out.kQuant = k;
284
- const v = asKvCacheQuant(raw.vQuant);
285
- if (v !== void 0) out.vQuant = v;
286
- if (typeof raw.useFp16 === "boolean") out.useFp16 = raw.useFp16;
287
- return Object.keys(out).length > 0 ? out : void 0;
288
- }
289
367
  function extractSamplingProfile(raw) {
290
368
  if (!isRecord(raw)) return void 0;
291
369
  const out = {};
@@ -303,8 +381,6 @@ function extractSamplingProfile(raw) {
303
381
  if (pp !== void 0) out.presencePenalty = pp;
304
382
  const fp = asPenalty(raw.frequencyPenalty);
305
383
  if (fp !== void 0) out.frequencyPenalty = fp;
306
- const maxTokens = asInteger(raw.maxTokens);
307
- if (maxTokens !== void 0) out.maxTokens = maxTokens;
308
384
  return Object.keys(out).length > 0 ? out : void 0;
309
385
  }
310
386
  function extractSampling(raw) {
@@ -353,6 +429,61 @@ function extractEffortByLevel(raw) {
353
429
  if (typeof raw.xhigh === "string" && raw.xhigh.length > 0) out.xhigh = raw.xhigh;
354
430
  return Object.keys(out).length > 0 ? out : void 0;
355
431
  }
432
+ function extractChatTemplateKwargs(raw) {
433
+ if (!isRecord(raw)) return void 0;
434
+ const out = {};
435
+ if (isRecord(raw.static)) {
436
+ const staticMap = {};
437
+ for (const [k, v] of Object.entries(raw.static)) {
438
+ if (typeof v === "boolean") {
439
+ staticMap[k] = v;
440
+ } else if (typeof v === "number" && Number.isFinite(v)) {
441
+ staticMap[k] = v;
442
+ } else if (typeof v === "string" && v.length > 0) {
443
+ staticMap[k] = v;
444
+ }
445
+ }
446
+ if (Object.keys(staticMap).length > 0) out.static = staticMap;
447
+ }
448
+ if (isRecord(raw.byLevel)) {
449
+ const byLevelRaw = raw.byLevel;
450
+ if (typeof byLevelRaw.key === "string" && byLevelRaw.key.trim().length > 0 && isRecord(byLevelRaw.values)) {
451
+ const values = {};
452
+ for (const level of VALID_THINKING_LEVELS) {
453
+ const val = byLevelRaw.values[level];
454
+ if (typeof val === "string" && val.length > 0) {
455
+ values[level] = val;
456
+ } else if (typeof val === "number" && Number.isFinite(val)) {
457
+ values[level] = val;
458
+ }
459
+ }
460
+ if (Object.keys(values).length > 0) {
461
+ const byLevel = {
462
+ key: byLevelRaw.key.trim(),
463
+ values
464
+ };
465
+ if (typeof byLevelRaw.lmstudio === "string" && byLevelRaw.lmstudio.trim().length > 0) {
466
+ byLevel.lmstudio = byLevelRaw.lmstudio.trim();
467
+ }
468
+ out.byLevel = byLevel;
469
+ }
470
+ }
471
+ }
472
+ if (typeof raw.lmstudio === "string" && raw.lmstudio.trim().length > 0) {
473
+ out.lmstudio = raw.lmstudio.trim();
474
+ } else if (isRecord(raw.lmstudio)) {
475
+ const lmstudioMap = {};
476
+ for (const [k, v] of Object.entries(raw.lmstudio)) {
477
+ if (typeof v === "string" && v.trim().length > 0) {
478
+ lmstudioMap[k] = v.trim();
479
+ }
480
+ }
481
+ if (Object.keys(lmstudioMap).length > 0) {
482
+ out.lmstudio = lmstudioMap;
483
+ }
484
+ }
485
+ return Object.keys(out).length > 0 ? out : void 0;
486
+ }
356
487
  function extractThinkingQuirks(raw) {
357
488
  if (!isRecord(raw)) return void 0;
358
489
  const mechanism = asThinkingMechanism(raw.mechanism);
@@ -363,17 +494,19 @@ function extractThinkingQuirks(raw) {
363
494
  const effortByLevel = extractEffortByLevel(raw.effortByLevel);
364
495
  if (effortByLevel) out.effortByLevel = effortByLevel;
365
496
  if (typeof raw.guidance === "string" && raw.guidance.length > 0) out.guidance = raw.guidance;
497
+ const chatTemplateKwargs = extractChatTemplateKwargs(raw.chatTemplateKwargs);
498
+ if (chatTemplateKwargs) out.chatTemplateKwargs = chatTemplateKwargs;
366
499
  return out;
367
500
  }
368
501
  function extractLocalModelQuirks(raw) {
369
502
  if (!isRecord(raw)) return void 0;
370
503
  const out = {};
371
- const kvCache = extractKvCache(raw.kvCache);
372
- if (kvCache) out.kvCache = kvCache;
373
504
  const sampling = extractSampling(raw.sampling);
374
505
  if (sampling) out.sampling = sampling;
375
506
  const thinking = extractThinkingQuirks(raw.thinking);
376
507
  if (thinking) out.thinking = thinking;
508
+ const chatTemplateKwargs = extractChatTemplateKwargs(raw.chatTemplateKwargs) ?? extractChatTemplateKwargs(isRecord(raw.thinking) ? raw.thinking.chatTemplateKwargs : void 0) ?? extractChatTemplateKwargs(isRecord(raw.request) ? raw.request.chatTemplateKwargs : void 0);
509
+ if (chatTemplateKwargs) out.chatTemplateKwargs = chatTemplateKwargs;
377
510
  return Object.keys(out).length > 0 ? out : void 0;
378
511
  }
379
512
 
@@ -437,7 +570,7 @@ function synthLocalModel(input) {
437
570
  },
438
571
  contextWindow: caps.contextWindow,
439
572
  maxTokens: caps.maxTokens,
440
- clio: {
573
+ clioCoder: {
441
574
  targetId: target.id,
442
575
  runtimeId: target.runtime,
443
576
  ...target.lifecycle ? { lifecycle: target.lifecycle } : {},
@@ -855,8 +988,10 @@ async function probeLlamaCppModelStatus(base, target, ctx) {
855
988
  const entries = await probeOpenAIModelEntries(base, ctx);
856
989
  const selected = selectedModelEntry(entries, target);
857
990
  if (!selected) return {};
991
+ const loadState = modelStateFromOpenAIModelEntry({ id: selected.id, status: selected.status })?.state;
992
+ const withState = (enrichment2) => loadState === void 0 ? enrichment2 : { ...enrichment2, loadState };
858
993
  const args = argsFromStatus(selected.status);
859
- if (args.length === 0) return { notes: statusNotes(selected.id, selected.status) };
994
+ if (args.length === 0) return withState({ notes: statusNotes(selected.id, selected.status) });
860
995
  const flags = parseLlamaCppServerFlags(args);
861
996
  const caps = {};
862
997
  const window = llamaCppRequestContextWindow(flags);
@@ -877,7 +1012,7 @@ async function probeLlamaCppModelStatus(base, target, ctx) {
877
1012
  );
878
1013
  }
879
1014
  if (notes.length > 0) enrichment.notes = notes;
880
- return enrichment;
1015
+ return withState(enrichment);
881
1016
  }
882
1017
  async function detectModelMismatch(base, target, ctx) {
883
1018
  const expected = target.defaultModel?.trim();
@@ -1147,7 +1282,7 @@ var alcfRuntime = {
1147
1282
  provider: "alcf",
1148
1283
  baseUrlForTarget: withAsIs
1149
1284
  });
1150
- const meta = model.clio;
1285
+ const meta = model.clioCoder;
1151
1286
  if (meta) meta.chatTemplateKwargsUnsupported = true;
1152
1287
  return model;
1153
1288
  }
@@ -1797,7 +1932,8 @@ var llamacppRuntime = {
1797
1932
  const health = await (ctx.signal ? probeHttp({ ...healthOpts, signal: ctx.signal }) : probeHttp(healthOpts));
1798
1933
  if (!health.ok) return health;
1799
1934
  const status = await probeLlamaCppModelStatus(base, target, ctx);
1800
- const props = await probeLlamaCppProps(base, ctx, status.modelId ?? target.defaultModel);
1935
+ const resident = status.loadState === void 0 || status.loadState === "loaded";
1936
+ const props = await probeLlamaCppProps(base, ctx, resident ? status.modelId ?? target.defaultModel : void 0);
1801
1937
  const catalog = await probeOpenAIModelCatalog(base, ctx);
1802
1938
  const result = { ok: true };
1803
1939
  if (catalog.models.length > 0) result.models = catalog.models;
@@ -1980,7 +2116,7 @@ async function* streamSse(body) {
1980
2116
  }
1981
2117
  } finally {
1982
2118
  if (droppedFrames > 0) {
1983
- process.stderr.write(`[clio:llamacpp] dropped ${droppedFrames} malformed stream frame(s)
2119
+ process.stderr.write(`[clio-coder:llamacpp] dropped ${droppedFrames} malformed stream frame(s)
1984
2120
  `);
1985
2121
  }
1986
2122
  reader.releaseLock();
@@ -2823,7 +2959,7 @@ var lmstudioRuntime = {
2823
2959
  provider: "lmstudio",
2824
2960
  baseUrlForTarget: (url2) => withV1(url2.replace(/^ws:/u, "http:").replace(/^wss:/u, "https:"))
2825
2961
  });
2826
- const metadata = model.clio;
2962
+ const metadata = model.clioCoder;
2827
2963
  if (metadata) {
2828
2964
  metadata.chatTemplateKwargsUnsupported = true;
2829
2965
  if (target.defaultModel) metadata.lmstudioDefaultModel = target.defaultModel;
@@ -3167,9 +3303,14 @@ function registerBuiltinRuntimes(registry) {
3167
3303
  }
3168
3304
 
3169
3305
  export {
3306
+ isHarmonyModelId,
3307
+ inferLocalModelFamily,
3170
3308
  CLIO_MIN_CONTEXT_WINDOW,
3171
3309
  CLIO_MIN_MAX_OUTPUT_TOKENS,
3172
3310
  CLIO_CONTEXT_WINDOW_WARN_BELOW,
3311
+ EMPTY_CAPABILITIES,
3312
+ VALID_THINKING_LEVELS,
3313
+ availableThinkingLevels,
3173
3314
  extractLocalModelQuirks,
3174
3315
  lmStudioRootUrl,
3175
3316
  requestLmStudioJson,
@@ -3181,4 +3322,4 @@ export {
3181
3322
  BUILTIN_RUNTIMES,
3182
3323
  registerBuiltinRuntimes
3183
3324
  };
3184
- //# sourceMappingURL=chunk-6DB53AJS.js.map
3325
+ //# sourceMappingURL=chunk-IMXMHHMQ.js.map
@@ -1,14 +1,14 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  inspectEvidence
4
- } from "./chunk-BUMFYQFY.js";
4
+ } from "./chunk-I66ZTYNP.js";
5
5
  import {
6
6
  TASK_MEMORY_CONTENT_MAX_CHARS,
7
7
  TASK_MEMORY_DEFAULT_KNOWLEDGE_CAP,
8
8
  TASK_MEMORY_DEFAULT_PROCEDURAL_CAP,
9
9
  TASK_MEMORY_TELEMETRY_FILE,
10
10
  parseTaskMemoryTelemetryRecord
11
- } from "./chunk-BKFJHQCA.js";
11
+ } from "./chunk-I66EAJFY.js";
12
12
  import {
13
13
  createRedactionTally,
14
14
  redactSecretsText
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-ECH6PKUQ.js";
19
19
  import {
20
20
  ceilChars
21
- } from "./chunk-UM7N4G5A.js";
21
+ } from "./chunk-CWVRRIEI.js";
22
22
  import {
23
23
  clioStateDir
24
24
  } from "./chunk-BYP5D4HI.js";
@@ -1150,7 +1150,8 @@ init_esm_shims();
1150
1150
  import { existsSync, readdirSync, readFileSync as readFileSync2, statSync } from "node:fs";
1151
1151
  import { join as join2 } from "node:path";
1152
1152
  var TASK_MEMORY_HANDOFF_VERSION = 2;
1153
- var TASK_MEMORY_HANDOFF_LANGUAGE = "clio-task-memory";
1153
+ var TASK_MEMORY_HANDOFF_LANGUAGE = "clio-coder-task-memory";
1154
+ var LEGACY_TASK_MEMORY_HANDOFF_LANGUAGE = "clio-task-memory";
1154
1155
  var HANDOFF_MAX_BYTES = 1e6;
1155
1156
  function exportEntry(entry) {
1156
1157
  return {
@@ -1202,8 +1203,8 @@ function renderTaskMemoryHandoffSource(snapshot, source) {
1202
1203
  }
1203
1204
  function parseTaskMemoryHandoffSnapshot(text) {
1204
1205
  if (typeof text !== "string" || text.length === 0 || text.length > HANDOFF_MAX_BYTES) return null;
1205
- const escapedLanguage = TASK_MEMORY_HANDOFF_LANGUAGE.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
1206
- const match = new RegExp(`(?:^|\\n)\\x60{3}${escapedLanguage}\\r?\\n([^\\r\\n]+)\\r?\\n\\x60{3}(?:$|\\n)`, "u").exec(
1206
+ const languages = [TASK_MEMORY_HANDOFF_LANGUAGE, LEGACY_TASK_MEMORY_HANDOFF_LANGUAGE].map((language) => language.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&")).join("|");
1207
+ const match = new RegExp(`(?:^|\\n)\\x60{3}(?:${languages})\\r?\\n([^\\r\\n]+)\\r?\\n\\x60{3}(?:$|\\n)`, "u").exec(
1207
1208
  text
1208
1209
  );
1209
1210
  if (match?.[1] === void 0) return null;
@@ -1556,4 +1557,4 @@ export {
1556
1557
  taskMemoryTracePath,
1557
1558
  createTaskMemoryTrace
1558
1559
  };
1559
- //# sourceMappingURL=chunk-AB44T6BB.js.map
1560
+ //# sourceMappingURL=chunk-JBCS7CRR.js.map
@@ -1,7 +1,4 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
- import {
3
- clampTimerDelayMs
4
- } from "./chunk-FQ4SKYE4.js";
5
2
  import {
6
3
  AI_AGENT_NAME
7
4
  } from "./chunk-6EJMN2Y3.js";
@@ -129,7 +126,7 @@ var PER_SPAWN_ENV_NAMES = [ASSISTED_ENV, AUTHORED_ENV, CONFIG_BASE_COUNT_ENV, DE
129
126
  function reportCommitAttributionDiagnostic(diagnostic) {
130
127
  if (diagnostic === null || reportedDiagnostics.has(diagnostic)) return;
131
128
  reportedDiagnostics.add(diagnostic);
132
- process.stderr.write(`[clio:attribution] ${diagnostic}
129
+ process.stderr.write(`[clio-coder:attribution] ${diagnostic}
133
130
  `);
134
131
  }
135
132
  function setGitCommitAttributionEnabled(enabled) {
@@ -205,7 +202,7 @@ hook_name=$(basename "$0")
205
202
  base_count=$${CONFIG_BASE_COUNT_ENV}
206
203
  case "$base_count" in
207
204
  '' | *[!0-9]*)
208
- printf '%s\\n' '[clio:attribution] invalid managed hook environment' >&2
205
+ printf '%s\\n' '[clio-coder:attribution] invalid managed hook environment' >&2
209
206
  exit 0
210
207
  ;;
211
208
  0) unset GIT_CONFIG_COUNT ;;
@@ -275,7 +272,7 @@ has_trailer() {
275
272
  append_trailer() {
276
273
  if has_trailer "$1"; then return 0; fi
277
274
  git interpret-trailers --in-place --if-exists=addIfDifferent --trailer "$1" "$message_file" ||
278
- printf '%s\\n' '[clio:attribution] git interpret-trailers failed; commit left as written' >&2
275
+ printf '%s\\n' '[clio-coder:attribution] git interpret-trailers failed; commit left as written' >&2
279
276
  }
280
277
 
281
278
  if [ "$${ASSISTED_ENV}" = '1' ] || [ "$${AUTHORED_ENV}" = '1' ]; then
@@ -395,176 +392,11 @@ function withManagedGitCommitAttributionEnvironment(source, options = {}) {
395
392
  return { env, diagnostic: null };
396
393
  }
397
394
 
398
- // src/core/safe-exec.ts
399
- init_esm_shims();
400
- import { spawn } from "node:child_process";
401
- import path from "node:path";
402
- import { performance } from "node:perf_hooks";
403
- var SAFE_EXEC_DEFAULT_TIMEOUT_MS = 12e4;
404
- var SAFE_EXEC_DEFAULT_MAX_OUTPUT_BYTES = 6e5;
405
- var ENV_ALLOWLIST = [
406
- "PATH",
407
- "HOME",
408
- "USER",
409
- "LOGNAME",
410
- "LANG",
411
- "LC_ALL",
412
- "TMPDIR",
413
- "TEMP",
414
- "TMP",
415
- "CI",
416
- "NO_COLOR"
417
- ];
418
- function buildSafeToolEnv(extra = {}) {
419
- const env = {};
420
- for (const key of ENV_ALLOWLIST) {
421
- const value = process.env[key];
422
- if (value !== void 0) env[key] = value;
423
- }
424
- for (const [key, value] of Object.entries(extra)) {
425
- if (!/^[A-Z_][A-Z0-9_]*$/i.test(key)) continue;
426
- env[key] = value;
427
- }
428
- env.AI_AGENT = AI_AGENT_NAME;
429
- return env;
430
- }
431
- function resolveSafeCwd(cwd, workspaceRoot = process.cwd()) {
432
- const root = path.resolve(workspaceRoot);
433
- const resolved = cwd === void 0 ? root : path.isAbsolute(cwd) ? path.resolve(cwd) : path.resolve(root, cwd);
434
- const rel = path.relative(root, resolved);
435
- if (rel === "" || !rel.startsWith("..") && !path.isAbsolute(rel)) return resolved;
436
- throw new Error(`cwd escapes workspace root: ${resolved}`);
437
- }
438
- function runCommandVector(file, args, options = {}) {
439
- return new Promise((resolve2) => {
440
- const startedAt = performance.now();
441
- const cwd = resolveSafeCwd(options.cwd, options.workspaceRoot);
442
- const timeoutMs = clampTimerDelayMs(options.timeoutMs ?? SAFE_EXEC_DEFAULT_TIMEOUT_MS);
443
- const maxOutputBytes = options.maxOutputBytes ?? SAFE_EXEC_DEFAULT_MAX_OUTPUT_BYTES;
444
- const attribution = withManagedGitCommitAttributionEnvironment(buildSafeToolEnv(options.env), {
445
- cwd,
446
- enabled: gitCommitAttributionEnabled(process.env)
447
- });
448
- reportCommitAttributionDiagnostic(attribution.diagnostic);
449
- let aborted = false;
450
- let timedOut = false;
451
- let outputCapped = false;
452
- let outputBytes = 0;
453
- let stdout = "";
454
- let stderr = "";
455
- let settled = false;
456
- let killSent = false;
457
- let timeoutId = null;
458
- let killGraceTimer = null;
459
- const child = spawn(file, [...args], {
460
- cwd,
461
- env: attribution.env,
462
- detached: process.platform !== "win32",
463
- stdio: ["ignore", "pipe", "pipe"]
464
- });
465
- const clearKillGraceTimer = () => {
466
- if (killGraceTimer) clearTimeout(killGraceTimer);
467
- killGraceTimer = null;
468
- };
469
- const sendSignal = (signalName) => {
470
- const pid = child.pid;
471
- if (pid && process.platform !== "win32") {
472
- try {
473
- process.kill(-pid, signalName);
474
- return;
475
- } catch {
476
- }
477
- }
478
- child.kill(signalName);
479
- };
480
- const killChild = () => {
481
- if (killSent) return;
482
- killSent = true;
483
- sendSignal("SIGTERM");
484
- killGraceTimer = setTimeout(() => sendSignal("SIGKILL"), 3e3);
485
- };
486
- const onAbort = () => {
487
- aborted = true;
488
- killChild();
489
- };
490
- if (timeoutMs > 0) {
491
- timeoutId = setTimeout(() => {
492
- timedOut = true;
493
- killChild();
494
- }, timeoutMs);
495
- }
496
- if (options.signal?.aborted) onAbort();
497
- else options.signal?.addEventListener("abort", onAbort, { once: true });
498
- const appendChunk = (target, chunk) => {
499
- outputBytes += chunk.byteLength;
500
- if (outputBytes > maxOutputBytes) {
501
- outputCapped = true;
502
- killChild();
503
- return;
504
- }
505
- if (target === "stdout") stdout += chunk.toString("utf8");
506
- else stderr += chunk.toString("utf8");
507
- };
508
- child.stdout?.on("data", (chunk) => appendChunk("stdout", chunk));
509
- child.stderr?.on("data", (chunk) => appendChunk("stderr", chunk));
510
- child.on("error", (error) => {
511
- if (settled) return;
512
- settled = true;
513
- if (timeoutId) clearTimeout(timeoutId);
514
- clearKillGraceTimer();
515
- options.signal?.removeEventListener("abort", onAbort);
516
- resolve2({
517
- file,
518
- args: [...args],
519
- cwd,
520
- stdout,
521
- stderr: stderr.length > 0 ? stderr : error.message,
522
- exitCode: null,
523
- signal: null,
524
- aborted,
525
- timedOut,
526
- outputCapped,
527
- durationMs: Math.round(performance.now() - startedAt)
528
- });
529
- });
530
- child.on("close", (code, signalName) => {
531
- if (settled) return;
532
- settled = true;
533
- if (timeoutId) clearTimeout(timeoutId);
534
- clearKillGraceTimer();
535
- options.signal?.removeEventListener("abort", onAbort);
536
- resolve2({
537
- file,
538
- args: [...args],
539
- cwd,
540
- stdout,
541
- stderr,
542
- exitCode: code,
543
- signal: signalName,
544
- aborted,
545
- timedOut,
546
- outputCapped,
547
- durationMs: Math.round(performance.now() - startedAt)
548
- });
549
- });
550
- });
551
- }
552
- function combineSafeOutput(result) {
553
- const { stdout, stderr } = result;
554
- return stderr.length > 0 ? `${stdout}${stdout.endsWith("\n") || stdout.length === 0 ? "" : "\n"}${stderr}` : stdout;
555
- }
556
-
557
395
  export {
558
396
  attributeCommitMessage,
559
397
  reportCommitAttributionDiagnostic,
560
398
  setGitCommitAttributionEnabled,
561
399
  gitCommitAttributionEnabled,
562
- withManagedGitCommitAttributionEnvironment,
563
- SAFE_EXEC_DEFAULT_TIMEOUT_MS,
564
- SAFE_EXEC_DEFAULT_MAX_OUTPUT_BYTES,
565
- buildSafeToolEnv,
566
- resolveSafeCwd,
567
- runCommandVector,
568
- combineSafeOutput
400
+ withManagedGitCommitAttributionEnvironment
569
401
  };
570
- //# sourceMappingURL=chunk-BBVJUZHB.js.map
402
+ //# sourceMappingURL=chunk-JIEGK6UF.js.map
@@ -6,10 +6,10 @@ import {
6
6
  import {
7
7
  readSettings,
8
8
  updateSettings
9
- } from "./chunk-VFA6GDY5.js";
9
+ } from "./chunk-34BHNEE3.js";
10
10
  import {
11
11
  runCommandVector
12
- } from "./chunk-BBVJUZHB.js";
12
+ } from "./chunk-HJWWJ6IL.js";
13
13
  import {
14
14
  withStateFileLockSync
15
15
  } from "./chunk-IKCO5N3L.js";
@@ -127,11 +127,11 @@ function delegationEntryForKind(kind, defaults) {
127
127
  connectTimeoutMs: defaults.connectTimeoutMs,
128
128
  turnTimeoutMs: defaults.turnTimeoutMs,
129
129
  permissionTimeoutMs: defaults.permissionTimeoutMs,
130
- toolGovernance: "clio-policy"
130
+ toolGovernance: "clio-coder-policy"
131
131
  };
132
132
  }
133
133
  function interopProposals(report, settings) {
134
- const configured = new Set(settings.delegation.agents.map((agent) => agent.id));
134
+ const configured = new Set(settings.integrations.externalAgents.entries.map((agent) => agent.id));
135
135
  const proposals = [];
136
136
  for (const record of report.agents) {
137
137
  const kind = interopAgentKind(record.kind);
@@ -143,7 +143,7 @@ function interopProposals(report, settings) {
143
143
  kind: kind.id,
144
144
  label: kind.label,
145
145
  fingerprint: record.fingerprint,
146
- entry: delegationEntryForKind(kind, settings.delegation.defaults),
146
+ entry: delegationEntryForKind(kind, settings.integrations.externalAgents.defaults),
147
147
  needsNetworkInstall: record.adapter !== "present"
148
148
  });
149
149
  }
@@ -204,7 +204,7 @@ function interopBootHint(report, settings) {
204
204
  (record) => ({ ...record, hintedFingerprint: record.fingerprint })
205
205
  );
206
206
  const names = fresh.map((proposal) => proposal.entry.id).join(", ");
207
- return `clio: ${names} detected on PATH and not configured. Run /interop to review.`;
207
+ return `clio-coder: ${names} detected on PATH and not configured. Run /interop to review.`;
208
208
  }
209
209
  function acceptInteropAgents(ids, report) {
210
210
  const proposals = interopProposals(report, readSettings()).filter((proposal) => ids.includes(proposal.kind));
@@ -216,8 +216,8 @@ function acceptInteropAgents(ids, report) {
216
216
  const wired = [];
217
217
  updateSettings((settings) => {
218
218
  for (const proposal of proposals) {
219
- if (settings.delegation.agents.some((agent) => agent.id === proposal.entry.id)) continue;
220
- settings.delegation.agents.push({ ...proposal.entry, args: [...proposal.entry.args] });
219
+ if (settings.integrations.externalAgents.entries.some((agent) => agent.id === proposal.entry.id)) continue;
220
+ settings.integrations.externalAgents.entries.push({ ...proposal.entry, args: [...proposal.entry.args] });
221
221
  wired.push(proposal.entry.id);
222
222
  }
223
223
  });
@@ -387,7 +387,7 @@ function createInteropBundle(_context) {
387
387
  // from the proposals, which read the file, and not yet in the configured
388
388
  // list, which read the snapshot, so it was in neither until a reopen.
389
389
  configured() {
390
- return readSettings().delegation.agents;
390
+ return readSettings().integrations.externalAgents.entries;
391
391
  },
392
392
  accept(ids) {
393
393
  const result = acceptInteropAgents(ids, detected2 ?? readInteropReport() ?? EMPTY_REPORT);
@@ -430,4 +430,4 @@ export {
430
430
  detectInteropAgents,
431
431
  InteropDomainModule
432
432
  };
433
- //# sourceMappingURL=chunk-SP2RXXYO.js.map
433
+ //# sourceMappingURL=chunk-JWJGP5DQ.js.map