@skaile/workspaces 4.35.0 → 4.36.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 (235) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/{asset-feeds-NL3526ZV.js → asset-feeds-SJELMLNK.js} +10 -10
  3. package/dist/{asset-feeds-NL3526ZV.js.map → asset-feeds-SJELMLNK.js.map} +1 -1
  4. package/dist/asset-manager/catalog-deployer.js +5 -5
  5. package/dist/asset-manager/index.js +10 -10
  6. package/dist/asset-manager/installer.js +7 -7
  7. package/dist/asset-manager/renderers.js +2 -2
  8. package/dist/asset-manager/src/index.d.ts +18 -0
  9. package/dist/asset-manager/src/index.d.ts.map +1 -1
  10. package/dist/asset-manager/src/mcp-config.d.ts.map +1 -1
  11. package/dist/bridge/drivers/claude-sdk.js +12 -9
  12. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  13. package/dist/bridge/drivers/codex.js +7 -7
  14. package/dist/bridge/drivers/continue.js +8 -8
  15. package/dist/bridge/drivers/echo.js +1 -1
  16. package/dist/bridge/drivers/gemini.js +6 -6
  17. package/dist/bridge/drivers/goose.js +8 -8
  18. package/dist/bridge/drivers/omp.js +7 -4
  19. package/dist/bridge/drivers/omp.js.map +1 -1
  20. package/dist/bridge/drivers/opencode.js +8 -8
  21. package/dist/bridge/drivers/qwen.js +6 -6
  22. package/dist/bridge/index.js +9 -9
  23. package/dist/bridge/src/drivers/claude-sdk.d.ts +1 -0
  24. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  25. package/dist/bridge/src/drivers/omp.d.ts +3 -2
  26. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  27. package/dist/bridge/src/types.d.ts +8 -0
  28. package/dist/bridge/src/types.d.ts.map +1 -1
  29. package/dist/{chunk-TGE33MKN.js → chunk-2D3C4AJP.js} +4 -2
  30. package/dist/chunk-2D3C4AJP.js.map +1 -0
  31. package/dist/{chunk-J4ANCOQ4.js → chunk-3CLUU45N.js} +7 -7
  32. package/dist/{chunk-J4ANCOQ4.js.map → chunk-3CLUU45N.js.map} +1 -1
  33. package/dist/{chunk-T3YUSWVK.js → chunk-3SUWLY3H.js} +3 -3
  34. package/dist/{chunk-T3YUSWVK.js.map → chunk-3SUWLY3H.js.map} +1 -1
  35. package/dist/{chunk-NVQLE4MK.js → chunk-3VUHHDZW.js} +3 -3
  36. package/dist/{chunk-NVQLE4MK.js.map → chunk-3VUHHDZW.js.map} +1 -1
  37. package/dist/{chunk-TUTVTGMG.js → chunk-422WJ2QC.js} +4 -4
  38. package/dist/{chunk-TUTVTGMG.js.map → chunk-422WJ2QC.js.map} +1 -1
  39. package/dist/{chunk-Q6NDQ6BH.js → chunk-5JAO4MXA.js} +3 -3
  40. package/dist/{chunk-Q6NDQ6BH.js.map → chunk-5JAO4MXA.js.map} +1 -1
  41. package/dist/{chunk-24X2GGSC.js → chunk-5JJ5KQUM.js} +6 -6
  42. package/dist/{chunk-24X2GGSC.js.map → chunk-5JJ5KQUM.js.map} +1 -1
  43. package/dist/{chunk-AKO6XHGV.js → chunk-5L55HNNA.js} +5 -5
  44. package/dist/{chunk-AKO6XHGV.js.map → chunk-5L55HNNA.js.map} +1 -1
  45. package/dist/{chunk-DOF77WEV.js → chunk-BSIHJZKN.js} +6 -6
  46. package/dist/{chunk-DOF77WEV.js.map → chunk-BSIHJZKN.js.map} +1 -1
  47. package/dist/{chunk-VOXFI3XS.js → chunk-DFZDL62S.js} +4 -4
  48. package/dist/{chunk-VOXFI3XS.js.map → chunk-DFZDL62S.js.map} +1 -1
  49. package/dist/{chunk-3ELIPWCH.js → chunk-FJYOQMXT.js} +4 -4
  50. package/dist/{chunk-3ELIPWCH.js.map → chunk-FJYOQMXT.js.map} +1 -1
  51. package/dist/{chunk-7HJ6SFFF.js → chunk-FLGLODDF.js} +3 -3
  52. package/dist/{chunk-7HJ6SFFF.js.map → chunk-FLGLODDF.js.map} +1 -1
  53. package/dist/{chunk-IGNY4C6K.js → chunk-FQE2NBUH.js} +7 -7
  54. package/dist/{chunk-IGNY4C6K.js.map → chunk-FQE2NBUH.js.map} +1 -1
  55. package/dist/{chunk-IFUQ6XBQ.js → chunk-FWZTKSYI.js} +205 -17
  56. package/dist/chunk-FWZTKSYI.js.map +1 -0
  57. package/dist/{chunk-P2DLXBZK.js → chunk-H3KXUUYQ.js} +4 -4
  58. package/dist/{chunk-P2DLXBZK.js.map → chunk-H3KXUUYQ.js.map} +1 -1
  59. package/dist/{chunk-7LZJRVKJ.js → chunk-JRSLMZOT.js} +59 -11
  60. package/dist/chunk-JRSLMZOT.js.map +1 -0
  61. package/dist/{chunk-AO7TCPOS.js → chunk-KVDXSEQH.js} +271 -28
  62. package/dist/chunk-KVDXSEQH.js.map +1 -0
  63. package/dist/{chunk-QJOOD3OV.js → chunk-L22WTIIC.js} +3 -3
  64. package/dist/{chunk-QJOOD3OV.js.map → chunk-L22WTIIC.js.map} +1 -1
  65. package/dist/{chunk-N2UGG6WV.js → chunk-LIS5KT2X.js} +4 -4
  66. package/dist/{chunk-N2UGG6WV.js.map → chunk-LIS5KT2X.js.map} +1 -1
  67. package/dist/{chunk-Z2QI42YH.js → chunk-LVRKJW53.js} +22 -8
  68. package/dist/chunk-LVRKJW53.js.map +1 -0
  69. package/dist/{chunk-TB3LJ6NA.js → chunk-MDBAEEY5.js} +3 -3
  70. package/dist/{chunk-TB3LJ6NA.js.map → chunk-MDBAEEY5.js.map} +1 -1
  71. package/dist/{chunk-MTWZ7KHZ.js → chunk-MQU632EK.js} +11 -2
  72. package/dist/chunk-MQU632EK.js.map +1 -0
  73. package/dist/{chunk-C3256F2F.js → chunk-MRS5YHPI.js} +3 -3
  74. package/dist/{chunk-C3256F2F.js.map → chunk-MRS5YHPI.js.map} +1 -1
  75. package/dist/{chunk-7LBPHRRP.js → chunk-NFECHLV6.js} +3 -3
  76. package/dist/{chunk-7LBPHRRP.js.map → chunk-NFECHLV6.js.map} +1 -1
  77. package/dist/{chunk-GKTFGCQZ.js → chunk-NKYNDLCB.js} +3 -3
  78. package/dist/{chunk-GKTFGCQZ.js.map → chunk-NKYNDLCB.js.map} +1 -1
  79. package/dist/{chunk-LX3FKVLL.js → chunk-NTASYPDN.js} +3 -3
  80. package/dist/{chunk-LX3FKVLL.js.map → chunk-NTASYPDN.js.map} +1 -1
  81. package/dist/{chunk-GORUF3YZ.js → chunk-NVNKPWL4.js} +10 -10
  82. package/dist/{chunk-GORUF3YZ.js.map → chunk-NVNKPWL4.js.map} +1 -1
  83. package/dist/{chunk-75LXFKQR.js → chunk-O63QZ6XX.js} +4 -4
  84. package/dist/{chunk-75LXFKQR.js.map → chunk-O63QZ6XX.js.map} +1 -1
  85. package/dist/{chunk-7IH3RKKK.js → chunk-OEBAXTQ4.js} +3 -3
  86. package/dist/{chunk-7IH3RKKK.js.map → chunk-OEBAXTQ4.js.map} +1 -1
  87. package/dist/{chunk-66A35U4V.js → chunk-PKGI5QG7.js} +64 -8
  88. package/dist/chunk-PKGI5QG7.js.map +1 -0
  89. package/dist/{chunk-TGJIX77V.js → chunk-Q7SIVPM2.js} +3 -3
  90. package/dist/{chunk-TGJIX77V.js.map → chunk-Q7SIVPM2.js.map} +1 -1
  91. package/dist/{chunk-T762W5CI.js → chunk-QABZZROM.js} +3 -3
  92. package/dist/{chunk-T762W5CI.js.map → chunk-QABZZROM.js.map} +1 -1
  93. package/dist/{chunk-LRCSWOZO.js → chunk-QKXDRBLL.js} +5 -3
  94. package/dist/chunk-QKXDRBLL.js.map +1 -0
  95. package/dist/{chunk-DHLE66FV.js → chunk-S63H4HDH.js} +8 -4
  96. package/dist/chunk-S63H4HDH.js.map +1 -0
  97. package/dist/{chunk-2FBPAR2V.js → chunk-SQ7IN7KR.js} +3 -2
  98. package/dist/chunk-SQ7IN7KR.js.map +1 -0
  99. package/dist/{chunk-XTOTP7MJ.js → chunk-TILISP6X.js} +2 -2
  100. package/dist/{chunk-XTOTP7MJ.js.map → chunk-TILISP6X.js.map} +1 -1
  101. package/dist/{chunk-5YXKEM7Q.js → chunk-VCLN2IUM.js} +5 -5
  102. package/dist/{chunk-5YXKEM7Q.js.map → chunk-VCLN2IUM.js.map} +1 -1
  103. package/dist/{chunk-JRIU5GA7.js → chunk-VRFKCF3R.js} +4 -4
  104. package/dist/{chunk-JRIU5GA7.js.map → chunk-VRFKCF3R.js.map} +1 -1
  105. package/dist/{chunk-7ERHZQ7O.js → chunk-XN7DAZB7.js} +3 -3
  106. package/dist/{chunk-7ERHZQ7O.js.map → chunk-XN7DAZB7.js.map} +1 -1
  107. package/dist/{chunk-RHESVS7V.js → chunk-YOIENZHA.js} +6 -6
  108. package/dist/{chunk-RHESVS7V.js.map → chunk-YOIENZHA.js.map} +1 -1
  109. package/dist/cli/index.js +69 -61
  110. package/dist/cli/index.js.map +1 -1
  111. package/dist/cli/src/commands/catalog.d.ts +7 -0
  112. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  113. package/dist/cli/src/commands/connector.d.ts.map +1 -1
  114. package/dist/connectors/config.js +3 -3
  115. package/dist/connectors/index.js +12 -12
  116. package/dist/connectors/src/config.d.ts.map +1 -1
  117. package/dist/connectors/src/connector-types.d.ts +7 -0
  118. package/dist/connectors/src/connector-types.d.ts.map +1 -1
  119. package/dist/connectors/src/materialized-connectors.d.ts.map +1 -1
  120. package/dist/core/index.js +4 -4
  121. package/dist/core/manifest.js +1 -1
  122. package/dist/core/runtime-assets.js +3 -3
  123. package/dist/core/src/manifest.d.ts.map +1 -1
  124. package/dist/core/src/workspace-config.d.ts +7 -0
  125. package/dist/core/src/workspace-config.d.ts.map +1 -1
  126. package/dist/core/workspace-config.js +2 -2
  127. package/dist/deploy/index.js +4 -4
  128. package/dist/discovery/index.js +3 -3
  129. package/dist/{ensure-sources-DVPPPCBS.js → ensure-sources-SYZO2HNP.js} +13 -13
  130. package/dist/{ensure-sources-DVPPPCBS.js.map → ensure-sources-SYZO2HNP.js.map} +1 -1
  131. package/dist/factory-assets/connectors/box.js +12 -12
  132. package/dist/factory-assets/connectors/deploy.js +12 -12
  133. package/dist/factory-assets/connectors/devserver.js +12 -12
  134. package/dist/factory-assets/connectors/flow/adapter.js +12 -12
  135. package/dist/factory-assets/connectors/flow/engine.js +5 -5
  136. package/dist/factory-assets/connectors/flow/run-flow.js +14 -14
  137. package/dist/factory-assets/connectors/flow.js +12 -12
  138. package/dist/factory-assets/connectors/git/CONNECTOR.md +1 -0
  139. package/dist/factory-assets/connectors/git/driver.d.ts +29 -0
  140. package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
  141. package/dist/factory-assets/connectors/git.js +12 -12
  142. package/dist/factory-assets/connectors/gmail.js +12 -12
  143. package/dist/factory-assets/connectors/googledrive.js +12 -12
  144. package/dist/factory-assets/connectors/local.js +12 -12
  145. package/dist/factory-assets/connectors/mattermost.js +12 -12
  146. package/dist/factory-assets/connectors/memory.js +12 -12
  147. package/dist/factory-assets/connectors/minio.js +12 -12
  148. package/dist/factory-assets/connectors/postgres.js +12 -12
  149. package/dist/factory-assets/connectors/s3.js +12 -12
  150. package/dist/factory-assets/connectors/sharepoint.js +12 -12
  151. package/dist/factory-assets/connectors/sqlite.js +12 -12
  152. package/dist/factory-assets/connectors/static-server.js +12 -12
  153. package/dist/factory-assets/connectors/tunnel.js +12 -12
  154. package/dist/factory-assets/connectors/webdav.js +12 -12
  155. package/dist/factory-assets/connectors/xstate-store.js +12 -12
  156. package/dist/factory-assets/connectors/xstate.js +12 -12
  157. package/dist/{flows-X7JFAVRR.js → flows-6MDMBQUZ.js} +9 -9
  158. package/dist/{flows-X7JFAVRR.js.map → flows-6MDMBQUZ.js.map} +1 -1
  159. package/dist/{helpers-KLO5VUVZ.js → helpers-IMUCDNME.js} +13 -13
  160. package/dist/{helpers-KLO5VUVZ.js.map → helpers-IMUCDNME.js.map} +1 -1
  161. package/dist/library/index.js +7 -7
  162. package/dist/{library-publish-X6JGR7K3.js → library-publish-XAIAHKRL.js} +17 -17
  163. package/dist/{library-publish-X6JGR7K3.js.map → library-publish-XAIAHKRL.js.map} +1 -1
  164. package/dist/{open-library-S2ZFKJUK.js → open-library-6N3XZ2XL.js} +15 -15
  165. package/dist/{open-library-S2ZFKJUK.js.map → open-library-6N3XZ2XL.js.map} +1 -1
  166. package/dist/{paths-OI5IIS22.js → paths-4MTICP3T.js} +7 -7
  167. package/dist/{paths-OI5IIS22.js.map → paths-4MTICP3T.js.map} +1 -1
  168. package/dist/{plugin-store-C67RLSPD.js → plugin-store-GQ4WQZJ2.js} +6 -6
  169. package/dist/{plugin-store-C67RLSPD.js.map → plugin-store-GQ4WQZJ2.js.map} +1 -1
  170. package/dist/{project-7VOTYB7O.js → project-HESTMGPU.js} +14 -14
  171. package/dist/{project-7VOTYB7O.js.map → project-HESTMGPU.js.map} +1 -1
  172. package/dist/resolver/index.js +5 -5
  173. package/dist/runner/index.js +21 -21
  174. package/dist/runner/src/capability-registry.d.ts +13 -0
  175. package/dist/runner/src/capability-registry.d.ts.map +1 -1
  176. package/dist/runner/src/compaction/orchestrator.d.ts +8 -0
  177. package/dist/runner/src/compaction/orchestrator.d.ts.map +1 -1
  178. package/dist/runner/src/compaction-gate.d.ts +64 -1
  179. package/dist/runner/src/compaction-gate.d.ts.map +1 -1
  180. package/dist/runner/src/driver-swap-gate.d.ts +17 -0
  181. package/dist/runner/src/driver-swap-gate.d.ts.map +1 -1
  182. package/dist/runner/src/external-mcp.d.ts +6 -0
  183. package/dist/runner/src/external-mcp.d.ts.map +1 -1
  184. package/dist/runner/src/mcp-pinned-ca.d.ts +8 -0
  185. package/dist/runner/src/mcp-pinned-ca.d.ts.map +1 -0
  186. package/dist/runner/src/prompt-turn-queue.d.ts +28 -0
  187. package/dist/runner/src/prompt-turn-queue.d.ts.map +1 -0
  188. package/dist/runner/src/serve.d.ts.map +1 -1
  189. package/dist/sdk/asset-manager.js +10 -10
  190. package/dist/sdk/bridge.js +9 -9
  191. package/dist/sdk/core.js +4 -4
  192. package/dist/sdk/flow.js +5 -5
  193. package/dist/sdk/index.js +21 -21
  194. package/dist/sdk/resolver.js +5 -5
  195. package/dist/sdk/runner.js +21 -21
  196. package/dist/sdk/session.js +1 -1
  197. package/dist/sdk/store.js +1 -1
  198. package/dist/session/index.js +1 -1
  199. package/dist/session/src/bounded-subscriber-transport.d.ts +11 -4
  200. package/dist/session/src/bounded-subscriber-transport.d.ts.map +1 -1
  201. package/dist/session/src/dispatcher.d.ts +5 -0
  202. package/dist/session/src/dispatcher.d.ts.map +1 -1
  203. package/dist/session/src/index.d.ts +1 -1
  204. package/dist/session/src/index.d.ts.map +1 -1
  205. package/dist/session/src/types.d.ts +20 -1
  206. package/dist/session/src/types.d.ts.map +1 -1
  207. package/dist/{setup-RO3PGJYS.js → setup-PQG5DH5Z.js} +18 -18
  208. package/dist/{setup-RO3PGJYS.js.map → setup-PQG5DH5Z.js.map} +1 -1
  209. package/dist/{skills-4YTVHMOH.js → skills-JHUY4DFE.js} +10 -10
  210. package/dist/{skills-4YTVHMOH.js.map → skills-JHUY4DFE.js.map} +1 -1
  211. package/dist/{source-ZZLLOP2U.js → source-PNYNVVPM.js} +16 -16
  212. package/dist/{source-ZZLLOP2U.js.map → source-PNYNVVPM.js.map} +1 -1
  213. package/dist/{source-manifest-publish-7WRQDIXO.js → source-manifest-publish-6O6H4T2P.js} +18 -18
  214. package/dist/{source-manifest-publish-7WRQDIXO.js.map → source-manifest-publish-6O6H4T2P.js.map} +1 -1
  215. package/dist/store/index.js +1 -1
  216. package/dist/store/src/store.d.ts +21 -1
  217. package/dist/store/src/store.d.ts.map +1 -1
  218. package/dist/tui/index.js +21 -21
  219. package/dist/types/manifests.js +1 -1
  220. package/dist/types/src/manifests/mcp-server.d.ts +1 -0
  221. package/dist/types/src/manifests/mcp-server.d.ts.map +1 -1
  222. package/dist/workspace-plugin/adapters/mcp.js +10 -10
  223. package/dist/workspace-plugin/adapters/omp.js +7 -7
  224. package/dist/workspace-plugin/index.js +1 -1
  225. package/package.json +2 -2
  226. package/dist/chunk-2FBPAR2V.js.map +0 -1
  227. package/dist/chunk-66A35U4V.js.map +0 -1
  228. package/dist/chunk-7LZJRVKJ.js.map +0 -1
  229. package/dist/chunk-AO7TCPOS.js.map +0 -1
  230. package/dist/chunk-DHLE66FV.js.map +0 -1
  231. package/dist/chunk-IFUQ6XBQ.js.map +0 -1
  232. package/dist/chunk-LRCSWOZO.js.map +0 -1
  233. package/dist/chunk-MTWZ7KHZ.js.map +0 -1
  234. package/dist/chunk-TGE33MKN.js.map +0 -1
  235. package/dist/chunk-Z2QI42YH.js.map +0 -1
@@ -1,30 +1,30 @@
1
- import { WorkspacePlugin } from './chunk-XTOTP7MJ.js';
2
- import { buildWorkspaceToolDefs } from './chunk-N2UGG6WV.js';
3
- import { findAiAssetsRoot } from './chunk-7IH3RKKK.js';
1
+ import { WorkspacePlugin } from './chunk-TILISP6X.js';
2
+ import { buildWorkspaceToolDefs } from './chunk-LIS5KT2X.js';
3
+ import { findAiAssetsRoot } from './chunk-OEBAXTQ4.js';
4
4
  import { WebSocketServerTransport } from './chunk-5LKOAX7I.js';
5
5
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
6
6
  import { prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-HCYS7GFP.js';
7
- import { resolveFlowPath } from './chunk-J4ANCOQ4.js';
8
- import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-Q6NDQ6BH.js';
9
- import { ConnectFailureCarryOver, registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-IFUQ6XBQ.js';
10
- import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-DHLE66FV.js';
11
- import { EventNormalizer } from './chunk-NVQLE4MK.js';
12
- import { probeResumeTranscript, transcriptStoreForRuntime } from './chunk-LX3FKVLL.js';
7
+ import { resolveFlowPath } from './chunk-3CLUU45N.js';
8
+ import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-5JAO4MXA.js';
9
+ import { ConnectFailureCarryOver, registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-FWZTKSYI.js';
10
+ import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-S63H4HDH.js';
11
+ import { EventNormalizer } from './chunk-3VUHHDZW.js';
12
+ import { probeResumeTranscript, transcriptStoreForRuntime } from './chunk-NTASYPDN.js';
13
13
  import { scopeReconfigureModel } from './chunk-EINLFFP6.js';
14
14
  import { CodexNativeStateUnavailable } from './chunk-LOO5CB5M.js';
15
15
  import { dispatchCapability } from './chunk-TTITGVXV.js';
16
16
  import { classifyClaudeSdkError } from './chunk-XBSQ4KMC.js';
17
17
  import { agentExecRequested } from './chunk-YROR332M.js';
18
- import { toAgentEffort, createDriver, catalogLayer, providerCredentialEnvName, toMergedRegistry, registryCredentialEnv, AI_PROVIDER_PRESETS, AgentDriver } from './chunk-MTWZ7KHZ.js';
19
- import { loadFlow } from './chunk-7HJ6SFFF.js';
18
+ import { toAgentEffort, createDriver, catalogLayer, providerCredentialEnvName, toMergedRegistry, registryCredentialEnv, AI_PROVIDER_PRESETS, AgentDriver } from './chunk-MQU632EK.js';
19
+ import { loadFlow } from './chunk-FLGLODDF.js';
20
20
  import { parseFlowDefinition } from './chunk-DIQDYNXZ.js';
21
21
  import { renderStimulusPrompt } from './chunk-K3IBZ2UZ.js';
22
22
  import { withActivityLabelJsonSchema, TOOL_ACTIVITY_PROMPT_SECTION, SESSION_ROOT_CONNECTOR_ID, PROTOCOL_VERSION } from './chunk-JS7DCCDA.js';
23
- import { resolveSettings, loadProviderRegistry } from './chunk-3ELIPWCH.js';
24
- import { resolveRuntimeAssets } from './chunk-JRIU5GA7.js';
23
+ import { resolveSettings, loadProviderRegistry } from './chunk-FJYOQMXT.js';
24
+ import { resolveRuntimeAssets } from './chunk-VRFKCF3R.js';
25
25
  import { resolveDriverPaths } from './chunk-K5GBV4SA.js';
26
- import { resolveSkWorkspaceConfig, resolveAgentDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill, STAGED_SKILL_MARKER } from './chunk-LRCSWOZO.js';
27
- import { withFsDeadline, FsDeadlineError, fsDeadlineMs, parseFrontmatter, tryWithFsDeadline } from './chunk-2FBPAR2V.js';
26
+ import { resolveSkWorkspaceConfig, resolveAgentDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill, STAGED_SKILL_MARKER } from './chunk-QKXDRBLL.js';
27
+ import { withFsDeadline, FsDeadlineError, fsDeadlineMs, parseFrontmatter, tryWithFsDeadline } from './chunk-SQ7IN7KR.js';
28
28
  import { parseAssetRef } from './chunk-GEEW6SY2.js';
29
29
  import { resolveLogStoreConfig, createLogStoreFromConfig, OnLogBridgeSink, WsLogSink, resolveLogsRetention, enforceLogsRetention } from './chunk-JMKB7IB4.js';
30
30
  import { pickRegistryEntries, registryEntries, resolveEntryBaseUrl, parseModelRef, isEntryEnabled, parseCredentialRef } from './chunk-MJHSLODD.js';
@@ -51,6 +51,8 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
51
51
  import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
52
52
  import { getDefaultEnvironment, StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
53
53
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
54
+ import { Agent, request } from 'https';
55
+ import { Readable } from 'stream';
54
56
  import mime from 'mime';
55
57
  import { Worker } from 'worker_threads';
56
58
 
@@ -1517,6 +1519,58 @@ var FileChangedCoalescer = class {
1517
1519
  state.dirCapHit = false;
1518
1520
  }
1519
1521
  };
1522
+ var isBun = typeof globalThis.Bun !== "undefined";
1523
+ var NULL_BODY_STATUSES = /* @__PURE__ */ new Set([204, 205, 304]);
1524
+ function createPinnedCaFetch(ca) {
1525
+ if (isBun) {
1526
+ return (url, init) => {
1527
+ assertHttps(url);
1528
+ return fetch(url, { ...init, keepalive: false, tls: { ca } });
1529
+ };
1530
+ }
1531
+ const agent = new Agent({ ca });
1532
+ return (url, init) => {
1533
+ assertHttps(url);
1534
+ return nodeHttpsFetch(new URL(String(url)), init, agent);
1535
+ };
1536
+ }
1537
+ function assertHttps(url) {
1538
+ if (new URL(String(url)).protocol !== "https:") {
1539
+ throw new Error("an MCP server with a pinned CA must use an https URL");
1540
+ }
1541
+ }
1542
+ async function nodeHttpsFetch(url, init, agent) {
1543
+ const headers = {};
1544
+ new Headers(init?.headers).forEach((value, key) => {
1545
+ headers[key] = value;
1546
+ });
1547
+ const body = init?.body == null ? void 0 : Buffer.from(await new Response(init.body).arrayBuffer());
1548
+ return new Promise((resolve4, reject) => {
1549
+ const req = request(
1550
+ url,
1551
+ { method: init?.method ?? "GET", headers, agent, signal: init?.signal ?? void 0 },
1552
+ (res) => {
1553
+ const responseHeaders = new Headers();
1554
+ for (const [key, value] of Object.entries(res.headers)) {
1555
+ if (value === void 0) continue;
1556
+ for (const v of Array.isArray(value) ? value : [value]) responseHeaders.append(key, v);
1557
+ }
1558
+ const status = res.statusCode ?? 0;
1559
+ const responseBody = NULL_BODY_STATUSES.has(status) ? null : Readable.toWeb(res);
1560
+ if (responseBody === null) res.resume();
1561
+ resolve4(
1562
+ new Response(responseBody, {
1563
+ status,
1564
+ statusText: res.statusMessage,
1565
+ headers: responseHeaders
1566
+ })
1567
+ );
1568
+ }
1569
+ );
1570
+ req.on("error", reject);
1571
+ req.end(body);
1572
+ });
1573
+ }
1520
1574
  var execFileAsync2 = promisify(execFile);
1521
1575
  var DEFAULT_NIX_TIMEOUT_MS = 3e4;
1522
1576
  var NIX_TIMEOUT_ENV_VAR = "SKAILE_NIX_TIMEOUT_MS";
@@ -1753,6 +1807,20 @@ function resolveMcpUrl(decl, secrets) {
1753
1807
  throw new Error(`resolved url for MCP server '${decl.id}' is not a valid URL`);
1754
1808
  }
1755
1809
  }
1810
+ function resolveMcpCa(decl, secrets) {
1811
+ const raw = decl.ca;
1812
+ if (raw === void 0 || raw === "") return void 0;
1813
+ const value = isKnownSecretRef(raw) ? secrets?.resolve(raw) : raw;
1814
+ if (value === void 0) {
1815
+ throw new Error(
1816
+ `CA for MCP server '${decl.id}' unavailable \u2014 unresolved secret ref '${raw}' in ca`
1817
+ );
1818
+ }
1819
+ if (!value.includes("-----BEGIN CERTIFICATE-----")) {
1820
+ throw new Error(`ca for MCP server '${decl.id}' is not a PEM certificate`);
1821
+ }
1822
+ return value;
1823
+ }
1756
1824
  var RESERVED_MCP_SERVER_IDS = /* @__PURE__ */ new Set([
1757
1825
  "skaile-connectors",
1758
1826
  "skaile-workspace",
@@ -1887,7 +1955,11 @@ function buildTransport(decl, secrets) {
1887
1955
  serverId: decl.id,
1888
1956
  kind: "header"
1889
1957
  });
1890
- return new SSEClientTransport(resolveMcpUrl(decl, secrets), { requestInit: { headers } });
1958
+ const pinned = pinnedFetch(decl, secrets);
1959
+ return new SSEClientTransport(resolveMcpUrl(decl, secrets), {
1960
+ requestInit: { headers },
1961
+ ...pinned ? { fetch: pinned } : {}
1962
+ });
1891
1963
  }
1892
1964
  if (transport === "http") {
1893
1965
  if (!decl.url) throw new Error(`http MCP server '${decl.id}' is missing 'url'`);
@@ -1895,12 +1967,18 @@ function buildTransport(decl, secrets) {
1895
1967
  serverId: decl.id,
1896
1968
  kind: "header"
1897
1969
  });
1970
+ const pinned = pinnedFetch(decl, secrets);
1898
1971
  return new StreamableHTTPClientTransport(resolveMcpUrl(decl, secrets), {
1899
- requestInit: { headers }
1972
+ requestInit: { headers },
1973
+ ...pinned ? { fetch: pinned } : {}
1900
1974
  });
1901
1975
  }
1902
1976
  throw new Error(`Unknown MCP transport '${transport}' for server '${decl.id}'`);
1903
1977
  }
1978
+ function pinnedFetch(decl, secrets) {
1979
+ const ca = resolveMcpCa(decl, secrets);
1980
+ return ca === void 0 ? void 0 : createPinnedCaFetch(ca);
1981
+ }
1904
1982
  function defaultMcpClientConnector(secrets) {
1905
1983
  return async (decl) => {
1906
1984
  const transport = buildTransport(decl, secrets);
@@ -2564,6 +2642,15 @@ function wireExternalMcpServersForSdk(mcpServers, resolvedDecls, secretProvider,
2564
2642
  instance: sessionMeta?.sessionId ?? "no-session"
2565
2643
  });
2566
2644
  for (const decl of resolvedDecls) {
2645
+ if (decl.ca && decl.transport && decl.transport !== "stdio") {
2646
+ mcpLog.warn(
2647
+ "MCP server skipped: it pins a CA, which the SDK mcpServers config cannot carry",
2648
+ {
2649
+ id: decl.id
2650
+ }
2651
+ );
2652
+ continue;
2653
+ }
2567
2654
  const serverConfig = toSdkMcpServerConfig(
2568
2655
  decl,
2569
2656
  secretProvider
@@ -3524,13 +3611,19 @@ var CapabilityRegistry = class {
3524
3611
  }
3525
3612
  };
3526
3613
  function computeCapabilitySignature(caps) {
3527
- const canonical2 = caps.slice().sort((a, b) => a.name.localeCompare(b.name)).map((c) => ({
3614
+ const canonical2 = caps.filter((c) => !isConnectionScopedAppCapability(c)).sort((a, b) => a.name.localeCompare(b.name)).map((c) => ({
3528
3615
  name: c.name,
3529
3616
  origin: c.origin.kind,
3530
3617
  schemaSha256: sha256(JSON.stringify(c.inputSchema ?? {}))
3531
3618
  }));
3532
3619
  return sha256(JSON.stringify(canonical2));
3533
3620
  }
3621
+ function capabilitySignatureInputs(caps) {
3622
+ return caps.filter((c) => !isConnectionScopedAppCapability(c)).map((c) => `${c.name}:${c.origin.kind}`).sort();
3623
+ }
3624
+ function isConnectionScopedAppCapability(cap) {
3625
+ return cap.origin.kind === "app" || cap.name.startsWith(APP_CAPABILITY_PREFIX);
3626
+ }
3534
3627
  function sha256(input) {
3535
3628
  return createHash("sha256").update(input).digest("hex");
3536
3629
  }
@@ -4805,6 +4898,41 @@ function compactionGateTimeoutMs() {
4805
4898
  const raw = Number(process.env.SKAILE_COMPACTION_GATE_TIMEOUT_MS);
4806
4899
  return Number.isFinite(raw) && raw > 0 ? raw : DEFAULT_COMPACTION_GATE_TIMEOUT_MS;
4807
4900
  }
4901
+ var DEFAULT_COMPACTION_TURN_WAIT_MS = 10 * 6e4;
4902
+ function compactionTurnWaitMs() {
4903
+ const raw = Number(process.env.SKAILE_COMPACTION_TURN_WAIT_MS);
4904
+ return Number.isFinite(raw) && raw > 0 ? raw : DEFAULT_COMPACTION_TURN_WAIT_MS;
4905
+ }
4906
+ var PLATFORM_COMPACTION_TURN_WAIT_MS = 3e4;
4907
+ function compactionTurnWaitFor(trigger) {
4908
+ return trigger === "threshold" ? compactionTurnWaitMs() : PLATFORM_COMPACTION_TURN_WAIT_MS;
4909
+ }
4910
+ async function claimDriverForCompaction(deps) {
4911
+ const hold = deps.gate.begin();
4912
+ let released = false;
4913
+ const release2 = () => {
4914
+ if (released) return;
4915
+ released = true;
4916
+ deps.gate.settle(hold);
4917
+ };
4918
+ const timeoutMs = deps.timeoutMs ?? compactionTurnWaitMs();
4919
+ if (await raceDeadline(deps.awaitClaimedTurns(), timeoutMs) === "opened") return release2;
4920
+ release2();
4921
+ deps.log(
4922
+ `[serve] compaction skipped: a turn still held the driver after ${Math.round(timeoutMs / 1e3)}s`
4923
+ );
4924
+ return null;
4925
+ }
4926
+ var TURN_COMPACTION_YIELD_ATTEMPTS = 3;
4927
+ async function beginTurnClearOfCompaction(deps, maxAttempts = TURN_COMPACTION_YIELD_ATTEMPTS) {
4928
+ for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
4929
+ if (!await deps.awaitIdle()) return null;
4930
+ const endTurn = await deps.claimTurn();
4931
+ if (deps.gate.isIdle()) return endTurn;
4932
+ endTurn();
4933
+ }
4934
+ throw new Error(`turn overtaken by a compaction ${maxAttempts} times running`);
4935
+ }
4808
4936
  var COMPACTION_GATE_TIMEOUT_MESSAGE = "The session is still compacting its history and could not take this message. Send it again in a moment.";
4809
4937
  async function guardTurnAgainstCompaction(deps) {
4810
4938
  const outcome = await deps.gate.awaitIdle(deps.timeoutMs ?? compactionGateTimeoutMs());
@@ -4816,6 +4944,7 @@ async function guardTurnAgainstCompaction(deps) {
4816
4944
  }
4817
4945
 
4818
4946
  // runner/src/driver-swap-gate.ts
4947
+ var TURN_BIND_ATTEMPTS = 3;
4819
4948
  var DriverSwapGate = class {
4820
4949
  /** Resolves when the in-flight driver recreate settles (resolve or reject). */
4821
4950
  activeDriverSwap = null;
@@ -4861,6 +4990,25 @@ var DriverSwapGate = class {
4861
4990
  }
4862
4991
  return endTurn;
4863
4992
  }
4993
+ /**
4994
+ * Claim a turn slot on a driver no swap is about to replace. `prepare` is the
4995
+ * turn's async pre-flight (the driver start); a swap that registers during it
4996
+ * has already passed its turn wait, so the prompt waits that swap out and
4997
+ * prepares again on the fresh driver instead of dispatching onto the one being
4998
+ * killed. The slot is claimed in the same tick as the final check, so any later
4999
+ * swap waits for the turn. A failed swap releases the waiter; a throwing
5000
+ * `prepare` rejects with no slot claimed. Returns `endTurn`, as `beginTurn` does.
5001
+ * Bounded like the driver start: swaps overtaking every attempt is pathological,
5002
+ * and failing loudly beats spinning.
5003
+ */
5004
+ async beginTurnOnLiveDriver(prepare, maxAttempts = TURN_BIND_ATTEMPTS) {
5005
+ for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
5006
+ await this.awaitSwap();
5007
+ await prepare();
5008
+ if (!this.isSwapping()) return this.beginTurn();
5009
+ }
5010
+ throw new Error(`turn's driver replaced by a swap ${maxAttempts} times running`);
5011
+ }
4864
5012
  /** Whether a driver swap is registered and has not settled yet. */
4865
5013
  isSwapping() {
4866
5014
  return this.activeDriverSwap !== null;
@@ -5043,6 +5191,38 @@ var PendingTurns = class {
5043
5191
  }
5044
5192
  };
5045
5193
 
5194
+ // runner/src/prompt-turn-queue.ts
5195
+ var PromptTurnQueue = class {
5196
+ tail = Promise.resolve();
5197
+ held = 0;
5198
+ /** Take the next place. Call before the first `await` of the prompt's handler. */
5199
+ join() {
5200
+ const queued = this.held > 0;
5201
+ this.held += 1;
5202
+ const ready = this.tail;
5203
+ let open4;
5204
+ const done = new Promise((resolve4) => {
5205
+ open4 = resolve4;
5206
+ });
5207
+ this.tail = ready.then(() => done);
5208
+ let left = false;
5209
+ return {
5210
+ queued,
5211
+ ready,
5212
+ leave: () => {
5213
+ if (left) return;
5214
+ left = true;
5215
+ this.held -= 1;
5216
+ open4();
5217
+ }
5218
+ };
5219
+ }
5220
+ /** Prompts that joined and have not left yet; for diagnostics and tests. */
5221
+ get size() {
5222
+ return this.held;
5223
+ }
5224
+ };
5225
+
5046
5226
  // runner/src/serial-lock.ts
5047
5227
  function createSerialLock() {
5048
5228
  let tail = Promise.resolve();
@@ -5741,7 +5921,12 @@ var CompactionOrchestrator = class {
5741
5921
  this._isCompacting = true;
5742
5922
  this._startFired = false;
5743
5923
  this._endFired = false;
5924
+ let releaseDriver = null;
5744
5925
  try {
5926
+ if (this.opts.claimDriver) {
5927
+ releaseDriver = await this.opts.claimDriver(trigger);
5928
+ if (!releaseDriver) return null;
5929
+ }
5745
5930
  return await this._doCompact(trigger, focus);
5746
5931
  } finally {
5747
5932
  this._isCompacting = false;
@@ -5752,7 +5937,11 @@ var CompactionOrchestrator = class {
5752
5937
  `[compaction] onCompactionEnd threw while unwinding: ${err instanceof Error ? err.message : String(err)}`
5753
5938
  );
5754
5939
  } finally {
5755
- this.opts.onCompactionSettled?.();
5940
+ try {
5941
+ this.opts.onCompactionSettled?.();
5942
+ } finally {
5943
+ releaseDriver?.();
5944
+ }
5756
5945
  }
5757
5946
  }
5758
5947
  }
@@ -9456,6 +9645,7 @@ async function startAgentServer(opts) {
9456
9645
  const pendingTurns = new PendingTurns(() => {
9457
9646
  if (!compacting) sendEvent({ type: "status", phase: "idle" });
9458
9647
  });
9648
+ const promptTurns = new PromptTurnQueue();
9459
9649
  let driverRestartChain = Promise.resolve();
9460
9650
  let liveDriverActiveAfterTurn = false;
9461
9651
  let driver = secretsMode === "env" ? agentSession.driver : void 0;
@@ -9527,6 +9717,15 @@ async function startAgentServer(opts) {
9527
9717
  compactionGate.settle(gateHold);
9528
9718
  gateHold = null;
9529
9719
  },
9720
+ // A user turn that already holds a slot keeps the driver; the compaction
9721
+ // waits for it rather than prompting the driver under it. A platform call
9722
+ // waits briefly: a turn paused on a question can hold its slot for hours.
9723
+ claimDriver: (trigger) => claimDriverForCompaction({
9724
+ gate: compactionGate,
9725
+ awaitClaimedTurns: () => driverSwapGate.awaitActiveTurn(),
9726
+ log,
9727
+ timeoutMs: compactionTurnWaitFor(trigger)
9728
+ }),
9530
9729
  onLog: (line) => log(`[serve] ${line}`),
9531
9730
  // Phase 3: stamp every CompactionAttemptEvent with the registry's
9532
9731
  // current signature so wake-time tier-1 selection has the input it
@@ -10640,6 +10839,9 @@ async function startAgentServer(opts) {
10640
10839
  log(
10641
10840
  `[serve] tier-1 resume rejected: signature mismatch (expected=${cfgExpectedSig.slice(0, 12)} current=${currentSig.slice(0, 12)})`
10642
10841
  );
10842
+ log(
10843
+ `[serve] tier-1 resume signed set: ${capabilitySignatureInputs(capabilityRegistry.list()).join(",")}`
10844
+ );
10643
10845
  sendEvent({
10644
10846
  type: "resume_failed",
10645
10847
  resumeSessionId: cfgResumeSessionId,
@@ -10745,6 +10947,20 @@ async function startAgentServer(opts) {
10745
10947
  const awaitCompactionIdle = (what) => guardTurnAgainstCompaction({ gate: compactionGate, what, log, sendEvent });
10746
10948
  async function handlePrompt(cmd) {
10747
10949
  if (cmd.messageId) sendEvent({ type: "prompt_ack", messageId: cmd.messageId });
10950
+ const place = promptTurns.join();
10951
+ try {
10952
+ if (place.queued) {
10953
+ driver?.supersedePendingQuestion?.();
10954
+ const queuedAt = Date.now();
10955
+ await place.ready;
10956
+ logPhase("prompt_queue_wait", queuedAt);
10957
+ }
10958
+ await runPromptTurn(cmd, place.leave);
10959
+ } finally {
10960
+ place.leave();
10961
+ }
10962
+ }
10963
+ async function runPromptTurn(cmd, leaveQueue) {
10748
10964
  const promptReceivedAt = Date.now();
10749
10965
  const sessionIsReady = await awaitSessionReadyOrFail();
10750
10966
  logPhase("prompt_gate_wait", promptReceivedAt, { ready: sessionIsReady });
@@ -10765,6 +10981,7 @@ async function startAgentServer(opts) {
10765
10981
  await restageMaterializedSkills(true);
10766
10982
  const activeFlow = pickChatFlowTarget(activeFlows.values());
10767
10983
  if (activeFlow) {
10984
+ leaveQueue();
10768
10985
  sendEvent({ type: "status", phase: "thinking" });
10769
10986
  try {
10770
10987
  const bus = getOrCreateStimulusBus();
@@ -10793,19 +11010,31 @@ async function startAgentServer(opts) {
10793
11010
  }
10794
11011
  const driverStartStartedAt = Date.now();
10795
11012
  let driverStartOk = false;
11013
+ let driverStartAttempts = 0;
11014
+ let endTurn;
10796
11015
  try {
10797
- await ensureDriverStarted();
10798
- driverStartOk = true;
11016
+ endTurn = await beginTurnClearOfCompaction({
11017
+ gate: compactionGate,
11018
+ awaitIdle: () => awaitCompactionIdle("prompt"),
11019
+ claimTurn: () => driverSwapGate.beginTurnOnLiveDriver(() => {
11020
+ driverStartAttempts += 1;
11021
+ return ensureDriverStarted();
11022
+ })
11023
+ });
11024
+ driverStartOk = endTurn !== null;
10799
11025
  } catch (err) {
10800
11026
  const errMsg = err instanceof Error ? err.message : String(err);
10801
11027
  log(`[serve] driver start failed: ${errMsg}`);
10802
11028
  sendEvent({ type: "error", message: `Driver start failed: ${errMsg}`, fatal: true });
10803
11029
  return;
10804
11030
  } finally {
10805
- logPhase("driver_start", driverStartStartedAt, { ok: driverStartOk });
11031
+ logPhase("driver_start", driverStartStartedAt, {
11032
+ ok: driverStartOk,
11033
+ attempts: driverStartAttempts
11034
+ });
10806
11035
  }
11036
+ if (!endTurn) return;
10807
11037
  sendEvent({ type: "status", phase: "thinking" });
10808
- const endTurn = driverSwapGate.beginTurn();
10809
11038
  try {
10810
11039
  await driver.promptInput({ text: cmd.prompt, attachments: cmd.attachments });
10811
11040
  } catch (err) {
@@ -10836,8 +11065,22 @@ async function startAgentServer(opts) {
10836
11065
  });
10837
11066
  if (routed === "answered") return;
10838
11067
  if (!driver.acceptsReplyAsPrompt) return;
10839
- if (!await awaitCompactionIdle("reply")) return;
10840
- const endTurn = driverSwapGate.beginTurn();
11068
+ let endTurn;
11069
+ try {
11070
+ endTurn = await beginTurnClearOfCompaction({
11071
+ gate: compactionGate,
11072
+ awaitIdle: () => awaitCompactionIdle("reply"),
11073
+ claimTurn: () => driverSwapGate.beginTurnOnLiveDriver(ensureDriverStarted)
11074
+ });
11075
+ } catch (err) {
11076
+ sendEvent({
11077
+ type: "error",
11078
+ message: `Reply failed: ${err instanceof Error ? err.message : String(err)}`,
11079
+ fatal: false
11080
+ });
11081
+ return;
11082
+ }
11083
+ if (!endTurn) return;
10841
11084
  try {
10842
11085
  await driver.prompt(cmd.answer);
10843
11086
  } catch (err) {
@@ -11426,6 +11669,6 @@ function touchSession(state) {
11426
11669
  return { ...state, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
11427
11670
  }
11428
11671
 
11429
- export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CONNECTOR_MUTATE_NOT_READY, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, 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, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildStoreSnapshotReplay, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, computeDirectoryTotals, connectorRefreshKind, createAgentSession, createFlowConnectorReadiness, createManagedCodexSubpromptDriver, createSessionStimulusBus, defineCapability, deleteSession, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, driverActiveAfterTurnEnd, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowRunDrivesTurns, flowStartNeedsDriverRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, isSessionRootPathAllowed, isTerminalFlowStatus, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickChatFlowTarget, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, reconnectedRunNeedsAgentTurn, recreateKeepingLiveFlows, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, rejectPendingCapabilityCallsOnDisconnect, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, restoredRunHasWorkToResume, runAgentChat, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, supportsLiveToolUpdates, takeRunnerWsAuthToken, toActiveFlowTarget, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile };
11430
- //# sourceMappingURL=chunk-AO7TCPOS.js.map
11431
- //# sourceMappingURL=chunk-AO7TCPOS.js.map
11672
+ export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CONNECTOR_MUTATE_NOT_READY, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, 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, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildStoreSnapshotReplay, builtinCapabilities, capabilityLogInstance, capabilitySignatureInputs, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, computeDirectoryTotals, connectorRefreshKind, createAgentSession, createFlowConnectorReadiness, createManagedCodexSubpromptDriver, createSessionStimulusBus, defineCapability, deleteSession, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, driverActiveAfterTurnEnd, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowRunDrivesTurns, flowStartNeedsDriverRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, isSessionRootPathAllowed, isTerminalFlowStatus, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickChatFlowTarget, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, reconnectedRunNeedsAgentTurn, recreateKeepingLiveFlows, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, rejectPendingCapabilityCallsOnDisconnect, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, restoredRunHasWorkToResume, runAgentChat, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, supportsLiveToolUpdates, takeRunnerWsAuthToken, toActiveFlowTarget, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile };
11673
+ //# sourceMappingURL=chunk-KVDXSEQH.js.map
11674
+ //# sourceMappingURL=chunk-KVDXSEQH.js.map