@interop/was-client 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +6 -3
- package/dist/Resource.js.map +1 -1
- package/dist/Space.d.ts +26 -2
- package/dist/Space.d.ts.map +1 -1
- package/dist/Space.js +47 -7
- package/dist/Space.js.map +1 -1
- package/dist/WasClient.d.ts +6 -0
- package/dist/WasClient.d.ts.map +1 -1
- package/dist/WasClient.js +26 -8
- package/dist/WasClient.js.map +1 -1
- package/dist/codec.d.ts +15 -2
- package/dist/codec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.d.ts +61 -5
- package/dist/edv/EdvCodec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.js +181 -11
- package/dist/edv/EdvCodec.js.map +1 -1
- package/dist/edv/epochKeys.d.ts.map +1 -1
- package/dist/edv/epochKeys.js +44 -14
- package/dist/edv/epochKeys.js.map +1 -1
- package/dist/edv/epochMac.d.ts +32 -0
- package/dist/edv/epochMac.d.ts.map +1 -0
- package/dist/edv/epochMac.js +117 -0
- package/dist/edv/epochMac.js.map +1 -0
- package/dist/edv/recipients.d.ts.map +1 -1
- package/dist/edv/recipients.js +26 -3
- package/dist/edv/recipients.js.map +1 -1
- package/dist/internal/pagination.d.ts +34 -19
- package/dist/internal/pagination.d.ts.map +1 -1
- package/dist/internal/pagination.js +9 -9
- package/dist/internal/pagination.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/Resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAc1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,KAAK,EACV,kBAAkB,EAClB,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,YAAY,CAAA;AAkBnB,qBAAa,QAAQ;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAEnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAO;IACpC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAEnD;;;;;;;;;;;;;;;;OAgBG;gBACS,EACV,OAAO,EACP,OAAO,EACP,YAAY,EACZ,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACX,EAAE;QACD,OAAO,EAAE,aAAa,CAAA;QACtB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,MAAM,CAAA;QACpB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,CAAC,EAAE,KAAK,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;QACpC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAClC,UAAU,CAAC,EAAE,kBAAkB,CAAA;KAChC;IAsCD,OAAO,KAAK,KAAK,GAEhB;IAED;;;;;;OAMG;YACW,KAAK;IASnB;;;;;;OAMG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAMxC;;;;;;;;;;;;;OAaG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASvC;;;;;;;;;;;;;OAaG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAW5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,GAAG,CACP,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,OAAO,CAAA;KACjB,GACL,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkB7B;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/D,OAAO,KAAK,SAAS,GAEpB;IAED;;;;;;;;;;;;;;;;OAgBG;IACG,IAAI,IAAI,OAAO,CAAC,CAAC,gBAAgB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IAkCpE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,OAAO,CACX,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,sBAAsB,CAAA;KAAO,EAC9C,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GACxD,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"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"}
|
package/dist/Resource.js
CHANGED
|
@@ -138,7 +138,7 @@ export class Resource {
|
|
|
138
138
|
async get() {
|
|
139
139
|
const codec = await this._codec();
|
|
140
140
|
const response = await this._read();
|
|
141
|
-
return response === null ? null : codec.decode(response);
|
|
141
|
+
return response === null ? null : codec.decode(response, this.id);
|
|
142
142
|
}
|
|
143
143
|
/**
|
|
144
144
|
* Reads the resource body as text. Returns `null` on a missing/unauthorized
|
|
@@ -298,7 +298,7 @@ export class Resource {
|
|
|
298
298
|
const metadata = response.data;
|
|
299
299
|
// Decode the user-writable `custom` (decrypting it on an encrypted
|
|
300
300
|
// collection) so callers uniformly see plaintext `{ name, tags }`.
|
|
301
|
-
const custom = await codec.decodeMeta({ custom: metadata.custom });
|
|
301
|
+
const custom = await codec.decodeMeta({ custom: metadata.custom }, this.id);
|
|
302
302
|
const decoded = { ...metadata, custom };
|
|
303
303
|
const etag = readEtag(response);
|
|
304
304
|
return etag !== undefined ? { ...decoded, etag } : decoded;
|
|
@@ -331,7 +331,10 @@ export class Resource {
|
|
|
331
331
|
*/
|
|
332
332
|
async setMeta(meta = {}, options = {}) {
|
|
333
333
|
const codec = await this._codec();
|
|
334
|
-
const { custom } = await codec.encodeMeta({
|
|
334
|
+
const { custom } = await codec.encodeMeta({
|
|
335
|
+
custom: meta.custom ?? {},
|
|
336
|
+
id: this.id
|
|
337
|
+
});
|
|
335
338
|
const response = await send(this._context, {
|
|
336
339
|
path: this._metaPath,
|
|
337
340
|
method: 'PUT',
|
package/dist/Resource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.js","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Resource.js","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"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"}
|
package/dist/Space.d.ts
CHANGED
|
@@ -88,12 +88,36 @@ export declare class Space {
|
|
|
88
88
|
encryption?: CollectionEncryption;
|
|
89
89
|
}): Promise<Collection>;
|
|
90
90
|
/**
|
|
91
|
-
*
|
|
92
|
-
*
|
|
91
|
+
* Reads the first page of the collections listing and packages the means to
|
|
92
|
+
* follow its `next` links (each page fetched with the same authorization).
|
|
93
|
+
* Returns `null` if the space is missing or not visible to you (404 conflation
|
|
94
|
+
* caveat).
|
|
95
|
+
*
|
|
96
|
+
* @returns {Promise<PageWalk<CollectionsList> | null>}
|
|
97
|
+
*/
|
|
98
|
+
private _collectionsWalk;
|
|
99
|
+
/**
|
|
100
|
+
* Lists the collections in the space. Transparently follows the server's
|
|
101
|
+
* `next` pagination links, buffering every page into a single list (the
|
|
102
|
+
* returned envelope omits `next`). Convenient, but holds the whole listing in
|
|
103
|
+
* memory -- for a large space prefer `collectionsPages()`, which streams one
|
|
104
|
+
* page at a time and allows stopping early. Returns `null` if the space is
|
|
105
|
+
* missing or not visible to you (404 conflation caveat).
|
|
93
106
|
*
|
|
94
107
|
* @returns {Promise<CollectionsList | null>}
|
|
95
108
|
*/
|
|
96
109
|
collections(): Promise<CollectionsList | null>;
|
|
110
|
+
/**
|
|
111
|
+
* Lazily yields the collections listing one page at a time, following the
|
|
112
|
+
* server's `next` links on demand (each page fetched with the same
|
|
113
|
+
* authorization). Use this to stream a large space in constant memory or to
|
|
114
|
+
* stop early. Yields nothing if the space is missing or not visible to you
|
|
115
|
+
* (404 conflation caveat) -- unlike `collections()`, the iterator does not
|
|
116
|
+
* distinguish that from an empty space.
|
|
117
|
+
*
|
|
118
|
+
* @returns {AsyncGenerator<CollectionsList>}
|
|
119
|
+
*/
|
|
120
|
+
collectionsPages(): AsyncGenerator<CollectionsList>;
|
|
97
121
|
/**
|
|
98
122
|
* Lists the storage backends available within this space. Returns `null` if
|
|
99
123
|
* the space is missing or not visible to you (404 conflation caveat). A
|
package/dist/Space.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Space.d.ts","sourceRoot":"","sources":["../src/Space.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Space.d.ts","sourceRoot":"","sources":["../src/Space.ts"],"names":[],"mappings":"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"}
|
package/dist/Space.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { spacePath, spaceItems, spaceCollections, spaceExport, spaceImport, spaceBackends, registeredBackend, spaceQuotas, spacePolicy, spaceLinkset } from './internal/paths.js';
|
|
1
|
+
import { spacePath, spaceItems, spaceCollections, spaceExport, spaceImport, spaceBackends, registeredBackend, spaceQuotas, spacePolicy, spaceLinkset, toUrl } from './internal/paths.js';
|
|
2
2
|
import { assertNotReserved } from './internal/reserved.js';
|
|
3
3
|
import { unreadableDescriptionError } from './internal/describe.js';
|
|
4
4
|
import { delegateGrantAt } from './internal/grant.js';
|
|
5
5
|
import { submitRevocation } from './internal/revoke.js';
|
|
6
6
|
import { send, readData } from './internal/request.js';
|
|
7
|
+
import { buildPageWalk, collectWalk, walkPagesOrEmpty } from './internal/pagination.js';
|
|
7
8
|
import { WasServerError } from './errors.js';
|
|
8
9
|
import { createdId, dataOrNull, toPlainBytes } from './internal/content.js';
|
|
9
10
|
import { readPolicy, writePolicy, deletePolicy, isPublicPolicy, setPublicPolicy } from './internal/policy.js';
|
|
@@ -170,16 +171,55 @@ export class Space {
|
|
|
170
171
|
});
|
|
171
172
|
}
|
|
172
173
|
/**
|
|
173
|
-
*
|
|
174
|
-
*
|
|
174
|
+
* Reads the first page of the collections listing and packages the means to
|
|
175
|
+
* follow its `next` links (each page fetched with the same authorization).
|
|
176
|
+
* Returns `null` if the space is missing or not visible to you (404 conflation
|
|
177
|
+
* caveat).
|
|
178
|
+
*
|
|
179
|
+
* @returns {Promise<PageWalk<CollectionsList> | null>}
|
|
180
|
+
*/
|
|
181
|
+
async _collectionsWalk() {
|
|
182
|
+
return buildPageWalk({
|
|
183
|
+
firstUrl: toUrl({
|
|
184
|
+
serverUrl: this._context.serverUrl,
|
|
185
|
+
path: spaceCollections(this.id)
|
|
186
|
+
}),
|
|
187
|
+
fetchPage: async (url) => {
|
|
188
|
+
const pageResponse = await send(this._context, {
|
|
189
|
+
url,
|
|
190
|
+
method: 'GET',
|
|
191
|
+
capability: this._capability,
|
|
192
|
+
read: true
|
|
193
|
+
});
|
|
194
|
+
return dataOrNull(pageResponse);
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Lists the collections in the space. Transparently follows the server's
|
|
200
|
+
* `next` pagination links, buffering every page into a single list (the
|
|
201
|
+
* returned envelope omits `next`). Convenient, but holds the whole listing in
|
|
202
|
+
* memory -- for a large space prefer `collectionsPages()`, which streams one
|
|
203
|
+
* page at a time and allows stopping early. Returns `null` if the space is
|
|
204
|
+
* missing or not visible to you (404 conflation caveat).
|
|
175
205
|
*
|
|
176
206
|
* @returns {Promise<CollectionsList | null>}
|
|
177
207
|
*/
|
|
178
208
|
async collections() {
|
|
179
|
-
return
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
209
|
+
return collectWalk(await this._collectionsWalk());
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Lazily yields the collections listing one page at a time, following the
|
|
213
|
+
* server's `next` links on demand (each page fetched with the same
|
|
214
|
+
* authorization). Use this to stream a large space in constant memory or to
|
|
215
|
+
* stop early. Yields nothing if the space is missing or not visible to you
|
|
216
|
+
* (404 conflation caveat) -- unlike `collections()`, the iterator does not
|
|
217
|
+
* distinguish that from an empty space.
|
|
218
|
+
*
|
|
219
|
+
* @returns {AsyncGenerator<CollectionsList>}
|
|
220
|
+
*/
|
|
221
|
+
async *collectionsPages() {
|
|
222
|
+
yield* walkPagesOrEmpty(await this._collectionsWalk());
|
|
183
223
|
}
|
|
184
224
|
/**
|
|
185
225
|
* Lists the storage backends available within this space. Returns `null` if
|
package/dist/Space.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Space.js","sourceRoot":"","sources":["../src/Space.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,YAAY,
|
|
1
|
+
{"version":3,"file":"Space.js","sourceRoot":"","sources":["../src/Space.ts"],"names":[],"mappings":"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"}
|
package/dist/WasClient.d.ts
CHANGED
|
@@ -95,6 +95,12 @@ export declare class WasClient {
|
|
|
95
95
|
* returns an empty `items` list (the spec's explicit exception to 404
|
|
96
96
|
* masking), so nothing is revealed about which spaces exist.
|
|
97
97
|
*
|
|
98
|
+
* Transparently follows the server's `next` pagination links, buffering every
|
|
99
|
+
* page into a single listing (the returned envelope omits `next`). Because a
|
|
100
|
+
* paginating server omits `totalItems` on a truncated page, `totalItems` on
|
|
101
|
+
* the aggregate is recomputed from the collected items -- sound here, since the
|
|
102
|
+
* walk has gathered the complete listing.
|
|
103
|
+
*
|
|
98
104
|
* @returns {Promise<SpaceListing>}
|
|
99
105
|
*/
|
|
100
106
|
listSpaces(): Promise<SpaceListing>;
|
package/dist/WasClient.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WasClient.d.ts","sourceRoot":"","sources":["../src/WasClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"WasClient.d.ts","sourceRoot":"","sources":["../src/WasClient.ts"],"names":[],"mappings":"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"}
|
package/dist/WasClient.js
CHANGED
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { ZcapClient } from '@interop/ezcap';
|
|
13
13
|
import { Ed25519Signature2020 } from '@interop/ed25519-signature';
|
|
14
|
-
import { collectionItemsUrl, parseSpaceTarget, spacesRoot } from './internal/paths.js';
|
|
14
|
+
import { collectionItemsUrl, parseSpaceTarget, spacesRoot, toUrl } from './internal/paths.js';
|
|
15
15
|
import { send, rawRequest, unsignedRequest } from './internal/request.js';
|
|
16
16
|
import { createdId, dataOrNull, parseResource, readJsonData } from './internal/content.js';
|
|
17
|
-
import { buildPageWalk, collectWalk, walkItems, walkPagesOrEmpty } from './internal/pagination.js';
|
|
17
|
+
import { buildPageWalk, collectPages, collectWalk, walkItems, walkPagesOrEmpty } from './internal/pagination.js';
|
|
18
18
|
import { delegateGrant } from './internal/grant.js';
|
|
19
19
|
import { spaceIdOf, submitRevocation } from './internal/revoke.js';
|
|
20
20
|
import { ValidationError } from './errors.js';
|
|
@@ -140,16 +140,34 @@ export class WasClient {
|
|
|
140
140
|
* returns an empty `items` list (the spec's explicit exception to 404
|
|
141
141
|
* masking), so nothing is revealed about which spaces exist.
|
|
142
142
|
*
|
|
143
|
+
* Transparently follows the server's `next` pagination links, buffering every
|
|
144
|
+
* page into a single listing (the returned envelope omits `next`). Because a
|
|
145
|
+
* paginating server omits `totalItems` on a truncated page, `totalItems` on
|
|
146
|
+
* the aggregate is recomputed from the collected items -- sound here, since the
|
|
147
|
+
* walk has gathered the complete listing.
|
|
148
|
+
*
|
|
143
149
|
* @returns {Promise<SpaceListing>}
|
|
144
150
|
*/
|
|
145
151
|
async listSpaces() {
|
|
146
|
-
const
|
|
147
|
-
path: spacesRoot(),
|
|
148
|
-
|
|
152
|
+
const walk = await buildPageWalk({
|
|
153
|
+
firstUrl: toUrl({ serverUrl: this.serverUrl, path: spacesRoot() }),
|
|
154
|
+
fetchPage: async (url) => {
|
|
155
|
+
const pageResponse = await send(this._context, {
|
|
156
|
+
url,
|
|
157
|
+
method: 'GET',
|
|
158
|
+
read: true
|
|
159
|
+
});
|
|
160
|
+
return dataOrNull(pageResponse);
|
|
161
|
+
}
|
|
149
162
|
});
|
|
150
|
-
//
|
|
151
|
-
//
|
|
152
|
-
|
|
163
|
+
// The first page always carries the listing body (an unauthorized caller
|
|
164
|
+
// still gets an empty `items` list, not an error), so the walk -- and thus
|
|
165
|
+
// `collectPages` -- returns a `SpaceListing`, never `null`.
|
|
166
|
+
const listing = await collectPages(walk);
|
|
167
|
+
// A paginating server omits `totalItems` on truncated pages; the walk has
|
|
168
|
+
// now collected the complete listing, so recompute it from the items.
|
|
169
|
+
listing.totalItems = listing.items.length;
|
|
170
|
+
return listing;
|
|
153
171
|
}
|
|
154
172
|
/**
|
|
155
173
|
* Reads a public (`PublicCanRead`) resource by its URL with no authorization
|
package/dist/WasClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WasClient.js","sourceRoot":"","sources":["../src/WasClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,
|
|
1
|
+
{"version":3,"file":"WasClient.js","sourceRoot":"","sources":["../src/WasClient.ts"],"names":[],"mappings":"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"}
|
package/dist/codec.d.ts
CHANGED
|
@@ -113,9 +113,14 @@ export interface ResourceCodec {
|
|
|
113
113
|
* codec encrypts.
|
|
114
114
|
*
|
|
115
115
|
* @param response {HttpResponse}
|
|
116
|
+
* @param [expectedId] {string} the resource id the read targeted. An
|
|
117
|
+
* encrypting codec verifies the decrypted envelope's AEAD-authenticated
|
|
118
|
+
* binding against it (a server-side swap of two envelopes is then detected);
|
|
119
|
+
* the identity codec ignores it. Optional and backward compatible -- a
|
|
120
|
+
* caller that does not know the id (or the plaintext codec) omits it.
|
|
116
121
|
* @returns {Promise<Json | Blob>}
|
|
117
122
|
*/
|
|
118
|
-
decode(response: HttpResponse): Promise<Json | Blob>;
|
|
123
|
+
decode(response: HttpResponse, expectedId?: string): Promise<Json | Blob>;
|
|
119
124
|
/**
|
|
120
125
|
* Transforms a caller's user-writable metadata (`custom`) into the value to
|
|
121
126
|
* store under `custom` on a `PUT .../meta` write. The identity codec returns
|
|
@@ -125,10 +130,15 @@ export interface ResourceCodec {
|
|
|
125
130
|
*
|
|
126
131
|
* @param input {object}
|
|
127
132
|
* @param input.custom {ResourceMetadataCustom} the plaintext user metadata
|
|
133
|
+
* @param [input.id] {string} the resource id the metadata belongs to. An
|
|
134
|
+
* encrypting codec binds it into the metadata envelope's AEAD-authenticated
|
|
135
|
+
* protected header (so a server-side swap of two resources' metadata is
|
|
136
|
+
* detected on decode); the identity codec ignores it.
|
|
128
137
|
* @returns {Promise<{ custom: object }>} the value to store under `custom`
|
|
129
138
|
*/
|
|
130
139
|
encodeMeta(input: {
|
|
131
140
|
custom: ResourceMetadataCustom;
|
|
141
|
+
id?: string;
|
|
132
142
|
}): Promise<{
|
|
133
143
|
custom: object;
|
|
134
144
|
}>;
|
|
@@ -140,11 +150,14 @@ export interface ResourceCodec {
|
|
|
140
150
|
*
|
|
141
151
|
* @param stored {object}
|
|
142
152
|
* @param [stored.custom] {unknown} the stored `custom` value from `/meta`
|
|
153
|
+
* @param [expectedId] {string} the resource id the metadata belongs to. An
|
|
154
|
+
* encrypting codec verifies the envelope's AEAD-authenticated binding
|
|
155
|
+
* against it; the identity codec ignores it.
|
|
143
156
|
* @returns {Promise<ResourceMetadataCustom>}
|
|
144
157
|
*/
|
|
145
158
|
decodeMeta(stored: {
|
|
146
159
|
custom?: unknown;
|
|
147
|
-
}): Promise<ResourceMetadataCustom>;
|
|
160
|
+
}, expectedId?: string): Promise<ResourceMetadataCustom>;
|
|
148
161
|
}
|
|
149
162
|
/**
|
|
150
163
|
* The keystore + codec factory for encrypted collections. Injected into
|
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,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,YAAY,EACZ,sBAAsB,EACvB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;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,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
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,YAAY,EACZ,sBAAsB,EACvB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;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,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;;;;;;;;;;;;GAYG;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
|
@@ -24,6 +24,18 @@ export declare class EdvCodec implements ResourceCodec {
|
|
|
24
24
|
private readonly _contentType;
|
|
25
25
|
private readonly _maxBlobBytes;
|
|
26
26
|
private readonly _idDerivation;
|
|
27
|
+
/**
|
|
28
|
+
* The EDV-over-WAS scheme version this codec binds into every envelope's
|
|
29
|
+
* `was.v` protected-header parameter (the marker's `version`, `1` when
|
|
30
|
+
* absent). Read side rejects an envelope stamped with a greater version.
|
|
31
|
+
*/
|
|
32
|
+
private readonly _version;
|
|
33
|
+
/**
|
|
34
|
+
* Whether this codec's collection has key epochs. When it does, an envelope's
|
|
35
|
+
* `was.epoch` binding is checked on decode against the epoch of the key that
|
|
36
|
+
* actually decrypted it.
|
|
37
|
+
*/
|
|
38
|
+
private readonly _hasEpochs;
|
|
27
39
|
/**
|
|
28
40
|
* @param options {object}
|
|
29
41
|
* @param options.edv {EdvClientCore} holds the cipher + key resolver
|
|
@@ -44,8 +56,13 @@ export declare class EdvCodec implements ResourceCodec {
|
|
|
44
56
|
* @param options.idDerivation {string} how `add()` mints a document
|
|
45
57
|
* id: `'random'` (classic `generateId()`) or `'content'` (derived from the
|
|
46
58
|
* JWE ciphertext, content-addressed)
|
|
59
|
+
* @param [options.version] {number} the EDV-over-WAS scheme version to bind
|
|
60
|
+
* into each envelope's `was.v` (defaults to `1`)
|
|
61
|
+
* @param [options.hasEpochs] {boolean} whether the collection has key
|
|
62
|
+
* epochs, so a decoded envelope's `was.epoch` binding is checked against the
|
|
63
|
+
* decrypting key's epoch (defaults to `false`)
|
|
47
64
|
*/
|
|
48
|
-
constructor({ edv, keyAgreementKey, readKeys, writeEpoch, contentType, maxBlobBytes, idDerivation }: {
|
|
65
|
+
constructor({ edv, keyAgreementKey, readKeys, writeEpoch, contentType, maxBlobBytes, idDerivation, version, hasEpochs }: {
|
|
49
66
|
edv: EdvClientCore;
|
|
50
67
|
keyAgreementKey: IKeyAgreementKey;
|
|
51
68
|
readKeys?: IKeyAgreementKey[];
|
|
@@ -53,6 +70,8 @@ export declare class EdvCodec implements ResourceCodec {
|
|
|
53
70
|
contentType: string;
|
|
54
71
|
maxBlobBytes: number;
|
|
55
72
|
idDerivation: 'random' | 'content';
|
|
73
|
+
version?: number;
|
|
74
|
+
hasEpochs?: boolean;
|
|
56
75
|
});
|
|
57
76
|
/**
|
|
58
77
|
* @inheritdoc
|
|
@@ -69,7 +88,7 @@ export declare class EdvCodec implements ResourceCodec {
|
|
|
69
88
|
decode(response: {
|
|
70
89
|
data?: unknown;
|
|
71
90
|
json(): Promise<unknown>;
|
|
72
|
-
}): Promise<Json | Blob>;
|
|
91
|
+
}, expectedId?: string): Promise<Json | Blob>;
|
|
73
92
|
/**
|
|
74
93
|
* Decrypts a stored EDV envelope, selecting which read key to use by matching
|
|
75
94
|
* the envelope's JWE recipient `kid` against this reader's candidate keys
|
|
@@ -82,10 +101,46 @@ export declare class EdvCodec implements ResourceCodec {
|
|
|
82
101
|
* {@link KeyUnwrapError} -- the **read** axis only; it says nothing about
|
|
83
102
|
* whether the server will still serve (pull) the ciphertext.
|
|
84
103
|
*
|
|
104
|
+
* Also returns the `id` of the key that actually decrypted the envelope (its
|
|
105
|
+
* JWE recipient `kid`), so {@link _verifyBinding} can check a `was.epoch`
|
|
106
|
+
* binding against the epoch of the decrypting key.
|
|
107
|
+
*
|
|
85
108
|
* @param encryptedDoc {IEncryptedDocument}
|
|
86
|
-
* @returns {Promise<{ content?: unknown; meta?: Record<string, unknown
|
|
109
|
+
* @returns {Promise<{ content?: unknown; meta?: Record<string, unknown>;
|
|
110
|
+
* keyId?: string }>}
|
|
87
111
|
*/
|
|
88
112
|
private _decrypt;
|
|
113
|
+
/**
|
|
114
|
+
* Verifies the AEAD-authenticated `was` binding on a successfully-decrypted
|
|
115
|
+
* envelope (spec "Request Body Integrity"'s envelope half). Decrypt success
|
|
116
|
+
* proves the protected header authentic, so this runs only after a decrypt
|
|
117
|
+
* succeeds. Enforces, in order:
|
|
118
|
+
*
|
|
119
|
+
* - No `was` parameter at all: a legacy envelope, accepted unchanged (this
|
|
120
|
+
* client wrote it before the binding existed, or a foreign EDV writer did).
|
|
121
|
+
* - `was.v` greater than this codec's scheme version: a future-scheme envelope
|
|
122
|
+
* this client does not implement -- {@link EncryptionError}.
|
|
123
|
+
* - `was.resource` present and the expected id known: a mismatch is a server-side
|
|
124
|
+
* swap of two resources' envelopes -- {@link IntegrityError}.
|
|
125
|
+
* - `was` present but `resource` absent (a content-derived write) and the expected
|
|
126
|
+
* id known: the envelope's ciphertext must re-derive to the expected id
|
|
127
|
+
* ({@link EdvDocumentCipher.deriveId}); a mismatch means the envelope was
|
|
128
|
+
* copied under a different id -- {@link IntegrityError}. This check is NEVER
|
|
129
|
+
* applied to an envelope with no `was` at all (a legacy random-id envelope
|
|
130
|
+
* would fail it wrongly).
|
|
131
|
+
* - On a collection with epochs, `was.epoch` present: it must equal the epoch
|
|
132
|
+
* (the `did:key` before the `#`) of the key that actually decrypted -- a
|
|
133
|
+
* mismatch is a replay under a different epoch's key -- {@link IntegrityError}.
|
|
134
|
+
*
|
|
135
|
+
* @param options {object}
|
|
136
|
+
* @param options.jwe {unknown} the envelope's JWE (its `protected` header is
|
|
137
|
+
* parsed for `was`)
|
|
138
|
+
* @param [options.expectedId] {string} the resource id the read targeted
|
|
139
|
+
* @param [options.keyId] {string} the id of the key that decrypted, for the
|
|
140
|
+
* epoch check
|
|
141
|
+
* @returns {Promise<void>}
|
|
142
|
+
*/
|
|
143
|
+
private _verifyBinding;
|
|
89
144
|
/**
|
|
90
145
|
* @inheritdoc
|
|
91
146
|
*
|
|
@@ -95,8 +150,9 @@ export declare class EdvCodec implements ResourceCodec {
|
|
|
95
150
|
* inert (metadata concurrency is the server's plaintext `metaVersion`, not the
|
|
96
151
|
* envelope), so each write re-encrypts fresh with no `update`.
|
|
97
152
|
*/
|
|
98
|
-
encodeMeta({ custom }: {
|
|
153
|
+
encodeMeta({ custom, id: resourceId }: {
|
|
99
154
|
custom: ResourceMetadataCustom;
|
|
155
|
+
id?: string;
|
|
100
156
|
}): Promise<{
|
|
101
157
|
custom: object;
|
|
102
158
|
}>;
|
|
@@ -110,7 +166,7 @@ export declare class EdvCodec implements ResourceCodec {
|
|
|
110
166
|
*/
|
|
111
167
|
decodeMeta({ custom }: {
|
|
112
168
|
custom?: unknown;
|
|
113
|
-
}): Promise<ResourceMetadataCustom>;
|
|
169
|
+
}, expectedId?: string): Promise<ResourceMetadataCustom>;
|
|
114
170
|
/**
|
|
115
171
|
* Asserts that a document read from an encrypted collection is an EDV envelope
|
|
116
172
|
* (`{ jwe, ... }`) before it is handed to the cipher. A plaintext or foreign
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdvCodec.d.ts","sourceRoot":"","sources":["../../src/edv/EdvCodec.ts"],"names":[],"mappings":"AAuDA,OAAO,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAEV,gBAAgB,EAChB,YAAY,EAEb,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,aAAa,CAAA;AAiBpB,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAyD7E;;;;GAIG;AACH,qBAAa,QAAS,YAAW,aAAa;IAC5C,QAAQ,CAAC,iBAAiB,QAAO;IAEjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;
|
|
1
|
+
{"version":3,"file":"EdvCodec.d.ts","sourceRoot":"","sources":["../../src/edv/EdvCodec.ts"],"names":[],"mappings":"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"}
|