@skaile/workspaces 0.22.0 → 0.23.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 (124) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/dist/{asset-feeds-Y2CDCM3W.js → asset-feeds-WKIKSZ6Z.js} +9 -9
  3. package/dist/{asset-feeds-Y2CDCM3W.js.map → asset-feeds-WKIKSZ6Z.js.map} +1 -1
  4. package/dist/asset-manager/index.js +7 -7
  5. package/dist/asset-manager/installer.js +6 -6
  6. package/dist/asset-manager/src/index.d.ts +15 -0
  7. package/dist/asset-manager/src/index.d.ts.map +1 -1
  8. package/dist/base-assets/connectors/deploy.js +8 -8
  9. package/dist/base-assets/connectors/devserver.js +8 -8
  10. package/dist/base-assets/connectors/flow/adapter.js +8 -8
  11. package/dist/base-assets/connectors/flow/run-flow.js +9 -9
  12. package/dist/base-assets/connectors/flow.js +8 -8
  13. package/dist/base-assets/connectors/git.js +8 -8
  14. package/dist/base-assets/connectors/gmail.js +8 -8
  15. package/dist/base-assets/connectors/googledrive/driver.d.ts.map +1 -1
  16. package/dist/base-assets/connectors/googledrive.js +8 -8
  17. package/dist/base-assets/connectors/local.js +8 -8
  18. package/dist/base-assets/connectors/mattermost.js +8 -8
  19. package/dist/base-assets/connectors/memory.js +8 -8
  20. package/dist/base-assets/connectors/minio.js +8 -8
  21. package/dist/base-assets/connectors/postgres.js +8 -8
  22. package/dist/base-assets/connectors/s3.js +8 -8
  23. package/dist/base-assets/connectors/sharepoint/driver.d.ts.map +1 -1
  24. package/dist/base-assets/connectors/sharepoint.js +8 -8
  25. package/dist/base-assets/connectors/sqlite.js +8 -8
  26. package/dist/base-assets/connectors/static-server.js +8 -8
  27. package/dist/base-assets/connectors/tunnel.js +8 -8
  28. package/dist/base-assets/connectors/webdav/driver.d.ts.map +1 -1
  29. package/dist/base-assets/connectors/webdav.js +8 -8
  30. package/dist/base-assets/connectors/xstate-store.js +8 -8
  31. package/dist/base-assets/connectors/xstate.js +8 -8
  32. package/dist/{chunk-MNAHNDUI.js → chunk-2F3RUZXC.js} +3 -3
  33. package/dist/{chunk-MNAHNDUI.js.map → chunk-2F3RUZXC.js.map} +1 -1
  34. package/dist/{chunk-2RYQERIT.js → chunk-2RFOFHSM.js} +4 -4
  35. package/dist/{chunk-2RYQERIT.js.map → chunk-2RFOFHSM.js.map} +1 -1
  36. package/dist/{chunk-K2HDYSAM.js → chunk-46COM7M5.js} +5 -5
  37. package/dist/{chunk-K2HDYSAM.js.map → chunk-46COM7M5.js.map} +1 -1
  38. package/dist/{chunk-V5TBKO5Q.js → chunk-542K7SR6.js} +59 -35
  39. package/dist/chunk-542K7SR6.js.map +1 -0
  40. package/dist/{chunk-PFOXL4SH.js → chunk-5ESCS2OS.js} +4 -4
  41. package/dist/{chunk-PFOXL4SH.js.map → chunk-5ESCS2OS.js.map} +1 -1
  42. package/dist/{chunk-WH2EB2SF.js → chunk-AFLH7B64.js} +3 -3
  43. package/dist/{chunk-WH2EB2SF.js.map → chunk-AFLH7B64.js.map} +1 -1
  44. package/dist/{chunk-7HSXUKNB.js → chunk-BTAC2VYT.js} +19 -18
  45. package/dist/chunk-BTAC2VYT.js.map +1 -0
  46. package/dist/{chunk-K7WPR77X.js → chunk-DH4N5AW4.js} +14 -8
  47. package/dist/chunk-DH4N5AW4.js.map +1 -0
  48. package/dist/{chunk-SKXCTV55.js → chunk-DZCFFTAX.js} +9 -9
  49. package/dist/{chunk-SKXCTV55.js.map → chunk-DZCFFTAX.js.map} +1 -1
  50. package/dist/{chunk-OJN25VJO.js → chunk-E4UJ7CVK.js} +31 -126
  51. package/dist/chunk-E4UJ7CVK.js.map +1 -0
  52. package/dist/{chunk-JN2CUVSU.js → chunk-LJ52ZKIU.js} +3 -3
  53. package/dist/{chunk-JN2CUVSU.js.map → chunk-LJ52ZKIU.js.map} +1 -1
  54. package/dist/{chunk-NBJ5TOEC.js → chunk-ODPII24X.js} +3 -3
  55. package/dist/{chunk-NBJ5TOEC.js.map → chunk-ODPII24X.js.map} +1 -1
  56. package/dist/{chunk-NDD5VMN5.js → chunk-OVQZ5OKL.js} +2 -2
  57. package/dist/{chunk-NDD5VMN5.js.map → chunk-OVQZ5OKL.js.map} +1 -1
  58. package/dist/{chunk-6MB7CRME.js → chunk-QMONOHXT.js} +268 -37
  59. package/dist/chunk-QMONOHXT.js.map +1 -0
  60. package/dist/{chunk-53UNDY6K.js → chunk-QTWA6BZK.js} +5 -5
  61. package/dist/{chunk-53UNDY6K.js.map → chunk-QTWA6BZK.js.map} +1 -1
  62. package/dist/{chunk-4NDWKA64.js → chunk-WSZAFRQL.js} +8 -3
  63. package/dist/chunk-WSZAFRQL.js.map +1 -0
  64. package/dist/{chunk-VUCPJBAG.js → chunk-YX3UWPJ5.js} +53 -28
  65. package/dist/chunk-YX3UWPJ5.js.map +1 -0
  66. package/dist/{chunk-ETMUGBHF.js → chunk-Z3M5K67G.js} +8 -8
  67. package/dist/chunk-Z3M5K67G.js.map +1 -0
  68. package/dist/cli/index.js +38 -38
  69. package/dist/cli/index.js.map +1 -1
  70. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  71. package/dist/cli/src/helpers.d.ts +7 -0
  72. package/dist/cli/src/helpers.d.ts.map +1 -1
  73. package/dist/connectors/config.js +6 -6
  74. package/dist/connectors/index.js +8 -8
  75. package/dist/connectors/rclone.js +2 -1
  76. package/dist/connectors/src/rclone-process-manager.d.ts +91 -3
  77. package/dist/connectors/src/rclone-process-manager.d.ts.map +1 -1
  78. package/dist/connectors/src/watcher.d.ts +6 -0
  79. package/dist/connectors/src/watcher.d.ts.map +1 -1
  80. package/dist/core/index.js +5 -5
  81. package/dist/core/manifest.js +2 -2
  82. package/dist/core/models.js +1 -1
  83. package/dist/core/runtime-assets.js +4 -4
  84. package/dist/core/src/lock.d.ts +6 -6
  85. package/dist/core/src/manifest.d.ts.map +1 -1
  86. package/dist/core/src/models.d.ts +25 -18
  87. package/dist/core/src/models.d.ts.map +1 -1
  88. package/dist/core/src/repo-manager.d.ts +8 -2
  89. package/dist/core/src/repo-manager.d.ts.map +1 -1
  90. package/dist/core/workspace-config.js +3 -3
  91. package/dist/deploy/index.js +5 -5
  92. package/dist/discovery/index.js +3 -3
  93. package/dist/{ensure-sources-REWWBH2K.js → ensure-sources-OJUBGX6Z.js} +10 -10
  94. package/dist/{ensure-sources-REWWBH2K.js.map → ensure-sources-OJUBGX6Z.js.map} +1 -1
  95. package/dist/helpers-LTN3HMD3.js +4 -0
  96. package/dist/{helpers-I3SREIC3.js.map → helpers-LTN3HMD3.js.map} +1 -1
  97. package/dist/library/index.js +4 -4
  98. package/dist/open-library-67FSSQWE.js +13 -0
  99. package/dist/{open-library-CT4VVESU.js.map → open-library-67FSSQWE.js.map} +1 -1
  100. package/dist/{plugin-store-QS7TC5HY.js → plugin-store-IZ5SCRAV.js} +7 -7
  101. package/dist/{plugin-store-QS7TC5HY.js.map → plugin-store-IZ5SCRAV.js.map} +1 -1
  102. package/dist/runner/index.js +10 -10
  103. package/dist/sdk/asset-manager.js +7 -7
  104. package/dist/sdk/core.js +5 -5
  105. package/dist/sdk/index.js +10 -10
  106. package/dist/sdk/runner.js +10 -10
  107. package/dist/{setup-F6DGKL7J.js → setup-J7CYEQOF.js} +7 -7
  108. package/dist/{setup-F6DGKL7J.js.map → setup-J7CYEQOF.js.map} +1 -1
  109. package/dist/store-client-AEI6Y3KD.js +14 -0
  110. package/dist/{store-client-JP642EEI.js.map → store-client-AEI6Y3KD.js.map} +1 -1
  111. package/dist/tui/index.js +10 -10
  112. package/dist/workspace-plugin/index.js +1 -1
  113. package/package.json +1 -1
  114. package/dist/chunk-4NDWKA64.js.map +0 -1
  115. package/dist/chunk-6MB7CRME.js.map +0 -1
  116. package/dist/chunk-7HSXUKNB.js.map +0 -1
  117. package/dist/chunk-ETMUGBHF.js.map +0 -1
  118. package/dist/chunk-K7WPR77X.js.map +0 -1
  119. package/dist/chunk-OJN25VJO.js.map +0 -1
  120. package/dist/chunk-V5TBKO5Q.js.map +0 -1
  121. package/dist/chunk-VUCPJBAG.js.map +0 -1
  122. package/dist/helpers-I3SREIC3.js +0 -4
  123. package/dist/open-library-CT4VVESU.js +0 -13
  124. package/dist/store-client-JP642EEI.js +0 -14
@@ -1,14 +1,14 @@
1
- import { resolveAuthRef, resolveAuth } from './chunk-NBJ5TOEC.js';
2
- import { RcloneProcessManager, ensureDirMode, PortPool } from './chunk-6MB7CRME.js';
1
+ import { resolveAuthRef, resolveAuth } from './chunk-ODPII24X.js';
2
+ import { createFsWatcher, RcloneProcessManager, ensureDirMode, PortPool } from './chunk-QMONOHXT.js';
3
3
  import { renderWebDAVConfig, renderOneDriveConfig, renderGoogleDriveConfig } from './chunk-QAVZOJCV.js';
4
4
  import { pluginRegistry } from './chunk-6E6PKKAD.js';
5
5
  import { computeFlowStateFromSnapshots } from './chunk-ICS76R4T.js';
6
6
  import { renderStimulusPrompt } from './chunk-GZWJGNNN.js';
7
7
  import { computeStimulus } from './chunk-FVTV7M76.js';
8
- import { portableSpawn } from './chunk-ETMUGBHF.js';
8
+ import { portableSpawn } from './chunk-Z3M5K67G.js';
9
9
  import { createLogger } from './chunk-24UIWON4.js';
10
10
  import { existsSync, mkdirSync, renameSync, writeFileSync, readFileSync, cpSync, statSync, createReadStream, readdirSync, openSync, writeSync, closeSync, chmodSync } from 'fs';
11
- import { join, dirname, resolve, sep, relative } from 'path';
11
+ import { join, dirname, resolve, sep } from 'path';
12
12
  import * as zNS from 'zod';
13
13
  import { execFile, execSync } from 'child_process';
14
14
  import { promisify } from 'util';
@@ -17,7 +17,6 @@ import mime from 'mime';
17
17
  import { createRequire } from 'module';
18
18
  import { pathToFileURL } from 'url';
19
19
  import { stat, readdir } from 'fs/promises';
20
- import chokidar from 'chokidar';
21
20
 
22
21
  // connectors/src/connector-base.ts
23
22
  var AbstractConnector = class {
@@ -1250,6 +1249,7 @@ var WebDAVConnector = class extends AbstractConnector {
1250
1249
  await ensureDirMode(targetDir, this.log);
1251
1250
  const cacheMaxSize = opts?.cacheMaxSize !== void 0 ? String(opts.cacheMaxSize) : void 0;
1252
1251
  const cacheMaxAge = opts?.cacheMaxAge !== void 0 ? String(opts.cacheMaxAge) : void 0;
1252
+ const vfsWriteBack = opts?.vfsWriteBack !== void 0 ? String(opts.vfsWriteBack) : void 0;
1253
1253
  const rcloneHandle = await this.rclone.spawn({
1254
1254
  mountId: declaration.id,
1255
1255
  driverName: "webdav",
@@ -1260,6 +1260,7 @@ var WebDAVConnector = class extends AbstractConnector {
1260
1260
  vfsCacheMode,
1261
1261
  ...cacheMaxSize !== void 0 ? { cacheMaxSize } : {},
1262
1262
  ...cacheMaxAge !== void 0 ? { cacheMaxAge } : {},
1263
+ ...vfsWriteBack !== void 0 ? { vfsWriteBack } : {},
1263
1264
  log: this.log
1264
1265
  });
1265
1266
  this.log.info("mount ready", { pid: rcloneHandle.pid });
@@ -1342,7 +1343,10 @@ async function obscurePassword(plain) {
1342
1343
  }
1343
1344
 
1344
1345
  // base-assets/connectors/sharepoint/driver.ts
1345
- var CACHE_BASE2 = "/var/cache/skaile";
1346
+ var DEFAULT_CACHE_BASE = "/var/cache/skaile";
1347
+ function cacheBase() {
1348
+ return process.env.SKAILE_RCLONE_CACHE_BASE ?? DEFAULT_CACHE_BASE;
1349
+ }
1346
1350
  var SharePointConnector = class extends AbstractConnector {
1347
1351
  name = "sharepoint";
1348
1352
  rclone = new RcloneProcessManager();
@@ -1391,7 +1395,8 @@ var SharePointConnector = class extends AbstractConnector {
1391
1395
  const remoteName = `skaile-${declaration.id}`;
1392
1396
  const remotePath = buildRemotePath(folderPath, basePath);
1393
1397
  const remote = `${remoteName}:${remotePath}`;
1394
- const cacheDir = `${CACHE_BASE2}/${declaration.id}`;
1398
+ const base = cacheBase();
1399
+ const cacheDir = `${base}/${declaration.id}`;
1395
1400
  const vfsCacheMode = declaration.access === "read-only" ? "minimal" : "full";
1396
1401
  this.log.info("mount params resolved", {
1397
1402
  driveId,
@@ -1410,11 +1415,19 @@ var SharePointConnector = class extends AbstractConnector {
1410
1415
  clientSecret: auth.clientSecret,
1411
1416
  driveId
1412
1417
  });
1413
- await ensureDirMode(CACHE_BASE2, this.log);
1418
+ await ensureDirMode(base, this.log);
1414
1419
  await ensureDirMode(cacheDir, this.log);
1415
1420
  await ensureDirMode(targetDir, this.log);
1416
1421
  const cacheMaxSize = opts?.cacheMaxSize !== void 0 ? String(opts.cacheMaxSize) : void 0;
1417
1422
  const cacheMaxAge = opts?.cacheMaxAge !== void 0 ? String(opts.cacheMaxAge) : void 0;
1423
+ const vfsWriteBack = opts?.vfsWriteBack !== void 0 ? String(opts.vfsWriteBack) : void 0;
1424
+ const ignoreSizeCheck = opts?.ignoreSizeCheck === true;
1425
+ if (ignoreSizeCheck) {
1426
+ this.log.warn(
1427
+ "ignoreSizeCheck enabled \u2014 rclone post-transfer size/checksum verification disabled for this mount",
1428
+ { connectorId: declaration.id }
1429
+ );
1430
+ }
1418
1431
  const rcloneHandle = await this.rclone.spawn({
1419
1432
  mountId: declaration.id,
1420
1433
  driverName: "sharepoint",
@@ -1425,6 +1438,8 @@ var SharePointConnector = class extends AbstractConnector {
1425
1438
  vfsCacheMode,
1426
1439
  ...cacheMaxSize !== void 0 ? { cacheMaxSize } : {},
1427
1440
  ...cacheMaxAge !== void 0 ? { cacheMaxAge } : {},
1441
+ ...vfsWriteBack !== void 0 ? { vfsWriteBack } : {},
1442
+ ...ignoreSizeCheck ? { ignoreSizeCheck: true } : {},
1428
1443
  log: this.log
1429
1444
  });
1430
1445
  this.log.info("mount ready", { pid: rcloneHandle.pid });
@@ -1512,7 +1527,7 @@ function buildRemotePath(folderPath, basePath) {
1512
1527
  }
1513
1528
 
1514
1529
  // base-assets/connectors/googledrive/driver.ts
1515
- var CACHE_BASE3 = "/var/cache/skaile";
1530
+ var CACHE_BASE2 = "/var/cache/skaile";
1516
1531
  var ALLOWED_SCOPES = /* @__PURE__ */ new Set([
1517
1532
  "drive",
1518
1533
  "drive.readonly",
@@ -1569,7 +1584,7 @@ var GoogleDriveConnector = class extends AbstractConnector {
1569
1584
  const remoteName = `skaile-${declaration.id}`;
1570
1585
  const remotePath = basePath.length > 0 ? `/${basePath}` : "/";
1571
1586
  const remote = `${remoteName}:${remotePath}`;
1572
- const cacheDir = `${CACHE_BASE3}/${declaration.id}`;
1587
+ const cacheDir = `${CACHE_BASE2}/${declaration.id}`;
1573
1588
  const vfsCacheMode = declaration.access === "read-only" ? "minimal" : "full";
1574
1589
  this.log.info("mount params resolved", {
1575
1590
  scope,
@@ -1592,11 +1607,12 @@ var GoogleDriveConnector = class extends AbstractConnector {
1592
1607
  teamDrive,
1593
1608
  serviceAccountFile: auth.serviceAccountFile
1594
1609
  });
1595
- await ensureDirMode(CACHE_BASE3, this.log);
1610
+ await ensureDirMode(CACHE_BASE2, this.log);
1596
1611
  await ensureDirMode(cacheDir, this.log);
1597
1612
  await ensureDirMode(targetDir, this.log);
1598
1613
  const cacheMaxSize = opts?.cacheMaxSize !== void 0 ? String(opts.cacheMaxSize) : void 0;
1599
1614
  const cacheMaxAge = opts?.cacheMaxAge !== void 0 ? String(opts.cacheMaxAge) : void 0;
1615
+ const vfsWriteBack = opts?.vfsWriteBack !== void 0 ? String(opts.vfsWriteBack) : void 0;
1600
1616
  const rcloneHandle = await this.rclone.spawn({
1601
1617
  mountId: declaration.id,
1602
1618
  driverName: "googledrive",
@@ -1607,6 +1623,7 @@ var GoogleDriveConnector = class extends AbstractConnector {
1607
1623
  vfsCacheMode,
1608
1624
  ...cacheMaxSize !== void 0 ? { cacheMaxSize } : {},
1609
1625
  ...cacheMaxAge !== void 0 ? { cacheMaxAge } : {},
1626
+ ...vfsWriteBack !== void 0 ? { vfsWriteBack } : {},
1610
1627
  log: this.log
1611
1628
  });
1612
1629
  this.log.info("mount ready", { pid: rcloneHandle.pid });
@@ -6381,118 +6398,6 @@ async function ensureFleetMounted(dir, log, options) {
6381
6398
  `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)}`
6382
6399
  );
6383
6400
  }
6384
- function globToMatcher(pattern) {
6385
- const segmentMatch = pattern.match(/^\*\*\/([^*/?]+)\/\*\*$/);
6386
- if (segmentMatch) {
6387
- const name = segmentMatch[1];
6388
- return (p) => p.includes(`/${name}/`) || p.endsWith(`/${name}`) || p === name;
6389
- }
6390
- const dotSegment = pattern.match(/^\*\*\/(\.[\w#]+)(?:\/\*\*)?$/);
6391
- if (dotSegment) {
6392
- const name = dotSegment[1];
6393
- return (p) => p.includes(`/${name}/`) || p.endsWith(`/${name}`) || p === name;
6394
- }
6395
- const extMatch = pattern.match(/^\*\*\/\*(\.\w+(?:\.\*)?)/);
6396
- if (extMatch) {
6397
- const suffix = extMatch[1];
6398
- if (suffix.endsWith(".*")) {
6399
- const base = suffix.slice(0, -2);
6400
- return (p) => p.includes(base);
6401
- }
6402
- return (p) => p.endsWith(suffix);
6403
- }
6404
- const suffixMatch = pattern.match(/^\*\*\/\*(.+)$/);
6405
- if (suffixMatch) {
6406
- const sfx = suffixMatch[1];
6407
- return (p) => p.endsWith(sfx);
6408
- }
6409
- const escaped = pattern.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*\*/g, "{{GLOBSTAR}}").replace(/\*/g, "[^/]*").replace(/\?/g, "[^/]").replace(/\{\{GLOBSTAR\}\}/g, ".*");
6410
- const re = new RegExp(`^${escaped}$`);
6411
- return (p) => re.test(p);
6412
- }
6413
- var DEFAULT_IGNORED = [
6414
- (p) => p.includes("/.git/") || p.endsWith("/.git"),
6415
- (p) => p.includes("/node_modules/") || p.endsWith("/node_modules"),
6416
- (p) => p.includes("/.connectors/") || p.endsWith("/.connectors"),
6417
- // Atomic-write tempfiles (Bun.write creates `<name>.tmp.<pid>.<ts>` then renames).
6418
- // These vanish between readdir and fs.watch, causing EINVAL that crashes the process.
6419
- (p) => /\.tmp\.\d/.test(p),
6420
- // Editor swap/backup files that also race with save operations.
6421
- (p) => p.endsWith(".swp"),
6422
- (p) => p.endsWith(".swx"),
6423
- (p) => p.includes("/.#"),
6424
- (p) => p.endsWith("~")
6425
- ];
6426
- var DEFAULT_DEBOUNCE_MS = 150;
6427
- function parseGitignore(rootDir) {
6428
- const gitignorePath = join(rootDir, ".gitignore");
6429
- if (!existsSync(gitignorePath)) return [];
6430
- try {
6431
- const content = readFileSync(gitignorePath, "utf-8");
6432
- const matchers = [];
6433
- for (const raw of content.split("\n")) {
6434
- const line = raw.trim();
6435
- if (!line || line.startsWith("#") || line.startsWith("!")) continue;
6436
- let pattern = line;
6437
- if (pattern.startsWith("/")) {
6438
- pattern = pattern.slice(1);
6439
- } else if (!pattern.includes("/")) {
6440
- pattern = `**/${pattern}`;
6441
- }
6442
- if (pattern.endsWith("/")) {
6443
- matchers.push(globToMatcher(`${pattern}**`));
6444
- } else {
6445
- matchers.push(globToMatcher(pattern));
6446
- if (!pattern.includes("*") && !pattern.includes(".")) {
6447
- matchers.push(globToMatcher(`${pattern}/**`));
6448
- }
6449
- }
6450
- }
6451
- return matchers;
6452
- } catch {
6453
- return [];
6454
- }
6455
- }
6456
- var CHOKIDAR_EVENT_MAP = {
6457
- add: "create",
6458
- change: "edit",
6459
- unlink: "delete",
6460
- addDir: "create",
6461
- unlinkDir: "delete"
6462
- };
6463
- async function createFsWatcher(rootDir, callback, options) {
6464
- const log = createLogger({ kind: "connector", subkind: "watcher", instance: rootDir });
6465
- const gitignorePatterns = parseGitignore(rootDir);
6466
- const optionsIgnored = (options?.ignored ?? []).map(
6467
- (entry) => typeof entry === "string" ? globToMatcher(entry) : entry
6468
- );
6469
- const ignored = [...DEFAULT_IGNORED, ...gitignorePatterns, ...optionsIgnored];
6470
- const debounceMs = options?.debounceMs ?? DEFAULT_DEBOUNCE_MS;
6471
- const watcher = chokidar.watch(rootDir, {
6472
- ignoreInitial: true,
6473
- ignored,
6474
- awaitWriteFinish: { stabilityThreshold: debounceMs, pollInterval: 50 },
6475
- usePolling: false
6476
- });
6477
- watcher.on("error", (err) => {
6478
- const message = err instanceof Error ? err.message : String(err);
6479
- log.warn("watcher error (non-fatal)", { message });
6480
- });
6481
- for (const [chokidarEvent, action] of Object.entries(CHOKIDAR_EVENT_MAP)) {
6482
- watcher.on(
6483
- chokidarEvent,
6484
- (fullPath) => {
6485
- const rel = relative(rootDir, fullPath);
6486
- if (!rel || rel.startsWith("..")) return;
6487
- const normalizedPath = rel.split("\\").join("/");
6488
- callback({ path: normalizedPath, action, source: "filesystem" });
6489
- }
6490
- );
6491
- }
6492
- return {
6493
- close: () => watcher.close()
6494
- };
6495
- }
6496
6401
  var WorktreeRegistryImpl = class {
6497
6402
  entries = /* @__PURE__ */ new Map();
6498
6403
  register(path, owner) {
@@ -7491,6 +7396,6 @@ function createConnector() {
7491
7396
  return new FlowAdapter();
7492
7397
  }
7493
7398
 
7494
- 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, createFsWatcher, createWorktree, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, parseAuthBlob2 as parseAuthBlob, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock };
7495
- //# sourceMappingURL=chunk-OJN25VJO.js.map
7496
- //# sourceMappingURL=chunk-OJN25VJO.js.map
7399
+ 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