@iowarp/clio-coder 0.3.8 → 0.4.0

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 (552) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/NOTICE +33 -0
  3. package/README.md +12 -3
  4. package/dist/{acp-U67UHUK2.js → acp-G5WJBNCT.js} +13 -12
  5. package/dist/{agents-YU6SGALZ.js → agents-FMV2Q5G4.js} +41 -36
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-5ZPJOIVG.js → auth-3IDSJEIK.js} +18 -18
  8. package/dist/{builtins-C6JMZVV6.js → builtins-XCZWXSC7.js} +5 -5
  9. package/dist/{chunk-IFBNV6H6.js → chunk-2ANTL7MR.js} +3 -3
  10. package/dist/{chunk-5FR74PWO.js → chunk-2JDWVJND.js} +2 -2
  11. package/dist/{chunk-XWSF374K.js → chunk-2OQE55CK.js} +3 -3
  12. package/dist/{chunk-5H3GB5BO.js → chunk-32KWKNSF.js} +8 -384
  13. package/dist/{chunk-KTYTFRMB.js → chunk-36EJLSQQ.js} +34 -36
  14. package/dist/{chunk-FHJEP5SW.js → chunk-3BT2XMV4.js} +19 -13
  15. package/dist/chunk-3DPEIQKN.js +113 -0
  16. package/dist/{chunk-GU2UIAFZ.js → chunk-3URVFKWK.js} +7 -7
  17. package/dist/{chunk-WEH5XRJQ.js → chunk-3XML7CDN.js} +3 -3
  18. package/dist/chunk-42FMPA75.js +101 -0
  19. package/dist/{chunk-A2NJGIB3.js → chunk-5LXZXPKX.js} +2 -2
  20. package/dist/{chunk-VCBR6CU7.js → chunk-5PSMVOLM.js} +2 -2
  21. package/dist/{chunk-NMPKI6XL.js → chunk-6DB53AJS.js} +203 -25
  22. package/dist/{chunk-3BINW3FP.js → chunk-76ONBSIA.js} +2 -2
  23. package/dist/{chunk-26LEYJZH.js → chunk-7MCTRUCE.js} +2 -2
  24. package/dist/{chunk-TYPGUK6W.js → chunk-AB44T6BB.js} +111 -5
  25. package/dist/{chunk-K4XHGFR5.js → chunk-B7OBL7PK.js} +317 -721
  26. package/dist/{chunk-B5CSFE7B.js → chunk-BBVJUZHB.js} +2 -2
  27. package/dist/{chunk-EQ63NRB7.js → chunk-BBVYXMFO.js} +2 -2
  28. package/dist/{chunk-ZVJ5BLO2.js → chunk-BKFJHQCA.js} +154 -16
  29. package/dist/chunk-BKFM6EJV.js +462 -0
  30. package/dist/chunk-BMS5RKQY.js +27 -0
  31. package/dist/{chunk-ZNLWCMVZ.js → chunk-BPKCPIL7.js} +2 -2
  32. package/dist/{chunk-TLQJPP24.js → chunk-BUMFYQFY.js} +1394 -1349
  33. package/dist/{chunk-BNAZZHFG.js → chunk-BYP5D4HI.js} +1 -1
  34. package/dist/chunk-C2LTL2W6.js +2447 -0
  35. package/dist/{chunk-ME6CCNFO.js → chunk-CODPRO7Q.js} +8 -8
  36. package/dist/{chunk-E77JEWSD.js → chunk-CTJ4RNAA.js} +7 -37
  37. package/dist/{chunk-ODFEOB4F.js → chunk-CY6FY24N.js} +26 -8
  38. package/dist/{chunk-7RFXX52T.js → chunk-DQITNCXG.js} +642 -172
  39. package/dist/{chunk-TTHACPOM.js → chunk-DYJP44XW.js} +578 -117
  40. package/dist/{chunk-2HFZQUHL.js → chunk-F4CKPOEQ.js} +18 -8
  41. package/dist/{chunk-DGSYXYMX.js → chunk-FEFIFZTL.js} +3 -3
  42. package/dist/{chunk-GWS3VEIW.js → chunk-FWDFM5ZU.js} +24 -3
  43. package/dist/{chunk-MV3K5QF2.js → chunk-GCSMB2KY.js} +2 -2
  44. package/dist/chunk-GKF55TAZ.js +391 -0
  45. package/dist/{chunk-VWZOAB7K.js → chunk-GR5G2PVF.js} +9 -8
  46. package/dist/{chunk-4DGYLA73.js → chunk-GXNLGKAB.js} +80 -9
  47. package/dist/chunk-HHV2GANA.js +88 -0
  48. package/dist/{chunk-IIZWH4XA.js → chunk-HI63TFOG.js} +5 -4
  49. package/dist/{chunk-WLFILSD5.js → chunk-HJJTYUHX.js} +113 -83
  50. package/dist/{chunk-TT36MB5S.js → chunk-HLW2MRKE.js} +3 -1
  51. package/dist/{chunk-PMDBGQSJ.js → chunk-HWHKMHUA.js} +7 -7
  52. package/dist/chunk-HZHHCK24.js +1631 -0
  53. package/dist/{chunk-WSB3FPX7.js → chunk-I5VEOC6I.js} +39 -143
  54. package/dist/chunk-IBEBSCYA.js +564 -0
  55. package/dist/chunk-IQ7KR472.js +362 -0
  56. package/dist/{chunk-A3WNZD3P.js → chunk-J4W7KFM7.js} +949 -972
  57. package/dist/{chunk-TB5666IT.js → chunk-JDG2WCRO.js} +5 -5
  58. package/dist/{chunk-N22QMJKY.js → chunk-K5C3NCBD.js} +4 -4
  59. package/dist/{chunk-CGKSTWHD.js → chunk-K6BSR66V.js} +2 -1
  60. package/dist/{chunk-5C3AQNDW.js → chunk-KFZI4NIL.js} +216 -38
  61. package/dist/chunk-KMVISBZR.js +132 -0
  62. package/dist/{chunk-WXY7KU3G.js → chunk-LDQ2ZF2M.js} +2 -2
  63. package/dist/{chunk-XN3L4EYL.js → chunk-LQ3DZAMX.js} +3 -3
  64. package/dist/{chunk-U6MBIEMB.js → chunk-LY4S7GJC.js} +173 -144
  65. package/dist/{chunk-4SPRNWDE.js → chunk-MLKNTWH2.js} +19 -19
  66. package/dist/{chunk-MVVUPGPW.js → chunk-MXHC5QYU.js} +6 -6
  67. package/dist/chunk-NEKRRTYW.js +56 -0
  68. package/dist/{chunk-SPULKLCF.js → chunk-NHCZP4K7.js} +3 -3
  69. package/dist/chunk-NHLBIGRH.js +1506 -0
  70. package/dist/chunk-NQQH3YT7.js +302 -0
  71. package/dist/chunk-NYS75XW5.js +15 -0
  72. package/dist/{chunk-GN57SG4G.js → chunk-O4XIVISU.js} +10 -8
  73. package/dist/{chunk-EMYUUSFG.js → chunk-O6TL7WWY.js} +6 -6
  74. package/dist/chunk-OQBA45DZ.js +97 -0
  75. package/dist/{chunk-LU7P4LHA.js → chunk-P3FOHJT4.js} +2 -2
  76. package/dist/chunk-PMZCIOCJ.js +25 -0
  77. package/dist/{chunk-I4HZDVNP.js → chunk-PQEFIJ36.js} +2 -2
  78. package/dist/{chunk-J3YUBZWY.js → chunk-QBJA7R7N.js} +62 -6
  79. package/dist/chunk-QDC3K2U3.js +262 -0
  80. package/dist/{chunk-2HEJ2F35.js → chunk-QLFS5GO2.js} +22 -10
  81. package/dist/{chunk-7RGZWPB6.js → chunk-QLL7ILRG.js} +95 -32
  82. package/dist/{chunk-YS5VLNH5.js → chunk-QREDIESB.js} +6 -6
  83. package/dist/chunk-QSNYB6ZV.js +195 -0
  84. package/dist/{chunk-GOXNB3AO.js → chunk-RAPCMZL4.js} +75 -4
  85. package/dist/chunk-RKKLTLYB.js +45 -0
  86. package/dist/{chunk-P43ETTHK.js → chunk-SJ5ZKQ4S.js} +2 -2
  87. package/dist/{chunk-GPIEI3LY.js → chunk-SP2RXXYO.js} +6 -54
  88. package/dist/chunk-SUCTJL45.js +45 -0
  89. package/dist/{chunk-DYIM5TJT.js → chunk-SUW5DORT.js} +263 -7
  90. package/dist/chunk-T56WDKA5.js +183 -0
  91. package/dist/chunk-TVHHYFHE.js +255 -0
  92. package/dist/{chunk-FJ3H4MN5.js → chunk-TZ3SGWZZ.js} +3 -3
  93. package/dist/{chunk-MXKJU4JB.js → chunk-U77AMWDL.js} +91 -10
  94. package/dist/{chunk-5DHKRSMQ.js → chunk-ULC6OTWO.js} +11 -7
  95. package/dist/{chunk-RWSI4YD7.js → chunk-UM7N4G5A.js} +33 -12
  96. package/dist/{chunk-FCSXB6T2.js → chunk-UOSL25KY.js} +14 -2
  97. package/dist/{chunk-IGWKHNIQ.js → chunk-UXMFQ54G.js} +44 -37
  98. package/dist/{chunk-HFSBBKSQ.js → chunk-V5DHCITQ.js} +171 -3
  99. package/dist/{chunk-5WIGXA4T.js → chunk-VAZSBTKF.js} +111 -4
  100. package/dist/{chunk-VHN4MY6O.js → chunk-VEO4AP2K.js} +2 -2
  101. package/dist/{chunk-IJ7RPIYJ.js → chunk-VFA6GDY5.js} +65 -4
  102. package/dist/{chunk-PT7HYKEM.js → chunk-VO2LKSTM.js} +2 -2
  103. package/dist/chunk-VO67MWHC.js +75 -0
  104. package/dist/{chunk-XK56QHLX.js → chunk-VPKWYKEY.js} +19 -5
  105. package/dist/{chunk-TANS5ZJS.js → chunk-VYMXRQI6.js} +36 -22
  106. package/dist/{chunk-WWCZ5F23.js → chunk-W5VSYASO.js} +77 -16
  107. package/dist/{chunk-WNIJTQQK.js → chunk-WZR7K7ZX.js} +72 -116
  108. package/dist/{chunk-5Q2VVUKB.js → chunk-X3YGUTOB.js} +4 -4
  109. package/dist/chunk-X75E3D2N.js +686 -0
  110. package/dist/{chunk-VAWNZU7Z.js → chunk-YDFRH54B.js} +4 -4
  111. package/dist/chunk-YJX4SHTD.js +40 -0
  112. package/dist/{chunk-ZI647VB5.js → chunk-YPI3QQCF.js} +2 -2
  113. package/dist/chunk-Z2RR6MAK.js +127 -0
  114. package/dist/{chunk-FBVTI2TJ.js → chunk-Z4TXYIEG.js} +12 -131
  115. package/dist/cli/index.js +47 -36
  116. package/dist/{clio-QVTYJ57A.js → clio-2JXHBBY5.js} +7 -7
  117. package/dist/{code-nav-FGGFIE7L.js → code-nav-3YYRMYNF.js} +8 -8
  118. package/dist/{compile-cache-CVJMMODC.js → compile-cache-7FPE6PS3.js} +3 -3
  119. package/dist/{components-ZFA3SAER.js → components-RYZV4JGP.js} +5 -5
  120. package/dist/{config-LW5IJFQN.js → config-QZPCMYSO.js} +99 -63
  121. package/dist/{configure-7XIZCOU4.js → configure-TEGEBYCA.js} +23 -22
  122. package/dist/{context-Y6Y7QPR6.js → context-AV7OEZ4D.js} +12 -12
  123. package/dist/{context-L3WL3X7K.js → context-E6H5RNMC.js} +56 -47
  124. package/dist/{context-N52ZA626.js → context-GSXUE4CT.js} +29 -27
  125. package/dist/{context-clear-MBQRLSDQ.js → context-clear-SHIBYK6T.js} +55 -46
  126. package/dist/{context-index-HVMFQHK3.js → context-index-HNG3MOME.js} +2 -2
  127. package/dist/{context-working-set-GS6DSO7F.js → context-working-set-5ZGKPGZQ.js} +13 -13
  128. package/dist/{dispatch-runner-22ZCNOM3.js → dispatch-runner-EFMJT4LD.js} +93 -64
  129. package/dist/{docs-7LQ23DLM.js → docs-23KQS3XK.js} +5 -5
  130. package/dist/doctor-QOA5FNY5.js +313 -0
  131. package/dist/{eval-BEC2WHDA.js → eval-TFBYQH4H.js} +2032 -156
  132. package/dist/eval-inventory-SXH7PDKX.js +316 -0
  133. package/dist/{evidence-REJUMSKM.js → evidence-ERGESKGN.js} +203 -48
  134. package/dist/{evolve-PY5ZBA5K.js → evolve-VDXTSYCJ.js} +52 -43
  135. package/dist/{extensions-HVKU65YU.js → extensions-7BGBHN57.js} +13 -7
  136. package/dist/{fleet-7WZEWRFA.js → fleet-2RRVDF2V.js} +228 -108
  137. package/dist/{fleet-commands-UVHWM76J.js → fleet-commands-VJ726XIA.js} +11 -11
  138. package/dist/fleet-decisions-EPAPM3XJ.js +157 -0
  139. package/dist/{fleet-graph-6ULH7PES.js → fleet-graph-JF5QOATM.js} +18 -15
  140. package/dist/fleet-inspect-VLY4S7QM.js +442 -0
  141. package/dist/{fleet-preflight-J53T6CCE.js → fleet-preflight-AIZUEJOY.js} +5 -5
  142. package/dist/{fleet-validate-72PC4SLA.js → fleet-validate-AJRPDMDV.js} +22 -19
  143. package/dist/fleet-verify-JFEL2L3H.js +175 -0
  144. package/dist/fleet-view-ZCON35AG.js +102 -0
  145. package/dist/{init-OG3TPGQG.js → init-DN2WWLFE.js} +72 -62
  146. package/dist/install-XGLBQY5E.js +13 -0
  147. package/dist/interop-OZBKXAYL.js +114 -0
  148. package/dist/{library-CNTMPLRF.js → library-YWZG7IMW.js} +21 -18
  149. package/dist/{memory-6IS7F275.js → memory-I4C4HMLW.js} +54 -45
  150. package/dist/{models-ENRJDA5W.js → models-CEYXJBO6.js} +33 -30
  151. package/dist/{monitor-XLDVO7TN.js → monitor-NZ6GCI3P.js} +59 -52
  152. package/dist/{orchestrator-6KSPYRHA.js → orchestrator-GCGQ4N5I.js} +7827 -7328
  153. package/dist/panes-HMABYVO4.js +58 -0
  154. package/dist/panes-KY6W3V2E.js +103 -0
  155. package/dist/{paths-DBXMZMDU.js → paths-II4K7DNR.js} +5 -5
  156. package/dist/{reset-RZ4ER727.js → reset-DQ6FGCSH.js} +13 -11
  157. package/dist/resources-BB3MVJMD.js +111 -0
  158. package/dist/{run-Y2CNK5RU.js → run-H2GQDUER.js} +119 -87
  159. package/dist/{share-A55GYP6Z.js → share-GTJN6A5O.js} +20 -17
  160. package/dist/{skills-ALC5J6AT.js → skills-L55TEW6R.js} +33 -24
  161. package/dist/{skills-eval-JPBEBYQU.js → skills-eval-XVXPH2JI.js} +67 -56
  162. package/dist/skills-inventory-S4MXPJFV.js +126 -0
  163. package/dist/slash-commands-ZSGASKJC.js +77 -0
  164. package/dist/{steer-GGWFUJUD.js → steer-RZGSCY4R.js} +4 -4
  165. package/dist/{support-MIETYA5E.js → support-PKEUNNQL.js} +6 -6
  166. package/dist/{targets-VGNXIR3S.js → targets-NCPZ644J.js} +68 -40
  167. package/dist/{terminal-lease-WOBR64YA.js → terminal-lease-44SV3YCN.js} +6 -4
  168. package/dist/tools-DAF3DI3C.js +27 -0
  169. package/dist/{trace-PNCASAXC.js → trace-FYVW2MQA.js} +207 -10
  170. package/dist/tui-primitives-2AKXQNZK.js +13 -0
  171. package/dist/{uninstall-ZJF5H5ZN.js → uninstall-DW2PNOIC.js} +5 -5
  172. package/dist/{upgrade-FUSUAGHR.js → upgrade-3XPP6OQL.js} +27 -24
  173. package/dist/{usage-N4MKVHKD.js → usage-3NLHGTU2.js} +114 -62
  174. package/dist/{verifiers-YAWOJ3H2.js → verifiers-SSQONKRT.js} +172 -13
  175. package/dist/{verify-LTDHYBGY.js → verify-3U6J7FZI.js} +10 -10
  176. package/dist/{web-fetch-2YHJ3KTG.js → web-fetch-S7RR6GZ7.js} +3 -3
  177. package/dist/{wiki-generate-6M7GHTBJ.js → wiki-generate-CEHYGPGQ.js} +75 -65
  178. package/dist/with-panes-MKB46MPQ.js +782 -0
  179. package/dist/worker/entry.js +106 -75
  180. package/docs/README.md +3 -2
  181. package/docs/acp.md +24 -3
  182. package/docs/alcf-provider.md +1 -1
  183. package/docs/architecture.md +2 -2
  184. package/docs/artifact-versions.md +9 -1
  185. package/docs/built-in-agents.md +1 -1
  186. package/docs/capacity-and-scheduling.md +62 -3
  187. package/docs/commands-and-modes.md +31 -2
  188. package/docs/configuration-and-targets.md +69 -12
  189. package/docs/context-engine.md +63 -4
  190. package/docs/development-pipeline.md +19 -0
  191. package/docs/dispatch-typed-intent.md +385 -0
  192. package/docs/documentation-coverage.md +5 -5
  193. package/docs/documentation-guide.md +1 -1
  194. package/docs/environment-variables.md +3 -0
  195. package/docs/eval-runner.md +262 -11
  196. package/docs/evals-internal.md +72 -2
  197. package/docs/evidence-and-memory.md +12 -11
  198. package/docs/evolution.md +1 -1
  199. package/docs/exit-codes-and-output.md +1 -1
  200. package/docs/extensions-and-sharing.md +27 -1
  201. package/docs/fleet-dispatch.md +25 -4
  202. package/docs/installation-and-lifecycle.md +15 -2
  203. package/docs/middleware-and-components.md +1 -1
  204. package/docs/model-catalog.md +10 -1
  205. package/docs/observability.md +55 -4
  206. package/docs/proactive-memory.md +127 -14
  207. package/docs/prompt-envelope-and-tools.md +19 -1
  208. package/docs/provider-adapter-cookbook.md +1 -1
  209. package/docs/release-cut-checklist.md +19 -3
  210. package/docs/safety-model.md +2 -2
  211. package/docs/scientific-validation.md +3 -3
  212. package/docs/session-lifecycle.md +1 -1
  213. package/docs/skills-marketplace.md +1 -1
  214. package/docs/tool-usage.md +18 -8
  215. package/docs/trace-store.md +1 -1
  216. package/docs/troubleshooting.md +88 -1
  217. package/docs/tui-design.md +1 -1
  218. package/docs/worker-dispatch-mechanics.md +1 -1
  219. package/package.json +5 -2
  220. package/src/cli/acp.ts +6 -2
  221. package/src/cli/agents.ts +1 -1
  222. package/src/cli/argv.ts +25 -0
  223. package/src/cli/config-inspect.ts +33 -6
  224. package/src/cli/config.ts +1 -1
  225. package/src/cli/configure.ts +23 -21
  226. package/src/cli/doctor-panes.ts +124 -0
  227. package/src/cli/doctor-state-size.ts +82 -0
  228. package/src/cli/doctor-toolchain.ts +57 -0
  229. package/src/cli/doctor.ts +22 -1
  230. package/src/cli/eval-inventory.ts +436 -0
  231. package/src/cli/eval.ts +93 -16
  232. package/src/cli/evidence-detail.ts +88 -0
  233. package/src/cli/evidence-inventory.ts +183 -0
  234. package/src/cli/evidence.ts +30 -5
  235. package/src/cli/extensions.ts +5 -1
  236. package/src/cli/fleet-decisions.ts +69 -0
  237. package/src/cli/fleet-inspect.ts +334 -0
  238. package/src/cli/fleet-verify.ts +133 -0
  239. package/src/cli/fleet-view.ts +810 -0
  240. package/src/cli/fleet.ts +179 -39
  241. package/src/cli/index.ts +14 -2
  242. package/src/cli/interop-inspect.ts +128 -0
  243. package/src/cli/interop.ts +34 -0
  244. package/src/cli/panes.ts +35 -0
  245. package/src/cli/reset.ts +5 -2
  246. package/src/cli/run.ts +58 -0
  247. package/src/cli/skills-inventory.ts +185 -0
  248. package/src/cli/skills.ts +16 -13
  249. package/src/cli/targets.ts +44 -13
  250. package/src/cli/tools.ts +321 -0
  251. package/src/cli/trace-inspect.ts +252 -0
  252. package/src/cli/trace.ts +85 -5
  253. package/src/cli/usage.ts +63 -14
  254. package/src/cli/verifiers-inspect.ts +347 -0
  255. package/src/cli/verifiers.ts +9 -0
  256. package/src/core/bus-events.ts +33 -1
  257. package/src/core/cache-telemetry.ts +42 -0
  258. package/src/core/config.ts +67 -0
  259. package/src/core/defaults.ts +124 -8
  260. package/src/core/endpoint-key.ts +27 -0
  261. package/src/core/residency-target-key.ts +25 -0
  262. package/src/core/response-schema.ts +80 -6
  263. package/src/core/theme-token-hex.ts +43 -0
  264. package/src/core/tool-names.ts +2 -1
  265. package/src/core/xdg.ts +1 -1
  266. package/src/domains/agents/fleets/build-review.md +0 -3
  267. package/src/domains/agents/fleets/build-test.md +0 -3
  268. package/src/domains/agents/result-contract-filesystem.ts +32 -0
  269. package/src/domains/agents/result-contract.ts +164 -35
  270. package/src/domains/config/classify.ts +6 -0
  271. package/src/domains/context/codewiki/coordinator.ts +12 -4
  272. package/src/domains/dispatch/admission-error.ts +9 -0
  273. package/src/domains/dispatch/admission.ts +52 -14
  274. package/src/domains/dispatch/capacity-lease.ts +118 -9
  275. package/src/domains/dispatch/contract.ts +11 -0
  276. package/src/domains/dispatch/council-topology.ts +398 -0
  277. package/src/domains/dispatch/execution-plan.ts +44 -4
  278. package/src/domains/dispatch/extension.ts +378 -82
  279. package/src/domains/dispatch/fleet-node-prompt.ts +62 -0
  280. package/src/domains/dispatch/fleet-plan.ts +7 -2
  281. package/src/domains/dispatch/fleet-run.ts +87 -4
  282. package/src/domains/dispatch/gate-decisions.ts +11 -1
  283. package/src/domains/dispatch/gate-role-prompts.ts +9 -0
  284. package/src/domains/dispatch/gate-topology.ts +289 -0
  285. package/src/domains/dispatch/heartbeat.ts +32 -8
  286. package/src/domains/dispatch/index.ts +22 -0
  287. package/src/domains/dispatch/intent-compatibility.ts +330 -0
  288. package/src/domains/dispatch/intent.ts +85 -1
  289. package/src/domains/dispatch/orphan-recovery.ts +5 -0
  290. package/src/domains/dispatch/reservation-store.ts +139 -11
  291. package/src/domains/dispatch/run-event-journal-bridge.ts +149 -0
  292. package/src/domains/dispatch/run-event-journal.ts +598 -0
  293. package/src/domains/dispatch/state.ts +49 -1
  294. package/src/domains/dispatch/types.ts +13 -0
  295. package/src/domains/dispatch/validation.ts +33 -8
  296. package/src/domains/dispatch/worker-spawn.ts +25 -11
  297. package/src/domains/dispatch/write-boundary-enforcer.ts +20 -3
  298. package/src/domains/dispatch/write-boundary.ts +62 -1
  299. package/src/domains/eval/artifacts/store.ts +62 -0
  300. package/src/domains/eval/compare/behavioral.ts +224 -0
  301. package/src/domains/eval/compare/compare.ts +342 -2
  302. package/src/domains/eval/compare/envelope.ts +128 -0
  303. package/src/domains/eval/compare/gates.ts +24 -6
  304. package/src/domains/eval/compare/thresholds.ts +30 -3
  305. package/src/domains/eval/execution-provenance.ts +240 -0
  306. package/src/domains/eval/inventory.ts +113 -0
  307. package/src/domains/eval/metrics/aggregate.ts +136 -0
  308. package/src/domains/eval/metrics/call-ledger-stream.ts +112 -0
  309. package/src/domains/eval/metrics/tracked.ts +413 -0
  310. package/src/domains/eval/provenance.ts +117 -0
  311. package/src/domains/eval/reports/comparison.ts +128 -0
  312. package/src/domains/eval/reports/junit.ts +17 -3
  313. package/src/domains/eval/reports/markdown.ts +3 -3
  314. package/src/domains/eval/reports/text.ts +14 -0
  315. package/src/domains/eval/run-compare.ts +20 -0
  316. package/src/domains/eval/runners/clio-run.ts +127 -0
  317. package/src/domains/eval/runners/external-command.ts +28 -3
  318. package/src/domains/eval/schema/adapter.ts +111 -0
  319. package/src/domains/eval/schema/artifact.ts +20 -0
  320. package/src/domains/eval/schema/behavioral-metrics.ts +204 -0
  321. package/src/domains/eval/schema/behavioral.ts +520 -0
  322. package/src/domains/eval/schema/execution-envelope.ts +194 -0
  323. package/src/domains/eval/schema/serving.ts +105 -0
  324. package/src/domains/eval/schema/suite.ts +38 -8
  325. package/src/domains/eval/schema/validate.ts +58 -3
  326. package/src/domains/eval/schema/verdict.ts +237 -0
  327. package/src/domains/eval/suites/resolve.ts +2 -0
  328. package/src/domains/eval/suites/run.ts +264 -33
  329. package/src/domains/eval/verifiers/command.ts +2 -1
  330. package/src/domains/eval/workspaces/temp-copy.ts +145 -13
  331. package/src/domains/evidence/build.ts +2 -13
  332. package/src/domains/evidence/eval.ts +2 -12
  333. package/src/domains/evidence/findings-markdown.ts +33 -0
  334. package/src/domains/evidence/run-trust.ts +7 -113
  335. package/src/domains/evidence/store.ts +6 -0
  336. package/src/domains/evidence/trust-projection.ts +2 -2
  337. package/src/domains/extensions/compatibility.ts +285 -0
  338. package/src/domains/extensions/discovery.ts +38 -3
  339. package/src/domains/extensions/resources.ts +1 -1
  340. package/src/domains/extensions/state.ts +12 -3
  341. package/src/domains/extensions/types.ts +2 -0
  342. package/src/domains/lifecycle/doctor.ts +69 -1
  343. package/src/domains/memory/index.ts +14 -1
  344. package/src/domains/memory/task-bank-promotion.ts +64 -0
  345. package/src/domains/memory/task-memory-policy.ts +82 -17
  346. package/src/domains/memory/task-memory-spend.ts +131 -0
  347. package/src/domains/memory/task-memory-status.ts +7 -0
  348. package/src/domains/memory/task-memory-telemetry.ts +3 -0
  349. package/src/domains/middleware/index.ts +1 -0
  350. package/src/domains/middleware/memory-intervention.ts +97 -21
  351. package/src/domains/middleware/memory-step-endpoint.ts +71 -0
  352. package/src/domains/mux/contract.ts +434 -0
  353. package/src/domains/mux/detect.ts +158 -0
  354. package/src/domains/mux/extension.ts +47 -0
  355. package/src/domains/mux/index.ts +96 -0
  356. package/src/domains/mux/manifest.ts +6 -0
  357. package/src/domains/mux/operations.ts +164 -0
  358. package/src/domains/mux/pane-registry.ts +90 -0
  359. package/src/domains/mux/protocol.ts +49 -0
  360. package/src/domains/mux/socket-client.ts +816 -0
  361. package/src/domains/mux/types.ts +222 -0
  362. package/src/domains/mux/viewer-command.ts +59 -0
  363. package/src/domains/mux/yazi/assets/init.lua +2 -0
  364. package/src/domains/mux/yazi/assets/plugins/git.yazi/LICENSE +21 -0
  365. package/src/domains/mux/yazi/assets/plugins/git.yazi/README.md +78 -0
  366. package/src/domains/mux/yazi/assets/plugins/git.yazi/main.lua +255 -0
  367. package/src/domains/mux/yazi/assets/plugins/git.yazi/types.lua +12 -0
  368. package/src/domains/mux/yazi/assets/yazi.toml +17 -0
  369. package/src/domains/mux/yazi/event-stream.ts +180 -0
  370. package/src/domains/mux/yazi/profile.ts +299 -0
  371. package/src/domains/mux/yazi/session.ts +228 -0
  372. package/src/domains/mux/yazi/theme.ts +30 -0
  373. package/src/domains/observability/background-memory-usage.ts +140 -0
  374. package/src/domains/observability/cost.ts +22 -1
  375. package/src/domains/observability/index.ts +9 -0
  376. package/src/domains/observability/out-of-turn-usage.ts +51 -2
  377. package/src/domains/observability/trace-store.ts +234 -2
  378. package/src/domains/prompts/compiler.ts +100 -13
  379. package/src/domains/providers/endpoint-capacity.ts +228 -0
  380. package/src/domains/providers/endpoint-slots-store.ts +189 -0
  381. package/src/domains/providers/extension.ts +20 -3
  382. package/src/domains/providers/index.ts +32 -0
  383. package/src/domains/providers/model-runtime-capabilities.ts +32 -0
  384. package/src/domains/providers/models/local-models/clio-local-coding-targets.yaml +243 -1
  385. package/src/domains/providers/runtime-resolution.ts +8 -1
  386. package/src/domains/providers/runtimes/boot-manifest.ts +1 -0
  387. package/src/domains/providers/runtimes/builtins.ts +2 -0
  388. package/src/domains/providers/runtimes/common/probe-helpers.ts +31 -9
  389. package/src/domains/providers/runtimes/local-native/llamacpp-anthropic.ts +1 -1
  390. package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
  391. package/src/domains/providers/runtimes/local-native/llamacpp-embed.ts +1 -1
  392. package/src/domains/providers/runtimes/local-native/llamacpp-rerank.ts +1 -1
  393. package/src/domains/providers/runtimes/local-native/llamacpp.ts +4 -1
  394. package/src/domains/providers/runtimes/local-native/lmstudio.ts +4 -1
  395. package/src/domains/providers/runtimes/local-native/ollama-native.ts +6 -1
  396. package/src/domains/providers/runtimes/protocol/litellm.ts +375 -0
  397. package/src/domains/providers/support.ts +1 -0
  398. package/src/domains/providers/target-model-cache.ts +124 -0
  399. package/src/domains/providers/types/capability-flags.ts +2 -0
  400. package/src/domains/providers/types/target-descriptor.ts +2 -0
  401. package/src/domains/resources/index.ts +3 -0
  402. package/src/domains/resources/prompts/loader.ts +95 -33
  403. package/src/domains/resources/skills/loader.ts +33 -0
  404. package/src/domains/safety/action-classifier.ts +6 -0
  405. package/src/domains/safety/call-target.ts +52 -0
  406. package/src/domains/safety/run-effects.ts +35 -4
  407. package/src/domains/session/context-accounting.ts +52 -1
  408. package/src/domains/session/context-ledger.ts +37 -13
  409. package/src/domains/session/index.ts +6 -0
  410. package/src/domains/session/prompt-cache.ts +140 -0
  411. package/src/domains/session/prompt-manifest.ts +42 -0
  412. package/src/domains/toolchain/archive.ts +175 -0
  413. package/src/domains/toolchain/contract.ts +28 -0
  414. package/src/domains/toolchain/extension.ts +47 -0
  415. package/src/domains/toolchain/index.ts +39 -0
  416. package/src/domains/toolchain/install.ts +327 -0
  417. package/src/domains/toolchain/manifest.ts +8 -0
  418. package/src/domains/toolchain/paths.ts +34 -0
  419. package/src/domains/toolchain/registry.ts +265 -0
  420. package/src/domains/toolchain/remove.ts +218 -0
  421. package/src/domains/toolchain/resolve.ts +182 -0
  422. package/src/domains/toolchain/types.ts +113 -0
  423. package/src/domains/toolchain/version.ts +88 -0
  424. package/src/engine/acp/adapter.ts +18 -3
  425. package/src/engine/acp/server.ts +413 -70
  426. package/src/engine/acp/types.ts +19 -1
  427. package/src/engine/ai.ts +35 -0
  428. package/src/engine/apis/llamacpp-residency.ts +55 -3
  429. package/src/engine/apis/lmstudio.ts +25 -5
  430. package/src/engine/apis/ollama-native.ts +2 -1
  431. package/src/engine/apis/openai-completions.ts +80 -17
  432. package/src/engine/apis/residency-lock.ts +3 -1
  433. package/src/engine/apis/residency.ts +34 -1
  434. package/src/engine/claude/sdk-module.ts +98 -0
  435. package/src/engine/claude/sdk-runtime.ts +19 -11
  436. package/src/engine/provider-payload.ts +29 -1
  437. package/src/engine/tui-primitives.ts +21 -0
  438. package/src/engine/tui.ts +1 -0
  439. package/src/engine/worker-runtime.ts +2 -13
  440. package/src/entry/boot-options.ts +2 -0
  441. package/src/entry/orchestrator.ts +279 -35
  442. package/src/entry/panes-activation.ts +31 -0
  443. package/src/entry/with-panes.ts +20 -0
  444. package/src/interactive/chat-loop-messages.ts +26 -7
  445. package/src/interactive/chat-loop.ts +318 -41
  446. package/src/interactive/chat-panel.ts +62 -8
  447. package/src/interactive/clio-editor.ts +45 -8
  448. package/src/interactive/context-activity.ts +5 -1
  449. package/src/interactive/context-meter.ts +1 -1
  450. package/src/interactive/context-overlay.ts +41 -10
  451. package/src/interactive/cost-overlay.ts +66 -6
  452. package/src/interactive/council-grid.ts +1 -3
  453. package/src/interactive/council.ts +11 -0
  454. package/src/interactive/dispatch-board.ts +102 -20
  455. package/src/interactive/fleet-run-preview.ts +41 -15
  456. package/src/interactive/handoff-round.ts +41 -2
  457. package/src/interactive/interactive-application.ts +177 -7
  458. package/src/interactive/interactive-input-runtime.ts +15 -0
  459. package/src/interactive/interactive-presentation.ts +4 -0
  460. package/src/interactive/interactive-shell.ts +20 -17
  461. package/src/interactive/interactive-slash-runtime.ts +63 -10
  462. package/src/interactive/memory-overlay.ts +9 -0
  463. package/src/interactive/modal-marker.ts +170 -0
  464. package/src/interactive/mutation-preview.ts +295 -0
  465. package/src/interactive/mux-bridge.ts +214 -0
  466. package/src/interactive/overlay-frame.ts +58 -2
  467. package/src/interactive/overlay-general-openers.ts +17 -0
  468. package/src/interactive/overlay-key-routing.ts +52 -3
  469. package/src/interactive/overlay-lifecycle.ts +56 -7
  470. package/src/interactive/overlay-model-selectors.ts +40 -3
  471. package/src/interactive/overlay-permission-lifecycle.ts +112 -24
  472. package/src/interactive/overlay-session-lifecycle.ts +73 -9
  473. package/src/interactive/overlay-transitions.ts +18 -4
  474. package/src/interactive/overlays/agents.ts +1 -0
  475. package/src/interactive/overlays/ask-user.ts +227 -49
  476. package/src/interactive/overlays/auth-dialog.ts +1 -0
  477. package/src/interactive/overlays/context-reset.ts +1 -0
  478. package/src/interactive/overlays/cwd-fallback.ts +1 -0
  479. package/src/interactive/overlays/decisions.ts +11 -11
  480. package/src/interactive/overlays/extensions.ts +1 -0
  481. package/src/interactive/overlays/fleet-run-approval.ts +1 -0
  482. package/src/interactive/overlays/handoff-review.ts +1 -0
  483. package/src/interactive/overlays/help-reference.ts +6 -0
  484. package/src/interactive/overlays/interop.ts +1 -0
  485. package/src/interactive/overlays/library-install-confirm.ts +1 -0
  486. package/src/interactive/overlays/library-tabs.ts +28 -0
  487. package/src/interactive/overlays/list-overlay.ts +10 -1
  488. package/src/interactive/overlays/message-picker.ts +1 -0
  489. package/src/interactive/overlays/model-scope.ts +86 -0
  490. package/src/interactive/overlays/model-selector.ts +1 -0
  491. package/src/interactive/overlays/prompts.ts +12 -1
  492. package/src/interactive/overlays/session-selector.ts +1 -0
  493. package/src/interactive/overlays/settings-sections.ts +30 -0
  494. package/src/interactive/overlays/settings.ts +614 -45
  495. package/src/interactive/overlays/side-question.ts +1 -0
  496. package/src/interactive/overlays/skills-hub.ts +3 -11
  497. package/src/interactive/overlays/tree-selector.ts +1 -0
  498. package/src/interactive/pane-policy.ts +46 -0
  499. package/src/interactive/panes-runtime.ts +292 -0
  500. package/src/interactive/permission-hint.ts +34 -2
  501. package/src/interactive/permission-overlay.ts +159 -9
  502. package/src/interactive/prewarm.ts +197 -0
  503. package/src/interactive/render-trace.ts +162 -15
  504. package/src/interactive/renderers/compaction-summary.ts +29 -0
  505. package/src/interactive/renderers/tool-execution.ts +4 -0
  506. package/src/interactive/renderers/worker-entry.ts +122 -14
  507. package/src/interactive/side-question.ts +58 -1
  508. package/src/interactive/slash-commands.ts +251 -15
  509. package/src/interactive/status/controller.ts +11 -0
  510. package/src/interactive/status/state-machine.ts +54 -2
  511. package/src/interactive/status/types.ts +7 -0
  512. package/src/interactive/tasks-overlay.ts +1 -0
  513. package/src/interactive/terminal-lease.ts +2 -0
  514. package/src/interactive/theme/tokens.ts +3 -14
  515. package/src/interactive/turn-context.ts +346 -33
  516. package/src/interactive/turn-persistence.ts +14 -4
  517. package/src/interactive/turn-prewarm.ts +364 -0
  518. package/src/interactive/turn-queues.ts +7 -4
  519. package/src/interactive/turn-runtime.ts +8 -1
  520. package/src/interactive/turn-state.ts +23 -0
  521. package/src/interactive/view/artifacts.ts +109 -1
  522. package/src/interactive/view/view-overlay.ts +29 -3
  523. package/src/interactive/watch-pane.ts +152 -0
  524. package/src/interactive/worker-progress.ts +7 -1
  525. package/src/interactive/worker-receipts.ts +19 -1
  526. package/src/interactive/worker-stream.ts +5 -0
  527. package/src/interactive/yazi-bridge.ts +444 -0
  528. package/src/tools/ask-user.ts +43 -2
  529. package/src/tools/bootstrap.ts +26 -2
  530. package/src/tools/builtin-tool-catalog.ts +15 -0
  531. package/src/tools/compete-worktrees.ts +83 -2
  532. package/src/tools/core-bootstrap.ts +2 -1
  533. package/src/tools/dispatch-admission.ts +14 -3
  534. package/src/tools/dispatch-arguments.ts +20 -20
  535. package/src/tools/dispatch-plan.ts +17 -9
  536. package/src/tools/dispatch-run-events.ts +134 -19
  537. package/src/tools/dispatch-runner.ts +29 -7
  538. package/src/tools/dispatch-scout.ts +1 -1
  539. package/src/tools/dispatch-types.ts +15 -3
  540. package/src/tools/dispatch.ts +1 -1
  541. package/src/tools/executables.ts +17 -14
  542. package/src/tools/observation.ts +54 -4
  543. package/src/tools/panes-surface.ts +38 -0
  544. package/src/tools/panes.ts +112 -0
  545. package/src/tools/policy.ts +10 -1
  546. package/src/tools/presentation.ts +1 -0
  547. package/src/tools/registry.ts +16 -0
  548. package/dist/chunk-AOCYTWAV.js +0 -449
  549. package/dist/chunk-HLE42MG7.js +0 -37
  550. package/dist/chunk-HWUFFB6L.js +0 -83
  551. package/dist/chunk-JOZYP4GM.js +0 -279
  552. package/dist/doctor-M7YEDGAE.js +0 -91
@@ -0,0 +1,255 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-3R73A4XB.js";
5
+
6
+ // src/domains/safety/call-target.ts
7
+ init_esm_shims();
8
+
9
+ // src/domains/safety/redaction.ts
10
+ init_esm_shims();
11
+ function isPlainObject(value) {
12
+ return value !== null && typeof value === "object" && !Array.isArray(value);
13
+ }
14
+ var SECRET_KEY_RE = /(?:api[-_]?key|access[-_]?key|auth(?:orization)?|credential|password|private[-_]?key|secret|token)/iu;
15
+ var ENV_KEY_RE = /^env(?:ironment)?$/iu;
16
+ var SECRET_STRING_RE = /(https?:\/\/[^\s/@]+:)[^\s/@]+@/giu;
17
+ var SECRET_URL_PARAM_RE = /([?&](?:api[-_]?key|access[-_]?token|auth(?:orization)?|credential|password|secret|token)[^=\s]*=)[^&#\s]+/giu;
18
+ var SECRET_ASSIGNMENT_RE = /(?<![A-Z0-9_])((?:[A-Z0-9_]*(?:ACCESS|API|AUTH|CREDENTIAL|KEY|PASS(?:WORD)?|PRIVATE|SECRET|TOKEN)[A-Z0-9_]*)=)[^\s;&|]+/giu;
19
+ var SECRET_FLAG_RE = /(--?(?:[a-z0-9-]*(?:api[-_]?key|access[-_]?token|auth(?:orization)?|credential|password|secret|token)[a-z0-9-]*))(=|\s+)([^\s;&|]+)/giu;
20
+ function redactSecretString(value) {
21
+ return value.replace(SECRET_STRING_RE, "$1[redacted]@").replace(SECRET_URL_PARAM_RE, "$1[redacted]").replace(SECRET_ASSIGNMENT_RE, "$1[redacted]").replace(SECRET_FLAG_RE, "$1$2[redacted]");
22
+ }
23
+ function isSecretArgKey(key) {
24
+ return SECRET_KEY_RE.test(key);
25
+ }
26
+ function isEnvironmentArgKey(key) {
27
+ return ENV_KEY_RE.test(key);
28
+ }
29
+ function redactEnvironmentValue(value, depth) {
30
+ if (depth > 8) return "[redacted nested values]";
31
+ if (typeof value === "string") return "[redacted]";
32
+ if (Array.isArray(value)) return value.map((item) => redactEnvironmentValue(item, depth + 1));
33
+ if (!isPlainObject(value)) return value;
34
+ const out = {};
35
+ for (const [childKey, childValue] of Object.entries(value)) {
36
+ out[childKey] = redactEnvironmentValue(childValue, depth + 1);
37
+ }
38
+ return out;
39
+ }
40
+ function redactToolArgs(value, key = "", depth = 0) {
41
+ if (isSecretArgKey(key)) return "[redacted]";
42
+ if (isEnvironmentArgKey(key)) return redactEnvironmentValue(value, depth);
43
+ if (typeof value === "string") return redactSecretString(value);
44
+ if (depth > 8) return "[redacted nested values]";
45
+ if (Array.isArray(value)) return value.map((item) => redactToolArgs(item, key, depth + 1));
46
+ if (!isPlainObject(value)) return value;
47
+ const out = {};
48
+ for (const [childKey, childValue] of Object.entries(value)) {
49
+ out[childKey] = redactToolArgs(childValue, childKey, depth + 1);
50
+ }
51
+ return out;
52
+ }
53
+
54
+ // src/domains/safety/call-target.ts
55
+ var ESC_CHAR = String.fromCharCode(27);
56
+ var BEL_CHAR = String.fromCharCode(7);
57
+ var OSC_PATTERN = new RegExp(`${ESC_CHAR}\\][\\s\\S]*?(?:${BEL_CHAR}|${ESC_CHAR}\\\\|$)`, "g");
58
+ var CSI_PATTERN = new RegExp(`${ESC_CHAR}\\[[0-9;?]*[0-9A-Za-z]`, "g");
59
+ function sanitizeForDisplay(value) {
60
+ const stripped = value.replace(OSC_PATTERN, "").replace(CSI_PATTERN, "");
61
+ let out = "";
62
+ for (const ch of stripped) {
63
+ const code = ch.codePointAt(0) ?? 0;
64
+ out += code < 32 || code === 127 ? " " : ch;
65
+ }
66
+ return out;
67
+ }
68
+ function oneLine(value) {
69
+ return value.replace(/\s+/g, " ").trim();
70
+ }
71
+ var DISPLAY_TAB_WIDTH = 4;
72
+ var CONTROL_BYTE_PLACEHOLDER = "\xB7";
73
+ function sanitizeMultilineDisplayText(value) {
74
+ const escapesStripped = value.replace(OSC_PATTERN, "").replace(CSI_PATTERN, "");
75
+ let neutralized = escapesStripped.length !== value.length;
76
+ const stripped = escapesStripped.replace(/\r\n/g, "\n");
77
+ let tabsExpanded = false;
78
+ let out = "";
79
+ for (const ch of stripped) {
80
+ if (ch === "\n") {
81
+ out += ch;
82
+ continue;
83
+ }
84
+ if (ch === " ") {
85
+ out += " ".repeat(DISPLAY_TAB_WIDTH);
86
+ tabsExpanded = true;
87
+ continue;
88
+ }
89
+ const code = ch.codePointAt(0) ?? 0;
90
+ if (code < 32 || code === 127) {
91
+ out += CONTROL_BYTE_PLACEHOLDER;
92
+ neutralized = true;
93
+ continue;
94
+ }
95
+ out += ch;
96
+ }
97
+ return { text: out, neutralized, tabsExpanded };
98
+ }
99
+ function sanitizeCallTargetText(value) {
100
+ return oneLine(sanitizeForDisplay(value));
101
+ }
102
+ var CALL_ACTION_OBJECT_MAX_CHARS = 64;
103
+ var CALL_TARGET_MAX_CHARS = 120;
104
+ var CALL_ACTION_VOCABULARY = {
105
+ read: { verb: "reading", field: "path" },
106
+ edit: { verb: "editing", field: "path" },
107
+ write: { verb: "writing", field: "path" },
108
+ ls: { verb: "listing", field: "path" },
109
+ bash: { verb: "running", field: "command" },
110
+ grep: { verb: "searching", field: "pattern" },
111
+ find: { verb: "finding", field: "pattern" },
112
+ web_fetch: { verb: "fetching", field: "url" },
113
+ git: { verb: "git", field: "op" },
114
+ verify: { verb: "verifying", field: "check" },
115
+ code_nav: { verb: "navigating", field: "query" },
116
+ context: { verb: "context", field: "scope" },
117
+ artifact: { verb: "writing", field: "kind" },
118
+ monitor: { verb: "monitoring", field: "run_id" },
119
+ steer: { verb: "steering", field: "run_id" },
120
+ tasks: { verb: "tasks", field: "action" },
121
+ dispatch: { verb: "dispatching", field: "agent" },
122
+ // ACP tool kinds. A peer names its own argument fields, so these rely on
123
+ // the shared allowlist below rather than on a field this side can predict.
124
+ execute: { verb: "running", field: "command" },
125
+ search: { verb: "searching", field: "query" },
126
+ fetch: { verb: "fetching", field: "url" },
127
+ delete: { verb: "deleting", field: "path" },
128
+ move: { verb: "moving", field: "path" },
129
+ think: { verb: "thinking", field: "" }
130
+ };
131
+ var CALL_ACTION_OBJECT_FIELDS = ["path", "file_path", "command", "pattern", "query", "url"];
132
+ var CALL_TARGET_FIELDS = {
133
+ read: ["path", "offset", "limit", "tail"],
134
+ grep: ["pattern", "path", "mode", "glob", "ignore_case", "literal", "context", "limit", "include_ignored"],
135
+ find: ["pattern", "path", "order", "limit", "include_ignored"],
136
+ ls: ["path", "limit"],
137
+ code_nav: ["mode", "query", "limit"],
138
+ context: ["scope", "query", "name", "limit", "ref", "include_tree"],
139
+ credential_present: ["name", "source", "file"],
140
+ write: ["path"],
141
+ edit: ["path"],
142
+ bash: ["command", "cwd", "timeout_ms", "output_policy"],
143
+ git: ["op", "path", "cached", "stat", "name_only", "limit", "cwd", "timeout_ms", "max_output_bytes"],
144
+ verify: ["check", "path", "browser", "cwd", "timeout_ms", "max_output_bytes"],
145
+ dispatch: [
146
+ "list",
147
+ "mode",
148
+ "agent",
149
+ "target",
150
+ "model",
151
+ "node",
152
+ "autonomy",
153
+ "tool_profile",
154
+ "thinking_level",
155
+ "detach",
156
+ "timeout_ms"
157
+ ],
158
+ monitor: ["run_id", "mode"],
159
+ steer: ["run_id", "action"],
160
+ tasks: ["action", "id"],
161
+ ledger: ["action", "kind", "path", "line", "target", "passed", "since"],
162
+ web_fetch: ["url", "method", "timeout_ms", "max_bytes", "format"],
163
+ ask_user: ["action", "mode", "max_rounds", "exposure"],
164
+ artifact: ["kind", "path", "title"],
165
+ // ACP tool kinds use only fields whose meaning the protocol defines.
166
+ execute: ["command", "cwd"],
167
+ search: ["query", "path"],
168
+ fetch: ["url", "method"],
169
+ delete: ["path"],
170
+ move: ["path", "target"]
171
+ };
172
+ function boundActionObject(value) {
173
+ if (typeof value !== "string") return null;
174
+ const clean = sanitizeCallTargetText(redactSecretString(value));
175
+ if (clean.length === 0) return null;
176
+ if (clean.length <= CALL_ACTION_OBJECT_MAX_CHARS) return { object: clean, truncated: false };
177
+ return { object: clean.slice(0, CALL_ACTION_OBJECT_MAX_CHARS), truncated: true };
178
+ }
179
+ function describeCallAction(tool, args) {
180
+ const known = CALL_ACTION_VOCABULARY[tool];
181
+ const candidates = known?.field ? [known.field, ...CALL_ACTION_OBJECT_FIELDS] : [...CALL_ACTION_OBJECT_FIELDS];
182
+ let bounded = null;
183
+ if (args) {
184
+ for (const field of candidates) {
185
+ if (isSecretArgKey(field)) continue;
186
+ bounded = boundActionObject(args[field]);
187
+ if (bounded !== null) break;
188
+ }
189
+ }
190
+ if (known === void 0 && bounded === null) return null;
191
+ const verb = known?.verb ?? "calling";
192
+ if (bounded === null) return { verb };
193
+ return { verb, object: bounded.object, ...bounded.truncated ? { truncated: true } : {} };
194
+ }
195
+ function renderAllowedTargetValue(value) {
196
+ if (typeof value === "string") {
197
+ const rendered = sanitizeCallTargetText(redactSecretString(value));
198
+ return rendered.length > 0 ? rendered : null;
199
+ }
200
+ if (typeof value === "number" && Number.isFinite(value)) return String(value);
201
+ if (typeof value === "boolean") return String(value);
202
+ return null;
203
+ }
204
+ function countLabel(count, singular, plural) {
205
+ return `${count} ${count === 1 ? singular : plural}`;
206
+ }
207
+ function summarizeUnlistedTargetValue(value) {
208
+ if (typeof value === "string") {
209
+ return `<string ${countLabel(Buffer.byteLength(value, "utf8"), "byte", "bytes")}>`;
210
+ }
211
+ if (Array.isArray(value)) return `<array ${countLabel(value.length, "item", "items")}>`;
212
+ if (value !== null && typeof value === "object") {
213
+ return `<object ${countLabel(Object.keys(value).length, "field", "fields")}>`;
214
+ }
215
+ if (value === null) return "<null 0 values>";
216
+ if (typeof value === "undefined") return "<undefined 0 values>";
217
+ return `<${typeof value} 1 value>`;
218
+ }
219
+ function targetFieldName(value) {
220
+ return sanitizeCallTargetText(value).slice(0, 32) || "field";
221
+ }
222
+ function describeCallTarget(tool, args) {
223
+ if (!args) return "";
224
+ const allowedFields = CALL_TARGET_FIELDS[tool] ?? [];
225
+ const allowed = new Set(allowedFields);
226
+ const parts = [];
227
+ for (const field of allowedFields) {
228
+ if (!(field in args)) continue;
229
+ if (isSecretArgKey(field)) {
230
+ parts.push(`${targetFieldName(field)}=${summarizeUnlistedTargetValue(args[field])}`);
231
+ continue;
232
+ }
233
+ const rendered = renderAllowedTargetValue(args[field]);
234
+ if (rendered === null) {
235
+ parts.push(`${targetFieldName(field)}=${summarizeUnlistedTargetValue(args[field])}`);
236
+ continue;
237
+ }
238
+ parts.push(parts.length === 0 ? rendered : `${targetFieldName(field)}=${rendered}`);
239
+ }
240
+ for (const [field, value] of Object.entries(args)) {
241
+ if (allowed.has(field)) continue;
242
+ parts.push(`${targetFieldName(field)}=${summarizeUnlistedTargetValue(value)}`);
243
+ }
244
+ return sanitizeCallTargetText(parts.join(" \xB7 ")).slice(0, CALL_TARGET_MAX_CHARS);
245
+ }
246
+
247
+ export {
248
+ redactSecretString,
249
+ redactToolArgs,
250
+ sanitizeMultilineDisplayText,
251
+ sanitizeCallTargetText,
252
+ describeCallAction,
253
+ describeCallTarget
254
+ };
255
+ //# sourceMappingURL=chunk-TVHHYFHE.js.map
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-5B2AEOW5.js";
5
5
  import {
6
6
  ToolNames
7
- } from "./chunk-CGKSTWHD.js";
7
+ } from "./chunk-K6BSR66V.js";
8
8
  import {
9
9
  StringEnum
10
- } from "./chunk-FCSXB6T2.js";
10
+ } from "./chunk-UOSL25KY.js";
11
11
  import {
12
12
  init_esm_shims
13
13
  } from "./chunk-3R73A4XB.js";
@@ -45,4 +45,4 @@ var monitorToolSurface = {
45
45
  export {
46
46
  monitorToolSurface
47
47
  };
48
- //# sourceMappingURL=chunk-FJ3H4MN5.js.map
48
+ //# sourceMappingURL=chunk-TZ3SGWZZ.js.map
@@ -4,17 +4,17 @@ import {
4
4
  normalizeWriteBoundary,
5
5
  normalizeWriteBoundaryEntry,
6
6
  writeBoundaryCovers
7
- } from "./chunk-E77JEWSD.js";
7
+ } from "./chunk-CTJ4RNAA.js";
8
8
  import {
9
9
  asDirectoryPathBoundary,
10
10
  pathBoundaryEntryCovers
11
- } from "./chunk-TTHACPOM.js";
11
+ } from "./chunk-HHV2GANA.js";
12
12
  import {
13
13
  atomicWrite
14
- } from "./chunk-3BINW3FP.js";
14
+ } from "./chunk-76ONBSIA.js";
15
15
  import {
16
16
  clioStateDir
17
- } from "./chunk-BNAZZHFG.js";
17
+ } from "./chunk-BYP5D4HI.js";
18
18
  import {
19
19
  init_esm_shims
20
20
  } from "./chunk-3R73A4XB.js";
@@ -542,6 +542,39 @@ function createCandidateWorktree(ownership, index, baseline) {
542
542
  git2(ownership.root, ["worktree", "add", "-b", branch, path, baseline]);
543
543
  return { index, branch, path };
544
544
  }
545
+ async function createCandidateWorktreeMapped(ownership, index, baseline, mux) {
546
+ assertOwnership2(ownership);
547
+ const branch = competeBranch(ownership.group, index);
548
+ const path = join2(ownership.directory, `candidate-${index}`);
549
+ if (!isCanonicalPathInside(ownership.directory, path)) {
550
+ throw new Error(`candidate ${index} path escapes compete group ${ownership.group}`);
551
+ }
552
+ let fallback = "mux-unavailable";
553
+ if (mux?.available()) {
554
+ const created = await mux.worktreeCreate({
555
+ cwd: ownership.root,
556
+ branch,
557
+ base: baseline,
558
+ path,
559
+ label: `clio compete ${ownership.group} candidate ${index}`,
560
+ focus: false
561
+ }).catch(() => null);
562
+ if (created !== null) {
563
+ if (resolve2(created.worktree.path) !== resolve2(path) || created.worktree.branch !== branch) {
564
+ throw new Error(`herdr created candidate ${index} at an unexpected path or branch`);
565
+ }
566
+ return {
567
+ index,
568
+ branch,
569
+ path,
570
+ provenance: { backend: "herdr", path, branch, workspaceId: created.workspaceId }
571
+ };
572
+ }
573
+ fallback = "mux-operation-failed";
574
+ }
575
+ const native = createCandidateWorktree(ownership, index, baseline);
576
+ return { ...native, provenance: { backend: "native", path, branch, fallback } };
577
+ }
545
578
  function commitCandidateWork(worktree, message) {
546
579
  return commitWorktreePath(worktree.path, COMPETE_COMMIT_IDENTITY, message);
547
580
  }
@@ -588,6 +621,13 @@ function removeCandidateWorktree(ownership, worktree, deleteBranch) {
588
621
  throw new Error(`failed to remove candidate ${worktree.index} from compete group ${ownership.group}`);
589
622
  }
590
623
  }
624
+ async function removeCandidateWorktreeMapped(ownership, worktree, deleteBranch, mux) {
625
+ const workspaceId = worktree.provenance?.backend === "herdr" ? worktree.provenance.workspaceId : void 0;
626
+ if (workspaceId && mux?.available()) {
627
+ await mux.worktreeRemove(workspaceId, { force: true }).catch(() => false);
628
+ }
629
+ removeCandidateWorktree(ownership, worktree, deleteBranch);
630
+ }
591
631
  function mergeWinnerBranch(root, branch) {
592
632
  return mergeWorktreeBranch(root, branch, COMPETE_COMMIT_IDENTITY);
593
633
  }
@@ -839,6 +879,20 @@ function diffWorkspace(snapshot) {
839
879
  }
840
880
  return changes;
841
881
  }
882
+ function describeWriteBoundaryAttributionDowngrade(downgrade) {
883
+ if (downgrade.reason === "opaque_tool_succeeded") {
884
+ const tool = downgrade.tool ?? "unknown";
885
+ const call = downgrade.toolCallId === null ? "" : ` (call ${downgrade.toolCallId})`;
886
+ return `a successful '${tool}' call${call} can write paths its arguments do not name`;
887
+ }
888
+ if (downgrade.reason === "incomplete_tool_telemetry") {
889
+ return downgrade.runId === null ? "tool telemetry was incomplete" : `run '${downgrade.runId}' reported incomplete tool telemetry`;
890
+ }
891
+ if (downgrade.reason === "code_step_untracked") {
892
+ return downgrade.stepId === null ? "a code step ran through the untracked command runner" : `code step '${downgrade.stepId}' ran through the untracked command runner`;
893
+ }
894
+ return downgrade.stepId === null ? "no usable write record was available" : `step '${downgrade.stepId}' supplied no usable write record`;
895
+ }
842
896
  function canonicalVerdict(verdict) {
843
897
  return JSON.stringify(verdict);
844
898
  }
@@ -893,6 +947,15 @@ function enforceWriteBoundary(input) {
893
947
  const changes = diffWorkspace(input.snapshot);
894
948
  const outside = changes.filter((change) => !writeBoundaryCovers(allow, change.path));
895
949
  const attributionComplete = input.attribution?.complete === true;
950
+ const attributionDowngrades = attributionComplete ? [] : input.attribution?.downgrades !== void 0 && input.attribution.downgrades.length > 0 ? input.attribution.downgrades.map((entry) => ({ ...entry })) : [
951
+ {
952
+ reason: "write_record_unavailable",
953
+ tool: null,
954
+ toolCallId: null,
955
+ runId: null,
956
+ stepId: input.stepIds.length === 1 ? input.stepIds[0] ?? null : null
957
+ }
958
+ ];
896
959
  const recorded = /* @__PURE__ */ new Set();
897
960
  for (const target of input.attribution?.recorded ?? []) {
898
961
  const relativeTarget = repoRelative(input.snapshot.root, target);
@@ -914,7 +977,7 @@ function enforceWriteBoundary(input) {
914
977
  `Unauthorized paths: ${violations.map((change) => change.path).join(", ")}.`,
915
978
  `Declared writes: ${describeWriteBoundary(allow)}.`,
916
979
  status === "rolled-back" ? "Those paths were rolled back to the baseline commit." : `Rollback is incomplete; the working tree is left as the step made it. Unrestorable: ${unrecoverable.map((entry) => `${entry.path} (${entry.reason})`).join("; ")}.`,
917
- attributionComplete ? "Each was blamed on this window because a run in it recorded writing that path." : "This window had no complete write record, so every change outside the declaration was blamed on it.",
980
+ attributionComplete ? "Each was blamed on this window because a run in it recorded writing that path." : `Attribution was incomplete because ${attributionDowngrades.map(describeWriteBoundaryAttributionDowngrade).join("; ")}, so every change outside the declaration was blamed on this window.`,
918
981
  "If the change was legitimate, widen the step's `writes:` declaration to cover it."
919
982
  ];
920
983
  const concurrentDetail = unattributed.length === 0 ? [] : [
@@ -934,6 +997,7 @@ function enforceWriteBoundary(input) {
934
997
  violations: violations.map((change) => change.path),
935
998
  unattributed: unattributed.map((change) => change.path),
936
999
  attributionComplete,
1000
+ attributionDowngrades,
937
1001
  rolledBack,
938
1002
  unrecoverable,
939
1003
  status,
@@ -1024,16 +1088,32 @@ function createWriteBoundaryEnforcer(input) {
1024
1088
  const recordedWritesFor = input.recordedWritesFor;
1025
1089
  if (recordedWritesFor === void 0) return void 0;
1026
1090
  const recorded = /* @__PURE__ */ new Set();
1091
+ const downgrades = [];
1027
1092
  let complete = true;
1028
1093
  for (const stepId of stepIds) {
1029
1094
  const observed = recordedWritesFor(stepId);
1030
1095
  if (observed === null) {
1031
1096
  complete = false;
1097
+ downgrades.push({
1098
+ reason: "write_record_unavailable",
1099
+ tool: null,
1100
+ toolCallId: null,
1101
+ runId: null,
1102
+ stepId
1103
+ });
1032
1104
  continue;
1033
1105
  }
1034
- for (const target of observed) recorded.add(target);
1106
+ if (!("recorded" in observed)) {
1107
+ for (const target of observed) recorded.add(target);
1108
+ continue;
1109
+ }
1110
+ for (const target of observed.recorded) recorded.add(target);
1111
+ if (!observed.complete) complete = false;
1112
+ for (const downgrade of observed.downgrades ?? []) {
1113
+ downgrades.push({ ...downgrade, stepId: downgrade.stepId ?? stepId });
1114
+ }
1035
1115
  }
1036
- return { recorded: [...recorded].sort(), complete };
1116
+ return { recorded: [...recorded].sort(), complete, downgrades };
1037
1117
  };
1038
1118
  return {
1039
1119
  begin(window, stepIds) {
@@ -1083,18 +1163,19 @@ export {
1083
1163
  settleCompeteGroupRun,
1084
1164
  markCompeteGroupCleanupReady,
1085
1165
  markCompeteGroupWinnerPreserved,
1086
- createCandidateWorktree,
1166
+ createCandidateWorktreeMapped,
1087
1167
  commitCandidateWork,
1088
1168
  candidateDiffStat,
1089
1169
  protectedPathsChangedByCompeteBranch,
1090
- removeCandidateWorktree,
1170
+ removeCandidateWorktreeMapped,
1091
1171
  mergeWinnerBranch,
1092
1172
  cleanupCompeteGroup,
1093
1173
  settleRecoveredCompeteDecision,
1094
1174
  recoverCleanupReadyCompeteGroups,
1095
1175
  WRITE_BOUNDARY_VIOLATION_REASON,
1096
1176
  captureWorkspaceSnapshot,
1177
+ describeWriteBoundaryAttributionDowngrade,
1097
1178
  preflightWriteBoundaries,
1098
1179
  createWriteBoundaryEnforcer
1099
1180
  };
1100
- //# sourceMappingURL=chunk-MXKJU4JB.js.map
1181
+ //# sourceMappingURL=chunk-U77AMWDL.js.map
@@ -1,25 +1,29 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
- loadFragments,
4
3
  loadOperatorProfile,
5
4
  loadProjectRules,
6
5
  renderOperatorProfile,
7
6
  selectActiveRules
8
- } from "./chunk-WSB3FPX7.js";
7
+ } from "./chunk-I5VEOC6I.js";
8
+ import {
9
+ loadFragments
10
+ } from "./chunk-VAZSBTKF.js";
9
11
  import {
10
12
  compile,
11
- compileWorker,
13
+ compileWorker
14
+ } from "./chunk-BUMFYQFY.js";
15
+ import {
12
16
  sha256
13
- } from "./chunk-TLQJPP24.js";
17
+ } from "./chunk-B7OBL7PK.js";
14
18
  import {
15
19
  classifyProjectPreload
16
20
  } from "./chunk-JVCV3ICN.js";
17
21
  import {
18
22
  isUserVisibleAgent
19
- } from "./chunk-AOCYTWAV.js";
23
+ } from "./chunk-DYJP44XW.js";
20
24
  import {
21
25
  BusChannels
22
- } from "./chunk-TT36MB5S.js";
26
+ } from "./chunk-HLW2MRKE.js";
23
27
  import {
24
28
  init_esm_shims
25
29
  } from "./chunk-3R73A4XB.js";
@@ -655,4 +659,4 @@ export {
655
659
  createPromptsDomainModule,
656
660
  SchedulingDomainModule
657
661
  };
658
- //# sourceMappingURL=chunk-5DHKRSMQ.js.map
662
+ //# sourceMappingURL=chunk-ULC6OTWO.js.map
@@ -2,7 +2,7 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  cwdHash,
4
4
  sessionPaths
5
- } from "./chunk-3BINW3FP.js";
5
+ } from "./chunk-76ONBSIA.js";
6
6
  import {
7
7
  init_esm_shims
8
8
  } from "./chunk-3R73A4XB.js";
@@ -170,14 +170,6 @@ function buildContextLedger(input) {
170
170
  });
171
171
  }
172
172
  const meter = [...groups];
173
- if (reserveTokens > 0) {
174
- meter.push({
175
- category: "reserve",
176
- label: CONTEXT_CATEGORY_LABEL.reserve,
177
- tokens: reserveTokens,
178
- percent: percentOf(reserveTokens, window)
179
- });
180
- }
181
173
  if (window > 0) {
182
174
  meter.push({
183
175
  category: "free",
@@ -186,6 +178,14 @@ function buildContextLedger(input) {
186
178
  percent: percentOf(freeTokens, window)
187
179
  });
188
180
  }
181
+ if (reserveTokens > 0) {
182
+ meter.push({
183
+ category: "reserve",
184
+ label: CONTEXT_CATEGORY_LABEL.reserve,
185
+ tokens: reserveTokens,
186
+ percent: percentOf(reserveTokens, window)
187
+ });
188
+ }
189
189
  return {
190
190
  provider: input.provider ?? null,
191
191
  model: input.model ?? null,
@@ -205,7 +205,8 @@ function buildContextLedger(input) {
205
205
  groups,
206
206
  meter,
207
207
  lastCompaction: input.lastCompaction ?? null,
208
- promptCache: input.promptCache ?? null
208
+ promptCache: input.promptCache ?? null,
209
+ prewarm: input.prewarm ?? null
209
210
  };
210
211
  }
211
212
 
@@ -405,6 +406,17 @@ function getLatestContextSnapshot(meta) {
405
406
  const list = getContextSnapshots(meta);
406
407
  return list.at(-1) ?? null;
407
408
  }
409
+ function lastLoadedContextWindow(meta, providerId, modelId) {
410
+ const snapshots = getContextSnapshots(meta);
411
+ for (let i = snapshots.length - 1; i >= 0; i -= 1) {
412
+ const snapshot = snapshots[i];
413
+ if (snapshot?.contextWindowSource !== "loaded") continue;
414
+ if (snapshot.providerId !== providerId || snapshot.modelId !== modelId) continue;
415
+ const window = snapshot.effectiveContextWindow;
416
+ if (typeof window === "number" && Number.isFinite(window) && window > 0) return window;
417
+ }
418
+ return null;
419
+ }
408
420
  function buildSnapshotCategories(inputs) {
409
421
  const raw = {
410
422
  system: 0,
@@ -477,6 +489,7 @@ function captureContextSnapshot(input) {
477
489
  compactionThreshold: input.compactionThreshold
478
490
  });
479
491
  return {
492
+ estimatedTokens: sumSplitTokens(categories),
480
493
  snapshotId: nextSnapshotId(),
481
494
  sessionId: input.sessionId,
482
495
  turnId: input.turnId,
@@ -499,8 +512,11 @@ function captureContextSnapshot(input) {
499
512
  messageRange: input.conversationMessages.length > 0 ? { start: 0, end: input.conversationMessages.length - 1 } : void 0
500
513
  };
501
514
  }
515
+ function sumSplitTokens(categories) {
516
+ return SNAPSHOT_SPLIT_KEYS.reduce((sum, key) => sum + (categories[key] ?? 0), 0);
517
+ }
502
518
  function snapshotInputTokens(snapshot) {
503
- return SNAPSHOT_SPLIT_KEYS.reduce((sum, key) => sum + (snapshot.categories[key] ?? 0), 0);
519
+ return sumSplitTokens(snapshot.categories);
504
520
  }
505
521
  function reconcileSnapshot(snapshot, usage) {
506
522
  const exactInput = (usage.input || 0) + (usage.cacheRead || 0) + (usage.cacheWrite || 0);
@@ -580,9 +596,13 @@ function reconcileSnapshot(snapshot, usage) {
580
596
  },
581
597
  {}
582
598
  );
599
+ const estimatedTokens = snapshot.estimatedTokens ?? sumSplitTokens(snapshot.categories);
583
600
  return {
584
601
  ...snapshot,
585
602
  categories: updatedCategories,
603
+ estimatedTokens,
604
+ reconciledTokens: exactInput,
605
+ divergenceRatio: estimatedTokens > 0 ? Math.round(exactInput / estimatedTokens * 1e3) / 1e3 : void 0,
586
606
  sources: {
587
607
  total: "reconciled",
588
608
  splits: splitsSources
@@ -606,8 +626,9 @@ export {
606
626
  contextUsageSnapshot,
607
627
  appendContextSnapshot,
608
628
  getLatestContextSnapshot,
629
+ lastLoadedContextWindow,
609
630
  captureContextSnapshot,
610
631
  snapshotInputTokens,
611
632
  reconcileSnapshot
612
633
  };
613
- //# sourceMappingURL=chunk-RWSI4YD7.js.map
634
+ //# sourceMappingURL=chunk-UM7N4G5A.js.map
@@ -210,6 +210,7 @@ registerEngineBuiltins();
210
210
 
211
211
  // src/engine/ai.ts
212
212
  var stream = engineStream;
213
+ var streamSimple = engineStreamSimple;
213
214
  async function completeEngineText(input) {
214
215
  const response = await completeEngineSimple(
215
216
  input.model,
@@ -231,7 +232,17 @@ async function completeEngineText(input) {
231
232
  return {
232
233
  text: response.content.filter((block) => block.type === "text").map((block) => block.text).join(""),
233
234
  inputTokens: response.usage.input,
234
- outputTokens: response.usage.output
235
+ outputTokens: response.usage.output,
236
+ usage: {
237
+ input: response.usage.input,
238
+ output: response.usage.output,
239
+ cacheRead: response.usage.cacheRead,
240
+ cacheWrite: response.usage.cacheWrite,
241
+ reasoning: response.usage.reasoning ?? 0,
242
+ totalTokens: response.usage.totalTokens,
243
+ costUsd: response.usage.cost.total
244
+ },
245
+ backend: response.backendTimings ?? null
235
246
  };
236
247
  }
237
248
  var registered = false;
@@ -325,6 +336,7 @@ export {
325
336
  activateExternalPluginApiBridge,
326
337
  StringEnum,
327
338
  stream,
339
+ streamSimple,
328
340
  completeEngineText,
329
341
  ensurePiAiRegistered,
330
342
  createEngineAi,
@@ -335,4 +347,4 @@ export {
335
347
  calculateEngineCost,
336
348
  registerFauxFromEnv
337
349
  };
338
- //# sourceMappingURL=chunk-FCSXB6T2.js.map
350
+ //# sourceMappingURL=chunk-UOSL25KY.js.map