@skaile/workspaces 4.34.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 (245) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/{asset-feeds-EIHLRBUG.js → asset-feeds-SJELMLNK.js} +10 -10
  3. package/dist/{asset-feeds-EIHLRBUG.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-JRSCSYRF.js → chunk-3CLUU45N.js} +7 -7
  32. package/dist/{chunk-JRSCSYRF.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-LA7DCX2U.js → chunk-422WJ2QC.js} +4 -4
  38. package/dist/{chunk-LA7DCX2U.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-ENV5DDQ7.js → chunk-5JJ5KQUM.js} +6 -6
  42. package/dist/{chunk-ENV5DDQ7.js.map → chunk-5JJ5KQUM.js.map} +1 -1
  43. package/dist/{chunk-AKBPLLFB.js → chunk-5L55HNNA.js} +5 -5
  44. package/dist/{chunk-AKBPLLFB.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-JR2QQLAQ.js → chunk-FQE2NBUH.js} +7 -7
  54. package/dist/{chunk-JR2QQLAQ.js.map → chunk-FQE2NBUH.js.map} +1 -1
  55. package/dist/{chunk-OWN2W2IW.js → chunk-FWZTKSYI.js} +284 -19
  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-OS6256B2.js → chunk-KVDXSEQH.js} +317 -30
  62. package/dist/chunk-KVDXSEQH.js.map +1 -0
  63. package/dist/{chunk-FDZL5QVZ.js → chunk-L22WTIIC.js} +3 -3
  64. package/dist/{chunk-FDZL5QVZ.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-WFRVQ2RY.js → chunk-NVNKPWL4.js} +10 -10
  82. package/dist/{chunk-WFRVQ2RY.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-RR4PJZLK.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-2EUW6NZD.js → chunk-TILISP6X.js} +2 -2
  100. package/dist/{chunk-2EUW6NZD.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/connect-failure-carry-over.d.ts +38 -0
  118. package/dist/connectors/src/connect-failure-carry-over.d.ts.map +1 -0
  119. package/dist/connectors/src/connector-manager.d.ts +15 -0
  120. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  121. package/dist/connectors/src/connector-types.d.ts +7 -0
  122. package/dist/connectors/src/connector-types.d.ts.map +1 -1
  123. package/dist/connectors/src/index.d.ts +1 -0
  124. package/dist/connectors/src/index.d.ts.map +1 -1
  125. package/dist/connectors/src/materialized-connectors.d.ts.map +1 -1
  126. package/dist/core/index.js +4 -4
  127. package/dist/core/manifest.js +1 -1
  128. package/dist/core/runtime-assets.js +3 -3
  129. package/dist/core/src/manifest.d.ts.map +1 -1
  130. package/dist/core/src/workspace-config.d.ts +7 -0
  131. package/dist/core/src/workspace-config.d.ts.map +1 -1
  132. package/dist/core/workspace-config.js +2 -2
  133. package/dist/deploy/index.js +4 -4
  134. package/dist/discovery/index.js +3 -3
  135. package/dist/{ensure-sources-JR4QI2MY.js → ensure-sources-SYZO2HNP.js} +13 -13
  136. package/dist/{ensure-sources-JR4QI2MY.js.map → ensure-sources-SYZO2HNP.js.map} +1 -1
  137. package/dist/factory-assets/connectors/box.js +12 -12
  138. package/dist/factory-assets/connectors/deploy.js +12 -12
  139. package/dist/factory-assets/connectors/devserver.js +12 -12
  140. package/dist/factory-assets/connectors/flow/adapter.js +12 -12
  141. package/dist/factory-assets/connectors/flow/engine.js +5 -5
  142. package/dist/factory-assets/connectors/flow/run-flow.js +14 -14
  143. package/dist/factory-assets/connectors/flow.js +12 -12
  144. package/dist/factory-assets/connectors/git/CONNECTOR.md +1 -0
  145. package/dist/factory-assets/connectors/git/driver.d.ts +29 -0
  146. package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
  147. package/dist/factory-assets/connectors/git.js +12 -12
  148. package/dist/factory-assets/connectors/gmail.js +12 -12
  149. package/dist/factory-assets/connectors/googledrive.js +12 -12
  150. package/dist/factory-assets/connectors/local.js +12 -12
  151. package/dist/factory-assets/connectors/mattermost.js +12 -12
  152. package/dist/factory-assets/connectors/memory.js +12 -12
  153. package/dist/factory-assets/connectors/minio.js +12 -12
  154. package/dist/factory-assets/connectors/postgres.js +12 -12
  155. package/dist/factory-assets/connectors/s3.js +12 -12
  156. package/dist/factory-assets/connectors/sharepoint.js +12 -12
  157. package/dist/factory-assets/connectors/sqlite.js +12 -12
  158. package/dist/factory-assets/connectors/static-server.js +12 -12
  159. package/dist/factory-assets/connectors/tunnel.js +12 -12
  160. package/dist/factory-assets/connectors/webdav.js +12 -12
  161. package/dist/factory-assets/connectors/xstate-store.js +12 -12
  162. package/dist/factory-assets/connectors/xstate.js +12 -12
  163. package/dist/{flows-X7JFAVRR.js → flows-6MDMBQUZ.js} +9 -9
  164. package/dist/{flows-X7JFAVRR.js.map → flows-6MDMBQUZ.js.map} +1 -1
  165. package/dist/{helpers-HTET53KB.js → helpers-IMUCDNME.js} +13 -13
  166. package/dist/{helpers-HTET53KB.js.map → helpers-IMUCDNME.js.map} +1 -1
  167. package/dist/library/index.js +7 -7
  168. package/dist/{library-publish-T6KHQ3TE.js → library-publish-XAIAHKRL.js} +17 -17
  169. package/dist/{library-publish-T6KHQ3TE.js.map → library-publish-XAIAHKRL.js.map} +1 -1
  170. package/dist/{open-library-O5I2DAEK.js → open-library-6N3XZ2XL.js} +15 -15
  171. package/dist/{open-library-O5I2DAEK.js.map → open-library-6N3XZ2XL.js.map} +1 -1
  172. package/dist/{paths-OI5IIS22.js → paths-4MTICP3T.js} +7 -7
  173. package/dist/{paths-OI5IIS22.js.map → paths-4MTICP3T.js.map} +1 -1
  174. package/dist/{plugin-store-C67RLSPD.js → plugin-store-GQ4WQZJ2.js} +6 -6
  175. package/dist/{plugin-store-C67RLSPD.js.map → plugin-store-GQ4WQZJ2.js.map} +1 -1
  176. package/dist/{project-QIOXU2NS.js → project-HESTMGPU.js} +14 -14
  177. package/dist/{project-QIOXU2NS.js.map → project-HESTMGPU.js.map} +1 -1
  178. package/dist/resolver/index.js +5 -5
  179. package/dist/runner/index.js +21 -21
  180. package/dist/runner/src/capability-registry.d.ts +13 -0
  181. package/dist/runner/src/capability-registry.d.ts.map +1 -1
  182. package/dist/runner/src/compaction/orchestrator.d.ts +8 -0
  183. package/dist/runner/src/compaction/orchestrator.d.ts.map +1 -1
  184. package/dist/runner/src/compaction-gate.d.ts +64 -1
  185. package/dist/runner/src/compaction-gate.d.ts.map +1 -1
  186. package/dist/runner/src/driver-swap-gate.d.ts +17 -0
  187. package/dist/runner/src/driver-swap-gate.d.ts.map +1 -1
  188. package/dist/runner/src/external-mcp.d.ts +6 -0
  189. package/dist/runner/src/external-mcp.d.ts.map +1 -1
  190. package/dist/runner/src/mcp-pinned-ca.d.ts +8 -0
  191. package/dist/runner/src/mcp-pinned-ca.d.ts.map +1 -0
  192. package/dist/runner/src/prompt-turn-queue.d.ts +28 -0
  193. package/dist/runner/src/prompt-turn-queue.d.ts.map +1 -0
  194. package/dist/runner/src/resources.d.ts.map +1 -1
  195. package/dist/runner/src/serve.d.ts +46 -0
  196. package/dist/runner/src/serve.d.ts.map +1 -1
  197. package/dist/runner/src/session-stimulus.d.ts +5 -0
  198. package/dist/runner/src/session-stimulus.d.ts.map +1 -1
  199. package/dist/sdk/asset-manager.js +10 -10
  200. package/dist/sdk/bridge.js +9 -9
  201. package/dist/sdk/core.js +4 -4
  202. package/dist/sdk/flow.js +5 -5
  203. package/dist/sdk/index.js +21 -21
  204. package/dist/sdk/resolver.js +5 -5
  205. package/dist/sdk/runner.js +21 -21
  206. package/dist/sdk/session.js +1 -1
  207. package/dist/sdk/store.js +1 -1
  208. package/dist/session/index.js +1 -1
  209. package/dist/session/src/bounded-subscriber-transport.d.ts +11 -4
  210. package/dist/session/src/bounded-subscriber-transport.d.ts.map +1 -1
  211. package/dist/session/src/dispatcher.d.ts +5 -0
  212. package/dist/session/src/dispatcher.d.ts.map +1 -1
  213. package/dist/session/src/index.d.ts +1 -1
  214. package/dist/session/src/index.d.ts.map +1 -1
  215. package/dist/session/src/types.d.ts +20 -1
  216. package/dist/session/src/types.d.ts.map +1 -1
  217. package/dist/{setup-SSGPDDWL.js → setup-PQG5DH5Z.js} +18 -18
  218. package/dist/{setup-SSGPDDWL.js.map → setup-PQG5DH5Z.js.map} +1 -1
  219. package/dist/{skills-4YTVHMOH.js → skills-JHUY4DFE.js} +10 -10
  220. package/dist/{skills-4YTVHMOH.js.map → skills-JHUY4DFE.js.map} +1 -1
  221. package/dist/{source-NPU7ZWID.js → source-PNYNVVPM.js} +16 -16
  222. package/dist/{source-NPU7ZWID.js.map → source-PNYNVVPM.js.map} +1 -1
  223. package/dist/{source-manifest-publish-4EYDVPR3.js → source-manifest-publish-6O6H4T2P.js} +18 -18
  224. package/dist/{source-manifest-publish-4EYDVPR3.js.map → source-manifest-publish-6O6H4T2P.js.map} +1 -1
  225. package/dist/store/index.js +1 -1
  226. package/dist/store/src/store.d.ts +21 -1
  227. package/dist/store/src/store.d.ts.map +1 -1
  228. package/dist/tui/index.js +21 -21
  229. package/dist/types/manifests.js +1 -1
  230. package/dist/types/src/manifests/mcp-server.d.ts +1 -0
  231. package/dist/types/src/manifests/mcp-server.d.ts.map +1 -1
  232. package/dist/workspace-plugin/adapters/mcp.js +10 -10
  233. package/dist/workspace-plugin/adapters/omp.js +7 -7
  234. package/dist/workspace-plugin/index.js +1 -1
  235. package/package.json +2 -2
  236. package/dist/chunk-2FBPAR2V.js.map +0 -1
  237. package/dist/chunk-7LZJRVKJ.js.map +0 -1
  238. package/dist/chunk-DHLE66FV.js.map +0 -1
  239. package/dist/chunk-LRCSWOZO.js.map +0 -1
  240. package/dist/chunk-MTWZ7KHZ.js.map +0 -1
  241. package/dist/chunk-OS6256B2.js.map +0 -1
  242. package/dist/chunk-OWN2W2IW.js.map +0 -1
  243. package/dist/chunk-RR4PJZLK.js.map +0 -1
  244. package/dist/chunk-TGE33MKN.js.map +0 -1
  245. package/dist/chunk-Z2QI42YH.js.map +0 -1
@@ -1,11 +1,11 @@
1
1
  import { declaredConnectErrorKind, ClassifiedConnectError, withConnectErrorKind } from './chunk-ZWTCXL3H.js';
2
- import { OAuthRequiredError, ConnectorFieldMissingError, LegacyAuthGrammarError, resolveAuthRef, readUnavailableMarker, ConnectorStartupError } from './chunk-DHLE66FV.js';
3
- import { EventNormalizer } from './chunk-NVQLE4MK.js';
4
- import { resolveModelTier } from './chunk-75LXFKQR.js';
5
- import { createDriver } from './chunk-MTWZ7KHZ.js';
2
+ import { OAuthRequiredError, ConnectorFieldMissingError, LegacyAuthGrammarError, resolveAuthRef, readUnavailableMarker, ConnectorStartupError } from './chunk-S63H4HDH.js';
3
+ import { EventNormalizer } from './chunk-3VUHHDZW.js';
4
+ import { resolveModelTier } from './chunk-O63QZ6XX.js';
5
+ import { createDriver } from './chunk-MQU632EK.js';
6
6
  import { pluginRegistry } from './chunk-6E6PKKAD.js';
7
7
  import { computeStimulus } from './chunk-IFGTRL2I.js';
8
- import { interpolateNodeInstruction, resolveNodeBindings, validateConsumedNodeOutput, appendAttempt, resolveTerminalFailureStatus, remainingActiveExecutionMs, deriveCheckEvidence, computeFlowStateFromSnapshots, availableRouterFrontier, evaluateRouterSelection, routerSelectionOutput, planRouterSkips, unsettledRouterBranchIds, countFailedAttempts, hasAutomaticRetryBudget, persistedRouterSelection } from './chunk-7HJ6SFFF.js';
8
+ import { interpolateNodeInstruction, resolveNodeBindings, validateConsumedNodeOutput, appendAttempt, resolveTerminalFailureStatus, remainingActiveExecutionMs, deriveCheckEvidence, computeFlowStateFromSnapshots, availableRouterFrontier, evaluateRouterSelection, routerSelectionOutput, planRouterSkips, unsettledRouterBranchIds, countFailedAttempts, hasAutomaticRetryBudget, persistedRouterSelection } from './chunk-FLGLODDF.js';
9
9
  import { INPUT_SCHEMA_SHAPES_HINT, coerceInputSchema } from './chunk-YYH5EVPM.js';
10
10
  import { parseFlowDefinition } from './chunk-DIQDYNXZ.js';
11
11
  import { describeStimulus, buildOrchestratorPrompt, renderSubpromptPrompt, renderStimulusPrompt } from './chunk-K3IBZ2UZ.js';
@@ -13,7 +13,7 @@ import { deterministicNodeKindLabel, nodeInstruction, flowDefaults, isAgentNode,
13
13
  import { classifierDecision, getConsumedOutputSchema, withoutReservedClassifierFields, FLOW_CAPTURE_CHANNELS, captureDestinationFieldName, invalidCaptureDestinationMessage } from './chunk-ORH2BZEM.js';
14
14
  import { withActivityLabelDefs } from './chunk-JS7DCCDA.js';
15
15
  import { processAlive } from './chunk-4GY63JU6.js';
16
- import { withFsDeadline, tryWithFsDeadline, FsDeadlineError, fsDeadlineMs } from './chunk-2FBPAR2V.js';
16
+ import { withFsDeadline, tryWithFsDeadline, FsDeadlineError, fsDeadlineMs } from './chunk-SQ7IN7KR.js';
17
17
  import { portableSpawn } from './chunk-ICSCSM5D.js';
18
18
  import { createLogger, redactCredentials } from './chunk-BOFL7GIF.js';
19
19
  import { resolve, relative, sep, isAbsolute, join, dirname } from 'path';
@@ -1534,6 +1534,28 @@ function resolveGitConfig(args) {
1534
1534
  lifecycle: parseLifecycleConfig(args.options, defaults.lifecycle)
1535
1535
  };
1536
1536
  }
1537
+ function applyReadOnly(config, options) {
1538
+ const rawSync = options?.sync ?? {};
1539
+ return {
1540
+ session: { ...config.session, enabled: false },
1541
+ sync: {
1542
+ fetchIntervalSec: rawSync.fetchIntervalSec != null ? config.sync.fetchIntervalSec : MODE_DEFAULTS.sync.sync.fetchIntervalSec,
1543
+ autoRebase: false,
1544
+ autoPull: true
1545
+ },
1546
+ lifecycle: {
1547
+ commitOnHibernate: false,
1548
+ pushOnHibernate: false,
1549
+ mergeOnClose: false,
1550
+ pushOnClose: false,
1551
+ autoCommitIdleMs: 0,
1552
+ pushAfterCommit: false,
1553
+ publishOnCreate: false
1554
+ }
1555
+ };
1556
+ }
1557
+ var READ_ONLY_PUSH_URL = "DISABLED";
1558
+ var READ_ONLY_HOOK_DETAIL = "read-only mount: nothing committed or pushed";
1537
1559
  var modeLog = createLogger({ kind: "connector", subkind: "git" });
1538
1560
  var REFRESH_LEAD_MS = 5 * 60 * 1e3;
1539
1561
  var MIN_REFRESH_DELAY_MS = 3e4;
@@ -2072,6 +2094,7 @@ async function assertOriginIsMount(s, cwd, op) {
2072
2094
  ["remote", "get-url", "--push", "origin"]
2073
2095
  ]) {
2074
2096
  const actual = await gitOrNull(args, cwd);
2097
+ if (s.readOnly && args.includes("--push") && actual === READ_ONLY_PUSH_URL) continue;
2075
2098
  if (actual === null || comparableRemoteUrl(actual) !== expected) {
2076
2099
  throw new Error(
2077
2100
  `git ${op}: origin${args.includes("--push") ? " (push)" : ""} resolves to ${actual === null ? "nothing" : redactCredentials(actual)}, not this mount's remote ${expected}. Remove the pushurl / insteadOf / url override from the git config first.`
@@ -2461,10 +2484,9 @@ var GitConnector = class extends AbstractConnector {
2461
2484
  this.log.info("mount start", { url, branch, targetDir });
2462
2485
  this.clearUnavailableCredentialHelper(declaration.id, url);
2463
2486
  const initial = await this.acquireInitialToken(declaration, secrets, tokenMediator);
2464
- const { session, sync, lifecycle } = resolveGitConfig({
2465
- mode: declaration.mode,
2466
- options: opts
2467
- });
2487
+ const readOnly = declaration.access === "read-only" && declaration.accessDefaulted !== true;
2488
+ const resolved = resolveGitConfig({ mode: declaration.mode, options: opts });
2489
+ const { session, sync, lifecycle } = readOnly ? applyReadOnly(resolved, opts) : resolved;
2468
2490
  const state = {
2469
2491
  url,
2470
2492
  branch,
@@ -2474,7 +2496,8 @@ var GitConnector = class extends AbstractConnector {
2474
2496
  sync,
2475
2497
  lifecycle,
2476
2498
  targetDir,
2477
- tokenMediator: initial.authRef?.kind === "backend" ? tokenMediator : void 0
2499
+ tokenMediator: initial.authRef?.kind === "backend" ? tokenMediator : void 0,
2500
+ readOnly
2478
2501
  };
2479
2502
  await this.prepareCheckout(
2480
2503
  targetDir,
@@ -2491,9 +2514,6 @@ var GitConnector = class extends AbstractConnector {
2491
2514
  }
2492
2515
  await this.checkoutSessionBranch(state, session, targetDir);
2493
2516
  }
2494
- if (sync.fetchIntervalSec > 0) {
2495
- this.startPeriodicFetch(state, targetDir);
2496
- }
2497
2517
  if (declaration.mount?.exposeAccessToken === true) {
2498
2518
  try {
2499
2519
  if (initial.token && (url.startsWith("https://") || url.startsWith("http://")) && process.env.GIT_CONFIG_GLOBAL) {
@@ -2542,6 +2562,18 @@ var GitConnector = class extends AbstractConnector {
2542
2562
  }
2543
2563
  }
2544
2564
  await ensureSkaileExcluded(targetDir, this.log);
2565
+ if (readOnly) {
2566
+ state.readOnlySaveOwed = await gitOrNull(["config", "--get", "remote.origin.pushurl"], targetDir) !== READ_ONLY_PUSH_URL;
2567
+ await this.withMountLock(
2568
+ state,
2569
+ () => this.refreshReadOnly(state, targetDir, { tolerateFetchFailure: true })
2570
+ );
2571
+ } else {
2572
+ await this.applyPushGuard(state, targetDir);
2573
+ }
2574
+ if (sync.fetchIntervalSec > 0) {
2575
+ this.startPeriodicFetch(state, targetDir);
2576
+ }
2545
2577
  this.log.info("mount ok", {
2546
2578
  targetDir,
2547
2579
  activeBranch: state.activeBranch,
@@ -2852,6 +2884,9 @@ var GitConnector = class extends AbstractConnector {
2852
2884
  * so a base branch that origin moved past is pushed rather than rejected.
2853
2885
  */
2854
2886
  async pushActiveBranch(s, cwd) {
2887
+ if (s.readOnly) {
2888
+ throw new Error(`git push refused: this mount is read-only (branch ${s.activeBranch})`);
2889
+ }
2855
2890
  if (s.activeBranch === s.branch) {
2856
2891
  await integrateOriginBaseBranch(s.branch, cwd, s);
2857
2892
  await gitRemote(["push", "origin", s.activeBranch], cwd, s, 6e4);
@@ -3011,6 +3046,11 @@ var GitConnector = class extends AbstractConnector {
3011
3046
  return this.withMountLock(s, async () => {
3012
3047
  this.log.debug("sync (pull) start", { branch: s.activeBranch });
3013
3048
  try {
3049
+ if (s.readOnly) {
3050
+ await this.refreshReadOnly(s, handle.mountPath, { tolerateFetchFailure: false });
3051
+ this.log.debug("sync ok");
3052
+ return { filesWritten: 0, filesDeleted: 0, bytesTransferred: 0 };
3053
+ }
3014
3054
  await pullByMerge(s.activeBranch, handle.mountPath, s, 6e4);
3015
3055
  await syncSubmodules(handle.mountPath, this.log, s);
3016
3056
  this.log.debug("sync ok");
@@ -3069,7 +3109,7 @@ var GitConnector = class extends AbstractConnector {
3069
3109
  }
3070
3110
  const cwd = handle.mountPath;
3071
3111
  return this.withMountLock(s, async () => {
3072
- const detail = await this.hibernateSave(s, cwd);
3112
+ const detail = s.readOnly ? READ_ONLY_HOOK_DETAIL : await this.hibernateSave(s, cwd);
3073
3113
  const pushState = await this.readPushState(s, cwd);
3074
3114
  return detail === void 0 ? { pushState } : { detail, pushState };
3075
3115
  });
@@ -3217,6 +3257,7 @@ var GitConnector = class extends AbstractConnector {
3217
3257
  const details = [];
3218
3258
  return this.withMountLock(s, async () => {
3219
3259
  try {
3260
+ if (s.readOnly) return READ_ONLY_HOOK_DETAIL;
3220
3261
  const commitResult = await commitAll(handle.mountPath, `skaile: session close`, this.log);
3221
3262
  if (commitResult) {
3222
3263
  const sha = await git(["rev-parse", "--short", "HEAD"], handle.mountPath);
@@ -3908,6 +3949,145 @@ var GitConnector = class extends AbstractConnector {
3908
3949
  });
3909
3950
  }
3910
3951
  }
3952
+ // ── Read-only mount ────────────────────────────────────────────────────────
3953
+ /**
3954
+ * Set `remote.origin.pushurl` to {@link READ_ONLY_PUSH_URL} on a read-only
3955
+ * mount, and remove it again (only that value) once the mount is read-write,
3956
+ * because the driver's own pushes go through `origin` and would hit it too.
3957
+ */
3958
+ async applyPushGuard(s, cwd) {
3959
+ const current = await gitOrNull(["config", "--get", "remote.origin.pushurl"], cwd);
3960
+ if (s.readOnly) {
3961
+ if (current === READ_ONLY_PUSH_URL) return;
3962
+ await git(["config", "remote.origin.pushurl", READ_ONLY_PUSH_URL], cwd, 5e3);
3963
+ } else if (current === READ_ONLY_PUSH_URL) {
3964
+ await git(["config", "--unset", "remote.origin.pushurl"], cwd, 5e3);
3965
+ }
3966
+ }
3967
+ /**
3968
+ * Bring a read-only mount to origin's base branch tip and drop every local
3969
+ * change: edits, untracked files (ignored ones stay, so `.skaile/` and build
3970
+ * output survive), local commits, an unfinished merge or rebase, and a branch
3971
+ * switch. Replaces the pull, so the rebase and merge-conflict paths never run.
3972
+ *
3973
+ * With `tolerateFetchFailure` (connect), an unreachable origin is logged and
3974
+ * the checkout is reset to the last fetched `origin/<base>` instead, so a
3975
+ * mount that was usable stays usable. With `skipWhenAtTarget` (periodic tick)
3976
+ * a checkout already on origin's tip is left as it is. While
3977
+ * `readOnlySaveOwed` is set the work is saved first ({@link preserveLocalWork});
3978
+ * when that fails nothing is discarded. The first reset after a save sets the
3979
+ * push block. Runs under the mount lock. True when the checkout was reset.
3980
+ */
3981
+ async refreshReadOnly(s, cwd, opts) {
3982
+ let fetched = false;
3983
+ try {
3984
+ await runRemoteGit(["fetch", "origin", s.branch], repoScopedAuth(s), {
3985
+ cwd,
3986
+ safeDir: cwd,
3987
+ timeout: 6e4,
3988
+ env: cLocaleEnv()
3989
+ });
3990
+ fetched = true;
3991
+ } catch (err) {
3992
+ if (!opts.tolerateFetchFailure) throw err;
3993
+ this.log.warn("read-only mount: fetch failed, resetting to the last fetched base branch", {
3994
+ branch: s.branch,
3995
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
3996
+ });
3997
+ }
3998
+ if (s.disposed) return false;
3999
+ const target = fetched ? await gitOrNull(["rev-parse", "--verify", "--quiet", "FETCH_HEAD^{commit}"], cwd) : await gitOrNull(
4000
+ ["rev-parse", "--verify", "--quiet", `refs/remotes/origin/${s.branch}^{commit}`],
4001
+ cwd
4002
+ ) ?? await gitOrNull(["rev-parse", "--verify", "--quiet", "HEAD^{commit}"], cwd);
4003
+ if (!target) {
4004
+ this.log.warn("read-only mount: no commit to reset to, local edits kept", {
4005
+ branch: s.branch
4006
+ });
4007
+ return false;
4008
+ }
4009
+ if (opts.skipWhenAtTarget && await gitOrNull(["symbolic-ref", "--quiet", "--short", "HEAD"], cwd) === s.branch && await gitOrNull(["rev-parse", "--verify", "--quiet", "HEAD^{commit}"], cwd) === target) {
4010
+ return false;
4011
+ }
4012
+ if (s.readOnlySaveOwed && !await this.preserveLocalWork(s, cwd, target)) return false;
4013
+ await gitOrNull(["rebase", "--quit"], cwd);
4014
+ await git(["checkout", "-f", "-B", s.branch, target], cwd, 12e4);
4015
+ await git(["clean", "-fd"], cwd, 12e4);
4016
+ if (fetched) {
4017
+ await gitOrNull(["update-ref", `refs/remotes/origin/${s.branch}`, target], cwd);
4018
+ await syncSubmodules(cwd, this.log, s);
4019
+ } else {
4020
+ await checkoutSubmodulesOffline(cwd);
4021
+ }
4022
+ s.activeBranch = s.branch;
4023
+ if (s.readOnlySaveOwed) {
4024
+ await this.applyPushGuard(s, cwd);
4025
+ s.readOnlySaveOwed = false;
4026
+ }
4027
+ this.log.info("read-only mount refreshed", { branch: s.branch, fetched });
4028
+ return true;
4029
+ }
4030
+ /**
4031
+ * Save what the first read-only discard would destroy on a checkout that was
4032
+ * used read-write: local commits on the base branch or a detached HEAD go to a
4033
+ * `skaile/pre-read-only-<time>` branch, uncommitted edits and untracked files
4034
+ * to a stash. Other local branches are left alone by the discard anyway.
4035
+ * False (logged) when the stash fails, e.g. over unmerged paths.
4036
+ */
4037
+ async preserveLocalWork(s, cwd, target) {
4038
+ const stamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[-:]/g, "").replace(/\..*$/, "");
4039
+ const saved = [];
4040
+ const tips = /* @__PURE__ */ new Set();
4041
+ for (const ref of ["HEAD", `refs/heads/${s.branch}`]) {
4042
+ const tip = await gitOrNull(["rev-parse", "--verify", "--quiet", `${ref}^{commit}`], cwd);
4043
+ if (!tip || tips.has(tip)) continue;
4044
+ tips.add(tip);
4045
+ if (await isAncestor(tip, target, cwd)) continue;
4046
+ const existing = await gitOrNull(
4047
+ [
4048
+ "for-each-ref",
4049
+ "--points-at",
4050
+ tip,
4051
+ "--format=%(refname:short)",
4052
+ "refs/heads/skaile/pre-read-only-*"
4053
+ ],
4054
+ cwd
4055
+ );
4056
+ if (existing) {
4057
+ saved.push(existing.split("\n")[0]);
4058
+ continue;
4059
+ }
4060
+ let name = `skaile/pre-read-only-${stamp}`;
4061
+ for (let n = 1; await localBranchExists(name, cwd); n++) {
4062
+ name = `skaile/pre-read-only-${stamp}-${n}`;
4063
+ }
4064
+ await git(["branch", name, tip], cwd);
4065
+ saved.push(name);
4066
+ }
4067
+ const dirty = await gitOrNull(["status", "--porcelain", "--untracked-files=normal"], cwd);
4068
+ if (dirty) {
4069
+ try {
4070
+ await gitCommitting(
4071
+ ["stash", "push", "--include-untracked", "-m", `skaile: before read-only ${stamp}`],
4072
+ cwd,
4073
+ 12e4
4074
+ );
4075
+ saved.push("stash@{0}");
4076
+ } catch (err) {
4077
+ this.log.error("read-only mount: could not save local edits, nothing discarded", err, {
4078
+ branch: s.branch
4079
+ });
4080
+ return false;
4081
+ }
4082
+ }
4083
+ if (saved.length > 0) {
4084
+ this.log.warn("read-only mount: saved local work before discarding it", {
4085
+ branch: s.branch,
4086
+ saved
4087
+ });
4088
+ }
4089
+ return true;
4090
+ }
3911
4091
  // ── Periodic fetch ─────────────────────────────────────────────────────────
3912
4092
  startPeriodicFetch(s, mountPath) {
3913
4093
  if (s.fetchTimer) clearInterval(s.fetchTimer);
@@ -3935,6 +4115,13 @@ var GitConnector = class extends AbstractConnector {
3935
4115
  }
3936
4116
  /** One periodic-fetch tick. Bails out at each resumption point once disconnected. */
3937
4117
  async runPeriodicFetch(s, mountPath) {
4118
+ if (s.readOnly) {
4119
+ await this.refreshReadOnly(s, mountPath, {
4120
+ tolerateFetchFailure: false,
4121
+ skipWhenAtTarget: true
4122
+ });
4123
+ return;
4124
+ }
3938
4125
  await this.fetchOrigin(s, mountPath);
3939
4126
  if (s.disposed) return;
3940
4127
  if (s.sync.autoRebase && s.activeBranch !== s.branch) {
@@ -4148,6 +4335,7 @@ var GitConnector = class extends AbstractConnector {
4148
4335
  }, s.lifecycle.autoCommitIdleMs);
4149
4336
  }
4150
4337
  async performAutoCommit(s, mountPath) {
4338
+ if (s.readOnly) return;
4151
4339
  try {
4152
4340
  if (await refuseUnfinishedOperation(mountPath, this.log)) return;
4153
4341
  const message = await this.generateCommitMessage(mountPath);
@@ -7945,6 +8133,8 @@ var ConnectorManager = class {
7945
8133
  * that will never sync. See {@link listFailedConnectors}.
7946
8134
  */
7947
8135
  failedConnectors = /* @__PURE__ */ new Map();
8136
+ /** Kind of each failed bulk-connect attempt, so a carried failure replays it. */
8137
+ attemptErrorKinds = /* @__PURE__ */ new Map();
7948
8138
  // Allocated absolute mount target → owning connector id; collisions rejected at setup, released on disconnect.
7949
8139
  mountTargets = /* @__PURE__ */ new Map();
7950
8140
  /**
@@ -8275,8 +8465,13 @@ var ConnectorManager = class {
8275
8465
  throw err;
8276
8466
  }
8277
8467
  const results = [];
8468
+ const carriedIds = /* @__PURE__ */ new Set();
8278
8469
  for (const decl of declarations) {
8279
- results.push(await this.attemptConnect(decl));
8470
+ const carried = this.opts.failureCarryOver?.take(decl);
8471
+ if (carried !== void 0) carriedIds.add(decl.id);
8472
+ results.push(
8473
+ carried !== void 0 ? this.carryFailure(decl, carried) : await this.attemptConnect(decl)
8474
+ );
8280
8475
  }
8281
8476
  const report = { results };
8282
8477
  this.mgrLog.info("connectAll complete", {
@@ -8289,6 +8484,15 @@ var ConnectorManager = class {
8289
8484
  const decl = declById.get(r.id);
8290
8485
  return !r.connected && r.access === "read-write" && decl?.mount != null && !readUnavailableMarker(decl.unavailable);
8291
8486
  }).map((r) => ({ id: r.id, error: r.error ?? "unknown error" }));
8487
+ for (const f of failedRw) {
8488
+ const decl = declById.get(f.id);
8489
+ if (!decl || carriedIds.has(f.id)) continue;
8490
+ const errorKind = this.attemptErrorKinds.get(f.id);
8491
+ this.opts.failureCarryOver?.record(decl, {
8492
+ error: f.error,
8493
+ ...errorKind ? { errorKind } : {}
8494
+ });
8495
+ }
8292
8496
  if (failedRw.length > 0) {
8293
8497
  const summary = failedRw.map((f) => `"${f.id}": ${f.error}`).join("; ");
8294
8498
  this.mgrLog.error("connectAll failed: required read-write connector(s) failed", void 0, {
@@ -8344,6 +8548,7 @@ var ConnectorManager = class {
8344
8548
  });
8345
8549
  this.createdMountDirs.delete(decl.id);
8346
8550
  this.failedConnectors.delete(decl.id);
8551
+ this.attemptErrorKinds.delete(decl.id);
8347
8552
  this.opts.onStatusChange?.({
8348
8553
  type: "connector_status",
8349
8554
  connectorId: decl.id,
@@ -8363,6 +8568,8 @@ var ConnectorManager = class {
8363
8568
  const msg = redactCredentials(err instanceof Error ? err.message : String(err));
8364
8569
  this.recordFailure(decl, msg);
8365
8570
  const errorKind = classifyConnectError(err);
8571
+ if (errorKind) this.attemptErrorKinds.set(decl.id, errorKind);
8572
+ else this.attemptErrorKinds.delete(decl.id);
8366
8573
  this.mgrLog.error("connect failed", err, {
8367
8574
  id: decl.id,
8368
8575
  driver: decl.driver,
@@ -8383,6 +8590,26 @@ var ConnectorManager = class {
8383
8590
  };
8384
8591
  }
8385
8592
  }
8593
+ /**
8594
+ * Fail `decl` with the error a previous build's `connectAll` carried over,
8595
+ * without calling its driver. Same records and events as a failed attempt.
8596
+ */
8597
+ carryFailure(decl, { error, errorKind }) {
8598
+ if (!this.active.has(decl.id)) this.releaseMountTarget(decl.id);
8599
+ this.recordFailure(decl, error);
8600
+ this.mgrLog.warn("connect skipped: it failed in the previous build moments ago", {
8601
+ id: decl.id,
8602
+ driver: decl.driver
8603
+ });
8604
+ this.opts.onStatusChange?.({
8605
+ type: "connector_status",
8606
+ connectorId: decl.id,
8607
+ status: "error",
8608
+ error,
8609
+ ...errorKind ? { errorKind } : {}
8610
+ });
8611
+ return { id: decl.id, connected: false, error, access: decl.access };
8612
+ }
8386
8613
  /**
8387
8614
  * Compatibility no-op for the removed in-container fleet health gate. Host
8388
8615
  * fleet-managed cloud mounts are verified at connect time by their drivers.
@@ -8414,6 +8641,7 @@ var ConnectorManager = class {
8414
8641
  this.mountTargets.clear();
8415
8642
  this.createdMountDirs.clear();
8416
8643
  this.failedConnectors.clear();
8644
+ this.attemptErrorKinds.clear();
8417
8645
  this.mgrLog.info("disconnectAll complete");
8418
8646
  }
8419
8647
  // ── Hot-plug ──────────────────────────────────────────────────────────────────
@@ -8923,6 +9151,43 @@ function redactMarker(marker) {
8923
9151
  ...marker.detail !== void 0 ? { detail: redactCredentials(marker.detail) } : {}
8924
9152
  };
8925
9153
  }
9154
+
9155
+ // connectors/src/connect-failure-carry-over.ts
9156
+ var CONNECT_FAILURE_CARRY_OVER_TTL_MS = 3e4;
9157
+ var ConnectFailureCarryOver = class {
9158
+ entries = /* @__PURE__ */ new Map();
9159
+ ttlMs;
9160
+ now;
9161
+ constructor(opts = {}) {
9162
+ this.ttlMs = opts.ttlMs ?? CONNECT_FAILURE_CARRY_OVER_TTL_MS;
9163
+ this.now = opts.now ?? Date.now;
9164
+ }
9165
+ /** Remember how `decl` failed in the bulk connect that just ran. */
9166
+ record(decl, failure) {
9167
+ const fingerprint = fingerprintOf(decl);
9168
+ if (fingerprint === void 0) return;
9169
+ this.entries.set(decl.id, { ...failure, fingerprint, at: this.now() });
9170
+ }
9171
+ /**
9172
+ * The carried failure for `decl`, or `undefined` when it must connect.
9173
+ * Removes the entry either way, so a failure is carried over once at most.
9174
+ */
9175
+ take(decl) {
9176
+ const entry = this.entries.get(decl.id);
9177
+ if (!entry) return void 0;
9178
+ this.entries.delete(decl.id);
9179
+ if (this.now() - entry.at > this.ttlMs) return void 0;
9180
+ if (fingerprintOf(decl) !== entry.fingerprint) return void 0;
9181
+ return { error: entry.error, ...entry.errorKind ? { errorKind: entry.errorKind } : {} };
9182
+ }
9183
+ };
9184
+ function fingerprintOf(decl) {
9185
+ try {
9186
+ return JSON.stringify(decl);
9187
+ } catch {
9188
+ return void 0;
9189
+ }
9190
+ }
8926
9191
  var zStatic = z4.z ?? z4.default ?? z4;
8927
9192
  function readFailedConnectors(manager) {
8928
9193
  if (typeof manager.listFailedConnectors !== "function") return [];
@@ -12875,6 +13140,6 @@ function describeFlowOperations() {
12875
13140
  return new FlowAdapter().tools.describeOperations({ access: "read-write" });
12876
13141
  }
12877
13142
 
12878
- export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, BoxConnector, ClassifierSubpromptRunner, ConnectorManager, DeployConnector, DevServerConnector, FlowAdapter, GitConnector, GmailConnector, GoogleDriveConnector, LocalConnector, LogBuffer, MAX_REARM_MS, MIN_REFRESH_DELAY_MS, ManagedGitconfigCollisionError, MattermostConnector, MemoryConnector, MinIOConnector, NO_ACTIVE_FLOW_ERROR, PortPool, PostgresConnector, REFRESH_LEAD_MS, S3Connector, S3FetchStoppedError, S3PresignedRequestError, S3_PRESIGN_BATCH, SQLiteConnector, SessionInlineSubFlowRunner, SessionNodeExecutor, SessionSubpromptRunner, SharePointConnector, StaticServerConnector, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, __test, atomicReplaceCredential, buildConnectorPromptSection, buildConnectorToolDefs, buildFlowPromptEvent, buildFlowToolDefs, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, checkFleetMountLiveness, classifierQuestion, classifyConnectError, createConnector, createConnector10, createConnector11, createConnector12, createConnector13, createConnector14, createConnector15, createConnector16, createConnector17, createConnector18, createConnector19, createConnector2, createConnector20, createConnector3, createConnector4, createConnector5, createConnector6, createConnector7, createConnector8, createConnector9, createFsWatcher, createWorktree, defaultSpawn, describeFlowOperations, driveOrchestratorTurn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, missingTokenMediatorMessage, parseListObjectsV2, presignScopePrefix, presignableKey, readGitSyncStatus, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock };
12879
- //# sourceMappingURL=chunk-OWN2W2IW.js.map
12880
- //# sourceMappingURL=chunk-OWN2W2IW.js.map
13143
+ export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, BoxConnector, CONNECT_FAILURE_CARRY_OVER_TTL_MS, ClassifierSubpromptRunner, ConnectFailureCarryOver, ConnectorManager, DeployConnector, DevServerConnector, FlowAdapter, GitConnector, GmailConnector, GoogleDriveConnector, LocalConnector, LogBuffer, MAX_REARM_MS, MIN_REFRESH_DELAY_MS, ManagedGitconfigCollisionError, MattermostConnector, MemoryConnector, MinIOConnector, NO_ACTIVE_FLOW_ERROR, PortPool, PostgresConnector, REFRESH_LEAD_MS, S3Connector, S3FetchStoppedError, S3PresignedRequestError, S3_PRESIGN_BATCH, SQLiteConnector, SessionInlineSubFlowRunner, SessionNodeExecutor, SessionSubpromptRunner, SharePointConnector, StaticServerConnector, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, __test, atomicReplaceCredential, buildConnectorPromptSection, buildConnectorToolDefs, buildFlowPromptEvent, buildFlowToolDefs, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, checkFleetMountLiveness, classifierQuestion, classifyConnectError, createConnector, createConnector10, createConnector11, createConnector12, createConnector13, createConnector14, createConnector15, createConnector16, createConnector17, createConnector18, createConnector19, createConnector2, createConnector20, createConnector3, createConnector4, createConnector5, createConnector6, createConnector7, createConnector8, createConnector9, createFsWatcher, createWorktree, defaultSpawn, describeFlowOperations, driveOrchestratorTurn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, missingTokenMediatorMessage, parseListObjectsV2, presignScopePrefix, presignableKey, readGitSyncStatus, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock };
13144
+ //# sourceMappingURL=chunk-FWZTKSYI.js.map
13145
+ //# sourceMappingURL=chunk-FWZTKSYI.js.map