@skaile/workspaces 0.41.4 → 0.41.5

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 (54) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/asset-manager/index.js +1 -1
  3. package/dist/{chunk-3JTWGXL6.js → chunk-2ZI2FFFN.js} +4 -56
  4. package/dist/chunk-2ZI2FFFN.js.map +1 -0
  5. package/dist/{chunk-C5UK3JK7.js → chunk-5VJVSYXX.js} +18 -9
  6. package/dist/chunk-5VJVSYXX.js.map +1 -0
  7. package/dist/{chunk-UWAFZNUU.js → chunk-ACB3AOII.js} +3 -3
  8. package/dist/{chunk-UWAFZNUU.js.map → chunk-ACB3AOII.js.map} +1 -1
  9. package/dist/{chunk-OZ7YQAD5.js → chunk-IODU6UDT.js} +2 -2
  10. package/dist/{chunk-OZ7YQAD5.js.map → chunk-IODU6UDT.js.map} +1 -1
  11. package/dist/{chunk-NYDNHVMU.js → chunk-JILPU5VI.js} +7 -15
  12. package/dist/chunk-JILPU5VI.js.map +1 -0
  13. package/dist/{chunk-CQ7OEJQT.js → chunk-TNYWP6EQ.js} +2 -2
  14. package/dist/{chunk-CQ7OEJQT.js.map → chunk-TNYWP6EQ.js.map} +1 -1
  15. package/dist/cli/index.js +6 -6
  16. package/dist/connectors/index.js +2 -2
  17. package/dist/connectors/rclone.js +1 -1
  18. package/dist/connectors/src/rclone-process-manager.d.ts +2 -0
  19. package/dist/connectors/src/rclone-process-manager.d.ts.map +1 -1
  20. package/dist/factory-assets/connectors/deploy.js +2 -2
  21. package/dist/factory-assets/connectors/devserver.js +2 -2
  22. package/dist/factory-assets/connectors/flow/adapter.js +2 -2
  23. package/dist/factory-assets/connectors/flow/run-flow.js +3 -3
  24. package/dist/factory-assets/connectors/flow.js +2 -2
  25. package/dist/factory-assets/connectors/git.js +2 -2
  26. package/dist/factory-assets/connectors/gmail.js +2 -2
  27. package/dist/factory-assets/connectors/googledrive.js +2 -2
  28. package/dist/factory-assets/connectors/local.js +2 -2
  29. package/dist/factory-assets/connectors/mattermost.js +2 -2
  30. package/dist/factory-assets/connectors/memory.js +2 -2
  31. package/dist/factory-assets/connectors/minio.js +2 -2
  32. package/dist/factory-assets/connectors/postgres.js +2 -2
  33. package/dist/factory-assets/connectors/s3.js +2 -2
  34. package/dist/factory-assets/connectors/sharepoint/driver.d.ts +0 -23
  35. package/dist/factory-assets/connectors/sharepoint/driver.d.ts.map +1 -1
  36. package/dist/factory-assets/connectors/sharepoint.js +2 -2
  37. package/dist/factory-assets/connectors/sqlite.js +2 -2
  38. package/dist/factory-assets/connectors/static-server.js +2 -2
  39. package/dist/factory-assets/connectors/tunnel.js +2 -2
  40. package/dist/factory-assets/connectors/webdav.js +2 -2
  41. package/dist/factory-assets/connectors/xstate-store.js +2 -2
  42. package/dist/factory-assets/connectors/xstate.js +2 -2
  43. package/dist/runner/index.js +4 -4
  44. package/dist/runner/src/resource-handler.d.ts +1 -1
  45. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  46. package/dist/sdk/asset-manager.js +1 -1
  47. package/dist/sdk/index.js +4 -4
  48. package/dist/sdk/runner.js +4 -4
  49. package/dist/tui/index.js +4 -4
  50. package/dist/workspace-plugin/index.js +1 -1
  51. package/package.json +1 -1
  52. package/dist/chunk-3JTWGXL6.js.map +0 -1
  53. package/dist/chunk-C5UK3JK7.js.map +0 -1
  54. package/dist/chunk-NYDNHVMU.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.41.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [#179](https://github.com/skaile-ai/workspaces/pull/179) [`3c178e6`](https://github.com/skaile-ai/workspaces/commit/3c178e6dbdeb4de59d18dce6f43e8aee00178908) Thanks [@peteralbert](https://github.com/peteralbert)! - chore(sharepoint): remove the in-container `resolveWebUrl` custom op
8
+
9
+ SharePoint "Open in SharePoint" web-URL resolution moved host-side in the platform (the in-container connector has no OAuth token for fleet-managed mounts). The runner's `resolveWebUrl`/`_customOp` path is therefore dead code: removes `SharePointConnector.resolveWebUrl` + `buildGraphWebUrlEndpoint`, the `_customOp` branch in the mount resource handler (reverting it to its synchronous form), and their tests. No remaining caller.
10
+
11
+ - [#181](https://github.com/skaile-ai/workspaces/pull/181) [`3657030`](https://github.com/skaile-ai/workspaces/commit/36570300b6169fae336e2dec8bd633926323da77) Thanks [@peteralbert](https://github.com/peteralbert)! - rclone fleet: stop classifying `itemNotFound` upload errors as permanently non-retryable. itemNotFound is a SharePoint/OneDrive Graph 404 on the upload target that is frequently transient (stale VFS dir-cache parent-id after a folder is recreated remotely, or new-folder indexing lag), and clears once rclone re-lists the parent. Firing the upload-stuck signal on the first occurrence tripped a premature recycle/quarantine and stranded recoverable writes. itemNotFound now rides the same per-object stuck threshold as ordinary upload failures (counts consecutive occurrences, resets on an upload success), so rclone's own retries can clear a transient 404 while a genuinely-vanished target still escalates.
12
+
3
13
  ## 0.41.4
4
14
 
5
15
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- export { AssetManager, parseCanonicalLockKey } from '../chunk-CQ7OEJQT.js';
1
+ export { AssetManager, parseCanonicalLockKey } from '../chunk-TNYWP6EQ.js';
2
2
  export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-TB342H55.js';
3
3
  import '../chunk-MVXXAXDW.js';
4
4
  import '../chunk-ZAP2BDHG.js';
@@ -1,6 +1,6 @@
1
1
  import { renderGoogleDriveConfig, renderOneDriveConfig, renderWebDAVConfig } from './chunk-OVRSNIKJ.js';
2
2
  import { resolveAuthRef, resolveAuth, resolveMountCredentialString, resolveMountCredential } from './chunk-X4FCLBI7.js';
3
- import { PortPool, createFsWatcher, RcloneProcessManager, ensureDirMode } from './chunk-C5UK3JK7.js';
3
+ import { PortPool, createFsWatcher, RcloneProcessManager, ensureDirMode } from './chunk-5VJVSYXX.js';
4
4
  import { pluginRegistry } from './chunk-6E6PKKAD.js';
5
5
  import { computeFlowStateFromSnapshots } from './chunk-X46FY45B.js';
6
6
  import { renderStimulusPrompt } from './chunk-DEYYRFQU.js';
@@ -3464,12 +3464,6 @@ function cacheBase2() {
3464
3464
  var SharePointConnector = class extends AbstractConnector {
3465
3465
  name = "sharepoint";
3466
3466
  rclone = new RcloneProcessManager();
3467
- /**
3468
- * Captured on a successful non-fleet `connect()` so `resolveWebUrl` can mint a
3469
- * fresh Graph token later. Null until connected, and stays null for
3470
- * fleet-managed mounts (the host owns the token; no in-container resolution).
3471
- */
3472
- webUrlCtx = null;
3473
3467
  filesystem = {
3474
3468
  deferMount: true,
3475
3469
  sync: (handle, options) => {
@@ -3584,7 +3578,6 @@ var SharePointConnector = class extends AbstractConnector {
3584
3578
  this.log.info("mount ready", { pid: rcloneHandle.pid });
3585
3579
  handleRef.current = rcloneHandle;
3586
3580
  refresh?.schedule(cred.expiresAt);
3587
- this.webUrlCtx = { declaration, secrets, tokenMediator, driveId, folderPath, basePath };
3588
3581
  const state = { handleRef, refresh };
3589
3582
  return this.makeHandle(declaration, state, targetDir);
3590
3583
  }
@@ -3628,42 +3621,6 @@ var SharePointConnector = class extends AbstractConnector {
3628
3621
  await this._sync(handle);
3629
3622
  return "flushed";
3630
3623
  }
3631
- /**
3632
- * Resolve the SharePoint/OneDrive browser URL (Microsoft Graph `webUrl`) for
3633
- * the file at `relPath` (relative to the mount root). The platform's
3634
- * `resolveViewerUrl` path calls this so Office files that can't render inline
3635
- * (xlsx/docx/pptx) offer "Open in SharePoint" instead of only a download.
3636
- *
3637
- * Best-effort: returns null for fleet-managed mounts (no in-container token)
3638
- * or on any Graph failure, so the caller falls back to download.
3639
- */
3640
- async resolveWebUrl(relPath) {
3641
- const ctx = this.webUrlCtx;
3642
- if (!ctx) return null;
3643
- try {
3644
- const cred = await resolveMountCredential(
3645
- ctx.declaration,
3646
- ctx.secrets,
3647
- ctx.tokenMediator,
3648
- "refresh"
3649
- );
3650
- const token = parseAuthBlob2(cred.token, this.log).accessToken;
3651
- if (!token) return null;
3652
- const endpoint = buildGraphWebUrlEndpoint(ctx.driveId, ctx.folderPath, ctx.basePath, relPath);
3653
- const res = await fetch(endpoint, { headers: { Authorization: `Bearer ${token}` } });
3654
- if (!res.ok) {
3655
- this.log.warn("resolveWebUrl: Graph request failed", { status: res.status });
3656
- return null;
3657
- }
3658
- const body = await res.json();
3659
- return body.webUrl ?? null;
3660
- } catch (err) {
3661
- this.log.warn("resolveWebUrl failed", {
3662
- error: err instanceof Error ? err.message : String(err)
3663
- });
3664
- return null;
3665
- }
3666
- }
3667
3624
  };
3668
3625
  function createConnector13() {
3669
3626
  return new SharePointConnector();
@@ -3698,15 +3655,6 @@ function parseAuthBlob2(raw, log) {
3698
3655
  return { ...empty, accessToken: raw };
3699
3656
  }
3700
3657
  }
3701
- function buildGraphWebUrlEndpoint(driveId, folderPath, basePath, relPath) {
3702
- const drive = encodeURIComponent(driveId);
3703
- const itemPath = [folderPath, basePath, relPath].map((p) => p.replace(/^\/+|\/+$/g, "")).filter((p) => p.length > 0).join("/");
3704
- if (!itemPath) {
3705
- return `https://graph.microsoft.com/v1.0/drives/${drive}/root?$select=webUrl`;
3706
- }
3707
- const encoded = itemPath.split("/").map((seg) => encodeURIComponent(seg)).join("/");
3708
- return `https://graph.microsoft.com/v1.0/drives/${drive}/root:/${encoded}:?$select=webUrl`;
3709
- }
3710
3658
  function buildRemotePath(folderPath, basePath) {
3711
3659
  const folder = folderPath.replace(/^\/+|\/+$/g, "");
3712
3660
  const base = basePath.replace(/^\/+|\/+$/g, "");
@@ -8509,6 +8457,6 @@ function createConnector() {
8509
8457
  return new FlowAdapter();
8510
8458
  }
8511
8459
 
8512
- export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, DEFAULT_REACTIVE_COOLDOWN_MS, DeployConnector, DevServerConnector, FleetHealthGate, FlowAdapter, GitConnector, GmailConnector, GoogleDriveConnector, LocalConnector, LogBuffer, ManagedGitconfigCollisionError, MattermostConnector, MemoryConnector, MinIOConnector, NOT_READY_SENTINEL, PROACTIVE_RCLONE_REFRESH_MARGIN_MS, PostgresConnector, RoMountPlaceholderBarrier, S3Connector, SQLiteConnector, SharePointConnector, StaticServerConnector, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, __test, atomicReplaceCredential, buildConnectorPromptSection, buildGraphWebUrlEndpoint, buildSdkConnectorTools, createConnector, createConnector10, createConnector11, createConnector12, createConnector13, createConnector14, createConnector15, createConnector16, createConnector17, createConnector18, createConnector19, createConnector2, createConnector3, createConnector4, createConnector5, createConnector6, createConnector7, createConnector8, createConnector9, createRcloneTokenRefresh, createWorktree, defaultMountPlaceholderBarrier, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, probeFleetHealth, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock };
8513
- //# sourceMappingURL=chunk-3JTWGXL6.js.map
8514
- //# sourceMappingURL=chunk-3JTWGXL6.js.map
8460
+ export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, DEFAULT_REACTIVE_COOLDOWN_MS, DeployConnector, DevServerConnector, FleetHealthGate, FlowAdapter, GitConnector, GmailConnector, GoogleDriveConnector, LocalConnector, LogBuffer, ManagedGitconfigCollisionError, MattermostConnector, MemoryConnector, MinIOConnector, NOT_READY_SENTINEL, PROACTIVE_RCLONE_REFRESH_MARGIN_MS, PostgresConnector, RoMountPlaceholderBarrier, S3Connector, SQLiteConnector, SharePointConnector, StaticServerConnector, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, __test, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, createConnector, createConnector10, createConnector11, createConnector12, createConnector13, createConnector14, createConnector15, createConnector16, createConnector17, createConnector18, createConnector19, createConnector2, createConnector3, createConnector4, createConnector5, createConnector6, createConnector7, createConnector8, createConnector9, createRcloneTokenRefresh, createWorktree, defaultMountPlaceholderBarrier, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, probeFleetHealth, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock };
8461
+ //# sourceMappingURL=chunk-2ZI2FFFN.js.map
8462
+ //# sourceMappingURL=chunk-2ZI2FFFN.js.map