@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.
@@ -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,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC"}
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,EAAE,SAAS,EAAE,eAAe,EAAiB,MAAM,iBAAiB,CAAC"}
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,EAChB,MAAM,gBAAgB,CAAC;AAIxB;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,qBAAa,SAAU,YAAW,cAAc;IAC9C,QAAQ,CAAC,IAAI,EAAG,IAAI,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+D;IAC3F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAE5C,OAAO,CAAC,QAAQ,CAAuB;gBAE3B,MAAM,EAAE,eAAe;IAUnC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAclD;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBpE;;OAEG;IACG,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAcjD;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe/D;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/C;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5C;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAM3E;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;YAOjC,WAAW;YAiCX,SAAS;YAyCT,SAAS;YA8BT,YAAY;YAqBZ,UAAU;YAkBV,oBAAoB;IAuClC,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,UAAU;CAiBnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAElE"}
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":"AAAA;;;GAGG;AAQH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAU3D;;GAEG;AACH,MAAM,OAAO,SAAS;IACX,IAAI,GAAG,IAAa,CAAC;IACb,MAAM,CAAS;IACf,MAAM,CAAS;IACf,MAAM,CAAS;IACf,WAAW,CAA+D;IAC1E,QAAQ,CAAqB;IAC7B,oBAAoB,CAAU;IAC9B,kBAAkB,CAAS;IAEpC,QAAQ,CAAuB;IAEvC,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,IAAI,KAAK,CAAC;QACjE,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,IAAgB;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC;QAEhD,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEhC,OAAO;YACL,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,QAAQ,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;YACjC,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,MAAM;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,QAA0B;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QAEvF,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAEpD,OAAO;YACL,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,QAAQ,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;YACjC,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,MAAM;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,GAAe;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gBAAgB,CACxB,YAAY,CAAC,YAAY,EACzB,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACpF,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,GAAe;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gBAAgB,CACxB,YAAY,CAAC,YAAY,EACzB,+BAA+B,EAC/B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAe;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,OAAO,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAe;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gBAAgB,CACxB,YAAY,CAAC,aAAa,EAC1B,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACrF,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,GAAe;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAe;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,0BAA0B;IAElB,KAAK,CAAC,WAAW;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAErE,MAAM,MAAM,GAA4B;gBACtC,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;YAEF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACxC,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,MAAM,CAAwB,CAAC;YAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gBAAgB,CACxB,YAAY,CAAC,cAAc,EAC3B,sEAAsE,EACtE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,GAAW,EACX,IAAgB,EAChB,cAAsB,0BAA0B;QAEhD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAWhE,MAAM,MAAM,GAAoB;gBAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,WAAW;aACzB,CAAC;YAEF,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,MAAM,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YACzC,CAAC;YAED,8DAA8D;YAC9D,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,MAAa,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gBAAgB,CACxB,YAAY,CAAC,YAAY,EACzB,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAChF,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,GAAW;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAEhE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAC9B,IAAI,gBAAgB,CAAC;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,GAAG;aACT,CAAC,CAC2D,CAAC;YAEhE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAA0B,CAAC;YAC5C,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,IAAI,gBAAgB,CACxB,YAAY,CAAC,SAAS,EACtB,qBAAqB,GAAG,EAAE,CAC3B,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAW;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAEnE,MAAM,MAAM,CAAC,IAAI,CACf,IAAI,mBAAmB,CAAC;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,GAAG;aACT,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gBAAgB,CACxB,YAAY,CAAC,aAAa,EAC1B,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACnF,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAW;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAEjE,MAAM,MAAM,CAAC,IAAI,CACf,IAAI,iBAAiB,CAAC;gBACpB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,GAAG;aACT,CAAC,CACH,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,GAAW,EACX,SAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAEvE,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBACxB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAChE,OAAO,YAAY,CACjB,MAA4C,EAC5C,IAAI,gBAAgB,CAAC;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,EAAE,GAAG;iBACT,CAAC,EACF,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,CACvC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAChE,OAAO,YAAY,CACjB,MAA4C,EAC5C,IAAI,gBAAgB,CAAC;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,EAAE,GAAG;iBACT,CAAC,EACF,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,CACvC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gBAAgB,CACxB,YAAY,CAAC,YAAY,EACzB,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC7F,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,MAAc;QAC7B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,UAAU,CAAC,GAAW;QAC5B,uBAAuB;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC/C,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
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
@@ -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,GACd,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,GACzB,MAAM,kBAAkB,CAAC"}
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;AAiBH,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,GAEhB,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,GACzB,MAAM,kBAAkB,CAAC"}
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
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
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;AAmNH,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"}
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"}
@@ -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"}
@@ -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
@@ -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":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAA0B,MAAM,kBAAkB,CAAC;AA0BpF,SAAS,aAAa,CAAC,MAAyB,EAAE,UAAkB,EAAE,IAAY;IAChF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,gBAAgB,CACxB,YAAY,CAAC,kBAAkB,EAC/B,gBAAgB,IAAI,gCAAgC,UAAU,KAAK;YACjE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1E,CAAC;IACJ,CAAC;IACD,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAC9E,kDAAkD;IAClD,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IACpG,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,gBAAgB,CACxB,YAAY,CAAC,kBAAkB,EAC/B,gBAAgB,IAAI,0EAA0E;YAC5F,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAClF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAA0B,EAC1B,OAAwB;IAExB,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,gBAAgB,CACxB,YAAY,CAAC,cAAc,EAC3B,+CAA+C,CAChD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,wBAAwB,CAAC;QAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,UAAU;QACpB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnE,aAAa,CAAC,cAAc,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAmB,EAAE,CAAC;IACxC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACzC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,YAAY,EAAE,6CAA6C,CAAC,CAAC;IACvG,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,YAAY;QACZ,YAAY;QACZ,IAAI,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC"}
@@ -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;CAClD;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;IA8BlC,OAAO,CAAC,YAAY;YAaN,cAAc;IAsB5B,OAAO,CAAC,KAAK;CAGd"}
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
- errors.push({
176
- adapter: adapter.type,
177
- error: result.reason instanceof Error ? result.reason : new Error(String(result.reason)),
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":"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"}
1
+ {"version":3,"file":"replication.js","sourceRoot":"","sources":["../../src/utils/replication.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluxpointstudios/orynq-sdk-storage-adapters",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Storage adapters for PoI SDK - IPFS, S3, and Arweave backends",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",