@iowarp/clio-coder 0.4.4 → 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 (555) hide show
  1. package/CHANGELOG.md +92 -2
  2. package/CONTRIBUTING.md +25 -15
  3. package/README.md +340 -27
  4. package/dist/{acp-WNAYYF4F.js → acp-H3CU2HBQ.js} +25 -24
  5. package/dist/{agents-3OKXHLOI.js → agents-IXQQZ7BD.js} +77 -77
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-VKNNMGPU.js → auth-R7KYF7N3.js} +38 -38
  8. package/dist/builtins-CRFDQUVP.js +22 -0
  9. package/dist/{chunk-TQAHXW6Y.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-JCI2ROMZ.js → chunk-3T4DXWP6.js} +7 -7
  15. package/dist/{chunk-DR52UMZW.js → chunk-3UW3KU4A.js} +2 -2
  16. package/dist/{chunk-6Q3CYFD3.js → chunk-4SVIVOMC.js} +184 -33
  17. package/dist/{chunk-W54I7H25.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-I2DWJ4GM.js → chunk-5DDOTTG4.js} +54 -42
  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-3ODX73FK.js → chunk-5VTJP36Q.js} +4 -4
  24. package/dist/{chunk-54X7T7DK.js → chunk-5ZMXGW7P.js} +79 -7
  25. package/dist/chunk-5ZSZEYJK.js +119 -0
  26. package/dist/{chunk-IXIY2H4R.js → chunk-633EXGZA.js} +5 -5
  27. package/dist/{chunk-CUSRQKPU.js → chunk-6CDNRHWH.js} +299 -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-JEIYHLOR.js → chunk-6SYEGZI3.js} +12 -12
  31. package/dist/{chunk-DQOVN6KV.js → chunk-6YA46L5A.js} +4 -4
  32. package/dist/{chunk-NZMNUPZZ.js → chunk-77CZRFTE.js} +3 -3
  33. package/dist/{chunk-6PAZTBPA.js → chunk-7HBHHVCK.js} +15 -6
  34. package/dist/{chunk-25QBEXRS.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-3UUXNFEX.js → chunk-7YJWEF2L.js} +61 -34
  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-I5FWO7L5.js → chunk-B6UM3OZC.js} +2 -2
  43. package/dist/{chunk-2CU2H6KE.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-QZWQA4DE.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-YNFKXPEC.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-XULDXHTN.js → chunk-DRD2A54W.js} +102 -50
  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-FEAXX7B6.js → chunk-EHCPSZJF.js} +4 -4
  65. package/dist/{chunk-4NSRCOYP.js → chunk-EHOSNVVM.js} +3 -2
  66. package/dist/{chunk-7UGL4MB5.js → chunk-EQEJJ53P.js} +10 -10
  67. package/dist/{chunk-GWZNEVM2.js → chunk-EWD5P3GK.js} +9 -9
  68. package/dist/{chunk-6UINWWS6.js → chunk-F34AR6O3.js} +14 -14
  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-Y55JBDO5.js → chunk-FSTIBAGM.js} +38 -23
  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-TOIVGRUX.js → chunk-GJ24ODAX.js} +5 -5
  76. package/dist/{chunk-QUFRYSWI.js → chunk-GNQRWTMY.js} +129 -48
  77. package/dist/{chunk-5ICU3EUH.js → chunk-GVYWZNRK.js} +5 -5
  78. package/dist/{chunk-GX5WYQO4.js → chunk-GXCCHKN6.js} +6 -6
  79. package/dist/{chunk-K6T2ZAMZ.js → chunk-HGSLRG33.js} +6 -6
  80. package/dist/{chunk-26QSH3EJ.js → chunk-HHVJNVUJ.js} +5 -5
  81. package/dist/{chunk-F4EKGO4N.js → chunk-HL26ADLH.js} +4 -2
  82. package/dist/{chunk-JT2RFCC5.js → chunk-HR3HPQ76.js} +5 -5
  83. package/dist/{chunk-ID64D7PE.js → chunk-HXHFDHB6.js} +24 -24
  84. package/dist/{chunk-ELWDPP3Y.js → chunk-I7VLWRK2.js} +8 -8
  85. package/dist/{chunk-6OSVSQL5.js → chunk-ICO4TQ2F.js} +7 -5
  86. package/dist/{chunk-SZAA6XDG.js → chunk-IFDRAD6F.js} +2 -2
  87. package/dist/{chunk-72YIHOZQ.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-AUPNRN7C.js → chunk-K2HL3GBL.js} +4 -4
  92. package/dist/{chunk-2ASED4PZ.js → chunk-K6RDB7IA.js} +26 -26
  93. package/dist/{chunk-FFUPXJC4.js → chunk-KDWLXVMN.js} +23 -24
  94. package/dist/{chunk-OZNBF4L3.js → chunk-KECNXMDE.js} +2 -2
  95. package/dist/{chunk-6QOTUPRG.js → chunk-KF6GFW6O.js} +66 -18
  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-3UNOLWNZ.js → chunk-KTFSFCVN.js} +20 -9
  100. package/dist/{chunk-57XXR6DR.js → chunk-KYKNBD4Y.js} +24 -23
  101. package/dist/{chunk-IRXAATOX.js → chunk-L4N3DWNW.js} +3 -3
  102. package/dist/{chunk-LCGCVYZ4.js → chunk-LQTKDAUO.js} +2 -2
  103. package/dist/{chunk-U6TMQNSI.js → chunk-LTR5QCLS.js} +4 -4
  104. package/dist/chunk-LUL5Z66S.js +221 -0
  105. package/dist/{chunk-ELZVTCGV.js → chunk-LVFANMOH.js} +151 -327
  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-NXYCB2VD.js → chunk-M6TAYK66.js} +6 -6
  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-DXKJURES.js → chunk-MDU3C27C.js} +10 -7
  113. package/dist/{chunk-6XLNIQDB.js → chunk-MYI32N4R.js} +2 -2
  114. package/dist/{chunk-3GY4F45V.js → chunk-NC4KV7EL.js} +6 -6
  115. package/dist/{chunk-LLXSDWXS.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-RZDWV63N.js → chunk-NY6IWDVU.js} +6 -6
  119. package/dist/{chunk-XXYSBZIQ.js → chunk-O2RQ7LCK.js} +4 -4
  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-NXIMQY5W.js → chunk-ODUTYZIU.js} +5 -5
  123. package/dist/{chunk-LTIKRKFL.js → chunk-ONRTXOZY.js} +4 -4
  124. package/dist/{chunk-KFV5L5SK.js → chunk-OQM5IVJY.js} +118 -232
  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-RXTN6AKH.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-2DSOYNFC.js → chunk-R6MAYTMS.js} +7 -7
  135. package/dist/{chunk-JQLNNIKT.js → chunk-R6MICQYU.js} +6 -6
  136. package/dist/{chunk-NAI6ZFCY.js → chunk-RLTT5GVY.js} +122 -11
  137. package/dist/{chunk-DT3LWJOB.js → chunk-RXIOCVBZ.js} +24 -6
  138. package/dist/{chunk-N56KALIC.js → chunk-S32UQ5GL.js} +61 -34
  139. package/dist/{chunk-UEPWCCTY.js → chunk-SBZX6ARC.js} +12 -12
  140. package/dist/chunk-SD7SHNDW.js +15 -0
  141. package/dist/{chunk-NRO2BJRH.js → chunk-SDWNDICN.js} +10235 -4015
  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-OMQNJVKW.js → chunk-SRZOW5L2.js} +43 -13
  146. package/dist/{chunk-3M6DQK6S.js → chunk-T334FW2H.js} +7 -7
  147. package/dist/{chunk-V76WTFTW.js → chunk-T52TPHYC.js} +6 -6
  148. package/dist/{chunk-I7XBWTYH.js → chunk-T53XI6I7.js} +5 -5
  149. package/dist/{chunk-2ZSONWVL.js → chunk-T7FDXNRU.js} +13 -13
  150. package/dist/{chunk-JSD46VO2.js → chunk-TEG3RYVZ.js} +43 -36
  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-75W7L2E2.js → chunk-TZ7MFRG4.js} +1041 -162
  154. package/dist/{chunk-36CT5VVL.js → chunk-U2JOLB7O.js} +126 -77
  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-YECAMM3D.js → chunk-U7H5WRG5.js} +5 -5
  158. package/dist/{chunk-RQCKCSRL.js → chunk-U7VQ4NI4.js} +22 -22
  159. package/dist/{chunk-5TUB6SLS.js → chunk-UFYNOQK4.js} +7 -7
  160. package/dist/{chunk-R346GLFC.js → chunk-UHW5V7HC.js} +2 -2
  161. package/dist/{chunk-USR47QNF.js → chunk-UL36QJX6.js} +14 -14
  162. package/dist/{chunk-VIA6RFQZ.js → chunk-UQIVHSE4.js} +4 -4
  163. package/dist/{chunk-RAY4OVGZ.js → chunk-URBGEOH3.js} +5 -5
  164. package/dist/chunk-USZA7GWL.js +341 -0
  165. package/dist/{chunk-YD5GIKET.js → chunk-UTUNT5QL.js} +48 -579
  166. package/dist/{chunk-ZA4VCIGV.js → chunk-UUQ5G6EZ.js} +60 -41
  167. package/dist/{chunk-23L32XTI.js → chunk-UXAC2FX4.js} +68 -39
  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-EXLD33WO.js → chunk-VLPTKCKT.js} +24 -9
  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-S6PYF2XF.js → chunk-WFKDPU7U.js} +4 -4
  176. package/dist/{chunk-BJVFZO5U.js → chunk-WJIMKGD6.js} +7 -7
  177. package/dist/{chunk-5636DCO5.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-4M6Z5QVF.js → chunk-XXBQKW32.js} +11 -11
  182. package/dist/{chunk-OEJSLEPW.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-Q4WO54TA.js → chunk-ZMZQEBKI.js} +14 -14
  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 +44 -44
  190. package/dist/clio-5I2IBFYL.js +26 -0
  191. package/dist/{code-nav-IJR2DBPR.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-2TGAI2RC.js → components-TNIKXCBH.js} +13 -13
  195. package/dist/{config-IUA6OYNS.js → config-Y2JDJ3JJ.js} +210 -124
  196. package/dist/configure-SML6UBZ5.js +55 -0
  197. package/dist/{context-4MPR7WKB.js → context-P5YSEO55.js} +125 -121
  198. package/dist/{context-2DKHWH2T.js → context-QQ53HSGJ.js} +91 -62
  199. package/dist/{context-BOYF5EJM.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-3I3FYX6Y.js → context-working-set-CNLSQN5K.js} +31 -31
  204. package/dist/detail-5572VLBO.js +114 -0
  205. package/dist/{dispatch-runner-RJ5I2F2O.js → dispatch-runner-FRHD6P2O.js} +191 -116
  206. package/dist/{docs-SPOV3BAN.js → docs-BL7ROUFN.js} +4 -4
  207. package/dist/{doctor-DKICC2SN.js → doctor-N3LCM2LG.js} +58 -58
  208. package/dist/{eval-OQOQUDHK.js → eval-BUU3ZOUZ.js} +473 -168
  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-4DQ25GUQ.js → evidence-SQ5DNFEN.js} +110 -94
  212. package/dist/{evolve-GSS52E5J.js → evolve-IJNUFZDS.js} +107 -91
  213. package/dist/{extensions-G7MFLYHT.js → extensions-YVRHX6ZI.js} +16 -16
  214. package/dist/{fleet-Q37YHHAQ.js → fleet-ZNNVSYFO.js} +147 -147
  215. package/dist/{fleet-commands-G7E4N7SM.js → fleet-commands-5YE7NPJL.js} +27 -26
  216. package/dist/{fleet-decisions-O7M6QBA2.js → fleet-decisions-3SBSCTCW.js} +16 -15
  217. package/dist/{fleet-graph-TOUBW6OW.js → fleet-graph-6HHPWF5T.js} +39 -38
  218. package/dist/{fleet-inspect-SW33JJNI.js → fleet-inspect-JEYMGCGC.js} +107 -91
  219. package/dist/{fleet-new-RDVJLHHH.js → fleet-new-RCKGSRDV.js} +3 -3
  220. package/dist/{fleet-preflight-CV2655TW.js → fleet-preflight-QRSHIIDE.js} +10 -9
  221. package/dist/{fleet-validate-KESZX2YH.js → fleet-validate-4PM4GDDL.js} +46 -42
  222. package/dist/{fleet-verify-UQPMTVE3.js → fleet-verify-NJDTHTO3.js} +105 -89
  223. package/dist/fleet-view-UP2BWQQY.js +117 -0
  224. package/dist/{init-PXEXQSBF.js → init-S3GZQ5ZF.js} +123 -123
  225. package/dist/{install-NKNG7KD4.js → install-3RZDDP23.js} +5 -5
  226. package/dist/{interop-ZG5T62U3.js → interop-YOTGXFJM.js} +25 -25
  227. package/dist/inventory-K2OZ36YJ.js +117 -0
  228. package/dist/{library-B2W4N74O.js → library-GJI6W6OK.js} +45 -44
  229. package/dist/{memory-YCANYS5A.js → memory-OQOXQGYD.js} +107 -93
  230. package/dist/{models-GERTU3YI.js → models-3IK2Y5WE.js} +63 -62
  231. package/dist/{monitor-CPNIUULB.js → monitor-FTJLTKCQ.js} +136 -107
  232. package/dist/{orchestrator-J4BSH4WQ.js → orchestrator-N47O7SFD.js} +1159 -697
  233. package/dist/{panes-BOHAEGYC.js → panes-7BTYH3XQ.js} +8 -8
  234. package/dist/{panes-NXSLDQZ2.js → panes-WPOMEMRH.js} +22 -22
  235. package/dist/{paths-VSUWNC22.js → paths-J3KN7UAO.js} +12 -12
  236. package/dist/preload-65U34NG6.js +115 -0
  237. package/dist/{registry-LG64LTF4.js → registry-DESGAXWK.js} +3 -3
  238. package/dist/{reset-TNWTB5LU.js → reset-MUVQDLNL.js} +20 -20
  239. package/dist/{resources-4PXNMD5G.js → resources-LM76COAO.js} +41 -40
  240. package/dist/{run-D6XJ34CN.js → run-3VFZQ33N.js} +162 -156
  241. package/dist/{share-2NWMJJEE.js → share-4JUB4BL7.js} +43 -42
  242. package/dist/{skills-KR7WON5G.js → skills-S36AAJHU.js} +47 -46
  243. package/dist/{skills-eval-O2ZNOLDS.js → skills-eval-G6T57L7M.js} +127 -107
  244. package/dist/{skills-inventory-ZZOUBK7O.js → skills-inventory-WLM46PJH.js} +41 -40
  245. package/dist/slash-commands-GBARG3Y7.js +91 -0
  246. package/dist/{steer-XA25PSCS.js → steer-S7D7IKPU.js} +7 -7
  247. package/dist/{support-7EMVWYG2.js → support-5VAEC32W.js} +14 -14
  248. package/dist/{targets-OMH2XCSN.js → targets-N5REUETU.js} +145 -94
  249. package/dist/tasks-6BVY5YZF.js +36 -0
  250. package/dist/{terminal-lease-C2J3JYRE.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-HALS6BLF.js → uninstall-FXYMFFRT.js} +17 -17
  256. package/dist/{upgrade-MS72RJEP.js → upgrade-4HD5HAIV.js} +40 -39
  257. package/dist/{usage-NHG6MCJM.js → usage-4GWM2WWP.js} +136 -105
  258. package/dist/{verifiers-7AUNVXDY.js → verifiers-GSKWKWVG.js} +28 -27
  259. package/dist/verify-3AS3ULCY.js +30 -0
  260. package/dist/{version-KGEG7EPO.js → version-RFPKO6T7.js} +4 -4
  261. package/dist/{web-fetch-V4FKSDAV.js → web-fetch-MQN4FH3X.js} +169 -18
  262. package/dist/wiki-generate-7BV7XWIY.js +614 -0
  263. package/dist/{with-panes-BDQEWBRT.js → with-panes-OFTNAR4Y.js} +34 -20
  264. package/dist/worker/entry.js +99 -88
  265. package/dist/{workspace-ZJ6BFM3Q.js → workspace-DZ7JADBG.js} +6 -6
  266. package/docs/README.md +7 -6
  267. package/docs/architecture/acp.md +10 -0
  268. package/docs/architecture/architecture.md +5 -5
  269. package/docs/architecture/context-engine.md +44 -59
  270. package/docs/architecture/context-working-set.md +7 -9
  271. package/docs/architecture/dispatch-architecture-rationale.md +1 -1
  272. package/docs/architecture/evidence-and-memory.md +10 -0
  273. package/docs/architecture/pi-boundary.md +37 -7
  274. package/docs/architecture/prompt-envelope-and-tools.md +7 -7
  275. package/docs/architecture/session-lifecycle.md +4 -4
  276. package/docs/architecture/worker-dispatch-mechanics.md +4 -0
  277. package/docs/guide/commands-and-modes.md +49 -36
  278. package/docs/guide/configuration-and-targets.md +7 -2
  279. package/docs/guide/configuration-reference.md +13 -3
  280. package/docs/guide/environment-variables.md +6 -2
  281. package/docs/guide/fleet-dispatch.md +12 -0
  282. package/docs/guide/installation-and-lifecycle.md +35 -9
  283. package/docs/guide/proactive-memory.md +1 -1
  284. package/docs/guide/skills-marketplace.md +11 -3
  285. package/docs/guide/tool-usage.md +9 -2
  286. package/docs/process/development-pipeline.md +10 -10
  287. package/docs/process/documentation-guide.md +2 -2
  288. package/docs/process/eval-runner.md +15 -0
  289. package/docs/process/evals-internal.md +1 -1
  290. package/docs/process/release-cut-checklist.md +6 -6
  291. package/evals/README.md +4 -0
  292. package/evals/behavioral-corpus-grader.mjs +147 -14
  293. package/evals/behavioral-model-negative-control.yaml +1 -0
  294. package/evals/behavioral-model.yaml +266 -1
  295. package/evals/fixtures/docs-retrieval.json +102 -0
  296. package/evals/fixtures/scalar-decision.json +17 -0
  297. package/evals/fixtures/scout-citation-pipeline.json +55 -0
  298. package/evals/fixtures/source-explanation.json +74 -0
  299. package/evals/fixtures/tool-arguments.json +18 -0
  300. package/evals/fixtures/tool-surface/read.txt +4 -0
  301. package/evals/fixtures/tool-surface/subdir/keep.txt +1 -0
  302. package/evals/no-edit-memory-grader.mjs +149 -0
  303. package/evals/scalar-decision-grader.py +41 -0
  304. package/evals/scalar-decision-machinery.ts +145 -0
  305. package/evals/source-explanation-grader.mjs +118 -0
  306. package/evals/tool-surface-grader.mjs +53 -0
  307. package/evals/tool-surface-model.yaml +274 -0
  308. package/package.json +14 -14
  309. package/skills/README.md +6 -6
  310. package/skills/registry.yaml +1 -1
  311. package/skills/skill-marketplace.json +1 -1
  312. package/src/cli/bootstrap-generate.ts +6 -0
  313. package/src/cli/config-inspect.ts +24 -7
  314. package/src/cli/config-trust.ts +62 -0
  315. package/src/cli/config.ts +8 -0
  316. package/src/cli/context-map.ts +75 -14
  317. package/src/cli/context.ts +46 -17
  318. package/src/cli/eval.ts +17 -3
  319. package/src/cli/modes/print.ts +32 -4
  320. package/src/cli/run.ts +16 -14
  321. package/src/cli/skills-eval.ts +10 -8
  322. package/src/cli/steer-channel.ts +31 -18
  323. package/src/cli/targets.ts +83 -31
  324. package/src/cli/tasks.ts +10 -1
  325. package/src/cli/upgrade.ts +9 -6
  326. package/src/cli/usage.ts +24 -0
  327. package/src/cli/wiki-generate.ts +239 -96
  328. package/src/core/bash-exec.ts +43 -15
  329. package/src/core/bus-events.ts +15 -0
  330. package/src/core/config.ts +33 -14
  331. package/src/core/defaults.ts +5 -4
  332. package/src/core/file-references.ts +11 -1
  333. package/src/core/incomplete-installation.ts +3 -1
  334. package/src/core/settings-layers.ts +21 -5
  335. package/src/core/termination.ts +26 -9
  336. package/src/core/untrusted-content.ts +16 -0
  337. package/src/core/workspace-trust.ts +179 -0
  338. package/src/domains/agents/builtins/coder.md +4 -2
  339. package/src/domains/agents/builtins/context-bootstrap.md +3 -1
  340. package/src/domains/agents/builtins/documenter.md +7 -4
  341. package/src/domains/agents/builtins/researcher.md +1 -0
  342. package/src/domains/agents/builtins/scout.md +7 -1
  343. package/src/domains/agents/result-contract.ts +199 -26
  344. package/src/domains/context/bootstrap-prompt.ts +11 -9
  345. package/src/domains/context/bootstrap.ts +74 -39
  346. package/src/domains/context/clio-md.ts +88 -26
  347. package/src/domains/context/codewiki/build-operation.ts +121 -0
  348. package/src/domains/context/codewiki/build-worker-protocol.ts +37 -3
  349. package/src/domains/context/codewiki/build-worker.ts +3 -35
  350. package/src/domains/context/codewiki/coordinator.ts +36 -6
  351. package/src/domains/context/codewiki/indexer.ts +59 -19
  352. package/src/domains/context/contract.ts +6 -2
  353. package/src/domains/context/extension.ts +72 -10
  354. package/src/domains/context/fingerprint.ts +39 -34
  355. package/src/domains/context/index.ts +7 -1
  356. package/src/domains/context/prompt-context.ts +55 -14
  357. package/src/domains/context/refresh.ts +9 -57
  358. package/src/domains/context/wiki/assemble.ts +14 -10
  359. package/src/domains/context/wiki/evidence.ts +209 -0
  360. package/src/domains/context/wiki/generate.ts +201 -67
  361. package/src/domains/context/wiki/meta.ts +10 -2
  362. package/src/domains/context/wiki/plan-store.ts +70 -14
  363. package/src/domains/context/wiki/plan.ts +71 -14
  364. package/src/domains/context/wiki/prompts.ts +42 -1
  365. package/src/domains/context/wiki/source-content.ts +106 -0
  366. package/src/domains/context/wiki/staleness.ts +33 -22
  367. package/src/domains/context/working-set/contract.ts +8 -2
  368. package/src/domains/context/working-set/engine.ts +17 -4
  369. package/src/domains/context/working-set/fold.ts +15 -2
  370. package/src/domains/context/working-set/marker.ts +2 -1
  371. package/src/domains/context/working-set/project.ts +18 -7
  372. package/src/domains/context/working-set/recall.ts +82 -56
  373. package/src/domains/dispatch/active-route-planner.ts +6 -3
  374. package/src/domains/dispatch/admission-queue.ts +19 -7
  375. package/src/domains/dispatch/admission.ts +3 -3
  376. package/src/domains/dispatch/budget-envelope.ts +47 -82
  377. package/src/domains/dispatch/capacity-lease.ts +57 -19
  378. package/src/domains/dispatch/contract.ts +10 -2
  379. package/src/domains/dispatch/event-pump.ts +28 -7
  380. package/src/domains/dispatch/execution-role.ts +49 -2
  381. package/src/domains/dispatch/execution-scheduler.ts +2 -0
  382. package/src/domains/dispatch/extension.ts +190 -105
  383. package/src/domains/dispatch/fleet-run.ts +20 -0
  384. package/src/domains/dispatch/gate-role-prompts.ts +4 -2
  385. package/src/domains/dispatch/parallel-writers.ts +34 -0
  386. package/src/domains/dispatch/reservation-store.ts +8 -34
  387. package/src/domains/dispatch/route-approval.ts +3 -3
  388. package/src/domains/dispatch/route-observer.ts +4 -2
  389. package/src/domains/dispatch/route-quality.ts +6 -1
  390. package/src/domains/dispatch/types.ts +4 -3
  391. package/src/domains/dispatch/worker-spawn.ts +58 -21
  392. package/src/domains/dispatch/workspace-checkpoint.ts +57 -0
  393. package/src/domains/eval/compare/behavioral.ts +81 -14
  394. package/src/domains/eval/compare/compare.ts +15 -5
  395. package/src/domains/eval/compare/envelope.ts +12 -5
  396. package/src/domains/eval/metrics/context.ts +24 -1
  397. package/src/domains/eval/metrics/tracked.ts +4 -28
  398. package/src/domains/eval/reports/comparison.ts +9 -9
  399. package/src/domains/eval/runners/clio-run.ts +5 -1
  400. package/src/domains/eval/schema/suite.ts +2 -0
  401. package/src/domains/eval/schema/validate.ts +1 -0
  402. package/src/domains/eval/suites/run.ts +189 -13
  403. package/src/domains/eval/verifiers/integrity.ts +39 -0
  404. package/src/domains/eval/verifiers/patch.ts +58 -2
  405. package/src/domains/eval/workspaces/temp-copy.ts +3 -0
  406. package/src/domains/evidence/build.ts +4 -2
  407. package/src/domains/interop/registry.ts +2 -2
  408. package/src/domains/middleware/hooks-io.ts +45 -26
  409. package/src/domains/middleware/hooks.ts +6 -0
  410. package/src/domains/middleware/injection-screen.ts +23 -0
  411. package/src/domains/middleware/rules.ts +5 -1
  412. package/src/domains/middleware/stalled-turn.ts +18 -3
  413. package/src/domains/middleware/task-board-reminder.ts +4 -2
  414. package/src/domains/middleware/task-nudge.ts +4 -1
  415. package/src/domains/mux/contract.ts +34 -1
  416. package/src/domains/mux/dock-controller.ts +8 -1
  417. package/src/domains/mux/index.ts +1 -0
  418. package/src/domains/mux/socket-client.ts +13 -3
  419. package/src/domains/observability/contract.ts +2 -2
  420. package/src/domains/observability/projection.ts +30 -9
  421. package/src/domains/prompts/compiler.ts +10 -2
  422. package/src/domains/prompts/contract.ts +7 -4
  423. package/src/domains/prompts/extension.ts +28 -64
  424. package/src/domains/prompts/fragments/identity/clio.md +23 -0
  425. package/src/domains/prompts/fragments/operating/contract.md +10 -0
  426. package/src/domains/prompts/fragments/operating/delegation.md +5 -0
  427. package/src/domains/prompts/fragments/wiki/page.md +28 -15
  428. package/src/domains/prompts/fragments/wiki/plan.md +4 -4
  429. package/src/domains/prompts/preload-prefix.ts +31 -0
  430. package/src/domains/prompts/preload.ts +135 -61
  431. package/src/domains/providers/auth/backend-file.ts +15 -11
  432. package/src/domains/providers/auth/storage.ts +3 -5
  433. package/src/domains/providers/catalog.ts +18 -3
  434. package/src/domains/providers/runtime-resolution.ts +11 -9
  435. package/src/domains/providers/runtimes/cloud/openrouter.ts +2 -0
  436. package/src/domains/resources/skills/promotion.ts +8 -1
  437. package/src/domains/safety/action-classifier.ts +9 -0
  438. package/src/domains/safety/autonomy.ts +10 -1
  439. package/src/domains/safety/contract.ts +5 -1
  440. package/src/domains/safety/default-path-policy.ts +11 -0
  441. package/src/domains/safety/extension.ts +11 -2
  442. package/src/domains/safety/policy-engine.ts +189 -32
  443. package/src/domains/safety/project-policy.ts +7 -2
  444. package/src/domains/safety/workspace-trust.ts +43 -0
  445. package/src/domains/session/compaction/compact.ts +384 -21
  446. package/src/domains/session/compaction/cut-point.ts +42 -5
  447. package/src/domains/session/compaction/tokens.ts +9 -1
  448. package/src/domains/session/decision-board.ts +43 -33
  449. package/src/domains/session/entries.ts +169 -4
  450. package/src/domains/session/prompt-manifest.ts +47 -8
  451. package/src/domains/session/task-board.ts +21 -3
  452. package/src/domains/user-tasks/handoff.ts +16 -0
  453. package/src/engine/acp/adapter.ts +44 -12
  454. package/src/engine/acp/server.ts +1 -0
  455. package/src/engine/acp/transport.ts +2 -1
  456. package/src/engine/acp/types.ts +6 -1
  457. package/src/engine/antigravity/subprocess-runtime.ts +20 -4
  458. package/src/engine/api-registry.ts +19 -2
  459. package/src/engine/apis/openai-completions.ts +13 -6
  460. package/src/engine/apis/output-budget.ts +26 -10
  461. package/src/engine/claude/sdk-runtime.ts +4 -3
  462. package/src/engine/env-api-keys.ts +2 -1
  463. package/src/engine/external-subprocess.ts +14 -3
  464. package/src/engine/loop-guard.ts +19 -2
  465. package/src/engine/provider-diagnostics.ts +129 -0
  466. package/src/engine/provider-payload.ts +3 -1
  467. package/src/engine/worker-runtime.ts +13 -2
  468. package/src/engine/worker-tools.ts +5 -1
  469. package/src/entry/extension-reload.ts +1 -0
  470. package/src/entry/orchestrator.ts +53 -15
  471. package/src/interactive/chat-loop-messages.ts +12 -4
  472. package/src/interactive/chat-loop.ts +115 -45
  473. package/src/interactive/chat-renderer.ts +60 -0
  474. package/src/interactive/context-recall-command.ts +2 -1
  475. package/src/interactive/dispatch-board.ts +17 -2
  476. package/src/interactive/editor-submit.ts +13 -0
  477. package/src/interactive/interactive-application.ts +8 -2
  478. package/src/interactive/interactive-event-projection.ts +7 -1
  479. package/src/interactive/interactive-presentation.ts +15 -7
  480. package/src/interactive/interactive-slash-runtime.ts +2 -0
  481. package/src/interactive/layout.ts +2 -1
  482. package/src/interactive/model-session-replay.ts +2 -2
  483. package/src/interactive/overlay-frame.ts +1 -0
  484. package/src/interactive/overlay-general-openers.ts +3 -1
  485. package/src/interactive/overlay-session-lifecycle.ts +6 -0
  486. package/src/interactive/overlays/ask-user.ts +1 -0
  487. package/src/interactive/overlays/message-picker.ts +1 -1
  488. package/src/interactive/renderers/tool-execution.ts +17 -1
  489. package/src/interactive/renderers/worker-entry.ts +25 -10
  490. package/src/interactive/slash-commands.ts +9 -7
  491. package/src/interactive/turn-context.ts +221 -53
  492. package/src/interactive/turn-middleware.ts +3 -1
  493. package/src/interactive/turn-persistence.ts +3 -0
  494. package/src/interactive/turn-runtime.ts +11 -2
  495. package/src/interactive/turn-state.ts +10 -9
  496. package/src/interactive/watch-pane.ts +18 -4
  497. package/src/interactive/worker-stream.ts +7 -7
  498. package/src/tools/agent-tools.ts +6 -3
  499. package/src/tools/bash.ts +1 -1
  500. package/src/tools/builtin-tool-catalog.ts +9 -2
  501. package/src/tools/codewiki/code-nav.ts +4 -10
  502. package/src/tools/compete-judge-task.ts +71 -0
  503. package/src/tools/compete-worktrees.ts +34 -0
  504. package/src/tools/context/index.ts +32 -7
  505. package/src/tools/context/surface.ts +15 -4
  506. package/src/tools/decide.ts +1 -1
  507. package/src/tools/dispatch-admission.ts +12 -1
  508. package/src/tools/dispatch-arguments.ts +38 -1
  509. package/src/tools/dispatch-plan.ts +7 -7
  510. package/src/tools/dispatch-runner.ts +48 -32
  511. package/src/tools/dispatch-schema.ts +30 -23
  512. package/src/tools/dispatch-scout-admission.ts +10 -44
  513. package/src/tools/dispatch-scout.ts +2 -3
  514. package/src/tools/find.ts +13 -4
  515. package/src/tools/grep.ts +13 -1
  516. package/src/tools/ls.ts +7 -1
  517. package/src/tools/monitor.ts +26 -11
  518. package/src/tools/network-policy.ts +11 -24
  519. package/src/tools/observation.ts +39 -2
  520. package/src/tools/read.ts +112 -15
  521. package/src/tools/registry.ts +54 -17
  522. package/src/tools/result-shaping.ts +110 -2
  523. package/src/tools/tasks.ts +33 -7
  524. package/src/tools/verify/frontend.ts +67 -30
  525. package/src/tools/verify/numeric.ts +6 -1
  526. package/src/tools/web-fetch-network.ts +179 -0
  527. package/src/tools/web-fetch-surface.ts +2 -1
  528. package/src/tools/web-fetch.ts +15 -13
  529. package/src/tools/worker-evidence.ts +27 -0
  530. package/src/worker/spec-contract.ts +12 -8
  531. package/dist/builtins-WGALA46I.js +0 -22
  532. package/dist/chunk-2WZ546HR.js +0 -792
  533. package/dist/chunk-5PSMVOLM.js +0 -56
  534. package/dist/chunk-EL24TAU4.js +0 -1560
  535. package/dist/chunk-IZXGRF7P.js +0 -4048
  536. package/dist/chunk-JVCV3ICN.js +0 -47
  537. package/dist/chunk-MNJGS2IN.js +0 -33
  538. package/dist/chunk-O5CVSAG5.js +0 -122
  539. package/dist/chunk-ODGTEFFI.js +0 -50
  540. package/dist/chunk-OQE5J4C6.js +0 -73
  541. package/dist/chunk-UUVG37B4.js +0 -244
  542. package/dist/chunk-V6HJFQZE.js +0 -228
  543. package/dist/clio-QLICPCF5.js +0 -25
  544. package/dist/configure-VEPX4NMX.js +0 -55
  545. package/dist/context-clear-S4ZJCQUX.js +0 -182
  546. package/dist/detail-A7JAVSIG.js +0 -98
  547. package/dist/evidence-4F5USFKH.js +0 -208
  548. package/dist/fleet-view-MN2VG4MR.js +0 -101
  549. package/dist/inventory-C26CFDRR.js +0 -101
  550. package/dist/preload-P6DGH2PZ.js +0 -13
  551. package/dist/slash-commands-ZXPJD64J.js +0 -92
  552. package/dist/tasks-IPAGMEIX.js +0 -36
  553. package/dist/tools-EFFEAIDP.js +0 -28
  554. package/dist/verify-FWYGPKMR.js +0 -29
  555. package/dist/wiki-generate-743CIGJW.js +0 -476
@@ -2,49 +2,70 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  canonicalJson,
4
4
  sha256
5
- } from "./chunk-CUSRQKPU.js";
5
+ } from "./chunk-6CDNRHWH.js";
6
6
  import {
7
7
  addResponseModelIdObservationCount,
8
8
  emptyResponseModelIdObservationCounts,
9
9
  responseModelIdObservationFromRecord
10
- } from "./chunk-6UINWWS6.js";
10
+ } from "./chunk-F34AR6O3.js";
11
11
  import {
12
12
  uncachedPrefillTokens
13
- } from "./chunk-3DPEIQKN.js";
13
+ } from "./chunk-QH3ZTUOA.js";
14
14
  import {
15
15
  ToolNames
16
- } from "./chunk-4NSRCOYP.js";
16
+ } from "./chunk-EHOSNVVM.js";
17
17
  import {
18
18
  ceilChars,
19
19
  extractReasoningTokens
20
- } from "./chunk-NZMNUPZZ.js";
20
+ } from "./chunk-77CZRFTE.js";
21
21
  import {
22
22
  settingsPath
23
- } from "./chunk-GHS5EBTQ.js";
24
- import {
25
- expandConfigPath
26
- } from "./chunk-336NSSKI.js";
23
+ } from "./chunk-FKIOX6DS.js";
27
24
  import {
28
25
  isEngineContextOverflow
29
- } from "./chunk-YPC6ZR5L.js";
26
+ } from "./chunk-5CMARGPF.js";
30
27
  import {
31
28
  init_esm_shims
32
- } from "./chunk-3R73A4XB.js";
29
+ } from "./chunk-ECBHH7LU.js";
33
30
 
34
31
  // src/cli/steer-channel.ts
35
32
  init_esm_shims();
36
33
  import * as fs from "node:fs";
34
+ import { Socket } from "node:net";
37
35
  import * as readline from "node:readline";
38
36
  function setupSteerChannel(filePath, onLine) {
39
37
  let closed = false;
40
38
  let watcher = null;
41
39
  let stream = null;
42
40
  let rl = null;
41
+ const cleanup = () => {
42
+ if (closed) return;
43
+ closed = true;
44
+ watcher?.close();
45
+ rl?.close();
46
+ stream?.destroy();
47
+ };
48
+ const reportError = (err) => {
49
+ if (closed) return;
50
+ process.stderr.write(
51
+ `clio-coder run: failed to setup steer channel: ${err instanceof Error ? err.message : String(err)}
52
+ `
53
+ );
54
+ cleanup();
55
+ };
43
56
  try {
44
57
  const stats = fs.statSync(filePath);
45
58
  if (stats.isFIFO()) {
46
- stream = fs.createReadStream(filePath);
59
+ const fd = fs.openSync(filePath, fs.constants.O_RDONLY | fs.constants.O_NONBLOCK);
60
+ try {
61
+ stream = new Socket({ fd, readable: true, writable: false });
62
+ } catch (err) {
63
+ fs.closeSync(fd);
64
+ throw err;
65
+ }
66
+ stream.on("error", reportError);
47
67
  rl = readline.createInterface({ input: stream, crlfDelay: Infinity });
68
+ rl.on("error", reportError);
48
69
  rl.on("line", (line) => {
49
70
  if (closed) return;
50
71
  const trimmed = line.trim();
@@ -91,23 +112,9 @@ function setupSteerChannel(filePath, onLine) {
91
112
  });
92
113
  }
93
114
  } catch (err) {
94
- process.stderr.write(
95
- `clio-coder run: failed to setup steer channel: ${err instanceof Error ? err.message : String(err)}
96
- `
97
- );
115
+ reportError(err);
98
116
  }
99
- return () => {
100
- closed = true;
101
- if (watcher) {
102
- watcher.close();
103
- }
104
- if (rl) {
105
- rl.close();
106
- }
107
- if (stream) {
108
- stream.destroy();
109
- }
110
- };
117
+ return cleanup;
111
118
  }
112
119
 
113
120
  // src/cli/modes/json-stream.ts
@@ -256,8 +263,14 @@ function isEmptyAbortedAssistantMessage(message) {
256
263
  }
257
264
  if (message.stopReason !== "aborted") return false;
258
265
  if (extractText(message).trim().length > 0) return false;
266
+ if (extractThinking(message).trim().length > 0) return false;
259
267
  return !hasStructuredToolCall(message);
260
268
  }
269
+ function explainInterruptedAssistant(message, reason) {
270
+ if (reason === null || message.role !== "assistant" || message.stopReason !== "aborted") return false;
271
+ message.errorMessage = reason;
272
+ return true;
273
+ }
261
274
  function lengthStopMetadata(message) {
262
275
  const usage = message.usage;
263
276
  const metadata = {
@@ -433,6 +446,7 @@ function assistantSessionPayload(message, failure) {
433
446
  "model",
434
447
  "responseModel",
435
448
  "responseId",
449
+ "providerThinkingLevel",
436
450
  "gatewayRouting",
437
451
  "diagnostics"
438
452
  ]) {
@@ -491,9 +505,9 @@ function textFromToolResultContent(content) {
491
505
  return item.text;
492
506
  }).join("");
493
507
  }
494
- function toolResultSummary(result2) {
495
- const obj = recordValue(result2);
496
- const text = textFromToolResultContent(obj?.content) || (typeof result2 === "string" ? result2 : "");
508
+ function toolResultSummary(result) {
509
+ const obj = recordValue(result);
510
+ const text = textFromToolResultContent(obj?.content) || (typeof result === "string" ? result : "");
497
511
  const bytes = Buffer.byteLength(text, "utf8");
498
512
  const details = recordValue(obj?.details);
499
513
  const size = recordValue(details?.resultSize);
@@ -613,550 +627,6 @@ function isRecord(value) {
613
627
  return typeof value === "object" && value !== null && !Array.isArray(value);
614
628
  }
615
629
 
616
- // src/core/file-references.ts
617
- init_esm_shims();
618
- import { existsSync, readFileSync, statSync as statSync2 } from "node:fs";
619
- import path2 from "node:path";
620
-
621
- // src/utils/image-resize.ts
622
- init_esm_shims();
623
-
624
- // src/utils/exif-orientation.ts
625
- init_esm_shims();
626
- function byte(bytes, offset) {
627
- return bytes[offset] ?? 0;
628
- }
629
- function readOrientationFromTiff(bytes, tiffStart) {
630
- if (tiffStart + 8 > bytes.length) return 1;
631
- const byteOrder = byte(bytes, tiffStart) << 8 | byte(bytes, tiffStart + 1);
632
- const le = byteOrder === 18761;
633
- const read16 = (pos) => {
634
- if (le) return byte(bytes, pos) | byte(bytes, pos + 1) << 8;
635
- return byte(bytes, pos) << 8 | byte(bytes, pos + 1);
636
- };
637
- const read32 = (pos) => {
638
- if (le) {
639
- return byte(bytes, pos) | byte(bytes, pos + 1) << 8 | byte(bytes, pos + 2) << 16 | byte(bytes, pos + 3) << 24;
640
- }
641
- return (byte(bytes, pos) << 24 | byte(bytes, pos + 1) << 16 | byte(bytes, pos + 2) << 8 | byte(bytes, pos + 3)) >>> 0;
642
- };
643
- const ifdOffset = read32(tiffStart + 4);
644
- const ifdStart = tiffStart + ifdOffset;
645
- if (ifdStart + 2 > bytes.length) return 1;
646
- const entryCount = read16(ifdStart);
647
- for (let i = 0; i < entryCount; i++) {
648
- const entryPos = ifdStart + 2 + i * 12;
649
- if (entryPos + 12 > bytes.length) return 1;
650
- if (read16(entryPos) === 274) {
651
- const value = read16(entryPos + 8);
652
- return value >= 1 && value <= 8 ? value : 1;
653
- }
654
- }
655
- return 1;
656
- }
657
- function hasExifHeader(bytes, offset) {
658
- return byte(bytes, offset) === 69 && byte(bytes, offset + 1) === 120 && byte(bytes, offset + 2) === 105 && byte(bytes, offset + 3) === 102 && byte(bytes, offset + 4) === 0 && byte(bytes, offset + 5) === 0;
659
- }
660
- function findJpegTiffOffset(bytes) {
661
- let offset = 2;
662
- while (offset < bytes.length - 1) {
663
- if (byte(bytes, offset) !== 255) return -1;
664
- const marker = byte(bytes, offset + 1);
665
- if (marker === 255) {
666
- offset++;
667
- continue;
668
- }
669
- if (marker === 225) {
670
- if (offset + 4 >= bytes.length) return -1;
671
- const segmentStart = offset + 4;
672
- if (segmentStart + 6 > bytes.length) return -1;
673
- if (!hasExifHeader(bytes, segmentStart)) return -1;
674
- return segmentStart + 6;
675
- }
676
- if (offset + 4 > bytes.length) return -1;
677
- const length = byte(bytes, offset + 2) << 8 | byte(bytes, offset + 3);
678
- offset += 2 + length;
679
- }
680
- return -1;
681
- }
682
- function findWebpTiffOffset(bytes) {
683
- let offset = 12;
684
- while (offset + 8 <= bytes.length) {
685
- const chunkId = String.fromCharCode(
686
- byte(bytes, offset),
687
- byte(bytes, offset + 1),
688
- byte(bytes, offset + 2),
689
- byte(bytes, offset + 3)
690
- );
691
- const chunkSize = byte(bytes, offset + 4) | byte(bytes, offset + 5) << 8 | byte(bytes, offset + 6) << 16 | byte(bytes, offset + 7) << 24;
692
- const dataStart = offset + 8;
693
- if (chunkId === "EXIF") {
694
- if (dataStart + chunkSize > bytes.length) return -1;
695
- return chunkSize >= 6 && hasExifHeader(bytes, dataStart) ? dataStart + 6 : dataStart;
696
- }
697
- offset = dataStart + chunkSize + chunkSize % 2;
698
- }
699
- return -1;
700
- }
701
- function getExifOrientation(bytes) {
702
- let tiffOffset = -1;
703
- if (bytes.length >= 2 && byte(bytes, 0) === 255 && byte(bytes, 1) === 216) {
704
- tiffOffset = findJpegTiffOffset(bytes);
705
- } else if (bytes.length >= 12 && byte(bytes, 0) === 82 && byte(bytes, 1) === 73 && byte(bytes, 2) === 70 && byte(bytes, 3) === 70 && byte(bytes, 8) === 87 && byte(bytes, 9) === 69 && byte(bytes, 10) === 66 && byte(bytes, 11) === 80) {
706
- tiffOffset = findWebpTiffOffset(bytes);
707
- }
708
- if (tiffOffset === -1) return 1;
709
- return readOrientationFromTiff(bytes, tiffOffset);
710
- }
711
- function rotate90(photon, image, dstIndex) {
712
- const w = image.get_width();
713
- const h = image.get_height();
714
- const src = image.get_raw_pixels();
715
- const dst = new Uint8Array(src.length);
716
- for (let y = 0; y < h; y++) {
717
- for (let x = 0; x < w; x++) {
718
- const srcIdx = (y * w + x) * 4;
719
- const dstIdx = dstIndex(x, y, w, h) * 4;
720
- dst[dstIdx] = src[srcIdx] ?? 0;
721
- dst[dstIdx + 1] = src[srcIdx + 1] ?? 0;
722
- dst[dstIdx + 2] = src[srcIdx + 2] ?? 0;
723
- dst[dstIdx + 3] = src[srcIdx + 3] ?? 0;
724
- }
725
- }
726
- return new photon.PhotonImage(dst, h, w);
727
- }
728
- function applyExifOrientation(photon, image, originalBytes) {
729
- const orientation = getExifOrientation(originalBytes);
730
- if (orientation === 1) return image;
731
- switch (orientation) {
732
- case 2:
733
- photon.fliph(image);
734
- return image;
735
- case 3:
736
- photon.fliph(image);
737
- photon.flipv(image);
738
- return image;
739
- case 4:
740
- photon.flipv(image);
741
- return image;
742
- case 5: {
743
- const rotated = rotate90(photon, image, (x, y, _w, h) => x * h + (h - 1 - y));
744
- photon.fliph(rotated);
745
- return rotated;
746
- }
747
- case 6:
748
- return rotate90(photon, image, (x, y, _w, h) => x * h + (h - 1 - y));
749
- case 7: {
750
- const rotated = rotate90(photon, image, (x, y, w, h) => (w - 1 - x) * h + y);
751
- photon.fliph(rotated);
752
- return rotated;
753
- }
754
- case 8:
755
- return rotate90(photon, image, (x, y, w, h) => (w - 1 - x) * h + y);
756
- default:
757
- return image;
758
- }
759
- }
760
-
761
- // src/utils/photon.ts
762
- init_esm_shims();
763
- import { createRequire } from "node:module";
764
- import path from "node:path";
765
- import { fileURLToPath } from "node:url";
766
- var require2 = createRequire(import.meta.url);
767
- var fs2 = require2("node:fs");
768
- var WASM_FILENAME = "photon_rs_bg.wasm";
769
- var photonModule = null;
770
- var loadPromise = null;
771
- function pathOrNull(file) {
772
- if (typeof file === "string") return file;
773
- if (file instanceof URL) return fileURLToPath(file);
774
- return null;
775
- }
776
- function getFallbackWasmPaths() {
777
- const execDir = path.dirname(process.execPath);
778
- return [
779
- path.join(execDir, WASM_FILENAME),
780
- path.join(execDir, "photon", WASM_FILENAME),
781
- path.join(process.cwd(), WASM_FILENAME)
782
- ];
783
- }
784
- function patchPhotonWasmRead() {
785
- const originalReadFileSync = fs2.readFileSync.bind(fs2);
786
- const fallbackPaths = getFallbackWasmPaths();
787
- const mutableFs = fs2;
788
- const patchedReadFileSync = ((...args) => {
789
- const [file, options] = args;
790
- const resolvedPath = pathOrNull(file);
791
- if (resolvedPath?.endsWith(WASM_FILENAME)) {
792
- try {
793
- return originalReadFileSync(...args);
794
- } catch (error) {
795
- const err = error;
796
- if (err?.code && err.code !== "ENOENT") throw error;
797
- for (const fallbackPath of fallbackPaths) {
798
- if (!fs2.existsSync(fallbackPath)) continue;
799
- if (options === void 0) return originalReadFileSync(fallbackPath);
800
- return originalReadFileSync(fallbackPath, options);
801
- }
802
- throw error;
803
- }
804
- }
805
- return originalReadFileSync(...args);
806
- });
807
- try {
808
- mutableFs.readFileSync = patchedReadFileSync;
809
- } catch {
810
- Object.defineProperty(fs2, "readFileSync", {
811
- value: patchedReadFileSync,
812
- writable: true,
813
- configurable: true
814
- });
815
- }
816
- return () => {
817
- try {
818
- mutableFs.readFileSync = originalReadFileSync;
819
- } catch {
820
- Object.defineProperty(fs2, "readFileSync", {
821
- value: originalReadFileSync,
822
- writable: true,
823
- configurable: true
824
- });
825
- }
826
- };
827
- }
828
- async function loadPhoton() {
829
- if (photonModule) return photonModule;
830
- if (loadPromise) return loadPromise;
831
- loadPromise = (async () => {
832
- const restoreReadFileSync = patchPhotonWasmRead();
833
- try {
834
- photonModule = await import("@silvia-odwyer/photon-node");
835
- return photonModule;
836
- } catch {
837
- photonModule = null;
838
- return photonModule;
839
- } finally {
840
- restoreReadFileSync();
841
- }
842
- })();
843
- return loadPromise;
844
- }
845
-
846
- // src/utils/image-resize.ts
847
- var DEFAULT_MAX_BYTES = 4.5 * 1024 * 1024;
848
- var DEFAULT_OPTIONS = {
849
- maxWidth: 2e3,
850
- maxHeight: 2e3,
851
- maxBytes: DEFAULT_MAX_BYTES,
852
- jpegQuality: 80
853
- };
854
- function encodeCandidate(buffer, mimeType) {
855
- const data = Buffer.from(buffer).toString("base64");
856
- return {
857
- data,
858
- encodedSize: Buffer.byteLength(data, "utf-8"),
859
- mimeType
860
- };
861
- }
862
- async function resizeImage(img, options) {
863
- const opts = { ...DEFAULT_OPTIONS, ...options };
864
- const inputBuffer = Buffer.from(img.data, "base64");
865
- const inputBase64Size = Buffer.byteLength(img.data, "utf-8");
866
- const photon = await loadPhoton();
867
- if (!photon) return null;
868
- const loadedPhoton = photon;
869
- let image;
870
- try {
871
- let tryEncodings2 = function(width, height, jpegQualities) {
872
- const resized = loadedPhoton.resize(loadedImage, width, height, loadedPhoton.SamplingFilter.Lanczos3);
873
- try {
874
- const candidates = [encodeCandidate(resized.get_bytes(), "image/png")];
875
- for (const quality of jpegQualities) {
876
- candidates.push(encodeCandidate(resized.get_bytes_jpeg(quality), "image/jpeg"));
877
- }
878
- return candidates;
879
- } finally {
880
- resized.free();
881
- }
882
- };
883
- var tryEncodings = tryEncodings2;
884
- const inputBytes = new Uint8Array(inputBuffer);
885
- const rawImage = photon.PhotonImage.new_from_byteslice(inputBytes);
886
- image = applyExifOrientation(photon, rawImage, inputBytes);
887
- if (image !== rawImage) rawImage.free();
888
- const originalWidth = image.get_width();
889
- const originalHeight = image.get_height();
890
- const format = img.mimeType?.split("/")[1] ?? "png";
891
- if (originalWidth <= opts.maxWidth && originalHeight <= opts.maxHeight && inputBase64Size < opts.maxBytes) {
892
- return {
893
- data: img.data,
894
- mimeType: img.mimeType ?? `image/${format}`,
895
- originalWidth,
896
- originalHeight,
897
- width: originalWidth,
898
- height: originalHeight,
899
- wasResized: false
900
- };
901
- }
902
- let targetWidth = originalWidth;
903
- let targetHeight = originalHeight;
904
- if (targetWidth > opts.maxWidth) {
905
- targetHeight = Math.round(targetHeight * opts.maxWidth / targetWidth);
906
- targetWidth = opts.maxWidth;
907
- }
908
- if (targetHeight > opts.maxHeight) {
909
- targetWidth = Math.round(targetWidth * opts.maxHeight / targetHeight);
910
- targetHeight = opts.maxHeight;
911
- }
912
- const loadedImage = image;
913
- const qualitySteps = Array.from(/* @__PURE__ */ new Set([opts.jpegQuality, 85, 70, 55, 40]));
914
- let currentWidth = targetWidth;
915
- let currentHeight = targetHeight;
916
- while (true) {
917
- const candidates = tryEncodings2(currentWidth, currentHeight, qualitySteps);
918
- for (const candidate of candidates) {
919
- if (candidate.encodedSize < opts.maxBytes) {
920
- return {
921
- data: candidate.data,
922
- mimeType: candidate.mimeType,
923
- originalWidth,
924
- originalHeight,
925
- width: currentWidth,
926
- height: currentHeight,
927
- wasResized: true
928
- };
929
- }
930
- }
931
- if (currentWidth === 1 && currentHeight === 1) break;
932
- const nextWidth = currentWidth === 1 ? 1 : Math.max(1, Math.floor(currentWidth * 0.75));
933
- const nextHeight = currentHeight === 1 ? 1 : Math.max(1, Math.floor(currentHeight * 0.75));
934
- if (nextWidth === currentWidth && nextHeight === currentHeight) break;
935
- currentWidth = nextWidth;
936
- currentHeight = nextHeight;
937
- }
938
- return null;
939
- } catch {
940
- return null;
941
- } finally {
942
- if (image) image.free();
943
- }
944
- }
945
- function formatDimensionNote(result2) {
946
- if (!result2.wasResized) return void 0;
947
- const scale = result2.originalWidth / result2.width;
948
- return `[Image: original ${result2.originalWidth}x${result2.originalHeight}, displayed at ${result2.width}x${result2.height}. Multiply coordinates by ${scale.toFixed(2)} to map to original image.]`;
949
- }
950
-
951
- // src/core/file-references.ts
952
- var DEFAULT_IMAGE_MAX_BASE64_BYTES = 4.5 * 1024 * 1024;
953
- function decodeQuotedFileArg(input, start, quote) {
954
- let value = "";
955
- let escaped = false;
956
- for (let index = start; index < input.length; index += 1) {
957
- const character = input[index] ?? "";
958
- if (escaped) {
959
- value += character;
960
- escaped = false;
961
- continue;
962
- }
963
- if (character === "\\") {
964
- escaped = true;
965
- continue;
966
- }
967
- if (character === quote) return { value, end: index + 1 };
968
- value += character;
969
- }
970
- return null;
971
- }
972
- function inlineFileReferences(input) {
973
- const references = [];
974
- for (let start = 0; start < input.length; start += 1) {
975
- if (input[start] !== "@" || start > 0 && !/\s/u.test(input[start - 1] ?? "")) continue;
976
- const next = input[start + 1];
977
- if (next === '"' || next === "'") {
978
- const decoded = decodeQuotedFileArg(input, start + 2, next);
979
- if (!decoded || decoded.value.length === 0) continue;
980
- references.push({
981
- start,
982
- end: decoded.end,
983
- raw: input.slice(start, decoded.end),
984
- fileArg: decoded.value,
985
- quoted: true
986
- });
987
- start = decoded.end - 1;
988
- continue;
989
- }
990
- let end = start + 1;
991
- while (end < input.length && !/\s/u.test(input[end] ?? "")) end += 1;
992
- if (end === start + 1) continue;
993
- references.push({
994
- start,
995
- end,
996
- raw: input.slice(start, end),
997
- fileArg: input.slice(start + 1, end),
998
- quoted: false
999
- });
1000
- start = end - 1;
1001
- }
1002
- return references;
1003
- }
1004
- function renderTextFile(filePath, content) {
1005
- return `<file name="${filePath}">
1006
- ${content}
1007
- </file>
1008
- `;
1009
- }
1010
- function renderImageFile(filePath, content = "") {
1011
- return `<file name="${filePath}">${content}</file>
1012
- `;
1013
- }
1014
- function result(text, diagnostics = [], images = [], referencedPaths = []) {
1015
- return { text, diagnostics, images, referencedPaths };
1016
- }
1017
- function detectSupportedImageMimeType(bytes) {
1018
- if (bytes.length >= 8 && bytes.subarray(0, 8).equals(Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]))) {
1019
- return "image/png";
1020
- }
1021
- if (bytes.length >= 3 && bytes[0] === 255 && bytes[1] === 216 && bytes[2] === 255) {
1022
- return "image/jpeg";
1023
- }
1024
- const signature = bytes.subarray(0, 6).toString("ascii");
1025
- if (signature === "GIF87a" || signature === "GIF89a") return "image/gif";
1026
- if (bytes.length >= 12 && bytes.subarray(0, 4).toString("ascii") === "RIFF" && bytes.subarray(8, 12).toString("ascii") === "WEBP") {
1027
- return "image/webp";
1028
- }
1029
- return null;
1030
- }
1031
- async function readFileReferenceAsync(fileArg, options) {
1032
- const filePath = expandConfigPath(fileArg, options.cwd === void 0 ? void 0 : { cwd: options.cwd });
1033
- if (!existsSync(filePath)) {
1034
- if (options.missing === "leave") return result(`@${fileArg}`);
1035
- return result("", [{ type: "error", message: `file not found: ${filePath}`, path: filePath }]);
1036
- }
1037
- let stat;
1038
- try {
1039
- stat = statSync2(filePath);
1040
- } catch (err) {
1041
- const reason = err instanceof Error ? err.message : String(err);
1042
- return result("", [{ type: "error", message: `file could not be stat'ed: ${reason}`, path: filePath }]);
1043
- }
1044
- if (!stat.isFile()) {
1045
- return result("", [{ type: "error", message: `not a file: ${filePath}`, path: filePath }]);
1046
- }
1047
- if (stat.size === 0) return result("", [], [], [filePath]);
1048
- try {
1049
- const bytes = readFileSync(filePath);
1050
- const imageMimeType = detectSupportedImageMimeType(bytes);
1051
- if (imageMimeType) {
1052
- if (options.includeImages !== true) return result(`@${fileArg}`);
1053
- const originalImage = {
1054
- type: "image",
1055
- mimeType: imageMimeType,
1056
- data: bytes.toString("base64")
1057
- };
1058
- if (options.autoResizeImages === false) {
1059
- return result(renderImageFile(filePath), [], [originalImage], [filePath]);
1060
- }
1061
- const resized = await resizeImage(originalImage);
1062
- if (!resized) {
1063
- if (Buffer.byteLength(originalImage.data, "utf-8") < DEFAULT_IMAGE_MAX_BASE64_BYTES) {
1064
- return result(renderImageFile(filePath), [], [originalImage], [filePath]);
1065
- }
1066
- return result(
1067
- renderImageFile(filePath, "[Image omitted: could not be resized below the inline image size limit.]"),
1068
- [],
1069
- [],
1070
- [filePath]
1071
- );
1072
- }
1073
- return result(
1074
- renderImageFile(filePath, formatDimensionNote(resized)),
1075
- [],
1076
- [{ type: "image", mimeType: resized.mimeType, data: resized.data }],
1077
- [filePath]
1078
- );
1079
- }
1080
- return result(renderTextFile(filePath, bytes.toString("utf8")), [], [], [filePath]);
1081
- } catch (err) {
1082
- const reason = err instanceof Error ? err.message : String(err);
1083
- return result("", [{ type: "error", message: `file could not be read: ${reason}`, path: filePath }]);
1084
- }
1085
- }
1086
- async function readFileArgsAsync(fileArgs, options = {}) {
1087
- const diagnostics = [];
1088
- const images = [];
1089
- const referencedPaths = [];
1090
- let text = "";
1091
- for (const fileArg of fileArgs) {
1092
- const ref = await readFileReferenceAsync(fileArg, {
1093
- ...options,
1094
- missing: options.missing ?? "error",
1095
- includeImages: true
1096
- });
1097
- text += ref.text;
1098
- images.push(...ref.images);
1099
- diagnostics.push(...ref.diagnostics);
1100
- referencedPaths.push(...ref.referencedPaths);
1101
- }
1102
- return { text, images, diagnostics, referencedPaths };
1103
- }
1104
- function splitTrailingPunctuation(token) {
1105
- const match = token.match(/^(.+?)([),.;:!?]+)$/);
1106
- if (!match?.[1] || !match[2]) return { fileArg: token, suffix: "" };
1107
- const candidate = match[1];
1108
- const suffix = match[2];
1109
- const ext = path2.extname(candidate);
1110
- if (ext.length === 0 && suffix.startsWith(".")) return { fileArg: token, suffix: "" };
1111
- return { fileArg: candidate, suffix };
1112
- }
1113
- async function expandInlineFileReferencesAsync(input, options = {}) {
1114
- const diagnostics = [];
1115
- const images = [];
1116
- const referencedPaths = [];
1117
- let text = "";
1118
- let lastIndex = 0;
1119
- for (const reference of inlineFileReferences(input)) {
1120
- text += input.slice(lastIndex, reference.start);
1121
- const direct = await readFileReferenceAsync(reference.fileArg, {
1122
- ...options,
1123
- missing: "leave",
1124
- includeImages: options.includeImages === true
1125
- });
1126
- if (direct.text !== `@${reference.fileArg}`) {
1127
- diagnostics.push(...direct.diagnostics);
1128
- images.push(...direct.images);
1129
- referencedPaths.push(...direct.referencedPaths);
1130
- text += direct.text;
1131
- lastIndex = reference.end;
1132
- continue;
1133
- }
1134
- const { fileArg, suffix } = reference.quoted ? { fileArg: reference.fileArg, suffix: "" } : splitTrailingPunctuation(reference.fileArg);
1135
- if (fileArg === reference.fileArg) {
1136
- text += reference.raw;
1137
- lastIndex = reference.end;
1138
- continue;
1139
- }
1140
- const stripped = await readFileReferenceAsync(fileArg, {
1141
- ...options,
1142
- missing: "leave",
1143
- includeImages: options.includeImages === true
1144
- });
1145
- if (stripped.text === `@${fileArg}`) {
1146
- text += reference.raw;
1147
- lastIndex = reference.end;
1148
- continue;
1149
- }
1150
- diagnostics.push(...stripped.diagnostics);
1151
- images.push(...stripped.images);
1152
- referencedPaths.push(...stripped.referencedPaths);
1153
- text += `${stripped.text}${suffix}`;
1154
- lastIndex = reference.end;
1155
- }
1156
- text += input.slice(lastIndex);
1157
- return { text, images, diagnostics, referencedPaths };
1158
- }
1159
-
1160
630
  export {
1161
631
  toContextOverflowError,
1162
632
  attachedToolSchemasFromState,
@@ -1169,6 +639,7 @@ export {
1169
639
  isSelfExplainingAbort,
1170
640
  isLengthStopAssistantMessage,
1171
641
  isEmptyAbortedAssistantMessage,
642
+ explainInterruptedAssistant,
1172
643
  hasStructuredToolCall,
1173
644
  toolNamesFromAgentState,
1174
645
  noticeMessage,
@@ -1190,8 +661,6 @@ export {
1190
661
  detectOverflowFromState,
1191
662
  setupSteerChannel,
1192
663
  projectHeadlessJsonEvent,
1193
- projectDispatchJsonEvent,
1194
- readFileArgsAsync,
1195
- expandInlineFileReferencesAsync
664
+ projectDispatchJsonEvent
1196
665
  };
1197
- //# sourceMappingURL=chunk-YD5GIKET.js.map
666
+ //# sourceMappingURL=chunk-UTUNT5QL.js.map