@iowarp/clio-coder 0.4.6 → 0.4.8

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 (1142) hide show
  1. package/.claude-plugin/marketplace.json +283 -0
  2. package/CHANGELOG.md +79 -0
  3. package/CONTRIBUTING.md +178 -96
  4. package/NOTICE +8 -0
  5. package/README.md +100 -47
  6. package/dist/acp-JWPQZM2D.js +130 -0
  7. package/dist/agents-4GCDIRVX.js +149 -0
  8. package/dist/assets/codewiki.json +1 -1
  9. package/dist/assets/tui-notices/get-east-asian-width-LICENSE +9 -0
  10. package/dist/assets/tui-notices/marked-LICENSE +44 -0
  11. package/dist/assets/tui-notices/pi-tui-LICENSE +21 -0
  12. package/dist/assets/web-notices/@hono__node-server-LICENSE +21 -0
  13. package/dist/assets/web-notices/hono-LICENSE +21 -0
  14. package/dist/auth-SYAKTDQE.js +551 -0
  15. package/dist/background-OW67WMYR.js +37 -0
  16. package/dist/builtins-TKS63VNV.js +22 -0
  17. package/dist/chunk-2JSCCEKO.js +85 -0
  18. package/dist/chunk-2SXGG2IV.js +391 -0
  19. package/dist/chunk-2U2U5POA.js +59 -0
  20. package/dist/chunk-2ZWLMA3T.js +658 -0
  21. package/dist/chunk-36XSBPXL.js +579 -0
  22. package/dist/chunk-3IQOZRQ6.js +396 -0
  23. package/dist/chunk-3XE4NRLF.js +324 -0
  24. package/dist/chunk-44U2OUSM.js +243 -0
  25. package/dist/chunk-4P6M2TTE.js +119 -0
  26. package/dist/chunk-526ABLHD.js +1219 -0
  27. package/dist/chunk-5C2OQHLR.js +674 -0
  28. package/dist/chunk-5D2FNBMG.js +185 -0
  29. package/dist/chunk-5EQO5NWP.js +243 -0
  30. package/dist/chunk-5HULHKT2.js +32 -0
  31. package/dist/chunk-5UG6EZI3.js +66 -0
  32. package/dist/chunk-5W4FRA5Q.js +22283 -0
  33. package/dist/chunk-6R5MBXBJ.js +386 -0
  34. package/dist/chunk-6TKOFFGE.js +1058 -0
  35. package/dist/chunk-6UJ7RDI7.js +1143 -0
  36. package/dist/chunk-6X7VOCDY.js +44 -0
  37. package/dist/chunk-7QQRPB2E.js +915 -0
  38. package/dist/chunk-ARRUMZ7X.js +1377 -0
  39. package/dist/chunk-ATB3Q7YO.js +663 -0
  40. package/dist/chunk-AUHVBIDW.js +19 -0
  41. package/dist/chunk-BE4I3UJ2.js +668 -0
  42. package/dist/chunk-BFPHMSK7.js +169 -0
  43. package/dist/chunk-BHJMMCXS.js +466 -0
  44. package/dist/chunk-BIY22UUK.js +1322 -0
  45. package/dist/chunk-D55WO5J7.js +110 -0
  46. package/dist/chunk-DVJL77SO.js +162 -0
  47. package/dist/chunk-E2NSPYLC.js +814 -0
  48. package/dist/chunk-EFXMQYI6.js +4484 -0
  49. package/dist/chunk-EPYATQMG.js +2718 -0
  50. package/dist/chunk-EXKUF426.js +1801 -0
  51. package/dist/chunk-F7Y6QTPL.js +689 -0
  52. package/dist/chunk-FB3KTE2J.js +1710 -0
  53. package/dist/chunk-FNVPQQYT.js +117 -0
  54. package/dist/chunk-GEVQNST4.js +101 -0
  55. package/dist/chunk-GEYX2NZ5.js +697 -0
  56. package/dist/chunk-GJBJHJNY.js +2120 -0
  57. package/dist/chunk-GM4TY6VN.js +1233 -0
  58. package/dist/chunk-GVU4CXPJ.js +5191 -0
  59. package/dist/chunk-H5DPSUBB.js +637 -0
  60. package/dist/chunk-H77XBUBM.js +688 -0
  61. package/dist/chunk-HMGAKB7E.js +380 -0
  62. package/dist/chunk-HP7KJ5O2.js +797 -0
  63. package/dist/chunk-HVCAY2FH.js +67 -0
  64. package/dist/chunk-ICYIUNO4.js +35 -0
  65. package/dist/chunk-IILXVWJY.js +223 -0
  66. package/dist/chunk-JCVIL6TY.js +595 -0
  67. package/dist/chunk-JIMWEYWO.js +63 -0
  68. package/dist/chunk-JLBVCROW.js +562 -0
  69. package/dist/chunk-JOBN2YQQ.js +176 -0
  70. package/dist/chunk-JOL2QRLE.js +152 -0
  71. package/dist/chunk-JRA6OBHY.js +974 -0
  72. package/dist/chunk-JV25I7ID.js +1865 -0
  73. package/dist/chunk-JYKUMHCQ.js +705 -0
  74. package/dist/chunk-K3W6BF5C.js +283 -0
  75. package/dist/chunk-K45LHSCI.js +194 -0
  76. package/dist/chunk-K53E2PTW.js +1289 -0
  77. package/dist/chunk-K5UJD6MM.js +39 -0
  78. package/dist/chunk-KGP3UQGJ.js +200 -0
  79. package/dist/chunk-KKRXONXG.js +43 -0
  80. package/dist/chunk-KWJXCL2X.js +103 -0
  81. package/dist/chunk-L75H5B3B.js +446 -0
  82. package/dist/chunk-LLCGGVSW.js +108 -0
  83. package/dist/chunk-LZCCBLRC.js +57 -0
  84. package/dist/chunk-LZDLYSUN.js +197 -0
  85. package/dist/chunk-MATCRH3M.js +667 -0
  86. package/dist/chunk-MEHBW2SP.js +132 -0
  87. package/dist/chunk-MUXNDNMZ.js +659 -0
  88. package/dist/chunk-MWMW53WW.js +7346 -0
  89. package/dist/chunk-MZDPF35R.js +45 -0
  90. package/dist/chunk-MZKYVIWW.js +188 -0
  91. package/dist/chunk-O2QJDRWP.js +362 -0
  92. package/dist/chunk-O3HSB2YL.js +693 -0
  93. package/dist/chunk-OEMFEL26.js +891 -0
  94. package/dist/chunk-OH3YYA3B.js +15 -0
  95. package/dist/chunk-OPC4DQD6.js +634 -0
  96. package/dist/chunk-ORRNGQDV.js +207 -0
  97. package/dist/chunk-P4JS3MH5.js +165 -0
  98. package/dist/chunk-P7GTE4FX.js +308 -0
  99. package/dist/chunk-PAQVETLA.js +962 -0
  100. package/dist/chunk-PFZJMXIY.js +146 -0
  101. package/dist/chunk-PGEFOTJB.js +1974 -0
  102. package/dist/chunk-PJ5H5B7A.js +3151 -0
  103. package/dist/chunk-PMUUAABD.js +604 -0
  104. package/dist/chunk-Q32C6AWI.js +236 -0
  105. package/dist/chunk-QGIC5SX5.js +139 -0
  106. package/dist/chunk-QLAGXTTV.js +482 -0
  107. package/dist/chunk-QLKCCC2J.js +573 -0
  108. package/dist/chunk-QWUSS2QP.js +3630 -0
  109. package/dist/chunk-QYSAZMSH.js +47 -0
  110. package/dist/chunk-R5NRX5N4.js +123 -0
  111. package/dist/chunk-RAUOKUZV.js +1572 -0
  112. package/dist/chunk-RBES4TCZ.js +302 -0
  113. package/dist/chunk-RFCKPS2V.js +26 -0
  114. package/dist/chunk-RFULVPBX.js +318 -0
  115. package/dist/chunk-RKFNU5UA.js +404 -0
  116. package/dist/chunk-RM3XJX7P.js +1148 -0
  117. package/dist/chunk-RNLAPBJL.js +386 -0
  118. package/dist/chunk-RPMNIFRY.js +65 -0
  119. package/dist/chunk-RRZFRIJP.js +42 -0
  120. package/dist/chunk-RXI7K4J5.js +4493 -0
  121. package/dist/chunk-SER7RRAE.js +4271 -0
  122. package/dist/chunk-STC6CWUZ.js +402 -0
  123. package/dist/chunk-TEHVMHOK.js +97 -0
  124. package/dist/chunk-TOPICHGR.js +33 -0
  125. package/dist/chunk-U3TPUXOQ.js +2653 -0
  126. package/dist/chunk-UB33F3YW.js +709 -0
  127. package/dist/chunk-UDAK6GR2.js +175 -0
  128. package/dist/chunk-USBBEKHW.js +177 -0
  129. package/dist/chunk-V4ZKOKRB.js +13433 -0
  130. package/dist/chunk-W5RM7YAH.js +78 -0
  131. package/dist/chunk-W7KNI3F5.js +215 -0
  132. package/dist/chunk-WFTSK7N3.js +637 -0
  133. package/dist/chunk-WJWNZXRM.js +395 -0
  134. package/dist/chunk-WLHX3MM5.js +63 -0
  135. package/dist/chunk-WS4FOGLY.js +686 -0
  136. package/dist/chunk-WTZVSMQZ.js +52 -0
  137. package/dist/chunk-WWRV5RJI.js +165 -0
  138. package/dist/chunk-X6FLVUM5.js +141 -0
  139. package/dist/chunk-XC5POIL4.js +68 -0
  140. package/dist/chunk-XTLJDC2X.js +1013 -0
  141. package/dist/chunk-XW2UZICE.js +372 -0
  142. package/dist/chunk-Y3JU5RPK.js +8 -0
  143. package/dist/chunk-YGIV24MF.js +1018 -0
  144. package/dist/chunk-YJCCMYYT.js +125 -0
  145. package/dist/chunk-YKIIWURD.js +36 -0
  146. package/dist/chunk-YQ3GFEUY.js +341 -0
  147. package/dist/chunk-YXANQGCX.js +179 -0
  148. package/dist/chunk-YXFKLMX2.js +222 -0
  149. package/dist/chunk-ZST3FRCV.js +132 -0
  150. package/dist/cli/index.js +40 -40
  151. package/dist/clio-BPBAPZGA.js +26 -0
  152. package/dist/code-nav-KBQ3RIFK.js +686 -0
  153. package/dist/components-6DKAXWFN.js +674 -0
  154. package/dist/config-FWL5JK2H.js +270 -0
  155. package/dist/config-graph-ACDB26L2.js +156 -0
  156. package/dist/configure-ZIZ4YV62.js +85 -0
  157. package/dist/context-EZZPT2ZV.js +1074 -0
  158. package/dist/context-VIL5MFRH.js +282 -0
  159. package/dist/context-Z3GOBHDK.js +344 -0
  160. package/dist/context-clear-ZPB3L7MN.js +188 -0
  161. package/dist/context-index-W6A4V7OC.js +120 -0
  162. package/dist/context-map-DKL3QT6D.js +555 -0
  163. package/dist/context-working-set-2GLBVF7L.js +1559 -0
  164. package/dist/detail-VSBWYSGZ.js +119 -0
  165. package/dist/dispatch-runner-EEEHGKX4.js +2442 -0
  166. package/dist/docs-VMMWFVHL.js +101 -0
  167. package/dist/doctor-V5L4IQGP.js +812 -0
  168. package/dist/eval-VJYJ2BV3.js +5050 -0
  169. package/dist/eval-inventory-CX24K2JT.js +260 -0
  170. package/dist/evals-J2H5V6DD.js +104 -0
  171. package/dist/evidence-POWAEBEW.js +229 -0
  172. package/dist/evidence-XCCCLS36.js +242 -0
  173. package/dist/evidence-Y35YSXH6.js +388 -0
  174. package/dist/evolve-GPG72VB6.js +613 -0
  175. package/dist/extensions-YIZ7W3DA.js +308 -0
  176. package/dist/fleet-2MDCQ2VK.js +264 -0
  177. package/dist/fleet-W2AF3TOJ.js +919 -0
  178. package/dist/fleet-commands-WS56G26H.js +75 -0
  179. package/dist/fleet-decisions-MYGZ3JW7.js +52 -0
  180. package/dist/fleet-graph-ELTBXBAV.js +136 -0
  181. package/dist/fleet-inspect-45IK73L4.js +308 -0
  182. package/dist/fleet-preflight-T5NCZKHE.js +22 -0
  183. package/dist/fleet-validate-VG4JBLA4.js +91 -0
  184. package/dist/fleet-verify-VTSABAYO.js +206 -0
  185. package/dist/fleet-view-XC7WMKSS.js +123 -0
  186. package/dist/init-VTJNNTIP.js +329 -0
  187. package/dist/install-6PIF6F6W.js +19 -0
  188. package/dist/interop-IU6BNA7C.js +246 -0
  189. package/dist/inventory-QPQUTUUZ.js +123 -0
  190. package/dist/library-HUTAS57T.js +492 -0
  191. package/dist/library-LF7DLU6S.js +306 -0
  192. package/dist/library-Q3NWL5CM.js +75 -0
  193. package/dist/library-import-PPW4YUC5.js +183 -0
  194. package/dist/library-inventory-DIRVFRZU.js +56 -0
  195. package/dist/library-validation-XHUZ3INE.js +42 -0
  196. package/dist/memory-Z2LSKNV6.js +516 -0
  197. package/dist/models-3FTREYPY.js +302 -0
  198. package/dist/monitor-HF2MQRB3.js +781 -0
  199. package/dist/orchestrator-UYPA6W4S.js +41502 -0
  200. package/dist/panes-736XB73K.js +74 -0
  201. package/dist/panes-C4P3PIWT.js +103 -0
  202. package/dist/paths-JQ4QYIYB.js +67 -0
  203. package/dist/preload-XSLRYH3Y.js +120 -0
  204. package/dist/reset-V7QSPZYE.js +345 -0
  205. package/dist/resources-OJGDFHYT.js +181 -0
  206. package/dist/run-T354SMDW.js +892 -0
  207. package/dist/settings-MWZXO6RV.js +72 -0
  208. package/dist/share-Y5ZKJPND.js +293 -0
  209. package/dist/skills-4GLZC4LN.js +100 -0
  210. package/dist/skills-eval-L5T7GODM.js +1074 -0
  211. package/dist/skills-inventory-LASKXEZI.js +138 -0
  212. package/dist/slash-commands-OIMRU36D.js +95 -0
  213. package/dist/steer-KMAM2Y2C.js +77 -0
  214. package/dist/support-AWC3XKPX.js +38 -0
  215. package/dist/system-CD75NYBU.js +116 -0
  216. package/dist/targets-VSZX2J2S.js +1116 -0
  217. package/dist/tasks-AN567LYH.js +36 -0
  218. package/dist/terminal-lease-6KTWNHVY.js +418 -0
  219. package/dist/tools-AGRK3V5J.js +28 -0
  220. package/dist/trace-P4MQZD33.js +524 -0
  221. package/dist/tui-primitives-A6MUW32V.js +18 -0
  222. package/dist/uninstall-BRUTEPIC.js +432 -0
  223. package/dist/upgrade-SBCGHQGJ.js +307 -0
  224. package/dist/usage-BIDVTO6V.js +1061 -0
  225. package/dist/verifiers-LTGCAMXS.js +630 -0
  226. package/dist/verify-OZU4LLNP.js +30 -0
  227. package/dist/web/client/THIRD_PARTY_LICENSES.md +1809 -0
  228. package/dist/web/client/assets/abnfDiagram-VCTEODGH-C5wfoHm3.js +1 -0
  229. package/dist/web/client/assets/arc-oH91sfLl.js +1 -0
  230. package/dist/web/client/assets/architecture-7GRP2DOG-EGozsYEO.js +1 -0
  231. package/dist/web/client/assets/architectureDiagram-5GKGNRK7-z9FokbJl.js +36 -0
  232. package/dist/web/client/assets/array-BifhSqXX.js +1 -0
  233. package/dist/web/client/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2 +0 -0
  234. package/dist/web/client/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2 +0 -0
  235. package/dist/web/client/assets/blockDiagram-I7D4REHJ-wi0_CYHL.js +129 -0
  236. package/dist/web/client/assets/c4Diagram-7LVT6UL2-DV7NYc2W.js +38 -0
  237. package/dist/web/client/assets/channel-CiUWbHN9.js +1 -0
  238. package/dist/web/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  239. package/dist/web/client/assets/chunk-4HAMMTFA-Bhsegh3F.js +62 -0
  240. package/dist/web/client/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  241. package/dist/web/client/assets/chunk-75Z2AOVW-RQCckcQG.js +2 -0
  242. package/dist/web/client/assets/chunk-DU6HZSFF-C5USiOAy.js +125 -0
  243. package/dist/web/client/assets/chunk-F27PBJKO-BcNqv2x1.js +1 -0
  244. package/dist/web/client/assets/chunk-FOHPRMQF-CoA4358r.js +161 -0
  245. package/dist/web/client/assets/chunk-GMAD6QVW-Bq8JWiZT.js +72 -0
  246. package/dist/web/client/assets/chunk-GVQU2GXP-DbchrAeJ.js +1 -0
  247. package/dist/web/client/assets/chunk-IMKFNOWR-DrpvjocK.js +231 -0
  248. package/dist/web/client/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  249. package/dist/web/client/assets/chunk-L3NEJ4N5-DHLmTnCe.js +1 -0
  250. package/dist/web/client/assets/chunk-OSK3NFVY-CsRbtN9n.js +10 -0
  251. package/dist/web/client/assets/chunk-P2QGCYS3-aqPbxoMh.js +1 -0
  252. package/dist/web/client/assets/chunk-POPQ4Y6H-Dl5vw0h0.js +1 -0
  253. package/dist/web/client/assets/chunk-PWAF6VOD-D7OBRSdO.js +1 -0
  254. package/dist/web/client/assets/chunk-SHT3W25Y-CdKCIwuB.js +168 -0
  255. package/dist/web/client/assets/chunk-SVP7TREG-B94Nu_1-.js +88 -0
  256. package/dist/web/client/assets/chunk-TICWLB2K-jjRQI_hk.js +206 -0
  257. package/dist/web/client/assets/chunk-XXDRQBXY-azkbKE37.js +1 -0
  258. package/dist/web/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  259. package/dist/web/client/assets/classDiagram-ZZMXUADV-CMODalmo.js +1 -0
  260. package/dist/web/client/assets/classDiagram-v2-VYDZK3BY-CMODalmo.js +1 -0
  261. package/dist/web/client/assets/commit-mono-latin-400-normal-s0S3qwFW.woff +0 -0
  262. package/dist/web/client/assets/commit-mono-latin-400-normal-wzhe4RuD.woff2 +0 -0
  263. package/dist/web/client/assets/cose-bilkent-JH36ORCC-RbQL23qS.js +1 -0
  264. package/dist/web/client/assets/cynefin-OW5HDTMX--i9RDU5f.js +1 -0
  265. package/dist/web/client/assets/cynefinDiagram-5FMLGOSQ-cRcvyBdp.js +62 -0
  266. package/dist/web/client/assets/cytoscape.esm-c2aL46s-.js +321 -0
  267. package/dist/web/client/assets/dagre-C-rnJpZF.js +1 -0
  268. package/dist/web/client/assets/dagre-GXQ25YYZ-C9mZmAPe.js +4 -0
  269. package/dist/web/client/assets/defaultLocale-BFoDCU3G.js +1 -0
  270. package/dist/web/client/assets/diagram-S7CK7UJ4-Oj_zlLDY.js +30 -0
  271. package/dist/web/client/assets/diagram-UQ7AKVKN-BWKbbfcR.js +41 -0
  272. package/dist/web/client/assets/diagram-VSXAHHWV-C3N3f7DO.js +3 -0
  273. package/dist/web/client/assets/diagram-VX7I27RA-CtDKDAWe.js +24 -0
  274. package/dist/web/client/assets/diagram-Z3DM3KII-B8bkBRCz.js +24 -0
  275. package/dist/web/client/assets/dist-D0_q-A2b.js +1 -0
  276. package/dist/web/client/assets/ebnfDiagram-PWID7BFC-CskW-Whx.js +1 -0
  277. package/dist/web/client/assets/erDiagram-RLTQ6QDP-C-83cgCW.js +99 -0
  278. package/dist/web/client/assets/eventmodeling-NTZA5JFV-DjVq8wKU.js +1 -0
  279. package/dist/web/client/assets/flowDiagram-HODETNUW-BUiCBGXt.js +1 -0
  280. package/dist/web/client/assets/ganttDiagram-EL5Y4UJY-B2lb8lvF.js +292 -0
  281. package/dist/web/client/assets/gitGraph-4MIJSDKK-B40cQtBE.js +1 -0
  282. package/dist/web/client/assets/gitGraphDiagram-WWUBYQGX-CH-7P7Di.js +106 -0
  283. package/dist/web/client/assets/graphlib-DS17s2tU.js +1 -0
  284. package/dist/web/client/assets/index-Dsi52apB.css +1 -0
  285. package/dist/web/client/assets/index-FSIC94pi.js +83 -0
  286. package/dist/web/client/assets/info-A6RAGUB7-eCCE9D_Q.js +1 -0
  287. package/dist/web/client/assets/infoDiagram-27XIBGKW-DRnvqMjM.js +2 -0
  288. package/dist/web/client/assets/init-C-OQMol4.js +1 -0
  289. package/dist/web/client/assets/ishikawaDiagram-5VMMS53U-DBA_55wp.js +70 -0
  290. package/dist/web/client/assets/journeyDiagram-3NMN7TZE-C-ewpNl7.js +139 -0
  291. package/dist/web/client/assets/kanban-definition-UXKFOSKX-B1taGsu0.js +89 -0
  292. package/dist/web/client/assets/katex-ZlcWpGUi.js +257 -0
  293. package/dist/web/client/assets/line-lZ0kyxDI.js +1 -0
  294. package/dist/web/client/assets/linear-DIc8FgZj.js +1 -0
  295. package/dist/web/client/assets/mermaid-parser.core-SXolxpXw.js +7 -0
  296. package/dist/web/client/assets/mermaid.core-DXgQtkNg.js +44 -0
  297. package/dist/web/client/assets/mindmap-definition-YA3MSWOX-DXJas9K7.js +96 -0
  298. package/dist/web/client/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2 +0 -0
  299. package/dist/web/client/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2 +0 -0
  300. package/dist/web/client/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2 +0 -0
  301. package/dist/web/client/assets/ordinal-BDEzSJ7C.js +1 -0
  302. package/dist/web/client/assets/packet-AYTQ26CC-OqVl_07o.js +1 -0
  303. package/dist/web/client/assets/path-fybaL0A-.js +1 -0
  304. package/dist/web/client/assets/pegDiagram-XKGWAZYB-CPE_zdfN.js +1 -0
  305. package/dist/web/client/assets/pie-WAS4IAKB-DAxnMBLe.js +1 -0
  306. package/dist/web/client/assets/pieDiagram-E7YTZNPT-Uwjpufxv.js +39 -0
  307. package/dist/web/client/assets/prism-bash-D6zCJ74D.js +1 -0
  308. package/dist/web/client/assets/prism-c-04YixN25.js +1 -0
  309. package/dist/web/client/assets/prism-clike-DapgWyxx.js +1 -0
  310. package/dist/web/client/assets/prism-core-BngLtbUd.js +1 -0
  311. package/dist/web/client/assets/prism-cpp-C-lJbC-6.js +1 -0
  312. package/dist/web/client/assets/prism-css-CPgOzxXp.js +1 -0
  313. package/dist/web/client/assets/prism-diff-BF8m0_mq.js +3 -0
  314. package/dist/web/client/assets/prism-docker-DkT6yOFj.js +1 -0
  315. package/dist/web/client/assets/prism-fortran-Be5x3y1V.js +1 -0
  316. package/dist/web/client/assets/prism-go-C_8qAH5n.js +1 -0
  317. package/dist/web/client/assets/prism-ini-BESK3y0r.js +1 -0
  318. package/dist/web/client/assets/prism-javascript-BnO-swvr.js +1 -0
  319. package/dist/web/client/assets/prism-json-Dp_-W-Hv.js +1 -0
  320. package/dist/web/client/assets/prism-jsx-D-D0NWtC.js +1 -0
  321. package/dist/web/client/assets/prism-julia-DIjOgiAV.js +1 -0
  322. package/dist/web/client/assets/prism-latex-DNMbqcH_.js +1 -0
  323. package/dist/web/client/assets/prism-makefile-CRKWLQ8l.js +1 -0
  324. package/dist/web/client/assets/prism-markdown-C0FPJ1Iz.js +1 -0
  325. package/dist/web/client/assets/prism-markup-Cp04rIa1.js +1 -0
  326. package/dist/web/client/assets/prism-matlab-D-nk08al.js +1 -0
  327. package/dist/web/client/assets/prism-python-CfiSVtM6.js +1 -0
  328. package/dist/web/client/assets/prism-r-QmNGR8LX.js +1 -0
  329. package/dist/web/client/assets/prism-rust-Bu9N8X3N.js +1 -0
  330. package/dist/web/client/assets/prism-shell-session-Be4UuYoM.js +1 -0
  331. package/dist/web/client/assets/prism-sql-CYhVDMEE.js +1 -0
  332. package/dist/web/client/assets/prism-toml-DKb54GAT.js +1 -0
  333. package/dist/web/client/assets/prism-tsx-p6J2Kc_4.js +1 -0
  334. package/dist/web/client/assets/prism-typescript-BMqONzxf.js +1 -0
  335. package/dist/web/client/assets/prism-yaml-C0JHu8gr.js +1 -0
  336. package/dist/web/client/assets/purify.es-ChwZkWde.js +3 -0
  337. package/dist/web/client/assets/quadrantDiagram-AXDQQJYC-Bjs4yjgs.js +7 -0
  338. package/dist/web/client/assets/radar-RG4KPBEZ-CuCKjHM3.js +1 -0
  339. package/dist/web/client/assets/railroad-74A4TZTK-CnQK-Cc1.js +1 -0
  340. package/dist/web/client/assets/railroad-abnf-HS5TGJTU-BcW01NZG.js +1 -0
  341. package/dist/web/client/assets/railroad-ebnf-LZEXJU2U-B7YCEDDd.js +1 -0
  342. package/dist/web/client/assets/railroad-peg-WCYAUIDC-DjNZbSTZ.js +1 -0
  343. package/dist/web/client/assets/railroadDiagram-O6MQD6OU-BDDIPNLL.js +1 -0
  344. package/dist/web/client/assets/requirementDiagram-BXWQKSXE-B5Ydyxc1.js +84 -0
  345. package/dist/web/client/assets/rough.esm-Dy-Kn_BL.js +1 -0
  346. package/dist/web/client/assets/sankeyDiagram-P5KCCOFB-Bw2Qym75.js +40 -0
  347. package/dist/web/client/assets/sequenceDiagram-WJ2MYXX4-BZf36nO0.js +162 -0
  348. package/dist/web/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
  349. package/dist/web/client/assets/src-yeptRXpt.js +1 -0
  350. package/dist/web/client/assets/stateDiagram-D77RDMKH-DnH6JRkp.js +1 -0
  351. package/dist/web/client/assets/stateDiagram-v2-MP3YSRHH-C7QtHeK4.js +1 -0
  352. package/dist/web/client/assets/swimlanes-42K2YHIH-D9PZmtZg.js +1 -0
  353. package/dist/web/client/assets/swimlanesDiagram-VR7AAH4N-CBZlPFky.js +8 -0
  354. package/dist/web/client/assets/timeline-definition-24CTP7MA-CrkZZBo7.js +120 -0
  355. package/dist/web/client/assets/treeView-Q6P3EWNA-C9zDShoC.js +1 -0
  356. package/dist/web/client/assets/treemap-WGGIJYW6-B-plj9yK.js +1 -0
  357. package/dist/web/client/assets/vennDiagram-4TSXK5OY-VeOdaphN.js +34 -0
  358. package/dist/web/client/assets/wardley-WFR3VGLG-Wl1P_m6L.js +1 -0
  359. package/dist/web/client/assets/wardleyDiagram-VM6X3IG4-B85-R9t2.js +78 -0
  360. package/dist/web/client/assets/xychartDiagram-S5SC5T6Z-BrD8OW8m.js +7 -0
  361. package/dist/web/client/clio-coder-logo.webp +0 -0
  362. package/dist/web/client/icon-192.png +0 -0
  363. package/dist/web/client/icon-512.png +0 -0
  364. package/dist/web/client/index.html +4 -0
  365. package/dist/web/client/manifest.webmanifest +15 -0
  366. package/dist/web/client/offline.css +55 -0
  367. package/dist/web/client/offline.html +5 -0
  368. package/dist/web/client/offline.js +27 -0
  369. package/dist/web/client/sw.js +34 -0
  370. package/dist/web/ops-worker.js +37 -0
  371. package/dist/web/reads-worker.js +1726 -0
  372. package/dist/web/server.js +8499 -0
  373. package/dist/web-EU6ATJWA.js +13 -0
  374. package/dist/web-fetch-U22Q7HV4.js +788 -0
  375. package/dist/wiki-generate-LZRLFG6I.js +623 -0
  376. package/dist/with-panes-X5CZOGML.js +628 -0
  377. package/dist/worker/entry.js +300 -93
  378. package/docs/README.md +58 -14
  379. package/docs/architecture/acp.md +5 -9
  380. package/docs/architecture/alcf-provider.md +0 -3
  381. package/docs/architecture/architecture.md +8 -10
  382. package/docs/architecture/artifact-placement.md +0 -3
  383. package/docs/architecture/artifact-versions.md +3 -6
  384. package/docs/architecture/capacity-and-scheduling.md +0 -3
  385. package/docs/architecture/context-engine.md +35 -4
  386. package/docs/architecture/context-working-set.md +0 -3
  387. package/docs/architecture/dispatch-architecture-rationale.md +0 -3
  388. package/docs/architecture/dispatch-typed-intent.md +0 -3
  389. package/docs/architecture/evidence-and-memory.md +0 -3
  390. package/docs/architecture/library.md +30 -0
  391. package/docs/architecture/middleware-and-components.md +1 -4
  392. package/docs/architecture/model-catalog.md +21 -4
  393. package/docs/architecture/observability.md +0 -3
  394. package/docs/architecture/pi-boundary.md +23 -8
  395. package/docs/architecture/prompt-envelope-and-tools.md +6 -9
  396. package/docs/architecture/provider-adapter-cookbook.md +1 -4
  397. package/docs/architecture/safety-model.md +21 -5
  398. package/docs/architecture/session-lifecycle.md +12 -4
  399. package/docs/architecture/time-conventions.md +0 -3
  400. package/docs/architecture/trace-store.md +28 -20
  401. package/docs/architecture/tui-design.md +108 -12
  402. package/docs/architecture/worker-context.md +104 -0
  403. package/docs/architecture/worker-dispatch-mechanics.md +1 -4
  404. package/docs/guide/authoring-plugins.md +158 -0
  405. package/docs/guide/built-in-agents.md +5 -8
  406. package/docs/guide/commands-and-modes.md +162 -61
  407. package/docs/guide/configuration-and-targets.md +198 -5
  408. package/docs/guide/configuration-reference.md +36 -38
  409. package/docs/guide/environment-variables.md +2 -5
  410. package/docs/guide/exit-codes-and-output.md +1 -4
  411. package/docs/guide/extensions-and-sharing.md +92 -55
  412. package/docs/guide/fleet-dispatch.md +31 -7
  413. package/docs/guide/glossary.md +1 -4
  414. package/docs/guide/harness-extensions.md +289 -0
  415. package/docs/guide/installation-and-lifecycle.md +10 -13
  416. package/docs/guide/interop.md +241 -0
  417. package/docs/guide/panes-and-files.md +3 -6
  418. package/docs/guide/plugins.md +77 -0
  419. package/docs/guide/proactive-memory.md +0 -3
  420. package/docs/guide/resource-library.md +109 -45
  421. package/docs/guide/skills-marketplace.md +34 -73
  422. package/docs/guide/tool-usage.md +19 -10
  423. package/docs/guide/troubleshooting.md +1 -4
  424. package/docs/history/config-knobs-audit.md +0 -3
  425. package/docs/history/release-cut-checklist.md +0 -3
  426. package/docs/process/development-pipeline.md +14 -17
  427. package/docs/process/documentation-coverage.md +31 -4
  428. package/docs/process/documentation-guide.md +28 -27
  429. package/docs/process/eval-runner.md +8 -6
  430. package/docs/process/evals-internal.md +0 -3
  431. package/docs/process/evolution.md +0 -3
  432. package/docs/process/fleet-demo-runbook.md +0 -3
  433. package/docs/process/git-commit-provenance.md +0 -3
  434. package/docs/process/performance-methodology.md +2 -5
  435. package/docs/process/release-cut-checklist.md +114 -217
  436. package/docs/process/scientific-validation.md +23 -3
  437. package/evals/scalar-decision-machinery.ts +1 -1
  438. package/examples/extensions/README.md +67 -0
  439. package/examples/extensions/lab-status/clio-coder-extension.json +14 -0
  440. package/examples/extensions/lab-status/extension.mjs +68 -0
  441. package/examples/extensions/lab-status/jobs.synthetic.json +9 -0
  442. package/examples/extensions/measurements/clio-coder-extension.json +28 -0
  443. package/examples/extensions/measurements/summarize.cjs +23 -0
  444. package/library/README.md +109 -0
  445. package/library/_authoring/templates/agent/README.md +28 -0
  446. package/library/_authoring/templates/agent/agents/benchmark-scout.md +30 -0
  447. package/library/_authoring/templates/agent/plugin.json +23 -0
  448. package/library/_authoring/templates/fleet/README.md +29 -0
  449. package/library/_authoring/templates/fleet/fleets/pipeline-review.md +31 -0
  450. package/library/_authoring/templates/fleet/plugin.json +23 -0
  451. package/library/_authoring/templates/plugin/README.md +37 -0
  452. package/library/_authoring/templates/plugin/agents/data-curator.md +31 -0
  453. package/library/_authoring/templates/plugin/assets/curation-guide.md +22 -0
  454. package/library/_authoring/templates/plugin/plugin.json +42 -0
  455. package/library/_authoring/templates/plugin/prompts/inspect-dataset.md +15 -0
  456. package/library/_authoring/templates/plugin/skills/dataset-curation/SKILL.md +36 -0
  457. package/library/_authoring/templates/plugin/skills/dataset-curation/evals.md +17 -0
  458. package/library/_authoring/templates/prompt/README.md +28 -0
  459. package/library/_authoring/templates/prompt/plugin.json +23 -0
  460. package/library/_authoring/templates/prompt/prompts/paper-summary.md +26 -0
  461. package/library/_authoring/templates/skill/README.md +24 -0
  462. package/library/_authoring/templates/skill/SKILL.md +39 -0
  463. package/library/_authoring/templates/skill/evals.md +30 -0
  464. package/library/_authoring/templates/skill/plugin.json +23 -0
  465. package/library/agents/README.md +7 -0
  466. package/library/fleets/README.md +7 -0
  467. package/library/plugins/materio/README.md +137 -0
  468. package/library/plugins/materio/ai.iowarp.clio/agents/materio-lab-definer.md +208 -0
  469. package/library/plugins/materio/ai.iowarp.clio/agents/materio-literature-reviewer.md +308 -0
  470. package/library/plugins/materio/ai.iowarp.clio/agents/materio-research-explorer.md +249 -0
  471. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-executor.md +416 -0
  472. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-verifier.md +60 -0
  473. package/library/plugins/materio/ai.iowarp.clio/agents/materio-workflow-planner.md +238 -0
  474. package/library/plugins/materio/ai.iowarp.clio/fleets/materio-execute-task.md +50 -0
  475. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/add-task.md +66 -0
  476. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/archive-task.md +65 -0
  477. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/checkpoint.md +26 -0
  478. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-research-tasks.md +230 -0
  479. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-virtual-lab.md +181 -0
  480. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/execute-task.md +292 -0
  481. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/help.md +129 -0
  482. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/identify-research.md +206 -0
  483. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/literature-review.md +201 -0
  484. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/pause-research.md +12 -0
  485. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/progress.md +105 -0
  486. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/remove-task.md +63 -0
  487. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/resume-research.md +64 -0
  488. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/settings.md +16 -0
  489. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/status.md +92 -0
  490. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/upload-data.md +104 -0
  491. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/wtfp.md +145 -0
  492. package/library/plugins/materio/ai.iowarp.clio/references/execution.md +56 -0
  493. package/library/plugins/materio/ai.iowarp.portability/provenance.json +9 -0
  494. package/library/plugins/materio/assets/actions/add-task.md +86 -0
  495. package/library/plugins/materio/assets/actions/archive-task.md +84 -0
  496. package/library/plugins/materio/assets/actions/checkpoint.md +47 -0
  497. package/library/plugins/materio/assets/actions/define-research-tasks.md +228 -0
  498. package/library/plugins/materio/assets/actions/define-virtual-lab.md +179 -0
  499. package/library/plugins/materio/assets/actions/execute-task.md +290 -0
  500. package/library/plugins/materio/assets/actions/help.md +140 -0
  501. package/library/plugins/materio/assets/actions/identify-research.md +204 -0
  502. package/library/plugins/materio/assets/actions/literature-review.md +199 -0
  503. package/library/plugins/materio/assets/actions/pause-research.md +34 -0
  504. package/library/plugins/materio/assets/actions/progress.md +125 -0
  505. package/library/plugins/materio/assets/actions/remove-task.md +82 -0
  506. package/library/plugins/materio/assets/actions/resume-research.md +84 -0
  507. package/library/plugins/materio/assets/actions/settings.md +38 -0
  508. package/library/plugins/materio/assets/actions/status.md +112 -0
  509. package/library/plugins/materio/assets/actions/upload-data.md +123 -0
  510. package/library/plugins/materio/assets/actions/wtfp.md +179 -0
  511. package/library/plugins/materio/assets/references/research-domains.md +134 -0
  512. package/library/plugins/materio/assets/references/research-policy.md +77 -0
  513. package/library/plugins/materio/assets/references/traditional-workflows.md +146 -0
  514. package/library/plugins/materio/assets/scripts/check_physics.py +271 -0
  515. package/library/plugins/materio/assets/scripts/check_scripts.py +248 -0
  516. package/library/plugins/materio/assets/scripts/project_plugin.py +165 -0
  517. package/library/plugins/materio/assets/scripts/research_state.py +400 -0
  518. package/library/plugins/materio/assets/scripts/verify_citations.py +616 -0
  519. package/library/plugins/materio/assets/templates/RESEARCH.md +39 -0
  520. package/library/plugins/materio/assets/templates/VIRTUAL-LAB.md +120 -0
  521. package/library/plugins/materio/assets/templates/WORKFLOW.md +42 -0
  522. package/library/plugins/materio/assets/templates/config.json +5 -0
  523. package/library/plugins/materio/evals/scripts.yaml +29 -0
  524. package/library/plugins/materio/plugin.json +530 -0
  525. package/library/plugins/materio/skills/materio-lab-definer/SKILL.md +74 -0
  526. package/library/plugins/materio/skills/materio-literature-reviewer/SKILL.md +64 -0
  527. package/library/plugins/materio/skills/materio-research-explorer/SKILL.md +74 -0
  528. package/library/plugins/materio/skills/materio-task-executor/SKILL.md +214 -0
  529. package/library/plugins/materio/skills/materio-task-verifier/SKILL.md +46 -0
  530. package/library/plugins/materio/skills/materio-workflow-planner/SKILL.md +79 -0
  531. package/library/plugins/materio/tests/test_check_physics.py +139 -0
  532. package/library/plugins/materio/tests/test_check_scripts.py +140 -0
  533. package/library/plugins/materio/tests/test_research_state.py +291 -0
  534. package/library/plugins/materio/tests/test_verify_citations.py +337 -0
  535. package/library/prompts/README.md +7 -0
  536. package/library/registry.yaml +921 -0
  537. package/library/skills/README.md +120 -0
  538. package/library/skills/coding/ast-grep/SKILL.md +213 -0
  539. package/library/skills/coding/ast-grep/evals.md +82 -0
  540. package/library/skills/coding/ast-grep/plugin.json +23 -0
  541. package/library/skills/coding/coding-standards/SKILL.md +164 -0
  542. package/library/skills/coding/coding-standards/evals.md +57 -0
  543. package/library/skills/coding/coding-standards/plugin.json +23 -0
  544. package/library/skills/coding/prototype/SKILL.md +151 -0
  545. package/library/skills/coding/prototype/evals.md +61 -0
  546. package/library/skills/coding/prototype/plugin.json +23 -0
  547. package/library/skills/coding/tdd/SKILL.md +134 -0
  548. package/library/skills/coding/tdd/evals.md +61 -0
  549. package/library/skills/coding/tdd/plugin.json +23 -0
  550. package/library/skills/context/context-handoff/SKILL.md +176 -0
  551. package/library/skills/context/context-handoff/evals.md +101 -0
  552. package/library/skills/context/context-handoff/plugin.json +23 -0
  553. package/library/skills/context/context-prime/SKILL.md +131 -0
  554. package/library/skills/context/context-prime/evals.md +99 -0
  555. package/library/skills/context/context-prime/plugin.json +23 -0
  556. package/library/skills/git/branch-closeout/SKILL.md +132 -0
  557. package/library/skills/git/branch-closeout/plugin.json +23 -0
  558. package/library/skills/git/file-ticket/SKILL.md +126 -0
  559. package/library/skills/git/file-ticket/plugin.json +23 -0
  560. package/library/skills/git/fix-issue/SKILL.md +136 -0
  561. package/library/skills/git/fix-issue/plugin.json +23 -0
  562. package/library/skills/git/resolve-merge-conflicts/SKILL.md +151 -0
  563. package/library/skills/git/resolve-merge-conflicts/evals.md +85 -0
  564. package/library/skills/git/resolve-merge-conflicts/plugin.json +23 -0
  565. package/library/skills/git/ship/SKILL.md +134 -0
  566. package/library/skills/git/ship/plugin.json +23 -0
  567. package/library/skills/git/worktree-create/SKILL.md +127 -0
  568. package/library/skills/git/worktree-create/plugin.json +23 -0
  569. package/library/skills/git/worktree-merge/SKILL.md +147 -0
  570. package/library/skills/git/worktree-merge/plugin.json +23 -0
  571. package/library/skills/meta/clio-coder-dev/SKILL.md +101 -0
  572. package/library/skills/meta/clio-coder-dev/evals.md +46 -0
  573. package/library/skills/meta/clio-coder-dev/plugin.json +23 -0
  574. package/library/skills/meta/clio-coder-test/SKILL.md +156 -0
  575. package/library/skills/meta/clio-coder-test/evals.md +62 -0
  576. package/library/skills/meta/clio-coder-test/plugin.json +23 -0
  577. package/library/skills/meta/clio-coder-test/references/test-map.md +97 -0
  578. package/library/skills/meta/credentials/SKILL.md +132 -0
  579. package/library/skills/meta/credentials/evals.md +104 -0
  580. package/library/skills/meta/credentials/plugin.json +23 -0
  581. package/library/skills/meta/find-skills/SKILL.md +85 -0
  582. package/library/skills/meta/find-skills/evals.md +65 -0
  583. package/library/skills/meta/find-skills/plugin.json +23 -0
  584. package/library/skills/meta/herdr/SKILL.md +133 -0
  585. package/library/skills/meta/herdr/evals.md +38 -0
  586. package/library/skills/meta/herdr/plugin.json +23 -0
  587. package/library/skills/meta/skill-craft/SKILL.md +139 -0
  588. package/library/skills/meta/skill-craft/evals.md +49 -0
  589. package/library/skills/meta/skill-craft/plugin.json +23 -0
  590. package/library/skills/planning/archify/SKILL.md +196 -0
  591. package/library/skills/planning/archify/plugin.json +23 -0
  592. package/library/skills/planning/architecture/SKILL.md +184 -0
  593. package/library/skills/planning/architecture/evals.md +101 -0
  594. package/library/skills/planning/architecture/plugin.json +23 -0
  595. package/library/skills/planning/backlog/SKILL.md +212 -0
  596. package/library/skills/planning/backlog/evals.md +185 -0
  597. package/library/skills/planning/backlog/plugin.json +23 -0
  598. package/library/skills/planning/prd/SKILL.md +129 -0
  599. package/library/skills/planning/prd/evals.md +103 -0
  600. package/library/skills/planning/prd/plugin.json +23 -0
  601. package/library/skills/planning/product-intent/SKILL.md +173 -0
  602. package/library/skills/planning/product-intent/evals.md +106 -0
  603. package/library/skills/planning/product-intent/plugin.json +23 -0
  604. package/library/skills/planning/tech-spec/SKILL.md +172 -0
  605. package/library/skills/planning/tech-spec/evals.md +120 -0
  606. package/library/skills/planning/tech-spec/plugin.json +23 -0
  607. package/library/skills/registry.yaml +144 -0
  608. package/library/skills/remote.yaml +13 -0
  609. package/library/skills/research/arxiv-literature/SKILL.md +168 -0
  610. package/library/skills/research/arxiv-literature/evals.md +108 -0
  611. package/library/skills/research/arxiv-literature/plugin.json +23 -0
  612. package/library/skills/research/experiment-protocol/SKILL.md +148 -0
  613. package/library/skills/research/experiment-protocol/evals.md +114 -0
  614. package/library/skills/research/experiment-protocol/plugin.json +23 -0
  615. package/library/skills/research/scientific-debugging/SKILL.md +149 -0
  616. package/library/skills/research/scientific-debugging/evals.md +156 -0
  617. package/library/skills/research/scientific-debugging/plugin.json +23 -0
  618. package/library/skills/research/scientific-modernization/SKILL.md +170 -0
  619. package/library/skills/research/scientific-modernization/evals.md +111 -0
  620. package/library/skills/research/scientific-modernization/plugin.json +23 -0
  621. package/library/skills/skill-marketplace.json +507 -0
  622. package/library/skills/workflow/cut-it/SKILL.md +153 -0
  623. package/library/skills/workflow/cut-it/evals.md +143 -0
  624. package/library/skills/workflow/cut-it/plugin.json +23 -0
  625. package/library/skills/workflow/design-council/SKILL.md +233 -0
  626. package/library/skills/workflow/design-council/evals.md +258 -0
  627. package/library/skills/workflow/design-council/plugin.json +23 -0
  628. package/library/skills/workflow/grill-me/SKILL.md +267 -0
  629. package/library/skills/workflow/grill-me/evals.md +231 -0
  630. package/library/skills/workflow/grill-me/plugin.json +23 -0
  631. package/library/skills/workflow/workflow-distiller/SKILL.md +204 -0
  632. package/library/skills/workflow/workflow-distiller/evals.md +233 -0
  633. package/library/skills/workflow/workflow-distiller/plugin.json +23 -0
  634. package/package.json +23 -14
  635. package/src/cli/agents.ts +1 -1
  636. package/src/cli/config-inspect.ts +1 -1
  637. package/src/cli/configure.ts +2 -2
  638. package/src/cli/docs.ts +65 -328
  639. package/src/cli/eval.ts +40 -6
  640. package/src/cli/extensions.ts +74 -8
  641. package/src/cli/fleet-preflight.ts +2 -0
  642. package/src/cli/fleet.ts +2 -0
  643. package/src/cli/index.ts +4 -4
  644. package/src/cli/interop-inspect.ts +61 -33
  645. package/src/cli/interop.ts +79 -9
  646. package/src/cli/library-import.ts +139 -0
  647. package/src/cli/library.ts +418 -120
  648. package/src/cli/run.ts +26 -9
  649. package/src/cli/skills-eval.ts +43 -6
  650. package/src/cli/skills-inventory.ts +6 -2
  651. package/src/cli/skills.ts +44 -491
  652. package/src/cli/trace.ts +4 -65
  653. package/src/cli/uninstall.ts +26 -0
  654. package/src/cli/usage.ts +3 -0
  655. package/src/cli/web.ts +79 -0
  656. package/src/core/bus-events.ts +8 -4
  657. package/src/core/config.ts +71 -0
  658. package/src/core/defaults.ts +1 -1
  659. package/src/core/domain-loader.ts +37 -28
  660. package/src/core/recent-models.ts +2 -2
  661. package/src/core/session-routing.ts +3 -3
  662. package/src/core/state-file-lock.ts +1 -1
  663. package/src/core/termination.ts +13 -9
  664. package/src/core/tool-names.ts +5 -0
  665. package/src/domains/agents/contract.ts +1 -1
  666. package/src/domains/agents/extension.ts +53 -9
  667. package/src/domains/agents/fleet-commands.ts +92 -1
  668. package/src/domains/agents/fleet-contract.ts +87 -19
  669. package/src/domains/agents/recipe.ts +5 -4
  670. package/src/domains/agents/registry.ts +80 -24
  671. package/src/domains/config/extension.ts +5 -4
  672. package/src/domains/config/keybindings.ts +155 -95
  673. package/src/domains/context/worker/contract.ts +91 -0
  674. package/src/domains/context/worker/pressure.ts +120 -0
  675. package/src/domains/context/worker/recall.ts +62 -0
  676. package/src/domains/context/worker/select.ts +164 -0
  677. package/src/domains/context/worker/snapshot.ts +35 -0
  678. package/src/domains/context/worker/store.ts +16 -0
  679. package/src/domains/context/working-set/replay/synthetic.ts +2 -1
  680. package/src/domains/dispatch/active-route-planner.ts +2 -0
  681. package/src/domains/dispatch/backoff.ts +1 -0
  682. package/src/domains/dispatch/code-step.ts +12 -2
  683. package/src/domains/dispatch/contract.ts +3 -0
  684. package/src/domains/dispatch/execution-plan.ts +2 -0
  685. package/src/domains/dispatch/extension.ts +184 -39
  686. package/src/domains/dispatch/fleet-plan.ts +10 -0
  687. package/src/domains/dispatch/fleet-run.ts +1 -0
  688. package/src/domains/dispatch/index.ts +1 -0
  689. package/src/domains/dispatch/orphan-recovery.ts +2 -0
  690. package/src/domains/dispatch/receipt-integrity.ts +7 -0
  691. package/src/domains/dispatch/state.ts +2 -2
  692. package/src/domains/dispatch/types.ts +7 -0
  693. package/src/domains/dispatch/validation.ts +12 -0
  694. package/src/domains/dispatch/workspace-checkpoint.ts +1 -1
  695. package/src/domains/eval/metrics/tracked.ts +22 -2
  696. package/src/domains/evidence/failure-attribution.ts +1 -0
  697. package/src/domains/evidence/trust-status.ts +22 -3
  698. package/src/domains/extensions/command-schema.ts +145 -0
  699. package/src/domains/extensions/command-tools.ts +15 -0
  700. package/src/domains/extensions/compatibility.ts +7 -0
  701. package/src/domains/extensions/contract.ts +0 -4
  702. package/src/domains/extensions/discovery.ts +69 -205
  703. package/src/domains/extensions/extension.ts +0 -4
  704. package/src/domains/extensions/index.ts +1 -5
  705. package/src/domains/extensions/manager.ts +1 -6
  706. package/src/domains/extensions/operator-commands.ts +29 -0
  707. package/src/domains/extensions/operator-runtime.ts +485 -0
  708. package/src/domains/extensions/public-api.ts +53 -0
  709. package/src/domains/extensions/runtime-child.mjs +114 -0
  710. package/src/domains/extensions/runtime-process.ts +306 -0
  711. package/src/domains/extensions/runtime-schema.ts +146 -0
  712. package/src/domains/extensions/snapshot-access.ts +21 -0
  713. package/src/domains/extensions/snapshot.ts +4 -32
  714. package/src/domains/extensions/state.ts +5 -83
  715. package/src/domains/extensions/types.ts +33 -34
  716. package/src/domains/interop/adopt.ts +546 -0
  717. package/src/domains/interop/detect.ts +50 -12
  718. package/src/domains/interop/foreign.ts +554 -0
  719. package/src/domains/interop/import.ts +277 -0
  720. package/src/domains/interop/index.ts +24 -0
  721. package/src/domains/interop/install.ts +6 -0
  722. package/src/domains/interop/inventory.ts +351 -0
  723. package/src/domains/interop/projection.ts +360 -0
  724. package/src/domains/interop/registry.ts +106 -3
  725. package/src/domains/interop/types.ts +51 -0
  726. package/src/domains/lifecycle/migrations/index.ts +0 -2
  727. package/src/domains/lifecycle/naming-resources.ts +1 -1
  728. package/src/domains/middleware/hooks.ts +2 -2
  729. package/src/domains/middleware/marketplace-offer.ts +1 -1
  730. package/src/domains/mux/contract.ts +1 -1
  731. package/src/domains/observability/background-memory-usage.ts +3 -0
  732. package/src/domains/observability/compaction-usage.ts +2 -0
  733. package/src/domains/observability/cost.ts +5 -0
  734. package/src/domains/observability/extension.ts +1 -0
  735. package/src/domains/observability/out-of-turn-usage.ts +2 -0
  736. package/src/domains/observability/trace-store.ts +65 -5
  737. package/src/domains/plugins/catalog.ts +204 -0
  738. package/src/domains/plugins/contract.ts +24 -0
  739. package/src/domains/plugins/discovery.ts +316 -0
  740. package/src/domains/plugins/extension.ts +40 -0
  741. package/src/domains/plugins/index.ts +77 -0
  742. package/src/domains/plugins/integrity.ts +6 -0
  743. package/src/domains/plugins/manifest.ts +3 -0
  744. package/src/domains/plugins/resources.ts +102 -0
  745. package/src/domains/plugins/state.ts +753 -0
  746. package/src/domains/plugins/types.ts +217 -0
  747. package/src/domains/prompts/extension.ts +4 -10
  748. package/src/domains/prompts/fragments/operating/skills.md +10 -10
  749. package/src/domains/providers/cache-deployment.ts +147 -0
  750. package/src/domains/providers/catalog.ts +12 -7
  751. package/src/domains/providers/extension.ts +27 -5
  752. package/src/domains/providers/index.ts +1 -0
  753. package/src/domains/providers/plugins.ts +3 -13
  754. package/src/domains/providers/runtimes/common/local-synth.ts +4 -0
  755. package/src/domains/providers/types/target-descriptor.ts +17 -0
  756. package/src/domains/resources/common-loader.ts +9 -6
  757. package/src/domains/resources/index.ts +67 -0
  758. package/src/domains/resources/library-actions.ts +836 -0
  759. package/src/domains/resources/library-evals.ts +38 -0
  760. package/src/domains/resources/library-inventory.ts +1048 -0
  761. package/src/domains/resources/library-types.ts +50 -0
  762. package/src/domains/resources/library-validation.ts +634 -0
  763. package/src/domains/resources/library.ts +437 -156
  764. package/src/domains/resources/package-references.ts +66 -0
  765. package/src/domains/resources/prompts/loader.ts +75 -41
  766. package/src/domains/resources/skills/install.ts +2 -2
  767. package/src/domains/resources/skills/loader.ts +77 -22
  768. package/src/domains/resources/skills/marketplace.ts +48 -57
  769. package/src/domains/resources/skills/promotion.ts +2 -2
  770. package/src/domains/resources/skills/provenance-pin.ts +17 -4
  771. package/src/domains/safety/action-classifier.ts +2 -2
  772. package/src/domains/safety/default-path-policy.ts +3 -1
  773. package/src/domains/safety/policy-engine.ts +1 -1
  774. package/src/domains/safety/protected-artifacts.ts +21 -5
  775. package/src/domains/safety/skill-authority.ts +5 -2
  776. package/src/domains/session/compaction/compact.ts +4 -1
  777. package/src/domains/session/entries.ts +1 -0
  778. package/src/domains/session/usage.ts +6 -7
  779. package/src/domains/share/archive.ts +1 -1
  780. package/src/engine/acp/server.ts +11 -0
  781. package/src/engine/ai.ts +2 -0
  782. package/src/engine/apis/openai-completions.ts +61 -6
  783. package/src/engine/notices/pi-tui-LICENSE +21 -0
  784. package/src/engine/prewarm.ts +232 -0
  785. package/src/engine/provider-diagnostics.ts +6 -1
  786. package/src/engine/tui.ts +3 -0
  787. package/src/engine/worker-runtime.ts +58 -14
  788. package/src/engine/worker-tools.ts +5 -0
  789. package/src/entry/orchestrator.ts +46 -21
  790. package/src/entry/plugin-reload.ts +18 -0
  791. package/src/interactive/application-controller.ts +67 -21
  792. package/src/interactive/chat-loop-messages.ts +3 -0
  793. package/src/interactive/chat-loop.ts +32 -11
  794. package/src/interactive/chat-panel.ts +5 -1
  795. package/src/interactive/clio-editor.ts +53 -21
  796. package/src/interactive/command-output.ts +56 -1
  797. package/src/interactive/editor-submit.ts +65 -28
  798. package/src/interactive/fleet-run-preview.ts +2 -0
  799. package/src/interactive/follow-up-queue-panel.ts +3 -3
  800. package/src/interactive/footer/dashboard.ts +4 -1
  801. package/src/interactive/footer/notifications.ts +2 -2
  802. package/src/interactive/footer/widgets.ts +2 -2
  803. package/src/interactive/interactive-application.ts +209 -21
  804. package/src/interactive/interactive-input-runtime.ts +254 -7
  805. package/src/interactive/interactive-presentation.ts +41 -12
  806. package/src/interactive/interactive-slash-runtime.ts +37 -8
  807. package/src/interactive/keybinding-manager.ts +156 -79
  808. package/src/interactive/keyboard-owner.ts +37 -0
  809. package/src/interactive/leader-key.ts +49 -102
  810. package/src/interactive/leader-menu.ts +45 -0
  811. package/src/interactive/overlay-ask-user-lifecycle.ts +9 -1
  812. package/src/interactive/overlay-frame.ts +15 -0
  813. package/src/interactive/overlay-key-routing.ts +46 -47
  814. package/src/interactive/overlay-lifecycle.ts +30 -15
  815. package/src/interactive/overlay-resource-openers.ts +56 -46
  816. package/src/interactive/overlays/ask-user.ts +630 -556
  817. package/src/interactive/overlays/extension-panel.ts +70 -0
  818. package/src/interactive/overlays/extensions.ts +28 -5
  819. package/src/interactive/overlays/fleet-run-approval.ts +7 -3
  820. package/src/interactive/overlays/help-reference.ts +89 -40
  821. package/src/interactive/overlays/interop.ts +122 -3
  822. package/src/interactive/overlays/keybinding-detail.ts +2 -2
  823. package/src/interactive/overlays/library-lifecycle.ts +90 -0
  824. package/src/interactive/overlays/library-model.ts +574 -0
  825. package/src/interactive/overlays/library-review.ts +557 -0
  826. package/src/interactive/overlays/library-tabs.ts +3 -15
  827. package/src/interactive/overlays/library.ts +602 -0
  828. package/src/interactive/overlays/list-overlay.ts +218 -39
  829. package/src/interactive/overlays/model-selector.ts +28 -25
  830. package/src/interactive/overlays/session-selector.ts +9 -3
  831. package/src/interactive/overlays/settings.ts +25 -18
  832. package/src/interactive/overlays/tree-selector.ts +16 -11
  833. package/src/interactive/permission-hint.ts +13 -0
  834. package/src/interactive/permission-overlay.ts +77 -28
  835. package/src/interactive/prewarm.ts +11 -197
  836. package/src/interactive/prompt-source-label.ts +21 -0
  837. package/src/interactive/renderers/reference-card.ts +35 -0
  838. package/src/interactive/renderers/worker-entry.ts +35 -3
  839. package/src/interactive/session-usage-reseed.ts +2 -0
  840. package/src/interactive/side-question.ts +2 -0
  841. package/src/interactive/slash-autocomplete.ts +99 -1
  842. package/src/interactive/slash-commands.ts +390 -67
  843. package/src/interactive/slash-spec.ts +0 -1
  844. package/src/interactive/terminal-lease.ts +44 -12
  845. package/src/interactive/turn-context.ts +1 -0
  846. package/src/interactive/turn-persistence.ts +3 -0
  847. package/src/interactive/turn-prewarm.ts +126 -19
  848. package/src/interactive/turn-queues.ts +8 -7
  849. package/src/interactive/turn-runtime.ts +15 -1
  850. package/src/interactive/view/view-overlay.ts +19 -14
  851. package/src/interactive/welcome-dashboard.ts +525 -408
  852. package/src/tools/bootstrap.ts +8 -0
  853. package/src/tools/builtin-tool-catalog.ts +15 -6
  854. package/src/tools/context/index.ts +58 -5
  855. package/src/tools/context/library.ts +465 -0
  856. package/src/tools/context/surface.ts +20 -6
  857. package/src/tools/core-bootstrap.ts +3 -0
  858. package/src/tools/dispatch-admission.ts +24 -1
  859. package/src/tools/dispatch-arguments.ts +8 -0
  860. package/src/tools/dispatch-plan.ts +32 -0
  861. package/src/tools/dispatch-schema.ts +31 -1
  862. package/src/tools/dispatch-types.ts +3 -0
  863. package/src/tools/dispatch.ts +1 -1
  864. package/src/tools/harness-extensions.ts +169 -0
  865. package/src/tools/observation.ts +4 -0
  866. package/src/tools/policy.ts +7 -1
  867. package/src/tools/registry.ts +31 -3
  868. package/src/tools/worker-evidence.ts +5 -0
  869. package/src/worker/context-seed.ts +192 -0
  870. package/src/worker/entry.ts +1 -0
  871. package/src/worker/spec-contract.ts +35 -1
  872. package/dist/acp-UVEVWSDL.js +0 -130
  873. package/dist/agents-VWY37DTK.js +0 -148
  874. package/dist/auth-PCV2XQDV.js +0 -551
  875. package/dist/builtins-PD652MTK.js +0 -22
  876. package/dist/chunk-22PQ4TX4.js +0 -360
  877. package/dist/chunk-24T2YZ7A.js +0 -22648
  878. package/dist/chunk-2AKYFREM.js +0 -1008
  879. package/dist/chunk-2QPI3TR3.js +0 -162
  880. package/dist/chunk-3BJGMT2D.js +0 -324
  881. package/dist/chunk-3HQVBIKD.js +0 -308
  882. package/dist/chunk-3JLFK5MW.js +0 -193
  883. package/dist/chunk-3O2ZAUGQ.js +0 -283
  884. package/dist/chunk-3QKXHCGS.js +0 -59
  885. package/dist/chunk-3T4DXWP6.js +0 -668
  886. package/dist/chunk-3UW3KU4A.js +0 -21
  887. package/dist/chunk-3WBALRQH.js +0 -5076
  888. package/dist/chunk-4DU2TVI4.js +0 -108
  889. package/dist/chunk-4U4TKZFR.js +0 -5052
  890. package/dist/chunk-4VMV6OS6.js +0 -101
  891. package/dist/chunk-536HXRFE.js +0 -1257
  892. package/dist/chunk-5CMARGPF.js +0 -477
  893. package/dist/chunk-5CY4Q6QI.js +0 -141
  894. package/dist/chunk-5QRX7SLS.js +0 -1018
  895. package/dist/chunk-5VTJP36Q.js +0 -36
  896. package/dist/chunk-5ZSZEYJK.js +0 -119
  897. package/dist/chunk-6HAO6X5B.js +0 -197
  898. package/dist/chunk-6OII3LOK.js +0 -404
  899. package/dist/chunk-6RYDAVQT.js +0 -4338
  900. package/dist/chunk-6VRRJT7L.js +0 -146
  901. package/dist/chunk-6YA46L5A.js +0 -386
  902. package/dist/chunk-77CZRFTE.js +0 -634
  903. package/dist/chunk-7JSSKXG2.js +0 -1215
  904. package/dist/chunk-7WUZEB2M.js +0 -165
  905. package/dist/chunk-7YJWEF2L.js +0 -974
  906. package/dist/chunk-ACCKVSHU.js +0 -44
  907. package/dist/chunk-B3MOMLJ4.js +0 -433
  908. package/dist/chunk-BBV5TKE6.js +0 -35
  909. package/dist/chunk-BLTEAUCB.js +0 -668
  910. package/dist/chunk-BS4GAMUB.js +0 -233
  911. package/dist/chunk-BT7HGDOX.js +0 -3151
  912. package/dist/chunk-CBSKDFWL.js +0 -101
  913. package/dist/chunk-CXQ37WJH.js +0 -45
  914. package/dist/chunk-DXLUVUD4.js +0 -1490
  915. package/dist/chunk-DZK63TZJ.js +0 -1334
  916. package/dist/chunk-E7RF4KBO.js +0 -266
  917. package/dist/chunk-ECOMVOHP.js +0 -139
  918. package/dist/chunk-EHOSNVVM.js +0 -59
  919. package/dist/chunk-F5Z7EWMN.js +0 -4484
  920. package/dist/chunk-FQOOGXBH.js +0 -579
  921. package/dist/chunk-GLYBJ4RQ.js +0 -396
  922. package/dist/chunk-HHVJNVUJ.js +0 -179
  923. package/dist/chunk-HL26ADLH.js +0 -77
  924. package/dist/chunk-HPTJF6DG.js +0 -2465
  925. package/dist/chunk-HXHFDHB6.js +0 -962
  926. package/dist/chunk-HZ2T2YED.js +0 -1687
  927. package/dist/chunk-HZFBVU5X.js +0 -666
  928. package/dist/chunk-I2K2NCZQ.js +0 -659
  929. package/dist/chunk-IGLVVNEG.js +0 -402
  930. package/dist/chunk-IKRWLEDA.js +0 -1567
  931. package/dist/chunk-J2FYEQ5L.js +0 -33
  932. package/dist/chunk-JMPL7NUB.js +0 -108
  933. package/dist/chunk-K2HL3GBL.js +0 -998
  934. package/dist/chunk-KAFMW7WM.js +0 -386
  935. package/dist/chunk-KTFSFCVN.js +0 -46
  936. package/dist/chunk-LIN2K3EL.js +0 -66
  937. package/dist/chunk-LUL5Z66S.js +0 -221
  938. package/dist/chunk-LVFANMOH.js +0 -466
  939. package/dist/chunk-LY4N4TTL.js +0 -117
  940. package/dist/chunk-LZBMXNLP.js +0 -1196
  941. package/dist/chunk-M6TAYK66.js +0 -807
  942. package/dist/chunk-N2OKBREN.js +0 -243
  943. package/dist/chunk-NC4KV7EL.js +0 -39
  944. package/dist/chunk-NF3BK5WR.js +0 -42
  945. package/dist/chunk-NNWJYUNO.js +0 -573
  946. package/dist/chunk-NTK3WTHM.js +0 -141
  947. package/dist/chunk-ODUTYZIU.js +0 -688
  948. package/dist/chunk-OQM5IVJY.js +0 -1377
  949. package/dist/chunk-P5JMBPDJ.js +0 -7192
  950. package/dist/chunk-P5SC4DLJ.js +0 -47
  951. package/dist/chunk-P6M7RKMI.js +0 -97
  952. package/dist/chunk-PWWSIB2A.js +0 -52
  953. package/dist/chunk-PZN2LQY6.js +0 -674
  954. package/dist/chunk-Q7NNUHQV.js +0 -705
  955. package/dist/chunk-QCOV5DFY.js +0 -911
  956. package/dist/chunk-QNWRHOMF.js +0 -692
  957. package/dist/chunk-QRFXEO6Y.js +0 -17
  958. package/dist/chunk-QXFBABFJ.js +0 -380
  959. package/dist/chunk-RGZNQ5CT.js +0 -657
  960. package/dist/chunk-SRZOW5L2.js +0 -1865
  961. package/dist/chunk-SXQKNKRA.js +0 -223
  962. package/dist/chunk-T334FW2H.js +0 -362
  963. package/dist/chunk-T52TPHYC.js +0 -318
  964. package/dist/chunk-TJFDL26W.js +0 -658
  965. package/dist/chunk-TN5FW4XY.js +0 -172
  966. package/dist/chunk-U7H5WRG5.js +0 -123
  967. package/dist/chunk-UFYNOQK4.js +0 -302
  968. package/dist/chunk-URBGEOH3.js +0 -32
  969. package/dist/chunk-USZA7GWL.js +0 -341
  970. package/dist/chunk-UUQ5G6EZ.js +0 -697
  971. package/dist/chunk-VAHLPXPY.js +0 -399
  972. package/dist/chunk-VANN3GDP.js +0 -2488
  973. package/dist/chunk-VHMX7SXF.js +0 -1289
  974. package/dist/chunk-WJIMKGD6.js +0 -132
  975. package/dist/chunk-WKUYQBCG.js +0 -795
  976. package/dist/chunk-WNGF5AJX.js +0 -1911
  977. package/dist/chunk-WV6TDAPN.js +0 -3627
  978. package/dist/chunk-X3BI7HTV.js +0 -562
  979. package/dist/chunk-XWMSPJYN.js +0 -149
  980. package/dist/chunk-YPRSNUTC.js +0 -395
  981. package/dist/chunk-ZS43Y2FT.js +0 -438
  982. package/dist/clio-QQCMTUZE.js +0 -26
  983. package/dist/code-nav-GUPM6766.js +0 -686
  984. package/dist/components-TNIKXCBH.js +0 -674
  985. package/dist/config-IIM7YOD3.js +0 -621
  986. package/dist/configure-4ZM5HWJX.js +0 -73
  987. package/dist/context-44BZLJ3J.js +0 -344
  988. package/dist/context-AIDVQKMW.js +0 -278
  989. package/dist/context-OL5P3HEP.js +0 -1031
  990. package/dist/context-clear-OQV76MYP.js +0 -184
  991. package/dist/context-index-HP2JFUWA.js +0 -120
  992. package/dist/context-map-INTXD54D.js +0 -555
  993. package/dist/context-working-set-ZUW3EGLS.js +0 -1556
  994. package/dist/detail-UXPWRANG.js +0 -115
  995. package/dist/dispatch-runner-P3ZW6G77.js +0 -2438
  996. package/dist/docs-BL7ROUFN.js +0 -292
  997. package/dist/doctor-JJVGPZWT.js +0 -797
  998. package/dist/eval-V2RTN3UH.js +0 -4972
  999. package/dist/eval-inventory-QOYZERXJ.js +0 -315
  1000. package/dist/evidence-35PYWGSO.js +0 -225
  1001. package/dist/evidence-CIGGKI6J.js +0 -383
  1002. package/dist/evolve-33SM3NJP.js +0 -609
  1003. package/dist/extensions-YVRHX6ZI.js +0 -229
  1004. package/dist/fleet-LFO7SIPC.js +0 -908
  1005. package/dist/fleet-commands-RLK72GU3.js +0 -75
  1006. package/dist/fleet-decisions-3SBSCTCW.js +0 -159
  1007. package/dist/fleet-graph-JZIBCGMW.js +0 -134
  1008. package/dist/fleet-inspect-2L5YGGZJ.js +0 -469
  1009. package/dist/fleet-preflight-QRSHIIDE.js +0 -22
  1010. package/dist/fleet-validate-LIAVKDUU.js +0 -92
  1011. package/dist/fleet-verify-JIK3OQZR.js +0 -202
  1012. package/dist/fleet-view-IWHYGQKK.js +0 -118
  1013. package/dist/init-NJEDOTQW.js +0 -321
  1014. package/dist/interop-RVCAYECG.js +0 -115
  1015. package/dist/inventory-74UL7UHU.js +0 -118
  1016. package/dist/library-CTKZA7K3.js +0 -226
  1017. package/dist/memory-I76I5VUH.js +0 -512
  1018. package/dist/models-D4YDIQZQ.js +0 -289
  1019. package/dist/monitor-NKVD55HX.js +0 -775
  1020. package/dist/orchestrator-I6OATVPK.js +0 -39518
  1021. package/dist/panes-7BTYH3XQ.js +0 -103
  1022. package/dist/panes-WPOMEMRH.js +0 -74
  1023. package/dist/paths-J3KN7UAO.js +0 -67
  1024. package/dist/preload-EJAWJEIO.js +0 -116
  1025. package/dist/reset-4XMQKDNZ.js +0 -345
  1026. package/dist/resources-TVYVXK3Q.js +0 -125
  1027. package/dist/run-OWQNNSJU.js +0 -872
  1028. package/dist/share-NPZZMUXG.js +0 -290
  1029. package/dist/skills-OXFEAWMT.js +0 -510
  1030. package/dist/skills-eval-J5TCKSJA.js +0 -1034
  1031. package/dist/skills-inventory-7II4DM57.js +0 -133
  1032. package/dist/slash-commands-MDSDSWYF.js +0 -92
  1033. package/dist/steer-S7D7IKPU.js +0 -77
  1034. package/dist/support-5VAEC32W.js +0 -38
  1035. package/dist/targets-KILZEOCE.js +0 -1109
  1036. package/dist/tasks-R6P6OV22.js +0 -36
  1037. package/dist/terminal-lease-LZCG2KN3.js +0 -405
  1038. package/dist/tools-6OCQ6SVB.js +0 -28
  1039. package/dist/trace-JHLXWUMN.js +0 -572
  1040. package/dist/tui-primitives-RCY2HN7G.js +0 -17
  1041. package/dist/uninstall-FXYMFFRT.js +0 -407
  1042. package/dist/upgrade-D2OZH6IQ.js +0 -307
  1043. package/dist/usage-PIASNUS4.js +0 -1052
  1044. package/dist/verifiers-LTHUY2PX.js +0 -630
  1045. package/dist/verify-HYF7KBVE.js +0 -30
  1046. package/dist/web-fetch-MQN4FH3X.js +0 -788
  1047. package/dist/wiki-generate-RK7JQ5NP.js +0 -615
  1048. package/dist/with-panes-OFTNAR4Y.js +0 -628
  1049. package/skills/README.md +0 -418
  1050. package/skills/coding/ast-grep/SKILL.md +0 -213
  1051. package/skills/coding/ast-grep/evals.md +0 -82
  1052. package/skills/coding/coding-standards/SKILL.md +0 -164
  1053. package/skills/coding/coding-standards/evals.md +0 -57
  1054. package/skills/coding/prototype/SKILL.md +0 -151
  1055. package/skills/coding/prototype/evals.md +0 -61
  1056. package/skills/coding/tdd/SKILL.md +0 -134
  1057. package/skills/coding/tdd/evals.md +0 -61
  1058. package/skills/context/context-handoff/SKILL.md +0 -176
  1059. package/skills/context/context-handoff/evals.md +0 -101
  1060. package/skills/context/context-prime/SKILL.md +0 -131
  1061. package/skills/context/context-prime/evals.md +0 -99
  1062. package/skills/git/branch-closeout/SKILL.md +0 -132
  1063. package/skills/git/file-ticket/SKILL.md +0 -126
  1064. package/skills/git/fix-issue/SKILL.md +0 -136
  1065. package/skills/git/resolve-merge-conflicts/SKILL.md +0 -151
  1066. package/skills/git/resolve-merge-conflicts/evals.md +0 -85
  1067. package/skills/git/ship/SKILL.md +0 -134
  1068. package/skills/git/worktree-create/SKILL.md +0 -127
  1069. package/skills/git/worktree-merge/SKILL.md +0 -147
  1070. package/skills/meta/clio-coder-dev/SKILL.md +0 -101
  1071. package/skills/meta/clio-coder-dev/evals.md +0 -46
  1072. package/skills/meta/clio-coder-test/SKILL.md +0 -146
  1073. package/skills/meta/clio-coder-test/evals.md +0 -48
  1074. package/skills/meta/clio-coder-test/references/test-map.md +0 -96
  1075. package/skills/meta/credentials/SKILL.md +0 -132
  1076. package/skills/meta/credentials/evals.md +0 -104
  1077. package/skills/meta/find-skills/SKILL.md +0 -78
  1078. package/skills/meta/find-skills/evals.md +0 -47
  1079. package/skills/meta/herdr/SKILL.md +0 -133
  1080. package/skills/meta/herdr/evals.md +0 -38
  1081. package/skills/meta/skill-craft/SKILL.md +0 -125
  1082. package/skills/meta/skill-craft/evals.md +0 -41
  1083. package/skills/planning/archify/SKILL.md +0 -196
  1084. package/skills/planning/architecture/SKILL.md +0 -184
  1085. package/skills/planning/architecture/evals.md +0 -101
  1086. package/skills/planning/backlog/SKILL.md +0 -212
  1087. package/skills/planning/backlog/evals.md +0 -185
  1088. package/skills/planning/prd/SKILL.md +0 -129
  1089. package/skills/planning/prd/evals.md +0 -103
  1090. package/skills/planning/product-intent/SKILL.md +0 -173
  1091. package/skills/planning/product-intent/evals.md +0 -106
  1092. package/skills/planning/tech-spec/SKILL.md +0 -172
  1093. package/skills/planning/tech-spec/evals.md +0 -120
  1094. package/skills/registry.yaml +0 -144
  1095. package/skills/remote.yaml +0 -13
  1096. package/skills/research/arxiv-literature/SKILL.md +0 -168
  1097. package/skills/research/arxiv-literature/evals.md +0 -108
  1098. package/skills/research/experiment-protocol/SKILL.md +0 -148
  1099. package/skills/research/experiment-protocol/evals.md +0 -114
  1100. package/skills/research/scientific-debugging/SKILL.md +0 -149
  1101. package/skills/research/scientific-debugging/evals.md +0 -156
  1102. package/skills/research/scientific-modernization/SKILL.md +0 -170
  1103. package/skills/research/scientific-modernization/evals.md +0 -111
  1104. package/skills/skill-marketplace.json +0 -507
  1105. package/skills/workflow/cut-it/SKILL.md +0 -153
  1106. package/skills/workflow/cut-it/evals.md +0 -143
  1107. package/skills/workflow/design-council/SKILL.md +0 -233
  1108. package/skills/workflow/design-council/evals.md +0 -258
  1109. package/skills/workflow/grill-me/SKILL.md +0 -267
  1110. package/skills/workflow/grill-me/evals.md +0 -231
  1111. package/skills/workflow/workflow-distiller/SKILL.md +0 -201
  1112. package/skills/workflow/workflow-distiller/evals.md +0 -225
  1113. package/src/domains/extensions/resource-path.ts +0 -27
  1114. package/src/domains/extensions/resources.ts +0 -37
  1115. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +0 -27
  1116. package/src/interactive/overlays/agents.ts +0 -70
  1117. package/src/interactive/overlays/library-install-confirm.ts +0 -152
  1118. package/src/interactive/overlays/prompts.ts +0 -89
  1119. package/src/interactive/overlays/skills-hub.ts +0 -615
  1120. /package/{skills → library/skills}/coding/ast-grep/references/rule_reference.md +0 -0
  1121. /package/{skills → library/skills}/coding/prototype/references/LOGIC.md +0 -0
  1122. /package/{skills → library/skills}/coding/prototype/references/UI.md +0 -0
  1123. /package/{skills → library/skills}/coding/tdd/references/mocking.md +0 -0
  1124. /package/{skills → library/skills}/coding/tdd/references/tests.md +0 -0
  1125. /package/{skills → library/skills}/context/context-handoff/scripts/new-handoff.sh +0 -0
  1126. /package/{skills → library/skills}/git/branch-closeout/evals.md +0 -0
  1127. /package/{skills → library/skills}/git/branch-closeout/references/closeout-checklist.md +0 -0
  1128. /package/{skills → library/skills}/git/file-ticket/assets/issue-template.md +0 -0
  1129. /package/{skills → library/skills}/git/file-ticket/evals.md +0 -0
  1130. /package/{skills → library/skills}/git/file-ticket/references/issue-discovery.md +0 -0
  1131. /package/{skills → library/skills}/git/fix-issue/evals.md +0 -0
  1132. /package/{skills → library/skills}/git/fix-issue/references/diagnosis-and-rca.md +0 -0
  1133. /package/{skills → library/skills}/git/resolve-merge-conflicts/references/conflict-matrix.md +0 -0
  1134. /package/{skills → library/skills}/git/ship/assets/pr-template.md +0 -0
  1135. /package/{skills → library/skills}/git/ship/evals.md +0 -0
  1136. /package/{skills → library/skills}/git/ship/references/remote-and-branch-policy.md +0 -0
  1137. /package/{skills → library/skills}/git/worktree-create/evals.md +0 -0
  1138. /package/{skills → library/skills}/git/worktree-create/references/worktree-setup.md +0 -0
  1139. /package/{skills → library/skills}/git/worktree-merge/evals.md +0 -0
  1140. /package/{skills → library/skills}/git/worktree-merge/references/merge-strategies.md +0 -0
  1141. /package/{skills → library/skills}/meta/clio-coder-test/references/harness.md +0 -0
  1142. /package/{skills → library/skills}/planning/archify/evals.md +0 -0
@@ -0,0 +1,915 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ enabledPluginResourceRoots,
4
+ parseFrontmatter,
5
+ resolvePackagePathReference,
6
+ resolvePackageReferences
7
+ } from "./chunk-6UJ7RDI7.js";
8
+ import {
9
+ PATH_BOUNDARY_MAX_ENTRIES,
10
+ normalizePathBoundary,
11
+ normalizePathBoundaryEntry,
12
+ pathBoundaryCovers
13
+ } from "./chunk-R2P2U3ZS.js";
14
+ import {
15
+ require_dist
16
+ } from "./chunk-B5GGDIHT.js";
17
+ import {
18
+ value_exports
19
+ } from "./chunk-SER7RRAE.js";
20
+ import {
21
+ typebox_exports
22
+ } from "./chunk-GH5ZR6JP.js";
23
+ import {
24
+ clioConfigDir
25
+ } from "./chunk-CTTI7G3T.js";
26
+ import {
27
+ resolvePackageRoot
28
+ } from "./chunk-E3LEPLQ2.js";
29
+ import {
30
+ __toESM,
31
+ init_esm_shims
32
+ } from "./chunk-ECBHH7LU.js";
33
+
34
+ // src/domains/agents/fleet-commands.ts
35
+ init_esm_shims();
36
+ import { existsSync, readFileSync } from "node:fs";
37
+ import { isAbsolute, join, normalize } from "node:path";
38
+ var import_yaml = __toESM(require_dist(), 1);
39
+ var FLEET_COMMAND_MAX_TIMEOUT_MS = 36e5;
40
+ var FLEET_COMMAND_MIN_TIMEOUT_MS = 1e3;
41
+ var FLEET_COMMAND_DEFAULT_TIMEOUT_MS = 6e5;
42
+ var FLEET_COMMAND_BASE_ENV = ["PATH", "HOME", "LANG", "LC_ALL", "TZ", "TMPDIR"];
43
+ var CommandSchema = typebox_exports.Object(
44
+ {
45
+ argv: typebox_exports.Array(typebox_exports.String({ minLength: 1 }), { minItems: 1 }),
46
+ argumentSlots: typebox_exports.Optional(
47
+ typebox_exports.Array(
48
+ typebox_exports.Object(
49
+ {
50
+ name: typebox_exports.String({ pattern: "^[A-Za-z][A-Za-z0-9_-]{0,63}$" }),
51
+ maxLength: typebox_exports.Integer({ minimum: 1, maximum: 8192 })
52
+ },
53
+ { additionalProperties: false }
54
+ ),
55
+ { minItems: 1, maxItems: 64 }
56
+ )
57
+ ),
58
+ cwd: typebox_exports.Optional(typebox_exports.String({ minLength: 1 })),
59
+ timeoutMs: typebox_exports.Optional(
60
+ typebox_exports.Integer({ minimum: FLEET_COMMAND_MIN_TIMEOUT_MS, maximum: FLEET_COMMAND_MAX_TIMEOUT_MS })
61
+ ),
62
+ env: typebox_exports.Optional(typebox_exports.Array(typebox_exports.String({ minLength: 1 }))),
63
+ description: typebox_exports.Optional(typebox_exports.String())
64
+ },
65
+ { additionalProperties: false }
66
+ );
67
+ var RegistrySchema = typebox_exports.Object(
68
+ {
69
+ version: typebox_exports.Literal(1),
70
+ commands: typebox_exports.Record(typebox_exports.String({ minLength: 1 }), CommandSchema, { minProperties: 1 })
71
+ },
72
+ { additionalProperties: false }
73
+ );
74
+ var COMMAND_ID_RE = /^[a-z0-9][a-z0-9._-]{0,63}$/u;
75
+ var ENV_NAME_RE = /^[A-Z_][A-Z0-9_]*$/u;
76
+ function fleetCommandsPath(cwd) {
77
+ return join(cwd, ".clio-coder", "fleets", "commands.yaml");
78
+ }
79
+ function firstSchemaError(value) {
80
+ if (value_exports.Check(RegistrySchema, value)) return null;
81
+ const first = [...value_exports.Errors(RegistrySchema, value)][0];
82
+ return first ? `${first.instancePath || "(root)"}: ${first.message}` : "command registry failed validation";
83
+ }
84
+ function checkCwd(id, value, sourcePath) {
85
+ if (isAbsolute(value)) {
86
+ throw new Error(`fleet commands ${sourcePath}: command '${id}' cwd must be workspace-relative`);
87
+ }
88
+ const normalized = normalize(value);
89
+ if (normalized === ".." || normalized.startsWith(`..${"/"}`) || normalized.split(/[\\/]/u).includes("..")) {
90
+ throw new Error(`fleet commands ${sourcePath}: command '${id}' cwd escapes the workspace`);
91
+ }
92
+ return normalized === "." ? "" : normalized;
93
+ }
94
+ function parseFleetCommands(raw, sourcePath) {
95
+ let parsed;
96
+ try {
97
+ parsed = import_yaml.default.parse(raw);
98
+ } catch (err) {
99
+ const reason = err instanceof Error ? err.message : String(err);
100
+ throw new Error(`fleet commands ${sourcePath}: invalid YAML (${reason})`);
101
+ }
102
+ const schemaError = firstSchemaError(parsed);
103
+ if (schemaError !== null) throw new Error(`fleet commands ${sourcePath}: ${schemaError}`);
104
+ const registry = parsed;
105
+ const commands = /* @__PURE__ */ new Map();
106
+ for (const [id, entry] of Object.entries(registry.commands)) {
107
+ if (!COMMAND_ID_RE.test(id)) {
108
+ throw new Error(`fleet commands ${sourcePath}: command id '${id}' must match ${COMMAND_ID_RE.source}`);
109
+ }
110
+ const executable = entry.argv[0] ?? "";
111
+ if (executable.trim().length === 0) {
112
+ throw new Error(`fleet commands ${sourcePath}: command '${id}' has an empty executable`);
113
+ }
114
+ for (const name of entry.env ?? []) {
115
+ if (!ENV_NAME_RE.test(name)) {
116
+ throw new Error(`fleet commands ${sourcePath}: command '${id}' env name '${name}' is not a variable name`);
117
+ }
118
+ }
119
+ if (entry.argumentSlots)
120
+ validateFleetCommandArgs(
121
+ { id, argv: entry.argv, cwd: "", timeoutMs: 1e3, env: [], description: "", argumentSlots: entry.argumentSlots },
122
+ entry.argumentSlots.map(() => "{{slot}}"),
123
+ { allowTemplates: true }
124
+ );
125
+ commands.set(id, {
126
+ id,
127
+ argv: [...entry.argv],
128
+ ...entry.argumentSlots ? { argumentSlots: entry.argumentSlots.map((slot) => ({ ...slot })) } : {},
129
+ cwd: entry.cwd === void 0 ? "" : checkCwd(id, entry.cwd, sourcePath),
130
+ timeoutMs: entry.timeoutMs ?? FLEET_COMMAND_DEFAULT_TIMEOUT_MS,
131
+ env: [...entry.env ?? []],
132
+ description: entry.description ?? ""
133
+ });
134
+ }
135
+ return { version: 1, commands, path: sourcePath };
136
+ }
137
+ function loadFleetCommands(cwd) {
138
+ const path = fleetCommandsPath(cwd);
139
+ if (!existsSync(path)) return null;
140
+ return parseFleetCommands(readFileSync(path, "utf8"), path);
141
+ }
142
+ function resolveFleetCommandArgs(args, vars = {}) {
143
+ if (args.length > 64) throw new Error("fleet code args: at most 64 arguments are allowed");
144
+ return args.map((token) => {
145
+ const match = /^\{\{\s*([A-Za-z_][A-Za-z0-9_-]*)\s*\}\}$/u.exec(token);
146
+ if (!match && token.includes("{{")) throw new Error("fleet code args: placeholders must occupy a whole argument");
147
+ const value = match ? vars[match[1] ?? ""] : token;
148
+ if (value === void 0) throw new Error(`fleet code args: missing variable ${match?.[1]} (pass --var name=value)`);
149
+ if (value.includes("\0") || value.length > 8192)
150
+ throw new Error("fleet code args: invalid NUL or oversized argument");
151
+ return value;
152
+ });
153
+ }
154
+ function validateFleetCommandArgs(command, args, options = {}) {
155
+ const slots = command.argumentSlots ?? [];
156
+ if (slots.length > 64 || new Set(slots.map((slot) => slot.name)).size !== slots.length || slots.some(
157
+ (slot) => !/^[A-Za-z][A-Za-z0-9_-]{0,63}$/u.test(slot.name) || !Number.isInteger(slot.maxLength) || slot.maxLength < 1 || slot.maxLength > 8192
158
+ )) {
159
+ throw new Error(`fleet command '${command.id}': invalid argumentSlots declaration`);
160
+ }
161
+ if (args.length !== slots.length) {
162
+ throw new Error(
163
+ `fleet command '${command.id}': expected ${slots.length} declared argument slots, got ${args.length}; the operator must declare argumentSlots in commands.yaml`
164
+ );
165
+ }
166
+ for (let index = 0; index < slots.length; index++) {
167
+ const slot = slots[index];
168
+ const value = args[index];
169
+ if (!slot || typeof value !== "string") throw new Error(`fleet command '${command.id}': invalid argument`);
170
+ if (options.allowTemplates && /^\{\{\s*([A-Za-z_][A-Za-z0-9_-]*)\s*\}\}$/u.test(value)) continue;
171
+ if (value.length === 0 || value.length > slot.maxLength || value.includes("\0") || value.startsWith("-")) {
172
+ throw new Error(
173
+ `fleet command '${command.id}': argument '${slot.name}' must be nonempty data of at most ${slot.maxLength} characters, without NUL or a leading dash; fixed flags belong in argv`
174
+ );
175
+ }
176
+ }
177
+ }
178
+
179
+ // src/domains/agents/fleet-contract.ts
180
+ init_esm_shims();
181
+ import { existsSync as existsSync2, readdirSync, readFileSync as readFileSync2 } from "node:fs";
182
+ import { basename, join as join2 } from "node:path";
183
+
184
+ // src/domains/agents/write-boundary.ts
185
+ init_esm_shims();
186
+ var WRITE_BOUNDARY_MAX_ENTRIES = PATH_BOUNDARY_MAX_ENTRIES;
187
+ function normalizeWriteBoundaryEntry(entry) {
188
+ return normalizePathBoundaryEntry(entry);
189
+ }
190
+ function normalizeWriteBoundary(entries) {
191
+ return normalizePathBoundary(entries);
192
+ }
193
+ function writeBoundaryCovers(boundary, path) {
194
+ return pathBoundaryCovers(boundary, path);
195
+ }
196
+ function describeWriteBoundary(boundary) {
197
+ return boundary.length === 0 ? "(nothing: readonly)" : boundary.join(", ");
198
+ }
199
+
200
+ // src/domains/agents/fleet-contract.ts
201
+ var FLEET_WRITE_BOUNDARY_VERSION = 4;
202
+ var FLEET_DYNAMIC_STEP_VERSION = 5;
203
+ var FLEET_LOOP_MAX_ATTEMPTS = 5;
204
+ var FleetScopeSchema = typebox_exports.Union([typebox_exports.Literal("readonly"), typebox_exports.Literal("workspace")]);
205
+ function writesSchema(version) {
206
+ return version >= FLEET_WRITE_BOUNDARY_VERSION ? { writes: typebox_exports.Optional(typebox_exports.Array(typebox_exports.String({ minLength: 1 }), { maxItems: WRITE_BOUNDARY_MAX_ENTRIES })) } : {};
207
+ }
208
+ function routeSchema(version) {
209
+ return version >= FLEET_DYNAMIC_STEP_VERSION ? { target: typebox_exports.Optional(typebox_exports.String({ minLength: 1 })), profile: typebox_exports.Optional(typebox_exports.String({ minLength: 1 })) } : {};
210
+ }
211
+ function agentStepSchema(version) {
212
+ return typebox_exports.Object(
213
+ {
214
+ kind: typebox_exports.Optional(typebox_exports.Literal("agent")),
215
+ id: typebox_exports.String({ minLength: 1 }),
216
+ agent: typebox_exports.String({ minLength: 1 }),
217
+ scope: FleetScopeSchema,
218
+ dependencies: typebox_exports.Array(typebox_exports.String({ minLength: 1 })),
219
+ ...writesSchema(version),
220
+ ...routeSchema(version)
221
+ },
222
+ { additionalProperties: false }
223
+ );
224
+ }
225
+ function gateStepSchema() {
226
+ return typebox_exports.Object(
227
+ {
228
+ kind: typebox_exports.Literal("gate"),
229
+ id: typebox_exports.String({ minLength: 1 }),
230
+ agent: typebox_exports.String({ minLength: 1 }),
231
+ path: typebox_exports.String({ minLength: 1 }),
232
+ run: typebox_exports.String({ minLength: 1 }),
233
+ scope: typebox_exports.Optional(typebox_exports.Literal("workspace")),
234
+ dependencies: typebox_exports.Array(typebox_exports.String({ minLength: 1 })),
235
+ ...routeSchema(5)
236
+ },
237
+ { additionalProperties: false }
238
+ );
239
+ }
240
+ function planStepSchema() {
241
+ return typebox_exports.Object(
242
+ {
243
+ kind: typebox_exports.Literal("plan"),
244
+ id: typebox_exports.String({ minLength: 1 }),
245
+ agent: typebox_exports.Optional(typebox_exports.String({ minLength: 1 })),
246
+ roster: typebox_exports.Array(typebox_exports.String({ minLength: 1 }), { minItems: 1, maxItems: 16 }),
247
+ maxTasks: typebox_exports.Integer({ minimum: 1, maximum: 16 }),
248
+ proposals: typebox_exports.Optional(typebox_exports.Boolean()),
249
+ scope: FleetScopeSchema,
250
+ dependencies: typebox_exports.Array(typebox_exports.String({ minLength: 1 })),
251
+ ...writesSchema(5),
252
+ ...routeSchema(5)
253
+ },
254
+ { additionalProperties: false }
255
+ );
256
+ }
257
+ function codeStepSchema(version) {
258
+ return typebox_exports.Object(
259
+ {
260
+ kind: typebox_exports.Literal("code"),
261
+ id: typebox_exports.String({ minLength: 1 }),
262
+ command: typebox_exports.String({ minLength: 1 }),
263
+ args: typebox_exports.Optional(typebox_exports.Array(typebox_exports.String({ maxLength: 8192, pattern: "^[^\\u0000]*$" }), { maxItems: 64 })),
264
+ scope: FleetScopeSchema,
265
+ dependencies: typebox_exports.Array(typebox_exports.String({ minLength: 1 })),
266
+ ...version >= 3 ? { commitFrom: typebox_exports.Optional(typebox_exports.Array(typebox_exports.String({ minLength: 1 }), { minItems: 1 })) } : {},
267
+ ...writesSchema(version)
268
+ },
269
+ { additionalProperties: false }
270
+ );
271
+ }
272
+ function loopStepSchema(version) {
273
+ return typebox_exports.Object(
274
+ {
275
+ kind: typebox_exports.Literal("loop"),
276
+ id: typebox_exports.String({ minLength: 1 }),
277
+ // Required and finite: this is the whole point of the construct.
278
+ maxAttempts: typebox_exports.Integer({ minimum: 1, maximum: FLEET_LOOP_MAX_ATTEMPTS }),
279
+ dependencies: typebox_exports.Array(typebox_exports.String({ minLength: 1 })),
280
+ check: typebox_exports.Union([
281
+ typebox_exports.Object(
282
+ {
283
+ kind: typebox_exports.Literal("code"),
284
+ command: typebox_exports.String({ minLength: 1 }),
285
+ args: typebox_exports.Optional(typebox_exports.Array(typebox_exports.String({ maxLength: 8192, pattern: "^[^\\u0000]*$" }), { maxItems: 64 })),
286
+ scope: FleetScopeSchema,
287
+ ...writesSchema(version)
288
+ },
289
+ { additionalProperties: false }
290
+ ),
291
+ ...version >= FLEET_DYNAMIC_STEP_VERSION ? [
292
+ typebox_exports.Object(
293
+ { kind: typebox_exports.Literal("gate"), gate: typebox_exports.String({ minLength: 1 }) },
294
+ { additionalProperties: false }
295
+ )
296
+ ] : [],
297
+ typebox_exports.Object(
298
+ {
299
+ kind: typebox_exports.Literal("agent"),
300
+ agent: typebox_exports.String({ minLength: 1 }),
301
+ scope: FleetScopeSchema,
302
+ ...writesSchema(version),
303
+ ...routeSchema(version)
304
+ },
305
+ { additionalProperties: false }
306
+ )
307
+ ]),
308
+ repair: typebox_exports.Object(
309
+ {
310
+ kind: typebox_exports.Optional(typebox_exports.Literal("agent")),
311
+ agent: typebox_exports.String({ minLength: 1 }),
312
+ scope: FleetScopeSchema,
313
+ ...writesSchema(version),
314
+ ...routeSchema(version)
315
+ },
316
+ { additionalProperties: false }
317
+ )
318
+ },
319
+ { additionalProperties: false }
320
+ );
321
+ }
322
+ function stepSchema(version) {
323
+ if (version === 1) return agentStepSchema(1);
324
+ if (version === 2) return typebox_exports.Union([agentStepSchema(2), codeStepSchema(2)]);
325
+ if (version === 5) {
326
+ return typebox_exports.Union([
327
+ agentStepSchema(version),
328
+ codeStepSchema(version),
329
+ loopStepSchema(version),
330
+ gateStepSchema(),
331
+ planStepSchema()
332
+ ]);
333
+ }
334
+ return typebox_exports.Union([agentStepSchema(version), codeStepSchema(version), loopStepSchema(version)]);
335
+ }
336
+ function frontmatterSchema(version) {
337
+ return typebox_exports.Object(
338
+ {
339
+ version: typebox_exports.Literal(version),
340
+ name: typebox_exports.String({ minLength: 1 }),
341
+ description: typebox_exports.Optional(typebox_exports.String()),
342
+ steps: typebox_exports.Array(stepSchema(version), { minItems: 1 }),
343
+ maxWorkers: typebox_exports.Integer({ minimum: 1 }),
344
+ budgetUsd: typebox_exports.Optional(typebox_exports.Number()),
345
+ onFailure: typebox_exports.Union([typebox_exports.Literal("stop"), typebox_exports.Literal("continue")]),
346
+ ...version >= FLEET_DYNAMIC_STEP_VERSION ? { writers: typebox_exports.Optional(typebox_exports.Literal(1)) } : {}
347
+ },
348
+ { additionalProperties: false }
349
+ );
350
+ }
351
+ var SCHEMAS = {
352
+ 1: frontmatterSchema(1),
353
+ 2: frontmatterSchema(2),
354
+ 3: frontmatterSchema(3),
355
+ 4: frontmatterSchema(4),
356
+ 5: frontmatterSchema(5)
357
+ };
358
+ function contractVersion(frontmatter) {
359
+ const value = frontmatter.version;
360
+ return value === 1 || value === 2 || value === 3 || value === 4 || value === 5 ? value : null;
361
+ }
362
+ function firstSchemaError2(frontmatter, version) {
363
+ const schema = SCHEMAS[version];
364
+ if (value_exports.Check(schema, frontmatter)) return null;
365
+ const first = [...value_exports.Errors(schema, frontmatter)][0];
366
+ return first ? `${first.instancePath || "(root)"}: ${first.message}` : "front matter failed validation";
367
+ }
368
+ function fleetsDir(cwd) {
369
+ return join2(cwd, ".clio-coder", "fleets");
370
+ }
371
+ function normalizedWrites(writes) {
372
+ return writes === void 0 ? {} : { writes: normalizeWriteBoundary(writes) };
373
+ }
374
+ function normalizeStep(step) {
375
+ const route = (value) => ({
376
+ ...value.target !== void 0 ? { target: value.target } : {},
377
+ ...value.profile !== void 0 ? { profile: value.profile } : {}
378
+ });
379
+ if (step.kind === "gate") {
380
+ return {
381
+ kind: "gate",
382
+ id: step.id,
383
+ agent: step.agent ?? "",
384
+ path: step.path ?? "",
385
+ run: step.run ?? "",
386
+ scope: "workspace",
387
+ dependencies: [...step.dependencies],
388
+ ...route(step)
389
+ };
390
+ }
391
+ if (step.kind === "plan") {
392
+ return {
393
+ kind: "plan",
394
+ id: step.id,
395
+ agent: step.agent ?? "architect",
396
+ roster: [...step.roster ?? []],
397
+ maxTasks: step.maxTasks ?? 0,
398
+ proposals: step.proposals ?? false,
399
+ scope: step.scope,
400
+ dependencies: [...step.dependencies],
401
+ ...normalizedWrites(step.writes),
402
+ ...route(step)
403
+ };
404
+ }
405
+ if (step.kind === "loop") {
406
+ const check = step.check;
407
+ const repair = step.repair;
408
+ return {
409
+ kind: "loop",
410
+ id: step.id,
411
+ maxAttempts: step.maxAttempts ?? 0,
412
+ dependencies: [...step.dependencies],
413
+ check: check.kind === "code" ? {
414
+ kind: "code",
415
+ command: check.command ?? "",
416
+ ...check.args ? { args: [...check.args] } : {},
417
+ scope: check.scope,
418
+ ...normalizedWrites(check.writes)
419
+ } : check.kind === "gate" ? { kind: "gate", gate: check.gate ?? "" } : {
420
+ kind: "agent",
421
+ agent: check.agent ?? "",
422
+ scope: check.scope,
423
+ ...normalizedWrites(check.writes),
424
+ ...route(check)
425
+ },
426
+ repair: {
427
+ kind: "agent",
428
+ agent: repair.agent,
429
+ scope: repair.scope,
430
+ ...normalizedWrites(repair.writes),
431
+ ...route(repair)
432
+ }
433
+ };
434
+ }
435
+ if (step.kind === "code") {
436
+ return {
437
+ kind: "code",
438
+ id: step.id,
439
+ command: step.command ?? "",
440
+ ...step.args ? { args: [...step.args] } : {},
441
+ scope: step.scope,
442
+ dependencies: [...step.dependencies],
443
+ ...step.commitFrom !== void 0 ? { commitFrom: [...step.commitFrom] } : {},
444
+ ...normalizedWrites(step.writes)
445
+ };
446
+ }
447
+ return {
448
+ kind: "agent",
449
+ id: step.id,
450
+ agent: step.agent ?? "",
451
+ scope: step.scope,
452
+ dependencies: [...step.dependencies],
453
+ ...normalizedWrites(step.writes),
454
+ ...route(step)
455
+ };
456
+ }
457
+ function fleetLoopCheckStepId(loopId, attempt) {
458
+ return `${loopId}.check.${attempt}`;
459
+ }
460
+ function fleetLoopRepairStepId(loopId, attempt) {
461
+ return `${loopId}.repair.${attempt}`;
462
+ }
463
+ function occupiedIds(contract) {
464
+ const owners = /* @__PURE__ */ new Map();
465
+ for (const step of contract.steps) {
466
+ owners.set(step.id, step.id);
467
+ if (step.kind !== "loop") continue;
468
+ for (let attempt = 1; attempt <= step.maxAttempts; attempt++) {
469
+ owners.set(fleetLoopCheckStepId(step.id, attempt), step.id);
470
+ if (attempt < step.maxAttempts) owners.set(fleetLoopRepairStepId(step.id, attempt), step.id);
471
+ }
472
+ }
473
+ return owners;
474
+ }
475
+ function validateFleetGraph(contract) {
476
+ const declared = /* @__PURE__ */ new Set();
477
+ for (const step of contract.steps) {
478
+ if (declared.has(step.id)) throw new Error(`fleet contract ${contract.path}: duplicate step id '${step.id}'`);
479
+ declared.add(step.id);
480
+ }
481
+ const owners = /* @__PURE__ */ new Map();
482
+ for (const step of contract.steps) {
483
+ if (step.kind !== "loop") continue;
484
+ for (const [generated, owner] of occupiedIds({ steps: [step] })) {
485
+ if (generated === step.id) continue;
486
+ if (declared.has(generated)) {
487
+ throw new Error(
488
+ `fleet contract ${contract.path}: step id '${generated}' collides with an id loop '${owner}' generates`
489
+ );
490
+ }
491
+ owners.set(generated, owner);
492
+ }
493
+ }
494
+ for (const step of contract.steps) {
495
+ if (step.kind === "loop" && step.check.kind === "gate") {
496
+ const gateId = step.check.gate;
497
+ const gate = contract.steps.find((candidate) => candidate.id === gateId);
498
+ if (gate?.kind !== "gate") {
499
+ throw new Error(`fleet contract ${contract.path}: loop '${step.id}' names unknown gate '${gateId}'`);
500
+ }
501
+ }
502
+ for (const dependency of step.dependencies) {
503
+ if (dependency === step.id) throw new Error(`fleet contract ${contract.path}: step '${step.id}' depends on itself`);
504
+ if (!declared.has(dependency)) {
505
+ throw new Error(`fleet contract ${contract.path}: step '${step.id}' has unknown dependency '${dependency}'`);
506
+ }
507
+ }
508
+ }
509
+ const remaining = new Set(declared);
510
+ const settled = /* @__PURE__ */ new Set();
511
+ while (remaining.size > 0) {
512
+ const ready = contract.steps.filter(
513
+ (step) => remaining.has(step.id) && step.dependencies.every((dependency) => settled.has(dependency))
514
+ );
515
+ if (ready.length === 0) {
516
+ throw new Error(`fleet contract ${contract.path}: dependency cycle among steps ${[...remaining].sort().join(", ")}`);
517
+ }
518
+ for (const step of ready) {
519
+ remaining.delete(step.id);
520
+ settled.add(step.id);
521
+ }
522
+ }
523
+ const ancestors = fleetStepAncestors(contract.steps);
524
+ for (const step of contract.steps) {
525
+ if (step.kind !== "code" || step.commitFrom === void 0) continue;
526
+ for (const source of step.commitFrom) {
527
+ const target = contract.steps.find((candidate) => candidate.id === source);
528
+ if (target === void 0) {
529
+ throw new Error(`fleet contract ${contract.path}: commit step '${step.id}' names unknown source '${source}'`);
530
+ }
531
+ if (target.kind === "code") {
532
+ throw new Error(
533
+ `fleet contract ${contract.path}: commit step '${step.id}' source '${source}' is a code step and authors no commit message`
534
+ );
535
+ }
536
+ if (!(ancestors.get(step.id)?.has(source) ?? false)) {
537
+ throw new Error(
538
+ `fleet contract ${contract.path}: commit step '${step.id}' must depend on its message source '${source}'`
539
+ );
540
+ }
541
+ }
542
+ }
543
+ }
544
+ function fleetStepWriteBoundary(version, scope, writes) {
545
+ if (version < FLEET_WRITE_BOUNDARY_VERSION) return void 0;
546
+ return scope === "readonly" ? [] : [...writes ?? []];
547
+ }
548
+ function fleetStepBoundaries(contract) {
549
+ const boundaries = [];
550
+ const add = (id, scope, writes) => {
551
+ boundaries.push({ id, scope, writes: fleetStepWriteBoundary(contract.version, scope, writes) });
552
+ };
553
+ for (const step of contract.steps) {
554
+ if (step.kind === "loop") {
555
+ if (step.check.kind === "gate") {
556
+ const gateId = step.check.gate;
557
+ const gate = contract.steps.find((candidate) => candidate.id === gateId);
558
+ if (gate?.kind === "gate") add(`${step.id}.check`, "workspace", [gate.path]);
559
+ } else add(`${step.id}.check`, step.check.scope, step.check.writes);
560
+ add(`${step.id}.repair`, step.repair.scope, step.repair.writes);
561
+ continue;
562
+ }
563
+ if (step.kind === "gate") {
564
+ add(step.id, "workspace", [step.path]);
565
+ continue;
566
+ }
567
+ add(step.id, step.scope, step.writes);
568
+ }
569
+ return boundaries;
570
+ }
571
+ function validateWriteBoundaries(contract) {
572
+ if (contract.version < FLEET_WRITE_BOUNDARY_VERSION) return;
573
+ for (const position of fleetStepBoundaries(contract)) {
574
+ if (position.scope === "workspace" && (position.writes?.length ?? 0) === 0) {
575
+ throw new Error(
576
+ `fleet contract ${contract.path}: step '${position.id}' has scope 'workspace' and must declare a non-empty 'writes' allowlist at version ${FLEET_WRITE_BOUNDARY_VERSION}`
577
+ );
578
+ }
579
+ }
580
+ for (const step of contract.steps) {
581
+ const declared = step.kind === "loop" ? [
582
+ ...step.check.kind === "gate" ? [] : [{ id: `${step.id}.check`, scope: step.check.scope, writes: step.check.writes }],
583
+ { id: `${step.id}.repair`, scope: step.repair.scope, writes: step.repair.writes }
584
+ ] : step.kind === "gate" ? [] : [{ id: step.id, scope: step.scope, writes: step.writes }];
585
+ for (const position of declared) {
586
+ if (position.scope === "readonly" && position.writes !== void 0) {
587
+ throw new Error(
588
+ `fleet contract ${contract.path}: step '${position.id}' is 'readonly', which is the empty allowlist; remove its 'writes' or give it scope 'workspace'`
589
+ );
590
+ }
591
+ }
592
+ }
593
+ }
594
+ function fleetStepAncestors(steps) {
595
+ const direct = new Map(steps.map((step) => [step.id, step.dependencies]));
596
+ const closure = /* @__PURE__ */ new Map();
597
+ const resolve = (id, seen) => {
598
+ const cached = closure.get(id);
599
+ if (cached !== void 0) return cached;
600
+ const result = /* @__PURE__ */ new Set();
601
+ if (seen.has(id)) return result;
602
+ seen.add(id);
603
+ for (const dependency of direct.get(id) ?? []) {
604
+ result.add(dependency);
605
+ for (const inherited of resolve(dependency, seen)) result.add(inherited);
606
+ }
607
+ closure.set(id, result);
608
+ return result;
609
+ };
610
+ for (const step of steps) resolve(step.id, /* @__PURE__ */ new Set());
611
+ return closure;
612
+ }
613
+ function parseFleetContract(raw, sourcePath) {
614
+ const { frontmatter, body } = parseFrontmatter(raw, sourcePath);
615
+ const version = contractVersion(frontmatter);
616
+ if (version === null) {
617
+ throw new Error(`fleet contract ${sourcePath}: version must be 1, 2, 3, 4, or 5`);
618
+ }
619
+ if (version < FLEET_WRITE_BOUNDARY_VERSION) assertNoWritesBefore(frontmatter, sourcePath, version);
620
+ if (version < FLEET_DYNAMIC_STEP_VERSION) assertNoV5FieldsBefore(frontmatter, sourcePath, version);
621
+ if (version >= FLEET_DYNAMIC_STEP_VERSION) assertNoGateWrites(frontmatter, sourcePath);
622
+ const schemaError = firstSchemaError2(frontmatter, version);
623
+ if (schemaError !== null) {
624
+ throw new Error(`fleet contract ${sourcePath}: ${schemaError}`);
625
+ }
626
+ const fm = frontmatter;
627
+ if (fm.budgetUsd !== void 0 && !(fm.budgetUsd > 0)) {
628
+ throw new Error(`fleet contract ${sourcePath}: budgetUsd must be a positive number`);
629
+ }
630
+ const trimmedBody = body.trim();
631
+ if (trimmedBody.length === 0) {
632
+ throw new Error(`fleet contract ${sourcePath}: prompt body is empty`);
633
+ }
634
+ const contract = {
635
+ version,
636
+ name: fm.name,
637
+ description: fm.description ?? "",
638
+ steps: fm.steps.map(normalizeStep),
639
+ maxWorkers: fm.maxWorkers,
640
+ budgetUsd: fm.budgetUsd ?? null,
641
+ onFailure: fm.onFailure,
642
+ ...fm.writers === 1 ? { writers: 1 } : {},
643
+ body: trimmedBody,
644
+ path: sourcePath
645
+ };
646
+ validateFleetGraph(contract);
647
+ validateWriteBoundaries(contract);
648
+ validateV5Declarations(contract);
649
+ return contract;
650
+ }
651
+ function validateV5Declarations(contract) {
652
+ if (contract.version < FLEET_DYNAMIC_STEP_VERSION) return;
653
+ const route = (id, value) => {
654
+ if (value.target !== void 0 && value.profile !== void 0) {
655
+ throw new Error(`fleet contract ${contract.path}: step '${id}' may declare target or profile, never both`);
656
+ }
657
+ };
658
+ for (const step of contract.steps) {
659
+ if (step.kind === "agent" || step.kind === "plan" || step.kind === "gate") route(step.id, step);
660
+ if (step.kind === "plan" && new Set(step.roster).size !== step.roster.length) {
661
+ throw new Error(`fleet contract ${contract.path}: plan step '${step.id}' roster contains duplicate agents`);
662
+ }
663
+ if (step.kind === "gate") {
664
+ let normalized;
665
+ try {
666
+ normalized = normalizeWriteBoundary([step.path]);
667
+ } catch (error) {
668
+ throw new Error(
669
+ `fleet contract ${contract.path}: gate '${step.id}' path is invalid: ${error instanceof Error ? error.message : String(error)}`
670
+ );
671
+ }
672
+ if (normalized[0] !== step.path.replaceAll("\\", "/")) {
673
+ throw new Error(
674
+ `fleet contract ${contract.path}: gate '${step.id}' path must be normalized and repository-relative`
675
+ );
676
+ }
677
+ }
678
+ if (step.kind !== "loop") continue;
679
+ if (step.check.kind === "agent") route(`${step.id}.check`, step.check);
680
+ route(`${step.id}.repair`, step.repair);
681
+ }
682
+ }
683
+ function assertNoWritesBefore(frontmatter, sourcePath, version) {
684
+ const steps = Array.isArray(frontmatter.steps) ? frontmatter.steps : [];
685
+ const declaresWrites = (value) => typeof value === "object" && value !== null && "writes" in value;
686
+ for (const step of steps) {
687
+ const raw = step;
688
+ if (declaresWrites(raw) || declaresWrites(raw.check) || declaresWrites(raw.repair)) {
689
+ throw new Error(
690
+ `fleet contract ${sourcePath}: 'writes' requires contract version ${FLEET_WRITE_BOUNDARY_VERSION}; this contract declares version ${version}, where the declaration would not be enforced`
691
+ );
692
+ }
693
+ }
694
+ }
695
+ function assertNoGateWrites(frontmatter, sourcePath) {
696
+ for (const value of Array.isArray(frontmatter.steps) ? frontmatter.steps : []) {
697
+ if (typeof value !== "object" || value === null) continue;
698
+ const step = value;
699
+ if (step.kind !== "gate" || typeof step.id !== "string" || step.id.length === 0 || !("writes" in step)) continue;
700
+ throw new Error(
701
+ `fleet contract ${sourcePath}: gate step '${step.id}' must not declare 'writes'; its write boundary is derived from 'path'`
702
+ );
703
+ }
704
+ }
705
+ function assertNoV5FieldsBefore(frontmatter, sourcePath, version) {
706
+ const forbidden = ["target", "profile"];
707
+ if ("writers" in frontmatter) {
708
+ throw new Error(
709
+ `fleet contract ${sourcePath}: 'writers' requires contract version ${FLEET_DYNAMIC_STEP_VERSION}; this contract declares version ${version}`
710
+ );
711
+ }
712
+ for (const value of Array.isArray(frontmatter.steps) ? frontmatter.steps : []) {
713
+ if (typeof value !== "object" || value === null) continue;
714
+ const step = value;
715
+ if (step.kind === "plan" || step.kind === "gate") {
716
+ throw new Error(
717
+ `fleet contract ${sourcePath}: kind '${String(step.kind)}' requires contract version ${FLEET_DYNAMIC_STEP_VERSION}; this contract declares version ${version}`
718
+ );
719
+ }
720
+ for (const candidate of [step, step.check, step.repair]) {
721
+ if (typeof candidate !== "object" || candidate === null) continue;
722
+ for (const field of forbidden) {
723
+ if (field in candidate) {
724
+ throw new Error(
725
+ `fleet contract ${sourcePath}: '${field}' requires contract version ${FLEET_DYNAMIC_STEP_VERSION}; this contract declares version ${version}`
726
+ );
727
+ }
728
+ }
729
+ }
730
+ }
731
+ }
732
+ function fleetCodeSteps(contract) {
733
+ const steps = [];
734
+ for (const step of contract.steps) {
735
+ if (step.kind === "code")
736
+ steps.push({ id: step.id, command: step.command, ...step.args ? { args: step.args } : {} });
737
+ else if (step.kind === "gate") steps.push({ id: step.id, command: step.run });
738
+ else if (step.kind === "loop" && step.check.kind === "code") {
739
+ steps.push({
740
+ id: fleetLoopCheckStepId(step.id, 1),
741
+ command: step.check.command,
742
+ ...step.check.args ? { args: step.check.args } : {}
743
+ });
744
+ }
745
+ }
746
+ return steps;
747
+ }
748
+ var FLEET_COMMANDS_REPO_PATH = ".clio-coder/fleets/commands.yaml";
749
+ var FLEET_COMMANDS_REMEDY = "declare each id there under `commands:` with an `argv` list; `clio-coder docs fleet_dispatch` has the schema";
750
+ var FleetCommandRegistryMissingError = class extends Error {
751
+ constructor(contractPath, commands) {
752
+ super(
753
+ `fleet contract ${contractPath}: code steps require a command registry at ${FLEET_COMMANDS_REPO_PATH} declaring ${commands.join(", ")}`
754
+ );
755
+ this.contractPath = contractPath;
756
+ this.commands = commands;
757
+ this.name = "FleetCommandRegistryMissingError";
758
+ }
759
+ contractPath;
760
+ commands;
761
+ };
762
+ function validateFleetCommands(contract, registry, vars) {
763
+ const codeSteps = fleetCodeSteps(contract);
764
+ if (codeSteps.length === 0) return;
765
+ if (registry === null) {
766
+ throw new FleetCommandRegistryMissingError(contract.path, [...new Set(codeSteps.map((step) => step.command))].sort());
767
+ }
768
+ for (const step of codeSteps) {
769
+ const command = registry.commands.get(step.command);
770
+ if (!command) {
771
+ const known = [...registry.commands.keys()].sort().join(", ");
772
+ throw new Error(
773
+ `fleet contract ${contract.path}: step '${step.id}' names unknown command '${step.command}' (registered: ${known || "none"})`
774
+ );
775
+ }
776
+ const args = vars === void 0 ? step.args ?? [] : resolveFleetCommandArgs(step.args ?? [], vars);
777
+ validateFleetCommandArgs(command, args, { allowTemplates: vars === void 0 });
778
+ }
779
+ }
780
+ function builtinFleetsDir() {
781
+ return join2(resolvePackageRoot(), "src", "domains", "agents", "fleets");
782
+ }
783
+ function resolveFleetReferences(contract, source) {
784
+ if (!source.rootPath) return contract;
785
+ const context = { rootPath: source.rootPath, plugin: source.source === "plugin" };
786
+ return {
787
+ ...contract,
788
+ body: resolvePackageReferences(contract.body, context),
789
+ steps: contract.steps.map((step) => {
790
+ if (step.kind === "code" && step.args)
791
+ return { ...step, args: step.args.map((arg) => resolvePackagePathReference(arg, context)) };
792
+ if (step.kind === "loop" && step.check.kind === "code" && step.check.args)
793
+ return {
794
+ ...step,
795
+ check: { ...step.check, args: step.check.args.map((arg) => resolvePackagePathReference(arg, context)) }
796
+ };
797
+ return step;
798
+ })
799
+ };
800
+ }
801
+ function fleetSources(cwd) {
802
+ return [
803
+ { dir: builtinFleetsDir(), source: "builtin" },
804
+ ...enabledPluginResourceRoots("fleets", cwd).sort((left, right) => left.source.localeCompare(right.source)).map((root) => ({ dir: root.path, rootPath: root.rootPath, source: "plugin" })),
805
+ { dir: join2(clioConfigDir(), "fleets"), source: "user" },
806
+ { dir: fleetsDir(cwd), source: "project" }
807
+ ];
808
+ }
809
+ function fleetContractPath(cwd, name) {
810
+ for (const source of [...fleetSources(cwd)].reverse()) {
811
+ const candidate = join2(source.dir, `${name}.md`);
812
+ if (existsSync2(candidate))
813
+ return { path: candidate, source: source.source, ...source.rootPath ? { rootPath: source.rootPath } : {} };
814
+ }
815
+ return null;
816
+ }
817
+ function loadFleetContract(cwd, name) {
818
+ const located = fleetContractPath(cwd, name);
819
+ if (located === null) {
820
+ throw new Error(`fleet contract not found: ${join2(fleetsDir(cwd), `${name}.md`)} (and no builtin named '${name}')`);
821
+ }
822
+ const contract = resolveFleetReferences(parseFleetContract(readFileSync2(located.path, "utf8"), located.path), located);
823
+ validateFleetCommands(contract, loadFleetCommands(cwd));
824
+ return contract;
825
+ }
826
+ function listDirectory(dir) {
827
+ if (!existsSync2(dir)) return [];
828
+ try {
829
+ return readdirSync(dir).filter((name) => name.endsWith(".md")).sort();
830
+ } catch {
831
+ return [];
832
+ }
833
+ }
834
+ function listFleetContracts(cwd) {
835
+ let registry = null;
836
+ let registryError = null;
837
+ try {
838
+ registry = loadFleetCommands(cwd);
839
+ } catch (err) {
840
+ registryError = err instanceof Error ? err.message : String(err);
841
+ }
842
+ const listings = /* @__PURE__ */ new Map();
843
+ const sources = fleetSources(cwd);
844
+ for (const { dir, source, rootPath } of sources) {
845
+ for (const file of listDirectory(dir)) {
846
+ const path = join2(dir, file);
847
+ const name = basename(file, ".md");
848
+ try {
849
+ const contract = resolveFleetReferences(parseFleetContract(readFileSync2(path, "utf8"), path), {
850
+ source,
851
+ ...rootPath ? { rootPath } : {}
852
+ });
853
+ if (registryError !== null && fleetCodeSteps(contract).length > 0) throw new Error(registryError);
854
+ validateFleetCommands(contract, registry);
855
+ listings.set(name, { name, path, source, contract, error: null, needsCommands: null });
856
+ } catch (err) {
857
+ listings.set(name, {
858
+ name,
859
+ path,
860
+ source,
861
+ contract: null,
862
+ error: err instanceof Error ? err.message : String(err),
863
+ // A registry this repo never wrote is unfinished setup. A registry
864
+ // that exists and does not parse, or one missing an id the contract
865
+ // names, is a real error and stays one.
866
+ needsCommands: err instanceof FleetCommandRegistryMissingError ? err.commands : null
867
+ });
868
+ }
869
+ }
870
+ }
871
+ return [...listings.values()].sort((left, right) => left.name.localeCompare(right.name));
872
+ }
873
+ var PLACEHOLDER_RE = /\{\{\s*([A-Za-z_][A-Za-z0-9_-]*)\s*\}\}/g;
874
+ function renderFleetPrompt(body, vars) {
875
+ const missing = /* @__PURE__ */ new Set();
876
+ const rendered = body.replace(PLACEHOLDER_RE, (_match, name) => {
877
+ const value = vars[name];
878
+ if (value === void 0) {
879
+ missing.add(name);
880
+ return "";
881
+ }
882
+ return value;
883
+ });
884
+ if (missing.size > 0) {
885
+ throw new Error(`fleet prompt: unresolved template variables: ${[...missing].join(", ")} (pass --var name=value)`);
886
+ }
887
+ return rendered;
888
+ }
889
+
890
+ export {
891
+ FLEET_COMMAND_BASE_ENV,
892
+ loadFleetCommands,
893
+ resolveFleetCommandArgs,
894
+ validateFleetCommandArgs,
895
+ normalizeWriteBoundaryEntry,
896
+ normalizeWriteBoundary,
897
+ writeBoundaryCovers,
898
+ describeWriteBoundary,
899
+ fleetLoopCheckStepId,
900
+ fleetLoopRepairStepId,
901
+ validateFleetGraph,
902
+ fleetStepWriteBoundary,
903
+ fleetStepBoundaries,
904
+ parseFleetContract,
905
+ fleetCodeSteps,
906
+ FLEET_COMMANDS_REPO_PATH,
907
+ FLEET_COMMANDS_REMEDY,
908
+ FleetCommandRegistryMissingError,
909
+ validateFleetCommands,
910
+ resolveFleetReferences,
911
+ loadFleetContract,
912
+ listFleetContracts,
913
+ renderFleetPrompt
914
+ };
915
+ //# sourceMappingURL=chunk-7QQRPB2E.js.map