@skaile/workspaces 5.13.0 → 5.14.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 (237) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-ALMTHLPV.js → asset-feeds-PAOX3FUT.js} +11 -11
  4. package/dist/{asset-feeds-ALMTHLPV.js.map → asset-feeds-PAOX3FUT.js.map} +1 -1
  5. package/dist/asset-manager/catalog-deployer.js +3 -3
  6. package/dist/asset-manager/index.js +7 -7
  7. package/dist/asset-manager/installer.js +5 -5
  8. package/dist/asset-manager/renderers.js +4 -4
  9. package/dist/bridge/drivers/claude-sdk.js +145 -10
  10. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  11. package/dist/bridge/drivers/codex.js +6 -5
  12. package/dist/bridge/drivers/codex.js.map +1 -1
  13. package/dist/bridge/drivers/continue.js +7 -6
  14. package/dist/bridge/drivers/continue.js.map +1 -1
  15. package/dist/bridge/drivers/echo.js +4 -3
  16. package/dist/bridge/drivers/echo.js.map +1 -1
  17. package/dist/bridge/drivers/gemini.js +6 -5
  18. package/dist/bridge/drivers/goose.js +7 -6
  19. package/dist/bridge/drivers/goose.js.map +1 -1
  20. package/dist/bridge/drivers/omp.js +5 -4
  21. package/dist/bridge/drivers/omp.js.map +1 -1
  22. package/dist/bridge/drivers/opencode.js +7 -6
  23. package/dist/bridge/drivers/opencode.js.map +1 -1
  24. package/dist/bridge/drivers/qwen.js +6 -5
  25. package/dist/bridge/drivers/qwen.js.map +1 -1
  26. package/dist/bridge/index.js +9 -8
  27. package/dist/bridge/src/drivers/claude-sdk.d.ts +2 -0
  28. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  29. package/dist/bridge/src/drivers/claude-self-turns.d.ts +72 -0
  30. package/dist/bridge/src/drivers/claude-self-turns.d.ts.map +1 -0
  31. package/dist/bridge/src/normalizer.d.ts.map +1 -1
  32. package/dist/bridge/src/types.d.ts +12 -0
  33. package/dist/bridge/src/types.d.ts.map +1 -1
  34. package/dist/{chunk-6GICC4RJ.js → chunk-3NNL334S.js} +10 -10
  35. package/dist/{chunk-6GICC4RJ.js.map → chunk-3NNL334S.js.map} +1 -1
  36. package/dist/{chunk-4NJ3QQHZ.js → chunk-5IMGZAKH.js} +4 -4
  37. package/dist/{chunk-4NJ3QQHZ.js.map → chunk-5IMGZAKH.js.map} +1 -1
  38. package/dist/{chunk-6NQDDCIL.js → chunk-5NVDOEWX.js} +15 -7
  39. package/dist/chunk-5NVDOEWX.js.map +1 -0
  40. package/dist/{chunk-BVJU2GKE.js → chunk-6VIVUBNN.js} +4 -271
  41. package/dist/chunk-6VIVUBNN.js.map +1 -0
  42. package/dist/{chunk-GMDSRSGI.js → chunk-7LGNJJ76.js} +6 -6
  43. package/dist/{chunk-GMDSRSGI.js.map → chunk-7LGNJJ76.js.map} +1 -1
  44. package/dist/{chunk-FB3NREF7.js → chunk-BASMWKPM.js} +7 -7
  45. package/dist/{chunk-FB3NREF7.js.map → chunk-BASMWKPM.js.map} +1 -1
  46. package/dist/{chunk-L3ZGYSWY.js → chunk-CAPKENNF.js} +9 -4
  47. package/dist/chunk-CAPKENNF.js.map +1 -0
  48. package/dist/{chunk-4L4R5LV3.js → chunk-CNZI37HV.js} +3 -3
  49. package/dist/{chunk-4L4R5LV3.js.map → chunk-CNZI37HV.js.map} +1 -1
  50. package/dist/{chunk-F4NJDSR7.js → chunk-D5WTOVLG.js} +7 -4
  51. package/dist/chunk-D5WTOVLG.js.map +1 -0
  52. package/dist/{chunk-XJYBCDY2.js → chunk-DHUJRIQQ.js} +3 -3
  53. package/dist/{chunk-XJYBCDY2.js.map → chunk-DHUJRIQQ.js.map} +1 -1
  54. package/dist/chunk-DWRYUWOK.js +273 -0
  55. package/dist/chunk-DWRYUWOK.js.map +1 -0
  56. package/dist/{chunk-5FYOM4RF.js → chunk-FD2IPIE2.js} +5 -5
  57. package/dist/{chunk-5FYOM4RF.js.map → chunk-FD2IPIE2.js.map} +1 -1
  58. package/dist/{chunk-PYTTF754.js → chunk-GJGEDWRT.js} +4 -4
  59. package/dist/{chunk-PYTTF754.js.map → chunk-GJGEDWRT.js.map} +1 -1
  60. package/dist/{chunk-FHDK3BFD.js → chunk-IPN7N2AZ.js} +3 -3
  61. package/dist/{chunk-FHDK3BFD.js.map → chunk-IPN7N2AZ.js.map} +1 -1
  62. package/dist/{chunk-4DLQESIY.js → chunk-IQVZIVSA.js} +3 -3
  63. package/dist/{chunk-4DLQESIY.js.map → chunk-IQVZIVSA.js.map} +1 -1
  64. package/dist/{chunk-NDUYFYJB.js → chunk-MCLT3BJG.js} +5 -5
  65. package/dist/{chunk-NDUYFYJB.js.map → chunk-MCLT3BJG.js.map} +1 -1
  66. package/dist/{chunk-PZOO7L26.js → chunk-O3Q3MOAV.js} +4 -4
  67. package/dist/{chunk-PZOO7L26.js.map → chunk-O3Q3MOAV.js.map} +1 -1
  68. package/dist/{chunk-DKGEV6SQ.js → chunk-ODQGLELI.js} +4 -4
  69. package/dist/{chunk-DKGEV6SQ.js.map → chunk-ODQGLELI.js.map} +1 -1
  70. package/dist/chunk-OKQXY6FS.js +1336 -0
  71. package/dist/chunk-OKQXY6FS.js.map +1 -0
  72. package/dist/{chunk-BF422IDP.js → chunk-OX2W5YF3.js} +4 -4
  73. package/dist/{chunk-BF422IDP.js.map → chunk-OX2W5YF3.js.map} +1 -1
  74. package/dist/{chunk-HBZD3MIW.js → chunk-PAUM35HD.js} +169 -33
  75. package/dist/chunk-PAUM35HD.js.map +1 -0
  76. package/dist/{chunk-J4DB5G36.js → chunk-PGVSOHWE.js} +2 -2
  77. package/dist/{chunk-J4DB5G36.js.map → chunk-PGVSOHWE.js.map} +1 -1
  78. package/dist/{chunk-ZSMMX3JD.js → chunk-PUG7IWFF.js} +11 -11
  79. package/dist/{chunk-ZSMMX3JD.js.map → chunk-PUG7IWFF.js.map} +1 -1
  80. package/dist/{chunk-2H73V6XR.js → chunk-PW3TYWOI.js} +3 -3
  81. package/dist/{chunk-2H73V6XR.js.map → chunk-PW3TYWOI.js.map} +1 -1
  82. package/dist/{chunk-Y7WKXPWS.js → chunk-QAYL3PYY.js} +8 -8
  83. package/dist/{chunk-Y7WKXPWS.js.map → chunk-QAYL3PYY.js.map} +1 -1
  84. package/dist/{chunk-XBYSURMK.js → chunk-QELQDY5K.js} +3 -3
  85. package/dist/{chunk-XBYSURMK.js.map → chunk-QELQDY5K.js.map} +1 -1
  86. package/dist/{chunk-7SMP4GNW.js → chunk-S6FZUR5H.js} +7 -6
  87. package/dist/chunk-S6FZUR5H.js.map +1 -0
  88. package/dist/{chunk-QO7CR3KB.js → chunk-TYUJPQNX.js} +3 -3
  89. package/dist/{chunk-QO7CR3KB.js.map → chunk-TYUJPQNX.js.map} +1 -1
  90. package/dist/{chunk-5SKVCMRC.js → chunk-UK3LRPJ5.js} +3 -3
  91. package/dist/{chunk-5SKVCMRC.js.map → chunk-UK3LRPJ5.js.map} +1 -1
  92. package/dist/{chunk-R6QHJEHE.js → chunk-UQ4SQOR6.js} +5 -5
  93. package/dist/{chunk-R6QHJEHE.js.map → chunk-UQ4SQOR6.js.map} +1 -1
  94. package/dist/{chunk-V5JHD4I2.js → chunk-V7AWO5FL.js} +2 -2
  95. package/dist/{chunk-V5JHD4I2.js.map → chunk-V7AWO5FL.js.map} +1 -1
  96. package/dist/{chunk-PN44DOGP.js → chunk-VTG5Z3KD.js} +3 -3
  97. package/dist/{chunk-PN44DOGP.js.map → chunk-VTG5Z3KD.js.map} +1 -1
  98. package/dist/{chunk-Y4Z7LGSH.js → chunk-VTXXBYB3.js} +9 -9
  99. package/dist/{chunk-Y4Z7LGSH.js.map → chunk-VTXXBYB3.js.map} +1 -1
  100. package/dist/{chunk-AHCI4V5L.js → chunk-WTEYDNTR.js} +3 -3
  101. package/dist/{chunk-AHCI4V5L.js.map → chunk-WTEYDNTR.js.map} +1 -1
  102. package/dist/{chunk-B7CZYFB2.js → chunk-YFIHFJEB.js} +3 -3
  103. package/dist/{chunk-B7CZYFB2.js.map → chunk-YFIHFJEB.js.map} +1 -1
  104. package/dist/{chunk-VMKMFS2Q.js → chunk-YIDZJHY6.js} +3 -3
  105. package/dist/{chunk-VMKMFS2Q.js.map → chunk-YIDZJHY6.js.map} +1 -1
  106. package/dist/{chunk-HWGYJMME.js → chunk-ZBD6EITA.js} +4 -4
  107. package/dist/{chunk-HWGYJMME.js.map → chunk-ZBD6EITA.js.map} +1 -1
  108. package/dist/{chunk-VLBIME5L.js → chunk-ZDTZGEJG.js} +4 -4
  109. package/dist/{chunk-VLBIME5L.js.map → chunk-ZDTZGEJG.js.map} +1 -1
  110. package/dist/{chunk-X4BAYGMT.js → chunk-ZIW34FGO.js} +3 -3
  111. package/dist/{chunk-X4BAYGMT.js.map → chunk-ZIW34FGO.js.map} +1 -1
  112. package/dist/cli/index.js +86 -67
  113. package/dist/cli/index.js.map +1 -1
  114. package/dist/cli/src/commands/serve.d.ts +7 -0
  115. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  116. package/dist/connectors/config.js +2 -2
  117. package/dist/connectors/index.js +13 -12
  118. package/dist/{connectors-GFKMKAXV.js → connectors-2TEGRRYC.js} +16 -15
  119. package/dist/{connectors-GFKMKAXV.js.map → connectors-2TEGRRYC.js.map} +1 -1
  120. package/dist/connectors-shared/index.js +2 -2
  121. package/dist/core/index.js +3 -3
  122. package/dist/core/runtime-assets.js +2 -2
  123. package/dist/core/src/index.d.ts +1 -1
  124. package/dist/core/src/index.d.ts.map +1 -1
  125. package/dist/core/src/workspace-config.d.ts +16 -0
  126. package/dist/core/src/workspace-config.d.ts.map +1 -1
  127. package/dist/core/workspace-config.js +1 -1
  128. package/dist/deploy/index.js +3 -3
  129. package/dist/{ensure-sources-VUKHL65L.js → ensure-sources-EG7YKKZL.js} +10 -10
  130. package/dist/{ensure-sources-VUKHL65L.js.map → ensure-sources-EG7YKKZL.js.map} +1 -1
  131. package/dist/factory-assets/connectors/box.js +13 -12
  132. package/dist/factory-assets/connectors/deploy.js +13 -12
  133. package/dist/factory-assets/connectors/devserver.js +13 -12
  134. package/dist/factory-assets/connectors/flow/adapter.js +13 -12
  135. package/dist/factory-assets/connectors/flow/engine.js +4 -4
  136. package/dist/factory-assets/connectors/flow/run-flow.js +14 -13
  137. package/dist/factory-assets/connectors/flow.js +13 -12
  138. package/dist/factory-assets/connectors/git.js +13 -12
  139. package/dist/factory-assets/connectors/gmail.js +13 -12
  140. package/dist/factory-assets/connectors/googledrive.js +13 -12
  141. package/dist/factory-assets/connectors/local.js +13 -12
  142. package/dist/factory-assets/connectors/mattermost.js +13 -12
  143. package/dist/factory-assets/connectors/memory.js +13 -12
  144. package/dist/factory-assets/connectors/minio.js +13 -12
  145. package/dist/factory-assets/connectors/postgres.js +13 -12
  146. package/dist/factory-assets/connectors/s3.js +13 -12
  147. package/dist/factory-assets/connectors/sharepoint.js +13 -12
  148. package/dist/factory-assets/connectors/sqlite.js +13 -12
  149. package/dist/factory-assets/connectors/static-server.js +13 -12
  150. package/dist/factory-assets/connectors/tunnel.js +13 -12
  151. package/dist/factory-assets/connectors/webdav.js +13 -12
  152. package/dist/factory-assets/connectors/xstate-store.js +13 -12
  153. package/dist/factory-assets/connectors/xstate.js +13 -12
  154. package/dist/{flows-A4YALSZY.js → flows-5TW3XFMH.js} +6 -6
  155. package/dist/{flows-A4YALSZY.js.map → flows-5TW3XFMH.js.map} +1 -1
  156. package/dist/{helpers-53XZW7KF.js → helpers-BQGXEKRP.js} +10 -10
  157. package/dist/{helpers-53XZW7KF.js.map → helpers-BQGXEKRP.js.map} +1 -1
  158. package/dist/library/index.js +4 -4
  159. package/dist/{library-publish-FFIPWIRM.js → library-publish-EUP524PE.js} +17 -17
  160. package/dist/{library-publish-FFIPWIRM.js.map → library-publish-EUP524PE.js.map} +1 -1
  161. package/dist/model-endpoint/index.d.ts +2 -0
  162. package/dist/model-endpoint/index.js +9 -0
  163. package/dist/model-endpoint/index.js.map +1 -0
  164. package/dist/model-endpoint/src/index.d.ts +4 -0
  165. package/dist/model-endpoint/src/index.d.ts.map +1 -0
  166. package/dist/model-endpoint/src/openai-chat.d.ts +105 -0
  167. package/dist/model-endpoint/src/openai-chat.d.ts.map +1 -0
  168. package/dist/model-endpoint/src/openai-responses.d.ts +106 -0
  169. package/dist/model-endpoint/src/openai-responses.d.ts.map +1 -0
  170. package/dist/model-endpoint/src/openai-shared.d.ts +77 -0
  171. package/dist/model-endpoint/src/openai-shared.d.ts.map +1 -0
  172. package/dist/model-endpoint/src/resolve.d.ts +36 -0
  173. package/dist/model-endpoint/src/resolve.d.ts.map +1 -0
  174. package/dist/model-endpoint/src/server.d.ts +16 -0
  175. package/dist/model-endpoint/src/server.d.ts.map +1 -0
  176. package/dist/model-endpoint/src/types.d.ts +78 -0
  177. package/dist/model-endpoint/src/types.d.ts.map +1 -0
  178. package/dist/{open-library-PZAT3TJA.js → open-library-QNMIMZYS.js} +13 -13
  179. package/dist/{open-library-PZAT3TJA.js.map → open-library-QNMIMZYS.js.map} +1 -1
  180. package/dist/{open-registry-W46UXZ3I.js → open-registry-BOUCBDLF.js} +8 -8
  181. package/dist/{open-registry-W46UXZ3I.js.map → open-registry-BOUCBDLF.js.map} +1 -1
  182. package/dist/{paths-KKY3NSBZ.js → paths-B6SX6J6T.js} +6 -6
  183. package/dist/{paths-KKY3NSBZ.js.map → paths-B6SX6J6T.js.map} +1 -1
  184. package/dist/{plugin-store-CK7YWRIC.js → plugin-store-MLFP3WJ7.js} +5 -5
  185. package/dist/{plugin-store-CK7YWRIC.js.map → plugin-store-MLFP3WJ7.js.map} +1 -1
  186. package/dist/{project-EZUH7PUJ.js → project-GXCIEJGM.js} +30 -27
  187. package/dist/{project-EZUH7PUJ.js.map → project-GXCIEJGM.js.map} +1 -1
  188. package/dist/resolver/index.js +3 -3
  189. package/dist/runner/index.js +22 -19
  190. package/dist/runner/src/model-endpoint-discovery.d.ts +64 -0
  191. package/dist/runner/src/model-endpoint-discovery.d.ts.map +1 -0
  192. package/dist/runner/src/serve.d.ts +6 -0
  193. package/dist/runner/src/serve.d.ts.map +1 -1
  194. package/dist/runner/src/session-builder.d.ts +8 -0
  195. package/dist/runner/src/session-builder.d.ts.map +1 -1
  196. package/dist/sdk/asset-manager.js +7 -7
  197. package/dist/sdk/bridge.js +9 -8
  198. package/dist/sdk/core.js +3 -3
  199. package/dist/sdk/flow.js +4 -4
  200. package/dist/sdk/index.js +22 -19
  201. package/dist/sdk/index.js.map +1 -1
  202. package/dist/sdk/resolver.js +3 -3
  203. package/dist/sdk/runner.js +22 -19
  204. package/dist/sdk/session.js +2 -2
  205. package/dist/sdk/types.js +1 -1
  206. package/dist/{serve-preflight-F7MYF747.js → serve-preflight-GNBW3O4U.js} +5 -5
  207. package/dist/{serve-preflight-F7MYF747.js.map → serve-preflight-GNBW3O4U.js.map} +1 -1
  208. package/dist/session/index.js +2 -2
  209. package/dist/{setup-L632QIHV.js → setup-HJEYEXLS.js} +17 -16
  210. package/dist/setup-HJEYEXLS.js.map +1 -0
  211. package/dist/{skills-OY3Y5GKA.js → skills-4WMYGJDL.js} +5 -5
  212. package/dist/{skills-OY3Y5GKA.js.map → skills-4WMYGJDL.js.map} +1 -1
  213. package/dist/{source-36FHMN5V.js → source-5VL6PHER.js} +15 -15
  214. package/dist/{source-36FHMN5V.js.map → source-5VL6PHER.js.map} +1 -1
  215. package/dist/{source-manifest-publish-NIXJSJ22.js → source-manifest-publish-Q66H7EJI.js} +17 -17
  216. package/dist/{source-manifest-publish-NIXJSJ22.js.map → source-manifest-publish-Q66H7EJI.js.map} +1 -1
  217. package/dist/tui/index.js +22 -19
  218. package/dist/tui/index.js.map +1 -1
  219. package/dist/types/index.js +1 -1
  220. package/dist/types/src/delivery.d.ts.map +1 -1
  221. package/dist/types/src/events.d.ts +55 -1
  222. package/dist/types/src/events.d.ts.map +1 -1
  223. package/dist/types/src/index.d.ts +1 -1
  224. package/dist/types/src/index.d.ts.map +1 -1
  225. package/dist/types/src/version.d.ts +11 -1
  226. package/dist/types/src/version.d.ts.map +1 -1
  227. package/dist/workspace-plugin/adapters/mcp.js +16 -15
  228. package/dist/workspace-plugin/adapters/omp.js +14 -14
  229. package/dist/workspace-plugin/index.js +1 -1
  230. package/package.json +12 -1
  231. package/dist/chunk-6NQDDCIL.js.map +0 -1
  232. package/dist/chunk-7SMP4GNW.js.map +0 -1
  233. package/dist/chunk-BVJU2GKE.js.map +0 -1
  234. package/dist/chunk-F4NJDSR7.js.map +0 -1
  235. package/dist/chunk-HBZD3MIW.js.map +0 -1
  236. package/dist/chunk-L3ZGYSWY.js.map +0 -1
  237. package/dist/setup-L632QIHV.js.map +0 -1
@@ -1,31 +1,33 @@
1
- import { WorkspacePlugin } from './chunk-J4DB5G36.js';
2
- import { buildWorkspaceToolDefs } from './chunk-NDUYFYJB.js';
1
+ import { WorkspacePlugin } from './chunk-PGVSOHWE.js';
2
+ import { buildWorkspaceToolDefs } from './chunk-MCLT3BJG.js';
3
3
  import { findAiAssetsRoot } from './chunk-2BIESC6S.js';
4
+ import { startModelEndpoint } from './chunk-OKQXY6FS.js';
4
5
  import { WebSocketServerTransport } from './chunk-OQ5MKDS3.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 { resolveFlowPath } from './chunk-7LGNJJ76.js';
8
9
  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';
10
+ import { ConnectFailureCarryOver, registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-VTXXBYB3.js';
11
+ import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-UK3LRPJ5.js';
12
+ import { EventNormalizer } from './chunk-5NVDOEWX.js';
12
13
  import { probeResumeTranscript, transcriptStoreForRuntime } from './chunk-YTZFSKWL.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-DWRYUWOK.js';
19
+ import { unresolvedProviderCredentials, driverCapabilities, createDriver, catalogLayer, providerCredentialEnvName, registryCredentialEnv, AI_PROVIDER_PRESETS, supportsLiveToolUpdates } from './chunk-6VIVUBNN.js';
20
+ import { loadFlow } from './chunk-QELQDY5K.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 { 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-ODQGLELI.js';
23
25
  import { createDefaultKindRegistry } from './chunk-NVO6WECE.js';
24
26
  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';
27
+ import { readLock, buildAgentPromptSections, resolveSettings, loadProviderRegistry, resolveLibraryDir } from './chunk-OX2W5YF3.js';
28
+ import { resolveRuntimeAssets } from './chunk-TYUJPQNX.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-CAPKENNF.js';
29
31
  import { globalSkaileDir } from './chunk-L5VSIPQD.js';
30
32
  import { driverTargetForDriver, SUPPORTED_DRIVER_TARGETS, DRIVER_TARGETS } from './chunk-IG5LZ3WU.js';
31
33
  import { withFsDeadline, FsDeadlineError, fsDeadlineMs, parseFrontmatter, tryWithFsDeadline } from './chunk-M3P4BYRK.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';
@@ -6059,6 +6061,94 @@ function toSdkMcpServerConfig(decl, secrets) {
6059
6061
  }
6060
6062
  return null;
6061
6063
  }
6064
+ var MODEL_ENDPOINT_PROVIDER_ID = "skaile-endpoint";
6065
+ var MODEL_ENDPOINT_URL_ENV = "SKAILE_MODEL_ENDPOINT_URL";
6066
+ var MODEL_ENDPOINT_TOKEN_ENV = "SKAILE_MODEL_ENDPOINT_TOKEN";
6067
+ function modelEndpointEnv({ url, token }) {
6068
+ return {
6069
+ [MODEL_ENDPOINT_URL_ENV]: url,
6070
+ [MODEL_ENDPOINT_TOKEN_ENV]: token,
6071
+ [providerCredentialEnvName(MODEL_ENDPOINT_PROVIDER_ID)]: token
6072
+ };
6073
+ }
6074
+ function modelEndpointLayer({ url }) {
6075
+ return {
6076
+ layer: "catalog",
6077
+ providers: {
6078
+ [MODEL_ENDPOINT_PROVIDER_ID]: {
6079
+ kind: "llm",
6080
+ surface: "openai-completions",
6081
+ base_url: url,
6082
+ credential: { kind: "bearer", ref: `env:${MODEL_ENDPOINT_TOKEN_ENV}` },
6083
+ label: "Skaile model endpoint",
6084
+ enabled: true
6085
+ }
6086
+ }
6087
+ };
6088
+ }
6089
+ function withoutEndpointEntry(registry) {
6090
+ if (!registry.providers[MODEL_ENDPOINT_PROVIDER_ID]) return registry;
6091
+ return pickRegistryEntries(
6092
+ registry,
6093
+ registry.order.filter((id) => id !== MODEL_ENDPOINT_PROVIDER_ID)
6094
+ );
6095
+ }
6096
+ function modelEndpointFile(projectDir) {
6097
+ return join(projectDir, ".skaile", "model-endpoint.json");
6098
+ }
6099
+ function writeModelEndpointFile(projectDir, address) {
6100
+ const file = modelEndpointFile(projectDir);
6101
+ mkdirSync(join(projectDir, ".skaile"), { recursive: true });
6102
+ rmSync(file, { force: true });
6103
+ writeFileSync(file, `${JSON.stringify({ ...address, pid: process.pid }, null, 2)}
6104
+ `, {
6105
+ mode: 384,
6106
+ flag: "wx"
6107
+ });
6108
+ }
6109
+ function removeModelEndpointFile(projectDir) {
6110
+ rmSync(modelEndpointFile(projectDir), { force: true });
6111
+ }
6112
+ async function startRunnerModelEndpoint(options) {
6113
+ const token = process.env[MODEL_ENDPOINT_TOKEN_ENV] || randomBytes(32).toString("hex");
6114
+ const host = options.config.host ?? "127.0.0.1";
6115
+ const handle = await startModelEndpoint({
6116
+ getRegistry: () => withoutEndpointEntry(options.getRegistry()),
6117
+ getLookupEnv: options.getLookupEnv,
6118
+ ...options.getRoles ? { getRoles: options.getRoles } : {},
6119
+ token,
6120
+ host,
6121
+ port: options.config.port ?? 0,
6122
+ log: options.log
6123
+ });
6124
+ if (!isLoopbackHost(host)) {
6125
+ options.log(
6126
+ `WARNING: bound to non-loopback host ${host}: anyone who can reach it and holds the token spends this session's provider credentials`
6127
+ );
6128
+ }
6129
+ const address = { url: handle.url, token };
6130
+ try {
6131
+ writeModelEndpointFile(options.projectDir, address);
6132
+ } catch (error) {
6133
+ await handle.close();
6134
+ throw error;
6135
+ }
6136
+ let closed;
6137
+ return {
6138
+ ...address,
6139
+ close: () => {
6140
+ closed ??= (async () => {
6141
+ removeModelEndpointFile(options.projectDir);
6142
+ await handle.close();
6143
+ })();
6144
+ return closed;
6145
+ }
6146
+ };
6147
+ }
6148
+ function isLoopbackHost(host) {
6149
+ const bare = host.replace(/^\[|\]$/g, "").toLowerCase();
6150
+ return bare === "localhost" || bare === "::1" || /^127(\.\d{1,3}){3}$/.test(bare);
6151
+ }
6062
6152
 
6063
6153
  // runner/src/session-builder.ts
6064
6154
  async function createAgentSession(config) {
@@ -6104,9 +6194,18 @@ async function createAgentSession(config) {
6104
6194
  });
6105
6195
  const driverType = (managed ? config.driver : settings.driver) ?? DEFAULT_DRIVER_ID;
6106
6196
  const model = managed ? config.model : settings.model;
6107
- const registry = loadSessionRegistry(projectDir, config.registry, config.providers, sessionLog);
6197
+ const registry = loadSessionRegistry(
6198
+ projectDir,
6199
+ config.registry,
6200
+ config.providers,
6201
+ sessionLog,
6202
+ config.modelEndpoint
6203
+ );
6108
6204
  const modelRef = config.modelRef?.trim() || model?.trim() || void 0;
6109
- const credentialEnv = { ...config.credentialEnv };
6205
+ const credentialEnv = {
6206
+ ...config.credentialEnv,
6207
+ ...config.modelEndpoint ? modelEndpointEnv(config.modelEndpoint) : {}
6208
+ };
6110
6209
  const manifest = agentDir ? await loadAgentManifest(agentDir) : void 0;
6111
6210
  const {
6112
6211
  resourceManager,
@@ -6314,10 +6413,11 @@ function createManagedCodexSubpromptDriver(config, model, cwd, privateDirectory)
6314
6413
  }
6315
6414
  });
6316
6415
  }
6317
- function loadSessionRegistry(projectDir, sessionRegistry, providers, log) {
6416
+ function loadSessionRegistry(projectDir, sessionRegistry, providers, log, modelEndpoint) {
6318
6417
  const extraLayers = [];
6319
6418
  if (sessionRegistry && Object.keys(sessionRegistry).length > 0)
6320
6419
  extraLayers.push({ layer: "session", providers: sessionRegistry });
6420
+ if (modelEndpoint) extraLayers.push(modelEndpointLayer(modelEndpoint));
6321
6421
  const first = loadProviderRegistry({ projectDir, extraLayers });
6322
6422
  const catalog = catalogLayer(first.patches);
6323
6423
  const final = Object.keys(catalog.providers).length === 0 ? first : loadProviderRegistry({ projectDir, extraLayers: [...extraLayers, catalog] });
@@ -6326,14 +6426,17 @@ function loadSessionRegistry(projectDir, sessionRegistry, providers, log) {
6326
6426
  if (diagnostic.severity === "error") log.error(message, void 0, { code: diagnostic.code });
6327
6427
  else log.warn(message, { code: diagnostic.code });
6328
6428
  }
6329
- if (providers === void 0 || providers.length === 0) return final.registry;
6330
- for (const id of providers) {
6429
+ const picked = providers === void 0 || providers.length === 0 ? final.registry : pickRegistryEntries(
6430
+ final.registry,
6431
+ modelEndpoint ? [...providers, MODEL_ENDPOINT_PROVIDER_ID] : providers
6432
+ );
6433
+ for (const id of providers ?? []) {
6331
6434
  if (final.registry.providers[id] === void 0)
6332
6435
  log.warn(`providers registry: --providers names '${id}' which no layer defines`, {
6333
6436
  code: "unknown_provider"
6334
6437
  });
6335
6438
  }
6336
- return pickRegistryEntries(final.registry, providers);
6439
+ return picked.order.every((id) => id === MODEL_ENDPOINT_PROVIDER_ID) ? withoutEndpointEntry(picked) : picked;
6337
6440
  }
6338
6441
  async function loadPromptExtensions(paths, projectDir, log) {
6339
6442
  if (!paths?.length) return [];
@@ -11765,12 +11868,12 @@ function takeRunnerWsAuthToken(env = process.env, fs9 = nodeFs) {
11765
11868
  }
11766
11869
 
11767
11870
  // runner/src/ws-auth-warning.ts
11768
- function isLoopbackHost(host) {
11871
+ function isLoopbackHost2(host) {
11769
11872
  const h = host.startsWith("[") && host.endsWith("]") ? host.slice(1, -1) : host;
11770
11873
  return h === "localhost" || h === "::1" || /^127(?:\.\d{1,3}){3}$/.test(h);
11771
11874
  }
11772
11875
  function wsNoAuthWarning(port, host) {
11773
- if (host !== void 0 && isLoopbackHost(host)) {
11876
+ if (host !== void 0 && isLoopbackHost2(host)) {
11774
11877
  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
11878
  }
11776
11879
  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 +13171,8 @@ async function startAgentServer(opts) {
13068
13171
  // secrets map, keyed by the `SKAILE_AIP_<ID>_KEY` name each registry
13069
13172
  // entry references. Omitted entirely when nothing resolved.
13070
13173
  ...credentialEnv && Object.keys(credentialEnv).length > 0 ? { credentialEnv } : {},
13174
+ // The runner's loopback model endpoint: registry entry + child env.
13175
+ ...modelEndpoint ? { modelEndpoint: { url: modelEndpoint.url, token: modelEndpoint.token } } : {},
13071
13176
  ...wireAgentConfig?.thinking ? { thinking: wireAgentConfig.thinking } : {},
13072
13177
  ...wireEffort ? { effort: wireEffort } : {},
13073
13178
  // Every claude-sdk driver carries the flow tools, so a run can start mid-turn.
@@ -13158,6 +13263,7 @@ async function startAgentServer(opts) {
13158
13263
  });
13159
13264
  let sessionConfig;
13160
13265
  let agentSession;
13266
+ let modelEndpoint;
13161
13267
  const contextWindows = new ContextWindowResolver({
13162
13268
  seat: () => aiProviderConfigId,
13163
13269
  warn: (line) => serverLog.warn(line)
@@ -13264,16 +13370,39 @@ async function startAgentServer(opts) {
13264
13370
  liveAttachedMcpDeclarations.set(decl.id, decl);
13265
13371
  bakedMcpServerIds = /* @__PURE__ */ new Set([...bakedMcpServerIds, decl.id]);
13266
13372
  };
13373
+ const modelEndpointConfig = {
13374
+ ...wsConfig.model_endpoint,
13375
+ ...opts.modelEndpoint
13376
+ };
13377
+ if (!managedHost && modelEndpointConfig.enabled === true) {
13378
+ const bootRegistry = loadProviderRegistry({ projectDir: opts.projectDir }).registry;
13379
+ modelEndpoint = await startRunnerModelEndpoint({
13380
+ projectDir: opts.projectDir,
13381
+ config: modelEndpointConfig,
13382
+ // agentSession is reassigned at every (re)build, so a session_init swap
13383
+ // is picked up on the next request.
13384
+ getRegistry: () => agentSession?.registry ?? bootRegistry,
13385
+ getLookupEnv: () => ({ ...process.env, ...agentSession?.credentialEnv }),
13386
+ getRoles: () => wsConfig.roles,
13387
+ log: (line) => log(`[model-endpoint] ${line}`)
13388
+ });
13389
+ log(`[serve] model endpoint listening on ${modelEndpoint.url}`);
13390
+ }
13267
13391
  if (secretsMode === "provisioned") {
13268
13392
  log("[serve] secrets mode: provisioned \u2014 waiting for provision_secrets command");
13269
13393
  } 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);
13394
+ try {
13395
+ sessionConfig = buildSessionConfig(new EnvSecretProvider());
13396
+ await refreshAgentSurface(null);
13397
+ agentSession = await createAgentSession(sessionConfig);
13398
+ emitSystemPromptComposed(agentSession, sendEvent);
13399
+ noteAgentSessionBuilt(sessionConfig.resumeSessionId);
13400
+ registerSessionComposition(agentSession);
13401
+ await refreshAgentSurface(agentSession);
13402
+ } catch (error) {
13403
+ await modelEndpoint?.close();
13404
+ throw error;
13405
+ }
13277
13406
  resolveSessionReady();
13278
13407
  captureBakedMcpServers();
13279
13408
  }
@@ -13889,6 +14018,8 @@ async function startAgentServer(opts) {
13889
14018
  } catch {
13890
14019
  }
13891
14020
  }
14021
+ await modelEndpoint?.close().catch(() => {
14022
+ });
13892
14023
  }
13893
14024
  async function awaitSessionReadyOrFail() {
13894
14025
  try {
@@ -15257,7 +15388,12 @@ async function startAgentServer(opts) {
15257
15388
  if (!initAcknowledged || managedCodex || aiProviderConfigId === void 0) return;
15258
15389
  aiCredentialRefreshScheduler.ensureArmed();
15259
15390
  });
15260
- await transport.listen();
15391
+ try {
15392
+ await transport.listen();
15393
+ } catch (error) {
15394
+ await modelEndpoint?.close();
15395
+ throw error;
15396
+ }
15261
15397
  if (secretsMode === "env" && agentSession) {
15262
15398
  agentSession.startWatching();
15263
15399
  }
@@ -15464,5 +15600,5 @@ function touchSession(state) {
15464
15600
  }
15465
15601
 
15466
15602
  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
15603
+ //# sourceMappingURL=chunk-PAUM35HD.js.map
15604
+ //# sourceMappingURL=chunk-PAUM35HD.js.map