@iowarp/clio-coder 0.3.9 → 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 (416) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/NOTICE +33 -0
  3. package/README.md +7 -2
  4. package/dist/{acp-7LOELQFP.js → acp-G5WJBNCT.js} +13 -12
  5. package/dist/{agents-FIBG2SHA.js → agents-FMV2Q5G4.js} +39 -36
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-OI4LIH2I.js → auth-3IDSJEIK.js} +16 -15
  8. package/dist/{builtins-AD25UL3C.js → builtins-XCZWXSC7.js} +3 -3
  9. package/dist/{chunk-IFBNV6H6.js → chunk-2ANTL7MR.js} +3 -3
  10. package/dist/{chunk-56KB5IJP.js → chunk-2OQE55CK.js} +3 -3
  11. package/dist/{chunk-N3PBVRTZ.js → chunk-32KWKNSF.js} +9 -7
  12. package/dist/{chunk-VKBMFOYV.js → chunk-36EJLSQQ.js} +23 -27
  13. package/dist/{chunk-465CC7FK.js → chunk-3BT2XMV4.js} +16 -13
  14. package/dist/{chunk-NQ6UCCOD.js → chunk-3URVFKWK.js} +7 -7
  15. package/dist/{chunk-WIE7ZOSW.js → chunk-3XML7CDN.js} +2 -2
  16. package/dist/chunk-42FMPA75.js +101 -0
  17. package/dist/{chunk-A2NJGIB3.js → chunk-5LXZXPKX.js} +2 -2
  18. package/dist/{chunk-HAY4ZE2P.js → chunk-5PSMVOLM.js} +2 -2
  19. package/dist/{chunk-JEQQR47K.js → chunk-6DB53AJS.js} +168 -9
  20. package/dist/{chunk-KV2AOLDF.js → chunk-76ONBSIA.js} +5 -25
  21. package/dist/{chunk-FALJGAWU.js → chunk-7MCTRUCE.js} +2 -2
  22. package/dist/{chunk-5T7RBWN2.js → chunk-AB44T6BB.js} +5 -5
  23. package/dist/chunk-B7OBL7PK.js +1405 -0
  24. package/dist/{chunk-B5CSFE7B.js → chunk-BBVJUZHB.js} +2 -2
  25. package/dist/{chunk-EQ63NRB7.js → chunk-BBVYXMFO.js} +2 -2
  26. package/dist/{chunk-O6I4CIEU.js → chunk-BKFJHQCA.js} +6 -6
  27. package/dist/chunk-BKFM6EJV.js +462 -0
  28. package/dist/chunk-BMS5RKQY.js +27 -0
  29. package/dist/{chunk-MV2VUEJC.js → chunk-BPKCPIL7.js} +2 -2
  30. package/dist/{chunk-TEO2TLVN.js → chunk-BUMFYQFY.js} +964 -1120
  31. package/dist/{chunk-BNAZZHFG.js → chunk-BYP5D4HI.js} +1 -1
  32. package/dist/chunk-C2LTL2W6.js +2447 -0
  33. package/dist/{chunk-EBOC7MT3.js → chunk-CODPRO7Q.js} +8 -8
  34. package/dist/{chunk-HPCTNZM2.js → chunk-CTJ4RNAA.js} +4 -4
  35. package/dist/{chunk-ODFEOB4F.js → chunk-CY6FY24N.js} +26 -8
  36. package/dist/{chunk-MIX5N5AC.js → chunk-DQITNCXG.js} +394 -154
  37. package/dist/{chunk-S4COXYBG.js → chunk-DYJP44XW.js} +129 -106
  38. package/dist/{chunk-N5XKWMDW.js → chunk-F4CKPOEQ.js} +6 -6
  39. package/dist/{chunk-AMKHQW3C.js → chunk-FEFIFZTL.js} +3 -3
  40. package/dist/{chunk-MV3K5QF2.js → chunk-GCSMB2KY.js} +2 -2
  41. package/dist/{chunk-7C6RYZGQ.js → chunk-GKF55TAZ.js} +3 -3
  42. package/dist/{chunk-B5XRQOLB.js → chunk-GR5G2PVF.js} +9 -8
  43. package/dist/{chunk-XDOQXGFO.js → chunk-GXNLGKAB.js} +64 -8
  44. package/dist/chunk-HHV2GANA.js +88 -0
  45. package/dist/{chunk-774ILSRL.js → chunk-HI63TFOG.js} +4 -3
  46. package/dist/{chunk-R7LNVMCS.js → chunk-HJJTYUHX.js} +64 -72
  47. package/dist/{chunk-RKRLDWD3.js → chunk-HLW2MRKE.js} +1 -1
  48. package/dist/{chunk-CA42X6KT.js → chunk-HWHKMHUA.js} +6 -6
  49. package/dist/chunk-HZHHCK24.js +1631 -0
  50. package/dist/{chunk-HJB5IUKP.js → chunk-I5VEOC6I.js} +12 -12
  51. package/dist/chunk-IBEBSCYA.js +564 -0
  52. package/dist/chunk-IQ7KR472.js +362 -0
  53. package/dist/{chunk-4H6ULJ3H.js → chunk-J4W7KFM7.js} +921 -990
  54. package/dist/{chunk-4LJX2PUC.js → chunk-JDG2WCRO.js} +5 -5
  55. package/dist/{chunk-NZU6YDNV.js → chunk-K5C3NCBD.js} +4 -4
  56. package/dist/{chunk-CGKSTWHD.js → chunk-K6BSR66V.js} +2 -1
  57. package/dist/{chunk-NNNWO6F2.js → chunk-KFZI4NIL.js} +93 -3
  58. package/dist/chunk-KMVISBZR.js +132 -0
  59. package/dist/{chunk-BVDVID7E.js → chunk-LDQ2ZF2M.js} +2 -2
  60. package/dist/{chunk-OEDBCISO.js → chunk-LQ3DZAMX.js} +2 -2
  61. package/dist/{chunk-PZ4I4JE2.js → chunk-LY4S7GJC.js} +124 -116
  62. package/dist/{chunk-3DUR4WUA.js → chunk-MLKNTWH2.js} +19 -19
  63. package/dist/chunk-NEKRRTYW.js +56 -0
  64. package/dist/{chunk-5DQRIYDZ.js → chunk-NHCZP4K7.js} +2 -2
  65. package/dist/chunk-NHLBIGRH.js +1506 -0
  66. package/dist/chunk-NQQH3YT7.js +302 -0
  67. package/dist/chunk-NYS75XW5.js +15 -0
  68. package/dist/{chunk-TD7UE2L5.js → chunk-O4XIVISU.js} +7 -7
  69. package/dist/{chunk-WXCJ7VME.js → chunk-O6TL7WWY.js} +6 -6
  70. package/dist/chunk-OQBA45DZ.js +97 -0
  71. package/dist/{chunk-LU7P4LHA.js → chunk-P3FOHJT4.js} +2 -2
  72. package/dist/chunk-PMZCIOCJ.js +25 -0
  73. package/dist/{chunk-I4HZDVNP.js → chunk-PQEFIJ36.js} +2 -2
  74. package/dist/{chunk-HKO36JWF.js → chunk-QBJA7R7N.js} +31 -3
  75. package/dist/chunk-QDC3K2U3.js +262 -0
  76. package/dist/{chunk-5HFBWUMU.js → chunk-QLFS5GO2.js} +4 -4
  77. package/dist/{chunk-GAYUJ7LE.js → chunk-QLL7ILRG.js} +41 -32
  78. package/dist/{chunk-LXPJXFM5.js → chunk-QREDIESB.js} +7 -7
  79. package/dist/chunk-QSNYB6ZV.js +195 -0
  80. package/dist/chunk-R346GLFC.js +31 -0
  81. package/dist/{chunk-VPTUJU4P.js → chunk-SJ5ZKQ4S.js} +2 -2
  82. package/dist/{chunk-QQ7EKM72.js → chunk-SP2RXXYO.js} +6 -54
  83. package/dist/chunk-SUCTJL45.js +45 -0
  84. package/dist/{chunk-5QKCQQ3E.js → chunk-SUW5DORT.js} +2 -2
  85. package/dist/chunk-T56WDKA5.js +183 -0
  86. package/dist/chunk-TVHHYFHE.js +255 -0
  87. package/dist/{chunk-IHKBWSXF.js → chunk-TZ3SGWZZ.js} +2 -2
  88. package/dist/{chunk-ECUO3KDP.js → chunk-U77AMWDL.js} +47 -7
  89. package/dist/{chunk-3UUY7R3Z.js → chunk-ULC6OTWO.js} +7 -7
  90. package/dist/{chunk-AEYBF3TB.js → chunk-UM7N4G5A.js} +2 -2
  91. package/dist/{chunk-3V5AYSEQ.js → chunk-UXMFQ54G.js} +43 -36
  92. package/dist/{chunk-YW7UVM5V.js → chunk-V5DHCITQ.js} +34 -1
  93. package/dist/{chunk-47CMYGET.js → chunk-VAZSBTKF.js} +2 -2
  94. package/dist/{chunk-3MRC2YSQ.js → chunk-VEO4AP2K.js} +2 -2
  95. package/dist/{chunk-PNY46YEY.js → chunk-VFA6GDY5.js} +47 -3
  96. package/dist/chunk-VO67MWHC.js +75 -0
  97. package/dist/{chunk-XK56QHLX.js → chunk-VPKWYKEY.js} +19 -5
  98. package/dist/{chunk-AD7Y7STJ.js → chunk-VYMXRQI6.js} +36 -22
  99. package/dist/{chunk-T3Z6VAAF.js → chunk-W5VSYASO.js} +19 -17
  100. package/dist/{chunk-5PVQ4SRS.js → chunk-WZR7K7ZX.js} +7 -123
  101. package/dist/{chunk-DG4M6ZUE.js → chunk-X3YGUTOB.js} +4 -4
  102. package/dist/chunk-X75E3D2N.js +686 -0
  103. package/dist/{chunk-P3JGPQFL.js → chunk-YDFRH54B.js} +4 -4
  104. package/dist/chunk-YJX4SHTD.js +40 -0
  105. package/dist/{chunk-ZI647VB5.js → chunk-YPI3QQCF.js} +2 -2
  106. package/dist/{chunk-YSEHGPCT.js → chunk-Z2RR6MAK.js} +3 -3
  107. package/dist/{chunk-HCBCAYZU.js → chunk-Z4TXYIEG.js} +5 -5
  108. package/dist/cli/index.js +47 -36
  109. package/dist/{clio-LT5V7SSZ.js → clio-2JXHBBY5.js} +7 -7
  110. package/dist/{code-nav-LMW275PA.js → code-nav-3YYRMYNF.js} +6 -6
  111. package/dist/{compile-cache-CVJMMODC.js → compile-cache-7FPE6PS3.js} +3 -3
  112. package/dist/{components-ZFA3SAER.js → components-RYZV4JGP.js} +5 -5
  113. package/dist/{config-RXS5T3JT.js → config-QZPCMYSO.js} +58 -50
  114. package/dist/{configure-2WYWSCSD.js → configure-TEGEBYCA.js} +21 -19
  115. package/dist/{context-I3BTOTCS.js → context-AV7OEZ4D.js} +11 -11
  116. package/dist/{context-MVOORGMF.js → context-E6H5RNMC.js} +49 -41
  117. package/dist/{context-PALKKQYL.js → context-GSXUE4CT.js} +25 -23
  118. package/dist/{context-clear-N2WOYZ2K.js → context-clear-SHIBYK6T.js} +48 -40
  119. package/dist/{context-working-set-MIEVECVZ.js → context-working-set-5ZGKPGZQ.js} +11 -10
  120. package/dist/{dispatch-runner-VVA4SRRH.js → dispatch-runner-EFMJT4LD.js} +88 -60
  121. package/dist/{docs-7LQ23DLM.js → docs-23KQS3XK.js} +5 -5
  122. package/dist/doctor-QOA5FNY5.js +313 -0
  123. package/dist/{eval-IJ5VEZDJ.js → eval-TFBYQH4H.js} +66 -64
  124. package/dist/eval-inventory-SXH7PDKX.js +316 -0
  125. package/dist/{evidence-L5APPXNV.js → evidence-ERGESKGN.js} +198 -44
  126. package/dist/{evolve-RGNKFJ52.js → evolve-VDXTSYCJ.js} +46 -38
  127. package/dist/{extensions-7WYWUX5A.js → extensions-7BGBHN57.js} +6 -6
  128. package/dist/{fleet-6CNVBZZP.js → fleet-2RRVDF2V.js} +189 -101
  129. package/dist/{fleet-commands-L2SXSYEI.js → fleet-commands-VJ726XIA.js} +10 -10
  130. package/dist/fleet-decisions-EPAPM3XJ.js +157 -0
  131. package/dist/{fleet-graph-2J3OOIPO.js → fleet-graph-JF5QOATM.js} +16 -15
  132. package/dist/fleet-inspect-VLY4S7QM.js +442 -0
  133. package/dist/{fleet-preflight-CZRJ4JP5.js → fleet-preflight-AIZUEJOY.js} +6 -5
  134. package/dist/{fleet-validate-C5RI6DP7.js → fleet-validate-AJRPDMDV.js} +20 -18
  135. package/dist/fleet-verify-JFEL2L3H.js +175 -0
  136. package/dist/fleet-view-ZCON35AG.js +102 -0
  137. package/dist/{init-VBN2ACVA.js → init-DN2WWLFE.js} +64 -56
  138. package/dist/install-XGLBQY5E.js +13 -0
  139. package/dist/interop-OZBKXAYL.js +114 -0
  140. package/dist/{library-JHGUMLY2.js → library-YWZG7IMW.js} +19 -18
  141. package/dist/{memory-K4OQIYWG.js → memory-I4C4HMLW.js} +48 -40
  142. package/dist/{models-2NCZUWDD.js → models-CEYXJBO6.js} +30 -28
  143. package/dist/{monitor-MMVTJABD.js → monitor-NZ6GCI3P.js} +53 -47
  144. package/dist/{orchestrator-ZKBPCHW6.js → orchestrator-GCGQ4N5I.js} +6311 -7145
  145. package/dist/panes-HMABYVO4.js +58 -0
  146. package/dist/panes-KY6W3V2E.js +103 -0
  147. package/dist/{paths-DBXMZMDU.js → paths-II4K7DNR.js} +5 -5
  148. package/dist/{reset-DD5JGOY3.js → reset-DQ6FGCSH.js} +13 -11
  149. package/dist/resources-BB3MVJMD.js +111 -0
  150. package/dist/{run-QEGNX7FL.js → run-H2GQDUER.js} +113 -82
  151. package/dist/{share-JKD3BQMW.js → share-GTJN6A5O.js} +18 -17
  152. package/dist/{skills-LMQIKDOZ.js → skills-L55TEW6R.js} +31 -24
  153. package/dist/{skills-eval-I7X2774U.js → skills-eval-XVXPH2JI.js} +61 -52
  154. package/dist/skills-inventory-S4MXPJFV.js +126 -0
  155. package/dist/slash-commands-ZSGASKJC.js +77 -0
  156. package/dist/{steer-CF5TDANS.js → steer-RZGSCY4R.js} +3 -3
  157. package/dist/{support-I7LOJLIF.js → support-PKEUNNQL.js} +4 -4
  158. package/dist/{targets-RUSR6B5Z.js → targets-NCPZ644J.js} +31 -29
  159. package/dist/{terminal-lease-QYVORFR4.js → terminal-lease-44SV3YCN.js} +4 -4
  160. package/dist/tools-DAF3DI3C.js +27 -0
  161. package/dist/{trace-ODOQIVIW.js → trace-FYVW2MQA.js} +149 -7
  162. package/dist/tui-primitives-2AKXQNZK.js +13 -0
  163. package/dist/{uninstall-ZJF5H5ZN.js → uninstall-DW2PNOIC.js} +5 -5
  164. package/dist/{upgrade-XANW3FXB.js → upgrade-3XPP6OQL.js} +26 -24
  165. package/dist/{usage-4H7ZRXQT.js → usage-3NLHGTU2.js} +57 -49
  166. package/dist/{verifiers-UZXNBZEB.js → verifiers-SSQONKRT.js} +171 -12
  167. package/dist/{verify-BVKWTNDL.js → verify-3U6J7FZI.js} +9 -9
  168. package/dist/{web-fetch-2YHJ3KTG.js → web-fetch-S7RR6GZ7.js} +3 -3
  169. package/dist/{wiki-generate-MY7WV2QI.js → wiki-generate-CEHYGPGQ.js} +67 -59
  170. package/dist/with-panes-MKB46MPQ.js +782 -0
  171. package/dist/worker/entry.js +101 -66
  172. package/docs/README.md +3 -2
  173. package/docs/acp.md +24 -3
  174. package/docs/alcf-provider.md +1 -1
  175. package/docs/architecture.md +2 -2
  176. package/docs/artifact-versions.md +4 -1
  177. package/docs/built-in-agents.md +1 -1
  178. package/docs/capacity-and-scheduling.md +43 -5
  179. package/docs/commands-and-modes.md +31 -2
  180. package/docs/configuration-and-targets.md +40 -10
  181. package/docs/context-engine.md +1 -1
  182. package/docs/development-pipeline.md +19 -0
  183. package/docs/dispatch-typed-intent.md +385 -0
  184. package/docs/documentation-coverage.md +2 -2
  185. package/docs/documentation-guide.md +1 -1
  186. package/docs/environment-variables.md +1 -0
  187. package/docs/eval-runner.md +1 -1
  188. package/docs/evals-internal.md +1 -1
  189. package/docs/evidence-and-memory.md +2 -2
  190. package/docs/evolution.md +1 -1
  191. package/docs/exit-codes-and-output.md +1 -1
  192. package/docs/extensions-and-sharing.md +25 -1
  193. package/docs/fleet-dispatch.md +22 -1
  194. package/docs/installation-and-lifecycle.md +15 -2
  195. package/docs/middleware-and-components.md +1 -1
  196. package/docs/model-catalog.md +10 -1
  197. package/docs/observability.md +3 -3
  198. package/docs/proactive-memory.md +1 -1
  199. package/docs/prompt-envelope-and-tools.md +1 -1
  200. package/docs/provider-adapter-cookbook.md +1 -1
  201. package/docs/safety-model.md +2 -2
  202. package/docs/scientific-validation.md +3 -3
  203. package/docs/session-lifecycle.md +1 -1
  204. package/docs/skills-marketplace.md +1 -1
  205. package/docs/tool-usage.md +18 -8
  206. package/docs/trace-store.md +1 -1
  207. package/docs/troubleshooting.md +1 -1
  208. package/docs/tui-design.md +1 -1
  209. package/docs/worker-dispatch-mechanics.md +1 -1
  210. package/package.json +4 -2
  211. package/src/cli/acp.ts +6 -2
  212. package/src/cli/argv.ts +25 -0
  213. package/src/cli/configure.ts +23 -21
  214. package/src/cli/doctor-panes.ts +124 -0
  215. package/src/cli/doctor-toolchain.ts +57 -0
  216. package/src/cli/doctor.ts +20 -1
  217. package/src/cli/eval-inventory.ts +436 -0
  218. package/src/cli/eval.ts +13 -0
  219. package/src/cli/evidence-detail.ts +88 -0
  220. package/src/cli/evidence-inventory.ts +183 -0
  221. package/src/cli/evidence.ts +30 -5
  222. package/src/cli/fleet-decisions.ts +69 -0
  223. package/src/cli/fleet-inspect.ts +334 -0
  224. package/src/cli/fleet-verify.ts +133 -0
  225. package/src/cli/fleet-view.ts +810 -0
  226. package/src/cli/fleet.ts +148 -37
  227. package/src/cli/index.ts +14 -2
  228. package/src/cli/interop-inspect.ts +128 -0
  229. package/src/cli/interop.ts +34 -0
  230. package/src/cli/panes.ts +35 -0
  231. package/src/cli/reset.ts +5 -2
  232. package/src/cli/run.ts +58 -0
  233. package/src/cli/skills-inventory.ts +185 -0
  234. package/src/cli/skills.ts +16 -13
  235. package/src/cli/tools.ts +321 -0
  236. package/src/cli/trace-inspect.ts +252 -0
  237. package/src/cli/trace.ts +23 -2
  238. package/src/cli/verifiers-inspect.ts +347 -0
  239. package/src/cli/verifiers.ts +9 -0
  240. package/src/core/bus-events.ts +4 -0
  241. package/src/core/config.ts +49 -0
  242. package/src/core/defaults.ts +93 -7
  243. package/src/core/response-schema.ts +44 -4
  244. package/src/core/theme-token-hex.ts +43 -0
  245. package/src/core/tool-names.ts +2 -1
  246. package/src/core/xdg.ts +1 -1
  247. package/src/domains/agents/fleets/build-review.md +0 -3
  248. package/src/domains/agents/fleets/build-test.md +0 -3
  249. package/src/domains/agents/result-contract-filesystem.ts +32 -0
  250. package/src/domains/agents/result-contract.ts +164 -35
  251. package/src/domains/config/classify.ts +3 -0
  252. package/src/domains/dispatch/admission-error.ts +9 -0
  253. package/src/domains/dispatch/admission.ts +22 -21
  254. package/src/domains/dispatch/capacity-lease.ts +21 -1
  255. package/src/domains/dispatch/council-topology.ts +398 -0
  256. package/src/domains/dispatch/extension.ts +222 -50
  257. package/src/domains/dispatch/fleet-node-prompt.ts +62 -0
  258. package/src/domains/dispatch/fleet-plan.ts +7 -2
  259. package/src/domains/dispatch/fleet-run.ts +64 -1
  260. package/src/domains/dispatch/gate-decisions.ts +11 -1
  261. package/src/domains/dispatch/gate-role-prompts.ts +9 -0
  262. package/src/domains/dispatch/gate-topology.ts +289 -0
  263. package/src/domains/dispatch/index.ts +19 -0
  264. package/src/domains/dispatch/intent-compatibility.ts +330 -0
  265. package/src/domains/dispatch/intent.ts +85 -1
  266. package/src/domains/dispatch/reservation-store.ts +24 -4
  267. package/src/domains/dispatch/run-event-journal-bridge.ts +149 -0
  268. package/src/domains/dispatch/run-event-journal.ts +598 -0
  269. package/src/domains/dispatch/state.ts +45 -1
  270. package/src/domains/dispatch/types.ts +13 -0
  271. package/src/domains/dispatch/validation.ts +33 -8
  272. package/src/domains/eval/compare/compare.ts +3 -16
  273. package/src/domains/eval/inventory.ts +113 -0
  274. package/src/domains/eval/schema/serving.ts +31 -0
  275. package/src/domains/evidence/store.ts +6 -0
  276. package/src/domains/memory/index.ts +0 -1
  277. package/src/domains/memory/task-memory-policy.ts +6 -10
  278. package/src/domains/memory/task-memory-telemetry.ts +1 -0
  279. package/src/domains/middleware/memory-intervention.ts +33 -21
  280. package/src/domains/mux/contract.ts +434 -0
  281. package/src/domains/mux/detect.ts +158 -0
  282. package/src/domains/mux/extension.ts +47 -0
  283. package/src/domains/mux/index.ts +96 -0
  284. package/src/domains/mux/manifest.ts +6 -0
  285. package/src/domains/mux/operations.ts +164 -0
  286. package/src/domains/mux/pane-registry.ts +90 -0
  287. package/src/domains/mux/protocol.ts +49 -0
  288. package/src/domains/mux/socket-client.ts +816 -0
  289. package/src/domains/mux/types.ts +222 -0
  290. package/src/domains/mux/viewer-command.ts +59 -0
  291. package/src/domains/mux/yazi/assets/init.lua +2 -0
  292. package/src/domains/mux/yazi/assets/plugins/git.yazi/LICENSE +21 -0
  293. package/src/domains/mux/yazi/assets/plugins/git.yazi/README.md +78 -0
  294. package/src/domains/mux/yazi/assets/plugins/git.yazi/main.lua +255 -0
  295. package/src/domains/mux/yazi/assets/plugins/git.yazi/types.lua +12 -0
  296. package/src/domains/mux/yazi/assets/yazi.toml +17 -0
  297. package/src/domains/mux/yazi/event-stream.ts +180 -0
  298. package/src/domains/mux/yazi/profile.ts +299 -0
  299. package/src/domains/mux/yazi/session.ts +228 -0
  300. package/src/domains/mux/yazi/theme.ts +30 -0
  301. package/src/domains/observability/cost.ts +21 -0
  302. package/src/domains/observability/index.ts +2 -0
  303. package/src/domains/observability/trace-store.ts +42 -0
  304. package/src/domains/providers/endpoint-capacity.ts +154 -22
  305. package/src/domains/providers/endpoint-slots-store.ts +189 -0
  306. package/src/domains/providers/extension.ts +20 -3
  307. package/src/domains/providers/index.ts +22 -0
  308. package/src/domains/providers/model-runtime-capabilities.ts +32 -0
  309. package/src/domains/providers/runtimes/boot-manifest.ts +1 -0
  310. package/src/domains/providers/runtimes/builtins.ts +2 -0
  311. package/src/domains/providers/runtimes/protocol/litellm.ts +375 -0
  312. package/src/domains/providers/support.ts +1 -0
  313. package/src/domains/providers/target-model-cache.ts +124 -0
  314. package/src/domains/resources/index.ts +3 -0
  315. package/src/domains/resources/skills/loader.ts +33 -0
  316. package/src/domains/safety/action-classifier.ts +6 -0
  317. package/src/domains/toolchain/archive.ts +175 -0
  318. package/src/domains/toolchain/contract.ts +28 -0
  319. package/src/domains/toolchain/extension.ts +47 -0
  320. package/src/domains/toolchain/index.ts +39 -0
  321. package/src/domains/toolchain/install.ts +327 -0
  322. package/src/domains/toolchain/manifest.ts +8 -0
  323. package/src/domains/toolchain/paths.ts +34 -0
  324. package/src/domains/toolchain/registry.ts +265 -0
  325. package/src/domains/toolchain/remove.ts +218 -0
  326. package/src/domains/toolchain/resolve.ts +182 -0
  327. package/src/domains/toolchain/types.ts +113 -0
  328. package/src/domains/toolchain/version.ts +88 -0
  329. package/src/engine/acp/server.ts +413 -70
  330. package/src/engine/acp/types.ts +19 -1
  331. package/src/engine/claude/sdk-module.ts +98 -0
  332. package/src/engine/claude/sdk-runtime.ts +19 -11
  333. package/src/engine/tui-primitives.ts +21 -0
  334. package/src/engine/tui.ts +1 -0
  335. package/src/engine/worker-runtime.ts +2 -13
  336. package/src/entry/boot-options.ts +2 -0
  337. package/src/entry/orchestrator.ts +103 -5
  338. package/src/entry/panes-activation.ts +31 -0
  339. package/src/entry/with-panes.ts +20 -0
  340. package/src/interactive/context-overlay.ts +1 -0
  341. package/src/interactive/cost-overlay.ts +2 -0
  342. package/src/interactive/council-grid.ts +1 -3
  343. package/src/interactive/council.ts +11 -0
  344. package/src/interactive/dispatch-board.ts +26 -16
  345. package/src/interactive/interactive-application.ts +153 -6
  346. package/src/interactive/interactive-input-runtime.ts +7 -0
  347. package/src/interactive/interactive-slash-runtime.ts +36 -6
  348. package/src/interactive/memory-overlay.ts +1 -0
  349. package/src/interactive/modal-marker.ts +170 -0
  350. package/src/interactive/mux-bridge.ts +214 -0
  351. package/src/interactive/overlay-frame.ts +58 -2
  352. package/src/interactive/overlay-general-openers.ts +1 -0
  353. package/src/interactive/overlay-key-routing.ts +14 -3
  354. package/src/interactive/overlay-lifecycle.ts +19 -3
  355. package/src/interactive/overlay-model-selectors.ts +40 -3
  356. package/src/interactive/overlay-permission-lifecycle.ts +90 -22
  357. package/src/interactive/overlay-transitions.ts +18 -4
  358. package/src/interactive/overlays/agents.ts +1 -0
  359. package/src/interactive/overlays/ask-user.ts +136 -30
  360. package/src/interactive/overlays/auth-dialog.ts +1 -0
  361. package/src/interactive/overlays/context-reset.ts +1 -0
  362. package/src/interactive/overlays/cwd-fallback.ts +1 -0
  363. package/src/interactive/overlays/decisions.ts +11 -11
  364. package/src/interactive/overlays/extensions.ts +1 -0
  365. package/src/interactive/overlays/fleet-run-approval.ts +1 -0
  366. package/src/interactive/overlays/handoff-review.ts +1 -0
  367. package/src/interactive/overlays/help-reference.ts +2 -0
  368. package/src/interactive/overlays/interop.ts +1 -0
  369. package/src/interactive/overlays/library-install-confirm.ts +1 -0
  370. package/src/interactive/overlays/library-tabs.ts +28 -0
  371. package/src/interactive/overlays/list-overlay.ts +10 -1
  372. package/src/interactive/overlays/message-picker.ts +1 -0
  373. package/src/interactive/overlays/model-scope.ts +86 -0
  374. package/src/interactive/overlays/model-selector.ts +1 -0
  375. package/src/interactive/overlays/prompts.ts +1 -0
  376. package/src/interactive/overlays/session-selector.ts +1 -0
  377. package/src/interactive/overlays/settings-sections.ts +30 -0
  378. package/src/interactive/overlays/settings.ts +579 -44
  379. package/src/interactive/overlays/side-question.ts +1 -0
  380. package/src/interactive/overlays/skills-hub.ts +3 -11
  381. package/src/interactive/overlays/tree-selector.ts +1 -0
  382. package/src/interactive/pane-policy.ts +46 -0
  383. package/src/interactive/panes-runtime.ts +292 -0
  384. package/src/interactive/renderers/compaction-summary.ts +29 -0
  385. package/src/interactive/renderers/worker-entry.ts +122 -14
  386. package/src/interactive/slash-commands.ts +251 -15
  387. package/src/interactive/tasks-overlay.ts +1 -0
  388. package/src/interactive/theme/tokens.ts +3 -14
  389. package/src/interactive/turn-context.ts +47 -2
  390. package/src/interactive/view/artifacts.ts +109 -1
  391. package/src/interactive/view/view-overlay.ts +1 -0
  392. package/src/interactive/watch-pane.ts +152 -0
  393. package/src/interactive/worker-progress.ts +7 -1
  394. package/src/interactive/worker-receipts.ts +19 -1
  395. package/src/interactive/worker-stream.ts +5 -0
  396. package/src/interactive/yazi-bridge.ts +444 -0
  397. package/src/tools/bootstrap.ts +26 -2
  398. package/src/tools/builtin-tool-catalog.ts +15 -0
  399. package/src/tools/compete-worktrees.ts +83 -2
  400. package/src/tools/core-bootstrap.ts +2 -1
  401. package/src/tools/dispatch-admission.ts +14 -3
  402. package/src/tools/dispatch-arguments.ts +20 -20
  403. package/src/tools/dispatch-run-events.ts +134 -19
  404. package/src/tools/dispatch-runner.ts +29 -7
  405. package/src/tools/dispatch-types.ts +15 -3
  406. package/src/tools/dispatch.ts +1 -1
  407. package/src/tools/executables.ts +17 -14
  408. package/src/tools/observation.ts +54 -4
  409. package/src/tools/panes-surface.ts +38 -0
  410. package/src/tools/panes.ts +112 -0
  411. package/src/tools/policy.ts +10 -1
  412. package/src/tools/presentation.ts +1 -0
  413. package/dist/chunk-D73KXYPF.js +0 -37
  414. package/dist/chunk-MLOK6ZOS.js +0 -2888
  415. package/dist/chunk-YKOFT37S.js +0 -279
  416. package/dist/doctor-TWBWFK5V.js +0 -165
@@ -1,11 +1,11 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  verifyTool
4
- } from "./chunk-NQ6UCCOD.js";
4
+ } from "./chunk-3URVFKWK.js";
5
5
  import {
6
6
  discoverDeclaredChecksAtRoot,
7
7
  discoverDeclaredProjectEntriesAtRoot
8
- } from "./chunk-P3JGPQFL.js";
8
+ } from "./chunk-YDFRH54B.js";
9
9
  import {
10
10
  parseTomlDocument,
11
11
  tomlTableAt
@@ -16,14 +16,14 @@ import {
16
16
  PROJECT_VERIFIER_CATALOG_VERSION,
17
17
  compareCodepoints,
18
18
  parseProjectVerifierCatalogText
19
- } from "./chunk-A2NJGIB3.js";
19
+ } from "./chunk-5LXZXPKX.js";
20
20
  import {
21
21
  isVerificationScriptName
22
22
  } from "./chunk-UL3WSD3F.js";
23
23
  import {
24
24
  SAFE_EXEC_DEFAULT_TIMEOUT_MS,
25
25
  resolveSafeCwd
26
- } from "./chunk-B5CSFE7B.js";
26
+ } from "./chunk-BBVJUZHB.js";
27
27
  import {
28
28
  require_dist
29
29
  } from "./chunk-APJ265NV.js";
@@ -960,4 +960,4 @@ export {
960
960
  previewVerifierDraft,
961
961
  runVerifierAuthoringWorkflow
962
962
  };
963
- //# sourceMappingURL=chunk-4LJX2PUC.js.map
963
+ //# sourceMappingURL=chunk-JDG2WCRO.js.map
@@ -1,18 +1,18 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  receiptResponseModelIdObservationLabel
4
- } from "./chunk-D73KXYPF.js";
4
+ } from "./chunk-BUMFYQFY.js";
5
5
  import {
6
6
  adaptRunReceiptTrustStatus,
7
7
  formatTrustAxes,
8
8
  formatTrustSummary
9
- } from "./chunk-MLOK6ZOS.js";
9
+ } from "./chunk-B7OBL7PK.js";
10
10
  import {
11
11
  formatBudgetPolicy,
12
12
  formatBudgetReasons,
13
13
  formatBudgetRequest,
14
14
  formatEffectiveBudget
15
- } from "./chunk-4H6ULJ3H.js";
15
+ } from "./chunk-J4W7KFM7.js";
16
16
  import {
17
17
  mentionsWorkerToolCallCap
18
18
  } from "./chunk-4ZG3XFUR.js";
@@ -173,4 +173,4 @@ export {
173
173
  workerTextLabel,
174
174
  workerTextNonEvidenceNotices
175
175
  };
176
- //# sourceMappingURL=chunk-NZU6YDNV.js.map
176
+ //# sourceMappingURL=chunk-K5C3NCBD.js.map
@@ -27,6 +27,7 @@ var ToolNames = {
27
27
  Steer: "steer",
28
28
  Tasks: "tasks",
29
29
  Ledger: "ledger",
30
+ Panes: "panes",
30
31
  // RETRIEVE
31
32
  WebFetch: "web_fetch",
32
33
  // INTERACT
@@ -51,4 +52,4 @@ export {
51
52
  ToolNames,
52
53
  isBuiltinToolName
53
54
  };
54
- //# sourceMappingURL=chunk-CGKSTWHD.js.map
55
+ //# sourceMappingURL=chunk-K6BSR66V.js.map
@@ -568,6 +568,70 @@ init_esm_shims();
568
568
 
569
569
  // src/interactive/overlay-frame.ts
570
570
  init_esm_shims();
571
+
572
+ // src/interactive/modal-marker.ts
573
+ init_esm_shims();
574
+ var MODAL_MARKER_BASE_TITLE = "clio";
575
+ function formatModalMarkerTitle(stack) {
576
+ const top = stack.at(-1);
577
+ if (top === void 0) return MODAL_MARKER_BASE_TITLE;
578
+ const beneath = stack.length - 1;
579
+ return `${MODAL_MARKER_BASE_TITLE} [modal:${top}${beneath > 0 ? `+${beneath}` : ""}]`;
580
+ }
581
+ function createModalMarkerRegistry() {
582
+ const entries = [];
583
+ let sink = null;
584
+ let published = null;
585
+ function activeIds() {
586
+ return entries.filter((entry) => entry.active).map((entry) => entry.id);
587
+ }
588
+ function publish() {
589
+ if (sink === null) return;
590
+ const title = formatModalMarkerTitle(activeIds());
591
+ if (published === null && title === MODAL_MARKER_BASE_TITLE) return;
592
+ if (title === published) return;
593
+ published = title;
594
+ sink.setTitle(title);
595
+ }
596
+ function enter(id, nextSink) {
597
+ if (nextSink) sink = nextSink;
598
+ const entry = { id, active: true };
599
+ entries.push(entry);
600
+ publish();
601
+ let released = false;
602
+ return {
603
+ release() {
604
+ if (released) return;
605
+ released = true;
606
+ const index = entries.indexOf(entry);
607
+ if (index !== -1) entries.splice(index, 1);
608
+ publish();
609
+ },
610
+ setActive(active) {
611
+ if (released || entry.active === active) return;
612
+ entry.active = active;
613
+ publish();
614
+ },
615
+ raise() {
616
+ if (released) return;
617
+ entry.active = true;
618
+ const index = entries.indexOf(entry);
619
+ if (index !== -1 && index !== entries.length - 1) {
620
+ entries.splice(index, 1);
621
+ entries.push(entry);
622
+ }
623
+ publish();
624
+ }
625
+ };
626
+ }
627
+ return { enter, stack: () => activeIds() };
628
+ }
629
+ var registry = createModalMarkerRegistry();
630
+ function enterModal(id, sink) {
631
+ return registry.enter(id, sink);
632
+ }
633
+
634
+ // src/interactive/overlay-frame.ts
571
635
  var DEFAULT_SELECT_THEME = selectListTheme(clioTheme());
572
636
  var DEFAULT_SETTINGS_THEME = settingsListTheme(clioTheme());
573
637
  var FocusBox = class extends Box {
@@ -800,10 +864,10 @@ var ClioOverlayFrame = class {
800
864
  }
801
865
  };
802
866
  function showClioOverlayFrame(tui, child, options) {
803
- const { title, footerHint, tone, width, visible, maxHeight, margin, ...overlayOptions } = options;
867
+ const { title, footerHint, tone, width, visible, maxHeight, margin, markerId, ...overlayOptions } = options;
804
868
  const boxWidth = typeof width === "number" ? width : 0;
805
869
  const frame2 = new ClioOverlayFrame(child, title, footerHint, boxWidth, frameAlignForAnchor(options.anchor), tone);
806
- return tui.showOverlay(frame2, {
870
+ const handle = tui.showOverlay(frame2, {
807
871
  ...overlayOptions,
808
872
  ...margin !== void 0 ? { margin } : {},
809
873
  width: "100%",
@@ -816,6 +880,32 @@ function showClioOverlayFrame(tui, child, options) {
816
880
  return shown;
817
881
  }
818
882
  });
883
+ const marker = enterModal(markerId, modalMarkerSink(tui));
884
+ return {
885
+ hide() {
886
+ marker.release();
887
+ handle.hide();
888
+ },
889
+ setHidden(hidden) {
890
+ marker.setActive(!hidden);
891
+ handle.setHidden(hidden);
892
+ },
893
+ isHidden: () => handle.isHidden(),
894
+ focus() {
895
+ marker.raise();
896
+ handle.focus();
897
+ },
898
+ // A pure passthrough on purpose. The engine hands focus to the next
899
+ // visible capturing overlay, which is another modal, so the stack is
900
+ // unchanged; the surface that gives the keyboard back to the composer
901
+ // does it by hiding, which `setHidden` already reports.
902
+ unfocus: (unfocusOptions) => unfocusOptions ? handle.unfocus(unfocusOptions) : handle.unfocus(),
903
+ isFocused: () => handle.isFocused()
904
+ };
905
+ }
906
+ function modalMarkerSink(tui) {
907
+ const terminal = tui.terminal;
908
+ return typeof terminal?.setTitle === "function" ? terminal : null;
819
909
  }
820
910
  function resolveRowSize(value, termHeight) {
821
911
  if (typeof value === "number") return Math.max(1, Math.floor(value));
@@ -2286,4 +2376,4 @@ export {
2286
2376
  formatPlatformKeybindingNotice,
2287
2377
  createKeybindingManager
2288
2378
  };
2289
- //# sourceMappingURL=chunk-NNNWO6F2.js.map
2379
+ //# sourceMappingURL=chunk-KFZI4NIL.js.map
@@ -0,0 +1,132 @@
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/eval/schema/suite.ts
7
+ init_esm_shims();
8
+ var EVAL_SUITE_V2_VERSION = 2;
9
+ var CANONICAL_METRICS = [
10
+ "tokens.input",
11
+ "tokens.output",
12
+ "tokens.total",
13
+ "tokens.cacheRead",
14
+ "tokens.cacheWrite",
15
+ // False when the runner observed no provider usage at all. The counts above
16
+ // are absent in that case rather than zero, so a gate on cost can require
17
+ // measurement instead of reading silence as free.
18
+ "tokens.measured",
19
+ "latency.wallMs",
20
+ "latency.modelMs",
21
+ "tools.totalCalls",
22
+ "tools.failed",
23
+ "tools.blocked",
24
+ "tools.read.distinctPaths",
25
+ "tools.read.outsideAllowed",
26
+ "tools.read.decoyHits",
27
+ "tools.calls.dispatch",
28
+ "tools.blocked.bash",
29
+ "claims.unsupported",
30
+ "completion.reported",
31
+ "context.indexedFiles",
32
+ "context.coverage",
33
+ "context.structuralHash",
34
+ "context.digestTokens",
35
+ "context.clioMdBytes",
36
+ "context.initMode",
37
+ "context.initParserOutcome",
38
+ "context.initFallback",
39
+ "context.initPromptBytes",
40
+ "context.initOutputBytes",
41
+ "context.initTargetId",
42
+ "context.initModelId",
43
+ "context.initRuntimeId",
44
+ "context.initRuntimeKind",
45
+ "context.initThinkingLevel",
46
+ "context.initStructuredOutputMode",
47
+ "verifier.exitCode",
48
+ "patch.bytes",
49
+ "patch.filesChanged",
50
+ "patch.testFilesModified",
51
+ "result.pass",
52
+ "result.failureClass",
53
+ // Receipt-derived evidence metrics. Sourced only from the sealed receipt
54
+ // (never dispatch/monitor prose labels); absent receipt leaves them
55
+ // unresolved so gates fail closed.
56
+ "evidence.verification",
57
+ "evidence.firstPassSuccess",
58
+ "cost.usd",
59
+ // Invariant checks: what Clio promised about its own machinery, read from
60
+ // the journal the item's run left behind. These are true or false about
61
+ // Clio and say nothing about whether the model solved the task. A check
62
+ // the runner could not compute is absent, so a threshold on it fails
63
+ // closed rather than reading silence as compliance.
64
+ "receipt.count",
65
+ "receipt.rootCount",
66
+ "receipt.sealed",
67
+ "receipt.integrityValid",
68
+ "receipt.outcomeMatchesExit",
69
+ "ledger.formatVersion",
70
+ "ledger.toolPairsUnmatched",
71
+ "ledger.assistantBetweenCallAndResult",
72
+ "ledger.sessionCount",
73
+ "continuity.compactionSummaryPresent",
74
+ "continuity.answeredFromPreCompaction",
75
+ "continuity.turnsAfterCompaction",
76
+ "process.attestedWorkers",
77
+ "process.orphanedChildren",
78
+ // Write-boundary enforcement, read from the verdicts the run sealed. The
79
+ // promise is not that nothing escaped the allowlist; it is that Clio saw what
80
+ // did, named it, rolled back what git could restore, and left a signed record
81
+ // against the baseline it measured.
82
+ "boundary.verdictCount",
83
+ "boundary.verdictSealed",
84
+ "boundary.violationsDetected",
85
+ "boundary.violationsRolledBack",
86
+ "boundary.rollbackIncomplete",
87
+ // Bounded loops. The declared bound is the promise: attempts never exceed it,
88
+ // every attempt after the first seals its own recovery receipt, and a bound
89
+ // spent without a pass reports loop_bound_exhausted rather than a false green.
90
+ // `loop.resolved` is the model's result, measured beside them and never a gate.
91
+ "loop.count",
92
+ "loop.attemptsSpent",
93
+ "loop.repairsSpent",
94
+ "loop.resolved",
95
+ "loop.reasonExhausted",
96
+ // The terminal reason is one Clio declares and agrees with `resolved`. This
97
+ // is the promise that holds across every ending, including the ones that
98
+ // never spend the bound, so it is the one a suite can gate unconditionally.
99
+ "loop.reasonDeclared",
100
+ "loop.unneededNodes",
101
+ "loop.skippedNodes",
102
+ "loop.receiptsMatchRepairs",
103
+ "receipt.recoveryCount",
104
+ // Receipt-derived accounting. A different observation from `tokens.*` above,
105
+ // with a different provenance: what Clio sealed and authenticated, rather
106
+ // than what a provider was watched reporting on the runner's own stdout. A
107
+ // surface that publishes no usage stream (`clio-coder fleet run --json` drains its
108
+ // workers' events) still seals the cost, so this is how a bounded loop's cost
109
+ // is read. The two are never merged, and this family never enters
110
+ // `summary.tokens`. Counts appear only beside `measured: true`; an
111
+ // incomplete or unauthenticated receipt set reports false and no counts.
112
+ "receiptUsage.measured",
113
+ "receiptUsage.receiptCount",
114
+ "receiptUsage.totalTokens",
115
+ "receiptUsage.costUsd",
116
+ "stream.messageUpdateCount",
117
+ "stream.usageDoubleCounted",
118
+ "stream.segmentUsageMatchesMessages",
119
+ // The task outcome: whether the model solved the workload. Its exit code is
120
+ // recorded beside the machinery invariants so a failed final result can still
121
+ // say "the grader failed and Clio behaved" rather than conflating the two.
122
+ "task.exitCode",
123
+ "task.solved"
124
+ ];
125
+ var CANONICAL_METRIC_PREFIXES = ["tools.calls.", "tools.blocked."];
126
+
127
+ export {
128
+ EVAL_SUITE_V2_VERSION,
129
+ CANONICAL_METRICS,
130
+ CANONICAL_METRIC_PREFIXES
131
+ };
132
+ //# sourceMappingURL=chunk-KMVISBZR.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-ZGVHUX3M.js";
5
5
  import {
6
6
  BusChannels
7
- } from "./chunk-RKRLDWD3.js";
7
+ } from "./chunk-HLW2MRKE.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-3R73A4XB.js";
@@ -226,4 +226,4 @@ export {
226
226
  runWithBudget,
227
227
  getTerminationCoordinator
228
228
  };
229
- //# sourceMappingURL=chunk-BVDVID7E.js.map
229
+ //# sourceMappingURL=chunk-LDQ2ZF2M.js.map
@@ -4,7 +4,7 @@ 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
10
  } from "./chunk-UOSL25KY.js";
@@ -43,4 +43,4 @@ export {
43
43
  CODE_NAV_MAX_LIMIT,
44
44
  codeNavToolSurface
45
45
  };
46
- //# sourceMappingURL=chunk-OEDBCISO.js.map
46
+ //# sourceMappingURL=chunk-LQ3DZAMX.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
  parseAgentRecipeSchema
4
- } from "./chunk-HCBCAYZU.js";
4
+ } from "./chunk-Z4TXYIEG.js";
5
5
  import {
6
6
  discoverMarketplaceSkills,
7
7
  expandSkillInvocationInput,
@@ -10,34 +10,34 @@ import {
10
10
  normalizedSkillHash,
11
11
  parsePendingSkillRequests,
12
12
  projectCompatTrusted
13
- } from "./chunk-AD7Y7STJ.js";
13
+ } from "./chunk-VYMXRQI6.js";
14
14
  import {
15
15
  COMPAT_RESOURCE_PRECEDENCE,
16
16
  defaultScopedResourceRoots,
17
17
  sourceInfoForRoot,
18
18
  splitYamlFrontmatter,
19
19
  stringField
20
- } from "./chunk-AMKHQW3C.js";
20
+ } from "./chunk-FEFIFZTL.js";
21
21
  import {
22
22
  parseFleetContract
23
- } from "./chunk-HPCTNZM2.js";
23
+ } from "./chunk-CTJ4RNAA.js";
24
24
  import {
25
25
  parseFrontmatter
26
26
  } from "./chunk-RKKLTLYB.js";
27
27
  import {
28
28
  assertAgentSpecPolicy,
29
29
  normalizeAgentSpec
30
- } from "./chunk-S4COXYBG.js";
30
+ } from "./chunk-DYJP44XW.js";
31
31
  import {
32
32
  INTEROP_AGENT_KINDS
33
33
  } from "./chunk-IHXBNWMM.js";
34
- import {
35
- runCommandVector
36
- } from "./chunk-B5CSFE7B.js";
37
34
  import {
38
35
  readSettings,
39
36
  updateSettings
40
- } from "./chunk-PNY46YEY.js";
37
+ } from "./chunk-VFA6GDY5.js";
38
+ import {
39
+ runCommandVector
40
+ } from "./chunk-BBVJUZHB.js";
41
41
  import {
42
42
  expandConfigPath
43
43
  } from "./chunk-SST6Z5JA.js";
@@ -46,7 +46,7 @@ import {
46
46
  } from "./chunk-APJ265NV.js";
47
47
  import {
48
48
  clioConfigDir
49
- } from "./chunk-BNAZZHFG.js";
49
+ } from "./chunk-BYP5D4HI.js";
50
50
  import {
51
51
  safeResourceWrite
52
52
  } from "./chunk-WEPFGWHJ.js";
@@ -55,12 +55,14 @@ import {
55
55
  init_esm_shims
56
56
  } from "./chunk-3R73A4XB.js";
57
57
 
58
- // src/domains/resources/library.ts
58
+ // src/domains/resources/index.ts
59
+ init_esm_shims();
60
+
61
+ // src/domains/resources/extension.ts
62
+ init_esm_shims();
63
+
64
+ // src/domains/resources/loader.ts
59
65
  init_esm_shims();
60
- var import_yaml = __toESM(require_dist(), 1);
61
- import { createHash } from "node:crypto";
62
- import { existsSync, readFileSync as readFileSync2, statSync } from "node:fs";
63
- import path2 from "node:path";
64
66
 
65
67
  // src/domains/resources/prompts/loader.ts
66
68
  init_esm_shims();
@@ -362,7 +364,102 @@ function expandPromptTemplateInput(input, templates) {
362
364
  };
363
365
  }
364
366
 
367
+ // src/domains/resources/loader.ts
368
+ function createResourcesLoader(options = {}) {
369
+ const defaultCwd = options.cwd ?? process.cwd();
370
+ const skillOptions2 = () => options.skills?.() ?? {};
371
+ const promptOptions = (cwd) => ({
372
+ cwd,
373
+ ...options.reservedPromptNames !== void 0 ? { reservedNames: options.reservedPromptNames } : {},
374
+ ...skillOptions2().trustProjectCompatRoots !== void 0 ? { trustProjectCompatRoots: skillOptions2().trustProjectCompatRoots === true } : {}
375
+ });
376
+ return {
377
+ skills(cwd = defaultCwd) {
378
+ return loadSkills({ cwd, ...skillOptions2() });
379
+ },
380
+ expandSkillInvocation(text, cwd = defaultCwd, expansionOptions = {}) {
381
+ return expandSkillInvocationInput(text, loadSkills({ cwd, ...skillOptions2() }), expansionOptions);
382
+ },
383
+ parsePendingSkillRequests(text, cwd = defaultCwd, expansionOptions = {}) {
384
+ return parsePendingSkillRequests(text, loadSkills({ cwd, ...skillOptions2() }), { cwd, ...expansionOptions });
385
+ },
386
+ prompts(cwd = defaultCwd) {
387
+ return loadPromptTemplates(promptOptions(cwd));
388
+ },
389
+ expandPromptTemplate(text, cwd = defaultCwd) {
390
+ return expandPromptTemplateInput(text, loadPromptTemplates(promptOptions(cwd)));
391
+ },
392
+ resolvePath(value, cwd = defaultCwd) {
393
+ return expandConfigPath(value, { cwd });
394
+ },
395
+ async reload() {
396
+ return void 0;
397
+ }
398
+ };
399
+ }
400
+
401
+ // src/domains/resources/extension.ts
402
+ function createResourcesBundle(context, options = {}) {
403
+ const config = () => context.getContract("config");
404
+ const loader = createResourcesLoader({
405
+ ...options.cwd !== void 0 ? { cwd: options.cwd } : {},
406
+ ...options.reservedPromptNames !== void 0 ? { reservedPromptNames: options.reservedPromptNames } : {},
407
+ skills: () => ({
408
+ ...skillOptions(config()?.get().skills.trustProjectCompatRoots === true, options)
409
+ })
410
+ });
411
+ const extension = {
412
+ start() {
413
+ return void 0;
414
+ }
415
+ };
416
+ const contract = {
417
+ skills(cwd) {
418
+ return loader.skills(cwd);
419
+ },
420
+ expandSkillInvocation(text, cwd, options2) {
421
+ return loader.expandSkillInvocation(text, cwd, options2);
422
+ },
423
+ parsePendingSkillRequests(text, cwd, options2) {
424
+ return loader.parsePendingSkillRequests(text, cwd, options2);
425
+ },
426
+ prompts(cwd) {
427
+ return loader.prompts(cwd);
428
+ },
429
+ expandPromptTemplate(text, cwd) {
430
+ return loader.expandPromptTemplate(text, cwd);
431
+ },
432
+ resolvePath(value, cwd) {
433
+ return loader.resolvePath(value, cwd);
434
+ },
435
+ reload() {
436
+ return loader.reload();
437
+ }
438
+ };
439
+ return { extension, contract };
440
+ }
441
+ function skillOptions(trustProjectCompatRoots, options) {
442
+ const runtime = options.skills?.() ?? {};
443
+ return {
444
+ trustProjectCompatRoots: runtime.trustProjectCompatRoots ?? trustProjectCompatRoots,
445
+ ...runtime.disableDiscovery !== void 0 ? { disableDiscovery: runtime.disableDiscovery } : {},
446
+ ...runtime.explicitSkillPaths !== void 0 ? { explicitSkillPaths: runtime.explicitSkillPaths } : {}
447
+ };
448
+ }
449
+
450
+ // src/domains/resources/manifest.ts
451
+ init_esm_shims();
452
+ var ResourcesManifest = {
453
+ name: "resources",
454
+ dependsOn: ["config"]
455
+ };
456
+
365
457
  // src/domains/resources/library.ts
458
+ init_esm_shims();
459
+ var import_yaml = __toESM(require_dist(), 1);
460
+ import { createHash } from "node:crypto";
461
+ import { existsSync, readFileSync as readFileSync2, statSync } from "node:fs";
462
+ import path2 from "node:path";
366
463
  function isRecord(value) {
367
464
  return typeof value === "object" && value !== null && !Array.isArray(value);
368
465
  }
@@ -581,6 +678,9 @@ async function syncLibrary(direction, runner = runCommandVector) {
581
678
  if (result.exitCode !== 0) throw new Error(result.stderr.trim() || `library ${direction} failed`);
582
679
  }
583
680
 
681
+ // src/domains/resources/prompts/substitute.ts
682
+ init_esm_shims();
683
+
584
684
  // src/domains/resources/skills/evals.ts
585
685
  init_esm_shims();
586
686
  var SCENARIO_HEADING = /^##\s+([A-Z])(\d+)\s*[-:–—]\s*(.+?)\s*$/;
@@ -770,106 +870,6 @@ function checkSkillDrift(skill, cwd) {
770
870
  return null;
771
871
  }
772
872
 
773
- // src/domains/resources/index.ts
774
- init_esm_shims();
775
-
776
- // src/domains/resources/extension.ts
777
- init_esm_shims();
778
-
779
- // src/domains/resources/loader.ts
780
- init_esm_shims();
781
- function createResourcesLoader(options = {}) {
782
- const defaultCwd = options.cwd ?? process.cwd();
783
- const skillOptions2 = () => options.skills?.() ?? {};
784
- const promptOptions = (cwd) => ({
785
- cwd,
786
- ...options.reservedPromptNames !== void 0 ? { reservedNames: options.reservedPromptNames } : {},
787
- ...skillOptions2().trustProjectCompatRoots !== void 0 ? { trustProjectCompatRoots: skillOptions2().trustProjectCompatRoots === true } : {}
788
- });
789
- return {
790
- skills(cwd = defaultCwd) {
791
- return loadSkills({ cwd, ...skillOptions2() });
792
- },
793
- expandSkillInvocation(text, cwd = defaultCwd, expansionOptions = {}) {
794
- return expandSkillInvocationInput(text, loadSkills({ cwd, ...skillOptions2() }), expansionOptions);
795
- },
796
- parsePendingSkillRequests(text, cwd = defaultCwd, expansionOptions = {}) {
797
- return parsePendingSkillRequests(text, loadSkills({ cwd, ...skillOptions2() }), { cwd, ...expansionOptions });
798
- },
799
- prompts(cwd = defaultCwd) {
800
- return loadPromptTemplates(promptOptions(cwd));
801
- },
802
- expandPromptTemplate(text, cwd = defaultCwd) {
803
- return expandPromptTemplateInput(text, loadPromptTemplates(promptOptions(cwd)));
804
- },
805
- resolvePath(value, cwd = defaultCwd) {
806
- return expandConfigPath(value, { cwd });
807
- },
808
- async reload() {
809
- return void 0;
810
- }
811
- };
812
- }
813
-
814
- // src/domains/resources/extension.ts
815
- function createResourcesBundle(context, options = {}) {
816
- const config = () => context.getContract("config");
817
- const loader = createResourcesLoader({
818
- ...options.cwd !== void 0 ? { cwd: options.cwd } : {},
819
- ...options.reservedPromptNames !== void 0 ? { reservedPromptNames: options.reservedPromptNames } : {},
820
- skills: () => ({
821
- ...skillOptions(config()?.get().skills.trustProjectCompatRoots === true, options)
822
- })
823
- });
824
- const extension = {
825
- start() {
826
- return void 0;
827
- }
828
- };
829
- const contract = {
830
- skills(cwd) {
831
- return loader.skills(cwd);
832
- },
833
- expandSkillInvocation(text, cwd, options2) {
834
- return loader.expandSkillInvocation(text, cwd, options2);
835
- },
836
- parsePendingSkillRequests(text, cwd, options2) {
837
- return loader.parsePendingSkillRequests(text, cwd, options2);
838
- },
839
- prompts(cwd) {
840
- return loader.prompts(cwd);
841
- },
842
- expandPromptTemplate(text, cwd) {
843
- return loader.expandPromptTemplate(text, cwd);
844
- },
845
- resolvePath(value, cwd) {
846
- return loader.resolvePath(value, cwd);
847
- },
848
- reload() {
849
- return loader.reload();
850
- }
851
- };
852
- return { extension, contract };
853
- }
854
- function skillOptions(trustProjectCompatRoots, options) {
855
- const runtime = options.skills?.() ?? {};
856
- return {
857
- trustProjectCompatRoots: runtime.trustProjectCompatRoots ?? trustProjectCompatRoots,
858
- ...runtime.disableDiscovery !== void 0 ? { disableDiscovery: runtime.disableDiscovery } : {},
859
- ...runtime.explicitSkillPaths !== void 0 ? { explicitSkillPaths: runtime.explicitSkillPaths } : {}
860
- };
861
- }
862
-
863
- // src/domains/resources/manifest.ts
864
- init_esm_shims();
865
- var ResourcesManifest = {
866
- name: "resources",
867
- dependsOn: ["config"]
868
- };
869
-
870
- // src/domains/resources/prompts/substitute.ts
871
- init_esm_shims();
872
-
873
873
  // src/domains/resources/index.ts
874
874
  var ResourcesDomainModule = {
875
875
  manifest: ResourcesManifest,
@@ -883,8 +883,16 @@ function createResourcesDomainModule(options = {}) {
883
883
  }
884
884
 
885
885
  export {
886
+ parseCommandArgs,
887
+ substituteArgs,
888
+ resolveResourceCollisions,
889
+ loadPromptTemplates,
890
+ expandPromptTemplateInput,
891
+ createResourcesLoader,
892
+ ResourcesManifest,
886
893
  libraryEntryRef,
887
894
  discoverLibrary,
895
+ resolveLibraryRequirements,
888
896
  libraryInstallPath,
889
897
  libraryEntryInstalled,
890
898
  libraryEntryPin,
@@ -898,4 +906,4 @@ export {
898
906
  ResourcesDomainModule,
899
907
  createResourcesDomainModule
900
908
  };
901
- //# sourceMappingURL=chunk-PZ4I4JE2.js.map
909
+ //# sourceMappingURL=chunk-LY4S7GJC.js.map