@interop/was-client 0.98.0 → 0.99.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.
Files changed (66) hide show
  1. package/README.md +59 -41
  2. package/dist/Collection.d.ts +43 -15
  3. package/dist/Collection.d.ts.map +1 -1
  4. package/dist/Collection.js +127 -54
  5. package/dist/Collection.js.map +1 -1
  6. package/dist/Resource.d.ts +26 -11
  7. package/dist/Resource.d.ts.map +1 -1
  8. package/dist/Resource.js +26 -11
  9. package/dist/Resource.js.map +1 -1
  10. package/dist/WasClient.d.ts +20 -4
  11. package/dist/WasClient.d.ts.map +1 -1
  12. package/dist/WasClient.js +27 -6
  13. package/dist/WasClient.js.map +1 -1
  14. package/dist/codec.d.ts +6 -14
  15. package/dist/codec.d.ts.map +1 -1
  16. package/dist/codec.js.map +1 -1
  17. package/dist/edv/EdvCodec.d.ts +2 -1
  18. package/dist/edv/EdvCodec.d.ts.map +1 -1
  19. package/dist/edv/EdvCodec.js +312 -80
  20. package/dist/edv/EdvCodec.js.map +1 -1
  21. package/dist/edv/WasTransport.d.ts +76 -12
  22. package/dist/edv/WasTransport.d.ts.map +1 -1
  23. package/dist/edv/WasTransport.js +76 -11
  24. package/dist/edv/WasTransport.js.map +1 -1
  25. package/dist/edv/docCipher.d.ts.map +1 -1
  26. package/dist/edv/docCipher.js +11 -9
  27. package/dist/edv/docCipher.js.map +1 -1
  28. package/dist/edv/index.d.ts +1 -0
  29. package/dist/edv/index.d.ts.map +1 -1
  30. package/dist/edv/index.js.map +1 -1
  31. package/dist/edv/transportFactory.d.ts.map +1 -1
  32. package/dist/edv/transportFactory.js +3 -2
  33. package/dist/edv/transportFactory.js.map +1 -1
  34. package/dist/errors.d.ts +13 -6
  35. package/dist/errors.d.ts.map +1 -1
  36. package/dist/errors.js +16 -7
  37. package/dist/errors.js.map +1 -1
  38. package/dist/index.d.ts +1 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/internal/codec.d.ts +51 -2
  43. package/dist/internal/codec.d.ts.map +1 -1
  44. package/dist/internal/codec.js +53 -21
  45. package/dist/internal/codec.js.map +1 -1
  46. package/dist/internal/indexSchema.d.ts +30 -0
  47. package/dist/internal/indexSchema.d.ts.map +1 -1
  48. package/dist/internal/indexSchema.js +40 -0
  49. package/dist/internal/indexSchema.js.map +1 -1
  50. package/dist/internal/meta.d.ts +9 -3
  51. package/dist/internal/meta.d.ts.map +1 -1
  52. package/dist/internal/meta.js +13 -7
  53. package/dist/internal/meta.js.map +1 -1
  54. package/dist/internal/paths.d.ts +11 -0
  55. package/dist/internal/paths.d.ts.map +1 -1
  56. package/dist/internal/paths.js +13 -0
  57. package/dist/internal/paths.js.map +1 -1
  58. package/dist/internal/request.d.ts +9 -0
  59. package/dist/internal/request.d.ts.map +1 -1
  60. package/dist/internal/request.js +31 -3
  61. package/dist/internal/request.js.map +1 -1
  62. package/dist/internal/write.d.ts +10 -10
  63. package/dist/internal/write.d.ts.map +1 -1
  64. package/dist/internal/write.js +23 -30
  65. package/dist/internal/write.js.map +1 -1
  66. package/package.json +5 -5
@@ -21,12 +21,13 @@ import { WasTransport } from './WasTransport.js';
21
21
  * @returns {CodecTransportFactory}
22
22
  */
23
23
  export function wasTransportFactory({ spaceId, collectionId, contentType }) {
24
- return ({ context, documentHeaders }) => new WasTransport({
24
+ return ({ context, documentHeaders, baseline }) => new WasTransport({
25
25
  was: { request: input => context.request(input) },
26
26
  spaceId,
27
27
  collectionId,
28
28
  contentType,
29
- ...(documentHeaders !== undefined && { documentHeaders })
29
+ ...(documentHeaders !== undefined && { documentHeaders }),
30
+ ...(baseline !== undefined && { baseline })
30
31
  });
31
32
  }
32
33
  //# sourceMappingURL=transportFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transportFactory.js","sourceRoot":"","sources":["../../src/edv/transportFactory.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,YAAY,EACZ,WAAW,EAKZ;IACC,OAAO,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CACtC,IAAI,YAAY,CAAC;QACf,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjD,OAAO;QACP,YAAY;QACZ,WAAW;QACX,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;KAC1D,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"transportFactory.js","sourceRoot":"","sources":["../../src/edv/transportFactory.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,YAAY,EACZ,WAAW,EAKZ;IACC,OAAO,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,CAChD,IAAI,YAAY,CAAC;QACf,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjD,OAAO;QACP,YAAY;QACZ,WAAW;QACX,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;QACzD,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC5C,CAAC,CAAA;AACN,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -138,7 +138,7 @@ export declare class IncompatibleServerError extends WasError {
138
138
  * `id-conflict` (the id already exists), `reserved-id` (the id collides with a
139
139
  * reserved path segment), or `unsupported-backend` (the backend id is not in
140
140
  * the space's available list). Also the immutability and replica refusals:
141
- * `encryption-immutable`, `encryption-history-log-governed`,
141
+ * `backend-immutable`, `encryption-immutable`, `encryption-history-log-governed`,
142
142
  * `revisions-immutable`, `resource-immutable`, and `replica-refused`. The
143
143
  * specific kind is on the `type` URI.
144
144
  */
@@ -316,18 +316,25 @@ export declare class WasServerError extends WasError {
316
316
  * that the caller's cached descriptor may be stale and should be re-read
317
317
  * before retrying: an epoch rotation emits no change-feed entry, so a codec
318
318
  * built from a pre-rotation descriptor meets envelopes stamped with a newer
319
- * epoch it has never seen.
319
+ * epoch it has never seen. Carries the `collectionId` to refresh and the
320
+ * unroutable `kids` as own properties, so a consumer that matched by name
321
+ * (`isUnknownEpochError`) reads them rather than parsing the message.
320
322
  *
321
323
  * Distinct from {@link KeyUnwrapError}: when the descriptor DOES list the
322
324
  * envelope's epoch but this reader holds no key for it (it was never a
323
325
  * recipient of that epoch, or it was removed and the epoch rotated), decrypt
324
326
  * raises `KeyUnwrapError` instead -- the descriptor is current and re-reading
325
- * it cannot help.
326
- */
327
- export declare class UnknownEpochError extends Error {
328
- constructor({ collectionId, kids }: {
327
+ * it cannot help. Raised client-side, so it carries no HTTP status; a subtype
328
+ * of {@link WasError} so `mapError` passes it through unchanged and a
329
+ * `catch (WasError)` sees it beside the rest.
330
+ */
331
+ export declare class UnknownEpochError extends WasError {
332
+ readonly collectionId: string;
333
+ readonly kids: string[];
334
+ constructor({ collectionId, kids, cause }: {
329
335
  collectionId: string;
330
336
  kids: string[];
337
+ cause?: unknown;
331
338
  });
332
339
  }
333
340
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -123,7 +123,7 @@ export class IncompatibleServerError extends WasError {
123
123
  * `id-conflict` (the id already exists), `reserved-id` (the id collides with a
124
124
  * reserved path segment), or `unsupported-backend` (the backend id is not in
125
125
  * the space's available list). Also the immutability and replica refusals:
126
- * `encryption-immutable`, `encryption-history-log-governed`,
126
+ * `backend-immutable`, `encryption-immutable`, `encryption-history-log-governed`,
127
127
  * `revisions-immutable`, `resource-immutable`, and `replica-refused`. The
128
128
  * specific kind is on the `type` URI.
129
129
  */
@@ -316,23 +316,31 @@ export class WasServerError extends WasError {
316
316
  * that the caller's cached descriptor may be stale and should be re-read
317
317
  * before retrying: an epoch rotation emits no change-feed entry, so a codec
318
318
  * built from a pre-rotation descriptor meets envelopes stamped with a newer
319
- * epoch it has never seen.
319
+ * epoch it has never seen. Carries the `collectionId` to refresh and the
320
+ * unroutable `kids` as own properties, so a consumer that matched by name
321
+ * (`isUnknownEpochError`) reads them rather than parsing the message.
320
322
  *
321
323
  * Distinct from {@link KeyUnwrapError}: when the descriptor DOES list the
322
324
  * envelope's epoch but this reader holds no key for it (it was never a
323
325
  * recipient of that epoch, or it was removed and the epoch rotated), decrypt
324
326
  * raises `KeyUnwrapError` instead -- the descriptor is current and re-reading
325
- * it cannot help.
326
- */
327
- export class UnknownEpochError extends Error {
328
- constructor({ collectionId, kids }) {
327
+ * it cannot help. Raised client-side, so it carries no HTTP status; a subtype
328
+ * of {@link WasError} so `mapError` passes it through unchanged and a
329
+ * `catch (WasError)` sees it beside the rest.
330
+ */
331
+ export class UnknownEpochError extends WasError {
332
+ collectionId;
333
+ kids;
334
+ constructor({ collectionId, kids, cause }) {
329
335
  super(`Cannot decrypt a resource in collection "${collectionId}": its ` +
330
336
  `envelope names recipient key id(s) ` +
331
337
  `[${cleanText(kids.join(', '), MAX_TEXT_LENGTH)}] whose key ` +
332
338
  'epoch is not on the Collection Metadata object this reader holds. ' +
333
339
  'The cached descriptor may be stale (an epoch rotation emits no ' +
334
- 'change-feed entry); re-read it and rebuild the cipher.');
340
+ 'change-feed entry); re-read it and rebuild the cipher.', { cause });
335
341
  this.name = 'UnknownEpochError';
342
+ this.collectionId = collectionId;
343
+ this.kids = [...kids];
336
344
  }
337
345
  }
338
346
  // Client-side hygiene limits on server-supplied strings carried into errors.
@@ -391,6 +399,7 @@ const ERROR_CLASS_BY_TYPE = new Map([
391
399
  [ProblemTypes.ID_CONFLICT, ConflictError],
392
400
  [ProblemTypes.UNSUPPORTED_BACKEND, ConflictError],
393
401
  [ProblemTypes.REPLICA_REFUSED, ConflictError],
402
+ [ProblemTypes.BACKEND_IMMUTABLE, ConflictError],
394
403
  [ProblemTypes.ENCRYPTION_IMMUTABLE, ConflictError],
395
404
  [ProblemTypes.ENCRYPTION_HISTORY_LOG_GOVERNED, ConflictError],
396
405
  [ProblemTypes.REVISIONS_IMMUTABLE, ConflictError],
@@ -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,7 +18,7 @@ export { readEtag, writeHeaders } from './internal/conditional.js';
18
18
  export { isGovernedDescriptor } from './internal/describe.js';
19
19
  export { isCollectionTombstoneSummary, isJsonResourceChange, isResourceChange, ProblemTypes } from '@interop/storage-core';
20
20
  export type { WritePrecondition } from './internal/conditional.js';
21
- export { WasError, NotFoundError, CapabilityRevokedError, CapabilityExpiredError, ValidationError, AlreadyRevokedError, AuthRequiredError, NotImplementedError, NotSupportedError, IncompatibleServerError, ConflictError, PreconditionFailedError, PayloadTooLargeError, QuotaExceededError, EncryptionError, EncryptOnlyCipherError, UnverifiedDescriptorError, KeyUnwrapError, IntegrityError, WasSyncAuthError, WasSyncCheckpointError, WasSyncConflictError, WasSyncNotFoundError, WasServerError, httpStatus, isDenialError, mapError } from './errors.js';
21
+ export { WasError, NotFoundError, CapabilityRevokedError, CapabilityExpiredError, ValidationError, AlreadyRevokedError, AuthRequiredError, NotImplementedError, NotSupportedError, IncompatibleServerError, ConflictError, PreconditionFailedError, PayloadTooLargeError, QuotaExceededError, EncryptionError, EncryptOnlyCipherError, UnverifiedDescriptorError, KeyUnwrapError, IntegrityError, UnknownEpochError, WasSyncAuthError, WasSyncCheckpointError, WasSyncConflictError, WasSyncNotFoundError, WasServerError, httpStatus, isDenialError, mapError } from './errors.js';
22
22
  export { isChunkedWrite } from './codec.js';
23
23
  export type { DecodedStream, ResourceCodec, EncryptionProvider, ChunkedWrite, CodecRequestContext, CodecWrite, MetaReadSlot, MetaWriteSlot, EncodedWrite, ResponseLike, BlindedQuery, CodecIndexing, IndexDeclaration, IndexSchema } from './codec.js';
24
24
  export type { Json, JsonPrimitive, JsonObject, JsonArray, ResourceData, Action, ActionInput, ChangeDocument, ChangesCheckpoint, ChangesPage, ContainerChangeDocument, PolicyChangeDocument, ResourceChangeDocument, SpaceMetadata, CollectionWritableFields, CollectionEncryption, CollectionEncryptionEpoch, CollectionEncryptionRecipient, CollectionEncryptionHmac, EncryptionWithHmac, CollectionSummary, CollectionTombstoneSummary, CollectionsList, SpaceSummary, SpaceListing, ResourceSummary, CollectionResourcesList, ResourceMetadata, ResourceMetadataCustom, ResourceMetadataCustomInput, CollectionMetadata, CollectionGenerator, AddResult, FindPage, ImportStats, PolicyDocument, PolicyTombstone, LinkSet, LinkSetEntry, HandleOptions, EncryptionOverride, BackendReference, BackendDescriptor, BackendRegistration, BackendConnectionInput, BackendConnectionPublic, StorageLimit, CollectionUsage, BackendUsage, SpaceQuotaReport, ReplicaRegistration, ReplicaSummary, ReplicaRole, ReplicaListing, ReplicaStatus, ReplicaCollectionStatus, ReplicaStallReason, WriteStamp, ServiceDescription, ServiceDescriptionVersionEntry, PwsVersionEntry, ServiceInfo, GrantOptions, RequestInput, IZcap, IDelegatedZcap, IRootZcap, IDID, ISigner } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,6 +20,6 @@ export { isGovernedDescriptor } from './internal/describe.js';
20
20
  // consumer tells one `ConflictError` kind from another by, so a consumer needs
21
21
  // no direct `@interop/storage-core` dependency.
22
22
  export { isCollectionTombstoneSummary, isJsonResourceChange, isResourceChange, ProblemTypes } from '@interop/storage-core';
23
- export { WasError, NotFoundError, CapabilityRevokedError, CapabilityExpiredError, ValidationError, AlreadyRevokedError, AuthRequiredError, NotImplementedError, NotSupportedError, IncompatibleServerError, ConflictError, PreconditionFailedError, PayloadTooLargeError, QuotaExceededError, EncryptionError, EncryptOnlyCipherError, UnverifiedDescriptorError, KeyUnwrapError, IntegrityError, WasSyncAuthError, WasSyncCheckpointError, WasSyncConflictError, WasSyncNotFoundError, WasServerError, httpStatus, isDenialError, mapError } from './errors.js';
23
+ export { WasError, NotFoundError, CapabilityRevokedError, CapabilityExpiredError, ValidationError, AlreadyRevokedError, AuthRequiredError, NotImplementedError, NotSupportedError, IncompatibleServerError, ConflictError, PreconditionFailedError, PayloadTooLargeError, QuotaExceededError, EncryptionError, EncryptOnlyCipherError, UnverifiedDescriptorError, KeyUnwrapError, IntegrityError, UnknownEpochError, WasSyncAuthError, WasSyncCheckpointError, WasSyncConflictError, WasSyncNotFoundError, WasServerError, httpStatus, isDenialError, mapError } from './errors.js';
24
24
  export { isChunkedWrite } from './codec.js';
25
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;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;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,gDAAgD;AAChD,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,aAAa,EACb,QAAQ,EACT,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","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;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,gDAAgD;AAChD,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,aAAa,EACb,QAAQ,EACT,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
@@ -1,19 +1,45 @@
1
1
  import type { ResourceCodec } from '../codec.js';
2
2
  import type { ClientContext } from './request.js';
3
- import type { CollectionEncryption, CollectionMetadata, EncryptionOverride, IZcap } from '../types.js';
3
+ import type { StoredCollectionMetadata } from './describe.js';
4
+ import type { CollectionEncryption, CollectionMetadata, EncryptionOverride, IZcap, ResourceMetadataCustom } from '../types.js';
4
5
  /**
5
6
  * The outcome of one codec resolution: the codec itself, plus the collection
6
7
  * metadata snapshot the resolution happened to read on the way (the index
7
8
  * schema read a blinded-index codec performs). `meta` is absent when the
8
9
  * resolution read no metadata at all -- a plaintext or non-indexing codec, or a
9
10
  * server with no Collection metadata surface -- and `null` when the read found
10
- * none (missing or not visible).
11
+ * none (missing or not visible). `baseline` is the same read as served, with
12
+ * its validator and its `custom` as opened, for the handle to keep as the
13
+ * baseline of a write that follows the snapshot; it travels with `meta` and
14
+ * is absent whenever `meta` is.
11
15
  */
12
16
  export interface CodecResolution {
13
17
  codec: ResourceCodec;
14
18
  meta?: (CollectionMetadata & {
15
19
  etag?: string;
16
20
  }) | null;
21
+ baseline?: ReadBaseline;
22
+ }
23
+ /**
24
+ * A Collection Metadata read in the shape a write composes against: the object
25
+ * as served, the validator the write pins to, and the `custom` as opened
26
+ * through the codec when the read decoded it, so the write does not open it
27
+ * again. `opened` is absent on a read that did not decode (`describe()`).
28
+ */
29
+ export interface ReadBaseline {
30
+ metadata: StoredCollectionMetadata;
31
+ etag?: string;
32
+ opened?: ResourceMetadataCustom;
33
+ }
34
+ /**
35
+ * What a codec resolution's Collection Metadata read yields when it decodes:
36
+ * the snapshot for the caller and the read behind it.
37
+ */
38
+ export interface CodecSnapshot {
39
+ meta: CollectionMetadata & {
40
+ etag?: string;
41
+ };
42
+ baseline: ReadBaseline;
17
43
  }
18
44
  /**
19
45
  * A per-handle codec cache. Memoizes the in-flight resolution so concurrent
@@ -137,5 +163,28 @@ export declare function codecForDescriptor(context: ClientContext, { spaceId, co
137
163
  collectionId: string;
138
164
  descriptor?: CollectionEncryption;
139
165
  }): Promise<ResourceCodec | null>;
166
+ /**
167
+ * Opens a stored Collection Metadata object's `custom` through the codec in
168
+ * the Collection slot: the identity on a plaintext collection, a decrypt on an
169
+ * encrypted one. The stated slot drives the encrypting codec's binding check,
170
+ * so a resource-bound envelope served here is refused like any other envelope
171
+ * this reader cannot open. Resolves `null` for one it cannot open (a foreign
172
+ * or tampered envelope, an epoch this reader does not hold) rather than
173
+ * throwing: every caller of this helper has something else to do with the
174
+ * object and leaves surfacing the refusal to `meta()`.
175
+ *
176
+ * @param options {object}
177
+ * @param options.codec {ResourceCodec}
178
+ * @param options.stored {object} the stored object, with its `custom` as
179
+ * served
180
+ * @returns {Promise<ResourceMetadataCustom | null>} the opened `custom`, or
181
+ * `null` when it cannot be opened here
182
+ */
183
+ export declare function openStoredCustom({ codec, stored }: {
184
+ codec: ResourceCodec;
185
+ stored: {
186
+ custom?: unknown;
187
+ };
188
+ }): Promise<ResourceMetadataCustom | null>;
140
189
  export {};
141
190
  //# sourceMappingURL=codec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAA+B,aAAa,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAkBjD,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;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,aAyD3B,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"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAA+B,aAAa,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAajD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAK7D,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EAGL,sBAAsB,EAEvB,MAAM,aAAa,CAAA;AAEpB;;;;;;;;;;GAUG;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;IACtD,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,wBAAwB,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,sBAAsB,CAAA;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,kBAAkB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,QAAQ,EAAE,YAAY,CAAA;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;;IAGtB;;;OAGG;gBACS,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC;IAInD;;;;;OAKG;IACG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;IAOnC;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;IAczC;;;;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;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,aAyD3B,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,CA+E1B;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;AA4CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,KAAK,EACL,MAAM,EACP,EAAE;IACD,KAAK,EAAE,aAAa,CAAA;IACpB,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAC7B,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CASzC"}
@@ -36,6 +36,7 @@ export class CodecHolder {
36
36
  async get() {
37
37
  const resolution = await this.#memo.get();
38
38
  resolution.meta = undefined;
39
+ resolution.baseline = undefined;
39
40
  return resolution.codec;
40
41
  }
41
42
  /**
@@ -51,11 +52,15 @@ export class CodecHolder {
51
52
  async resolve() {
52
53
  const initiated = !this.#memo.started;
53
54
  const resolution = await this.#memo.get();
54
- const { codec, meta } = resolution;
55
+ const { codec, meta, baseline } = resolution;
55
56
  // Consume it: whether or not this caller is entitled to the snapshot, no
56
57
  // copy of it survives the call.
57
58
  resolution.meta = undefined;
58
- return initiated && meta !== undefined ? { codec, meta } : { codec };
59
+ resolution.baseline = undefined;
60
+ if (!initiated || meta === undefined) {
61
+ return { codec };
62
+ }
63
+ return { codec, meta, ...(baseline !== undefined && { baseline }) };
59
64
  }
60
65
  /**
61
66
  * Drops any memoized codec so the next `get()` re-resolves.
@@ -169,13 +174,16 @@ export async function resolveCodec(context, { spaceId, collectionId, override, c
169
174
  });
170
175
  // The override skipped the Collection Metadata read, so a searchable
171
176
  // collection's persisted index schema is fetched here.
172
- const meta = await loadIndexSchema(context, {
177
+ const snapshot = await loadIndexSchema(context, {
173
178
  spaceId,
174
179
  collectionId,
175
180
  capability,
176
181
  codec
177
182
  });
178
- return meta !== undefined ? { codec, meta } : { codec };
183
+ if (snapshot === undefined) {
184
+ return { codec };
185
+ }
186
+ return snapshot === null ? { codec, meta: null } : { codec, ...snapshot };
179
187
  }
180
188
  // 2. A plaintext-only client (no keystore) never encrypts; no round-trip.
181
189
  if (!context.encryption) {
@@ -220,8 +228,8 @@ export async function resolveCodec(context, { spaceId, collectionId, override, c
220
228
  // business -- only `meta()` and the search paths need it -- so the decode
221
229
  // failure leaves the schema empty and the snapshot absent instead of failing
222
230
  // every operation on the handle.
223
- const meta = await snapshotFrom({ read, codec });
224
- return meta !== undefined ? { codec, meta } : { codec };
231
+ const snapshot = await snapshotFrom({ read, codec });
232
+ return snapshot !== undefined ? { codec, ...snapshot } : { codec };
225
233
  }
226
234
  /**
227
235
  * Builds the codec a descriptor names, for a write that states the descriptor
@@ -271,25 +279,49 @@ export async function codecForDescriptor(context, { spaceId, collectionId, descr
271
279
  * @param options {object}
272
280
  * @param options.read {object} the stored object and its validator
273
281
  * @param options.codec {ResourceCodec}
274
- * @returns {Promise<(CollectionMetadata & { etag?: string }) | undefined>}
282
+ * @returns {Promise<CodecSnapshot | undefined>} the decoded snapshot and
283
+ * the read behind it
275
284
  */
276
285
  async function snapshotFrom({ read, codec }) {
277
- let custom;
278
- try {
279
- // The stated slot drives the encrypting codec's binding check: in the
280
- // Collection slot it refuses a resource-bound envelope served there.
281
- custom = await codec.decodeMeta({ custom: read.metadata.custom }, { kind: 'collection' });
282
- }
283
- catch {
286
+ const opened = await openStoredCustom({ codec, stored: read.metadata });
287
+ if (opened === null) {
284
288
  return undefined;
285
289
  }
286
- codec.indexing?.applySchema(readIndexSchema(custom));
290
+ codec.indexing?.applySchema(readIndexSchema(opened));
287
291
  return {
288
- ...asCollectionMetadata(read.metadata),
289
- custom,
290
- ...(read.etag !== undefined && { etag: read.etag })
292
+ meta: {
293
+ ...asCollectionMetadata(read.metadata),
294
+ custom: opened,
295
+ ...(read.etag !== undefined && { etag: read.etag })
296
+ },
297
+ baseline: { ...read, opened }
291
298
  };
292
299
  }
300
+ /**
301
+ * Opens a stored Collection Metadata object's `custom` through the codec in
302
+ * the Collection slot: the identity on a plaintext collection, a decrypt on an
303
+ * encrypted one. The stated slot drives the encrypting codec's binding check,
304
+ * so a resource-bound envelope served here is refused like any other envelope
305
+ * this reader cannot open. Resolves `null` for one it cannot open (a foreign
306
+ * or tampered envelope, an epoch this reader does not hold) rather than
307
+ * throwing: every caller of this helper has something else to do with the
308
+ * object and leaves surfacing the refusal to `meta()`.
309
+ *
310
+ * @param options {object}
311
+ * @param options.codec {ResourceCodec}
312
+ * @param options.stored {object} the stored object, with its `custom` as
313
+ * served
314
+ * @returns {Promise<ResourceMetadataCustom | null>} the opened `custom`, or
315
+ * `null` when it cannot be opened here
316
+ */
317
+ export async function openStoredCustom({ codec, stored }) {
318
+ try {
319
+ return await codec.decodeMeta({ custom: stored.custom }, { kind: 'collection' });
320
+ }
321
+ catch {
322
+ return null;
323
+ }
324
+ }
293
325
  /**
294
326
  * Builds the encrypting codec for a collection known to be encrypted, failing
295
327
  * closed: throws {@link EncryptionError} when no keystore is configured or it
@@ -356,9 +388,9 @@ async function buildEncryptingCodec(context, { spaceId, collectionId, scheme, en
356
388
  * @param options.collectionId {string}
357
389
  * @param [options.capability] {IZcap}
358
390
  * @param options.codec {ResourceCodec} the codec to install the schema on
359
- * @returns {Promise<(CollectionMetadata & { etag?: string }) | null | undefined>}
360
- * the metadata read, `null` when there is none to read, and `undefined` when
361
- * no read happened at all
391
+ * @returns {Promise<object | null | undefined>} the metadata snapshot and
392
+ * the read behind it, `null` when there is none to read, and `undefined`
393
+ * when no read happened at all
362
394
  */
363
395
  async function loadIndexSchema(context, { spaceId, collectionId, capability, codec }) {
364
396
  if (!codec.indexing) {
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@
15
15
  * memory would leave every other reader unable to learn them.
16
16
  */
17
17
  import type { IndexSchema } from '../codec.js';
18
+ import type { ResourceMetadataCustomInput } from '../types.js';
18
19
  /**
19
20
  * The property the schema is stored under inside the collection's metadata
20
21
  * `custom` object, alongside the user's own `name` / `tags`.
@@ -115,5 +116,34 @@ export declare function assertQueryAttributes({ schema, equals, has }: {
115
116
  equals?: Record<string, unknown> | Array<Record<string, unknown>>;
116
117
  has?: string | string[];
117
118
  }): void;
119
+ /**
120
+ * The `custom` a full-replacement Collection annotation write sends: the
121
+ * caller's `custom`, plus the stored schema when the caller's names none of
122
+ * its own. The schema is collection state this module owns rather than an
123
+ * annotation the caller is replacing, so a write about `name` / `tags` must
124
+ * not clear it on the way through. A `custom` that names the `indexSchema`
125
+ * member (a `declareIndex` write, the read-merge-write sugar, or a caller
126
+ * clearing the schema with `indexSchema: undefined`) is returned as given.
127
+ *
128
+ * The stored `custom` is opened only when there is something to carry, which
129
+ * is what the `stored` thunk is for: on an encrypted collection the open is a
130
+ * decrypt, and the caller usually holds the opened value from the `meta()`
131
+ * read the write composes against. An opened value that is not an object (a
132
+ * stored `custom` this client cannot open, or a foreign writer's scalar)
133
+ * carries nothing: the write goes out as given, which keeps `setMeta` the way
134
+ * to replace such a value. The same policy the configuration write applies
135
+ * when it cannot re-seal the stored `custom`.
136
+ *
137
+ * @param options {object}
138
+ * @param options.custom {ResourceMetadataCustomInput} the write's `custom`
139
+ * @param options.stored {function} resolves the stored `custom` opened
140
+ * through the codec, or `undefined` when there is none or it cannot be
141
+ * opened here
142
+ * @returns {Promise<ResourceMetadataCustomInput>}
143
+ */
144
+ export declare function withStoredIndexSchema({ custom, stored }: {
145
+ custom: ResourceMetadataCustomInput;
146
+ stored: () => Promise<unknown>;
147
+ }): Promise<ResourceMetadataCustomInput>;
118
148
  export {};
119
149
  //# sourceMappingURL=indexSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexSchema.d.ts","sourceRoot":"","sources":["../../src/internal/indexSchema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,aAAa,CAAA;AAGhE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAA;AAElD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAA0C,CAAA;AAE3E;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAC3B,MAAM,GAAG,MAAM,EAAE,CAKnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAGjE;AAED;;;GAGG;AACH,KAAK,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAYtE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,EAAE,GACtB,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAiB3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,SAAS,EACV,EAAE;IACD,MAAM,EAAE,WAAW,CAAA;IACnB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACrC,GAAG,WAAW,GAAG,IAAI,CA4BrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAkB5D;AAwBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,MAAM,EACN,GAAG,EACJ,EAAE;IACD,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACjE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACxB,GAAG,IAAI,CAsBP"}
1
+ {"version":3,"file":"indexSchema.d.ts","sourceRoot":"","sources":["../../src/internal/indexSchema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,aAAa,CAAA;AAEhE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAA;AAElD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAA0C,CAAA;AAE3E;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAC3B,MAAM,GAAG,MAAM,EAAE,CAKnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAGjE;AAED;;;GAGG;AACH,KAAK,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAYtE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,EAAE,GACtB,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAiB3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,SAAS,EACV,EAAE;IACD,MAAM,EAAE,WAAW,CAAA;IACnB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CACrC,GAAG,WAAW,GAAG,IAAI,CA4BrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAkB5D;AAwBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,MAAM,EACN,GAAG,EACJ,EAAE;IACD,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACjE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACxB,GAAG,IAAI,CAsBP;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,MAAM,EACP,EAAE;IACD,MAAM,EAAE,2BAA2B,CAAA;IACnC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAkBvC"}
@@ -189,4 +189,44 @@ export function assertQueryAttributes({ schema, equals, has }) {
189
189
  }
190
190
  }
191
191
  }
192
+ /**
193
+ * The `custom` a full-replacement Collection annotation write sends: the
194
+ * caller's `custom`, plus the stored schema when the caller's names none of
195
+ * its own. The schema is collection state this module owns rather than an
196
+ * annotation the caller is replacing, so a write about `name` / `tags` must
197
+ * not clear it on the way through. A `custom` that names the `indexSchema`
198
+ * member (a `declareIndex` write, the read-merge-write sugar, or a caller
199
+ * clearing the schema with `indexSchema: undefined`) is returned as given.
200
+ *
201
+ * The stored `custom` is opened only when there is something to carry, which
202
+ * is what the `stored` thunk is for: on an encrypted collection the open is a
203
+ * decrypt, and the caller usually holds the opened value from the `meta()`
204
+ * read the write composes against. An opened value that is not an object (a
205
+ * stored `custom` this client cannot open, or a foreign writer's scalar)
206
+ * carries nothing: the write goes out as given, which keeps `setMeta` the way
207
+ * to replace such a value. The same policy the configuration write applies
208
+ * when it cannot re-seal the stored `custom`.
209
+ *
210
+ * @param options {object}
211
+ * @param options.custom {ResourceMetadataCustomInput} the write's `custom`
212
+ * @param options.stored {function} resolves the stored `custom` opened
213
+ * through the codec, or `undefined` when there is none or it cannot be
214
+ * opened here
215
+ * @returns {Promise<ResourceMetadataCustomInput>}
216
+ */
217
+ export async function withStoredIndexSchema({ custom, stored }) {
218
+ if (INDEX_SCHEMA_PROPERTY in custom) {
219
+ return custom;
220
+ }
221
+ const opened = await stored();
222
+ if (opened === null ||
223
+ typeof opened !== 'object' ||
224
+ !(INDEX_SCHEMA_PROPERTY in opened)) {
225
+ return custom;
226
+ }
227
+ return {
228
+ ...custom,
229
+ [INDEX_SCHEMA_PROPERTY]: opened[INDEX_SCHEMA_PROPERTY]
230
+ };
231
+ }
192
232
  //# sourceMappingURL=indexSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexSchema.js","sourceRoot":"","sources":["../../src/internal/indexSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexSchema.js","sourceRoot":"","sources":["../../src/internal/indexSchema.ts"],"names":[],"mappings":"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"}