@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
@@ -4,14 +4,14 @@ import {
4
4
  normalizeWriteBoundary,
5
5
  normalizeWriteBoundaryEntry,
6
6
  writeBoundaryCovers
7
- } from "./chunk-CTJ4RNAA.js";
7
+ } from "./chunk-3F7VUY77.js";
8
8
  import {
9
9
  asDirectoryPathBoundary,
10
10
  pathBoundaryEntryCovers
11
11
  } from "./chunk-HHV2GANA.js";
12
12
  import {
13
13
  atomicWrite
14
- } from "./chunk-76ONBSIA.js";
14
+ } from "./chunk-MQXIVJ35.js";
15
15
  import {
16
16
  clioStateDir
17
17
  } from "./chunk-BYP5D4HI.js";
@@ -28,7 +28,7 @@ import {
28
28
  lstatSync,
29
29
  mkdirSync as mkdirSync2,
30
30
  readdirSync,
31
- readFileSync,
31
+ readFileSync as readFileSync2,
32
32
  realpathSync as realpathSync2,
33
33
  renameSync,
34
34
  rmdirSync,
@@ -43,11 +43,13 @@ import { join as join2, relative as relative2, resolve as resolve2 } from "node:
43
43
  init_esm_shims();
44
44
  import { execFileSync } from "node:child_process";
45
45
  import { createHash, randomBytes } from "node:crypto";
46
- import { existsSync, mkdirSync, realpathSync, rmSync, writeFileSync } from "node:fs";
46
+ import { existsSync, mkdirSync, readFileSync, realpathSync, rmSync, writeFileSync } from "node:fs";
47
47
  import { isAbsolute, join, relative, resolve, sep } from "node:path";
48
48
  var SAFE_RUN_ID = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/u;
49
49
  var OWNER_FILE_SUFFIX = ".task-owner.json";
50
- var COMMIT_IDENTITY = "clio-task";
50
+ var TASK_WORKTREE_KIND = "clio-coder-task-worktree";
51
+ var LEGACY_TASK_WORKTREE_KIND = "clio-task-worktree";
52
+ var COMMIT_IDENTITY = "clio-coder-task";
51
53
  function gitBytes(root, args) {
52
54
  return execFileSync("git", ["-C", root, ...args], {
53
55
  stdio: ["ignore", "pipe", "pipe"],
@@ -155,7 +157,7 @@ function createTaskWorktree(root, runId, base) {
155
157
  const resolvedBase = base ?? git(canonical, ["rev-parse", "HEAD"]);
156
158
  const parent = join(canonical, ".clio-coder", "worktrees");
157
159
  const path = join(parent, runId);
158
- const branch = `clio/task/${runId}`;
160
+ const branch = `clio-coder/task/${runId}`;
159
161
  mkdirSync(parent, { recursive: true });
160
162
  if (!isCanonicalWorktreePathInside(parent, path))
161
163
  throw new Error(`task worktree path escapes its parent for run ${runId}`);
@@ -163,7 +165,7 @@ function createTaskWorktree(root, runId, base) {
163
165
  const ownerToken = randomBytes(16).toString("hex");
164
166
  writeFileSync(
165
167
  `${path}${OWNER_FILE_SUFFIX}`,
166
- `${JSON.stringify({ version: 1, kind: "clio-task-worktree", root: canonical, runId, branch, base: resolvedBase, ownerToken }, null, 2)}
168
+ `${JSON.stringify({ version: 1, kind: TASK_WORKTREE_KIND, root: canonical, runId, branch, base: resolvedBase, ownerToken }, null, 2)}
167
169
  `,
168
170
  { encoding: "utf8", flag: "wx" }
169
171
  );
@@ -174,10 +176,21 @@ function assertOwnership(worktree) {
174
176
  if (resolve(worktree.path) !== resolve(expected) || !isCanonicalWorktreePathInside(join(worktree.root, ".clio-coder", "worktrees"), worktree.path)) {
175
177
  throw new Error(`task worktree ${worktree.runId} has an invalid ownership path`);
176
178
  }
177
- if (!existsSync(`${worktree.path}${OWNER_FILE_SUFFIX}`))
178
- throw new Error(`task worktree ${worktree.runId} has no ownership file`);
179
+ const ownerPath = `${worktree.path}${OWNER_FILE_SUFFIX}`;
180
+ if (!existsSync(ownerPath)) throw new Error(`task worktree ${worktree.runId} has no ownership file`);
181
+ let marker;
182
+ try {
183
+ const value = JSON.parse(readFileSync(ownerPath, "utf8"));
184
+ if (typeof value !== "object" || value === null || Array.isArray(value)) throw new Error("not an object");
185
+ marker = value;
186
+ } catch {
187
+ throw new Error(`task worktree ${worktree.runId} has an invalid ownership file`);
188
+ }
189
+ if (marker.version !== 1 || marker.kind !== TASK_WORKTREE_KIND && marker.kind !== LEGACY_TASK_WORKTREE_KIND || marker.root !== worktree.root || marker.runId !== worktree.runId || marker.branch !== worktree.branch || marker.base !== worktree.base || marker.ownerToken !== worktree.ownerToken) {
190
+ throw new Error(`task worktree ${worktree.runId} ownership facts do not match`);
191
+ }
179
192
  }
180
- function commitTaskWorktree(worktree, message = `Clio task ${worktree.runId}`) {
193
+ function commitTaskWorktree(worktree, message = `Clio Coder task ${worktree.runId}`) {
181
194
  assertOwnership(worktree);
182
195
  return commitWorktreePath(worktree.path, COMMIT_IDENTITY, message);
183
196
  }
@@ -220,8 +233,9 @@ function cleanupTaskWorktree(worktree, deleteBranch) {
220
233
  // src/tools/compete-worktrees.ts
221
234
  var COMPETE_PARENT_SEGMENTS = [".clio-coder", "worktrees"];
222
235
  var COMPETE_MANIFEST_FILE = ".clio-coder-compete-owner.json";
223
- var COMPETE_MANIFEST_KIND = "clio-compete-group";
224
- var COMPETE_COMMIT_IDENTITY = "clio-compete";
236
+ var COMPETE_MANIFEST_KIND = "clio-coder-compete-group";
237
+ var LEGACY_COMPETE_MANIFEST_KIND = "clio-compete-group";
238
+ var COMPETE_COMMIT_IDENTITY = "clio-coder-compete";
225
239
  var SAFE_GROUP = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
226
240
  var PROCESS_EXIT_GRACE_MS = 750;
227
241
  var PROCESS_POLL_MS = 25;
@@ -243,7 +257,7 @@ function processSnapshot(pid) {
243
257
  if (err.code !== "EPERM") return { alive: false, birthToken: null };
244
258
  }
245
259
  try {
246
- const stat = readFileSync(`/proc/${pid}/stat`, "utf8").trim();
260
+ const stat = readFileSync2(`/proc/${pid}/stat`, "utf8").trim();
247
261
  const close = stat.lastIndexOf(")");
248
262
  if (close > 0) {
249
263
  const fields = stat.slice(close + 1).trim().split(/\s+/u);
@@ -363,7 +377,7 @@ function isCanonicalPathInside(parent, candidate) {
363
377
  function manifestFromUnknown(value) {
364
378
  if (typeof value !== "object" || value === null || Array.isArray(value)) return null;
365
379
  const manifest = value;
366
- if (manifest.version !== 2 || manifest.kind !== COMPETE_MANIFEST_KIND || typeof manifest.root !== "string" || typeof manifest.group !== "string" || typeof manifest.token !== "string" || manifest.token.length === 0 || manifest.state !== "active" && manifest.state !== "cleanup-ready" && manifest.state !== "winner-preserved" || typeof manifest.createdAt !== "string" || typeof manifest.updatedAt !== "string") {
380
+ if (manifest.version !== 2 || manifest.kind !== COMPETE_MANIFEST_KIND && manifest.kind !== LEGACY_COMPETE_MANIFEST_KIND || typeof manifest.root !== "string" || typeof manifest.group !== "string" || typeof manifest.token !== "string" || manifest.token.length === 0 || manifest.state !== "active" && manifest.state !== "cleanup-ready" && manifest.state !== "winner-preserved" || typeof manifest.createdAt !== "string" || typeof manifest.updatedAt !== "string") {
367
381
  return null;
368
382
  }
369
383
  if (!validProcessLease(manifest.owner) || !Array.isArray(manifest.runs) || !manifest.runs.every(validRunLease) || new Set(manifest.runs.map((run) => run.runId)).size !== manifest.runs.length) {
@@ -379,7 +393,7 @@ function readManifest(root, group) {
379
393
  const directory = groupDirectory(canonical, group);
380
394
  if (!isCanonicalDirectoryAt(directory)) return null;
381
395
  try {
382
- const parsed = JSON.parse(readFileSync(manifestPath(directory), "utf8"));
396
+ const parsed = JSON.parse(readFileSync2(manifestPath(directory), "utf8"));
383
397
  const manifest = manifestFromUnknown(parsed);
384
398
  if (manifest === null || manifest.root !== canonical || manifest.group !== group) return null;
385
399
  return manifest;
@@ -426,10 +440,13 @@ function isGitRepository(root) {
426
440
  return false;
427
441
  }
428
442
  }
429
- function competeBranch(group, index) {
443
+ function competeBranch(group, index, legacy = false) {
430
444
  validateGroup(group);
431
445
  if (!Number.isInteger(index) || index < 1) throw new Error(`invalid compete candidate index ${index}`);
432
- return `clio/compete/${group}/${index}`;
446
+ return `${legacy ? "clio" : "clio-coder"}/compete/${group}/${index}`;
447
+ }
448
+ function competeBranchMatches(branch, group, index) {
449
+ return branch === competeBranch(group, index) || branch === competeBranch(group, index, true);
433
450
  }
434
451
  function claimCompeteGroup(root, group) {
435
452
  const canonical = canonicalRoot(root);
@@ -556,7 +573,7 @@ async function createCandidateWorktreeMapped(ownership, index, baseline, mux) {
556
573
  branch,
557
574
  base: baseline,
558
575
  path,
559
- label: `clio compete ${ownership.group} candidate ${index}`,
576
+ label: `clio-coder compete ${ownership.group} candidate ${index}`,
560
577
  focus: false
561
578
  }).catch(() => null);
562
579
  if (created !== null) {
@@ -591,9 +608,13 @@ function registeredWorktreePaths(root) {
591
608
  function exactGroupBranches(root, group) {
592
609
  return git2(root, ["branch", "--list", "--format=%(refname:short)"]).split("\n").filter((branch) => {
593
610
  const parts = branch.split("/");
594
- return parts.length === 4 && parts[0] === "clio" && parts[1] === "compete" && parts[2] === group && /^\d+$/.test(parts[3] ?? "");
611
+ return parts.length === 4 && (parts[0] === "clio-coder" || parts[0] === "clio") && parts[1] === "compete" && parts[2] === group && /^\d+$/.test(parts[3] ?? "");
595
612
  });
596
613
  }
614
+ function competeBranchForCandidate(root, group, index) {
615
+ const branches = exactGroupBranches(root, group);
616
+ return branches.find((branch) => branch === competeBranch(group, index)) ?? branches.find((branch) => branch === competeBranch(group, index, true)) ?? competeBranch(group, index);
617
+ }
597
618
  function removeRegisteredWorktree(root, path) {
598
619
  try {
599
620
  git2(root, ["worktree", "remove", "--force", path]);
@@ -605,8 +626,7 @@ function removeRegisteredWorktree(root, path) {
605
626
  function removeCandidateWorktree(ownership, worktree, deleteBranch) {
606
627
  assertOwnership2(ownership);
607
628
  const expectedPath = join2(ownership.directory, `candidate-${worktree.index}`);
608
- const expectedBranch = competeBranch(ownership.group, worktree.index);
609
- if (resolve2(worktree.path) !== resolve2(expectedPath) || worktree.branch !== expectedBranch || !isCanonicalPathInside(ownership.directory, worktree.path)) {
629
+ if (resolve2(worktree.path) !== resolve2(expectedPath) || !competeBranchMatches(worktree.branch, ownership.group, worktree.index) || !isCanonicalPathInside(ownership.directory, worktree.path)) {
610
630
  throw new Error(`candidate ${worktree.index} does not belong to compete group ${ownership.group}`);
611
631
  }
612
632
  removeRegisteredWorktree(ownership.root, worktree.path);
@@ -697,8 +717,8 @@ function settleRecoveredCompeteDecision(root, group, winnerIndex) {
697
717
  cleanupWorktreeGroup(ownership);
698
718
  return null;
699
719
  }
700
- const winnerBranch = competeBranch(group, winnerIndex);
701
720
  const branches = exactGroupBranches(ownership.root, group);
721
+ const winnerBranch = competeBranchForCandidate(ownership.root, group, winnerIndex);
702
722
  const winnerPath = join2(ownership.directory, `candidate-${winnerIndex}`);
703
723
  if (!branches.includes(winnerBranch) || !registeredWorktreePaths(ownership.root).some((path) => resolve2(path) === resolve2(winnerPath))) {
704
724
  throw new Error(`recovered winner ${winnerBranch} has no intact candidate worktree`);
@@ -1167,6 +1187,7 @@ export {
1167
1187
  commitCandidateWork,
1168
1188
  candidateDiffStat,
1169
1189
  protectedPathsChangedByCompeteBranch,
1190
+ competeBranchForCandidate,
1170
1191
  removeCandidateWorktreeMapped,
1171
1192
  mergeWinnerBranch,
1172
1193
  cleanupCompeteGroup,
@@ -1178,4 +1199,4 @@ export {
1178
1199
  preflightWriteBoundaries,
1179
1200
  createWriteBoundaryEnforcer
1180
1201
  };
1181
- //# sourceMappingURL=chunk-U77AMWDL.js.map
1202
+ //# sourceMappingURL=chunk-W6NIE6OW.js.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  resolveDynamicConfigValue
4
- } from "./chunk-SST6Z5JA.js";
4
+ } from "./chunk-336NSSKI.js";
5
5
  import {
6
6
  withStateFileLock,
7
7
  withStateFileLockSync
@@ -959,4 +959,4 @@ export {
959
959
  authNotRequiredStatus,
960
960
  openAuthStorage
961
961
  };
962
- //# sourceMappingURL=chunk-BBVYXMFO.js.map
962
+ //# sourceMappingURL=chunk-WNP7O5WZ.js.map
@@ -8,16 +8,13 @@ import {
8
8
  import {
9
9
  isSessionEntry,
10
10
  isSessionHeader
11
- } from "./chunk-RAPCMZL4.js";
11
+ } from "./chunk-FSP7CMNU.js";
12
12
  import {
13
13
  protectArtifact
14
- } from "./chunk-GCSMB2KY.js";
14
+ } from "./chunk-IKOZFYBN.js";
15
15
  import {
16
16
  stripTokenizerSentinels
17
17
  } from "./chunk-CFGTUFWB.js";
18
- import {
19
- BusChannels
20
- } from "./chunk-HLW2MRKE.js";
21
18
  import {
22
19
  CURRENT_SESSION_FORMAT_VERSION,
23
20
  appendSessionFileEntry,
@@ -29,7 +26,10 @@ import {
29
26
  readSessionMeta,
30
27
  resumeSession,
31
28
  sessionPaths
32
- } from "./chunk-76ONBSIA.js";
29
+ } from "./chunk-MQXIVJ35.js";
30
+ import {
31
+ BusChannels
32
+ } from "./chunk-F4EKGO4N.js";
33
33
  import {
34
34
  clioStateDir,
35
35
  stateRootRemoved
@@ -1139,7 +1139,7 @@ function createSessionBundle(context) {
1139
1139
  await performCheckpoint(state, "shutdown");
1140
1140
  } catch (err) {
1141
1141
  process.stderr.write(
1142
- `[clio:session] shutdown checkpoint failed: ${err instanceof Error ? err.message : String(err)}
1142
+ `[clio-coder:session] shutdown checkpoint failed: ${err instanceof Error ? err.message : String(err)}
1143
1143
  `
1144
1144
  );
1145
1145
  }
@@ -1311,6 +1311,12 @@ var SessionDomainModule = {
1311
1311
  };
1312
1312
 
1313
1313
  // src/domains/session/archive-readers.ts
1314
+ var ROUTING_NOTICE_CUSTOM_TYPE = "clio-coder.routing-notice";
1315
+ var LEGACY_ROUTING_NOTICE_CUSTOM_TYPE = "clio.routing-notice";
1316
+ function normalizeReleasedCustomType(entry) {
1317
+ if (entry.kind !== "custom" || entry.customType !== LEGACY_ROUTING_NOTICE_CUSTOM_TYPE) return entry;
1318
+ return { ...entry, customType: ROUTING_NOTICE_CUSTOM_TYPE };
1319
+ }
1314
1320
  async function readAuditRows(stateDir) {
1315
1321
  const root = join3(stateDir, "audit");
1316
1322
  let files;
@@ -1415,7 +1421,7 @@ function parseSessionEntries(raw, source) {
1415
1421
  }
1416
1422
  if (isSessionHeader(parsed)) continue;
1417
1423
  if (isSessionEntry(parsed)) {
1418
- entries.push(parsed);
1424
+ entries.push(normalizeReleasedCustomType(parsed));
1419
1425
  continue;
1420
1426
  }
1421
1427
  errors.push(
@@ -1475,4 +1481,4 @@ export {
1475
1481
  ledgerUsageCalls,
1476
1482
  SessionDomainModule
1477
1483
  };
1478
- //# sourceMappingURL=chunk-QREDIESB.js.map
1484
+ //# sourceMappingURL=chunk-X7IARSHT.js.map
@@ -4,14 +4,14 @@ import {
4
4
  listChecks,
5
5
  runProjectCheck,
6
6
  runScriptCheck
7
- } from "./chunk-YDFRH54B.js";
7
+ } from "./chunk-MCMZMDAC.js";
8
8
  import {
9
9
  BROWSER_MODES,
10
10
  maxOutputArg,
11
11
  prepareVerifyArguments,
12
12
  timeoutArg,
13
13
  verifyToolSurface
14
- } from "./chunk-HWHKMHUA.js";
14
+ } from "./chunk-7BHIY2MW.js";
15
15
  import {
16
16
  escapeRegExp
17
17
  } from "./chunk-VG7TBQIY.js";
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  combineSafeOutput,
30
30
  runCommandVector
31
- } from "./chunk-BBVJUZHB.js";
31
+ } from "./chunk-HJWWJ6IL.js";
32
32
  import {
33
33
  init_esm_shims
34
34
  } from "./chunk-3R73A4XB.js";
@@ -390,7 +390,7 @@ function checkClassicJavaScript(source, label) {
390
390
  }
391
391
  }
392
392
  async function checkModuleJavaScript(source, label, options) {
393
- const dir = mkdtempSync(path.join(tmpdir(), "clio-frontend-check-"));
393
+ const dir = mkdtempSync(path.join(tmpdir(), "clio-coder-frontend-check-"));
394
394
  const file = path.join(dir, "module.mjs");
395
395
  try {
396
396
  writeFileSync(file, source, "utf8");
@@ -633,4 +633,4 @@ var verifyTool = {
633
633
  export {
634
634
  verifyTool
635
635
  };
636
- //# sourceMappingURL=chunk-3URVFKWK.js.map
636
+ //# sourceMappingURL=chunk-XE3PCIXH.js.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  enabledExtensionResourceRoots
4
- } from "./chunk-SUW5DORT.js";
4
+ } from "./chunk-HLAFFSEK.js";
5
5
  import {
6
6
  require_dist
7
7
  } from "./chunk-APJ265NV.js";
@@ -120,4 +120,4 @@ export {
120
120
  splitYamlFrontmatter,
121
121
  stringField
122
122
  };
123
- //# sourceMappingURL=chunk-FEFIFZTL.js.map
123
+ //# sourceMappingURL=chunk-XGDPUNND.js.map
@@ -2,12 +2,12 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  canonicalJson,
4
4
  sha256
5
- } from "./chunk-B7OBL7PK.js";
5
+ } from "./chunk-B74PXLU7.js";
6
6
  import {
7
7
  addResponseModelIdObservationCount,
8
8
  emptyResponseModelIdObservationCounts,
9
9
  responseModelIdObservationFromRecord
10
- } from "./chunk-QREDIESB.js";
10
+ } from "./chunk-X7IARSHT.js";
11
11
  import {
12
12
  uncachedPrefillTokens
13
13
  } from "./chunk-3DPEIQKN.js";
@@ -17,16 +17,16 @@ import {
17
17
  import {
18
18
  ceilChars,
19
19
  extractReasoningTokens
20
- } from "./chunk-UM7N4G5A.js";
20
+ } from "./chunk-CWVRRIEI.js";
21
21
  import {
22
22
  settingsPath
23
- } from "./chunk-VFA6GDY5.js";
23
+ } from "./chunk-34BHNEE3.js";
24
24
  import {
25
25
  expandConfigPath
26
- } from "./chunk-SST6Z5JA.js";
26
+ } from "./chunk-336NSSKI.js";
27
27
  import {
28
28
  isEngineContextOverflow
29
- } from "./chunk-UOSL25KY.js";
29
+ } from "./chunk-VXMFAE2W.js";
30
30
  import {
31
31
  init_esm_shims
32
32
  } from "./chunk-3R73A4XB.js";
@@ -154,6 +154,50 @@ function extractMessage(err) {
154
154
  return "";
155
155
  }
156
156
 
157
+ // src/interactive/prompt-cache-identity.ts
158
+ init_esm_shims();
159
+ function attachedToolSchemasFromState(tools) {
160
+ const schemas = [];
161
+ for (const tool of tools) {
162
+ if (!tool || typeof tool !== "object" || Array.isArray(tool)) continue;
163
+ const record = tool;
164
+ schemas.push({
165
+ name: typeof record.name === "string" ? record.name : "",
166
+ description: typeof record.description === "string" ? record.description : "",
167
+ parameters: record.parameters ?? null
168
+ });
169
+ }
170
+ return schemas;
171
+ }
172
+ function attachedToolSchemaBytes(schemas) {
173
+ try {
174
+ const bytes = JSON.stringify(schemas);
175
+ if (bytes === void 0) throw new Error("JSON.stringify returned undefined");
176
+ return bytes;
177
+ } catch (err) {
178
+ const reason = err instanceof Error ? err.message : String(err);
179
+ throw new Error(`attached tool schemas are not JSON-serializable: ${reason}`, { cause: err });
180
+ }
181
+ }
182
+ function mainPromptCacheIdentity(input) {
183
+ return sha256(
184
+ canonicalJson({
185
+ version: 2,
186
+ targetId: input.targetId,
187
+ runtimeId: input.runtimeId,
188
+ wireModelId: input.wireModelId,
189
+ autonomy: input.autonomy,
190
+ sessionId: input.sessionId,
191
+ cwd: input.cwd,
192
+ workingContextPaths: [...input.workingContextPaths].sort((a, b) => a.localeCompare(b)),
193
+ contextWindowSource: input.contextWindowSource,
194
+ promptInputEpoch: input.promptInputEpoch,
195
+ sessionInputs: input.sessionInputs,
196
+ attachedToolSchemaBytes: attachedToolSchemaBytes(input.attachedToolSchemas)
197
+ })
198
+ );
199
+ }
200
+
157
201
  // src/interactive/chat-loop-messages.ts
158
202
  function notConfiguredNotice() {
159
203
  return [
@@ -272,18 +316,7 @@ function pendingSkillRequestPreamble(requests) {
272
316
  ].join("\n");
273
317
  }
274
318
  function toolSignatureFromState(tools) {
275
- const schemas = [];
276
- for (const tool of tools) {
277
- if (!tool || typeof tool !== "object" || Array.isArray(tool)) continue;
278
- const record = tool;
279
- schemas.push({
280
- name: typeof record.name === "string" ? record.name : "",
281
- description: typeof record.description === "string" ? record.description : "",
282
- parameters: record.parameters ?? null
283
- });
284
- }
285
- schemas.sort((a, b) => a.name.localeCompare(b.name));
286
- return sha256(canonicalJson(schemas));
319
+ return sha256(attachedToolSchemaBytes(attachedToolSchemasFromState(tools)));
287
320
  }
288
321
  function fallbackIdentityPrompt() {
289
322
  return [
@@ -907,8 +940,58 @@ function formatDimensionNote(result2) {
907
940
  }
908
941
 
909
942
  // src/core/file-references.ts
910
- var FILE_REF = /(^|\s)@(\S+)/g;
911
943
  var DEFAULT_IMAGE_MAX_BASE64_BYTES = 4.5 * 1024 * 1024;
944
+ function decodeQuotedFileArg(input, start, quote) {
945
+ let value = "";
946
+ let escaped = false;
947
+ for (let index = start; index < input.length; index += 1) {
948
+ const character = input[index] ?? "";
949
+ if (escaped) {
950
+ value += character;
951
+ escaped = false;
952
+ continue;
953
+ }
954
+ if (character === "\\") {
955
+ escaped = true;
956
+ continue;
957
+ }
958
+ if (character === quote) return { value, end: index + 1 };
959
+ value += character;
960
+ }
961
+ return null;
962
+ }
963
+ function inlineFileReferences(input) {
964
+ const references = [];
965
+ for (let start = 0; start < input.length; start += 1) {
966
+ if (input[start] !== "@" || start > 0 && !/\s/u.test(input[start - 1] ?? "")) continue;
967
+ const next = input[start + 1];
968
+ if (next === '"' || next === "'") {
969
+ const decoded = decodeQuotedFileArg(input, start + 2, next);
970
+ if (!decoded || decoded.value.length === 0) continue;
971
+ references.push({
972
+ start,
973
+ end: decoded.end,
974
+ raw: input.slice(start, decoded.end),
975
+ fileArg: decoded.value,
976
+ quoted: true
977
+ });
978
+ start = decoded.end - 1;
979
+ continue;
980
+ }
981
+ let end = start + 1;
982
+ while (end < input.length && !/\s/u.test(input[end] ?? "")) end += 1;
983
+ if (end === start + 1) continue;
984
+ references.push({
985
+ start,
986
+ end,
987
+ raw: input.slice(start, end),
988
+ fileArg: input.slice(start + 1, end),
989
+ quoted: false
990
+ });
991
+ start = end - 1;
992
+ }
993
+ return references;
994
+ }
912
995
  function renderTextFile(filePath, content) {
913
996
  return `<file name="${filePath}">
914
997
  ${content}
@@ -1024,29 +1107,25 @@ async function expandInlineFileReferencesAsync(input, options = {}) {
1024
1107
  const referencedPaths = [];
1025
1108
  let text = "";
1026
1109
  let lastIndex = 0;
1027
- for (const match of input.matchAll(FILE_REF)) {
1028
- const index = match.index ?? 0;
1029
- const full = match[0] ?? "";
1030
- const prefix = match[1] ?? "";
1031
- const token = match[2] ?? "";
1032
- text += input.slice(lastIndex, index);
1033
- const direct = await readFileReferenceAsync(token, {
1110
+ for (const reference of inlineFileReferences(input)) {
1111
+ text += input.slice(lastIndex, reference.start);
1112
+ const direct = await readFileReferenceAsync(reference.fileArg, {
1034
1113
  ...options,
1035
1114
  missing: "leave",
1036
1115
  includeImages: options.includeImages === true
1037
1116
  });
1038
- if (direct.text !== `@${token}`) {
1117
+ if (direct.text !== `@${reference.fileArg}`) {
1039
1118
  diagnostics.push(...direct.diagnostics);
1040
1119
  images.push(...direct.images);
1041
1120
  referencedPaths.push(...direct.referencedPaths);
1042
- text += `${prefix}${direct.text}`;
1043
- lastIndex = index + full.length;
1121
+ text += direct.text;
1122
+ lastIndex = reference.end;
1044
1123
  continue;
1045
1124
  }
1046
- const { fileArg, suffix } = splitTrailingPunctuation(token);
1047
- if (fileArg === token) {
1048
- text += full;
1049
- lastIndex = index + full.length;
1125
+ const { fileArg, suffix } = reference.quoted ? { fileArg: reference.fileArg, suffix: "" } : splitTrailingPunctuation(reference.fileArg);
1126
+ if (fileArg === reference.fileArg) {
1127
+ text += reference.raw;
1128
+ lastIndex = reference.end;
1050
1129
  continue;
1051
1130
  }
1052
1131
  const stripped = await readFileReferenceAsync(fileArg, {
@@ -1055,15 +1134,15 @@ async function expandInlineFileReferencesAsync(input, options = {}) {
1055
1134
  includeImages: options.includeImages === true
1056
1135
  });
1057
1136
  if (stripped.text === `@${fileArg}`) {
1058
- text += full;
1059
- lastIndex = index + full.length;
1137
+ text += reference.raw;
1138
+ lastIndex = reference.end;
1060
1139
  continue;
1061
1140
  }
1062
1141
  diagnostics.push(...stripped.diagnostics);
1063
1142
  images.push(...stripped.images);
1064
1143
  referencedPaths.push(...stripped.referencedPaths);
1065
- text += `${prefix}${stripped.text}${suffix}`;
1066
- lastIndex = index + full.length;
1144
+ text += `${stripped.text}${suffix}`;
1145
+ lastIndex = reference.end;
1067
1146
  }
1068
1147
  text += input.slice(lastIndex);
1069
1148
  return { text, images, diagnostics, referencedPaths };
@@ -1071,6 +1150,8 @@ async function expandInlineFileReferencesAsync(input, options = {}) {
1071
1150
 
1072
1151
  export {
1073
1152
  toContextOverflowError,
1153
+ attachedToolSchemasFromState,
1154
+ mainPromptCacheIdentity,
1074
1155
  notConfiguredNotice,
1075
1156
  extractText,
1076
1157
  extractUserText,
@@ -1104,4 +1185,4 @@ export {
1104
1185
  readFileArgsAsync,
1105
1186
  expandInlineFileReferencesAsync
1106
1187
  };
1107
- //# sourceMappingURL=chunk-F4CKPOEQ.js.map
1188
+ //# sourceMappingURL=chunk-XOXV5GKE.js.map