@interop/was-client 0.26.0 → 0.27.2
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/Collection.d.ts.map +1 -1
- package/dist/Collection.js +27 -66
- package/dist/Collection.js.map +1 -1
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +28 -6
- package/dist/Resource.js.map +1 -1
- package/dist/Space.d.ts.map +1 -1
- package/dist/Space.js +10 -25
- package/dist/Space.js.map +1 -1
- package/dist/WasClient.d.ts.map +1 -1
- package/dist/WasClient.js +9 -19
- package/dist/WasClient.js.map +1 -1
- package/dist/codec.d.ts +31 -5
- package/dist/codec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.d.ts +9 -14
- package/dist/edv/EdvCodec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.js +147 -71
- package/dist/edv/EdvCodec.js.map +1 -1
- package/dist/edv/WasTransport.d.ts +1 -2
- package/dist/edv/WasTransport.d.ts.map +1 -1
- package/dist/edv/WasTransport.js +19 -28
- package/dist/edv/WasTransport.js.map +1 -1
- package/dist/edv/constants.d.ts +11 -0
- package/dist/edv/constants.d.ts.map +1 -1
- package/dist/edv/constants.js +16 -4
- package/dist/edv/constants.js.map +1 -1
- package/dist/edv/docCipher.d.ts +10 -26
- package/dist/edv/docCipher.d.ts.map +1 -1
- package/dist/edv/docCipher.js +62 -135
- package/dist/edv/docCipher.js.map +1 -1
- package/dist/edv/epochCrypto.d.ts +0 -4
- package/dist/edv/epochCrypto.d.ts.map +1 -1
- package/dist/edv/epochCrypto.js +4 -4
- package/dist/edv/epochCrypto.js.map +1 -1
- package/dist/edv/epochKeys.d.ts.map +1 -1
- package/dist/edv/epochKeys.js +2 -4
- package/dist/edv/epochKeys.js.map +1 -1
- package/dist/edv/epochMac.d.ts +24 -1
- package/dist/edv/epochMac.d.ts.map +1 -1
- package/dist/edv/epochMac.js +43 -13
- package/dist/edv/epochMac.js.map +1 -1
- package/dist/edv/index.d.ts +6 -4
- package/dist/edv/index.d.ts.map +1 -1
- package/dist/edv/index.js +4 -3
- package/dist/edv/index.js.map +1 -1
- package/dist/edv/recipients.d.ts +29 -17
- package/dist/edv/recipients.d.ts.map +1 -1
- package/dist/edv/recipients.js +177 -112
- package/dist/edv/recipients.js.map +1 -1
- package/dist/errors.d.ts +29 -12
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +37 -65
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/internal/codec.d.ts +15 -12
- package/dist/internal/codec.d.ts.map +1 -1
- package/dist/internal/codec.js +4 -6
- package/dist/internal/codec.js.map +1 -1
- package/dist/internal/conditional.d.ts +9 -4
- package/dist/internal/conditional.d.ts.map +1 -1
- package/dist/internal/conditional.js +9 -2
- package/dist/internal/conditional.js.map +1 -1
- package/dist/internal/content.d.ts +28 -24
- package/dist/internal/content.d.ts.map +1 -1
- package/dist/internal/content.js +28 -13
- package/dist/internal/content.js.map +1 -1
- package/dist/internal/describe.d.ts +15 -2
- package/dist/internal/describe.d.ts.map +1 -1
- package/dist/internal/describe.js +17 -0
- package/dist/internal/describe.js.map +1 -1
- package/dist/internal/pagination.d.ts +20 -1
- package/dist/internal/pagination.d.ts.map +1 -1
- package/dist/internal/pagination.js +22 -0
- package/dist/internal/pagination.js.map +1 -1
- package/dist/internal/paths.d.ts +0 -11
- package/dist/internal/paths.d.ts.map +1 -1
- package/dist/internal/paths.js +20 -33
- package/dist/internal/paths.js.map +1 -1
- package/dist/internal/policy.d.ts.map +1 -1
- package/dist/internal/policy.js +2 -9
- package/dist/internal/policy.js.map +1 -1
- package/dist/internal/write.d.ts +50 -4
- package/dist/internal/write.d.ts.map +1 -1
- package/dist/internal/write.js +45 -0
- package/dist/internal/write.js.map +1 -1
- package/dist/sync/cid.d.ts.map +1 -1
- package/dist/sync/cid.js +8 -2
- package/dist/sync/cid.js.map +1 -1
- package/dist/sync/port.d.ts +9 -8
- package/dist/sync/port.d.ts.map +1 -1
- package/dist/sync/port.js +74 -70
- package/dist/sync/port.js.map +1 -1
- package/dist/sync/provisioning.d.ts +4 -1
- package/dist/sync/provisioning.d.ts.map +1 -1
- package/dist/sync/provisioning.js +11 -2
- package/dist/sync/provisioning.js.map +1 -1
- package/dist/sync/types.d.ts +7 -10
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +14 -14
package/dist/codec.d.ts
CHANGED
|
@@ -30,8 +30,27 @@
|
|
|
30
30
|
* but the keystore holds no keys, core fails closed (throws) rather than
|
|
31
31
|
* silently writing plaintext.
|
|
32
32
|
*/
|
|
33
|
-
import type { HttpResponse } from '@interop/http-client';
|
|
34
33
|
import type { CollectionEncryption, Json, ResourceData, ResourceMetadataCustom } from './types.js';
|
|
34
|
+
/**
|
|
35
|
+
* The minimal read-response surface a codec consumes: the pre-parsed JSON body
|
|
36
|
+
* (`data`), the `json()` fallback for a body the http-client did not
|
|
37
|
+
* pre-parse, and the response headers (for the `ETag` validator). A real
|
|
38
|
+
* `HttpResponse` satisfies it structurally, and so does a stored-body adapter
|
|
39
|
+
* wrapping a local replica's envelope -- so a non-HTTP consumer of a codec
|
|
40
|
+
* (the sync `DocCipher`) needs no fake response object, and the compiler
|
|
41
|
+
* checks the adapter's shape the day a codec reads another field.
|
|
42
|
+
*
|
|
43
|
+
* The identity codec is the exception: it passes bytes through untransformed,
|
|
44
|
+
* so its `decode` needs the full `HttpResponse` stream surface and is only
|
|
45
|
+
* ever called with one (the handle read path).
|
|
46
|
+
*/
|
|
47
|
+
export interface ResponseLike {
|
|
48
|
+
data?: unknown;
|
|
49
|
+
json(): Promise<unknown>;
|
|
50
|
+
headers: {
|
|
51
|
+
get(name: string): string | null;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
35
54
|
/**
|
|
36
55
|
* The result of {@link ResourceCodec.encode}: the stored representation of a
|
|
37
56
|
* write, plus the id to store it under.
|
|
@@ -55,6 +74,12 @@ import type { CollectionEncryption, Json, ResourceData, ResourceMetadataCustom }
|
|
|
55
74
|
* ETag for lost-update-safe updates, or `If-None-Match: *` for a fresh
|
|
56
75
|
* insert). The write path forwards these as the request's conditional headers.
|
|
57
76
|
* Only honored for a codec that sets {@link ResourceCodec.conditionalWrites}.
|
|
77
|
+
* - `envelope` -- the already-parsed object form of `body`, for a consumer that
|
|
78
|
+
* needs the object rather than the bytes (an encrypting codec that built an
|
|
79
|
+
* envelope object before serializing it can hand it over instead of making
|
|
80
|
+
* the consumer decode and re-parse the bytes). Purely an optimization and
|
|
81
|
+
* always optional: `body` stays the wire truth, and a consumer that finds no
|
|
82
|
+
* `envelope` parses `body` itself.
|
|
58
83
|
* - `epoch` -- the key-epoch id the codec encrypted this write under, on a
|
|
59
84
|
* multi-recipient encrypted collection. The write path emits it as the
|
|
60
85
|
* `WAS-Key-Epoch` request header, so the server stamps
|
|
@@ -69,6 +94,7 @@ export interface EncodedWrite {
|
|
|
69
94
|
resourceContentType?: string;
|
|
70
95
|
ifMatch?: string;
|
|
71
96
|
ifNoneMatch?: boolean;
|
|
97
|
+
envelope?: unknown;
|
|
72
98
|
epoch?: string;
|
|
73
99
|
}
|
|
74
100
|
/**
|
|
@@ -96,7 +122,7 @@ export interface ResourceCodec {
|
|
|
96
122
|
* @param [input.id] {string} resource id (absent on add)
|
|
97
123
|
* @param input.data {ResourceData} the plaintext value
|
|
98
124
|
* @param [input.contentType] {string} caller-supplied content type
|
|
99
|
-
* @param [input.current] {
|
|
125
|
+
* @param [input.current] {ResponseLike | null} the current stored response
|
|
100
126
|
* (or `null` if absent), supplied only when {@link conditionalWrites} is
|
|
101
127
|
* set, so the codec can derive the next `sequence` and the `If-Match` ETag.
|
|
102
128
|
* @returns {Promise<EncodedWrite>}
|
|
@@ -105,14 +131,14 @@ export interface ResourceCodec {
|
|
|
105
131
|
id?: string;
|
|
106
132
|
data: ResourceData;
|
|
107
133
|
contentType?: string;
|
|
108
|
-
current?:
|
|
134
|
+
current?: ResponseLike | null;
|
|
109
135
|
}): Promise<EncodedWrite>;
|
|
110
136
|
/**
|
|
111
137
|
* Transforms a stored (non-null) read response back into a caller value: a
|
|
112
138
|
* parsed object for JSON, a `Blob` for binary, decrypting first when the
|
|
113
139
|
* codec encrypts.
|
|
114
140
|
*
|
|
115
|
-
* @param response {
|
|
141
|
+
* @param response {ResponseLike}
|
|
116
142
|
* @param [expectedId] {string} the resource id the read targeted. An
|
|
117
143
|
* encrypting codec verifies the decrypted envelope's AEAD-authenticated
|
|
118
144
|
* binding against it (a server-side swap of two envelopes is then detected);
|
|
@@ -120,7 +146,7 @@ export interface ResourceCodec {
|
|
|
120
146
|
* caller that does not know the id (or the plaintext codec) omits it.
|
|
121
147
|
* @returns {Promise<Json | Blob>}
|
|
122
148
|
*/
|
|
123
|
-
decode(response:
|
|
149
|
+
decode(response: ResponseLike, expectedId?: string): Promise<Json | Blob>;
|
|
124
150
|
/**
|
|
125
151
|
* Transforms a caller's user-writable metadata (`custom`) into the value to
|
|
126
152
|
* store under `custom` on a `PUT .../meta` write. The identity codec returns
|
package/dist/codec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,YAAY,EACZ,sBAAsB,EACvB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IACxB,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAEpC;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,EAAE;QACZ,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,YAAY,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;KAC9B,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAEzB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAEzE;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,KAAK,EAAE;QAChB,MAAM,EAAE,sBAAsB,CAAA;QAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAE/B;;;;;;;;;;;;OAYG;IACH,UAAU,CACR,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAC5B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAAA;CACnC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,KAAK,EAAE;QACd,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,MAAM,CAAA;QACpB,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,CAAC,EAAE,oBAAoB,CAAA;QACjC,IAAI,CAAC,EAAE,OAAO,CAAA;KACf,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;CAClC"}
|
package/dist/edv/EdvCodec.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { EdvClientCore } from '@interop/edv-client';
|
|
2
|
-
import type { HttpResponse } from '@interop/http-client';
|
|
3
2
|
import type { IKeyAgreementKey, IKeyResolver } from '@interop/data-integrity-core';
|
|
4
|
-
import type { EncodedWrite, EncryptionProvider, ResourceCodec } from '../codec.js';
|
|
3
|
+
import type { EncodedWrite, EncryptionProvider, ResourceCodec, ResponseLike } from '../codec.js';
|
|
5
4
|
import type { Json, ResourceData, ResourceMetadataCustom } from '../types.js';
|
|
6
5
|
/**
|
|
7
6
|
* A {@link ResourceCodec} that encrypts on write and decrypts on read using an
|
|
@@ -25,19 +24,18 @@ export declare class EdvCodec implements ResourceCodec {
|
|
|
25
24
|
* decrypts.
|
|
26
25
|
* @param [options.writeEpoch] {string} the key-epoch id to stamp on writes
|
|
27
26
|
* (the `currentEpoch`), surfaced as {@link EncodedWrite.epoch}; absent on a
|
|
28
|
-
* single-key collection.
|
|
27
|
+
* single-key collection. Its presence also arms the decode-side check of an
|
|
28
|
+
* envelope's `was.epoch` binding against the decrypting key's epoch.
|
|
29
29
|
* @param options.contentType {string} stored envelope content type
|
|
30
30
|
* @param options.maxBlobBytes {number} single-document binary cap
|
|
31
31
|
* @param options.idDerivation {string} how `add()` mints a document
|
|
32
32
|
* id: `'random'` (classic `generateId()`) or `'content'` (derived from the
|
|
33
33
|
* JWE ciphertext, content-addressed)
|
|
34
34
|
* @param [options.version] {number} the EDV-over-WAS scheme version to bind
|
|
35
|
-
* into each envelope's `was.v` (defaults to
|
|
36
|
-
* @param [options.
|
|
37
|
-
* epochs, so a decoded envelope's `was.epoch` binding is checked against the
|
|
38
|
-
* decrypting key's epoch (defaults to `false`)
|
|
35
|
+
* into each envelope's `was.v` (defaults to {@link EDV_SCHEME_VERSION})
|
|
36
|
+
* @param [options.collectionId] {string} labels decrypt-routing errors
|
|
39
37
|
*/
|
|
40
|
-
constructor({ edv, keyAgreementKey, readKeys, writeEpoch, contentType, maxBlobBytes, idDerivation, version,
|
|
38
|
+
constructor({ edv, keyAgreementKey, readKeys, writeEpoch, contentType, maxBlobBytes, idDerivation, version, collectionId }: {
|
|
41
39
|
edv: EdvClientCore;
|
|
42
40
|
keyAgreementKey: IKeyAgreementKey;
|
|
43
41
|
readKeys?: IKeyAgreementKey[];
|
|
@@ -46,7 +44,7 @@ export declare class EdvCodec implements ResourceCodec {
|
|
|
46
44
|
maxBlobBytes: number;
|
|
47
45
|
idDerivation: 'random' | 'content';
|
|
48
46
|
version?: number;
|
|
49
|
-
|
|
47
|
+
collectionId?: string;
|
|
50
48
|
});
|
|
51
49
|
/**
|
|
52
50
|
* @inheritdoc
|
|
@@ -55,15 +53,12 @@ export declare class EdvCodec implements ResourceCodec {
|
|
|
55
53
|
id?: string;
|
|
56
54
|
data: ResourceData;
|
|
57
55
|
contentType?: string;
|
|
58
|
-
current?:
|
|
56
|
+
current?: ResponseLike | null;
|
|
59
57
|
}): Promise<EncodedWrite>;
|
|
60
58
|
/**
|
|
61
59
|
* @inheritdoc
|
|
62
60
|
*/
|
|
63
|
-
decode(response:
|
|
64
|
-
data?: unknown;
|
|
65
|
-
json(): Promise<unknown>;
|
|
66
|
-
}, expectedId?: string): Promise<Json | Blob>;
|
|
61
|
+
decode(response: ResponseLike, expectedId?: string): Promise<Json | Blob>;
|
|
67
62
|
/**
|
|
68
63
|
* @inheritdoc
|
|
69
64
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdvCodec.d.ts","sourceRoot":"","sources":["../../src/edv/EdvCodec.ts"],"names":[],"mappings":"AA2DA,OAAO,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"EdvCodec.d.ts","sourceRoot":"","sources":["../../src/edv/EdvCodec.ts"],"names":[],"mappings":"AA2DA,OAAO,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAEV,gBAAgB,EAChB,YAAY,EAEb,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACb,MAAM,aAAa,CAAA;AAkBpB,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AA+H7E;;;;GAIG;AACH,qBAAa,QAAS,YAAW,aAAa;;IAC5C,QAAQ,CAAC,iBAAiB,QAAO;IAiCjC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;gBACS,EACV,GAAG,EACH,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,YAAY,EACb,EAAE;QACD,GAAG,EAAE,aAAa,CAAA;QAClB,eAAe,EAAE,gBAAgB,CAAA;QACjC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;QAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAA;QAClC,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB;IAaD;;OAEG;IACG,MAAM,CAAC,EACX,EAAE,EACF,IAAI,EACJ,WAAW,EACX,OAAO,EACR,EAAE;QACD,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,YAAY,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;KAC9B,GAAG,OAAO,CAAC,YAAY,CAAC;IA4GzB;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,YAAY,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAiNvB;;;;;;;;OAQG;IACG,UAAU,CAAC,EACf,MAAM,EACN,EAAE,EAAE,UAAU,EACf,EAAE;QACD,MAAM,EAAE,sBAAsB,CAAA;QAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAuB/B;;;;;;;OAOG;IACG,UAAU,CACd,EACE,MAAM,EACP,EAAE;QACD,MAAM,CAAC,EAAE,OAAO,CAAA;KACjB,EACD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC;CA4LnC;AAoDD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,eAAe,EAAE,gBAAgB,CAAA;IACjC,WAAW,EAAE,YAAY,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,WAAkC,EAClC,YAAqC,EACrC,YAAuB,EACxB,EAAE;IACD,WAAW,EAAE,CAAC,GAAG,EAAE;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,MAAM,CAAA;KACrB,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CACpC,GAAG,kBAAkB,CAkErB"}
|
package/dist/edv/EdvCodec.js
CHANGED
|
@@ -58,12 +58,13 @@
|
|
|
58
58
|
*/
|
|
59
59
|
import { base64, base64urlnopad } from '@scure/base';
|
|
60
60
|
import { EdvClientCore, assertDocId } from '@interop/edv-client';
|
|
61
|
-
import { EncryptionError, IntegrityError, KeyUnwrapError, ValidationError } from '../errors.js';
|
|
61
|
+
import { EncryptionError, IntegrityError, KeyUnwrapError, UnknownEpochError, ValidationError } from '../errors.js';
|
|
62
62
|
import { readEtag } from '../internal/conditional.js';
|
|
63
|
+
import { isEncryptedEnvelope } from '../sync/envelope.js';
|
|
63
64
|
import { resolveEpochKeys } from './epochKeys.js';
|
|
64
65
|
import { didKeyResolver } from './epochCrypto.js';
|
|
65
|
-
import {
|
|
66
|
-
import { DEFAULT_CONTENT_TYPE, envelopeBytes } from './constants.js';
|
|
66
|
+
import { isBlob, isTextContentType, readJsonData, resolvePayload } from '../internal/content.js';
|
|
67
|
+
import { DEFAULT_CONTENT_TYPE, EDV_SCHEME_VERSION, envelopeBytes } from './constants.js';
|
|
67
68
|
/**
|
|
68
69
|
* Default ceiling for a single-document (unchunked) encrypted binary or text
|
|
69
70
|
* write, measured in raw (pre-base64) bytes. Past this a `Blob`/`Uint8Array`
|
|
@@ -85,6 +86,33 @@ const DEFAULT_MAX_BLOB_BYTES = 512 * 1024;
|
|
|
85
86
|
* instance is reused.
|
|
86
87
|
*/
|
|
87
88
|
const UTF8_DECODER = new TextDecoder('utf-8', { fatal: true, ignoreBOM: true });
|
|
89
|
+
/**
|
|
90
|
+
* A shared lenient UTF-8 decoder for a JWE protected header (already proven
|
|
91
|
+
* authentic by a successful decrypt). Deliberately NOT {@link UTF8_DECODER},
|
|
92
|
+
* whose `fatal: true` would turn malformed bytes into a throw rather than the
|
|
93
|
+
* documented `undefined` return.
|
|
94
|
+
*/
|
|
95
|
+
const HEADER_DECODER = new TextDecoder();
|
|
96
|
+
/**
|
|
97
|
+
* Builds the AEAD-bound `was` protected-header parameter: the scheme version
|
|
98
|
+
* always, the resource id when it is known at encrypt time (absent for a
|
|
99
|
+
* content-derived id, which does not exist until after encryption), and the key
|
|
100
|
+
* epoch on a multi-recipient write. The one shape both the content and the
|
|
101
|
+
* metadata write paths bind.
|
|
102
|
+
*
|
|
103
|
+
* @param options {object}
|
|
104
|
+
* @param options.version {number} the EDV-over-WAS scheme version
|
|
105
|
+
* @param [options.resource] {string} the resource id the envelope is bound to
|
|
106
|
+
* @param [options.epoch] {string} the key epoch the write encrypts under
|
|
107
|
+
* @returns {{ v: number, resource?: string, epoch?: string }}
|
|
108
|
+
*/
|
|
109
|
+
function wasParam({ version, resource, epoch }) {
|
|
110
|
+
return {
|
|
111
|
+
v: version,
|
|
112
|
+
...(resource !== undefined && { resource }),
|
|
113
|
+
...(epoch !== undefined && { epoch })
|
|
114
|
+
};
|
|
115
|
+
}
|
|
88
116
|
/**
|
|
89
117
|
* Whether a decrypt error means "this candidate key does not open the envelope"
|
|
90
118
|
* (so the loop should try the next key) rather than an integrity failure. True
|
|
@@ -113,6 +141,34 @@ function isKeyMiss(err) {
|
|
|
113
141
|
return (err instanceof KeyUnwrapError ||
|
|
114
142
|
(err instanceof Error && err.name === 'KeyMissError'));
|
|
115
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Extracts the JWE recipient key ids (`kid`) a stored envelope names. An epoch
|
|
146
|
+
* envelope carries one kid (the epoch key id); a single-recipient envelope
|
|
147
|
+
* carries the key-agreement key id. Returns `[]` for a malformed recipient
|
|
148
|
+
* shape, so routing falls through to letting the cipher surface its own typed
|
|
149
|
+
* decrypt error.
|
|
150
|
+
*
|
|
151
|
+
* @param encryptedDoc {IEncryptedDocument}
|
|
152
|
+
* @returns {string[]}
|
|
153
|
+
*/
|
|
154
|
+
function envelopeRecipientKids(encryptedDoc) {
|
|
155
|
+
const jwe = encryptedDoc.jwe;
|
|
156
|
+
if (jwe === null || typeof jwe !== 'object') {
|
|
157
|
+
return [];
|
|
158
|
+
}
|
|
159
|
+
const recipients = jwe.recipients;
|
|
160
|
+
if (!Array.isArray(recipients)) {
|
|
161
|
+
return [];
|
|
162
|
+
}
|
|
163
|
+
const kids = [];
|
|
164
|
+
for (const recipient of recipients) {
|
|
165
|
+
const kid = recipient?.header?.kid;
|
|
166
|
+
if (typeof kid === 'string') {
|
|
167
|
+
kids.push(kid);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return kids;
|
|
171
|
+
}
|
|
116
172
|
/**
|
|
117
173
|
* A {@link ResourceCodec} that encrypts on write and decrypts on read using an
|
|
118
174
|
* `EdvClientCore`'s public `documentCipher`. One instance is bound per encrypted
|
|
@@ -129,22 +185,27 @@ export class EdvCodec {
|
|
|
129
185
|
*/
|
|
130
186
|
#recipients;
|
|
131
187
|
#readKeys;
|
|
188
|
+
/**
|
|
189
|
+
* The key-epoch id writes stamp (`currentEpoch`); absent on a single-key
|
|
190
|
+
* collection. Its presence IS the has-epochs signal: a decoded envelope's
|
|
191
|
+
* `was.epoch` binding is checked exactly when a write epoch exists.
|
|
192
|
+
*/
|
|
132
193
|
#writeEpoch;
|
|
133
194
|
#contentType;
|
|
134
195
|
#maxBlobBytes;
|
|
135
196
|
#idDerivation;
|
|
136
197
|
/**
|
|
137
198
|
* The EDV-over-WAS scheme version this codec binds into every envelope's
|
|
138
|
-
* `was.v` protected-header parameter (the descriptor's `version`,
|
|
139
|
-
* absent). Read side rejects an envelope
|
|
199
|
+
* `was.v` protected-header parameter (the descriptor's `version`,
|
|
200
|
+
* {@link EDV_SCHEME_VERSION} when absent). Read side rejects an envelope
|
|
201
|
+
* stamped with a greater version.
|
|
140
202
|
*/
|
|
141
203
|
#version;
|
|
142
204
|
/**
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
* actually decrypted it.
|
|
205
|
+
* Labels decrypt-routing errors ({@link UnknownEpochError}); the codec is
|
|
206
|
+
* otherwise collection-agnostic.
|
|
146
207
|
*/
|
|
147
|
-
#
|
|
208
|
+
#collectionId;
|
|
148
209
|
/**
|
|
149
210
|
* @param options {object}
|
|
150
211
|
* @param options.edv {EdvClientCore} holds the cipher + key resolver
|
|
@@ -159,19 +220,18 @@ export class EdvCodec {
|
|
|
159
220
|
* decrypts.
|
|
160
221
|
* @param [options.writeEpoch] {string} the key-epoch id to stamp on writes
|
|
161
222
|
* (the `currentEpoch`), surfaced as {@link EncodedWrite.epoch}; absent on a
|
|
162
|
-
* single-key collection.
|
|
223
|
+
* single-key collection. Its presence also arms the decode-side check of an
|
|
224
|
+
* envelope's `was.epoch` binding against the decrypting key's epoch.
|
|
163
225
|
* @param options.contentType {string} stored envelope content type
|
|
164
226
|
* @param options.maxBlobBytes {number} single-document binary cap
|
|
165
227
|
* @param options.idDerivation {string} how `add()` mints a document
|
|
166
228
|
* id: `'random'` (classic `generateId()`) or `'content'` (derived from the
|
|
167
229
|
* JWE ciphertext, content-addressed)
|
|
168
230
|
* @param [options.version] {number} the EDV-over-WAS scheme version to bind
|
|
169
|
-
* into each envelope's `was.v` (defaults to
|
|
170
|
-
* @param [options.
|
|
171
|
-
* epochs, so a decoded envelope's `was.epoch` binding is checked against the
|
|
172
|
-
* decrypting key's epoch (defaults to `false`)
|
|
231
|
+
* into each envelope's `was.v` (defaults to {@link EDV_SCHEME_VERSION})
|
|
232
|
+
* @param [options.collectionId] {string} labels decrypt-routing errors
|
|
173
233
|
*/
|
|
174
|
-
constructor({ edv, keyAgreementKey, readKeys, writeEpoch, contentType, maxBlobBytes, idDerivation, version,
|
|
234
|
+
constructor({ edv, keyAgreementKey, readKeys, writeEpoch, contentType, maxBlobBytes, idDerivation, version, collectionId }) {
|
|
175
235
|
this.#edv = edv;
|
|
176
236
|
this.#recipients =
|
|
177
237
|
edv.documentCipher.createDefaultRecipients(keyAgreementKey);
|
|
@@ -180,8 +240,8 @@ export class EdvCodec {
|
|
|
180
240
|
this.#contentType = contentType;
|
|
181
241
|
this.#maxBlobBytes = maxBlobBytes;
|
|
182
242
|
this.#idDerivation = idDerivation;
|
|
183
|
-
this.#version = version ??
|
|
184
|
-
this.#
|
|
243
|
+
this.#version = version ?? EDV_SCHEME_VERSION;
|
|
244
|
+
this.#collectionId = collectionId ?? '(unknown)';
|
|
185
245
|
}
|
|
186
246
|
/**
|
|
187
247
|
* @inheritdoc
|
|
@@ -231,15 +291,11 @@ export class EdvCodec {
|
|
|
231
291
|
// and the write epoch on a multi-recipient collection. A server that swaps
|
|
232
292
|
// two envelopes between ids (or replays one under a rolled-back epoch) is
|
|
233
293
|
// then detected on decrypt.
|
|
234
|
-
const was = {
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
}
|
|
240
|
-
if (this.#writeEpoch !== undefined) {
|
|
241
|
-
was.epoch = this.#writeEpoch;
|
|
242
|
-
}
|
|
294
|
+
const was = wasParam({
|
|
295
|
+
version: this.#version,
|
|
296
|
+
resource: docId,
|
|
297
|
+
epoch: this.#writeEpoch
|
|
298
|
+
});
|
|
243
299
|
const encrypted = await documentCipher.encrypt({
|
|
244
300
|
doc: {
|
|
245
301
|
...(docId !== undefined && { id: docId }),
|
|
@@ -266,6 +322,10 @@ export class EdvCodec {
|
|
|
266
322
|
return {
|
|
267
323
|
id: docId,
|
|
268
324
|
body: envelopeBytes(encrypted),
|
|
325
|
+
// The same envelope in object form, so a consumer holding a local replica
|
|
326
|
+
// (the sync `DocCipher`) need not decode and re-parse the bytes it was
|
|
327
|
+
// just serialized from. `body` remains the wire truth.
|
|
328
|
+
envelope: encrypted,
|
|
269
329
|
contentType: this.#contentType,
|
|
270
330
|
// Surface the plaintext content type (the server-opaque envelope type
|
|
271
331
|
// stays `contentType`) so `add()` reports the real resource type.
|
|
@@ -293,15 +353,31 @@ export class EdvCodec {
|
|
|
293
353
|
* @inheritdoc
|
|
294
354
|
*/
|
|
295
355
|
async decode(response, expectedId) {
|
|
296
|
-
const
|
|
297
|
-
this.#
|
|
298
|
-
|
|
356
|
+
const stored = await readJsonData(response);
|
|
357
|
+
const decrypted = await this.#openEnvelope(stored, expectedId);
|
|
358
|
+
return this.#fromDocument(decrypted.content, decrypted.meta);
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Opens a stored envelope: asserts it IS an EDV envelope, decrypts it with
|
|
362
|
+
* whichever read key its JWE recipient names, and only then verifies the
|
|
363
|
+
* AEAD-authenticated `was` binding (decrypt success is what proves the
|
|
364
|
+
* protected header authentic, so the order is load-bearing). The one opening
|
|
365
|
+
* shared by {@link decode} and {@link decodeMeta}.
|
|
366
|
+
*
|
|
367
|
+
* @param doc {unknown} the stored document read from the server
|
|
368
|
+
* @param [expectedId] {string} the resource id the read targeted
|
|
369
|
+
* @returns {Promise<{ content?: unknown; meta?: Record<string, unknown>;
|
|
370
|
+
* keyId?: string }>} the decrypted document
|
|
371
|
+
*/
|
|
372
|
+
async #openEnvelope(doc, expectedId) {
|
|
373
|
+
this.#assertEnvelope(doc, 'read');
|
|
374
|
+
const decrypted = await this.#decrypt(doc);
|
|
299
375
|
await this.#verifyBinding({
|
|
300
|
-
jwe:
|
|
376
|
+
jwe: doc.jwe,
|
|
301
377
|
expectedId,
|
|
302
378
|
keyId: decrypted.keyId
|
|
303
379
|
});
|
|
304
|
-
return
|
|
380
|
+
return decrypted;
|
|
305
381
|
}
|
|
306
382
|
/**
|
|
307
383
|
* Decrypts a stored EDV envelope, selecting which read key to use by matching
|
|
@@ -310,8 +386,11 @@ export class EdvCodec {
|
|
|
310
386
|
* one candidate; on a multi-recipient collection a resource written under an
|
|
311
387
|
* older epoch selects that epoch's key, so history stays readable.
|
|
312
388
|
*
|
|
313
|
-
* A stored envelope naming
|
|
314
|
-
*
|
|
389
|
+
* A stored envelope naming only recipients this reader holds no candidate
|
|
390
|
+
* key for fails fast with {@link UnknownEpochError} -- the signal that the
|
|
391
|
+
* cached Collection Description may be stale (an epoch rotation emits no
|
|
392
|
+
* change-feed entry) and the codec must be rebuilt from a re-read
|
|
393
|
+
* descriptor. A candidate whose entry then fails to unwrap surfaces
|
|
315
394
|
* {@link KeyUnwrapError} -- the **read** axis only; it says nothing about
|
|
316
395
|
* whether the server will still serve (pull) the ciphertext.
|
|
317
396
|
*
|
|
@@ -324,19 +403,21 @@ export class EdvCodec {
|
|
|
324
403
|
* keyId?: string }>}
|
|
325
404
|
*/
|
|
326
405
|
async #decrypt(encryptedDoc) {
|
|
327
|
-
const
|
|
328
|
-
const
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
//
|
|
332
|
-
//
|
|
333
|
-
//
|
|
334
|
-
//
|
|
335
|
-
//
|
|
336
|
-
//
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
406
|
+
const kids = envelopeRecipientKids(encryptedDoc);
|
|
407
|
+
const kidSet = new Set(kids);
|
|
408
|
+
// Prefer the read key whose id names a recipient of this envelope; for a
|
|
409
|
+
// well-formed envelope the exact match always hits. A non-empty recipient
|
|
410
|
+
// set that matches NO candidate is unroutable: the envelope was encrypted
|
|
411
|
+
// under an epoch (or key) this codec's descriptor knows nothing about, so
|
|
412
|
+
// fail fast with the stale-descriptor signal rather than burning ECDH
|
|
413
|
+
// attempts that cannot succeed. The `rest` fallback below is then reached
|
|
414
|
+
// only for a malformed envelope naming no recipient kid at all, letting a
|
|
415
|
+
// candidate surface the cipher's own typed decrypt error.
|
|
416
|
+
const preferred = this.#readKeys.filter(key => kidSet.has(key.id));
|
|
417
|
+
if (preferred.length === 0 && kids.length > 0) {
|
|
418
|
+
throw new UnknownEpochError({ collectionId: this.#collectionId, kids });
|
|
419
|
+
}
|
|
420
|
+
const rest = this.#readKeys.filter(key => !kidSet.has(key.id));
|
|
340
421
|
for (const keyAgreementKey of [...preferred, ...rest]) {
|
|
341
422
|
try {
|
|
342
423
|
const decrypted = await this.#edv.documentCipher.decrypt({
|
|
@@ -432,7 +513,9 @@ export class EdvCodec {
|
|
|
432
513
|
'served this envelope under an id it was not written for.');
|
|
433
514
|
}
|
|
434
515
|
}
|
|
435
|
-
if (this.#
|
|
516
|
+
if (this.#writeEpoch !== undefined &&
|
|
517
|
+
typeof was.epoch === 'string' &&
|
|
518
|
+
keyId) {
|
|
436
519
|
const decryptedEpoch = keyId.split('#')[0];
|
|
437
520
|
if (decryptedEpoch !== was.epoch) {
|
|
438
521
|
throw new IntegrityError(`Cannot decrypt this resource: its envelope is bound to key epoch ` +
|
|
@@ -463,10 +546,7 @@ export class EdvCodec {
|
|
|
463
546
|
// AEAD-detected on decode. The metadata envelope always knows the resource
|
|
464
547
|
// id at encrypt time, so `resource` is always present here (never content-
|
|
465
548
|
// derived) and it carries no `epoch`.
|
|
466
|
-
const was = {
|
|
467
|
-
if (resourceId !== undefined) {
|
|
468
|
-
was.resource = resourceId;
|
|
469
|
-
}
|
|
549
|
+
const was = wasParam({ version: this.#version, resource: resourceId });
|
|
470
550
|
const encrypted = await documentCipher.encrypt({
|
|
471
551
|
doc: { id, content: custom },
|
|
472
552
|
recipients: this.#recipients,
|
|
@@ -488,14 +568,7 @@ export class EdvCodec {
|
|
|
488
568
|
if (custom === undefined || custom === null) {
|
|
489
569
|
return {};
|
|
490
570
|
}
|
|
491
|
-
this.#
|
|
492
|
-
const encryptedDoc = custom;
|
|
493
|
-
const decrypted = await this.#decrypt(encryptedDoc);
|
|
494
|
-
await this.#verifyBinding({
|
|
495
|
-
jwe: encryptedDoc.jwe,
|
|
496
|
-
expectedId,
|
|
497
|
-
keyId: decrypted.keyId
|
|
498
|
-
});
|
|
571
|
+
const decrypted = await this.#openEnvelope(custom, expectedId);
|
|
499
572
|
return (decrypted.content ?? {});
|
|
500
573
|
}
|
|
501
574
|
/**
|
|
@@ -503,7 +576,10 @@ export class EdvCodec {
|
|
|
503
576
|
* (`{ jwe, ... }`) before it is handed to the cipher. A plaintext or foreign
|
|
504
577
|
* resource -- one written without this codec -- carries no `jwe`, which would
|
|
505
578
|
* otherwise make the EDV core throw a raw `TypeError`. Surfacing a typed
|
|
506
|
-
* `EncryptionError` keeps the fail-closed contract legible to callers.
|
|
579
|
+
* `EncryptionError` keeps the fail-closed contract legible to callers. The
|
|
580
|
+
* envelope test itself is the shared `isEncryptedEnvelope` predicate, so this
|
|
581
|
+
* guard and the crypto-free read paths cannot disagree on what an envelope
|
|
582
|
+
* is.
|
|
507
583
|
*
|
|
508
584
|
* For an `update`, the envelope's `sequence` is also validated: the cipher
|
|
509
585
|
* requires a non-negative safe integer to advance from, so a foreign envelope
|
|
@@ -516,10 +592,7 @@ export class EdvCodec {
|
|
|
516
592
|
* @returns {asserts doc is IEncryptedDocument}
|
|
517
593
|
*/
|
|
518
594
|
#assertEnvelope(doc, context) {
|
|
519
|
-
|
|
520
|
-
? doc.jwe
|
|
521
|
-
: undefined;
|
|
522
|
-
if (jwe === null || typeof jwe !== 'object') {
|
|
595
|
+
if (!isEncryptedEnvelope(doc)) {
|
|
523
596
|
throw new EncryptionError(`Cannot ${context} an encrypted resource: the stored document is not ` +
|
|
524
597
|
'an EDV envelope (it carries no `jwe` field). It was likely written ' +
|
|
525
598
|
'as plaintext, or by a writer that did not use this encrypted ' +
|
|
@@ -632,7 +705,9 @@ export class EdvCodec {
|
|
|
632
705
|
throw new EncryptionError('Malformed encrypted text document: meta.encoding is "utf-8" but ' +
|
|
633
706
|
'content.text is not a string.');
|
|
634
707
|
}
|
|
635
|
-
|
|
708
|
+
// `Blob` encodes a string part as UTF-8 itself, with the same
|
|
709
|
+
// unpaired-surrogate handling as `TextEncoder`.
|
|
710
|
+
return new Blob([text], { type: contentType });
|
|
636
711
|
}
|
|
637
712
|
if (encoding === 'base64') {
|
|
638
713
|
const base64Text = content?.bytes;
|
|
@@ -679,7 +754,7 @@ function parseWasHeader(jwe) {
|
|
|
679
754
|
}
|
|
680
755
|
let parsed;
|
|
681
756
|
try {
|
|
682
|
-
parsed = JSON.parse(
|
|
757
|
+
parsed = JSON.parse(HEADER_DECODER.decode(base64urlnopad.decode(protectedHeader)));
|
|
683
758
|
}
|
|
684
759
|
catch {
|
|
685
760
|
return undefined;
|
|
@@ -740,10 +815,11 @@ export function createEdvEncryption({ resolveKeys, contentType = DEFAULT_CONTENT
|
|
|
740
815
|
// Refuse a descriptor from a future scheme version: this client does not
|
|
741
816
|
// implement it, and silently operating on it could mis-handle the data.
|
|
742
817
|
const descriptorVersion = encryption?.version;
|
|
743
|
-
if (typeof descriptorVersion === 'number' &&
|
|
818
|
+
if (typeof descriptorVersion === 'number' &&
|
|
819
|
+
descriptorVersion > EDV_SCHEME_VERSION) {
|
|
744
820
|
throw new EncryptionError(`Collection ${spaceId}/${collectionId} declares EDV-over-WAS scheme ` +
|
|
745
|
-
`version ${descriptorVersion}, which this client (version
|
|
746
|
-
|
|
821
|
+
`version ${descriptorVersion}, which this client (version ` +
|
|
822
|
+
`${EDV_SCHEME_VERSION}) does not implement. Upgrade the client.`);
|
|
747
823
|
}
|
|
748
824
|
// Prefer override-supplied keys; otherwise consult the keystore.
|
|
749
825
|
const resolved = keys ??
|
|
@@ -786,8 +862,8 @@ export function createEdvEncryption({ resolveKeys, contentType = DEFAULT_CONTENT
|
|
|
786
862
|
contentType,
|
|
787
863
|
maxBlobBytes,
|
|
788
864
|
idDerivation,
|
|
789
|
-
version: descriptorVersion ??
|
|
790
|
-
|
|
865
|
+
version: descriptorVersion ?? EDV_SCHEME_VERSION,
|
|
866
|
+
collectionId
|
|
791
867
|
});
|
|
792
868
|
}
|
|
793
869
|
};
|
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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"}
|
|
@@ -48,8 +48,6 @@
|
|
|
48
48
|
import { Transport } from '@interop/edv-client';
|
|
49
49
|
import type { IEDVChunk, IEDVQuery, IEncryptedDocument } from '@interop/data-integrity-core';
|
|
50
50
|
import type { WasClient } from '../WasClient.js';
|
|
51
|
-
import { JOSE_CONTENT_TYPE } from './constants.js';
|
|
52
|
-
export { JOSE_CONTENT_TYPE };
|
|
53
51
|
/**
|
|
54
52
|
* The subset of `WasClient` this transport depends on: the signed-request
|
|
55
53
|
* escape hatch. Declared structurally so tests can supply a lightweight stub.
|
|
@@ -209,4 +207,5 @@ export declare class WasTransport extends Transport {
|
|
|
209
207
|
chunkIndex?: number;
|
|
210
208
|
}): Promise<IEDVChunk>;
|
|
211
209
|
}
|
|
210
|
+
export {};
|
|
212
211
|
//# sourceMappingURL=WasTransport.d.ts.map
|