@skaile/workspaces 6.2.0 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/ai-sdk.d.ts +2 -0
  3. package/dist/ai-sdk.js +123 -0
  4. package/dist/ai-sdk.js.map +1 -0
  5. package/dist/app-sdk/index.js +1 -1
  6. package/dist/{asset-feeds-KPKCE64E.js → asset-feeds-UJSYGKCX.js} +20 -20
  7. package/dist/{asset-feeds-KPKCE64E.js.map → asset-feeds-UJSYGKCX.js.map} +1 -1
  8. package/dist/asset-manager/catalog-deployer.js +7 -7
  9. package/dist/asset-manager/index.js +12 -12
  10. package/dist/asset-manager/installer.js +8 -8
  11. package/dist/asset-manager/renderers.js +7 -7
  12. package/dist/asset-manager/src/index.d.ts +42 -15
  13. package/dist/asset-manager/src/index.d.ts.map +1 -1
  14. package/dist/asset-manager/src/install-instances.d.ts +2 -0
  15. package/dist/asset-manager/src/install-instances.d.ts.map +1 -1
  16. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  17. package/dist/bridge/harnesses/claude-sdk.js +13 -12
  18. package/dist/bridge/harnesses/claude-sdk.js.map +1 -1
  19. package/dist/bridge/harnesses/codex.js +12 -11
  20. package/dist/bridge/harnesses/codex.js.map +1 -1
  21. package/dist/bridge/harnesses/continue.js +11 -10
  22. package/dist/bridge/harnesses/continue.js.map +1 -1
  23. package/dist/bridge/harnesses/echo.js +6 -5
  24. package/dist/bridge/harnesses/echo.js.map +1 -1
  25. package/dist/bridge/harnesses/gemini.js +8 -7
  26. package/dist/bridge/harnesses/goose.js +11 -10
  27. package/dist/bridge/harnesses/goose.js.map +1 -1
  28. package/dist/bridge/harnesses/omp.js +8 -7
  29. package/dist/bridge/harnesses/omp.js.map +1 -1
  30. package/dist/bridge/harnesses/opencode.js +11 -10
  31. package/dist/bridge/harnesses/opencode.js.map +1 -1
  32. package/dist/bridge/harnesses/qwen.js +8 -7
  33. package/dist/bridge/harnesses/qwen.js.map +1 -1
  34. package/dist/bridge/index.js +18 -16
  35. package/dist/bridge/src/ai-sdk.d.ts +51 -0
  36. package/dist/bridge/src/ai-sdk.d.ts.map +1 -0
  37. package/dist/bridge/src/harness-model-check.d.ts +11 -7
  38. package/dist/bridge/src/harness-model-check.d.ts.map +1 -1
  39. package/dist/bridge/src/index.d.ts +1 -0
  40. package/dist/bridge/src/index.d.ts.map +1 -1
  41. package/dist/bridge/src/provider-registry-load.d.ts +30 -0
  42. package/dist/bridge/src/provider-registry-load.d.ts.map +1 -0
  43. package/dist/{chunk-7DRFKAJZ.js → chunk-24D7IW5O.js} +8 -7
  44. package/dist/chunk-24D7IW5O.js.map +1 -0
  45. package/dist/{chunk-ITFCWMOY.js → chunk-2WOA3TKK.js} +12 -12
  46. package/dist/chunk-2WOA3TKK.js.map +1 -0
  47. package/dist/{chunk-QPWR3YMY.js → chunk-3ENE6ZOF.js} +4 -4
  48. package/dist/{chunk-QPWR3YMY.js.map → chunk-3ENE6ZOF.js.map} +1 -1
  49. package/dist/{chunk-ICSGNT5P.js → chunk-45KLCFQB.js} +8 -27
  50. package/dist/chunk-45KLCFQB.js.map +1 -0
  51. package/dist/{chunk-Q5RN4PWV.js → chunk-5NHBLKKU.js} +3 -3
  52. package/dist/{chunk-Q5RN4PWV.js.map → chunk-5NHBLKKU.js.map} +1 -1
  53. package/dist/{chunk-RQMIZONH.js → chunk-5T3DTK7A.js} +43 -24
  54. package/dist/chunk-5T3DTK7A.js.map +1 -0
  55. package/dist/{chunk-X37JUNEW.js → chunk-6UP2EDFN.js} +4 -313
  56. package/dist/chunk-6UP2EDFN.js.map +1 -0
  57. package/dist/{chunk-KJSC2ZD6.js → chunk-6WQGJF65.js} +18 -6
  58. package/dist/chunk-6WQGJF65.js.map +1 -0
  59. package/dist/{chunk-BOT64P3U.js → chunk-6X3GDPCB.js} +4 -3
  60. package/dist/chunk-6X3GDPCB.js.map +1 -0
  61. package/dist/{chunk-T2VBPVWZ.js → chunk-76WSWPOB.js} +15 -7
  62. package/dist/{chunk-T2VBPVWZ.js.map → chunk-76WSWPOB.js.map} +1 -1
  63. package/dist/{chunk-BRK5QZKI.js → chunk-ABVWUM2E.js} +27 -17
  64. package/dist/chunk-ABVWUM2E.js.map +1 -0
  65. package/dist/{chunk-MM4YO3EL.js → chunk-ACBL7X62.js} +3 -3
  66. package/dist/{chunk-MM4YO3EL.js.map → chunk-ACBL7X62.js.map} +1 -1
  67. package/dist/{chunk-VUJXZDCY.js → chunk-BOS7P2Y4.js} +3 -3
  68. package/dist/{chunk-VUJXZDCY.js.map → chunk-BOS7P2Y4.js.map} +1 -1
  69. package/dist/{chunk-PNUM7GUY.js → chunk-BUU2DLPC.js} +3 -3
  70. package/dist/{chunk-PNUM7GUY.js.map → chunk-BUU2DLPC.js.map} +1 -1
  71. package/dist/{chunk-BEYNH2LS.js → chunk-BX7PSWJA.js} +4 -4
  72. package/dist/{chunk-BEYNH2LS.js.map → chunk-BX7PSWJA.js.map} +1 -1
  73. package/dist/{chunk-URCJIV7T.js → chunk-C7TQARGC.js} +3 -3
  74. package/dist/{chunk-URCJIV7T.js.map → chunk-C7TQARGC.js.map} +1 -1
  75. package/dist/{chunk-E5NQRHEB.js → chunk-CK3CJSRY.js} +3 -3
  76. package/dist/{chunk-E5NQRHEB.js.map → chunk-CK3CJSRY.js.map} +1 -1
  77. package/dist/{chunk-GF5JXQIZ.js → chunk-DCJ4BION.js} +2 -2
  78. package/dist/{chunk-GF5JXQIZ.js.map → chunk-DCJ4BION.js.map} +1 -1
  79. package/dist/{chunk-5LQ62LNT.js → chunk-DF5WJC3Q.js} +4 -4
  80. package/dist/{chunk-5LQ62LNT.js.map → chunk-DF5WJC3Q.js.map} +1 -1
  81. package/dist/{chunk-QK7AG5AV.js → chunk-E237FGGX.js} +4 -4
  82. package/dist/{chunk-QK7AG5AV.js.map → chunk-E237FGGX.js.map} +1 -1
  83. package/dist/{chunk-K3R2UKG7.js → chunk-EXRQKOY6.js} +12 -12
  84. package/dist/{chunk-K3R2UKG7.js.map → chunk-EXRQKOY6.js.map} +1 -1
  85. package/dist/chunk-G63KOHFS.js +32 -0
  86. package/dist/chunk-G63KOHFS.js.map +1 -0
  87. package/dist/{chunk-6CYKTHNT.js → chunk-GBXQFJ4G.js} +8 -8
  88. package/dist/{chunk-6CYKTHNT.js.map → chunk-GBXQFJ4G.js.map} +1 -1
  89. package/dist/{chunk-6GWSDPBP.js → chunk-GTMANMBZ.js} +3 -3
  90. package/dist/{chunk-6GWSDPBP.js.map → chunk-GTMANMBZ.js.map} +1 -1
  91. package/dist/{chunk-JJJ2G4K2.js → chunk-HSF665NV.js} +5 -5
  92. package/dist/{chunk-JJJ2G4K2.js.map → chunk-HSF665NV.js.map} +1 -1
  93. package/dist/{chunk-I7LC5TDY.js → chunk-HTGTNN2B.js} +3 -3
  94. package/dist/{chunk-I7LC5TDY.js.map → chunk-HTGTNN2B.js.map} +1 -1
  95. package/dist/{chunk-PMWRM4EJ.js → chunk-HXZ3FQQN.js} +14 -14
  96. package/dist/{chunk-PMWRM4EJ.js.map → chunk-HXZ3FQQN.js.map} +1 -1
  97. package/dist/{chunk-2XM3ZH36.js → chunk-IYZAJ2J2.js} +16 -13
  98. package/dist/chunk-IYZAJ2J2.js.map +1 -0
  99. package/dist/{chunk-3HACK2Z7.js → chunk-IZV3HDVG.js} +5 -5
  100. package/dist/{chunk-3HACK2Z7.js.map → chunk-IZV3HDVG.js.map} +1 -1
  101. package/dist/{chunk-U673DB5U.js → chunk-JSWMRYLM.js} +4 -3
  102. package/dist/chunk-JSWMRYLM.js.map +1 -0
  103. package/dist/{chunk-TSTRH4SM.js → chunk-L45IHRDH.js} +3 -3
  104. package/dist/{chunk-TSTRH4SM.js.map → chunk-L45IHRDH.js.map} +1 -1
  105. package/dist/{chunk-27SXN33H.js → chunk-L4OYPFLB.js} +3 -3
  106. package/dist/{chunk-27SXN33H.js.map → chunk-L4OYPFLB.js.map} +1 -1
  107. package/dist/{chunk-QIHL3YPL.js → chunk-O7KAQQAI.js} +4 -4
  108. package/dist/{chunk-QIHL3YPL.js.map → chunk-O7KAQQAI.js.map} +1 -1
  109. package/dist/{chunk-Z3IRZBXB.js → chunk-P7EL7QRD.js} +14 -14
  110. package/dist/{chunk-Z3IRZBXB.js.map → chunk-P7EL7QRD.js.map} +1 -1
  111. package/dist/{chunk-QXKUFROW.js → chunk-PTBX55QF.js} +4 -4
  112. package/dist/{chunk-QXKUFROW.js.map → chunk-PTBX55QF.js.map} +1 -1
  113. package/dist/{chunk-5JPW27BI.js → chunk-Q4XWCVFA.js} +7 -7
  114. package/dist/{chunk-5JPW27BI.js.map → chunk-Q4XWCVFA.js.map} +1 -1
  115. package/dist/chunk-QJQQNBVT.js +315 -0
  116. package/dist/chunk-QJQQNBVT.js.map +1 -0
  117. package/dist/{chunk-M4OG2YN4.js → chunk-QSIFEHSN.js} +3 -3
  118. package/dist/{chunk-M4OG2YN4.js.map → chunk-QSIFEHSN.js.map} +1 -1
  119. package/dist/{chunk-7Y6S4XLL.js → chunk-RKI35EAN.js} +3 -3
  120. package/dist/{chunk-7Y6S4XLL.js.map → chunk-RKI35EAN.js.map} +1 -1
  121. package/dist/{chunk-OCQNUV4T.js → chunk-SISUT7VR.js} +7 -7
  122. package/dist/{chunk-OCQNUV4T.js.map → chunk-SISUT7VR.js.map} +1 -1
  123. package/dist/{chunk-7H6XRCPG.js → chunk-TDKZL5ZC.js} +3 -3
  124. package/dist/{chunk-7H6XRCPG.js.map → chunk-TDKZL5ZC.js.map} +1 -1
  125. package/dist/{chunk-LRBP3234.js → chunk-TF5CWJQZ.js} +5 -5
  126. package/dist/{chunk-LRBP3234.js.map → chunk-TF5CWJQZ.js.map} +1 -1
  127. package/dist/{chunk-PKBLJI23.js → chunk-TGB4E5Z6.js} +188 -52
  128. package/dist/chunk-TGB4E5Z6.js.map +1 -0
  129. package/dist/{chunk-KB56WBQ3.js → chunk-TPQKFX6X.js} +4 -4
  130. package/dist/{chunk-KB56WBQ3.js.map → chunk-TPQKFX6X.js.map} +1 -1
  131. package/dist/{chunk-TZERN27L.js → chunk-U3SXCVR7.js} +3 -3
  132. package/dist/{chunk-TZERN27L.js.map → chunk-U3SXCVR7.js.map} +1 -1
  133. package/dist/{chunk-KPKGWXUJ.js → chunk-U6S5CXKB.js} +3 -3
  134. package/dist/{chunk-KPKGWXUJ.js.map → chunk-U6S5CXKB.js.map} +1 -1
  135. package/dist/{chunk-JFLQICIU.js → chunk-UAOHR6AL.js} +4 -4
  136. package/dist/{chunk-JFLQICIU.js.map → chunk-UAOHR6AL.js.map} +1 -1
  137. package/dist/{chunk-KXJMQTOU.js → chunk-UBLZALKP.js} +3 -3
  138. package/dist/{chunk-KXJMQTOU.js.map → chunk-UBLZALKP.js.map} +1 -1
  139. package/dist/{chunk-BIRW3HOG.js → chunk-UUKCPPTQ.js} +3 -3
  140. package/dist/{chunk-BIRW3HOG.js.map → chunk-UUKCPPTQ.js.map} +1 -1
  141. package/dist/{chunk-BY5WIRCU.js → chunk-UVTN4O7N.js} +42 -17
  142. package/dist/chunk-UVTN4O7N.js.map +1 -0
  143. package/dist/{chunk-COAFAYBS.js → chunk-V4OXHEWY.js} +3 -3
  144. package/dist/{chunk-COAFAYBS.js.map → chunk-V4OXHEWY.js.map} +1 -1
  145. package/dist/{chunk-SJNZ4WPA.js → chunk-VSCLUPGZ.js} +31 -28
  146. package/dist/chunk-VSCLUPGZ.js.map +1 -0
  147. package/dist/{chunk-JMIKGAUA.js → chunk-VV2DJT4I.js} +15 -5
  148. package/dist/chunk-VV2DJT4I.js.map +1 -0
  149. package/dist/{chunk-JCPD4QRM.js → chunk-VZU67OKK.js} +2 -2
  150. package/dist/{chunk-JCPD4QRM.js.map → chunk-VZU67OKK.js.map} +1 -1
  151. package/dist/{chunk-MAZ3UXJK.js → chunk-WENTJ5KP.js} +4 -4
  152. package/dist/{chunk-MAZ3UXJK.js.map → chunk-WENTJ5KP.js.map} +1 -1
  153. package/dist/{chunk-ZWJCRHP3.js → chunk-YFGXYQW4.js} +3 -3
  154. package/dist/{chunk-ZWJCRHP3.js.map → chunk-YFGXYQW4.js.map} +1 -1
  155. package/dist/{chunk-S2H3RBK7.js → chunk-YJNE4V2M.js} +16 -9
  156. package/dist/chunk-YJNE4V2M.js.map +1 -0
  157. package/dist/{chunk-PJJSBZZP.js → chunk-ZWCGJYR7.js} +3 -3
  158. package/dist/{chunk-PJJSBZZP.js.map → chunk-ZWCGJYR7.js.map} +1 -1
  159. package/dist/{claude-code-BBMNVH2J.js → claude-code-UBT4ZME7.js} +4 -4
  160. package/dist/{claude-code-BBMNVH2J.js.map → claude-code-UBT4ZME7.js.map} +1 -1
  161. package/dist/cli/index.js +107 -91
  162. package/dist/cli/index.js.map +1 -1
  163. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  164. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  165. package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
  166. package/dist/cli/src/commands/preset-cmd.d.ts.map +1 -1
  167. package/dist/cli/src/commands/providers.d.ts.map +1 -1
  168. package/dist/cli/src/helpers.d.ts +10 -2
  169. package/dist/cli/src/helpers.d.ts.map +1 -1
  170. package/dist/cli/src/plugin-store/index.d.ts +1 -1
  171. package/dist/cli/src/plugin-store/index.d.ts.map +1 -1
  172. package/dist/cli/src/plugin-store/reconcile.d.ts.map +1 -1
  173. package/dist/cli/src/plugin-store/spec.d.ts +19 -14
  174. package/dist/cli/src/plugin-store/spec.d.ts.map +1 -1
  175. package/dist/cli/src/setup.d.ts.map +1 -1
  176. package/dist/connectors/config.js +4 -4
  177. package/dist/connectors/index.js +22 -20
  178. package/dist/{connectors-47EM6C2P.js → connectors-4WH32NK2.js} +25 -23
  179. package/dist/{connectors-47EM6C2P.js.map → connectors-4WH32NK2.js.map} +1 -1
  180. package/dist/connectors-shared/index.js +2 -2
  181. package/dist/core/index.js +6 -6
  182. package/dist/core/manifest.js +1 -1
  183. package/dist/core/publish-manifest.js +2 -2
  184. package/dist/core/runtime-assets.js +4 -4
  185. package/dist/core/src/index.d.ts +1 -1
  186. package/dist/core/src/index.d.ts.map +1 -1
  187. package/dist/core/src/lock.d.ts.map +1 -1
  188. package/dist/core/src/manifest.d.ts +9 -3
  189. package/dist/core/src/manifest.d.ts.map +1 -1
  190. package/dist/core/src/workspace-config.d.ts +15 -0
  191. package/dist/core/src/workspace-config.d.ts.map +1 -1
  192. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  193. package/dist/core/workspace-config.js +3 -3
  194. package/dist/deploy/index.js +6 -6
  195. package/dist/discovery/index.js +3 -3
  196. package/dist/{ensure-sources-K5EFNC3L.js → ensure-sources-UC2RBYMP.js} +27 -25
  197. package/dist/ensure-sources-UC2RBYMP.js.map +1 -0
  198. package/dist/factory-assets/connectors/box.js +22 -20
  199. package/dist/factory-assets/connectors/deploy.js +22 -20
  200. package/dist/factory-assets/connectors/devserver.js +22 -20
  201. package/dist/factory-assets/connectors/flow/adapter.js +22 -20
  202. package/dist/factory-assets/connectors/flow/engine.js +7 -7
  203. package/dist/factory-assets/connectors/flow/run-flow.js +24 -22
  204. package/dist/factory-assets/connectors/flow.js +22 -20
  205. package/dist/factory-assets/connectors/git.js +22 -20
  206. package/dist/factory-assets/connectors/gmail.js +22 -20
  207. package/dist/factory-assets/connectors/googledrive.js +22 -20
  208. package/dist/factory-assets/connectors/local.js +22 -20
  209. package/dist/factory-assets/connectors/mattermost.js +22 -20
  210. package/dist/factory-assets/connectors/memory.js +22 -20
  211. package/dist/factory-assets/connectors/minio.js +22 -20
  212. package/dist/factory-assets/connectors/postgres.js +22 -20
  213. package/dist/factory-assets/connectors/s3.js +22 -20
  214. package/dist/factory-assets/connectors/sharepoint.js +22 -20
  215. package/dist/factory-assets/connectors/sqlite.js +22 -20
  216. package/dist/factory-assets/connectors/static-server.js +22 -20
  217. package/dist/factory-assets/connectors/tunnel.js +22 -20
  218. package/dist/factory-assets/connectors/webdav.js +22 -20
  219. package/dist/factory-assets/connectors/xstate-store.js +22 -20
  220. package/dist/factory-assets/connectors/xstate.js +22 -20
  221. package/dist/{flows-KLBNSKLO.js → flows-LYTKNGKE.js} +11 -11
  222. package/dist/{flows-KLBNSKLO.js.map → flows-LYTKNGKE.js.map} +1 -1
  223. package/dist/{helpers-LUSV2ICC.js → helpers-SSSKT5XK.js} +27 -25
  224. package/dist/{helpers-LUSV2ICC.js.map → helpers-SSSKT5XK.js.map} +1 -1
  225. package/dist/library/index.js +9 -9
  226. package/dist/library/install.js +3 -3
  227. package/dist/{library-publish-XMRCKRNR.js → library-publish-GQMNTAKK.js} +52 -50
  228. package/dist/library-publish-GQMNTAKK.js.map +1 -0
  229. package/dist/model-endpoint/index.js +10 -9
  230. package/dist/open-library-XGUCUJYE.js +58 -0
  231. package/dist/{open-library-XBR46DJL.js.map → open-library-XGUCUJYE.js.map} +1 -1
  232. package/dist/{open-registry-W562DCDL.js → open-registry-DIFEPDF6.js} +13 -13
  233. package/dist/{open-registry-W562DCDL.js.map → open-registry-DIFEPDF6.js.map} +1 -1
  234. package/dist/{paths-2AZXB3QL.js → paths-G4GFJLE2.js} +9 -9
  235. package/dist/{paths-2AZXB3QL.js.map → paths-G4GFJLE2.js.map} +1 -1
  236. package/dist/{plugin-store-36SIL4TV.js → plugin-store-BBLDFD3L.js} +9 -9
  237. package/dist/{plugin-store-36SIL4TV.js.map → plugin-store-BBLDFD3L.js.map} +1 -1
  238. package/dist/{project-D7GN7WLS.js → project-LB745WVZ.js} +48 -46
  239. package/dist/{project-D7GN7WLS.js.map → project-LB745WVZ.js.map} +1 -1
  240. package/dist/resolver/index.js +7 -7
  241. package/dist/runner/index.js +38 -36
  242. package/dist/runner/src/capability-roundtrip.d.ts +4 -1
  243. package/dist/runner/src/capability-roundtrip.d.ts.map +1 -1
  244. package/dist/sdk/asset-manager.js +12 -12
  245. package/dist/sdk/bridge.js +18 -16
  246. package/dist/sdk/core.js +6 -6
  247. package/dist/sdk/flow.js +7 -7
  248. package/dist/sdk/index.js +38 -36
  249. package/dist/sdk/index.js.map +1 -1
  250. package/dist/sdk/resolver.js +7 -7
  251. package/dist/sdk/runner.js +38 -36
  252. package/dist/sdk/session.js +2 -2
  253. package/dist/sdk/transport/ws/server.js +7 -7
  254. package/dist/sdk/transport/ws.js +7 -7
  255. package/dist/sdk/transport.js +7 -7
  256. package/dist/sdk/types.js +1 -1
  257. package/dist/{serve-preflight-CGA5G3AE.js → serve-preflight-NPWI4MV6.js} +28 -26
  258. package/dist/serve-preflight-NPWI4MV6.js.map +1 -0
  259. package/dist/session/index.js +2 -2
  260. package/dist/{setup-IBDNJAOU.js → setup-X6ZYH2MW.js} +33 -28
  261. package/dist/setup-X6ZYH2MW.js.map +1 -0
  262. package/dist/{skills-CTTO7SZK.js → skills-62PXDBPJ.js} +12 -12
  263. package/dist/{skills-CTTO7SZK.js.map → skills-62PXDBPJ.js.map} +1 -1
  264. package/dist/{source-2DJ5KNOI.js → source-LAYCTRHP.js} +48 -46
  265. package/dist/{source-2DJ5KNOI.js.map → source-LAYCTRHP.js.map} +1 -1
  266. package/dist/{source-manifest-publish-IYWUMUCY.js → source-manifest-publish-3S6PJ25W.js} +50 -48
  267. package/dist/source-manifest-publish-3S6PJ25W.js.map +1 -0
  268. package/dist/transport/index.js +7 -7
  269. package/dist/transport/ws/server.js +7 -7
  270. package/dist/transport/ws.js +7 -7
  271. package/dist/tui/index.js +38 -36
  272. package/dist/tui/index.js.map +1 -1
  273. package/dist/types/index.js +1 -1
  274. package/dist/types/src/capabilities.d.ts +9 -1
  275. package/dist/types/src/capabilities.d.ts.map +1 -1
  276. package/dist/workspace-plugin/adapters/mcp.js +29 -27
  277. package/dist/workspace-plugin/adapters/omp.js +14 -14
  278. package/dist/workspace-plugin/index.js +1 -1
  279. package/package.json +27 -1
  280. package/dist/chunk-2XM3ZH36.js.map +0 -1
  281. package/dist/chunk-7DRFKAJZ.js.map +0 -1
  282. package/dist/chunk-BOT64P3U.js.map +0 -1
  283. package/dist/chunk-BRK5QZKI.js.map +0 -1
  284. package/dist/chunk-BY5WIRCU.js.map +0 -1
  285. package/dist/chunk-ICSGNT5P.js.map +0 -1
  286. package/dist/chunk-ITFCWMOY.js.map +0 -1
  287. package/dist/chunk-JMIKGAUA.js.map +0 -1
  288. package/dist/chunk-KJSC2ZD6.js.map +0 -1
  289. package/dist/chunk-PKBLJI23.js.map +0 -1
  290. package/dist/chunk-RQMIZONH.js.map +0 -1
  291. package/dist/chunk-S2H3RBK7.js.map +0 -1
  292. package/dist/chunk-SJNZ4WPA.js.map +0 -1
  293. package/dist/chunk-U673DB5U.js.map +0 -1
  294. package/dist/chunk-X37JUNEW.js.map +0 -1
  295. package/dist/ensure-sources-K5EFNC3L.js.map +0 -1
  296. package/dist/library-publish-XMRCKRNR.js.map +0 -1
  297. package/dist/open-library-XBR46DJL.js +0 -56
  298. package/dist/serve-preflight-CGA5G3AE.js.map +0 -1
  299. package/dist/setup-IBDNJAOU.js.map +0 -1
  300. package/dist/source-manifest-publish-IYWUMUCY.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../bridge/src/provider-catalog.ts"],"names":[],"mappings":"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","file":"chunk-6UP2EDFN.js","sourcesContent":["/**\n * The AI provider catalog — the preset layer of the provider registry (§1.5,\n * layer 5).\n *\n * A preset is the three-or-four literals an endpoint needs beyond a credential:\n * its wire `surface`, its `base_url` (or the transport that derives one), the\n * header the credential rides in, and the path a read-only probe can GET. With\n * them, `skaile providers add --preset groq` needs nothing but an env var name.\n *\n * This replaced `provider-endpoints.ts` `PROVIDER_ENDPOINTS`: every endpoint\n * that table knew is present here, with the surface/transport/credential facts\n * it could not express.\n *\n * The record types come from `@skaile/workspaces/core/provider-registry` — the\n * schema has exactly one home.\n *\n * @see PROVIDER-CONFIG-PLAN.md §1.2, §1.3, §2.5\n */\n\nimport {\n AI_PROVIDER_BASE_URL_TEMPLATES,\n type AIProviderCredentialKind,\n type AIProviderDiscovery,\n type AIProviderEntry,\n type AIProviderKind,\n type AIProviderLlmEntry,\n type AIProviderRegistry,\n type AIProviderRegistryLayer,\n type AIProviderRegistryPatch,\n type AIProviderSurface,\n type AIProviderTransport,\n type AIProviderVoiceParams,\n resolveEntryBaseUrl,\n} from \"@skaile/workspaces/core/provider-registry\";\n\n/**\n * Where the credential goes on the wire. `{credential}` is replaced with the\n * resolved secret. Needed because `credential.kind` alone is ambiguous:\n * `api_key_header` is `x-api-key` for Anthropic, `x-goog-api-key` for Gemini,\n * `api-key` for Azure OpenAI and `Authorization: Token …` for Deepgram.\n */\nexport interface AIProviderAuthHeader {\n name: string;\n template: string;\n}\n\n/** A catalog preset — the fields an entry inherits by naming it. */\nexport interface AIProviderPreset {\n /** Preset id; also the default entry id `skaile providers add` writes. */\n id: string;\n kind: AIProviderKind;\n label: string;\n /** `llm`/`embed` only. */\n surface?: AIProviderSurface;\n /** `llm`/`embed` only; omitted means `direct`. */\n transport?: AIProviderTransport;\n /** Literal endpoint. Absent when the transport derives one from `params`. */\n base_url?: string;\n /**\n * Env var the vendor's own SDK reads as a base-URL override, when one\n * exists. Consulted by the callers that still address an endpoint by preset\n * id — model discovery, key validation, and `skaile migrate providers` — so\n * a shell already pointed at a gateway keeps pointing there.\n */\n base_url_env?: string;\n /** Static non-secret headers, e.g. Anthropic's `anthropic-version`. */\n headers?: Record<string, string>;\n /** Credential shape plus the conventional env var holding the secret. */\n credential: { kind: AIProviderCredentialKind; env?: string };\n /** Header the credential rides in; defaults per surface when omitted. */\n auth_header?: AIProviderAuthHeader;\n /** Default routing/voice parameters. */\n params?: Record<string, string>;\n /** `params` keys the operator must supply — the preset cannot know them. */\n required_params?: string[];\n /**\n * Read-only path a health probe GETs, relative to `base_url`: the models\n * list for LLM surfaces, an equivalent authenticated read for voice.\n * Absent when the endpoint has none (Bedrock's runtime host).\n */\n probe_path?: string;\n discovery?: AIProviderDiscovery;\n /** Anything the operator has to know that the fields do not say. */\n notes?: string;\n}\n\nconst ANTHROPIC_VERSION_HEADER: Record<string, string> = { \"anthropic-version\": \"2023-06-01\" };\n\nconst X_API_KEY: AIProviderAuthHeader = { name: \"x-api-key\", template: \"{credential}\" };\n\nconst OPENAI_MODELS_PATH = \"/v1/models\";\n\n/**\n * Every preset the runtime ships.\n *\n * Insertion order is display order in `skaile providers list`: first-party\n * clouds, then OpenAI-compatible vendors, then the transports that need\n * routing parameters, then local runtimes and gateways, then voice.\n *\n * Sources: `platform/_devlog/reports/2026-09-20-inference-provider-market-survey.md`\n * (36 endpoints, base URLs and auth headers verified there).\n */\nexport const AI_PROVIDER_PRESETS: Record<string, AIProviderPreset> = {\n anthropic: {\n id: \"anthropic\",\n kind: \"llm\",\n label: \"Anthropic\",\n surface: \"anthropic-messages\",\n base_url: \"https://api.anthropic.com\",\n base_url_env: \"ANTHROPIC_BASE_URL\",\n headers: ANTHROPIC_VERSION_HEADER,\n credential: { kind: \"api_key_header\", env: \"ANTHROPIC_API_KEY\" },\n auth_header: X_API_KEY,\n probe_path: \"/v1/models\",\n discovery: { type: \"anthropic-models-list\" },\n },\n openai: {\n id: \"openai\",\n kind: \"llm\",\n label: \"OpenAI\",\n surface: \"openai-responses\",\n base_url: \"https://api.openai.com/v1\",\n base_url_env: \"OPENAI_BASE_URL\",\n credential: { kind: \"bearer\", env: \"OPENAI_API_KEY\" },\n probe_path: OPENAI_MODELS_PATH,\n discovery: { type: \"openai-models-list\" },\n notes:\n \"Responses is OpenAI's current API; set surface openai-completions for chat-only clients.\",\n },\n google: {\n id: \"google\",\n kind: \"llm\",\n label: \"Google Gemini API\",\n surface: \"google-generative-ai\",\n base_url: \"https://generativelanguage.googleapis.com/v1beta\",\n credential: { kind: \"api_key_header\", env: \"GEMINI_API_KEY\" },\n auth_header: { name: \"x-goog-api-key\", template: \"{credential}\" },\n probe_path: \"/v1beta/models\",\n discovery: { type: \"google-models-list\" },\n },\n groq: {\n id: \"groq\",\n kind: \"llm\",\n label: \"Groq\",\n surface: \"openai-completions\",\n base_url: \"https://api.groq.com/openai/v1\",\n credential: { kind: \"bearer\", env: \"GROQ_API_KEY\" },\n probe_path: OPENAI_MODELS_PATH,\n discovery: { type: \"openai-models-list\" },\n },\n deepseek: {\n id: \"deepseek\",\n kind: \"llm\",\n label: \"DeepSeek\",\n surface: \"openai-completions\",\n base_url: \"https://api.deepseek.com\",\n credential: { kind: \"bearer\", env: \"DEEPSEEK_API_KEY\" },\n probe_path: \"/models\",\n discovery: { type: \"openai-models-list\" },\n notes:\n \"Anthropic-shaped clients use https://api.deepseek.com/anthropic with surface anthropic-messages.\",\n },\n openrouter: {\n id: \"openrouter\",\n kind: \"llm\",\n label: \"OpenRouter\",\n surface: \"openai-completions\",\n base_url: \"https://openrouter.ai/api/v1\",\n credential: { kind: \"bearer\", env: \"OPENROUTER_API_KEY\" },\n probe_path: OPENAI_MODELS_PATH,\n discovery: { type: \"openai-models-list\" },\n },\n mistral: {\n id: \"mistral\",\n kind: \"llm\",\n label: \"Mistral\",\n surface: \"openai-completions\",\n base_url: \"https://api.mistral.ai/v1\",\n credential: { kind: \"bearer\", env: \"MISTRAL_API_KEY\" },\n probe_path: OPENAI_MODELS_PATH,\n discovery: { type: \"openai-models-list\" },\n },\n xai: {\n id: \"xai\",\n kind: \"llm\",\n label: \"xAI (Grok)\",\n surface: \"openai-completions\",\n base_url: \"https://api.x.ai/v1\",\n credential: { kind: \"bearer\", env: \"XAI_API_KEY\" },\n probe_path: OPENAI_MODELS_PATH,\n discovery: { type: \"openai-models-list\" },\n },\n together: {\n id: \"together\",\n kind: \"llm\",\n label: \"Together AI\",\n surface: \"openai-completions\",\n base_url: \"https://api.together.ai/v1\",\n credential: { kind: \"bearer\", env: \"TOGETHER_API_KEY\" },\n probe_path: OPENAI_MODELS_PATH,\n discovery: { type: \"openai-models-list\" },\n },\n fireworks: {\n id: \"fireworks\",\n kind: \"llm\",\n label: \"Fireworks AI\",\n surface: \"openai-completions\",\n base_url: \"https://api.fireworks.ai/inference/v1\",\n credential: { kind: \"bearer\", env: \"FIREWORKS_API_KEY\" },\n probe_path: OPENAI_MODELS_PATH,\n discovery: { type: \"openai-models-list\" },\n },\n bedrock: {\n id: \"bedrock\",\n kind: \"llm\",\n label: \"AWS Bedrock\",\n surface: \"bedrock-converse-stream\",\n transport: \"bedrock\",\n credential: { kind: \"sigv4\" },\n required_params: [\"region\"],\n notes: \"Credentials come from the AWS default chain; the runtime host serves no models list.\",\n },\n vertex: {\n id: \"vertex\",\n kind: \"llm\",\n label: \"Google Vertex AI\",\n surface: \"google-vertex\",\n transport: \"vertex\",\n credential: { kind: \"google_adc\" },\n params: { publisher: \"google\" },\n required_params: [\"project\", \"location\"],\n probe_path: \"/models\",\n },\n \"azure-openai\": {\n id: \"azure-openai\",\n kind: \"llm\",\n label: \"Azure OpenAI\",\n surface: \"azure-openai-responses\",\n transport: \"azure-openai\",\n credential: { kind: \"api_key_header\", env: \"AZURE_OPENAI_API_KEY\" },\n auth_header: { name: \"api-key\", template: \"{credential}\" },\n required_params: [\"resource\", \"deployment\", \"api_version\"],\n probe_path: \"/models\",\n notes:\n \"api_version is mirrored into query_params['api-version']; switch credential.kind to azure_entra for Entra tokens.\",\n },\n foundry: {\n id: \"foundry\",\n kind: \"llm\",\n label: \"Claude on Microsoft Foundry\",\n surface: \"anthropic-messages\",\n transport: \"foundry\",\n headers: ANTHROPIC_VERSION_HEADER,\n credential: { kind: \"api_key_header\", env: \"ANTHROPIC_FOUNDRY_API_KEY\" },\n auth_header: X_API_KEY,\n required_params: [\"resource\"],\n probe_path: \"/v1/models\",\n },\n ollama: {\n id: \"ollama\",\n kind: \"llm\",\n label: \"Ollama (local)\",\n surface: \"openai-completions\",\n base_url: \"http://localhost:11434/v1\",\n credential: { kind: \"none\" },\n probe_path: OPENAI_MODELS_PATH,\n discovery: { type: \"openai-models-list\" },\n },\n lmstudio: {\n id: \"lmstudio\",\n kind: \"llm\",\n label: \"LM Studio (local)\",\n surface: \"openai-completions\",\n base_url: \"http://localhost:1234/v1\",\n credential: { kind: \"none\" },\n probe_path: OPENAI_MODELS_PATH,\n discovery: { type: \"openai-models-list\" },\n },\n vllm: {\n id: \"vllm\",\n kind: \"llm\",\n label: \"vLLM (self-hosted)\",\n surface: \"openai-completions\",\n base_url: \"http://localhost:8000/v1\",\n credential: { kind: \"none\" },\n probe_path: OPENAI_MODELS_PATH,\n discovery: { type: \"openai-models-list\" },\n notes: \"A server started with --api-key expects credential.kind bearer and an env: ref.\",\n },\n litellm: {\n id: \"litellm\",\n kind: \"llm\",\n label: \"LiteLLM proxy\",\n surface: \"openai-completions\",\n base_url: \"http://localhost:4000\",\n credential: { kind: \"bearer\", env: \"LITELLM_API_KEY\" },\n probe_path: OPENAI_MODELS_PATH,\n discovery: { type: \"openai-models-list\" },\n notes: \"The credential is the proxy's virtual key; upstream keys stay in the proxy config.\",\n },\n deepgram: {\n id: \"deepgram\",\n kind: \"stt\",\n label: \"Deepgram\",\n base_url: \"https://api.deepgram.com\",\n credential: { kind: \"api_key_header\", env: \"DEEPGRAM_API_KEY\" },\n auth_header: { name: \"Authorization\", template: \"Token {credential}\" },\n params: { model: \"nova-3\", language: \"en\" },\n probe_path: \"/v1/projects\",\n },\n elevenlabs: {\n id: \"elevenlabs\",\n kind: \"tts\",\n label: \"ElevenLabs\",\n base_url: \"https://api.elevenlabs.io\",\n credential: { kind: \"api_key_header\", env: \"ELEVENLABS_API_KEY\" },\n auth_header: { name: \"xi-api-key\", template: \"{credential}\" },\n params: { voice_id: \"21m00Tcm4TlvDq8ikWAM\", output_format: \"mp3_44100_128\" },\n probe_path: \"/v1/models\",\n },\n};\n\n/** Presets in catalog order. */\nexport function listProviderPresets(): AIProviderPreset[] {\n return Object.values(AI_PROVIDER_PRESETS);\n}\n\n/** Look up a preset by id. */\nexport function getProviderPreset(id: string): AIProviderPreset | undefined {\n return AI_PROVIDER_PRESETS[id];\n}\n\n/**\n * The endpoint `skaile providers list` shows for a preset: the literal when\n * there is one, otherwise the transport's `base_url` template (§1.3) with its\n * `{param}` placeholders left in — they are exactly what the operator must\n * supply.\n */\nexport function presetBaseUrl(preset: AIProviderPreset): string | undefined {\n if (preset.base_url) return preset.base_url;\n if (!preset.transport || preset.transport === \"direct\") return undefined;\n return AI_PROVIDER_BASE_URL_TEMPLATES[preset.transport];\n}\n\n/**\n * The endpoint a request to this preset should actually go to: an explicit\n * override first, then the vendor's own `*_BASE_URL` variable\n * ({@link AIProviderPreset.base_url_env}), then the preset literal.\n *\n * Behind a gateway the credential in play is the *gateway's*, not the\n * vendor's, so discovery and key validation have to follow dispatch — firing\n * either at the vendor's public API 401s and yields an empty catalog, which a\n * caller that reads \"empty\" as \"unknown\" then degrades into \"accept anything\".\n *\n * Pure: reads only the `env` record it is handed.\n */\nexport function resolvePresetBaseUrl(\n preset: AIProviderPreset,\n options: { baseUrl?: string; env?: Record<string, string | undefined> } = {},\n): string | undefined {\n const explicit = options.baseUrl?.trim();\n if (explicit) return explicit;\n const fromEnv = preset.base_url_env ? options.env?.[preset.base_url_env]?.trim() : undefined;\n return fromEnv || preset.base_url;\n}\n\n/** Overrides {@link expandPreset} accepts from `skaile providers add`. */\nexport interface ExpandPresetOptions {\n /** `env:NAME` / `cmd:…` / `platform:…` / `keyring:…`. Never a literal. */\n credentialRef?: string;\n baseUrl?: string;\n surface?: AIProviderSurface;\n label?: string;\n /** Transport routing parameters, or voice parameters for `stt`/`tts`. */\n params?: Record<string, string>;\n}\n\n/**\n * Materialize a preset into a registry entry.\n *\n * The credential is always a reference: the preset's conventional `env:` var\n * unless the caller names another ref. No code path here can write a secret.\n * For `transport: azure-openai` the `api_version` parameter is mirrored into\n * `query_params['api-version']`, which is where the wire expects it (§1.3).\n */\nexport function expandPreset(\n preset: AIProviderPreset,\n options: ExpandPresetOptions = {},\n): AIProviderEntry {\n const ref =\n options.credentialRef ?? (preset.credential.env ? `env:${preset.credential.env}` : undefined);\n const credential = ref ? { kind: preset.credential.kind, ref } : { kind: preset.credential.kind };\n const base_url = options.baseUrl ?? preset.base_url;\n const params = { ...preset.params, ...options.params };\n\n if (preset.kind === \"stt\" || preset.kind === \"tts\") {\n return {\n kind: preset.kind,\n label: options.label ?? preset.label,\n preset: preset.id,\n ...(base_url ? { base_url } : {}),\n ...(preset.headers ? { headers: { ...preset.headers } } : {}),\n credential,\n ...(Object.keys(params).length > 0 ? { params: params as AIProviderVoiceParams } : {}),\n };\n }\n\n const transport = preset.transport ?? \"direct\";\n const entry: AIProviderLlmEntry = {\n kind: preset.kind === \"embed\" ? \"embed\" : \"llm\",\n label: options.label ?? preset.label,\n preset: preset.id,\n ...((options.surface ?? preset.surface) ? { surface: options.surface ?? preset.surface } : {}),\n ...(base_url ? { base_url } : {}),\n ...(preset.headers ? { headers: { ...preset.headers } } : {}),\n credential,\n ...(preset.discovery ? { discovery: { ...preset.discovery } } : {}),\n } as AIProviderLlmEntry;\n\n if (transport !== \"direct\") {\n Object.assign(entry, { transport, params });\n if (transport === \"azure-openai\" && params.api_version) {\n entry.query_params = { \"api-version\": params.api_version };\n }\n }\n return entry;\n}\n\n/**\n * Build the catalog merge layer for a set of configured entries (§1.5).\n *\n * Only the presets actually referenced by a `preset:` key are expanded, keyed\n * by the *entry* id — so `groq: {kind: llm, preset: groq}` deep-merges onto a\n * full Groq definition while an unreferenced preset stays out of the registry.\n *\n * Takes the **pre-gate** merge (`LoadedProviderRegistry.patches`), not the\n * gated registry: an entry that leaves `kind` or its transport `params` to the\n * preset is exactly the one the gate drops before this layer exists, and a\n * dropped entry names no preset to expand.\n */\nexport function catalogLayer(providers: AIProviderRegistryPatch): AIProviderRegistryLayer {\n const expanded: AIProviderRegistry = {};\n for (const [id, entry] of Object.entries(providers)) {\n if (!entry.preset) continue;\n const preset = AI_PROVIDER_PRESETS[entry.preset];\n if (!preset) continue;\n expanded[id] = expandPreset(preset);\n }\n return { layer: \"catalog\", providers: expanded };\n}\n\n/**\n * Join a base URL and a path without duplicating a shared leading segment:\n * `(\"https://gw/v1\", \"/v1/models\")` → `https://gw/v1/models`. Both spellings\n * are common in the wild, and a preset's path must work against a gateway base\n * the operator typed either way.\n */\nfunction joinBaseAndPath(base: string, path: string): string {\n const trimmed = base.replace(/\\/+$/, \"\");\n const segments = path.split(\"/\").filter(Boolean);\n const lead = segments[0];\n if (lead && trimmed.toLowerCase().endsWith(`/${lead.toLowerCase()}`)) {\n return `${trimmed}/${segments.slice(1).join(\"/\")}`;\n }\n return `${trimmed}${path}`;\n}\n\n/**\n * The read-only URL a health probe or model discovery can GET for an entry —\n * the models list on LLM surfaces, the equivalent authenticated read on voice\n * ones. `undefined` when the entry has no endpoint yet (missing transport\n * parameters) or the surface serves no such path (Bedrock runtime).\n *\n * This is the catalog method that supersedes `resolveProviderModelsUrl`.\n */\nexport function resolveProbeUrl(entry: AIProviderEntry): string | undefined {\n const base = resolveEntryBaseUrl(entry);\n if (!base) return undefined;\n const preset = entry.preset ? AI_PROVIDER_PRESETS[entry.preset] : undefined;\n const path = (entry as AIProviderLlmEntry).discovery?.path ?? preset?.probe_path;\n if (!path) return undefined;\n const url = joinBaseAndPath(base, path);\n const query = (entry as AIProviderLlmEntry).query_params;\n if (!query || Object.keys(query).length === 0) return url;\n const search = new URLSearchParams(query).toString();\n return `${url}${url.includes(\"?\") ? \"&\" : \"?\"}${search}`;\n}\n\n/**\n * The header(s) that present a credential on the wire for an entry.\n *\n * `credential.kind` alone does not determine the header — `api_key_header` is\n * `x-api-key` at Anthropic, `x-goog-api-key` at Google and `api-key` at Azure —\n * so the preset's `auth_header` wins, then a per-surface default.\n * Returns `{}` when the credential is signed elsewhere (`sigv4`, `google_adc`)\n * or absent.\n */\nexport function buildCredentialHeaders(\n entry: AIProviderEntry,\n secret: string | undefined,\n): Record<string, string> {\n const kind = entry.credential?.kind ?? \"none\";\n if (!secret || kind === \"none\" || kind === \"sigv4\" || kind === \"google_adc\") return {};\n\n const preset = entry.preset ? AI_PROVIDER_PRESETS[entry.preset] : undefined;\n if (preset?.auth_header) {\n return {\n [preset.auth_header.name]: preset.auth_header.template.replace(\"{credential}\", secret),\n };\n }\n if (kind === \"api_key_header\") {\n const surface = (entry as AIProviderLlmEntry).surface;\n if (surface === \"google-generative-ai\") return { \"x-goog-api-key\": secret };\n if (surface === \"azure-openai-responses\") return { \"api-key\": secret };\n return { \"x-api-key\": secret };\n }\n return { Authorization: `Bearer ${secret}` };\n}\n\n/** Outcome of {@link probeProviderEntry}. Never carries the credential. */\nexport interface AIProviderProbeResult {\n /** The endpoint answered 2xx. */\n ok: boolean;\n /** `false` when no request was made — nothing was verified either way. */\n probed: boolean;\n url?: string;\n status?: number;\n /** Human-readable outcome. Secret-free. */\n detail: string;\n}\n\n/** Options for {@link probeProviderEntry}. */\nexport interface ProbeProviderOptions {\n /** Resolved credential value, if the entry has one. Never logged. */\n secret?: string;\n /** Request deadline; default 8000 ms, matching `validateApiKey`. */\n timeoutMs?: number;\n}\n\n/**\n * Send one minimal, read-only request to an entry's endpoint and report what\n * came back.\n *\n * Returns `probed: false` — rather than a false negative — when the entry has\n * no probe path (Bedrock's runtime host) or no resolvable endpoint yet: a\n * SigV4- or ADC-signed request is the transport SDK's job, not this function's.\n */\nexport async function probeProviderEntry(\n entry: AIProviderEntry,\n options: ProbeProviderOptions = {},\n): Promise<AIProviderProbeResult> {\n const url = resolveProbeUrl(entry);\n if (!url) {\n const base = resolveEntryBaseUrl(entry);\n return {\n ok: false,\n probed: false,\n detail: base\n ? `no read-only probe endpoint is defined for this entry (${base})`\n : \"no base_url could be resolved — set base_url or the transport's params\",\n };\n }\n\n const headers: Record<string, string> = {\n ...entry.headers,\n ...buildCredentialHeaders(entry, options.secret),\n };\n\n const controller = new AbortController();\n const timeout = setTimeout(() => controller.abort(), options.timeoutMs ?? 8000);\n try {\n const response = await fetch(url, { method: \"GET\", headers, signal: controller.signal });\n if (response.ok) {\n return { ok: true, probed: true, url, status: response.status, detail: \"endpoint reachable\" };\n }\n const detail =\n response.status === 401 || response.status === 403\n ? \"credential rejected (authentication failed)\"\n : `endpoint returned HTTP ${response.status}`;\n return { ok: false, probed: true, url, status: response.status, detail };\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n const detail =\n err instanceof Error && err.name === \"AbortError\"\n ? `request timed out after ${options.timeoutMs ?? 8000}ms`\n : message;\n return { ok: false, probed: true, url, detail };\n } finally {\n clearTimeout(timeout);\n }\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import { globalCacheRoot, globalSkaileDir, mergeLegacyEntriesInto, mergeLegacyEntriesKeyed } from './chunk-L5VSIPQD.js';
2
2
  import { SUPPORTED_HARNESSES, globalHarnessRoot } from './chunk-VTETQCR6.js';
3
- import { decodeSkaileManifest, compositeSha256, listAssetFiles, SKAILE_MANIFEST_FILENAME, sha256Hex } from './chunk-KPKGWXUJ.js';
3
+ import { decodeSkaileManifest, compositeSha256, listAssetFiles, SKAILE_MANIFEST_FILENAME, sha256Hex } from './chunk-U6S5CXKB.js';
4
+ import { scanDirectory, parseFrontmatter, parseRequires, dedupeRequirementRefs, fromMcpServerMdContent, withFsDeadline, tryWithFsDeadline, fsDeadlineMs, assetDepRefs, agentYamlRequires, yamlQuotingHint } from './chunk-VV2DJT4I.js';
4
5
  import { readPluginGroupings } from './chunk-RVRB27AN.js';
5
- import { scanDirectory, parseFrontmatter, parseRequires, dedupeRequirementRefs, fromMcpServerMdContent, withFsDeadline, tryWithFsDeadline, fsDeadlineMs, assetDepRefs, agentYamlRequires, yamlQuotingHint } from './chunk-JMIKGAUA.js';
6
6
  import { isValidAssetName, slugifyAssetName, depToStr, parseAssetRef, assetRefToStr } from './chunk-IZQOO6MN.js';
7
7
  import { isRetentionValue } from './chunk-C3CAXQMA.js';
8
8
  import { existsSync, readFileSync, mkdirSync, writeFileSync, lstatSync, symlinkSync, rmSync, readdirSync, realpathSync, constants, statSync } from 'fs';
@@ -1552,6 +1552,12 @@ var LegacyKeyError = class extends Error {
1552
1552
  this.name = "LegacyKeyError";
1553
1553
  }
1554
1554
  };
1555
+ var ConfigParseError = class extends Error {
1556
+ constructor(message) {
1557
+ super(message);
1558
+ this.name = "ConfigParseError";
1559
+ }
1560
+ };
1555
1561
  function parseSourceEntries(raw) {
1556
1562
  return raw.map((item, i) => {
1557
1563
  const s = item && typeof item === "object" && !Array.isArray(item) ? item : void 0;
@@ -1696,7 +1702,13 @@ function listConfigFiles(dir, strict, absolute = false) {
1696
1702
  function configParseError(label, d) {
1697
1703
  const reason = (d.message.replace(/^Invalid YAML: /, "").split("\n")[0] ?? "").replace(/:$/, "");
1698
1704
  const hint = yamlQuotingHint(reason);
1699
- return new Error(`${label} \u2014 parse error: ${reason}${hint ? `.${hint}` : ""}`);
1705
+ return new ConfigParseError(`${label} \u2014 parse error: ${reason}${hint ? `.${hint}` : ""}`);
1706
+ }
1707
+ function configParseErrorOf(file, label) {
1708
+ const bad = file.diagnostics?.find(
1709
+ (d) => d.code === "non_object_root" || d.code === "invalid_value_shape"
1710
+ );
1711
+ return bad ? configParseError(label, bad) : void 0;
1700
1712
  }
1701
1713
  function rejectedKeyError(d) {
1702
1714
  return d.code === "invalid_source_entry" ? new SourceEntryError(d.message) : new LegacyKeyError(d.message);
@@ -3199,6 +3211,6 @@ function resolveAgentDefinitionDir(projectDir, definition) {
3199
3211
  return resolve(projectDir, definition);
3200
3212
  }
3201
3213
 
3202
- export { AGENT_INSTANCE_ID_PATTERN, AGENT_INSTANCE_LIFECYCLES, AGENT_INSTANCE_MEMORY_SCOPES, AGENT_INSTANCE_TRIGGER_KINDS, AGENT_PROFILE_FIELDS, AgentRefResolutionError, COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_AGENT_INSTANCE_ID, DEFAULT_RECIPE_ATTR, LegacyKeyError, MAX_PRESET_DEPTH, PresetDepthError, SKAILE_YAML_DEFAULT, SKAILE_YAML_SUFFIX, SKILL_ALLOWLIST_FILE, SKILL_ALLOWLIST_VERSION, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, STAGED_SKILL_MARKER, SourceEntryError, UnknownAssetKindError, agentBlockKeyDiagnostics, agentInstanceDiagnostics, agentSourceCacheDir, attachToBranch, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, coerceVersion, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, effectiveAgentInstances, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, isCommitOnRemote, isInsideProject, isStagedSkillMarkerFor, isWorkspaceConfigFilename, legacySourceCacheKey, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, localConnectorMountDir, matchPin, mcpDeclarationFromMdContent, mergeAgentInstances, mergeAgentPermissions, mergeSkWorkspaceConfigs, normalizeAgentInstances, normalizeConfig, parseSourceEntries, priorSourceCacheKeys, priorStoreManifestSlugs, pullRepo, pullRepoResult, readLinks, readSkillAllowList, resolveAgentDefinitionDir, resolveAgentDir, resolveAll, resolveAsset, resolveCompactionThresholdPercent, resolveGlobalHarnesses, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, resolveSourcePublisher, saveSkWorkspaceConfig, scanRepo, slashGitSourceCacheKey, sourceCacheKey, sourceShortName, stageMaterializedSkills, stagedSkillMarkerState, storeManifestSlug, symlinkEscapeOfProject, unlinkRepo, unstageSkill, validateAssetRecipeAttr, validateAssetRecipeFlake, valueShapeError, workspaceConfigFilename, workspaceNameFromFilename, writeLinks };
3203
- //# sourceMappingURL=chunk-KJSC2ZD6.js.map
3204
- //# sourceMappingURL=chunk-KJSC2ZD6.js.map
3214
+ export { AGENT_INSTANCE_ID_PATTERN, AGENT_INSTANCE_LIFECYCLES, AGENT_INSTANCE_MEMORY_SCOPES, AGENT_INSTANCE_TRIGGER_KINDS, AGENT_PROFILE_FIELDS, AgentRefResolutionError, COMPACTION_DEFAULTS, CanonicalRefConflictError, ConfigParseError, DEFAULT_AGENT_INSTANCE_ID, DEFAULT_RECIPE_ATTR, LegacyKeyError, MAX_PRESET_DEPTH, PresetDepthError, SKAILE_YAML_DEFAULT, SKAILE_YAML_SUFFIX, SKILL_ALLOWLIST_FILE, SKILL_ALLOWLIST_VERSION, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, STAGED_SKILL_MARKER, SourceEntryError, UnknownAssetKindError, agentBlockKeyDiagnostics, agentInstanceDiagnostics, agentSourceCacheDir, attachToBranch, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, coerceVersion, configParseErrorOf, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, effectiveAgentInstances, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, isCommitOnRemote, isInsideProject, isStagedSkillMarkerFor, isWorkspaceConfigFilename, legacySourceCacheKey, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, localConnectorMountDir, matchPin, mcpDeclarationFromMdContent, mergeAgentInstances, mergeAgentPermissions, mergeSkWorkspaceConfigs, normalizeAgentInstances, normalizeConfig, parseSourceEntries, priorSourceCacheKeys, priorStoreManifestSlugs, pullRepo, pullRepoResult, readLinks, readSkillAllowList, resolveAgentDefinitionDir, resolveAgentDir, resolveAll, resolveAsset, resolveCompactionThresholdPercent, resolveGlobalHarnesses, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, resolveSourcePublisher, saveSkWorkspaceConfig, scanRepo, slashGitSourceCacheKey, sourceCacheKey, sourceShortName, stageMaterializedSkills, stagedSkillMarkerState, storeManifestSlug, symlinkEscapeOfProject, unlinkRepo, unstageSkill, validateAssetRecipeAttr, validateAssetRecipeFlake, valueShapeError, workspaceConfigFilename, workspaceNameFromFilename, writeLinks };
3215
+ //# sourceMappingURL=chunk-6WQGJF65.js.map
3216
+ //# sourceMappingURL=chunk-6WQGJF65.js.map