@fluxpointstudios/orynq-sdk-storage-adapters 0.1.0 → 0.2.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.
- package/dist/adapters/s3/index.d.ts +1 -1
- package/dist/adapters/s3/index.d.ts.map +1 -1
- package/dist/adapters/s3/index.js +1 -1
- package/dist/adapters/s3/index.js.map +1 -1
- package/dist/adapters/s3/s3-adapter.d.ts +54 -1
- package/dist/adapters/s3/s3-adapter.d.ts.map +1 -1
- package/dist/adapters/s3/s3-adapter.js +116 -0
- package/dist/adapters/s3/s3-adapter.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +39 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/pin-trace.d.ts +51 -0
- package/dist/utils/pin-trace.d.ts.map +1 -0
- package/dist/utils/pin-trace.js +71 -0
- package/dist/utils/pin-trace.js.map +1 -0
- package/dist/utils/replication.d.ts +10 -0
- package/dist/utils/replication.d.ts.map +1 -1
- package/dist/utils/replication.js +6 -5
- package/dist/utils/replication.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { S3Adapter, createS3Adapter, type S3Client } from "./s3-adapter.js";
|
|
1
|
+
export { S3Adapter, createS3Adapter, createS3WormAdapter, computeObjectLockRetainUntil, objectLockConfigEnabled, type S3Client, type S3WormAdapterConfig, } from "./s3-adapter.js";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/s3/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/s3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EACvB,KAAK,QAAQ,EACb,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { S3Adapter, createS3Adapter } from "./s3-adapter.js";
|
|
1
|
+
export { S3Adapter, createS3Adapter, createS3WormAdapter, computeObjectLockRetainUntil, objectLockConfigEnabled, } from "./s3-adapter.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/s3/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/s3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,GAGxB,MAAM,iBAAiB,CAAC"}
|
|
@@ -2,7 +2,19 @@
|
|
|
2
2
|
* S3 Storage Adapter.
|
|
3
3
|
* Stores data on AWS S3 or S3-compatible services.
|
|
4
4
|
*/
|
|
5
|
-
import type { StorageAdapter, StorageRef, StorableManifest, S3AdapterConfig } from "../../types.js";
|
|
5
|
+
import type { StorageAdapter, StorageRef, StorableManifest, S3AdapterConfig, S3ObjectLockConfig } from "../../types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Compute the Object Lock retain-until date for a WORM write: an explicit
|
|
8
|
+
* `retainUntilDate`, or `now + retentionYears`. Returns undefined when neither
|
|
9
|
+
* is set. Exported (pure) so retention math is testable without AWS.
|
|
10
|
+
*/
|
|
11
|
+
export declare function computeObjectLockRetainUntil(objectLock: S3ObjectLockConfig, nowMs?: number): Date | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* True when an S3 `GetObjectLockConfiguration` response reports Object Lock as
|
|
14
|
+
* ENABLED on the bucket. Anything else (disabled, absent, malformed) is false.
|
|
15
|
+
* Pure — testable without AWS.
|
|
16
|
+
*/
|
|
17
|
+
export declare function objectLockConfigEnabled(response: unknown): boolean;
|
|
6
18
|
/**
|
|
7
19
|
* S3 client interface (minimal subset used).
|
|
8
20
|
* This allows using the actual AWS SDK or a compatible implementation.
|
|
@@ -15,6 +27,14 @@ export interface S3Client {
|
|
|
15
27
|
*/
|
|
16
28
|
export declare class S3Adapter implements StorageAdapter {
|
|
17
29
|
readonly type: "s3";
|
|
30
|
+
/**
|
|
31
|
+
* True when Object Lock (WORM) retention is CONFIGURED. This is a producer
|
|
32
|
+
* asserted flag, not proof the bucket enforces Object Lock — a bucket without
|
|
33
|
+
* Object Lock enabled silently ignores per-object retention. Call
|
|
34
|
+
* {@link verifyWormEnabled} to confirm real enforcement before relying on the
|
|
35
|
+
* durability guarantee.
|
|
36
|
+
*/
|
|
37
|
+
readonly isWorm: boolean;
|
|
18
38
|
private readonly bucket;
|
|
19
39
|
private readonly region;
|
|
20
40
|
private readonly prefix;
|
|
@@ -22,8 +42,22 @@ export declare class S3Adapter implements StorageAdapter {
|
|
|
22
42
|
private readonly endpoint;
|
|
23
43
|
private readonly serverSideEncryption;
|
|
24
44
|
private readonly presignedUrlExpiry;
|
|
45
|
+
private readonly objectLock;
|
|
25
46
|
private s3Client;
|
|
26
47
|
constructor(config: S3AdapterConfig);
|
|
48
|
+
/**
|
|
49
|
+
* Confirm the target bucket actually has S3 Object Lock ENABLED, so WORM
|
|
50
|
+
* retention is enforced (not silently ignored). Unlike {@link isWorm} — a
|
|
51
|
+
* producer-attested config flag — this performs a live `GetObjectLockConfiguration`
|
|
52
|
+
* check. Returns false when Object Lock is absent (including the
|
|
53
|
+
* "not found" error S3 raises for buckets created without it).
|
|
54
|
+
*/
|
|
55
|
+
verifyWormEnabled(): Promise<boolean>;
|
|
56
|
+
/**
|
|
57
|
+
* Resolve the Object Lock retain-until date for a write (now + retentionYears,
|
|
58
|
+
* or an explicit date). Returns undefined when WORM is not configured.
|
|
59
|
+
*/
|
|
60
|
+
private resolveRetainUntil;
|
|
27
61
|
/**
|
|
28
62
|
* Store data on S3.
|
|
29
63
|
*/
|
|
@@ -76,4 +110,23 @@ export declare class S3Adapter implements StorageAdapter {
|
|
|
76
110
|
* Create an S3 storage adapter.
|
|
77
111
|
*/
|
|
78
112
|
export declare function createS3Adapter(config: S3AdapterConfig): S3Adapter;
|
|
113
|
+
/** Config for {@link createS3WormAdapter}. */
|
|
114
|
+
export interface S3WormAdapterConfig extends Omit<S3AdapterConfig, "objectLock"> {
|
|
115
|
+
/** Years of WORM retention (regulatory horizons are typically 5–7+). */
|
|
116
|
+
retentionYears: number;
|
|
117
|
+
/** Object Lock mode (default "COMPLIANCE" — strongest, non-overridable). */
|
|
118
|
+
mode?: "COMPLIANCE" | "GOVERNANCE";
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Create an S3 adapter that writes every object under Object Lock (WORM)
|
|
122
|
+
* retention — regulatory-grade durable storage for long audit horizons.
|
|
123
|
+
*
|
|
124
|
+
* The target bucket MUST have Object Lock enabled at creation time.
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* const worm = createS3WormAdapter({ bucket: "audit", region: "us-east-1", retentionYears: 7 });
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export declare function createS3WormAdapter(config: S3WormAdapterConfig): S3Adapter;
|
|
79
132
|
//# sourceMappingURL=s3-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/s3/s3-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,eAAe,
|
|
1
|
+
{"version":3,"file":"s3-adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/s3/s3-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,59 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { StorageError, StorageException } from "../../types.js";
|
|
6
6
|
import { sha256 } from "../../utils/content-addressing.js";
|
|
7
|
+
const MS_PER_YEAR = 365.25 * 24 * 60 * 60 * 1000;
|
|
8
|
+
/**
|
|
9
|
+
* Compute the Object Lock retain-until date for a WORM write: an explicit
|
|
10
|
+
* `retainUntilDate`, or `now + retentionYears`. Returns undefined when neither
|
|
11
|
+
* is set. Exported (pure) so retention math is testable without AWS.
|
|
12
|
+
*/
|
|
13
|
+
export function computeObjectLockRetainUntil(objectLock, nowMs = Date.now()) {
|
|
14
|
+
if (objectLock.retainUntilDate) {
|
|
15
|
+
const t = objectLock.retainUntilDate.getTime();
|
|
16
|
+
// An Invalid Date has getTime() === NaN, and `NaN <= nowMs` is false, so it
|
|
17
|
+
// would slip past the past-date guard and yield a bogus retention. Reject
|
|
18
|
+
// non-finite dates explicitly.
|
|
19
|
+
if (!Number.isFinite(t)) {
|
|
20
|
+
throw new StorageException(StorageError.INVALID_CONFIG, "S3 objectLock retainUntilDate is not a valid date");
|
|
21
|
+
}
|
|
22
|
+
// A retain-until in the past provides no WORM protection.
|
|
23
|
+
if (t <= nowMs) {
|
|
24
|
+
throw new StorageException(StorageError.INVALID_CONFIG, `S3 objectLock retainUntilDate must be in the future (got ${objectLock.retainUntilDate.toISOString()})`);
|
|
25
|
+
}
|
|
26
|
+
return objectLock.retainUntilDate;
|
|
27
|
+
}
|
|
28
|
+
if (objectLock.retentionYears !== undefined) {
|
|
29
|
+
// 0 → retain-until == now (no protection); negative → a past date.
|
|
30
|
+
if (!(objectLock.retentionYears > 0)) {
|
|
31
|
+
throw new StorageException(StorageError.INVALID_CONFIG, `S3 objectLock retentionYears must be > 0 (got ${objectLock.retentionYears})`);
|
|
32
|
+
}
|
|
33
|
+
return new Date(nowMs + objectLock.retentionYears * MS_PER_YEAR);
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* True when an S3 `GetObjectLockConfiguration` response reports Object Lock as
|
|
39
|
+
* ENABLED on the bucket. Anything else (disabled, absent, malformed) is false.
|
|
40
|
+
* Pure — testable without AWS.
|
|
41
|
+
*/
|
|
42
|
+
export function objectLockConfigEnabled(response) {
|
|
43
|
+
const cfg = response
|
|
44
|
+
?.ObjectLockConfiguration;
|
|
45
|
+
return cfg?.ObjectLockEnabled === "Enabled";
|
|
46
|
+
}
|
|
7
47
|
/**
|
|
8
48
|
* Storage adapter for S3 and S3-compatible services.
|
|
9
49
|
*/
|
|
10
50
|
export class S3Adapter {
|
|
11
51
|
type = "s3";
|
|
52
|
+
/**
|
|
53
|
+
* True when Object Lock (WORM) retention is CONFIGURED. This is a producer
|
|
54
|
+
* asserted flag, not proof the bucket enforces Object Lock — a bucket without
|
|
55
|
+
* Object Lock enabled silently ignores per-object retention. Call
|
|
56
|
+
* {@link verifyWormEnabled} to confirm real enforcement before relying on the
|
|
57
|
+
* durability guarantee.
|
|
58
|
+
*/
|
|
59
|
+
isWorm;
|
|
12
60
|
bucket;
|
|
13
61
|
region;
|
|
14
62
|
prefix;
|
|
@@ -16,6 +64,7 @@ export class S3Adapter {
|
|
|
16
64
|
endpoint;
|
|
17
65
|
serverSideEncryption;
|
|
18
66
|
presignedUrlExpiry;
|
|
67
|
+
objectLock;
|
|
19
68
|
s3Client;
|
|
20
69
|
constructor(config) {
|
|
21
70
|
this.bucket = config.bucket;
|
|
@@ -25,6 +74,46 @@ export class S3Adapter {
|
|
|
25
74
|
this.endpoint = config.endpoint;
|
|
26
75
|
this.serverSideEncryption = config.serverSideEncryption ?? false;
|
|
27
76
|
this.presignedUrlExpiry = config.presignedUrlExpiry ?? 3600;
|
|
77
|
+
this.objectLock = config.objectLock;
|
|
78
|
+
this.isWorm = config.objectLock !== undefined;
|
|
79
|
+
this.s3Client = config.s3Client;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Confirm the target bucket actually has S3 Object Lock ENABLED, so WORM
|
|
83
|
+
* retention is enforced (not silently ignored). Unlike {@link isWorm} — a
|
|
84
|
+
* producer-attested config flag — this performs a live `GetObjectLockConfiguration`
|
|
85
|
+
* check. Returns false when Object Lock is absent (including the
|
|
86
|
+
* "not found" error S3 raises for buckets created without it).
|
|
87
|
+
*/
|
|
88
|
+
async verifyWormEnabled() {
|
|
89
|
+
const client = await this.getS3Client();
|
|
90
|
+
let command;
|
|
91
|
+
try {
|
|
92
|
+
const { GetObjectLockConfigurationCommand } = await import("@aws-sdk/client-s3");
|
|
93
|
+
command = new GetObjectLockConfigurationCommand({ Bucket: this.bucket });
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
// SDK not present (e.g. an injected/S3-compatible client): send a plain
|
|
97
|
+
// request the client can interpret.
|
|
98
|
+
command = { input: { Bucket: this.bucket } };
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
const response = await client.send(command);
|
|
102
|
+
return objectLockConfigEnabled(response);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// S3 raises ObjectLockConfigurationNotFoundError for buckets without it.
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Resolve the Object Lock retain-until date for a write (now + retentionYears,
|
|
111
|
+
* or an explicit date). Returns undefined when WORM is not configured.
|
|
112
|
+
*/
|
|
113
|
+
resolveRetainUntil() {
|
|
114
|
+
if (!this.objectLock)
|
|
115
|
+
return undefined;
|
|
116
|
+
return computeObjectLockRetainUntil(this.objectLock);
|
|
28
117
|
}
|
|
29
118
|
/**
|
|
30
119
|
* Store data on S3.
|
|
@@ -166,6 +255,15 @@ export class S3Adapter {
|
|
|
166
255
|
if (this.serverSideEncryption) {
|
|
167
256
|
params.ServerSideEncryption = "AES256";
|
|
168
257
|
}
|
|
258
|
+
// Apply WORM (Object Lock) retention when configured.
|
|
259
|
+
if (this.objectLock) {
|
|
260
|
+
const retainUntil = this.resolveRetainUntil();
|
|
261
|
+
if (!retainUntil) {
|
|
262
|
+
throw new StorageException(StorageError.INVALID_CONFIG, "S3 objectLock requires either retentionYears or retainUntilDate");
|
|
263
|
+
}
|
|
264
|
+
params.ObjectLockMode = this.objectLock.mode;
|
|
265
|
+
params.ObjectLockRetainUntilDate = retainUntil;
|
|
266
|
+
}
|
|
169
267
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
170
268
|
await client.send(new PutObjectCommand(params));
|
|
171
269
|
}
|
|
@@ -272,4 +370,22 @@ export class S3Adapter {
|
|
|
272
370
|
export function createS3Adapter(config) {
|
|
273
371
|
return new S3Adapter(config);
|
|
274
372
|
}
|
|
373
|
+
/**
|
|
374
|
+
* Create an S3 adapter that writes every object under Object Lock (WORM)
|
|
375
|
+
* retention — regulatory-grade durable storage for long audit horizons.
|
|
376
|
+
*
|
|
377
|
+
* The target bucket MUST have Object Lock enabled at creation time.
|
|
378
|
+
*
|
|
379
|
+
* @example
|
|
380
|
+
* ```typescript
|
|
381
|
+
* const worm = createS3WormAdapter({ bucket: "audit", region: "us-east-1", retentionYears: 7 });
|
|
382
|
+
* ```
|
|
383
|
+
*/
|
|
384
|
+
export function createS3WormAdapter(config) {
|
|
385
|
+
const { retentionYears, mode, ...rest } = config;
|
|
386
|
+
return new S3Adapter({
|
|
387
|
+
...rest,
|
|
388
|
+
objectLock: { mode: mode ?? "COMPLIANCE", retentionYears },
|
|
389
|
+
});
|
|
390
|
+
}
|
|
275
391
|
//# sourceMappingURL=s3-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-adapter.js","sourceRoot":"","sources":["../../../src/adapters/s3/s3-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"s3-adapter.js","sourceRoot":"","sources":["../../../src/adapters/s3/s3-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
*
|
|
32
32
|
* @packageDocumentation
|
|
33
33
|
*/
|
|
34
|
-
export type { StorageType, StorageRef, StorableManifest, StorageAdapter, IpfsAdapterConfig, PinningServiceConfig, S3AdapterConfig, ArweaveAdapterConfig, ArweaveWallet, BundlrConfig, ReplicationConfig, } from "./types.js";
|
|
34
|
+
export type { StorageType, StorageRef, StorableManifest, StorageAdapter, IpfsAdapterConfig, PinningServiceConfig, S3AdapterConfig, S3ObjectLockConfig, ArweaveAdapterConfig, ArweaveWallet, BundlrConfig, ReplicationConfig, } from "./types.js";
|
|
35
35
|
export { StorageError, StorageException } from "./types.js";
|
|
36
36
|
export { IpfsAdapter, createIpfsAdapter, type PinningService, PinataPinningService, InfuraPinningService, Web3StoragePinningService, createPinningService, } from "./adapters/ipfs/index.js";
|
|
37
|
-
export { S3Adapter, createS3Adapter, type S3Client, } from "./adapters/s3/index.js";
|
|
37
|
+
export { S3Adapter, createS3Adapter, createS3WormAdapter, computeObjectLockRetainUntil, objectLockConfigEnabled, type S3Client, type S3WormAdapterConfig, } from "./adapters/s3/index.js";
|
|
38
38
|
export { ArweaveAdapter, createArweaveAdapter, } from "./adapters/arweave/index.js";
|
|
39
|
-
export { sha256, sha256Raw, contentId, validateContentHash, parseIpfsCid, parseArweaveId, parseS3Key, buildStorageUri, HASH_DOMAIN_PREFIXES, type HashDomain, ReplicatedStorageAdapter, } from "./utils/index.js";
|
|
39
|
+
export { sha256, sha256Raw, contentId, validateContentHash, parseIpfsCid, parseArweaveId, parseS3Key, buildStorageUri, HASH_DOMAIN_PREFIXES, type HashDomain, ReplicatedStorageAdapter, type ReplicationResult, pinTraceFor, type PinTraceOptions, type PinTraceResult, } from "./utils/index.js";
|
|
40
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,YAAY,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,cAAc,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,SAAS,EACT,eAAe,EACf,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,YAAY,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,cAAc,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EACvB,KAAK,QAAQ,EACb,KAAK,mBAAmB,GACzB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,cAAc,EACd,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,KAAK,UAAU,EACf,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -35,9 +35,9 @@ export { StorageError, StorageException } from "./types.js";
|
|
|
35
35
|
// === IPFS Adapter ===
|
|
36
36
|
export { IpfsAdapter, createIpfsAdapter, PinataPinningService, InfuraPinningService, Web3StoragePinningService, createPinningService, } from "./adapters/ipfs/index.js";
|
|
37
37
|
// === S3 Adapter ===
|
|
38
|
-
export { S3Adapter, createS3Adapter, } from "./adapters/s3/index.js";
|
|
38
|
+
export { S3Adapter, createS3Adapter, createS3WormAdapter, computeObjectLockRetainUntil, objectLockConfigEnabled, } from "./adapters/s3/index.js";
|
|
39
39
|
// === Arweave Adapter ===
|
|
40
40
|
export { ArweaveAdapter, createArweaveAdapter, } from "./adapters/arweave/index.js";
|
|
41
41
|
// === Utilities ===
|
|
42
|
-
export { sha256, sha256Raw, contentId, validateContentHash, parseIpfsCid, parseArweaveId, parseS3Key, buildStorageUri, HASH_DOMAIN_PREFIXES, ReplicatedStorageAdapter, } from "./utils/index.js";
|
|
42
|
+
export { sha256, sha256Raw, contentId, validateContentHash, parseIpfsCid, parseArweaveId, parseS3Key, buildStorageUri, HASH_DOMAIN_PREFIXES, ReplicatedStorageAdapter, pinTraceFor, } from "./utils/index.js";
|
|
43
43
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAkBH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE5D,uBAAuB;AACvB,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,qBAAqB;AACrB,OAAO,EACL,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,GAGxB,MAAM,wBAAwB,CAAC;AAEhC,0BAA0B;AAC1B,OAAO,EACL,cAAc,EACd,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAErC,oBAAoB;AACpB,OAAO,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,oBAAoB,EAEpB,wBAAwB,EAExB,WAAW,GAGZ,MAAM,kBAAkB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -20,6 +20,12 @@ export interface StorableManifest {
|
|
|
20
20
|
}
|
|
21
21
|
export interface StorageAdapter {
|
|
22
22
|
readonly type: StorageType;
|
|
23
|
+
/**
|
|
24
|
+
* True when this backend writes under WORM / Object-Lock retention (tamper-
|
|
25
|
+
* proof for the retention window). Durable-pinning policies require the WORM
|
|
26
|
+
* backend specifically, so a non-WORM success cannot stand in for it.
|
|
27
|
+
*/
|
|
28
|
+
readonly isWorm?: boolean;
|
|
23
29
|
/**
|
|
24
30
|
* Store raw data.
|
|
25
31
|
*/
|
|
@@ -74,6 +80,21 @@ export interface PinningServiceConfig {
|
|
|
74
80
|
apiSecret?: string;
|
|
75
81
|
endpoint?: string;
|
|
76
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* AWS S3 Object Lock (WORM) retention configuration. The bucket must have
|
|
85
|
+
* Object Lock enabled at creation; this sets per-object retention.
|
|
86
|
+
*
|
|
87
|
+
* - COMPLIANCE: no one (not even the root account) can delete/overwrite before
|
|
88
|
+
* the retention date — regulatory-grade.
|
|
89
|
+
* - GOVERNANCE: users with the bypass permission can override.
|
|
90
|
+
*/
|
|
91
|
+
export interface S3ObjectLockConfig {
|
|
92
|
+
mode: "COMPLIANCE" | "GOVERNANCE";
|
|
93
|
+
/** Retain for N years from upload time (used to compute RetainUntilDate). */
|
|
94
|
+
retentionYears?: number;
|
|
95
|
+
/** Explicit retain-until date (overrides retentionYears when set). */
|
|
96
|
+
retainUntilDate?: Date;
|
|
97
|
+
}
|
|
77
98
|
export interface S3AdapterConfig {
|
|
78
99
|
/**
|
|
79
100
|
* S3 bucket name.
|
|
@@ -106,6 +127,24 @@ export interface S3AdapterConfig {
|
|
|
106
127
|
* Presigned URL expiry in seconds (default: 3600).
|
|
107
128
|
*/
|
|
108
129
|
presignedUrlExpiry?: number;
|
|
130
|
+
/**
|
|
131
|
+
* S3 Object Lock (WORM) retention. When set, every stored object is written
|
|
132
|
+
* with the given retention mode + retain-until date — regulatory-grade
|
|
133
|
+
* tamper-resistance for long audit horizons.
|
|
134
|
+
*
|
|
135
|
+
* NOTE: setting this asserts the bucket is Object-Lock-enabled; it does not by
|
|
136
|
+
* itself prove enforcement. Call `S3Adapter.verifyWormEnabled()` to confirm the
|
|
137
|
+
* bucket actually has Object Lock enabled.
|
|
138
|
+
*/
|
|
139
|
+
objectLock?: S3ObjectLockConfig;
|
|
140
|
+
/**
|
|
141
|
+
* Pre-constructed S3 client (or S3-compatible / test double). When supplied,
|
|
142
|
+
* the adapter uses it instead of lazily constructing an `@aws-sdk/client-s3`
|
|
143
|
+
* client. Must implement `send(command)`.
|
|
144
|
+
*/
|
|
145
|
+
s3Client?: {
|
|
146
|
+
send(command: unknown): Promise<unknown>;
|
|
147
|
+
};
|
|
109
148
|
}
|
|
110
149
|
export interface ArweaveAdapterConfig {
|
|
111
150
|
/**
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAID;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE7C;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/D;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE5C;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE1D;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C;;OAEG;IACH,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;OAEG;IACH,GAAG,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAID,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAEtC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,CAAC;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IAEF;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4PH,sBAAsB;AAEtB,MAAM,CAAN,IAAY,YAUX;AAVD,WAAY,YAAY;IACtB,kEAAmB,CAAA;IACnB,kEAAmB,CAAA;IACnB,4DAAgB,CAAA;IAChB,gFAA0B,CAAA;IAC1B,oEAAoB,CAAA;IACpB,8DAAiB,CAAA;IACjB,wDAAc,CAAA;IACd,sEAAqB,CAAA;IACrB,8EAAyB,CAAA;AAC3B,CAAC,EAVW,YAAY,KAAZ,YAAY,QAUvB;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAEvB;IAEA;IAHlB,YACkB,IAAkB,EAClC,OAAe,EACC,KAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAc;QAElB,UAAK,GAAL,KAAK,CAAQ;QAG7B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export { sha256, sha256Raw, contentId, validateContentHash, parseIpfsCid, parseArweaveId, parseS3Key, buildStorageUri, HASH_DOMAIN_PREFIXES, type HashDomain, } from "./content-addressing.js";
|
|
2
2
|
export { ReplicatedStorageAdapter } from "./replication.js";
|
|
3
|
+
export type { ReplicationResult } from "./replication.js";
|
|
4
|
+
export { pinTraceFor } from "./pin-trace.js";
|
|
5
|
+
export type { PinTraceOptions, PinTraceResult } from "./pin-trace.js";
|
|
3
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,KAAK,UAAU,GAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,KAAK,UAAU,GAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { sha256, sha256Raw, contentId, validateContentHash, parseIpfsCid, parseArweaveId, parseS3Key, buildStorageUri, HASH_DOMAIN_PREFIXES, } from "./content-addressing.js";
|
|
2
2
|
export { ReplicatedStorageAdapter } from "./replication.js";
|
|
3
|
+
export { pinTraceFor } from "./pin-trace.js";
|
|
3
4
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,oBAAoB,GAErB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,oBAAoB,GAErB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Multi-adapter durable pinning for trace bundles (issue #61).
|
|
3
|
+
*
|
|
4
|
+
* `pinTraceFor()` writes a trace's manifest (and optional raw chunk artifacts)
|
|
5
|
+
* to several storage backends in parallel with a redundancy policy, returning
|
|
6
|
+
* every backend's {@link StorageRef}. Those refs are exactly what gets embedded
|
|
7
|
+
* as `storageRefs[]` in the on-chain anchor metadata so a verifier can re-fetch
|
|
8
|
+
* the bundle from any surviving backend years later.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const { refs } = await pinTraceFor(manifest, {
|
|
13
|
+
* adapters: [createArweaveAdapter({ wallet }), createS3WormAdapter({ bucket, region, retentionYears: 7 })],
|
|
14
|
+
* redundancy: "all",
|
|
15
|
+
* });
|
|
16
|
+
* // embed `refs` as storageRefs[] in the anchor metadata
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import type { StorageAdapter, StorageRef, StorableManifest } from "../types.js";
|
|
20
|
+
export interface PinTraceOptions {
|
|
21
|
+
/** Storage backends to pin to. */
|
|
22
|
+
adapters: StorageAdapter[];
|
|
23
|
+
/** Redundancy policy across adapters (default "all" — every backend must succeed). */
|
|
24
|
+
redundancy?: "all" | "any" | "quorum";
|
|
25
|
+
/** Minimum successes for the "quorum" policy. */
|
|
26
|
+
quorum?: number;
|
|
27
|
+
/** Optional raw chunk artifacts to store alongside the manifest. */
|
|
28
|
+
artifacts?: Uint8Array[];
|
|
29
|
+
/** Per-adapter retry policy (forwarded to ReplicatedStorageAdapter). */
|
|
30
|
+
retry?: {
|
|
31
|
+
maxAttempts: number;
|
|
32
|
+
delayMs: number;
|
|
33
|
+
backoffMultiplier: number;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export interface PinTraceResult {
|
|
37
|
+
/** First successful manifest reference (convenience). */
|
|
38
|
+
manifest: StorageRef;
|
|
39
|
+
/** The manifest reference on every successful backend. */
|
|
40
|
+
manifestRefs: StorageRef[];
|
|
41
|
+
/** Per-artifact references across backends (same order as `options.artifacts`). */
|
|
42
|
+
artifactRefs: StorageRef[][];
|
|
43
|
+
/** All references (manifest + artifacts) — ready to embed as anchor `storageRefs[]`. */
|
|
44
|
+
refs: StorageRef[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Pin a trace manifest (and optional artifacts) across multiple storage
|
|
48
|
+
* backends with redundancy, returning every resulting reference.
|
|
49
|
+
*/
|
|
50
|
+
export declare function pinTraceFor(manifest: StorableManifest, options: PinTraceOptions): Promise<PinTraceResult>;
|
|
51
|
+
//# sourceMappingURL=pin-trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pin-trace.d.ts","sourceRoot":"","sources":["../../src/utils/pin-trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIhF,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,sFAAsF;IACtF,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IACtC,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;IACzB,wEAAwE;IACxE,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7E;AAED,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,QAAQ,EAAE,UAAU,CAAC;IACrB,0DAA0D;IAC1D,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,mFAAmF;IACnF,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC;IAC7B,wFAAwF;IACxF,IAAI,EAAE,UAAU,EAAE,CAAC;CACpB;AAwBD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CAsCzB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Multi-adapter durable pinning for trace bundles (issue #61).
|
|
3
|
+
*
|
|
4
|
+
* `pinTraceFor()` writes a trace's manifest (and optional raw chunk artifacts)
|
|
5
|
+
* to several storage backends in parallel with a redundancy policy, returning
|
|
6
|
+
* every backend's {@link StorageRef}. Those refs are exactly what gets embedded
|
|
7
|
+
* as `storageRefs[]` in the on-chain anchor metadata so a verifier can re-fetch
|
|
8
|
+
* the bundle from any surviving backend years later.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const { refs } = await pinTraceFor(manifest, {
|
|
13
|
+
* adapters: [createArweaveAdapter({ wallet }), createS3WormAdapter({ bucket, region, retentionYears: 7 })],
|
|
14
|
+
* redundancy: "all",
|
|
15
|
+
* });
|
|
16
|
+
* // embed `refs` as storageRefs[] in the anchor metadata
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import { StorageError, StorageException } from "../types.js";
|
|
20
|
+
import { ReplicatedStorageAdapter } from "./replication.js";
|
|
21
|
+
function ensureSuccess(result, redundancy, what) {
|
|
22
|
+
if (!result.success) {
|
|
23
|
+
throw new StorageException(StorageError.REPLICATION_FAILED, `pinTraceFor: ${what} did not satisfy redundancy "${redundancy}": ` +
|
|
24
|
+
result.errors.map((e) => `${e.adapter}: ${e.error.message}`).join("; "));
|
|
25
|
+
}
|
|
26
|
+
// The durability guarantee this helper advertises rests on the WORM (Object-
|
|
27
|
+
// Lock) backend. A non-WORM success under "any"/"quorum" does NOT stand in for
|
|
28
|
+
// it: if any configured WORM backend failed, the overall result is a failure,
|
|
29
|
+
// regardless of the aggregate redundancy verdict.
|
|
30
|
+
const wormFailure = result.perAdapter.find((p) => p.adapter.isWorm === true && p.ref === undefined);
|
|
31
|
+
if (wormFailure) {
|
|
32
|
+
throw new StorageException(StorageError.REPLICATION_FAILED, `pinTraceFor: ${what} WORM/Object-Lock backend failed — the durability guarantee is not met: ` +
|
|
33
|
+
`${wormFailure.adapter.type}: ${wormFailure.error?.message ?? "unknown error"}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Pin a trace manifest (and optional artifacts) across multiple storage
|
|
38
|
+
* backends with redundancy, returning every resulting reference.
|
|
39
|
+
*/
|
|
40
|
+
export async function pinTraceFor(manifest, options) {
|
|
41
|
+
if (!options.adapters || options.adapters.length === 0) {
|
|
42
|
+
throw new StorageException(StorageError.INVALID_CONFIG, "pinTraceFor: at least one adapter is required");
|
|
43
|
+
}
|
|
44
|
+
const redundancy = options.redundancy ?? "all";
|
|
45
|
+
const replicated = new ReplicatedStorageAdapter({
|
|
46
|
+
adapters: options.adapters,
|
|
47
|
+
strategy: redundancy,
|
|
48
|
+
...(options.quorum !== undefined ? { quorum: options.quorum } : {}),
|
|
49
|
+
...(options.retry !== undefined ? { retry: options.retry } : {}),
|
|
50
|
+
});
|
|
51
|
+
const manifestResult = await replicated.storeManifestAll(manifest);
|
|
52
|
+
ensureSuccess(manifestResult, redundancy, "manifest");
|
|
53
|
+
const artifactRefs = [];
|
|
54
|
+
for (const artifact of options.artifacts ?? []) {
|
|
55
|
+
const r = await replicated.storeAll(artifact);
|
|
56
|
+
ensureSuccess(r, redundancy, "artifact");
|
|
57
|
+
artifactRefs.push(r.refs);
|
|
58
|
+
}
|
|
59
|
+
const manifestRefs = manifestResult.refs;
|
|
60
|
+
const first = manifestRefs[0];
|
|
61
|
+
if (!first) {
|
|
62
|
+
throw new StorageException(StorageError.STORE_FAILED, "pinTraceFor: no manifest reference produced");
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
manifest: first,
|
|
66
|
+
manifestRefs,
|
|
67
|
+
artifactRefs,
|
|
68
|
+
refs: [...manifestRefs, ...artifactRefs.flat()],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=pin-trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pin-trace.js","sourceRoot":"","sources":["../../src/utils/pin-trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,16 @@ export interface ReplicationResult {
|
|
|
9
9
|
adapter: string;
|
|
10
10
|
error: Error;
|
|
11
11
|
}>;
|
|
12
|
+
/**
|
|
13
|
+
* Per-adapter outcome in the SAME order as the configured adapters, so a
|
|
14
|
+
* caller can require a specific backend (e.g. the WORM one) to have succeeded
|
|
15
|
+
* regardless of the aggregate redundancy verdict.
|
|
16
|
+
*/
|
|
17
|
+
perAdapter: Array<{
|
|
18
|
+
adapter: StorageAdapter;
|
|
19
|
+
ref?: StorageRef;
|
|
20
|
+
error?: Error;
|
|
21
|
+
}>;
|
|
12
22
|
}
|
|
13
23
|
/**
|
|
14
24
|
* Storage adapter that replicates data across multiple backends.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replication.d.ts","sourceRoot":"","sources":["../../src/utils/replication.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"replication.d.ts","sourceRoot":"","sources":["../../src/utils/replication.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;IACjD;;;;OAIG;IACH,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,GAAG,CAAC,EAAE,UAAU,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;CACjF;AAED;;GAEG;AACH,qBAAa,wBAAyB,YAAW,cAAc;IAC7D,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAIpB;gBAEU,MAAM,EAAE,iBAAiB;IAkBrC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAuBlD;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBpE;;OAEG;IACG,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBjD;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgB/D;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAa/C;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB5C;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzC;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI5D;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAMhE,oBAAoB;IAgClC,OAAO,CAAC,YAAY;YAaN,cAAc;IAsB5B,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -163,6 +163,7 @@ export class ReplicatedStorageAdapter {
|
|
|
163
163
|
const results = await Promise.allSettled(this.adapters.map((adapter) => this.retryOperation(() => operation(adapter))));
|
|
164
164
|
const refs = [];
|
|
165
165
|
const errors = [];
|
|
166
|
+
const perAdapter = [];
|
|
166
167
|
for (let i = 0; i < results.length; i++) {
|
|
167
168
|
const result = results[i];
|
|
168
169
|
const adapter = this.adapters[i];
|
|
@@ -170,16 +171,16 @@ export class ReplicatedStorageAdapter {
|
|
|
170
171
|
continue;
|
|
171
172
|
if (result.status === "fulfilled") {
|
|
172
173
|
refs.push(result.value);
|
|
174
|
+
perAdapter.push({ adapter, ref: result.value });
|
|
173
175
|
}
|
|
174
176
|
else {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
});
|
|
177
|
+
const error = result.reason instanceof Error ? result.reason : new Error(String(result.reason));
|
|
178
|
+
errors.push({ adapter: adapter.type, error });
|
|
179
|
+
perAdapter.push({ adapter, error });
|
|
179
180
|
}
|
|
180
181
|
}
|
|
181
182
|
const success = this.checkSuccess(refs.length, this.adapters.length);
|
|
182
|
-
return { success, refs, errors };
|
|
183
|
+
return { success, refs, errors, perAdapter };
|
|
183
184
|
}
|
|
184
185
|
checkSuccess(successCount, totalCount) {
|
|
185
186
|
switch (this.strategy) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replication.js","sourceRoot":"","sources":["../../src/utils/replication.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"replication.js","sourceRoot":"","sources":["../../src/utils/replication.ts"],"names":[],"mappings":"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"}
|