@iowarp/clio-coder 0.4.5 → 0.4.7

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 (700) hide show
  1. package/.claude-plugin/marketplace.json +283 -0
  2. package/CHANGELOG.md +74 -0
  3. package/CONTRIBUTING.md +116 -38
  4. package/NOTICE +24 -0
  5. package/README.md +341 -682
  6. package/dist/{acp-H3CU2HBQ.js → acp-W3Y3TRHD.js} +12 -12
  7. package/dist/{agents-IXQQZ7BD.js → agents-J4ICNLQ3.js} +57 -56
  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/{auth-R7KYF7N3.js → auth-X2UJUMOC.js} +25 -25
  13. package/dist/{builtins-CRFDQUVP.js → builtins-XLXWWSRF.js} +6 -6
  14. package/dist/{chunk-DZK63TZJ.js → chunk-24S3DN22.js} +336 -612
  15. package/dist/{chunk-NTK3WTHM.js → chunk-24TOGHPO.js} +2 -2
  16. package/dist/{chunk-M6TAYK66.js → chunk-2O2LVQQK.js} +11 -4
  17. package/dist/{chunk-OQM5IVJY.js → chunk-34XHRVKG.js} +3 -3
  18. package/dist/{chunk-LY4N4TTL.js → chunk-3LXJOICS.js} +2 -2
  19. package/dist/{chunk-SE4ZKILO.js → chunk-3XE4NRLF.js} +30 -9
  20. package/dist/{chunk-YYB3MC65.js → chunk-4MFBBY2Z.js} +3 -3
  21. package/dist/{chunk-5VTJP36Q.js → chunk-4N2RZ4TO.js} +2 -2
  22. package/dist/{chunk-FKIOX6DS.js → chunk-4QKAITQT.js} +10 -5
  23. package/dist/chunk-4UHVS5T7.js +207 -0
  24. package/dist/{chunk-VLPTKCKT.js → chunk-5AJPUR72.js} +6 -6
  25. package/dist/{chunk-5CY4Q6QI.js → chunk-5EQO5NWP.js} +105 -3
  26. package/dist/{chunk-RXIOCVBZ.js → chunk-65BGHOUR.js} +8 -5
  27. package/dist/{chunk-T53XI6I7.js → chunk-6CA2BHOR.js} +2 -2
  28. package/dist/{chunk-HL26ADLH.js → chunk-6CB2IL4N.js} +2 -1
  29. package/dist/{chunk-HR3HPQ76.js → chunk-6LRLOJHQ.js} +3 -3
  30. package/dist/{chunk-HXHFDHB6.js → chunk-6TAATXXH.js} +6 -6
  31. package/dist/{chunk-WFKDPU7U.js → chunk-6YHPAAZR.js} +3 -3
  32. package/dist/{chunk-ZMZQEBKI.js → chunk-7EEGBKV4.js} +11 -11
  33. package/dist/{chunk-BS4GAMUB.js → chunk-A67NR5AT.js} +2 -2
  34. package/dist/{chunk-WJIMKGD6.js → chunk-BAU36233.js} +8 -8
  35. package/dist/{chunk-MDU3C27C.js → chunk-BO4XV5VX.js} +8 -8
  36. package/dist/{chunk-KF6GFW6O.js → chunk-BQQ5MXUC.js} +11 -11
  37. package/dist/{chunk-K6RDB7IA.js → chunk-C3G5PNUO.js} +23 -23
  38. package/dist/{chunk-SRZOW5L2.js → chunk-C6GEXX4L.js} +1 -1
  39. package/dist/{chunk-U2JOLB7O.js → chunk-CE64C5K5.js} +227 -72
  40. package/dist/chunk-CP3HIR5H.js +2119 -0
  41. package/dist/{chunk-BBV5TKE6.js → chunk-CPXGJI2A.js} +2 -2
  42. package/dist/{chunk-5DDOTTG4.js → chunk-CULVKYTK.js} +5 -5
  43. package/dist/{chunk-F34AR6O3.js → chunk-D2T66PDV.js} +6 -6
  44. package/dist/{chunk-NF3BK5WR.js → chunk-DACXIVVF.js} +5 -5
  45. package/dist/{chunk-4SVIVOMC.js → chunk-DLIYANB7.js} +20 -15
  46. package/dist/{chunk-E3BQTQUP.js → chunk-DO7M3LSX.js} +9 -9
  47. package/dist/{chunk-2QPI3TR3.js → chunk-DVJL77SO.js} +2 -2
  48. package/dist/chunk-EM2WNQS2.js +93 -0
  49. package/dist/{chunk-ODUTYZIU.js → chunk-EUEXGXXR.js} +5 -5
  50. package/dist/{chunk-UL36QJX6.js → chunk-EUZRMP4Y.js} +18 -16
  51. package/dist/{chunk-R6MAYTMS.js → chunk-G4LGUTOE.js} +4 -4
  52. package/dist/{chunk-CBSKDFWL.js → chunk-GEVQNST4.js} +2 -2
  53. package/dist/{chunk-XXBQKW32.js → chunk-GFQ7P2UF.js} +7 -7
  54. package/dist/{chunk-SBZX6ARC.js → chunk-GI5RRMAH.js} +14 -14
  55. package/dist/{chunk-KDWLXVMN.js → chunk-GVZFCJHE.js} +343 -113
  56. package/dist/{chunk-633EXGZA.js → chunk-GXIWHXDB.js} +3 -3
  57. package/dist/{chunk-LUL5Z66S.js → chunk-HOX4YZ2K.js} +6 -5
  58. package/dist/chunk-HRAKUPIH.js +57 -0
  59. package/dist/{chunk-KYKNBD4Y.js → chunk-IJMW64DX.js} +978 -258
  60. package/dist/{chunk-DIMRLNIC.js → chunk-IMOD2YPV.js} +16 -9
  61. package/dist/{chunk-6CDNRHWH.js → chunk-IQCNVLO6.js} +28 -8
  62. package/dist/{chunk-UTUNT5QL.js → chunk-ISNCCX42.js} +9 -9
  63. package/dist/{chunk-RLTT5GVY.js → chunk-IZYTT3CD.js} +9 -5
  64. package/dist/{chunk-5ZMXGW7P.js → chunk-KAFMW7WM.js} +4 -85
  65. package/dist/chunk-KKEYGFX4.js +915 -0
  66. package/dist/{chunk-HHVJNVUJ.js → chunk-KS7ETA3P.js} +2 -2
  67. package/dist/{chunk-UXAC2FX4.js → chunk-L3Z5ANCV.js} +7 -7
  68. package/dist/{chunk-EHCPSZJF.js → chunk-LBFQMYS3.js} +2 -2
  69. package/dist/{chunk-QEQISF75.js → chunk-LK2FN5JY.js} +1 -1
  70. package/dist/{chunk-URBGEOH3.js → chunk-M6Z2V6YU.js} +5 -5
  71. package/dist/{chunk-DRD2A54W.js → chunk-MBJO5VNZ.js} +18 -18
  72. package/dist/chunk-MNQN3X6Y.js +595 -0
  73. package/dist/{chunk-GXCCHKN6.js → chunk-MZHXENL7.js} +7 -7
  74. package/dist/chunk-MZNWZUJM.js +1801 -0
  75. package/dist/{chunk-7YJWEF2L.js → chunk-N37QC5FV.js} +5 -5
  76. package/dist/{chunk-WLMSOT73.js → chunk-NCCQ6DVS.js} +7 -7
  77. package/dist/{chunk-TZ7MFRG4.js → chunk-NO7J45X6.js} +170 -53
  78. package/dist/chunk-OH3YYA3B.js +15 -0
  79. package/dist/{chunk-22PQ4TX4.js → chunk-P4DL2LM5.js} +16 -77
  80. package/dist/{chunk-R6MICQYU.js → chunk-PFLOULP3.js} +4 -4
  81. package/dist/{chunk-MC3JSVR6.js → chunk-QJMRYTCX.js} +7 -7
  82. package/dist/{chunk-ILJ7DWGE.js → chunk-QKWL7SYE.js} +12 -12
  83. package/dist/chunk-R2CT5YDO.js +66 -0
  84. package/dist/chunk-RFCKPS2V.js +26 -0
  85. package/dist/{chunk-ONRTXOZY.js → chunk-RTLNFZMD.js} +12 -4
  86. package/dist/{chunk-U7H5WRG5.js → chunk-RXFPB32E.js} +8 -6
  87. package/dist/{chunk-S32UQ5GL.js → chunk-SEDI5K5B.js} +18 -18
  88. package/dist/{chunk-ICO4TQ2F.js → chunk-SELG4SUR.js} +41 -25
  89. package/dist/{chunk-YEJIG7LN.js → chunk-SER7RRAE.js} +27 -832
  90. package/dist/{chunk-K2HL3GBL.js → chunk-T4TY5GG3.js} +165 -15
  91. package/dist/chunk-T7QQBNLH.js +691 -0
  92. package/dist/{chunk-HGSLRG33.js → chunk-TLTGZTXI.js} +3 -3
  93. package/dist/chunk-TZ6UVP2H.js +637 -0
  94. package/dist/{chunk-EWD5P3GK.js → chunk-TZHN5ITX.js} +13 -41
  95. package/dist/{chunk-7TKWWPD7.js → chunk-U3TPUXOQ.js} +398 -253
  96. package/dist/{chunk-GNQRWTMY.js → chunk-UA3W4FGC.js} +6 -6
  97. package/dist/{chunk-O2RQ7LCK.js → chunk-UA6W4XFJ.js} +2 -2
  98. package/dist/chunk-UWD3JD5X.js +709 -0
  99. package/dist/chunk-V4ZKOKRB.js +13433 -0
  100. package/dist/{chunk-NC4KV7EL.js → chunk-VCRVEDUC.js} +5 -5
  101. package/dist/{chunk-I7VLWRK2.js → chunk-VMATUZB6.js} +12 -10
  102. package/dist/{chunk-J2FYEQ5L.js → chunk-VTYHHQ57.js} +2 -2
  103. package/dist/chunk-WB7POC6M.js +891 -0
  104. package/dist/{chunk-GVYWZNRK.js → chunk-WBVKKTUT.js} +2 -2
  105. package/dist/{chunk-EHOSNVVM.js → chunk-WLHX3MM5.js} +6 -2
  106. package/dist/{chunk-SDWNDICN.js → chunk-WN552PKN.js} +573 -316
  107. package/dist/{chunk-TEG3RYVZ.js → chunk-WT5TRMO4.js} +51 -26
  108. package/dist/{chunk-NY6IWDVU.js → chunk-WURGVOZJ.js} +56 -12
  109. package/dist/{chunk-7WUZEB2M.js → chunk-XR3XJN2M.js} +2 -2
  110. package/dist/chunk-XW2UZICE.js +372 -0
  111. package/dist/{chunk-FSTIBAGM.js → chunk-XZ6UFQ52.js} +11 -11
  112. package/dist/chunk-Y3JU5RPK.js +8 -0
  113. package/dist/chunk-YKRJTYNP.js +1143 -0
  114. package/dist/{chunk-7HBHHVCK.js → chunk-YPRSNUTC.js} +2 -2
  115. package/dist/{chunk-PWWSIB2A.js → chunk-ZGIGW4ZG.js} +5 -5
  116. package/dist/cli/index.js +34 -36
  117. package/dist/{clio-5I2IBFYL.js → clio-L2P7S2R2.js} +9 -9
  118. package/dist/{code-nav-YXIAEZVS.js → code-nav-B5LNX4KU.js} +25 -25
  119. package/dist/{components-TNIKXCBH.js → components-63MMQKUT.js} +6 -6
  120. package/dist/{config-Y2JDJ3JJ.js → config-YXARKGTX.js} +81 -77
  121. package/dist/configure-LMVQJ46J.js +85 -0
  122. package/dist/{context-QQ53HSGJ.js → context-7HJEWTTP.js} +92 -48
  123. package/dist/{context-S2EEC3EJ.js → context-XSZKKFBW.js} +14 -14
  124. package/dist/{context-P5YSEO55.js → context-YG2LZDYZ.js} +67 -64
  125. package/dist/{context-clear-TMEQCOTH.js → context-clear-AC5NXHM2.js} +64 -61
  126. package/dist/{context-index-HP2JFUWA.js → context-index-KKTPRV5G.js} +3 -3
  127. package/dist/{context-map-INTXD54D.js → context-map-T7ROR5D5.js} +4 -4
  128. package/dist/{context-working-set-CNLSQN5K.js → context-working-set-F4Q4J3NS.js} +15 -12
  129. package/dist/{detail-5572VLBO.js → detail-H73BEF2N.js} +65 -62
  130. package/dist/{dispatch-runner-FRHD6P2O.js → dispatch-runner-3RY5FSJC.js} +83 -80
  131. package/dist/{doctor-N3LCM2LG.js → doctor-EQYJOGUG.js} +47 -32
  132. package/dist/{eval-BUU3ZOUZ.js → eval-4P7O6CCE.js} +114 -50
  133. package/dist/{evidence-DTGEN456.js → evidence-D6GUSYJW.js} +64 -61
  134. package/dist/{evidence-SQ5DNFEN.js → evidence-O76QF7TZ.js} +69 -65
  135. package/dist/{evolve-IJNUFZDS.js → evolve-H47BCETS.js} +65 -62
  136. package/dist/{extensions-YVRHX6ZI.js → extensions-NNL3ZOCU.js} +98 -20
  137. package/dist/{fleet-ZNNVSYFO.js → fleet-KMNS6NOM.js} +115 -107
  138. package/dist/{fleet-commands-5YE7NPJL.js → fleet-commands-DOWSYCBX.js} +15 -15
  139. package/dist/{fleet-decisions-3SBSCTCW.js → fleet-decisions-S3PTZV2D.js} +9 -9
  140. package/dist/{fleet-graph-6HHPWF5T.js → fleet-graph-F2DE2TME.js} +26 -24
  141. package/dist/{fleet-inspect-JEYMGCGC.js → fleet-inspect-EN2Q6IVB.js} +67 -63
  142. package/dist/{fleet-preflight-QRSHIIDE.js → fleet-preflight-FRLETDD3.js} +3 -3
  143. package/dist/{fleet-validate-4PM4GDDL.js → fleet-validate-B2XDLS57.js} +28 -29
  144. package/dist/{fleet-verify-NJDTHTO3.js → fleet-verify-4JKUWGJ7.js} +64 -61
  145. package/dist/{fleet-view-UP2BWQQY.js → fleet-view-BHJFW26B.js} +67 -63
  146. package/dist/{init-S3GZQ5ZF.js → init-XAT5N5YM.js} +86 -80
  147. package/dist/interop-FVECHFKG.js +246 -0
  148. package/dist/{inventory-K2OZ36YJ.js → inventory-7KFQGLCV.js} +67 -63
  149. package/dist/library-NY2XOT75.js +492 -0
  150. package/dist/library-QAPAO23R.js +306 -0
  151. package/dist/library-import-5Y6MAS3R.js +183 -0
  152. package/dist/library-inventory-JT6HWITQ.js +56 -0
  153. package/dist/library-validation-EQUH25DC.js +42 -0
  154. package/dist/{memory-OQOXQGYD.js → memory-DYVTTCP6.js} +65 -62
  155. package/dist/{models-3IK2Y5WE.js → models-MASFJ6Y2.js} +51 -38
  156. package/dist/{monitor-FTJLTKCQ.js → monitor-YMP4NXJJ.js} +73 -69
  157. package/dist/{orchestrator-N47O7SFD.js → orchestrator-AFQRRTEI.js} +4255 -2845
  158. package/dist/{panes-7BTYH3XQ.js → panes-D3Y2KFG5.js} +4 -4
  159. package/dist/{panes-WPOMEMRH.js → panes-NICTHQCV.js} +7 -7
  160. package/dist/{paths-J3KN7UAO.js → paths-PSFAUIGO.js} +5 -5
  161. package/dist/{preload-65U34NG6.js → preload-5Q7VXRFJ.js} +64 -61
  162. package/dist/{reset-MUVQDLNL.js → reset-7NKZK7JN.js} +11 -9
  163. package/dist/{resources-LM76COAO.js → resources-NILSIZAT.js} +94 -38
  164. package/dist/{run-3VFZQ33N.js → run-BPZGEBZV.js} +131 -114
  165. package/dist/{share-4JUB4BL7.js → share-EZ6ERBMH.js} +31 -28
  166. package/dist/skills-BTVVNYVM.js +100 -0
  167. package/dist/{skills-eval-G6T57L7M.js → skills-eval-UY34MNK7.js} +117 -78
  168. package/dist/{skills-inventory-WLM46PJH.js → skills-inventory-JDHSIA7I.js} +30 -25
  169. package/dist/{slash-commands-GBARG3Y7.js → slash-commands-K4FNQ2AT.js} +53 -49
  170. package/dist/{steer-S7D7IKPU.js → steer-2B3EQGFH.js} +4 -4
  171. package/dist/{support-5VAEC32W.js → support-L2SOL3IE.js} +7 -7
  172. package/dist/{targets-N5REUETU.js → targets-44VKGFLN.js} +69 -47
  173. package/dist/{tasks-6BVY5YZF.js → tasks-3KODKFU7.js} +14 -14
  174. package/dist/{terminal-lease-57UEOJKS.js → terminal-lease-LXA7MMPO.js} +32 -19
  175. package/dist/{tools-6OCQ6SVB.js → tools-3UB7TEVR.js} +7 -7
  176. package/dist/{trace-JHLXWUMN.js → trace-TAMIU4OJ.js} +5 -4
  177. package/dist/{tui-primitives-RCY2HN7G.js → tui-primitives-A6MUW32V.js} +3 -2
  178. package/dist/{uninstall-FXYMFFRT.js → uninstall-QYVRPEM4.js} +9 -9
  179. package/dist/{upgrade-4HD5HAIV.js → upgrade-7PMKM2JH.js} +17 -18
  180. package/dist/{usage-4GWM2WWP.js → usage-6EQV7EQK.js} +77 -73
  181. package/dist/{verifiers-GSKWKWVG.js → verifiers-JLITWSHU.js} +16 -16
  182. package/dist/{verify-3AS3ULCY.js → verify-T7NAEVIG.js} +13 -13
  183. package/dist/{web-fetch-MQN4FH3X.js → web-fetch-W4TNW4Q7.js} +4 -4
  184. package/dist/{wiki-generate-7BV7XWIY.js → wiki-generate-T2TJQJUA.js} +90 -84
  185. package/dist/{with-panes-OFTNAR4Y.js → with-panes-CHFC7HGI.js} +4 -4
  186. package/dist/worker/entry.js +297 -88
  187. package/docs/README.md +43 -0
  188. package/docs/architecture/architecture.md +8 -7
  189. package/docs/architecture/artifact-versions.md +3 -3
  190. package/docs/architecture/context-engine.md +36 -2
  191. package/docs/architecture/library.md +32 -0
  192. package/docs/architecture/middleware-and-components.md +1 -1
  193. package/docs/architecture/model-catalog.md +21 -1
  194. package/docs/architecture/pi-boundary.md +18 -0
  195. package/docs/architecture/prompt-envelope-and-tools.md +5 -5
  196. package/docs/architecture/safety-model.md +21 -2
  197. package/docs/architecture/session-lifecycle.md +12 -1
  198. package/docs/architecture/tui-design.md +153 -39
  199. package/docs/architecture/worker-context.md +106 -0
  200. package/docs/guide/authoring-plugins.md +160 -0
  201. package/docs/guide/built-in-agents.md +5 -5
  202. package/docs/guide/commands-and-modes.md +186 -80
  203. package/docs/guide/configuration-and-targets.md +123 -28
  204. package/docs/guide/configuration-reference.md +36 -38
  205. package/docs/guide/environment-variables.md +2 -2
  206. package/docs/guide/exit-codes-and-output.md +1 -1
  207. package/docs/guide/extensions-and-sharing.md +93 -53
  208. package/docs/guide/fleet-dispatch.md +32 -10
  209. package/docs/guide/glossary.md +2 -2
  210. package/docs/guide/harness-extensions.md +291 -0
  211. package/docs/guide/installation-and-lifecycle.md +53 -20
  212. package/docs/guide/interop.md +243 -0
  213. package/docs/guide/panes-and-files.md +3 -3
  214. package/docs/guide/plugins.md +80 -0
  215. package/docs/guide/resource-library.md +111 -45
  216. package/docs/guide/skills-marketplace.md +35 -72
  217. package/docs/guide/tool-usage.md +19 -7
  218. package/docs/guide/troubleshooting.md +1 -1
  219. package/docs/process/development-pipeline.md +15 -15
  220. package/docs/process/documentation-coverage.md +29 -2
  221. package/docs/process/documentation-guide.md +15 -7
  222. package/docs/process/eval-runner.md +8 -3
  223. package/docs/process/performance-methodology.md +1 -1
  224. package/docs/process/release-cut-checklist.md +22 -6
  225. package/docs/process/scientific-validation.md +23 -0
  226. package/evals/scalar-decision-machinery.ts +1 -1
  227. package/examples/extensions/README.md +67 -0
  228. package/examples/extensions/lab-status/clio-coder-extension.json +14 -0
  229. package/examples/extensions/lab-status/extension.mjs +68 -0
  230. package/examples/extensions/lab-status/jobs.synthetic.json +9 -0
  231. package/examples/extensions/measurements/clio-coder-extension.json +28 -0
  232. package/examples/extensions/measurements/summarize.cjs +23 -0
  233. package/library/README.md +109 -0
  234. package/library/_authoring/templates/agent/README.md +28 -0
  235. package/library/_authoring/templates/agent/agents/benchmark-scout.md +30 -0
  236. package/library/_authoring/templates/agent/plugin.json +23 -0
  237. package/library/_authoring/templates/fleet/README.md +29 -0
  238. package/library/_authoring/templates/fleet/fleets/pipeline-review.md +31 -0
  239. package/library/_authoring/templates/fleet/plugin.json +23 -0
  240. package/library/_authoring/templates/plugin/README.md +37 -0
  241. package/library/_authoring/templates/plugin/agents/data-curator.md +31 -0
  242. package/library/_authoring/templates/plugin/assets/curation-guide.md +22 -0
  243. package/library/_authoring/templates/plugin/plugin.json +42 -0
  244. package/library/_authoring/templates/plugin/prompts/inspect-dataset.md +15 -0
  245. package/library/_authoring/templates/plugin/skills/dataset-curation/SKILL.md +36 -0
  246. package/library/_authoring/templates/plugin/skills/dataset-curation/evals.md +17 -0
  247. package/library/_authoring/templates/prompt/README.md +28 -0
  248. package/library/_authoring/templates/prompt/plugin.json +23 -0
  249. package/library/_authoring/templates/prompt/prompts/paper-summary.md +26 -0
  250. package/library/_authoring/templates/skill/README.md +24 -0
  251. package/library/_authoring/templates/skill/SKILL.md +39 -0
  252. package/library/_authoring/templates/skill/evals.md +30 -0
  253. package/library/_authoring/templates/skill/plugin.json +23 -0
  254. package/library/agents/README.md +7 -0
  255. package/library/fleets/README.md +7 -0
  256. package/library/plugins/materio/README.md +137 -0
  257. package/library/plugins/materio/ai.iowarp.clio/agents/materio-lab-definer.md +208 -0
  258. package/library/plugins/materio/ai.iowarp.clio/agents/materio-literature-reviewer.md +308 -0
  259. package/library/plugins/materio/ai.iowarp.clio/agents/materio-research-explorer.md +249 -0
  260. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-executor.md +416 -0
  261. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-verifier.md +60 -0
  262. package/library/plugins/materio/ai.iowarp.clio/agents/materio-workflow-planner.md +238 -0
  263. package/library/plugins/materio/ai.iowarp.clio/fleets/materio-execute-task.md +50 -0
  264. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/add-task.md +66 -0
  265. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/archive-task.md +65 -0
  266. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/checkpoint.md +26 -0
  267. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-research-tasks.md +230 -0
  268. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-virtual-lab.md +181 -0
  269. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/execute-task.md +292 -0
  270. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/help.md +129 -0
  271. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/identify-research.md +206 -0
  272. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/literature-review.md +201 -0
  273. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/pause-research.md +12 -0
  274. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/progress.md +105 -0
  275. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/remove-task.md +63 -0
  276. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/resume-research.md +64 -0
  277. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/settings.md +16 -0
  278. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/status.md +92 -0
  279. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/upload-data.md +104 -0
  280. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/wtfp.md +145 -0
  281. package/library/plugins/materio/ai.iowarp.clio/references/execution.md +56 -0
  282. package/library/plugins/materio/ai.iowarp.portability/provenance.json +9 -0
  283. package/library/plugins/materio/assets/actions/add-task.md +86 -0
  284. package/library/plugins/materio/assets/actions/archive-task.md +84 -0
  285. package/library/plugins/materio/assets/actions/checkpoint.md +47 -0
  286. package/library/plugins/materio/assets/actions/define-research-tasks.md +228 -0
  287. package/library/plugins/materio/assets/actions/define-virtual-lab.md +179 -0
  288. package/library/plugins/materio/assets/actions/execute-task.md +290 -0
  289. package/library/plugins/materio/assets/actions/help.md +140 -0
  290. package/library/plugins/materio/assets/actions/identify-research.md +204 -0
  291. package/library/plugins/materio/assets/actions/literature-review.md +199 -0
  292. package/library/plugins/materio/assets/actions/pause-research.md +34 -0
  293. package/library/plugins/materio/assets/actions/progress.md +125 -0
  294. package/library/plugins/materio/assets/actions/remove-task.md +82 -0
  295. package/library/plugins/materio/assets/actions/resume-research.md +84 -0
  296. package/library/plugins/materio/assets/actions/settings.md +38 -0
  297. package/library/plugins/materio/assets/actions/status.md +112 -0
  298. package/library/plugins/materio/assets/actions/upload-data.md +123 -0
  299. package/library/plugins/materio/assets/actions/wtfp.md +179 -0
  300. package/library/plugins/materio/assets/references/research-domains.md +134 -0
  301. package/library/plugins/materio/assets/references/research-policy.md +77 -0
  302. package/library/plugins/materio/assets/references/traditional-workflows.md +146 -0
  303. package/library/plugins/materio/assets/scripts/check_physics.py +271 -0
  304. package/library/plugins/materio/assets/scripts/check_scripts.py +248 -0
  305. package/library/plugins/materio/assets/scripts/project_plugin.py +165 -0
  306. package/library/plugins/materio/assets/scripts/research_state.py +400 -0
  307. package/library/plugins/materio/assets/scripts/verify_citations.py +616 -0
  308. package/library/plugins/materio/assets/templates/RESEARCH.md +39 -0
  309. package/library/plugins/materio/assets/templates/VIRTUAL-LAB.md +120 -0
  310. package/library/plugins/materio/assets/templates/WORKFLOW.md +42 -0
  311. package/library/plugins/materio/assets/templates/config.json +5 -0
  312. package/library/plugins/materio/evals/scripts.yaml +29 -0
  313. package/library/plugins/materio/plugin.json +530 -0
  314. package/library/plugins/materio/skills/materio-lab-definer/SKILL.md +74 -0
  315. package/library/plugins/materio/skills/materio-literature-reviewer/SKILL.md +64 -0
  316. package/library/plugins/materio/skills/materio-research-explorer/SKILL.md +74 -0
  317. package/library/plugins/materio/skills/materio-task-executor/SKILL.md +214 -0
  318. package/library/plugins/materio/skills/materio-task-verifier/SKILL.md +46 -0
  319. package/library/plugins/materio/skills/materio-workflow-planner/SKILL.md +79 -0
  320. package/library/plugins/materio/tests/test_check_physics.py +139 -0
  321. package/library/plugins/materio/tests/test_check_scripts.py +140 -0
  322. package/library/plugins/materio/tests/test_research_state.py +291 -0
  323. package/library/plugins/materio/tests/test_verify_citations.py +337 -0
  324. package/library/prompts/README.md +7 -0
  325. package/library/registry.yaml +921 -0
  326. package/library/skills/README.md +120 -0
  327. package/{skills → library/skills}/coding/ast-grep/SKILL.md +1 -1
  328. package/{skills → library/skills}/coding/ast-grep/evals.md +1 -1
  329. package/library/skills/coding/ast-grep/plugin.json +23 -0
  330. package/{skills → library/skills}/coding/coding-standards/SKILL.md +1 -1
  331. package/{skills → library/skills}/coding/coding-standards/evals.md +1 -1
  332. package/library/skills/coding/coding-standards/plugin.json +23 -0
  333. package/{skills → library/skills}/coding/prototype/SKILL.md +1 -1
  334. package/{skills → library/skills}/coding/prototype/evals.md +1 -1
  335. package/library/skills/coding/prototype/plugin.json +23 -0
  336. package/{skills → library/skills}/coding/tdd/SKILL.md +1 -1
  337. package/{skills → library/skills}/coding/tdd/evals.md +1 -1
  338. package/library/skills/coding/tdd/plugin.json +23 -0
  339. package/{skills → library/skills}/context/context-handoff/SKILL.md +1 -1
  340. package/{skills → library/skills}/context/context-handoff/evals.md +1 -1
  341. package/library/skills/context/context-handoff/plugin.json +23 -0
  342. package/{skills → library/skills}/context/context-prime/SKILL.md +1 -1
  343. package/{skills → library/skills}/context/context-prime/evals.md +1 -1
  344. package/library/skills/context/context-prime/plugin.json +23 -0
  345. package/{skills → library/skills}/git/branch-closeout/SKILL.md +1 -1
  346. package/library/skills/git/branch-closeout/plugin.json +23 -0
  347. package/{skills → library/skills}/git/file-ticket/SKILL.md +1 -1
  348. package/library/skills/git/file-ticket/plugin.json +23 -0
  349. package/{skills → library/skills}/git/fix-issue/SKILL.md +1 -1
  350. package/library/skills/git/fix-issue/plugin.json +23 -0
  351. package/{skills → library/skills}/git/resolve-merge-conflicts/SKILL.md +1 -1
  352. package/{skills → library/skills}/git/resolve-merge-conflicts/evals.md +1 -1
  353. package/library/skills/git/resolve-merge-conflicts/plugin.json +23 -0
  354. package/{skills → library/skills}/git/ship/SKILL.md +1 -1
  355. package/library/skills/git/ship/plugin.json +23 -0
  356. package/{skills → library/skills}/git/worktree-create/SKILL.md +1 -1
  357. package/library/skills/git/worktree-create/plugin.json +23 -0
  358. package/{skills → library/skills}/git/worktree-merge/SKILL.md +1 -1
  359. package/library/skills/git/worktree-merge/plugin.json +23 -0
  360. package/{skills → library/skills}/meta/clio-coder-dev/SKILL.md +1 -1
  361. package/{skills → library/skills}/meta/clio-coder-dev/evals.md +1 -1
  362. package/library/skills/meta/clio-coder-dev/plugin.json +23 -0
  363. package/{skills → library/skills}/meta/clio-coder-test/SKILL.md +1 -1
  364. package/{skills → library/skills}/meta/clio-coder-test/evals.md +1 -1
  365. package/library/skills/meta/clio-coder-test/plugin.json +23 -0
  366. package/{skills → library/skills}/meta/credentials/SKILL.md +1 -1
  367. package/{skills → library/skills}/meta/credentials/evals.md +1 -1
  368. package/library/skills/meta/credentials/plugin.json +23 -0
  369. package/library/skills/meta/find-skills/SKILL.md +85 -0
  370. package/library/skills/meta/find-skills/evals.md +65 -0
  371. package/library/skills/meta/find-skills/plugin.json +23 -0
  372. package/{skills → library/skills}/meta/herdr/SKILL.md +1 -1
  373. package/{skills → library/skills}/meta/herdr/evals.md +1 -1
  374. package/library/skills/meta/herdr/plugin.json +23 -0
  375. package/{skills → library/skills}/meta/skill-craft/SKILL.md +23 -9
  376. package/{skills → library/skills}/meta/skill-craft/evals.md +11 -3
  377. package/library/skills/meta/skill-craft/plugin.json +23 -0
  378. package/{skills → library/skills}/planning/archify/SKILL.md +13 -13
  379. package/library/skills/planning/archify/plugin.json +23 -0
  380. package/{skills → library/skills}/planning/architecture/SKILL.md +1 -1
  381. package/{skills → library/skills}/planning/architecture/evals.md +1 -1
  382. package/library/skills/planning/architecture/plugin.json +23 -0
  383. package/{skills → library/skills}/planning/backlog/SKILL.md +1 -1
  384. package/{skills → library/skills}/planning/backlog/evals.md +1 -1
  385. package/library/skills/planning/backlog/plugin.json +23 -0
  386. package/{skills → library/skills}/planning/prd/SKILL.md +1 -1
  387. package/{skills → library/skills}/planning/prd/evals.md +1 -1
  388. package/library/skills/planning/prd/plugin.json +23 -0
  389. package/{skills → library/skills}/planning/product-intent/SKILL.md +1 -1
  390. package/{skills → library/skills}/planning/product-intent/evals.md +1 -1
  391. package/library/skills/planning/product-intent/plugin.json +23 -0
  392. package/{skills → library/skills}/planning/tech-spec/SKILL.md +1 -1
  393. package/{skills → library/skills}/planning/tech-spec/evals.md +1 -1
  394. package/library/skills/planning/tech-spec/plugin.json +23 -0
  395. package/{skills → library/skills}/registry.yaml +7 -7
  396. package/{skills → library/skills}/remote.yaml +1 -1
  397. package/{skills → library/skills}/research/arxiv-literature/SKILL.md +1 -1
  398. package/{skills → library/skills}/research/arxiv-literature/evals.md +1 -1
  399. package/library/skills/research/arxiv-literature/plugin.json +23 -0
  400. package/{skills → library/skills}/research/experiment-protocol/SKILL.md +1 -1
  401. package/{skills → library/skills}/research/experiment-protocol/evals.md +1 -1
  402. package/library/skills/research/experiment-protocol/plugin.json +23 -0
  403. package/{skills → library/skills}/research/scientific-debugging/SKILL.md +1 -1
  404. package/{skills → library/skills}/research/scientific-debugging/evals.md +1 -1
  405. package/library/skills/research/scientific-debugging/plugin.json +23 -0
  406. package/{skills → library/skills}/research/scientific-modernization/SKILL.md +1 -1
  407. package/{skills → library/skills}/research/scientific-modernization/evals.md +1 -1
  408. package/library/skills/research/scientific-modernization/plugin.json +23 -0
  409. package/{skills → library/skills}/skill-marketplace.json +37 -37
  410. package/{skills → library/skills}/workflow/cut-it/SKILL.md +1 -1
  411. package/{skills → library/skills}/workflow/cut-it/evals.md +1 -1
  412. package/library/skills/workflow/cut-it/plugin.json +23 -0
  413. package/{skills → library/skills}/workflow/design-council/SKILL.md +1 -1
  414. package/{skills → library/skills}/workflow/design-council/evals.md +1 -1
  415. package/library/skills/workflow/design-council/plugin.json +23 -0
  416. package/{skills → library/skills}/workflow/grill-me/SKILL.md +1 -1
  417. package/{skills → library/skills}/workflow/grill-me/evals.md +1 -1
  418. package/library/skills/workflow/grill-me/plugin.json +23 -0
  419. package/{skills → library/skills}/workflow/workflow-distiller/SKILL.md +14 -11
  420. package/{skills → library/skills}/workflow/workflow-distiller/evals.md +14 -6
  421. package/library/skills/workflow/workflow-distiller/plugin.json +23 -0
  422. package/package.json +12 -5
  423. package/src/cli/agents.ts +1 -1
  424. package/src/cli/ask.ts +10 -10
  425. package/src/cli/config-inspect.ts +1 -1
  426. package/src/cli/configure-editor.ts +51 -0
  427. package/src/cli/configure-interop.ts +1 -1
  428. package/src/cli/configure-oauth.ts +1 -1
  429. package/src/cli/configure-onboarding.ts +232 -96
  430. package/src/cli/configure-prompts.ts +76 -0
  431. package/src/cli/configure-quick.ts +274 -0
  432. package/src/cli/configure-target.ts +14 -2
  433. package/src/cli/configure.ts +415 -176
  434. package/src/cli/eval.ts +40 -6
  435. package/src/cli/extensions.ts +74 -8
  436. package/src/cli/fleet-preflight.ts +2 -0
  437. package/src/cli/fleet.ts +2 -0
  438. package/src/cli/index.ts +1 -3
  439. package/src/cli/interop-inspect.ts +61 -33
  440. package/src/cli/interop.ts +79 -9
  441. package/src/cli/library-import.ts +139 -0
  442. package/src/cli/library.ts +418 -120
  443. package/src/cli/oauth-manual-input.ts +1 -1
  444. package/src/cli/reset.ts +2 -0
  445. package/src/cli/run.ts +26 -9
  446. package/src/cli/select.ts +35 -4
  447. package/src/cli/skills-eval.ts +43 -6
  448. package/src/cli/skills-inventory.ts +6 -2
  449. package/src/cli/skills.ts +44 -491
  450. package/src/cli/upgrade.ts +2 -2
  451. package/src/core/bus-events.ts +5 -0
  452. package/src/core/config.ts +6 -1
  453. package/src/core/defaults.ts +34 -12
  454. package/src/{interactive → core}/external-editor.ts +4 -4
  455. package/src/core/recent-models.ts +2 -2
  456. package/src/core/session-routing.ts +3 -3
  457. package/src/core/state-file-lock.ts +1 -1
  458. package/src/core/tool-names.ts +5 -0
  459. package/src/domains/agents/extension.ts +42 -6
  460. package/src/domains/agents/fleet-commands.ts +92 -1
  461. package/src/domains/agents/fleet-contract.ts +87 -19
  462. package/src/domains/agents/recipe.ts +5 -4
  463. package/src/domains/agents/registry.ts +80 -24
  464. package/src/domains/config/classify.ts +1 -1
  465. package/src/domains/config/keybindings.ts +156 -124
  466. package/src/domains/context/worker/contract.ts +91 -0
  467. package/src/domains/context/worker/pressure.ts +120 -0
  468. package/src/domains/context/worker/recall.ts +62 -0
  469. package/src/domains/context/worker/select.ts +164 -0
  470. package/src/domains/context/worker/snapshot.ts +35 -0
  471. package/src/domains/context/worker/store.ts +16 -0
  472. package/src/domains/context/working-set/replay/synthetic.ts +2 -1
  473. package/src/domains/dispatch/active-route-planner.ts +2 -0
  474. package/src/domains/dispatch/backoff.ts +1 -0
  475. package/src/domains/dispatch/code-step.ts +12 -2
  476. package/src/domains/dispatch/contract.ts +3 -0
  477. package/src/domains/dispatch/execution-plan.ts +2 -0
  478. package/src/domains/dispatch/extension.ts +109 -27
  479. package/src/domains/dispatch/fleet-plan.ts +10 -0
  480. package/src/domains/dispatch/fleet-run.ts +1 -0
  481. package/src/domains/dispatch/orphan-recovery.ts +1 -0
  482. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  483. package/src/domains/dispatch/state.ts +1 -0
  484. package/src/domains/dispatch/types.ts +5 -0
  485. package/src/domains/dispatch/validation.ts +12 -0
  486. package/src/domains/dispatch/workspace-checkpoint.ts +1 -1
  487. package/src/domains/evidence/failure-attribution.ts +1 -0
  488. package/src/domains/evidence/trust-status.ts +22 -3
  489. package/src/domains/extensions/command-schema.ts +145 -0
  490. package/src/domains/extensions/command-tools.ts +15 -0
  491. package/src/domains/extensions/compatibility.ts +7 -0
  492. package/src/domains/extensions/contract.ts +0 -4
  493. package/src/domains/extensions/discovery.ts +69 -205
  494. package/src/domains/extensions/extension.ts +0 -4
  495. package/src/domains/extensions/index.ts +1 -5
  496. package/src/domains/extensions/manager.ts +1 -6
  497. package/src/domains/extensions/operator-commands.ts +29 -0
  498. package/src/domains/extensions/operator-runtime.ts +483 -0
  499. package/src/domains/extensions/public-api.ts +53 -0
  500. package/src/domains/extensions/runtime-child.mjs +114 -0
  501. package/src/domains/extensions/runtime-process.ts +306 -0
  502. package/src/domains/extensions/runtime-schema.ts +146 -0
  503. package/src/domains/extensions/{resources.ts → snapshot-access.ts} +1 -17
  504. package/src/domains/extensions/snapshot.ts +4 -32
  505. package/src/domains/extensions/state.ts +5 -83
  506. package/src/domains/extensions/types.ts +33 -34
  507. package/src/domains/interop/adopt.ts +546 -0
  508. package/src/domains/interop/detect.ts +50 -12
  509. package/src/domains/interop/foreign.ts +554 -0
  510. package/src/domains/interop/import.ts +277 -0
  511. package/src/domains/interop/index.ts +24 -0
  512. package/src/domains/interop/install.ts +6 -0
  513. package/src/domains/interop/inventory.ts +351 -0
  514. package/src/domains/interop/projection.ts +360 -0
  515. package/src/domains/interop/registry.ts +106 -3
  516. package/src/domains/interop/types.ts +51 -0
  517. package/src/domains/lifecycle/migrations/index.ts +0 -2
  518. package/src/domains/lifecycle/naming-resources.ts +1 -1
  519. package/src/domains/middleware/marketplace-offer.ts +1 -1
  520. package/src/domains/mux/contract.ts +1 -1
  521. package/src/domains/plugins/catalog.ts +204 -0
  522. package/src/domains/plugins/contract.ts +24 -0
  523. package/src/domains/plugins/discovery.ts +316 -0
  524. package/src/domains/plugins/extension.ts +40 -0
  525. package/src/domains/plugins/index.ts +77 -0
  526. package/src/domains/plugins/integrity.ts +6 -0
  527. package/src/domains/plugins/manifest.ts +3 -0
  528. package/src/domains/plugins/resources.ts +102 -0
  529. package/src/domains/plugins/state.ts +753 -0
  530. package/src/domains/plugins/types.ts +217 -0
  531. package/src/domains/prompts/extension.ts +9 -2
  532. package/src/domains/prompts/fragments/operating/skills.md +10 -10
  533. package/src/domains/providers/probe/fingerprint.ts +13 -6
  534. package/src/domains/providers/probe/reasoning.ts +2 -0
  535. package/src/domains/providers/runtimes/common/probe-helpers.ts +23 -7
  536. package/src/domains/providers/runtimes/protocol/anthropic-compat.ts +7 -2
  537. package/src/domains/providers/runtimes/protocol/openai-compat.ts +10 -4
  538. package/src/domains/resources/common-loader.ts +9 -6
  539. package/src/domains/resources/index.ts +67 -0
  540. package/src/domains/resources/library-actions.ts +836 -0
  541. package/src/domains/resources/library-evals.ts +38 -0
  542. package/src/domains/resources/library-inventory.ts +1048 -0
  543. package/src/domains/resources/library-types.ts +50 -0
  544. package/src/domains/resources/library-validation.ts +634 -0
  545. package/src/domains/resources/library.ts +437 -156
  546. package/src/domains/resources/package-references.ts +66 -0
  547. package/src/domains/resources/prompts/loader.ts +75 -41
  548. package/src/domains/resources/skills/install.ts +2 -2
  549. package/src/domains/resources/skills/loader.ts +77 -22
  550. package/src/domains/resources/skills/marketplace.ts +48 -57
  551. package/src/domains/resources/skills/promotion.ts +2 -2
  552. package/src/domains/resources/skills/provenance-pin.ts +17 -4
  553. package/src/domains/safety/action-classifier.ts +2 -2
  554. package/src/domains/safety/default-path-policy.ts +3 -1
  555. package/src/domains/safety/policy-engine.ts +1 -1
  556. package/src/domains/safety/protected-artifacts.ts +21 -5
  557. package/src/domains/safety/skill-authority.ts +5 -2
  558. package/src/domains/share/archive.ts +1 -1
  559. package/src/engine/apis/openai-completions.ts +52 -2
  560. package/src/engine/notices/pi-tui-LICENSE +21 -0
  561. package/src/engine/tui.ts +3 -0
  562. package/src/engine/worker-runtime.ts +58 -14
  563. package/src/engine/worker-tools.ts +5 -0
  564. package/src/entry/orchestrator.ts +26 -5
  565. package/src/entry/plugin-reload.ts +18 -0
  566. package/src/interactive/application-controller.ts +68 -52
  567. package/src/interactive/chat-loop.ts +32 -5
  568. package/src/interactive/chat-panel.ts +168 -638
  569. package/src/interactive/chat-renderer.ts +13 -30
  570. package/src/interactive/clio-editor.ts +53 -21
  571. package/src/interactive/command-output.ts +56 -1
  572. package/src/interactive/dispatch-board.ts +1 -3
  573. package/src/interactive/editor-submit.ts +73 -59
  574. package/src/interactive/fleet-run-preview.ts +2 -0
  575. package/src/interactive/follow-up-queue-panel.ts +3 -3
  576. package/src/interactive/footer/dashboard.ts +12 -4
  577. package/src/interactive/footer/notifications.ts +2 -2
  578. package/src/interactive/footer/widgets.ts +52 -93
  579. package/src/interactive/interactive-application.ts +225 -63
  580. package/src/interactive/interactive-event-projection.ts +2 -44
  581. package/src/interactive/interactive-input-runtime.ts +257 -35
  582. package/src/interactive/interactive-presentation.ts +71 -21
  583. package/src/interactive/interactive-slash-runtime.ts +40 -48
  584. package/src/interactive/keybinding-manager.ts +156 -79
  585. package/src/interactive/keyboard-owner.ts +37 -0
  586. package/src/interactive/layout.ts +29 -4
  587. package/src/interactive/leader-key.ts +49 -102
  588. package/src/interactive/leader-menu.ts +45 -0
  589. package/src/interactive/overlay-ask-user-lifecycle.ts +9 -1
  590. package/src/interactive/overlay-frame.ts +15 -0
  591. package/src/interactive/overlay-general-openers.ts +2 -0
  592. package/src/interactive/overlay-key-routing.ts +46 -47
  593. package/src/interactive/overlay-lifecycle.ts +31 -15
  594. package/src/interactive/overlay-resource-openers.ts +56 -46
  595. package/src/interactive/overlay-session-lifecycle.ts +1 -1
  596. package/src/interactive/overlays/ask-user.ts +630 -556
  597. package/src/interactive/overlays/extension-panel.ts +70 -0
  598. package/src/interactive/overlays/extensions.ts +28 -5
  599. package/src/interactive/overlays/fleet-run-approval.ts +7 -3
  600. package/src/interactive/overlays/help-reference.ts +89 -40
  601. package/src/interactive/overlays/interop.ts +122 -3
  602. package/src/interactive/overlays/keybinding-detail.ts +2 -2
  603. package/src/interactive/overlays/library-lifecycle.ts +90 -0
  604. package/src/interactive/overlays/library-model.ts +574 -0
  605. package/src/interactive/overlays/library-review.ts +557 -0
  606. package/src/interactive/overlays/library-tabs.ts +3 -15
  607. package/src/interactive/overlays/library.ts +602 -0
  608. package/src/interactive/overlays/list-overlay.ts +218 -39
  609. package/src/interactive/overlays/model-selector.ts +28 -25
  610. package/src/interactive/overlays/session-selector.ts +9 -3
  611. package/src/interactive/overlays/settings.ts +34 -26
  612. package/src/interactive/overlays/tree-selector.ts +16 -11
  613. package/src/interactive/permission-hint.ts +13 -0
  614. package/src/interactive/permission-overlay.ts +77 -28
  615. package/src/interactive/prompt-source-label.ts +21 -0
  616. package/src/interactive/renderers/preview.ts +16 -0
  617. package/src/interactive/renderers/reference-card.ts +35 -0
  618. package/src/interactive/renderers/tool-execution.ts +67 -160
  619. package/src/interactive/renderers/worker-entry.ts +90 -42
  620. package/src/interactive/slash-autocomplete.ts +100 -7
  621. package/src/interactive/slash-commands.ts +396 -105
  622. package/src/interactive/slash-spec.ts +0 -1
  623. package/src/interactive/status/controller.ts +0 -5
  624. package/src/interactive/status/state-machine.ts +44 -26
  625. package/src/interactive/status/types.ts +3 -0
  626. package/src/interactive/status/verbs.ts +13 -12
  627. package/src/interactive/terminal-lease.ts +44 -12
  628. package/src/interactive/transcript-detail.ts +50 -112
  629. package/src/interactive/turn-queues.ts +8 -7
  630. package/src/interactive/turn-runtime.ts +1 -1
  631. package/src/interactive/view/artifacts.ts +4 -0
  632. package/src/interactive/view/view-overlay.ts +58 -43
  633. package/src/interactive/welcome-dashboard.ts +525 -408
  634. package/src/tools/bootstrap.ts +8 -0
  635. package/src/tools/builtin-tool-catalog.ts +7 -2
  636. package/src/tools/context/index.ts +58 -5
  637. package/src/tools/context/library.ts +465 -0
  638. package/src/tools/context/surface.ts +20 -6
  639. package/src/tools/core-bootstrap.ts +3 -0
  640. package/src/tools/dispatch-admission.ts +24 -1
  641. package/src/tools/dispatch-arguments.ts +8 -0
  642. package/src/tools/dispatch-plan.ts +32 -0
  643. package/src/tools/dispatch-schema.ts +31 -1
  644. package/src/tools/dispatch-types.ts +3 -0
  645. package/src/tools/dispatch.ts +1 -1
  646. package/src/tools/harness-extensions.ts +169 -0
  647. package/src/tools/observation.ts +4 -0
  648. package/src/tools/policy.ts +7 -1
  649. package/src/tools/presentation.ts +1 -1
  650. package/src/tools/registry.ts +20 -2
  651. package/src/tools/verify/numeric.ts +4 -4
  652. package/src/tools/worker-evidence.ts +5 -0
  653. package/src/worker/context-seed.ts +192 -0
  654. package/src/worker/entry.ts +1 -0
  655. package/src/worker/spec-contract.ts +8 -1
  656. package/dist/chunk-3UW3KU4A.js +0 -21
  657. package/dist/chunk-6SYEGZI3.js +0 -433
  658. package/dist/chunk-CXQ37WJH.js +0 -45
  659. package/dist/chunk-EQEJJ53P.js +0 -399
  660. package/dist/chunk-KTFSFCVN.js +0 -46
  661. package/dist/chunk-QRFXEO6Y.js +0 -17
  662. package/dist/chunk-T7FDXNRU.js +0 -1257
  663. package/dist/chunk-U7VQ4NI4.js +0 -911
  664. package/dist/configure-SML6UBZ5.js +0 -55
  665. package/dist/interop-YOTGXFJM.js +0 -115
  666. package/dist/library-GJI6W6OK.js +0 -226
  667. package/dist/skills-S36AAJHU.js +0 -510
  668. package/skills/README.md +0 -418
  669. package/skills/meta/find-skills/SKILL.md +0 -78
  670. package/skills/meta/find-skills/evals.md +0 -47
  671. package/src/domains/extensions/resource-path.ts +0 -27
  672. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +0 -27
  673. package/src/interactive/overlays/agents.ts +0 -70
  674. package/src/interactive/overlays/library-install-confirm.ts +0 -152
  675. package/src/interactive/overlays/prompts.ts +0 -89
  676. package/src/interactive/overlays/skills-hub.ts +0 -615
  677. /package/{skills → library/skills}/coding/ast-grep/references/rule_reference.md +0 -0
  678. /package/{skills → library/skills}/coding/prototype/references/LOGIC.md +0 -0
  679. /package/{skills → library/skills}/coding/prototype/references/UI.md +0 -0
  680. /package/{skills → library/skills}/coding/tdd/references/mocking.md +0 -0
  681. /package/{skills → library/skills}/coding/tdd/references/tests.md +0 -0
  682. /package/{skills → library/skills}/context/context-handoff/scripts/new-handoff.sh +0 -0
  683. /package/{skills → library/skills}/git/branch-closeout/evals.md +0 -0
  684. /package/{skills → library/skills}/git/branch-closeout/references/closeout-checklist.md +0 -0
  685. /package/{skills → library/skills}/git/file-ticket/assets/issue-template.md +0 -0
  686. /package/{skills → library/skills}/git/file-ticket/evals.md +0 -0
  687. /package/{skills → library/skills}/git/file-ticket/references/issue-discovery.md +0 -0
  688. /package/{skills → library/skills}/git/fix-issue/evals.md +0 -0
  689. /package/{skills → library/skills}/git/fix-issue/references/diagnosis-and-rca.md +0 -0
  690. /package/{skills → library/skills}/git/resolve-merge-conflicts/references/conflict-matrix.md +0 -0
  691. /package/{skills → library/skills}/git/ship/assets/pr-template.md +0 -0
  692. /package/{skills → library/skills}/git/ship/evals.md +0 -0
  693. /package/{skills → library/skills}/git/ship/references/remote-and-branch-policy.md +0 -0
  694. /package/{skills → library/skills}/git/worktree-create/evals.md +0 -0
  695. /package/{skills → library/skills}/git/worktree-create/references/worktree-setup.md +0 -0
  696. /package/{skills → library/skills}/git/worktree-merge/evals.md +0 -0
  697. /package/{skills → library/skills}/git/worktree-merge/references/merge-strategies.md +0 -0
  698. /package/{skills → library/skills}/meta/clio-coder-test/references/harness.md +0 -0
  699. /package/{skills → library/skills}/meta/clio-coder-test/references/test-map.md +0 -0
  700. /package/{skills → library/skills}/planning/archify/evals.md +0 -0
@@ -1,13 +1,13 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  runPending
4
- } from "./chunk-EWD5P3GK.js";
4
+ } from "./chunk-TZHN5ITX.js";
5
5
  import {
6
6
  runDoctor
7
- } from "./chunk-K6RDB7IA.js";
7
+ } from "./chunk-C3G5PNUO.js";
8
8
  import {
9
9
  readStateInfo
10
- } from "./chunk-E3BQTQUP.js";
10
+ } from "./chunk-DO7M3LSX.js";
11
11
  import {
12
12
  getVersionInfo
13
13
  } from "./chunk-GD55RTIW.js";
@@ -63,4 +63,4 @@ export {
63
63
  describeUpgradeNotice,
64
64
  LifecycleDomainModule
65
65
  };
66
- //# sourceMappingURL=chunk-R6MICQYU.js.map
66
+ //# sourceMappingURL=chunk-PFLOULP3.js.map
@@ -5,21 +5,21 @@ import {
5
5
 
6
6
  // src/domains/providers/probe/fingerprint.ts
7
7
  init_esm_shims();
8
- async function fetchWithTimeout(url, timeoutMs) {
8
+ async function fetchWithTimeout(url, timeoutMs, headers) {
9
9
  const controller = new AbortController();
10
10
  const timer = setTimeout(() => controller.abort(), timeoutMs);
11
11
  try {
12
- return await fetch(url, { signal: controller.signal });
12
+ return await fetch(url, { signal: controller.signal, headers });
13
13
  } catch {
14
14
  return null;
15
15
  } finally {
16
16
  clearTimeout(timer);
17
17
  }
18
18
  }
19
- async function fingerprintNativeRuntime(baseUrl) {
19
+ async function fingerprintNativeRuntime(baseUrl, headers = {}) {
20
20
  const normalized = baseUrl.replace(/^ws:/u, "http:").replace(/^wss:/u, "https:");
21
21
  const trimmed = normalized.endsWith("/") ? normalized.slice(0, -1) : normalized;
22
- const greeting = await fetchWithTimeout(`${trimmed}/lmstudio-greeting`, 750);
22
+ const greeting = await fetchWithTimeout(`${trimmed}/lmstudio-greeting`, 750, headers);
23
23
  if (greeting?.ok) {
24
24
  try {
25
25
  const data = await greeting.json();
@@ -27,7 +27,7 @@ async function fingerprintNativeRuntime(baseUrl) {
27
27
  } catch {
28
28
  }
29
29
  }
30
- const lmStudioV0 = await fetchWithTimeout(`${trimmed}/api/v0/models`, 750);
30
+ const lmStudioV0 = await fetchWithTimeout(`${trimmed}/api/v0/models`, 750, headers);
31
31
  if (lmStudioV0?.ok) {
32
32
  try {
33
33
  const data = await lmStudioV0.json();
@@ -37,7 +37,7 @@ async function fingerprintNativeRuntime(baseUrl) {
37
37
  } catch {
38
38
  }
39
39
  }
40
- const ollama = await fetchWithTimeout(`${trimmed}/api/version`, 750);
40
+ const ollama = await fetchWithTimeout(`${trimmed}/api/version`, 750, headers);
41
41
  if (ollama?.ok) {
42
42
  try {
43
43
  const data = await ollama.json();
@@ -53,4 +53,4 @@ async function fingerprintNativeRuntime(baseUrl) {
53
53
  export {
54
54
  fingerprintNativeRuntime
55
55
  };
56
- //# sourceMappingURL=chunk-MC3JSVR6.js.map
56
+ //# sourceMappingURL=chunk-QJMRYTCX.js.map
@@ -1,26 +1,26 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
- import {
3
- readStrictLayeredSettings,
4
- updateLayeredSettings
5
- } from "./chunk-YYB3MC65.js";
6
2
  import {
7
3
  assertAgentIdNamespace
8
- } from "./chunk-3UW3KU4A.js";
4
+ } from "./chunk-WURGVOZJ.js";
9
5
  import {
10
6
  resolveShutdownHookBudgetMs,
11
7
  runWithBudget,
12
8
  writeShutdownNotice
13
- } from "./chunk-BS4GAMUB.js";
9
+ } from "./chunk-A67NR5AT.js";
14
10
  import {
15
- formatSettingsFailure,
16
- settingsPath
17
- } from "./chunk-FKIOX6DS.js";
11
+ readStrictLayeredSettings,
12
+ updateLayeredSettings
13
+ } from "./chunk-4MFBBY2Z.js";
18
14
  import {
19
15
  getSharedBus
20
16
  } from "./chunk-B5ZTR6KZ.js";
21
17
  import {
22
18
  BusChannels
23
- } from "./chunk-HL26ADLH.js";
19
+ } from "./chunk-6CB2IL4N.js";
20
+ import {
21
+ formatSettingsFailure,
22
+ settingsPath
23
+ } from "./chunk-4QKAITQT.js";
24
24
  import {
25
25
  setGitCommitAttributionEnabled
26
26
  } from "./chunk-LTR5QCLS.js";
@@ -149,6 +149,7 @@ var HOT_RELOAD_FIELDS = /* @__PURE__ */ new Set([
149
149
  "interface.keybindings",
150
150
  "safety.autonomy",
151
151
  "chat.modelPicker",
152
+ "interface.outputDetail",
152
153
  "interface.smoothStreaming",
153
154
  "interface.panes.notifications",
154
155
  "integrations.git.commitAttribution",
@@ -175,7 +176,6 @@ var NEXT_TURN_FIELDS = /* @__PURE__ */ new Set([
175
176
  "fleet.history",
176
177
  "context",
177
178
  "safety.limits",
178
- "interface.outputDetail",
179
179
  "interface.terminalProgress",
180
180
  "interface.desktopNotifications",
181
181
  "integrations.projectResources",
@@ -377,4 +377,4 @@ export {
377
377
  ConfigDomainModule,
378
378
  createConfigDomainModule
379
379
  };
380
- //# sourceMappingURL=chunk-ILJ7DWGE.js.map
380
+ //# sourceMappingURL=chunk-QKWL7SYE.js.map
@@ -0,0 +1,66 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ shellQuote
4
+ } from "./chunk-SD7SHNDW.js";
5
+ import {
6
+ init_esm_shims
7
+ } from "./chunk-ECBHH7LU.js";
8
+
9
+ // src/core/external-editor.ts
10
+ init_esm_shims();
11
+ import { spawnSync } from "node:child_process";
12
+ import { randomUUID } from "node:crypto";
13
+ import { readFileSync, unlinkSync, writeFileSync } from "node:fs";
14
+ import { tmpdir } from "node:os";
15
+ import { join } from "node:path";
16
+ function defaultProbe(candidates) {
17
+ for (const candidate of candidates) {
18
+ const result = spawnSync("sh", ["-lc", `command -v ${candidate}`], {
19
+ encoding: "utf8",
20
+ stdio: ["ignore", "pipe", "ignore"]
21
+ });
22
+ const resolved = typeof result.stdout === "string" ? result.stdout.trim() : "";
23
+ if (result.status === 0 && resolved.length > 0) return resolved;
24
+ }
25
+ return null;
26
+ }
27
+ function runEditor(command, filePath) {
28
+ if (process.platform === "win32") {
29
+ return spawnSync(command, [filePath], {
30
+ stdio: "inherit",
31
+ shell: true
32
+ });
33
+ }
34
+ return spawnSync(process.env.SHELL || "/bin/sh", ["-lc", `${command} ${shellQuote(filePath)}`], {
35
+ stdio: "inherit"
36
+ });
37
+ }
38
+ function resolveExternalEditor(env = process.env, probe = defaultProbe) {
39
+ const visual = env.VISUAL?.trim();
40
+ if (visual) return visual;
41
+ const editor = env.EDITOR?.trim();
42
+ if (editor) return editor;
43
+ return probe(["nano", "vi"]);
44
+ }
45
+ function editTextExternally(initialText, command, extension = ".md") {
46
+ if (!command) return { ok: false, error: "no external editor configured; set VISUAL or EDITOR" };
47
+ const tmpFile = join(tmpdir(), `clio-coder-editor-${process.pid}-${randomUUID()}${extension}`);
48
+ try {
49
+ writeFileSync(tmpFile, initialText, { encoding: "utf8", mode: 384, flag: "wx" });
50
+ const result = runEditor(command, tmpFile);
51
+ if (result.error) return { ok: false, error: result.error.message };
52
+ if (result.status !== 0) return { ok: false, error: `external editor exited with code ${result.status ?? "?"}` };
53
+ return { ok: true, text: readFileSync(tmpFile, "utf8").replace(/\n$/, "") };
54
+ } finally {
55
+ try {
56
+ unlinkSync(tmpFile);
57
+ } catch {
58
+ }
59
+ }
60
+ }
61
+
62
+ export {
63
+ resolveExternalEditor,
64
+ editTextExternally
65
+ };
66
+ //# sourceMappingURL=chunk-R2CT5YDO.js.map
@@ -0,0 +1,26 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-ECBHH7LU.js";
5
+
6
+ // src/domains/extensions/operator-commands.ts
7
+ init_esm_shims();
8
+ function extensionInvocation(id, command) {
9
+ return `ext:${id}:${command}`;
10
+ }
11
+ function isExtensionCommandToken(token) {
12
+ return /^ext:[^\s/]+$/u.test(token);
13
+ }
14
+ function resolveExtensionCommands(rows, promptNames) {
15
+ const prompts = new Set(promptNames.map((name) => name.toLowerCase()));
16
+ return rows.map(
17
+ (row) => prompts.has(row.invocation.toLowerCase()) ? { ...row, available: false, reason: "invocation belongs to an existing prompt template" } : row
18
+ );
19
+ }
20
+
21
+ export {
22
+ extensionInvocation,
23
+ isExtensionCommandToken,
24
+ resolveExtensionCommands
25
+ };
26
+ //# sourceMappingURL=chunk-RFCKPS2V.js.map
@@ -1,12 +1,15 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
+ fleetCodeSteps,
3
4
  fleetLoopCheckStepId,
4
5
  fleetLoopRepairStepId,
5
- fleetStepWriteBoundary
6
- } from "./chunk-YEJIG7LN.js";
6
+ fleetStepWriteBoundary,
7
+ resolveFleetCommandArgs,
8
+ validateFleetCommands
9
+ } from "./chunk-KKEYGFX4.js";
7
10
  import {
8
11
  resultContractShape
9
- } from "./chunk-OQM5IVJY.js";
12
+ } from "./chunk-34XHRVKG.js";
10
13
  import {
11
14
  init_esm_shims
12
15
  } from "./chunk-ECBHH7LU.js";
@@ -274,6 +277,9 @@ function declaredLoops(steps) {
274
277
  }
275
278
  function compileFleetExecutionPlan(input) {
276
279
  const { contract, task, resolveAgent } = input;
280
+ if (input.commands !== void 0) validateFleetCommands(contract, input.commands, input.vars ?? {});
281
+ else if (fleetCodeSteps(contract).some((step) => (step.args?.length ?? 0) > 0))
282
+ throw new Error("fleet code args: admission requires the operator command registry");
277
283
  const loops = declaredLoops(contract.steps);
278
284
  const steps = [];
279
285
  const boundary = (scope, writes) => {
@@ -345,6 +351,7 @@ function compileFleetExecutionPlan(input) {
345
351
  kind: "code",
346
352
  id: step.id,
347
353
  commandId: step.command,
354
+ ...step.args ? { args: resolveFleetCommandArgs(step.args, input.vars) } : {},
348
355
  scope: step.scope,
349
356
  dependencies,
350
357
  ...boundary(step.scope, step.writes),
@@ -364,6 +371,7 @@ function compileFleetExecutionPlan(input) {
364
371
  kind: "code",
365
372
  id: checkId,
366
373
  commandId: step.check.command,
374
+ ...step.check.args ? { args: resolveFleetCommandArgs(step.check.args, input.vars) } : {},
367
375
  scope: step.check.scope,
368
376
  dependencies: checkDependencies,
369
377
  ...boundary(step.check.scope, step.check.writes),
@@ -435,4 +443,4 @@ export {
435
443
  spliceExecutionPlan,
436
444
  compileFleetExecutionPlan
437
445
  };
438
- //# sourceMappingURL=chunk-ONRTXOZY.js.map
446
+ //# sourceMappingURL=chunk-RTLNFZMD.js.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
- enabledExtensionResourceRoots
4
- } from "./chunk-22PQ4TX4.js";
3
+ enabledPluginResourceRoots
4
+ } from "./chunk-YKRJTYNP.js";
5
5
  import {
6
6
  require_dist
7
7
  } from "./chunk-B5GGDIHT.js";
@@ -19,7 +19,7 @@ var import_yaml = __toESM(require_dist(), 1);
19
19
  import { existsSync, readdirSync, statSync } from "node:fs";
20
20
  import path from "node:path";
21
21
  var COMPAT_RESOURCE_PRECEDENCE = {
22
- extension: 10,
22
+ package: 10,
23
23
  userCompat: 20,
24
24
  user: 30,
25
25
  projectCompat: 40,
@@ -27,12 +27,14 @@ var COMPAT_RESOURCE_PRECEDENCE = {
27
27
  };
28
28
  function defaultScopedResourceRoots(kind, cwd) {
29
29
  return [
30
- ...enabledExtensionResourceRoots(kind, cwd).map((root) => ({
30
+ ...enabledPluginResourceRoots(kind, cwd).map((root) => ({
31
31
  path: root.path,
32
32
  rootPath: root.rootPath,
33
+ plugin: true,
33
34
  scope: "package",
34
35
  source: root.source,
35
- precedence: COMPAT_RESOURCE_PRECEDENCE.extension
36
+ precedence: COMPAT_RESOURCE_PRECEDENCE.package,
37
+ trusted: root.trust !== "foreign"
36
38
  })),
37
39
  {
38
40
  path: path.join(clioConfigDir(), kind),
@@ -120,4 +122,4 @@ export {
120
122
  splitYamlFrontmatter,
121
123
  stringField
122
124
  };
123
- //# sourceMappingURL=chunk-U7H5WRG5.js.map
125
+ //# sourceMappingURL=chunk-RXFPB32E.js.map
@@ -2,49 +2,49 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  SchedulingDomainModule,
4
4
  createPromptsDomainModule
5
- } from "./chunk-DIMRLNIC.js";
5
+ } from "./chunk-IMOD2YPV.js";
6
6
  import {
7
7
  ConfigDomainModule,
8
8
  loadDomains
9
- } from "./chunk-ILJ7DWGE.js";
9
+ } from "./chunk-QKWL7SYE.js";
10
10
  import {
11
11
  createObservabilityDomainModule
12
- } from "./chunk-FSTIBAGM.js";
12
+ } from "./chunk-XZ6UFQ52.js";
13
13
  import {
14
14
  ResourcesDomainModule
15
- } from "./chunk-U7VQ4NI4.js";
15
+ } from "./chunk-TZ6UVP2H.js";
16
16
  import {
17
17
  AgentsDomainModule
18
- } from "./chunk-NY6IWDVU.js";
18
+ } from "./chunk-WURGVOZJ.js";
19
19
  import {
20
20
  DispatchDomainModule,
21
21
  fallbackBootstrapOutput
22
- } from "./chunk-SDWNDICN.js";
23
- import {
24
- SafetyDomainModule
25
- } from "./chunk-WLMSOT73.js";
22
+ } from "./chunk-WN552PKN.js";
26
23
  import {
27
24
  renderCodewikiDigest
28
- } from "./chunk-6CDNRHWH.js";
25
+ } from "./chunk-IQCNVLO6.js";
29
26
  import {
30
27
  SessionDomainModule
31
- } from "./chunk-F34AR6O3.js";
28
+ } from "./chunk-D2T66PDV.js";
29
+ import {
30
+ SafetyDomainModule
31
+ } from "./chunk-NCCQ6DVS.js";
32
32
  import {
33
33
  MiddlewareDomainModule
34
- } from "./chunk-DRD2A54W.js";
34
+ } from "./chunk-MBJO5VNZ.js";
35
35
  import {
36
36
  UnsupportedResponseSchemaError,
37
37
  isResponseSchemaRejection
38
- } from "./chunk-TZ7MFRG4.js";
39
- import {
40
- parseJsonObjectPayload
41
- } from "./chunk-OQM5IVJY.js";
38
+ } from "./chunk-NO7J45X6.js";
42
39
  import {
43
40
  declaredScopeIntent
44
41
  } from "./chunk-L4N3DWNW.js";
45
42
  import {
46
43
  ProvidersDomainModule
47
- } from "./chunk-TEG3RYVZ.js";
44
+ } from "./chunk-WT5TRMO4.js";
45
+ import {
46
+ parseJsonObjectPayload
47
+ } from "./chunk-34XHRVKG.js";
48
48
  import {
49
49
  resolveGuardrail
50
50
  } from "./chunk-C27U2TYG.js";
@@ -702,4 +702,4 @@ export {
702
702
  validateInitOptions,
703
703
  bootstrapInputFromInitOptions
704
704
  };
705
- //# sourceMappingURL=chunk-S32UQ5GL.js.map
705
+ //# sourceMappingURL=chunk-SEDI5K5B.js.map
@@ -1,16 +1,16 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
- import {
3
- THINKING_LEVELS
4
- } from "./chunk-SE4ZKILO.js";
5
- import {
6
- runCommandVector
7
- } from "./chunk-GJ24ODAX.js";
8
2
  import {
9
3
  catalogThinkingLevelsForRuntime,
10
4
  listCatalogModelsForRuntime,
11
5
  mergeCapabilities,
12
6
  synthesizeCatalogBackedModel
13
7
  } from "./chunk-TN5FW4XY.js";
8
+ import {
9
+ THINKING_LEVELS
10
+ } from "./chunk-3XE4NRLF.js";
11
+ import {
12
+ runCommandVector
13
+ } from "./chunk-GJ24ODAX.js";
14
14
  import {
15
15
  init_esm_shims
16
16
  } from "./chunk-ECBHH7LU.js";
@@ -854,6 +854,7 @@ async function probeOpenAICompatReasoning(opts) {
854
854
  }
855
855
  const headers = { "content-type": "application/json" };
856
856
  if (opts.apiKey && opts.apiKey.length > 0) headers.authorization = `Bearer ${opts.apiKey}`;
857
+ Object.assign(headers, opts.headers);
857
858
  const body = JSON.stringify({
858
859
  model: opts.modelId,
859
860
  messages: [{ role: "user", content: PROMPT }],
@@ -901,19 +902,22 @@ function formatContextWindowSlots(contextWindow, slots) {
901
902
  }
902
903
 
903
904
  // src/domains/providers/runtimes/common/probe-helpers.ts
904
- async function probeUrl(url2, ctx, method = "GET") {
905
- const base = { url: url2, timeoutMs: ctx.httpTimeoutMs, method };
905
+ function bearerHeaders(ctx) {
906
+ return ctx.authToken ? { Authorization: `Bearer ${ctx.authToken}` } : {};
907
+ }
908
+ async function probeUrl(url2, ctx, method = "GET", headers = bearerHeaders(ctx)) {
909
+ const base = { url: url2, timeoutMs: ctx.httpTimeoutMs, method, headers };
906
910
  return ctx.signal ? probeHttp({ ...base, signal: ctx.signal }) : probeHttp(base);
907
911
  }
908
- async function probeOpenAIModels(base, ctx, modelsPath = "/v1/models") {
909
- return (await probeOpenAIModelCatalog(base, ctx, modelsPath)).models;
912
+ async function probeOpenAIModels(base, ctx, modelsPath = "/v1/models", headers = bearerHeaders(ctx)) {
913
+ return (await probeOpenAIModelCatalog(base, ctx, modelsPath, headers)).models;
910
914
  }
911
915
  var OPENAI_COMPAT_DETAIL_PATHS = ["/api/v0/models"];
912
- async function probeModelDetailRows(base, ctx, modelsPath) {
916
+ async function probeModelDetailRows(base, ctx, modelsPath, headers) {
913
917
  const rows = /* @__PURE__ */ new Map();
914
918
  for (const detailPath of OPENAI_COMPAT_DETAIL_PATHS) {
915
919
  if (detailPath === modelsPath) continue;
916
- const opts = { url: `${base}${detailPath}`, timeoutMs: ctx.httpTimeoutMs };
920
+ const opts = { url: `${base}${detailPath}`, timeoutMs: ctx.httpTimeoutMs, headers };
917
921
  const result = await (ctx.signal ? probeJson({ ...opts, signal: ctx.signal }) : probeJson(opts));
918
922
  if (!result.ok || !Array.isArray(result.data?.data)) continue;
919
923
  for (const row of result.data.data) {
@@ -924,11 +928,11 @@ async function probeModelDetailRows(base, ctx, modelsPath) {
924
928
  }
925
929
  return rows;
926
930
  }
927
- async function probeOpenAIModelCatalog(base, ctx, modelsPath = "/v1/models") {
928
- const opts = { url: `${base}${modelsPath}`, timeoutMs: ctx.httpTimeoutMs };
931
+ async function probeOpenAIModelCatalog(base, ctx, modelsPath = "/v1/models", headers = bearerHeaders(ctx)) {
932
+ const opts = { url: `${base}${modelsPath}`, timeoutMs: ctx.httpTimeoutMs, headers };
929
933
  const result = await (ctx.signal ? probeJson({ ...opts, signal: ctx.signal }) : probeJson(opts));
930
934
  if (!result.ok || !result.data?.data) return { models: [], modelCapabilities: {}, modelStates: {} };
931
- const detail = await probeModelDetailRows(base, ctx, modelsPath);
935
+ const detail = await probeModelDetailRows(base, ctx, modelsPath, headers);
932
936
  const models = [];
933
937
  const modelCapabilities = {};
934
938
  const modelStates = {};
@@ -1279,6 +1283,10 @@ function makeOpenAICompatRuntime(spec) {
1279
1283
  const healthPath = spec.healthPath ?? "/v1/models";
1280
1284
  const modelsPath = spec.modelsPath ?? "/v1/models";
1281
1285
  const probeBase = asIs ? targetBaseUrl : targetRootUrl;
1286
+ const headers = (target, ctx) => ({
1287
+ ...ctx.authToken ? { Authorization: `Bearer ${ctx.authToken}` } : {},
1288
+ ...target.auth?.headers
1289
+ });
1282
1290
  return {
1283
1291
  id: spec.id,
1284
1292
  displayName: spec.displayName,
@@ -1290,9 +1298,9 @@ function makeOpenAICompatRuntime(spec) {
1290
1298
  async probe(target, ctx) {
1291
1299
  const base = probeBase(target);
1292
1300
  if (!base) return { ok: false, error: "target has no url" };
1293
- const health = await probeUrl(`${base}${healthPath}`, ctx);
1301
+ const health = await probeUrl(`${base}${healthPath}`, ctx, "GET", headers(target, ctx));
1294
1302
  if (!health.ok) return health;
1295
- const catalog = await probeOpenAIModelCatalog(base, ctx, modelsPath);
1303
+ const catalog = await probeOpenAIModelCatalog(base, ctx, modelsPath, headers(target, ctx));
1296
1304
  const result = { ...health };
1297
1305
  if (catalog.models.length > 0) result.models = catalog.models;
1298
1306
  if (Object.keys(catalog.modelStates).length > 0) result.modelStates = catalog.modelStates;
@@ -1310,19 +1318,20 @@ function makeOpenAICompatRuntime(spec) {
1310
1318
  async probeModels(target, ctx) {
1311
1319
  const base = probeBase(target);
1312
1320
  if (!base) return [];
1313
- return probeOpenAIModels(base, ctx, modelsPath);
1321
+ return probeOpenAIModels(base, ctx, modelsPath, headers(target, ctx));
1314
1322
  },
1315
1323
  async probeReasoning(target, modelId, ctx) {
1316
1324
  const base = probeBase(target);
1317
1325
  if (!base) return { reasoning: false, latencyMs: 0, error: "target has no url" };
1318
1326
  const apiKeyEnv = target.auth?.apiKeyEnvVar;
1319
- const apiKey = apiKeyEnv && ctx.credentialsPresent.has(apiKeyEnv) ? process.env[apiKeyEnv] : void 0;
1327
+ const apiKey = ctx.authToken ?? (apiKeyEnv && ctx.credentialsPresent.has(apiKeyEnv) ? process.env[apiKeyEnv] : void 0);
1320
1328
  const probeOpts = {
1321
1329
  baseUrl: base,
1322
1330
  modelId,
1323
1331
  timeoutMs: Math.max(ctx.httpTimeoutMs, 8e3)
1324
1332
  };
1325
1333
  if (apiKey) probeOpts.apiKey = apiKey;
1334
+ if (target.auth?.headers) probeOpts.headers = target.auth.headers;
1326
1335
  if (ctx.signal) probeOpts.signal = ctx.signal;
1327
1336
  return probeOpenAICompatReasoning(probeOpts);
1328
1337
  },
@@ -2009,6 +2018,11 @@ function synthesizeAnthropicCompatModel(input) {
2009
2018
  function makeAnthropicCompatRuntime(spec) {
2010
2019
  const messagesPath = spec.messagesPath ?? "/v1/messages";
2011
2020
  const modelsPath = spec.modelsPath ?? "/v1/models";
2021
+ const headers = (target, ctx) => ({
2022
+ "anthropic-version": "2023-06-01",
2023
+ ...ctx.authToken ? { "x-api-key": ctx.authToken } : {},
2024
+ ...target.auth?.headers
2025
+ });
2012
2026
  return {
2013
2027
  id: spec.id,
2014
2028
  displayName: spec.displayName,
@@ -2021,12 +2035,12 @@ function makeAnthropicCompatRuntime(spec) {
2021
2035
  async probe(target, ctx) {
2022
2036
  const base = targetBaseUrl(target);
2023
2037
  if (!base) return { ok: false, error: "target has no url" };
2024
- return probeUrl(`${base}${messagesPath}`, ctx, "HEAD");
2038
+ return probeUrl(`${base}${messagesPath}`, ctx, "HEAD", headers(target, ctx));
2025
2039
  },
2026
2040
  async probeModels(target, ctx) {
2027
2041
  const base = targetBaseUrl(target);
2028
2042
  if (!base) return [];
2029
- return probeOpenAIModels(base, ctx, modelsPath);
2043
+ return probeOpenAIModels(base, ctx, modelsPath, headers(target, ctx));
2030
2044
  },
2031
2045
  synthesizeModel(target, wireModelId, kb) {
2032
2046
  return synthesizeAnthropicCompatModel({
@@ -3338,7 +3352,7 @@ function rootUrl(target) {
3338
3352
  const trimmed = stripTrailingSlash(target.url);
3339
3353
  return trimmed.endsWith("/v1") ? trimmed.slice(0, -"/v1".length) : trimmed;
3340
3354
  }
3341
- function bearerHeaders(target, ctx) {
3355
+ function bearerHeaders2(target, ctx) {
3342
3356
  const headers = { ...target.auth?.headers ?? {} };
3343
3357
  const envName = target.auth?.apiKeyEnvVar;
3344
3358
  const fromEnv = envName && ctx.credentialsPresent.has(envName) ? process.env[envName]?.trim() : void 0;
@@ -3479,7 +3493,7 @@ var litellmRuntime = {
3479
3493
  async probe(target, ctx) {
3480
3494
  const base = rootUrl(target);
3481
3495
  if (!base) return { ok: false, error: "target has no url" };
3482
- const headers = bearerHeaders(target, ctx);
3496
+ const headers = bearerHeaders2(target, ctx);
3483
3497
  const liveOpts = { url: `${base}/health/liveliness`, timeoutMs: ctx.httpTimeoutMs };
3484
3498
  const live = await (ctx.signal ? probeJson({ ...liveOpts, signal: ctx.signal }) : probeJson(liveOpts));
3485
3499
  if (!live.ok) return { ok: false, error: live.error ?? "gateway is not reachable" };
@@ -3528,7 +3542,7 @@ var litellmRuntime = {
3528
3542
  async probeModels(target, ctx) {
3529
3543
  const base = rootUrl(target);
3530
3544
  if (!base) return [];
3531
- return (await fetchCatalog(base, ctx, bearerHeaders(target, ctx))).models;
3545
+ return (await fetchCatalog(base, ctx, bearerHeaders2(target, ctx))).models;
3532
3546
  },
3533
3547
  synthesizeModel(target, wireModelId, kb) {
3534
3548
  return synthLocalModel({
@@ -3597,6 +3611,7 @@ export {
3597
3611
  VALID_THINKING_LEVELS,
3598
3612
  availableThinkingLevels,
3599
3613
  extractLocalModelQuirks,
3614
+ targetRootUrl,
3600
3615
  lmStudioRootUrl,
3601
3616
  requestLmStudioJson,
3602
3617
  resolveLmStudioInstance,
@@ -3604,8 +3619,9 @@ export {
3604
3619
  listLmStudioModels,
3605
3620
  greetLmStudio,
3606
3621
  boundedExternalDiagnostic,
3622
+ probeJson,
3607
3623
  formatContextWindowSlots,
3608
3624
  BUILTIN_RUNTIMES,
3609
3625
  registerBuiltinRuntimes
3610
3626
  };
3611
- //# sourceMappingURL=chunk-ICO4TQ2F.js.map
3627
+ //# sourceMappingURL=chunk-SELG4SUR.js.map