@skaile/workspaces 3.17.0 → 3.18.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 (271) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-FQT6GH24.js → asset-feeds-LT4GI576.js} +7 -7
  4. package/dist/{asset-feeds-FQT6GH24.js.map → asset-feeds-LT4GI576.js.map} +1 -1
  5. package/dist/asset-manager/catalog-deployer.js +3 -3
  6. package/dist/asset-manager/index.js +6 -6
  7. package/dist/asset-manager/installer.js +4 -4
  8. package/dist/bridge/codex-app-server.js +2 -203
  9. package/dist/bridge/codex-app-server.js.map +1 -1
  10. package/dist/bridge/drivers/claude-sdk.js +5 -5
  11. package/dist/bridge/drivers/codex.js +1137 -4
  12. package/dist/bridge/drivers/codex.js.map +1 -1
  13. package/dist/bridge/drivers/continue.js +2 -2
  14. package/dist/bridge/drivers/echo.js +2 -2
  15. package/dist/bridge/drivers/gemini.js +3 -3
  16. package/dist/bridge/drivers/goose.js +2 -2
  17. package/dist/bridge/drivers/omp.js +1 -1
  18. package/dist/bridge/drivers/opencode.js +2 -2
  19. package/dist/bridge/drivers/qwen.js +3 -3
  20. package/dist/bridge/index.js +7 -6
  21. package/dist/bridge/src/capability-dispatch.d.ts +1 -1
  22. package/dist/bridge/src/capability-dispatch.d.ts.map +1 -1
  23. package/dist/bridge/src/codex/credentials.d.ts +12 -0
  24. package/dist/bridge/src/codex/credentials.d.ts.map +1 -0
  25. package/dist/bridge/src/codex/inputs.d.ts +8 -0
  26. package/dist/bridge/src/codex/inputs.d.ts.map +1 -0
  27. package/dist/bridge/src/codex/instance-state.d.ts +16 -0
  28. package/dist/bridge/src/codex/instance-state.d.ts.map +1 -0
  29. package/dist/bridge/src/codex/managed-driver.d.ts +71 -0
  30. package/dist/bridge/src/codex/managed-driver.d.ts.map +1 -0
  31. package/dist/bridge/src/codex/native-approvals.d.ts +22 -0
  32. package/dist/bridge/src/codex/native-approvals.d.ts.map +1 -0
  33. package/dist/bridge/src/codex/native-policy.d.ts +38 -0
  34. package/dist/bridge/src/codex/native-policy.d.ts.map +1 -0
  35. package/dist/bridge/src/codex/native-protocol.generated.d.ts +286 -200
  36. package/dist/bridge/src/codex/native-protocol.generated.d.ts.map +1 -1
  37. package/dist/bridge/src/codex/native-state.d.ts +7 -0
  38. package/dist/bridge/src/codex/native-state.d.ts.map +1 -0
  39. package/dist/bridge/src/codex/questions.d.ts +19 -0
  40. package/dist/bridge/src/codex/questions.d.ts.map +1 -0
  41. package/dist/bridge/src/codex-app-server.d.ts +6 -1
  42. package/dist/bridge/src/codex-app-server.d.ts.map +1 -1
  43. package/dist/bridge/src/drivers/codex.d.ts +9 -1
  44. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  45. package/dist/bridge/src/index.d.ts +1 -0
  46. package/dist/bridge/src/index.d.ts.map +1 -1
  47. package/dist/bridge/src/normalizer.d.ts.map +1 -1
  48. package/dist/bridge/src/runtime.d.ts +3 -2
  49. package/dist/bridge/src/runtime.d.ts.map +1 -1
  50. package/dist/bridge/src/types.d.ts +77 -4
  51. package/dist/bridge/src/types.d.ts.map +1 -1
  52. package/dist/{chunk-BCOGOM6F.js → chunk-23L3P7IB.js} +4 -4
  53. package/dist/{chunk-BCOGOM6F.js.map → chunk-23L3P7IB.js.map} +1 -1
  54. package/dist/{chunk-NC5YXVZF.js → chunk-2FDKUKDE.js} +3 -3
  55. package/dist/{chunk-NC5YXVZF.js.map → chunk-2FDKUKDE.js.map} +1 -1
  56. package/dist/{chunk-2XGFQKNJ.js → chunk-2IROGAS7.js} +2 -2
  57. package/dist/{chunk-2XGFQKNJ.js.map → chunk-2IROGAS7.js.map} +1 -1
  58. package/dist/{chunk-BUKPS4YL.js → chunk-4JDCKPTM.js} +2 -2
  59. package/dist/{chunk-BUKPS4YL.js.map → chunk-4JDCKPTM.js.map} +1 -1
  60. package/dist/{chunk-5KSIVLOX.js → chunk-5T7Y3AZU.js} +3 -3
  61. package/dist/{chunk-5KSIVLOX.js.map → chunk-5T7Y3AZU.js.map} +1 -1
  62. package/dist/{chunk-SWUVULBU.js → chunk-67KB2A77.js} +7 -7
  63. package/dist/{chunk-SWUVULBU.js.map → chunk-67KB2A77.js.map} +1 -1
  64. package/dist/{chunk-RRVQAE5D.js → chunk-7ZO3MUP3.js} +6 -5
  65. package/dist/chunk-7ZO3MUP3.js.map +1 -0
  66. package/dist/{chunk-EO7IJY3Q.js → chunk-AI2PZX4H.js} +3 -3
  67. package/dist/{chunk-EO7IJY3Q.js.map → chunk-AI2PZX4H.js.map} +1 -1
  68. package/dist/{chunk-CMGYUF5P.js → chunk-BJI7IGZF.js} +7 -7
  69. package/dist/{chunk-CMGYUF5P.js.map → chunk-BJI7IGZF.js.map} +1 -1
  70. package/dist/{chunk-HY6CIKFH.js → chunk-CP62G5PK.js} +8 -7
  71. package/dist/chunk-CP62G5PK.js.map +1 -0
  72. package/dist/{chunk-PBRMY64S.js → chunk-CQY7XKRV.js} +30 -9
  73. package/dist/chunk-CQY7XKRV.js.map +1 -0
  74. package/dist/{chunk-OIDFK7SG.js → chunk-DCG4UWJM.js} +3 -3
  75. package/dist/{chunk-OIDFK7SG.js.map → chunk-DCG4UWJM.js.map} +1 -1
  76. package/dist/{chunk-VT4MPCRK.js → chunk-FBD5SOIH.js} +3 -3
  77. package/dist/{chunk-VT4MPCRK.js.map → chunk-FBD5SOIH.js.map} +1 -1
  78. package/dist/{chunk-HEKLK4NG.js → chunk-FYVDBIZV.js} +6 -6
  79. package/dist/{chunk-HEKLK4NG.js.map → chunk-FYVDBIZV.js.map} +1 -1
  80. package/dist/{chunk-RTM4SFLA.js → chunk-GMKNGIIB.js} +7 -4
  81. package/dist/chunk-GMKNGIIB.js.map +1 -0
  82. package/dist/{chunk-NIQPSQFN.js → chunk-GMMACS5W.js} +4 -4
  83. package/dist/{chunk-NIQPSQFN.js.map → chunk-GMMACS5W.js.map} +1 -1
  84. package/dist/{chunk-QFYEDM63.js → chunk-GRA4BWCV.js} +5 -5
  85. package/dist/{chunk-QFYEDM63.js.map → chunk-GRA4BWCV.js.map} +1 -1
  86. package/dist/{chunk-CIPK5JMJ.js → chunk-H662SXKS.js} +4 -4
  87. package/dist/{chunk-CIPK5JMJ.js.map → chunk-H662SXKS.js.map} +1 -1
  88. package/dist/{chunk-NMAICJUA.js → chunk-IST2V7RU.js} +3 -3
  89. package/dist/{chunk-NMAICJUA.js.map → chunk-IST2V7RU.js.map} +1 -1
  90. package/dist/{chunk-PYX4WZLJ.js → chunk-IT42ZT3T.js} +9 -9
  91. package/dist/{chunk-PYX4WZLJ.js.map → chunk-IT42ZT3T.js.map} +1 -1
  92. package/dist/{chunk-FRER2PEN.js → chunk-J7VSUGGH.js} +16 -3
  93. package/dist/chunk-J7VSUGGH.js.map +1 -0
  94. package/dist/{chunk-ZNCZ7RUO.js → chunk-JVFZ5R7L.js} +3 -3
  95. package/dist/{chunk-ZNCZ7RUO.js.map → chunk-JVFZ5R7L.js.map} +1 -1
  96. package/dist/chunk-LOO5CB5M.js +12 -0
  97. package/dist/chunk-LOO5CB5M.js.map +1 -0
  98. package/dist/{chunk-AL6BU3SP.js → chunk-OJ4N4T4H.js} +12 -4
  99. package/dist/chunk-OJ4N4T4H.js.map +1 -0
  100. package/dist/chunk-QEZPFJX3.js +254 -0
  101. package/dist/chunk-QEZPFJX3.js.map +1 -0
  102. package/dist/{chunk-C4AP3XZB.js → chunk-QG2ZXU5W.js} +4 -4
  103. package/dist/{chunk-C4AP3XZB.js.map → chunk-QG2ZXU5W.js.map} +1 -1
  104. package/dist/{chunk-KCI7DAKE.js → chunk-RJOGAEIY.js} +987 -238
  105. package/dist/chunk-RJOGAEIY.js.map +1 -0
  106. package/dist/{chunk-OZ7UNMTK.js → chunk-RPVTPVGX.js} +7 -5
  107. package/dist/chunk-RPVTPVGX.js.map +1 -0
  108. package/dist/{chunk-S4UA244H.js → chunk-S635WMXH.js} +4 -4
  109. package/dist/{chunk-S4UA244H.js.map → chunk-S635WMXH.js.map} +1 -1
  110. package/dist/{chunk-BQMRUH7J.js → chunk-SFCVAEJ5.js} +4 -4
  111. package/dist/{chunk-BQMRUH7J.js.map → chunk-SFCVAEJ5.js.map} +1 -1
  112. package/dist/{chunk-EXT2LNST.js → chunk-SH7GXS7V.js} +125 -37
  113. package/dist/chunk-SH7GXS7V.js.map +1 -0
  114. package/dist/chunk-T3YLZQS4.js +336 -0
  115. package/dist/chunk-T3YLZQS4.js.map +1 -0
  116. package/dist/{chunk-X7FJ3ES3.js → chunk-X3LUB275.js} +4 -4
  117. package/dist/{chunk-X7FJ3ES3.js.map → chunk-X3LUB275.js.map} +1 -1
  118. package/dist/chunk-XKSGEYZC.js +244 -0
  119. package/dist/chunk-XKSGEYZC.js.map +1 -0
  120. package/dist/{chunk-SUPIVTLX.js → chunk-XL45U3C5.js} +3 -3
  121. package/dist/{chunk-SUPIVTLX.js.map → chunk-XL45U3C5.js.map} +1 -1
  122. package/dist/{chunk-AXEOG4B5.js → chunk-YCMHWNZA.js} +3 -3
  123. package/dist/{chunk-AXEOG4B5.js.map → chunk-YCMHWNZA.js.map} +1 -1
  124. package/dist/cli/index.js +75 -53
  125. package/dist/cli/index.js.map +1 -1
  126. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  127. package/dist/client/index.js +1 -1
  128. package/dist/client/src/client.d.ts +3 -2
  129. package/dist/client/src/client.d.ts.map +1 -1
  130. package/dist/connectors/config.js +4 -4
  131. package/dist/connectors/index.js +12 -11
  132. package/dist/connectors/src/connector-prompt.d.ts +11 -0
  133. package/dist/connectors/src/connector-prompt.d.ts.map +1 -1
  134. package/dist/core/index.js +3 -3
  135. package/dist/core/runtime-assets.js +2 -2
  136. package/dist/core/src/workspace-config.d.ts.map +1 -1
  137. package/dist/core/workspace-config.js +1 -1
  138. package/dist/deploy/index.js +3 -3
  139. package/dist/{ensure-sources-4GBXK6UR.js → ensure-sources-4BQ6GMYG.js} +9 -9
  140. package/dist/{ensure-sources-4GBXK6UR.js.map → ensure-sources-4BQ6GMYG.js.map} +1 -1
  141. package/dist/factory-assets/connectors/box.js +12 -11
  142. package/dist/factory-assets/connectors/deploy.js +12 -11
  143. package/dist/factory-assets/connectors/devserver.js +12 -11
  144. package/dist/factory-assets/connectors/flow/CONNECTOR.md +4 -5
  145. package/dist/factory-assets/connectors/flow/adapter.d.ts +8 -0
  146. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
  147. package/dist/factory-assets/connectors/flow/adapter.js +12 -11
  148. package/dist/factory-assets/connectors/flow/contract/index.d.ts +1 -1
  149. package/dist/factory-assets/connectors/flow/contract/index.d.ts.map +1 -1
  150. package/dist/factory-assets/connectors/flow/contract/schema.d.ts +50 -17
  151. package/dist/factory-assets/connectors/flow/contract/schema.d.ts.map +1 -1
  152. package/dist/factory-assets/connectors/flow/contract.js +3 -3
  153. package/dist/factory-assets/connectors/flow/engine/index.d.ts +1 -0
  154. package/dist/factory-assets/connectors/flow/engine/index.d.ts.map +1 -1
  155. package/dist/factory-assets/connectors/flow/engine.js +5 -5
  156. package/dist/factory-assets/connectors/flow/run-flow.js +13 -12
  157. package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts +10 -1
  158. package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts.map +1 -1
  159. package/dist/factory-assets/connectors/flow.js +12 -11
  160. package/dist/factory-assets/connectors/git.js +12 -11
  161. package/dist/factory-assets/connectors/gmail.js +12 -11
  162. package/dist/factory-assets/connectors/googledrive.js +12 -11
  163. package/dist/factory-assets/connectors/local.js +12 -11
  164. package/dist/factory-assets/connectors/mattermost.js +12 -11
  165. package/dist/factory-assets/connectors/memory.js +12 -11
  166. package/dist/factory-assets/connectors/minio.js +12 -11
  167. package/dist/factory-assets/connectors/postgres.js +12 -11
  168. package/dist/factory-assets/connectors/s3.js +12 -11
  169. package/dist/factory-assets/connectors/sharepoint.js +12 -11
  170. package/dist/factory-assets/connectors/sqlite.js +12 -11
  171. package/dist/factory-assets/connectors/static-server.js +12 -11
  172. package/dist/factory-assets/connectors/tunnel.js +12 -11
  173. package/dist/factory-assets/connectors/webdav.js +12 -11
  174. package/dist/factory-assets/connectors/xstate-store.js +12 -11
  175. package/dist/factory-assets/connectors/xstate.js +12 -11
  176. package/dist/{flows-2SUFOVVO.js → flows-COBS26MK.js} +6 -6
  177. package/dist/{flows-2SUFOVVO.js.map → flows-COBS26MK.js.map} +1 -1
  178. package/dist/{helpers-26LW4IXY.js → helpers-4UJMSN6T.js} +9 -9
  179. package/dist/{helpers-26LW4IXY.js.map → helpers-4UJMSN6T.js.map} +1 -1
  180. package/dist/library/index.js +4 -4
  181. package/dist/library/install.js +3 -3
  182. package/dist/{library-publish-IYGHOPEK.js → library-publish-QHQDN4IC.js} +14 -14
  183. package/dist/{library-publish-IYGHOPEK.js.map → library-publish-QHQDN4IC.js.map} +1 -1
  184. package/dist/{open-library-HH5LST7Z.js → open-library-ZDM6DUKJ.js} +12 -12
  185. package/dist/{open-library-HH5LST7Z.js.map → open-library-ZDM6DUKJ.js.map} +1 -1
  186. package/dist/{paths-4APA2PKT.js → paths-CZPCCBYX.js} +6 -6
  187. package/dist/{paths-4APA2PKT.js.map → paths-CZPCCBYX.js.map} +1 -1
  188. package/dist/{plugin-store-JQAIKR3R.js → plugin-store-ZEIBSNTO.js} +5 -5
  189. package/dist/{plugin-store-JQAIKR3R.js.map → plugin-store-ZEIBSNTO.js.map} +1 -1
  190. package/dist/{project-U5QRUCBN.js → project-JJUAAI7N.js} +10 -10
  191. package/dist/{project-U5QRUCBN.js.map → project-JJUAAI7N.js.map} +1 -1
  192. package/dist/resolver/index.js +3 -3
  193. package/dist/runner/index.js +25 -16
  194. package/dist/runner/src/capability-registry.d.ts +4 -0
  195. package/dist/runner/src/capability-registry.d.ts.map +1 -1
  196. package/dist/runner/src/codex-init.d.ts +2 -11
  197. package/dist/runner/src/codex-init.d.ts.map +1 -1
  198. package/dist/runner/src/codex-resource-tools.d.ts +16 -0
  199. package/dist/runner/src/codex-resource-tools.d.ts.map +1 -0
  200. package/dist/runner/src/codex-tools.d.ts +12 -0
  201. package/dist/runner/src/codex-tools.d.ts.map +1 -0
  202. package/dist/runner/src/define-capability.d.ts +2 -0
  203. package/dist/runner/src/define-capability.d.ts.map +1 -1
  204. package/dist/runner/src/external-mcp.d.ts +8 -3
  205. package/dist/runner/src/external-mcp.d.ts.map +1 -1
  206. package/dist/runner/src/index.d.ts +2 -0
  207. package/dist/runner/src/index.d.ts.map +1 -1
  208. package/dist/runner/src/managed-codex-bootstrap.d.ts +54 -0
  209. package/dist/runner/src/managed-codex-bootstrap.d.ts.map +1 -0
  210. package/dist/runner/src/resources.d.ts +1 -0
  211. package/dist/runner/src/resources.d.ts.map +1 -1
  212. package/dist/runner/src/serve.d.ts +5 -0
  213. package/dist/runner/src/serve.d.ts.map +1 -1
  214. package/dist/runner/src/session-builder.d.ts +18 -1
  215. package/dist/runner/src/session-builder.d.ts.map +1 -1
  216. package/dist/sdk/asset-manager.js +6 -6
  217. package/dist/sdk/bridge.js +7 -6
  218. package/dist/sdk/client.js +1 -1
  219. package/dist/sdk/core.js +3 -3
  220. package/dist/sdk/flow.js +5 -5
  221. package/dist/sdk/index.js +26 -17
  222. package/dist/sdk/index.js.map +1 -1
  223. package/dist/sdk/resolver.js +3 -3
  224. package/dist/sdk/runner.js +25 -16
  225. package/dist/sdk/session.js +2 -2
  226. package/dist/sdk/store.js +1 -1
  227. package/dist/sdk/types.js +1 -1
  228. package/dist/session/index.js +2 -2
  229. package/dist/{setup-XKTBHRWM.js → setup-PS6ZERZ5.js} +9 -8
  230. package/dist/setup-PS6ZERZ5.js.map +1 -0
  231. package/dist/{skills-Q7PJVB3W.js → skills-LG6IQSSN.js} +5 -5
  232. package/dist/{skills-Q7PJVB3W.js.map → skills-LG6IQSSN.js.map} +1 -1
  233. package/dist/{source-ODR4IU6R.js → source-QLDIZCI3.js} +13 -13
  234. package/dist/{source-ODR4IU6R.js.map → source-QLDIZCI3.js.map} +1 -1
  235. package/dist/{source-manifest-publish-WCJY3GAM.js → source-manifest-publish-J3AVCTLX.js} +15 -15
  236. package/dist/{source-manifest-publish-WCJY3GAM.js.map → source-manifest-publish-J3AVCTLX.js.map} +1 -1
  237. package/dist/store/index.js +1 -1
  238. package/dist/store/react.js +1 -1
  239. package/dist/store/react.js.map +1 -1
  240. package/dist/store/src/react.d.ts +1 -1
  241. package/dist/store/src/react.d.ts.map +1 -1
  242. package/dist/store/src/store.d.ts +2 -1
  243. package/dist/store/src/store.d.ts.map +1 -1
  244. package/dist/tui/index.js +25 -16
  245. package/dist/tui/index.js.map +1 -1
  246. package/dist/types/index.js +1 -1
  247. package/dist/types/src/events.d.ts +14 -1
  248. package/dist/types/src/events.d.ts.map +1 -1
  249. package/dist/types/src/index.d.ts +2 -2
  250. package/dist/types/src/index.d.ts.map +1 -1
  251. package/dist/types/src/protocol.d.ts +18 -0
  252. package/dist/types/src/protocol.d.ts.map +1 -1
  253. package/dist/types/src/runtime.d.ts +3 -1
  254. package/dist/types/src/runtime.d.ts.map +1 -1
  255. package/dist/types/src/version.d.ts +7 -1
  256. package/dist/types/src/version.d.ts.map +1 -1
  257. package/dist/workspace-plugin/adapters/mcp.js +9 -255
  258. package/dist/workspace-plugin/adapters/mcp.js.map +1 -1
  259. package/dist/workspace-plugin/adapters/omp.js +7 -7
  260. package/dist/workspace-plugin/index.js +1 -1
  261. package/package.json +3 -1
  262. package/dist/chunk-AL6BU3SP.js.map +0 -1
  263. package/dist/chunk-EXT2LNST.js.map +0 -1
  264. package/dist/chunk-FRER2PEN.js.map +0 -1
  265. package/dist/chunk-HY6CIKFH.js.map +0 -1
  266. package/dist/chunk-KCI7DAKE.js.map +0 -1
  267. package/dist/chunk-OZ7UNMTK.js.map +0 -1
  268. package/dist/chunk-PBRMY64S.js.map +0 -1
  269. package/dist/chunk-RRVQAE5D.js.map +0 -1
  270. package/dist/chunk-RTM4SFLA.js.map +0 -1
  271. package/dist/setup-XKTBHRWM.js.map +0 -1
@@ -1,15 +1,15 @@
1
- import { resolveAuthRef } from './chunk-5KSIVLOX.js';
2
- import { EventNormalizer } from './chunk-PBRMY64S.js';
1
+ import { resolveAuthRef } from './chunk-5T7Y3AZU.js';
2
+ import { EventNormalizer } from './chunk-CQY7XKRV.js';
3
3
  import { resolveModelTier } from './chunk-GURXUF2J.js';
4
- import { createDriver } from './chunk-FRER2PEN.js';
4
+ import { createDriver } from './chunk-J7VSUGGH.js';
5
5
  import { pluginRegistry } from './chunk-6E6PKKAD.js';
6
6
  import { computeStimulus } from './chunk-IFGTRL2I.js';
7
- import { resolveNodeBindings, getConsumedOutputSchema, validateConsumedNodeOutput, appendAttempt, resolveTerminalFailureStatus, remainingActiveExecutionMs, interpolateNodeInstruction, deriveCheckEvidence, computeFlowStateFromSnapshots, availableRouterFrontier, evaluateRouterSelection, routerSelectionOutput, planRouterSkips, unsettledRouterBranchIds, countFailedAttempts, hasAutomaticRetryBudget, persistedRouterSelection } from './chunk-BQMRUH7J.js';
8
- import { INPUT_SCHEMA_SHAPES_HINT, coerceInputSchema } from './chunk-AXEOG4B5.js';
9
- import { parseFlowDefinition } from './chunk-HY6CIKFH.js';
7
+ import { resolveNodeBindings, getConsumedOutputSchema, validateConsumedNodeOutput, appendAttempt, resolveTerminalFailureStatus, remainingActiveExecutionMs, interpolateNodeInstruction, deriveCheckEvidence, computeFlowStateFromSnapshots, availableRouterFrontier, evaluateRouterSelection, routerSelectionOutput, planRouterSkips, unsettledRouterBranchIds, countFailedAttempts, hasAutomaticRetryBudget, persistedRouterSelection } from './chunk-SFCVAEJ5.js';
8
+ import { INPUT_SCHEMA_SHAPES_HINT, coerceInputSchema } from './chunk-YCMHWNZA.js';
9
+ import { parseFlowDefinition } from './chunk-CP62G5PK.js';
10
10
  import { describeStimulus, buildOrchestratorPrompt, renderSubpromptPrompt, renderStimulusPrompt } from './chunk-2D5BYAL6.js';
11
11
  import { deterministicNodeKindLabel, flowDefaults, isAgentNode, isGateNode, isCheckNode, nodeRequiresApproval, isSubFlowNode, isFunctionNode, isSubpromptNode, nodeInstruction, isRouterNode, isActiveRuntimeNode, nodeIsOptional, nodeLabel, nodeAssets } from './chunk-ELPR5XBG.js';
12
- import { portableSpawn } from './chunk-CIPK5JMJ.js';
12
+ import { portableSpawn } from './chunk-H662SXKS.js';
13
13
  import { withFsDeadline, tryWithFsDeadline, FsDeadlineError, fsDeadlineMs } from './chunk-MKZOK4JU.js';
14
14
  import { createLogger } from './chunk-W4IPN3DD.js';
15
15
  import { resolve, relative, sep, isAbsolute, join, dirname } from 'path';
@@ -470,6 +470,8 @@ var SessionSubpromptRunner = class {
470
470
  cloud: this.options.cloud,
471
471
  overrides: this.options.modelTierOverrides
472
472
  });
473
+ if (model && this.options.availableModels && !this.options.availableModels.includes(model))
474
+ throw new Error("CODEX_MODEL_UNAVAILABLE");
473
475
  const config = {
474
476
  cwd: this.options.workspaceDir,
475
477
  provider: this.options.provider,
@@ -478,27 +480,76 @@ var SessionSubpromptRunner = class {
478
480
  // multi-turn agentic loop (claude-sdk: 15), which would let a node that
479
481
  // was asked to classify a string go off and work instead.
480
482
  maxTurns: 1,
481
- ...this.options.apiKey ? { apiKeys: { [this.options.provider ?? "anthropic"]: this.options.apiKey } } : {},
483
+ ...this.options.apiKey ? {
484
+ apiKeys: {
485
+ [this.options.provider ?? "anthropic"]: this.options.apiKey
486
+ }
487
+ } : {},
482
488
  ...this.options.cloud && this.options.cloud !== "default" ? { cloud: this.options.cloud } : {},
483
489
  ...this.options.cloudConfig ? { cloudConfig: this.options.cloudConfig } : {},
484
490
  ...this.options.cloudSecrets ? { cloudSecrets: this.options.cloudSecrets } : {}
485
491
  };
486
- const driver = await createDriver(this.options.driverType, config);
492
+ if (request.signal?.aborted) throw new Error("isolated subprompt call cancelled");
493
+ const timeoutMs = this.options.timeoutMs ?? DEFAULT_SUBPROMPT_TIMEOUT_MS;
494
+ let owned;
495
+ let cleanupPromise;
496
+ const cleanup = async (abort) => {
497
+ if (!owned) return;
498
+ cleanupPromise ??= (async () => {
499
+ if (abort) await owned.driver.abort().catch(() => {
500
+ });
501
+ await owned.driver.dispose();
502
+ await owned.dispose?.();
503
+ })();
504
+ await cleanupPromise;
505
+ };
506
+ let rejectStopped;
507
+ let shouldAbort = false;
508
+ const stopped = new Promise((_, reject) => {
509
+ rejectStopped = reject;
510
+ });
511
+ const stop = (error) => {
512
+ shouldAbort = true;
513
+ rejectStopped(error);
514
+ void cleanup(true).catch(() => {
515
+ });
516
+ };
517
+ const cancelled = () => stop(new Error("isolated subprompt call cancelled"));
518
+ const timer = setTimeout(
519
+ () => stop(new Error(`isolated subprompt call exceeded ${timeoutMs}ms`)),
520
+ timeoutMs
521
+ );
522
+ if (request.signal?.aborted) cancelled();
523
+ else request.signal?.addEventListener("abort", cancelled, { once: true });
524
+ const construction = this.options.createIsolatedDriver ? this.options.createIsolatedDriver(model) : createDriver(this.options.driverType, config).then((driver) => ({
525
+ driver
526
+ }));
487
527
  try {
488
- await driver.start();
489
- const text = await runIsolatedPrompt(
490
- driver,
491
- request.prompt,
492
- this.options.timeoutMs ?? DEFAULT_SUBPROMPT_TIMEOUT_MS
493
- );
528
+ owned = await Promise.race([construction, stopped]);
529
+ const starting = owned.driver.start();
530
+ void starting.catch(() => {
531
+ });
532
+ await Promise.race([starting, stopped]);
533
+ const prompting = runIsolatedPrompt(owned.driver, request.prompt);
534
+ void prompting.catch(() => {
535
+ });
536
+ const text = await Promise.race([prompting, stopped]);
494
537
  return { text };
495
538
  } finally {
496
- driver.kill();
539
+ clearTimeout(timer);
540
+ request.signal?.removeEventListener("abort", cancelled);
541
+ if (!owned) {
542
+ void construction.then((late) => {
543
+ owned = late;
544
+ return cleanup(true);
545
+ }).catch(() => {
546
+ });
547
+ } else await cleanup(shouldAbort);
497
548
  }
498
549
  }
499
550
  };
500
551
  var DEFAULT_SUBPROMPT_TIMEOUT_MS = 5 * 6e4;
501
- function runIsolatedPrompt(driver, prompt, timeoutMs) {
552
+ function runIsolatedPrompt(driver, prompt) {
502
553
  return new Promise((resolve6, reject) => {
503
554
  const normalizer = new EventNormalizer();
504
555
  let text = "";
@@ -506,15 +557,10 @@ function runIsolatedPrompt(driver, prompt, timeoutMs) {
506
557
  const done = (err) => {
507
558
  if (settled) return;
508
559
  settled = true;
509
- clearTimeout(timer);
510
560
  driver.off("agent-event", onEvent);
511
561
  if (err) reject(err);
512
562
  else resolve6(text);
513
563
  };
514
- const timer = setTimeout(
515
- () => done(new Error(`isolated subprompt call exceeded ${timeoutMs}ms`)),
516
- timeoutMs
517
- );
518
564
  const onEvent = (event) => {
519
565
  for (const normalized of normalizer.normalize(event)) {
520
566
  if (normalized.type === "text") text += normalized.content;
@@ -6880,7 +6926,6 @@ function readFailedConnectors(manager) {
6880
6926
  }
6881
6927
  }
6882
6928
  async function buildSdkConnectorTools(manager, options) {
6883
- const shellAccess = options?.shellAccess ?? true;
6884
6929
  let sdk = options?.sdk;
6885
6930
  if (!sdk) {
6886
6931
  try {
@@ -6889,6 +6934,13 @@ async function buildSdkConnectorTools(manager, options) {
6889
6934
  return null;
6890
6935
  }
6891
6936
  }
6937
+ return sdk.createSdkMcpServer({
6938
+ name: "skaile-connectors",
6939
+ tools: buildConnectorToolDefs(manager, options)
6940
+ });
6941
+ }
6942
+ function buildConnectorToolDefs(manager, options) {
6943
+ const shellAccess = options?.shellAccess ?? true;
6892
6944
  const z5 = options?.z ?? zStatic;
6893
6945
  const tools = [];
6894
6946
  tools.push({
@@ -7042,7 +7094,7 @@ async function buildSdkConnectorTools(manager, options) {
7042
7094
  inputSchema: {
7043
7095
  connector_id: z5.string().describe("Connector ID"),
7044
7096
  operation: z5.string().describe("Operation name (e.g. 'send_message', 'query')"),
7045
- args: z5.record(z5.unknown()).describe("Named arguments for the operation (without -- prefix)")
7097
+ args: z5.record(z5.string(), z5.unknown()).describe("Named arguments for the operation (without -- prefix)")
7046
7098
  },
7047
7099
  handler: async ({
7048
7100
  connector_id,
@@ -7061,7 +7113,7 @@ async function buildSdkConnectorTools(manager, options) {
7061
7113
  }
7062
7114
  });
7063
7115
  }
7064
- return sdk.createSdkMcpServer({ name: "skaile-connectors", tools });
7116
+ return tools;
7065
7117
  }
7066
7118
  var FLOW_AGENT_OPS = /* @__PURE__ */ new Set([
7067
7119
  "get_available",
@@ -7085,15 +7137,19 @@ async function buildSdkFlowTools(manager, connectorId, options) {
7085
7137
  return null;
7086
7138
  }
7087
7139
  }
7140
+ const tools = buildFlowToolDefs(manager, connectorId, options);
7141
+ return tools.length ? sdk.createSdkMcpServer({ name: "skaile-flow", tools }) : null;
7142
+ }
7143
+ function buildFlowToolDefs(manager, connectorId, options) {
7088
7144
  const z5 = options?.z ?? zStatic;
7089
7145
  let ops;
7090
7146
  try {
7091
7147
  ops = manager.getOperations(connectorId);
7092
7148
  } catch {
7093
- return null;
7149
+ return [];
7094
7150
  }
7095
7151
  const agentOps = ops.filter((op) => FLOW_AGENT_OPS.has(op.name));
7096
- if (agentOps.length === 0) return null;
7152
+ if (agentOps.length === 0) return [];
7097
7153
  const tools = agentOps.map((op) => ({
7098
7154
  name: op.name,
7099
7155
  description: op.description,
@@ -7110,7 +7166,7 @@ async function buildSdkFlowTools(manager, connectorId, options) {
7110
7166
  }
7111
7167
  }
7112
7168
  }));
7113
- return sdk.createSdkMcpServer({ name: "skaile-flow", tools });
7169
+ return tools;
7114
7170
  }
7115
7171
  function buildOperationInputSchema(args, z5) {
7116
7172
  const shape = {};
@@ -8342,6 +8398,8 @@ var FlowAdapter = class extends AbstractConnector {
8342
8398
  subpromptRunner: options.subpromptRunner,
8343
8399
  inlineSubFlowRunner: options.inlineSubFlowRunner,
8344
8400
  inlineOperationTargets: /* @__PURE__ */ new Map(),
8401
+ subpromptOperations: /* @__PURE__ */ new Map(),
8402
+ subpromptCleanup: /* @__PURE__ */ new Set(),
8345
8403
  flowInputOrigins: options.flowInputOrigins,
8346
8404
  inlineSubFlowAncestry: options.inlineSubFlowAncestry ?? [flowDef.id],
8347
8405
  executionGeneration: 0,
@@ -8355,6 +8413,7 @@ var FlowAdapter = class extends AbstractConnector {
8355
8413
  async disconnect(handle) {
8356
8414
  const state = this.s(handle);
8357
8415
  state.executionGeneration += 1;
8416
+ await this.cancelSubprompts(state);
8358
8417
  this.clearWakeTimer(state);
8359
8418
  await this.cancelInlineTargets(state);
8360
8419
  handle.status = "disconnected";
@@ -8364,6 +8423,18 @@ var FlowAdapter = class extends AbstractConnector {
8364
8423
  s.inlineOperationTargets.clear();
8365
8424
  for (const target of targets) await target.cancel();
8366
8425
  }
8426
+ async cancelSubprompts(s) {
8427
+ for (const operation of s.subpromptOperations.values()) {
8428
+ operation.controller.abort();
8429
+ s.subpromptCleanup.add(operation.promise);
8430
+ void operation.promise.then(
8431
+ () => s.subpromptCleanup.delete(operation.promise),
8432
+ () => s.subpromptCleanup.delete(operation.promise)
8433
+ );
8434
+ }
8435
+ s.subpromptOperations.clear();
8436
+ await Promise.allSettled([...s.subpromptCleanup]);
8437
+ }
8367
8438
  projectInlineInteraction(handle, parentNodeId, projection2) {
8368
8439
  this.mutate(
8369
8440
  handle,
@@ -8394,6 +8465,7 @@ var FlowAdapter = class extends AbstractConnector {
8394
8465
  */
8395
8466
  hydrate(handle, execution) {
8396
8467
  const s = this.s(handle);
8468
+ void this.cancelSubprompts(s);
8397
8469
  assertLegal(
8398
8470
  s.inlineOperationTargets.size === 0,
8399
8471
  "hydrate requires live inline children to be cancelled first"
@@ -8901,6 +8973,7 @@ var FlowAdapter = class extends AbstractConnector {
8901
8973
  throw new Error("FlowAdapter: start requires args.seed.runId + args.seed.startedBy");
8902
8974
  }
8903
8975
  s.flowDef = flow;
8976
+ void this.cancelSubprompts(s);
8904
8977
  s.executionGeneration += 1;
8905
8978
  s.execution = buildInitialExecution(flow, {
8906
8979
  runId: seed.runId,
@@ -9330,6 +9403,7 @@ var FlowAdapter = class extends AbstractConnector {
9330
9403
  */
9331
9404
  cancel(handle) {
9332
9405
  this.mutate(handle, (s) => {
9406
+ void this.cancelSubprompts(s);
9333
9407
  s.execution = { ...s.execution, status: "cancelled" };
9334
9408
  s.executionGeneration += 1;
9335
9409
  return void 0;
@@ -9415,6 +9489,7 @@ var FlowAdapter = class extends AbstractConnector {
9415
9489
  let abortedAttempt;
9416
9490
  while (true) {
9417
9491
  const state = this.s(handle);
9492
+ if (state.subpromptCleanup.size > 0) await Promise.allSettled([...state.subpromptCleanup]);
9418
9493
  if (state.execution.status === "cancelled" || state.execution.status === "failed") break;
9419
9494
  if (includeRoutersAndGates && this.settleAvailableRouters(handle)) continue;
9420
9495
  const node = state.flowDef.nodes.find((candidate) => {
@@ -9629,17 +9704,30 @@ var FlowAdapter = class extends AbstractConnector {
9629
9704
  interpolateNodeInstruction(instruction, resolved.values),
9630
9705
  outputSchema
9631
9706
  );
9707
+ const subpromptAbort = new AbortController();
9632
9708
  const runPromise2 = runner.execute({
9633
9709
  node,
9634
9710
  prompt,
9635
9711
  inputs: resolved.values,
9636
- inputOrigins: resolved.origins
9712
+ inputOrigins: resolved.origins,
9713
+ signal: subpromptAbort.signal
9637
9714
  });
9638
- const result = subpromptRemainingMs !== void 0 ? await raceWithTimeout(
9639
- runPromise2,
9640
- Math.max(0, subpromptRemainingMs),
9641
- `Subprompt node ${node.id} timed out after ${subpromptTimeoutSec}s`
9642
- ) : await runPromise2;
9715
+ const operation = { controller: subpromptAbort, promise: runPromise2 };
9716
+ state.subpromptOperations.set(node.id, operation);
9717
+ let result;
9718
+ try {
9719
+ result = subpromptRemainingMs !== void 0 ? await raceWithTimeout(
9720
+ runPromise2,
9721
+ Math.max(0, subpromptRemainingMs),
9722
+ `Subprompt node ${node.id} timed out after ${subpromptTimeoutSec}s`
9723
+ ) : await runPromise2;
9724
+ } finally {
9725
+ subpromptAbort.abort();
9726
+ await runPromise2.catch(() => {
9727
+ });
9728
+ if (state.subpromptOperations.get(node.id) === operation)
9729
+ state.subpromptOperations.delete(node.id);
9730
+ }
9643
9731
  subpromptOutput = subpromptNodeOutput(node, result.text);
9644
9732
  const validation = validateConsumedNodeOutput(
9645
9733
  state.flowDef,
@@ -10596,6 +10684,6 @@ function createConnector() {
10596
10684
  return new FlowAdapter();
10597
10685
  }
10598
10686
 
10599
- export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, BoxConnector, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, DeployConnector, DevServerConnector, FlowAdapter, GitConnector, GmailConnector, GoogleDriveConnector, LocalConnector, LogBuffer, ManagedGitconfigCollisionError, MattermostConnector, MemoryConnector, MinIOConnector, PortPool, PostgresConnector, S3Connector, SQLiteConnector, SessionInlineSubFlowRunner, SessionNodeExecutor, SessionSubpromptRunner, SharePointConnector, StaticServerConnector, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, __test, atomicReplaceCredential, buildConnectorPromptSection, buildFlowPromptEvent, buildSdkConnectorTools, buildSdkFlowTools, createConnector, createConnector10, createConnector11, createConnector12, createConnector13, createConnector14, createConnector15, createConnector16, createConnector17, createConnector18, createConnector19, createConnector2, createConnector20, createConnector3, createConnector4, createConnector5, createConnector6, createConnector7, createConnector8, createConnector9, createFsWatcher, createWorktree, defaultSpawn, driveOrchestratorTurn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, readGitSyncStatus, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock };
10600
- //# sourceMappingURL=chunk-EXT2LNST.js.map
10601
- //# sourceMappingURL=chunk-EXT2LNST.js.map
10687
+ export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, BoxConnector, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, DeployConnector, DevServerConnector, FlowAdapter, GitConnector, GmailConnector, GoogleDriveConnector, LocalConnector, LogBuffer, ManagedGitconfigCollisionError, MattermostConnector, MemoryConnector, MinIOConnector, PortPool, PostgresConnector, S3Connector, SQLiteConnector, SessionInlineSubFlowRunner, SessionNodeExecutor, SessionSubpromptRunner, SharePointConnector, StaticServerConnector, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, __test, atomicReplaceCredential, buildConnectorPromptSection, buildConnectorToolDefs, buildFlowPromptEvent, buildFlowToolDefs, buildSdkConnectorTools, buildSdkFlowTools, createConnector, createConnector10, createConnector11, createConnector12, createConnector13, createConnector14, createConnector15, createConnector16, createConnector17, createConnector18, createConnector19, createConnector2, createConnector20, createConnector3, createConnector4, createConnector5, createConnector6, createConnector7, createConnector8, createConnector9, createFsWatcher, createWorktree, defaultSpawn, driveOrchestratorTurn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, readGitSyncStatus, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock };
10688
+ //# sourceMappingURL=chunk-SH7GXS7V.js.map
10689
+ //# sourceMappingURL=chunk-SH7GXS7V.js.map