@interop/was-client 0.85.0 → 0.87.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/README.md +14 -14
- package/dist/Collection.d.ts +3 -3
- package/dist/Collection.js +4 -4
- package/dist/Resource.d.ts +2 -2
- package/dist/Resource.js +2 -2
- package/dist/edv/EdvCodec.d.ts +1 -1
- package/dist/edv/EdvCodec.js +2 -2
- package/dist/edv/EdvCodec.js.map +1 -1
- package/dist/internal/meta.d.ts +2 -2
- package/dist/internal/meta.js +2 -2
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +1 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/port.d.ts +8 -29
- package/dist/sync/port.d.ts.map +1 -1
- package/dist/sync/port.js +27 -68
- package/dist/sync/port.js.map +1 -1
- package/dist/sync/types.d.ts +36 -26
- package/dist/sync/types.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -610,10 +610,10 @@ A Collection's configuration (`name`, `backend`, `encryption`, `generator`, read
|
|
|
610
610
|
by [`describe()`](#collections)) and its annotations live in one object at the
|
|
611
611
|
Collection's reserved `/meta` path: server-managed properties (`createdAt` /
|
|
612
612
|
`updatedAt` / `createdBy`) plus a user-writable `custom` object (`name` and
|
|
613
|
-
`tags`), under one `
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
613
|
+
`tags`), under one `ETag` validator. `meta()` is that same object with `custom`
|
|
614
|
+
decoded through the codec; `describe()` does not resolve the codec at all, so on
|
|
615
|
+
an encrypted collection it reports `custom` as the opaque envelope. A server
|
|
616
|
+
without the endpoint surfaces its 501 as `NotImplementedError`.
|
|
617
617
|
|
|
618
618
|
```ts
|
|
619
619
|
const meta = await collection.meta() // CollectionMetadata | null (null on a miss)
|
|
@@ -632,9 +632,9 @@ await collection.setMeta({ custom: { name: 'Vault' } }, { ifNoneMatch: true })
|
|
|
632
632
|
```
|
|
633
633
|
|
|
634
634
|
A failed precondition throws `PreconditionFailedError` (412). This `/meta` ETag
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
635
|
+
is independent of every Resource's versions, but not of the configuration
|
|
636
|
+
members: one validator covers the whole Collection Metadata object, so
|
|
637
|
+
`configure()` and `setMeta()` advance the same validator.
|
|
638
638
|
|
|
639
639
|
The write is a full replacement of that one object, so an annotation write
|
|
640
640
|
re-sends the configuration members (and any member this client does not model)
|
|
@@ -923,12 +923,12 @@ scope for now):
|
|
|
923
923
|
encrypted collection: the user-writable `custom` (`name` / `tags`) is
|
|
924
924
|
encrypted into an envelope before it is sent, so the server never sees the
|
|
925
925
|
plaintext, and `meta()` decrypts it back for a keyed reader. The `/meta`
|
|
926
|
-
endpoint has its own ETag
|
|
927
|
-
|
|
928
|
-
`
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
926
|
+
endpoint has its own ETag, independent of the content ETag. The same pair at
|
|
927
|
+
Collection level (`collection.setName()` / `setTags()` / `setMeta()` /
|
|
928
|
+
`meta()`) is where an encrypted collection carries its own name and tags,
|
|
929
|
+
since the Collection Metadata object's plaintext `name` is left unpopulated;
|
|
930
|
+
the collection-level envelope binds no resource id, and a resource-bound
|
|
931
|
+
envelope served into that slot is refused.
|
|
932
932
|
- **Binary.** A `Blob`/`Uint8Array` up to `maxBlobBytes` (512 KiB by default) is
|
|
933
933
|
encrypted as a single document. A larger one is routed automatically by
|
|
934
934
|
`add()` to the chunked-stream path: one document plus its chunk resources,
|
|
@@ -1186,7 +1186,7 @@ do {
|
|
|
1186
1186
|
for (const doc of page.documents) {
|
|
1187
1187
|
if (doc._deleted) continue // tombstone
|
|
1188
1188
|
const data = await cipher.decrypt({ id: doc.id, envelope: doc.data })
|
|
1189
|
-
// apply to the local replica, recording doc.
|
|
1189
|
+
// apply to the local replica, recording doc.etag for later pushes
|
|
1190
1190
|
}
|
|
1191
1191
|
checkpoint = page.checkpoint // null when the page was empty (caught up)
|
|
1192
1192
|
} while (checkpoint)
|
package/dist/Collection.d.ts
CHANGED
|
@@ -54,7 +54,7 @@ export declare class Collection {
|
|
|
54
54
|
}) | null>;
|
|
55
55
|
/**
|
|
56
56
|
* {@link describe}, with the object and its `ETag` in separate members. The
|
|
57
|
-
* `ETag` is the
|
|
57
|
+
* `ETag` is the validator to pass to
|
|
58
58
|
* {@link replaceDescription}'s `ifMatch` for a lost-update-safe
|
|
59
59
|
* (compare-and-swap) write. One validator covers the whole object, so it is
|
|
60
60
|
* also what {@link setMeta} pins against. Returns `null` if the collection is
|
|
@@ -189,7 +189,7 @@ export declare class Collection {
|
|
|
189
189
|
* without it.
|
|
190
190
|
*
|
|
191
191
|
* The result also
|
|
192
|
-
* carries the object's current `etag` (its `
|
|
192
|
+
* carries the object's current `etag` (its `/meta` validator) -- pass it
|
|
193
193
|
* as `setMeta(meta, { ifMatch })` for a lost-update-safe update. One
|
|
194
194
|
* validator covers the whole object: a configuration write and an annotation
|
|
195
195
|
* write advance the same counter, so a client holds one ETag for the
|
|
@@ -366,7 +366,7 @@ export declare class Collection {
|
|
|
366
366
|
* Declarations are collection state, not app state: they are stored inside
|
|
367
367
|
* the encrypted `/meta` envelope, so every recipient discovers them (see
|
|
368
368
|
* {@link indexes}). Concurrent declarations from two clients are reconciled
|
|
369
|
-
* with a compare-and-swap against the metadata's own `
|
|
369
|
+
* with a compare-and-swap against the metadata's own `ETag` and a
|
|
370
370
|
* bounded retry, so neither is silently erased.
|
|
371
371
|
*
|
|
372
372
|
* A declaration is prospective: documents already written carry no token for
|
package/dist/Collection.js
CHANGED
|
@@ -184,7 +184,7 @@ export class Collection {
|
|
|
184
184
|
}
|
|
185
185
|
/**
|
|
186
186
|
* {@link describe}, with the object and its `ETag` in separate members. The
|
|
187
|
-
* `ETag` is the
|
|
187
|
+
* `ETag` is the validator to pass to
|
|
188
188
|
* {@link replaceDescription}'s `ifMatch` for a lost-update-safe
|
|
189
189
|
* (compare-and-swap) write. One validator covers the whole object, so it is
|
|
190
190
|
* also what {@link setMeta} pins against. Returns `null` if the collection is
|
|
@@ -261,7 +261,7 @@ export class Collection {
|
|
|
261
261
|
}
|
|
262
262
|
/**
|
|
263
263
|
* Writes the Collection Metadata object: one `PUT` at `meta`, a full
|
|
264
|
-
* replacement under the one `
|
|
264
|
+
* replacement under the one `ETag` validator. Because it replaces the
|
|
265
265
|
* whole object, `compose` is handed the stored object and returns the write
|
|
266
266
|
* body, carrying forward every member this write is not about -- the
|
|
267
267
|
* configuration members on an annotation write, the `custom` envelope and its
|
|
@@ -684,7 +684,7 @@ export class Collection {
|
|
|
684
684
|
* without it.
|
|
685
685
|
*
|
|
686
686
|
* The result also
|
|
687
|
-
* carries the object's current `etag` (its `
|
|
687
|
+
* carries the object's current `etag` (its `/meta` validator) -- pass it
|
|
688
688
|
* as `setMeta(meta, { ifMatch })` for a lost-update-safe update. One
|
|
689
689
|
* validator covers the whole object: a configuration write and an annotation
|
|
690
690
|
* write advance the same counter, so a client holds one ETag for the
|
|
@@ -1010,7 +1010,7 @@ export class Collection {
|
|
|
1010
1010
|
* Declarations are collection state, not app state: they are stored inside
|
|
1011
1011
|
* the encrypted `/meta` envelope, so every recipient discovers them (see
|
|
1012
1012
|
* {@link indexes}). Concurrent declarations from two clients are reconciled
|
|
1013
|
-
* with a compare-and-swap against the metadata's own `
|
|
1013
|
+
* with a compare-and-swap against the metadata's own `ETag` and a
|
|
1014
1014
|
* bounded retry, so neither is silently erased.
|
|
1015
1015
|
*
|
|
1016
1016
|
* A declaration is prospective: documents already written carry no token for
|
package/dist/Resource.d.ts
CHANGED
|
@@ -167,7 +167,7 @@ export declare class Resource {
|
|
|
167
167
|
* `{ name, tags }`. A resource with no user metadata reports `custom` as `{}`.
|
|
168
168
|
*
|
|
169
169
|
* The result also carries the metadata's current `etag` (the `/meta`
|
|
170
|
-
*
|
|
170
|
+
* object's own validator) -- pass it as `setMeta(meta, { ifMatch })` for a
|
|
171
171
|
* lost-update-safe metadata update.
|
|
172
172
|
*
|
|
173
173
|
* @returns {Promise<(ResourceMetadata & { etag?: string }) | null>}
|
|
@@ -191,7 +191,7 @@ export declare class Resource {
|
|
|
191
191
|
* `meta()`) for an update-if-unchanged, or `ifNoneMatch: true` for a
|
|
192
192
|
* write-only-if-no-metadata.
|
|
193
193
|
* A failed precondition throws `PreconditionFailedError` (412). The `/meta`
|
|
194
|
-
* ETag
|
|
194
|
+
* ETag is independent of the content ETag. Returns the new
|
|
195
195
|
* `etag`.
|
|
196
196
|
*
|
|
197
197
|
* @param meta {object}
|
package/dist/Resource.js
CHANGED
|
@@ -272,7 +272,7 @@ export class Resource {
|
|
|
272
272
|
* `{ name, tags }`. A resource with no user metadata reports `custom` as `{}`.
|
|
273
273
|
*
|
|
274
274
|
* The result also carries the metadata's current `etag` (the `/meta`
|
|
275
|
-
*
|
|
275
|
+
* object's own validator) -- pass it as `setMeta(meta, { ifMatch })` for a
|
|
276
276
|
* lost-update-safe metadata update.
|
|
277
277
|
*
|
|
278
278
|
* @returns {Promise<(ResourceMetadata & { etag?: string }) | null>}
|
|
@@ -302,7 +302,7 @@ export class Resource {
|
|
|
302
302
|
* `meta()`) for an update-if-unchanged, or `ifNoneMatch: true` for a
|
|
303
303
|
* write-only-if-no-metadata.
|
|
304
304
|
* A failed precondition throws `PreconditionFailedError` (412). The `/meta`
|
|
305
|
-
* ETag
|
|
305
|
+
* ETag is independent of the content ETag. Returns the new
|
|
306
306
|
* `etag`.
|
|
307
307
|
*
|
|
308
308
|
* @param meta {object}
|
package/dist/edv/EdvCodec.d.ts
CHANGED
|
@@ -176,7 +176,7 @@ export declare class EdvCodec implements ResourceCodec {
|
|
|
176
176
|
* Encrypts the user-writable `custom` into an EDV Document envelope
|
|
177
177
|
* (`{ jwe, ... }`) with the same `documentCipher.encrypt` used for content --
|
|
178
178
|
* `custom` becomes the document `content`. The envelope's own `sequence` is
|
|
179
|
-
* inert (metadata concurrency is the server's plaintext `
|
|
179
|
+
* inert (metadata concurrency is the server's plaintext `ETag`, not the
|
|
180
180
|
* envelope), so each write re-encrypts fresh with no `update`.
|
|
181
181
|
*/
|
|
182
182
|
encodeMeta({ custom, slot }: {
|
package/dist/edv/EdvCodec.js
CHANGED
|
@@ -1231,7 +1231,7 @@ export class EdvCodec {
|
|
|
1231
1231
|
* Encrypts the user-writable `custom` into an EDV Document envelope
|
|
1232
1232
|
* (`{ jwe, ... }`) with the same `documentCipher.encrypt` used for content --
|
|
1233
1233
|
* `custom` becomes the document `content`. The envelope's own `sequence` is
|
|
1234
|
-
* inert (metadata concurrency is the server's plaintext `
|
|
1234
|
+
* inert (metadata concurrency is the server's plaintext `ETag`, not the
|
|
1235
1235
|
* envelope), so each write re-encrypts fresh with no `update`.
|
|
1236
1236
|
*/
|
|
1237
1237
|
async encodeMeta({ custom, slot }) {
|
|
@@ -1239,7 +1239,7 @@ export class EdvCodec {
|
|
|
1239
1239
|
// The document needs an EDV id (the cipher asserts one on decrypt). It is
|
|
1240
1240
|
// opaque to the server -- carried inside the un-decryptable envelope -- and
|
|
1241
1241
|
// minted fresh each write, since the metadata envelope is never updated in
|
|
1242
|
-
// place (concurrency is the server's plaintext `
|
|
1242
|
+
// place (concurrency is the server's plaintext `ETag`, Decision 3).
|
|
1243
1243
|
const id = (await this.#edv.generateId());
|
|
1244
1244
|
// Bind the `was` parameter to the caller's stated slot (not the metadata
|
|
1245
1245
|
// envelope's own random EDV id): a resource slot binds the RESOURCE id, so
|
package/dist/edv/EdvCodec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdvCodec.js","sourceRoot":"","sources":["../../src/edv/EdvCodec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EdvCodec.js","sourceRoot":"","sources":["../../src/edv/EdvCodec.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/meta.d.ts
CHANGED
|
@@ -77,7 +77,7 @@ export declare function writeMeta(context: ClientContext, { metaPath, codec: cod
|
|
|
77
77
|
*
|
|
78
78
|
* A lost race (`412`) re-reads and re-applies the patch, up to the shared
|
|
79
79
|
* compare-and-swap attempt limit. That is not a rare event at Collection
|
|
80
|
-
* level: one `
|
|
80
|
+
* level: one `ETag` covers the configuration members and the
|
|
81
81
|
* annotations alike, so a concurrent `configure` -- or an epoch rotation --
|
|
82
82
|
* legitimately invalidates an in-flight annotation write.
|
|
83
83
|
*
|
|
@@ -108,7 +108,7 @@ export declare function patchCustom(handle: {
|
|
|
108
108
|
}>;
|
|
109
109
|
}, patch: ResourceMetadataCustom, operation?: string): Promise<void>;
|
|
110
110
|
/**
|
|
111
|
-
* Reads the Collection Metadata object with its `
|
|
111
|
+
* Reads the Collection Metadata object with its `ETag` validator, in the
|
|
112
112
|
* stored wire form. Returns `null` if the collection is missing or not visible
|
|
113
113
|
* to you (WAS returns 404 for both not-found and unauthorized); `etag` is
|
|
114
114
|
* absent against a backend that does not version the object.
|
package/dist/internal/meta.js
CHANGED
|
@@ -128,7 +128,7 @@ export async function writeMeta(context, { metaPath, codec: codecPromise, custom
|
|
|
128
128
|
*
|
|
129
129
|
* A lost race (`412`) re-reads and re-applies the patch, up to the shared
|
|
130
130
|
* compare-and-swap attempt limit. That is not a rare event at Collection
|
|
131
|
-
* level: one `
|
|
131
|
+
* level: one `ETag` covers the configuration members and the
|
|
132
132
|
* annotations alike, so a concurrent `configure` -- or an epoch rotation --
|
|
133
133
|
* legitimately invalidates an in-flight annotation write.
|
|
134
134
|
*
|
|
@@ -169,7 +169,7 @@ export async function patchCustom(handle, patch, operation = 'Metadata update')
|
|
|
169
169
|
});
|
|
170
170
|
}
|
|
171
171
|
/**
|
|
172
|
-
* Reads the Collection Metadata object with its `
|
|
172
|
+
* Reads the Collection Metadata object with its `ETag` validator, in the
|
|
173
173
|
* stored wire form. Returns `null` if the collection is missing or not visible
|
|
174
174
|
* to you (WAS returns 404 for both not-found and unauthorized); `etag` is
|
|
175
175
|
* absent against a backend that does not version the object.
|
package/dist/sync/index.d.ts
CHANGED
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
* boundary the predicates are the contract
|
|
56
56
|
* (`decisions/0001-cross-package-errors-match-by-name.md`).
|
|
57
57
|
*/
|
|
58
|
-
export { createWasSyncPort, KEY_EPOCH_HEADER,
|
|
58
|
+
export { createWasSyncPort, KEY_EPOCH_HEADER, WRITER_ID_HEADER } from './port.js';
|
|
59
59
|
export { httpStatus as errorStatus, errorMessage, requireResourceId } from '../errors.js';
|
|
60
60
|
export { contentCid, cidFrom, deriveSpaceId } from './cid.js';
|
|
61
61
|
export { isEncryptedEnvelope } from './envelope.js';
|
package/dist/sync/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,WAAW,CAAA;AAIlB,OAAO,EACL,UAAU,IAAI,WAAW,EACzB,YAAY,EACZ,iBAAiB,EAClB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,cAAc,CAAA;AAErB,YAAY,EACV,IAAI,EACJ,cAAc,EACd,OAAO,EACP,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,SAAS,EACV,MAAM,YAAY,CAAA"}
|
package/dist/sync/index.js
CHANGED
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
* boundary the predicates are the contract
|
|
56
56
|
* (`decisions/0001-cross-package-errors-match-by-name.md`).
|
|
57
57
|
*/
|
|
58
|
-
export { createWasSyncPort, KEY_EPOCH_HEADER,
|
|
58
|
+
export { createWasSyncPort, KEY_EPOCH_HEADER, WRITER_ID_HEADER } from './port.js';
|
|
59
59
|
// The sync subpath's names for the client's own error accessors, so a
|
|
60
60
|
// sync-only consumer reads a raw ky/ezcap failure without importing the core
|
|
61
61
|
// entry.
|
package/dist/sync/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,WAAW,CAAA;AAClB,sEAAsE;AACtE,6EAA6E;AAC7E,SAAS;AACT,OAAO,EACL,UAAU,IAAI,WAAW,EACzB,YAAY,EACZ,iBAAiB,EAClB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,cAAc,CAAA"}
|
package/dist/sync/port.d.ts
CHANGED
|
@@ -19,18 +19,14 @@
|
|
|
19
19
|
* `POST /space/:s/:c/query` (profile `changes`) as a root invocation and, like
|
|
20
20
|
* the raw writes, ships the stored bodies verbatim without decrypting.
|
|
21
21
|
*
|
|
22
|
-
* Conditional writes ride the server's `ETag
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* revisions immediately and echo `etag` back verbatim as a later write's
|
|
31
|
-
* `ifMatch`. Conditional writes are a baseline server requirement, so a write
|
|
32
|
-
* carrying `ifMatch` or `ifNoneMatch` goes out as given and the server answers
|
|
33
|
-
* a lost race with a `412`.
|
|
22
|
+
* Conditional writes ride the server's `ETag`, an opaque quoted strong
|
|
23
|
+
* validator, enforced uniformly for plaintext and encrypted resources, so
|
|
24
|
+
* there is no plaintext-vs-encrypted fork. `putContent`/`deleteContent`
|
|
25
|
+
* return the server-acked {@link WriteAck}: the write's raw `etag`, which the
|
|
26
|
+
* port never parses. A caller records the acked `etag` immediately and echoes
|
|
27
|
+
* it back verbatim as a later write's `ifMatch`. Conditional writes are a
|
|
28
|
+
* baseline server requirement, so a write carrying `ifMatch` or `ifNoneMatch`
|
|
29
|
+
* goes out as given and the server answers a lost race with a `412`.
|
|
34
30
|
*
|
|
35
31
|
* Bypassing the codec is not bypassing the error mapper. Every failure caught
|
|
36
32
|
* here goes through the client's own `mapError` first, so the port's signals
|
|
@@ -55,23 +51,6 @@ export { KEY_EPOCH_HEADER };
|
|
|
55
51
|
* and re-exported here as part of the sync subpath's public surface.
|
|
56
52
|
*/
|
|
57
53
|
export { WRITER_ID_HEADER };
|
|
58
|
-
/**
|
|
59
|
-
* Parses a quoted strong `ETag` into its numeric revision: the decimal
|
|
60
|
-
* integer after the LAST `.` inside the quotes (`"3mJr7AoUXx2.3"` to `3`).
|
|
61
|
-
* Returns `undefined` when the header is absent, has no `.`, or the trailing
|
|
62
|
-
* segment is anything other than a run of digits.
|
|
63
|
-
*
|
|
64
|
-
* The quoted string as a whole is opaque -- it also carries a per-record
|
|
65
|
-
* generation marker ahead of the version, minted once and kept for the
|
|
66
|
-
* record's life, so this is one-way: there is no `formatEtag` to build a
|
|
67
|
-
* validator back out of a bare revision number. Always echo the `etag` a read
|
|
68
|
-
* or write returned back verbatim for `ifMatch`/`ifNoneMatch`; this helper
|
|
69
|
-
* only reads the revision out of it for comparison or display.
|
|
70
|
-
*
|
|
71
|
-
* @param etag {string | null | undefined}
|
|
72
|
-
* @returns {number | undefined}
|
|
73
|
-
*/
|
|
74
|
-
export declare function parseEtag(etag: string | null | undefined): number | undefined;
|
|
75
54
|
/**
|
|
76
55
|
* Builds a {@link WasSyncPort} bound to one Space + Collection, backed by the
|
|
77
56
|
* caller's signed {@link WasClient}. With no `capability`, requests invoke the
|
package/dist/sync/port.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/sync/port.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/sync/port.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAEL,gBAAgB,EAGhB,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AAenC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAIV,WAAW,EAEZ,MAAM,YAAY,CAAA;AAEnB;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAA;AA2H3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,GAAG,EACH,OAAO,EACP,YAAY,EACZ,UAAU,EACV,aAAqB,EACtB,EAAE;IACD,GAAG,EAAE,SAAS,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,GAAG,WAAW,CA0Pd"}
|
package/dist/sync/port.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertWriterId, KEY_EPOCH_HEADER, readEtag, writeHeaders, WRITER_ID_HEADER } from '../internal/conditional.js';
|
|
2
2
|
import { resourceMeta, resourcePath } from '../internal/paths.js';
|
|
3
|
-
import { ProblemTypes } from '@interop/storage-core';
|
|
3
|
+
import { isMetaStamp, isWriteStamp, ProblemTypes } from '@interop/storage-core';
|
|
4
4
|
import { mapError, NotFoundError, PreconditionFailedError, WasSyncAuthError, WasSyncCheckpointError, WasSyncConflictError, WasSyncNotFoundError, WasServerError } from '../errors.js';
|
|
5
5
|
/**
|
|
6
6
|
* The request header the server reads a content write's key-epoch id from,
|
|
@@ -121,52 +121,6 @@ function mapWriteError(err, { notFound = false, authErrors = false } = {}) {
|
|
|
121
121
|
}
|
|
122
122
|
throw mapped;
|
|
123
123
|
}
|
|
124
|
-
/**
|
|
125
|
-
* Parses a quoted strong `ETag` into its numeric revision: the decimal
|
|
126
|
-
* integer after the LAST `.` inside the quotes (`"3mJr7AoUXx2.3"` to `3`).
|
|
127
|
-
* Returns `undefined` when the header is absent, has no `.`, or the trailing
|
|
128
|
-
* segment is anything other than a run of digits.
|
|
129
|
-
*
|
|
130
|
-
* The quoted string as a whole is opaque -- it also carries a per-record
|
|
131
|
-
* generation marker ahead of the version, minted once and kept for the
|
|
132
|
-
* record's life, so this is one-way: there is no `formatEtag` to build a
|
|
133
|
-
* validator back out of a bare revision number. Always echo the `etag` a read
|
|
134
|
-
* or write returned back verbatim for `ifMatch`/`ifNoneMatch`; this helper
|
|
135
|
-
* only reads the revision out of it for comparison or display.
|
|
136
|
-
*
|
|
137
|
-
* @param etag {string | null | undefined}
|
|
138
|
-
* @returns {number | undefined}
|
|
139
|
-
*/
|
|
140
|
-
export function parseEtag(etag) {
|
|
141
|
-
if (!etag) {
|
|
142
|
-
return undefined;
|
|
143
|
-
}
|
|
144
|
-
const unquoted = etag.replace(/"/g, '');
|
|
145
|
-
const lastDot = unquoted.lastIndexOf('.');
|
|
146
|
-
if (lastDot === -1) {
|
|
147
|
-
return undefined;
|
|
148
|
-
}
|
|
149
|
-
const versionPart = unquoted.slice(lastDot + 1);
|
|
150
|
-
return /^\d+$/.test(versionPart) ? Number(versionPart) : undefined;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Reads a response's `ETag` together with the revision parsed out of it, the
|
|
154
|
-
* one place the two are paired. `etag` is absent when the response carried no
|
|
155
|
-
* validator (a backend that does not version the resource); `version` is
|
|
156
|
-
* absent whenever `etag` is, and also when the validator does not end in a
|
|
157
|
-
* revision number. Callers decide what an absent value means for them.
|
|
158
|
-
*
|
|
159
|
-
* @param response {HttpResponse}
|
|
160
|
-
* @returns {{ etag?: string, version?: number }}
|
|
161
|
-
*/
|
|
162
|
-
function versionedEtag(response) {
|
|
163
|
-
const etag = readEtag(response);
|
|
164
|
-
const version = parseEtag(etag);
|
|
165
|
-
return {
|
|
166
|
-
...(etag !== undefined && { etag }),
|
|
167
|
-
...(version !== undefined && { version })
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
124
|
/**
|
|
171
125
|
* Builds a {@link WasSyncPort} bound to one Space + Collection, backed by the
|
|
172
126
|
* caller's signed {@link WasClient}. With no `capability`, requests invoke the
|
|
@@ -214,7 +168,7 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
214
168
|
const changesCollection = was
|
|
215
169
|
.space(spaceId)
|
|
216
170
|
.collection(collectionId, { capability });
|
|
217
|
-
/** Re-reads a resource's raw content body +
|
|
171
|
+
/** Re-reads a resource's raw content body + `ETag` (no decrypt, no `/meta`). */
|
|
218
172
|
const readContent = async (id) => {
|
|
219
173
|
let response;
|
|
220
174
|
try {
|
|
@@ -237,10 +191,10 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
237
191
|
}
|
|
238
192
|
throw mapped;
|
|
239
193
|
}
|
|
240
|
-
const
|
|
194
|
+
const etag = readEtag(response);
|
|
241
195
|
// `.data` is populated only for a JSON media type, so a resource stored as
|
|
242
196
|
// `text/jsonl`, `text/html`, or opaque bytes would otherwise produce a
|
|
243
|
-
// `MasterState` carrying a real `
|
|
197
|
+
// `MasterState` carrying a real `etag` and no `data` -- which a
|
|
244
198
|
// replica reads as a live-but-empty document and then pushes over the
|
|
245
199
|
// content that is actually there. The port contract promises `Json`, so a
|
|
246
200
|
// body it cannot deliver as `Json` is a fault, reported as one.
|
|
@@ -252,8 +206,7 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
252
206
|
'reported as state.');
|
|
253
207
|
}
|
|
254
208
|
return {
|
|
255
|
-
|
|
256
|
-
etag,
|
|
209
|
+
...(etag !== undefined && { etag }),
|
|
257
210
|
updatedAt: UNKNOWN_UPDATED_AT,
|
|
258
211
|
data: response.data
|
|
259
212
|
};
|
|
@@ -261,13 +214,12 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
261
214
|
/**
|
|
262
215
|
* The acked {@link WriteAck} of a write response. Taken from the response's
|
|
263
216
|
* own `ETag` only: a re-read after the fact could return a concurrent
|
|
264
|
-
* writer's validator as this write's ack. A response with no `ETag
|
|
265
|
-
*
|
|
266
|
-
* resources.
|
|
217
|
+
* writer's validator as this write's ack. A response with no `ETag`, or
|
|
218
|
+
* with one the client cannot see, acks no `etag`.
|
|
267
219
|
*/
|
|
268
220
|
const writeAck = (response) => {
|
|
269
|
-
const
|
|
270
|
-
return {
|
|
221
|
+
const etag = readEtag(response);
|
|
222
|
+
return etag === undefined ? {} : { etag };
|
|
271
223
|
};
|
|
272
224
|
// The signals `deleteContent` and `putMeta` ask `mapWriteError` for: the
|
|
273
225
|
// not-found mapping on the default port, the auth mapping under
|
|
@@ -360,8 +312,8 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
360
312
|
},
|
|
361
313
|
headers: writeHeaders({ precondition: { ifMatch, ifNoneMatch } })
|
|
362
314
|
});
|
|
363
|
-
const
|
|
364
|
-
return etag !== undefined ?
|
|
315
|
+
const ack = writeAck(response);
|
|
316
|
+
return ack.etag !== undefined ? ack : undefined;
|
|
365
317
|
}
|
|
366
318
|
catch (err) {
|
|
367
319
|
// A `/meta` write against a nonexistent resource legitimately `404`s
|
|
@@ -385,9 +337,10 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
385
337
|
return null; // absent or tombstoned; the metadata read is discarded
|
|
386
338
|
}
|
|
387
339
|
// Metadata (best-effort): the `/meta` body carries the server-managed
|
|
388
|
-
// `updatedAt`,
|
|
389
|
-
//
|
|
390
|
-
//
|
|
340
|
+
// write stamp (`updatedAt`, `updatedAtCounter`, `originId`), the nested
|
|
341
|
+
// `meta` stamp of the `/meta` record, the creator DID, the key-epoch id,
|
|
342
|
+
// the writer-attribution label, and the user-writable `custom`, plus its
|
|
343
|
+
// own `metaEtag` ETag. A resource with no metadata yet 404s
|
|
391
344
|
// here; only a hard error propagates.
|
|
392
345
|
const meta = await metaRead;
|
|
393
346
|
if (!meta.ok) {
|
|
@@ -404,8 +357,17 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
404
357
|
throw mapped;
|
|
405
358
|
}
|
|
406
359
|
const metaBody = meta.response.data;
|
|
407
|
-
|
|
360
|
+
// The stamp is copied whole or not at all. A bare `updatedAt` leaves the
|
|
361
|
+
// placeholder in place: without its counter and origin it cannot be
|
|
362
|
+
// ordered against another revision, and a counter or origin beside the
|
|
363
|
+
// placeholder would read as a complete stamp that loses to every one.
|
|
364
|
+
if (isWriteStamp(metaBody)) {
|
|
408
365
|
master.updatedAt = metaBody.updatedAt;
|
|
366
|
+
master.updatedAtCounter = metaBody.updatedAtCounter;
|
|
367
|
+
master.originId = metaBody.originId;
|
|
368
|
+
}
|
|
369
|
+
if (isMetaStamp(metaBody?.meta)) {
|
|
370
|
+
master.meta = metaBody.meta;
|
|
409
371
|
}
|
|
410
372
|
if (metaBody?.createdBy !== undefined) {
|
|
411
373
|
master.createdBy = metaBody.createdBy;
|
|
@@ -420,14 +382,11 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
420
382
|
master.custom = metaBody.custom;
|
|
421
383
|
}
|
|
422
384
|
// The validator is kept whenever the server sent one, so a later
|
|
423
|
-
// `putMeta` can pin on it
|
|
424
|
-
const
|
|
385
|
+
// `putMeta` can pin on it.
|
|
386
|
+
const metaEtag = readEtag(meta.response);
|
|
425
387
|
if (metaEtag !== undefined) {
|
|
426
388
|
master.metaEtag = metaEtag;
|
|
427
389
|
}
|
|
428
|
-
if (metaVersion !== undefined) {
|
|
429
|
-
master.metaVersion = metaVersion;
|
|
430
|
-
}
|
|
431
390
|
return master;
|
|
432
391
|
}
|
|
433
392
|
};
|
package/dist/sync/port.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/sync/port.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/sync/port.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/types.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* collection cipher implements. `SyncStatus` is the closed status vocabulary
|
|
13
13
|
* every replication driver reports one feed's state through.
|
|
14
14
|
*/
|
|
15
|
-
import type { ChangeDocument, ChangesCheckpoint, ChangesPage } from '@interop/storage-core';
|
|
15
|
+
import type { ChangeDocument, ChangesCheckpoint, ChangesPage, ResourceMetaStamp } from '@interop/storage-core';
|
|
16
16
|
import type { CodecRequestContext } from '../codec.js';
|
|
17
17
|
import type { Json } from '../types.js';
|
|
18
18
|
export type { Json };
|
|
@@ -26,11 +26,13 @@ export type { Json };
|
|
|
26
26
|
export type SyncCheckpoint = ChangesCheckpoint;
|
|
27
27
|
/**
|
|
28
28
|
* One document as it travels on the `changes` feed wire: `id` is the WAS
|
|
29
|
-
* resource id
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
29
|
+
* resource id and the stored body is under `data`. `updatedAt`,
|
|
30
|
+
* `updatedAtCounter` and `originId` are the content record's write stamp, and
|
|
31
|
+
* the optional nested `meta` is the `/meta` record's. Two revisions of one
|
|
32
|
+
* resource are ordered by `(ms, updatedAtCounter, originId)`, with `ms` the
|
|
33
|
+
* epoch millisecond value of `updatedAt`. The stamp is for comparison and is
|
|
34
|
+
* not an `ifMatch` value. The feed carries the validators themselves: `etag`
|
|
35
|
+
* (content) and `metaEtag` (the `/meta` object), opaque strings quoted
|
|
34
36
|
* exactly as the server emits them, so a puller passes one back verbatim as a
|
|
35
37
|
* conditional write's `ifMatch` without a {@link WasSyncPort.get} first. A
|
|
36
38
|
* tombstone carries `_deleted: true` with no `data`. This is the shared
|
|
@@ -42,8 +44,8 @@ export type SyncCheckpoint = ChangesCheckpoint;
|
|
|
42
44
|
* along on `ChangeDocument` unchanged: the writing agent's attribution label,
|
|
43
45
|
* present when the writer declared one, and carried on a tombstone too as the
|
|
44
46
|
* deleting request's own label, if any. Advisory and never server-verified; a
|
|
45
|
-
* puller uses it to recognize its own writes echoed back
|
|
46
|
-
*
|
|
47
|
+
* puller uses it to recognize its own writes echoed back. It is not part of
|
|
48
|
+
* the stamp order.
|
|
47
49
|
*/
|
|
48
50
|
export interface WireDoc extends Omit<ChangeDocument, 'data' | 'custom'> {
|
|
49
51
|
data?: Json;
|
|
@@ -61,23 +63,32 @@ export interface SyncPage extends Omit<ChangesPage, 'documents'> {
|
|
|
61
63
|
/**
|
|
62
64
|
* The current master state of a single resource, read back for the 412-conflict
|
|
63
65
|
* path ({@link WasSyncPort.get}). An absent or tombstoned resource surfaces as
|
|
64
|
-
* `get` resolving `null`, never as a `MasterState`. `updatedAt`,
|
|
65
|
-
* `
|
|
66
|
-
* the resource's `/meta` document
|
|
67
|
-
*
|
|
68
|
-
*
|
|
66
|
+
* `get` resolving `null`, never as a `MasterState`. `updatedAt`,
|
|
67
|
+
* `updatedAtCounter`, `originId`, `meta`, `metaEtag`, `custom`, `createdBy`,
|
|
68
|
+
* `epoch`, and `writerId` are populated from the resource's `/meta` document
|
|
69
|
+
* when it exists.
|
|
70
|
+
*
|
|
71
|
+
* `updatedAt`, `updatedAtCounter` and `originId` are the content record's
|
|
72
|
+
* write stamp, and `meta` is the `/meta` record's own stamp with its
|
|
73
|
+
* generation. Each stamp is copied whole or not at all (`isWriteStamp` /
|
|
74
|
+
* `isMetaStamp` from `@interop/storage-core`). A resource with no metadata
|
|
75
|
+
* yet, or a `/meta` object without a whole stamp, reports an epoch-zero
|
|
76
|
+
* `updatedAt` placeholder with no `updatedAtCounter` or `originId`: a valid,
|
|
77
|
+
* sortable timestamp that sorts before every real one. The change feed
|
|
78
|
+
* remains the authority on ordering; two revisions are compared by their
|
|
79
|
+
* stamps.
|
|
69
80
|
*
|
|
70
81
|
* `etag` and `metaEtag` are the raw, opaque `ETag` validators the content and
|
|
71
82
|
* `/meta` reads returned (absent only where the header did not reach the
|
|
72
|
-
* client) -- pass one back verbatim as a later write's `ifMatch`.
|
|
73
|
-
*
|
|
74
|
-
* comparison or display only.
|
|
83
|
+
* client) -- pass one back verbatim as a later write's `ifMatch`. No revision
|
|
84
|
+
* number is read out of a validator.
|
|
75
85
|
*/
|
|
76
86
|
export interface MasterState {
|
|
77
|
-
version: number;
|
|
78
87
|
etag?: string;
|
|
79
88
|
updatedAt: string;
|
|
80
|
-
|
|
89
|
+
updatedAtCounter?: number;
|
|
90
|
+
originId?: string;
|
|
91
|
+
meta?: ResourceMetaStamp;
|
|
81
92
|
metaEtag?: string;
|
|
82
93
|
data?: Json;
|
|
83
94
|
custom?: Json;
|
|
@@ -86,16 +97,15 @@ export interface MasterState {
|
|
|
86
97
|
writerId?: string;
|
|
87
98
|
}
|
|
88
99
|
/**
|
|
89
|
-
* The acknowledgment a conditional write returns
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
* or
|
|
100
|
+
* The acknowledgment a conditional write returns. `etag` is the opaque
|
|
101
|
+
* validator to echo, exactly as the server sent it: pass it back verbatim as
|
|
102
|
+
* a later write's `ifMatch`. It is absent only where the header did not reach
|
|
103
|
+
* the client (for example a cross-origin response without
|
|
104
|
+
* `Access-Control-Expose-Headers: ETag`). The validator is opaque, so the ack
|
|
105
|
+
* carries no revision number. A caller that needs the write's stamp reads it
|
|
106
|
+
* from the change feed or from {@link WasSyncPort.get}.
|
|
96
107
|
*/
|
|
97
108
|
export interface WriteAck {
|
|
98
|
-
version: number;
|
|
99
109
|
etag?: string;
|
|
100
110
|
}
|
|
101
111
|
/**
|
package/dist/sync/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interop/was-client",
|
|
3
3
|
"description": "A developer-friendly client for Wallet Attached Storage (WAS) servers.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.87.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "pnpm run clear && tsc",
|
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
"@interop/ezcap": "^7.5.0",
|
|
87
87
|
"@interop/http-client": "^1.0.5",
|
|
88
88
|
"@interop/minimal-cipher": "^7.10.3",
|
|
89
|
-
"@interop/storage-core": "^0.
|
|
90
|
-
"@interop/vh-resource-log": "^0.
|
|
89
|
+
"@interop/storage-core": "^0.29.0",
|
|
90
|
+
"@interop/vh-resource-log": "^0.6.1",
|
|
91
91
|
"@interop/x25519-key-agreement-key": "^5.4.1",
|
|
92
92
|
"@noble/hashes": "^2.3.0",
|
|
93
93
|
"@scure/base": "^2.3.0",
|