@iowarp/clio-coder 0.4.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/CONTRIBUTING.md +25 -15
  3. package/README.md +340 -27
  4. package/dist/{acp-H2NGRPWO.js → acp-H3CU2HBQ.js} +25 -25
  5. package/dist/{agents-TL5LLUQP.js → agents-IXQQZ7BD.js} +77 -75
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-E5SW4HMS.js → auth-R7KYF7N3.js} +38 -39
  8. package/dist/builtins-CRFDQUVP.js +22 -0
  9. package/dist/{chunk-7DRAWPTZ.js → chunk-22PQ4TX4.js} +4 -4
  10. package/dist/{chunk-NEDJ26B5.js → chunk-2GPGAE5W.js} +6 -51
  11. package/dist/{chunk-IKCO5N3L.js → chunk-2QPI3TR3.js} +3 -3
  12. package/dist/{chunk-HRQMFLJP.js → chunk-32KJPXAM.js} +6 -6
  13. package/dist/{chunk-65DEGPJ6.js → chunk-3A3CUMKA.js} +6 -4
  14. package/dist/{chunk-5TSRNF4G.js → chunk-3T4DXWP6.js} +170 -12
  15. package/dist/{chunk-DR52UMZW.js → chunk-3UW3KU4A.js} +2 -2
  16. package/dist/{chunk-XIVNBFZS.js → chunk-4SVIVOMC.js} +208 -39
  17. package/dist/{chunk-NMJXSHBJ.js → chunk-5A6XR3RJ.js} +44 -19
  18. package/dist/{chunk-YPC6ZR5L.js → chunk-5CMARGPF.js} +119 -5
  19. package/dist/{chunk-KXDSS5WJ.js → chunk-5CY4Q6QI.js} +4 -4
  20. package/dist/chunk-5DDOTTG4.js +402 -0
  21. package/dist/{chunk-D4CJV46V.js → chunk-5GZICIYO.js} +3 -3
  22. package/dist/{chunk-4IUZQIJ3.js → chunk-5PHVPU4G.js} +2 -2
  23. package/dist/{chunk-PUVDKJ2Y.js → chunk-5VTJP36Q.js} +5 -7
  24. package/dist/{chunk-JGRC33J2.js → chunk-5ZMXGW7P.js} +90 -9
  25. package/dist/chunk-5ZSZEYJK.js +119 -0
  26. package/dist/chunk-633EXGZA.js +44 -0
  27. package/dist/{chunk-IWT4SF4R.js → chunk-6CDNRHWH.js} +361 -89
  28. package/dist/{chunk-EBY63B7G.js → chunk-6EXUUOSN.js} +2 -2
  29. package/dist/{chunk-SVNXH4L2.js → chunk-6ICZKDUC.js} +2 -2
  30. package/dist/{chunk-INY6HTFL.js → chunk-6SYEGZI3.js} +12 -12
  31. package/dist/{chunk-SKHCAU7K.js → chunk-6YA46L5A.js} +5 -4
  32. package/dist/{chunk-NZMNUPZZ.js → chunk-77CZRFTE.js} +3 -3
  33. package/dist/{chunk-L47TF46W.js → chunk-7HBHHVCK.js} +24 -3
  34. package/dist/{chunk-DWUOQKRU.js → chunk-7TKWWPD7.js} +5 -4
  35. package/dist/{chunk-2VTFPG5O.js → chunk-7WLRF2U5.js} +2 -2
  36. package/dist/chunk-7WUZEB2M.js +165 -0
  37. package/dist/{chunk-6PTFB5VS.js → chunk-7YJWEF2L.js} +59 -28
  38. package/dist/{chunk-3EBYEESD.js → chunk-A46ILRS2.js} +5 -5
  39. package/dist/{chunk-UOIZ7DA4.js → chunk-AP7HDJOP.js} +2 -2
  40. package/dist/{chunk-APJ265NV.js → chunk-B5GGDIHT.js} +146 -146
  41. package/dist/{chunk-PMZVFWSR.js → chunk-B5ZTR6KZ.js} +2 -2
  42. package/dist/chunk-B6UM3OZC.js +15 -0
  43. package/dist/{chunk-MCEPRMZW.js → chunk-BBV5TKE6.js} +5 -5
  44. package/dist/{chunk-4O6MANBS.js → chunk-BS4GAMUB.js} +14 -10
  45. package/dist/{chunk-S66XZJOF.js → chunk-C27U2TYG.js} +2 -2
  46. package/dist/{chunk-42FMPA75.js → chunk-CBSKDFWL.js} +3 -3
  47. package/dist/{chunk-2LEAKD4C.js → chunk-CKK25WN3.js} +3 -3
  48. package/dist/{chunk-BYP5D4HI.js → chunk-CTTI7G3T.js} +2 -2
  49. package/dist/{chunk-XAKHZX5N.js → chunk-CVDAFGPW.js} +4 -4
  50. package/dist/{chunk-RKKLTLYB.js → chunk-CXQ37WJH.js} +3 -3
  51. package/dist/{chunk-GTUD2WMY.js → chunk-DBREN25X.js} +44 -9
  52. package/dist/{chunk-WCXUNS7U.js → chunk-DIMRLNIC.js} +35 -66
  53. package/dist/{chunk-NDDGJUXD.js → chunk-DNCE23JJ.js} +2 -2
  54. package/dist/{chunk-HVDIIIQW.js → chunk-DNHVRBH4.js} +3 -3
  55. package/dist/{chunk-2UG5F4C5.js → chunk-DRD2A54W.js} +116 -52
  56. package/dist/{chunk-D7E7WCDF.js → chunk-DVNAPPXU.js} +2 -2
  57. package/dist/{chunk-YXLYO42X.js → chunk-DXVMLM3Z.js} +3 -2
  58. package/dist/{chunk-5MEZN6CB.js → chunk-DZK63TZJ.js} +6 -6
  59. package/dist/{chunk-IGLP3ODT.js → chunk-E3BQTQUP.js} +15 -15
  60. package/dist/{chunk-IWHMRKLL.js → chunk-E3LEPLQ2.js} +2 -2
  61. package/dist/{chunk-3R73A4XB.js → chunk-ECBHH7LU.js} +3 -3
  62. package/dist/chunk-ECOMVOHP.js +139 -0
  63. package/dist/chunk-EFSEIZE6.js +56 -0
  64. package/dist/{chunk-IJNZMHLA.js → chunk-EHCPSZJF.js} +4 -4
  65. package/dist/{chunk-K6BSR66V.js → chunk-EHOSNVVM.js} +6 -2
  66. package/dist/{chunk-RRNP2ANY.js → chunk-EQEJJ53P.js} +10 -10
  67. package/dist/{chunk-GWZNEVM2.js → chunk-EWD5P3GK.js} +9 -9
  68. package/dist/{chunk-JKKCYP3C.js → chunk-F34AR6O3.js} +21 -15
  69. package/dist/{chunk-GHS5EBTQ.js → chunk-FKIOX6DS.js} +29 -20
  70. package/dist/{chunk-HAXOFFRH.js → chunk-FQOOGXBH.js} +7 -7
  71. package/dist/{chunk-MWUZBSAQ.js → chunk-FSTIBAGM.js} +358 -63
  72. package/dist/{chunk-ZTJUVLTU.js → chunk-FXFVDPWY.js} +2 -2
  73. package/dist/{chunk-XPLRXC72.js → chunk-GD55RTIW.js} +3 -3
  74. package/dist/{chunk-5B2AEOW5.js → chunk-GH5ZR6JP.js} +472 -472
  75. package/dist/{chunk-JSC3U7TI.js → chunk-GJ24ODAX.js} +5 -5
  76. package/dist/{chunk-B4VEBZKF.js → chunk-GNQRWTMY.js} +139 -52
  77. package/dist/{chunk-5ICU3EUH.js → chunk-GVYWZNRK.js} +5 -5
  78. package/dist/chunk-GXCCHKN6.js +59 -0
  79. package/dist/{chunk-V2ANDPVT.js → chunk-HGSLRG33.js} +170 -8
  80. package/dist/{chunk-LLDJM5XK.js → chunk-HHVJNVUJ.js} +6 -6
  81. package/dist/{chunk-F4EKGO4N.js → chunk-HL26ADLH.js} +4 -2
  82. package/dist/{chunk-VA5FNYMT.js → chunk-HR3HPQ76.js} +42 -5
  83. package/dist/{chunk-ID64D7PE.js → chunk-HXHFDHB6.js} +24 -24
  84. package/dist/{chunk-OML5D5V5.js → chunk-I7VLWRK2.js} +8 -8
  85. package/dist/{chunk-VW6DOEDG.js → chunk-ICO4TQ2F.js} +16 -5
  86. package/dist/{chunk-SZAA6XDG.js → chunk-IFDRAD6F.js} +2 -2
  87. package/dist/{chunk-WBKFA554.js → chunk-ILJ7DWGE.js} +9 -9
  88. package/dist/{chunk-2JH2WHGE.js → chunk-J2FYEQ5L.js} +4 -4
  89. package/dist/{chunk-BMS5RKQY.js → chunk-JABWPKFY.js} +3 -3
  90. package/dist/{chunk-QDC3K2U3.js → chunk-K2BLQC5E.js} +3 -3
  91. package/dist/{chunk-EKCHAPYA.js → chunk-K2HL3GBL.js} +4 -4
  92. package/dist/{chunk-N2Z7HLVY.js → chunk-K6RDB7IA.js} +28 -28
  93. package/dist/{chunk-TM6LQDI3.js → chunk-KDWLXVMN.js} +85 -335
  94. package/dist/{chunk-OZNBF4L3.js → chunk-KECNXMDE.js} +2 -2
  95. package/dist/{chunk-RSJ25QSL.js → chunk-KF6GFW6O.js} +217 -50
  96. package/dist/{chunk-BTK3SSSK.js → chunk-KMF54VH3.js} +2 -2
  97. package/dist/chunk-KPRLAMP4.js +32 -0
  98. package/dist/{chunk-ECH6PKUQ.js → chunk-KQ6IDQIB.js} +2 -2
  99. package/dist/{chunk-IUE3Y34X.js → chunk-KTFSFCVN.js} +20 -9
  100. package/dist/{chunk-7E7I3WLS.js → chunk-KYKNBD4Y.js} +36 -34
  101. package/dist/chunk-L4N3DWNW.js +539 -0
  102. package/dist/{chunk-LCGCVYZ4.js → chunk-LQTKDAUO.js} +2 -2
  103. package/dist/{chunk-JIEGK6UF.js → chunk-LTR5QCLS.js} +51 -7
  104. package/dist/chunk-LUL5Z66S.js +221 -0
  105. package/dist/chunk-LVFANMOH.js +466 -0
  106. package/dist/{chunk-H7IXIC72.js → chunk-LY4N4TTL.js} +17 -3
  107. package/dist/{chunk-VKPAQYEB.js → chunk-LZBMXNLP.js} +5 -5
  108. package/dist/{chunk-UL3WSD3F.js → chunk-M4KFUXS7.js} +2 -2
  109. package/dist/{chunk-I7ZPNEJM.js → chunk-M6TAYK66.js} +8 -8
  110. package/dist/{chunk-NEKRRTYW.js → chunk-MC3JSVR6.js} +2 -2
  111. package/dist/{chunk-CFGTUFWB.js → chunk-MCJKEGHO.js} +2 -2
  112. package/dist/chunk-MDU3C27C.js +674 -0
  113. package/dist/{chunk-6XLNIQDB.js → chunk-MYI32N4R.js} +2 -2
  114. package/dist/{chunk-4UVU7BJ5.js → chunk-NC4KV7EL.js} +6 -6
  115. package/dist/{chunk-JEQ3XTHC.js → chunk-NF3BK5WR.js} +5 -5
  116. package/dist/chunk-NTK3WTHM.js +141 -0
  117. package/dist/{chunk-GYV6VZOC.js → chunk-NTTS3O53.js} +2 -2
  118. package/dist/{chunk-UPZU6GE4.js → chunk-NY6IWDVU.js} +6 -6
  119. package/dist/chunk-O2RQ7LCK.js +283 -0
  120. package/dist/{chunk-4BJ5BYCE.js → chunk-O3VV6IVK.js} +2 -2
  121. package/dist/{chunk-W6GROXXM.js → chunk-O5F25NIE.js} +2 -2
  122. package/dist/{chunk-WRBAGUNF.js → chunk-ODUTYZIU.js} +5 -5
  123. package/dist/{chunk-E3TPLWFX.js → chunk-ONRTXOZY.js} +4 -4
  124. package/dist/{chunk-B4OAX3SI.js → chunk-OQM5IVJY.js} +118 -225
  125. package/dist/{chunk-XRZT5WY5.js → chunk-P5SC4DLJ.js} +4 -4
  126. package/dist/{chunk-R6Q67RJH.js → chunk-PECBKCDK.js} +34 -6
  127. package/dist/{chunk-33YXPOE3.js → chunk-PPEZJWUG.js} +2 -2
  128. package/dist/{chunk-64I3JVYM.js → chunk-PWWSIB2A.js} +5 -5
  129. package/dist/{chunk-2STGEDFV.js → chunk-QEQISF75.js} +2 -2
  130. package/dist/{chunk-3DPEIQKN.js → chunk-QH3ZTUOA.js} +2 -2
  131. package/dist/{chunk-YAKGTXEV.js → chunk-QRFXEO6Y.js} +2 -2
  132. package/dist/{chunk-35MSIRKH.js → chunk-QUIJZSDW.js} +2 -2
  133. package/dist/{chunk-HHV2GANA.js → chunk-R2P2U3ZS.js} +2 -2
  134. package/dist/chunk-R6MAYTMS.js +108 -0
  135. package/dist/{chunk-MUW2BDDH.js → chunk-R6MICQYU.js} +6 -6
  136. package/dist/{chunk-JDAY6FIL.js → chunk-RLTT5GVY.js} +132 -17
  137. package/dist/{chunk-ZWPRK62N.js → chunk-RXIOCVBZ.js} +24 -6
  138. package/dist/{chunk-NIQJ66N4.js → chunk-S32UQ5GL.js} +62 -35
  139. package/dist/{chunk-AX2THNSA.js → chunk-SBZX6ARC.js} +12 -12
  140. package/dist/{chunk-TXOTCRLG.js → chunk-SD7SHNDW.js} +2 -2
  141. package/dist/{chunk-AF4YM7Z4.js → chunk-SDWNDICN.js} +10284 -3756
  142. package/dist/{chunk-UXCU4E3T.js → chunk-SE4ZKILO.js} +6 -6
  143. package/dist/chunk-SL2RDHKO.js +19 -0
  144. package/dist/{chunk-NUGM5KR6.js → chunk-SRCEQKQS.js} +2 -2
  145. package/dist/{chunk-KKOJXO6R.js → chunk-SRZOW5L2.js} +46 -14
  146. package/dist/{chunk-3M6DQK6S.js → chunk-T334FW2H.js} +7 -7
  147. package/dist/chunk-T52TPHYC.js +318 -0
  148. package/dist/{chunk-I7XBWTYH.js → chunk-T53XI6I7.js} +5 -5
  149. package/dist/{chunk-LDJG7DW3.js → chunk-T7FDXNRU.js} +13 -13
  150. package/dist/{chunk-XPWWI35G.js → chunk-TEG3RYVZ.js} +59 -41
  151. package/dist/{chunk-3I7MS7N2.js → chunk-TK2BMCBZ.js} +2 -2
  152. package/dist/{chunk-5OIVVPHF.js → chunk-TN5FW4XY.js} +13 -6
  153. package/dist/{chunk-PAJQJ7BS.js → chunk-TZ7MFRG4.js} +1263 -835
  154. package/dist/{chunk-GI7YYQ3F.js → chunk-U2JOLB7O.js} +415 -83
  155. package/dist/{chunk-LL4KHSZI.js → chunk-U2MSJ57E.js} +2 -2
  156. package/dist/{chunk-FTMGRKEF.js → chunk-U44YYLVV.js} +4 -4
  157. package/dist/{chunk-CE5AX47J.js → chunk-U7H5WRG5.js} +5 -5
  158. package/dist/{chunk-G76U63X4.js → chunk-U7VQ4NI4.js} +22 -22
  159. package/dist/{chunk-7ZYNNDKC.js → chunk-UFYNOQK4.js} +7 -7
  160. package/dist/{chunk-R346GLFC.js → chunk-UHW5V7HC.js} +2 -2
  161. package/dist/{chunk-QWGDJJYJ.js → chunk-UL36QJX6.js} +14 -14
  162. package/dist/{chunk-VIA6RFQZ.js → chunk-UQIVHSE4.js} +4 -4
  163. package/dist/{chunk-HEQY7ZFI.js → chunk-URBGEOH3.js} +5 -5
  164. package/dist/chunk-USZA7GWL.js +341 -0
  165. package/dist/{chunk-W6RRQCPQ.js → chunk-UTUNT5QL.js} +48 -579
  166. package/dist/{chunk-ZA4VCIGV.js → chunk-UUQ5G6EZ.js} +60 -41
  167. package/dist/{chunk-F5JHEYZM.js → chunk-UXAC2FX4.js} +73 -41
  168. package/dist/{chunk-VG7TBQIY.js → chunk-V552WL53.js} +68 -4
  169. package/dist/{chunk-BWH6N36D.js → chunk-VHKTOLEW.js} +272 -42
  170. package/dist/chunk-VLPTKCKT.js +396 -0
  171. package/dist/{chunk-336NSSKI.js → chunk-VNBICSS2.js} +2 -2
  172. package/dist/{chunk-VAVR4IJY.js → chunk-VQD7NH7Z.js} +3 -3
  173. package/dist/{chunk-LBMZMYH2.js → chunk-W2RJEH6Q.js} +3 -3
  174. package/dist/{chunk-7CR24IG7.js → chunk-WDV62RKY.js} +2 -2
  175. package/dist/{chunk-2UH2KFUP.js → chunk-WFKDPU7U.js} +4 -4
  176. package/dist/{chunk-ZDN3Y73Y.js → chunk-WJIMKGD6.js} +9 -51
  177. package/dist/{chunk-YQWYVTMC.js → chunk-WLMSOT73.js} +59 -12
  178. package/dist/{chunk-MXHC5QYU.js → chunk-WTQGRBHV.js} +5 -144
  179. package/dist/chunk-WXA2CFJO.js +23 -0
  180. package/dist/{chunk-QSNYB6ZV.js → chunk-XCUDZQLX.js} +3 -3
  181. package/dist/{chunk-2APPQIER.js → chunk-XXBQKW32.js} +11 -11
  182. package/dist/{chunk-2VIKGWFZ.js → chunk-YEJIG7LN.js} +332 -332
  183. package/dist/chunk-YGDMBK7O.js +567 -0
  184. package/dist/{chunk-4WR7VSYB.js → chunk-YYB3MC65.js} +23 -9
  185. package/dist/{chunk-2IR2NMPA.js → chunk-ZIDFQJRB.js} +2 -2
  186. package/dist/{chunk-54CBCGIR.js → chunk-ZMZQEBKI.js} +136 -81
  187. package/dist/{chunk-6EJMN2Y3.js → chunk-ZTNFYMIO.js} +2 -2
  188. package/dist/{chunk-WEPFGWHJ.js → chunk-ZZFWWYLX.js} +2 -2
  189. package/dist/cli/index.js +45 -44
  190. package/dist/clio-5I2IBFYL.js +26 -0
  191. package/dist/{code-nav-MDZNQS33.js → code-nav-YXIAEZVS.js} +48 -32
  192. package/dist/codewiki/build-worker.js +76 -29
  193. package/dist/{compile-cache-OQAVB7Y5.js → compile-cache-WJEPUZEJ.js} +4 -4
  194. package/dist/{components-UCUQ4QXW.js → components-TNIKXCBH.js} +13 -14
  195. package/dist/{config-SVM5P5YI.js → config-Y2JDJ3JJ.js} +210 -119
  196. package/dist/configure-SML6UBZ5.js +55 -0
  197. package/dist/{context-2OHRKS42.js → context-P5YSEO55.js} +125 -115
  198. package/dist/{context-VNCR7KAG.js → context-QQ53HSGJ.js} +91 -62
  199. package/dist/{context-E3VC7RX5.js → context-S2EEC3EJ.js} +62 -31
  200. package/dist/context-clear-TMEQCOTH.js +183 -0
  201. package/dist/{context-index-HNG3MOME.js → context-index-HP2JFUWA.js} +13 -11
  202. package/dist/{context-map-COB37XXN.js → context-map-INTXD54D.js} +71 -21
  203. package/dist/{context-working-set-VDS25HXZ.js → context-working-set-CNLSQN5K.js} +31 -31
  204. package/dist/detail-5572VLBO.js +114 -0
  205. package/dist/{dispatch-runner-5AHT53RF.js → dispatch-runner-FRHD6P2O.js} +214 -126
  206. package/dist/{docs-PD3EXDKU.js → docs-BL7ROUFN.js} +5 -7
  207. package/dist/{doctor-WNNVO6FY.js → doctor-N3LCM2LG.js} +89 -66
  208. package/dist/{eval-7G7SGAYO.js → eval-BUU3ZOUZ.js} +493 -197
  209. package/dist/{eval-inventory-Y6QRFOH5.js → eval-inventory-QOYZERXJ.js} +7 -7
  210. package/dist/evidence-DTGEN456.js +224 -0
  211. package/dist/{evidence-VD6736FQ.js → evidence-SQ5DNFEN.js} +114 -195
  212. package/dist/{evolve-AL3NGVRL.js → evolve-IJNUFZDS.js} +107 -88
  213. package/dist/{extensions-MOVJ32NM.js → extensions-YVRHX6ZI.js} +16 -17
  214. package/dist/{fleet-QZHUMAGI.js → fleet-ZNNVSYFO.js} +147 -141
  215. package/dist/{fleet-commands-BAYT5FJZ.js → fleet-commands-5YE7NPJL.js} +27 -23
  216. package/dist/{fleet-decisions-IREVMRU4.js → fleet-decisions-3SBSCTCW.js} +16 -15
  217. package/dist/{fleet-graph-YCTT3HTI.js → fleet-graph-6HHPWF5T.js} +39 -38
  218. package/dist/{fleet-inspect-QVJTDAVB.js → fleet-inspect-JEYMGCGC.js} +107 -87
  219. package/dist/{fleet-new-RDVJLHHH.js → fleet-new-RCKGSRDV.js} +3 -3
  220. package/dist/{fleet-preflight-25QAFPK4.js → fleet-preflight-QRSHIIDE.js} +10 -10
  221. package/dist/{fleet-validate-5O57AAJ7.js → fleet-validate-4PM4GDDL.js} +46 -42
  222. package/dist/{fleet-verify-CPH2W2T6.js → fleet-verify-NJDTHTO3.js} +105 -85
  223. package/dist/fleet-view-UP2BWQQY.js +117 -0
  224. package/dist/{init-J477LKZH.js → init-S3GZQ5ZF.js} +123 -117
  225. package/dist/{install-NKNG7KD4.js → install-3RZDDP23.js} +5 -5
  226. package/dist/{interop-3FCM6XLG.js → interop-YOTGXFJM.js} +25 -26
  227. package/dist/inventory-K2OZ36YJ.js +117 -0
  228. package/dist/{library-QUQEIUG6.js → library-GJI6W6OK.js} +45 -45
  229. package/dist/{memory-SGGSEP65.js → memory-OQOXQGYD.js} +107 -90
  230. package/dist/{models-HEKUAXXK.js → models-3IK2Y5WE.js} +64 -65
  231. package/dist/{monitor-HKU57TYQ.js → monitor-FTJLTKCQ.js} +136 -101
  232. package/dist/{orchestrator-VDFAEFAI.js → orchestrator-N47O7SFD.js} +1442 -1671
  233. package/dist/{panes-DN2SSFOH.js → panes-7BTYH3XQ.js} +8 -8
  234. package/dist/{panes-TALGNPZT.js → panes-WPOMEMRH.js} +22 -23
  235. package/dist/{paths-NBMFAIEZ.js → paths-J3KN7UAO.js} +12 -13
  236. package/dist/preload-65U34NG6.js +115 -0
  237. package/dist/{registry-LG64LTF4.js → registry-DESGAXWK.js} +3 -3
  238. package/dist/{reset-EAJFFJVB.js → reset-MUVQDLNL.js} +20 -21
  239. package/dist/{resources-OVKSEFVE.js → resources-LM76COAO.js} +41 -40
  240. package/dist/{run-7DP7ZF2J.js → run-3VFZQ33N.js} +168 -166
  241. package/dist/{share-WML67FT3.js → share-4JUB4BL7.js} +43 -43
  242. package/dist/{skills-SG662R2K.js → skills-S36AAJHU.js} +47 -47
  243. package/dist/{skills-eval-VVZEUU46.js → skills-eval-G6T57L7M.js} +127 -104
  244. package/dist/{skills-inventory-I2E23GET.js → skills-inventory-WLM46PJH.js} +41 -40
  245. package/dist/slash-commands-GBARG3Y7.js +91 -0
  246. package/dist/{steer-2LQOMCPB.js → steer-S7D7IKPU.js} +7 -7
  247. package/dist/{support-CC2UJBJ6.js → support-5VAEC32W.js} +14 -14
  248. package/dist/{targets-4QC3HIEW.js → targets-N5REUETU.js} +147 -98
  249. package/dist/tasks-6BVY5YZF.js +36 -0
  250. package/dist/{terminal-lease-TUHIJ6Y2.js → terminal-lease-57UEOJKS.js} +12 -11
  251. package/dist/tools-6OCQ6SVB.js +28 -0
  252. package/dist/{trace-FXMXUZUF.js → trace-JHLXWUMN.js} +18 -17
  253. package/dist/{tree-sitter-HGKH6LG4.js → tree-sitter-AQUUOSYM.js} +6 -6
  254. package/dist/{tui-primitives-K5PASC3O.js → tui-primitives-RCY2HN7G.js} +3 -3
  255. package/dist/{uninstall-5PEVOE5B.js → uninstall-FXYMFFRT.js} +19 -20
  256. package/dist/{upgrade-M4WXY6KN.js → upgrade-4HD5HAIV.js} +49 -45
  257. package/dist/{usage-N7ZNVLEM.js → usage-4GWM2WWP.js} +143 -103
  258. package/dist/{verifiers-DJTP4XX6.js → verifiers-GSKWKWVG.js} +162 -28
  259. package/dist/verify-3AS3ULCY.js +30 -0
  260. package/dist/{version-KGEG7EPO.js → version-RFPKO6T7.js} +4 -4
  261. package/dist/{web-fetch-MPARV2K7.js → web-fetch-MQN4FH3X.js} +169 -18
  262. package/dist/wiki-generate-7BV7XWIY.js +614 -0
  263. package/dist/{with-panes-4GCGSL7J.js → with-panes-OFTNAR4Y.js} +34 -20
  264. package/dist/worker/entry.js +99 -85
  265. package/dist/{workspace-ZJ6BFM3Q.js → workspace-DZ7JADBG.js} +6 -6
  266. package/docs/README.md +10 -8
  267. package/docs/architecture/acp.md +27 -0
  268. package/docs/architecture/architecture.md +5 -5
  269. package/docs/architecture/artifact-versions.md +1 -1
  270. package/docs/architecture/context-engine.md +44 -59
  271. package/docs/architecture/context-working-set.md +7 -9
  272. package/docs/architecture/dispatch-architecture-rationale.md +1 -1
  273. package/docs/architecture/dispatch-typed-intent.md +1 -1
  274. package/docs/architecture/evidence-and-memory.md +11 -1
  275. package/docs/architecture/observability.md +7 -1
  276. package/docs/architecture/pi-boundary.md +37 -7
  277. package/docs/architecture/prompt-envelope-and-tools.md +22 -12
  278. package/docs/architecture/safety-model.md +10 -17
  279. package/docs/architecture/session-lifecycle.md +4 -4
  280. package/docs/architecture/tui-design.md +1 -1
  281. package/docs/architecture/worker-dispatch-mechanics.md +4 -0
  282. package/docs/guide/built-in-agents.md +8 -8
  283. package/docs/guide/commands-and-modes.md +66 -38
  284. package/docs/guide/configuration-and-targets.md +10 -3
  285. package/docs/guide/configuration-reference.md +23 -8
  286. package/docs/guide/environment-variables.md +8 -4
  287. package/docs/guide/fleet-dispatch.md +12 -0
  288. package/docs/guide/installation-and-lifecycle.md +35 -9
  289. package/docs/guide/proactive-memory.md +1 -1
  290. package/docs/guide/skills-marketplace.md +11 -3
  291. package/docs/guide/tool-usage.md +87 -5
  292. package/docs/history/config-knobs-audit.md +2 -2
  293. package/docs/process/development-pipeline.md +15 -10
  294. package/docs/process/documentation-guide.md +2 -2
  295. package/docs/process/eval-runner.md +15 -0
  296. package/docs/process/evals-internal.md +1 -1
  297. package/docs/process/git-commit-provenance.md +15 -0
  298. package/docs/process/release-cut-checklist.md +207 -0
  299. package/docs/process/scientific-validation.md +18 -17
  300. package/evals/README.md +4 -0
  301. package/evals/behavioral-corpus-grader.mjs +147 -14
  302. package/evals/behavioral-machinery-support.ts +1 -0
  303. package/evals/behavioral-machinery.yaml +1 -1
  304. package/evals/behavioral-model-negative-control.yaml +1 -0
  305. package/evals/behavioral-model.yaml +266 -1
  306. package/evals/fixtures/docs-retrieval.json +102 -0
  307. package/evals/fixtures/scalar-decision.json +17 -0
  308. package/evals/fixtures/scout-citation-pipeline.json +55 -0
  309. package/evals/fixtures/source-explanation.json +74 -0
  310. package/evals/fixtures/tool-arguments.json +18 -0
  311. package/evals/fixtures/tool-surface/read.txt +4 -0
  312. package/evals/fixtures/tool-surface/subdir/keep.txt +1 -0
  313. package/evals/no-edit-memory-grader.mjs +149 -0
  314. package/evals/scalar-decision-grader.py +41 -0
  315. package/evals/scalar-decision-machinery.ts +145 -0
  316. package/evals/source-explanation-grader.mjs +118 -0
  317. package/evals/tool-surface-grader.mjs +53 -0
  318. package/evals/tool-surface-model.yaml +274 -0
  319. package/package.json +14 -14
  320. package/skills/README.md +6 -6
  321. package/skills/coding/coding-standards/SKILL.md +14 -4
  322. package/skills/context/context-handoff/SKILL.md +3 -3
  323. package/skills/context/context-prime/SKILL.md +3 -3
  324. package/skills/planning/architecture/SKILL.md +5 -5
  325. package/skills/planning/backlog/SKILL.md +4 -4
  326. package/skills/planning/prd/SKILL.md +4 -3
  327. package/skills/planning/product-intent/SKILL.md +8 -8
  328. package/skills/planning/tech-spec/SKILL.md +4 -4
  329. package/skills/registry.yaml +33 -33
  330. package/skills/research/arxiv-literature/SKILL.md +3 -3
  331. package/skills/research/experiment-protocol/SKILL.md +3 -3
  332. package/skills/research/scientific-debugging/SKILL.md +3 -2
  333. package/skills/research/scientific-modernization/SKILL.md +3 -3
  334. package/skills/skill-marketplace.json +17 -17
  335. package/skills/workflow/cut-it/SKILL.md +3 -4
  336. package/skills/workflow/design-council/SKILL.md +5 -10
  337. package/skills/workflow/grill-me/SKILL.md +14 -15
  338. package/skills/workflow/workflow-distiller/SKILL.md +4 -4
  339. package/src/cli/args.ts +0 -8
  340. package/src/cli/bootstrap-generate.ts +6 -0
  341. package/src/cli/config-inspect.ts +24 -7
  342. package/src/cli/config-trust.ts +62 -0
  343. package/src/cli/config.ts +8 -0
  344. package/src/cli/configure.ts +2 -1
  345. package/src/cli/context-map.ts +75 -14
  346. package/src/cli/context.ts +46 -17
  347. package/src/cli/doctor-state-size.ts +1 -12
  348. package/src/cli/doctor-validation-contract.ts +28 -0
  349. package/src/cli/doctor.ts +5 -0
  350. package/src/cli/eval.ts +17 -3
  351. package/src/cli/evidence-detail.ts +1 -75
  352. package/src/cli/evidence-inventory.ts +1 -167
  353. package/src/cli/index.ts +2 -0
  354. package/src/cli/modes/print.ts +32 -4
  355. package/src/cli/run.ts +16 -16
  356. package/src/cli/skills-eval.ts +10 -8
  357. package/src/cli/steer-channel.ts +31 -18
  358. package/src/cli/targets.ts +84 -32
  359. package/src/cli/tasks.ts +93 -0
  360. package/src/cli/upgrade.ts +19 -11
  361. package/src/cli/usage.ts +30 -0
  362. package/src/cli/verifiers.ts +147 -1
  363. package/src/cli/wiki-generate.ts +240 -96
  364. package/src/core/bash-exec.ts +43 -15
  365. package/src/core/bus-events.ts +15 -0
  366. package/src/core/commit-attribution.ts +41 -1
  367. package/src/core/config.ts +33 -14
  368. package/src/core/defaults.ts +5 -4
  369. package/src/core/file-references.ts +11 -1
  370. package/src/core/git-commit-attribution.ts +46 -3
  371. package/src/core/incomplete-installation.ts +3 -1
  372. package/src/core/run-overrides.ts +0 -5
  373. package/src/core/settings-layers.ts +21 -5
  374. package/src/core/skill-activation.ts +3 -0
  375. package/src/core/termination.ts +26 -9
  376. package/src/core/tool-names.ts +5 -2
  377. package/src/core/untrusted-content.ts +16 -0
  378. package/src/core/workspace-trust.ts +179 -0
  379. package/src/domains/agents/builtins/architect.md +1 -1
  380. package/src/domains/agents/builtins/coder.md +5 -3
  381. package/src/domains/agents/builtins/context-bootstrap.md +3 -1
  382. package/src/domains/agents/builtins/documenter.md +8 -5
  383. package/src/domains/agents/builtins/git-master.md +1 -1
  384. package/src/domains/agents/builtins/provenance.md +7 -7
  385. package/src/domains/agents/builtins/researcher.md +1 -0
  386. package/src/domains/agents/builtins/scout.md +7 -1
  387. package/src/domains/agents/builtins/tester.md +1 -1
  388. package/src/domains/agents/builtins/verifier.md +2 -2
  389. package/src/domains/agents/builtins/wiki-writer.md +4 -3
  390. package/src/domains/agents/result-contract.ts +199 -26
  391. package/src/domains/context/bootstrap-prompt.ts +11 -9
  392. package/src/domains/context/bootstrap.ts +74 -39
  393. package/src/domains/context/clio-md.ts +88 -26
  394. package/src/domains/context/codewiki/build-operation.ts +121 -0
  395. package/src/domains/context/codewiki/build-worker-protocol.ts +37 -3
  396. package/src/domains/context/codewiki/build-worker.ts +3 -35
  397. package/src/domains/context/codewiki/coordinator.ts +36 -6
  398. package/src/domains/context/codewiki/indexer.ts +59 -19
  399. package/src/domains/context/contract.ts +6 -2
  400. package/src/domains/context/extension.ts +97 -11
  401. package/src/domains/context/fingerprint.ts +39 -34
  402. package/src/domains/context/index.ts +7 -1
  403. package/src/domains/context/prompt-context.ts +55 -14
  404. package/src/domains/context/refresh.ts +12 -57
  405. package/src/domains/context/wiki/assemble.ts +14 -10
  406. package/src/domains/context/wiki/evidence.ts +209 -0
  407. package/src/domains/context/wiki/frontmatter.ts +5 -2
  408. package/src/domains/context/wiki/generate.ts +207 -67
  409. package/src/domains/context/wiki/meta.ts +10 -2
  410. package/src/domains/context/wiki/plan-store.ts +70 -14
  411. package/src/domains/context/wiki/plan.ts +71 -14
  412. package/src/domains/context/wiki/prompts.ts +85 -1
  413. package/src/domains/context/wiki/source-content.ts +106 -0
  414. package/src/domains/context/wiki/staleness.ts +33 -22
  415. package/src/domains/context/working-set/contract.ts +8 -2
  416. package/src/domains/context/working-set/engine.ts +17 -4
  417. package/src/domains/context/working-set/fold.ts +15 -2
  418. package/src/domains/context/working-set/marker.ts +2 -1
  419. package/src/domains/context/working-set/project.ts +18 -7
  420. package/src/domains/context/working-set/recall.ts +82 -56
  421. package/src/domains/dispatch/active-route-planner.ts +10 -3
  422. package/src/domains/dispatch/admission-queue.ts +19 -7
  423. package/src/domains/dispatch/admission.ts +3 -3
  424. package/src/domains/dispatch/budget-envelope.ts +47 -82
  425. package/src/domains/dispatch/capacity-lease.ts +57 -19
  426. package/src/domains/dispatch/code-step.ts +11 -4
  427. package/src/domains/dispatch/contract.ts +41 -9
  428. package/src/domains/dispatch/event-pump.ts +28 -7
  429. package/src/domains/dispatch/execution-role.ts +49 -2
  430. package/src/domains/dispatch/execution-scheduler.ts +4 -0
  431. package/src/domains/dispatch/extension.ts +240 -132
  432. package/src/domains/dispatch/fleet-commit-attribution.ts +5 -0
  433. package/src/domains/dispatch/fleet-run.ts +21 -0
  434. package/src/domains/dispatch/gate-role-prompts.ts +4 -2
  435. package/src/domains/dispatch/host-verification.ts +114 -13
  436. package/src/domains/dispatch/intent.ts +28 -18
  437. package/src/domains/dispatch/orphan-recovery.ts +2 -0
  438. package/src/domains/dispatch/parallel-writers.ts +34 -0
  439. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  440. package/src/domains/dispatch/reservation-store.ts +13 -37
  441. package/src/domains/dispatch/route-approval.ts +3 -3
  442. package/src/domains/dispatch/route-observer.ts +4 -2
  443. package/src/domains/dispatch/route-quality.ts +6 -1
  444. package/src/domains/dispatch/state.ts +15 -2
  445. package/src/domains/dispatch/types.ts +21 -5
  446. package/src/domains/dispatch/worker-spawn.ts +58 -21
  447. package/src/domains/dispatch/workspace-checkpoint.ts +57 -0
  448. package/src/domains/eval/compare/behavioral.ts +81 -14
  449. package/src/domains/eval/compare/compare.ts +15 -5
  450. package/src/domains/eval/compare/envelope.ts +12 -5
  451. package/src/domains/eval/metrics/context.ts +24 -1
  452. package/src/domains/eval/metrics/tracked.ts +4 -28
  453. package/src/domains/eval/reports/comparison.ts +9 -9
  454. package/src/domains/eval/runners/clio-run.ts +17 -10
  455. package/src/domains/eval/runners/context-index.ts +2 -7
  456. package/src/domains/eval/runners/context-init.ts +3 -6
  457. package/src/domains/eval/runners/external-command.ts +29 -11
  458. package/src/domains/eval/schema/suite.ts +2 -0
  459. package/src/domains/eval/schema/validate.ts +1 -0
  460. package/src/domains/eval/suites/run.ts +189 -13
  461. package/src/domains/eval/verifiers/integrity.ts +39 -0
  462. package/src/domains/eval/verifiers/patch.ts +58 -2
  463. package/src/domains/eval/workspaces/temp-copy.ts +3 -0
  464. package/src/domains/evidence/build.ts +106 -17
  465. package/src/domains/evidence/detail.ts +69 -0
  466. package/src/domains/evidence/eval.ts +13 -1
  467. package/src/domains/evidence/finish-contract-map.ts +5 -1
  468. package/src/domains/evidence/inventory.ts +167 -0
  469. package/src/domains/evidence/store.ts +16 -0
  470. package/src/domains/evidence/types.ts +12 -0
  471. package/src/domains/extensions/resources.ts +7 -0
  472. package/src/domains/interop/registry.ts +2 -2
  473. package/src/domains/middleware/hooks-io.ts +45 -26
  474. package/src/domains/middleware/hooks.ts +6 -0
  475. package/src/domains/middleware/injection-screen.ts +23 -0
  476. package/src/domains/middleware/marketplace-offer.ts +20 -1
  477. package/src/domains/middleware/rules.ts +5 -1
  478. package/src/domains/middleware/runtime.ts +7 -3
  479. package/src/domains/middleware/stalled-turn.ts +18 -3
  480. package/src/domains/middleware/task-board-reminder.ts +4 -2
  481. package/src/domains/middleware/task-nudge.ts +4 -1
  482. package/src/domains/mux/contract.ts +34 -1
  483. package/src/domains/mux/detect.ts +3 -6
  484. package/src/domains/mux/dock-controller.ts +8 -1
  485. package/src/domains/mux/index.ts +1 -0
  486. package/src/domains/mux/socket-client.ts +13 -3
  487. package/src/domains/observability/accountability.ts +15 -1
  488. package/src/domains/observability/contract.ts +54 -9
  489. package/src/domains/observability/evidence-index.ts +10 -0
  490. package/src/domains/observability/extension.ts +9 -5
  491. package/src/domains/observability/projection.ts +423 -53
  492. package/src/{interactive → domains/observability}/worker-progress.ts +3 -3
  493. package/src/domains/prompts/compiler.ts +10 -2
  494. package/src/domains/prompts/contract.ts +7 -4
  495. package/src/domains/prompts/extension.ts +28 -64
  496. package/src/domains/prompts/fragments/identity/clio.md +23 -0
  497. package/src/domains/prompts/fragments/operating/contract.md +12 -0
  498. package/src/domains/prompts/fragments/operating/delegation.md +5 -0
  499. package/src/domains/prompts/fragments/wiki/page.md +36 -15
  500. package/src/domains/prompts/fragments/wiki/plan.md +4 -4
  501. package/src/domains/prompts/preload-prefix.ts +31 -0
  502. package/src/domains/prompts/preload.ts +135 -61
  503. package/src/domains/providers/auth/backend-file.ts +15 -11
  504. package/src/domains/providers/auth/storage.ts +3 -5
  505. package/src/domains/providers/catalog.ts +18 -3
  506. package/src/domains/providers/model-discovery.ts +1 -4
  507. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +16 -14
  508. package/src/domains/providers/runtime-resolution.ts +11 -9
  509. package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
  510. package/src/domains/providers/runtimes/cloud/openrouter.ts +2 -0
  511. package/src/domains/providers/support.ts +1 -1
  512. package/src/domains/providers/types/runtime-descriptor.ts +1 -1
  513. package/src/domains/resources/skills/promotion.ts +8 -1
  514. package/src/domains/safety/action-classifier.ts +16 -0
  515. package/src/domains/safety/autonomy.ts +10 -1
  516. package/src/domains/safety/contract.ts +5 -1
  517. package/src/domains/safety/default-path-policy.ts +13 -0
  518. package/src/domains/safety/extension.ts +11 -2
  519. package/src/domains/safety/finish-contract-registration.ts +29 -14
  520. package/src/domains/safety/finish-contract.ts +252 -40
  521. package/src/domains/safety/index.ts +20 -1
  522. package/src/domains/safety/policy-engine.ts +211 -34
  523. package/src/domains/safety/project-policy.ts +7 -2
  524. package/src/domains/safety/rigor.ts +53 -39
  525. package/src/domains/safety/validation-contract.ts +388 -0
  526. package/src/domains/safety/workspace-trust.ts +43 -0
  527. package/src/domains/session/archive-readers.ts +10 -1
  528. package/src/domains/session/compaction/compact.ts +384 -21
  529. package/src/domains/session/compaction/cut-point.ts +42 -5
  530. package/src/domains/session/compaction/tokens.ts +9 -1
  531. package/src/domains/session/decision-board.ts +137 -28
  532. package/src/domains/session/entries.ts +213 -11
  533. package/src/domains/session/extension.ts +4 -4
  534. package/src/domains/session/handoff.ts +2 -1
  535. package/src/domains/session/manager.ts +2 -3
  536. package/src/domains/session/prompt-manifest.ts +47 -8
  537. package/src/domains/session/task-board.ts +32 -1
  538. package/src/domains/session/tree/fork.ts +1 -2
  539. package/src/domains/session/tree/navigator.ts +1 -1
  540. package/src/domains/user-tasks/acceptance.ts +56 -0
  541. package/src/domains/user-tasks/active-acceptance.ts +40 -0
  542. package/src/domains/user-tasks/handoff.ts +16 -0
  543. package/src/domains/user-tasks/store.ts +34 -3
  544. package/src/engine/acp/adapter.ts +60 -10
  545. package/src/engine/acp/server.ts +22 -4
  546. package/src/engine/acp/transport.ts +55 -9
  547. package/src/engine/acp/types.ts +9 -0
  548. package/src/engine/antigravity/subprocess-runtime.ts +20 -4
  549. package/src/engine/api-registry.ts +19 -2
  550. package/src/engine/apis/ollama-native.ts +15 -0
  551. package/src/engine/apis/openai-completions.ts +13 -6
  552. package/src/engine/apis/output-budget.ts +26 -10
  553. package/src/engine/claude/sdk-runtime.ts +4 -3
  554. package/src/engine/claude/subprocess-runtime.ts +107 -60
  555. package/src/engine/env-api-keys.ts +2 -1
  556. package/src/engine/external-subprocess.ts +26 -7
  557. package/src/engine/loop-guard.ts +19 -2
  558. package/src/engine/provider-diagnostics.ts +129 -0
  559. package/src/engine/provider-payload.ts +3 -1
  560. package/src/engine/worker-runtime.ts +13 -2
  561. package/src/engine/worker-tools.ts +5 -1
  562. package/src/entry/extension-reload.ts +1 -0
  563. package/src/entry/orchestrator.ts +64 -17
  564. package/src/interactive/chat-loop-messages.ts +12 -4
  565. package/src/interactive/chat-loop.ts +115 -45
  566. package/src/interactive/chat-renderer.ts +60 -0
  567. package/src/interactive/context-recall-command.ts +2 -1
  568. package/src/interactive/dispatch-board.ts +58 -714
  569. package/src/interactive/editor-submit.ts +13 -0
  570. package/src/interactive/fleet-run-preview.ts +2 -1
  571. package/src/interactive/interactive-application.ts +11 -4
  572. package/src/interactive/interactive-event-projection.ts +7 -1
  573. package/src/interactive/interactive-presentation.ts +63 -12
  574. package/src/interactive/interactive-slash-runtime.ts +4 -1
  575. package/src/interactive/layout.ts +2 -1
  576. package/src/interactive/model-session-replay.ts +2 -2
  577. package/src/interactive/oracle.ts +5 -2
  578. package/src/interactive/overlay-frame.ts +1 -0
  579. package/src/interactive/overlay-general-openers.ts +3 -1
  580. package/src/interactive/overlay-session-lifecycle.ts +6 -0
  581. package/src/interactive/overlays/ask-user.ts +1 -0
  582. package/src/interactive/overlays/fleet-run-approval.ts +3 -2
  583. package/src/interactive/overlays/message-picker.ts +3 -3
  584. package/src/interactive/overlays/settings.ts +2 -2
  585. package/src/interactive/overlays/tree-selector.ts +2 -2
  586. package/src/interactive/renderers/branch-summary.ts +1 -1
  587. package/src/interactive/renderers/tool-execution.ts +17 -1
  588. package/src/interactive/renderers/worker-entry.ts +25 -10
  589. package/src/interactive/slash-autocomplete.ts +4 -6
  590. package/src/interactive/slash-commands.ts +31 -43
  591. package/src/interactive/slash-spec.ts +28 -0
  592. package/src/interactive/turn-context.ts +221 -53
  593. package/src/interactive/turn-middleware.ts +3 -1
  594. package/src/interactive/turn-persistence.ts +3 -0
  595. package/src/interactive/turn-runtime.ts +11 -2
  596. package/src/interactive/turn-state.ts +10 -9
  597. package/src/interactive/view/artifacts.ts +2 -0
  598. package/src/interactive/watch-pane.ts +18 -4
  599. package/src/interactive/worker-stream.ts +14 -10
  600. package/src/tools/agent-tools.ts +6 -3
  601. package/src/tools/bash.ts +1 -1
  602. package/src/tools/bootstrap.ts +4 -0
  603. package/src/tools/builtin-tool-catalog.ts +40 -2
  604. package/src/tools/codewiki/code-nav.ts +4 -10
  605. package/src/tools/compete-judge-task.ts +71 -0
  606. package/src/tools/compete-worktrees.ts +41 -1
  607. package/src/tools/context/index.ts +32 -7
  608. package/src/tools/context/surface.ts +15 -4
  609. package/src/tools/core-bootstrap.ts +16 -0
  610. package/src/tools/decide.ts +136 -0
  611. package/src/tools/dispatch-admission.ts +33 -1
  612. package/src/tools/dispatch-arguments.ts +38 -1
  613. package/src/tools/dispatch-plan.ts +12 -9
  614. package/src/tools/dispatch-runner.ts +63 -33
  615. package/src/tools/dispatch-schema.ts +30 -23
  616. package/src/tools/dispatch-scout-admission.ts +10 -44
  617. package/src/tools/dispatch-scout.ts +2 -3
  618. package/src/tools/dispatch-types.ts +6 -0
  619. package/src/tools/evidence.ts +96 -0
  620. package/src/tools/find.ts +13 -4
  621. package/src/tools/grep.ts +13 -1
  622. package/src/tools/limitation.ts +76 -0
  623. package/src/tools/ls.ts +7 -1
  624. package/src/tools/monitor.ts +26 -11
  625. package/src/tools/network-policy.ts +11 -24
  626. package/src/tools/observation.ts +39 -2
  627. package/src/tools/policy.ts +9 -0
  628. package/src/tools/presentation.ts +3 -0
  629. package/src/tools/read.ts +112 -15
  630. package/src/tools/registry.ts +55 -18
  631. package/src/tools/result-shaping.ts +127 -7
  632. package/src/tools/task-worktree.ts +13 -3
  633. package/src/tools/tasks.ts +40 -5
  634. package/src/tools/verify/authoring.ts +170 -83
  635. package/src/tools/verify/catalog.ts +122 -5
  636. package/src/tools/verify/frontend.ts +67 -30
  637. package/src/tools/verify/index.ts +2 -1
  638. package/src/tools/verify/numeric.ts +303 -0
  639. package/src/tools/verify/perf.ts +143 -0
  640. package/src/tools/verify/scripts.ts +229 -2
  641. package/src/tools/web-fetch-network.ts +179 -0
  642. package/src/tools/web-fetch-surface.ts +2 -1
  643. package/src/tools/web-fetch.ts +15 -13
  644. package/src/tools/worker-evidence.ts +27 -0
  645. package/src/worker/spec-contract.ts +12 -8
  646. package/dist/builtins-IA7V7FUC.js +0 -22
  647. package/dist/chunk-2WZ546HR.js +0 -792
  648. package/dist/chunk-5PSMVOLM.js +0 -56
  649. package/dist/chunk-7DICMOS6.js +0 -313
  650. package/dist/chunk-BEPZRGGU.js +0 -1560
  651. package/dist/chunk-JVCV3ICN.js +0 -47
  652. package/dist/chunk-KK4JZPBQ.js +0 -3982
  653. package/dist/chunk-MNJGS2IN.js +0 -33
  654. package/dist/chunk-NDINPTJ4.js +0 -641
  655. package/dist/chunk-O5CVSAG5.js +0 -122
  656. package/dist/chunk-OQE5J4C6.js +0 -73
  657. package/dist/chunk-RVG5JXAL.js +0 -41
  658. package/dist/chunk-T56WDKA5.js +0 -183
  659. package/dist/chunk-UUVG37B4.js +0 -244
  660. package/dist/chunk-VPKWYKEY.js +0 -169
  661. package/dist/chunk-Y3CBHOR6.js +0 -228
  662. package/dist/clio-CMMK4KRR.js +0 -25
  663. package/dist/configure-LE3IK2TJ.js +0 -56
  664. package/dist/context-clear-BW4O37TG.js +0 -176
  665. package/dist/fleet-view-SWBR3VGQ.js +0 -97
  666. package/dist/preload-P6DGH2PZ.js +0 -13
  667. package/dist/slash-commands-S7MBJDQK.js +0 -83
  668. package/dist/tools-TFGJICCU.js +0 -29
  669. package/dist/verify-RWE4PPEK.js +0 -27
  670. package/dist/wiki-generate-C7IQOXSP.js +0 -469
@@ -1,22 +1,15 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
- import {
3
- createLifecyclePresenter,
4
- shortenPath
5
- } from "./chunk-SKHCAU7K.js";
6
2
  import {
7
3
  createDelayedManualCodeInput,
8
4
  promptOAuthSelection
9
- } from "./chunk-2STGEDFV.js";
5
+ } from "./chunk-QEQISF75.js";
10
6
  import {
11
- column,
12
- terminalColumns,
13
- truncate,
14
- twoColumnRow,
15
- wrapPlain
16
- } from "./chunk-2IR2NMPA.js";
7
+ createLifecyclePresenter,
8
+ shortenPath
9
+ } from "./chunk-6YA46L5A.js";
17
10
  import {
18
11
  fingerprintNativeRuntime
19
- } from "./chunk-NEKRRTYW.js";
12
+ } from "./chunk-MC3JSVR6.js";
20
13
  import {
21
14
  INHERITED_PROJECT_CONTEXT,
22
15
  acceptInteropAgents,
@@ -25,47 +18,55 @@ import {
25
18
  interopProposals,
26
19
  renderProposalEntry,
27
20
  resolveOnPath
28
- } from "./chunk-INY6HTFL.js";
21
+ } from "./chunk-6SYEGZI3.js";
29
22
  import {
30
23
  initializeClioHome
31
- } from "./chunk-I7XBWTYH.js";
24
+ } from "./chunk-T53XI6I7.js";
25
+ import {
26
+ column,
27
+ terminalColumns,
28
+ truncate,
29
+ twoColumnRow,
30
+ wrapPlain
31
+ } from "./chunk-ZIDFQJRB.js";
32
32
  import {
33
33
  credentialWriteFailed,
34
34
  printPlaintextCredentialWarning
35
- } from "./chunk-PUVDKJ2Y.js";
35
+ } from "./chunk-5VTJP36Q.js";
36
36
  import {
37
37
  printError,
38
- printOk
39
- } from "./chunk-VPKWYKEY.js";
40
- import {
38
+ printOk,
41
39
  source_default
42
- } from "./chunk-5TSRNF4G.js";
40
+ } from "./chunk-3T4DXWP6.js";
43
41
  import {
44
42
  isOrchestratorEligibleRuntime,
45
43
  probeCapabilitiesForModel,
46
44
  readTargetModelSnapshot,
47
45
  recordTargetModelSnapshot
48
- } from "./chunk-XPWWI35G.js";
46
+ } from "./chunk-TEG3RYVZ.js";
49
47
  import {
50
48
  credentialsPresent
51
- } from "./chunk-2JH2WHGE.js";
49
+ } from "./chunk-J2FYEQ5L.js";
52
50
  import {
53
51
  bindAgentProfileInSettings,
54
52
  readSettings,
55
53
  removeTargetFromSettings,
56
54
  settingsPath,
57
55
  updateSettings
58
- } from "./chunk-GHS5EBTQ.js";
56
+ } from "./chunk-FKIOX6DS.js";
57
+ import {
58
+ warnLegacyNaming
59
+ } from "./chunk-DVNAPPXU.js";
59
60
  import {
60
61
  getVersionInfo
61
- } from "./chunk-XPLRXC72.js";
62
+ } from "./chunk-GD55RTIW.js";
62
63
  import {
63
64
  greetLmStudio,
64
65
  registerBuiltinRuntimes
65
- } from "./chunk-VW6DOEDG.js";
66
+ } from "./chunk-ICO4TQ2F.js";
66
67
  import {
67
68
  THINKING_LEVELS
68
- } from "./chunk-UXCU4E3T.js";
69
+ } from "./chunk-SE4ZKILO.js";
69
70
  import {
70
71
  buildProviderSupportEntry,
71
72
  configuredTargetsForRuntime,
@@ -73,7 +74,7 @@ import {
73
74
  listKnownModelsForRuntime,
74
75
  listProviderSupportEntries,
75
76
  supportGroupLabel
76
- } from "./chunk-LLDJM5XK.js";
77
+ } from "./chunk-HHVJNVUJ.js";
77
78
  import {
78
79
  authStoragePath,
79
80
  openAuthStorage,
@@ -81,19 +82,19 @@ import {
81
82
  resolveAuthTarget,
82
83
  resolveRuntimeAuthTarget,
83
84
  targetRequiresAuth
84
- } from "./chunk-ID64D7PE.js";
85
+ } from "./chunk-HXHFDHB6.js";
85
86
  import {
86
87
  getRuntimeRegistry
87
- } from "./chunk-NUGM5KR6.js";
88
+ } from "./chunk-SRCEQKQS.js";
88
89
  import {
89
90
  getCatalogModelForRuntime
90
- } from "./chunk-5OIVVPHF.js";
91
+ } from "./chunk-TN5FW4XY.js";
91
92
  import {
92
93
  resolveClioDirs
93
- } from "./chunk-BYP5D4HI.js";
94
+ } from "./chunk-CTTI7G3T.js";
94
95
  import {
95
96
  init_esm_shims
96
- } from "./chunk-3R73A4XB.js";
97
+ } from "./chunk-ECBHH7LU.js";
97
98
 
98
99
  // src/cli/configure.ts
99
100
  init_esm_shims();
@@ -3489,7 +3490,7 @@ var SECTIONS = [
3489
3490
  label: "Run doctor",
3490
3491
  hint: "read-only health check",
3491
3492
  run: async () => {
3492
- const { runDoctorCommand } = await import("./doctor-WNNVO6FY.js");
3493
+ const { runDoctorCommand } = await import("./doctor-N3LCM2LG.js");
3493
3494
  await runDoctorCommand([]);
3494
3495
  }
3495
3496
  },
@@ -3731,7 +3732,7 @@ async function runConfigureCommand(argv, inStream = input, outStream = output2)
3731
3732
  return 2;
3732
3733
  }
3733
3734
  if (runtimeId === "lmstudio-native" && runtime.id === "lmstudio") {
3734
- process.stderr.write("warning: runtime 'lmstudio-native' is deprecated; using 'lmstudio'\n");
3735
+ warnLegacyNaming(runtimeId, runtime.id);
3735
3736
  }
3736
3737
  }
3737
3738
  const hasTargetSetupFlag = args.id !== void 0 || args.url !== void 0 || args.model !== void 0 || args.workerProfile !== void 0 || args.workerProfileModel !== void 0 || args.apiKey !== void 0 || args.apiKeyEnv !== void 0 || args.gateway || args.lifecycle !== void 0 || args.setOrchestrator || args.setWorkerDefault || args.contextWindow !== void 0 || args.maxTokens !== void 0 || args.reasoning !== void 0;
@@ -3755,8 +3756,9 @@ async function runConfigureCommand(argv, inStream = input, outStream = output2)
3755
3756
  }
3756
3757
 
3757
3758
  export {
3759
+ resolveSupportedWireModels,
3758
3760
  runTargetRemove,
3759
3761
  runTargetRename,
3760
3762
  runConfigureCommand
3761
3763
  };
3762
- //# sourceMappingURL=chunk-7E7I3WLS.js.map
3764
+ //# sourceMappingURL=chunk-KYKNBD4Y.js.map
@@ -0,0 +1,539 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ PATH_BOUNDARY_MAX_ENTRIES,
4
+ PathBoundaryError,
5
+ asDirectoryPathBoundary,
6
+ normalizePathBoundaryEntry,
7
+ pathBoundaryCovers,
8
+ resolvePathBoundary
9
+ } from "./chunk-R2P2U3ZS.js";
10
+ import {
11
+ init_esm_shims
12
+ } from "./chunk-ECBHH7LU.js";
13
+
14
+ // src/domains/dispatch/intent.ts
15
+ init_esm_shims();
16
+ import path from "node:path";
17
+
18
+ // src/domains/dispatch/path-scope.ts
19
+ init_esm_shims();
20
+ import { existsSync } from "node:fs";
21
+ var DISPATCH_PATH_TOKEN_RE = /(?:[\w.-]+\/)+[\w.-]+|\b[\w-]+\.[A-Za-z0-9]{1,8}\b/g;
22
+ var HTTP_URL_RE = /\bhttps?:\/\/\S+/gu;
23
+ var POSIX_ABSOLUTE_TOKEN_RE = /(?:^|[\s("'])((?:\/[\w.~+-]+)+)/gu;
24
+ var WINDOWS_ABSOLUTE_TOKEN_RE = /(?:^|[\s("'])([A-Za-z]:[\\/][^\s"']+)/gu;
25
+ var BACKSLASH_PATH_RE = /\b[A-Za-z_.-][\w.-]*\\(?:(?:[\w.-]+\\)+[\w.-]+|[\w-]+\.[A-Za-z0-9]{1,8})\b/gu;
26
+ var DOUBLE_SEPARATOR_PATH_RE = /\b[\w.-]+\/\/[\w./-]+/gu;
27
+ var PARENT_PREFIX_RE = /^(?:\.\.\/)+/u;
28
+ var DispatchPathScopeInferenceError = class extends Error {
29
+ code;
30
+ source;
31
+ token;
32
+ constructor(code, source, token, detail) {
33
+ super(`${code}: ${source} contains ${detail} '${token}'; declare intent explicitly`);
34
+ this.name = "DispatchPathScopeInferenceError";
35
+ this.code = code;
36
+ this.source = source;
37
+ this.token = token;
38
+ }
39
+ };
40
+ var DECLARED_EVIDENCE = {
41
+ readRoots: {
42
+ provenance: "declared",
43
+ source: "intent.read_roots",
44
+ confidence: "certain",
45
+ reason: "explicit_intent"
46
+ },
47
+ writeRoots: {
48
+ provenance: "declared",
49
+ source: "intent.write_roots",
50
+ confidence: "certain",
51
+ reason: "explicit_intent"
52
+ },
53
+ relevantPaths: {
54
+ provenance: "declared",
55
+ source: "intent.relevant_paths",
56
+ confidence: "certain",
57
+ reason: "explicit_intent"
58
+ }
59
+ };
60
+ function cloneEvidence(evidence) {
61
+ return { ...evidence };
62
+ }
63
+ function addProvenance(entries, path2, evidence) {
64
+ const current = entries.get(path2);
65
+ if (current === void 0) {
66
+ entries.set(path2, { path: path2, evidence: [cloneEvidence(evidence)] });
67
+ return;
68
+ }
69
+ if (!current.evidence.some((entry) => entry.source === evidence.source)) {
70
+ current.evidence.push(cloneEvidence(evidence));
71
+ }
72
+ }
73
+ function sortedEntries(entries) {
74
+ return [...entries.values()].sort((left, right) => left.path < right.path ? -1 : left.path > right.path ? 1 : 0).map((entry) => ({ path: entry.path, evidence: entry.evidence.map(cloneEvidence) }));
75
+ }
76
+ function declaredIntentPathProvenance(input) {
77
+ const entries = /* @__PURE__ */ new Map();
78
+ for (const path2 of input.readRoots) addProvenance(entries, path2, DECLARED_EVIDENCE.readRoots);
79
+ for (const path2 of input.writeRoots) addProvenance(entries, path2, DECLARED_EVIDENCE.writeRoots);
80
+ for (const path2 of input.relevantPaths) addProvenance(entries, path2, DECLARED_EVIDENCE.relevantPaths);
81
+ return sortedEntries(entries);
82
+ }
83
+ function inferredPaths(req, root) {
84
+ const paths = /* @__PURE__ */ new Set();
85
+ const droppedTokens = /* @__PURE__ */ new Set();
86
+ const text = `${req.task}
87
+ ${req.briefing ?? ""}`;
88
+ for (const match of text.matchAll(DISPATCH_PATH_TOKEN_RE)) {
89
+ const inferred = inferredPathToken(match[0], root);
90
+ if (inferred.kind === "dropped") {
91
+ droppedTokens.add(inferred.token);
92
+ continue;
93
+ }
94
+ const token = inferred.kind === "anchored" ? inferred.resolved : inferred.token;
95
+ if (token.startsWith("http://") || token.startsWith("https://")) continue;
96
+ paths.add(token);
97
+ }
98
+ return { paths: [...paths], droppedTokens: [...droppedTokens] };
99
+ }
100
+ function inferredPathToken(raw, root) {
101
+ const token = raw.replace(/^\.\//u, "").replace(/\.+$/u, "");
102
+ const parents = PARENT_PREFIX_RE.exec(token)?.[0];
103
+ if (parents === void 0) return { kind: "token", token };
104
+ const rest = token.slice(parents.length);
105
+ const segments = rest.split("/");
106
+ if (rest.length === 0 || segments.includes("..") || segments.includes(".")) return { kind: "token", token };
107
+ return existsSync(resolvePathBoundary(root, rest)) ? { kind: "anchored", token, resolved: rest } : { kind: "dropped", token };
108
+ }
109
+ function failMalformedText(text, source) {
110
+ const withoutUrls = text.replace(HTTP_URL_RE, (url) => " ".repeat(url.length));
111
+ const absolute = POSIX_ABSOLUTE_TOKEN_RE.exec(withoutUrls)?.[1];
112
+ POSIX_ABSOLUTE_TOKEN_RE.lastIndex = 0;
113
+ if (absolute !== void 0) {
114
+ throw new DispatchPathScopeInferenceError("legacy_scope_path_absolute", source, absolute, "an absolute path token");
115
+ }
116
+ const windowsAbsolute = WINDOWS_ABSOLUTE_TOKEN_RE.exec(withoutUrls)?.[1];
117
+ WINDOWS_ABSOLUTE_TOKEN_RE.lastIndex = 0;
118
+ if (windowsAbsolute !== void 0) {
119
+ throw new DispatchPathScopeInferenceError(
120
+ "legacy_scope_path_absolute",
121
+ source,
122
+ windowsAbsolute,
123
+ "an absolute path token"
124
+ );
125
+ }
126
+ for (const pattern of [BACKSLASH_PATH_RE, DOUBLE_SEPARATOR_PATH_RE]) {
127
+ const malformed = pattern.exec(withoutUrls)?.[0];
128
+ pattern.lastIndex = 0;
129
+ if (malformed !== void 0) {
130
+ throw new DispatchPathScopeInferenceError(
131
+ "legacy_scope_path_malformed",
132
+ source,
133
+ malformed,
134
+ "a malformed path token"
135
+ );
136
+ }
137
+ }
138
+ }
139
+ function strictInferredPaths(text, source, root) {
140
+ failMalformedText(text, source);
141
+ const withoutUrls = text.replace(HTTP_URL_RE, (url) => " ".repeat(url.length));
142
+ const evidence = source === "task" ? { provenance: "inferred", source, confidence: "medium", reason: "task_path_token" } : { provenance: "inferred", source, confidence: "low", reason: "briefing_path_token" };
143
+ const paths = [];
144
+ const parentTokens = [];
145
+ for (const match of withoutUrls.matchAll(DISPATCH_PATH_TOKEN_RE)) {
146
+ const inferred = inferredPathToken(match[0], root);
147
+ if (inferred.kind === "dropped") {
148
+ parentTokens.push({ token: inferred.token, resolved: null, source });
149
+ continue;
150
+ }
151
+ if (inferred.kind === "anchored") {
152
+ parentTokens.push({ token: inferred.token, resolved: inferred.resolved, source });
153
+ }
154
+ const token = inferred.kind === "anchored" ? inferred.resolved : inferred.token;
155
+ try {
156
+ paths.push({ path: normalizePathBoundaryEntry(token), evidence });
157
+ } catch (error) {
158
+ const code = error instanceof PathBoundaryError && error.code === "absolute" ? "legacy_scope_path_absolute" : "legacy_scope_path_malformed";
159
+ throw new DispatchPathScopeInferenceError(
160
+ code,
161
+ source,
162
+ token,
163
+ code === "legacy_scope_path_absolute" ? "an absolute path token" : "a malformed path token"
164
+ );
165
+ }
166
+ }
167
+ return { paths, parentTokens };
168
+ }
169
+ function legacyPathScope(req, cwd) {
170
+ const workingEntries = /* @__PURE__ */ new Map();
171
+ const writeEntries = /* @__PURE__ */ new Map();
172
+ const writeEvidence = {
173
+ provenance: "derived",
174
+ source: "writeRoots",
175
+ confidence: "high",
176
+ reason: "legacy_write_roots"
177
+ };
178
+ for (const root of req.writeRoots ?? []) {
179
+ addProvenance(workingEntries, root, writeEvidence);
180
+ addProvenance(writeEntries, asDirectoryPathBoundary(resolvePathBoundary(cwd, root)), writeEvidence);
181
+ }
182
+ const parentTokens = /* @__PURE__ */ new Map();
183
+ const recordParentTokens = (entries) => {
184
+ for (const entry of entries) if (!parentTokens.has(entry.token)) parentTokens.set(entry.token, entry);
185
+ };
186
+ const taskScope = strictInferredPaths(req.task, "task", cwd);
187
+ for (const candidate of taskScope.paths) addProvenance(workingEntries, candidate.path, candidate.evidence);
188
+ recordParentTokens(taskScope.parentTokens);
189
+ if (req.briefing !== void 0) {
190
+ const briefingScope = strictInferredPaths(req.briefing, "briefing", cwd);
191
+ for (const candidate of briefingScope.paths) addProvenance(workingEntries, candidate.path, candidate.evidence);
192
+ recordParentTokens(briefingScope.parentTokens);
193
+ }
194
+ const workingContext = [...workingEntries.values()].map((entry) => ({
195
+ path: entry.path,
196
+ evidence: entry.evidence.map(cloneEvidence)
197
+ }));
198
+ const writeBoundaries = [...writeEntries.values()].map((entry) => ({
199
+ path: entry.path,
200
+ evidence: entry.evidence.map(cloneEvidence)
201
+ }));
202
+ return {
203
+ source: "inferred",
204
+ workingContextPaths: workingContext.map((entry) => entry.path),
205
+ writeBoundaries: writeBoundaries.map((entry) => entry.path),
206
+ inferredOnlyPaths: [],
207
+ parentTokens: [...parentTokens.values()],
208
+ provenance: {
209
+ version: 1,
210
+ mode: "legacy-inferred",
211
+ workingContextPaths: workingContext,
212
+ writeBoundaries
213
+ }
214
+ };
215
+ }
216
+ function resolveDispatchPathScope(req) {
217
+ const cwd = req.cwd ?? process.cwd();
218
+ if (req.intent === void 0) return legacyPathScope(req, cwd);
219
+ const declaredProvenance = declaredIntentPathProvenance(req.intent);
220
+ const declaredPaths = declaredProvenance.map((entry) => entry.path);
221
+ const inferred = inferredPaths(req, cwd);
222
+ const inferredOnlyPaths = [
223
+ ...inferred.paths.filter((candidate) => !pathBoundaryCovers(declaredPaths, candidate)),
224
+ ...inferred.droppedTokens
225
+ ];
226
+ const writeEvidence = DECLARED_EVIDENCE.writeRoots;
227
+ const writeBoundaries = req.intent.writeRoots.map((root) => ({
228
+ path: resolvePathBoundary(cwd, root),
229
+ evidence: [cloneEvidence(writeEvidence)]
230
+ }));
231
+ return {
232
+ source: "declared",
233
+ workingContextPaths: declaredPaths,
234
+ writeBoundaries: writeBoundaries.map((entry) => entry.path),
235
+ inferredOnlyPaths,
236
+ // Empty on purpose: the declaration is the scope here, so no "../" token
237
+ // changed what the worker sees and there is nothing for the legacy notice
238
+ // to report. A dropped one still reaches the operator through
239
+ // inferredOnlyPaths above.
240
+ parentTokens: [],
241
+ provenance: {
242
+ version: 1,
243
+ mode: "declared",
244
+ workingContextPaths: declaredProvenance,
245
+ writeBoundaries
246
+ }
247
+ };
248
+ }
249
+ var REPORTABLE_OMITTED_PATH_RE = /\.(?:[cm]?[jt]sx?|json|ya?ml|md|txt|py|go|rs|c|h|cc|cpp|hpp|java|rb|sh|toml|css|html|sql|lock)(?:\/|$)|\/$/u;
250
+ var OMITTED_PATH_REPORT_CAP = 12;
251
+ function reportableOmittedPaths(scope) {
252
+ return scope.inferredOnlyPaths.filter((path2) => REPORTABLE_OMITTED_PATH_RE.test(path2));
253
+ }
254
+ function renderOmittedPaths(paths) {
255
+ if (paths.length <= OMITTED_PATH_REPORT_CAP) return paths.join(", ");
256
+ return `${paths.slice(0, OMITTED_PATH_REPORT_CAP).join(", ")} and ${paths.length - OMITTED_PATH_REPORT_CAP} more`;
257
+ }
258
+ function declaredScopeReplacementDiagnostic(scope) {
259
+ if (scope.source !== "declared") return null;
260
+ const omitted = reportableOmittedPaths(scope);
261
+ if (omitted.length === 0) return null;
262
+ return `typed_scope_replaced_inferred_paths: typed intent omitted prose-inferred paths ${renderOmittedPaths(
263
+ omitted
264
+ )}; those paths did not select project rules or expand worker authority`;
265
+ }
266
+ function declaredScopeReplacementNotice(scope) {
267
+ if (scope.source !== "declared") return null;
268
+ const omittedPaths = reportableOmittedPaths(scope);
269
+ if (omittedPaths.length === 0) return null;
270
+ return {
271
+ code: "typed_scope_replaced_inferred_paths",
272
+ level: "warning",
273
+ omittedPaths,
274
+ message: `[dispatch scope] typed intent replaced prose path inference; omitted paths: ${renderOmittedPaths(
275
+ omittedPaths
276
+ )}. Those paths did not select project rules or expand worker authority.`
277
+ };
278
+ }
279
+ function renderParentTokens(tokens) {
280
+ return renderOmittedPaths(tokens.map((entry) => `${entry.token} -> ${entry.resolved ?? "dropped"}`));
281
+ }
282
+ function inferredScopeParentTokenDiagnostic(scope) {
283
+ const tokens = scope.parentTokens;
284
+ if (tokens.length === 0) return null;
285
+ return `legacy_scope_inferred: prose inference resolved path tokens carrying a leading '../' run against the dispatch root ${renderParentTokens(
286
+ tokens
287
+ )}; an anchored token selects project rules without expanding worker authority and a dropped one took no part in scope`;
288
+ }
289
+ function inferredScopeParentTokenNotice(scope) {
290
+ const tokens = scope.parentTokens;
291
+ if (tokens.length === 0) return null;
292
+ return {
293
+ code: "legacy_scope_inferred",
294
+ level: "warning",
295
+ // Every entry names the raw prose token, the one spelling both outcomes
296
+ // share; the message carries what each one resolved to.
297
+ paths: tokens.map((entry) => ({
298
+ path: entry.token,
299
+ policy: "working-context",
300
+ provenance: "inferred",
301
+ source: entry.source,
302
+ confidence: "low"
303
+ })),
304
+ message: `[dispatch scope] prose inference resolved path tokens carrying a leading '../' run against the dispatch root: ${renderParentTokens(
305
+ tokens
306
+ )}. An anchored token selects project rules without expanding worker authority; a dropped one took no part in scope.`
307
+ };
308
+ }
309
+
310
+ // src/domains/dispatch/intent.ts
311
+ var DISPATCH_INTENT_PATH_LIST_CAP = PATH_BOUNDARY_MAX_ENTRIES;
312
+ var DISPATCH_INTENT_PATH_ENTRY_BYTES_CAP = 512;
313
+ var DISPATCH_INTENT_VERIFICATION_CAP = 8;
314
+ var DISPATCH_INTENT_TIMEOUT_MIN_MS = 1e3;
315
+ var RAW_FIELDS = /* @__PURE__ */ new Set([
316
+ "version",
317
+ "read_roots",
318
+ "write_roots",
319
+ "relevant_paths",
320
+ "expected_outputs",
321
+ "verification"
322
+ ]);
323
+ function isRecord(value) {
324
+ return value !== null && typeof value === "object" && !Array.isArray(value);
325
+ }
326
+ function compareCodepoints(left, right) {
327
+ return left < right ? -1 : left > right ? 1 : 0;
328
+ }
329
+ function fail(reason, message) {
330
+ return { ok: false, reason, message };
331
+ }
332
+ function checkedPathText(value, field, index) {
333
+ if (typeof value !== "string" || value.trim().length === 0) {
334
+ return fail("intent_path_malformed", `${field}[${index}] must be a non-empty repository-relative POSIX path`);
335
+ }
336
+ const trimmed = value.trim();
337
+ if (Buffer.byteLength(trimmed, "utf8") > DISPATCH_INTENT_PATH_ENTRY_BYTES_CAP) {
338
+ return fail(
339
+ "intent_path_over_cap",
340
+ `${field}[${index}] exceeds the ${DISPATCH_INTENT_PATH_ENTRY_BYTES_CAP}-byte cap`
341
+ );
342
+ }
343
+ return trimmed;
344
+ }
345
+ function normalizeScopePathEntry(value, field, index) {
346
+ const checked = checkedPathText(value, field, index);
347
+ if (typeof checked !== "string") return checked;
348
+ try {
349
+ return normalizePathBoundaryEntry(checked);
350
+ } catch (error) {
351
+ if (error instanceof PathBoundaryError) {
352
+ if (error.code === "absolute") {
353
+ return fail("intent_path_absolute", `${field}[${index}] must be a repository-relative POSIX path`);
354
+ }
355
+ if (error.code === "parent") {
356
+ return fail("intent_path_escapes_root", `${field}[${index}] escapes the repository root`);
357
+ }
358
+ }
359
+ return fail(
360
+ "intent_path_malformed",
361
+ `${field}[${index}] does not follow the repository path boundary grammar: ${error instanceof Error ? error.message : String(error)}`
362
+ );
363
+ }
364
+ }
365
+ function normalizeExpectedOutputEntry(value, field, index) {
366
+ const checked = checkedPathText(value, field, index);
367
+ if (typeof checked !== "string") return checked;
368
+ const trimmed = checked;
369
+ if (trimmed.includes("\\") || path.posix.isAbsolute(trimmed) || path.win32.isAbsolute(trimmed)) {
370
+ return fail("intent_path_absolute", `${field}[${index}] must be a repository-relative POSIX path`);
371
+ }
372
+ const normalized = path.posix.normalize(trimmed.replace(/^\.\//u, "").replace(/\/{2,}/gu, "/"));
373
+ if (normalized === "." || normalized.length === 0) {
374
+ return fail("intent_path_malformed", `${field}[${index}] must not normalize to an empty path`);
375
+ }
376
+ if (normalized === ".." || normalized.startsWith("../") || normalized.split("/").includes("..")) {
377
+ return fail("intent_path_escapes_root", `${field}[${index}] escapes the repository root`);
378
+ }
379
+ return normalized;
380
+ }
381
+ function normalizePathList(value, field, normalizeEntry = normalizeScopePathEntry) {
382
+ if (value === void 0) return [];
383
+ if (!Array.isArray(value)) return fail("intent_path_malformed", `${field} must be an array`);
384
+ if (value.length > DISPATCH_INTENT_PATH_LIST_CAP) {
385
+ return fail("intent_path_over_cap", `${field} exceeds the ${DISPATCH_INTENT_PATH_LIST_CAP}-entry cap`);
386
+ }
387
+ const normalized = [];
388
+ for (const [index, entry] of value.entries()) {
389
+ if (normalizeEntry === normalizeScopePathEntry && typeof entry === "string" && /^\.\/?$/u.test(entry.trim())) {
390
+ continue;
391
+ }
392
+ const result = normalizeEntry(entry, field, index);
393
+ if (typeof result !== "string") return result;
394
+ normalized.push(result);
395
+ }
396
+ return [...new Set(normalized)].sort(compareCodepoints);
397
+ }
398
+ function declaredScopeIntent(input) {
399
+ const readRoots = normalizePathList(input.readRoots, "intent.read_roots");
400
+ if (!Array.isArray(readRoots)) return readRoots;
401
+ const writeRoots = normalizePathList(input.writeRoots, "intent.write_roots");
402
+ if (!Array.isArray(writeRoots)) return writeRoots;
403
+ const relevantPaths = normalizePathList(input.relevantPaths, "intent.relevant_paths");
404
+ if (!Array.isArray(relevantPaths)) return relevantPaths;
405
+ return {
406
+ ok: true,
407
+ intent: {
408
+ version: 2,
409
+ readRoots,
410
+ writeRoots,
411
+ relevantPaths,
412
+ pathProvenance: declaredIntentPathProvenance({ readRoots, writeRoots, relevantPaths }),
413
+ expectedOutputs: [],
414
+ verification: []
415
+ }
416
+ };
417
+ }
418
+ function isDispatchIntent(value) {
419
+ if (!isRecord(value) || value.version !== 2) return false;
420
+ for (const field of ["readRoots", "writeRoots", "relevantPaths", "expectedOutputs"]) {
421
+ if (!Array.isArray(value[field]) || !value[field].every((entry) => typeof entry === "string")) return false;
422
+ }
423
+ const readRoots = value.readRoots;
424
+ const writeRoots = value.writeRoots;
425
+ const relevantPaths = value.relevantPaths;
426
+ if (!Array.isArray(value.pathProvenance) || JSON.stringify(value.pathProvenance) !== JSON.stringify(
427
+ declaredIntentPathProvenance({
428
+ readRoots,
429
+ writeRoots,
430
+ relevantPaths
431
+ })
432
+ )) {
433
+ return false;
434
+ }
435
+ return Array.isArray(value.verification) && value.verification.every(
436
+ (entry) => isRecord(entry) && typeof entry.check === "string" && entry.check.length > 0 && typeof entry.timeoutMs === "number" && Number.isInteger(entry.timeoutMs) && entry.timeoutMs >= DISPATCH_INTENT_TIMEOUT_MIN_MS
437
+ );
438
+ }
439
+ function narrowDispatchIntentToReadOnly(intent) {
440
+ if (intent.writeRoots.length === 0) return intent;
441
+ const readRoots = [.../* @__PURE__ */ new Set([...intent.readRoots, ...intent.writeRoots])].sort(compareCodepoints);
442
+ return {
443
+ version: 2,
444
+ readRoots,
445
+ writeRoots: [],
446
+ relevantPaths: [...intent.relevantPaths],
447
+ pathProvenance: declaredIntentPathProvenance({ readRoots, writeRoots: [], relevantPaths: intent.relevantPaths }),
448
+ expectedOutputs: [...intent.expectedOutputs],
449
+ verification: intent.verification.map((entry) => ({ ...entry }))
450
+ };
451
+ }
452
+ function normalizeDispatchIntent(raw, checks) {
453
+ if (!isRecord(raw)) return fail("intent_malformed", "intent must be an object");
454
+ const unknown = Object.keys(raw).filter((key) => !RAW_FIELDS.has(key)).sort(compareCodepoints);
455
+ if (unknown.length > 0) return fail("intent_malformed", `intent contains unknown field '${unknown[0]}'`);
456
+ if (raw.version !== void 0 && raw.version !== 2) {
457
+ return fail(
458
+ "intent_version_unsupported",
459
+ `intent declares version ${JSON.stringify(raw.version)}; this build speaks dispatch intent version 2. A declaration at another version is refused rather than migrated: restate read_roots, write_roots, relevant_paths, expected_outputs, and verification under version 2`
460
+ );
461
+ }
462
+ const readRoots = normalizePathList(raw.read_roots, "intent.read_roots");
463
+ if (!Array.isArray(readRoots)) return readRoots;
464
+ const writeRoots = normalizePathList(raw.write_roots, "intent.write_roots");
465
+ if (!Array.isArray(writeRoots)) return writeRoots;
466
+ const relevantPaths = normalizePathList(raw.relevant_paths, "intent.relevant_paths");
467
+ if (!Array.isArray(relevantPaths)) return relevantPaths;
468
+ const expectedOutputs = normalizeIntentExpectedOutputs(raw.expected_outputs);
469
+ if (!Array.isArray(expectedOutputs)) return expectedOutputs;
470
+ const verification = normalizeIntentVerification(raw.verification, checks);
471
+ if (!Array.isArray(verification)) return verification;
472
+ return {
473
+ ok: true,
474
+ intent: {
475
+ version: 2,
476
+ readRoots,
477
+ writeRoots,
478
+ relevantPaths,
479
+ pathProvenance: declaredIntentPathProvenance({ readRoots, writeRoots, relevantPaths }),
480
+ expectedOutputs,
481
+ verification
482
+ }
483
+ };
484
+ }
485
+ function normalizeIntentExpectedOutputs(raw) {
486
+ return normalizePathList(raw, "intent.expected_outputs", normalizeExpectedOutputEntry);
487
+ }
488
+ function normalizeIntentVerification(raw, checks) {
489
+ const rawVerification = raw ?? [];
490
+ if (!Array.isArray(rawVerification)) {
491
+ return fail("verification_malformed", "intent.verification must be an array");
492
+ }
493
+ if (rawVerification.length > DISPATCH_INTENT_VERIFICATION_CAP) {
494
+ return fail("verification_over_cap", `intent.verification exceeds the ${DISPATCH_INTENT_VERIFICATION_CAP}-entry cap`);
495
+ }
496
+ const verification = [];
497
+ for (const [index, entry] of rawVerification.entries()) {
498
+ if (!isRecord(entry) || Object.keys(entry).some((key) => key !== "check" && key !== "timeout_ms")) {
499
+ return fail("verification_malformed", `intent.verification[${index}] must contain check and optional timeout_ms`);
500
+ }
501
+ if (typeof entry.check !== "string" || entry.check.trim().length === 0) {
502
+ return fail("verification_malformed", `intent.verification[${index}].check must be a non-empty declared id`);
503
+ }
504
+ const check = entry.check.trim();
505
+ const declared = checks.get(check);
506
+ if (declared === void 0 && check.toLowerCase() === "none") continue;
507
+ if (declared === void 0) {
508
+ return fail(
509
+ "verification_check_undeclared",
510
+ `verification check '${check}' is undeclared: intent.verification takes only check ids that verify() lists (package.json verification scripts or .clio-coder/verifiers.yaml entries), never a shell command; omit verification and run the check yourself after the receipt, or declare the check first`
511
+ );
512
+ }
513
+ if (entry.timeout_ms !== void 0 && (typeof entry.timeout_ms !== "number" || !Number.isInteger(entry.timeout_ms) || entry.timeout_ms <= 0)) {
514
+ return fail("verification_malformed", `intent.verification[${index}].timeout_ms must be a positive integer`);
515
+ }
516
+ const requested = typeof entry.timeout_ms === "number" ? entry.timeout_ms : declared.timeoutMs;
517
+ verification.push({
518
+ check,
519
+ timeoutMs: Math.min(declared.timeoutMs, Math.max(DISPATCH_INTENT_TIMEOUT_MIN_MS, requested))
520
+ });
521
+ }
522
+ return verification;
523
+ }
524
+
525
+ export {
526
+ resolveDispatchPathScope,
527
+ declaredScopeReplacementDiagnostic,
528
+ declaredScopeReplacementNotice,
529
+ inferredScopeParentTokenDiagnostic,
530
+ inferredScopeParentTokenNotice,
531
+ DISPATCH_INTENT_TIMEOUT_MIN_MS,
532
+ declaredScopeIntent,
533
+ isDispatchIntent,
534
+ narrowDispatchIntentToReadOnly,
535
+ normalizeDispatchIntent,
536
+ normalizeIntentExpectedOutputs,
537
+ normalizeIntentVerification
538
+ };
539
+ //# sourceMappingURL=chunk-L4N3DWNW.js.map