@skaile/workspaces 6.16.0 → 6.17.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 (236) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/{agent-file-refresh-76NNFB4W.js → agent-file-refresh-RZWE25KN.js} +33 -33
  3. package/dist/{agent-file-refresh-76NNFB4W.js.map → agent-file-refresh-RZWE25KN.js.map} +1 -1
  4. package/dist/ai-sdk.js +4 -4
  5. package/dist/{asset-feeds-ON7FYHHF.js → asset-feeds-W4A2UFNX.js} +16 -16
  6. package/dist/{asset-feeds-ON7FYHHF.js.map → asset-feeds-W4A2UFNX.js.map} +1 -1
  7. package/dist/asset-manager/catalog-deployer.js +3 -3
  8. package/dist/asset-manager/history.js +3 -3
  9. package/dist/asset-manager/index.js +8 -8
  10. package/dist/asset-manager/installer.js +7 -7
  11. package/dist/asset-manager/renderers.js +4 -4
  12. package/dist/bridge/harnesses/claude-sdk.js +7 -7
  13. package/dist/bridge/harnesses/codex.js +7 -7
  14. package/dist/bridge/harnesses/continue.js +8 -8
  15. package/dist/bridge/harnesses/echo.js +3 -3
  16. package/dist/bridge/harnesses/gemini.js +6 -6
  17. package/dist/bridge/harnesses/goose.js +8 -8
  18. package/dist/bridge/harnesses/omp.js +5 -5
  19. package/dist/bridge/harnesses/opencode.js +9 -9
  20. package/dist/bridge/harnesses/qwen.js +6 -6
  21. package/dist/bridge/index.js +13 -13
  22. package/dist/{chunk-BTMSHGN3.js → chunk-2QNDAGYL.js} +4 -4
  23. package/dist/{chunk-BTMSHGN3.js.map → chunk-2QNDAGYL.js.map} +1 -1
  24. package/dist/{chunk-2ZDZJ7XQ.js → chunk-3O3HWR23.js} +3 -3
  25. package/dist/{chunk-2ZDZJ7XQ.js.map → chunk-3O3HWR23.js.map} +1 -1
  26. package/dist/{chunk-G5SUWZEU.js → chunk-3ZY6W7CL.js} +4 -3
  27. package/dist/chunk-3ZY6W7CL.js.map +1 -0
  28. package/dist/{chunk-2JUCWMIS.js → chunk-4BVE6JTM.js} +9 -9
  29. package/dist/{chunk-2JUCWMIS.js.map → chunk-4BVE6JTM.js.map} +1 -1
  30. package/dist/{chunk-Z23I2JA6.js → chunk-4CVRFWEY.js} +5 -5
  31. package/dist/{chunk-Z23I2JA6.js.map → chunk-4CVRFWEY.js.map} +1 -1
  32. package/dist/{chunk-PPSSDUN6.js → chunk-4YVQGPZ5.js} +3 -3
  33. package/dist/{chunk-PPSSDUN6.js.map → chunk-4YVQGPZ5.js.map} +1 -1
  34. package/dist/{chunk-ETGC2MEM.js → chunk-52HUF3DF.js} +3 -3
  35. package/dist/{chunk-ETGC2MEM.js.map → chunk-52HUF3DF.js.map} +1 -1
  36. package/dist/{chunk-Z7HLX4V2.js → chunk-57B4DG3Y.js} +4 -4
  37. package/dist/{chunk-Z7HLX4V2.js.map → chunk-57B4DG3Y.js.map} +1 -1
  38. package/dist/{chunk-WW22FS74.js → chunk-5L3UCHBK.js} +9 -9
  39. package/dist/{chunk-WW22FS74.js.map → chunk-5L3UCHBK.js.map} +1 -1
  40. package/dist/{chunk-72DYHOO2.js → chunk-6CTRJADR.js} +5 -5
  41. package/dist/{chunk-72DYHOO2.js.map → chunk-6CTRJADR.js.map} +1 -1
  42. package/dist/{chunk-3LAJJURV.js → chunk-6O7KIJUW.js} +5 -5
  43. package/dist/{chunk-3LAJJURV.js.map → chunk-6O7KIJUW.js.map} +1 -1
  44. package/dist/{chunk-EGKCKWWE.js → chunk-6PWQJMHM.js} +3 -3
  45. package/dist/{chunk-EGKCKWWE.js.map → chunk-6PWQJMHM.js.map} +1 -1
  46. package/dist/{chunk-7IW5E6LB.js → chunk-7D46CRUU.js} +12 -12
  47. package/dist/{chunk-7IW5E6LB.js.map → chunk-7D46CRUU.js.map} +1 -1
  48. package/dist/{chunk-IG4YQ7ER.js → chunk-7IKAKXMZ.js} +3 -3
  49. package/dist/{chunk-IG4YQ7ER.js.map → chunk-7IKAKXMZ.js.map} +1 -1
  50. package/dist/{chunk-4ZNKEDYH.js → chunk-AS4SKSXJ.js} +5 -5
  51. package/dist/{chunk-4ZNKEDYH.js.map → chunk-AS4SKSXJ.js.map} +1 -1
  52. package/dist/{chunk-6KV34G6A.js → chunk-AVB7NLO6.js} +6 -6
  53. package/dist/{chunk-6KV34G6A.js.map → chunk-AVB7NLO6.js.map} +1 -1
  54. package/dist/{chunk-MG6QD7GE.js → chunk-DG7OEBLI.js} +6 -6
  55. package/dist/{chunk-MG6QD7GE.js.map → chunk-DG7OEBLI.js.map} +1 -1
  56. package/dist/{chunk-4X5WXQV7.js → chunk-DTIR5W6G.js} +3 -3
  57. package/dist/{chunk-4X5WXQV7.js.map → chunk-DTIR5W6G.js.map} +1 -1
  58. package/dist/{chunk-PRB67LCK.js → chunk-E2VPBB7C.js} +11 -11
  59. package/dist/{chunk-PRB67LCK.js.map → chunk-E2VPBB7C.js.map} +1 -1
  60. package/dist/{chunk-NAQXDTF3.js → chunk-EFCRBVHL.js} +3 -3
  61. package/dist/{chunk-NAQXDTF3.js.map → chunk-EFCRBVHL.js.map} +1 -1
  62. package/dist/{chunk-ZII54C3E.js → chunk-F6EPGAES.js} +122 -50
  63. package/dist/chunk-F6EPGAES.js.map +1 -0
  64. package/dist/{chunk-VFEZUSB6.js → chunk-FURORBXE.js} +4 -4
  65. package/dist/{chunk-VFEZUSB6.js.map → chunk-FURORBXE.js.map} +1 -1
  66. package/dist/{chunk-BRAOB37W.js → chunk-GXW4B5SE.js} +51 -17
  67. package/dist/chunk-GXW4B5SE.js.map +1 -0
  68. package/dist/{chunk-SX54OQQT.js → chunk-HTQLI3OI.js} +4 -4
  69. package/dist/{chunk-SX54OQQT.js.map → chunk-HTQLI3OI.js.map} +1 -1
  70. package/dist/{chunk-TYK752MU.js → chunk-HZU5JW2F.js} +3 -3
  71. package/dist/{chunk-TYK752MU.js.map → chunk-HZU5JW2F.js.map} +1 -1
  72. package/dist/{chunk-NJ6UCY2B.js → chunk-I46MAK4H.js} +3 -3
  73. package/dist/{chunk-NJ6UCY2B.js.map → chunk-I46MAK4H.js.map} +1 -1
  74. package/dist/{chunk-PD42JZWI.js → chunk-K7IV5FY4.js} +2 -2
  75. package/dist/{chunk-PD42JZWI.js.map → chunk-K7IV5FY4.js.map} +1 -1
  76. package/dist/{chunk-2SSG5B24.js → chunk-KNOABDPY.js} +4 -4
  77. package/dist/{chunk-2SSG5B24.js.map → chunk-KNOABDPY.js.map} +1 -1
  78. package/dist/{chunk-P6FJDT35.js → chunk-LZ6C4YMX.js} +3 -3
  79. package/dist/{chunk-P6FJDT35.js.map → chunk-LZ6C4YMX.js.map} +1 -1
  80. package/dist/{chunk-TW5AP6IF.js → chunk-MZEZCRSO.js} +5 -5
  81. package/dist/{chunk-TW5AP6IF.js.map → chunk-MZEZCRSO.js.map} +1 -1
  82. package/dist/{chunk-3UYKT62L.js → chunk-N2XZSIJW.js} +244 -19
  83. package/dist/chunk-N2XZSIJW.js.map +1 -0
  84. package/dist/{chunk-65SOXO7I.js → chunk-NZAUPFIM.js} +11 -11
  85. package/dist/{chunk-65SOXO7I.js.map → chunk-NZAUPFIM.js.map} +1 -1
  86. package/dist/{chunk-OD4N5O7V.js → chunk-OLGQHP4R.js} +3 -3
  87. package/dist/{chunk-OD4N5O7V.js.map → chunk-OLGQHP4R.js.map} +1 -1
  88. package/dist/{chunk-RPRMD7XV.js → chunk-OMV4ROIO.js} +4 -4
  89. package/dist/{chunk-RPRMD7XV.js.map → chunk-OMV4ROIO.js.map} +1 -1
  90. package/dist/{chunk-H3PY5DFL.js → chunk-PC54LSZP.js} +3 -3
  91. package/dist/{chunk-H3PY5DFL.js.map → chunk-PC54LSZP.js.map} +1 -1
  92. package/dist/{chunk-U2WPJHRA.js → chunk-QZS7E3DY.js} +4 -4
  93. package/dist/{chunk-U2WPJHRA.js.map → chunk-QZS7E3DY.js.map} +1 -1
  94. package/dist/{chunk-S3UOZBGE.js → chunk-SOAQP4BI.js} +3 -3
  95. package/dist/{chunk-S3UOZBGE.js.map → chunk-SOAQP4BI.js.map} +1 -1
  96. package/dist/{chunk-FPG36VC4.js → chunk-UIAGUME5.js} +6 -6
  97. package/dist/{chunk-FPG36VC4.js.map → chunk-UIAGUME5.js.map} +1 -1
  98. package/dist/{chunk-NNJQQYHY.js → chunk-URN4G32O.js} +2 -2
  99. package/dist/{chunk-NNJQQYHY.js.map → chunk-URN4G32O.js.map} +1 -1
  100. package/dist/{chunk-CU5WY6HN.js → chunk-VAO3XYN3.js} +3 -3
  101. package/dist/{chunk-CU5WY6HN.js.map → chunk-VAO3XYN3.js.map} +1 -1
  102. package/dist/{chunk-QUIK7L3Z.js → chunk-WNT54WWX.js} +9 -9
  103. package/dist/{chunk-QUIK7L3Z.js.map → chunk-WNT54WWX.js.map} +1 -1
  104. package/dist/{chunk-T65N4CIZ.js → chunk-XHWBSC53.js} +4 -4
  105. package/dist/{chunk-T65N4CIZ.js.map → chunk-XHWBSC53.js.map} +1 -1
  106. package/dist/{chunk-KDRA6FYE.js → chunk-YKN5S7PO.js} +9 -9
  107. package/dist/{chunk-KDRA6FYE.js.map → chunk-YKN5S7PO.js.map} +1 -1
  108. package/dist/{chunk-TVRL3IPZ.js → chunk-ZEUBZV7L.js} +3 -3
  109. package/dist/{chunk-TVRL3IPZ.js.map → chunk-ZEUBZV7L.js.map} +1 -1
  110. package/dist/{chunk-U7P22GEB.js → chunk-ZHI3YMGQ.js} +4 -4
  111. package/dist/{chunk-U7P22GEB.js.map → chunk-ZHI3YMGQ.js.map} +1 -1
  112. package/dist/{chunk-6M44OQKH.js → chunk-ZKLXJV37.js} +9 -9
  113. package/dist/{chunk-6M44OQKH.js.map → chunk-ZKLXJV37.js.map} +1 -1
  114. package/dist/{claude-code-VL6UM7BZ.js → claude-code-K3QSXJ35.js} +4 -4
  115. package/dist/{claude-code-VL6UM7BZ.js.map → claude-code-K3QSXJ35.js.map} +1 -1
  116. package/dist/cli/index.js +115 -90
  117. package/dist/cli/index.js.map +1 -1
  118. package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
  119. package/dist/cli/src/commands/serve-preflight.d.ts +38 -0
  120. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  121. package/dist/cli/src/commands/serve.d.ts +7 -6
  122. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  123. package/dist/connectors/config.js +2 -2
  124. package/dist/connectors/index.js +16 -16
  125. package/dist/{connectors-7EPJRVLJ.js → connectors-SBV254SC.js} +19 -19
  126. package/dist/{connectors-7EPJRVLJ.js.map → connectors-SBV254SC.js.map} +1 -1
  127. package/dist/core/index.js +3 -3
  128. package/dist/core/runtime-assets.js +2 -2
  129. package/dist/core/src/model-endpoint-config.d.ts +12 -0
  130. package/dist/core/src/model-endpoint-config.d.ts.map +1 -0
  131. package/dist/core/src/workspace-config.d.ts +6 -0
  132. package/dist/core/src/workspace-config.d.ts.map +1 -1
  133. package/dist/core/workspace-config.js +1 -1
  134. package/dist/deploy/index.js +4 -4
  135. package/dist/{ensure-sources-CI3JQJST.js → ensure-sources-URRZB56T.js} +22 -22
  136. package/dist/{ensure-sources-CI3JQJST.js.map → ensure-sources-URRZB56T.js.map} +1 -1
  137. package/dist/factory-assets/connectors/box.js +16 -16
  138. package/dist/factory-assets/connectors/deploy.js +16 -16
  139. package/dist/factory-assets/connectors/devserver.js +16 -16
  140. package/dist/factory-assets/connectors/flow/adapter.js +16 -16
  141. package/dist/factory-assets/connectors/flow/contract/schema.d.ts +2 -2
  142. package/dist/factory-assets/connectors/flow/engine.js +4 -4
  143. package/dist/factory-assets/connectors/flow/run-flow.js +17 -17
  144. package/dist/factory-assets/connectors/flow.js +16 -16
  145. package/dist/factory-assets/connectors/git.js +16 -16
  146. package/dist/factory-assets/connectors/gmail.js +16 -16
  147. package/dist/factory-assets/connectors/googledrive.js +16 -16
  148. package/dist/factory-assets/connectors/local.js +16 -16
  149. package/dist/factory-assets/connectors/mattermost.js +16 -16
  150. package/dist/factory-assets/connectors/memory.js +16 -16
  151. package/dist/factory-assets/connectors/minio.js +16 -16
  152. package/dist/factory-assets/connectors/postgres.js +16 -16
  153. package/dist/factory-assets/connectors/s3.js +16 -16
  154. package/dist/factory-assets/connectors/sharepoint.js +16 -16
  155. package/dist/factory-assets/connectors/sqlite.js +16 -16
  156. package/dist/factory-assets/connectors/static-server.js +16 -16
  157. package/dist/factory-assets/connectors/tunnel.js +16 -16
  158. package/dist/factory-assets/connectors/webdav.js +16 -16
  159. package/dist/factory-assets/connectors/xstate-store.js +16 -16
  160. package/dist/factory-assets/connectors/xstate.js +16 -16
  161. package/dist/{flows-6XQAYQS4.js → flows-YGBWX46B.js} +6 -6
  162. package/dist/{flows-6XQAYQS4.js.map → flows-YGBWX46B.js.map} +1 -1
  163. package/dist/{helpers-26MR5QPO.js → helpers-5FFJORMD.js} +22 -22
  164. package/dist/{helpers-26MR5QPO.js.map → helpers-5FFJORMD.js.map} +1 -1
  165. package/dist/library/index.js +4 -4
  166. package/dist/{library-publish-F3AKF66O.js → library-publish-AW4525ZC.js} +39 -39
  167. package/dist/{library-publish-F3AKF66O.js.map → library-publish-AW4525ZC.js.map} +1 -1
  168. package/dist/model-endpoint/index.js +7 -7
  169. package/dist/model-endpoint/src/server.d.ts.map +1 -1
  170. package/dist/model-endpoint/src/transform.d.ts +49 -0
  171. package/dist/model-endpoint/src/transform.d.ts.map +1 -0
  172. package/dist/model-endpoint/src/types.d.ts +13 -0
  173. package/dist/model-endpoint/src/types.d.ts.map +1 -1
  174. package/dist/{open-library-FVV6GG4I.js → open-library-C254HCNL.js} +25 -25
  175. package/dist/{open-library-FVV6GG4I.js.map → open-library-C254HCNL.js.map} +1 -1
  176. package/dist/{open-registry-VX2BVMS5.js → open-registry-FI6EO2PN.js} +8 -8
  177. package/dist/{open-registry-VX2BVMS5.js.map → open-registry-FI6EO2PN.js.map} +1 -1
  178. package/dist/{paths-PIWSSUUG.js → paths-FYPFJ437.js} +6 -6
  179. package/dist/{paths-PIWSSUUG.js.map → paths-FYPFJ437.js.map} +1 -1
  180. package/dist/plugin-registry/index.js +1 -1
  181. package/dist/plugin-registry/src/context.d.ts +6 -0
  182. package/dist/plugin-registry/src/context.d.ts.map +1 -1
  183. package/dist/plugin-registry/src/index.d.ts +4 -3
  184. package/dist/plugin-registry/src/index.d.ts.map +1 -1
  185. package/dist/plugin-registry/src/internal.d.ts.map +1 -1
  186. package/dist/plugin-registry/src/model-transform.d.ts +15 -0
  187. package/dist/plugin-registry/src/model-transform.d.ts.map +1 -0
  188. package/dist/plugin-registry/src/registry.d.ts +5 -5
  189. package/dist/plugin-registry/src/registry.d.ts.map +1 -1
  190. package/dist/plugin-registry/src/targets.d.ts +17 -2
  191. package/dist/plugin-registry/src/targets.d.ts.map +1 -1
  192. package/dist/{plugin-store-MVTW6G7J.js → plugin-store-ITA3IADY.js} +7 -7
  193. package/dist/{plugin-store-MVTW6G7J.js.map → plugin-store-ITA3IADY.js.map} +1 -1
  194. package/dist/{project-GFQP4TW6.js → project-7XU7YX3Q.js} +35 -35
  195. package/dist/{project-GFQP4TW6.js.map → project-7XU7YX3Q.js.map} +1 -1
  196. package/dist/resolver/index.js +3 -3
  197. package/dist/runner/composition-content.js +5 -5
  198. package/dist/runner/index.js +26 -26
  199. package/dist/runner/src/external-mcp.d.ts +32 -7
  200. package/dist/runner/src/external-mcp.d.ts.map +1 -1
  201. package/dist/runner/src/model-endpoint-discovery.d.ts +18 -0
  202. package/dist/runner/src/model-endpoint-discovery.d.ts.map +1 -1
  203. package/dist/runner/src/serve.d.ts.map +1 -1
  204. package/dist/sdk/asset-manager.js +8 -8
  205. package/dist/sdk/bridge.js +13 -13
  206. package/dist/sdk/core.js +3 -3
  207. package/dist/sdk/flow.js +4 -4
  208. package/dist/sdk/index.js +26 -26
  209. package/dist/sdk/resolver.js +3 -3
  210. package/dist/sdk/runner.js +26 -26
  211. package/dist/sdk/transport/ws/server.js +4 -4
  212. package/dist/sdk/transport/ws.js +4 -4
  213. package/dist/sdk/transport.js +4 -4
  214. package/dist/{serve-preflight-XJS5OZML.js → serve-preflight-A43HQQXD.js} +81 -25
  215. package/dist/serve-preflight-A43HQQXD.js.map +1 -0
  216. package/dist/{setup-BFEBJLYF.js → setup-WD7XTLDA.js} +23 -23
  217. package/dist/{setup-BFEBJLYF.js.map → setup-WD7XTLDA.js.map} +1 -1
  218. package/dist/{skills-OCG7B5CL.js → skills-XH6OG32W.js} +5 -5
  219. package/dist/{skills-OCG7B5CL.js.map → skills-XH6OG32W.js.map} +1 -1
  220. package/dist/{source-P6JPZYWP.js → source-25TTNBDK.js} +37 -37
  221. package/dist/{source-P6JPZYWP.js.map → source-25TTNBDK.js.map} +1 -1
  222. package/dist/{source-manifest-publish-XBFHEURV.js → source-manifest-publish-QJTPZQBN.js} +39 -39
  223. package/dist/{source-manifest-publish-XBFHEURV.js.map → source-manifest-publish-QJTPZQBN.js.map} +1 -1
  224. package/dist/transport/index.js +4 -4
  225. package/dist/transport/ws/server.js +4 -4
  226. package/dist/transport/ws.js +4 -4
  227. package/dist/tui/index.js +26 -26
  228. package/dist/workspace-plugin/adapters/mcp.js +19 -19
  229. package/dist/workspace-plugin/adapters/omp.js +14 -14
  230. package/dist/workspace-plugin/index.js +1 -1
  231. package/package.json +1 -1
  232. package/dist/chunk-3UYKT62L.js.map +0 -1
  233. package/dist/chunk-BRAOB37W.js.map +0 -1
  234. package/dist/chunk-G5SUWZEU.js.map +0 -1
  235. package/dist/chunk-ZII54C3E.js.map +0 -1
  236. package/dist/serve-preflight-XJS5OZML.js.map +0 -1
@@ -1,32 +1,33 @@
1
- import { WorkspacePlugin } from './chunk-NNJQQYHY.js';
2
- import { buildWorkspaceToolDefs } from './chunk-Z23I2JA6.js';
1
+ import { WorkspacePlugin } from './chunk-URN4G32O.js';
2
+ import { buildWorkspaceToolDefs } from './chunk-4CVRFWEY.js';
3
3
  import { findAiAssetsRoot } from './chunk-3A7JUOY2.js';
4
- import { startModelEndpoint, ModelEndpointError } from './chunk-3UYKT62L.js';
5
- import { WebSocketServerTransport } from './chunk-CU5WY6HN.js';
4
+ import { startModelEndpoint, ModelEndpointError } from './chunk-N2XZSIJW.js';
5
+ import { WebSocketServerTransport } from './chunk-VAO3XYN3.js';
6
6
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
7
- import { resolveFlowPath } from './chunk-6KV34G6A.js';
7
+ import { resolveFlowPath } from './chunk-AVB7NLO6.js';
8
8
  import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-SFBLZOV5.js';
9
- import { ConnectFailureCarryOver, registerBuiltinConnectors, listConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, fleetMountConnectingMessage, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, TRUSTED_GIT_CA_ENV, writeUserGitconfigInclude, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-QUIK7L3Z.js';
10
- import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-H3PY5DFL.js';
11
- import { EventNormalizer } from './chunk-PRB67LCK.js';
12
- import { sessionSurfaceNotice, approvalCardOf, APPROVE_ONCE, DENY, probeResumeTranscript, transcriptStoreForRuntime } from './chunk-OD4N5O7V.js';
13
- import { codexLoginFallbackNotice, prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-72DYHOO2.js';
9
+ import { ConnectFailureCarryOver, registerBuiltinConnectors, listConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, fleetMountConnectingMessage, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, TRUSTED_GIT_CA_ENV, writeUserGitconfigInclude, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-WNT54WWX.js';
10
+ import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-PC54LSZP.js';
11
+ import { EventNormalizer } from './chunk-E2VPBB7C.js';
12
+ import { sessionSurfaceNotice, approvalCardOf, APPROVE_ONCE, DENY, probeResumeTranscript, transcriptStoreForRuntime } from './chunk-OLGQHP4R.js';
13
+ import { codexLoginFallbackNotice, prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-6CTRJADR.js';
14
14
  import { CodexNativeStateUnavailable } from './chunk-5KSGZP3E.js';
15
15
  import { dispatchCapability } from './chunk-HXST2IYJ.js';
16
16
  import { classifyClaudeSdkError } from './chunk-5DE3DGVR.js';
17
17
  import { agentExecRequested } from './chunk-7DN6JKP2.js';
18
- import { toAgentEffort, toMergedRegistry } from './chunk-NAQXDTF3.js';
19
- import { unresolvedProviderCredentials, harnessCapabilities, createHarness, providerCredentialEnvName, registryCredentialEnv, supportsLiveToolUpdates } from './chunk-S3UOZBGE.js';
18
+ import { toAgentEffort, toMergedRegistry } from './chunk-EFCRBVHL.js';
19
+ import { unresolvedProviderCredentials, harnessCapabilities, createHarness, providerCredentialEnvName, registryCredentialEnv, supportsLiveToolUpdates } from './chunk-SOAQP4BI.js';
20
+ import { pluginRegistry } from './chunk-3ZY6W7CL.js';
20
21
  import { catalogLayer, AI_PROVIDER_PRESETS } from './chunk-6UP2EDFN.js';
21
- import { loadFlow } from './chunk-2ZDZJ7XQ.js';
22
+ import { loadFlow } from './chunk-3O3HWR23.js';
22
23
  import { renderStimulusPrompt } from './chunk-WD3L5QSU.js';
23
24
  import { TURN_VISIBILITY_EVENT_TYPES, withActivityLabelJsonSchema, TOOL_ACTIVITY_PROMPT_SECTION, TERMINAL_AGENT_RUN_STATUSES, SESSION_ROOT_CONNECTOR_ID, PLATFORM_BLOCKS_RUNTIME_FEATURE, TURN_VISIBILITY_RUNTIME_FEATURE, TURN_IDS_RUNTIME_FEATURE, PROTOCOL_VERSION, TURN_IDS_MAX_COUNT, TURN_ID_MAX_LENGTH, deliveryClassOf } from './chunk-JPV4WE5L.js';
24
25
  import { parseFlowDefinition } from './chunk-JRN5QF4C.js';
25
- import { CompileManifestEntrySchema, resolveBinding, CompositionError, isEmptyKnowledgeIndex, hashContent, loadCompileManifestFromDir, createCompositionContentSource, assembleRunnerAgent, readNativeAgentFile, nativeAgentFilePath, COMPILE_MANIFEST_FILENAME } from './chunk-4ZNKEDYH.js';
26
- import { resolveSettings, loadProviderRegistry, modelForHarness, AGENT_PROMPT_CARRIER_LABELS, AGENT_PROMPT_CARRIERS, resolveLibraryDir } from './chunk-U7P22GEB.js';
27
- import { resolveRuntimeAssets } from './chunk-ETGC2MEM.js';
26
+ import { CompileManifestEntrySchema, resolveBinding, CompositionError, isEmptyKnowledgeIndex, hashContent, loadCompileManifestFromDir, createCompositionContentSource, assembleRunnerAgent, readNativeAgentFile, nativeAgentFilePath, COMPILE_MANIFEST_FILENAME } from './chunk-AS4SKSXJ.js';
27
+ import { resolveSettings, loadProviderRegistry, modelForHarness, AGENT_PROMPT_CARRIER_LABELS, AGENT_PROMPT_CARRIERS, resolveLibraryDir } from './chunk-ZHI3YMGQ.js';
28
+ import { resolveRuntimeAssets } from './chunk-52HUF3DF.js';
28
29
  import { DEFAULT_HARNESS_ID, resolveHarnessPaths } from './chunk-C5HFK34M.js';
29
- import { DEFAULT_AGENT_INSTANCE_ID, effectiveAgentInstances, resolveAgentDefinitionDir, AgentRefResolutionError, resolveSkWorkspaceConfig, resolveAgentDir, agentSourceCacheDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill, STAGED_SKILL_MARKER } from './chunk-BRAOB37W.js';
30
+ import { DEFAULT_AGENT_INSTANCE_ID, effectiveAgentInstances, resolveAgentDefinitionDir, AgentRefResolutionError, resolveSkWorkspaceConfig, resolveAgentDir, agentSourceCacheDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill, STAGED_SKILL_MARKER } from './chunk-GXW4B5SE.js';
30
31
  import { globalSkaileDir, globalCacheRoot } from './chunk-L5VSIPQD.js';
31
32
  import { harnessNameForHarnessId, SUPPORTED_HARNESSES, HARNESS_TARGETS } from './chunk-VTETQCR6.js';
32
33
  import { withFsDeadline, FsDeadlineError, fsDeadlineMs, parseFrontmatter, tryWithFsDeadline } from './chunk-2MTRRK37.js';
@@ -3498,6 +3499,8 @@ function warnUnresolvedRecipeMarkers(recipeLog, declId, resolvedCommand, resolve
3498
3499
  var PASSTHROUGH_INPUT_ZOD = {
3499
3500
  parse: (v) => v
3500
3501
  };
3502
+ var MCP_TOOL_CALL_TIMEOUT_MS = 15 * 6e4;
3503
+ var MCP_TOOL_CALL_MAX_TOTAL_MS = 2 * 60 * 6e4;
3501
3504
  function isMcpAuthError(err) {
3502
3505
  if (!err || typeof err !== "object") return false;
3503
3506
  const code = err.code ?? err.status;
@@ -3650,7 +3653,8 @@ var ExternalMcpManager = class {
3650
3653
  const snapshot = lazy ? await readMcpToolsSnapshot(decl) : void 0;
3651
3654
  if (snapshot) return this.registerFromSnapshot(decl, snapshot);
3652
3655
  const client = await this.connectWithReauth(decl);
3653
- const server = { id: decl.id, decl, client, tools: [], toolNames: [] };
3656
+ const server = { id: decl.id, decl, tools: [], toolNames: [] };
3657
+ this.adoptClient(server, client);
3654
3658
  const toolNames = [];
3655
3659
  try {
3656
3660
  const { tools } = await client.listTools();
@@ -3663,6 +3667,7 @@ var ExternalMcpManager = class {
3663
3667
  if (lazy) await writeMcpToolsSnapshot(decl, tools);
3664
3668
  } catch (err) {
3665
3669
  for (const name of toolNames) this.registry.deregister(name);
3670
+ server.removed = true;
3666
3671
  try {
3667
3672
  await client.close();
3668
3673
  } catch {
@@ -3704,25 +3709,27 @@ var ExternalMcpManager = class {
3704
3709
  return { id: decl.id, toolNames: [...server.toolNames] };
3705
3710
  }
3706
3711
  /**
3707
- * The server's live client, starting a lazy server on first use. Concurrent
3708
- * first calls share one connect; a failed connect is not cached, so the next
3709
- * call tries again.
3712
+ * The server's live client, starting it on first use (a lazy server) or after
3713
+ * its connection closed. Concurrent calls share one connect; a failed connect
3714
+ * is not cached, so the next call tries again.
3710
3715
  */
3711
3716
  ensureClient(server) {
3712
3717
  if (server.client) return Promise.resolve(server.client);
3713
3718
  if (server.removed) return Promise.reject(new Error(`MCP server '${server.id}' was removed`));
3714
- server.connectInFlight ??= this.startLazyServer(server).finally(() => {
3719
+ server.connectInFlight ??= this.startServer(server).finally(() => {
3715
3720
  server.connectInFlight = void 0;
3716
3721
  });
3717
3722
  return server.connectInFlight;
3718
3723
  }
3719
- async startLazyServer(server) {
3724
+ async startServer(server) {
3725
+ const restart = server.closedAt !== void 0;
3726
+ const what = restart ? "restart" : "lazy start";
3720
3727
  let client;
3721
3728
  let tools;
3722
3729
  try {
3723
3730
  client = await this.connectWithReauth(server.decl);
3724
3731
  } catch (err) {
3725
- this.log.error("MCP server lazy start failed", err, { id: server.id });
3732
+ this.log.error(`MCP server ${what} failed`, err, { id: server.id });
3726
3733
  throw new Error(`MCP server '${server.id}' failed to start: ${errMessage(err)}`);
3727
3734
  }
3728
3735
  try {
@@ -3730,28 +3737,54 @@ var ExternalMcpManager = class {
3730
3737
  } catch (err) {
3731
3738
  await client.close().catch(() => {
3732
3739
  });
3733
- this.log.error("MCP server lazy start failed", err, { id: server.id });
3740
+ this.log.error(`MCP server ${what} failed`, err, { id: server.id });
3734
3741
  throw new Error(`MCP server '${server.id}' failed to start: ${errMessage(err)}`);
3735
3742
  }
3736
- server.client = client;
3743
+ const downMs = restart ? Date.now() - server.closedAt : void 0;
3744
+ this.adoptClient(server, client);
3737
3745
  if (server.removed) throw new Error(`MCP server '${server.id}' was removed`);
3738
3746
  if (!sameToolList(server.tools, tools)) this.reregisterTools(server, tools);
3739
- this.log.info("MCP server registered (runner-managed)", {
3740
- id: server.id,
3741
- transport: "stdio",
3742
- toolCount: server.toolNames.length,
3743
- tools: server.toolNames,
3744
- lazy: true,
3745
- started: true
3746
- });
3747
+ this.log.info(
3748
+ restart ? "MCP server restarted (runner-managed)" : "MCP server registered (runner-managed)",
3749
+ {
3750
+ id: server.id,
3751
+ transport: server.decl.transport ?? "stdio",
3752
+ toolCount: server.toolNames.length,
3753
+ tools: server.toolNames,
3754
+ ...restart ? { downMs } : { lazy: true, started: true }
3755
+ }
3756
+ );
3747
3757
  return client;
3748
3758
  }
3759
+ /**
3760
+ * Make `client` the server's live client and watch it: when its transport
3761
+ * closes on its own (the stdio process exited), drop it so the next tool call
3762
+ * starts the server again instead of failing with `Not connected` for the
3763
+ * rest of the session. The client it replaces (401 reconnect, or a restart
3764
+ * racing one) is closed, and its close is ignored.
3765
+ */
3766
+ adoptClient(server, client) {
3767
+ const previous = server.client;
3768
+ server.client = client;
3769
+ server.closedAt = void 0;
3770
+ if (previous && previous !== client) void previous.close().catch(() => {
3771
+ });
3772
+ client.onclose = () => {
3773
+ if (server.client !== client || server.removed) return;
3774
+ server.client = void 0;
3775
+ server.closedAt = Date.now();
3776
+ this.log.warn("MCP server connection closed; the next tool call restarts it", {
3777
+ id: server.id,
3778
+ transport: server.decl.transport ?? "stdio"
3779
+ });
3780
+ };
3781
+ }
3749
3782
  /**
3750
3783
  * The snapshot disagreed with what the started server advertises: replace the
3751
3784
  * registered capabilities with the live list and rewrite the snapshot.
3752
3785
  */
3753
3786
  reregisterTools(server, tools) {
3754
- this.log.warn("MCP tools snapshot is stale; re-registering from the live server", {
3787
+ this.log.warn("MCP tool list changed; re-registering from the live server", {
3755
3788
  id: server.id,
3756
3789
  snapshotCount: server.tools.length,
3757
3790
  liveCount: tools.length
@@ -3764,7 +3797,7 @@ var ExternalMcpManager = class {
3764
3797
  this.registry.register(cap, "agent");
3765
3798
  server.toolNames.push(cap.name);
3766
3799
  }
3767
- void writeMcpToolsSnapshot(server.decl, tools);
3800
+ if (isLazyDeclaration(server.decl)) void writeMcpToolsSnapshot(server.decl, tools);
3768
3801
  }
3769
3802
  /**
3770
3803
  * Deregister a running MCP server's tools and close its client.
@@ -3848,12 +3881,7 @@ var ExternalMcpManager = class {
3848
3881
  this.log.warn("MCP reconnect after 401 failed", { id: server.id, error: errMessage(err) });
3849
3882
  return false;
3850
3883
  }
3851
- const old = server.client;
3852
- server.client = next;
3853
- try {
3854
- await old?.close();
3855
- } catch {
3856
- }
3884
+ this.adoptClient(server, next);
3857
3885
  this.log.info("MCP server reconnected after 401 re-mint", { id: server.id });
3858
3886
  return true;
3859
3887
  }
@@ -3884,7 +3912,14 @@ var ExternalMcpManager = class {
3884
3912
  const call = { name: tool.name, arguments: input ?? {} };
3885
3913
  const invoke = async () => {
3886
3914
  const client = await untilAborted(this.ensureClient(server), ctx.signal);
3887
- return ctx.signal ? client.callTool(call, void 0, { signal: ctx.signal }) : client.callTool(call);
3915
+ return client.callTool(call, void 0, {
3916
+ ...ctx.signal ? { signal: ctx.signal } : {},
3917
+ timeout: MCP_TOOL_CALL_TIMEOUT_MS,
3918
+ resetTimeoutOnProgress: true,
3919
+ maxTotalTimeout: MCP_TOOL_CALL_MAX_TOTAL_MS,
3920
+ onprogress: () => {
3921
+ }
3922
+ });
3888
3923
  };
3889
3924
  let result;
3890
3925
  try {
@@ -4452,7 +4487,8 @@ function modelEndpointLayer({ url }) {
4452
4487
  base_url: url,
4453
4488
  credential: { kind: "bearer", ref: `env:${MODEL_ENDPOINT_TOKEN_ENV}` },
4454
4489
  label: "Skaile model endpoint",
4455
- enabled: true
4490
+ enabled: true,
4491
+ discovery: { type: "openai-models-list" }
4456
4492
  }
4457
4493
  }
4458
4494
  };
@@ -4491,6 +4527,12 @@ async function startRunnerModelEndpoint(options) {
4491
4527
  token,
4492
4528
  host,
4493
4529
  port: options.config.port ?? 0,
4530
+ transforms: buildModelTransforms(
4531
+ options.config.transforms,
4532
+ { projectDir: options.projectDir },
4533
+ pluginRegistry
4534
+ ),
4535
+ enabledTransforms: Object.keys(options.config.transforms ?? {}),
4494
4536
  projectDir: options.projectDir,
4495
4537
  log: options.log
4496
4538
  });
@@ -4518,6 +4560,39 @@ async function startRunnerModelEndpoint(options) {
4518
4560
  }
4519
4561
  };
4520
4562
  }
4563
+ function mergeModelEndpointConfig(fromYaml, fromFlag) {
4564
+ const { transforms: _replaced, ...scalars } = { ...fromYaml, ...fromFlag };
4565
+ const transforms = { ...fromFlag?.transforms, ...fromYaml?.transforms };
4566
+ return Object.keys(transforms).length > 0 ? { ...scalars, transforms } : scalars;
4567
+ }
4568
+ function buildModelTransforms(configured, ctx, registry) {
4569
+ const factories = {};
4570
+ for (const { id } of registry.list("modelTransform")) {
4571
+ const target = registry.get("modelTransform", id);
4572
+ if (!target) continue;
4573
+ const config = configured?.[id];
4574
+ factories[id] = config ? () => target.create(target.configSchema.parse(config), ctx) : () => Promise.reject(
4575
+ new ModelEndpointError(
4576
+ 404,
4577
+ `model transform '${id}' is installed but not enabled: add model_endpoint.transforms.${id} to skaile.yaml or pass --model-endpoint-transform ${id}`,
4578
+ "model_not_found",
4579
+ "not_found_error"
4580
+ )
4581
+ );
4582
+ }
4583
+ for (const id of Object.keys(configured ?? {})) {
4584
+ if (id in factories) continue;
4585
+ factories[id] = () => Promise.reject(
4586
+ new ModelEndpointError(
4587
+ 500,
4588
+ `model transform '${id}' is enabled in model_endpoint.transforms but no installed plugin registers it (skaile plugin install @skaile/transform-${id})`,
4589
+ "transform_not_installed",
4590
+ "server_error"
4591
+ )
4592
+ );
4593
+ }
4594
+ return factories;
4595
+ }
4521
4596
  function isLoopbackHost(host) {
4522
4597
  const bare = host.replace(/^\[|\]$/g, "").toLowerCase();
4523
4598
  return bare === "localhost" || bare === "::1" || /^127(\.\d{1,3}){3}$/.test(bare);
@@ -14010,10 +14085,7 @@ async function startAgentServer(opts) {
14010
14085
  bakedMcpServerIds = new Set([...bakedMcpServerIds].filter((baked) => baked !== id));
14011
14086
  }
14012
14087
  };
14013
- const modelEndpointConfig = {
14014
- ...wsConfig.model_endpoint,
14015
- ...opts.modelEndpoint
14016
- };
14088
+ const modelEndpointConfig = mergeModelEndpointConfig(wsConfig.model_endpoint, opts.modelEndpoint);
14017
14089
  if (!managedHost && modelEndpointConfig.enabled === true) {
14018
14090
  const bootRegistry = loadProviderRegistry({ projectDir: opts.projectDir }).registry;
14019
14091
  modelEndpoint = await startRunnerModelEndpoint({
@@ -16394,5 +16466,5 @@ function touchSession(state) {
16394
16466
  }
16395
16467
 
16396
16468
  export { AgentRunError, CLAUDE_CODE_CREDENTIALS_KEY, CONNECTOR_MUTATE_NOT_READY, CapabilityRegistry, 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, WRITE_RANGE_PARTIAL_TTL_MS, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildCompositionRunSnapshot, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildStoreSnapshotReplay, builtinCapabilities, canonicalJson, capabilityLogInstance, capabilitySignatureInputs, clearPreInitRingSink, clearSession, compositionRunSnapshotPath, computeCapabilitySignature, computeDirectoryTotals, computeRevisionHash, connectorRefreshKind, createAgentSession, createFinalTextFallback, createFlowConnectorReadiness, createInMemoryRunStore, createManagedCodexSubpromptHarness, createRunController, createSessionStimulusBus, defineCapability, deleteSession, describeComposition, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsHarnessRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, harnessActiveAfterTurnEnd, hasNonTerminalFlow, hashAgentFiles, hostOpResumeStimulus, installPreInitRingSink, instanceForSession, instanceSessionOverrides, isSessionRootPathAllowed, listSessions, loadAgentManifest, loadCompositionRunSnapshot, loadManagedCodexHostConfig, loadSession, loadSessionById, logConnectorReport, manifestModelForHarness, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickChatFlowTarget, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, reconnectedRunNeedsAgentTurn, recreateKeepingLiveFlows, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, rejectPendingCapabilityCallsOnDisconnect, resetRunnerLogStore, resolveAgentInstance, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveInstanceAgentDir, resolveSessionId, restoredRunHasWorkToResume, runAgentChat, saveCompositionRunSnapshot, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, takeRunnerWsAuthToken, toActiveFlowTarget, touchSession, unresolvedCredentialNotices, validateInputResponse, verifyConventionItems, writeClaudeCodeCredentialsFile, writeRangeChunk, writeRangePartialPath };
16397
- //# sourceMappingURL=chunk-ZII54C3E.js.map
16398
- //# sourceMappingURL=chunk-ZII54C3E.js.map
16469
+ //# sourceMappingURL=chunk-F6EPGAES.js.map
16470
+ //# sourceMappingURL=chunk-F6EPGAES.js.map