@iowarp/clio-coder 0.4.3 → 0.4.5

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 (670) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/CONTRIBUTING.md +25 -15
  3. package/README.md +340 -27
  4. package/dist/{acp-H2NGRPWO.js → acp-H3CU2HBQ.js} +25 -25
  5. package/dist/{agents-TL5LLUQP.js → agents-IXQQZ7BD.js} +77 -75
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-E5SW4HMS.js → auth-R7KYF7N3.js} +38 -39
  8. package/dist/builtins-CRFDQUVP.js +22 -0
  9. package/dist/{chunk-7DRAWPTZ.js → chunk-22PQ4TX4.js} +4 -4
  10. package/dist/{chunk-NEDJ26B5.js → chunk-2GPGAE5W.js} +6 -51
  11. package/dist/{chunk-IKCO5N3L.js → chunk-2QPI3TR3.js} +3 -3
  12. package/dist/{chunk-HRQMFLJP.js → chunk-32KJPXAM.js} +6 -6
  13. package/dist/{chunk-65DEGPJ6.js → chunk-3A3CUMKA.js} +6 -4
  14. package/dist/{chunk-5TSRNF4G.js → chunk-3T4DXWP6.js} +170 -12
  15. package/dist/{chunk-DR52UMZW.js → chunk-3UW3KU4A.js} +2 -2
  16. package/dist/{chunk-XIVNBFZS.js → chunk-4SVIVOMC.js} +208 -39
  17. package/dist/{chunk-NMJXSHBJ.js → chunk-5A6XR3RJ.js} +44 -19
  18. package/dist/{chunk-YPC6ZR5L.js → chunk-5CMARGPF.js} +119 -5
  19. package/dist/{chunk-KXDSS5WJ.js → chunk-5CY4Q6QI.js} +4 -4
  20. package/dist/chunk-5DDOTTG4.js +402 -0
  21. package/dist/{chunk-D4CJV46V.js → chunk-5GZICIYO.js} +3 -3
  22. package/dist/{chunk-4IUZQIJ3.js → chunk-5PHVPU4G.js} +2 -2
  23. package/dist/{chunk-PUVDKJ2Y.js → chunk-5VTJP36Q.js} +5 -7
  24. package/dist/{chunk-JGRC33J2.js → chunk-5ZMXGW7P.js} +90 -9
  25. package/dist/chunk-5ZSZEYJK.js +119 -0
  26. package/dist/chunk-633EXGZA.js +44 -0
  27. package/dist/{chunk-IWT4SF4R.js → chunk-6CDNRHWH.js} +361 -89
  28. package/dist/{chunk-EBY63B7G.js → chunk-6EXUUOSN.js} +2 -2
  29. package/dist/{chunk-SVNXH4L2.js → chunk-6ICZKDUC.js} +2 -2
  30. package/dist/{chunk-INY6HTFL.js → chunk-6SYEGZI3.js} +12 -12
  31. package/dist/{chunk-SKHCAU7K.js → chunk-6YA46L5A.js} +5 -4
  32. package/dist/{chunk-NZMNUPZZ.js → chunk-77CZRFTE.js} +3 -3
  33. package/dist/{chunk-L47TF46W.js → chunk-7HBHHVCK.js} +24 -3
  34. package/dist/{chunk-DWUOQKRU.js → chunk-7TKWWPD7.js} +5 -4
  35. package/dist/{chunk-2VTFPG5O.js → chunk-7WLRF2U5.js} +2 -2
  36. package/dist/chunk-7WUZEB2M.js +165 -0
  37. package/dist/{chunk-6PTFB5VS.js → chunk-7YJWEF2L.js} +59 -28
  38. package/dist/{chunk-3EBYEESD.js → chunk-A46ILRS2.js} +5 -5
  39. package/dist/{chunk-UOIZ7DA4.js → chunk-AP7HDJOP.js} +2 -2
  40. package/dist/{chunk-APJ265NV.js → chunk-B5GGDIHT.js} +146 -146
  41. package/dist/{chunk-PMZVFWSR.js → chunk-B5ZTR6KZ.js} +2 -2
  42. package/dist/chunk-B6UM3OZC.js +15 -0
  43. package/dist/{chunk-MCEPRMZW.js → chunk-BBV5TKE6.js} +5 -5
  44. package/dist/{chunk-4O6MANBS.js → chunk-BS4GAMUB.js} +14 -10
  45. package/dist/{chunk-S66XZJOF.js → chunk-C27U2TYG.js} +2 -2
  46. package/dist/{chunk-42FMPA75.js → chunk-CBSKDFWL.js} +3 -3
  47. package/dist/{chunk-2LEAKD4C.js → chunk-CKK25WN3.js} +3 -3
  48. package/dist/{chunk-BYP5D4HI.js → chunk-CTTI7G3T.js} +2 -2
  49. package/dist/{chunk-XAKHZX5N.js → chunk-CVDAFGPW.js} +4 -4
  50. package/dist/{chunk-RKKLTLYB.js → chunk-CXQ37WJH.js} +3 -3
  51. package/dist/{chunk-GTUD2WMY.js → chunk-DBREN25X.js} +44 -9
  52. package/dist/{chunk-WCXUNS7U.js → chunk-DIMRLNIC.js} +35 -66
  53. package/dist/{chunk-NDDGJUXD.js → chunk-DNCE23JJ.js} +2 -2
  54. package/dist/{chunk-HVDIIIQW.js → chunk-DNHVRBH4.js} +3 -3
  55. package/dist/{chunk-2UG5F4C5.js → chunk-DRD2A54W.js} +116 -52
  56. package/dist/{chunk-D7E7WCDF.js → chunk-DVNAPPXU.js} +2 -2
  57. package/dist/{chunk-YXLYO42X.js → chunk-DXVMLM3Z.js} +3 -2
  58. package/dist/{chunk-5MEZN6CB.js → chunk-DZK63TZJ.js} +6 -6
  59. package/dist/{chunk-IGLP3ODT.js → chunk-E3BQTQUP.js} +15 -15
  60. package/dist/{chunk-IWHMRKLL.js → chunk-E3LEPLQ2.js} +2 -2
  61. package/dist/{chunk-3R73A4XB.js → chunk-ECBHH7LU.js} +3 -3
  62. package/dist/chunk-ECOMVOHP.js +139 -0
  63. package/dist/chunk-EFSEIZE6.js +56 -0
  64. package/dist/{chunk-IJNZMHLA.js → chunk-EHCPSZJF.js} +4 -4
  65. package/dist/{chunk-K6BSR66V.js → chunk-EHOSNVVM.js} +6 -2
  66. package/dist/{chunk-RRNP2ANY.js → chunk-EQEJJ53P.js} +10 -10
  67. package/dist/{chunk-GWZNEVM2.js → chunk-EWD5P3GK.js} +9 -9
  68. package/dist/{chunk-JKKCYP3C.js → chunk-F34AR6O3.js} +21 -15
  69. package/dist/{chunk-GHS5EBTQ.js → chunk-FKIOX6DS.js} +29 -20
  70. package/dist/{chunk-HAXOFFRH.js → chunk-FQOOGXBH.js} +7 -7
  71. package/dist/{chunk-MWUZBSAQ.js → chunk-FSTIBAGM.js} +358 -63
  72. package/dist/{chunk-ZTJUVLTU.js → chunk-FXFVDPWY.js} +2 -2
  73. package/dist/{chunk-XPLRXC72.js → chunk-GD55RTIW.js} +3 -3
  74. package/dist/{chunk-5B2AEOW5.js → chunk-GH5ZR6JP.js} +472 -472
  75. package/dist/{chunk-JSC3U7TI.js → chunk-GJ24ODAX.js} +5 -5
  76. package/dist/{chunk-B4VEBZKF.js → chunk-GNQRWTMY.js} +139 -52
  77. package/dist/{chunk-5ICU3EUH.js → chunk-GVYWZNRK.js} +5 -5
  78. package/dist/chunk-GXCCHKN6.js +59 -0
  79. package/dist/{chunk-V2ANDPVT.js → chunk-HGSLRG33.js} +170 -8
  80. package/dist/{chunk-LLDJM5XK.js → chunk-HHVJNVUJ.js} +6 -6
  81. package/dist/{chunk-F4EKGO4N.js → chunk-HL26ADLH.js} +4 -2
  82. package/dist/{chunk-VA5FNYMT.js → chunk-HR3HPQ76.js} +42 -5
  83. package/dist/{chunk-ID64D7PE.js → chunk-HXHFDHB6.js} +24 -24
  84. package/dist/{chunk-OML5D5V5.js → chunk-I7VLWRK2.js} +8 -8
  85. package/dist/{chunk-VW6DOEDG.js → chunk-ICO4TQ2F.js} +16 -5
  86. package/dist/{chunk-SZAA6XDG.js → chunk-IFDRAD6F.js} +2 -2
  87. package/dist/{chunk-WBKFA554.js → chunk-ILJ7DWGE.js} +9 -9
  88. package/dist/{chunk-2JH2WHGE.js → chunk-J2FYEQ5L.js} +4 -4
  89. package/dist/{chunk-BMS5RKQY.js → chunk-JABWPKFY.js} +3 -3
  90. package/dist/{chunk-QDC3K2U3.js → chunk-K2BLQC5E.js} +3 -3
  91. package/dist/{chunk-EKCHAPYA.js → chunk-K2HL3GBL.js} +4 -4
  92. package/dist/{chunk-N2Z7HLVY.js → chunk-K6RDB7IA.js} +28 -28
  93. package/dist/{chunk-TM6LQDI3.js → chunk-KDWLXVMN.js} +85 -335
  94. package/dist/{chunk-OZNBF4L3.js → chunk-KECNXMDE.js} +2 -2
  95. package/dist/{chunk-RSJ25QSL.js → chunk-KF6GFW6O.js} +217 -50
  96. package/dist/{chunk-BTK3SSSK.js → chunk-KMF54VH3.js} +2 -2
  97. package/dist/chunk-KPRLAMP4.js +32 -0
  98. package/dist/{chunk-ECH6PKUQ.js → chunk-KQ6IDQIB.js} +2 -2
  99. package/dist/{chunk-IUE3Y34X.js → chunk-KTFSFCVN.js} +20 -9
  100. package/dist/{chunk-7E7I3WLS.js → chunk-KYKNBD4Y.js} +36 -34
  101. package/dist/chunk-L4N3DWNW.js +539 -0
  102. package/dist/{chunk-LCGCVYZ4.js → chunk-LQTKDAUO.js} +2 -2
  103. package/dist/{chunk-JIEGK6UF.js → chunk-LTR5QCLS.js} +51 -7
  104. package/dist/chunk-LUL5Z66S.js +221 -0
  105. package/dist/chunk-LVFANMOH.js +466 -0
  106. package/dist/{chunk-H7IXIC72.js → chunk-LY4N4TTL.js} +17 -3
  107. package/dist/{chunk-VKPAQYEB.js → chunk-LZBMXNLP.js} +5 -5
  108. package/dist/{chunk-UL3WSD3F.js → chunk-M4KFUXS7.js} +2 -2
  109. package/dist/{chunk-I7ZPNEJM.js → chunk-M6TAYK66.js} +8 -8
  110. package/dist/{chunk-NEKRRTYW.js → chunk-MC3JSVR6.js} +2 -2
  111. package/dist/{chunk-CFGTUFWB.js → chunk-MCJKEGHO.js} +2 -2
  112. package/dist/chunk-MDU3C27C.js +674 -0
  113. package/dist/{chunk-6XLNIQDB.js → chunk-MYI32N4R.js} +2 -2
  114. package/dist/{chunk-4UVU7BJ5.js → chunk-NC4KV7EL.js} +6 -6
  115. package/dist/{chunk-JEQ3XTHC.js → chunk-NF3BK5WR.js} +5 -5
  116. package/dist/chunk-NTK3WTHM.js +141 -0
  117. package/dist/{chunk-GYV6VZOC.js → chunk-NTTS3O53.js} +2 -2
  118. package/dist/{chunk-UPZU6GE4.js → chunk-NY6IWDVU.js} +6 -6
  119. package/dist/chunk-O2RQ7LCK.js +283 -0
  120. package/dist/{chunk-4BJ5BYCE.js → chunk-O3VV6IVK.js} +2 -2
  121. package/dist/{chunk-W6GROXXM.js → chunk-O5F25NIE.js} +2 -2
  122. package/dist/{chunk-WRBAGUNF.js → chunk-ODUTYZIU.js} +5 -5
  123. package/dist/{chunk-E3TPLWFX.js → chunk-ONRTXOZY.js} +4 -4
  124. package/dist/{chunk-B4OAX3SI.js → chunk-OQM5IVJY.js} +118 -225
  125. package/dist/{chunk-XRZT5WY5.js → chunk-P5SC4DLJ.js} +4 -4
  126. package/dist/{chunk-R6Q67RJH.js → chunk-PECBKCDK.js} +34 -6
  127. package/dist/{chunk-33YXPOE3.js → chunk-PPEZJWUG.js} +2 -2
  128. package/dist/{chunk-64I3JVYM.js → chunk-PWWSIB2A.js} +5 -5
  129. package/dist/{chunk-2STGEDFV.js → chunk-QEQISF75.js} +2 -2
  130. package/dist/{chunk-3DPEIQKN.js → chunk-QH3ZTUOA.js} +2 -2
  131. package/dist/{chunk-YAKGTXEV.js → chunk-QRFXEO6Y.js} +2 -2
  132. package/dist/{chunk-35MSIRKH.js → chunk-QUIJZSDW.js} +2 -2
  133. package/dist/{chunk-HHV2GANA.js → chunk-R2P2U3ZS.js} +2 -2
  134. package/dist/chunk-R6MAYTMS.js +108 -0
  135. package/dist/{chunk-MUW2BDDH.js → chunk-R6MICQYU.js} +6 -6
  136. package/dist/{chunk-JDAY6FIL.js → chunk-RLTT5GVY.js} +132 -17
  137. package/dist/{chunk-ZWPRK62N.js → chunk-RXIOCVBZ.js} +24 -6
  138. package/dist/{chunk-NIQJ66N4.js → chunk-S32UQ5GL.js} +62 -35
  139. package/dist/{chunk-AX2THNSA.js → chunk-SBZX6ARC.js} +12 -12
  140. package/dist/{chunk-TXOTCRLG.js → chunk-SD7SHNDW.js} +2 -2
  141. package/dist/{chunk-AF4YM7Z4.js → chunk-SDWNDICN.js} +10284 -3756
  142. package/dist/{chunk-UXCU4E3T.js → chunk-SE4ZKILO.js} +6 -6
  143. package/dist/chunk-SL2RDHKO.js +19 -0
  144. package/dist/{chunk-NUGM5KR6.js → chunk-SRCEQKQS.js} +2 -2
  145. package/dist/{chunk-KKOJXO6R.js → chunk-SRZOW5L2.js} +46 -14
  146. package/dist/{chunk-3M6DQK6S.js → chunk-T334FW2H.js} +7 -7
  147. package/dist/chunk-T52TPHYC.js +318 -0
  148. package/dist/{chunk-I7XBWTYH.js → chunk-T53XI6I7.js} +5 -5
  149. package/dist/{chunk-LDJG7DW3.js → chunk-T7FDXNRU.js} +13 -13
  150. package/dist/{chunk-XPWWI35G.js → chunk-TEG3RYVZ.js} +59 -41
  151. package/dist/{chunk-3I7MS7N2.js → chunk-TK2BMCBZ.js} +2 -2
  152. package/dist/{chunk-5OIVVPHF.js → chunk-TN5FW4XY.js} +13 -6
  153. package/dist/{chunk-PAJQJ7BS.js → chunk-TZ7MFRG4.js} +1263 -835
  154. package/dist/{chunk-GI7YYQ3F.js → chunk-U2JOLB7O.js} +415 -83
  155. package/dist/{chunk-LL4KHSZI.js → chunk-U2MSJ57E.js} +2 -2
  156. package/dist/{chunk-FTMGRKEF.js → chunk-U44YYLVV.js} +4 -4
  157. package/dist/{chunk-CE5AX47J.js → chunk-U7H5WRG5.js} +5 -5
  158. package/dist/{chunk-G76U63X4.js → chunk-U7VQ4NI4.js} +22 -22
  159. package/dist/{chunk-7ZYNNDKC.js → chunk-UFYNOQK4.js} +7 -7
  160. package/dist/{chunk-R346GLFC.js → chunk-UHW5V7HC.js} +2 -2
  161. package/dist/{chunk-QWGDJJYJ.js → chunk-UL36QJX6.js} +14 -14
  162. package/dist/{chunk-VIA6RFQZ.js → chunk-UQIVHSE4.js} +4 -4
  163. package/dist/{chunk-HEQY7ZFI.js → chunk-URBGEOH3.js} +5 -5
  164. package/dist/chunk-USZA7GWL.js +341 -0
  165. package/dist/{chunk-W6RRQCPQ.js → chunk-UTUNT5QL.js} +48 -579
  166. package/dist/{chunk-ZA4VCIGV.js → chunk-UUQ5G6EZ.js} +60 -41
  167. package/dist/{chunk-F5JHEYZM.js → chunk-UXAC2FX4.js} +73 -41
  168. package/dist/{chunk-VG7TBQIY.js → chunk-V552WL53.js} +68 -4
  169. package/dist/{chunk-BWH6N36D.js → chunk-VHKTOLEW.js} +272 -42
  170. package/dist/chunk-VLPTKCKT.js +396 -0
  171. package/dist/{chunk-336NSSKI.js → chunk-VNBICSS2.js} +2 -2
  172. package/dist/{chunk-VAVR4IJY.js → chunk-VQD7NH7Z.js} +3 -3
  173. package/dist/{chunk-LBMZMYH2.js → chunk-W2RJEH6Q.js} +3 -3
  174. package/dist/{chunk-7CR24IG7.js → chunk-WDV62RKY.js} +2 -2
  175. package/dist/{chunk-2UH2KFUP.js → chunk-WFKDPU7U.js} +4 -4
  176. package/dist/{chunk-ZDN3Y73Y.js → chunk-WJIMKGD6.js} +9 -51
  177. package/dist/{chunk-YQWYVTMC.js → chunk-WLMSOT73.js} +59 -12
  178. package/dist/{chunk-MXHC5QYU.js → chunk-WTQGRBHV.js} +5 -144
  179. package/dist/chunk-WXA2CFJO.js +23 -0
  180. package/dist/{chunk-QSNYB6ZV.js → chunk-XCUDZQLX.js} +3 -3
  181. package/dist/{chunk-2APPQIER.js → chunk-XXBQKW32.js} +11 -11
  182. package/dist/{chunk-2VIKGWFZ.js → chunk-YEJIG7LN.js} +332 -332
  183. package/dist/chunk-YGDMBK7O.js +567 -0
  184. package/dist/{chunk-4WR7VSYB.js → chunk-YYB3MC65.js} +23 -9
  185. package/dist/{chunk-2IR2NMPA.js → chunk-ZIDFQJRB.js} +2 -2
  186. package/dist/{chunk-54CBCGIR.js → chunk-ZMZQEBKI.js} +136 -81
  187. package/dist/{chunk-6EJMN2Y3.js → chunk-ZTNFYMIO.js} +2 -2
  188. package/dist/{chunk-WEPFGWHJ.js → chunk-ZZFWWYLX.js} +2 -2
  189. package/dist/cli/index.js +45 -44
  190. package/dist/clio-5I2IBFYL.js +26 -0
  191. package/dist/{code-nav-MDZNQS33.js → code-nav-YXIAEZVS.js} +48 -32
  192. package/dist/codewiki/build-worker.js +76 -29
  193. package/dist/{compile-cache-OQAVB7Y5.js → compile-cache-WJEPUZEJ.js} +4 -4
  194. package/dist/{components-UCUQ4QXW.js → components-TNIKXCBH.js} +13 -14
  195. package/dist/{config-SVM5P5YI.js → config-Y2JDJ3JJ.js} +210 -119
  196. package/dist/configure-SML6UBZ5.js +55 -0
  197. package/dist/{context-2OHRKS42.js → context-P5YSEO55.js} +125 -115
  198. package/dist/{context-VNCR7KAG.js → context-QQ53HSGJ.js} +91 -62
  199. package/dist/{context-E3VC7RX5.js → context-S2EEC3EJ.js} +62 -31
  200. package/dist/context-clear-TMEQCOTH.js +183 -0
  201. package/dist/{context-index-HNG3MOME.js → context-index-HP2JFUWA.js} +13 -11
  202. package/dist/{context-map-COB37XXN.js → context-map-INTXD54D.js} +71 -21
  203. package/dist/{context-working-set-VDS25HXZ.js → context-working-set-CNLSQN5K.js} +31 -31
  204. package/dist/detail-5572VLBO.js +114 -0
  205. package/dist/{dispatch-runner-5AHT53RF.js → dispatch-runner-FRHD6P2O.js} +214 -126
  206. package/dist/{docs-PD3EXDKU.js → docs-BL7ROUFN.js} +5 -7
  207. package/dist/{doctor-WNNVO6FY.js → doctor-N3LCM2LG.js} +89 -66
  208. package/dist/{eval-7G7SGAYO.js → eval-BUU3ZOUZ.js} +493 -197
  209. package/dist/{eval-inventory-Y6QRFOH5.js → eval-inventory-QOYZERXJ.js} +7 -7
  210. package/dist/evidence-DTGEN456.js +224 -0
  211. package/dist/{evidence-VD6736FQ.js → evidence-SQ5DNFEN.js} +114 -195
  212. package/dist/{evolve-AL3NGVRL.js → evolve-IJNUFZDS.js} +107 -88
  213. package/dist/{extensions-MOVJ32NM.js → extensions-YVRHX6ZI.js} +16 -17
  214. package/dist/{fleet-QZHUMAGI.js → fleet-ZNNVSYFO.js} +147 -141
  215. package/dist/{fleet-commands-BAYT5FJZ.js → fleet-commands-5YE7NPJL.js} +27 -23
  216. package/dist/{fleet-decisions-IREVMRU4.js → fleet-decisions-3SBSCTCW.js} +16 -15
  217. package/dist/{fleet-graph-YCTT3HTI.js → fleet-graph-6HHPWF5T.js} +39 -38
  218. package/dist/{fleet-inspect-QVJTDAVB.js → fleet-inspect-JEYMGCGC.js} +107 -87
  219. package/dist/{fleet-new-RDVJLHHH.js → fleet-new-RCKGSRDV.js} +3 -3
  220. package/dist/{fleet-preflight-25QAFPK4.js → fleet-preflight-QRSHIIDE.js} +10 -10
  221. package/dist/{fleet-validate-5O57AAJ7.js → fleet-validate-4PM4GDDL.js} +46 -42
  222. package/dist/{fleet-verify-CPH2W2T6.js → fleet-verify-NJDTHTO3.js} +105 -85
  223. package/dist/fleet-view-UP2BWQQY.js +117 -0
  224. package/dist/{init-J477LKZH.js → init-S3GZQ5ZF.js} +123 -117
  225. package/dist/{install-NKNG7KD4.js → install-3RZDDP23.js} +5 -5
  226. package/dist/{interop-3FCM6XLG.js → interop-YOTGXFJM.js} +25 -26
  227. package/dist/inventory-K2OZ36YJ.js +117 -0
  228. package/dist/{library-QUQEIUG6.js → library-GJI6W6OK.js} +45 -45
  229. package/dist/{memory-SGGSEP65.js → memory-OQOXQGYD.js} +107 -90
  230. package/dist/{models-HEKUAXXK.js → models-3IK2Y5WE.js} +64 -65
  231. package/dist/{monitor-HKU57TYQ.js → monitor-FTJLTKCQ.js} +136 -101
  232. package/dist/{orchestrator-VDFAEFAI.js → orchestrator-N47O7SFD.js} +1442 -1671
  233. package/dist/{panes-DN2SSFOH.js → panes-7BTYH3XQ.js} +8 -8
  234. package/dist/{panes-TALGNPZT.js → panes-WPOMEMRH.js} +22 -23
  235. package/dist/{paths-NBMFAIEZ.js → paths-J3KN7UAO.js} +12 -13
  236. package/dist/preload-65U34NG6.js +115 -0
  237. package/dist/{registry-LG64LTF4.js → registry-DESGAXWK.js} +3 -3
  238. package/dist/{reset-EAJFFJVB.js → reset-MUVQDLNL.js} +20 -21
  239. package/dist/{resources-OVKSEFVE.js → resources-LM76COAO.js} +41 -40
  240. package/dist/{run-7DP7ZF2J.js → run-3VFZQ33N.js} +168 -166
  241. package/dist/{share-WML67FT3.js → share-4JUB4BL7.js} +43 -43
  242. package/dist/{skills-SG662R2K.js → skills-S36AAJHU.js} +47 -47
  243. package/dist/{skills-eval-VVZEUU46.js → skills-eval-G6T57L7M.js} +127 -104
  244. package/dist/{skills-inventory-I2E23GET.js → skills-inventory-WLM46PJH.js} +41 -40
  245. package/dist/slash-commands-GBARG3Y7.js +91 -0
  246. package/dist/{steer-2LQOMCPB.js → steer-S7D7IKPU.js} +7 -7
  247. package/dist/{support-CC2UJBJ6.js → support-5VAEC32W.js} +14 -14
  248. package/dist/{targets-4QC3HIEW.js → targets-N5REUETU.js} +147 -98
  249. package/dist/tasks-6BVY5YZF.js +36 -0
  250. package/dist/{terminal-lease-TUHIJ6Y2.js → terminal-lease-57UEOJKS.js} +12 -11
  251. package/dist/tools-6OCQ6SVB.js +28 -0
  252. package/dist/{trace-FXMXUZUF.js → trace-JHLXWUMN.js} +18 -17
  253. package/dist/{tree-sitter-HGKH6LG4.js → tree-sitter-AQUUOSYM.js} +6 -6
  254. package/dist/{tui-primitives-K5PASC3O.js → tui-primitives-RCY2HN7G.js} +3 -3
  255. package/dist/{uninstall-5PEVOE5B.js → uninstall-FXYMFFRT.js} +19 -20
  256. package/dist/{upgrade-M4WXY6KN.js → upgrade-4HD5HAIV.js} +49 -45
  257. package/dist/{usage-N7ZNVLEM.js → usage-4GWM2WWP.js} +143 -103
  258. package/dist/{verifiers-DJTP4XX6.js → verifiers-GSKWKWVG.js} +162 -28
  259. package/dist/verify-3AS3ULCY.js +30 -0
  260. package/dist/{version-KGEG7EPO.js → version-RFPKO6T7.js} +4 -4
  261. package/dist/{web-fetch-MPARV2K7.js → web-fetch-MQN4FH3X.js} +169 -18
  262. package/dist/wiki-generate-7BV7XWIY.js +614 -0
  263. package/dist/{with-panes-4GCGSL7J.js → with-panes-OFTNAR4Y.js} +34 -20
  264. package/dist/worker/entry.js +99 -85
  265. package/dist/{workspace-ZJ6BFM3Q.js → workspace-DZ7JADBG.js} +6 -6
  266. package/docs/README.md +10 -8
  267. package/docs/architecture/acp.md +27 -0
  268. package/docs/architecture/architecture.md +5 -5
  269. package/docs/architecture/artifact-versions.md +1 -1
  270. package/docs/architecture/context-engine.md +44 -59
  271. package/docs/architecture/context-working-set.md +7 -9
  272. package/docs/architecture/dispatch-architecture-rationale.md +1 -1
  273. package/docs/architecture/dispatch-typed-intent.md +1 -1
  274. package/docs/architecture/evidence-and-memory.md +11 -1
  275. package/docs/architecture/observability.md +7 -1
  276. package/docs/architecture/pi-boundary.md +37 -7
  277. package/docs/architecture/prompt-envelope-and-tools.md +22 -12
  278. package/docs/architecture/safety-model.md +10 -17
  279. package/docs/architecture/session-lifecycle.md +4 -4
  280. package/docs/architecture/tui-design.md +1 -1
  281. package/docs/architecture/worker-dispatch-mechanics.md +4 -0
  282. package/docs/guide/built-in-agents.md +8 -8
  283. package/docs/guide/commands-and-modes.md +66 -38
  284. package/docs/guide/configuration-and-targets.md +10 -3
  285. package/docs/guide/configuration-reference.md +23 -8
  286. package/docs/guide/environment-variables.md +8 -4
  287. package/docs/guide/fleet-dispatch.md +12 -0
  288. package/docs/guide/installation-and-lifecycle.md +35 -9
  289. package/docs/guide/proactive-memory.md +1 -1
  290. package/docs/guide/skills-marketplace.md +11 -3
  291. package/docs/guide/tool-usage.md +87 -5
  292. package/docs/history/config-knobs-audit.md +2 -2
  293. package/docs/process/development-pipeline.md +15 -10
  294. package/docs/process/documentation-guide.md +2 -2
  295. package/docs/process/eval-runner.md +15 -0
  296. package/docs/process/evals-internal.md +1 -1
  297. package/docs/process/git-commit-provenance.md +15 -0
  298. package/docs/process/release-cut-checklist.md +207 -0
  299. package/docs/process/scientific-validation.md +18 -17
  300. package/evals/README.md +4 -0
  301. package/evals/behavioral-corpus-grader.mjs +147 -14
  302. package/evals/behavioral-machinery-support.ts +1 -0
  303. package/evals/behavioral-machinery.yaml +1 -1
  304. package/evals/behavioral-model-negative-control.yaml +1 -0
  305. package/evals/behavioral-model.yaml +266 -1
  306. package/evals/fixtures/docs-retrieval.json +102 -0
  307. package/evals/fixtures/scalar-decision.json +17 -0
  308. package/evals/fixtures/scout-citation-pipeline.json +55 -0
  309. package/evals/fixtures/source-explanation.json +74 -0
  310. package/evals/fixtures/tool-arguments.json +18 -0
  311. package/evals/fixtures/tool-surface/read.txt +4 -0
  312. package/evals/fixtures/tool-surface/subdir/keep.txt +1 -0
  313. package/evals/no-edit-memory-grader.mjs +149 -0
  314. package/evals/scalar-decision-grader.py +41 -0
  315. package/evals/scalar-decision-machinery.ts +145 -0
  316. package/evals/source-explanation-grader.mjs +118 -0
  317. package/evals/tool-surface-grader.mjs +53 -0
  318. package/evals/tool-surface-model.yaml +274 -0
  319. package/package.json +14 -14
  320. package/skills/README.md +6 -6
  321. package/skills/coding/coding-standards/SKILL.md +14 -4
  322. package/skills/context/context-handoff/SKILL.md +3 -3
  323. package/skills/context/context-prime/SKILL.md +3 -3
  324. package/skills/planning/architecture/SKILL.md +5 -5
  325. package/skills/planning/backlog/SKILL.md +4 -4
  326. package/skills/planning/prd/SKILL.md +4 -3
  327. package/skills/planning/product-intent/SKILL.md +8 -8
  328. package/skills/planning/tech-spec/SKILL.md +4 -4
  329. package/skills/registry.yaml +33 -33
  330. package/skills/research/arxiv-literature/SKILL.md +3 -3
  331. package/skills/research/experiment-protocol/SKILL.md +3 -3
  332. package/skills/research/scientific-debugging/SKILL.md +3 -2
  333. package/skills/research/scientific-modernization/SKILL.md +3 -3
  334. package/skills/skill-marketplace.json +17 -17
  335. package/skills/workflow/cut-it/SKILL.md +3 -4
  336. package/skills/workflow/design-council/SKILL.md +5 -10
  337. package/skills/workflow/grill-me/SKILL.md +14 -15
  338. package/skills/workflow/workflow-distiller/SKILL.md +4 -4
  339. package/src/cli/args.ts +0 -8
  340. package/src/cli/bootstrap-generate.ts +6 -0
  341. package/src/cli/config-inspect.ts +24 -7
  342. package/src/cli/config-trust.ts +62 -0
  343. package/src/cli/config.ts +8 -0
  344. package/src/cli/configure.ts +2 -1
  345. package/src/cli/context-map.ts +75 -14
  346. package/src/cli/context.ts +46 -17
  347. package/src/cli/doctor-state-size.ts +1 -12
  348. package/src/cli/doctor-validation-contract.ts +28 -0
  349. package/src/cli/doctor.ts +5 -0
  350. package/src/cli/eval.ts +17 -3
  351. package/src/cli/evidence-detail.ts +1 -75
  352. package/src/cli/evidence-inventory.ts +1 -167
  353. package/src/cli/index.ts +2 -0
  354. package/src/cli/modes/print.ts +32 -4
  355. package/src/cli/run.ts +16 -16
  356. package/src/cli/skills-eval.ts +10 -8
  357. package/src/cli/steer-channel.ts +31 -18
  358. package/src/cli/targets.ts +84 -32
  359. package/src/cli/tasks.ts +93 -0
  360. package/src/cli/upgrade.ts +19 -11
  361. package/src/cli/usage.ts +30 -0
  362. package/src/cli/verifiers.ts +147 -1
  363. package/src/cli/wiki-generate.ts +240 -96
  364. package/src/core/bash-exec.ts +43 -15
  365. package/src/core/bus-events.ts +15 -0
  366. package/src/core/commit-attribution.ts +41 -1
  367. package/src/core/config.ts +33 -14
  368. package/src/core/defaults.ts +5 -4
  369. package/src/core/file-references.ts +11 -1
  370. package/src/core/git-commit-attribution.ts +46 -3
  371. package/src/core/incomplete-installation.ts +3 -1
  372. package/src/core/run-overrides.ts +0 -5
  373. package/src/core/settings-layers.ts +21 -5
  374. package/src/core/skill-activation.ts +3 -0
  375. package/src/core/termination.ts +26 -9
  376. package/src/core/tool-names.ts +5 -2
  377. package/src/core/untrusted-content.ts +16 -0
  378. package/src/core/workspace-trust.ts +179 -0
  379. package/src/domains/agents/builtins/architect.md +1 -1
  380. package/src/domains/agents/builtins/coder.md +5 -3
  381. package/src/domains/agents/builtins/context-bootstrap.md +3 -1
  382. package/src/domains/agents/builtins/documenter.md +8 -5
  383. package/src/domains/agents/builtins/git-master.md +1 -1
  384. package/src/domains/agents/builtins/provenance.md +7 -7
  385. package/src/domains/agents/builtins/researcher.md +1 -0
  386. package/src/domains/agents/builtins/scout.md +7 -1
  387. package/src/domains/agents/builtins/tester.md +1 -1
  388. package/src/domains/agents/builtins/verifier.md +2 -2
  389. package/src/domains/agents/builtins/wiki-writer.md +4 -3
  390. package/src/domains/agents/result-contract.ts +199 -26
  391. package/src/domains/context/bootstrap-prompt.ts +11 -9
  392. package/src/domains/context/bootstrap.ts +74 -39
  393. package/src/domains/context/clio-md.ts +88 -26
  394. package/src/domains/context/codewiki/build-operation.ts +121 -0
  395. package/src/domains/context/codewiki/build-worker-protocol.ts +37 -3
  396. package/src/domains/context/codewiki/build-worker.ts +3 -35
  397. package/src/domains/context/codewiki/coordinator.ts +36 -6
  398. package/src/domains/context/codewiki/indexer.ts +59 -19
  399. package/src/domains/context/contract.ts +6 -2
  400. package/src/domains/context/extension.ts +97 -11
  401. package/src/domains/context/fingerprint.ts +39 -34
  402. package/src/domains/context/index.ts +7 -1
  403. package/src/domains/context/prompt-context.ts +55 -14
  404. package/src/domains/context/refresh.ts +12 -57
  405. package/src/domains/context/wiki/assemble.ts +14 -10
  406. package/src/domains/context/wiki/evidence.ts +209 -0
  407. package/src/domains/context/wiki/frontmatter.ts +5 -2
  408. package/src/domains/context/wiki/generate.ts +207 -67
  409. package/src/domains/context/wiki/meta.ts +10 -2
  410. package/src/domains/context/wiki/plan-store.ts +70 -14
  411. package/src/domains/context/wiki/plan.ts +71 -14
  412. package/src/domains/context/wiki/prompts.ts +85 -1
  413. package/src/domains/context/wiki/source-content.ts +106 -0
  414. package/src/domains/context/wiki/staleness.ts +33 -22
  415. package/src/domains/context/working-set/contract.ts +8 -2
  416. package/src/domains/context/working-set/engine.ts +17 -4
  417. package/src/domains/context/working-set/fold.ts +15 -2
  418. package/src/domains/context/working-set/marker.ts +2 -1
  419. package/src/domains/context/working-set/project.ts +18 -7
  420. package/src/domains/context/working-set/recall.ts +82 -56
  421. package/src/domains/dispatch/active-route-planner.ts +10 -3
  422. package/src/domains/dispatch/admission-queue.ts +19 -7
  423. package/src/domains/dispatch/admission.ts +3 -3
  424. package/src/domains/dispatch/budget-envelope.ts +47 -82
  425. package/src/domains/dispatch/capacity-lease.ts +57 -19
  426. package/src/domains/dispatch/code-step.ts +11 -4
  427. package/src/domains/dispatch/contract.ts +41 -9
  428. package/src/domains/dispatch/event-pump.ts +28 -7
  429. package/src/domains/dispatch/execution-role.ts +49 -2
  430. package/src/domains/dispatch/execution-scheduler.ts +4 -0
  431. package/src/domains/dispatch/extension.ts +240 -132
  432. package/src/domains/dispatch/fleet-commit-attribution.ts +5 -0
  433. package/src/domains/dispatch/fleet-run.ts +21 -0
  434. package/src/domains/dispatch/gate-role-prompts.ts +4 -2
  435. package/src/domains/dispatch/host-verification.ts +114 -13
  436. package/src/domains/dispatch/intent.ts +28 -18
  437. package/src/domains/dispatch/orphan-recovery.ts +2 -0
  438. package/src/domains/dispatch/parallel-writers.ts +34 -0
  439. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  440. package/src/domains/dispatch/reservation-store.ts +13 -37
  441. package/src/domains/dispatch/route-approval.ts +3 -3
  442. package/src/domains/dispatch/route-observer.ts +4 -2
  443. package/src/domains/dispatch/route-quality.ts +6 -1
  444. package/src/domains/dispatch/state.ts +15 -2
  445. package/src/domains/dispatch/types.ts +21 -5
  446. package/src/domains/dispatch/worker-spawn.ts +58 -21
  447. package/src/domains/dispatch/workspace-checkpoint.ts +57 -0
  448. package/src/domains/eval/compare/behavioral.ts +81 -14
  449. package/src/domains/eval/compare/compare.ts +15 -5
  450. package/src/domains/eval/compare/envelope.ts +12 -5
  451. package/src/domains/eval/metrics/context.ts +24 -1
  452. package/src/domains/eval/metrics/tracked.ts +4 -28
  453. package/src/domains/eval/reports/comparison.ts +9 -9
  454. package/src/domains/eval/runners/clio-run.ts +17 -10
  455. package/src/domains/eval/runners/context-index.ts +2 -7
  456. package/src/domains/eval/runners/context-init.ts +3 -6
  457. package/src/domains/eval/runners/external-command.ts +29 -11
  458. package/src/domains/eval/schema/suite.ts +2 -0
  459. package/src/domains/eval/schema/validate.ts +1 -0
  460. package/src/domains/eval/suites/run.ts +189 -13
  461. package/src/domains/eval/verifiers/integrity.ts +39 -0
  462. package/src/domains/eval/verifiers/patch.ts +58 -2
  463. package/src/domains/eval/workspaces/temp-copy.ts +3 -0
  464. package/src/domains/evidence/build.ts +106 -17
  465. package/src/domains/evidence/detail.ts +69 -0
  466. package/src/domains/evidence/eval.ts +13 -1
  467. package/src/domains/evidence/finish-contract-map.ts +5 -1
  468. package/src/domains/evidence/inventory.ts +167 -0
  469. package/src/domains/evidence/store.ts +16 -0
  470. package/src/domains/evidence/types.ts +12 -0
  471. package/src/domains/extensions/resources.ts +7 -0
  472. package/src/domains/interop/registry.ts +2 -2
  473. package/src/domains/middleware/hooks-io.ts +45 -26
  474. package/src/domains/middleware/hooks.ts +6 -0
  475. package/src/domains/middleware/injection-screen.ts +23 -0
  476. package/src/domains/middleware/marketplace-offer.ts +20 -1
  477. package/src/domains/middleware/rules.ts +5 -1
  478. package/src/domains/middleware/runtime.ts +7 -3
  479. package/src/domains/middleware/stalled-turn.ts +18 -3
  480. package/src/domains/middleware/task-board-reminder.ts +4 -2
  481. package/src/domains/middleware/task-nudge.ts +4 -1
  482. package/src/domains/mux/contract.ts +34 -1
  483. package/src/domains/mux/detect.ts +3 -6
  484. package/src/domains/mux/dock-controller.ts +8 -1
  485. package/src/domains/mux/index.ts +1 -0
  486. package/src/domains/mux/socket-client.ts +13 -3
  487. package/src/domains/observability/accountability.ts +15 -1
  488. package/src/domains/observability/contract.ts +54 -9
  489. package/src/domains/observability/evidence-index.ts +10 -0
  490. package/src/domains/observability/extension.ts +9 -5
  491. package/src/domains/observability/projection.ts +423 -53
  492. package/src/{interactive → domains/observability}/worker-progress.ts +3 -3
  493. package/src/domains/prompts/compiler.ts +10 -2
  494. package/src/domains/prompts/contract.ts +7 -4
  495. package/src/domains/prompts/extension.ts +28 -64
  496. package/src/domains/prompts/fragments/identity/clio.md +23 -0
  497. package/src/domains/prompts/fragments/operating/contract.md +12 -0
  498. package/src/domains/prompts/fragments/operating/delegation.md +5 -0
  499. package/src/domains/prompts/fragments/wiki/page.md +36 -15
  500. package/src/domains/prompts/fragments/wiki/plan.md +4 -4
  501. package/src/domains/prompts/preload-prefix.ts +31 -0
  502. package/src/domains/prompts/preload.ts +135 -61
  503. package/src/domains/providers/auth/backend-file.ts +15 -11
  504. package/src/domains/providers/auth/storage.ts +3 -5
  505. package/src/domains/providers/catalog.ts +18 -3
  506. package/src/domains/providers/model-discovery.ts +1 -4
  507. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +16 -14
  508. package/src/domains/providers/runtime-resolution.ts +11 -9
  509. package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
  510. package/src/domains/providers/runtimes/cloud/openrouter.ts +2 -0
  511. package/src/domains/providers/support.ts +1 -1
  512. package/src/domains/providers/types/runtime-descriptor.ts +1 -1
  513. package/src/domains/resources/skills/promotion.ts +8 -1
  514. package/src/domains/safety/action-classifier.ts +16 -0
  515. package/src/domains/safety/autonomy.ts +10 -1
  516. package/src/domains/safety/contract.ts +5 -1
  517. package/src/domains/safety/default-path-policy.ts +13 -0
  518. package/src/domains/safety/extension.ts +11 -2
  519. package/src/domains/safety/finish-contract-registration.ts +29 -14
  520. package/src/domains/safety/finish-contract.ts +252 -40
  521. package/src/domains/safety/index.ts +20 -1
  522. package/src/domains/safety/policy-engine.ts +211 -34
  523. package/src/domains/safety/project-policy.ts +7 -2
  524. package/src/domains/safety/rigor.ts +53 -39
  525. package/src/domains/safety/validation-contract.ts +388 -0
  526. package/src/domains/safety/workspace-trust.ts +43 -0
  527. package/src/domains/session/archive-readers.ts +10 -1
  528. package/src/domains/session/compaction/compact.ts +384 -21
  529. package/src/domains/session/compaction/cut-point.ts +42 -5
  530. package/src/domains/session/compaction/tokens.ts +9 -1
  531. package/src/domains/session/decision-board.ts +137 -28
  532. package/src/domains/session/entries.ts +213 -11
  533. package/src/domains/session/extension.ts +4 -4
  534. package/src/domains/session/handoff.ts +2 -1
  535. package/src/domains/session/manager.ts +2 -3
  536. package/src/domains/session/prompt-manifest.ts +47 -8
  537. package/src/domains/session/task-board.ts +32 -1
  538. package/src/domains/session/tree/fork.ts +1 -2
  539. package/src/domains/session/tree/navigator.ts +1 -1
  540. package/src/domains/user-tasks/acceptance.ts +56 -0
  541. package/src/domains/user-tasks/active-acceptance.ts +40 -0
  542. package/src/domains/user-tasks/handoff.ts +16 -0
  543. package/src/domains/user-tasks/store.ts +34 -3
  544. package/src/engine/acp/adapter.ts +60 -10
  545. package/src/engine/acp/server.ts +22 -4
  546. package/src/engine/acp/transport.ts +55 -9
  547. package/src/engine/acp/types.ts +9 -0
  548. package/src/engine/antigravity/subprocess-runtime.ts +20 -4
  549. package/src/engine/api-registry.ts +19 -2
  550. package/src/engine/apis/ollama-native.ts +15 -0
  551. package/src/engine/apis/openai-completions.ts +13 -6
  552. package/src/engine/apis/output-budget.ts +26 -10
  553. package/src/engine/claude/sdk-runtime.ts +4 -3
  554. package/src/engine/claude/subprocess-runtime.ts +107 -60
  555. package/src/engine/env-api-keys.ts +2 -1
  556. package/src/engine/external-subprocess.ts +26 -7
  557. package/src/engine/loop-guard.ts +19 -2
  558. package/src/engine/provider-diagnostics.ts +129 -0
  559. package/src/engine/provider-payload.ts +3 -1
  560. package/src/engine/worker-runtime.ts +13 -2
  561. package/src/engine/worker-tools.ts +5 -1
  562. package/src/entry/extension-reload.ts +1 -0
  563. package/src/entry/orchestrator.ts +64 -17
  564. package/src/interactive/chat-loop-messages.ts +12 -4
  565. package/src/interactive/chat-loop.ts +115 -45
  566. package/src/interactive/chat-renderer.ts +60 -0
  567. package/src/interactive/context-recall-command.ts +2 -1
  568. package/src/interactive/dispatch-board.ts +58 -714
  569. package/src/interactive/editor-submit.ts +13 -0
  570. package/src/interactive/fleet-run-preview.ts +2 -1
  571. package/src/interactive/interactive-application.ts +11 -4
  572. package/src/interactive/interactive-event-projection.ts +7 -1
  573. package/src/interactive/interactive-presentation.ts +63 -12
  574. package/src/interactive/interactive-slash-runtime.ts +4 -1
  575. package/src/interactive/layout.ts +2 -1
  576. package/src/interactive/model-session-replay.ts +2 -2
  577. package/src/interactive/oracle.ts +5 -2
  578. package/src/interactive/overlay-frame.ts +1 -0
  579. package/src/interactive/overlay-general-openers.ts +3 -1
  580. package/src/interactive/overlay-session-lifecycle.ts +6 -0
  581. package/src/interactive/overlays/ask-user.ts +1 -0
  582. package/src/interactive/overlays/fleet-run-approval.ts +3 -2
  583. package/src/interactive/overlays/message-picker.ts +3 -3
  584. package/src/interactive/overlays/settings.ts +2 -2
  585. package/src/interactive/overlays/tree-selector.ts +2 -2
  586. package/src/interactive/renderers/branch-summary.ts +1 -1
  587. package/src/interactive/renderers/tool-execution.ts +17 -1
  588. package/src/interactive/renderers/worker-entry.ts +25 -10
  589. package/src/interactive/slash-autocomplete.ts +4 -6
  590. package/src/interactive/slash-commands.ts +31 -43
  591. package/src/interactive/slash-spec.ts +28 -0
  592. package/src/interactive/turn-context.ts +221 -53
  593. package/src/interactive/turn-middleware.ts +3 -1
  594. package/src/interactive/turn-persistence.ts +3 -0
  595. package/src/interactive/turn-runtime.ts +11 -2
  596. package/src/interactive/turn-state.ts +10 -9
  597. package/src/interactive/view/artifacts.ts +2 -0
  598. package/src/interactive/watch-pane.ts +18 -4
  599. package/src/interactive/worker-stream.ts +14 -10
  600. package/src/tools/agent-tools.ts +6 -3
  601. package/src/tools/bash.ts +1 -1
  602. package/src/tools/bootstrap.ts +4 -0
  603. package/src/tools/builtin-tool-catalog.ts +40 -2
  604. package/src/tools/codewiki/code-nav.ts +4 -10
  605. package/src/tools/compete-judge-task.ts +71 -0
  606. package/src/tools/compete-worktrees.ts +41 -1
  607. package/src/tools/context/index.ts +32 -7
  608. package/src/tools/context/surface.ts +15 -4
  609. package/src/tools/core-bootstrap.ts +16 -0
  610. package/src/tools/decide.ts +136 -0
  611. package/src/tools/dispatch-admission.ts +33 -1
  612. package/src/tools/dispatch-arguments.ts +38 -1
  613. package/src/tools/dispatch-plan.ts +12 -9
  614. package/src/tools/dispatch-runner.ts +63 -33
  615. package/src/tools/dispatch-schema.ts +30 -23
  616. package/src/tools/dispatch-scout-admission.ts +10 -44
  617. package/src/tools/dispatch-scout.ts +2 -3
  618. package/src/tools/dispatch-types.ts +6 -0
  619. package/src/tools/evidence.ts +96 -0
  620. package/src/tools/find.ts +13 -4
  621. package/src/tools/grep.ts +13 -1
  622. package/src/tools/limitation.ts +76 -0
  623. package/src/tools/ls.ts +7 -1
  624. package/src/tools/monitor.ts +26 -11
  625. package/src/tools/network-policy.ts +11 -24
  626. package/src/tools/observation.ts +39 -2
  627. package/src/tools/policy.ts +9 -0
  628. package/src/tools/presentation.ts +3 -0
  629. package/src/tools/read.ts +112 -15
  630. package/src/tools/registry.ts +55 -18
  631. package/src/tools/result-shaping.ts +127 -7
  632. package/src/tools/task-worktree.ts +13 -3
  633. package/src/tools/tasks.ts +40 -5
  634. package/src/tools/verify/authoring.ts +170 -83
  635. package/src/tools/verify/catalog.ts +122 -5
  636. package/src/tools/verify/frontend.ts +67 -30
  637. package/src/tools/verify/index.ts +2 -1
  638. package/src/tools/verify/numeric.ts +303 -0
  639. package/src/tools/verify/perf.ts +143 -0
  640. package/src/tools/verify/scripts.ts +229 -2
  641. package/src/tools/web-fetch-network.ts +179 -0
  642. package/src/tools/web-fetch-surface.ts +2 -1
  643. package/src/tools/web-fetch.ts +15 -13
  644. package/src/tools/worker-evidence.ts +27 -0
  645. package/src/worker/spec-contract.ts +12 -8
  646. package/dist/builtins-IA7V7FUC.js +0 -22
  647. package/dist/chunk-2WZ546HR.js +0 -792
  648. package/dist/chunk-5PSMVOLM.js +0 -56
  649. package/dist/chunk-7DICMOS6.js +0 -313
  650. package/dist/chunk-BEPZRGGU.js +0 -1560
  651. package/dist/chunk-JVCV3ICN.js +0 -47
  652. package/dist/chunk-KK4JZPBQ.js +0 -3982
  653. package/dist/chunk-MNJGS2IN.js +0 -33
  654. package/dist/chunk-NDINPTJ4.js +0 -641
  655. package/dist/chunk-O5CVSAG5.js +0 -122
  656. package/dist/chunk-OQE5J4C6.js +0 -73
  657. package/dist/chunk-RVG5JXAL.js +0 -41
  658. package/dist/chunk-T56WDKA5.js +0 -183
  659. package/dist/chunk-UUVG37B4.js +0 -244
  660. package/dist/chunk-VPKWYKEY.js +0 -169
  661. package/dist/chunk-Y3CBHOR6.js +0 -228
  662. package/dist/clio-CMMK4KRR.js +0 -25
  663. package/dist/configure-LE3IK2TJ.js +0 -56
  664. package/dist/context-clear-BW4O37TG.js +0 -176
  665. package/dist/fleet-view-SWBR3VGQ.js +0 -97
  666. package/dist/preload-P6DGH2PZ.js +0 -13
  667. package/dist/slash-commands-S7MBJDQK.js +0 -83
  668. package/dist/tools-TFGJICCU.js +0 -29
  669. package/dist/verify-RWE4PPEK.js +0 -27
  670. package/dist/wiki-generate-C7IQOXSP.js +0 -469
@@ -1,34 +1,48 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  appendOutOfTurnUsageRow,
4
- readEvidenceIndex,
4
+ readAccountabilitySummary,
5
5
  writeEvidenceIndexRowQueued
6
- } from "./chunk-VA5FNYMT.js";
6
+ } from "./chunk-HR3HPQ76.js";
7
7
  import {
8
- FAILURE_CAUSE_TAGS,
9
- buildEvidence,
10
- createCostTracker
11
- } from "./chunk-AF4YM7Z4.js";
8
+ createWorkerProgressFold
9
+ } from "./chunk-O2RQ7LCK.js";
10
+ import {
11
+ truncateToWidth
12
+ } from "./chunk-QRFXEO6Y.js";
12
13
  import {
13
14
  createDispatchTraceMirror,
14
15
  traceDatabasePath
15
- } from "./chunk-VKPAQYEB.js";
16
+ } from "./chunk-LZBMXNLP.js";
17
+ import {
18
+ buildEvidence,
19
+ createCostTracker
20
+ } from "./chunk-SDWNDICN.js";
21
+ import {
22
+ summarizeTrustStatus
23
+ } from "./chunk-6CDNRHWH.js";
16
24
  import {
17
25
  uncachedPrefillTokens
18
- } from "./chunk-3DPEIQKN.js";
26
+ } from "./chunk-QH3ZTUOA.js";
27
+ import {
28
+ cloneRunToolBudgetEnvelope
29
+ } from "./chunk-TZ7MFRG4.js";
30
+ import {
31
+ sanitizeCallTargetText
32
+ } from "./chunk-2GPGAE5W.js";
19
33
  import {
20
34
  resolveCostProvenance
21
- } from "./chunk-XPWWI35G.js";
35
+ } from "./chunk-TEG3RYVZ.js";
22
36
  import {
23
37
  BusChannels
24
- } from "./chunk-F4EKGO4N.js";
38
+ } from "./chunk-HL26ADLH.js";
25
39
  import {
26
40
  clioDataDir,
27
41
  clioStateDir
28
- } from "./chunk-BYP5D4HI.js";
42
+ } from "./chunk-CTTI7G3T.js";
29
43
  import {
30
44
  init_esm_shims
31
- } from "./chunk-3R73A4XB.js";
45
+ } from "./chunk-ECBHH7LU.js";
32
46
 
33
47
  // src/domains/observability/index.ts
34
48
  init_esm_shims();
@@ -36,31 +50,6 @@ init_esm_shims();
36
50
  // src/domains/observability/extension.ts
37
51
  init_esm_shims();
38
52
 
39
- // src/domains/observability/accountability.ts
40
- init_esm_shims();
41
- function summarizeEvidenceIndex(rows) {
42
- const totalRuns = rows.length;
43
- let firstPassRuns = 0;
44
- const counts = /* @__PURE__ */ new Map();
45
- for (const row of rows) {
46
- if (row.firstPassSuccess) firstPassRuns += 1;
47
- for (const tag of row.tags) {
48
- if (!FAILURE_CAUSE_TAGS.has(tag)) continue;
49
- counts.set(tag, (counts.get(tag) ?? 0) + 1);
50
- }
51
- }
52
- const failureCauses = [...counts.entries()].map(([tag, count]) => ({ tag, count })).sort((a, b) => b.count !== a.count ? b.count - a.count : a.tag.localeCompare(b.tag));
53
- return {
54
- totalRuns,
55
- firstPassRuns,
56
- firstPassRate: totalRuns === 0 ? 0 : firstPassRuns / totalRuns,
57
- failureCauses
58
- };
59
- }
60
- function readAccountabilitySummary(stateDir) {
61
- return summarizeEvidenceIndex(readEvidenceIndex(stateDir));
62
- }
63
-
64
53
  // src/domains/observability/metrics.ts
65
54
  init_esm_shims();
66
55
  function percentile(sorted, p) {
@@ -87,6 +76,7 @@ function aggregateMetrics(snap) {
87
76
 
88
77
  // src/domains/observability/projection.ts
89
78
  init_esm_shims();
79
+ import { performance } from "node:perf_hooks";
90
80
 
91
81
  // src/core/dispatch-outcome.ts
92
82
  init_esm_shims();
@@ -125,8 +115,122 @@ function makeRef(parts) {
125
115
  }
126
116
  return Object.keys(ref).length > 0 ? ref : void 0;
127
117
  }
118
+ var TASK_SUMMARY_MAX_WIDTH = 240;
119
+ function finiteOrZero(value) {
120
+ return num(value, 0);
121
+ }
122
+ function parseRuntimeKind(value) {
123
+ if (value === "sdk" || value === "subprocess" || value === "acp-delegation") return value;
124
+ return "http";
125
+ }
126
+ function parseAgentAudience(value, fallback) {
127
+ if (value === "base" || value === "shadow" || value === "custom" || value === "internal") return value;
128
+ return fallback;
129
+ }
130
+ function parseRequestOrigin(value, fallback) {
131
+ if (value === "user" || value === "agent" || value === "internal") return value;
132
+ return fallback;
133
+ }
134
+ function parseNonEmptyString(value) {
135
+ return typeof value === "string" && value.length > 0 ? value : void 0;
136
+ }
137
+ function parseTaskSummary(raw, fallback) {
138
+ return sanitizeDispatchTaskSummary(raw.task) ?? sanitizeDispatchTaskSummary(raw.taskSummary) ?? fallback;
139
+ }
140
+ function parsePositiveInt(value) {
141
+ return typeof value === "number" && Number.isFinite(value) && value > 0 ? Math.floor(value) : void 0;
142
+ }
143
+ function parseGateBadge(value) {
144
+ if (typeof value !== "object" || value === null) return void 0;
145
+ const record = value;
146
+ if (typeof record.role !== "string" || record.role.length === 0) return void 0;
147
+ const cycle = parsePositiveInt(record.cycle) ?? 1;
148
+ return { role: record.role, cycle };
149
+ }
150
+ function parseEndpointCapacity(value) {
151
+ if (typeof value !== "object" || value === null) return void 0;
152
+ const record = value;
153
+ const key = parseNonEmptyString(record.key);
154
+ const label = parseNonEmptyString(record.label);
155
+ const limit = parsePositiveInt(record.limit);
156
+ return key === void 0 || label === void 0 || limit === void 0 ? void 0 : { key, label, limit };
157
+ }
158
+ function parseCouncilBadge(value) {
159
+ if (typeof value !== "object" || value === null) return void 0;
160
+ const record = value;
161
+ const group = parseNonEmptyString(record.group);
162
+ const label = parseNonEmptyString(record.label);
163
+ const round = parsePositiveInt(record.round);
164
+ if (group === void 0 || label === void 0 || round === void 0) return void 0;
165
+ return {
166
+ group,
167
+ label,
168
+ ...typeof record.color === "string" && record.color.length > 0 ? { color: record.color } : {},
169
+ round
170
+ };
171
+ }
172
+ function sanitizeDispatchTaskSummary(value) {
173
+ if (typeof value !== "string") return void 0;
174
+ const sanitized = sanitizeCallTargetText(value);
175
+ if (sanitized.length === 0) return void 0;
176
+ return sanitizeCallTargetText(truncateToWidth(sanitized, TASK_SUMMARY_MAX_WIDTH, "\u2026", false));
177
+ }
178
+ function parseRetrySnapshot(value) {
179
+ const attempt = parsePositiveInt(value.attempt);
180
+ const dueAtMs = Date.parse(value.dueAt);
181
+ if (attempt === void 0 || !Number.isFinite(dueAtMs)) return null;
182
+ return {
183
+ attempt,
184
+ dueAtMs,
185
+ reason: sanitizeCallTargetText(value.reason)
186
+ };
187
+ }
188
+ function readRetrySnapshot(snapshot) {
189
+ const retrying = /* @__PURE__ */ new Map();
190
+ try {
191
+ for (const value of snapshot.retrying) {
192
+ const runId = asRunId(value.runId);
193
+ const agentId = parseNonEmptyString(value.agentId);
194
+ const retry = parseRetrySnapshot(value);
195
+ const taskSummary = sanitizeDispatchTaskSummary(value.task);
196
+ if (runId && agentId && retry) {
197
+ retrying.set(runId, {
198
+ agentId,
199
+ ...taskSummary !== void 0 ? { taskSummary } : {},
200
+ retry
201
+ });
202
+ }
203
+ }
204
+ } catch {
205
+ }
206
+ return retrying;
207
+ }
208
+ function readRunningSnapshot(snapshot) {
209
+ const running = /* @__PURE__ */ new Map();
210
+ try {
211
+ for (const value of snapshot.running) {
212
+ const runId = asRunId(value.runId);
213
+ if (!runId) continue;
214
+ const budget = cloneRunToolBudgetEnvelope(value.budget);
215
+ running.set(runId, {
216
+ inputTokens: finiteOrZero(value.tokens.input),
217
+ outputTokens: finiteOrZero(value.tokens.output),
218
+ tokenCount: finiteOrZero(value.tokens.total),
219
+ costUsd: finiteOrZero(value.costUsd),
220
+ costProvenance: value.costProvenance ?? "unknown",
221
+ outcomePhase: value.outcomePhase,
222
+ ...budget !== void 0 ? { budget } : {}
223
+ });
224
+ }
225
+ } catch {
226
+ }
227
+ return running;
228
+ }
128
229
  function createObservabilityProjection(bus, deps) {
129
230
  const runs = /* @__PURE__ */ new Map();
231
+ const terminalHistory = /* @__PURE__ */ new Set();
232
+ const fleetPhases = /* @__PURE__ */ new Map();
233
+ let runReaders = deps;
130
234
  const notices = [];
131
235
  const providerHealth = /* @__PURE__ */ new Map();
132
236
  const pendingEvidence = /* @__PURE__ */ new Set();
@@ -151,7 +255,14 @@ function createObservabilityProjection(bus, deps) {
151
255
  accountability,
152
256
  // Newest-first: Map preserves first-seen (enqueue) order, so reversing
153
257
  // surfaces the most recently started runs at the head of the list.
154
- runs: [...runs.values()].reverse(),
258
+ runs: [...runs.values()].reverse().map((entry) => {
259
+ const { progressFold, startedAtClockMs: _clock, ...summary } = entry;
260
+ return structuredClone({
261
+ ...summary,
262
+ status: entry.retry ? "retrying" : entry.status,
263
+ progress: progressFold.snapshot()
264
+ });
265
+ }),
155
266
  providerHealth: providerHealthRecord,
156
267
  notices: [...notices],
157
268
  pendingEvidenceBuildRunIds: [...pendingEvidence]
@@ -176,21 +287,37 @@ function createObservabilityProjection(bus, deps) {
176
287
  flushTimer.unref?.();
177
288
  }
178
289
  function markChanged() {
290
+ for (const [runId, summary] of runs) {
291
+ if (isTerminal(summary.status) && (summary.status !== "dead" || summary.finishedAtMs !== null) && !summary.retry) {
292
+ terminalHistory.add(runId);
293
+ } else {
294
+ terminalHistory.delete(runId);
295
+ }
296
+ }
297
+ while (terminalHistory.size > MAX_PROJECTION_RUNS) {
298
+ const oldest = terminalHistory.values().next().value;
299
+ if (oldest === void 0) break;
300
+ terminalHistory.delete(oldest);
301
+ runs.delete(oldest);
302
+ fleetPhases.delete(oldest);
303
+ }
179
304
  revision += 1;
180
305
  scheduleFlush();
181
306
  }
182
307
  function putRun(runId, summary) {
183
308
  runs.set(runId, summary);
184
- while (runs.size > MAX_PROJECTION_RUNS) {
185
- const oldest = runs.keys().next().value;
186
- if (oldest === void 0) break;
187
- runs.delete(oldest);
188
- }
189
309
  }
190
310
  function emptyRun(runId, now) {
311
+ const phase = fleetPhases.get(runId);
191
312
  return {
192
313
  runId,
193
314
  agentId: "-",
315
+ runtimeKind: "http",
316
+ progressFold: createWorkerProgressFold(),
317
+ startedAtClockMs: null,
318
+ ttftMs: null,
319
+ lastContextTokens: 0,
320
+ ...phase !== void 0 ? { phase: { ...phase } } : {},
194
321
  status: "enqueued",
195
322
  startedAtMs: now,
196
323
  updatedAtMs: now,
@@ -202,11 +329,25 @@ function createObservabilityProjection(bus, deps) {
202
329
  };
203
330
  }
204
331
  function applyIdentity(summary, id) {
332
+ delete summary.trust;
205
333
  if (typeof id.agentId === "string" && id.agentId.length > 0) summary.agentId = id.agentId;
206
334
  if (typeof id.targetId === "string" && id.targetId.length > 0) summary.targetId = id.targetId;
207
335
  if (typeof id.wireModelId === "string" && id.wireModelId.length > 0) summary.modelId = id.wireModelId;
208
336
  if (typeof id.runtimeId === "string" && id.runtimeId.length > 0) summary.runtimeId = id.runtimeId;
209
- if (typeof id.runtimeKind === "string" && id.runtimeKind.length > 0) summary.runtimeKind = id.runtimeKind;
337
+ summary.runtimeKind = parseRuntimeKind(id.runtimeKind ?? summary.runtimeKind);
338
+ const additions = {
339
+ agentAudience: parseAgentAudience(id.agentAudience, summary.agentAudience),
340
+ requestOrigin: parseRequestOrigin(id.requestOrigin, summary.requestOrigin),
341
+ node: parseNonEmptyString(id.node) ?? summary.node,
342
+ endpoint: parseEndpointCapacity(id.endpoint) ?? summary.endpoint,
343
+ gate: parseGateBadge(id.gate) ?? summary.gate,
344
+ council: parseCouncilBadge(id.council) ?? summary.council,
345
+ rerouteCount: parsePositiveInt(id.rerouteCount) ?? summary.rerouteCount,
346
+ contextWindow: parsePositiveInt(id.contextWindow) ?? summary.contextWindow,
347
+ taskSummary: parseTaskSummary(id, summary.taskSummary),
348
+ budget: cloneRunToolBudgetEnvelope(id.budget) ?? summary.budget
349
+ };
350
+ Object.assign(summary, Object.fromEntries(Object.entries(additions).filter(([, value]) => value !== void 0)));
210
351
  }
211
352
  function applyTerminalTokens(summary, payload) {
212
353
  summary.tokens.total = num(payload.tokenCount, summary.tokens.total);
@@ -233,6 +374,80 @@ function createObservabilityProjection(bus, deps) {
233
374
  }
234
375
  markChanged();
235
376
  }
377
+ function settleFromReceipt(summary) {
378
+ try {
379
+ const facts = runReaders.readReceipt?.(summary.runId);
380
+ const text = facts?.trust?.artifactIntegrity.state === "verified" ? facts.text : void 0;
381
+ summary.progressFold.settle(typeof text === "string" && text.trim().length > 0 ? text : void 0);
382
+ if (facts?.trust !== void 0) summary.trust = summarizeTrustStatus(facts.trust);
383
+ } catch {
384
+ summary.progressFold.settle();
385
+ }
386
+ }
387
+ function applyTerminalDetail(summary, payload) {
388
+ const host = payload.hostVerification;
389
+ if (host === "verified" || host === "rejected" || host === "skipped" || host === "not_implicated")
390
+ summary.hostVerification = host;
391
+ if (payload.reason !== "retry_denied") summary.receiptId = summary.runId;
392
+ delete summary.retry;
393
+ settleFromReceipt(summary);
394
+ }
395
+ function reconcileRuns() {
396
+ if (!runReaders.dispatchSnapshot) return;
397
+ let current;
398
+ try {
399
+ current = runReaders.dispatchSnapshot();
400
+ } catch {
401
+ return;
402
+ }
403
+ if (!Array.isArray(current?.retrying) || !Array.isArray(current?.running)) return;
404
+ const retrying = readRetrySnapshot(current);
405
+ const running = readRunningSnapshot(current);
406
+ const now = Date.now();
407
+ let changed = false;
408
+ for (const entry of runs.values()) {
409
+ if (entry.retry && !retrying.has(entry.runId)) {
410
+ delete entry.retry;
411
+ changed = true;
412
+ }
413
+ }
414
+ for (const [runId, retry] of retrying) {
415
+ const existing = runs.get(runId);
416
+ if (existing && existing.status !== "failed" && existing.status !== "dead") continue;
417
+ const entry = existing ?? emptyRun(runId, now);
418
+ if (!existing) {
419
+ entry.agentId = retry.agentId;
420
+ entry.status = "failed";
421
+ }
422
+ entry.retry = { ...retry.retry };
423
+ if (entry.taskSummary === void 0 && retry.taskSummary !== void 0) entry.taskSummary = retry.taskSummary;
424
+ putRun(runId, entry);
425
+ changed = true;
426
+ }
427
+ for (const [runId, live] of running) {
428
+ const entry = runs.get(runId);
429
+ if (!entry || isTerminal(entry.status) && live.outcomePhase !== "aborting") continue;
430
+ entry.tokens.input = live.inputTokens;
431
+ entry.tokens.output = live.outputTokens;
432
+ entry.tokens.total = live.tokenCount;
433
+ entry.costUsd = live.costUsd;
434
+ entry.costProvenance = live.costProvenance;
435
+ if (live.budget !== void 0) entry.budget = live.budget;
436
+ if (live.outcomePhase === "aborting" && entry.status !== "completed" && entry.status !== "aborted") {
437
+ entry.status = "cancelling";
438
+ delete entry.retry;
439
+ }
440
+ changed = true;
441
+ }
442
+ if (changed) markChanged();
443
+ }
444
+ function evidenceBuildSucceeded(runId, evidence) {
445
+ pendingEvidence.delete(runId);
446
+ const summary = runs.get(runId);
447
+ if (summary) summary.evidence = { ...evidence, tags: [...evidence.tags] };
448
+ accountability = deps.readAccountability();
449
+ markChanged();
450
+ }
236
451
  const unsubscribes = [
237
452
  bus.on(BusChannels.DispatchEnqueued, (raw) => {
238
453
  const payload = raw ?? {};
@@ -242,6 +457,7 @@ function createObservabilityProjection(bus, deps) {
242
457
  const summary = runs.get(runId) ?? emptyRun(runId, now);
243
458
  applyIdentity(summary, payload);
244
459
  summary.status = "enqueued";
460
+ delete summary.retry;
245
461
  summary.updatedAtMs = now;
246
462
  putRun(runId, summary);
247
463
  markChanged();
@@ -255,6 +471,8 @@ function createObservabilityProjection(bus, deps) {
255
471
  applyIdentity(summary, payload);
256
472
  summary.status = "running";
257
473
  summary.startedAtMs = now;
474
+ summary.startedAtClockMs = performance.now();
475
+ delete summary.retry;
258
476
  summary.updatedAtMs = now;
259
477
  summary.finishedAtMs = null;
260
478
  summary.durationMs = null;
@@ -273,10 +491,52 @@ function createObservabilityProjection(bus, deps) {
273
491
  const type = typeof event.type === "string" ? event.type : "";
274
492
  if (type === "heartbeat_status") {
275
493
  const status = resolveHeartbeat(event.status);
276
- if (status && !isTerminal(summary.status)) summary.status = status;
494
+ if (status && !isTerminal(summary.status) && summary.status !== "cancelling") summary.status = status;
495
+ if (status === "dead") summary.progressFold.settle();
277
496
  markChanged();
278
497
  return;
279
498
  }
499
+ if (type === "attempt_start") {
500
+ summary.failoverHops = (summary.failoverHops ?? 0) + 1;
501
+ const attemptRunId = asRunId(event.runId);
502
+ if (attemptRunId && attemptRunId !== runId) {
503
+ delete summary.retry;
504
+ markChanged();
505
+ return;
506
+ }
507
+ summary.status = "running";
508
+ summary.finishedAtMs = null;
509
+ summary.durationMs = null;
510
+ summary.progressFold.restart();
511
+ delete summary.retry;
512
+ markChanged();
513
+ return;
514
+ }
515
+ if (type === "agent_start") summary.startedAtClockMs = performance.now();
516
+ if (type === "message_update") {
517
+ const assistantEvent = event.assistantMessageEvent ?? {};
518
+ const hasDelta = ["text_delta", "thinking_delta", "toolcall_start", "toolcall_delta"].includes(
519
+ String(assistantEvent.type)
520
+ );
521
+ if (hasDelta && summary.ttftMs === null && summary.startedAtClockMs !== null)
522
+ summary.ttftMs = Math.round(performance.now() - summary.startedAtClockMs);
523
+ }
524
+ if (type === "clio_coder_write_record_downgraded") {
525
+ const detail = event.payload ?? {};
526
+ const tool = parseNonEmptyString(detail.tool);
527
+ const toolCallId = parseNonEmptyString(detail.toolCallId);
528
+ if (detail.reason === "opaque_tool_succeeded" && tool !== void 0 && toolCallId !== void 0)
529
+ summary.writeRecordDowngrade = {
530
+ reason: "opaque_tool_succeeded",
531
+ tool: sanitizeCallTargetText(tool),
532
+ toolCallId: sanitizeCallTargetText(toolCallId)
533
+ };
534
+ }
535
+ summary.progressFold.observe(payload.event);
536
+ if (type === "clio_coder_steer_received") {
537
+ const detail = event.payload ?? {};
538
+ summary.steerAcknowledgement = { receivedAtMs: now, chars: Math.max(0, Math.floor(num(detail.chars, 0))) };
539
+ }
280
540
  if (type === "message_end" && !isTerminal(summary.status)) {
281
541
  const message = event.message ?? {};
282
542
  if (message.role === "assistant" && message.usage) {
@@ -285,8 +545,10 @@ function createObservabilityProjection(bus, deps) {
285
545
  summary.tokens.input += input;
286
546
  summary.tokens.output += output;
287
547
  summary.tokens.total += input + output + num(message.usage.cacheWrite, 0);
548
+ summary.lastContextTokens = input + output;
288
549
  }
289
550
  }
551
+ if (type === "agent_end") summary.progressFold.settle();
290
552
  markChanged();
291
553
  }),
292
554
  bus.on(BusChannels.DispatchCompleted, (raw) => {
@@ -301,6 +563,7 @@ function createObservabilityProjection(bus, deps) {
301
563
  summary.finishedAtMs = now;
302
564
  summary.durationMs = num(payload.durationMs, Math.max(0, now - summary.startedAtMs));
303
565
  applyTerminalTokens(summary, payload);
566
+ applyTerminalDetail(summary, payload);
304
567
  summary.outcome = str(payload.outcome, "succeeded");
305
568
  summary.outcomeDetail = typeof payload.outcomeDetail === "string" ? payload.outcomeDetail : null;
306
569
  putRun(runId, summary);
@@ -318,11 +581,34 @@ function createObservabilityProjection(bus, deps) {
318
581
  summary.finishedAtMs = now;
319
582
  summary.durationMs = num(payload.durationMs, Math.max(0, now - summary.startedAtMs));
320
583
  applyTerminalTokens(summary, payload);
584
+ applyTerminalDetail(summary, payload);
321
585
  summary.outcome = str(payload.outcome, str(payload.reason, "failed"));
322
586
  summary.outcomeDetail = typeof payload.outcomeDetail === "string" ? payload.outcomeDetail : null;
323
587
  putRun(runId, summary);
324
588
  markChanged();
325
589
  }),
590
+ bus.on(BusChannels.RunAborted, (raw) => {
591
+ const runId = asRunId(raw?.runId);
592
+ const summary = runId ? runs.get(runId) : void 0;
593
+ if (!summary) return;
594
+ const wasRetrying = summary.retry !== void 0;
595
+ delete summary.retry;
596
+ if (wasRetrying && raw.startedAt === null) {
597
+ summary.status = "aborted";
598
+ summary.finishedAtMs = Date.now();
599
+ summary.progressFold.settle();
600
+ } else {
601
+ if (isTerminal(summary.status) && !wasRetrying) return;
602
+ summary.status = "cancelling";
603
+ }
604
+ summary.outcomeDetail = typeof raw.reason === "string" ? raw.reason : summary.outcomeDetail ?? null;
605
+ summary.updatedAtMs = Date.now();
606
+ markChanged();
607
+ }),
608
+ bus.on(BusChannels.AccountabilityEvidenceReady, (payload) => {
609
+ const runId = asRunId(payload?.runId);
610
+ if (runId) evidenceBuildSucceeded(runId, payload);
611
+ }),
326
612
  bus.on(BusChannels.ProviderHealth, (raw) => {
327
613
  const payload = raw ?? {};
328
614
  if (typeof payload.id !== "string" || payload.id.length === 0) return;
@@ -333,6 +619,24 @@ function createObservabilityProjection(bus, deps) {
333
619
  ];
334
620
  return {
335
621
  snapshot: buildSnapshot,
622
+ bindRunReaders(readers) {
623
+ runReaders = readers;
624
+ return () => {
625
+ if (runReaders === readers) runReaders = deps;
626
+ };
627
+ },
628
+ reconcileRuns,
629
+ setFleetPhase(runId, phase) {
630
+ fleetPhases.set(runId, { ...phase });
631
+ while (fleetPhases.size > MAX_PROJECTION_RUNS) {
632
+ const oldest = fleetPhases.keys().next().value;
633
+ if (oldest === void 0) break;
634
+ fleetPhases.delete(oldest);
635
+ }
636
+ const summary = runs.get(runId);
637
+ if (summary) summary.phase = { ...phase };
638
+ markChanged();
639
+ },
336
640
  subscribe(listener) {
337
641
  listeners.add(listener);
338
642
  listener(buildSnapshot());
@@ -348,20 +652,6 @@ function createObservabilityProjection(bus, deps) {
348
652
  pendingEvidence.add(runId);
349
653
  markChanged();
350
654
  },
351
- evidenceBuildSucceeded(runId, evidence) {
352
- pendingEvidence.delete(runId);
353
- const summary = runs.get(runId);
354
- if (summary) {
355
- summary.evidence = {
356
- evidenceId: evidence.evidenceId,
357
- firstPassSuccess: evidence.firstPassSuccess,
358
- findingCount: evidence.findingCount,
359
- tags: [...evidence.tags]
360
- };
361
- }
362
- accountability = deps.readAccountability();
363
- markChanged();
364
- },
365
655
  evidenceBuildFailed(runId, message) {
366
656
  pendingEvidence.delete(runId);
367
657
  pushNotice(
@@ -491,6 +781,11 @@ function evidenceIndexRow(runId, result, succeeded, attempt) {
491
781
  tags: [...tags],
492
782
  firstPassSuccess,
493
783
  findingCount: result.findings.length,
784
+ succeeded,
785
+ completionEvidenceWarning: result.findings.some(
786
+ (finding) => finding.tag === "completion-evidence" && finding.severity === "warn"
787
+ ),
788
+ ungroundedClaims: result.ungroundedClaims,
494
789
  generatedAt: (/* @__PURE__ */ new Date()).toISOString()
495
790
  };
496
791
  }
@@ -517,7 +812,6 @@ function createObservabilityBundle(context, options = {}) {
517
812
  projection.evidenceBuildStarted(runId);
518
813
  const build = buildAndIndexEvidence(runId, succeeded, attempt, {
519
814
  onReady: (id, evidence) => {
520
- projection.evidenceBuildSucceeded(id, evidence);
521
815
  context.bus.emit(BusChannels.AccountabilityEvidenceReady, { runId: id, ...evidence });
522
816
  },
523
817
  onFailed: (id, message) => projection.evidenceBuildFailed(id, message)
@@ -607,6 +901,9 @@ function createObservabilityBundle(context, options = {}) {
607
901
  telemetry.record("histogram", "tokens.ttft_ms", snapshot.ttftMs ?? 0);
608
902
  projection.refresh();
609
903
  },
904
+ bindRunReaders: (readers) => projection.bindRunReaders(readers),
905
+ reconcileRuns: () => projection.reconcileRuns(),
906
+ setFleetPhase: (runId, phase) => projection.setFleetPhase(runId, phase),
610
907
  snapshot: () => projection.snapshot(),
611
908
  subscribe: (listener) => projection.subscribe(listener)
612
909
  };
@@ -704,10 +1001,8 @@ function createObservabilityDomainModule(options = {}) {
704
1001
  }
705
1002
 
706
1003
  export {
707
- readAccountabilitySummary,
708
- resolveDispatchFailureStatus,
709
1004
  recordBackgroundMemoryStep,
710
1005
  ObservabilityDomainModule,
711
1006
  createObservabilityDomainModule
712
1007
  };
713
- //# sourceMappingURL=chunk-MWUZBSAQ.js.map
1008
+ //# sourceMappingURL=chunk-FSTIBAGM.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
  init_esm_shims
4
- } from "./chunk-3R73A4XB.js";
4
+ } from "./chunk-ECBHH7LU.js";
5
5
 
6
6
  // src/core/boot-trace.ts
7
7
  init_esm_shims();
@@ -27,4 +27,4 @@ export {
27
27
  formatBootTrace,
28
28
  traceBoot
29
29
  };
30
- //# sourceMappingURL=chunk-ZTJUVLTU.js.map
30
+ //# sourceMappingURL=chunk-FXFVDPWY.js.map
@@ -2,10 +2,10 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  PI_MONO_PACKAGES,
4
4
  resolvePackageRoot
5
- } from "./chunk-IWHMRKLL.js";
5
+ } from "./chunk-E3LEPLQ2.js";
6
6
  import {
7
7
  init_esm_shims
8
- } from "./chunk-3R73A4XB.js";
8
+ } from "./chunk-ECBHH7LU.js";
9
9
 
10
10
  // src/domains/lifecycle/version.ts
11
11
  init_esm_shims();
@@ -30,4 +30,4 @@ function getVersionInfo() {
30
30
  export {
31
31
  getVersionInfo
32
32
  };
33
- //# sourceMappingURL=chunk-XPLRXC72.js.map
33
+ //# sourceMappingURL=chunk-GD55RTIW.js.map