@skaile/workspaces 0.23.0 → 0.24.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 (58) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/asset-manager/index.js +1 -1
  3. package/dist/base-assets/connectors/deploy.js +1 -1
  4. package/dist/base-assets/connectors/devserver.js +1 -1
  5. package/dist/base-assets/connectors/flow/adapter.js +1 -1
  6. package/dist/base-assets/connectors/flow/run-flow.js +2 -2
  7. package/dist/base-assets/connectors/flow.js +1 -1
  8. package/dist/base-assets/connectors/git.js +1 -1
  9. package/dist/base-assets/connectors/gmail.js +1 -1
  10. package/dist/base-assets/connectors/googledrive/driver.d.ts.map +1 -1
  11. package/dist/base-assets/connectors/googledrive.js +1 -1
  12. package/dist/base-assets/connectors/local.js +1 -1
  13. package/dist/base-assets/connectors/mattermost.js +1 -1
  14. package/dist/base-assets/connectors/memory.js +1 -1
  15. package/dist/base-assets/connectors/minio.js +1 -1
  16. package/dist/base-assets/connectors/postgres.js +1 -1
  17. package/dist/base-assets/connectors/s3.js +1 -1
  18. package/dist/base-assets/connectors/sharepoint/driver.d.ts.map +1 -1
  19. package/dist/base-assets/connectors/sharepoint.js +1 -1
  20. package/dist/base-assets/connectors/sqlite.js +1 -1
  21. package/dist/base-assets/connectors/static-server.js +1 -1
  22. package/dist/base-assets/connectors/tunnel.js +1 -1
  23. package/dist/base-assets/connectors/webdav/driver.d.ts.map +1 -1
  24. package/dist/base-assets/connectors/webdav.js +1 -1
  25. package/dist/base-assets/connectors/xstate-store/adapter.d.ts +1 -1
  26. package/dist/base-assets/connectors/xstate-store/adapter.d.ts.map +1 -1
  27. package/dist/base-assets/connectors/xstate-store.js +1 -1
  28. package/dist/base-assets/connectors/xstate.js +1 -1
  29. package/dist/{chunk-E4UJ7CVK.js → chunk-HIIARTRZ.js} +211 -55
  30. package/dist/chunk-HIIARTRZ.js.map +1 -0
  31. package/dist/{chunk-OVQZ5OKL.js → chunk-J2TITSXF.js} +2 -2
  32. package/dist/{chunk-OVQZ5OKL.js.map → chunk-J2TITSXF.js.map} +1 -1
  33. package/dist/{chunk-DZCFFTAX.js → chunk-JQBHCJ6N.js} +25 -9
  34. package/dist/chunk-JQBHCJ6N.js.map +1 -0
  35. package/dist/{chunk-BTAC2VYT.js → chunk-N6TA6RSH.js} +2 -2
  36. package/dist/{chunk-BTAC2VYT.js.map → chunk-N6TA6RSH.js.map} +1 -1
  37. package/dist/{chunk-QTWA6BZK.js → chunk-OYRW5RCM.js} +3 -3
  38. package/dist/{chunk-QTWA6BZK.js.map → chunk-OYRW5RCM.js.map} +1 -1
  39. package/dist/cli/index.js +5 -5
  40. package/dist/connectors/index.js +1 -1
  41. package/dist/connectors/src/connector-manager.d.ts +49 -0
  42. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  43. package/dist/connectors/src/connector-types.d.ts +16 -0
  44. package/dist/connectors/src/connector-types.d.ts.map +1 -1
  45. package/dist/runner/index.js +3 -3
  46. package/dist/runner/src/resources.d.ts +14 -1
  47. package/dist/runner/src/resources.d.ts.map +1 -1
  48. package/dist/runner/src/serve.d.ts.map +1 -1
  49. package/dist/runner/src/session-builder.d.ts +7 -0
  50. package/dist/runner/src/session-builder.d.ts.map +1 -1
  51. package/dist/sdk/asset-manager.js +1 -1
  52. package/dist/sdk/index.js +3 -3
  53. package/dist/sdk/runner.js +3 -3
  54. package/dist/tui/index.js +3 -3
  55. package/dist/workspace-plugin/index.js +1 -1
  56. package/package.json +1 -1
  57. package/dist/chunk-DZCFFTAX.js.map +0 -1
  58. package/dist/chunk-E4UJ7CVK.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.24.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#80](https://github.com/skaile-ai/workspaces/pull/80) [`cedf7b4`](https://github.com/skaile-ai/workspaces/commit/cedf7b4a97cb23f7aa40054b9a694acf5c5aaf93) Thanks [@peteralbert](https://github.com/peteralbert)! - Decouple `session_init_ack` from rclone-backed filesystem-mount readiness.
8
+
9
+ The runner now emits `session_init_ack` as soon as the driver and the
10
+ fast/critical (eager) connectors are ready, and brings slow rclone-backed
11
+ filesystem mounts (sharepoint, webdav, googledrive) up in the background.
12
+ A slow or wedged remote degrades to "workspace still syncing" instead of
13
+ blowing the platform's session-init ack deadline and triggering the
14
+ container restart loop.
15
+
16
+ - `FilesystemFace` gains an optional `deferMount` marker; the rclone-backed
17
+ connectors set it. `ConnectorManager.connectAll` accepts `{ deferMounts }`,
18
+ connecting eager connectors synchronously (preserving `failOnReadWriteError`
19
+ for them) and driving deferred mounts on a tracked background task that
20
+ reports progress via the existing `onStatusChange` (`connector_status`)
21
+ channel. Deferred mount paths are pre-registered so the system-prompt mount
22
+ line renders immediately.
23
+ - `ConnectContext` gains an optional `abortSignal`, aborted on
24
+ `disconnectAll()` so in-flight background mounts are cancelled/awaited and no
25
+ rclone process leaks.
26
+ - Serve mode opts in via `AgentSessionConfig.deferFilesystemMounts`; CLI/flow
27
+ paths keep mounting eagerly.
28
+
29
+ ### Patch Changes
30
+
31
+ - [#79](https://github.com/skaile-ai/workspaces/pull/79) [`412169a`](https://github.com/skaile-ai/workspaces/commit/412169a28591f47a5cb247a7f5ed9e19e6056ffe) Thanks [@P1umPudding](https://github.com/P1umPudding)! - Fix the `xstate-store` connector silently dropping the `delete` op. `_executeOp` handled `set`/`merge`/`reset` but had no `delete` case, so a host `connector_mutate {op:"delete", key}` hit the `default` branch and threw (swallowed upstream) — the key was never removed and no `state_changed` broadcast fired. This left stale shared-state entries stuck (e.g. a "X is typing…" indicator that never cleared, since the stop maps to a delete op). Added the `delete` case (mirrors the tool-face `_delete`: mutates the store, records history, emits the change) plus a matching `describeOperations` entry.
32
+
3
33
  ## 0.23.0
4
34
 
5
35
  ### Minor Changes
@@ -1,4 +1,4 @@
1
- export { AssetManager, parseCanonicalLockKey } from '../chunk-BTAC2VYT.js';
1
+ export { AssetManager, parseCanonicalLockKey } from '../chunk-N6TA6RSH.js';
2
2
  export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-2RFOFHSM.js';
3
3
  import '../chunk-Z3M5K67G.js';
4
4
  import '../chunk-K5GBV4SA.js';
@@ -1,4 +1,4 @@
1
- export { DeployConnector, createConnector19 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { DeployConnector, createConnector19 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { DevServerConnector, createConnector16 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { DevServerConnector, createConnector16 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { FlowAdapter, createConnector } from '../../../chunk-E4UJ7CVK.js';
1
+ export { FlowAdapter, createConnector } from '../../../chunk-HIIARTRZ.js';
2
2
  import '../../../chunk-ODPII24X.js';
3
3
  import '../../../chunk-QMONOHXT.js';
4
4
  import '../../../chunk-QAVZOJCV.js';
@@ -1,7 +1,7 @@
1
- export { resumeFlow, runFlow } from '../../../chunk-QTWA6BZK.js';
1
+ export { resumeFlow, runFlow } from '../../../chunk-OYRW5RCM.js';
2
2
  import '../../../chunk-GCJXPUHG.js';
3
3
  import '../../../chunk-IPUYL6TD.js';
4
- import '../../../chunk-E4UJ7CVK.js';
4
+ import '../../../chunk-HIIARTRZ.js';
5
5
  import '../../../chunk-ODPII24X.js';
6
6
  import '../../../chunk-QMONOHXT.js';
7
7
  import '../../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { FlowAdapter, createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { FlowAdapter, createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { GitConnector, createConnector2 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { GitConnector, createConnector2 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { GmailConnector, createConnector14 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { GmailConnector, createConnector14 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/googledrive/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EAKf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EAOlB,MAAM,+BAA+B,CAAC;AAOvC,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAWD;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,QAAQ,CAAC,IAAI,iBAAiB;IAE9B,OAAO,CAAC,MAAM,CAA8B;IAE5C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAIjC;IAEI,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAqGzF,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAM1C,KAAK;IAuBJ,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOjE,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAMpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,oBAAoB,CAEtD;AAID,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACnD,UAAU,CAyCZ"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/googledrive/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EAKf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EAOlB,MAAM,+BAA+B,CAAC;AAOvC,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAWD;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,QAAQ,CAAC,IAAI,iBAAiB;IAE9B,OAAO,CAAC,MAAM,CAA8B;IAE5C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAKjC;IAEI,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAqGzF,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAM1C,KAAK;IAuBJ,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOjE,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAMpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,oBAAoB,CAEtD;AAID,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACnD,UAAU,CAyCZ"}
@@ -1,4 +1,4 @@
1
- export { GoogleDriveConnector, createConnector7 as createConnector, parseAuthBlob } from '../../chunk-E4UJ7CVK.js';
1
+ export { GoogleDriveConnector, createConnector7 as createConnector, parseAuthBlob } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { LocalConnector, createConnector3 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { LocalConnector, createConnector3 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { MattermostConnector, createConnector15 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { MattermostConnector, createConnector15 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { MemoryConnector, createConnector8 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { MemoryConnector, createConnector8 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { MinIOConnector, createConnector11 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { MinIOConnector, createConnector11 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { PostgresConnector, createConnector9 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { PostgresConnector, createConnector9 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { S3Connector, createConnector4 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { S3Connector, createConnector4 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/sharepoint/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EAIf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EAOlB,MAAM,+BAA+B,CAAC;AAyBvC;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,OAAO,CAAC,MAAM,CAA8B;IAE5C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAIjC;IAEI,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAgHzF,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAM1C,KAAK;IAwBJ,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOjE,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAMpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,mBAAmB,CAErD"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/sharepoint/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EAIf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EAOlB,MAAM,+BAA+B,CAAC;AAyBvC;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,OAAO,CAAC,MAAM,CAA8B;IAE5C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAKjC;IAEI,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAgHzF,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAM1C,KAAK;IAwBJ,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOjE,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAMpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,mBAAmB,CAErD"}
@@ -1,4 +1,4 @@
1
- export { SharePointConnector, createConnector6 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { SharePointConnector, createConnector6 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { SQLiteConnector, createConnector10 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { SQLiteConnector, createConnector10 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { StaticServerConnector, createConnector17 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { StaticServerConnector, createConnector17 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { TunnelConnector, createConnector18 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { TunnelConnector, createConnector18 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/webdav/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EAIf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EAQlB,MAAM,+BAA+B,CAAC;AAwBvC;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,IAAI,YAAY;IAEzB,OAAO,CAAC,MAAM,CAA8B;IAE5C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAIjC;IAEI,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAsGzF,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAM1C,KAAK;IAwBJ,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOjE,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAMpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,eAAe,CAEjD"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/webdav/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EAIf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EAQlB,MAAM,+BAA+B,CAAC;AAwBvC;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,IAAI,YAAY;IAEzB,OAAO,CAAC,MAAM,CAA8B;IAE5C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAKjC;IAEI,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAsGzF,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAM1C,KAAK;IAwBJ,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOjE,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAMpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,eAAe,CAEjD"}
@@ -1,4 +1,4 @@
1
- export { WebDAVConnector, createConnector5 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { WebDAVConnector, createConnector5 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -4,8 +4,8 @@
4
4
  *
5
5
  * Requires `@xstate/store` as an optional peer dependency.
6
6
  */
7
- import { AbstractConnector } from "@skaile/workspaces/connectors";
8
7
  import type { ConnectContext, ConnectorDeclaration, ConnectorHandle, ToolFace } from "@skaile/workspaces/connectors";
8
+ import { AbstractConnector } from "@skaile/workspaces/connectors";
9
9
  /**
10
10
  * Connector for `@xstate/store` — a lightweight event-driven key-value store shared between agents and UI clients.
11
11
  * Provides get, set, merge, and reset operations with an event history log. Requires the `@xstate/store` optional peer dependency.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/xstate-store/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACT,MAAM,+BAA+B,CAAC;AAgBvC;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,QAAQ,CAAC,IAAI,kBAAkB;IAE/B,KAAK,EAAE,QAAQ,CAAC;;IAeV,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAuC1F,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,OAAO;IAIf;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI;YAM/E,KAAK;YAWL,MAAM;YAgBN,OAAO;YAQP,KAAK;YAeL,OAAO;IAiBrB,OAAO,CAAC,mBAAmB;YAwEb,UAAU;IAqExB,OAAO,CAAC,cAAc;CAKvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,oBAAoB,CAEtD"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/xstate-store/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,cAAc,EAEd,oBAAoB,EAEpB,eAAe,EAKf,QAAQ,EACT,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQlE;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,QAAQ,CAAC,IAAI,kBAAkB;IAE/B,KAAK,EAAE,QAAQ,CAAC;;IAeV,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAuC1F,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,OAAO;IAIf;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI;YAM/E,KAAK;YAWL,MAAM;YAgBN,OAAO;YAQP,KAAK;YAeL,OAAO;IAiBrB,OAAO,CAAC,mBAAmB;YAiFb,UAAU;IAgFxB,OAAO,CAAC,cAAc;CAKvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,oBAAoB,CAEtD"}
@@ -1,4 +1,4 @@
1
- export { XStateStoreConnector, createConnector13 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { XStateStoreConnector, createConnector13 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1,4 +1,4 @@
1
- export { XStateConnector, createConnector12 as createConnector } from '../../chunk-E4UJ7CVK.js';
1
+ export { XStateConnector, createConnector12 as createConnector } from '../../chunk-HIIARTRZ.js';
2
2
  import '../../chunk-ODPII24X.js';
3
3
  import '../../chunk-QMONOHXT.js';
4
4
  import '../../chunk-QAVZOJCV.js';
@@ -1182,6 +1182,7 @@ var WebDAVConnector = class extends AbstractConnector {
1182
1182
  name = "webdav";
1183
1183
  rclone = new RcloneProcessManager();
1184
1184
  filesystem = {
1185
+ deferMount: true,
1185
1186
  sync: (handle, options) => {
1186
1187
  return this._sync(handle, options);
1187
1188
  }
@@ -1351,6 +1352,7 @@ var SharePointConnector = class extends AbstractConnector {
1351
1352
  name = "sharepoint";
1352
1353
  rclone = new RcloneProcessManager();
1353
1354
  filesystem = {
1355
+ deferMount: true,
1354
1356
  sync: (handle, options) => {
1355
1357
  return this._sync(handle, options);
1356
1358
  }
@@ -1539,6 +1541,7 @@ var GoogleDriveConnector = class extends AbstractConnector {
1539
1541
  name = "googledrive";
1540
1542
  rclone = new RcloneProcessManager();
1541
1543
  filesystem = {
1544
+ deferMount: true,
1542
1545
  sync: (handle, options) => {
1543
1546
  return this._sync(handle, options);
1544
1547
  }
@@ -3087,6 +3090,15 @@ var XStateStoreConnector = class extends AbstractConnector {
3087
3090
  ],
3088
3091
  examples: [`merge --data '{"theme":"dark","locale":"de"}'`]
3089
3092
  },
3093
+ {
3094
+ name: "delete",
3095
+ description: "Delete a single key from the store context.",
3096
+ accessLevel: "write",
3097
+ args: [
3098
+ { name: "key", type: "string", required: true, description: "Key name to delete" }
3099
+ ],
3100
+ examples: ["delete --key theme"]
3101
+ },
3090
3102
  {
3091
3103
  name: "reset",
3092
3104
  description: "Reset the store to its initial context.",
@@ -3143,6 +3155,14 @@ var XStateStoreConnector = class extends AbstractConnector {
3143
3155
  }
3144
3156
  return "OK";
3145
3157
  }
3158
+ case "delete": {
3159
+ const key = String(args.key ?? "");
3160
+ if (!(key in this.context(handle))) return "OK";
3161
+ s.store.send({ type: "delete", key });
3162
+ this._recordHistory(handle, "delete", { key });
3163
+ this.emitChange?.({ path: key, action: "delete", source: "operation" });
3164
+ return "OK";
3165
+ }
3146
3166
  case "reset": {
3147
3167
  s.store.send({ type: "reset" });
3148
3168
  s.history = [];
@@ -5112,6 +5132,12 @@ var ConnectorManager = class {
5112
5132
  tokenMediator;
5113
5133
  preMintedSecrets;
5114
5134
  mgrLog;
5135
+ /** Set once `disconnectAll()` starts, so in-flight deferred mounts bail. */
5136
+ disposed = false;
5137
+ /** Aborted on dispose; threaded into every `connect()` via `ctx.abortSignal`. */
5138
+ disposeController = new AbortController();
5139
+ /** Tracks the background task driving deferred (rclone-backed) mounts. */
5140
+ deferredConnect;
5115
5141
  // ── Private helpers ──────────────────────────────────────────────────────────
5116
5142
  /**
5117
5143
  * Wrap the user-supplied `TokenMediator` so `reason: 'initial'` calls for an
@@ -5216,7 +5242,8 @@ var ConnectorManager = class {
5216
5242
  async buildConnectContext(declaration, connector) {
5217
5243
  const ctx = {
5218
5244
  secrets: this.chain ?? this.secrets,
5219
- tokenMediator: void 0
5245
+ tokenMediator: void 0,
5246
+ abortSignal: this.disposeController.signal
5220
5247
  };
5221
5248
  if (this.chain && connector.describeFields) {
5222
5249
  const fields = connector.describeFields();
@@ -5268,65 +5295,55 @@ var ConnectorManager = class {
5268
5295
  * connector with a `mount` config failed → throws `ConnectorStartupError`
5269
5296
  * (fail-fast lifecycle semantics for mountable connectors).
5270
5297
  *
5298
+ * When `options.deferMounts` is set, connectors whose filesystem face is
5299
+ * marked `deferMount` (rclone-backed FUSE mounts) are NOT awaited here:
5300
+ * their target is pre-registered (so the mount path renders in the system
5301
+ * prompt immediately) and the actual mount is driven on a background task.
5302
+ * The returned report therefore covers only the eagerly-connected set, so a
5303
+ * slow remote can never gate whatever the caller does next (e.g. emitting
5304
+ * `session_init_ack`). Deferred connectors surface their progress through
5305
+ * `onStatusChange` (connecting → connected | error).
5306
+ *
5271
5307
  * @param declarations - Connector declarations from `skaile.yaml`.
5272
5308
  * @param options.failOnReadWriteError - Throw `ConnectorStartupError` if any
5273
5309
  * read-write connector fails. Read-only failures are always tolerated.
5310
+ * Only the eager set is considered — deferred mounts never throw.
5311
+ * @param options.deferMounts - Bring `deferMount` filesystem-face connectors
5312
+ * up in the background instead of awaiting them.
5274
5313
  */
5275
5314
  async connectAll(declarations, options) {
5276
5315
  this.mgrLog.info("connectAll start", { count: declarations.length });
5277
5316
  const results = [];
5278
- for (const decl of declarations) {
5279
- this.opts.onStatusChange?.({
5280
- type: "connector_status",
5281
- connectorId: decl.id,
5282
- status: "connecting"
5283
- });
5284
- try {
5285
- const connector = await this.resolveConnector(decl.driver);
5286
- const connectorLog = createLogger({
5287
- kind: "connector",
5288
- subkind: connector.name ?? decl.driver,
5289
- instance: decl.id
5290
- });
5291
- connector.setLogger?.(connectorLog);
5292
- const ctx = await this.buildConnectContext(decl, connector);
5293
- const handle = await this.withSpan(
5294
- "connector.connect",
5295
- {
5296
- "skaile.connector.id": decl.id,
5297
- "skaile.connector.driver": decl.driver,
5298
- "skaile.connector.operation": "connect"
5299
- },
5300
- () => connector.connect(decl, ctx)
5301
- );
5302
- this.active.set(decl.id, { connector, handle, declaration: decl });
5303
- results.push({
5304
- id: decl.id,
5305
- connected: true,
5306
- mountPath: handle.mountPath,
5307
- access: decl.access
5308
- });
5309
- this.opts.onStatusChange?.({
5310
- type: "connector_status",
5311
- connectorId: decl.id,
5312
- status: "connected"
5313
- });
5314
- } catch (err) {
5315
- const msg = err instanceof Error ? err.message : String(err);
5316
- this.mgrLog.error("connect failed", err, { id: decl.id, driver: decl.driver });
5317
- results.push({
5318
- id: decl.id,
5319
- connected: false,
5320
- error: msg,
5321
- access: decl.access
5322
- });
5323
- this.opts.onStatusChange?.({
5324
- type: "connector_status",
5325
- connectorId: decl.id,
5326
- status: "error",
5327
- error: msg
5328
- });
5317
+ const eager = [];
5318
+ const deferred = [];
5319
+ if (options?.deferMounts) {
5320
+ for (const decl of declarations) {
5321
+ let connector;
5322
+ try {
5323
+ connector = await this.resolveConnector(decl.driver);
5324
+ } catch {
5325
+ }
5326
+ if (connector?.filesystem?.deferMount === true) {
5327
+ deferred.push({ decl, connector });
5328
+ } else {
5329
+ eager.push({ decl, connector });
5330
+ }
5331
+ }
5332
+ } else {
5333
+ for (const decl of declarations) eager.push({ decl });
5334
+ }
5335
+ for (const { decl, connector } of eager) {
5336
+ results.push(await this.attemptConnect(decl, connector));
5337
+ }
5338
+ if (deferred.length > 0) {
5339
+ for (const { decl, connector } of deferred) {
5340
+ this.preRegisterDeferred(decl, connector);
5329
5341
  }
5342
+ const prior = this.deferredConnect;
5343
+ this.deferredConnect = (async () => {
5344
+ if (prior) await prior;
5345
+ await this.connectDeferred(deferred);
5346
+ })();
5330
5347
  }
5331
5348
  const report = { results };
5332
5349
  this.mgrLog.info("connectAll complete", {
@@ -5352,9 +5369,140 @@ var ConnectorManager = class {
5352
5369
  }
5353
5370
  return report;
5354
5371
  }
5372
+ /**
5373
+ * Connect a single declaration, emitting `connecting` → `connected | error`.
5374
+ * Never throws — failures are recorded in the returned result so `connectAll`
5375
+ * can keep going. Shared by the eager loop and the deferred background task.
5376
+ */
5377
+ async attemptConnect(decl, preResolved) {
5378
+ this.opts.onStatusChange?.({
5379
+ type: "connector_status",
5380
+ connectorId: decl.id,
5381
+ status: "connecting"
5382
+ });
5383
+ try {
5384
+ const connector = preResolved ?? await this.resolveConnector(decl.driver);
5385
+ const connectorLog = createLogger({
5386
+ kind: "connector",
5387
+ subkind: connector.name ?? decl.driver,
5388
+ instance: decl.id
5389
+ });
5390
+ connector.setLogger?.(connectorLog);
5391
+ const ctx = await this.buildConnectContext(decl, connector);
5392
+ const handle = await this.withSpan(
5393
+ "connector.connect",
5394
+ {
5395
+ "skaile.connector.id": decl.id,
5396
+ "skaile.connector.driver": decl.driver,
5397
+ "skaile.connector.operation": "connect"
5398
+ },
5399
+ () => connector.connect(decl, ctx)
5400
+ );
5401
+ const previous = this.active.get(decl.id);
5402
+ if (previous?.watchHandle) {
5403
+ try {
5404
+ await previous.watchHandle.close();
5405
+ } catch {
5406
+ }
5407
+ }
5408
+ this.active.set(decl.id, { connector, handle, declaration: decl });
5409
+ this.opts.onStatusChange?.({
5410
+ type: "connector_status",
5411
+ connectorId: decl.id,
5412
+ status: "connected"
5413
+ });
5414
+ return {
5415
+ id: decl.id,
5416
+ connected: true,
5417
+ mountPath: handle.mountPath,
5418
+ access: decl.access
5419
+ };
5420
+ } catch (err) {
5421
+ const msg = err instanceof Error ? err.message : String(err);
5422
+ this.mgrLog.error("connect failed", err, { id: decl.id, driver: decl.driver });
5423
+ this.opts.onStatusChange?.({
5424
+ type: "connector_status",
5425
+ connectorId: decl.id,
5426
+ status: "error",
5427
+ error: msg
5428
+ });
5429
+ return {
5430
+ id: decl.id,
5431
+ connected: false,
5432
+ error: msg,
5433
+ access: decl.access
5434
+ };
5435
+ }
5436
+ }
5437
+ /**
5438
+ * Register a provisional entry for a deferred filesystem-face connector so
5439
+ * its (deterministic) mount path shows up in `listConnectors()` / the system
5440
+ * prompt before the background mount completes. The empty target dir is
5441
+ * created up front so the agent can `ls` it while it is still syncing.
5442
+ */
5443
+ preRegisterDeferred(decl, connector) {
5444
+ const mountTarget = this.resolveMountTarget(decl);
5445
+ if (!existsSync(mountTarget)) mkdirSync(mountTarget, { recursive: true });
5446
+ const handle = {
5447
+ id: decl.id,
5448
+ driver: connector.name ?? decl.driver,
5449
+ access: decl.access,
5450
+ status: "connecting",
5451
+ mountPath: mountTarget,
5452
+ // Empty (not null) so a best-effort disconnect of a still-provisional
5453
+ // entry — e.g. a deferred mount that errored — finds no live handle and
5454
+ // returns cleanly instead of dereferencing null state.
5455
+ state: {}
5456
+ };
5457
+ this.active.set(decl.id, { connector, handle, declaration: decl });
5458
+ }
5459
+ /** Drive all deferred mounts concurrently; resolves when every one settles. */
5460
+ async connectDeferred(deferred) {
5461
+ await Promise.allSettled(
5462
+ deferred.map(({ decl, connector }) => this.connectDeferredOne(decl, connector))
5463
+ );
5464
+ }
5465
+ /**
5466
+ * Background-connect one deferred mount. On success `attemptConnect` swaps the
5467
+ * provisional entry for the real handle; on failure the provisional entry is
5468
+ * marked `error` so the mount path keeps rendering as "still syncing". If the
5469
+ * manager was disposed mid-flight, the connector that came up is torn down
5470
+ * immediately so no rclone process leaks.
5471
+ */
5472
+ async connectDeferredOne(decl, connector) {
5473
+ if (this.disposed) return;
5474
+ const result = await this.attemptConnect(decl, connector);
5475
+ if (!result.connected) {
5476
+ const entry = this.active.get(decl.id);
5477
+ if (entry && entry.handle.status === "connecting") entry.handle.status = "error";
5478
+ return;
5479
+ }
5480
+ if (this.disposed && this.active.has(decl.id)) {
5481
+ await this.disconnect(decl.id).catch(() => {
5482
+ });
5483
+ }
5484
+ }
5485
+ /**
5486
+ * Resolve once every background (deferred) mount started by `connectAll` has
5487
+ * settled. Resolves immediately when none are in flight. Useful for tests and
5488
+ * for callers that want to await full readiness.
5489
+ */
5490
+ async whenDeferredMountsSettled() {
5491
+ if (this.deferredConnect) await this.deferredConnect.catch(() => {
5492
+ });
5493
+ }
5355
5494
  /** Disconnect all connectors and stop all watchers. Best-effort — ignores disconnect errors. */
5356
5495
  async disconnectAll() {
5357
5496
  this.mgrLog.info("disconnectAll start", { count: this.active.size });
5497
+ this.disposed = true;
5498
+ this.disposeController.abort();
5499
+ if (this.deferredConnect) {
5500
+ try {
5501
+ await this.deferredConnect;
5502
+ } catch {
5503
+ }
5504
+ this.deferredConnect = void 0;
5505
+ }
5358
5506
  await this.unwatchAll();
5359
5507
  for (const [id, entry] of this.active) {
5360
5508
  try {
@@ -5507,6 +5655,10 @@ var ConnectorManager = class {
5507
5655
  async runLifecycleHook(hook) {
5508
5656
  const results = [];
5509
5657
  for (const [id, entry] of this.active) {
5658
+ if (entry.handle.status !== "connected") {
5659
+ results.push({ id, ok: true });
5660
+ continue;
5661
+ }
5510
5662
  const fn = entry.connector[hook];
5511
5663
  if (!fn) {
5512
5664
  results.push({ id, ok: true });
@@ -5547,7 +5699,10 @@ var ConnectorManager = class {
5547
5699
  id,
5548
5700
  driver: entry.connector.name,
5549
5701
  access: entry.declaration.access,
5550
- mountPath: entry.handle.mountPath
5702
+ mountPath: entry.handle.mountPath,
5703
+ // Surfaced so wire projections (splitConnectorsForWire) can distinguish a
5704
+ // still-connecting deferred mount from a fully-mounted one.
5705
+ status: entry.handle.status
5551
5706
  }));
5552
5707
  }
5553
5708
  /**
@@ -5589,6 +5744,7 @@ var ConnectorManager = class {
5589
5744
  const results = [];
5590
5745
  for (const [id, entry] of this.active) {
5591
5746
  if (!entry.connector.filesystem) continue;
5747
+ if (entry.handle.status !== "connected") continue;
5592
5748
  try {
5593
5749
  await entry.connector.filesystem.sync(entry.handle, options);
5594
5750
  results.push({ id, ok: true });
@@ -7397,5 +7553,5 @@ function createConnector() {
7397
7553
  }
7398
7554
 
7399
7555
  export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, DeployConnector, DevServerConnector, FlowAdapter, GitConnector, GmailConnector, GoogleDriveConnector, LocalConnector, LogBuffer, ManagedGitconfigCollisionError, MattermostConnector, MemoryConnector, MinIOConnector, PostgresConnector, S3Connector, SQLiteConnector, SharePointConnector, StaticServerConnector, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, createConnector, createConnector10, createConnector11, createConnector12, createConnector13, createConnector14, createConnector15, createConnector16, createConnector17, createConnector18, createConnector19, createConnector2, createConnector3, createConnector4, createConnector5, createConnector6, createConnector7, createConnector8, createConnector9, createWorktree, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, parseAuthBlob2 as parseAuthBlob, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock };
7400
- //# sourceMappingURL=chunk-E4UJ7CVK.js.map
7401
- //# sourceMappingURL=chunk-E4UJ7CVK.js.map
7556
+ //# sourceMappingURL=chunk-HIIARTRZ.js.map
7557
+ //# sourceMappingURL=chunk-HIIARTRZ.js.map