@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
@@ -10,59 +10,59 @@ import {
10
10
  import {
11
11
  credentialWriteFailed,
12
12
  printPlaintextCredentialWarning
13
- } from "./chunk-IFBNV6H6.js";
13
+ } from "./chunk-2ANTL7MR.js";
14
14
  import {
15
15
  columnWidths,
16
16
  formatColumnRow,
17
17
  formatColumns,
18
18
  printError,
19
19
  printOk
20
- } from "./chunk-XK56QHLX.js";
20
+ } from "./chunk-VPKWYKEY.js";
21
21
  import "./chunk-5TSRNF4G.js";
22
22
  import {
23
23
  EMPTY_CAPABILITIES
24
- } from "./chunk-7RFXX52T.js";
24
+ } from "./chunk-DQITNCXG.js";
25
25
  import "./chunk-CFGTUFWB.js";
26
- import "./chunk-LU7P4LHA.js";
27
- import "./chunk-RWSI4YD7.js";
26
+ import "./chunk-P3FOHJT4.js";
27
+ import "./chunk-UM7N4G5A.js";
28
+ import "./chunk-ZGVHUX3M.js";
29
+ import "./chunk-HLW2MRKE.js";
30
+ import "./chunk-76ONBSIA.js";
31
+ import "./chunk-R346GLFC.js";
28
32
  import {
29
33
  readSettings
30
- } from "./chunk-IJ7RPIYJ.js";
34
+ } from "./chunk-VFA6GDY5.js";
31
35
  import "./chunk-FQ4SKYE4.js";
32
- import "./chunk-ZGVHUX3M.js";
33
- import "./chunk-TT36MB5S.js";
34
- import "./chunk-3BINW3FP.js";
35
- import "./chunk-R346GLFC.js";
36
36
  import "./chunk-IWHMRKLL.js";
37
37
  import {
38
38
  registerBuiltinRuntimes
39
- } from "./chunk-NMPKI6XL.js";
40
- import "./chunk-4DGYLA73.js";
39
+ } from "./chunk-6DB53AJS.js";
40
+ import "./chunk-GXNLGKAB.js";
41
41
  import "./chunk-LL4KHSZI.js";
42
42
  import "./chunk-4ZG3XFUR.js";
43
43
  import {
44
44
  listProviderSupportEntries,
45
45
  resolveProviderReference,
46
46
  supportGroupLabel
47
- } from "./chunk-IIZWH4XA.js";
47
+ } from "./chunk-HI63TFOG.js";
48
48
  import {
49
49
  authNotRequiredStatus,
50
50
  openAuthStorage,
51
51
  registerClioOAuthProviders,
52
52
  resolveRuntimeAuthTarget,
53
53
  targetRequiresAuth
54
- } from "./chunk-EQ63NRB7.js";
54
+ } from "./chunk-BBVYXMFO.js";
55
55
  import "./chunk-SST6Z5JA.js";
56
56
  import "./chunk-IKCO5N3L.js";
57
57
  import "./chunk-3I7MS7N2.js";
58
58
  import "./chunk-APJ265NV.js";
59
- import "./chunk-BNAZZHFG.js";
59
+ import "./chunk-BYP5D4HI.js";
60
60
  import "./chunk-WEPFGWHJ.js";
61
61
  import {
62
62
  getRuntimeRegistry
63
63
  } from "./chunk-NUGM5KR6.js";
64
- import "./chunk-PT7HYKEM.js";
65
- import "./chunk-FCSXB6T2.js";
64
+ import "./chunk-VO2LKSTM.js";
65
+ import "./chunk-UOSL25KY.js";
66
66
  import "./chunk-YXLYO42X.js";
67
67
  import {
68
68
  init_esm_shims
@@ -545,4 +545,4 @@ async function runAuthCommand(args) {
545
545
  export {
546
546
  runAuthCommand
547
547
  };
548
- //# sourceMappingURL=auth-5ZPJOIVG.js.map
548
+ //# sourceMappingURL=auth-3IDSJEIK.js.map
@@ -2,16 +2,16 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  BUILTIN_RUNTIMES,
4
4
  registerBuiltinRuntimes
5
- } from "./chunk-NMPKI6XL.js";
6
- import "./chunk-4DGYLA73.js";
5
+ } from "./chunk-6DB53AJS.js";
6
+ import "./chunk-GXNLGKAB.js";
7
7
  import "./chunk-LL4KHSZI.js";
8
8
  import "./chunk-4ZG3XFUR.js";
9
- import "./chunk-PT7HYKEM.js";
10
- import "./chunk-FCSXB6T2.js";
9
+ import "./chunk-VO2LKSTM.js";
10
+ import "./chunk-UOSL25KY.js";
11
11
  import "./chunk-YXLYO42X.js";
12
12
  import "./chunk-3R73A4XB.js";
13
13
  export {
14
14
  BUILTIN_RUNTIMES,
15
15
  registerBuiltinRuntimes
16
16
  };
17
- //# sourceMappingURL=builtins-C6JMZVV6.js.map
17
+ //# sourceMappingURL=builtins-XCZWXSC7.js.map
@@ -1,13 +1,13 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  printError
4
- } from "./chunk-XK56QHLX.js";
4
+ } from "./chunk-VPKWYKEY.js";
5
5
  import {
6
6
  source_default
7
7
  } from "./chunk-5TSRNF4G.js";
8
8
  import {
9
9
  authStoragePath
10
- } from "./chunk-EQ63NRB7.js";
10
+ } from "./chunk-BBVYXMFO.js";
11
11
  import {
12
12
  init_esm_shims
13
13
  } from "./chunk-3R73A4XB.js";
@@ -35,4 +35,4 @@ export {
35
35
  printPlaintextCredentialWarning,
36
36
  credentialWriteFailed
37
37
  };
38
- //# sourceMappingURL=chunk-IFBNV6H6.js.map
38
+ //# sourceMappingURL=chunk-2ANTL7MR.js.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  isSessionEntry
4
- } from "./chunk-GOXNB3AO.js";
4
+ } from "./chunk-RAPCMZL4.js";
5
5
  import {
6
6
  init_esm_shims
7
7
  } from "./chunk-3R73A4XB.js";
@@ -373,4 +373,4 @@ export {
373
373
  foldSessionTaskHistory,
374
374
  createTaskBoardStore
375
375
  };
376
- //# sourceMappingURL=chunk-5FR74PWO.js.map
376
+ //# sourceMappingURL=chunk-2JDWVJND.js.map
@@ -4,14 +4,14 @@ import {
4
4
  } from "./chunk-IWHMRKLL.js";
5
5
  import {
6
6
  DEFAULT_SETTINGS_YAML
7
- } from "./chunk-4DGYLA73.js";
7
+ } from "./chunk-GXNLGKAB.js";
8
8
  import {
9
9
  clioCacheDir,
10
10
  clioConfigDir,
11
11
  clioDataDir,
12
12
  clioStateDir,
13
13
  resolveClioDirs
14
- } from "./chunk-BNAZZHFG.js";
14
+ } from "./chunk-BYP5D4HI.js";
15
15
  import {
16
16
  init_esm_shims
17
17
  } from "./chunk-3R73A4XB.js";
@@ -143,4 +143,4 @@ function enforceHomePrefixGuard() {
143
143
  export {
144
144
  initializeClioHome
145
145
  };
146
- //# sourceMappingURL=chunk-XWSF374K.js.map
146
+ //# sourceMappingURL=chunk-2OQE55CK.js.map
@@ -1,33 +1,27 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  loadProjectVerifierCatalog
4
- } from "./chunk-A2NJGIB3.js";
4
+ } from "./chunk-5LXZXPKX.js";
5
5
  import {
6
6
  pathBoundaryCovers,
7
7
  resolvePathBoundary
8
- } from "./chunk-TTHACPOM.js";
8
+ } from "./chunk-HHV2GANA.js";
9
9
  import {
10
10
  classify
11
- } from "./chunk-AOCYTWAV.js";
11
+ } from "./chunk-DYJP44XW.js";
12
12
  import {
13
13
  artifactDefaultPath,
14
- detectValidationCommand,
15
14
  extractCommandDeleteTargets,
16
15
  extractCommandWriteTargets,
17
16
  inlineShellScript,
18
- tokenizeShellLike,
19
- toolMutationPaths
20
- } from "./chunk-MV3K5QF2.js";
21
- import {
22
- isProjectVerifierCheckId,
23
- isVerificationScriptName
24
- } from "./chunk-UL3WSD3F.js";
17
+ tokenizeShellLike
18
+ } from "./chunk-GCSMB2KY.js";
25
19
  import {
26
20
  canonicalizeExistingPath
27
21
  } from "./chunk-ECH6PKUQ.js";
28
22
  import {
29
23
  ToolNames
30
- } from "./chunk-CGKSTWHD.js";
24
+ } from "./chunk-K6BSR66V.js";
31
25
  import {
32
26
  foreignAgentDirs
33
27
  } from "./chunk-IHXBNWMM.js";
@@ -39,379 +33,12 @@ import {
39
33
  } from "./chunk-APJ265NV.js";
40
34
  import {
41
35
  clioConfigDir
42
- } from "./chunk-BNAZZHFG.js";
36
+ } from "./chunk-BYP5D4HI.js";
43
37
  import {
44
38
  __toESM,
45
39
  init_esm_shims
46
40
  } from "./chunk-3R73A4XB.js";
47
41
 
48
- // src/domains/safety/finish-contract.ts
49
- init_esm_shims();
50
- var FINISH_CONTRACT_ADVISORY_MESSAGE = "[Clio Coder] finish-contract advisory: you changed files this turn without recording validation evidence or an explicit limitation. Run a verification command or state what could not be verified.";
51
- var DEFAULT_RECENT_ENTRY_LIMIT = 80;
52
- var LIMITATION_PATTERNS = [
53
- /\b(?:blocked by|blocker|blockers|unable to|not able to|could not|couldn't|cannot|can't)\b/i,
54
- /\b(?:did not|didn't|have not|haven't|has not|hasn't|was not able|wasn't able)\b/i,
55
- /\b(?:not complete|incomplete)\b/i,
56
- /\b(?:not|un)(?:\s|-)?(?:validated|verified|tested)\b/i,
57
- /^\s*Tests\s*:\s*(?:not run|not executed|not available|failed|blocked|skipped)\b/im,
58
- /^\s*Known gaps?\s*:\s*(?!\s*(?:none|no\b|n\/a|not applicable)\b).+/im,
59
- /\bremaining(?:\s+\w+){0,3}\s+(?:work|issue|issues|gap|gaps|blocker|blockers)\b/i
60
- ];
61
- function assessFinishContract(input) {
62
- const assistantText = input.assistantText.trim();
63
- const sessionEntries = input.sessionEntries ?? [];
64
- const assistantTurnId = input.assistantTurnId ?? null;
65
- const window = recentEntries(sessionEntries, assistantTurnId, input.recentEntryLimit ?? DEFAULT_RECENT_ENTRY_LIMIT);
66
- const mutatedPaths = mutatingReceipts(window);
67
- if (mutatedPaths.length === 0) {
68
- return { kind: "ok", reason: "no_mutation", evidence: [], mutatedPaths };
69
- }
70
- const evidence = collectValidationEvidence(window);
71
- if (evidence.length > 0) {
72
- return { kind: "ok", reason: "validation_evidence", evidence, mutatedPaths };
73
- }
74
- if (hasExplicitLimitation(assistantText)) {
75
- return { kind: "ok", reason: "explicit_limitation", evidence: [], mutatedPaths };
76
- }
77
- return {
78
- kind: "engage",
79
- reason: "unvalidated_mutation",
80
- message: FINISH_CONTRACT_ADVISORY_MESSAGE,
81
- evidence: [],
82
- mutatedPaths
83
- };
84
- }
85
- function hasExplicitLimitation(text) {
86
- const normalized = text.trim();
87
- if (normalized.length === 0) return false;
88
- return LIMITATION_PATTERNS.some((pattern) => pattern.test(normalized));
89
- }
90
- function mutatingReceipts(recent) {
91
- const mutationCalls = /* @__PURE__ */ new Map();
92
- const paths = [];
93
- const seen = /* @__PURE__ */ new Set();
94
- for (const entry of recent) {
95
- const bashMutation = bashExecutionMutationPaths(entry);
96
- if (bashMutation !== null) {
97
- for (const path4 of bashMutation) pushPath(paths, seen, path4);
98
- continue;
99
- }
100
- const call = mutatingToolCall(entry);
101
- if (call !== null) {
102
- mutationCalls.set(call.toolCallId, call);
103
- continue;
104
- }
105
- const resultId = successfulToolResultId(entry);
106
- if (resultId !== null) {
107
- const candidate = mutationCalls.get(resultId);
108
- if (candidate !== void 0) {
109
- for (const path4 of candidate.paths) pushPath(paths, seen, path4);
110
- }
111
- }
112
- }
113
- return paths;
114
- }
115
- function mutationPathsForTool(toolName, args) {
116
- if (toolName === ToolNames.Bash) {
117
- const command = typeof args?.command === "string" ? args.command : null;
118
- if (command === null) return [];
119
- return [...extractCommandWriteTargets(command), ...extractCommandDeleteTargets(command)];
120
- }
121
- return toolMutationPaths(toolName, args);
122
- }
123
- function mutatingToolCall(entry) {
124
- const record = asRecord(entry);
125
- if (record?.kind !== "message" || record.role !== "tool_call") return null;
126
- const payload = asRecord(record.payload);
127
- if (payload === null) return null;
128
- const toolName = stringFromFirst(payload, ["name", "toolName", "tool"]);
129
- if (toolName === null) return null;
130
- const args = asRecord(payload.args ?? payload.arguments ?? payload.input) ?? void 0;
131
- const paths = mutationPathsForTool(toolName, args);
132
- if (paths.length === 0) return null;
133
- const toolCallId = stringFromFirst(payload, ["toolCallId", "tool_call_id", "id"]) ?? turnIdOf(entry);
134
- if (toolCallId === null) return null;
135
- return { toolCallId, paths };
136
- }
137
- function bashExecutionMutationPaths(entry) {
138
- const record = asRecord(entry);
139
- if (record?.kind !== "bashExecution") return null;
140
- if (typeof record.command !== "string") return null;
141
- if (record.cancelled === true || record.exitCode !== 0) return null;
142
- return [...extractCommandWriteTargets(record.command), ...extractCommandDeleteTargets(record.command)];
143
- }
144
- function pushPath(paths, seen, path4) {
145
- if (path4.length === 0 || seen.has(path4)) return;
146
- seen.add(path4);
147
- paths.push(path4);
148
- }
149
- function collectValidationEvidence(recent) {
150
- const evidence = [];
151
- const toolCalls = /* @__PURE__ */ new Map();
152
- const dispatchCalls = /* @__PURE__ */ new Map();
153
- const seen = /* @__PURE__ */ new Set();
154
- for (const entry of recent) {
155
- const protectedArtifact = protectedArtifactEvidence(entry);
156
- if (protectedArtifact !== null) {
157
- pushEvidence(evidence, seen, protectedArtifact);
158
- continue;
159
- }
160
- const call = bashValidationCall(entry);
161
- if (call !== null) {
162
- toolCalls.set(call.toolCallId, call);
163
- continue;
164
- }
165
- const typedValidationCall = validationToolCall(entry);
166
- if (typedValidationCall !== null) {
167
- toolCalls.set(typedValidationCall.toolCallId, typedValidationCall);
168
- continue;
169
- }
170
- const dispatchCall = dispatchEvidenceCall(entry);
171
- if (dispatchCall !== null) {
172
- dispatchCalls.set(dispatchCall.toolCallId, dispatchCall);
173
- continue;
174
- }
175
- const resultId = successfulToolResultId(entry);
176
- if (resultId !== null) {
177
- const dispatchCandidate = dispatchCalls.get(resultId);
178
- const dispatchReceipt = dispatchReceiptEvidence(entry, dispatchCandidate);
179
- if (dispatchReceipt !== null) {
180
- pushEvidence(evidence, seen, dispatchReceipt);
181
- continue;
182
- }
183
- const candidate = toolCalls.get(resultId);
184
- if (candidate !== void 0) {
185
- pushEvidence(evidence, seen, validationEvidence(candidate));
186
- }
187
- continue;
188
- }
189
- const bashExecution = bashExecutionEvidence(entry);
190
- if (bashExecution !== null) pushEvidence(evidence, seen, bashExecution);
191
- }
192
- return evidence;
193
- }
194
- function recentEntries(entries, assistantTurnId, recentEntryLimit) {
195
- const boundedLimit = Number.isFinite(recentEntryLimit) && recentEntryLimit > 0 ? Math.floor(recentEntryLimit) : DEFAULT_RECENT_ENTRY_LIMIT;
196
- const assistantIndex = assistantTurnId === null ? -1 : entries.findIndex((entry) => turnIdOf(entry) === assistantTurnId);
197
- const endExclusive = assistantIndex >= 0 ? assistantIndex : entries.length;
198
- let startInclusive = Math.max(0, endExclusive - boundedLimit);
199
- for (let index = endExclusive - 1; index >= startInclusive; index -= 1) {
200
- if (isUserMessageEntry(entries[index])) {
201
- startInclusive = index + 1;
202
- break;
203
- }
204
- }
205
- return entries.slice(startInclusive, endExclusive);
206
- }
207
- function bashValidationCall(entry) {
208
- const record = asRecord(entry);
209
- if (record?.kind !== "message" || record.role !== "tool_call") return null;
210
- const payload = asRecord(record.payload);
211
- if (payload === null) return null;
212
- const toolName = stringFromFirst(payload, ["name", "toolName", "tool"]);
213
- if (toolName !== "bash") return null;
214
- const args = asRecord(payload.args ?? payload.arguments ?? payload.input);
215
- const command = typeof args?.command === "string" ? args.command : null;
216
- if (command === null) return null;
217
- const detected = detectValidationCommand(command);
218
- if (detected.kind !== "validation") return null;
219
- const toolCallId = stringFromFirst(payload, ["toolCallId", "tool_call_id", "id"]) ?? turnIdOf(entry);
220
- if (toolCallId === null) return null;
221
- const candidate = {
222
- toolCallId,
223
- command: detected.matched
224
- };
225
- const turnId = turnIdOf(entry);
226
- if (turnId !== null) candidate.turnId = turnId;
227
- return candidate;
228
- }
229
- function dispatchEvidenceCall(entry) {
230
- const record = asRecord(entry);
231
- if (record?.kind !== "message" || record.role !== "tool_call") return null;
232
- const payload = asRecord(record.payload);
233
- if (payload === null) return null;
234
- const toolName = stringFromFirst(payload, ["name", "toolName", "tool"]);
235
- if (toolName !== "dispatch") return null;
236
- const args = asRecord(payload.args ?? payload.arguments ?? payload.input);
237
- const { agentId, task } = dispatchCallDescriptor(args);
238
- const toolCallId = stringFromFirst(payload, ["toolCallId", "tool_call_id", "id"]) ?? turnIdOf(entry);
239
- if (toolCallId === null) return null;
240
- const candidate = {
241
- toolCallId,
242
- command: `agent=${agentId}${task.length > 0 ? ` task=${task}` : ""}`
243
- };
244
- const turnId = turnIdOf(entry);
245
- if (turnId !== null) candidate.turnId = turnId;
246
- return candidate;
247
- }
248
- function dispatchCallDescriptor(args) {
249
- const defaultAgent = stringFromFirst(args ?? {}, ["agent", "agent_id", "agentId"]);
250
- const tasks = Array.isArray(args?.tasks) ? args.tasks : null;
251
- if (tasks !== null && tasks.length > 0) {
252
- const first = tasks[0];
253
- if (typeof first === "string") {
254
- return { agentId: defaultAgent ?? "coder", task: first.trim() };
255
- }
256
- const firstRecord = asRecord(first);
257
- const itemAgent = firstRecord === null ? null : stringFromFirst(firstRecord, ["agent", "agent_id", "agentId"]);
258
- const itemTask = typeof firstRecord?.task === "string" ? firstRecord.task.trim() : "";
259
- return { agentId: itemAgent ?? defaultAgent ?? "coder", task: itemTask };
260
- }
261
- const singleTask = typeof args?.task === "string" ? args.task.trim() : "";
262
- return { agentId: defaultAgent ?? "coder", task: singleTask };
263
- }
264
- function validationToolCall(entry) {
265
- const record = asRecord(entry);
266
- if (record?.kind !== "message" || record.role !== "tool_call") return null;
267
- const payload = asRecord(record.payload);
268
- if (payload === null) return null;
269
- const toolName = stringFromFirst(payload, ["name", "toolName", "tool"]);
270
- if (toolName === null) return null;
271
- const summary = typedValidationSummary(toolName, payload);
272
- if (summary === null) return null;
273
- const toolCallId = stringFromFirst(payload, ["toolCallId", "tool_call_id", "id"]) ?? turnIdOf(entry);
274
- if (toolCallId === null) return null;
275
- const candidate = {
276
- toolCallId,
277
- command: summary
278
- };
279
- const turnId = turnIdOf(entry);
280
- if (turnId !== null) candidate.turnId = turnId;
281
- return candidate;
282
- }
283
- function typedValidationSummary(toolName, payload) {
284
- const args = asRecord(payload.args ?? payload.arguments ?? payload.input);
285
- if (toolName === "verify") {
286
- const check = typeof args?.check === "string" ? args.check.trim() : "";
287
- if (check === "frontend") {
288
- const path4 = typeof args?.path === "string" && args.path.trim().length > 0 ? args.path.trim() : "artifact";
289
- return `verify frontend ${path4}`;
290
- }
291
- if (isVerificationScriptName(check)) return `npm run ${check}`;
292
- if (isProjectVerifierCheckId(check)) return `verify ${check}`;
293
- return null;
294
- }
295
- return null;
296
- }
297
- function successfulToolResultId(entry) {
298
- const record = asRecord(entry);
299
- if (record?.kind !== "message" || record.role !== "tool_result") return null;
300
- const payload = asRecord(record.payload);
301
- if (payload === null) return null;
302
- if (payload.isError === true || payload.error === true) return null;
303
- const result = asRecord(payload.result);
304
- const details = asRecord(result?.details);
305
- if (details?.kind === "error") return null;
306
- return stringFromFirst(payload, ["toolCallId", "tool_call_id", "id"]);
307
- }
308
- function dispatchReceiptEvidence(entry, candidate) {
309
- const record = asRecord(entry);
310
- if (record?.kind !== "message" || record.role !== "tool_result") return null;
311
- const payload = asRecord(record.payload);
312
- if (payload === null) return null;
313
- const toolName = stringFromFirst(payload, ["toolName", "name", "tool"]);
314
- if (toolName !== null && toolName !== "dispatch") return null;
315
- const result = asRecord(payload.result);
316
- const details = asRecord(result?.details);
317
- if (details === null) return null;
318
- const summary = passedDispatchReceiptSummary(details, candidate);
319
- if (summary === null) return null;
320
- const evidence = {
321
- kind: "dispatch_receipt",
322
- summary
323
- };
324
- const turnId = candidate?.turnId ?? turnIdOf(entry);
325
- if (turnId !== null && turnId !== void 0) evidence.turnId = turnId;
326
- return evidence;
327
- }
328
- function passedDispatchReceiptSummary(details, candidate) {
329
- if (Array.isArray(details.runs)) {
330
- const runs = details.runs.map(asRecord);
331
- if (runs.length === 0 || runs.some((run) => run === null || run.exitCode !== 0)) return null;
332
- if (typeof details.failedCount === "number" && details.failedCount !== 0) return null;
333
- const first = runs[0];
334
- const runId = typeof first?.runId === "string" && first.runId.length > 0 ? first.runId : "unknown";
335
- const agentId = dispatchReceiptAgentId(typeof first?.agentId === "string" ? first.agentId : void 0, candidate);
336
- const extra = runs.length > 1 ? ` (+${runs.length - 1} more)` : "";
337
- return `dispatch receipt passed: run ${runId} agent ${agentId}${extra}`;
338
- }
339
- if (details.exitCode === 0) {
340
- const runId = typeof details.runId === "string" && details.runId.length > 0 ? details.runId : "unknown";
341
- const agentId = dispatchReceiptAgentId(typeof details.agentId === "string" ? details.agentId : void 0, candidate);
342
- return `dispatch receipt passed: run ${runId} agent ${agentId}`;
343
- }
344
- return null;
345
- }
346
- function dispatchReceiptAgentId(receiptAgentId, candidate) {
347
- if (receiptAgentId !== void 0 && receiptAgentId.length > 0) return receiptAgentId;
348
- return candidate?.command.match(/^agent=([^\s]+)/)?.[1] ?? "unknown";
349
- }
350
- function bashExecutionEvidence(entry) {
351
- const record = asRecord(entry);
352
- if (record?.kind !== "bashExecution") return null;
353
- if (typeof record.command !== "string") return null;
354
- if (record.cancelled === true) return null;
355
- if (record.exitCode !== 0) return null;
356
- const detected = detectValidationCommand(record.command);
357
- if (detected.kind !== "validation") return null;
358
- const evidence = {
359
- kind: "validation_command",
360
- summary: `validation command passed: ${detected.matched}`
361
- };
362
- const turnId = turnIdOf(entry);
363
- if (turnId !== null) evidence.turnId = turnId;
364
- return evidence;
365
- }
366
- function protectedArtifactEvidence(entry) {
367
- const record = asRecord(entry);
368
- if (record?.kind !== "protectedArtifact" || record.action !== "protect") return null;
369
- const artifact = asRecord(record.artifact);
370
- const path4 = typeof artifact?.path === "string" && artifact.path.trim().length > 0 ? artifact.path.trim() : null;
371
- if (path4 === null) return null;
372
- const evidence = {
373
- kind: "protected_artifact",
374
- summary: `protected artifact recorded: ${path4}`
375
- };
376
- const turnId = turnIdOf(entry);
377
- if (turnId !== null) evidence.turnId = turnId;
378
- return evidence;
379
- }
380
- function validationEvidence(candidate) {
381
- const evidence = {
382
- kind: "validation_command",
383
- summary: `validation command passed: ${candidate.command}`
384
- };
385
- if (candidate.turnId !== void 0) evidence.turnId = candidate.turnId;
386
- return evidence;
387
- }
388
- function pushEvidence(evidence, seen, item) {
389
- const key = `${item.kind}\0${item.summary}\0${item.turnId ?? ""}`;
390
- if (seen.has(key)) return;
391
- seen.add(key);
392
- evidence.push(item);
393
- }
394
- function isUserMessageEntry(entry) {
395
- const record = asRecord(entry);
396
- if (record?.kind !== "message" || record.role !== "user") return false;
397
- const payload = asRecord(record.payload);
398
- return payload?.synthetic !== true;
399
- }
400
- function turnIdOf(entry) {
401
- const record = asRecord(entry);
402
- return typeof record?.turnId === "string" ? record.turnId : null;
403
- }
404
- function stringFromFirst(record, keys) {
405
- for (const key of keys) {
406
- const value = record[key];
407
- if (typeof value === "string" && value.length > 0) return value;
408
- }
409
- return null;
410
- }
411
- function asRecord(value) {
412
- return value !== null && typeof value === "object" ? value : null;
413
- }
414
-
415
42
  // src/domains/safety/path-policy.ts
416
43
  init_esm_shims();
417
44
  import { homedir } from "node:os";
@@ -1709,11 +1336,8 @@ function packPayload(rules) {
1709
1336
  }
1710
1337
 
1711
1338
  export {
1712
- DEFAULT_RECENT_ENTRY_LIMIT,
1713
- assessFinishContract,
1714
- typedValidationSummary,
1715
1339
  formatModelRejection,
1716
1340
  WRITE_ROOT_REFUSED_TOOLS,
1717
1341
  createSafetyPolicyEngine
1718
1342
  };
1719
- //# sourceMappingURL=chunk-5H3GB5BO.js.map
1343
+ //# sourceMappingURL=chunk-32KWKNSF.js.map