@awcp/transport-storage 0.0.11 → 0.0.13
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.
|
@@ -4,20 +4,21 @@
|
|
|
4
4
|
* Implements TransportAdapter interface for URL-based storage transfer.
|
|
5
5
|
* Uses pre-signed URLs to upload/download workspace archives.
|
|
6
6
|
*/
|
|
7
|
-
import type { TransportAdapter, TransportPrepareParams, TransportPrepareResult, TransportSetupParams, TransportTeardownParams, TransportTeardownResult,
|
|
7
|
+
import type { TransportAdapter, TransportCapabilities, TransportPrepareParams, TransportPrepareResult, TransportSetupParams, TransportTeardownParams, TransportTeardownResult, TransportApplySnapshotParams, DependencyCheckResult } from '@awcp/core';
|
|
8
8
|
import type { StorageTransportConfig } from './types.js';
|
|
9
9
|
export declare class StorageTransport implements TransportAdapter {
|
|
10
10
|
readonly type: "storage";
|
|
11
|
+
readonly capabilities: TransportCapabilities;
|
|
11
12
|
private provider?;
|
|
12
13
|
private tempDir;
|
|
13
14
|
private config;
|
|
14
|
-
/** Store workDirInfo during setup for use in teardown */
|
|
15
15
|
private activeSetups;
|
|
16
16
|
constructor(config?: StorageTransportConfig);
|
|
17
17
|
private getProvider;
|
|
18
18
|
prepare(params: TransportPrepareParams): Promise<TransportPrepareResult>;
|
|
19
|
-
|
|
19
|
+
applySnapshot(params: TransportApplySnapshotParams): Promise<void>;
|
|
20
20
|
cleanup(delegationId: string): Promise<void>;
|
|
21
|
+
shutdown(): Promise<void>;
|
|
21
22
|
checkDependency(): Promise<DependencyCheckResult>;
|
|
22
23
|
setup(params: TransportSetupParams): Promise<string>;
|
|
23
24
|
teardown(params: TransportTeardownParams): Promise<TransportTeardownResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-transport.d.ts","sourceRoot":"","sources":["../src/storage-transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"storage-transport.d.ts","sourceRoot":"","sources":["../src/storage-transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAIzD,qBAAa,gBAAiB,YAAW,gBAAgB;IACvD,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IACnC,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAG1C;IAEF,OAAO,CAAC,QAAQ,CAAC,CAAkB;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,YAAY,CAAyC;gBAEjD,MAAM,GAAE,sBAA2B;IAK/C,OAAO,CAAC,WAAW;IAqBb,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA4BxE,aAAa,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBlE,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMzB,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAIjD,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAoCpD,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAqClF"}
|
|
@@ -13,10 +13,13 @@ import { createArchive, extractArchive, applyResultToResources } from '@awcp/tra
|
|
|
13
13
|
import { LocalStorageProvider } from './delegator/local-storage.js';
|
|
14
14
|
export class StorageTransport {
|
|
15
15
|
type = 'storage';
|
|
16
|
+
capabilities = {
|
|
17
|
+
supportsSnapshots: true,
|
|
18
|
+
liveSync: false,
|
|
19
|
+
};
|
|
16
20
|
provider;
|
|
17
21
|
tempDir;
|
|
18
22
|
config;
|
|
19
|
-
/** Store workDirInfo during setup for use in teardown */
|
|
20
23
|
activeSetups = new Map();
|
|
21
24
|
constructor(config = {}) {
|
|
22
25
|
this.config = config;
|
|
@@ -61,15 +64,15 @@ export class StorageTransport {
|
|
|
61
64
|
};
|
|
62
65
|
return { workDirInfo };
|
|
63
66
|
}
|
|
64
|
-
async
|
|
65
|
-
const { delegationId,
|
|
66
|
-
const
|
|
67
|
+
async applySnapshot(params) {
|
|
68
|
+
const { delegationId, snapshotData, resources } = params;
|
|
69
|
+
const snapshotInfo = JSON.parse(snapshotData);
|
|
67
70
|
await fs.promises.mkdir(this.tempDir, { recursive: true });
|
|
68
71
|
const archivePath = path.join(this.tempDir, `${delegationId}-apply.zip`);
|
|
69
72
|
const extractDir = path.join(this.tempDir, `${delegationId}-apply`);
|
|
70
|
-
const response = await fetch(
|
|
73
|
+
const response = await fetch(snapshotInfo.resultUrl);
|
|
71
74
|
if (!response.ok) {
|
|
72
|
-
throw new TransportError(`Failed to download
|
|
75
|
+
throw new TransportError(`Failed to download snapshot: ${response.status}`);
|
|
73
76
|
}
|
|
74
77
|
const buffer = Buffer.from(await response.arrayBuffer());
|
|
75
78
|
await fs.promises.writeFile(archivePath, buffer);
|
|
@@ -79,8 +82,10 @@ export class StorageTransport {
|
|
|
79
82
|
await fs.promises.rm(extractDir, { recursive: true, force: true });
|
|
80
83
|
}
|
|
81
84
|
async cleanup(delegationId) {
|
|
82
|
-
|
|
83
|
-
|
|
85
|
+
this.activeSetups.delete(delegationId);
|
|
86
|
+
}
|
|
87
|
+
async shutdown() {
|
|
88
|
+
this.activeSetups.clear();
|
|
84
89
|
}
|
|
85
90
|
// ========== Executor Side ==========
|
|
86
91
|
async checkDependency() {
|
|
@@ -114,14 +119,12 @@ export class StorageTransport {
|
|
|
114
119
|
}
|
|
115
120
|
async teardown(params) {
|
|
116
121
|
const { delegationId, workDir } = params;
|
|
117
|
-
// Get stored workDirInfo
|
|
118
122
|
const info = this.activeSetups.get(delegationId);
|
|
119
123
|
this.activeSetups.delete(delegationId);
|
|
120
124
|
await fs.promises.mkdir(this.tempDir, { recursive: true });
|
|
121
125
|
const archivePath = path.join(this.tempDir, `${delegationId}-result.zip`);
|
|
122
126
|
await createArchive(workDir, archivePath, { exclude: [] });
|
|
123
127
|
const buffer = await fs.promises.readFile(archivePath);
|
|
124
|
-
// If we have an upload URL, upload the result and return the URL
|
|
125
128
|
if (info?.uploadUrl) {
|
|
126
129
|
const response = await fetch(info.uploadUrl, {
|
|
127
130
|
method: 'PUT',
|
|
@@ -132,16 +135,14 @@ export class StorageTransport {
|
|
|
132
135
|
});
|
|
133
136
|
await fs.promises.unlink(archivePath);
|
|
134
137
|
if (!response.ok) {
|
|
135
|
-
throw new TransportError(`Failed to upload
|
|
138
|
+
throw new TransportError(`Failed to upload snapshot: ${response.status}`);
|
|
136
139
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
return { resultBase64 };
|
|
140
|
+
const snapshotBase64 = JSON.stringify({ resultUrl: info.uploadUrl });
|
|
141
|
+
return { snapshotBase64 };
|
|
140
142
|
}
|
|
141
|
-
|
|
142
|
-
const resultBase64 = buffer.toString('base64');
|
|
143
|
+
const snapshotBase64 = buffer.toString('base64');
|
|
143
144
|
await fs.promises.unlink(archivePath);
|
|
144
|
-
return {
|
|
145
|
+
return { snapshotBase64 };
|
|
145
146
|
}
|
|
146
147
|
}
|
|
147
148
|
//# sourceMappingURL=storage-transport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-transport.js","sourceRoot":"","sources":["../src/storage-transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-transport.js","sourceRoot":"","sources":["../src/storage-transport.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awcp/transport-storage",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"description": "AWCP Storage Transport - URL-based storage transfer for workspace delegation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"test:watch": "vitest"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@awcp/core": "^0.0.
|
|
26
|
-
"@awcp/transport-archive": "^0.0.
|
|
25
|
+
"@awcp/core": "^0.0.13",
|
|
26
|
+
"@awcp/transport-archive": "^0.0.13"
|
|
27
27
|
},
|
|
28
28
|
"keywords": [
|
|
29
29
|
"awcp",
|