@skaile/workspaces 5.13.0 → 5.15.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 (382) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/README.md +1 -1
  3. package/dist/app-sdk/index.js +1 -1
  4. package/dist/{asset-feeds-ALMTHLPV.js → asset-feeds-LIDC7547.js} +19 -19
  5. package/dist/{asset-feeds-ALMTHLPV.js.map → asset-feeds-LIDC7547.js.map} +1 -1
  6. package/dist/asset-manager/catalog-deployer.js +7 -7
  7. package/dist/asset-manager/index.js +14 -14
  8. package/dist/asset-manager/installer.js +9 -9
  9. package/dist/asset-manager/renderers.js +8 -8
  10. package/dist/asset-manager/src/index.d.ts +128 -6
  11. package/dist/asset-manager/src/index.d.ts.map +1 -1
  12. package/dist/asset-manager/src/install-instances.d.ts +19 -0
  13. package/dist/asset-manager/src/install-instances.d.ts.map +1 -1
  14. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  15. package/dist/asset-manager/src/mcp-config.d.ts +5 -0
  16. package/dist/asset-manager/src/mcp-config.d.ts.map +1 -1
  17. package/dist/bridge/drivers/claude-sdk.js +162 -27
  18. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  19. package/dist/bridge/drivers/codex.js +80 -15
  20. package/dist/bridge/drivers/codex.js.map +1 -1
  21. package/dist/bridge/drivers/continue.js +10 -9
  22. package/dist/bridge/drivers/continue.js.map +1 -1
  23. package/dist/bridge/drivers/echo.js +4 -3
  24. package/dist/bridge/drivers/echo.js.map +1 -1
  25. package/dist/bridge/drivers/gemini.js +7 -6
  26. package/dist/bridge/drivers/goose.js +10 -9
  27. package/dist/bridge/drivers/goose.js.map +1 -1
  28. package/dist/bridge/drivers/omp.js +113 -40
  29. package/dist/bridge/drivers/omp.js.map +1 -1
  30. package/dist/bridge/drivers/opencode.js +10 -9
  31. package/dist/bridge/drivers/opencode.js.map +1 -1
  32. package/dist/bridge/drivers/qwen.js +7 -6
  33. package/dist/bridge/drivers/qwen.js.map +1 -1
  34. package/dist/bridge/index.js +14 -13
  35. package/dist/bridge/src/codex/friendly-error.d.ts +19 -0
  36. package/dist/bridge/src/codex/friendly-error.d.ts.map +1 -0
  37. package/dist/bridge/src/drivers/claude-sdk.d.ts +2 -0
  38. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  39. package/dist/bridge/src/drivers/claude-self-turns.d.ts +72 -0
  40. package/dist/bridge/src/drivers/claude-self-turns.d.ts.map +1 -0
  41. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  42. package/dist/bridge/src/drivers/omp-models-yml.d.ts +17 -7
  43. package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +1 -1
  44. package/dist/bridge/src/drivers/omp.d.ts +7 -0
  45. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  46. package/dist/bridge/src/normalizer.d.ts.map +1 -1
  47. package/dist/bridge/src/types.d.ts +12 -0
  48. package/dist/bridge/src/types.d.ts.map +1 -1
  49. package/dist/{chunk-VLBIME5L.js → chunk-2LTF2ZHH.js} +4 -4
  50. package/dist/{chunk-VLBIME5L.js.map → chunk-2LTF2ZHH.js.map} +1 -1
  51. package/dist/chunk-4AKR4XPQ.js +273 -0
  52. package/dist/chunk-4AKR4XPQ.js.map +1 -0
  53. package/dist/{chunk-BF422IDP.js → chunk-4QINFQ27.js} +159 -20
  54. package/dist/chunk-4QINFQ27.js.map +1 -0
  55. package/dist/{chunk-V5JHD4I2.js → chunk-54TVXZP3.js} +3 -3
  56. package/dist/{chunk-V5JHD4I2.js.map → chunk-54TVXZP3.js.map} +1 -1
  57. package/dist/{chunk-XJYBCDY2.js → chunk-74THIMZV.js} +3 -3
  58. package/dist/{chunk-XJYBCDY2.js.map → chunk-74THIMZV.js.map} +1 -1
  59. package/dist/{chunk-IY5E7Y5W.js → chunk-ANSZULXH.js} +32 -9
  60. package/dist/chunk-ANSZULXH.js.map +1 -0
  61. package/dist/{chunk-J4DB5G36.js → chunk-AVUJBSFA.js} +2 -2
  62. package/dist/{chunk-J4DB5G36.js.map → chunk-AVUJBSFA.js.map} +1 -1
  63. package/dist/{chunk-FB3NREF7.js → chunk-AXNX2SKZ.js} +483 -32
  64. package/dist/chunk-AXNX2SKZ.js.map +1 -0
  65. package/dist/{chunk-H5U7LNTJ.js → chunk-BFMYYNDT.js} +25 -3
  66. package/dist/chunk-BFMYYNDT.js.map +1 -0
  67. package/dist/{chunk-4L4R5LV3.js → chunk-BV7NLPI6.js} +4 -4
  68. package/dist/{chunk-4L4R5LV3.js.map → chunk-BV7NLPI6.js.map} +1 -1
  69. package/dist/{chunk-FHDK3BFD.js → chunk-D2MZZ2KB.js} +3 -3
  70. package/dist/{chunk-FHDK3BFD.js.map → chunk-D2MZZ2KB.js.map} +1 -1
  71. package/dist/{chunk-F4NJDSR7.js → chunk-D5WTOVLG.js} +7 -4
  72. package/dist/chunk-D5WTOVLG.js.map +1 -0
  73. package/dist/{chunk-Y4Z7LGSH.js → chunk-DP6YRAPZ.js} +67 -23
  74. package/dist/chunk-DP6YRAPZ.js.map +1 -0
  75. package/dist/{chunk-AHCI4V5L.js → chunk-DPCEQOIZ.js} +3 -3
  76. package/dist/{chunk-AHCI4V5L.js.map → chunk-DPCEQOIZ.js.map} +1 -1
  77. package/dist/{chunk-U27JRO5L.js → chunk-ESXZJP4M.js} +3 -3
  78. package/dist/{chunk-U27JRO5L.js.map → chunk-ESXZJP4M.js.map} +1 -1
  79. package/dist/{chunk-B7CZYFB2.js → chunk-GLMKS6V6.js} +4 -4
  80. package/dist/{chunk-B7CZYFB2.js.map → chunk-GLMKS6V6.js.map} +1 -1
  81. package/dist/{chunk-BVJU2GKE.js → chunk-GQ5OYFVD.js} +4 -271
  82. package/dist/chunk-GQ5OYFVD.js.map +1 -0
  83. package/dist/{chunk-PZOO7L26.js → chunk-I3JO3NIZ.js} +4 -4
  84. package/dist/{chunk-PZOO7L26.js.map → chunk-I3JO3NIZ.js.map} +1 -1
  85. package/dist/{chunk-L3ZGYSWY.js → chunk-J76LDUDS.js} +91 -18
  86. package/dist/chunk-J76LDUDS.js.map +1 -0
  87. package/dist/{chunk-6GICC4RJ.js → chunk-JHP6MIW2.js} +56 -19
  88. package/dist/chunk-JHP6MIW2.js.map +1 -0
  89. package/dist/{chunk-PXDWTJ3P.js → chunk-KRRHADE7.js} +5 -5
  90. package/dist/{chunk-PXDWTJ3P.js.map → chunk-KRRHADE7.js.map} +1 -1
  91. package/dist/{chunk-NDUYFYJB.js → chunk-KUB4HFGK.js} +12 -7
  92. package/dist/chunk-KUB4HFGK.js.map +1 -0
  93. package/dist/{chunk-ZU24LWBI.js → chunk-LEOXPIC6.js} +3 -3
  94. package/dist/{chunk-ZU24LWBI.js.map → chunk-LEOXPIC6.js.map} +1 -1
  95. package/dist/{chunk-57SF6W6E.js → chunk-MGM5EJQQ.js} +3 -3
  96. package/dist/chunk-MGM5EJQQ.js.map +1 -0
  97. package/dist/{chunk-5SKVCMRC.js → chunk-MKTJZLQM.js} +6 -11
  98. package/dist/chunk-MKTJZLQM.js.map +1 -0
  99. package/dist/{chunk-XBYSURMK.js → chunk-N36S36OZ.js} +3 -3
  100. package/dist/{chunk-XBYSURMK.js.map → chunk-N36S36OZ.js.map} +1 -1
  101. package/dist/{chunk-NVO6WECE.js → chunk-NKDSU4Q7.js} +6 -6
  102. package/dist/{chunk-NVO6WECE.js.map → chunk-NKDSU4Q7.js.map} +1 -1
  103. package/dist/{chunk-OQ5MKDS3.js → chunk-NOF73BUH.js} +27 -6
  104. package/dist/chunk-NOF73BUH.js.map +1 -0
  105. package/dist/{chunk-4DLQESIY.js → chunk-O673TBWJ.js} +3 -3
  106. package/dist/{chunk-4DLQESIY.js.map → chunk-O673TBWJ.js.map} +1 -1
  107. package/dist/{chunk-DKGEV6SQ.js → chunk-OOQ5Q75W.js} +111 -20
  108. package/dist/chunk-OOQ5Q75W.js.map +1 -0
  109. package/dist/{chunk-PYTTF754.js → chunk-PIDMOE7R.js} +4 -4
  110. package/dist/{chunk-PYTTF754.js.map → chunk-PIDMOE7R.js.map} +1 -1
  111. package/dist/{chunk-6JKIOPT3.js → chunk-PK5XQBOC.js} +4 -4
  112. package/dist/{chunk-6JKIOPT3.js.map → chunk-PK5XQBOC.js.map} +1 -1
  113. package/dist/{chunk-6NQDDCIL.js → chunk-PQF5QHVS.js} +15 -7
  114. package/dist/chunk-PQF5QHVS.js.map +1 -0
  115. package/dist/{chunk-HWGYJMME.js → chunk-PV47EEHD.js} +4 -4
  116. package/dist/{chunk-HWGYJMME.js.map → chunk-PV47EEHD.js.map} +1 -1
  117. package/dist/{chunk-2H73V6XR.js → chunk-PW3TYWOI.js} +3 -3
  118. package/dist/{chunk-2H73V6XR.js.map → chunk-PW3TYWOI.js.map} +1 -1
  119. package/dist/{chunk-ZSMMX3JD.js → chunk-QR7W5JV4.js} +66 -16
  120. package/dist/chunk-QR7W5JV4.js.map +1 -0
  121. package/dist/chunk-RTYDYSUV.js +1336 -0
  122. package/dist/chunk-RTYDYSUV.js.map +1 -0
  123. package/dist/{chunk-7SMP4GNW.js → chunk-SAKVAG23.js} +7 -6
  124. package/dist/chunk-SAKVAG23.js.map +1 -0
  125. package/dist/{chunk-GMDSRSGI.js → chunk-SCUEPCSJ.js} +12 -9
  126. package/dist/chunk-SCUEPCSJ.js.map +1 -0
  127. package/dist/{chunk-M3P4BYRK.js → chunk-SP5NGNBV.js} +6 -3
  128. package/dist/chunk-SP5NGNBV.js.map +1 -0
  129. package/dist/{chunk-HBZD3MIW.js → chunk-SRKU7QUG.js} +233 -51
  130. package/dist/chunk-SRKU7QUG.js.map +1 -0
  131. package/dist/{chunk-2BIESC6S.js → chunk-SZPE55SB.js} +3 -3
  132. package/dist/{chunk-2BIESC6S.js.map → chunk-SZPE55SB.js.map} +1 -1
  133. package/dist/{chunk-YTZFSKWL.js → chunk-TCWECSEB.js} +3 -3
  134. package/dist/{chunk-YTZFSKWL.js.map → chunk-TCWECSEB.js.map} +1 -1
  135. package/dist/{chunk-J4OYIYFQ.js → chunk-VY6NTFE7.js} +2 -2
  136. package/dist/{chunk-J4OYIYFQ.js.map → chunk-VY6NTFE7.js.map} +1 -1
  137. package/dist/{chunk-5FYOM4RF.js → chunk-WWUWMOX2.js} +15 -11
  138. package/dist/chunk-WWUWMOX2.js.map +1 -0
  139. package/dist/{chunk-USHB5KEY.js → chunk-WXKNM2JJ.js} +3 -3
  140. package/dist/{chunk-USHB5KEY.js.map → chunk-WXKNM2JJ.js.map} +1 -1
  141. package/dist/{chunk-QO7CR3KB.js → chunk-X7DIT65W.js} +4 -4
  142. package/dist/{chunk-QO7CR3KB.js.map → chunk-X7DIT65W.js.map} +1 -1
  143. package/dist/{chunk-Y7WKXPWS.js → chunk-XX4C72CC.js} +544 -68
  144. package/dist/chunk-XX4C72CC.js.map +1 -0
  145. package/dist/{chunk-VMKMFS2Q.js → chunk-YIDZJHY6.js} +3 -3
  146. package/dist/{chunk-VMKMFS2Q.js.map → chunk-YIDZJHY6.js.map} +1 -1
  147. package/dist/{chunk-R6QHJEHE.js → chunk-YL23KWBX.js} +5 -5
  148. package/dist/{chunk-R6QHJEHE.js.map → chunk-YL23KWBX.js.map} +1 -1
  149. package/dist/{chunk-4NJ3QQHZ.js → chunk-YUURCZWY.js} +5 -5
  150. package/dist/{chunk-4NJ3QQHZ.js.map → chunk-YUURCZWY.js.map} +1 -1
  151. package/dist/{chunk-X4BAYGMT.js → chunk-ZIW34FGO.js} +3 -3
  152. package/dist/{chunk-X4BAYGMT.js.map → chunk-ZIW34FGO.js.map} +1 -1
  153. package/dist/cli/index.js +4324 -4078
  154. package/dist/cli/index.js.map +1 -1
  155. package/dist/cli/src/agent-checks.d.ts +21 -0
  156. package/dist/cli/src/agent-checks.d.ts.map +1 -1
  157. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  158. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  159. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  160. package/dist/cli/src/commands/library-index.d.ts +25 -5
  161. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  162. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  163. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  164. package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
  165. package/dist/cli/src/commands/preset-cmd.d.ts.map +1 -1
  166. package/dist/cli/src/commands/project.d.ts +16 -1
  167. package/dist/cli/src/commands/project.d.ts.map +1 -1
  168. package/dist/cli/src/commands/rebuild.d.ts.map +1 -1
  169. package/dist/cli/src/commands/run.d.ts.map +1 -1
  170. package/dist/cli/src/commands/serve-preflight.d.ts +5 -6
  171. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  172. package/dist/cli/src/commands/serve.d.ts +19 -0
  173. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  174. package/dist/cli/src/commands/session.d.ts.map +1 -1
  175. package/dist/cli/src/commands/source.d.ts +7 -0
  176. package/dist/cli/src/commands/source.d.ts.map +1 -1
  177. package/dist/cli/src/commands/update.d.ts.map +1 -1
  178. package/dist/cli/src/commands/validate.d.ts +0 -9
  179. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  180. package/dist/cli/src/skill-checks.d.ts +8 -1
  181. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  182. package/dist/connectors/config.js +5 -5
  183. package/dist/connectors/index.js +18 -17
  184. package/dist/connectors/src/config.d.ts.map +1 -1
  185. package/dist/connectors/src/connector-manager.d.ts +8 -1
  186. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  187. package/dist/connectors/src/connector-prompt.d.ts +9 -0
  188. package/dist/connectors/src/connector-prompt.d.ts.map +1 -1
  189. package/dist/{connectors-GFKMKAXV.js → connectors-JQR5RAMC.js} +21 -20
  190. package/dist/{connectors-GFKMKAXV.js.map → connectors-JQR5RAMC.js.map} +1 -1
  191. package/dist/connectors-shared/index.js +2 -2
  192. package/dist/core/index.js +6 -6
  193. package/dist/core/manifest.js +2 -2
  194. package/dist/core/models.js +1 -1
  195. package/dist/core/publish-manifest.js +3 -3
  196. package/dist/core/ref.js +1 -1
  197. package/dist/core/runtime-assets.js +5 -5
  198. package/dist/core/src/driver-sdk.d.ts +31 -0
  199. package/dist/core/src/driver-sdk.d.ts.map +1 -0
  200. package/dist/core/src/index.d.ts +3 -2
  201. package/dist/core/src/index.d.ts.map +1 -1
  202. package/dist/core/src/lock.d.ts.map +1 -1
  203. package/dist/core/src/manifest-yaml-editor.d.ts +5 -0
  204. package/dist/core/src/manifest-yaml-editor.d.ts.map +1 -1
  205. package/dist/core/src/manifest.d.ts.map +1 -1
  206. package/dist/core/src/models.d.ts +8 -0
  207. package/dist/core/src/models.d.ts.map +1 -1
  208. package/dist/core/src/publish-manifest.d.ts +28 -7
  209. package/dist/core/src/publish-manifest.d.ts.map +1 -1
  210. package/dist/core/src/repo-manager.d.ts.map +1 -1
  211. package/dist/core/src/walker.d.ts +4 -0
  212. package/dist/core/src/walker.d.ts.map +1 -1
  213. package/dist/core/src/workspace-config.d.ts +44 -0
  214. package/dist/core/src/workspace-config.d.ts.map +1 -1
  215. package/dist/core/workspace-config.js +4 -4
  216. package/dist/deploy/index.js +6 -6
  217. package/dist/discovery/index.js +5 -5
  218. package/dist/{ensure-sources-VUKHL65L.js → ensure-sources-NAGBSMJE.js} +17 -17
  219. package/dist/{ensure-sources-VUKHL65L.js.map → ensure-sources-NAGBSMJE.js.map} +1 -1
  220. package/dist/factory-assets/connectors/box.js +18 -17
  221. package/dist/factory-assets/connectors/deploy.js +18 -17
  222. package/dist/factory-assets/connectors/devserver.js +18 -17
  223. package/dist/factory-assets/connectors/flow/adapter.js +18 -17
  224. package/dist/factory-assets/connectors/flow/engine.js +7 -7
  225. package/dist/factory-assets/connectors/flow/run-flow.d.ts +5 -0
  226. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  227. package/dist/factory-assets/connectors/flow/run-flow.js +20 -19
  228. package/dist/factory-assets/connectors/flow.js +18 -17
  229. package/dist/factory-assets/connectors/git.js +18 -17
  230. package/dist/factory-assets/connectors/gmail.js +18 -17
  231. package/dist/factory-assets/connectors/googledrive.js +18 -17
  232. package/dist/factory-assets/connectors/local.js +18 -17
  233. package/dist/factory-assets/connectors/mattermost.js +18 -17
  234. package/dist/factory-assets/connectors/memory.js +18 -17
  235. package/dist/factory-assets/connectors/minio.js +18 -17
  236. package/dist/factory-assets/connectors/postgres.js +18 -17
  237. package/dist/factory-assets/connectors/s3.js +18 -17
  238. package/dist/factory-assets/connectors/sharepoint.js +18 -17
  239. package/dist/factory-assets/connectors/sqlite.js +18 -17
  240. package/dist/factory-assets/connectors/static-server.js +18 -17
  241. package/dist/factory-assets/connectors/tunnel.js +18 -17
  242. package/dist/factory-assets/connectors/webdav.js +18 -17
  243. package/dist/factory-assets/connectors/xstate-store.js +18 -17
  244. package/dist/factory-assets/connectors/xstate.js +18 -17
  245. package/dist/{flows-A4YALSZY.js → flows-CYJI3URW.js} +11 -11
  246. package/dist/{flows-A4YALSZY.js.map → flows-CYJI3URW.js.map} +1 -1
  247. package/dist/{helpers-53XZW7KF.js → helpers-XFHJDJOA.js} +17 -17
  248. package/dist/{helpers-53XZW7KF.js.map → helpers-XFHJDJOA.js.map} +1 -1
  249. package/dist/library/index.js +11 -11
  250. package/dist/library/install.js +5 -5
  251. package/dist/library/src/index.d.ts +1 -1
  252. package/dist/library/src/index.d.ts.map +1 -1
  253. package/dist/library/src/install/source-fetch-github.d.ts.map +1 -1
  254. package/dist/library/src/manifest-writer.d.ts +15 -0
  255. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  256. package/dist/library/src/remote/remote-catalog-source.d.ts +6 -1
  257. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  258. package/dist/library/src/remote/rest-catalog-source.d.ts +6 -1
  259. package/dist/library/src/remote/rest-catalog-source.d.ts.map +1 -1
  260. package/dist/{library-publish-FFIPWIRM.js → library-publish-FC3ZABR2.js} +91 -29
  261. package/dist/library-publish-FC3ZABR2.js.map +1 -0
  262. package/dist/model-endpoint/index.d.ts +2 -0
  263. package/dist/model-endpoint/index.js +9 -0
  264. package/dist/model-endpoint/index.js.map +1 -0
  265. package/dist/model-endpoint/src/index.d.ts +4 -0
  266. package/dist/model-endpoint/src/index.d.ts.map +1 -0
  267. package/dist/model-endpoint/src/openai-chat.d.ts +105 -0
  268. package/dist/model-endpoint/src/openai-chat.d.ts.map +1 -0
  269. package/dist/model-endpoint/src/openai-responses.d.ts +106 -0
  270. package/dist/model-endpoint/src/openai-responses.d.ts.map +1 -0
  271. package/dist/model-endpoint/src/openai-shared.d.ts +77 -0
  272. package/dist/model-endpoint/src/openai-shared.d.ts.map +1 -0
  273. package/dist/model-endpoint/src/resolve.d.ts +36 -0
  274. package/dist/model-endpoint/src/resolve.d.ts.map +1 -0
  275. package/dist/model-endpoint/src/server.d.ts +16 -0
  276. package/dist/model-endpoint/src/server.d.ts.map +1 -0
  277. package/dist/model-endpoint/src/types.d.ts +78 -0
  278. package/dist/model-endpoint/src/types.d.ts.map +1 -0
  279. package/dist/open-library-5ET7SAJC.js +40 -0
  280. package/dist/{open-library-PZAT3TJA.js.map → open-library-5ET7SAJC.js.map} +1 -1
  281. package/dist/open-registry-X6YQVP7V.js +32 -0
  282. package/dist/{open-registry-W46UXZ3I.js.map → open-registry-X6YQVP7V.js.map} +1 -1
  283. package/dist/{paths-KKY3NSBZ.js → paths-NXWIBZCX.js} +9 -9
  284. package/dist/{paths-KKY3NSBZ.js.map → paths-NXWIBZCX.js.map} +1 -1
  285. package/dist/{plugin-store-CK7YWRIC.js → plugin-store-BIITCNOZ.js} +8 -8
  286. package/dist/{plugin-store-CK7YWRIC.js.map → plugin-store-BIITCNOZ.js.map} +1 -1
  287. package/dist/project-2UXHSVVA.js +82 -0
  288. package/dist/{project-EZUH7PUJ.js.map → project-2UXHSVVA.js.map} +1 -1
  289. package/dist/resolver/index.js +7 -7
  290. package/dist/runner/index.js +35 -32
  291. package/dist/runner/src/event-gap-buffer.d.ts.map +1 -1
  292. package/dist/runner/src/model-endpoint-discovery.d.ts +64 -0
  293. package/dist/runner/src/model-endpoint-discovery.d.ts.map +1 -0
  294. package/dist/runner/src/resources.d.ts.map +1 -1
  295. package/dist/runner/src/serve.d.ts +14 -0
  296. package/dist/runner/src/serve.d.ts.map +1 -1
  297. package/dist/runner/src/session-builder.d.ts +8 -0
  298. package/dist/runner/src/session-builder.d.ts.map +1 -1
  299. package/dist/runner/src/session.d.ts +15 -0
  300. package/dist/runner/src/session.d.ts.map +1 -1
  301. package/dist/sdk/asset-manager.js +14 -14
  302. package/dist/sdk/bridge.js +14 -13
  303. package/dist/sdk/core.js +6 -6
  304. package/dist/sdk/flow.js +7 -7
  305. package/dist/sdk/index.js +35 -32
  306. package/dist/sdk/index.js.map +1 -1
  307. package/dist/sdk/resolver.js +7 -7
  308. package/dist/sdk/runner.js +35 -32
  309. package/dist/sdk/session.js +2 -2
  310. package/dist/sdk/transport/ws/server.js +1 -1
  311. package/dist/sdk/transport/ws.js +1 -1
  312. package/dist/sdk/transport.js +1 -1
  313. package/dist/sdk/types.js +1 -1
  314. package/dist/serve-preflight-GD7IQFA3.js +54 -0
  315. package/dist/serve-preflight-GD7IQFA3.js.map +1 -0
  316. package/dist/session/index.js +2 -2
  317. package/dist/{setup-L632QIHV.js → setup-IKH4R7UN.js} +25 -24
  318. package/dist/setup-IKH4R7UN.js.map +1 -0
  319. package/dist/{skills-OY3Y5GKA.js → skills-XVHOXOOH.js} +12 -12
  320. package/dist/{skills-OY3Y5GKA.js.map → skills-XVHOXOOH.js.map} +1 -1
  321. package/dist/source-M6IARYNO.js +83 -0
  322. package/dist/{source-36FHMN5V.js.map → source-M6IARYNO.js.map} +1 -1
  323. package/dist/source-fetch-github-ST4MFL3D.js +4 -0
  324. package/dist/{source-fetch-github-PIO6EMMF.js.map → source-fetch-github-ST4MFL3D.js.map} +1 -1
  325. package/dist/{source-manifest-publish-NIXJSJ22.js → source-manifest-publish-UP2IS2QW.js} +65 -24
  326. package/dist/source-manifest-publish-UP2IS2QW.js.map +1 -0
  327. package/dist/transport/index.js +1 -1
  328. package/dist/transport/src/ws/server.d.ts +16 -0
  329. package/dist/transport/src/ws/server.d.ts.map +1 -1
  330. package/dist/transport/ws/server.js +1 -1
  331. package/dist/transport/ws.js +1 -1
  332. package/dist/tui/index.js +35 -32
  333. package/dist/tui/index.js.map +1 -1
  334. package/dist/types/index.js +1 -1
  335. package/dist/types/manifests.js +1 -1
  336. package/dist/types/src/delivery.d.ts.map +1 -1
  337. package/dist/types/src/events.d.ts +55 -1
  338. package/dist/types/src/events.d.ts.map +1 -1
  339. package/dist/types/src/index.d.ts +1 -1
  340. package/dist/types/src/index.d.ts.map +1 -1
  341. package/dist/types/src/manifests/mcp-server.d.ts.map +1 -1
  342. package/dist/types/src/version.d.ts +11 -1
  343. package/dist/types/src/version.d.ts.map +1 -1
  344. package/dist/workspace-plugin/adapters/mcp.js +25 -24
  345. package/dist/workspace-plugin/adapters/omp.js +14 -14
  346. package/dist/workspace-plugin/index.js +1 -1
  347. package/dist/workspace-plugin/src/adapters/mcp.d.ts.map +1 -1
  348. package/package.json +14 -3
  349. package/dist/chunk-57SF6W6E.js.map +0 -1
  350. package/dist/chunk-5FYOM4RF.js.map +0 -1
  351. package/dist/chunk-5SKVCMRC.js.map +0 -1
  352. package/dist/chunk-6GICC4RJ.js.map +0 -1
  353. package/dist/chunk-6NQDDCIL.js.map +0 -1
  354. package/dist/chunk-7SMP4GNW.js.map +0 -1
  355. package/dist/chunk-BF422IDP.js.map +0 -1
  356. package/dist/chunk-BVJU2GKE.js.map +0 -1
  357. package/dist/chunk-DKGEV6SQ.js.map +0 -1
  358. package/dist/chunk-F4NJDSR7.js.map +0 -1
  359. package/dist/chunk-FB3NREF7.js.map +0 -1
  360. package/dist/chunk-GMDSRSGI.js.map +0 -1
  361. package/dist/chunk-H5U7LNTJ.js.map +0 -1
  362. package/dist/chunk-HBZD3MIW.js.map +0 -1
  363. package/dist/chunk-IY5E7Y5W.js.map +0 -1
  364. package/dist/chunk-L3ZGYSWY.js.map +0 -1
  365. package/dist/chunk-M3P4BYRK.js.map +0 -1
  366. package/dist/chunk-NDUYFYJB.js.map +0 -1
  367. package/dist/chunk-OQ5MKDS3.js.map +0 -1
  368. package/dist/chunk-PN44DOGP.js +0 -345
  369. package/dist/chunk-PN44DOGP.js.map +0 -1
  370. package/dist/chunk-Y4Z7LGSH.js.map +0 -1
  371. package/dist/chunk-Y7WKXPWS.js.map +0 -1
  372. package/dist/chunk-ZSMMX3JD.js.map +0 -1
  373. package/dist/library-publish-FFIPWIRM.js.map +0 -1
  374. package/dist/open-library-PZAT3TJA.js +0 -40
  375. package/dist/open-registry-W46UXZ3I.js +0 -32
  376. package/dist/project-EZUH7PUJ.js +0 -79
  377. package/dist/serve-preflight-F7MYF747.js +0 -64
  378. package/dist/serve-preflight-F7MYF747.js.map +0 -1
  379. package/dist/setup-L632QIHV.js.map +0 -1
  380. package/dist/source-36FHMN5V.js +0 -42
  381. package/dist/source-fetch-github-PIO6EMMF.js +0 -4
  382. package/dist/source-manifest-publish-NIXJSJ22.js.map +0 -1
@@ -1,35 +1,37 @@
1
- import { WorkspacePlugin } from './chunk-J4DB5G36.js';
2
- import { buildWorkspaceToolDefs } from './chunk-NDUYFYJB.js';
3
- import { findAiAssetsRoot } from './chunk-2BIESC6S.js';
4
- import { WebSocketServerTransport } from './chunk-OQ5MKDS3.js';
1
+ import { WorkspacePlugin } from './chunk-AVUJBSFA.js';
2
+ import { buildWorkspaceToolDefs } from './chunk-KUB4HFGK.js';
3
+ import { findAiAssetsRoot } from './chunk-SZPE55SB.js';
4
+ import { startModelEndpoint } from './chunk-RTYDYSUV.js';
5
+ import { WebSocketServerTransport } from './chunk-NOF73BUH.js';
5
6
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
6
7
  import { prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-PHRNUTSG.js';
7
- import { resolveFlowPath } from './chunk-GMDSRSGI.js';
8
- import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-ZU24LWBI.js';
9
- import { ConnectFailureCarryOver, registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-Y4Z7LGSH.js';
10
- import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-5SKVCMRC.js';
11
- import { EventNormalizer } from './chunk-6NQDDCIL.js';
12
- import { probeResumeTranscript, transcriptStoreForRuntime } from './chunk-YTZFSKWL.js';
8
+ import { resolveFlowPath } from './chunk-SCUEPCSJ.js';
9
+ import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-LEOXPIC6.js';
10
+ import { ConnectFailureCarryOver, registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-DP6YRAPZ.js';
11
+ import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-MKTJZLQM.js';
12
+ import { EventNormalizer } from './chunk-PQF5QHVS.js';
13
+ import { probeResumeTranscript, transcriptStoreForRuntime } from './chunk-TCWECSEB.js';
13
14
  import { CodexNativeStateUnavailable } from './chunk-LOO5CB5M.js';
14
- import { dispatchCapability } from './chunk-2H73V6XR.js';
15
+ import { dispatchCapability } from './chunk-PW3TYWOI.js';
15
16
  import { classifyClaudeSdkError } from './chunk-B4X2N7JQ.js';
16
17
  import { agentExecRequested } from './chunk-YROR332M.js';
17
- import { unresolvedProviderCredentials, driverCapabilities, toAgentEffort, createDriver, catalogLayer, providerCredentialEnvName, toMergedRegistry, registryCredentialEnv, AI_PROVIDER_PRESETS, supportsLiveToolUpdates } from './chunk-BVJU2GKE.js';
18
- import { loadFlow } from './chunk-XBYSURMK.js';
18
+ import { toAgentEffort, toMergedRegistry } from './chunk-4AKR4XPQ.js';
19
+ import { unresolvedProviderCredentials, driverCapabilities, createDriver, catalogLayer, providerCredentialEnvName, registryCredentialEnv, AI_PROVIDER_PRESETS, supportsLiveToolUpdates } from './chunk-GQ5OYFVD.js';
20
+ import { loadFlow } from './chunk-N36S36OZ.js';
19
21
  import { parseFlowDefinition } from './chunk-X3RMRJNR.js';
20
22
  import { renderStimulusPrompt } from './chunk-M3WPBTGJ.js';
21
- import { TERMINAL_AGENT_RUN_STATUSES, withActivityLabelJsonSchema, TOOL_ACTIVITY_PROMPT_SECTION, SESSION_ROOT_CONNECTOR_ID, PLATFORM_BLOCKS_RUNTIME_FEATURE, PROTOCOL_VERSION, deliveryClassOf } from './chunk-F4NJDSR7.js';
22
- import { knowledgeKindProvider, scanLibraryRoot } from './chunk-DKGEV6SQ.js';
23
- import { createDefaultKindRegistry } from './chunk-NVO6WECE.js';
24
- import { BindingSchema, effectiveComposes, AgentManifestSchema, AgentTriggerSchema } from './chunk-57SF6W6E.js';
25
- import { readLock, buildAgentPromptSections, resolveSettings, loadProviderRegistry, resolveLibraryDir } from './chunk-BF422IDP.js';
26
- import { resolveRuntimeAssets } from './chunk-QO7CR3KB.js';
23
+ import { TERMINAL_AGENT_RUN_STATUSES, withActivityLabelJsonSchema, TOOL_ACTIVITY_PROMPT_SECTION, SESSION_ROOT_CONNECTOR_ID, PLATFORM_BLOCKS_RUNTIME_FEATURE, PROTOCOL_VERSION, deliveryClassOf } from './chunk-D5WTOVLG.js';
24
+ import { knowledgeKindProvider, scanLibraryRoot } from './chunk-OOQ5Q75W.js';
25
+ import { createDefaultKindRegistry } from './chunk-NKDSU4Q7.js';
26
+ import { BindingSchema, effectiveComposes, AgentManifestSchema, AgentTriggerSchema } from './chunk-MGM5EJQQ.js';
27
+ import { readLock, buildAgentPromptSections, resolveSettings, loadProviderRegistry, resolveLibraryDir } from './chunk-4QINFQ27.js';
28
+ import { resolveRuntimeAssets } from './chunk-X7DIT65W.js';
27
29
  import { DEFAULT_DRIVER_ID, resolveDriverPaths } from './chunk-5BEFNLOR.js';
28
- import { matchPin, DEFAULT_AGENT_INSTANCE_ID, effectiveAgentInstances, resolveSkWorkspaceConfig, resolveAgentDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, getGlobalCacheDir, sourceCacheKey, resolveAgentDefinitionDir, AgentRefResolutionError, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill, STAGED_SKILL_MARKER } from './chunk-L3ZGYSWY.js';
30
+ import { matchPin, DEFAULT_AGENT_INSTANCE_ID, effectiveAgentInstances, resolveSkWorkspaceConfig, resolveAgentDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, getGlobalCacheDir, sourceCacheKey, resolveAgentDefinitionDir, AgentRefResolutionError, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill, STAGED_SKILL_MARKER } from './chunk-J76LDUDS.js';
29
31
  import { globalSkaileDir } from './chunk-L5VSIPQD.js';
30
32
  import { driverTargetForDriver, SUPPORTED_DRIVER_TARGETS, DRIVER_TARGETS } from './chunk-IG5LZ3WU.js';
31
- import { withFsDeadline, FsDeadlineError, fsDeadlineMs, parseFrontmatter, tryWithFsDeadline } from './chunk-M3P4BYRK.js';
32
- import { parseAssetRef } from './chunk-J4OYIYFQ.js';
33
+ import { withFsDeadline, FsDeadlineError, fsDeadlineMs, parseFrontmatter, tryWithFsDeadline } from './chunk-SP5NGNBV.js';
34
+ import { parseAssetRef } from './chunk-VY6NTFE7.js';
33
35
  import { resolveLogStoreConfig, createLogStoreFromConfig, OnLogBridgeSink, WsLogSink, resolveLogsRetention, enforceLogsRetention } from './chunk-DKXNKFKP.js';
34
36
  import { pickRegistryEntries, registryEntries, resolveEntryBaseUrl, parseModelRef, isEntryEnabled, parseCredentialRef } from './chunk-MJHSLODD.js';
35
37
  import { getLogStore, registerLogStore, createLogger, resetLogStore, isUnwritableStreamError, markStreamBroken, isBrokenPipeError, redactCredentials } from './chunk-BOFL7GIF.js';
@@ -43,7 +45,7 @@ import * as z5 from 'zod';
43
45
  import { z } from 'zod';
44
46
  import fs8, { readFile, readdir, lstat, stat, rm, unlink, mkdir, writeFile, realpath, rename, open, readlink, mkdtemp } from 'fs/promises';
45
47
  import { parse } from 'yaml';
46
- import { constants, unlinkSync, readFileSync, readdirSync, statSync, existsSync, lstatSync, realpathSync, mkdirSync, writeFileSync, watch, chmodSync, accessSync } from 'fs';
48
+ import { constants, unlinkSync, readFileSync, readdirSync, statSync, existsSync, lstatSync, realpathSync, mkdirSync, writeFileSync, watch, chmodSync, accessSync, rmSync } from 'fs';
47
49
  import { Ajv2020 } from 'ajv/dist/2020.js';
48
50
  import { execFile } from 'child_process';
49
51
  import { promisify } from 'util';
@@ -5728,7 +5730,9 @@ async function buildAgentResources(projectDir, driverType, _onLog, watch, secret
5728
5730
  s3Presigner
5729
5731
  );
5730
5732
  }
5731
- const resourcePromptSection = resourceManager ? buildConnectorPromptSection(resourceManager) : "";
5733
+ const resourcePromptSection = resourceManager ? buildConnectorPromptSection(resourceManager, {
5734
+ toolsMounted: inProcessMcp || sessionMeta?.managedCodex === true
5735
+ }) : "";
5732
5736
  let mcpServers;
5733
5737
  let workspacePluginToShutdown = null;
5734
5738
  let externalMcpManager = null;
@@ -5920,7 +5924,7 @@ async function buildInProcessMcpServers(resourceManager, projectDir, driverType,
5920
5924
  if (resourceManager) {
5921
5925
  const connectorsLog = createLogger({ kind: "mcp", subkind: "skaile-connectors" });
5922
5926
  try {
5923
- const server = await buildSdkConnectorTools(resourceManager, { z: z });
5927
+ const server = await buildSdkConnectorTools(resourceManager, { z: z, projectDir });
5924
5928
  if (server) {
5925
5929
  mcpServers = { "skaile-connectors": server };
5926
5930
  connectorsLog.info("server constructed", {
@@ -6059,6 +6063,94 @@ function toSdkMcpServerConfig(decl, secrets) {
6059
6063
  }
6060
6064
  return null;
6061
6065
  }
6066
+ var MODEL_ENDPOINT_PROVIDER_ID = "skaile-endpoint";
6067
+ var MODEL_ENDPOINT_URL_ENV = "SKAILE_MODEL_ENDPOINT_URL";
6068
+ var MODEL_ENDPOINT_TOKEN_ENV = "SKAILE_MODEL_ENDPOINT_TOKEN";
6069
+ function modelEndpointEnv({ url, token }) {
6070
+ return {
6071
+ [MODEL_ENDPOINT_URL_ENV]: url,
6072
+ [MODEL_ENDPOINT_TOKEN_ENV]: token,
6073
+ [providerCredentialEnvName(MODEL_ENDPOINT_PROVIDER_ID)]: token
6074
+ };
6075
+ }
6076
+ function modelEndpointLayer({ url }) {
6077
+ return {
6078
+ layer: "catalog",
6079
+ providers: {
6080
+ [MODEL_ENDPOINT_PROVIDER_ID]: {
6081
+ kind: "llm",
6082
+ surface: "openai-completions",
6083
+ base_url: url,
6084
+ credential: { kind: "bearer", ref: `env:${MODEL_ENDPOINT_TOKEN_ENV}` },
6085
+ label: "Skaile model endpoint",
6086
+ enabled: true
6087
+ }
6088
+ }
6089
+ };
6090
+ }
6091
+ function withoutEndpointEntry(registry) {
6092
+ if (!registry.providers[MODEL_ENDPOINT_PROVIDER_ID]) return registry;
6093
+ return pickRegistryEntries(
6094
+ registry,
6095
+ registry.order.filter((id) => id !== MODEL_ENDPOINT_PROVIDER_ID)
6096
+ );
6097
+ }
6098
+ function modelEndpointFile(projectDir) {
6099
+ return join(projectDir, ".skaile", "model-endpoint.json");
6100
+ }
6101
+ function writeModelEndpointFile(projectDir, address) {
6102
+ const file = modelEndpointFile(projectDir);
6103
+ mkdirSync(join(projectDir, ".skaile"), { recursive: true });
6104
+ rmSync(file, { force: true });
6105
+ writeFileSync(file, `${JSON.stringify({ ...address, pid: process.pid }, null, 2)}
6106
+ `, {
6107
+ mode: 384,
6108
+ flag: "wx"
6109
+ });
6110
+ }
6111
+ function removeModelEndpointFile(projectDir) {
6112
+ rmSync(modelEndpointFile(projectDir), { force: true });
6113
+ }
6114
+ async function startRunnerModelEndpoint(options) {
6115
+ const token = process.env[MODEL_ENDPOINT_TOKEN_ENV] || randomBytes(32).toString("hex");
6116
+ const host = options.config.host ?? "127.0.0.1";
6117
+ const handle = await startModelEndpoint({
6118
+ getRegistry: () => withoutEndpointEntry(options.getRegistry()),
6119
+ getLookupEnv: options.getLookupEnv,
6120
+ ...options.getRoles ? { getRoles: options.getRoles } : {},
6121
+ token,
6122
+ host,
6123
+ port: options.config.port ?? 0,
6124
+ log: options.log
6125
+ });
6126
+ if (!isLoopbackHost(host)) {
6127
+ options.log(
6128
+ `WARNING: bound to non-loopback host ${host}: anyone who can reach it and holds the token spends this session's provider credentials`
6129
+ );
6130
+ }
6131
+ const address = { url: handle.url, token };
6132
+ try {
6133
+ writeModelEndpointFile(options.projectDir, address);
6134
+ } catch (error) {
6135
+ await handle.close();
6136
+ throw error;
6137
+ }
6138
+ let closed;
6139
+ return {
6140
+ ...address,
6141
+ close: () => {
6142
+ closed ??= (async () => {
6143
+ removeModelEndpointFile(options.projectDir);
6144
+ await handle.close();
6145
+ })();
6146
+ return closed;
6147
+ }
6148
+ };
6149
+ }
6150
+ function isLoopbackHost(host) {
6151
+ const bare = host.replace(/^\[|\]$/g, "").toLowerCase();
6152
+ return bare === "localhost" || bare === "::1" || /^127(\.\d{1,3}){3}$/.test(bare);
6153
+ }
6062
6154
 
6063
6155
  // runner/src/session-builder.ts
6064
6156
  async function createAgentSession(config) {
@@ -6104,9 +6196,18 @@ async function createAgentSession(config) {
6104
6196
  });
6105
6197
  const driverType = (managed ? config.driver : settings.driver) ?? DEFAULT_DRIVER_ID;
6106
6198
  const model = managed ? config.model : settings.model;
6107
- const registry = loadSessionRegistry(projectDir, config.registry, config.providers, sessionLog);
6199
+ const registry = loadSessionRegistry(
6200
+ projectDir,
6201
+ config.registry,
6202
+ config.providers,
6203
+ sessionLog,
6204
+ config.modelEndpoint
6205
+ );
6108
6206
  const modelRef = config.modelRef?.trim() || model?.trim() || void 0;
6109
- const credentialEnv = { ...config.credentialEnv };
6207
+ const credentialEnv = {
6208
+ ...config.credentialEnv,
6209
+ ...config.modelEndpoint ? modelEndpointEnv(config.modelEndpoint) : {}
6210
+ };
6110
6211
  const manifest = agentDir ? await loadAgentManifest(agentDir) : void 0;
6111
6212
  const {
6112
6213
  resourceManager,
@@ -6314,10 +6415,11 @@ function createManagedCodexSubpromptDriver(config, model, cwd, privateDirectory)
6314
6415
  }
6315
6416
  });
6316
6417
  }
6317
- function loadSessionRegistry(projectDir, sessionRegistry, providers, log) {
6418
+ function loadSessionRegistry(projectDir, sessionRegistry, providers, log, modelEndpoint) {
6318
6419
  const extraLayers = [];
6319
6420
  if (sessionRegistry && Object.keys(sessionRegistry).length > 0)
6320
6421
  extraLayers.push({ layer: "session", providers: sessionRegistry });
6422
+ if (modelEndpoint) extraLayers.push(modelEndpointLayer(modelEndpoint));
6321
6423
  const first = loadProviderRegistry({ projectDir, extraLayers });
6322
6424
  const catalog = catalogLayer(first.patches);
6323
6425
  const final = Object.keys(catalog.providers).length === 0 ? first : loadProviderRegistry({ projectDir, extraLayers: [...extraLayers, catalog] });
@@ -6326,14 +6428,17 @@ function loadSessionRegistry(projectDir, sessionRegistry, providers, log) {
6326
6428
  if (diagnostic.severity === "error") log.error(message, void 0, { code: diagnostic.code });
6327
6429
  else log.warn(message, { code: diagnostic.code });
6328
6430
  }
6329
- if (providers === void 0 || providers.length === 0) return final.registry;
6330
- for (const id of providers) {
6431
+ const picked = providers === void 0 || providers.length === 0 ? final.registry : pickRegistryEntries(
6432
+ final.registry,
6433
+ modelEndpoint ? [...providers, MODEL_ENDPOINT_PROVIDER_ID] : providers
6434
+ );
6435
+ for (const id of providers ?? []) {
6331
6436
  if (final.registry.providers[id] === void 0)
6332
6437
  log.warn(`providers registry: --providers names '${id}' which no layer defines`, {
6333
6438
  code: "unknown_provider"
6334
6439
  });
6335
6440
  }
6336
- return pickRegistryEntries(final.registry, providers);
6441
+ return picked.order.every((id) => id === MODEL_ENDPOINT_PROVIDER_ID) ? withoutEndpointEntry(picked) : picked;
6337
6442
  }
6338
6443
  async function loadPromptExtensions(paths, projectDir, log) {
6339
6444
  if (!paths?.length) return [];
@@ -9129,11 +9234,12 @@ function awaitAgentEnd(driver, prompt, timeoutMs) {
9129
9234
  // runner/src/event-gap-buffer.ts
9130
9235
  var EVENT_GAP_BUFFER_MAX_EVENTS = 1e4;
9131
9236
  var EVENT_GAP_BUFFER_MAX_BYTES = 16 * 1024 * 1024;
9132
- var UNBUFFERED_TYPES = /* @__PURE__ */ new Set([
9133
- "session_init_ack",
9134
- "log_entry",
9135
- "capability_result"
9136
- ]);
9237
+ var UNBUFFERED_TYPES = {
9238
+ session_init_ack: true,
9239
+ log_entry: true,
9240
+ capability_result: true,
9241
+ status: true
9242
+ };
9137
9243
  function measure(event) {
9138
9244
  try {
9139
9245
  const json = JSON.stringify(event);
@@ -9173,7 +9279,7 @@ var EventGapBuffer = class _EventGapBuffer {
9173
9279
  }
9174
9280
  /** Whether {@link push} would hold this event type at all. */
9175
9281
  static accepts(event) {
9176
- return !UNBUFFERED_TYPES.has(event.type);
9282
+ return !Object.hasOwn(UNBUFFERED_TYPES, event.type);
9177
9283
  }
9178
9284
  /**
9179
9285
  * Append an event, evicting the oldest past either cap. An event larger than
@@ -11765,12 +11871,12 @@ function takeRunnerWsAuthToken(env = process.env, fs9 = nodeFs) {
11765
11871
  }
11766
11872
 
11767
11873
  // runner/src/ws-auth-warning.ts
11768
- function isLoopbackHost(host) {
11874
+ function isLoopbackHost2(host) {
11769
11875
  const h = host.startsWith("[") && host.endsWith("]") ? host.slice(1, -1) : host;
11770
11876
  return h === "localhost" || h === "::1" || /^127(?:\.\d{1,3}){3}$/.test(h);
11771
11877
  }
11772
11878
  function wsNoAuthWarning(port, host) {
11773
- if (host !== void 0 && isLoopbackHost(host)) {
11879
+ if (host !== void 0 && isLoopbackHost2(host)) {
11774
11880
  return `WARNING: the WebSocket server on port ${port} listens on ${host}; local processes can drive this agent. Set SKAILE_WS_AUTH_TOKEN for a token.`;
11775
11881
  }
11776
11882
  return `WARNING: the WebSocket server on port ${port} listens on ${host ?? "all interfaces"} without authentication: any host that can reach the port can drive this agent. Set SKAILE_WS_AUTH_TOKEN, or bind 127.0.0.1 with --host.`;
@@ -13068,6 +13174,8 @@ async function startAgentServer(opts) {
13068
13174
  // secrets map, keyed by the `SKAILE_AIP_<ID>_KEY` name each registry
13069
13175
  // entry references. Omitted entirely when nothing resolved.
13070
13176
  ...credentialEnv && Object.keys(credentialEnv).length > 0 ? { credentialEnv } : {},
13177
+ // The runner's loopback model endpoint: registry entry + child env.
13178
+ ...modelEndpoint ? { modelEndpoint: { url: modelEndpoint.url, token: modelEndpoint.token } } : {},
13071
13179
  ...wireAgentConfig?.thinking ? { thinking: wireAgentConfig.thinking } : {},
13072
13180
  ...wireEffort ? { effort: wireEffort } : {},
13073
13181
  // Every claude-sdk driver carries the flow tools, so a run can start mid-turn.
@@ -13158,6 +13266,7 @@ async function startAgentServer(opts) {
13158
13266
  });
13159
13267
  let sessionConfig;
13160
13268
  let agentSession;
13269
+ let modelEndpoint;
13161
13270
  const contextWindows = new ContextWindowResolver({
13162
13271
  seat: () => aiProviderConfigId,
13163
13272
  warn: (line) => serverLog.warn(line)
@@ -13264,16 +13373,39 @@ async function startAgentServer(opts) {
13264
13373
  liveAttachedMcpDeclarations.set(decl.id, decl);
13265
13374
  bakedMcpServerIds = /* @__PURE__ */ new Set([...bakedMcpServerIds, decl.id]);
13266
13375
  };
13376
+ const modelEndpointConfig = {
13377
+ ...wsConfig.model_endpoint,
13378
+ ...opts.modelEndpoint
13379
+ };
13380
+ if (!managedHost && modelEndpointConfig.enabled === true) {
13381
+ const bootRegistry = loadProviderRegistry({ projectDir: opts.projectDir }).registry;
13382
+ modelEndpoint = await startRunnerModelEndpoint({
13383
+ projectDir: opts.projectDir,
13384
+ config: modelEndpointConfig,
13385
+ // agentSession is reassigned at every (re)build, so a session_init swap
13386
+ // is picked up on the next request.
13387
+ getRegistry: () => agentSession?.registry ?? bootRegistry,
13388
+ getLookupEnv: () => ({ ...process.env, ...agentSession?.credentialEnv }),
13389
+ getRoles: () => wsConfig.roles,
13390
+ log: (line) => log(`[model-endpoint] ${line}`)
13391
+ });
13392
+ log(`[serve] model endpoint listening on ${modelEndpoint.url}`);
13393
+ }
13267
13394
  if (secretsMode === "provisioned") {
13268
13395
  log("[serve] secrets mode: provisioned \u2014 waiting for provision_secrets command");
13269
13396
  } else {
13270
- sessionConfig = buildSessionConfig(new EnvSecretProvider());
13271
- await refreshAgentSurface(null);
13272
- agentSession = await createAgentSession(sessionConfig);
13273
- emitSystemPromptComposed(agentSession, sendEvent);
13274
- noteAgentSessionBuilt(sessionConfig.resumeSessionId);
13275
- registerSessionComposition(agentSession);
13276
- await refreshAgentSurface(agentSession);
13397
+ try {
13398
+ sessionConfig = buildSessionConfig(new EnvSecretProvider());
13399
+ await refreshAgentSurface(null);
13400
+ agentSession = await createAgentSession(sessionConfig);
13401
+ emitSystemPromptComposed(agentSession, sendEvent);
13402
+ noteAgentSessionBuilt(sessionConfig.resumeSessionId);
13403
+ registerSessionComposition(agentSession);
13404
+ await refreshAgentSurface(agentSession);
13405
+ } catch (error) {
13406
+ await modelEndpoint?.close();
13407
+ throw error;
13408
+ }
13277
13409
  resolveSessionReady();
13278
13410
  captureBakedMcpServers();
13279
13411
  }
@@ -13517,7 +13649,8 @@ async function startAgentServer(opts) {
13517
13649
  }
13518
13650
  async function buildPermanentFlowMcpServers() {
13519
13651
  const server = await buildLazySdkFlowTools(describeFlowOperations(), resolveFlowToolTarget, {
13520
- z: z
13652
+ z: z,
13653
+ projectDir: opts.projectDir
13521
13654
  });
13522
13655
  flowToolsBaked = server !== null;
13523
13656
  return server ? { "skaile-flow": server } : void 0;
@@ -13889,6 +14022,8 @@ async function startAgentServer(opts) {
13889
14022
  } catch {
13890
14023
  }
13891
14024
  }
14025
+ await modelEndpoint?.close().catch(() => {
14026
+ });
13892
14027
  }
13893
14028
  async function awaitSessionReadyOrFail() {
13894
14029
  try {
@@ -14431,6 +14566,8 @@ async function startAgentServer(opts) {
14431
14566
  platformVersion: cmd.protocolVersion
14432
14567
  });
14433
14568
  runtimeRejected = true;
14569
+ if (opts.incompatibleProtocolExitCode !== void 0)
14570
+ process.exitCode = opts.incompatibleProtocolExitCode;
14434
14571
  await cleanup();
14435
14572
  teardownProcessHandlers();
14436
14573
  disposeLogStore();
@@ -15097,6 +15234,27 @@ async function startAgentServer(opts) {
15097
15234
  }
15098
15235
  async function handleCommand(cmd) {
15099
15236
  if (runtimeRejected || managedHost && managedBootstrapClosed) return;
15237
+ const rawCmd = cmd;
15238
+ if (rawCmd === null || typeof rawCmd !== "object") {
15239
+ log(`[serve] dropping malformed command (not a JSON object)`);
15240
+ sendEvent({
15241
+ type: "error",
15242
+ fatal: false,
15243
+ category: "validation",
15244
+ message: "Invalid command: expected a JSON object with a `type`."
15245
+ });
15246
+ return;
15247
+ }
15248
+ if (cmd.type === "prompt" && typeof cmd.prompt !== "string") {
15249
+ log(`[serve] dropping prompt without a string \`prompt\``);
15250
+ sendEvent({
15251
+ type: "error",
15252
+ fatal: false,
15253
+ category: "validation",
15254
+ message: "Invalid prompt: `prompt` must be a string."
15255
+ });
15256
+ return;
15257
+ }
15100
15258
  if (isCredentialRotatedSignal(cmd)) {
15101
15259
  if (managedCodex) return;
15102
15260
  await handleCredentialRotatedSignal({
@@ -15257,7 +15415,12 @@ async function startAgentServer(opts) {
15257
15415
  if (!initAcknowledged || managedCodex || aiProviderConfigId === void 0) return;
15258
15416
  aiCredentialRefreshScheduler.ensureArmed();
15259
15417
  });
15260
- await transport.listen();
15418
+ try {
15419
+ await transport.listen();
15420
+ } catch (error) {
15421
+ await modelEndpoint?.close();
15422
+ throw error;
15423
+ }
15261
15424
  if (secretsMode === "env" && agentSession) {
15262
15425
  agentSession.startWatching();
15263
15426
  }
@@ -15400,6 +15563,25 @@ async function loadSessionById(projectDir, runId) {
15400
15563
  return null;
15401
15564
  }
15402
15565
  }
15566
+ async function resolveSessionId(projectDir, idOrPrefix) {
15567
+ if (!idOrPrefix || /[\\/]/.test(idOrPrefix) || idOrPrefix.includes("..")) return null;
15568
+ let files;
15569
+ try {
15570
+ files = await fs8.readdir(sessionsDir(projectDir));
15571
+ } catch {
15572
+ return null;
15573
+ }
15574
+ const ids = files.filter((f) => f.endsWith(".json")).map((f) => f.slice(0, -".json".length));
15575
+ if (ids.includes(idOrPrefix)) return idOrPrefix;
15576
+ const matches = ids.filter((id) => id.startsWith(idOrPrefix)).sort();
15577
+ if (matches.length === 0) return null;
15578
+ if (matches.length > 1) {
15579
+ throw new Error(
15580
+ `Session id prefix "${idOrPrefix}" is ambiguous: matches ${matches.join(", ")}. Use more characters.`
15581
+ );
15582
+ }
15583
+ return matches[0];
15584
+ }
15403
15585
  async function listSessions(projectDir) {
15404
15586
  await migrateLegacySession(projectDir);
15405
15587
  const dir = sessionsDir(projectDir);
@@ -15463,6 +15645,6 @@ function touchSession(state) {
15463
15645
  return { ...state, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
15464
15646
  }
15465
15647
 
15466
- export { AgentRunError, CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CONNECTOR_MUTATE_NOT_READY, CapabilityRegistry, CompileManifestEntrySchema, CompositionError, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, DEFAULT_MAX_FINISHED_TREES, DEFAULT_RUN_LIMITS, MOUNT_LIST_MAX_DEPTH, MOUNT_LIST_MAX_ENTRIES, MOUNT_READ_DEADLINE_FACTOR, MOUNT_READ_MAX_CHUNK_BYTES, MOUNT_STAT_BUDGET_MS, MOUNT_STAT_MAX_ENTRIES, MOUNT_TREE_OP_DEADLINE_FACTOR, MOUNT_WRITE_MAX_CHUNK_BYTES, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, UnknownCompositionKindError, WRITE_RANGE_PARTIAL_TTL_MS, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildCompositionRunSnapshot, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildRunnerAgentSections, buildStoreSnapshotReplay, builtinCapabilities, canonicalJson, capabilityLogInstance, capabilitySignatureInputs, clearPreInitRingSink, clearSession, compileComposition, compositionRunSnapshotPath, computeCapabilitySignature, computeDirectoryTotals, computeRevisionHash, connectorRefreshKind, createAgentSession, createCompositionContentSource, createFinalTextFallback, createFlowConnectorReadiness, createInMemoryRunStore, createManagedCodexSubpromptDriver, createRunController, createSessionStimulusBus, defineCapability, deleteSession, describeComposition, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, driverActiveAfterTurnEnd, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsDriverRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, hasNonTerminalFlow, hashAgentFiles, hashContent, hostOpResumeStimulus, installPreInitRingSink, instanceForSession, isCompositionError, isEmptyKnowledgeIndex, isSessionRootPathAllowed, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadCompositionRunSnapshot, loadKnowledgeDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickChatFlowTarget, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, reconnectedRunNeedsAgentTurn, recreateKeepingLiveFlows, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, rejectPendingCapabilityCallsOnDisconnect, resetRunnerLogStore, resolveAgentInstance, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, restoredRunHasWorkToResume, runAgentChat, saveCompositionRunSnapshot, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, stripFrontmatter, takeRunnerWsAuthToken, toActiveFlowTarget, touchSession, unresolvedCredentialNotices, validateInputResponse, verifyConventionItems, writeClaudeCodeCredentialsFile, writeRangeChunk, writeRangePartialPath };
15467
- //# sourceMappingURL=chunk-HBZD3MIW.js.map
15468
- //# sourceMappingURL=chunk-HBZD3MIW.js.map
15648
+ export { AgentRunError, CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CONNECTOR_MUTATE_NOT_READY, CapabilityRegistry, CompileManifestEntrySchema, CompositionError, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, DEFAULT_MAX_FINISHED_TREES, DEFAULT_RUN_LIMITS, MOUNT_LIST_MAX_DEPTH, MOUNT_LIST_MAX_ENTRIES, MOUNT_READ_DEADLINE_FACTOR, MOUNT_READ_MAX_CHUNK_BYTES, MOUNT_STAT_BUDGET_MS, MOUNT_STAT_MAX_ENTRIES, MOUNT_TREE_OP_DEADLINE_FACTOR, MOUNT_WRITE_MAX_CHUNK_BYTES, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, UnknownCompositionKindError, WRITE_RANGE_PARTIAL_TTL_MS, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildCompositionRunSnapshot, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildRunnerAgentSections, buildStoreSnapshotReplay, builtinCapabilities, canonicalJson, capabilityLogInstance, capabilitySignatureInputs, clearPreInitRingSink, clearSession, compileComposition, compositionRunSnapshotPath, computeCapabilitySignature, computeDirectoryTotals, computeRevisionHash, connectorRefreshKind, createAgentSession, createCompositionContentSource, createFinalTextFallback, createFlowConnectorReadiness, createInMemoryRunStore, createManagedCodexSubpromptDriver, createRunController, createSessionStimulusBus, defineCapability, deleteSession, describeComposition, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, driverActiveAfterTurnEnd, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsDriverRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, hasNonTerminalFlow, hashAgentFiles, hashContent, hostOpResumeStimulus, installPreInitRingSink, instanceForSession, isCompositionError, isEmptyKnowledgeIndex, isSessionRootPathAllowed, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadCompositionRunSnapshot, loadKnowledgeDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickChatFlowTarget, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, reconnectedRunNeedsAgentTurn, recreateKeepingLiveFlows, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, rejectPendingCapabilityCallsOnDisconnect, resetRunnerLogStore, resolveAgentInstance, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, resolveSessionId, restoredRunHasWorkToResume, runAgentChat, saveCompositionRunSnapshot, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, stripFrontmatter, takeRunnerWsAuthToken, toActiveFlowTarget, touchSession, unresolvedCredentialNotices, validateInputResponse, verifyConventionItems, writeClaudeCodeCredentialsFile, writeRangeChunk, writeRangePartialPath };
15649
+ //# sourceMappingURL=chunk-SRKU7QUG.js.map
15650
+ //# sourceMappingURL=chunk-SRKU7QUG.js.map