@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.
- package/CHANGELOG.md +10 -0
- package/dist/asset-manager/index.js +1 -1
- package/dist/{chunk-3JTWGXL6.js → chunk-2ZI2FFFN.js} +4 -56
- package/dist/chunk-2ZI2FFFN.js.map +1 -0
- package/dist/{chunk-C5UK3JK7.js → chunk-5VJVSYXX.js} +18 -9
- package/dist/chunk-5VJVSYXX.js.map +1 -0
- package/dist/{chunk-UWAFZNUU.js → chunk-ACB3AOII.js} +3 -3
- package/dist/{chunk-UWAFZNUU.js.map → chunk-ACB3AOII.js.map} +1 -1
- package/dist/{chunk-OZ7YQAD5.js → chunk-IODU6UDT.js} +2 -2
- package/dist/{chunk-OZ7YQAD5.js.map → chunk-IODU6UDT.js.map} +1 -1
- package/dist/{chunk-NYDNHVMU.js → chunk-JILPU5VI.js} +7 -15
- package/dist/chunk-JILPU5VI.js.map +1 -0
- package/dist/{chunk-CQ7OEJQT.js → chunk-TNYWP6EQ.js} +2 -2
- package/dist/{chunk-CQ7OEJQT.js.map → chunk-TNYWP6EQ.js.map} +1 -1
- package/dist/cli/index.js +6 -6
- package/dist/connectors/index.js +2 -2
- package/dist/connectors/rclone.js +1 -1
- package/dist/connectors/src/rclone-process-manager.d.ts +2 -0
- package/dist/connectors/src/rclone-process-manager.d.ts.map +1 -1
- package/dist/factory-assets/connectors/deploy.js +2 -2
- package/dist/factory-assets/connectors/devserver.js +2 -2
- package/dist/factory-assets/connectors/flow/adapter.js +2 -2
- package/dist/factory-assets/connectors/flow/run-flow.js +3 -3
- package/dist/factory-assets/connectors/flow.js +2 -2
- package/dist/factory-assets/connectors/git.js +2 -2
- package/dist/factory-assets/connectors/gmail.js +2 -2
- package/dist/factory-assets/connectors/googledrive.js +2 -2
- package/dist/factory-assets/connectors/local.js +2 -2
- package/dist/factory-assets/connectors/mattermost.js +2 -2
- package/dist/factory-assets/connectors/memory.js +2 -2
- package/dist/factory-assets/connectors/minio.js +2 -2
- package/dist/factory-assets/connectors/postgres.js +2 -2
- package/dist/factory-assets/connectors/s3.js +2 -2
- package/dist/factory-assets/connectors/sharepoint/driver.d.ts +0 -23
- package/dist/factory-assets/connectors/sharepoint/driver.d.ts.map +1 -1
- package/dist/factory-assets/connectors/sharepoint.js +2 -2
- package/dist/factory-assets/connectors/sqlite.js +2 -2
- package/dist/factory-assets/connectors/static-server.js +2 -2
- package/dist/factory-assets/connectors/tunnel.js +2 -2
- package/dist/factory-assets/connectors/webdav.js +2 -2
- package/dist/factory-assets/connectors/xstate-store.js +2 -2
- package/dist/factory-assets/connectors/xstate.js +2 -2
- package/dist/runner/index.js +4 -4
- package/dist/runner/src/resource-handler.d.ts +1 -1
- package/dist/runner/src/resource-handler.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +1 -1
- package/dist/sdk/index.js +4 -4
- package/dist/sdk/runner.js +4 -4
- package/dist/tui/index.js +4 -4
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-3JTWGXL6.js.map +0 -1
- package/dist/chunk-C5UK3JK7.js.map +0 -1
- 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-
|
|
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-
|
|
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,
|
|
8513
|
-
//# sourceMappingURL=chunk-
|
|
8514
|
-
//# sourceMappingURL=chunk-
|
|
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
|