@iowarp/clio-coder 0.4.7 → 0.4.9

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 (675) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +111 -0
  3. package/CONTRIBUTING.md +83 -74
  4. package/README.md +69 -47
  5. package/dist/{acp-W3Y3TRHD.js → acp-ZWZCPS2A.js} +15 -15
  6. package/dist/{agents-J4ICNLQ3.js → agents-LYSOWZUE.js} +61 -59
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/assets/web-notices/@hono__node-server-LICENSE +21 -0
  9. package/dist/assets/web-notices/hono-LICENSE +21 -0
  10. package/dist/{auth-X2UJUMOC.js → auth-WBQGKWQ5.js} +27 -27
  11. package/dist/background-BUMOBAQN.js +37 -0
  12. package/dist/{builtins-XLXWWSRF.js → builtins-ODRJOEDI.js} +7 -7
  13. package/dist/{chunk-C3G5PNUO.js → chunk-2DRRZ57Q.js} +36 -27
  14. package/dist/chunk-2JBZYUPY.js +105 -0
  15. package/dist/chunk-2KUBKL63.js +336 -0
  16. package/dist/chunk-2VBWFXYE.js +198 -0
  17. package/dist/{chunk-XZ6UFQ52.js → chunk-2X2R3UTH.js} +25 -15
  18. package/dist/{chunk-M6Z2V6YU.js → chunk-37LW32LZ.js} +5 -5
  19. package/dist/{chunk-6LRLOJHQ.js → chunk-3AND2EFU.js} +11 -62
  20. package/dist/{chunk-FQOOGXBH.js → chunk-3RDHGNU7.js} +101 -33
  21. package/dist/{chunk-D2T66PDV.js → chunk-3SUDBGEI.js} +41 -208
  22. package/dist/{chunk-5AJPUR72.js → chunk-3TQN67I2.js} +9 -9
  23. package/dist/{chunk-LBFQMYS3.js → chunk-3U4BL2EV.js} +5 -3
  24. package/dist/{chunk-UFYNOQK4.js → chunk-3UQADNG2.js} +7 -7
  25. package/dist/{chunk-V4ZKOKRB.js → chunk-434LRQ6Z.js} +61 -53
  26. package/dist/{chunk-NO7J45X6.js → chunk-4ATBOFRP.js} +713 -218
  27. package/dist/{chunk-ECOMVOHP.js → chunk-4DNL43EZ.js} +3 -3
  28. package/dist/{chunk-WT5TRMO4.js → chunk-4HFJKRGZ.js} +255 -82
  29. package/dist/{chunk-5A6XR3RJ.js → chunk-555E2WVV.js} +16 -2
  30. package/dist/{chunk-WURGVOZJ.js → chunk-5RTEFNBP.js} +18 -14
  31. package/dist/{config-YXARKGTX.js → chunk-64XJW7NT.js} +24 -268
  32. package/dist/{chunk-24S3DN22.js → chunk-6TKOFFGE.js} +4 -4
  33. package/dist/{chunk-YKRJTYNP.js → chunk-6UJ7RDI7.js} +4 -4
  34. package/dist/{chunk-MZNWZUJM.js → chunk-7FBCRWVT.js} +288 -288
  35. package/dist/{chunk-UA6W4XFJ.js → chunk-7JSOSVLP.js} +2 -2
  36. package/dist/chunk-7N3OLLSL.js +637 -0
  37. package/dist/{chunk-KKEYGFX4.js → chunk-7QQRPB2E.js} +11 -11
  38. package/dist/{chunk-N37QC5FV.js → chunk-A6DULIMH.js} +21 -9
  39. package/dist/{fleet-decisions-S3PTZV2D.js → chunk-AB3QXXBC.js} +5 -41
  40. package/dist/chunk-ACCECAH4.js +49 -0
  41. package/dist/{chunk-CP3HIR5H.js → chunk-AM6CEP2K.js} +20 -19
  42. package/dist/chunk-AUHVBIDW.js +19 -0
  43. package/dist/{chunk-BQQ5MXUC.js → chunk-AY4XE6GN.js} +19 -13
  44. package/dist/{chunk-ISNCCX42.js → chunk-BBA2TAWV.js} +10 -9
  45. package/dist/chunk-BFPHMSK7.js +169 -0
  46. package/dist/{chunk-LVFANMOH.js → chunk-BHJMMCXS.js} +4 -4
  47. package/dist/{chunk-DO7M3LSX.js → chunk-BMNVVKEW.js} +40 -93
  48. package/dist/{chunk-VTYHHQ57.js → chunk-CTGZCEI6.js} +2 -2
  49. package/dist/{chunk-RTLNFZMD.js → chunk-DIAJYJYG.js} +3 -3
  50. package/dist/chunk-EHZRAB4U.js +63 -0
  51. package/dist/{chunk-KS7ETA3P.js → chunk-EM2DIQAJ.js} +3 -3
  52. package/dist/{chunk-MNQN3X6Y.js → chunk-ETF4ROKH.js} +5 -5
  53. package/dist/{chunk-WN552PKN.js → chunk-F2YM3JY4.js} +744 -1134
  54. package/dist/{chunk-7EEGBKV4.js → chunk-FEBQWHJT.js} +24 -19
  55. package/dist/{chunk-4QKAITQT.js → chunk-FPS4R2RN.js} +74 -10
  56. package/dist/chunk-G5R53COU.js +68 -0
  57. package/dist/chunk-GHXGMFQ5.js +40 -0
  58. package/dist/{chunk-GFQ7P2UF.js → chunk-GJDRMBDI.js} +10 -10
  59. package/dist/{chunk-LZBMXNLP.js → chunk-GM4TY6VN.js} +43 -6
  60. package/dist/{chunk-NCCQ6DVS.js → chunk-GREYLTZ5.js} +8 -8
  61. package/dist/{chunk-HOX4YZ2K.js → chunk-H2WSCZZT.js} +19 -3
  62. package/dist/{chunk-3LXJOICS.js → chunk-H6IUCY6Q.js} +2 -2
  63. package/dist/{chunk-BO4XV5VX.js → chunk-H72DCH3E.js} +95 -206
  64. package/dist/{chunk-SEDI5K5B.js → chunk-H7TXJR23.js} +20 -20
  65. package/dist/chunk-HBJQQTKM.js +40 -0
  66. package/dist/chunk-HCVKSGNZ.js +990 -0
  67. package/dist/chunk-HVCAY2FH.js +67 -0
  68. package/dist/{chunk-34XHRVKG.js → chunk-I47EJPYL.js} +3 -3
  69. package/dist/{chunk-4N2RZ4TO.js → chunk-IALGWTLO.js} +3 -3
  70. package/dist/{chunk-IQCNVLO6.js → chunk-IALZJE37.js} +10 -7
  71. package/dist/{chunk-DLIYANB7.js → chunk-IC7JXLOM.js} +16 -11
  72. package/dist/{chunk-G4LGUTOE.js → chunk-IOSVTTCD.js} +5 -5
  73. package/dist/{chunk-DBREN25X.js → chunk-IPTPMLA6.js} +8 -3
  74. package/dist/{chunk-V552WL53.js → chunk-IZZI3SKQ.js} +3 -67
  75. package/dist/{chunk-TN5FW4XY.js → chunk-JIYWMQZ5.js} +12 -9
  76. package/dist/{chunk-T7QQBNLH.js → chunk-JKU34ACI.js} +10 -8
  77. package/dist/chunk-JOBN2YQQ.js +176 -0
  78. package/dist/chunk-JOL2QRLE.js +152 -0
  79. package/dist/{chunk-GXIWHXDB.js → chunk-JTR3VSV3.js} +3 -3
  80. package/dist/{chunk-T334FW2H.js → chunk-JU6MAMRJ.js} +7 -7
  81. package/dist/chunk-JURMQWVJ.js +15 -0
  82. package/dist/{chunk-CULVKYTK.js → chunk-K3XN4LZ4.js} +5 -5
  83. package/dist/{chunk-3T4DXWP6.js → chunk-KIVFXGBM.js} +27 -7
  84. package/dist/chunk-KKRXONXG.js +43 -0
  85. package/dist/{chunk-YPRSNUTC.js → chunk-KOAHT3N2.js} +2 -2
  86. package/dist/chunk-KP5BPXR3.js +73 -0
  87. package/dist/{chunk-UA3W4FGC.js → chunk-KRJQG47M.js} +6 -6
  88. package/dist/{chunk-GI5RRMAH.js → chunk-KW6OJ7IY.js} +19 -21
  89. package/dist/{chunk-A46ILRS2.js → chunk-L3NBWLSN.js} +4 -4
  90. package/dist/{chunk-MZHXENL7.js → chunk-L4RUTLRL.js} +8 -8
  91. package/dist/{chunk-P5SC4DLJ.js → chunk-LGTVWPRN.js} +2 -2
  92. package/dist/{chunk-65BGHOUR.js → chunk-LSQW6KZO.js} +5 -5
  93. package/dist/{chunk-TZHN5ITX.js → chunk-LWJYOHT3.js} +8 -8
  94. package/dist/{chunk-U3TPUXOQ.js → chunk-M6YLF66Z.js} +74 -40
  95. package/dist/chunk-MJ4QEJVT.js +185 -0
  96. package/dist/{chunk-T4TY5GG3.js → chunk-MO65K5CH.js} +5 -5
  97. package/dist/{chunk-TZ6UVP2H.js → chunk-MTOZEQHL.js} +8 -8
  98. package/dist/chunk-MZDPF35R.js +45 -0
  99. package/dist/{chunk-P4DL2LM5.js → chunk-MZKYVIWW.js} +8 -119
  100. package/dist/{chunk-KAFMW7WM.js → chunk-NBPA5QM6.js} +2 -2
  101. package/dist/{chunk-EUEXGXXR.js → chunk-NMBEW4PP.js} +5 -5
  102. package/dist/{chunk-SELG4SUR.js → chunk-NPLLK3HO.js} +72 -89
  103. package/dist/{chunk-VCRVEDUC.js → chunk-NSYGPIVW.js} +5 -5
  104. package/dist/{context-7HJEWTTP.js → chunk-NXTV5OI5.js} +36 -90
  105. package/dist/{chunk-IMOD2YPV.js → chunk-NYDG4QP4.js} +9 -19
  106. package/dist/{chunk-6CA2BHOR.js → chunk-OA2GDACN.js} +5 -5
  107. package/dist/{chunk-A67NR5AT.js → chunk-PJI57EC6.js} +14 -11
  108. package/dist/{chunk-IJMW64DX.js → chunk-PJJBUGMR.js} +50 -50
  109. package/dist/{chunk-CPXGJI2A.js → chunk-PNJE7JPS.js} +20 -5
  110. package/dist/chunk-PP23PZEV.js +1347 -0
  111. package/dist/chunk-PPIFDSBK.js +409 -0
  112. package/dist/{chunk-T52TPHYC.js → chunk-PTFISXQO.js} +8 -7
  113. package/dist/{chunk-C6GEXX4L.js → chunk-QB33Z5S7.js} +5 -5
  114. package/dist/{chunk-VMATUZB6.js → chunk-QGNII5VC.js} +10 -10
  115. package/dist/{chunk-TLTGZTXI.js → chunk-QI72X67S.js} +104 -27
  116. package/dist/chunk-QKHZZFKH.js +98 -0
  117. package/dist/{chunk-PFLOULP3.js → chunk-RDKX2PME.js} +4 -4
  118. package/dist/{chunk-B5ZTR6KZ.js → chunk-RL7LJYN4.js} +1 -1
  119. package/dist/chunk-RPMNIFRY.js +65 -0
  120. package/dist/{chunk-L3Z5ANCV.js → chunk-RQROVOV3.js} +13 -11
  121. package/dist/{chunk-6YHPAAZR.js → chunk-S34A7BSP.js} +3 -3
  122. package/dist/{chunk-5ZSZEYJK.js → chunk-SJETVJHX.js} +2 -2
  123. package/dist/{chunk-77CZRFTE.js → chunk-SJMNU4ZS.js} +2 -2
  124. package/dist/chunk-SLLG2G44.js +85 -0
  125. package/dist/{chunk-GVZFCJHE.js → chunk-SQAZN2V3.js} +48 -22
  126. package/dist/{chunk-2O2LVQQK.js → chunk-SQBT46OF.js} +2 -2
  127. package/dist/{chunk-ZGIGW4ZG.js → chunk-TCUOGIL2.js} +5 -5
  128. package/dist/{chunk-DACXIVVF.js → chunk-TIWPKCVO.js} +5 -5
  129. package/dist/{chunk-5CMARGPF.js → chunk-UIU7MGZ3.js} +11 -2
  130. package/dist/chunk-USBBEKHW.js +177 -0
  131. package/dist/{chunk-WLHX3MM5.js → chunk-V4XJWDHR.js} +21 -11
  132. package/dist/{chunk-MBJO5VNZ.js → chunk-VPWGADBG.js} +33 -33
  133. package/dist/{chunk-UUQ5G6EZ.js → chunk-VWFCAK34.js} +6 -6
  134. package/dist/{chunk-6CB2IL4N.js → chunk-W5RM7YAH.js} +1 -1
  135. package/dist/{chunk-4MFBBY2Z.js → chunk-W72LLZAV.js} +3 -3
  136. package/dist/{chunk-4UHVS5T7.js → chunk-WGRDABW7.js} +8 -8
  137. package/dist/{chunk-XR3XJN2M.js → chunk-WWRV5RJI.js} +4 -4
  138. package/dist/{chunk-24TOGHPO.js → chunk-X6FLVUM5.js} +4 -4
  139. package/dist/{chunk-6YA46L5A.js → chunk-XFLSL7BT.js} +2 -2
  140. package/dist/{chunk-QKWL7SYE.js → chunk-XJZEDCNT.js} +50 -39
  141. package/dist/{chunk-UWD3JD5X.js → chunk-XLLEL3K7.js} +10 -10
  142. package/dist/{chunk-2GPGAE5W.js → chunk-XNIZBOFV.js} +15 -1
  143. package/dist/chunk-XNZWWDC3.js +686 -0
  144. package/dist/{chunk-WBVKKTUT.js → chunk-XRECG65F.js} +2 -2
  145. package/dist/chunk-XTQ7MEJG.js +457 -0
  146. package/dist/{chunk-GEVQNST4.js → chunk-XZWSP67B.js} +2 -2
  147. package/dist/{chunk-WB7POC6M.js → chunk-Y3M2T5RO.js} +6 -6
  148. package/dist/{chunk-RXFPB32E.js → chunk-YJCCMYYT.js} +2 -2
  149. package/dist/{chunk-EUZRMP4Y.js → chunk-YPQOPFP7.js} +20 -20
  150. package/dist/{chunk-USZA7GWL.js → chunk-YQ3GFEUY.js} +2 -2
  151. package/dist/{chunk-BAU36233.js → chunk-YQYINEJI.js} +9 -9
  152. package/dist/{chunk-CE64C5K5.js → chunk-ZF6CV4WZ.js} +1356 -235
  153. package/dist/{chunk-3XE4NRLF.js → chunk-ZKJU55MX.js} +4 -2
  154. package/dist/{chunk-IZYTT3CD.js → chunk-ZKQ63XZ5.js} +16 -39
  155. package/dist/{chunk-6TAATXXH.js → chunk-ZKVMDNAN.js} +7 -7
  156. package/dist/chunk-ZST3FRCV.js +132 -0
  157. package/dist/cli/index.js +50 -38
  158. package/dist/{clio-L2P7S2R2.js → clio-JUDCLNHC.js} +11 -11
  159. package/dist/clio-context-tools-FT672MNZ.js +136 -0
  160. package/dist/{code-nav-B5LNX4KU.js → code-nav-7OVCTP2Z.js} +39 -37
  161. package/dist/{components-63MMQKUT.js → components-OZXZMDWU.js} +11 -11
  162. package/dist/config-P3ZQVF63.js +275 -0
  163. package/dist/config-graph-GKAOBAS5.js +160 -0
  164. package/dist/{configure-LMVQJ46J.js → configure-25LRYZJG.js} +56 -55
  165. package/dist/context-72VQV7JX.js +73 -0
  166. package/dist/{context-YG2LZDYZ.js → context-COWRWXP3.js} +89 -83
  167. package/dist/{context-XSZKKFBW.js → context-WB3D474G.js} +16 -16
  168. package/dist/{context-clear-AC5NXHM2.js → context-clear-Y4LYMWC6.js} +88 -82
  169. package/dist/{context-index-KKTPRV5G.js → context-index-W6A4V7OC.js} +4 -4
  170. package/dist/{context-map-T7ROR5D5.js → context-map-DKL3QT6D.js} +3 -3
  171. package/dist/{context-working-set-F4Q4J3NS.js → context-working-set-TMZYVC7A.js} +27 -25
  172. package/dist/data-tool-KMBWKKWR.js +2987 -0
  173. package/dist/{detail-H73BEF2N.js → detail-4GLROGY5.js} +89 -83
  174. package/dist/{dispatch-runner-3RY5FSJC.js → dispatch-runner-TR3LBP5P.js} +113 -107
  175. package/dist/docs-ZK777W2G.js +101 -0
  176. package/dist/{doctor-EQYJOGUG.js → doctor-WC4OV2OB.js} +76 -73
  177. package/dist/{eval-4P7O6CCE.js → eval-FUNWJNUJ.js} +88 -73
  178. package/dist/{eval-inventory-QOYZERXJ.js → eval-inventory-CX24K2JT.js} +5 -60
  179. package/dist/evals-L73EBHSU.js +104 -0
  180. package/dist/{evidence-O76QF7TZ.js → evidence-AVJ2RTHX.js} +99 -93
  181. package/dist/{evidence-D6GUSYJW.js → evidence-P4NZOAK7.js} +88 -82
  182. package/dist/evidence-Y55WKYHH.js +246 -0
  183. package/dist/{evolve-H47BCETS.js → evolve-MAWKRYWF.js} +93 -87
  184. package/dist/{extensions-NNL3ZOCU.js → extensions-PYQH3H47.js} +14 -13
  185. package/dist/fleet-M4H2QBWT.js +268 -0
  186. package/dist/{fleet-KMNS6NOM.js → fleet-ULBXXRDR.js} +146 -138
  187. package/dist/{fleet-commands-DOWSYCBX.js → fleet-commands-7NNC4JZU.js} +18 -17
  188. package/dist/fleet-decisions-EHEY7KPU.js +52 -0
  189. package/dist/{fleet-graph-F2DE2TME.js → fleet-graph-LQ2AHZT3.js} +24 -24
  190. package/dist/{fleet-inspect-EN2Q6IVB.js → fleet-inspect-5IGBIIYZ.js} +98 -258
  191. package/dist/{fleet-preflight-FRLETDD3.js → fleet-preflight-UTTNOKMG.js} +9 -4
  192. package/dist/{fleet-validate-B2XDLS57.js → fleet-validate-YGILJKA6.js} +29 -29
  193. package/dist/{fleet-verify-4JKUWGJ7.js → fleet-verify-AUWTCDKR.js} +88 -82
  194. package/dist/{fleet-view-BHJFW26B.js → fleet-view-TGUFCY5A.js} +90 -84
  195. package/dist/{init-XAT5N5YM.js → init-GFN2Z7NF.js} +111 -104
  196. package/dist/install-6PIF6F6W.js +19 -0
  197. package/dist/{interop-FVECHFKG.js → interop-EF5JUWWK.js} +29 -29
  198. package/dist/{inventory-7KFQGLCV.js → inventory-I6VJDDYF.js} +90 -84
  199. package/dist/library-3J5IO2OJ.js +75 -0
  200. package/dist/{library-QAPAO23R.js → library-IJTOFTDS.js} +20 -19
  201. package/dist/{library-NY2XOT75.js → library-Z3KZSHPE.js} +35 -35
  202. package/dist/{library-import-5Y6MAS3R.js → library-import-IMKFLDHX.js} +29 -29
  203. package/dist/{library-inventory-JT6HWITQ.js → library-inventory-CQP5D6GU.js} +21 -21
  204. package/dist/{library-validation-EQUH25DC.js → library-validation-33UTX7AI.js} +19 -19
  205. package/dist/mcp-5FWZKUS6.js +26 -0
  206. package/dist/{memory-DYVTTCP6.js → memory-36CWN67Y.js} +93 -87
  207. package/dist/{models-MASFJ6Y2.js → models-KQ6PQJJQ.js} +57 -56
  208. package/dist/{monitor-YMP4NXJJ.js → monitor-XX6ZD6KC.js} +98 -91
  209. package/dist/{orchestrator-AFQRRTEI.js → orchestrator-SK6HDAOP.js} +1537 -832
  210. package/dist/{panes-NICTHQCV.js → panes-L27QRXUH.js} +14 -14
  211. package/dist/{panes-D3Y2KFG5.js → panes-LXZIWNOZ.js} +4 -4
  212. package/dist/{paths-PSFAUIGO.js → paths-7DJDU4P4.js} +6 -6
  213. package/dist/{preload-5Q7VXRFJ.js → preload-K2TDYI4Y.js} +88 -82
  214. package/dist/{reset-7NKZK7JN.js → reset-73VU3XNT.js} +13 -13
  215. package/dist/{resources-NILSIZAT.js → resources-3BYJYVYL.js} +24 -24
  216. package/dist/{run-BPZGEBZV.js → run-AR7PY6GW.js} +144 -136
  217. package/dist/run-script-H2KUDIII.js +41 -0
  218. package/dist/settings-3VMBMWID.js +72 -0
  219. package/dist/{share-EZ6ERBMH.js → share-HVWH4FPF.js} +30 -30
  220. package/dist/{skills-BTVVNYVM.js → skills-5TYEY75Q.js} +30 -30
  221. package/dist/{skills-eval-UY34MNK7.js → skills-eval-CK3MD63Z.js} +114 -103
  222. package/dist/{skills-inventory-JDHSIA7I.js → skills-inventory-KSFYG3I6.js} +24 -24
  223. package/dist/{slash-commands-K4FNQ2AT.js → slash-commands-DMVHML7P.js} +60 -57
  224. package/dist/{steer-2B3EQGFH.js → steer-XCD6V3EW.js} +4 -4
  225. package/dist/{support-L2SOL3IE.js → support-JAZL6VBR.js} +7 -7
  226. package/dist/system-3TDQRMZZ.js +116 -0
  227. package/dist/{targets-44VKGFLN.js → targets-EZKHAYRN.js} +74 -72
  228. package/dist/{tasks-3KODKFU7.js → tasks-SNEFHWYW.js} +18 -18
  229. package/dist/{terminal-lease-LXA7MMPO.js → terminal-lease-BNLFA4OF.js} +8 -7
  230. package/dist/{tools-3UB7TEVR.js → tools-7IM6BDCE.js} +12 -12
  231. package/dist/{trace-TAMIU4OJ.js → trace-C3MBGD4S.js} +16 -65
  232. package/dist/{tui-primitives-A6MUW32V.js → tui-primitives-36BY2774.js} +2 -2
  233. package/dist/{uninstall-QYVRPEM4.js → uninstall-WWLOSZ42.js} +35 -10
  234. package/dist/{upgrade-7PMKM2JH.js → upgrade-ETK2JNSJ.js} +42 -51
  235. package/dist/{usage-6EQV7EQK.js → usage-S2HOB7BZ.js} +112 -102
  236. package/dist/{verifiers-JLITWSHU.js → verifiers-QDTEVH7R.js} +26 -24
  237. package/dist/{verify-T7NAEVIG.js → verify-SUKUK6XM.js} +16 -15
  238. package/dist/web/client/THIRD_PARTY_LICENSES.md +1809 -0
  239. package/dist/web/client/assets/abnfDiagram-VCTEODGH-BznNOe_I.js +1 -0
  240. package/dist/web/client/assets/arc-Pry-7G1_.js +1 -0
  241. package/dist/web/client/assets/architecture-7GRP2DOG-BQO9DL_y.js +1 -0
  242. package/dist/web/client/assets/architectureDiagram-5GKGNRK7-CKPbdvyx.js +36 -0
  243. package/dist/web/client/assets/array-BifhSqXX.js +1 -0
  244. package/dist/web/client/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2 +0 -0
  245. package/dist/web/client/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2 +0 -0
  246. package/dist/web/client/assets/blockDiagram-I7D4REHJ-prINbpbM.js +129 -0
  247. package/dist/web/client/assets/c4Diagram-7LVT6UL2-DkVRKtyU.js +38 -0
  248. package/dist/web/client/assets/channel-c4EeUUqA.js +1 -0
  249. package/dist/web/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  250. package/dist/web/client/assets/chunk-4HAMMTFA-CV0Z1ApC.js +62 -0
  251. package/dist/web/client/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  252. package/dist/web/client/assets/chunk-75Z2AOVW-D34Nohxq.js +2 -0
  253. package/dist/web/client/assets/chunk-DU6HZSFF-Das_cS-O.js +125 -0
  254. package/dist/web/client/assets/chunk-F27PBJKO-CmRojxkG.js +1 -0
  255. package/dist/web/client/assets/chunk-FOHPRMQF-CoA4358r.js +161 -0
  256. package/dist/web/client/assets/chunk-GMAD6QVW-ClYZmc73.js +72 -0
  257. package/dist/web/client/assets/chunk-GVQU2GXP-B2BiHFt-.js +1 -0
  258. package/dist/web/client/assets/chunk-IMKFNOWR-BGApZ8nP.js +231 -0
  259. package/dist/web/client/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  260. package/dist/web/client/assets/chunk-L3NEJ4N5-DIzCgpkY.js +1 -0
  261. package/dist/web/client/assets/chunk-OSK3NFVY-BPT-yePv.js +10 -0
  262. package/dist/web/client/assets/chunk-P2QGCYS3-BC1WTc2t.js +1 -0
  263. package/dist/web/client/assets/chunk-POPQ4Y6H-BSjzBmZU.js +1 -0
  264. package/dist/web/client/assets/chunk-PWAF6VOD-BIjLs86Z.js +1 -0
  265. package/dist/web/client/assets/chunk-SHT3W25Y-CduDz2cm.js +168 -0
  266. package/dist/web/client/assets/chunk-SVP7TREG-XUn4pPAP.js +88 -0
  267. package/dist/web/client/assets/chunk-TICWLB2K-DcBy2DKy.js +206 -0
  268. package/dist/web/client/assets/chunk-XXDRQBXY-DqAYeljN.js +1 -0
  269. package/dist/web/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  270. package/dist/web/client/assets/classDiagram-ZZMXUADV-C0HR7YKN.js +1 -0
  271. package/dist/web/client/assets/classDiagram-v2-VYDZK3BY-C0HR7YKN.js +1 -0
  272. package/dist/web/client/assets/commit-mono-latin-400-normal-s0S3qwFW.woff +0 -0
  273. package/dist/web/client/assets/commit-mono-latin-400-normal-wzhe4RuD.woff2 +0 -0
  274. package/dist/web/client/assets/cose-bilkent-JH36ORCC-CVh1icwb.js +1 -0
  275. package/dist/web/client/assets/cynefin-OW5HDTMX-BecPbyM6.js +1 -0
  276. package/dist/web/client/assets/cynefinDiagram-5FMLGOSQ-BzMzFwyT.js +62 -0
  277. package/dist/web/client/assets/cytoscape.esm-c2aL46s-.js +321 -0
  278. package/dist/web/client/assets/dagre-C-rnJpZF.js +1 -0
  279. package/dist/web/client/assets/dagre-GXQ25YYZ-CAWJmRMG.js +4 -0
  280. package/dist/web/client/assets/defaultLocale-BFoDCU3G.js +1 -0
  281. package/dist/web/client/assets/diagram-S7CK7UJ4--lp0ALmn.js +30 -0
  282. package/dist/web/client/assets/diagram-UQ7AKVKN-gKUnsjcj.js +41 -0
  283. package/dist/web/client/assets/diagram-VSXAHHWV-BoN5D1Gh.js +3 -0
  284. package/dist/web/client/assets/diagram-VX7I27RA-BMtuswQ6.js +24 -0
  285. package/dist/web/client/assets/diagram-Z3DM3KII-DtU8LXrA.js +24 -0
  286. package/dist/web/client/assets/dist-v5Q1xZ2K.js +1 -0
  287. package/dist/web/client/assets/ebnfDiagram-PWID7BFC-DDcnv9BH.js +1 -0
  288. package/dist/web/client/assets/erDiagram-RLTQ6QDP-DvRb4iDL.js +99 -0
  289. package/dist/web/client/assets/eventmodeling-NTZA5JFV-01h4SbTc.js +1 -0
  290. package/dist/web/client/assets/flowDiagram-HODETNUW-Bll_YZ6T.js +1 -0
  291. package/dist/web/client/assets/framework-YGoR34M4.js +9 -0
  292. package/dist/web/client/assets/ganttDiagram-EL5Y4UJY-DdFZ9hvH.js +292 -0
  293. package/dist/web/client/assets/gitGraph-4MIJSDKK-DjD_AAMj.js +1 -0
  294. package/dist/web/client/assets/gitGraphDiagram-WWUBYQGX-CDyN9n2u.js +106 -0
  295. package/dist/web/client/assets/graphlib-DS17s2tU.js +1 -0
  296. package/dist/web/client/assets/index-CVcy0FAn.js +75 -0
  297. package/dist/web/client/assets/index-Dsi52apB.css +1 -0
  298. package/dist/web/client/assets/info-A6RAGUB7-C_XK8Hq0.js +1 -0
  299. package/dist/web/client/assets/infoDiagram-27XIBGKW-DIe4tJ1i.js +2 -0
  300. package/dist/web/client/assets/init-C-OQMol4.js +1 -0
  301. package/dist/web/client/assets/ishikawaDiagram-5VMMS53U-CVl5unKI.js +70 -0
  302. package/dist/web/client/assets/journeyDiagram-3NMN7TZE-CPEB1Vt8.js +139 -0
  303. package/dist/web/client/assets/kanban-definition-UXKFOSKX-j-9WXjYQ.js +89 -0
  304. package/dist/web/client/assets/katex-ZlcWpGUi.js +257 -0
  305. package/dist/web/client/assets/line-BIDAcEtX.js +1 -0
  306. package/dist/web/client/assets/linear-SzVmGSw4.js +1 -0
  307. package/dist/web/client/assets/mermaid-parser.core-Ux4vssh0.js +7 -0
  308. package/dist/web/client/assets/mermaid.core-CDuwVKeh.js +44 -0
  309. package/dist/web/client/assets/mindmap-definition-YA3MSWOX-5MlQEeQ6.js +96 -0
  310. package/dist/web/client/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2 +0 -0
  311. package/dist/web/client/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2 +0 -0
  312. package/dist/web/client/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2 +0 -0
  313. package/dist/web/client/assets/ordinal-BDEzSJ7C.js +1 -0
  314. package/dist/web/client/assets/packet-AYTQ26CC-DRO66c9Q.js +1 -0
  315. package/dist/web/client/assets/path-fybaL0A-.js +1 -0
  316. package/dist/web/client/assets/pegDiagram-XKGWAZYB-BakZnSjM.js +1 -0
  317. package/dist/web/client/assets/pie-WAS4IAKB-BEzcmhz8.js +1 -0
  318. package/dist/web/client/assets/pieDiagram-E7YTZNPT-DpmqgoPt.js +39 -0
  319. package/dist/web/client/assets/prism-bash-D6zCJ74D.js +1 -0
  320. package/dist/web/client/assets/prism-c-04YixN25.js +1 -0
  321. package/dist/web/client/assets/prism-clike-DapgWyxx.js +1 -0
  322. package/dist/web/client/assets/prism-core-BtsZdCS6.js +1 -0
  323. package/dist/web/client/assets/prism-cpp-C-lJbC-6.js +1 -0
  324. package/dist/web/client/assets/prism-css-CPgOzxXp.js +1 -0
  325. package/dist/web/client/assets/prism-diff-BF8m0_mq.js +3 -0
  326. package/dist/web/client/assets/prism-docker-DkT6yOFj.js +1 -0
  327. package/dist/web/client/assets/prism-fortran-Be5x3y1V.js +1 -0
  328. package/dist/web/client/assets/prism-go-C_8qAH5n.js +1 -0
  329. package/dist/web/client/assets/prism-ini-BESK3y0r.js +1 -0
  330. package/dist/web/client/assets/prism-javascript-BnO-swvr.js +1 -0
  331. package/dist/web/client/assets/prism-json-Dp_-W-Hv.js +1 -0
  332. package/dist/web/client/assets/prism-jsx-D-D0NWtC.js +1 -0
  333. package/dist/web/client/assets/prism-julia-DIjOgiAV.js +1 -0
  334. package/dist/web/client/assets/prism-latex-DNMbqcH_.js +1 -0
  335. package/dist/web/client/assets/prism-makefile-CRKWLQ8l.js +1 -0
  336. package/dist/web/client/assets/prism-markdown-C0FPJ1Iz.js +1 -0
  337. package/dist/web/client/assets/prism-markup-Cp04rIa1.js +1 -0
  338. package/dist/web/client/assets/prism-matlab-D-nk08al.js +1 -0
  339. package/dist/web/client/assets/prism-python-CfiSVtM6.js +1 -0
  340. package/dist/web/client/assets/prism-r-QmNGR8LX.js +1 -0
  341. package/dist/web/client/assets/prism-rust-Bu9N8X3N.js +1 -0
  342. package/dist/web/client/assets/prism-shell-session-Be4UuYoM.js +1 -0
  343. package/dist/web/client/assets/prism-sql-CYhVDMEE.js +1 -0
  344. package/dist/web/client/assets/prism-toml-DKb54GAT.js +1 -0
  345. package/dist/web/client/assets/prism-tsx-p6J2Kc_4.js +1 -0
  346. package/dist/web/client/assets/prism-typescript-BMqONzxf.js +1 -0
  347. package/dist/web/client/assets/prism-yaml-C0JHu8gr.js +1 -0
  348. package/dist/web/client/assets/purify.es-ChwZkWde.js +3 -0
  349. package/dist/web/client/assets/quadrantDiagram-AXDQQJYC-DuMPwwV2.js +7 -0
  350. package/dist/web/client/assets/radar-RG4KPBEZ-Djm3oXl5.js +1 -0
  351. package/dist/web/client/assets/railroad-74A4TZTK-Cpvkwsao.js +1 -0
  352. package/dist/web/client/assets/railroad-abnf-HS5TGJTU-CpRQ3ruG.js +1 -0
  353. package/dist/web/client/assets/railroad-ebnf-LZEXJU2U-1Rm5a5eJ.js +1 -0
  354. package/dist/web/client/assets/railroad-peg-WCYAUIDC-C8344cTh.js +1 -0
  355. package/dist/web/client/assets/railroadDiagram-O6MQD6OU-CgMS4B6R.js +1 -0
  356. package/dist/web/client/assets/requirementDiagram-BXWQKSXE-CX5eoNdN.js +84 -0
  357. package/dist/web/client/assets/rolldown-runtime-hePW80VL.js +1 -0
  358. package/dist/web/client/assets/rough.esm-Dy-Kn_BL.js +1 -0
  359. package/dist/web/client/assets/sankeyDiagram-P5KCCOFB-CODBX2N3.js +40 -0
  360. package/dist/web/client/assets/sequenceDiagram-WJ2MYXX4-eUhhF8OR.js +162 -0
  361. package/dist/web/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
  362. package/dist/web/client/assets/src-B6xuSHsQ.js +1 -0
  363. package/dist/web/client/assets/stateDiagram-D77RDMKH-vR6l0NC2.js +1 -0
  364. package/dist/web/client/assets/stateDiagram-v2-MP3YSRHH-BYUm8jLY.js +1 -0
  365. package/dist/web/client/assets/swimlanes-42K2YHIH-v9Tw_zX7.js +1 -0
  366. package/dist/web/client/assets/swimlanesDiagram-VR7AAH4N-B2jdCvhD.js +8 -0
  367. package/dist/web/client/assets/timeline-definition-24CTP7MA-DxianbhU.js +120 -0
  368. package/dist/web/client/assets/treeView-Q6P3EWNA-DLxnZb9R.js +1 -0
  369. package/dist/web/client/assets/treemap-WGGIJYW6-I7UnZ6xJ.js +1 -0
  370. package/dist/web/client/assets/vennDiagram-4TSXK5OY-Ar7M8Mrj.js +34 -0
  371. package/dist/web/client/assets/wardley-WFR3VGLG-B8ZSHeDu.js +1 -0
  372. package/dist/web/client/assets/wardleyDiagram-VM6X3IG4-Qks2FmIn.js +78 -0
  373. package/dist/web/client/assets/xychartDiagram-S5SC5T6Z-BBBjRtiE.js +7 -0
  374. package/dist/web/client/clio-coder-logo.webp +0 -0
  375. package/dist/web/client/icon-192.png +0 -0
  376. package/dist/web/client/icon-512.png +0 -0
  377. package/dist/web/client/index.html +6 -0
  378. package/dist/web/client/manifest.webmanifest +15 -0
  379. package/dist/web/client/offline.css +55 -0
  380. package/dist/web/client/offline.html +5 -0
  381. package/dist/web/client/offline.js +27 -0
  382. package/dist/web/client/sw.js +34 -0
  383. package/dist/web/ops-worker.js +37 -0
  384. package/dist/web/reads-worker.js +1726 -0
  385. package/dist/web/server.js +8499 -0
  386. package/dist/web-EMGUGGEI.js +13 -0
  387. package/dist/{web-fetch-W4TNW4Q7.js → web-fetch-6BRRVQON.js} +22 -5
  388. package/dist/{wiki-generate-T2TJQJUA.js → wiki-generate-XHSJTDOP.js} +120 -113
  389. package/dist/{with-panes-CHFC7HGI.js → with-panes-Z6BTEHMZ.js} +12 -12
  390. package/dist/worker/entry.js +113 -99
  391. package/docs/README.md +28 -27
  392. package/docs/architecture/acp.md +5 -9
  393. package/docs/architecture/alcf-provider.md +0 -3
  394. package/docs/architecture/architecture.md +0 -3
  395. package/docs/architecture/artifact-placement.md +12 -4
  396. package/docs/architecture/artifact-versions.md +0 -3
  397. package/docs/architecture/capacity-and-scheduling.md +0 -3
  398. package/docs/architecture/context-engine.md +0 -3
  399. package/docs/architecture/context-working-set.md +0 -3
  400. package/docs/architecture/dispatch-architecture-rationale.md +0 -3
  401. package/docs/architecture/dispatch-typed-intent.md +0 -3
  402. package/docs/architecture/evidence-and-memory.md +0 -3
  403. package/docs/architecture/library.md +1 -3
  404. package/docs/architecture/middleware-and-components.md +0 -3
  405. package/docs/architecture/model-catalog.md +1 -4
  406. package/docs/architecture/observability.md +0 -3
  407. package/docs/architecture/pi-boundary.md +6 -9
  408. package/docs/architecture/prompt-envelope-and-tools.md +37 -30
  409. package/docs/architecture/provider-adapter-cookbook.md +1 -4
  410. package/docs/architecture/safety-model.md +19 -9
  411. package/docs/architecture/session-lifecycle.md +10 -7
  412. package/docs/architecture/time-conventions.md +0 -3
  413. package/docs/architecture/trace-store.md +28 -20
  414. package/docs/architecture/tui-design.md +38 -18
  415. package/docs/architecture/worker-context.md +1 -3
  416. package/docs/architecture/worker-dispatch-mechanics.md +1 -4
  417. package/docs/guide/authoring-plugins.md +1 -3
  418. package/docs/guide/built-in-agents.md +0 -3
  419. package/docs/guide/commands-and-modes.md +41 -25
  420. package/docs/guide/configuration-and-targets.md +204 -9
  421. package/docs/guide/configuration-reference.md +125 -17
  422. package/docs/guide/environment-variables.md +2 -8
  423. package/docs/guide/exit-codes-and-output.md +0 -3
  424. package/docs/guide/extensions-and-sharing.md +0 -3
  425. package/docs/guide/fleet-dispatch.md +3 -5
  426. package/docs/guide/glossary.md +1 -4
  427. package/docs/guide/harness-extensions.md +0 -2
  428. package/docs/guide/installation-and-lifecycle.md +3 -6
  429. package/docs/guide/interop.md +0 -2
  430. package/docs/guide/panes-and-files.md +0 -3
  431. package/docs/guide/plugins.md +0 -3
  432. package/docs/guide/proactive-memory.md +0 -3
  433. package/docs/guide/resource-library.md +1 -3
  434. package/docs/guide/skills-marketplace.md +0 -2
  435. package/docs/guide/tool-usage.md +166 -67
  436. package/docs/guide/troubleshooting.md +1 -4
  437. package/docs/history/config-knobs-audit.md +0 -3
  438. package/docs/history/release-cut-checklist.md +0 -3
  439. package/docs/process/development-pipeline.md +0 -3
  440. package/docs/process/documentation-coverage.md +3 -3
  441. package/docs/process/documentation-guide.md +16 -22
  442. package/docs/process/eval-runner.md +0 -3
  443. package/docs/process/evals-internal.md +0 -3
  444. package/docs/process/evolution.md +0 -3
  445. package/docs/process/fleet-demo-runbook.md +6 -9
  446. package/docs/process/git-commit-provenance.md +0 -3
  447. package/docs/process/performance-methodology.md +1 -4
  448. package/docs/process/release-cut-checklist.md +114 -221
  449. package/docs/process/scientific-validation.md +23 -6
  450. package/docs/process/tool-audit-v0.4.9.md +357 -0
  451. package/library/registry.yaml +2 -2
  452. package/library/skills/meta/clio-coder-test/SKILL.md +25 -15
  453. package/library/skills/meta/clio-coder-test/evals.md +16 -2
  454. package/library/skills/meta/clio-coder-test/plugin.json +1 -1
  455. package/library/skills/meta/clio-coder-test/references/test-map.md +19 -18
  456. package/library/skills/registry.yaml +2 -2
  457. package/library/skills/skill-marketplace.json +1 -1
  458. package/package.json +13 -11
  459. package/src/cli/argv.ts +31 -0
  460. package/src/cli/clio.ts +17 -13
  461. package/src/cli/config.ts +4 -0
  462. package/src/cli/docs.ts +65 -328
  463. package/src/cli/doctor-panes.ts +1 -1
  464. package/src/cli/doctor.ts +3 -1
  465. package/src/cli/index.ts +17 -2
  466. package/src/cli/mcp.ts +106 -0
  467. package/src/cli/skills-eval.ts +8 -2
  468. package/src/cli/trace.ts +4 -65
  469. package/src/cli/uninstall.ts +26 -0
  470. package/src/cli/upgrade.ts +34 -38
  471. package/src/cli/usage.ts +3 -0
  472. package/src/cli/verifiers.ts +1 -1
  473. package/src/cli/web.ts +79 -0
  474. package/src/core/bash-exec.ts +27 -4
  475. package/src/core/bus-events.ts +3 -4
  476. package/src/core/config.ts +73 -1
  477. package/src/core/defaults.ts +10 -1
  478. package/src/core/domain-loader.ts +37 -28
  479. package/src/core/event-bus.ts +1 -1
  480. package/src/core/run-records.ts +438 -0
  481. package/src/core/safe-exec.ts +506 -56
  482. package/src/core/skill-activation.ts +5 -3
  483. package/src/core/termination.ts +16 -12
  484. package/src/core/tool-names.ts +33 -12
  485. package/src/domains/agents/contract.ts +1 -1
  486. package/src/domains/agents/extension.ts +18 -10
  487. package/src/domains/config/extension.ts +5 -4
  488. package/src/domains/context/clio-md.ts +1 -1
  489. package/src/domains/context/worker/pressure.ts +6 -2
  490. package/src/domains/context/working-set/path-index.ts +7 -2
  491. package/src/domains/dispatch/code-step.ts +7 -2
  492. package/src/domains/dispatch/contract.ts +7 -0
  493. package/src/domains/dispatch/execution-role.ts +3 -3
  494. package/src/domains/dispatch/execution-scheduler.ts +204 -79
  495. package/src/domains/dispatch/extension.ts +206 -26
  496. package/src/domains/dispatch/fleet-preflight.ts +18 -3
  497. package/src/domains/dispatch/fleet-run.ts +1 -0
  498. package/src/domains/dispatch/gate-decisions.ts +3 -3
  499. package/src/domains/dispatch/heartbeat.ts +1 -1
  500. package/src/domains/dispatch/host-verification.ts +16 -14
  501. package/src/domains/dispatch/index.ts +1 -0
  502. package/src/domains/dispatch/orphan-recovery.ts +1 -0
  503. package/src/domains/dispatch/receipt-findings.ts +3 -4
  504. package/src/domains/dispatch/receipt-integrity.ts +3 -0
  505. package/src/domains/dispatch/reservation-store.ts +7 -9
  506. package/src/domains/dispatch/route-facts.ts +1 -1
  507. package/src/domains/dispatch/state.ts +4 -5
  508. package/src/domains/dispatch/types.ts +3 -1
  509. package/src/domains/eval/metrics/tracked.ts +22 -2
  510. package/src/domains/evidence/build.ts +35 -7
  511. package/src/domains/extensions/operator-runtime.ts +3 -1
  512. package/src/domains/gateway/mcp/client.ts +923 -0
  513. package/src/domains/gateway/mcp/config.ts +456 -0
  514. package/src/domains/gateway/mcp/index.ts +88 -0
  515. package/src/domains/gateway/mcp/protocol.ts +273 -0
  516. package/src/domains/gateway/mcp/trust.ts +263 -0
  517. package/src/domains/lifecycle/doctor.ts +17 -3
  518. package/src/domains/middleware/hooks.ts +2 -2
  519. package/src/domains/mux/contract.ts +5 -9
  520. package/src/domains/mux/detect.ts +1 -1
  521. package/src/domains/mux/extension.ts +1 -1
  522. package/src/domains/mux/protocol.ts +5 -7
  523. package/src/domains/mux/socket-client.ts +3 -3
  524. package/src/domains/observability/accountability.ts +2 -2
  525. package/src/domains/observability/background-memory-usage.ts +3 -0
  526. package/src/domains/observability/compaction-usage.ts +2 -0
  527. package/src/domains/observability/contract.ts +7 -3
  528. package/src/domains/observability/cost.ts +5 -0
  529. package/src/domains/observability/evidence-index.ts +2 -2
  530. package/src/domains/observability/extension.ts +1 -0
  531. package/src/domains/observability/out-of-turn-usage.ts +2 -0
  532. package/src/domains/observability/projection.ts +10 -0
  533. package/src/domains/observability/trace-store.ts +65 -5
  534. package/src/domains/prompts/compiler.ts +41 -23
  535. package/src/domains/prompts/extension.ts +4 -17
  536. package/src/domains/prompts/fragments/identity/docs-routing.md +2 -2
  537. package/src/domains/prompts/fragments/operating/skills.md +12 -10
  538. package/src/domains/providers/cache-deployment.ts +147 -0
  539. package/src/domains/providers/catalog.ts +12 -7
  540. package/src/domains/providers/extension.ts +27 -5
  541. package/src/domains/providers/index.ts +6 -1
  542. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +42 -10
  543. package/src/domains/providers/plugins.ts +3 -13
  544. package/src/domains/providers/probe/http.ts +44 -59
  545. package/src/domains/providers/probe/reasoning.ts +2 -0
  546. package/src/domains/providers/runtimes/common/local-synth.ts +4 -0
  547. package/src/domains/providers/runtimes/local-native/llamacpp-embed.ts +20 -31
  548. package/src/domains/providers/runtimes/local-native/llamacpp-rerank.ts +9 -4
  549. package/src/domains/providers/types/target-descriptor.ts +17 -0
  550. package/src/domains/safety/action-classifier.ts +17 -1
  551. package/src/domains/safety/call-target.ts +14 -0
  552. package/src/domains/safety/contract.ts +1 -1
  553. package/src/domains/safety/finish-contract.ts +9 -3
  554. package/src/domains/safety/loop-detector.ts +1 -1
  555. package/src/domains/safety/policy-engine.ts +7 -0
  556. package/src/domains/safety/protected-artifacts.ts +3 -4
  557. package/src/domains/safety/rejection-feedback.ts +1 -1
  558. package/src/domains/safety/scope.ts +2 -3
  559. package/src/domains/safety/validation-contract.ts +3 -2
  560. package/src/domains/scheduling/budget.ts +5 -3
  561. package/src/domains/scheduling/contract.ts +2 -1
  562. package/src/domains/scheduling/extension.ts +3 -3
  563. package/src/domains/session/compaction/branch-summary.ts +1 -1
  564. package/src/domains/session/compaction/compact.ts +29 -3
  565. package/src/domains/session/compaction/cut-point.ts +1 -1
  566. package/src/domains/session/compaction/tokens.ts +5 -10
  567. package/src/domains/session/contract.ts +1 -1
  568. package/src/domains/session/cwd-fallback.ts +2 -2
  569. package/src/domains/session/entries.ts +1 -0
  570. package/src/domains/session/handoff.ts +5 -1
  571. package/src/domains/session/history.ts +6 -0
  572. package/src/domains/session/manager.ts +14 -7
  573. package/src/domains/session/retry.ts +2 -1
  574. package/src/domains/session/session-artifacts.ts +12 -7
  575. package/src/domains/session/task-board.ts +2 -3
  576. package/src/domains/session/usage.ts +6 -7
  577. package/src/engine/acp/server.ts +11 -0
  578. package/src/engine/ai.ts +2 -0
  579. package/src/engine/apis/openai-completions.ts +17 -4
  580. package/src/engine/loop-guard.ts +7 -0
  581. package/src/engine/prewarm.ts +232 -0
  582. package/src/engine/provider-diagnostics.ts +6 -1
  583. package/src/engine/provider-error-body.ts +65 -0
  584. package/src/engine/session.ts +118 -29
  585. package/src/engine/worker-runtime.ts +3 -0
  586. package/src/entry/boot-options.ts +2 -0
  587. package/src/entry/orchestrator.ts +38 -18
  588. package/src/interactive/chat-loop-messages.ts +3 -0
  589. package/src/interactive/chat-loop-policy.ts +1 -0
  590. package/src/interactive/chat-loop.ts +10 -12
  591. package/src/interactive/chat-panel.ts +23 -9
  592. package/src/interactive/chat-renderer.ts +33 -11
  593. package/src/interactive/clio-editor.ts +13 -5
  594. package/src/interactive/dispatch-board.ts +70 -30
  595. package/src/interactive/editor-submit.ts +30 -25
  596. package/src/interactive/footer/widgets.ts +12 -9
  597. package/src/interactive/interactive-presentation.ts +2 -3
  598. package/src/interactive/mux-bridge.ts +3 -7
  599. package/src/interactive/overlay-general-openers.ts +14 -7
  600. package/src/interactive/overlays/cwd-fallback.ts +1 -1
  601. package/src/interactive/overlays/library-model.ts +114 -35
  602. package/src/interactive/overlays/library.ts +52 -5
  603. package/src/interactive/overlays/list-overlay.ts +4 -1
  604. package/src/interactive/overlays/session-selector.ts +28 -23
  605. package/src/interactive/overlays/settings.ts +20 -1
  606. package/src/interactive/overlays/tree-selector.ts +47 -10
  607. package/src/interactive/panes-runtime.ts +1 -1
  608. package/src/interactive/prewarm.ts +11 -197
  609. package/src/interactive/renderers/compaction-summary.ts +1 -1
  610. package/src/interactive/renderers/provider-error.ts +118 -0
  611. package/src/interactive/renderers/retry-status.ts +59 -23
  612. package/src/interactive/renderers/tool-execution.ts +67 -7
  613. package/src/interactive/renderers/worker-answer.ts +198 -0
  614. package/src/interactive/renderers/worker-entry.ts +57 -163
  615. package/src/interactive/session-usage-reseed.ts +2 -0
  616. package/src/interactive/side-question.ts +2 -0
  617. package/src/interactive/slash-commands.ts +26 -1
  618. package/src/interactive/slash-spec.ts +2 -2
  619. package/src/interactive/theme/labels.ts +66 -30
  620. package/src/interactive/turn-context.ts +1 -0
  621. package/src/interactive/turn-persistence.ts +9 -1
  622. package/src/interactive/turn-prewarm.ts +126 -19
  623. package/src/interactive/turn-recovery.ts +2 -1
  624. package/src/interactive/turn-runtime.ts +36 -5
  625. package/src/interactive/view/artifacts.ts +3 -2
  626. package/src/interactive/view/view-overlay.ts +96 -20
  627. package/src/tools/agent-tools.ts +21 -7
  628. package/src/tools/artifact.ts +16 -8
  629. package/src/tools/bash.ts +90 -11
  630. package/src/tools/bootstrap.ts +42 -4
  631. package/src/tools/builtin-tool-catalog.ts +80 -11
  632. package/src/tools/context/index.ts +27 -31
  633. package/src/tools/context/library.ts +3 -1
  634. package/src/tools/context/surface.ts +12 -26
  635. package/src/tools/core-bootstrap.ts +72 -1
  636. package/src/tools/data/csv.ts +1189 -0
  637. package/src/tools/data/index.ts +308 -0
  638. package/src/tools/data/json.ts +1799 -0
  639. package/src/tools/data/jsonl.ts +561 -0
  640. package/src/tools/data/shared.ts +452 -0
  641. package/src/tools/edit-diff.ts +0 -7
  642. package/src/tools/edit.ts +115 -18
  643. package/src/tools/file-mutation-queue.ts +114 -4
  644. package/src/tools/find.ts +108 -29
  645. package/src/tools/gateway/caps.ts +11 -0
  646. package/src/tools/gateway/clio-context-surface.ts +41 -0
  647. package/src/tools/gateway/clio-context-tools.ts +77 -0
  648. package/src/tools/gateway/data-surface.ts +138 -0
  649. package/src/tools/gateway/data-tool.ts +201 -0
  650. package/src/tools/gateway/index.ts +342 -0
  651. package/src/tools/gateway/mcp-capabilities.ts +469 -0
  652. package/src/tools/grep.ts +88 -33
  653. package/src/tools/harness-extensions.ts +3 -0
  654. package/src/tools/ignore-policy.ts +7 -5
  655. package/src/tools/ls.ts +111 -20
  656. package/src/tools/policy.ts +35 -13
  657. package/src/tools/presentation.ts +6 -0
  658. package/src/tools/read.ts +634 -156
  659. package/src/tools/registry.ts +106 -8
  660. package/src/tools/run-script.ts +997 -0
  661. package/src/tools/spawn-hygiene.ts +157 -5
  662. package/src/tools/surface.ts +163 -0
  663. package/src/tools/verify/authoring.ts +8 -3
  664. package/src/tools/verify/catalog.ts +14 -1
  665. package/src/tools/verify/numeric.ts +367 -59
  666. package/src/tools/verify/perf.ts +171 -9
  667. package/src/tools/verify/scripts.ts +178 -26
  668. package/src/tools/web-fetch-surface.ts +22 -0
  669. package/src/tools/web-fetch.ts +26 -1
  670. package/src/tools/write.ts +45 -19
  671. package/src/worker/spec-contract.ts +27 -0
  672. package/dist/chunk-B6UM3OZC.js +0 -15
  673. package/dist/chunk-GJ24ODAX.js +0 -196
  674. package/dist/chunk-HRAKUPIH.js +0 -57
  675. package/dist/docs-BL7ROUFN.js +0 -292
@@ -1,39 +1,39 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  verifyTool
4
- } from "./chunk-L3Z5ANCV.js";
4
+ } from "./chunk-RQROVOV3.js";
5
5
  import {
6
- discoverDeclaredChecksAtRoot,
7
- discoverDeclaredProjectEntriesAtRoot
8
- } from "./chunk-TLTGZTXI.js";
6
+ VALIDATION_CONTRACT_MARKDOWN_PATH,
7
+ loadValidationContract
8
+ } from "./chunk-PTFISXQO.js";
9
9
  import {
10
10
  parseTomlDocument,
11
11
  tomlTableAt
12
12
  } from "./chunk-LQTKDAUO.js";
13
13
  import {
14
- VALIDATION_CONTRACT_MARKDOWN_PATH,
15
- loadValidationContract
16
- } from "./chunk-T52TPHYC.js";
14
+ discoverDeclaredChecksAtRoot,
15
+ discoverDeclaredProjectEntriesAtRoot
16
+ } from "./chunk-QI72X67S.js";
17
17
  import {
18
18
  PROJECT_VERIFIER_CATALOG_CAPS,
19
19
  PROJECT_VERIFIER_CATALOG_RELATIVE_PATH,
20
20
  PROJECT_VERIFIER_CATALOG_VERSION,
21
- normalizeNumericTolerance,
22
21
  parseProjectVerifierCatalogText
23
- } from "./chunk-BO4XV5VX.js";
22
+ } from "./chunk-H72DCH3E.js";
24
23
  import {
25
- compareCodepoints
26
- } from "./chunk-B6UM3OZC.js";
24
+ compareCodepoints,
25
+ normalizeNumericTolerance
26
+ } from "./chunk-2KUBKL63.js";
27
27
  import {
28
28
  isVerificationScriptName
29
29
  } from "./chunk-M4KFUXS7.js";
30
- import {
31
- SAFE_EXEC_DEFAULT_TIMEOUT_MS,
32
- resolveSafeCwd
33
- } from "./chunk-GJ24ODAX.js";
34
30
  import {
35
31
  require_dist
36
32
  } from "./chunk-B5GGDIHT.js";
33
+ import {
34
+ SAFE_EXEC_DEFAULT_TIMEOUT_MS,
35
+ resolveSafeCwd
36
+ } from "./chunk-XTQ7MEJG.js";
37
37
  import {
38
38
  __toESM,
39
39
  init_esm_shims
@@ -523,7 +523,7 @@ function validationContractProposals(workspaceRoot, diagnostics) {
523
523
  }
524
524
  return proposals;
525
525
  }
526
- function numericContractProposals(workspaceRoot) {
526
+ function numericContractProposals(workspaceRoot, diagnostics) {
527
527
  const loaded = loadValidationContract(workspaceRoot);
528
528
  if (!loaded.ok || loaded.contract === null) return [];
529
529
  const proposals = [];
@@ -531,7 +531,12 @@ function numericContractProposals(workspaceRoot) {
531
531
  for (const artifact of loaded.contract.artifacts ?? []) {
532
532
  if (artifact.numerical_tolerances === void 0) continue;
533
533
  const tolerance = normalizeNumericTolerance(artifact.numerical_tolerances);
534
- if (tolerance instanceof Error) continue;
534
+ if (tolerance instanceof Error) {
535
+ diagnostics.push(
536
+ `${loaded.path}: artifact ${JSON.stringify(artifact.path)} numeric proposal skipped: ${tolerance.message}`
537
+ );
538
+ continue;
539
+ }
535
540
  const base = slug(path.basename(artifact.path).replace(/\.[^.]+$/u, ""), "artifact");
536
541
  const preferred = boundedId(`numeric-${base}`);
537
542
  let id = preferred;
@@ -642,7 +647,7 @@ function discoverVerifierAuthoring(workspaceRoot = process.cwd()) {
642
647
  activeChecks,
643
648
  existingChecks,
644
649
  proposals,
645
- numericProposals: numericContractProposals(workspaceRoot),
650
+ numericProposals: numericContractProposals(workspaceRoot, diagnostics),
646
651
  diagnostics,
647
652
  manualEntry,
648
653
  ...typeof catalogText === "string" ? { catalogText } : {}
@@ -1015,4 +1020,4 @@ export {
1015
1020
  previewVerifierDraft,
1016
1021
  runVerifierAuthoringWorkflow
1017
1022
  };
1018
- //# sourceMappingURL=chunk-7EEGBKV4.js.map
1023
+ //# sourceMappingURL=chunk-FEBQWHJT.js.map
@@ -11,23 +11,23 @@ import {
11
11
  THEME_NAMED_COLORS,
12
12
  THINKING_LEVELS,
13
13
  normalizeOutputStyle
14
- } from "./chunk-3XE4NRLF.js";
14
+ } from "./chunk-ZKJU55MX.js";
15
+ import {
16
+ require_dist
17
+ } from "./chunk-B5GGDIHT.js";
15
18
  import {
16
19
  MAX_TIMER_DELAY_MS
17
20
  } from "./chunk-6EXUUOSN.js";
18
21
  import {
19
22
  withStateFileLockSync
20
23
  } from "./chunk-DVJL77SO.js";
21
- import {
22
- require_dist
23
- } from "./chunk-B5GGDIHT.js";
24
- import {
25
- safeResourceWrite
26
- } from "./chunk-ZZFWWYLX.js";
27
24
  import {
28
25
  clioConfigDir,
29
26
  resolveClioDirs
30
27
  } from "./chunk-CTTI7G3T.js";
28
+ import {
29
+ safeResourceWrite
30
+ } from "./chunk-ZZFWWYLX.js";
31
31
  import {
32
32
  __toESM,
33
33
  init_esm_shims
@@ -456,6 +456,7 @@ function validateTarget(issues, path, value) {
456
456
  "lifecycle",
457
457
  "gateway",
458
458
  "pricing",
459
+ "cache",
459
460
  "lmstudio",
460
461
  "litellm",
461
462
  "maxConcurrentRequests"
@@ -505,6 +506,68 @@ function validateTarget(issues, path, value) {
505
506
  const v = validatePricing(issues, `${path}.pricing`, value.pricing);
506
507
  if (v !== void 0) target.pricing = v;
507
508
  }
509
+ if ("cache" in value) {
510
+ if (!isPlainObject(value.cache)) issues.add(`${path}.cache`, "expected a map");
511
+ else {
512
+ issues.unknownKeys(`${path}.cache`, value.cache, ["retention", "deployment", "warm"]);
513
+ target.cache = {};
514
+ if ("retention" in value.cache) {
515
+ const retention = expectEnum(issues, `${path}.cache.retention`, value.cache.retention, [
516
+ "none",
517
+ "short",
518
+ "long"
519
+ ]);
520
+ if (retention !== void 0) target.cache.retention = retention;
521
+ }
522
+ if ("deployment" in value.cache) {
523
+ const binding = value.cache.deployment;
524
+ const bindingPath = `${path}.cache.deployment`;
525
+ if (!isPlainObject(binding)) issues.add(bindingPath, "expected a map");
526
+ else {
527
+ issues.unknownKeys(bindingPath, binding, ["backend", "controlUrl", "model", "build", "gatewayDeploymentId"]);
528
+ const backend = expectEnum(issues, `${bindingPath}.backend`, binding.backend, ["llamacpp", "vllm"]);
529
+ for (const key of ["controlUrl", "model", "build"]) {
530
+ if (typeof binding[key] !== "string" || !binding[key].trim())
531
+ issues.add(`${bindingPath}.${key}`, "expected a nonempty string");
532
+ }
533
+ if (typeof binding.controlUrl === "string") {
534
+ try {
535
+ const url = new URL(binding.controlUrl);
536
+ if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash)
537
+ throw new Error("invalid URL");
538
+ } catch {
539
+ issues.add(`${bindingPath}.controlUrl`, "expected an HTTP(S) URL without credentials, query, or fragment");
540
+ }
541
+ }
542
+ if (binding.gatewayDeploymentId !== void 0 && (typeof binding.gatewayDeploymentId !== "string" || !binding.gatewayDeploymentId.trim()))
543
+ issues.add(`${bindingPath}.gatewayDeploymentId`, "expected a nonempty string");
544
+ if (backend && typeof binding.controlUrl === "string" && typeof binding.model === "string" && typeof binding.build === "string") {
545
+ target.cache.deployment = {
546
+ backend,
547
+ controlUrl: binding.controlUrl,
548
+ model: binding.model,
549
+ build: binding.build,
550
+ ...typeof binding.gatewayDeploymentId === "string" ? { gatewayDeploymentId: binding.gatewayDeploymentId } : {}
551
+ };
552
+ }
553
+ }
554
+ }
555
+ if ("warm" in value.cache) {
556
+ if (!isPlainObject(value.cache.warm)) issues.add(`${path}.cache.warm`, "expected a map");
557
+ else {
558
+ issues.unknownKeys(`${path}.cache.warm`, value.cache.warm, ["maxInputTokens", "maxDurationMs", "cooldownMs"]);
559
+ target.cache.warm = {};
560
+ for (const key of ["maxInputTokens", "maxDurationMs", "cooldownMs"]) {
561
+ const bound = value.cache.warm[key];
562
+ if (bound === void 0) continue;
563
+ if (typeof bound !== "number" || !Number.isSafeInteger(bound) || bound < 1)
564
+ issues.add(`${path}.cache.warm.${key}`, "expected a positive safe integer");
565
+ else target.cache.warm[key] = bound;
566
+ }
567
+ }
568
+ }
569
+ }
570
+ }
508
571
  if ("lmstudio" in value) {
509
572
  const v = validateLmStudioSettings(issues, `${path}.lmstudio`, value.lmstudio);
510
573
  if (v !== void 0) target.lmstudio = v;
@@ -1033,13 +1096,14 @@ function validateSettings(raw) {
1033
1096
  "maxRetries",
1034
1097
  "baseDelayMs",
1035
1098
  "maxDelayMs",
1036
- "streamStallMs"
1099
+ "streamStallMs",
1100
+ "firstTokenStallMs"
1037
1101
  ]);
1038
1102
  if ("enabled" in chat.retry) {
1039
1103
  const parsed = expectBoolean(issues, "chat.retry.enabled", chat.retry.enabled);
1040
1104
  if (parsed !== void 0) settings.chat.retry.enabled = parsed;
1041
1105
  }
1042
- for (const key of ["maxRetries", "baseDelayMs", "maxDelayMs", "streamStallMs"]) {
1106
+ for (const key of ["maxRetries", "baseDelayMs", "maxDelayMs", "streamStallMs", "firstTokenStallMs"]) {
1043
1107
  if (!(key in chat.retry)) continue;
1044
1108
  const parsed = expectInteger(issues, `chat.retry.${key}`, chat.retry[key], { min: 0 });
1045
1109
  if (parsed !== void 0) settings.chat.retry[key] = parsed;
@@ -1908,4 +1972,4 @@ export {
1908
1972
  removeFleetProfileFromSettings,
1909
1973
  bindAgentProfileInSettings
1910
1974
  };
1911
- //# sourceMappingURL=chunk-4QKAITQT.js.map
1975
+ //# sourceMappingURL=chunk-FPS4R2RN.js.map
@@ -0,0 +1,68 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ withStateFileLock
4
+ } from "./chunk-DVJL77SO.js";
5
+ import {
6
+ safeResourceWrite
7
+ } from "./chunk-ZZFWWYLX.js";
8
+ import {
9
+ init_esm_shims
10
+ } from "./chunk-ECBHH7LU.js";
11
+
12
+ // src/domains/observability/evidence-index.ts
13
+ init_esm_shims();
14
+ import { readFileSync } from "node:fs";
15
+ import { join } from "node:path";
16
+ var MAX_EVIDENCE_INDEX_ROWS = 1e3;
17
+ var EVIDENCE_INDEX_FILE = "evidence-index.json";
18
+ var evidenceIndexWriteQueue = Promise.resolve();
19
+ function indexPath(stateDir) {
20
+ return join(stateDir, EVIDENCE_INDEX_FILE);
21
+ }
22
+ function isEvidenceIndexRow(value) {
23
+ if (typeof value !== "object" || value === null) return false;
24
+ const row = value;
25
+ return typeof row.runId === "string" && typeof row.evidenceId === "string" && Array.isArray(row.tags) && row.tags.every((tag) => typeof tag === "string") && typeof row.firstPassSuccess === "boolean" && typeof row.findingCount === "number" && (row.succeeded === void 0 || typeof row.succeeded === "boolean") && (row.completionEvidenceWarning === void 0 || typeof row.completionEvidenceWarning === "boolean") && (row.ungroundedClaims === void 0 || typeof row.ungroundedClaims === "number" && Number.isSafeInteger(row.ungroundedClaims) && row.ungroundedClaims >= 0) && typeof row.generatedAt === "string";
26
+ }
27
+ function readEvidenceIndex(stateDir) {
28
+ let raw;
29
+ try {
30
+ raw = readFileSync(indexPath(stateDir), "utf8");
31
+ } catch {
32
+ return [];
33
+ }
34
+ let parsed;
35
+ try {
36
+ parsed = JSON.parse(raw);
37
+ } catch {
38
+ return [];
39
+ }
40
+ if (!Array.isArray(parsed)) return [];
41
+ return parsed.filter(isEvidenceIndexRow);
42
+ }
43
+ async function writeEvidenceIndexRow(stateDir, row) {
44
+ let bounded = [];
45
+ await withStateFileLock(indexPath(stateDir), () => {
46
+ const existing = readEvidenceIndex(stateDir).filter((entry) => entry.runId !== row.runId);
47
+ existing.push(row);
48
+ bounded = existing.length > MAX_EVIDENCE_INDEX_ROWS ? existing.slice(-MAX_EVIDENCE_INDEX_ROWS) : existing;
49
+ safeResourceWrite(indexPath(stateDir), `${JSON.stringify(bounded, null, 2)}
50
+ `, { encoding: "utf8" });
51
+ });
52
+ return bounded;
53
+ }
54
+ async function writeEvidenceIndexRowQueued(stateDir, row) {
55
+ let written = [];
56
+ const write = evidenceIndexWriteQueue.then(async () => {
57
+ written = await writeEvidenceIndexRow(stateDir, row);
58
+ });
59
+ evidenceIndexWriteQueue = write.catch(() => void 0);
60
+ await write;
61
+ return written;
62
+ }
63
+
64
+ export {
65
+ readEvidenceIndex,
66
+ writeEvidenceIndexRowQueued
67
+ };
68
+ //# sourceMappingURL=chunk-G5R53COU.js.map
@@ -0,0 +1,40 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ truncateHead,
4
+ truncateTail
5
+ } from "./chunk-KECNXMDE.js";
6
+ import {
7
+ init_esm_shims
8
+ } from "./chunk-ECBHH7LU.js";
9
+
10
+ // src/tools/truncate.ts
11
+ init_esm_shims();
12
+ var DEFAULT_MAX_LINES = 2e3;
13
+ var DEFAULT_MAX_BYTES = 64 * 1024;
14
+ function splitLinesForCounting(content) {
15
+ if (content.length === 0) return [];
16
+ const lines = content.split("\n");
17
+ if (content.endsWith("\n")) lines.pop();
18
+ return lines;
19
+ }
20
+ function withClioDefaults(options) {
21
+ return {
22
+ maxLines: options.maxLines ?? DEFAULT_MAX_LINES,
23
+ maxBytes: options.maxBytes ?? DEFAULT_MAX_BYTES
24
+ };
25
+ }
26
+ function truncateHead2(content, options = {}) {
27
+ return truncateHead(content, withClioDefaults(options));
28
+ }
29
+ function truncateTail2(content, options = {}) {
30
+ return truncateTail(content, withClioDefaults(options));
31
+ }
32
+
33
+ export {
34
+ DEFAULT_MAX_LINES,
35
+ DEFAULT_MAX_BYTES,
36
+ splitLinesForCounting,
37
+ truncateHead2 as truncateHead,
38
+ truncateTail2 as truncateTail
39
+ };
40
+ //# sourceMappingURL=chunk-GHXGMFQ5.js.map
@@ -3,25 +3,25 @@ import {
3
3
  truncateToWidth,
4
4
  visibleWidth,
5
5
  wrapTextWithAnsi
6
- } from "./chunk-V4ZKOKRB.js";
6
+ } from "./chunk-434LRQ6Z.js";
7
7
  import {
8
8
  openLedger,
9
9
  readFleetRun
10
- } from "./chunk-WN552PKN.js";
11
- import {
12
- WRITE_BOUNDARY_VIOLATION_REASON
13
- } from "./chunk-UA3W4FGC.js";
10
+ } from "./chunk-F2YM3JY4.js";
14
11
  import {
15
12
  formatTrustSummaryLine,
16
13
  inspectRunReceiptTrustStatus
17
- } from "./chunk-IQCNVLO6.js";
14
+ } from "./chunk-IALZJE37.js";
15
+ import {
16
+ WRITE_BOUNDARY_VIOLATION_REASON
17
+ } from "./chunk-KRJQG47M.js";
18
18
  import {
19
19
  readRunEventJournal,
20
20
  runEventJournalPath
21
21
  } from "./chunk-UQIVHSE4.js";
22
22
  import {
23
23
  sanitizeCallTargetText
24
- } from "./chunk-2GPGAE5W.js";
24
+ } from "./chunk-XNIZBOFV.js";
25
25
  import {
26
26
  clioStateDir,
27
27
  resetXdgCache
@@ -478,7 +478,7 @@ async function runFleetView(args) {
478
478
  return followRun(runId);
479
479
  }
480
480
  async function watchSelection(selectionPath) {
481
- const { ProcessTerminal, TuiAltScreen } = await import("./tui-primitives-A6MUW32V.js");
481
+ const { ProcessTerminal, TuiAltScreen } = await import("./tui-primitives-36BY2774.js");
482
482
  const terminal = new ProcessTerminal();
483
483
  const tui = new TuiAltScreen(terminal);
484
484
  let selected = readWatchSelection(selectionPath);
@@ -521,7 +521,7 @@ async function watchSelection(selectionPath) {
521
521
  });
522
522
  }
523
523
  async function followRun(runId) {
524
- const { ProcessTerminal, TuiAltScreen } = await import("./tui-primitives-A6MUW32V.js");
524
+ const { ProcessTerminal, TuiAltScreen } = await import("./tui-primitives-36BY2774.js");
525
525
  const terminal = new ProcessTerminal();
526
526
  const tui = new TuiAltScreen(terminal);
527
527
  let model = loadRunViewModel(runId);
@@ -570,4 +570,4 @@ export {
570
570
  loadFleetRunViewModel,
571
571
  runFleetView
572
572
  };
573
- //# sourceMappingURL=chunk-GFQ7P2UF.js.map
573
+ //# sourceMappingURL=chunk-GJDRMBDI.js.map
@@ -155,7 +155,7 @@ CREATE TABLE phases (
155
155
  error TEXT,
156
156
  started_at TEXT,
157
157
  ended_at TEXT,
158
- input_tokens INTEGER, output_tokens INTEGER, cache_read_tokens INTEGER, cache_write_tokens INTEGER,
158
+ input_tokens INTEGER, output_tokens INTEGER, cache_read_tokens INTEGER, cache_write_tokens INTEGER, cache_write_1h_tokens INTEGER,
159
159
  reasoning_tokens INTEGER, total_tokens INTEGER,
160
160
  input_cost_usd REAL, output_cost_usd REAL, cache_read_cost_usd REAL, cache_write_cost_usd REAL,
161
161
  total_cost_usd REAL,
@@ -242,6 +242,11 @@ function ensureRunSourceColumn(db) {
242
242
  db.exec("ALTER TABLE runs ADD COLUMN source TEXT NOT NULL DEFAULT 'dispatch';");
243
243
  db.prepare("UPDATE runs SET source = 'session' WHERE assignment_id = ?").run(SESSION_TRACE_ASSIGNMENT_ID);
244
244
  }
245
+ function ensureCacheWriteLifetimeColumn(db) {
246
+ const columns = db.prepare("PRAGMA table_info(phases)").all();
247
+ if (!columns.some((column) => column.name === "cache_write_1h_tokens"))
248
+ db.exec("ALTER TABLE phases ADD COLUMN cache_write_1h_tokens INTEGER;");
249
+ }
245
250
  function reconcileAbandonedRuns(db) {
246
251
  const owners = db.prepare(`SELECT r.run_id, r.started_at, p.pid, p.host, p.birth_token FROM runs r
247
252
  JOIN processes p ON p.id = (SELECT MAX(id) FROM processes WHERE run_id = r.run_id AND host IS NOT NULL)
@@ -272,6 +277,7 @@ var TraceStore = class {
272
277
  this.transaction(() => {
273
278
  ensureProcessOwnerColumns(this.db);
274
279
  ensureRunSourceColumn(this.db);
280
+ ensureCacheWriteLifetimeColumn(this.db);
275
281
  reconcileAbandonedRuns(this.db);
276
282
  });
277
283
  }
@@ -451,13 +457,14 @@ var TraceStore = class {
451
457
  }
452
458
  recordSpend(input) {
453
459
  this.transaction(() => {
454
- this.db.prepare(`UPDATE phases SET input_tokens=?, output_tokens=?, cache_read_tokens=?, cache_write_tokens=?,
460
+ this.db.prepare(`UPDATE phases SET input_tokens=?, output_tokens=?, cache_read_tokens=?, cache_write_tokens=?, cache_write_1h_tokens=?,
455
461
  reasoning_tokens=?, total_tokens=?, input_cost_usd=?, output_cost_usd=?, cache_read_cost_usd=?,
456
462
  cache_write_cost_usd=?, total_cost_usd=?, context_tokens=?, context_window=? WHERE phase_id=? AND run_id=?`).run(
457
463
  input.inputTokens,
458
464
  input.outputTokens,
459
465
  input.cacheReadTokens,
460
466
  input.cacheWriteTokens,
467
+ input.cacheWrite1hTokens ?? null,
461
468
  input.reasoningTokens,
462
469
  input.totalTokens,
463
470
  input.inputCostUsd ?? null,
@@ -598,7 +605,7 @@ var TraceStore = class {
598
605
  input.runId
599
606
  );
600
607
  this.db.prepare(`UPDATE phases SET status=?, attempt=?, retries=?, ended_at=?, error=?, input_tokens=?, output_tokens=?,
601
- cache_read_tokens=?, cache_write_tokens=?, reasoning_tokens=?, total_tokens=?, total_cost_usd=?
608
+ cache_read_tokens=?, cache_write_tokens=?, cache_write_1h_tokens=?, reasoning_tokens=?, total_tokens=?, total_cost_usd=?
602
609
  WHERE phase_id=?`).run(
603
610
  success ? "success" : "fail",
604
611
  input.lineage?.attempt ?? 0,
@@ -609,6 +616,7 @@ var TraceStore = class {
609
616
  input.outputTokenCount ?? null,
610
617
  input.cacheReadTokenCount ?? null,
611
618
  input.cacheWriteTokenCount ?? null,
619
+ input.cacheWrite1hTokenCount ?? null,
612
620
  input.reasoningTokenCount ?? null,
613
621
  input.tokenCount ?? null,
614
622
  input.costUsd ?? null,
@@ -718,7 +726,7 @@ var TraceStore = class {
718
726
  this.transaction(() => {
719
727
  this.db.prepare("UPDATE runs SET status=?, ended_at=?, total_tokens=?, total_cost_usd=? WHERE run_id=?").run(input.status, input.at, usage?.totalTokens ?? null, usage?.costUsd ?? null, input.runId);
720
728
  this.db.prepare(`UPDATE phases SET status=?, ended_at=?, error=?, input_tokens=?, output_tokens=?,
721
- cache_read_tokens=?, cache_write_tokens=?, reasoning_tokens=?, total_tokens=?, total_cost_usd=?
729
+ cache_read_tokens=?, cache_write_tokens=?, cache_write_1h_tokens=?, reasoning_tokens=?, total_tokens=?, total_cost_usd=?
722
730
  WHERE phase_id=?`).run(
723
731
  input.status,
724
732
  input.at,
@@ -727,6 +735,7 @@ var TraceStore = class {
727
735
  usage?.outputTokens ?? null,
728
736
  usage?.cacheReadTokens ?? null,
729
737
  usage?.cacheWriteTokens ?? null,
738
+ usage?.cacheWrite1hTokens ?? null,
730
739
  usage?.reasoningTokens ?? null,
731
740
  usage?.totalTokens ?? null,
732
741
  usage?.costUsd ?? null,
@@ -797,7 +806,7 @@ var TraceReader = class {
797
806
  * `runs.source` is an additive column (see ensureRunSourceColumn) a
798
807
  * TraceStore writer backfills in place. A read-only reader can open a
799
808
  * database no writer has touched since before the column existed — the
800
- * trace viewer opening a dormant install's trace.sqlite fresh is the
809
+ * web application opening a dormant install's trace.sqlite fresh is the
801
810
  * realistic case — and cannot ALTER TABLE to fix that itself, so it
802
811
  * derives the same value the migration would have written instead.
803
812
  */
@@ -808,6 +817,32 @@ var TraceReader = class {
808
817
  runs(limit = 50) {
809
818
  return this.db.prepare(`SELECT ${this.runsSourceExpr} FROM runs ORDER BY started_at DESC LIMIT ?`).all(clampInt(limit, 1, 500));
810
819
  }
820
+ /** Stable keyset pagination, including read-only databases predating runs.source. */
821
+ runsPage({ before, limit = 50, filter = {} } = {}) {
822
+ const size = clampInt(limit, 1, 500);
823
+ const where = [], args = [];
824
+ if (before) {
825
+ where.push("(started_at < ? OR (started_at = ? AND run_id < ?))");
826
+ args.push(before.startedAt, before.startedAt, before.runId);
827
+ }
828
+ if (filter.source) {
829
+ where.push("source = ?");
830
+ args.push(filter.source);
831
+ }
832
+ if (filter.status) {
833
+ where.push("status = ?");
834
+ args.push(filter.status);
835
+ }
836
+ if (filter.q) {
837
+ where.push("(run_id LIKE ? OR agent LIKE ? OR model LIKE ? OR status LIKE ? OR request LIKE ?)");
838
+ args.push(...Array(5).fill(`%${filter.q}%`));
839
+ }
840
+ const rows = this.db.prepare(
841
+ `SELECT * FROM (SELECT ${this.runsSourceExpr} FROM runs) ${where.length ? `WHERE ${where.join(" AND ")}` : ""} ORDER BY started_at DESC, run_id DESC LIMIT ?`
842
+ ).all(...args, size + 1);
843
+ const runs = rows.slice(0, size), last = runs.at(-1);
844
+ return { runs, nextBefore: rows.length > size && last ? { startedAt: last.started_at, runId: last.run_id } : null };
845
+ }
811
846
  run(runId) {
812
847
  return this.db.prepare(`SELECT ${this.runsSourceExpr} FROM runs WHERE run_id=?`).get(runId) ?? null;
813
848
  }
@@ -1057,6 +1092,7 @@ function terminalUsage(input) {
1057
1092
  output: input.outputTokenCount ?? 0,
1058
1093
  cache_read: input.cacheReadTokenCount ?? 0,
1059
1094
  cache_write: input.cacheWriteTokenCount ?? 0,
1095
+ ...input.cacheWrite1hTokenCount === void 0 ? {} : { cache_write_1h: input.cacheWrite1hTokenCount },
1060
1096
  reasoning_tokens: input.reasoningTokenCount ?? 0,
1061
1097
  total_tokens: input.tokenCount
1062
1098
  };
@@ -1184,6 +1220,7 @@ function finiteNonNegative(value) {
1184
1220
  }
1185
1221
 
1186
1222
  export {
1223
+ TRACE_SCHEMA_VERSION,
1187
1224
  TRACE_EVENT_POLL_LIMIT,
1188
1225
  DEFAULT_TRACE_RETENTION_POLICY,
1189
1226
  traceDatabasePath,
@@ -1193,4 +1230,4 @@ export {
1193
1230
  createDispatchTraceMirror,
1194
1231
  assertTraceSelectOnly
1195
1232
  };
1196
- //# sourceMappingURL=chunk-LZBMXNLP.js.map
1233
+ //# sourceMappingURL=chunk-GM4TY6VN.js.map
@@ -2,7 +2,7 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  describeValidationContract,
4
4
  loadValidationContract
5
- } from "./chunk-T52TPHYC.js";
5
+ } from "./chunk-PTFISXQO.js";
6
6
  import {
7
7
  CONFIRMED_SCOPE,
8
8
  READONLY_SCOPE,
@@ -10,17 +10,17 @@ import {
10
10
  createLoopState,
11
11
  isSubset,
12
12
  observe
13
- } from "./chunk-BQQ5MXUC.js";
14
- import {
15
- createSafetyPolicyEngine
16
- } from "./chunk-DLIYANB7.js";
13
+ } from "./chunk-AY4XE6GN.js";
17
14
  import {
18
15
  BusChannels,
19
16
  isRunAbortedPayload
20
- } from "./chunk-6CB2IL4N.js";
17
+ } from "./chunk-W5RM7YAH.js";
18
+ import {
19
+ createSafetyPolicyEngine
20
+ } from "./chunk-IC7JXLOM.js";
21
21
  import {
22
22
  classify
23
- } from "./chunk-HOX4YZ2K.js";
23
+ } from "./chunk-H2WSCZZT.js";
24
24
  import {
25
25
  clioStateDir,
26
26
  stateRootRemoved
@@ -655,4 +655,4 @@ export {
655
655
  parseRigorOverride,
656
656
  SafetyDomainModule
657
657
  };
658
- //# sourceMappingURL=chunk-NCCQ6DVS.js.map
658
+ //# sourceMappingURL=chunk-GREYLTZ5.js.map
@@ -2,7 +2,7 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  extractCommandCdTargets,
4
4
  extractCommandWriteTargets
5
- } from "./chunk-2O2LVQQK.js";
5
+ } from "./chunk-SQBT46OF.js";
6
6
  import {
7
7
  canonicalizeExistingPath
8
8
  } from "./chunk-KQ6IDQIB.js";
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  ToolNames,
14
14
  isHarnessExtensionToolName
15
- } from "./chunk-WLHX3MM5.js";
15
+ } from "./chunk-V4XJWDHR.js";
16
16
  import {
17
17
  init_esm_shims
18
18
  } from "./chunk-ECBHH7LU.js";
@@ -53,10 +53,22 @@ function baseClassify(tool) {
53
53
  case ToolNames.Grep:
54
54
  case ToolNames.Find:
55
55
  case ToolNames.Ls:
56
+ // web_read is the GET-only half of the web split: no method, headers,
57
+ // or body can make it outward, so it is read class unconditionally.
58
+ case ToolNames.WebRead:
56
59
  case ToolNames.WebFetch:
57
60
  case ToolNames.Git:
58
61
  case ToolNames.CodeNav:
59
62
  case ToolNames.Context:
63
+ // clio_docs and clio_library read Clio's bundled documentation and the
64
+ // recipe catalog; data streams structured files. None writes.
65
+ case ToolNames.ClioDocs:
66
+ case ToolNames.ClioLibrary:
67
+ case ToolNames.Data:
68
+ // gateway lists and describes capabilities on its own; a call carries
69
+ // the capability's own class through a nested admission, so the outer
70
+ // call stays read class.
71
+ case ToolNames.Gateway:
60
72
  case ToolNames.Monitor:
61
73
  case ToolNames.AskUser:
62
74
  case ToolNames.CredentialPresent:
@@ -88,6 +100,10 @@ function baseClassify(tool) {
88
100
  return "write";
89
101
  case ToolNames.Bash:
90
102
  case ToolNames.Verify:
103
+ // run_script runs an interpreter over a workspace script; its
104
+ // safetyCall projects the exact argv to a bash command so the policy
105
+ // engine applies the shell rules to it.
106
+ case ToolNames.RunScript:
91
107
  return "execute";
92
108
  case ToolNames.Dispatch:
93
109
  case ToolNames.Steer:
@@ -219,4 +235,4 @@ export {
219
235
  webFetchIsOutward,
220
236
  classify
221
237
  };
222
- //# sourceMappingURL=chunk-HOX4YZ2K.js.map
238
+ //# sourceMappingURL=chunk-H2WSCZZT.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
  withResultSummaryAllowance
4
- } from "./chunk-34XHRVKG.js";
4
+ } from "./chunk-I47EJPYL.js";
5
5
  import {
6
6
  init_esm_shims
7
7
  } from "./chunk-ECBHH7LU.js";
@@ -114,4 +114,4 @@ export {
114
114
  routeCorrelationFactsForRun,
115
115
  gateRouteCorrelation
116
116
  };
117
- //# sourceMappingURL=chunk-3LXJOICS.js.map
117
+ //# sourceMappingURL=chunk-H6IUCY6Q.js.map