@interop/was-client 0.59.1 → 0.61.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 +66 -45
- package/dist/Collection.d.ts +140 -96
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +648 -194
- package/dist/Collection.js.map +1 -1
- package/dist/Resource.d.ts +1 -1
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +0 -3
- package/dist/Resource.js.map +1 -1
- package/dist/Space.d.ts +17 -16
- package/dist/Space.d.ts.map +1 -1
- package/dist/Space.js +41 -24
- package/dist/Space.js.map +1 -1
- package/dist/WasClient.d.ts.map +1 -1
- package/dist/WasClient.js +9 -3
- package/dist/WasClient.js.map +1 -1
- package/dist/codec.d.ts +3 -3
- package/dist/edv/EdvCodec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.js +22 -46
- package/dist/edv/EdvCodec.js.map +1 -1
- package/dist/edv/descriptorStore.d.ts +16 -14
- package/dist/edv/descriptorStore.d.ts.map +1 -1
- package/dist/edv/descriptorStore.js +17 -14
- package/dist/edv/descriptorStore.js.map +1 -1
- package/dist/edv/didKeyRecipient.d.ts +6 -1
- package/dist/edv/didKeyRecipient.d.ts.map +1 -1
- package/dist/edv/didKeyRecipient.js +4 -0
- package/dist/edv/didKeyRecipient.js.map +1 -1
- package/dist/edv/epochKeys.d.ts +43 -3
- package/dist/edv/epochKeys.d.ts.map +1 -1
- package/dist/edv/epochKeys.js +90 -9
- package/dist/edv/epochKeys.js.map +1 -1
- package/dist/edv/epochRoster.d.ts +36 -26
- package/dist/edv/epochRoster.d.ts.map +1 -1
- package/dist/edv/epochRoster.js +61 -10
- package/dist/edv/epochRoster.js.map +1 -1
- package/dist/edv/hmacKey.d.ts +17 -5
- package/dist/edv/hmacKey.d.ts.map +1 -1
- package/dist/edv/hmacKey.js +19 -5
- package/dist/edv/hmacKey.js.map +1 -1
- package/dist/edv/index.d.ts +1 -1
- package/dist/edv/index.js +1 -1
- package/dist/edv/logGovernedDescriptorStore.d.ts +2 -2
- package/dist/edv/logGovernedDescriptorStore.d.ts.map +1 -1
- package/dist/edv/logGovernedDescriptorStore.js +10 -9
- package/dist/edv/logGovernedDescriptorStore.js.map +1 -1
- package/dist/edv/recipients.d.ts +1 -1
- package/dist/edv/recipients.d.ts.map +1 -1
- package/dist/edv/recipients.js +12 -4
- package/dist/edv/recipients.js.map +1 -1
- package/dist/edv/refresh.d.ts +6 -1
- package/dist/edv/refresh.d.ts.map +1 -1
- package/dist/edv/refresh.js +19 -2
- package/dist/edv/refresh.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +3 -3
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/internal/cas.d.ts.map +1 -1
- package/dist/internal/cas.js +7 -4
- package/dist/internal/cas.js.map +1 -1
- package/dist/internal/codec.d.ts +22 -1
- package/dist/internal/codec.d.ts.map +1 -1
- package/dist/internal/codec.js +117 -46
- package/dist/internal/codec.js.map +1 -1
- package/dist/internal/content.d.ts.map +1 -1
- package/dist/internal/content.js +12 -1
- package/dist/internal/content.js.map +1 -1
- package/dist/internal/describe.d.ts +98 -24
- package/dist/internal/describe.d.ts.map +1 -1
- package/dist/internal/describe.js +125 -18
- package/dist/internal/describe.js.map +1 -1
- package/dist/internal/meta.d.ts +32 -17
- package/dist/internal/meta.d.ts.map +1 -1
- package/dist/internal/meta.js +64 -35
- package/dist/internal/meta.js.map +1 -1
- package/dist/internal/paths.d.ts +33 -17
- package/dist/internal/paths.d.ts.map +1 -1
- package/dist/internal/paths.js +92 -40
- package/dist/internal/paths.js.map +1 -1
- package/dist/internal/reserved.d.ts +14 -0
- package/dist/internal/reserved.d.ts.map +1 -1
- package/dist/internal/reserved.js +23 -4
- package/dist/internal/reserved.js.map +1 -1
- package/dist/internal/write.js +30 -1
- package/dist/internal/write.js.map +1 -1
- package/dist/paths.d.ts +8 -5
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +8 -5
- package/dist/paths.js.map +1 -1
- package/dist/sync/port.d.ts.map +1 -1
- package/dist/sync/port.js +14 -1
- package/dist/sync/port.js.map +1 -1
- package/dist/sync/provisioning.d.ts +7 -7
- package/dist/sync/provisioning.d.ts.map +1 -1
- package/dist/sync/provisioning.js +27 -15
- package/dist/sync/provisioning.js.map +1 -1
- package/dist/types.d.ts +16 -9
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/edv/recipients.js
CHANGED
|
@@ -444,7 +444,7 @@ export async function addRecipient({ collection, store, recipient, owner }) {
|
|
|
444
444
|
// The blinded-index key rides the same compare-and-swap write as the
|
|
445
445
|
// epoch escrow -- never a second write. `null` means unchanged (no key,
|
|
446
446
|
// or this recipient already has an entry).
|
|
447
|
-
const [{ epochs: nextEpochs }, nextHmac] = await Promise.all([
|
|
447
|
+
const [{ epochs: nextEpochs, changed }, nextHmac] = await Promise.all([
|
|
448
448
|
escrowIntoEpochs({
|
|
449
449
|
epochs,
|
|
450
450
|
recipients: [recipient],
|
|
@@ -458,9 +458,17 @@ export async function addRecipient({ collection, store, recipient, owner }) {
|
|
|
458
458
|
operation: 'addRecipient'
|
|
459
459
|
})
|
|
460
460
|
]);
|
|
461
|
+
// Nothing to write when this reader was already a recipient of every
|
|
462
|
+
// epoch and of the blinding key: an idempotent re-add, or a retry after
|
|
463
|
+
// a lost response. Writing anyway would append a redundant signed entry
|
|
464
|
+
// (and, on a governed collection, a pin write) to the history per
|
|
465
|
+
// attempt.
|
|
466
|
+
if (!changed && nextHmac === null) {
|
|
467
|
+
return null;
|
|
468
|
+
}
|
|
461
469
|
return {
|
|
462
470
|
...current,
|
|
463
|
-
epochs: nextEpochs,
|
|
471
|
+
...(changed && { epochs: nextEpochs }),
|
|
464
472
|
...(nextHmac !== null && { hmac: nextHmac })
|
|
465
473
|
};
|
|
466
474
|
}
|
|
@@ -831,7 +839,7 @@ async function defaultResolveRecipientKey(kid) {
|
|
|
831
839
|
}
|
|
832
840
|
/**
|
|
833
841
|
* Resolves the descriptor store a recipient operation targets: the explicit
|
|
834
|
-
* `store`, or the Collection
|
|
842
|
+
* `store`, or the Collection Metadata adapter over the `collection` sugar.
|
|
835
843
|
* Exactly one of the two must be supplied.
|
|
836
844
|
*
|
|
837
845
|
* @param options {object}
|
|
@@ -841,7 +849,7 @@ async function defaultResolveRecipientKey(kid) {
|
|
|
841
849
|
*/
|
|
842
850
|
function descriptorStoreFor({ collection, store }) {
|
|
843
851
|
if (collection !== undefined && store !== undefined) {
|
|
844
|
-
throw new ValidationError('Pass either `collection` (the Collection
|
|
852
|
+
throw new ValidationError('Pass either `collection` (the Collection Metadata object hosts the ' +
|
|
845
853
|
'descriptor) or `store` (an explicit descriptor store), not both.');
|
|
846
854
|
}
|
|
847
855
|
if (store !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipients.js","sourceRoot":"","sources":["../../src/edv/recipients.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recipients.js","sourceRoot":"","sources":["../../src/edv/recipients.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAShE,OAAO,EACL,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAW1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,KAAK,UAAU,UAAU,CAAC,EACxB,MAAM,EACN,UAAU,EACV,KAAK,EACL,SAAS,EACT,OAAO,EAOR;IACC,0EAA0E;IAC1E,6BAA6B;IAC7B,MAAM,OAAO,GAAyB,EAAE,CAAA;IACxC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,OAAO,GACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAA;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,eAAe,CAAC,EAAE,CACvD,CAAA;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,eAAe,CACvB,UAAU,SAAS,qCAAqC;YACtD,GAAG,OAAO,CAAC,YAAY,WAAW,MAAM,UAAU,CACrD,CAAA;IACH,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC;QAC1C,KAAK,EAAE,QAAQ;QACf,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAA;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,eAAe,CACvB,UAAU,SAAS,gBAAgB,OAAO,CAAC,UAAU,YAAY;YAC/D,oCAAoC,CACvC,CAAA;IACH,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,GAAG,CAAC,MAAM,iBAAiB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;KACnE,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,KAAK,UAAU,gBAAgB,CAAC,EAC9B,MAAM,EACN,UAAU,EACV,KAAK,EACL,SAAS,EAMV;IACC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAsC,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;YAC5B,MAAM,EAAE,KAAK,CAAC,UAAU;YACxB,UAAU;YACV,KAAK;YACL,SAAS;YACT,OAAO,EAAE;gBACP,YAAY,EACV,UAAU,KAAK,CAAC,EAAE,wCAAwC;oBAC1D,cAAc;gBAChB,UAAU,EAAE,UAAU,KAAK,CAAC,EAAE,GAAG;aAClC;SACF,CAAC,CAAA;QACF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;QACd,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;IACvC,CAAC,CAAC,CACH,CAAA;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;AACtC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,WAAW,CAAC,EACzB,OAAO,EACP,MAAM,EACN,SAAS,EACT,mBAAmB,EAMpB;IACC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;QAC7B,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAA;QAChD,OAAO,SAAS,KAAK,IAAI;YACvB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CACH,CAAA;IACD,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAA;AAC7E,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,cAAc,CAAC,EACtB,UAAU,EACV,KAAK,EACL,IAAI,EAKL;IACC,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,CAAA;IAC7C,OAAO;QACL,GAAG,UAAU;QACb,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,kBAAkB;QACjD,MAAM,EAAE,CAAC,KAAK,CAAC;QACf,YAAY,EAAE,KAAK,CAAC,EAAE;QACtB,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;KAC5D,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,cAAc,CAAC,EAC5B,UAAU,EAGX;IACC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE,CAAA;IAChD,OAAO;QACL,EAAE;QACF,IAAI;QACJ,UAAU,EAAE,MAAM,iBAAiB,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;KACzE,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,cAAc,CAAC,EAC5B,IAAI,EACJ,UAAU,EACV,KAAK,EACL,SAAS,EAMV;IACC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,UAAU;QACvB,UAAU;QACV,KAAK;QACL,SAAS;QACT,OAAO,EAAE;YACP,YAAY,EACV,mEAAmE;YACrE,UAAU,EAAE,uBAAuB;SACpC;KACF,CAAC,CAAA;IACF,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;AAC7D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,qBAAqB,CAAC,EAC7B,IAAI,EACJ,QAAQ,EAIT;IACC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACtC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAC9C,CAAA;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;AAC3C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,cAAc,CAAC,EAC5B,UAAU,EACV,SAAS,EAIV;IACC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,CAAA;IAC5D,OAAO;QACL,EAAE,EAAE,OAAO;QACX,UAAU,EAAE,MAAM,iBAAiB,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;KACzE,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,UAAU,EACV,KAAK,EACL,UAAU,EACV,YAAY,GAAG,KAAK,EAMrB;IACC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,eAAe,CACvB,yEAAyE,CAC1E,CAAA;IACH,CAAC;IACD,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,2EAA2E;IAC3E,4EAA4E;IAC5E,6BAA6B;IAC7B,IAAI,MAAM,GAGE,IAAI,CAAA;IAChB,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC;QAC3C,KAAK,EAAE,kBAAkB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAChD,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE;QACpD,MAAM,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;YACtB,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,qEAAqE;gBACrE,mEAAmE;gBACnE,SAAS,GAAG,KAAK,CAAA;gBACjB,IAAI,YAAY,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/C,MAAM,IAAI,eAAe,CACvB,4DAA4D;wBAC1D,6DAA6D;wBAC7D,gEAAgE;wBAChE,6DAA6D;wBAC7D,oDAAoD,CACvD,CAAA;gBACH,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,SAAS,GAAG,IAAI,CAAA;YAChB,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE;gBACrB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACtC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC;oBAC9B,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC1D,CAAC,CAAA;gBACF,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;YACzC,CAAC,CAAC,EAAE,CAAA;YACJ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAA;YACpC,OAAO,cAAc,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7D,CAAC;KACF,CAAC,CAAA;IACF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,UAAU,EACV,KAAK,EACL,UAAU,EACV,KAAK,EAAE,cAAc,EAMtB;IACC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,eAAe,CACvB,uEAAuE,CACxE,CAAA;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC;QACjC,UAAU;QACV,SAAS,EAAE,cAAc;KAC1B,CAAC,CAAA;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,uBAAuB;IACvB,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,OAAO,mBAAmB,CAAC;QACzB,KAAK,EAAE,kBAAkB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAChD,sEAAsE;QACtE,+DAA+D;QAC/D,uEAAuE;QACvE,YAAY;QACZ,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE;QACpD,MAAM,EAAE,KAAK,EAAC,UAAU,EAAC,EAAE;YACzB,MAAM,SAAS,GAAG,CAAC,YAAY,CAAA;YAC/B,YAAY,GAAG,IAAI,CAAA;YACnB,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,IAAI,eAAe,CACvB,oEAAoE;wBAClE,mCAAmC,CACtC,CAAA;gBACH,CAAC;gBACD,gEAAgE;gBAChE,kEAAkE;gBAClE,gEAAgE;gBAChE,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,UAAU,EACV,KAAK,EACL,SAAS,EACT,KAAK,EAMN;IACC,OAAO,mBAAmB,CAAC;QACzB,KAAK,EAAE,kBAAkB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAChD,MAAM,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;YACtB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;YAC7B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,eAAe,CACvB,+DAA+D;oBAC7D,uBAAuB,CAC1B,CAAA;YACH,CAAC;YACD,qEAAqE;YACrE,wEAAwE;YACxE,2CAA2C;YAC3C,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACpE,gBAAgB,CAAC;oBACf,MAAM;oBACN,UAAU,EAAE,CAAC,SAAS,CAAC;oBACvB,KAAK;oBACL,SAAS,EAAE,cAAc;iBAC1B,CAAC;gBACF,cAAc,CAAC;oBACb,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,UAAU,EAAE,CAAC,SAAS,CAAC;oBACvB,KAAK;oBACL,SAAS,EAAE,cAAc;iBAC1B,CAAC;aACH,CAAC,CAAA;YACF,qEAAqE;YACrE,wEAAwE;YACxE,wEAAwE;YACxE,kEAAkE;YAClE,WAAW;YACX,IAAI,CAAC,OAAO,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO;gBACL,GAAG,OAAO;gBACV,GAAG,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;gBACtC,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aAC7C,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,UAAU,EACV,KAAK,EACL,KAAK,EACL,WAAW,EACX,MAAM,EACN,IAAI,EACJ,mBAAmB,GAAG,0BAA0B,EASjD;IACC,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IACjE,2EAA2E;IAC3E,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,eAAe,CACvB,4DAA4D,CAC7D,CAAA;IACH,CAAC;IACD,uEAAuE;IACvE,YAAY;IACZ,OAAO,mBAAmB,CAAC;QACzB,KAAK,EAAE,eAAe;QACtB,QAAQ;QACR,SAAS,EAAE,iBAAiB;QAC5B,mBAAmB;QACnB,QAAQ;KACT,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,KAAK,UAAU,mBAAmB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,QAAQ,EAWT;IACC,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAA;IACvC,0EAA0E;IAC1E,6EAA6E;IAC7E,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,EAAE,CAAA;IAC7C,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC;QAClD,KAAK;QACL,MAAM,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;YACtB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;YAC7B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,eAAe,CACvB,UAAU,SAAS,sCAAsC,CAC1D,CAAA;YACH,CAAC;YACD,qEAAqE;YACrE,yEAAyE;YACzE,mEAAmE;YACnE,yEAAyE;YACzE,oEAAoE;YACpE,gEAAgE;YAChE,uEAAuE;YACvE,uEAAuE;YACvE,6DAA6D;YAC7D,MAAM,WAAW,GACf,MAAM,IAAI,SAAS,KAAK,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;YAC5D,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,WAAW;gBAChD,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC;oBAChB,cAAc,CAAC;wBACb,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,UAAU,EAAE,WAAW,CAAC,QAAQ;wBAChC,KAAK,EAAE,WAAW,CAAC,KAAK;wBACxB,SAAS,EAAE,kBAAkB;qBAC9B,CAAC;oBACF,gBAAgB,CAAC;wBACf,MAAM;wBACN,UAAU,EAAE,WAAW,CAAC,QAAQ;wBAChC,KAAK,EAAE,WAAW,CAAC,KAAK;wBACxB,SAAS,EAAE,kBAAkB;qBAC9B,CAAC;iBACH,CAAC;gBACJ,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAChB,MAAM,QAAQ,GACZ,qBAAqB,CAAC;gBACpB,IAAI,EAAE,YAAY,IAAI,OAAO,CAAC,IAAI;gBAClC,QAAQ;aACT,CAAC,IAAI,YAAY,CAAA;YACpB,MAAM,QAAQ,GAAG,cAAc,EAAE,MAAM,IAAI,MAAM,CAAA;YACjD,MAAM,aAAa,GAAG,cAAc,EAAE,OAAO,IAAI,KAAK,CAAA;YACtD,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,mEAAmE;YACnE,wEAAwE;YACxE,6DAA6D;YAC7D,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;YAC9D,wEAAwE;YACxE,oEAAoE;YACpE,uEAAuE;YACvE,yEAAyE;YACzE,uEAAuE;YACvE,WAAW;YACX,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACpD,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CACpC,CAAA;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,aAAa,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACxC,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,OAAO;oBACL,GAAG,OAAO;oBACV,GAAG,CAAC,aAAa,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;oBAC1C,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBAC7C,CAAA;YACH,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;YACnC,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACjC,CAAC;YACH,CAAC;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,eAAe,CACvB,UAAU,SAAS,yCAAyC;oBAC1D,8DAA8D,CACjE,CAAA;YACH,CAAC;YACD,yEAAyE;YACzE,sEAAsE;YACtE,uEAAuE;YACvE,kEAAkE;YAClE,oEAAoE;YACpE,0EAA0E;YAC1E,gEAAgE;YAChE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;gBACjC,OAAO;gBACP,MAAM;gBACN,SAAS;gBACT,mBAAmB,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE,CAC/B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC;aACzE,CAAC,CAAA;YACF,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,eAAe,CACvB,UAAU,SAAS,yCAAyC;oBAC1D,8DAA8D;oBAC9D,yDAAyD,CAC5D,CAAA;YACH,CAAC;YACD,OAAO;gBACL,GAAG,OAAO;gBACV,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC;gBAC/B,YAAY,EAAE,OAAO;gBACrB,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aAC7C,CAAA;QACH,CAAC;KACF,CAAC,CAAA;IAEF,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,QAAQ,EAAE,CAAA;IAEhB,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,UAAU,EACV,KAAK,EACL,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,MAAM,EACN,IAAI,EACJ,mBAAmB,GAAG,0BAA0B,EAWjD;IACC,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,eAAe,CACvB,kEAAkE;YAChE,iCAAiC,CACpC,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,eAAe,CACvB,8DAA8D;YAC5D,qCAAqC,CACxC,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,eAAe,CACvB,8DAA8D,CAC/D,CAAA;IACH,CAAC;IACD,OAAO,mBAAmB,CAAC;QACzB,KAAK,EAAE,eAAe;QACtB,QAAQ;QACR,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC3B,SAAS,EAAE,kBAAkB;QAC7B,mBAAmB;QACnB,QAAQ;KACT,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,EACvB,KAAK,EACL,MAAM,EACN,IAAI,EAKL;IACC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CACvB,gEAAgE;gBAC9D,qEAAqE,CACxE,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,eAAe,CACvB,sEAAsE;YACpE,sDAAsD,CACzD,CAAA;IACH,CAAC;IACD,6EAA6E;IAC7E,2EAA2E;IAC3E,oEAAoE;IACpE,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,+BAA+B;IAC/B,EAAE;IACF,uEAAuE;IACvE,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC1D,OAAO,KAAK,UAAU,WAAW;QAC/B,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;oBACnC,OAAM;gBACR,CAAC;gBACD,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,0BAA0B,CACvC,GAAW;IAEX,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAClD,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,CAAA;AAC7E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,EAC1B,UAAU,EACV,KAAK,EAIN;IACC,IAAI,UAAU,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,eAAe,CACvB,qEAAqE;YACnE,kEAAkE,CACrE,CAAA;IACH,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,yBAAyB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;IAClD,CAAC;IACD,MAAM,IAAI,eAAe,CACvB,wEAAwE;QACtE,UAAU,CACb,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,mBAAmB,CAAC,EACjC,KAAK,EACL,MAAM,EACN,IAAI,EAOL;IACC,OAAO,cAAc,CAAuB;QAC1C,KAAK,EAAE;YACL,KAAK,CAAC,IAAI;gBACR,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;gBAClC,OAAO,OAAO,KAAK,IAAI;oBACrB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;YACvD,CAAC;YACD,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC;YACpE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI;gBAChC,MAAM,EAAE,CAAC,UAAgC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAO,CAAC,UAAU,CAAC;aACxE,CAAC;SACH;QACD,MAAM;QACN,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,GAAG,EAAE;YACb,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,eAAe,CACvB,sEAAsE;oBACpE,4CAA4C,CAC/C,CAAA;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/edv/refresh.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* The unknown-epoch refresh policy: an epoch rotation emits no change-feed
|
|
6
6
|
* entry, so a cipher built from a cached descriptor can meet envelopes stamped
|
|
7
7
|
* with an epoch it has never seen. The remedy is one re-read of the
|
|
8
|
-
* Collection
|
|
8
|
+
* Collection Metadata object plus a cipher rebuild and a single retry -- and
|
|
9
9
|
* policy guards that remedy to ONCE per collection per session, so a
|
|
10
10
|
* genuinely foreign envelope (one no descriptor will ever route) cannot drive
|
|
11
11
|
* a refetch loop, let alone a refetch per resource.
|
|
@@ -37,6 +37,11 @@ export declare class DescriptorRefreshPolicy {
|
|
|
37
37
|
* re-reads once. A later unknown-epoch report for the same collection
|
|
38
38
|
* returns the read's value as-is.
|
|
39
39
|
*
|
|
40
|
+
* A refresh that fails does not spend the collection's refresh: the guard is
|
|
41
|
+
* un-armed, the already-successful first read is returned, and the next
|
|
42
|
+
* unknown-epoch read tries again. Only a refresh that ran is evidence that
|
|
43
|
+
* the remedy has been applied.
|
|
44
|
+
*
|
|
40
45
|
* @param options {object}
|
|
41
46
|
* @param options.collectionId {string}
|
|
42
47
|
* @param options.read {function} the read, reporting `unknownEpoch`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../src/edv/refresh.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,qBAAa,uBAAuB;;gBAKtB,EACV,OAAO,EACR,EAAE;QACD,OAAO,EAAE,CAAC,OAAO,EAAE;YAAE,YAAY,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAC9D;IAID;;OAEG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAIlE
|
|
1
|
+
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../src/edv/refresh.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,qBAAa,uBAAuB;;gBAKtB,EACV,OAAO,EACR,EAAE;QACD,OAAO,EAAE,CAAC,OAAO,EAAE;YAAE,YAAY,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAC9D;IAID;;OAEG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAIlE;;;;;;;;;;;;;;;;OAgBG;IACG,eAAe,CAAC,CAAC,EAAE,EACvB,YAAY,EACZ,IAAI,EACL,EAAE;QACD,YAAY,EAAE,MAAM,CAAA;QACpB,IAAI,EAAE,MAAM,OAAO,CAAC;YAAE,KAAK,EAAE,CAAC,CAAC;YAAC,YAAY,EAAE,OAAO,CAAA;SAAE,CAAC,CAAA;KACzD,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBd;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAOjD"}
|
package/dist/edv/refresh.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* The unknown-epoch refresh policy: an epoch rotation emits no change-feed
|
|
6
6
|
* entry, so a cipher built from a cached descriptor can meet envelopes stamped
|
|
7
7
|
* with an epoch it has never seen. The remedy is one re-read of the
|
|
8
|
-
* Collection
|
|
8
|
+
* Collection Metadata object plus a cipher rebuild and a single retry -- and
|
|
9
9
|
* policy guards that remedy to ONCE per collection per session, so a
|
|
10
10
|
* genuinely foreign envelope (one no descriptor will ever route) cannot drive
|
|
11
11
|
* a refetch loop, let alone a refetch per resource.
|
|
@@ -37,6 +37,11 @@ export class DescriptorRefreshPolicy {
|
|
|
37
37
|
* re-reads once. A later unknown-epoch report for the same collection
|
|
38
38
|
* returns the read's value as-is.
|
|
39
39
|
*
|
|
40
|
+
* A refresh that fails does not spend the collection's refresh: the guard is
|
|
41
|
+
* un-armed, the already-successful first read is returned, and the next
|
|
42
|
+
* unknown-epoch read tries again. Only a refresh that ran is evidence that
|
|
43
|
+
* the remedy has been applied.
|
|
44
|
+
*
|
|
40
45
|
* @param options {object}
|
|
41
46
|
* @param options.collectionId {string}
|
|
42
47
|
* @param options.read {function} the read, reporting `unknownEpoch`
|
|
@@ -46,7 +51,19 @@ export class DescriptorRefreshPolicy {
|
|
|
46
51
|
const first = await read();
|
|
47
52
|
if (first.unknownEpoch && this.shouldRefresh({ collectionId })) {
|
|
48
53
|
this.#refreshed.add(collectionId);
|
|
49
|
-
|
|
54
|
+
try {
|
|
55
|
+
await this.#refresh({ collectionId });
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
// The refresh itself failed (a transient descriptor re-read or cipher
|
|
59
|
+
// rebuild error). That is not evidence the remedy is useless, so it
|
|
60
|
+
// must not spend the collection's one refresh: un-arm the guard, and
|
|
61
|
+
// return the read that DID succeed rather than failing a read whose
|
|
62
|
+
// only defect is some skipped rows. The next unknown-epoch read
|
|
63
|
+
// retries the refresh.
|
|
64
|
+
this.#refreshed.delete(collectionId);
|
|
65
|
+
return first.value;
|
|
66
|
+
}
|
|
50
67
|
return (await read()).value;
|
|
51
68
|
}
|
|
52
69
|
return first.value;
|
package/dist/edv/refresh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../src/edv/refresh.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IACzB,QAAQ,CAAsD;IACvE,kEAAkE;IACzD,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;IAEvC,YAAY,EACV,OAAO,EAGR;QACC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,EAAE,YAAY,EAA4B;QACtD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC3C,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../src/edv/refresh.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IACzB,QAAQ,CAAsD;IACvE,kEAAkE;IACzD,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;IAEvC,YAAY,EACV,OAAO,EAGR;QACC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,EAAE,YAAY,EAA4B;QACtD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,eAAe,CAAI,EACvB,YAAY,EACZ,IAAI,EAIL;QACC,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,CAAA;QAC1B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YACjC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;gBACtE,oEAAoE;gBACpE,qEAAqE;gBACrE,oEAAoE;gBACpE,gEAAgE;gBAChE,uBAAuB;gBACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACpC,OAAO,KAAK,CAAC,KAAK,CAAA;YACpB,CAAC;YACD,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAA;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAmC;QACvC,IAAI,OAAO,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;CACF"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -241,7 +241,7 @@ export declare class WasServerError extends WasError {
|
|
|
241
241
|
}
|
|
242
242
|
/**
|
|
243
243
|
* Thrown on decrypt when a stored envelope names JWE recipient (`kid`) ids
|
|
244
|
-
* whose epochs the Collection
|
|
244
|
+
* whose epochs the Collection Metadata object does not list at all. It signals
|
|
245
245
|
* that the caller's cached descriptor may be stale and should be re-read
|
|
246
246
|
* before retrying: an epoch rotation emits no change-feed entry, so a codec
|
|
247
247
|
* built from a pre-rotation descriptor meets envelopes stamped with a newer
|
package/dist/errors.js
CHANGED
|
@@ -256,7 +256,7 @@ export class WasServerError extends WasError {
|
|
|
256
256
|
}
|
|
257
257
|
/**
|
|
258
258
|
* Thrown on decrypt when a stored envelope names JWE recipient (`kid`) ids
|
|
259
|
-
* whose epochs the Collection
|
|
259
|
+
* whose epochs the Collection Metadata object does not list at all. It signals
|
|
260
260
|
* that the caller's cached descriptor may be stale and should be re-read
|
|
261
261
|
* before retrying: an epoch rotation emits no change-feed entry, so a codec
|
|
262
262
|
* built from a pre-rotation descriptor meets envelopes stamped with a newer
|
|
@@ -272,8 +272,8 @@ export class UnknownEpochError extends Error {
|
|
|
272
272
|
constructor({ collectionId, kids }) {
|
|
273
273
|
super(`Cannot decrypt a resource in collection "${collectionId}": its ` +
|
|
274
274
|
`envelope names recipient key id(s) [${kids.join(', ')}] whose key ` +
|
|
275
|
-
'epoch is not on the Collection
|
|
276
|
-
'cached descriptor may be stale (an epoch rotation emits no ' +
|
|
275
|
+
'epoch is not on the Collection Metadata object this reader holds. ' +
|
|
276
|
+
'The cached descriptor may be stale (an epoch rotation emits no ' +
|
|
277
277
|
'change-feed entry); re-read it and rebuild the cipher.');
|
|
278
278
|
this.name = 'UnknownEpochError';
|
|
279
279
|
}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,5 +18,5 @@ export { WasError, NotFoundError, CapabilityRevokedError, CapabilityExpiredError
|
|
|
18
18
|
export type { FeatureProbe } from './internal/features.js';
|
|
19
19
|
export { isChunkedWrite } from './codec.js';
|
|
20
20
|
export type { ResourceCodec, EncryptionProvider, ChunkedWrite, CodecRequestContext, CodecWrite, MetaReadSlot, MetaWriteSlot, EncodedWrite, ResponseLike, BlindedQuery, CodecIndexing, IndexDeclaration, IndexSchema } from './codec.js';
|
|
21
|
-
export type { Json, JsonPrimitive, JsonObject, JsonArray, ResourceData, Action, ActionInput, ChangeDocument, ChangesCheckpoint, ChangesPage,
|
|
21
|
+
export type { Json, JsonPrimitive, JsonObject, JsonArray, ResourceData, Action, ActionInput, ChangeDocument, ChangesCheckpoint, ChangesPage, SpaceMetadata, CollectionWritableFields, CollectionEncryption, CollectionEncryptionEpoch, CollectionEncryptionRecipient, CollectionEncryptionHmac, EncryptionWithHmac, CollectionSummary, CollectionsList, SpaceSummary, SpaceListing, ResourceSummary, CollectionResourcesList, ResourceMetadata, ResourceMetadataCustom, ResourceMetadataCustomInput, CollectionMetadata, AddResult, FindPage, ImportStats, PolicyDocument, LinkSet, LinkSetEntry, HandleOptions, EncryptionOverride, BackendReference, BackendDescriptor, BackendRegistration, BackendConnectionInput, BackendConnectionPublic, StorageLimit, CollectionUsage, BackendUsage, SpaceQuotaReport, GrantOptions, RequestInput, IZcap, IDelegatedZcap, ISigner } from './types.js';
|
|
22
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,EACL,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACT,MAAM,aAAa,CAAA;AAEpB,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAA;AAEnB,YAAY,EACV,IAAI,EACJ,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,MAAM,EACN,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,EACL,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACT,MAAM,aAAa,CAAA;AAEpB,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAA;AAEnB,YAAY,EACV,IAAI,EACJ,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,MAAM,EACN,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,cAAc,EACd,OAAO,EACR,MAAM,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cas.d.ts","sourceRoot":"","sources":["../../src/internal/cas.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAErC;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB;;;;;;OAMG;IACH,IAAI,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAEnD;;;;;;;;OAQG;IACH,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/D;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAK1D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,EACtC,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,WAAkC,EACnC,EAAE;IACD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAClD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"cas.d.ts","sourceRoot":"","sources":["../../src/internal/cas.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAErC;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB;;;;;;OAMG;IACH,IAAI,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAEnD;;;;;;;;OAQG;IACH,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/D;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAK1D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,EACtC,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,WAAkC,EACnC,EAAE;IACD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAClD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,CAAC,CAAC,CA2Db"}
|
package/dist/internal/cas.js
CHANGED
|
@@ -74,10 +74,13 @@ export async function compareAndSwap({ store, mutate, operation, onAbsent, maxAt
|
|
|
74
74
|
throw new ValidationError(`Cannot ${operation.toLowerCase()}: this store holds no value and ` +
|
|
75
75
|
'does not support creating one.');
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
// `null` from `mutate` means "the value already reflects the desired
|
|
78
|
+
// state, nothing to write". On the replace path that is true of a value
|
|
79
|
+
// the store already holds; here nothing is stored yet, so the seed
|
|
80
|
+
// itself still has to be created -- returning it unwritten would resolve
|
|
81
|
+
// a value that exists nowhere, and the next `read()` would still be
|
|
82
|
+
// `null`.
|
|
83
|
+
const created = (await mutate(seed)) ?? seed;
|
|
81
84
|
try {
|
|
82
85
|
await store.create(created);
|
|
83
86
|
return created;
|
package/dist/internal/cas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cas.js","sourceRoot":"","sources":["../../src/internal/cas.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AACH,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAuCrC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,CACL,GAAG,YAAY,uBAAuB;QACtC,CAAC,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAyB,CAAC,CACjE,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,EACtC,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,WAAW,GAAG,oBAAoB,EAOnC;IACC,IAAI,SAAkB,CAAA;IACtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,eAAe,CACvB,UAAU,SAAS,CAAC,WAAW,EAAE,kCAAkC,CACpE,CAAA;YACH,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAA;YACvB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,eAAe,CACvB,UAAU,SAAS,CAAC,WAAW,EAAE,kCAAkC;oBACjE,gCAAgC,CACnC,CAAA;YACH,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"cas.js","sourceRoot":"","sources":["../../src/internal/cas.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AACH,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAuCrC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,CACL,GAAG,YAAY,uBAAuB;QACtC,CAAC,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAyB,CAAC,CACjE,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,EACtC,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,WAAW,GAAG,oBAAoB,EAOnC;IACC,IAAI,SAAkB,CAAA;IACtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,eAAe,CACvB,UAAU,SAAS,CAAC,WAAW,EAAE,kCAAkC,CACpE,CAAA;YACH,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAA;YACvB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,eAAe,CACvB,UAAU,SAAS,CAAC,WAAW,EAAE,kCAAkC;oBACjE,gCAAgC,CACnC,CAAA;YACH,CAAC;YACD,qEAAqE;YACrE,wEAAwE;YACxE,mEAAmE;YACnE,yEAAyE;YACzE,oEAAoE;YACpE,UAAU;YACV,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAA;YAC5C,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBAC3B,OAAO,OAAO,CAAA;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9B,qEAAqE;oBACrE,SAAS,GAAG,GAAG,CAAA;oBACf,SAAQ;gBACV,CAAC;gBACD,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,kEAAkE;YAClE,OAAO,OAAO,CAAC,KAAK,CAAA;QACtB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;YACpD,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,yDAAyD;gBACzD,SAAS,GAAG,GAAG,CAAA;gBACf,SAAQ;YACV,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IACD,MAAM,IAAI,uBAAuB,CAC/B,GAAG,SAAS,yCAAyC,WAAW,GAAG;QACjE,sEAAsE;QACtE,YAAY,EACd,EAAE,KAAK,EAAE,SAAkB,EAAE,CAC9B,CAAA;AACH,CAAC"}
|
package/dist/internal/codec.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ResourceCodec } from '../codec.js';
|
|
2
2
|
import type { ClientContext } from './request.js';
|
|
3
|
-
import type { CollectionMetadata, EncryptionOverride, IZcap } from '../types.js';
|
|
3
|
+
import type { CollectionEncryption, CollectionMetadata, EncryptionOverride, IZcap } from '../types.js';
|
|
4
4
|
/**
|
|
5
5
|
* The outcome of one codec resolution: the codec itself, plus the collection
|
|
6
6
|
* metadata snapshot the resolution happened to read on the way (the index
|
|
@@ -115,5 +115,26 @@ export declare const identityCodec: ResourceCodec;
|
|
|
115
115
|
* the index-schema read produced when there was one
|
|
116
116
|
*/
|
|
117
117
|
export declare function resolveCodec(context: ClientContext, { spaceId, collectionId, override, capability }: CodecTarget): Promise<CodecResolution>;
|
|
118
|
+
/**
|
|
119
|
+
* Builds the codec a descriptor names, for a write that states the descriptor
|
|
120
|
+
* itself rather than discovering it from stored state: the identity codec when
|
|
121
|
+
* there is no descriptor, and the keystore's codec when there is. Resolves
|
|
122
|
+
* `null` when this client cannot build that codec (no keystore, no keys, or an
|
|
123
|
+
* unhandled scheme) -- a caller that must not guess treats `null` as its own
|
|
124
|
+
* refusal, since nothing here is stored state to fail closed on.
|
|
125
|
+
*
|
|
126
|
+
* @param context {ClientContext}
|
|
127
|
+
* @param options {object}
|
|
128
|
+
* @param options.spaceId {string}
|
|
129
|
+
* @param options.collectionId {string}
|
|
130
|
+
* @param [options.descriptor] {CollectionEncryption} the descriptor the write
|
|
131
|
+
* declares; absent means plaintext
|
|
132
|
+
* @returns {Promise<ResourceCodec | null>}
|
|
133
|
+
*/
|
|
134
|
+
export declare function codecForDescriptor(context: ClientContext, { spaceId, collectionId, descriptor }: {
|
|
135
|
+
spaceId: string;
|
|
136
|
+
collectionId: string;
|
|
137
|
+
descriptor?: CollectionEncryption;
|
|
138
|
+
}): Promise<ResourceCodec | null>;
|
|
118
139
|
export {};
|
|
119
140
|
//# sourceMappingURL=codec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAYjD,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EAKN,MAAM,aAAa,CAAA;AAEpB;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAA;IACpB,IAAI,CAAC,EAAE,CAAC,kBAAkB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAA;CACvD;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;;IAGtB;;;OAGG;gBACS,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC;IAInD;;;;;OAKG;IACG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IAMnC;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;IAUzC;;;;OAIG;IACH,KAAK,IAAI,IAAI;CAGd;AAED;;;;;GAKG;AACH,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,UAAU,CAAC,EAAE,KAAK,CAAA;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,WAAW,GACnB,WAAW,CAEb;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,aAkC3B,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,WAAW,GAC3D,OAAO,CAAC,eAAe,CAAC,CA4E1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,EACtB,EACE,OAAO,EACP,YAAY,EACZ,UAAU,EACX,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,oBAAoB,CAAA;CAClC,GACA,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAc/B"}
|
package/dist/internal/codec.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { prepareBody, parseResource } from './content.js';
|
|
2
|
-
import {
|
|
2
|
+
import { asCollectionMetadata, readCollectionMetadata, storedEncryption, unreadableDescriptionError } from './describe.js';
|
|
3
3
|
import { readIndexSchema } from './indexSchema.js';
|
|
4
|
-
import { readMeta } from './meta.js';
|
|
5
4
|
import { Memo } from './memo.js';
|
|
6
|
-
import { collectionMeta } from './paths.js';
|
|
7
5
|
import { EncryptionError, NotImplementedError } from '../errors.js';
|
|
8
6
|
/**
|
|
9
7
|
* A per-handle codec cache. Memoizes the in-flight resolution so concurrent
|
|
@@ -138,32 +136,40 @@ export async function resolveCodec(context, { spaceId, collectionId, override, c
|
|
|
138
136
|
// descriptor's epoch roster and refuses an override without one
|
|
139
137
|
// fail-closed, so dropping the descriptor here would break every read and
|
|
140
138
|
// write.
|
|
141
|
-
|
|
139
|
+
const { codec } = await buildEncryptingCodec(context, {
|
|
142
140
|
spaceId,
|
|
143
141
|
collectionId,
|
|
144
142
|
scheme: override.scheme,
|
|
145
143
|
keys: override.keys,
|
|
146
|
-
capability,
|
|
147
144
|
encryption: override
|
|
148
145
|
});
|
|
146
|
+
// The override skipped the Collection Metadata read, so a searchable
|
|
147
|
+
// collection's persisted index schema is fetched here.
|
|
148
|
+
const meta = await loadIndexSchema(context, {
|
|
149
|
+
spaceId,
|
|
150
|
+
collectionId,
|
|
151
|
+
capability,
|
|
152
|
+
codec
|
|
153
|
+
});
|
|
154
|
+
return meta !== undefined ? { codec, meta } : { codec };
|
|
149
155
|
}
|
|
150
156
|
// 2. A plaintext-only client (no keystore) never encrypts; no round-trip.
|
|
151
157
|
if (!context.encryption) {
|
|
152
158
|
return { codec: identityCodec };
|
|
153
159
|
}
|
|
154
160
|
// 3. Otherwise the Collection's declared `encryption` descriptor decides -- but
|
|
155
|
-
// only if we could actually read the
|
|
156
|
-
// (a resource-scoped capability cannot GET
|
|
157
|
-
//
|
|
158
|
-
//
|
|
159
|
-
//
|
|
160
|
-
//
|
|
161
|
-
const
|
|
161
|
+
// only if we could actually read the Collection Metadata object. An
|
|
162
|
+
// unreadable object (a resource-scoped capability cannot GET it, and WAS
|
|
163
|
+
// masks that as a 404) is ambiguous: it is indistinguishable from "absent",
|
|
164
|
+
// so an encryption-capable client fails closed rather than silently
|
|
165
|
+
// downgrading to plaintext and writing the caller's secret as server-visible
|
|
166
|
+
// plaintext into a possibly-encrypted collection.
|
|
167
|
+
const read = await readCollectionMetadata(context, {
|
|
162
168
|
spaceId,
|
|
163
169
|
collectionId,
|
|
164
170
|
capability
|
|
165
171
|
});
|
|
166
|
-
if (
|
|
172
|
+
if (read === null) {
|
|
167
173
|
throw unreadableDescriptionError({
|
|
168
174
|
operation: `determine whether collection ${spaceId}/${collectionId} is ` +
|
|
169
175
|
'encrypted',
|
|
@@ -174,16 +180,91 @@ export async function resolveCodec(context, { spaceId, collectionId, override, c
|
|
|
174
180
|
ErrorClass: EncryptionError
|
|
175
181
|
});
|
|
176
182
|
}
|
|
177
|
-
|
|
178
|
-
|
|
183
|
+
const declared = storedEncryption(read.metadata);
|
|
184
|
+
const { codec } = declared
|
|
185
|
+
? await buildEncryptingCodec(context, {
|
|
186
|
+
spaceId,
|
|
187
|
+
collectionId,
|
|
188
|
+
scheme: declared.scheme,
|
|
189
|
+
encryption: declared
|
|
190
|
+
})
|
|
191
|
+
: { codec: identityCodec };
|
|
192
|
+
// The read that decided policy IS the Collection Metadata object, so it is
|
|
193
|
+
// also the index schema and the `meta()` answer: decode its `custom` with the
|
|
194
|
+
// codec just built and hand the snapshot on, rather than reading the same
|
|
195
|
+
// document again. A `custom` this reader cannot open is not the resolution's
|
|
196
|
+
// business -- only `meta()` and the search paths need it -- so the decode
|
|
197
|
+
// failure leaves the schema empty and the snapshot absent instead of failing
|
|
198
|
+
// every operation on the handle.
|
|
199
|
+
const meta = await snapshotFrom({ read, codec });
|
|
200
|
+
return meta !== undefined ? { codec, meta } : { codec };
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Builds the codec a descriptor names, for a write that states the descriptor
|
|
204
|
+
* itself rather than discovering it from stored state: the identity codec when
|
|
205
|
+
* there is no descriptor, and the keystore's codec when there is. Resolves
|
|
206
|
+
* `null` when this client cannot build that codec (no keystore, no keys, or an
|
|
207
|
+
* unhandled scheme) -- a caller that must not guess treats `null` as its own
|
|
208
|
+
* refusal, since nothing here is stored state to fail closed on.
|
|
209
|
+
*
|
|
210
|
+
* @param context {ClientContext}
|
|
211
|
+
* @param options {object}
|
|
212
|
+
* @param options.spaceId {string}
|
|
213
|
+
* @param options.collectionId {string}
|
|
214
|
+
* @param [options.descriptor] {CollectionEncryption} the descriptor the write
|
|
215
|
+
* declares; absent means plaintext
|
|
216
|
+
* @returns {Promise<ResourceCodec | null>}
|
|
217
|
+
*/
|
|
218
|
+
export async function codecForDescriptor(context, { spaceId, collectionId, descriptor }) {
|
|
219
|
+
if (descriptor === undefined) {
|
|
220
|
+
return identityCodec;
|
|
221
|
+
}
|
|
222
|
+
if (!context.encryption) {
|
|
223
|
+
return null;
|
|
179
224
|
}
|
|
180
|
-
|
|
225
|
+
const codec = await context.encryption.codecFor({
|
|
181
226
|
spaceId,
|
|
182
227
|
collectionId,
|
|
183
|
-
scheme:
|
|
184
|
-
encryption:
|
|
185
|
-
capability
|
|
228
|
+
scheme: descriptor.scheme,
|
|
229
|
+
encryption: descriptor
|
|
186
230
|
});
|
|
231
|
+
return codec ?? null;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Turns the Collection Metadata object a resolution read into the snapshot the
|
|
235
|
+
* resolution carries: `custom` decoded through the codec just built (an opaque
|
|
236
|
+
* envelope on an encrypted collection), and the codec's persisted index schema
|
|
237
|
+
* installed from it along the way.
|
|
238
|
+
*
|
|
239
|
+
* A `custom` the decode refuses -- a reader removed from the collection whose
|
|
240
|
+
* epoch key no longer unwraps it, an envelope bound to another slot, a
|
|
241
|
+
* plaintext object where an envelope belongs -- resolves `undefined` rather
|
|
242
|
+
* than throwing. The schema then stays empty (a search on an undeclared
|
|
243
|
+
* attribute still fails loudly at `find()`), and the operations that do not
|
|
244
|
+
* need `custom` keep working; a `meta()` reads and decodes for itself and is
|
|
245
|
+
* the call that surfaces the refusal.
|
|
246
|
+
*
|
|
247
|
+
* @param options {object}
|
|
248
|
+
* @param options.read {object} the stored object and its validator
|
|
249
|
+
* @param options.codec {ResourceCodec}
|
|
250
|
+
* @returns {Promise<(CollectionMetadata & { etag?: string }) | undefined>}
|
|
251
|
+
*/
|
|
252
|
+
async function snapshotFrom({ read, codec }) {
|
|
253
|
+
let custom;
|
|
254
|
+
try {
|
|
255
|
+
// The stated slot drives the encrypting codec's binding check: in the
|
|
256
|
+
// Collection slot it refuses a resource-bound envelope served there.
|
|
257
|
+
custom = await codec.decodeMeta({ custom: read.metadata.custom }, { kind: 'collection' });
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
return undefined;
|
|
261
|
+
}
|
|
262
|
+
codec.indexing?.applySchema(readIndexSchema(custom));
|
|
263
|
+
return {
|
|
264
|
+
...asCollectionMetadata(read.metadata),
|
|
265
|
+
custom,
|
|
266
|
+
...(read.etag !== undefined && { etag: read.etag })
|
|
267
|
+
};
|
|
187
268
|
}
|
|
188
269
|
/**
|
|
189
270
|
* Builds the encrypting codec for a collection known to be encrypted, failing
|
|
@@ -196,12 +277,12 @@ export async function resolveCodec(context, { spaceId, collectionId, override, c
|
|
|
196
277
|
* @param options.spaceId {string}
|
|
197
278
|
* @param options.collectionId {string}
|
|
198
279
|
* @param options.scheme {string}
|
|
280
|
+
* @param [options.encryption] {CollectionEncryption} the descriptor, passed
|
|
281
|
+
* whole to the provider
|
|
199
282
|
* @param [options.keys] {unknown} override-supplied key material
|
|
200
|
-
* @param [options.capability] {IZcap} the handle's bound capability, used for
|
|
201
|
-
* the index-schema read
|
|
202
283
|
* @returns {Promise<CodecResolution>}
|
|
203
284
|
*/
|
|
204
|
-
async function buildEncryptingCodec(context, { spaceId, collectionId, scheme, encryption, keys
|
|
285
|
+
async function buildEncryptingCodec(context, { spaceId, collectionId, scheme, encryption, keys }) {
|
|
205
286
|
const where = `${spaceId}/${collectionId}`;
|
|
206
287
|
if (!context.encryption) {
|
|
207
288
|
throw new EncryptionError(`Collection ${where} is encrypted (scheme "${scheme}") but this client ` +
|
|
@@ -220,20 +301,14 @@ async function buildEncryptingCodec(context, { spaceId, collectionId, scheme, en
|
|
|
220
301
|
'holds no keys for it (or does not handle the scheme). Supply keys via ' +
|
|
221
302
|
'your keystore (resolveKeys) or a per-handle encryption override.');
|
|
222
303
|
}
|
|
223
|
-
|
|
224
|
-
spaceId,
|
|
225
|
-
collectionId,
|
|
226
|
-
capability,
|
|
227
|
-
codec
|
|
228
|
-
});
|
|
229
|
-
return meta !== undefined ? { codec, meta } : { codec };
|
|
304
|
+
return { codec };
|
|
230
305
|
}
|
|
231
306
|
/**
|
|
232
|
-
* Loads the collection's persisted index schema onto a
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
* is every codec on a collection whose descriptor
|
|
236
|
-
*
|
|
307
|
+
* Loads the collection's persisted index schema onto a codec built from a
|
|
308
|
+
* per-handle encryption override -- the one path that skipped the Collection
|
|
309
|
+
* Metadata read, so the schema is not already in hand. A no-op for a codec with
|
|
310
|
+
* no search capability, which is every codec on a collection whose descriptor
|
|
311
|
+
* declares no blinding key.
|
|
237
312
|
*
|
|
238
313
|
* The schema is discovered rather than declared per app: it is the reason
|
|
239
314
|
* declarations are persisted at all, so a reader that did not create the
|
|
@@ -247,7 +322,7 @@ async function buildEncryptingCodec(context, { spaceId, collectionId, scheme, en
|
|
|
247
322
|
* failing the resolution: neither says the collection is broken, and every
|
|
248
323
|
* search on an undeclared attribute still fails loudly at `find()`.
|
|
249
324
|
*
|
|
250
|
-
* The decoded metadata is returned so the caller that paid for
|
|
325
|
+
* The decoded metadata is returned so the caller that paid for the read can
|
|
251
326
|
* hand it to a `meta()` that would otherwise repeat it -- it is exactly what
|
|
252
327
|
* `Collection.meta()` produces, decrypted `custom` and `etag` included.
|
|
253
328
|
*
|
|
@@ -262,17 +337,14 @@ async function buildEncryptingCodec(context, { spaceId, collectionId, scheme, en
|
|
|
262
337
|
* no read happened at all
|
|
263
338
|
*/
|
|
264
339
|
async function loadIndexSchema(context, { spaceId, collectionId, capability, codec }) {
|
|
265
|
-
|
|
266
|
-
if (!indexing) {
|
|
340
|
+
if (!codec.indexing) {
|
|
267
341
|
return undefined;
|
|
268
342
|
}
|
|
269
|
-
let
|
|
343
|
+
let read;
|
|
270
344
|
try {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
subject: `collection "${collectionId}"`,
|
|
275
|
-
slot: { kind: 'collection' },
|
|
345
|
+
read = await readCollectionMetadata(context, {
|
|
346
|
+
spaceId,
|
|
347
|
+
collectionId,
|
|
276
348
|
capability
|
|
277
349
|
});
|
|
278
350
|
}
|
|
@@ -282,10 +354,9 @@ async function loadIndexSchema(context, { spaceId, collectionId, capability, cod
|
|
|
282
354
|
}
|
|
283
355
|
throw err;
|
|
284
356
|
}
|
|
285
|
-
if (
|
|
357
|
+
if (read === null) {
|
|
286
358
|
return null;
|
|
287
359
|
}
|
|
288
|
-
|
|
289
|
-
return meta;
|
|
360
|
+
return snapshotFrom({ read, codec });
|
|
290
361
|
}
|
|
291
362
|
//# sourceMappingURL=codec.js.map
|