@skaile/workspaces 4.10.0 → 4.12.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 +24 -0
  2. package/dist/{asset-feeds-W24JZM36.js → asset-feeds-WSKIL5GA.js} +13 -13
  3. package/dist/{asset-feeds-W24JZM36.js.map → asset-feeds-WSKIL5GA.js.map} +1 -1
  4. package/dist/asset-manager/catalog-deployer.js +9 -9
  5. package/dist/asset-manager/index.js +13 -13
  6. package/dist/asset-manager/installer.js +9 -9
  7. package/dist/bridge/drivers/claude-sdk.js +16 -14
  8. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  9. package/dist/bridge/drivers/codex.js +11 -11
  10. package/dist/bridge/drivers/continue.js +13 -12
  11. package/dist/bridge/drivers/continue.js.map +1 -1
  12. package/dist/bridge/drivers/echo.js +10 -8
  13. package/dist/bridge/drivers/echo.js.map +1 -1
  14. package/dist/bridge/drivers/gemini.js +9 -8
  15. package/dist/bridge/drivers/goose.js +12 -11
  16. package/dist/bridge/drivers/goose.js.map +1 -1
  17. package/dist/bridge/drivers/omp.js +7 -6
  18. package/dist/bridge/drivers/omp.js.map +1 -1
  19. package/dist/bridge/drivers/opencode.js +14 -12
  20. package/dist/bridge/drivers/opencode.js.map +1 -1
  21. package/dist/bridge/drivers/qwen.js +9 -8
  22. package/dist/bridge/drivers/qwen.js.map +1 -1
  23. package/dist/bridge/index.js +13 -13
  24. package/dist/bridge/src/cloud.d.ts.map +1 -1
  25. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  26. package/dist/bridge/src/drivers/echo.d.ts.map +1 -1
  27. package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +1 -1
  28. package/dist/bridge/src/provider-materialize/continue-config-yaml.d.ts.map +1 -1
  29. package/dist/bridge/src/provider-materialize/env-drivers.d.ts +20 -5
  30. package/dist/bridge/src/provider-materialize/env-drivers.d.ts.map +1 -1
  31. package/dist/bridge/src/provider-materialize/opencode-config.d.ts.map +1 -1
  32. package/dist/bridge/src/types.d.ts +6 -2
  33. package/dist/bridge/src/types.d.ts.map +1 -1
  34. package/dist/{chunk-MKZOK4JU.js → chunk-2FBPAR2V.js} +3 -3
  35. package/dist/{chunk-MKZOK4JU.js.map → chunk-2FBPAR2V.js.map} +1 -1
  36. package/dist/{chunk-HO4UO25I.js → chunk-2J3PASYF.js} +3 -3
  37. package/dist/{chunk-HO4UO25I.js.map → chunk-2J3PASYF.js.map} +1 -1
  38. package/dist/{chunk-FUCYTGAE.js → chunk-35G4M33T.js} +10 -4
  39. package/dist/chunk-35G4M33T.js.map +1 -0
  40. package/dist/{chunk-JECDED7B.js → chunk-3QCLMSXU.js} +5 -5
  41. package/dist/{chunk-JECDED7B.js.map → chunk-3QCLMSXU.js.map} +1 -1
  42. package/dist/{chunk-BXV6RLF4.js → chunk-4G6HFU27.js} +4 -4
  43. package/dist/{chunk-BXV6RLF4.js.map → chunk-4G6HFU27.js.map} +1 -1
  44. package/dist/{chunk-OUJVFZWJ.js → chunk-4SIMGJIU.js} +4 -9
  45. package/dist/chunk-4SIMGJIU.js.map +1 -0
  46. package/dist/{chunk-CSS3HHQ6.js → chunk-5UPJWC3M.js} +8 -8
  47. package/dist/{chunk-CSS3HHQ6.js.map → chunk-5UPJWC3M.js.map} +1 -1
  48. package/dist/{chunk-O3DHAGBO.js → chunk-626UIDZT.js} +6 -5
  49. package/dist/chunk-626UIDZT.js.map +1 -0
  50. package/dist/{chunk-2HUQUTJ3.js → chunk-6XIIGQXL.js} +4 -4
  51. package/dist/{chunk-2HUQUTJ3.js.map → chunk-6XIIGQXL.js.map} +1 -1
  52. package/dist/{chunk-A3X4LDOD.js → chunk-7EYRYGIM.js} +6 -6
  53. package/dist/{chunk-A3X4LDOD.js.map → chunk-7EYRYGIM.js.map} +1 -1
  54. package/dist/{chunk-7IRJ4K4F.js → chunk-7IH3RKKK.js} +3 -3
  55. package/dist/{chunk-7IRJ4K4F.js.map → chunk-7IH3RKKK.js.map} +1 -1
  56. package/dist/chunk-ALLCAFHQ.js +365 -0
  57. package/dist/chunk-ALLCAFHQ.js.map +1 -0
  58. package/dist/{chunk-W4IPN3DD.js → chunk-BOFL7GIF.js} +62 -10
  59. package/dist/chunk-BOFL7GIF.js.map +1 -0
  60. package/dist/{chunk-LFW2SH54.js → chunk-BVYTXIN5.js} +3 -3
  61. package/dist/{chunk-LFW2SH54.js.map → chunk-BVYTXIN5.js.map} +1 -1
  62. package/dist/{chunk-QV36ENWE.js → chunk-BYBIEHQX.js} +98 -39
  63. package/dist/chunk-BYBIEHQX.js.map +1 -0
  64. package/dist/{chunk-WXB6YEHZ.js → chunk-C7DPL3YA.js} +3 -3
  65. package/dist/{chunk-WXB6YEHZ.js.map → chunk-C7DPL3YA.js.map} +1 -1
  66. package/dist/{chunk-CJXSTOGW.js → chunk-C7R65ZTD.js} +4 -4
  67. package/dist/{chunk-CJXSTOGW.js.map → chunk-C7R65ZTD.js.map} +1 -1
  68. package/dist/{chunk-35PMOWAD.js → chunk-CPIAQTYM.js} +4 -4
  69. package/dist/chunk-CPIAQTYM.js.map +1 -0
  70. package/dist/{chunk-REYJKU7T.js → chunk-DHMBE5J7.js} +12 -364
  71. package/dist/chunk-DHMBE5J7.js.map +1 -0
  72. package/dist/chunk-DMJ4FUEO.js +141 -0
  73. package/dist/chunk-DMJ4FUEO.js.map +1 -0
  74. package/dist/{chunk-7ZJXFQ42.js → chunk-DPKRBLYC.js} +3 -3
  75. package/dist/{chunk-7ZJXFQ42.js.map → chunk-DPKRBLYC.js.map} +1 -1
  76. package/dist/{chunk-KSIRR5PL.js → chunk-DPLIN2RA.js} +3 -3
  77. package/dist/{chunk-KSIRR5PL.js.map → chunk-DPLIN2RA.js.map} +1 -1
  78. package/dist/{chunk-ILG4BXYE.js → chunk-GZZPKAV5.js} +27 -3
  79. package/dist/chunk-GZZPKAV5.js.map +1 -0
  80. package/dist/{chunk-M5H4DWIA.js → chunk-HGPSZXZP.js} +3 -3
  81. package/dist/{chunk-M5H4DWIA.js.map → chunk-HGPSZXZP.js.map} +1 -1
  82. package/dist/{chunk-MMLXSVQ3.js → chunk-IGI6M7MS.js} +5 -5
  83. package/dist/{chunk-MMLXSVQ3.js.map → chunk-IGI6M7MS.js.map} +1 -1
  84. package/dist/{chunk-VLXODO37.js → chunk-KECSNBET.js} +3 -3
  85. package/dist/{chunk-VLXODO37.js.map → chunk-KECSNBET.js.map} +1 -1
  86. package/dist/{chunk-3YTFHHMI.js → chunk-LHBWHIIT.js} +3 -3
  87. package/dist/{chunk-3YTFHHMI.js.map → chunk-LHBWHIIT.js.map} +1 -1
  88. package/dist/{chunk-DIQVQT5C.js → chunk-MH4GYGOW.js} +5 -5
  89. package/dist/{chunk-DIQVQT5C.js.map → chunk-MH4GYGOW.js.map} +1 -1
  90. package/dist/{chunk-WILO77HE.js → chunk-N4DHPRBS.js} +4 -4
  91. package/dist/{chunk-WILO77HE.js.map → chunk-N4DHPRBS.js.map} +1 -1
  92. package/dist/{chunk-5D5MCO4L.js → chunk-N5O6Z7HV.js} +10 -10
  93. package/dist/{chunk-5D5MCO4L.js.map → chunk-N5O6Z7HV.js.map} +1 -1
  94. package/dist/{chunk-FAI2SMFE.js → chunk-P2DLXBZK.js} +4 -4
  95. package/dist/{chunk-FAI2SMFE.js.map → chunk-P2DLXBZK.js.map} +1 -1
  96. package/dist/{chunk-EUWEMCYO.js → chunk-PCM75ICY.js} +4 -4
  97. package/dist/{chunk-EUWEMCYO.js.map → chunk-PCM75ICY.js.map} +1 -1
  98. package/dist/{chunk-7BUZQVRR.js → chunk-Q6NDQ6BH.js} +4 -4
  99. package/dist/{chunk-7BUZQVRR.js.map → chunk-Q6NDQ6BH.js.map} +1 -1
  100. package/dist/{chunk-OE2OMMOX.js → chunk-QOCH3LO7.js} +6 -6
  101. package/dist/{chunk-OE2OMMOX.js.map → chunk-QOCH3LO7.js.map} +1 -1
  102. package/dist/{chunk-CTQ4G3UY.js → chunk-QUSE2T4N.js} +173 -101
  103. package/dist/chunk-QUSE2T4N.js.map +1 -0
  104. package/dist/{chunk-ULX3R5PV.js → chunk-RE2XE2AP.js} +11 -11
  105. package/dist/chunk-RE2XE2AP.js.map +1 -0
  106. package/dist/{chunk-7J4YIVKJ.js → chunk-RJNBMEFG.js} +7 -7
  107. package/dist/{chunk-7J4YIVKJ.js.map → chunk-RJNBMEFG.js.map} +1 -1
  108. package/dist/{chunk-2D5BYAL6.js → chunk-RQLL7L72.js} +3 -3
  109. package/dist/{chunk-2D5BYAL6.js.map → chunk-RQLL7L72.js.map} +1 -1
  110. package/dist/{chunk-3T5DRUNZ.js → chunk-RQRWMKST.js} +5 -5
  111. package/dist/{chunk-3T5DRUNZ.js.map → chunk-RQRWMKST.js.map} +1 -1
  112. package/dist/{chunk-3HKYCT2M.js → chunk-RUBPZLMO.js} +3 -3
  113. package/dist/{chunk-3HKYCT2M.js.map → chunk-RUBPZLMO.js.map} +1 -1
  114. package/dist/{chunk-3XXQPHGL.js → chunk-T3YUSWVK.js} +4 -4
  115. package/dist/{chunk-3XXQPHGL.js.map → chunk-T3YUSWVK.js.map} +1 -1
  116. package/dist/{chunk-6XKQEDF7.js → chunk-TMOS6KL5.js} +6 -5
  117. package/dist/chunk-TMOS6KL5.js.map +1 -0
  118. package/dist/{chunk-37PUZERM.js → chunk-TVQPJZSO.js} +3 -3
  119. package/dist/{chunk-37PUZERM.js.map → chunk-TVQPJZSO.js.map} +1 -1
  120. package/dist/{chunk-IECQMSQ5.js → chunk-UE4AKJNQ.js} +4 -129
  121. package/dist/chunk-UE4AKJNQ.js.map +1 -0
  122. package/dist/{chunk-ELPR5XBG.js → chunk-V4RGCKYC.js} +5 -3
  123. package/dist/chunk-V4RGCKYC.js.map +1 -0
  124. package/dist/{chunk-UKJMQZV6.js → chunk-VOEBLPXO.js} +2 -2
  125. package/dist/chunk-VOEBLPXO.js.map +1 -0
  126. package/dist/{chunk-BZ7GHZ2J.js → chunk-WNDDWWGU.js} +7 -7
  127. package/dist/{chunk-BZ7GHZ2J.js.map → chunk-WNDDWWGU.js.map} +1 -1
  128. package/dist/{chunk-KLMXMW6Z.js → chunk-XPDB4O4H.js} +3 -3
  129. package/dist/{chunk-KLMXMW6Z.js.map → chunk-XPDB4O4H.js.map} +1 -1
  130. package/dist/{chunk-I3UWSGEB.js → chunk-ZK7DQRB2.js} +3 -3
  131. package/dist/{chunk-I3UWSGEB.js.map → chunk-ZK7DQRB2.js.map} +1 -1
  132. package/dist/{chunk-UXUDNBJM.js → chunk-ZSB2SPV4.js} +3 -3
  133. package/dist/{chunk-UXUDNBJM.js.map → chunk-ZSB2SPV4.js.map} +1 -1
  134. package/dist/cli/index.js +70 -69
  135. package/dist/cli/index.js.map +1 -1
  136. package/dist/connectors/config.js +4 -13
  137. package/dist/connectors/index.js +21 -20
  138. package/dist/connectors/src/config.d.ts.map +1 -1
  139. package/dist/connectors/src/connector-manager.d.ts +21 -1
  140. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  141. package/dist/connectors/src/fleet-utils.d.ts +38 -0
  142. package/dist/connectors/src/fleet-utils.d.ts.map +1 -1
  143. package/dist/connectors/src/index.d.ts +2 -2
  144. package/dist/connectors/src/index.d.ts.map +1 -1
  145. package/dist/connectors/src/materialized-connectors.d.ts.map +1 -1
  146. package/dist/connectors/src/secrets.d.ts.map +1 -1
  147. package/dist/{connectors-2OHRZDJZ.js → connectors-T57XL7EA.js} +3 -3
  148. package/dist/{connectors-2OHRZDJZ.js.map → connectors-T57XL7EA.js.map} +1 -1
  149. package/dist/core/index.js +8 -8
  150. package/dist/core/logging.js +2 -2
  151. package/dist/core/manifest.js +2 -2
  152. package/dist/core/provider-registry-credentials.js +2 -2
  153. package/dist/core/provider-registry.js +1 -1
  154. package/dist/core/runtime-assets.js +4 -4
  155. package/dist/core/src/index.d.ts +1 -1
  156. package/dist/core/src/index.d.ts.map +1 -1
  157. package/dist/core/src/logging/create-logger.d.ts.map +1 -1
  158. package/dist/core/src/logging/index.d.ts +1 -0
  159. package/dist/core/src/logging/index.d.ts.map +1 -1
  160. package/dist/core/src/logging/redact.d.ts +33 -0
  161. package/dist/core/src/logging/redact.d.ts.map +1 -0
  162. package/dist/core/src/logging/sanitize.d.ts +11 -0
  163. package/dist/core/src/logging/sanitize.d.ts.map +1 -1
  164. package/dist/core/src/provider-registry.d.ts +22 -0
  165. package/dist/core/src/provider-registry.d.ts.map +1 -1
  166. package/dist/core/workspace-config.js +3 -3
  167. package/dist/deploy/index.js +8 -8
  168. package/dist/discovery/index.js +3 -3
  169. package/dist/{ensure-sources-5ZYEU4BE.js → ensure-sources-ZZRU74UG.js} +16 -16
  170. package/dist/{ensure-sources-5ZYEU4BE.js.map → ensure-sources-ZZRU74UG.js.map} +1 -1
  171. package/dist/factory-assets/connectors/box.js +21 -20
  172. package/dist/factory-assets/connectors/deploy.js +21 -20
  173. package/dist/factory-assets/connectors/devserver.js +21 -20
  174. package/dist/factory-assets/connectors/flow/CONNECTOR.md +4 -2
  175. package/dist/factory-assets/connectors/flow/adapter.js +21 -20
  176. package/dist/factory-assets/connectors/flow/contract/schema.d.ts +12 -0
  177. package/dist/factory-assets/connectors/flow/contract/schema.d.ts.map +1 -1
  178. package/dist/factory-assets/connectors/flow/contract.js +4 -3
  179. package/dist/factory-assets/connectors/flow/engine/node-shape.d.ts.map +1 -1
  180. package/dist/factory-assets/connectors/flow/engine.js +12 -11
  181. package/dist/factory-assets/connectors/flow/prompt-fragments.js +3 -2
  182. package/dist/factory-assets/connectors/flow/run-flow.js +23 -22
  183. package/dist/factory-assets/connectors/flow.js +21 -20
  184. package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
  185. package/dist/factory-assets/connectors/git.js +21 -20
  186. package/dist/factory-assets/connectors/gmail.js +21 -20
  187. package/dist/factory-assets/connectors/googledrive.js +21 -20
  188. package/dist/factory-assets/connectors/local.js +21 -20
  189. package/dist/factory-assets/connectors/mattermost.js +21 -20
  190. package/dist/factory-assets/connectors/memory.js +21 -20
  191. package/dist/factory-assets/connectors/minio.js +21 -20
  192. package/dist/factory-assets/connectors/postgres.js +21 -20
  193. package/dist/factory-assets/connectors/s3.js +21 -20
  194. package/dist/factory-assets/connectors/sharepoint.js +21 -20
  195. package/dist/factory-assets/connectors/sqlite.js +21 -20
  196. package/dist/factory-assets/connectors/static-server.js +21 -20
  197. package/dist/factory-assets/connectors/tunnel.js +21 -20
  198. package/dist/factory-assets/connectors/webdav.js +21 -20
  199. package/dist/factory-assets/connectors/xstate-store.js +21 -20
  200. package/dist/factory-assets/connectors/xstate.js +21 -20
  201. package/dist/flows-XHRUNYJV.js +23 -0
  202. package/dist/{flows-H6FL4NZU.js.map → flows-XHRUNYJV.js.map} +1 -1
  203. package/dist/{helpers-4SAB547F.js → helpers-M76C6JVC.js} +16 -16
  204. package/dist/{helpers-4SAB547F.js.map → helpers-M76C6JVC.js.map} +1 -1
  205. package/dist/library/index.js +11 -11
  206. package/dist/library/install.js +1 -15
  207. package/dist/library/src/install/install-from-manifest.d.ts.map +1 -1
  208. package/dist/{library-publish-GXIWW7NW.js → library-publish-EQYEJXWO.js} +23 -22
  209. package/dist/library-publish-EQYEJXWO.js.map +1 -0
  210. package/dist/open-library-YTP7CVVT.js +36 -0
  211. package/dist/{open-library-OOP3UQUP.js.map → open-library-YTP7CVVT.js.map} +1 -1
  212. package/dist/paths-BG3I2LPM.js +19 -0
  213. package/dist/{paths-RL6NZW5X.js.map → paths-BG3I2LPM.js.map} +1 -1
  214. package/dist/{plugin-store-ZTAJCMTY.js → plugin-store-BCNR6ZBP.js} +10 -10
  215. package/dist/{plugin-store-ZTAJCMTY.js.map → plugin-store-BCNR6ZBP.js.map} +1 -1
  216. package/dist/{project-P27CJXPB.js → project-THCZLS67.js} +17 -17
  217. package/dist/{project-P27CJXPB.js.map → project-THCZLS67.js.map} +1 -1
  218. package/dist/resolver/index.js +9 -9
  219. package/dist/runner/index.js +33 -32
  220. package/dist/runner/src/capability-registry.d.ts +13 -1
  221. package/dist/runner/src/capability-registry.d.ts.map +1 -1
  222. package/dist/runner/src/lifecycle-handler.d.ts.map +1 -1
  223. package/dist/runner/src/log-content.d.ts +22 -0
  224. package/dist/runner/src/log-content.d.ts.map +1 -0
  225. package/dist/runner/src/serve.d.ts.map +1 -1
  226. package/dist/runner/src/session-builder.d.ts.map +1 -1
  227. package/dist/sdk/asset-manager.js +13 -13
  228. package/dist/sdk/bridge.js +13 -13
  229. package/dist/sdk/core.js +8 -8
  230. package/dist/sdk/flow.js +12 -11
  231. package/dist/sdk/index.js +33 -32
  232. package/dist/sdk/index.js.map +1 -1
  233. package/dist/sdk/resolver.js +9 -9
  234. package/dist/sdk/runner.js +33 -32
  235. package/dist/{setup-JNGNZTTP.js → setup-QN4HKSFJ.js} +22 -22
  236. package/dist/{setup-JNGNZTTP.js.map → setup-QN4HKSFJ.js.map} +1 -1
  237. package/dist/skills-FKVBIDNM.js +23 -0
  238. package/dist/{skills-Y6MU2NRI.js.map → skills-FKVBIDNM.js.map} +1 -1
  239. package/dist/source-5EAGZA6K.js +37 -0
  240. package/dist/{source-LOGTGPGJ.js.map → source-5EAGZA6K.js.map} +1 -1
  241. package/dist/{source-manifest-publish-PH2XMOLW.js → source-manifest-publish-57SGT7Q3.js} +24 -23
  242. package/dist/source-manifest-publish-57SGT7Q3.js.map +1 -0
  243. package/dist/tui/index.js +33 -32
  244. package/dist/tui/index.js.map +1 -1
  245. package/dist/types/src/manifests/preset.d.ts +5 -5
  246. package/dist/workspace-plugin/adapters/mcp.js +15 -15
  247. package/dist/workspace-plugin/adapters/omp.js +14 -14
  248. package/dist/workspace-plugin/index.js +3 -3
  249. package/dist/workspace-plugin/src/tools/connectors.d.ts.map +1 -1
  250. package/package.json +2 -1
  251. package/dist/chunk-35PMOWAD.js.map +0 -1
  252. package/dist/chunk-6XKQEDF7.js.map +0 -1
  253. package/dist/chunk-CTQ4G3UY.js.map +0 -1
  254. package/dist/chunk-ELPR5XBG.js.map +0 -1
  255. package/dist/chunk-FUCYTGAE.js.map +0 -1
  256. package/dist/chunk-IECQMSQ5.js.map +0 -1
  257. package/dist/chunk-ILG4BXYE.js.map +0 -1
  258. package/dist/chunk-O3DHAGBO.js.map +0 -1
  259. package/dist/chunk-OUJVFZWJ.js.map +0 -1
  260. package/dist/chunk-QV36ENWE.js.map +0 -1
  261. package/dist/chunk-REYJKU7T.js.map +0 -1
  262. package/dist/chunk-UKJMQZV6.js.map +0 -1
  263. package/dist/chunk-ULX3R5PV.js.map +0 -1
  264. package/dist/chunk-W4IPN3DD.js.map +0 -1
  265. package/dist/flows-H6FL4NZU.js +0 -23
  266. package/dist/library-publish-GXIWW7NW.js.map +0 -1
  267. package/dist/open-library-OOP3UQUP.js +0 -35
  268. package/dist/paths-RL6NZW5X.js +0 -19
  269. package/dist/skills-Y6MU2NRI.js +0 -23
  270. package/dist/source-LOGTGPGJ.js +0 -36
  271. package/dist/source-manifest-publish-PH2XMOLW.js.map +0 -1
@@ -1,22 +1,23 @@
1
1
  import { declaredConnectErrorKind, ClassifiedConnectError, withConnectErrorKind } from './chunk-YZSMZK37.js';
2
- import { OAuthRequiredError, ConnectorFieldMissingError, LegacyAuthGrammarError, resolveAuthRef, readUnavailableMarker, ConnectorStartupError } from './chunk-MMLXSVQ3.js';
3
- import { EventNormalizer } from './chunk-VLXODO37.js';
4
- import { resolveModelTier } from './chunk-BXV6RLF4.js';
5
- import { createDriver } from './chunk-3T5DRUNZ.js';
2
+ import { OAuthRequiredError, ConnectorFieldMissingError, LegacyAuthGrammarError, resolveAuthRef, readUnavailableMarker, ConnectorStartupError } from './chunk-IGI6M7MS.js';
3
+ import { EventNormalizer } from './chunk-KECSNBET.js';
4
+ import { resolveModelTier } from './chunk-4G6HFU27.js';
5
+ import { createDriver } from './chunk-RQRWMKST.js';
6
6
  import { pluginRegistry } from './chunk-6E6PKKAD.js';
7
7
  import { computeStimulus } from './chunk-IFGTRL2I.js';
8
- import { interpolateNodeInstruction, resolveNodeBindings, getConsumedOutputSchema, validateConsumedNodeOutput, appendAttempt, resolveTerminalFailureStatus, remainingActiveExecutionMs, deriveCheckEvidence, computeFlowStateFromSnapshots, availableRouterFrontier, evaluateRouterSelection, routerSelectionOutput, planRouterSkips, unsettledRouterBranchIds, countFailedAttempts, hasAutomaticRetryBudget, persistedRouterSelection } from './chunk-O3DHAGBO.js';
9
- import { INPUT_SCHEMA_SHAPES_HINT, coerceInputSchema } from './chunk-KLMXMW6Z.js';
10
- import { classifierDecision, withoutReservedClassifierFields, parseFlowDefinition } from './chunk-REYJKU7T.js';
11
- import { describeStimulus, buildOrchestratorPrompt, renderSubpromptPrompt, renderStimulusPrompt } from './chunk-2D5BYAL6.js';
12
- import { deterministicNodeKindLabel, nodeInstruction, flowDefaults, isAgentNode, isGateNode, isCheckNode, nodeRequiresApproval, isSubFlowNode, isFunctionNode, isSubpromptNode, isRouterNode, isActiveRuntimeNode, nodeIsOptional, nodeLabel, nodeAssets } from './chunk-ELPR5XBG.js';
8
+ import { interpolateNodeInstruction, resolveNodeBindings, getConsumedOutputSchema, validateConsumedNodeOutput, appendAttempt, resolveTerminalFailureStatus, remainingActiveExecutionMs, deriveCheckEvidence, computeFlowStateFromSnapshots, availableRouterFrontier, evaluateRouterSelection, routerSelectionOutput, planRouterSkips, unsettledRouterBranchIds, countFailedAttempts, hasAutomaticRetryBudget, persistedRouterSelection } from './chunk-626UIDZT.js';
9
+ import { INPUT_SCHEMA_SHAPES_HINT, coerceInputSchema } from './chunk-XPDB4O4H.js';
10
+ import { parseFlowDefinition } from './chunk-ALLCAFHQ.js';
11
+ import { describeStimulus, buildOrchestratorPrompt, renderSubpromptPrompt, renderStimulusPrompt } from './chunk-RQLL7L72.js';
12
+ import { deterministicNodeKindLabel, nodeInstruction, flowDefaults, isAgentNode, isGateNode, isCheckNode, nodeRequiresApproval, isSubFlowNode, isFunctionNode, isSubpromptNode, isRouterNode, isActiveRuntimeNode, nodeIsOptional, nodeLabel, nodeAssets } from './chunk-V4RGCKYC.js';
13
+ import { classifierDecision, withoutReservedClassifierFields } from './chunk-DHMBE5J7.js';
13
14
  import { withActivityLabelDefs } from './chunk-O64WU6WS.js';
14
15
  import { processAlive } from './chunk-4GY63JU6.js';
15
- import { withFsDeadline, tryWithFsDeadline, FsDeadlineError, fsDeadlineMs } from './chunk-MKZOK4JU.js';
16
- import { portableSpawn } from './chunk-KSIRR5PL.js';
17
- import { createLogger } from './chunk-W4IPN3DD.js';
16
+ import { withFsDeadline, tryWithFsDeadline, FsDeadlineError, fsDeadlineMs } from './chunk-2FBPAR2V.js';
17
+ import { portableSpawn } from './chunk-DPLIN2RA.js';
18
+ import { createLogger, redactCredentials } from './chunk-BOFL7GIF.js';
18
19
  import { resolve, relative, sep, isAbsolute, join, dirname } from 'path';
19
- import { mkdir, rename, writeFile, readFile, stat, cp, readdir, chmod, rm, realpath } from 'fs/promises';
20
+ import { mkdir, rename, writeFile, readFile, stat, cp, chmod, rm, readdir, realpath } from 'fs/promises';
20
21
  import * as z4 from 'zod';
21
22
  import { execFile } from 'child_process';
22
23
  import { promisify } from 'util';
@@ -1535,14 +1536,11 @@ var MIN_REFRESH_DELAY_MS = 3e4;
1535
1536
  var TRANSIENT_REFRESH_RETRY_MS = 3e4;
1536
1537
  var MAX_REARM_MS = 24 * 24 * 60 * 60 * 1e3;
1537
1538
  var execFileAsync2 = promisify(execFile);
1538
- function redactUrlAuth(text) {
1539
- return text.replace(/\/\/[^/\s]*@/g, "//***@");
1540
- }
1541
1539
  function redactError(err) {
1542
1540
  const original = err instanceof Error ? err : new Error(String(err));
1543
- const copy = new Error(redactUrlAuth(original.message));
1541
+ const copy = new Error(redactCredentials(original.message));
1544
1542
  copy.name = original.name;
1545
- copy.stack = original.stack === void 0 ? void 0 : redactUrlAuth(original.stack);
1543
+ copy.stack = original.stack === void 0 ? void 0 : redactCredentials(original.stack);
1546
1544
  return copy;
1547
1545
  }
1548
1546
  var BOOTSTRAP_COMMIT_NAME = "Skaile";
@@ -1690,7 +1688,7 @@ async function syncSubmodules(cwd, log) {
1690
1688
  await git(["submodule", "update", "--init", "--recursive"], cwd, 12e4);
1691
1689
  } catch (err) {
1692
1690
  log.warn("git submodule update failed \u2014 checkout may be incomplete", {
1693
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
1691
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
1694
1692
  });
1695
1693
  }
1696
1694
  }
@@ -1934,7 +1932,7 @@ var GitConnector = class extends AbstractConnector {
1934
1932
  origin: "tier-1",
1935
1933
  tier: 1,
1936
1934
  provider: providerKind,
1937
- scope: redactUrlAuth(state.url),
1935
+ scope: redactCredentials(state.url),
1938
1936
  expiresAt: initial.expiresAt ? initial.expiresAt.toISOString() : null,
1939
1937
  ...initial.scope ? { permissions: initial.scope } : {},
1940
1938
  ...skipReason === null ? {} : { warning: "static-credential", reason: skipReason }
@@ -2131,7 +2129,7 @@ var GitConnector = class extends AbstractConnector {
2131
2129
  });
2132
2130
  outcome = "fetched";
2133
2131
  } catch (err) {
2134
- const message = redactUrlAuth(err instanceof Error ? err.message : String(err));
2132
+ const message = redactCredentials(err instanceof Error ? err.message : String(err));
2135
2133
  if (!/couldn't find remote ref/i.test(message)) {
2136
2134
  this.log.warn("session-branch fetch failed", { sessionBranch, error: message });
2137
2135
  return "failed";
@@ -2148,7 +2146,7 @@ var GitConnector = class extends AbstractConnector {
2148
2146
  } catch (err) {
2149
2147
  this.log.warn("could not update session-branch fetch refspec", {
2150
2148
  sessionBranch,
2151
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
2149
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
2152
2150
  });
2153
2151
  }
2154
2152
  return outcome;
@@ -2168,7 +2166,7 @@ var GitConnector = class extends AbstractConnector {
2168
2166
  } catch (err) {
2169
2167
  this.log.warn("could not re-point session branch at origin", {
2170
2168
  sessionBranch,
2171
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
2169
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
2172
2170
  });
2173
2171
  }
2174
2172
  }
@@ -2207,7 +2205,7 @@ var GitConnector = class extends AbstractConnector {
2207
2205
  } catch (err) {
2208
2206
  this.log.warn("could not line up the local session branch with origin", {
2209
2207
  sessionBranch,
2210
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
2208
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
2211
2209
  });
2212
2210
  }
2213
2211
  }
@@ -2228,7 +2226,7 @@ var GitConnector = class extends AbstractConnector {
2228
2226
  } catch (err) {
2229
2227
  this.log.warn("merge of origin session branch failed", {
2230
2228
  branch,
2231
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
2229
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
2232
2230
  });
2233
2231
  await this.resolveConflictsOrAbort(s, cwd, "merge");
2234
2232
  }
@@ -2248,7 +2246,7 @@ var GitConnector = class extends AbstractConnector {
2248
2246
  } catch (err) {
2249
2247
  this.log.warn("could not record the pushed session branch", {
2250
2248
  branch,
2251
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
2249
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
2252
2250
  });
2253
2251
  }
2254
2252
  }
@@ -2512,7 +2510,7 @@ var GitConnector = class extends AbstractConnector {
2512
2510
  } catch (err) {
2513
2511
  this.log.warn("merge failed", {
2514
2512
  branch: s.activeBranch,
2515
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
2513
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
2516
2514
  });
2517
2515
  const resolved = await this.resolveConflictsOrAbort(s, handle.mountPath, "merge");
2518
2516
  if (resolved) {
@@ -2630,7 +2628,7 @@ var GitConnector = class extends AbstractConnector {
2630
2628
  const urlPrefix = this.deriveCredentialScope(url);
2631
2629
  const helperScriptPath = join(skaileDir, `credential-helper-${declaration.id}.sh`);
2632
2630
  const refreshAttemptPath = join(skaileDir, `refresh-attempt-${declaration.id}`);
2633
- const reason = redactUrlAuth(err instanceof Error ? err.message : String(err));
2631
+ const reason = redactCredentials(err instanceof Error ? err.message : String(err));
2634
2632
  this.ensureAttemptStamp(declaration.id, refreshAttemptPath);
2635
2633
  writeHelperScript(
2636
2634
  helperScriptPath,
@@ -2952,7 +2950,7 @@ var GitConnector = class extends AbstractConnector {
2952
2950
  return out.length === 0 ? 0 : out.split("\n").length;
2953
2951
  } catch (err) {
2954
2952
  this.log.warn("ls-remote probe failed \u2014 assuming a populated remote", {
2955
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
2953
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
2956
2954
  });
2957
2955
  return null;
2958
2956
  }
@@ -3011,7 +3009,7 @@ var GitConnector = class extends AbstractConnector {
3011
3009
  } catch (err) {
3012
3010
  this.log.warn("empty-remote publish push failed; deferring to lifecycle push", {
3013
3011
  branch,
3014
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
3012
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
3015
3013
  });
3016
3014
  }
3017
3015
  const publishedElsewhere = await this.countRemoteHeads(targetDir, authUrl, branch);
@@ -3022,7 +3020,7 @@ var GitConnector = class extends AbstractConnector {
3022
3020
  } catch (err) {
3023
3021
  this.log.warn("adopting the concurrently-created branch failed; keeping local branch", {
3024
3022
  branch,
3025
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
3023
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
3026
3024
  });
3027
3025
  }
3028
3026
  }
@@ -3181,7 +3179,7 @@ var GitConnector = class extends AbstractConnector {
3181
3179
  s.fetchInFlight = true;
3182
3180
  void this.runPeriodicFetch(s, mountPath).catch((err) => {
3183
3181
  this.log.debug("periodic fetch failed", {
3184
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
3182
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
3185
3183
  });
3186
3184
  }).finally(() => {
3187
3185
  s.fetchInFlight = false;
@@ -3206,7 +3204,7 @@ var GitConnector = class extends AbstractConnector {
3206
3204
  } catch (err) {
3207
3205
  this.log.warn("rebase failed", {
3208
3206
  branch: s.branch,
3209
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
3207
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
3210
3208
  });
3211
3209
  await this.resolveConflictsOrAbort(s, mountPath, "rebase");
3212
3210
  }
@@ -3266,7 +3264,7 @@ var GitConnector = class extends AbstractConnector {
3266
3264
  this.log.warn("merge of base into session branch failed", {
3267
3265
  branch: s.activeBranch,
3268
3266
  base: s.branch,
3269
- error: redactUrlAuth(err instanceof Error ? err.message : String(err))
3267
+ error: redactCredentials(err instanceof Error ? err.message : String(err))
3270
3268
  });
3271
3269
  await this.resolveConflictsOrAbort(s, mountPath, "merge");
3272
3270
  }
@@ -6579,6 +6577,92 @@ function ensureBuiltinsRegistered() {
6579
6577
  registerBuiltinConnectors();
6580
6578
  }
6581
6579
  }
6580
+ var MOUNTINFO_PATH = "/proc/self/mountinfo";
6581
+ function testMountinfoOverride() {
6582
+ return process.env.VITEST ? process.env.SKAILE_FLEET_MOUNTINFO_PATH : void 0;
6583
+ }
6584
+ function isFleetManaged(connectorId) {
6585
+ const raw = process.env.SKAILE_FLEET_MANAGED_MOUNTS ?? "";
6586
+ if (raw.length === 0) return false;
6587
+ return raw.split(",").map((segment) => segment.trim()).filter((segment) => segment.length > 0).includes(connectorId);
6588
+ }
6589
+ function decodeMountinfoPath(field) {
6590
+ return field.replace(
6591
+ /\\(\d{3})/g,
6592
+ (_, octal) => String.fromCharCode(Number.parseInt(octal, 8))
6593
+ );
6594
+ }
6595
+ async function isMountpoint(dir, mountinfoPath) {
6596
+ let table;
6597
+ try {
6598
+ table = await readFile(mountinfoPath, "utf8");
6599
+ } catch {
6600
+ return null;
6601
+ }
6602
+ const target = await realpath(dir);
6603
+ for (const line of table.split("\n")) {
6604
+ const mountPoint = line.split(" ")[4];
6605
+ if (mountPoint !== void 0 && decodeMountinfoPath(mountPoint) === target) return true;
6606
+ }
6607
+ return false;
6608
+ }
6609
+ async function probeFleetMount(dir, mountinfoPath, { list }) {
6610
+ const st = await stat(dir);
6611
+ if (!st.isDirectory()) {
6612
+ throw new Error(`fleet mountpoint ${dir} is not a directory`);
6613
+ }
6614
+ if (list) await readdir(dir);
6615
+ if (await isMountpoint(dir, mountinfoPath) === false) {
6616
+ throw new Error(
6617
+ `fleet mountpoint ${dir} is a plain directory, not a mount \u2014 the host bind is absent or landed on a different path`
6618
+ );
6619
+ }
6620
+ }
6621
+ async function ensureFleetMounted(dir, log, options) {
6622
+ const timeoutMs = options?.timeoutMs ?? 3e3;
6623
+ const pollIntervalMs = options?.pollIntervalMs ?? 100;
6624
+ const mountinfoPath = options?.mountinfoPath ?? testMountinfoOverride() ?? MOUNTINFO_PATH;
6625
+ const deadline = Date.now() + timeoutMs;
6626
+ let lastErr = null;
6627
+ while (Date.now() < deadline) {
6628
+ try {
6629
+ await probeFleetMount(dir, mountinfoPath, { list: true });
6630
+ log.info("fleet bind mount verified", { dir });
6631
+ return;
6632
+ } catch (err) {
6633
+ lastErr = err;
6634
+ await new Promise((resolve7) => setTimeout(resolve7, pollIntervalMs));
6635
+ }
6636
+ }
6637
+ throw new Error(
6638
+ `fleet mount ${dir} not ready after ${timeoutMs}ms \u2014 check SKAILE_FLEET_MANAGED_MOUNTS env var and host bind: ${lastErr instanceof Error ? lastErr.message : String(lastErr)}`
6639
+ );
6640
+ }
6641
+ var LIVENESS_TIMEOUT_MS = 2e3;
6642
+ async function checkFleetMountLiveness(dir, options) {
6643
+ const timeoutMs = options?.timeoutMs ?? fsDeadlineMs(LIVENESS_TIMEOUT_MS);
6644
+ const mountinfoPath = options?.mountinfoPath ?? testMountinfoOverride() ?? MOUNTINFO_PATH;
6645
+ try {
6646
+ await withFsDeadline(
6647
+ `fleet liveness ${dir}`,
6648
+ () => probeFleetMount(dir, mountinfoPath, { list: false }),
6649
+ timeoutMs
6650
+ );
6651
+ return { state: "live" };
6652
+ } catch (err) {
6653
+ if (err instanceof FsDeadlineError) {
6654
+ return {
6655
+ state: "unresponsive",
6656
+ reason: `host mount at ${dir} did not answer within ${timeoutMs}ms; it may be slow or wedged, so its status is unverified`
6657
+ };
6658
+ }
6659
+ const detail = err instanceof Error ? err.message : String(err);
6660
+ return {
6661
+ state: "dead",
6662
+ reason: `host mount at ${dir} is gone (${detail}); the session needs a restart to re-attach it`
6663
+ };
6664
+ }
6665
+ }
6582
6666
 
6583
6667
  // connectors/src/connector-manager.ts
6584
6668
  var KNOWN_PREFIXES = ["env:", "forge:", "op:", "kp:", "oauth:"];
@@ -6864,12 +6948,14 @@ var ConnectorManager = class {
6864
6948
  driver: decl.driver,
6865
6949
  access: decl.access,
6866
6950
  ...decl.label !== void 0 ? { label: decl.label } : {},
6867
- ...decl.mount?.source !== void 0 ? { source: decl.mount.source } : {},
6951
+ ...decl.mount?.source !== void 0 ? { source: redactCredentials(decl.mount.source) } : {},
6868
6952
  ...mountPath !== void 0 ? { mountPath } : {},
6869
6953
  // A host-declared unavailable connector is never fail-fast material.
6870
6954
  required: unavailable === void 0 && decl.access === "read-write" && decl.mount != null,
6871
- error,
6872
- ...unavailable !== void 0 ? { unavailable } : {}
6955
+ // Redacted here as well as at the callers: every failure record reaches
6956
+ // the agent through `connector_list`, whoever wrote the text.
6957
+ error: redactCredentials(error),
6958
+ ...unavailable !== void 0 ? { unavailable: redactMarker(unavailable) } : {}
6873
6959
  });
6874
6960
  }
6875
6961
  /**
@@ -6881,7 +6967,9 @@ var ConnectorManager = class {
6881
6967
  * newer than that record and replace it in a host's newest-wins failure view.
6882
6968
  */
6883
6969
  recordUnavailable(decl, unavailable) {
6884
- const msg = `Not attached by the host (${unavailable.reason})` + (unavailable.detail ? `: ${unavailable.detail}` : "");
6970
+ const msg = redactCredentials(
6971
+ `Not attached by the host (${unavailable.reason})` + (unavailable.detail ? `: ${unavailable.detail}` : "")
6972
+ );
6885
6973
  this.recordFailure(decl, msg, unavailable);
6886
6974
  this.mgrLog.warn("connector declared unavailable by the host", {
6887
6975
  id: decl.id,
@@ -7062,7 +7150,7 @@ var ConnectorManager = class {
7062
7150
  };
7063
7151
  } catch (err) {
7064
7152
  if (!this.active.has(decl.id)) this.releaseMountTarget(decl.id);
7065
- const msg = err instanceof Error ? err.message : String(err);
7153
+ const msg = redactCredentials(err instanceof Error ? err.message : String(err));
7066
7154
  this.recordFailure(decl, msg);
7067
7155
  const errorKind = classifyConnectError(err);
7068
7156
  this.mgrLog.error("connect failed", err, {
@@ -7172,7 +7260,7 @@ var ConnectorManager = class {
7172
7260
  return handle;
7173
7261
  } catch (err) {
7174
7262
  this.releaseMountTarget(declaration.id);
7175
- const msg = err instanceof Error ? err.message : String(err);
7263
+ const msg = redactCredentials(err instanceof Error ? err.message : String(err));
7176
7264
  this.recordFailure(declaration, msg);
7177
7265
  const errorKind = classifyConnectError(err);
7178
7266
  this.opts.onStatusChange?.({
@@ -7387,8 +7475,42 @@ var ConnectorManager = class {
7387
7475
  if (!entry.connector.filesystem) {
7388
7476
  throw new Error(`Connector "${id}" has no filesystem face`);
7389
7477
  }
7478
+ await this.assertMountNotDead(id);
7390
7479
  return entry.connector.filesystem.sync(entry.handle, options);
7391
7480
  }
7481
+ /**
7482
+ * Refuse to sync a fleet mount whose path is provably gone. Fleet drivers'
7483
+ * sync is a no-op success, so without this a dead host bind would report a
7484
+ * clean sync while every write lands nowhere. An `unresponsive` probe does
7485
+ * not refuse: a slow cloud mount must not be locked out of sync.
7486
+ */
7487
+ async assertMountNotDead(id) {
7488
+ const liveness = await this.checkMountLiveness(id);
7489
+ if (liveness?.state === "dead") {
7490
+ throw new Error(`Cannot sync mount "${id}": ${liveness.reason}`);
7491
+ }
7492
+ }
7493
+ /**
7494
+ * Re-check that a connected, host fleet-managed mount's path is still live.
7495
+ *
7496
+ * The handle's `status` is set once at connect and never revisited, so it
7497
+ * keeps saying `connected` after the host bind breaks. Status and sync
7498
+ * surfaces call this to report the real state. Bounded by a short deadline
7499
+ * (`unresponsive` when it expires), never remounts, never mutates the handle.
7500
+ *
7501
+ * @returns `null` when the check does not apply: unknown id, not yet
7502
+ * connected, no mount path, or not fleet-managed (the driver's handle state
7503
+ * carries no `fleetManaged: true`).
7504
+ */
7505
+ async checkMountLiveness(id) {
7506
+ const entry = this.active.get(id);
7507
+ if (!entry || entry.handle.status !== "connected") return null;
7508
+ const mountPath = entry.handle.mountPath;
7509
+ if (!mountPath) return null;
7510
+ const state = entry.handle.state;
7511
+ if (state?.fleetManaged !== true) return null;
7512
+ return checkFleetMountLiveness(mountPath);
7513
+ }
7392
7514
  /**
7393
7515
  * Pull the latest remote state for all connected filesystem-face connectors.
7394
7516
  * Errors from individual connectors are captured and returned rather than thrown.
@@ -7399,6 +7521,7 @@ var ConnectorManager = class {
7399
7521
  if (!entry.connector.filesystem) continue;
7400
7522
  if (entry.handle.status !== "connected") continue;
7401
7523
  try {
7524
+ await this.assertMountNotDead(id);
7402
7525
  await entry.connector.filesystem.sync(entry.handle, options);
7403
7526
  results.push({ id, ok: true });
7404
7527
  } catch (err) {
@@ -7571,6 +7694,13 @@ var ConnectorManager = class {
7571
7694
  return buildSkillBody(descriptor, ops, shellAccess);
7572
7695
  }
7573
7696
  };
7697
+ function redactMarker(marker) {
7698
+ return {
7699
+ ...marker,
7700
+ reason: redactCredentials(marker.reason),
7701
+ ...marker.detail !== void 0 ? { detail: redactCredentials(marker.detail) } : {}
7702
+ };
7703
+ }
7574
7704
  var zStatic = z4.z ?? z4.default ?? z4;
7575
7705
  function readFailedConnectors(manager) {
7576
7706
  if (typeof manager.listFailedConnectors !== "function") return [];
@@ -8217,64 +8347,6 @@ printf 'password=%s\\n' "$pass"
8217
8347
  printf '\\n'
8218
8348
  `;
8219
8349
  }
8220
- var MOUNTINFO_PATH = "/proc/self/mountinfo";
8221
- function testMountinfoOverride() {
8222
- return process.env.VITEST ? process.env.SKAILE_FLEET_MOUNTINFO_PATH : void 0;
8223
- }
8224
- function isFleetManaged(connectorId) {
8225
- const raw = process.env.SKAILE_FLEET_MANAGED_MOUNTS ?? "";
8226
- if (raw.length === 0) return false;
8227
- return raw.split(",").map((segment) => segment.trim()).filter((segment) => segment.length > 0).includes(connectorId);
8228
- }
8229
- function decodeMountinfoPath(field) {
8230
- return field.replace(
8231
- /\\(\d{3})/g,
8232
- (_, octal) => String.fromCharCode(Number.parseInt(octal, 8))
8233
- );
8234
- }
8235
- async function isMountpoint(dir, mountinfoPath) {
8236
- let table;
8237
- try {
8238
- table = await readFile(mountinfoPath, "utf8");
8239
- } catch {
8240
- return null;
8241
- }
8242
- const target = await realpath(dir);
8243
- for (const line of table.split("\n")) {
8244
- const mountPoint = line.split(" ")[4];
8245
- if (mountPoint !== void 0 && decodeMountinfoPath(mountPoint) === target) return true;
8246
- }
8247
- return false;
8248
- }
8249
- async function ensureFleetMounted(dir, log, options) {
8250
- const timeoutMs = options?.timeoutMs ?? 3e3;
8251
- const pollIntervalMs = options?.pollIntervalMs ?? 100;
8252
- const mountinfoPath = options?.mountinfoPath ?? testMountinfoOverride() ?? MOUNTINFO_PATH;
8253
- const deadline = Date.now() + timeoutMs;
8254
- let lastErr = null;
8255
- while (Date.now() < deadline) {
8256
- try {
8257
- const st = await stat(dir);
8258
- if (!st.isDirectory()) {
8259
- throw new Error(`fleet mountpoint ${dir} is not a directory`);
8260
- }
8261
- await readdir(dir);
8262
- if (await isMountpoint(dir, mountinfoPath) === false) {
8263
- throw new Error(
8264
- `fleet mountpoint ${dir} is a plain directory, not a mount \u2014 the host bind is absent or landed on a different path`
8265
- );
8266
- }
8267
- log.info("fleet bind mount verified", { dir });
8268
- return;
8269
- } catch (err) {
8270
- lastErr = err;
8271
- await new Promise((resolve7) => setTimeout(resolve7, pollIntervalMs));
8272
- }
8273
- }
8274
- throw new Error(
8275
- `fleet mount ${dir} not ready after ${timeoutMs}ms \u2014 check SKAILE_FLEET_MANAGED_MOUNTS env var and host bind: ${lastErr instanceof Error ? lastErr.message : String(lastErr)}`
8276
- );
8277
- }
8278
8350
  async function ensureDirMode(dir, log) {
8279
8351
  await mkdir(dir, { recursive: true });
8280
8352
  try {
@@ -11430,6 +11502,6 @@ function describeFlowOperations() {
11430
11502
  return new FlowAdapter().tools.describeOperations({ access: "read-write" });
11431
11503
  }
11432
11504
 
11433
- 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, SQLiteConnector, SessionInlineSubFlowRunner, SessionNodeExecutor, SessionSubpromptRunner, SharePointConnector, StaticServerConnector, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, __test, atomicReplaceCredential, buildConnectorPromptSection, buildConnectorToolDefs, buildFlowPromptEvent, buildFlowToolDefs, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, 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, readGitSyncStatus, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock };
11434
- //# sourceMappingURL=chunk-CTQ4G3UY.js.map
11435
- //# sourceMappingURL=chunk-CTQ4G3UY.js.map
11505
+ 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, 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, readGitSyncStatus, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock };
11506
+ //# sourceMappingURL=chunk-QUSE2T4N.js.map
11507
+ //# sourceMappingURL=chunk-QUSE2T4N.js.map