@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
@@ -2,22 +2,27 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  TASK_MEMORY_DEFAULT_PROCEDURAL_CAP,
4
4
  TASK_MEMORY_POLICY_DEFAULT_TIMEOUT_MS,
5
+ isTerminalRunEnvelope,
5
6
  runTaskMemoryPolicy,
6
7
  taskMemoryBankDelta
7
- } from "./chunk-2WZ546HR.js";
8
+ } from "./chunk-TZ7MFRG4.js";
8
9
  import {
9
- isTerminalRunEnvelope
10
- } from "./chunk-PAJQJ7BS.js";
10
+ hashToolCall
11
+ } from "./chunk-KF6GFW6O.js";
11
12
  import {
12
13
  taskBoardCounts
13
- } from "./chunk-L47TF46W.js";
14
- import {
15
- hashToolCall
16
- } from "./chunk-RSJ25QSL.js";
14
+ } from "./chunk-7HBHHVCK.js";
17
15
  import {
18
16
  legacyToolResultDigest,
19
17
  sanitizeToolResultDigest
20
- } from "./chunk-JDAY6FIL.js";
18
+ } from "./chunk-RLTT5GVY.js";
19
+ import {
20
+ captureProjectSurface,
21
+ projectSurfaceTrustNotice
22
+ } from "./chunk-NTK3WTHM.js";
23
+ import {
24
+ INSTRUCTION_SHAPED_WARNING
25
+ } from "./chunk-WXA2CFJO.js";
21
26
  import {
22
27
  SKILL_INSTALL_OFFER_OPTION_NEVER,
23
28
  SKILL_INSTALL_OFFER_OPTION_NOT_NOW,
@@ -25,36 +30,40 @@ import {
25
30
  SKILL_INSTALL_OFFER_OPTION_USER,
26
31
  SKILL_SUGGESTION_ANCHOR,
27
32
  SKILL_SUGGESTION_PREFIX
28
- } from "./chunk-JGRC33J2.js";
33
+ } from "./chunk-5ZMXGW7P.js";
29
34
  import {
30
35
  ToolNames
31
- } from "./chunk-K6BSR66V.js";
36
+ } from "./chunk-EHOSNVVM.js";
32
37
  import {
33
38
  registerForegroundStream
34
- } from "./chunk-XPWWI35G.js";
39
+ } from "./chunk-TEG3RYVZ.js";
35
40
  import {
36
41
  ceilChars
37
- } from "./chunk-NZMNUPZZ.js";
42
+ } from "./chunk-77CZRFTE.js";
38
43
  import {
39
44
  BusChannels
40
- } from "./chunk-F4EKGO4N.js";
45
+ } from "./chunk-HL26ADLH.js";
41
46
  import {
47
+ buildSafeToolEnv
48
+ } from "./chunk-GJ24ODAX.js";
49
+ import {
50
+ gitCommitAttributionEnabled,
42
51
  reportCommitAttributionDiagnostic,
43
52
  withManagedGitCommitAttributionEnvironment
44
- } from "./chunk-JIEGK6UF.js";
53
+ } from "./chunk-LTR5QCLS.js";
45
54
  import {
46
55
  require_dist
47
- } from "./chunk-APJ265NV.js";
56
+ } from "./chunk-B5GGDIHT.js";
48
57
  import {
49
58
  safeResourceWrite
50
- } from "./chunk-WEPFGWHJ.js";
59
+ } from "./chunk-ZZFWWYLX.js";
51
60
  import {
52
61
  clioConfigDir
53
- } from "./chunk-BYP5D4HI.js";
62
+ } from "./chunk-CTTI7G3T.js";
54
63
  import {
55
64
  __toESM,
56
65
  init_esm_shims
57
- } from "./chunk-3R73A4XB.js";
66
+ } from "./chunk-ECBHH7LU.js";
58
67
 
59
68
  // src/domains/middleware/runtime.ts
60
69
  init_esm_shims();
@@ -207,11 +216,33 @@ function createHookBudgetTracker(options = {}) {
207
216
  // src/domains/middleware/rules.ts
208
217
  init_esm_shims();
209
218
 
219
+ // src/domains/middleware/injection-screen.ts
220
+ init_esm_shims();
221
+ var INJECTION_SCREEN_RULE = {
222
+ rule: {
223
+ id: "safety.untrusted-instructions",
224
+ source: "builtin",
225
+ description: "Warn when external tool data contains instruction-shaped markers",
226
+ enabled: true,
227
+ hooks: ["after_tool"],
228
+ effectKinds: ["annotate_tool_result"]
229
+ },
230
+ toolNames: ["web_fetch", "read", "bash", "dispatch", "monitor"],
231
+ predicate: (input) => input.metadata?.untrustedInstructionMarkers === true,
232
+ effects: [
233
+ {
234
+ kind: "annotate_tool_result",
235
+ severity: "warn",
236
+ message: INSTRUCTION_SHAPED_WARNING
237
+ }
238
+ ]
239
+ };
240
+
210
241
  // src/domains/middleware/stalled-turn.ts
211
242
  init_esm_shims();
212
243
  var STALLED_TURN_REGISTRATION_ID = "nudge.stalled-turn";
213
244
  var STALLED_TURN_REQUEST_CONTINUATION_MESSAGE = "You ended your turn after announcing an action without executing it: no tools were called. Continue now and perform the announced action, or state plainly that you are finished and waiting for the user.";
214
- var SKILL_SUGGESTION_WAIT_CONTINUATION_MESSAGE = "You ended your turn on a skill suggestion without doing the task. The suggestion line has already made the offer and only the operator loads a skill, so nothing is needed from them before you proceed. Continue the task now without the skill.";
245
+ var SKILL_SUGGESTION_WAIT_CONTINUATION_MESSAGE = "You ended your turn on a skill suggestion without doing the task. The suggestion line has already made the offer and only the operator loads a skill, so the skill choice needs nothing from them before you proceed. Continue the already-authorized task now without the skill. This continuation is not an operator answer to any other question: if the remaining work is a proposal awaiting an explicit operator go-ahead, park it on the task board and say so instead of implementing.";
215
246
  var INTENT_PATTERN = /\b(let me|i['’]ll|i will|i am going to|i['’]m going to|now i|next i|let's|let us)\b/i;
216
247
  var CONCRETE_ACTION_STEMS = [
217
248
  "add",
@@ -294,8 +325,10 @@ var ACTION_OBJECT_CONNECTOR_PATTERN = /^(?:at|for|in|into|on|through|to)\s+/i;
294
325
  var ACTION_OBJECT_DETERMINER_PATTERN = /^(?:a|an|my|our|that|the|their|these|this|those|your)\s+/i;
295
326
  var ACTION_OBJECT_PATTERN = /^(?!(?:again|everyone|later|next|now|soon|then|you)\b)[`"'./~]*[\p{L}\p{N}_-]/iu;
296
327
  var CONDITIONAL_LEAD_IN_PATTERN = /\b(?:if|once|unless|until|when|whenever)\b/i;
297
- var CONDITIONAL_INVITATION_PATTERN = /\b(?:ask|give|point|say|send|share|tell)\b[\s\S]*\b(?:and|then)\s*$/i;
298
- var CONDITIONAL_OFFER_SUFFIX_PATTERN = /\b(?:if\s+(?:needed|necessary|requested)\b|if\b[^.!?]*\byou\b|when(?:ever)?\s+you\b)/i;
328
+ var CONDITIONAL_INVITATION_PATTERN = /\b(?:answer|approve|ask|confirm|give|point|reply|respond|say|send|share|tell|type)\b[\s\S]*\b(?:and|then)\s*$/i;
329
+ var CONDITIONAL_OFFER_SUFFIX_PATTERN = /\b(?:if\s+(?:needed|necessary|requested|approved|confirmed)\b|(?:if|after|once|until|unless|when(?:ever)?|as\s+soon\s+as|provided|assuming)\b[^.!?]*\byou\b|(?:upon|on|after|with|pending|awaiting|following)\s+(?:your\s+|the\s+operator(?:'s)?\s+)?(?:approval|go-?ahead|confirmation|sign-?off|decision|word|green\s+light|okay|ok)\b)/i;
330
+ var OPERATOR_WAIT_LEAD_PATTERN = /\b(?:await(?:ing)?|pending|waiting\s+(?:for|on))\b/i;
331
+ var NEGATED_OR_HYPOTHETICAL_CLAUSE_PATTERN = /^\s*(?:not|never|would|could|might|may)\b/i;
299
332
  var LET_ME_KNOW_PATTERN = /\blet me know\b/i;
300
333
  var DEFERRAL_LEAD_PATTERN = /^\s*(?:just\s+|simply\s+|now\s+)?(?:wait|hold\s+off|hold|stand\s+by|pause|defer)\b/i;
301
334
  var COMPLETION_PATTERN = /^\s*(?:all\s+done|done|complete|completed|all\s+set)\b|^\s*(?:here(?:'s| is)\s+)?(?:a\s+)?summary\b|^\s*summary\s*:?$/i;
@@ -346,11 +379,12 @@ function announcesConcreteAction(sentence) {
346
379
  const intent = INTENT_PATTERN.exec(sentence);
347
380
  if (intent) {
348
381
  const leadIn = sentence.slice(0, intent.index);
349
- if (CONDITIONAL_LEAD_IN_PATTERN.test(leadIn) || CONDITIONAL_INVITATION_PATTERN.test(leadIn) || CONDITIONAL_OFFER_SUFFIX_PATTERN.test(sentence)) {
382
+ if (CONDITIONAL_LEAD_IN_PATTERN.test(leadIn) || CONDITIONAL_INVITATION_PATTERN.test(leadIn) || OPERATOR_WAIT_LEAD_PATTERN.test(leadIn) || CONDITIONAL_OFFER_SUFFIX_PATTERN.test(sentence)) {
350
383
  return false;
351
384
  }
352
385
  const clause = sentence.slice(intent.index + intent[0].length);
353
386
  if (DEFERRAL_LEAD_PATTERN.test(clause)) return false;
387
+ if (NEGATED_OR_HYPOTHETICAL_CLAUSE_PATTERN.test(clause)) return false;
354
388
  if (hasActionWithObject(clause)) return true;
355
389
  if (CONDITIONAL_LEAD_IN_PATTERN.test(clause)) return false;
356
390
  return namesToolTarget(clause);
@@ -399,7 +433,10 @@ function isQuestion(sentence) {
399
433
  }
400
434
 
401
435
  // src/domains/middleware/rules.ts
402
- var BUILTIN_MIDDLEWARE_RULE_DEFINITIONS = [STALLED_TURN_RULE_DEFINITION];
436
+ var BUILTIN_MIDDLEWARE_RULE_DEFINITIONS = [
437
+ STALLED_TURN_RULE_DEFINITION,
438
+ INJECTION_SCREEN_RULE
439
+ ];
403
440
  var BUILTIN_MIDDLEWARE_RULE_IDS = BUILTIN_MIDDLEWARE_RULE_DEFINITIONS.map((definition) => definition.rule.id);
404
441
  function listMiddlewareRuleDefinitions() {
405
442
  return BUILTIN_MIDDLEWARE_RULE_DEFINITIONS.map(cloneRuleDefinition);
@@ -1167,7 +1204,9 @@ function matchMarketplaceSkills(userText, entries, excludedNames) {
1167
1204
  const match = scorePromotionEntry(userText, entry);
1168
1205
  if (match) matches.push(match);
1169
1206
  }
1170
- return matches.sort((a, b) => b.score - a.score || a.entry.name.localeCompare(b.entry.name));
1207
+ return matches.sort(
1208
+ (a, b) => Number(b.matchedTrigger !== void 0) - Number(a.matchedTrigger !== void 0) || b.score - a.score || a.entry.name.localeCompare(b.entry.name)
1209
+ );
1171
1210
  }
1172
1211
  var OWN_MARKETPLACE_URL_PREFIX = "https://github.com/iowarp/clio-coder/";
1173
1212
  function isOwnMarketplaceSource(entry) {
@@ -1217,8 +1256,11 @@ var NO_EFFECTS2 = [];
1217
1256
  function offerBindingTag(offerTag) {
1218
1257
  return `[clio-install:${offerTag}]`;
1219
1258
  }
1259
+ function boundedDescription(text) {
1260
+ return text.replace(/\[[^[\]]*\]/gu, " ").replace(/\s+/gu, " ").trim().slice(0, 200);
1261
+ }
1220
1262
  function marketplaceOfferReminder(entry, offerTag) {
1221
- return `[Marketplace] This request may need expertise no installed skill covers. The local marketplace has "${entry.name}" (not installed): ${entry.description} First check the installed side with context(scope="skills"); if ${entry.name} is genuinely the right fit and nothing installed serves, ask the operator with ask_user (mode=single_question, header "Install skill") whether to install ${entry.name}, offering exactly these options in this order: "${SKILL_INSTALL_OFFER_OPTION_PROJECT}", "${SKILL_INSTALL_OFFER_OPTION_USER}", "${SKILL_INSTALL_OFFER_OPTION_NOT_NOW}", "${SKILL_INSTALL_OFFER_OPTION_NEVER}". Include the exact tag ${offerBindingTag(offerTag)} verbatim in that question's text so the harness can bind the answer to this offer; the harness acts only on an answer carrying this tag. Then continue the task in the same turn. The harness handles the answer; never install or load a skill yourself. If it is not actually needed, do not mention it.`;
1263
+ return `[Marketplace] This request may need expertise no installed skill covers. The local marketplace has "${entry.name}" (not installed): ${boundedDescription(entry.description)} First check the installed side with context(scope="skills"); if ${entry.name} is genuinely the right fit and nothing installed serves, ask the operator with ask_user (mode=single_question, header "Install skill") whether to install ${entry.name}, offering exactly these options in this order: "${SKILL_INSTALL_OFFER_OPTION_PROJECT}", "${SKILL_INSTALL_OFFER_OPTION_USER}", "${SKILL_INSTALL_OFFER_OPTION_NOT_NOW}", "${SKILL_INSTALL_OFFER_OPTION_NEVER}". Include the exact tag ${offerBindingTag(offerTag)} verbatim in that question's text so the harness can bind the answer to this offer; the harness acts only on an answer carrying this tag. Then continue the task in the same turn. The harness handles the answer; never install or load a skill yourself. If it is not actually needed, do not mention it.`;
1222
1264
  }
1223
1265
  function answersFromDetails(details) {
1224
1266
  const raw = details?.answers;
@@ -1366,6 +1408,15 @@ function createMarketplaceOfferRegistration(deps) {
1366
1408
  const match = bestMatch(input.text ?? "");
1367
1409
  if (!match) return NO_EFFECTS2;
1368
1410
  offeredNames.add(match.entry.name);
1411
+ if (deps.interactive === false) {
1412
+ return [
1413
+ {
1414
+ kind: "inject_reminder",
1415
+ severity: "info",
1416
+ message: `[Marketplace] Skill "${match.entry.name}" matches this request; install with clio-coder skills install ${match.entry.name}.`
1417
+ }
1418
+ ];
1419
+ }
1369
1420
  const tag = newOfferTag();
1370
1421
  pendingOffer = { entry: match.entry, tag };
1371
1422
  return [{ kind: "inject_reminder", severity: "info", message: marketplaceOfferReminder(match.entry, tag) }];
@@ -2005,7 +2056,7 @@ function announceMemoryStepEndpoint(deps, complete) {
2005
2056
  init_esm_shims();
2006
2057
  var TASK_BOARD_REMINDER_REGISTRATION_ID = "observer.task-board-reminder";
2007
2058
  function taskBoardReminderMessage(steps) {
2008
- return `[Tasks] This request enumerates ${steps} steps. Before the first edit, declare the task board: tasks action="plan" with a title and one task per step, then work them one at a time ("start", then "done" with an evidence note).`;
2059
+ return `[Tasks] This request enumerates ${steps} steps. Before the first edit, declare the task board: tasks action="plan" with a title and one task per authorized step, then work them one at a time ("start", then "done" with an evidence note). A plan does not authorize implementation: for proposed work awaiting an operator go-ahead, use action="block" with a note naming the pending operator decision, or action="drop", and wait.`;
2009
2060
  }
2010
2061
  function countEnumeratedSteps(text) {
2011
2062
  const value = text ?? "";
@@ -2066,7 +2117,7 @@ function buildOpenTasksMessage(board) {
2066
2117
  const rows = open.map((task) => ` ${task.status === "active" ? "[>]" : "[ ]"} ${task.id} ${task.title}`);
2067
2118
  return `[Clio Coder] task board "${board.title}" still has ${open.length} of ${counts.total} task(s) open:
2068
2119
  ${rows.join("\n")}
2069
- Continue working them, or record the honest state on the board: tasks action="done" with an evidence note, action="block" with a reason, or action="drop". Do not end the turn with a stale board.`;
2120
+ Continue only work already authorized by the operator. This reminder and a self-created plan are not authorization to implement a proposal. If implementation awaits an operator decision, use tasks action="block" with a note naming that pending operator decision, or action="drop"; then wait for an explicit operator go-ahead. A skill-install choice does not authorize implementation. Otherwise record the honest state on the board: tasks action="done" with an evidence note, action="block" with a reason, or action="drop". Do not end the turn with a stale board.`;
2070
2121
  }
2071
2122
  function createTaskNudgeRegistration(options) {
2072
2123
  return {
@@ -2901,6 +2952,10 @@ function userHookToRegistration(hook, deps) {
2901
2952
  evaluate: (input) => {
2902
2953
  if (!hook.enabled) return [];
2903
2954
  try {
2955
+ if (deps.isTrusted?.() === false) {
2956
+ deps.recordReceipt({ ...baseReceipt(input), outcome: "skipped" });
2957
+ return [];
2958
+ }
2904
2959
  return evaluateHook(hook, deps, baseReceipt(input));
2905
2960
  } catch {
2906
2961
  deps.recordReceipt({ ...baseReceipt(input), outcome: "skipped" });
@@ -2952,16 +3007,8 @@ function evaluateHook(hook, deps, base) {
2952
3007
  init_esm_shims();
2953
3008
  var import_yaml = __toESM(require_dist(), 1);
2954
3009
  import { spawnSync } from "node:child_process";
2955
- import { readFileSync as readFileSync3 } from "node:fs";
2956
- import { join } from "node:path";
2957
3010
  var COMMAND_OUTPUT_MAX_BYTES = 1024 * 1024;
2958
- function readBatch(source, filePath, fileIssues) {
2959
- let text;
2960
- try {
2961
- text = readFileSync3(filePath, "utf8");
2962
- } catch {
2963
- return null;
2964
- }
3011
+ function readBatch(source, filePath, text, fileIssues) {
2965
3012
  try {
2966
3013
  const parsed = (0, import_yaml.parse)(text);
2967
3014
  return { source, declarations: parsed ?? [] };
@@ -2994,31 +3041,47 @@ function readHookSources(options) {
2994
3041
  }
2995
3042
  batches.push({ source, declarations: entry.declarations });
2996
3043
  }
2997
- const projectBatch = readBatch(
2998
- { origin: "project", sourcePath: ".clio-coder/hooks.yaml" },
2999
- join(options.cwd, ".clio-coder", "hooks.yaml"),
3000
- fileIssues
3001
- );
3002
- if (projectBatch) batches.push(projectBatch);
3003
- const localBatch = readBatch(
3004
- { origin: "project.local", sourcePath: ".clio-coder/hooks.local.yaml" },
3005
- join(options.cwd, ".clio-coder", "hooks.local.yaml"),
3006
- fileIssues
3007
- );
3008
- if (localBatch) batches.push(localBatch);
3009
- return { batches, fileIssues };
3044
+ const projectSurface = captureProjectSurface(options.cwd, "hooks");
3045
+ for (const [index, file] of projectSurface.files.entries()) {
3046
+ const source = {
3047
+ origin: index === 0 ? "project" : "project.local",
3048
+ sourcePath: index === 0 ? ".clio-coder/hooks.yaml" : ".clio-coder/hooks.local.yaml"
3049
+ };
3050
+ if (file.error !== void 0) fileIssues.push({ source, message: file.error });
3051
+ if (file.text === null) continue;
3052
+ if (projectSurface.verdict !== "trusted") {
3053
+ fileIssues.push({ source, message: projectSurfaceTrustNotice(projectSurface, file.path) });
3054
+ continue;
3055
+ }
3056
+ const batch = readBatch(source, file.path, file.text, fileIssues);
3057
+ if (batch) batches.push(batch);
3058
+ }
3059
+ return { batches, fileIssues, projectSurface };
3010
3060
  }
3011
3061
  function buildUserHookRegistrations(options) {
3012
3062
  const workspaceRoot = options.workspaceRoot ?? options.cwd;
3013
3063
  const readOptions = { cwd: options.cwd };
3014
3064
  if (options.capturedSources !== void 0) readOptions.capturedSources = options.capturedSources;
3015
- const { batches, fileIssues } = readHookSources(readOptions);
3065
+ const { batches, fileIssues, projectSurface } = readHookSources(readOptions);
3016
3066
  const loaded = loadUserHooks(batches, { workspaceRoot });
3017
3067
  const runCommand = options.runCommand ?? spawnSyncCommandRunner();
3068
+ let reportedUntrusted = false;
3069
+ const projectStillTrusted = () => {
3070
+ const current = captureProjectSurface(options.cwd, "hooks");
3071
+ if (current.verdict === "trusted" && current.contentHash === projectSurface.contentHash) return true;
3072
+ if (!reportedUntrusted) {
3073
+ reportedUntrusted = true;
3074
+ options.report?.(
3075
+ `[clio-coder:hooks] project hooks changed or trust was revoked; hooks skipped. Review with clio-coder config trust hooks, then reload extensions.`
3076
+ );
3077
+ }
3078
+ return false;
3079
+ };
3018
3080
  const registrations = loaded.hooks.map(
3019
3081
  (hook) => userHookToRegistration(hook, {
3020
3082
  recordReceipt: options.recordReceipt,
3021
3083
  runCommand,
3084
+ ...hook.source.origin === "project" || hook.source.origin === "project.local" ? { isTrusted: projectStillTrusted } : {},
3022
3085
  ...options.now !== void 0 ? { now: options.now } : {}
3023
3086
  })
3024
3087
  );
@@ -3027,8 +3090,9 @@ function buildUserHookRegistrations(options) {
3027
3090
  function spawnSyncCommandRunner() {
3028
3091
  return (argv, options) => {
3029
3092
  const [command, ...args] = argv;
3030
- const attribution = withManagedGitCommitAttributionEnvironment(process.env, {
3093
+ const attribution = withManagedGitCommitAttributionEnvironment(buildSafeToolEnv(), {
3031
3094
  cwd: options.cwd ?? process.cwd(),
3095
+ enabled: gitCommitAttributionEnabled(process.env),
3032
3096
  evidence: {}
3033
3097
  });
3034
3098
  reportCommitAttributionDiagnostic(attribution.diagnostic);
@@ -3084,4 +3148,4 @@ export {
3084
3148
  createWatchdogRegistration,
3085
3149
  MiddlewareDomainModule
3086
3150
  };
3087
- //# sourceMappingURL=chunk-2UG5F4C5.js.map
3151
+ //# sourceMappingURL=chunk-DRD2A54W.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/naming-compat.ts
7
7
  init_esm_shims();
@@ -24,4 +24,4 @@ export {
24
24
  warnLegacyNaming,
25
25
  namingCompatibilityEnvironment
26
26
  };
27
- //# sourceMappingURL=chunk-D7E7WCDF.js.map
27
+ //# sourceMappingURL=chunk-DVNAPPXU.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/engine/env-api-keys.ts
7
7
  init_esm_shims();
@@ -15,6 +15,7 @@ var ENV_KEYS = {
15
15
  "ant-ling": "ANT_LING_API_KEY",
16
16
  "qwen-token-plan": "QWEN_TOKEN_PLAN_API_KEY",
17
17
  "qwen-token-plan-cn": "QWEN_TOKEN_PLAN_CN_API_KEY",
18
+ "qwen-token-plan-individual": "QWEN_TOKEN_PLAN_API_KEY",
18
19
  openai: "OPENAI_API_KEY",
19
20
  "azure-openai-responses": "AZURE_OPENAI_API_KEY",
20
21
  nvidia: "NVIDIA_API_KEY",
@@ -88,4 +89,4 @@ export {
88
89
  findEngineEnvKeys,
89
90
  getEngineEnvApiKey
90
91
  };
91
- //# sourceMappingURL=chunk-YXLYO42X.js.map
92
+ //# sourceMappingURL=chunk-DXVMLM3Z.js.map
@@ -1,20 +1,20 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  getVersionInfo
4
- } from "./chunk-XPLRXC72.js";
4
+ } from "./chunk-GD55RTIW.js";
5
5
  import {
6
6
  require_dist
7
- } from "./chunk-APJ265NV.js";
7
+ } from "./chunk-B5GGDIHT.js";
8
8
  import {
9
9
  safeResourceWrite
10
- } from "./chunk-WEPFGWHJ.js";
10
+ } from "./chunk-ZZFWWYLX.js";
11
11
  import {
12
12
  clioConfigDir
13
- } from "./chunk-BYP5D4HI.js";
13
+ } from "./chunk-CTTI7G3T.js";
14
14
  import {
15
15
  __toESM,
16
16
  init_esm_shims
17
- } from "./chunk-3R73A4XB.js";
17
+ } from "./chunk-ECBHH7LU.js";
18
18
 
19
19
  // src/domains/extensions/discovery.ts
20
20
  init_esm_shims();
@@ -1331,4 +1331,4 @@ export {
1331
1331
  disableExtension,
1332
1332
  removeExtension
1333
1333
  };
1334
- //# sourceMappingURL=chunk-5MEZN6CB.js.map
1334
+ //# sourceMappingURL=chunk-DZK63TZJ.js.map
@@ -3,45 +3,45 @@ import {
3
3
  ensureYaziProfile,
4
4
  resetYaziProfile,
5
5
  yaziProfileDir
6
- } from "./chunk-3M6DQK6S.js";
6
+ } from "./chunk-T334FW2H.js";
7
7
  import {
8
8
  normalizedSkillHash,
9
9
  stripProvenanceFrontmatter
10
- } from "./chunk-NDDGJUXD.js";
10
+ } from "./chunk-DNCE23JJ.js";
11
11
  import {
12
12
  initializeClioHome
13
- } from "./chunk-I7XBWTYH.js";
13
+ } from "./chunk-T53XI6I7.js";
14
14
  import {
15
15
  resolveToolBinary
16
- } from "./chunk-QSNYB6ZV.js";
16
+ } from "./chunk-XCUDZQLX.js";
17
17
  import {
18
18
  findPinnedTool
19
- } from "./chunk-QDC3K2U3.js";
20
- import {
21
- INTEROP_AGENT_KINDS
22
- } from "./chunk-KXDSS5WJ.js";
19
+ } from "./chunk-K2BLQC5E.js";
23
20
  import {
24
21
  settingsPath,
25
22
  withSettingsLock
26
- } from "./chunk-GHS5EBTQ.js";
23
+ } from "./chunk-FKIOX6DS.js";
24
+ import {
25
+ INTEROP_AGENT_KINDS
26
+ } from "./chunk-5CY4Q6QI.js";
27
27
  import {
28
28
  resolvePackageRoot
29
- } from "./chunk-IWHMRKLL.js";
29
+ } from "./chunk-E3LEPLQ2.js";
30
30
  import {
31
31
  require_dist
32
- } from "./chunk-APJ265NV.js";
32
+ } from "./chunk-B5GGDIHT.js";
33
33
  import {
34
34
  fsyncDirectory,
35
35
  safeResourceWrite
36
- } from "./chunk-WEPFGWHJ.js";
36
+ } from "./chunk-ZZFWWYLX.js";
37
37
  import {
38
38
  clioStatePath,
39
39
  resolveClioDirs
40
- } from "./chunk-BYP5D4HI.js";
40
+ } from "./chunk-CTTI7G3T.js";
41
41
  import {
42
42
  __toESM,
43
43
  init_esm_shims
44
- } from "./chunk-3R73A4XB.js";
44
+ } from "./chunk-ECBHH7LU.js";
45
45
 
46
46
  // src/domains/lifecycle/state.ts
47
47
  init_esm_shims();
@@ -654,4 +654,4 @@ export {
654
654
  migrateNamingSettingsFile,
655
655
  clio_coder_naming_default
656
656
  };
657
- //# sourceMappingURL=chunk-IGLP3ODT.js.map
657
+ //# sourceMappingURL=chunk-E3BQTQUP.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/package-root.ts
7
7
  init_esm_shims();
@@ -65,4 +65,4 @@ export {
65
65
  readClioVersion,
66
66
  readPiMonoVersion
67
67
  };
68
- //# sourceMappingURL=chunk-IWHMRKLL.js.map
68
+ //# sourceMappingURL=chunk-E3LEPLQ2.js.map
@@ -47,11 +47,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
47
47
  mod
48
48
  ));
49
49
 
50
- // node_modules/tsup/assets/esm_shims.js
50
+ // node_modules/.pnpm/tsup@8.5.1_postcss@8.5.28_tsx@4.22.4_typescript@6.0.3_yaml@2.9.0/node_modules/tsup/assets/esm_shims.js
51
51
  import { fileURLToPath } from "node:url";
52
52
  var getFilename, __filename;
53
53
  var init_esm_shims = __esm({
54
- "node_modules/tsup/assets/esm_shims.js"() {
54
+ "node_modules/.pnpm/tsup@8.5.1_postcss@8.5.28_tsx@4.22.4_typescript@6.0.3_yaml@2.9.0/node_modules/tsup/assets/esm_shims.js"() {
55
55
  "use strict";
56
56
  getFilename = () => fileURLToPath(import.meta.url);
57
57
  __filename = /* @__PURE__ */ getFilename();
@@ -66,4 +66,4 @@ export {
66
66
  __filename,
67
67
  init_esm_shims
68
68
  };
69
- //# sourceMappingURL=chunk-3R73A4XB.js.map
69
+ //# sourceMappingURL=chunk-ECBHH7LU.js.map
@@ -0,0 +1,139 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ EMPTY_WORKING_SET_VIEW,
4
+ callPathsByToolCallId,
5
+ compactionCut,
6
+ hasLegacyCompactionMarker,
7
+ offloadPathOf,
8
+ parseRefKey,
9
+ primaryPathOf,
10
+ refKey,
11
+ toolResultPayload,
12
+ toolResultText
13
+ } from "./chunk-DBREN25X.js";
14
+ import {
15
+ filterEntriesToActivePath
16
+ } from "./chunk-O5F25NIE.js";
17
+ import {
18
+ ceilChars
19
+ } from "./chunk-77CZRFTE.js";
20
+ import {
21
+ init_esm_shims
22
+ } from "./chunk-ECBHH7LU.js";
23
+
24
+ // src/domains/context/working-set/recall.ts
25
+ init_esm_shims();
26
+ function isThinkingEntry(entry) {
27
+ return entry.kind === "message" && entry.role === "assistant";
28
+ }
29
+ function isToolResultEntry(entry) {
30
+ return entry.kind === "message" && entry.role === "tool_result";
31
+ }
32
+ function resolveRecall(entries, view, ref, activeLeafTurnId) {
33
+ const parsed = parseRefKey(ref, view);
34
+ if (parsed === null) return { ok: false, error: { kind: "invalid_ref", ref } };
35
+ const key = refKey(parsed);
36
+ const active = filterEntriesToActivePath(entries, activeLeafTurnId);
37
+ const entry = active.find((candidate) => candidate.turnId === key);
38
+ if (entry === void 0) {
39
+ return { ok: false, error: { kind: "not_on_active_path", ref: key } };
40
+ }
41
+ if (!isToolResultEntry(entry) || hasLegacyCompactionMarker(entry.payload)) {
42
+ return { ok: false, error: { kind: "unavailable", ref: key } };
43
+ }
44
+ const state = view.evicted.has(key) ? "evicted" : compactionCut(active).visible.some((candidate) => candidate.turnId === key) ? "visible" : "summarized";
45
+ if (state === "visible") return { ok: false, error: { kind: "visible", ref: key } };
46
+ const payload = toolResultPayload(entry.payload);
47
+ const body = toolResultText(payload.result);
48
+ const offloadPath = offloadPathOf(payload);
49
+ return {
50
+ ok: true,
51
+ result: {
52
+ ref: parsed,
53
+ state,
54
+ entry,
55
+ body,
56
+ tokens: ceilChars(body.length),
57
+ ...offloadPath !== void 0 ? { offloadPath } : {}
58
+ }
59
+ };
60
+ }
61
+ function recallParentTurnId(entries, activeLeafTurnId) {
62
+ const active = filterEntriesToActivePath(entries, activeLeafTurnId);
63
+ for (let i = active.length - 1; i >= 0; i -= 1) {
64
+ const candidate = active[i];
65
+ if (candidate?.kind === "message") return candidate.turnId;
66
+ }
67
+ return null;
68
+ }
69
+ function buildRecallFields(result, meta) {
70
+ return {
71
+ kind: "contextRecall",
72
+ ref: { entry: result.ref.entry },
73
+ trigger: meta.trigger,
74
+ tokensReadmitted: result.tokens,
75
+ ...meta.toolCallId !== void 0 ? { toolCallId: meta.toolCallId } : {}
76
+ };
77
+ }
78
+ function recallableRefListing(entries, view, options = {}) {
79
+ const active = filterEntriesToActivePath(entries, options.activeLeafTurnId);
80
+ const visible = new Set(compactionCut(active).visible.map((entry) => entry.turnId));
81
+ const callPaths = callPathsByToolCallId(active);
82
+ const terms = (options.query ?? "").toLowerCase().split(/\s+/).filter(Boolean);
83
+ const limit = typeof options.limit === "number" && Number.isFinite(options.limit) ? Math.max(1, Math.min(12, Math.floor(options.limit))) : 8;
84
+ const offset = typeof options.offset === "number" && Number.isSafeInteger(options.offset) ? Math.max(0, options.offset) : 0;
85
+ const refs = [];
86
+ let total = 0;
87
+ for (const entry of active) {
88
+ if (!isToolResultEntry(entry) || hasLegacyCompactionMarker(entry.payload)) continue;
89
+ const state = view.evicted.has(entry.turnId) ? "evicted" : visible.has(entry.turnId) ? "visible" : "summarized";
90
+ if (state === "visible") continue;
91
+ const payload = toolResultPayload(entry.payload);
92
+ const toolCallId = typeof payload.obj.toolCallId === "string" ? payload.obj.toolCallId : void 0;
93
+ const path = primaryPathOf(payload) ?? (toolCallId === void 0 ? void 0 : callPaths.get(toolCallId));
94
+ const alias = view.evicted.get(entry.turnId)?.alias;
95
+ const metadata = `${alias ?? ""} ${entry.turnId} ${payload.toolName} ${path ?? ""}`.toLowerCase();
96
+ if (!terms.every((term) => metadata.includes(term))) continue;
97
+ if (total >= offset && refs.length < limit) {
98
+ const label = `${payload.toolName}${path === void 0 ? "" : ` ${path}`}`.replace(/\s+/g, " ").slice(0, 240);
99
+ refs.push(`${alias ?? entry.turnId} (${label}) [${state}; ${entry.timestamp}]`);
100
+ }
101
+ total += 1;
102
+ }
103
+ const remaining = Math.max(0, total - offset - refs.length);
104
+ return { refs, remaining, total, offset, ...remaining > 0 ? { nextOffset: offset + refs.length } : {} };
105
+ }
106
+ function recallableRefMessage(entries, view, activeLeafTurnId) {
107
+ const listing = recallableRefListing(entries, view, activeLeafTurnId === void 0 ? {} : { activeLeafTurnId });
108
+ if (listing.refs.length === 0) return "No recallable refs on the active path.";
109
+ const more = listing.remaining > 0 ? `, and ${listing.remaining} more` : "";
110
+ return `Recallable refs on the active path: ${listing.refs.join(", ")}${more}. Discover all matches with context(scope="recall", limit=8, offset=0), omitting ref; query filters path/tool/ref terms. Follow nextOffset.`;
111
+ }
112
+ function recallErrorMessage(error, entries = [], view = EMPTY_WORKING_SET_VIEW, activeLeafTurnId) {
113
+ const active = filterEntriesToActivePath(entries, activeLeafTurnId);
114
+ const listing = ` ${recallableRefMessage(active, view, activeLeafTurnId)}`;
115
+ switch (error.kind) {
116
+ case "invalid_ref":
117
+ return `recall ref must be a single recall alias or turnId without whitespace; got '${error.ref}'.`;
118
+ case "not_on_active_path":
119
+ return `ref ${error.ref} is not on the active path of this session (unknown or on an abandoned branch).${listing}`;
120
+ case "visible":
121
+ return `ref ${error.ref} is visible; its content is already in context.${listing}`;
122
+ case "unavailable": {
123
+ const entry = active.find((candidate) => candidate.turnId === error.ref);
124
+ if (entry !== void 0 && isThinkingEntry(entry)) {
125
+ return `ref ${error.ref} is an assistant turn; thinking is not recallable.${listing}`;
126
+ }
127
+ return `ref ${error.ref} has no recallable original tool result (unsupported entry or legacy destructive compaction).${listing}`;
128
+ }
129
+ }
130
+ }
131
+
132
+ export {
133
+ resolveRecall,
134
+ recallParentTurnId,
135
+ buildRecallFields,
136
+ recallableRefListing,
137
+ recallErrorMessage
138
+ };
139
+ //# sourceMappingURL=chunk-ECOMVOHP.js.map