@skaile/workspaces 6.1.0 → 6.2.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 (381) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/{asset-feeds-HJFV7UPW.js → asset-feeds-KPKCE64E.js} +26 -26
  3. package/dist/{asset-feeds-HJFV7UPW.js.map → asset-feeds-KPKCE64E.js.map} +1 -1
  4. package/dist/asset-manager/catalog-deployer.js +10 -10
  5. package/dist/asset-manager/fragments.js +1 -1
  6. package/dist/asset-manager/index.js +18 -18
  7. package/dist/asset-manager/installer.js +13 -13
  8. package/dist/asset-manager/renderers.js +11 -11
  9. package/dist/asset-manager/src/index.d.ts +149 -16
  10. package/dist/asset-manager/src/index.d.ts.map +1 -1
  11. package/dist/asset-manager/src/installer.d.ts +9 -0
  12. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  13. package/dist/asset-manager/src/renderers.d.ts +7 -0
  14. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  15. package/dist/bridge/harnesses/claude-sdk.js +15 -15
  16. package/dist/bridge/harnesses/codex.js +24 -17
  17. package/dist/bridge/harnesses/codex.js.map +1 -1
  18. package/dist/bridge/harnesses/continue.js +14 -14
  19. package/dist/bridge/harnesses/echo.js +4 -4
  20. package/dist/bridge/harnesses/gemini.js +10 -10
  21. package/dist/bridge/harnesses/goose.js +14 -14
  22. package/dist/bridge/harnesses/omp.js +15 -8
  23. package/dist/bridge/harnesses/omp.js.map +1 -1
  24. package/dist/bridge/harnesses/opencode.js +14 -14
  25. package/dist/bridge/harnesses/qwen.js +10 -10
  26. package/dist/bridge/index.js +19 -19
  27. package/dist/bridge/src/harness-model-check.d.ts +15 -0
  28. package/dist/bridge/src/harness-model-check.d.ts.map +1 -1
  29. package/dist/bridge/src/harnesses/_subprocess-cli.d.ts.map +1 -1
  30. package/dist/bridge/src/harnesses/codex.d.ts.map +1 -1
  31. package/dist/bridge/src/harnesses/omp.d.ts.map +1 -1
  32. package/dist/bridge/src/index.d.ts +1 -1
  33. package/dist/bridge/src/index.d.ts.map +1 -1
  34. package/dist/bridge/src/runner-private-env.d.ts +7 -0
  35. package/dist/bridge/src/runner-private-env.d.ts.map +1 -1
  36. package/dist/{chunk-DIGFA7Z5.js → chunk-27SXN33H.js} +13 -5
  37. package/dist/chunk-27SXN33H.js.map +1 -0
  38. package/dist/{chunk-AITJ7ELM.js → chunk-2XM3ZH36.js} +59 -23
  39. package/dist/chunk-2XM3ZH36.js.map +1 -0
  40. package/dist/{chunk-KUQAJVYT.js → chunk-3HACK2Z7.js} +142 -28
  41. package/dist/chunk-3HACK2Z7.js.map +1 -0
  42. package/dist/{chunk-J72MO2WA.js → chunk-5JPW27BI.js} +10 -9
  43. package/dist/chunk-5JPW27BI.js.map +1 -0
  44. package/dist/{chunk-AATHJRKL.js → chunk-5LQ62LNT.js} +4 -4
  45. package/dist/{chunk-AATHJRKL.js.map → chunk-5LQ62LNT.js.map} +1 -1
  46. package/dist/{chunk-S2XHGWQC.js → chunk-6CYKTHNT.js} +44 -15
  47. package/dist/chunk-6CYKTHNT.js.map +1 -0
  48. package/dist/{chunk-XFIEVEU7.js → chunk-6OHZUUR7.js} +5 -4
  49. package/dist/chunk-6OHZUUR7.js.map +1 -0
  50. package/dist/{chunk-E572OHGY.js → chunk-76FLBODK.js} +4 -3
  51. package/dist/chunk-76FLBODK.js.map +1 -0
  52. package/dist/{chunk-HPMQRAIF.js → chunk-7DRFKAJZ.js} +7 -7
  53. package/dist/{chunk-HPMQRAIF.js.map → chunk-7DRFKAJZ.js.map} +1 -1
  54. package/dist/{chunk-EX3GLAL6.js → chunk-7H6XRCPG.js} +5 -5
  55. package/dist/{chunk-EX3GLAL6.js.map → chunk-7H6XRCPG.js.map} +1 -1
  56. package/dist/{chunk-4FVIT5DI.js → chunk-7Y6S4XLL.js} +3 -3
  57. package/dist/{chunk-4FVIT5DI.js.map → chunk-7Y6S4XLL.js.map} +1 -1
  58. package/dist/{chunk-RDTLPOPD.js → chunk-BEYNH2LS.js} +4 -4
  59. package/dist/{chunk-RDTLPOPD.js.map → chunk-BEYNH2LS.js.map} +1 -1
  60. package/dist/{chunk-GNZBFSRB.js → chunk-BOT64P3U.js} +4 -4
  61. package/dist/{chunk-GNZBFSRB.js.map → chunk-BOT64P3U.js.map} +1 -1
  62. package/dist/{chunk-VMVDAZLA.js → chunk-BRK5QZKI.js} +108 -19
  63. package/dist/chunk-BRK5QZKI.js.map +1 -0
  64. package/dist/{chunk-QSYQOTWN.js → chunk-BY5WIRCU.js} +58 -5
  65. package/dist/chunk-BY5WIRCU.js.map +1 -0
  66. package/dist/{chunk-Z7ZEZZB6.js → chunk-C5HFK34M.js} +3 -3
  67. package/dist/chunk-C5HFK34M.js.map +1 -0
  68. package/dist/{chunk-ABFPSVIS.js → chunk-COAFAYBS.js} +31 -7
  69. package/dist/chunk-COAFAYBS.js.map +1 -0
  70. package/dist/{chunk-YLLVSR2U.js → chunk-E5NQRHEB.js} +30 -7
  71. package/dist/chunk-E5NQRHEB.js.map +1 -0
  72. package/dist/{chunk-BFMYYNDT.js → chunk-F3D25RGM.js} +11 -3
  73. package/dist/chunk-F3D25RGM.js.map +1 -0
  74. package/dist/{chunk-QAKUD6QN.js → chunk-GF5JXQIZ.js} +3 -3
  75. package/dist/{chunk-QAKUD6QN.js.map → chunk-GF5JXQIZ.js.map} +1 -1
  76. package/dist/{chunk-ZFUZ5AKM.js → chunk-I7LC5TDY.js} +3 -3
  77. package/dist/{chunk-ZFUZ5AKM.js.map → chunk-I7LC5TDY.js.map} +1 -1
  78. package/dist/{chunk-NB7SYQYP.js → chunk-ICSGNT5P.js} +7 -7
  79. package/dist/{chunk-NB7SYQYP.js.map → chunk-ICSGNT5P.js.map} +1 -1
  80. package/dist/{chunk-CEKW3KXP.js → chunk-ITFCWMOY.js} +18 -15
  81. package/dist/chunk-ITFCWMOY.js.map +1 -0
  82. package/dist/{chunk-LSSYC5IC.js → chunk-IZQOO6MN.js} +2 -2
  83. package/dist/{chunk-LSSYC5IC.js.map → chunk-IZQOO6MN.js.map} +1 -1
  84. package/dist/{chunk-7LP7RCZI.js → chunk-JFLQICIU.js} +5 -5
  85. package/dist/{chunk-7LP7RCZI.js.map → chunk-JFLQICIU.js.map} +1 -1
  86. package/dist/{chunk-COYF6IG2.js → chunk-JJJ2G4K2.js} +5 -5
  87. package/dist/{chunk-COYF6IG2.js.map → chunk-JJJ2G4K2.js.map} +1 -1
  88. package/dist/{chunk-RHN5MRQO.js → chunk-JMIKGAUA.js} +27 -5
  89. package/dist/chunk-JMIKGAUA.js.map +1 -0
  90. package/dist/{chunk-DGTI65OC.js → chunk-K3R2UKG7.js} +17 -11
  91. package/dist/chunk-K3R2UKG7.js.map +1 -0
  92. package/dist/{chunk-3GMOPFWH.js → chunk-KB56WBQ3.js} +4 -4
  93. package/dist/{chunk-3GMOPFWH.js.map → chunk-KB56WBQ3.js.map} +1 -1
  94. package/dist/{chunk-ZHGKAZJ7.js → chunk-KJSC2ZD6.js} +56 -8
  95. package/dist/chunk-KJSC2ZD6.js.map +1 -0
  96. package/dist/{chunk-ZBHZLWV3.js → chunk-KPKGWXUJ.js} +4 -4
  97. package/dist/{chunk-ZBHZLWV3.js.map → chunk-KPKGWXUJ.js.map} +1 -1
  98. package/dist/{chunk-EJPMNDTP.js → chunk-KXJMQTOU.js} +3 -3
  99. package/dist/{chunk-EJPMNDTP.js.map → chunk-KXJMQTOU.js.map} +1 -1
  100. package/dist/{chunk-7HX6FNKL.js → chunk-LRBP3234.js} +41 -56
  101. package/dist/chunk-LRBP3234.js.map +1 -0
  102. package/dist/{chunk-FKQNBCDW.js → chunk-M4OG2YN4.js} +4 -4
  103. package/dist/{chunk-FKQNBCDW.js.map → chunk-M4OG2YN4.js.map} +1 -1
  104. package/dist/{chunk-UI745XC3.js → chunk-MAZ3UXJK.js} +13 -7
  105. package/dist/chunk-MAZ3UXJK.js.map +1 -0
  106. package/dist/{chunk-ASWTQQ7E.js → chunk-MM4YO3EL.js} +3 -3
  107. package/dist/{chunk-ASWTQQ7E.js.map → chunk-MM4YO3EL.js.map} +1 -1
  108. package/dist/{chunk-6YR4ALVX.js → chunk-OCQNUV4T.js} +7 -7
  109. package/dist/{chunk-6YR4ALVX.js.map → chunk-OCQNUV4T.js.map} +1 -1
  110. package/dist/{chunk-4MUDQCBP.js → chunk-PJJSBZZP.js} +3 -3
  111. package/dist/{chunk-4MUDQCBP.js.map → chunk-PJJSBZZP.js.map} +1 -1
  112. package/dist/{chunk-HWNK3F3X.js → chunk-PKBLJI23.js} +588 -76
  113. package/dist/chunk-PKBLJI23.js.map +1 -0
  114. package/dist/{chunk-NOA6EJXE.js → chunk-PKE3PXOK.js} +3 -3
  115. package/dist/{chunk-NOA6EJXE.js.map → chunk-PKE3PXOK.js.map} +1 -1
  116. package/dist/{chunk-AZ2H6R5I.js → chunk-PMWRM4EJ.js} +74 -39
  117. package/dist/chunk-PMWRM4EJ.js.map +1 -0
  118. package/dist/{chunk-VYVTEMAW.js → chunk-PNUM7GUY.js} +3 -3
  119. package/dist/{chunk-VYVTEMAW.js.map → chunk-PNUM7GUY.js.map} +1 -1
  120. package/dist/{chunk-X3YGUKCG.js → chunk-Q5RN4PWV.js} +3 -3
  121. package/dist/{chunk-X3YGUKCG.js.map → chunk-Q5RN4PWV.js.map} +1 -1
  122. package/dist/{chunk-BBBCJSSU.js → chunk-QIHL3YPL.js} +4 -4
  123. package/dist/{chunk-BBBCJSSU.js.map → chunk-QIHL3YPL.js.map} +1 -1
  124. package/dist/{chunk-HMISULVD.js → chunk-QK7AG5AV.js} +4 -4
  125. package/dist/{chunk-HMISULVD.js.map → chunk-QK7AG5AV.js.map} +1 -1
  126. package/dist/{chunk-ZDLUQLI6.js → chunk-QPWR3YMY.js} +15 -5
  127. package/dist/chunk-QPWR3YMY.js.map +1 -0
  128. package/dist/{chunk-SVTMNSPI.js → chunk-QXKUFROW.js} +5 -5
  129. package/dist/{chunk-SVTMNSPI.js.map → chunk-QXKUFROW.js.map} +1 -1
  130. package/dist/{chunk-5Y2KGB4H.js → chunk-RQMIZONH.js} +34 -9
  131. package/dist/chunk-RQMIZONH.js.map +1 -0
  132. package/dist/{chunk-LSI2IVFT.js → chunk-RXGPFAMN.js} +4 -3
  133. package/dist/chunk-RXGPFAMN.js.map +1 -0
  134. package/dist/{chunk-NUA33BYO.js → chunk-S2H3RBK7.js} +42 -15
  135. package/dist/chunk-S2H3RBK7.js.map +1 -0
  136. package/dist/{chunk-2LAPHLDH.js → chunk-SJNZ4WPA.js} +44 -35
  137. package/dist/chunk-SJNZ4WPA.js.map +1 -0
  138. package/dist/{chunk-QEULL4Q3.js → chunk-T2VBPVWZ.js} +77 -18
  139. package/dist/chunk-T2VBPVWZ.js.map +1 -0
  140. package/dist/{chunk-Z3VKUWAX.js → chunk-TSTRH4SM.js} +3 -3
  141. package/dist/{chunk-Z3VKUWAX.js.map → chunk-TSTRH4SM.js.map} +1 -1
  142. package/dist/{chunk-5J4NPGFM.js → chunk-TZERN27L.js} +5 -5
  143. package/dist/{chunk-5J4NPGFM.js.map → chunk-TZERN27L.js.map} +1 -1
  144. package/dist/{chunk-XGULGQA3.js → chunk-U673DB5U.js} +4 -4
  145. package/dist/{chunk-XGULGQA3.js.map → chunk-U673DB5U.js.map} +1 -1
  146. package/dist/{chunk-IRYKRKVQ.js → chunk-URCJIV7T.js} +3 -3
  147. package/dist/{chunk-IRYKRKVQ.js.map → chunk-URCJIV7T.js.map} +1 -1
  148. package/dist/{chunk-ADPM6AYF.js → chunk-VSX2G7LA.js} +3 -3
  149. package/dist/{chunk-ADPM6AYF.js.map → chunk-VSX2G7LA.js.map} +1 -1
  150. package/dist/{chunk-ILLTBKDJ.js → chunk-X37JUNEW.js} +4 -4
  151. package/dist/{chunk-ILLTBKDJ.js.map → chunk-X37JUNEW.js.map} +1 -1
  152. package/dist/{chunk-IHFGPHCT.js → chunk-Z3IRZBXB.js} +49 -25
  153. package/dist/chunk-Z3IRZBXB.js.map +1 -0
  154. package/dist/{chunk-ZAELRYKS.js → chunk-ZWJCRHP3.js} +3 -3
  155. package/dist/{chunk-ZAELRYKS.js.map → chunk-ZWJCRHP3.js.map} +1 -1
  156. package/dist/{claude-code-RE46FJXI.js → claude-code-BBMNVH2J.js} +5 -5
  157. package/dist/{claude-code-RE46FJXI.js.map → claude-code-BBMNVH2J.js.map} +1 -1
  158. package/dist/cli/index.js +348 -141
  159. package/dist/cli/index.js.map +1 -1
  160. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  161. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  162. package/dist/cli/src/commands/config.d.ts.map +1 -1
  163. package/dist/cli/src/commands/diff.d.ts.map +1 -1
  164. package/dist/cli/src/commands/harness.d.ts.map +1 -1
  165. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  166. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  167. package/dist/cli/src/commands/library-index.d.ts +8 -1
  168. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  169. package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
  170. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  171. package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
  172. package/dist/cli/src/commands/project.d.ts.map +1 -1
  173. package/dist/cli/src/commands/rebuild.d.ts.map +1 -1
  174. package/dist/cli/src/commands/run.d.ts.map +1 -1
  175. package/dist/cli/src/commands/serve-preflight.d.ts +31 -1
  176. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  177. package/dist/cli/src/commands/serve.d.ts +10 -0
  178. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  179. package/dist/cli/src/commands/source-manifest-publish.d.ts.map +1 -1
  180. package/dist/cli/src/commands/source-manifest.d.ts +19 -7
  181. package/dist/cli/src/commands/source-manifest.d.ts.map +1 -1
  182. package/dist/cli/src/commands/validate-instances.d.ts.map +1 -1
  183. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  184. package/dist/cli/src/commands/why.d.ts.map +1 -1
  185. package/dist/cli/src/config-checks.d.ts +23 -5
  186. package/dist/cli/src/config-checks.d.ts.map +1 -1
  187. package/dist/cli/src/harness-error.d.ts +12 -1
  188. package/dist/cli/src/harness-error.d.ts.map +1 -1
  189. package/dist/cli/src/helpers.d.ts +18 -8
  190. package/dist/cli/src/helpers.d.ts.map +1 -1
  191. package/dist/cli/src/plugin-store/index.d.ts +10 -1
  192. package/dist/cli/src/plugin-store/index.d.ts.map +1 -1
  193. package/dist/cli/src/plugin-store/spec.d.ts +8 -0
  194. package/dist/cli/src/plugin-store/spec.d.ts.map +1 -1
  195. package/dist/cli/src/skill-checks.d.ts +2 -2
  196. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  197. package/dist/connectors/config.js +5 -5
  198. package/dist/connectors/index.js +22 -22
  199. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  200. package/dist/connectors-47EM6C2P.js +48 -0
  201. package/dist/{connectors-7THEF7YA.js.map → connectors-47EM6C2P.js.map} +1 -1
  202. package/dist/core/framework.js +1 -1
  203. package/dist/core/index.js +9 -9
  204. package/dist/core/manifest.js +2 -2
  205. package/dist/core/models.js +1 -1
  206. package/dist/core/provider-registry-credentials.js +2 -2
  207. package/dist/core/provider-registry.js +1 -1
  208. package/dist/core/publish-manifest.js +3 -3
  209. package/dist/core/ref.js +1 -1
  210. package/dist/core/runtime-assets.js +5 -5
  211. package/dist/core/src/framework.d.ts +5 -3
  212. package/dist/core/src/framework.d.ts.map +1 -1
  213. package/dist/core/src/index.d.ts +2 -1
  214. package/dist/core/src/index.d.ts.map +1 -1
  215. package/dist/core/src/lock.d.ts +12 -0
  216. package/dist/core/src/lock.d.ts.map +1 -1
  217. package/dist/core/src/manifest.d.ts +15 -0
  218. package/dist/core/src/manifest.d.ts.map +1 -1
  219. package/dist/core/src/models.d.ts +7 -0
  220. package/dist/core/src/models.d.ts.map +1 -1
  221. package/dist/core/src/provider-registry.d.ts +6 -0
  222. package/dist/core/src/provider-registry.d.ts.map +1 -1
  223. package/dist/core/src/workspace-config.d.ts +10 -1
  224. package/dist/core/src/workspace-config.d.ts.map +1 -1
  225. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  226. package/dist/core/workspace-config.js +4 -4
  227. package/dist/deploy/index.js +9 -9
  228. package/dist/discovery/index.js +5 -5
  229. package/dist/discovery/src/parse-manifest.d.ts.map +1 -1
  230. package/dist/{ensure-sources-IH7CHSJF.js → ensure-sources-K5EFNC3L.js} +35 -21
  231. package/dist/ensure-sources-K5EFNC3L.js.map +1 -0
  232. package/dist/factory-assets/connectors/box.js +22 -22
  233. package/dist/factory-assets/connectors/deploy.js +22 -22
  234. package/dist/factory-assets/connectors/devserver.js +22 -22
  235. package/dist/factory-assets/connectors/flow/adapter.js +22 -22
  236. package/dist/factory-assets/connectors/flow/engine.js +10 -10
  237. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  238. package/dist/factory-assets/connectors/flow/run-flow.js +24 -24
  239. package/dist/factory-assets/connectors/flow.js +22 -22
  240. package/dist/factory-assets/connectors/git.js +22 -22
  241. package/dist/factory-assets/connectors/gmail.js +22 -22
  242. package/dist/factory-assets/connectors/googledrive.js +22 -22
  243. package/dist/factory-assets/connectors/local.js +22 -22
  244. package/dist/factory-assets/connectors/mattermost.js +22 -22
  245. package/dist/factory-assets/connectors/memory.js +22 -22
  246. package/dist/factory-assets/connectors/minio.js +22 -22
  247. package/dist/factory-assets/connectors/postgres.js +22 -22
  248. package/dist/factory-assets/connectors/s3.js +22 -22
  249. package/dist/factory-assets/connectors/sharepoint.js +22 -22
  250. package/dist/factory-assets/connectors/sqlite.js +22 -22
  251. package/dist/factory-assets/connectors/static-server.js +22 -22
  252. package/dist/factory-assets/connectors/tunnel.js +22 -22
  253. package/dist/factory-assets/connectors/webdav.js +22 -22
  254. package/dist/factory-assets/connectors/xstate-store.js +22 -22
  255. package/dist/factory-assets/connectors/xstate.js +22 -22
  256. package/dist/flows-KLBNSKLO.js +26 -0
  257. package/dist/{flows-4JZQ3XFK.js.map → flows-KLBNSKLO.js.map} +1 -1
  258. package/dist/helpers-LUSV2ICC.js +52 -0
  259. package/dist/{helpers-JNMK3FC2.js.map → helpers-LUSV2ICC.js.map} +1 -1
  260. package/dist/library/index.js +14 -14
  261. package/dist/library/install.js +5 -5
  262. package/dist/library/src/index.d.ts +1 -1
  263. package/dist/library/src/index.d.ts.map +1 -1
  264. package/dist/library/src/install/index.d.ts +1 -1
  265. package/dist/library/src/install/index.d.ts.map +1 -1
  266. package/dist/library/src/install/install-from-manifest.d.ts +13 -0
  267. package/dist/library/src/install/install-from-manifest.d.ts.map +1 -1
  268. package/dist/library/src/install/source-fetch-github.d.ts.map +1 -1
  269. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  270. package/dist/library/src/remote/remote-catalog-source.d.ts +3 -1
  271. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  272. package/dist/library/src/remote/rest-catalog-source.d.ts +3 -2
  273. package/dist/library/src/remote/rest-catalog-source.d.ts.map +1 -1
  274. package/dist/{library-publish-I3UWXAHI.js → library-publish-XMRCKRNR.js} +54 -55
  275. package/dist/library-publish-XMRCKRNR.js.map +1 -0
  276. package/dist/model-endpoint/index.js +12 -12
  277. package/dist/model-endpoint/src/openai-chat.d.ts +7 -2
  278. package/dist/model-endpoint/src/openai-chat.d.ts.map +1 -1
  279. package/dist/model-endpoint/src/openai-shared.d.ts +8 -0
  280. package/dist/model-endpoint/src/openai-shared.d.ts.map +1 -1
  281. package/dist/model-endpoint/src/server.d.ts.map +1 -1
  282. package/dist/model-endpoint/src/types.d.ts +1 -1
  283. package/dist/model-endpoint/src/types.d.ts.map +1 -1
  284. package/dist/model-endpoint/src/usage-cost.d.ts +23 -0
  285. package/dist/model-endpoint/src/usage-cost.d.ts.map +1 -0
  286. package/dist/open-library-XBR46DJL.js +56 -0
  287. package/dist/{open-library-NKKUJLWA.js.map → open-library-XBR46DJL.js.map} +1 -1
  288. package/dist/open-registry-W562DCDL.js +32 -0
  289. package/dist/{open-registry-BYAXSHUI.js.map → open-registry-W562DCDL.js.map} +1 -1
  290. package/dist/paths-2AZXB3QL.js +22 -0
  291. package/dist/{paths-UKWE35XS.js.map → paths-2AZXB3QL.js.map} +1 -1
  292. package/dist/plugin-store-36SIL4TV.js +23 -0
  293. package/dist/{plugin-store-ABE35NRX.js.map → plugin-store-36SIL4TV.js.map} +1 -1
  294. package/dist/project-D7GN7WLS.js +86 -0
  295. package/dist/{project-BIPK47JK.js.map → project-D7GN7WLS.js.map} +1 -1
  296. package/dist/resolver/index.js +10 -10
  297. package/dist/runner/index.js +39 -39
  298. package/dist/runner/src/capability-roundtrip.d.ts +7 -6
  299. package/dist/runner/src/capability-roundtrip.d.ts.map +1 -1
  300. package/dist/runner/src/serve.d.ts +6 -5
  301. package/dist/runner/src/serve.d.ts.map +1 -1
  302. package/dist/sdk/asset-manager.js +18 -18
  303. package/dist/sdk/bridge.js +19 -19
  304. package/dist/sdk/core.js +9 -9
  305. package/dist/sdk/flow.js +10 -10
  306. package/dist/sdk/index.js +39 -39
  307. package/dist/sdk/resolver.js +10 -10
  308. package/dist/sdk/runner.js +39 -39
  309. package/dist/sdk/transport/ws/server.js +10 -10
  310. package/dist/sdk/transport/ws.js +10 -10
  311. package/dist/sdk/transport.js +10 -10
  312. package/dist/{serve-preflight-FLTIBTEX.js → serve-preflight-CGA5G3AE.js} +63 -35
  313. package/dist/serve-preflight-CGA5G3AE.js.map +1 -0
  314. package/dist/{setup-AG6NFHSN.js → setup-IBDNJAOU.js} +31 -31
  315. package/dist/{setup-AG6NFHSN.js.map → setup-IBDNJAOU.js.map} +1 -1
  316. package/dist/skills-CTTO7SZK.js +26 -0
  317. package/dist/{skills-UQYUHVKO.js.map → skills-CTTO7SZK.js.map} +1 -1
  318. package/dist/source-2DJ5KNOI.js +85 -0
  319. package/dist/{source-ASEHI2XS.js.map → source-2DJ5KNOI.js.map} +1 -1
  320. package/dist/source-fetch-github-RWHV4I5Z.js +4 -0
  321. package/dist/{source-fetch-github-ST4MFL3D.js.map → source-fetch-github-RWHV4I5Z.js.map} +1 -1
  322. package/dist/{source-manifest-publish-IEVV3W6J.js → source-manifest-publish-IYWUMUCY.js} +54 -56
  323. package/dist/source-manifest-publish-IYWUMUCY.js.map +1 -0
  324. package/dist/transport/index.js +10 -10
  325. package/dist/transport/ws/server.js +10 -10
  326. package/dist/transport/ws.js +10 -10
  327. package/dist/tui/index.js +47 -40
  328. package/dist/tui/index.js.map +1 -1
  329. package/dist/tui/src/repl.d.ts.map +1 -1
  330. package/dist/types/manifests.js +1 -1
  331. package/dist/types/src/manifests/index.d.ts +1 -1
  332. package/dist/types/src/manifests/index.d.ts.map +1 -1
  333. package/dist/types/src/manifests/scaffold-body.d.ts +2 -0
  334. package/dist/types/src/manifests/scaffold-body.d.ts.map +1 -1
  335. package/dist/workspace-plugin/adapters/mcp.js +29 -29
  336. package/dist/workspace-plugin/adapters/omp.js +15 -15
  337. package/dist/workspace-plugin/index.js +2 -2
  338. package/package.json +1 -1
  339. package/dist/chunk-2LAPHLDH.js.map +0 -1
  340. package/dist/chunk-5Y2KGB4H.js.map +0 -1
  341. package/dist/chunk-7HX6FNKL.js.map +0 -1
  342. package/dist/chunk-ABFPSVIS.js.map +0 -1
  343. package/dist/chunk-AITJ7ELM.js.map +0 -1
  344. package/dist/chunk-AZ2H6R5I.js.map +0 -1
  345. package/dist/chunk-BFMYYNDT.js.map +0 -1
  346. package/dist/chunk-CEKW3KXP.js.map +0 -1
  347. package/dist/chunk-DGTI65OC.js.map +0 -1
  348. package/dist/chunk-DIGFA7Z5.js.map +0 -1
  349. package/dist/chunk-E572OHGY.js.map +0 -1
  350. package/dist/chunk-HWNK3F3X.js.map +0 -1
  351. package/dist/chunk-IHFGPHCT.js.map +0 -1
  352. package/dist/chunk-J72MO2WA.js.map +0 -1
  353. package/dist/chunk-KUQAJVYT.js.map +0 -1
  354. package/dist/chunk-LSI2IVFT.js.map +0 -1
  355. package/dist/chunk-NUA33BYO.js.map +0 -1
  356. package/dist/chunk-QEULL4Q3.js.map +0 -1
  357. package/dist/chunk-QSYQOTWN.js.map +0 -1
  358. package/dist/chunk-RHN5MRQO.js.map +0 -1
  359. package/dist/chunk-S2XHGWQC.js.map +0 -1
  360. package/dist/chunk-UI745XC3.js.map +0 -1
  361. package/dist/chunk-VMVDAZLA.js.map +0 -1
  362. package/dist/chunk-XFIEVEU7.js.map +0 -1
  363. package/dist/chunk-YLLVSR2U.js.map +0 -1
  364. package/dist/chunk-Z7ZEZZB6.js.map +0 -1
  365. package/dist/chunk-ZDLUQLI6.js.map +0 -1
  366. package/dist/chunk-ZHGKAZJ7.js.map +0 -1
  367. package/dist/connectors-7THEF7YA.js +0 -48
  368. package/dist/ensure-sources-IH7CHSJF.js.map +0 -1
  369. package/dist/flows-4JZQ3XFK.js +0 -26
  370. package/dist/helpers-JNMK3FC2.js +0 -38
  371. package/dist/library-publish-I3UWXAHI.js.map +0 -1
  372. package/dist/open-library-NKKUJLWA.js +0 -42
  373. package/dist/open-registry-BYAXSHUI.js +0 -32
  374. package/dist/paths-UKWE35XS.js +0 -22
  375. package/dist/plugin-store-ABE35NRX.js +0 -23
  376. package/dist/project-BIPK47JK.js +0 -86
  377. package/dist/serve-preflight-FLTIBTEX.js.map +0 -1
  378. package/dist/skills-UQYUHVKO.js +0 -26
  379. package/dist/source-ASEHI2XS.js +0 -85
  380. package/dist/source-fetch-github-ST4MFL3D.js +0 -4
  381. package/dist/source-manifest-publish-IEVV3W6J.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { selectableEntries, entryModelIds, entrySurface, entryBaseUrl } from './chunk-GNZBFSRB.js';
2
- import { entryCredentialValue } from './chunk-ILLTBKDJ.js';
3
- import { listenWithProbe, loadHarnessSdkSubpath, loadHarnessSdk } from './chunk-VMVDAZLA.js';
4
- import { parseModelRef } from './chunk-LSI2IVFT.js';
1
+ import { selectableEntries, entryModelIds, entrySurface, entryBaseUrl } from './chunk-BOT64P3U.js';
2
+ import { entryCredentialValue } from './chunk-X37JUNEW.js';
3
+ import { listenWithProbe, loadHarnessSdkSubpath, loadHarnessSdk } from './chunk-BRK5QZKI.js';
4
+ import { parseModelRef } from './chunk-RXGPFAMN.js';
5
5
  import { createHash, timingSafeEqual, randomUUID } from 'crypto';
6
6
  import { createServer } from 'http';
7
7
 
@@ -177,6 +177,35 @@ function pickSamplingParams(body, keys) {
177
177
  }
178
178
  return Object.keys(picked).length > 0 ? picked : void 0;
179
179
  }
180
+ var PASSTHROUGH_OBJECT_KEYS = ["response_format", "usage", "provider"];
181
+ var RESPONSE_FORMAT_TYPES = ["text", "json_object", "json_schema"];
182
+ function pickPassthroughObjects(body) {
183
+ const picked = {};
184
+ for (const key of PASSTHROUGH_OBJECT_KEYS) {
185
+ const value = body[key];
186
+ if (value === void 0 || value === null) continue;
187
+ switch (key) {
188
+ case "response_format":
189
+ if (!isRecord(value) || !RESPONSE_FORMAT_TYPES.includes(value.type)) {
190
+ throw badRequest("response_format.type must be text, json_object or json_schema");
191
+ }
192
+ if (value.type === "json_schema" && (!isRecord(value.json_schema) || typeof value.json_schema.name !== "string" || value.json_schema.name.length === 0)) {
193
+ throw badRequest("response_format.json_schema.name is required");
194
+ }
195
+ break;
196
+ case "usage":
197
+ if (!isRecord(value) || typeof value.include !== "boolean") {
198
+ throw badRequest("usage.include must be a boolean");
199
+ }
200
+ break;
201
+ case "provider":
202
+ if (!isRecord(value)) throw badRequest("provider must be an object");
203
+ break;
204
+ }
205
+ picked[key] = value;
206
+ }
207
+ return Object.keys(picked).length > 0 ? picked : void 0;
208
+ }
180
209
  function buildOptions(parts) {
181
210
  const options = {};
182
211
  if (parts.temperature !== void 0) options.temperature = parts.temperature;
@@ -364,6 +393,10 @@ function parseTools(value) {
364
393
  }
365
394
  return tools;
366
395
  }
396
+ function mergeSamplingParams(...parts) {
397
+ const merged = Object.assign({}, ...parts);
398
+ return Object.keys(merged).length > 0 ? merged : void 0;
399
+ }
367
400
  function parseChatCompletionRequest(body) {
368
401
  if (!isRecord(body)) throw badRequest("request body must be a JSON object");
369
402
  const model = requireModel(body);
@@ -424,13 +457,10 @@ function parseChatCompletionRequest(body) {
424
457
  body.max_completion_tokens ?? body.max_tokens,
425
458
  "max_completion_tokens"
426
459
  ),
427
- samplingParams: pickSamplingParams(body, [
428
- "top_p",
429
- "frequency_penalty",
430
- "presence_penalty",
431
- "seed",
432
- "stop"
433
- ]),
460
+ samplingParams: mergeSamplingParams(
461
+ pickSamplingParams(body, ["top_p", "frequency_penalty", "presence_penalty", "seed", "stop"]),
462
+ pickPassthroughObjects(body)
463
+ ),
434
464
  reasoning: parseReasoningEffort(body.reasoning_effort, "reasoning_effort")
435
465
  });
436
466
  return {
@@ -454,7 +484,7 @@ function finishReason(stopReason, errorMessage) {
454
484
  return "stop";
455
485
  }
456
486
  }
457
- function toChatUsage(usage) {
487
+ function toChatUsage(usage, cost) {
458
488
  const prompt = promptTokens(usage);
459
489
  const result = {
460
490
  prompt_tokens: prompt,
@@ -464,9 +494,10 @@ function toChatUsage(usage) {
464
494
  };
465
495
  if (usage.reasoning !== void 0)
466
496
  result.completion_tokens_details = { reasoning_tokens: usage.reasoning };
497
+ if (cost !== void 0) result.cost = cost;
467
498
  return result;
468
499
  }
469
- function toChatCompletion(message, meta) {
500
+ function toChatCompletion(message, meta, cost) {
470
501
  const reason = finishReason(message.stopReason, message.errorMessage);
471
502
  let text = "";
472
503
  let thinking = "";
@@ -491,7 +522,7 @@ function toChatCompletion(message, meta) {
491
522
  created: meta.created,
492
523
  model: meta.model,
493
524
  choices: [{ index: 0, message: out, finish_reason: reason }],
494
- usage: toChatUsage(message.usage)
525
+ usage: toChatUsage(message.usage, cost)
495
526
  };
496
527
  }
497
528
  function createChatStreamState(init) {
@@ -548,7 +579,7 @@ function chatCompletionChunks(event, state) {
548
579
  created: state.created,
549
580
  model: state.model,
550
581
  choices: [],
551
- usage: toChatUsage(event.message.usage)
582
+ usage: toChatUsage(event.message.usage, state.cost)
552
583
  });
553
584
  }
554
585
  return chunks;
@@ -994,8 +1025,70 @@ function responsesEvents(event, state) {
994
1025
  }
995
1026
  }
996
1027
 
1028
+ // model-endpoint/src/usage-cost.ts
1029
+ function costOf(payload) {
1030
+ if (typeof payload !== "object" || payload === null || !("usage" in payload)) return void 0;
1031
+ const { usage } = payload;
1032
+ if (typeof usage !== "object" || usage === null || !("cost" in usage)) return void 0;
1033
+ const { cost } = usage;
1034
+ return typeof cost === "number" && Number.isFinite(cost) ? cost : void 0;
1035
+ }
1036
+ async function sseCost(body) {
1037
+ const reader = body.getReader();
1038
+ const decoder = new TextDecoder();
1039
+ let pending = "";
1040
+ let cost;
1041
+ const scan = (line) => {
1042
+ if (!line.startsWith("data:") || !line.includes('"cost"')) return;
1043
+ try {
1044
+ cost = costOf(JSON.parse(line.slice("data:".length))) ?? cost;
1045
+ } catch {
1046
+ }
1047
+ };
1048
+ try {
1049
+ for (; ; ) {
1050
+ const { done, value } = await reader.read();
1051
+ if (done) break;
1052
+ pending += decoder.decode(value, { stream: true });
1053
+ const lines = pending.split("\n");
1054
+ pending = lines.pop() ?? "";
1055
+ for (const line of lines) scan(line.endsWith("\r") ? line.slice(0, -1) : line);
1056
+ }
1057
+ scan(pending + decoder.decode());
1058
+ return cost;
1059
+ } catch {
1060
+ return void 0;
1061
+ }
1062
+ }
1063
+ function createCostCapture(base = globalThis.fetch) {
1064
+ const reads = [];
1065
+ const capturing = (async (input, init) => {
1066
+ const response = await base(input, init);
1067
+ const type = response.headers.get("content-type") ?? "";
1068
+ if (type.startsWith("text/event-stream") && response.body) {
1069
+ const [forCaller, forCost] = response.body.tee();
1070
+ reads.push(sseCost(forCost));
1071
+ return new Response(forCaller, response);
1072
+ }
1073
+ if (type.startsWith("application/json") && response.body) {
1074
+ reads.push(
1075
+ response.clone().json().then(costOf, () => void 0)
1076
+ );
1077
+ }
1078
+ return response;
1079
+ });
1080
+ return {
1081
+ fetch: capturing,
1082
+ async cost() {
1083
+ const costs = await Promise.all(reads);
1084
+ return costs.reduce((last, cost) => cost ?? last, void 0);
1085
+ }
1086
+ };
1087
+ }
1088
+
997
1089
  // model-endpoint/src/server.ts
998
1090
  var MAX_BODY_BYTES = 10 * 1024 * 1024;
1091
+ var COST_WAIT_MS = 2e3;
999
1092
  var EMBEDDING_SURFACES = /* @__PURE__ */ new Set(["openai-completions", "openai-responses"]);
1000
1093
  async function startModelEndpoint(options) {
1001
1094
  if (!options.token) throw new Error("model endpoint requires a non-empty token");
@@ -1016,7 +1109,7 @@ async function startModelEndpoint(options) {
1016
1109
  throw new ModelEndpointError(401, "invalid or missing bearer token", "invalid_api_key");
1017
1110
  }
1018
1111
  }
1019
- async function startUpstream(request, resolved, signal) {
1112
+ async function startUpstream(request, resolved, signal, captureCost = false) {
1020
1113
  const pi = await loadPi(projectDir);
1021
1114
  const surface = resolved.model.api;
1022
1115
  let api;
@@ -1030,33 +1123,46 @@ async function startModelEndpoint(options) {
1030
1123
  );
1031
1124
  }
1032
1125
  const { temperature, maxTokens, samplingParams, reasoning } = request.options;
1126
+ const capture = captureCost && surface === "openai-completions" ? createCostCapture(options.fetch ?? globalThis.fetch) : void 0;
1033
1127
  const common = {
1034
1128
  ...resolved.apiKey !== void 0 ? { apiKey: resolved.apiKey } : {},
1035
1129
  ...resolved.headers ? { headers: resolved.headers } : {},
1036
1130
  signal,
1131
+ ...capture ? { fetch: capture.fetch } : {},
1037
1132
  ...temperature !== void 0 ? { temperature } : {},
1038
1133
  ...maxTokens !== void 0 ? { maxTokens } : {},
1039
1134
  ...samplingParams !== void 0 ? { samplingParams } : {}
1040
1135
  };
1041
1136
  const context = pi.normalizeContext(request.context);
1137
+ const cost = () => capture ? withCeiling(capture.cost(), COST_WAIT_MS) : Promise.resolve(void 0);
1042
1138
  if (reasoning !== void 0 && api.streamSimple) {
1043
- return api.streamSimple(resolved.model, context, {
1044
- ...common,
1045
- reasoning
1046
- });
1139
+ return {
1140
+ events: api.streamSimple(resolved.model, context, {
1141
+ ...common,
1142
+ reasoning
1143
+ }),
1144
+ cost
1145
+ };
1047
1146
  }
1048
- return api.stream(resolved.model, context, common);
1147
+ return {
1148
+ events: api.stream(resolved.model, context, common),
1149
+ cost
1150
+ };
1049
1151
  }
1050
1152
  async function handleChat(req, res, signal, trace) {
1051
1153
  const request = parseChatCompletionRequest(await readJson(req));
1052
1154
  const resolved = resolveModel(request.model, deps());
1053
1155
  trace.target = `${resolved.providerId}/${resolved.logicalId}`;
1054
- const events = await startUpstream(request, resolved, signal);
1156
+ const { events, cost } = await startUpstream(request, resolved, signal, true);
1055
1157
  const id = `chatcmpl-${randomUUID().replaceAll("-", "")}`;
1056
1158
  const created = Math.floor(Date.now() / 1e3);
1057
1159
  if (!request.stream) {
1058
1160
  const message = await collectFinal(events);
1059
- sendJson(res, 200, toChatCompletion(message, { id, created, model: request.model }));
1161
+ sendJson(
1162
+ res,
1163
+ 200,
1164
+ toChatCompletion(message, { id, created, model: request.model }, await cost())
1165
+ );
1060
1166
  return;
1061
1167
  }
1062
1168
  const state = createChatStreamState({
@@ -1066,7 +1172,10 @@ async function startModelEndpoint(options) {
1066
1172
  includeUsage: request.includeUsage
1067
1173
  });
1068
1174
  await pipeSse(res, events, {
1069
- frames: (event) => chatCompletionChunks(event, state),
1175
+ frames: async (event) => {
1176
+ if (event.type === "done" && state.includeUsage) state.cost = await cost();
1177
+ return chatCompletionChunks(event, state);
1178
+ },
1070
1179
  errorFrame: (message) => ({ error: { message, type: "upstream_error" } }),
1071
1180
  terminator: "[DONE]"
1072
1181
  });
@@ -1075,7 +1184,7 @@ async function startModelEndpoint(options) {
1075
1184
  const request = parseResponsesRequest(await readJson(req));
1076
1185
  const resolved = resolveModel(request.model, deps());
1077
1186
  trace.target = `${resolved.providerId}/${resolved.logicalId}`;
1078
- const events = await startUpstream(request, resolved, signal);
1187
+ const { events } = await startUpstream(request, resolved, signal);
1079
1188
  const id = `resp_${randomUUID().replaceAll("-", "")}`;
1080
1189
  const created = Math.floor(Date.now() / 1e3);
1081
1190
  if (!request.stream) {
@@ -1257,6 +1366,11 @@ async function collectFinal(events) {
1257
1366
  "upstream_incomplete"
1258
1367
  );
1259
1368
  }
1369
+ function withCeiling(promise, ms) {
1370
+ const { promise: timeout, resolve } = Promise.withResolvers();
1371
+ const timer = setTimeout(resolve, ms);
1372
+ return Promise.race([promise, timeout]).finally(() => clearTimeout(timer));
1373
+ }
1260
1374
  function upstreamFailure(message) {
1261
1375
  return new ModelEndpointError(
1262
1376
  502,
@@ -1279,7 +1393,7 @@ async function pipeSse(res, events, pipe) {
1279
1393
  await sendAll([pipe.errorFrame(event.error.errorMessage ?? `upstream ${event.reason}`)]);
1280
1394
  break;
1281
1395
  }
1282
- await sendAll(pipe.frames(event));
1396
+ await sendAll(await pipe.frames(event));
1283
1397
  }
1284
1398
  } catch (err) {
1285
1399
  if (!sse) throw err;
@@ -1385,5 +1499,5 @@ function errorText(err) {
1385
1499
  }
1386
1500
 
1387
1501
  export { ModelEndpointError, checkPiAiInstalled, listModels, resolveModel, startModelEndpoint };
1388
- //# sourceMappingURL=chunk-KUQAJVYT.js.map
1389
- //# sourceMappingURL=chunk-KUQAJVYT.js.map
1502
+ //# sourceMappingURL=chunk-3HACK2Z7.js.map
1503
+ //# sourceMappingURL=chunk-3HACK2Z7.js.map