@interop/was-client 0.98.0 → 0.99.1

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 (103) hide show
  1. package/README.md +63 -42
  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 +23 -8
  11. package/dist/WasClient.d.ts.map +1 -1
  12. package/dist/WasClient.js +31 -15
  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 +348 -105
  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/cipher.d.ts +6 -3
  26. package/dist/edv/cipher.d.ts.map +1 -1
  27. package/dist/edv/cipher.js +6 -3
  28. package/dist/edv/cipher.js.map +1 -1
  29. package/dist/edv/core.d.ts +1 -1
  30. package/dist/edv/core.d.ts.map +1 -1
  31. package/dist/edv/core.js +1 -1
  32. package/dist/edv/core.js.map +1 -1
  33. package/dist/edv/docCipher.d.ts +4 -2
  34. package/dist/edv/docCipher.d.ts.map +1 -1
  35. package/dist/edv/docCipher.js +17 -12
  36. package/dist/edv/docCipher.js.map +1 -1
  37. package/dist/edv/epochCrypto.d.ts +12 -4
  38. package/dist/edv/epochCrypto.d.ts.map +1 -1
  39. package/dist/edv/epochCrypto.js +37 -10
  40. package/dist/edv/epochCrypto.js.map +1 -1
  41. package/dist/edv/epochKeys.d.ts +6 -2
  42. package/dist/edv/epochKeys.d.ts.map +1 -1
  43. package/dist/edv/epochKeys.js +25 -14
  44. package/dist/edv/epochKeys.js.map +1 -1
  45. package/dist/edv/hmacKey.d.ts +7 -1
  46. package/dist/edv/hmacKey.d.ts.map +1 -1
  47. package/dist/edv/hmacKey.js +9 -3
  48. package/dist/edv/hmacKey.js.map +1 -1
  49. package/dist/edv/index.d.ts +2 -1
  50. package/dist/edv/index.d.ts.map +1 -1
  51. package/dist/edv/index.js +1 -1
  52. package/dist/edv/index.js.map +1 -1
  53. package/dist/edv/recipients.d.ts.map +1 -1
  54. package/dist/edv/recipients.js +2 -0
  55. package/dist/edv/recipients.js.map +1 -1
  56. package/dist/edv/transportFactory.d.ts.map +1 -1
  57. package/dist/edv/transportFactory.js +3 -2
  58. package/dist/edv/transportFactory.js.map +1 -1
  59. package/dist/errors.d.ts +19 -10
  60. package/dist/errors.d.ts.map +1 -1
  61. package/dist/errors.js +22 -11
  62. package/dist/errors.js.map +1 -1
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +1 -1
  66. package/dist/index.js.map +1 -1
  67. package/dist/internal/codec.d.ts +51 -2
  68. package/dist/internal/codec.d.ts.map +1 -1
  69. package/dist/internal/codec.js +53 -21
  70. package/dist/internal/codec.js.map +1 -1
  71. package/dist/internal/indexSchema.d.ts +30 -0
  72. package/dist/internal/indexSchema.d.ts.map +1 -1
  73. package/dist/internal/indexSchema.js +40 -0
  74. package/dist/internal/indexSchema.js.map +1 -1
  75. package/dist/internal/memo.d.ts +13 -4
  76. package/dist/internal/memo.d.ts.map +1 -1
  77. package/dist/internal/memo.js +18 -7
  78. package/dist/internal/memo.js.map +1 -1
  79. package/dist/internal/meta.d.ts +9 -3
  80. package/dist/internal/meta.d.ts.map +1 -1
  81. package/dist/internal/meta.js +13 -7
  82. package/dist/internal/meta.js.map +1 -1
  83. package/dist/internal/pagination.d.ts +30 -15
  84. package/dist/internal/pagination.d.ts.map +1 -1
  85. package/dist/internal/pagination.js +31 -17
  86. package/dist/internal/pagination.js.map +1 -1
  87. package/dist/internal/paths.d.ts +11 -0
  88. package/dist/internal/paths.d.ts.map +1 -1
  89. package/dist/internal/paths.js +13 -0
  90. package/dist/internal/paths.js.map +1 -1
  91. package/dist/internal/request.d.ts +9 -0
  92. package/dist/internal/request.d.ts.map +1 -1
  93. package/dist/internal/request.js +31 -3
  94. package/dist/internal/request.js.map +1 -1
  95. package/dist/internal/write.d.ts +10 -10
  96. package/dist/internal/write.d.ts.map +1 -1
  97. package/dist/internal/write.js +23 -30
  98. package/dist/internal/write.js.map +1 -1
  99. package/dist/sync/index.d.ts +4 -2
  100. package/dist/sync/index.d.ts.map +1 -1
  101. package/dist/sync/index.js +4 -2
  102. package/dist/sync/index.js.map +1 -1
  103. package/package.json +7 -7
@@ -20,7 +20,7 @@ import { assertNotReserved } from './internal/reserved.js';
20
20
  import { NotFoundError, ValidationError, WasServerError, httpStatus } from './errors.js';
21
21
  import { allowsAction, delegateGrantAt } from './internal/grant.js';
22
22
  import { send, readData } from './internal/request.js';
23
- import { codecForDescriptor, collectionCodecHolder, identityCodec } from './internal/codec.js';
23
+ import { codecForDescriptor, collectionCodecHolder, identityCodec, openStoredCustom } from './internal/codec.js';
24
24
  import { collectWalk, signedPageWalk, walkItems, walkPagesOrEmpty } from './internal/pagination.js';
25
25
  import { ANNOTATION_MEMBERS, CONFIGURATION_MEMBERS, asCollectionMetadata, carriedForward, collectionWritableFields, isGovernedDescriptor, storedEncryption, unreadableDescriptionError } from './internal/describe.js';
26
26
  import { assertSinglePrecondition, readEtag, writeHeaders } from './internal/conditional.js';
@@ -29,7 +29,7 @@ import { readCollectionMetadata, readMeta, patchCustom } from './internal/meta.j
29
29
  import { codecRequestContext, insertResource } from './internal/write.js';
30
30
  import { readPolicy, readPolicyWithEtag, writePolicy, deletePolicy, isPublicPolicy, setPublicPolicy } from './internal/policy.js';
31
31
  import { ENCODER, LOG_CONTENT_TYPE, createdResource, dataOrNull, storedResponse } from './internal/content.js';
32
- import { INDEX_SCHEMA_PROPERTY, mergeIndexDeclarations, normalizeIndexRequests, readIndexSchema } from './internal/indexSchema.js';
32
+ import { INDEX_SCHEMA_PROPERTY, mergeIndexDeclarations, normalizeIndexRequests, readIndexSchema, withStoredIndexSchema } from './internal/indexSchema.js';
33
33
  import { Resource } from './Resource.js';
34
34
  import { isJsonResourceChange, isResourceChange } from '@interop/storage-core';
35
35
  /**
@@ -241,6 +241,21 @@ export class Collection {
241
241
  ...(read.etag !== undefined && { etag: read.etag })
242
242
  };
243
243
  }
244
+ /**
245
+ * Resolves this handle's codec and takes the metadata snapshot the
246
+ * resolution read, when this call is the one that started it (see
247
+ * `CodecHolder.resolve`). The read behind the snapshot is kept as the next
248
+ * write's baseline, as a `GET` of the object would be.
249
+ *
250
+ * @returns {Promise<{ codec: ResourceCodec; meta?: (CollectionMetadata & { etag?: string }) | null }>}
251
+ */
252
+ async #resolveSnapshot() {
253
+ const { codec, meta, baseline } = await this.#codecHolder.resolve();
254
+ if (baseline !== undefined) {
255
+ this.#remember(baseline);
256
+ }
257
+ return meta !== undefined ? { codec, meta } : { codec };
258
+ }
244
259
  /**
245
260
  * Reads the stored Collection Metadata object with its validator, in the wire
246
261
  * form the server served it -- `custom` undecoded. The one read behind
@@ -264,19 +279,22 @@ export class Collection {
264
279
  * validator is kept: the write is pinned to that validator, so a baseline
265
280
  * another client has since overwritten loses the compare-and-swap and is
266
281
  * re-read, while a backend serving no validator has nothing to lose the race
267
- * on and always reads fresh.
282
+ * on and always reads fresh. A read that also decoded the object's `custom`
283
+ * (a `meta()`) keeps the opened value beside it, so the write does not open
284
+ * the same envelope again.
268
285
  */
269
286
  #recentRead;
270
287
  /**
271
288
  * Records a read as the next write's baseline (see {@link #recentRead}).
272
289
  *
273
- * @param read {object | null} the stored object and its validator
290
+ * @param read {object | null} the stored object and its validator, with
291
+ * its `custom` as opened through the codec when the read decoded it
274
292
  * @returns {void}
275
293
  */
276
294
  #remember(read) {
277
295
  this.#recentRead =
278
296
  read !== null && read.etag !== undefined
279
- ? { metadata: read.metadata, etag: read.etag }
297
+ ? { ...read, etag: read.etag }
280
298
  : undefined;
281
299
  }
282
300
  /**
@@ -287,7 +305,7 @@ export class Collection {
287
305
  * rather than merely rebasable.
288
306
  *
289
307
  * @param [ifMatch] {string} the caller's precondition, when it named one
290
- * @returns {{ metadata: StoredCollectionMetadata; etag: string } | undefined}
308
+ * @returns {object | undefined} the remembered read
291
309
  */
292
310
  #takeRecentRead(ifMatch) {
293
311
  const recent = this.#recentRead;
@@ -331,7 +349,8 @@ export class Collection {
331
349
  *
332
350
  * @param options {object}
333
351
  * @param options.compose {function} the stored object (`null` when there is
334
- * none) to the write body, minus `id`
352
+ * none) to the write body, minus `id`; also handed the stored `custom` as
353
+ * opened through the codec, when the baseline is a read that opened it
335
354
  * @param options.operation {string} what the caller is doing, for the
336
355
  * compare-and-swap exhaustion error
337
356
  * @param [options.current] {object} an object the caller has already read,
@@ -370,16 +389,18 @@ export class Collection {
370
389
  return put(await compose(null), { ifNoneMatch: true });
371
390
  }
372
391
  // A fresh baseline: this handle's most recent read, then a `GET`. The
373
- // recent read is consumed once, so a rebase always issues the `GET`.
392
+ // recent read is consumed once, so a rebase always issues the `GET`. The
393
+ // baseline is the whole read, so the opened `custom` a remembered read
394
+ // carries reaches `compose` with the object it was opened from.
374
395
  const read = async () => {
375
396
  const recent = this.#takeRecentRead(ifMatch);
376
397
  if (recent !== undefined) {
377
- return { value: recent.metadata, etag: recent.etag };
398
+ return { value: recent, etag: recent.etag };
378
399
  }
379
400
  const stored = await this.#readStored();
380
401
  this.#recentRead = undefined;
381
402
  if (stored !== null) {
382
- return { value: stored.metadata, etag: stored.etag };
403
+ return { value: stored, etag: stored.etag };
383
404
  }
384
405
  if (allowAbsent !== true) {
385
406
  throw new NotFoundError(`Cannot ${operation.toLowerCase()} on collection "${this.id}": it ` +
@@ -392,17 +413,21 @@ export class Collection {
392
413
  return { value: null };
393
414
  };
394
415
  // The caller's own read, when it supplied one, is the first baseline.
395
- const seed = current != null
396
- ? { value: current.metadata, etag: current.etag }
397
- : undefined;
416
+ const seed = current != null ? { value: current, etag: current.etag } : undefined;
417
+ const composeFrom = (baseline) => baseline === null
418
+ ? compose(null)
419
+ : compose(baseline.metadata, baseline.opened);
398
420
  if (ifMatch !== undefined) {
399
- const attempt = seed ?? (await read());
400
- return put(await compose(attempt.value), { ifMatch });
421
+ // The caller's read is the baseline only when it is the version the
422
+ // write pins against; a stale one would merge over the changes between
423
+ // the two versions, and the server would accept the result.
424
+ const attempt = seed !== undefined && seed.etag === ifMatch ? seed : await read();
425
+ return put(await composeFrom(attempt.value), { ifMatch });
401
426
  }
402
427
  return composeAndSwap({
403
428
  read,
404
429
  ...(seed !== undefined && { current: seed }),
405
- compose,
430
+ compose: composeFrom,
406
431
  write: put,
407
432
  operation
408
433
  });
@@ -416,7 +441,12 @@ export class Collection {
416
441
  *
417
442
  * The merge runs against the same read the write is pinned to, and rebases
418
443
  * with it: a rival configuration change landing in between is re-read and
419
- * merged over rather than re-applied stale.
444
+ * merged over rather than re-applied stale. That covers the `encryption`
445
+ * descriptor too, which the merge carries forward whole: a reader escrowed
446
+ * into the current epoch by a concurrent `addRecipient` is re-read on the
447
+ * rebase, so this write never sends the roster without that reader's
448
+ * wrapped key. Pass `ifMatch` to pin the write to a validator of your own
449
+ * instead, and see a lost race as `PreconditionFailedError`.
420
450
  *
421
451
  * The merge needs a readable current object to be lost-update-safe, and the
422
452
  * read cannot distinguish "absent" from "unreadable" (WAS masks unauthorized
@@ -447,12 +477,17 @@ export class Collection {
447
477
  * rather than merged forward. `null` means the caller read it and found
448
478
  * the collection absent or unreadable; omitting the member entirely is
449
479
  * what asks for the read
480
+ * @param [desc.ifMatch] {string} the caller's own validator (the `etag`
481
+ * from {@link describeWithEtag}): the merge then runs once against the
482
+ * version it names and a lost race surfaces as `PreconditionFailedError`
483
+ * instead of being rebased, for a caller whose decision to write depends
484
+ * on what it read. A pinned write is to an object the caller has read, so
485
+ * an unreadable one is `NotFoundError`, not a create
450
486
  * @returns {Promise<{ description: CollectionMetadata; etag?: string }>}
451
487
  * the `description` as merged and written by the last attempt, together
452
- * with that write's `etag` -- the validator to pass to
453
- * {@link replaceDescription}'s `ifMatch` for a follow-on
454
- * compare-and-swap. `etag` is absent only where the header did not reach
455
- * the client
488
+ * with that write's `etag` -- the validator to pass to a follow-on
489
+ * `ifMatch` for a compare-and-swap. `etag` is absent only where the header
490
+ * did not reach the client
456
491
  */
457
492
  async configure(desc) {
458
493
  // What the last compose attempt merged, for the echoed return below (the
@@ -475,8 +510,11 @@ export class Collection {
475
510
  }
476
511
  : undefined,
477
512
  // The merge is the upsert: with nothing stored there is nothing to merge
478
- // forward, and the guard below decides whether that is safe.
479
- allowAbsent: true,
513
+ // forward, and the guard below decides whether that is safe. A write
514
+ // pinned to the caller's validator is to an object it has read, so for
515
+ // it an unreadable object is a lost Collection rather than a create.
516
+ allowAbsent: desc.ifMatch === undefined,
517
+ ifMatch: desc.ifMatch,
480
518
  compose: stored => {
481
519
  const current = stored === null ? null : asCollectionMetadata(stored);
482
520
  // Each protected field is checked on its own terms. Supplying one does
@@ -662,9 +700,14 @@ export class Collection {
662
700
  if (from === null || to === null) {
663
701
  return {};
664
702
  }
665
- const slot = { kind: 'collection' };
666
- const opened = await from.decodeMeta({ custom: stored.custom }, slot);
667
- const { custom, epoch } = await to.encodeMeta({ custom: opened, slot });
703
+ const opened = await openStoredCustom({ codec: from, stored });
704
+ if (opened === null) {
705
+ return {};
706
+ }
707
+ const { custom, epoch } = await to.encodeMeta({
708
+ custom: opened,
709
+ slot: { kind: 'collection' }
710
+ });
668
711
  return { custom, ...(epoch !== undefined && { epoch }) };
669
712
  }
670
713
  catch {
@@ -734,10 +777,11 @@ export class Collection {
734
777
  // Resolving the codec on a blinded-index collection reads `meta` itself
735
778
  // (for the index schema). When this call is the one that started that
736
779
  // resolution, its snapshot is this read's answer -- take it rather than
737
- // GETting and decrypting the same document twice. Every other caller gets
738
- // no snapshot and reads for itself, so a `meta()` never serves a
739
- // point-in-time copy another client may have overwritten since.
740
- const { codec, meta } = await this.#codecHolder.resolve();
780
+ // GETting and decrypting the same document twice, and keep the read behind
781
+ // it as the next write's baseline, as the `GET` below would be kept. Every
782
+ // other caller gets no snapshot and reads for itself, so a `meta()` never
783
+ // serves a point-in-time copy another client may have overwritten since.
784
+ const { codec, meta } = await this.#resolveSnapshot();
741
785
  if (meta !== undefined) {
742
786
  return meta;
743
787
  }
@@ -757,11 +801,26 @@ export class Collection {
757
801
  }
758
802
  /**
759
803
  * Replaces the Collection's user-writable annotations (`custom`). This is a
760
- * full replacement of `custom`: any property omitted from it is cleared, and
761
- * an omitted `custom` clears them all. The Collection's configuration
762
- * members are carried forward -- the same `PUT` replaces the whole
763
- * Collection Metadata object, so they are read and re-sent rather than
764
- * dropped.
804
+ * full replacement of `custom`: any annotation omitted from it is cleared,
805
+ * and an omitted `custom` clears every annotation. The Collection's
806
+ * configuration members are carried forward -- the same `PUT` replaces the
807
+ * whole Collection Metadata object, so they are read and re-sent rather
808
+ * than dropped.
809
+ *
810
+ * One member of `custom` is carried forward the same way, and is the one
811
+ * exception to the full replacement: the persisted `indexSchema` that
812
+ * {@link declareIndex} stores there. It is collection state this library
813
+ * owns, not an annotation the caller is replacing, so a `custom` with no
814
+ * `indexSchema` member of its own (and an omitted `custom`) keeps the stored
815
+ * one. A `custom` that names `indexSchema` is sent as given, and installs
816
+ * what it names on this handle's codec, as {@link declareIndex} does. That
817
+ * is also how the stored schema is dropped: a `custom` carrying
818
+ * `indexSchema: undefined` names the member, so nothing is carried forward,
819
+ * and the undefined member is omitted from the serialized write. Carrying
820
+ * the schema forward opens the stored `custom` through the codec (reusing
821
+ * the open a preceding {@link meta} read performed). A stored `custom` this
822
+ * client cannot open carries nothing, so the write still replaces it as
823
+ * given.
765
824
  *
766
825
  * On an encrypted collection `custom` is encrypted into an opaque envelope by
767
826
  * the codec before it is sent, so `name` / `tags` are never stored as
@@ -787,7 +846,8 @@ export class Collection {
787
846
  * @param meta {object}
788
847
  * @param [meta.custom] {ResourceMetadataCustomInput} the user-writable
789
848
  * properties; extra members beyond `name` / `tags` are admitted (this
790
- * Collection-level `custom` also carries the persisted `indexSchema`)
849
+ * Collection-level `custom` also carries the persisted `indexSchema`,
850
+ * which is carried forward from the stored object when omitted here)
791
851
  * while `name` / `tags` themselves stay checked at their stored types
792
852
  * @param options {object}
793
853
  * @param [options.ifMatch] {string} update only if the `ETag` matches
@@ -797,21 +857,32 @@ export class Collection {
797
857
  */
798
858
  async setMeta(meta = {}, options = {}) {
799
859
  const codec = await this.#codecForWrite(options.ifNoneMatch === true);
800
- const { custom, epoch } = await codec.encodeMeta({
801
- custom: meta.custom ?? {},
802
- slot: { kind: 'collection' }
803
- });
860
+ const slot = { kind: 'collection' };
861
+ // The `custom` the winning attempt sent, schema member included: the
862
+ // handle's codec is brought to the schema it holds once the write lands,
863
+ // so this handle blinds and gates under what it just wrote.
864
+ let sent = meta.custom ?? {};
804
865
  const { etag } = await this.#writeStored({
805
866
  // The configuration members come from the stored object and the
806
- // annotations from this call. The epoch stamp describes the `custom`
807
- // envelope itself, so it is re-stated with it; the server clears the
808
- // stored stamp when the member is omitted, which is exactly right on a
809
- // plaintext collection, whose codec surfaces no epoch.
810
- compose: stored => ({
811
- ...carriedForward(stored ?? {}, { replacing: ANNOTATION_MEMBERS }),
812
- custom,
813
- ...(epoch !== undefined && { epoch })
814
- }),
867
+ // annotations from this call, except the index schema, which the
868
+ // annotations keep unless they state their own. The epoch stamp
869
+ // describes the `custom` envelope itself, so it is re-stated with it;
870
+ // the server clears the stored stamp when the member is omitted, which
871
+ // is exactly right on a plaintext collection, whose codec surfaces no
872
+ // epoch.
873
+ compose: async (stored, opened) => {
874
+ sent = await withStoredIndexSchema({
875
+ custom: meta.custom ?? {},
876
+ stored: async () => opened ??
877
+ (stored === null ? null : await openStoredCustom({ codec, stored }))
878
+ });
879
+ const { custom, epoch } = await codec.encodeMeta({ custom: sent, slot });
880
+ return {
881
+ ...carriedForward(stored ?? {}, { replacing: ANNOTATION_MEMBERS }),
882
+ custom,
883
+ ...(epoch !== undefined && { epoch })
884
+ };
885
+ },
815
886
  operation: 'Collection metadata update',
816
887
  // The create states its own absence; every other annotation write is
817
888
  // about a Collection that exists, and an unreadable one is refused
@@ -820,6 +891,7 @@ export class Collection {
820
891
  ifMatch: options.ifMatch,
821
892
  ifNoneMatch: options.ifNoneMatch
822
893
  });
894
+ codec.indexing?.applySchema(readIndexSchema(sent));
823
895
  return { etag };
824
896
  }
825
897
  /**
@@ -1008,7 +1080,7 @@ export class Collection {
1008
1080
  * @returns {Promise<{ indexing: CodecIndexing; meta?: (CollectionMetadata & { etag?: string }) | null }>}
1009
1081
  */
1010
1082
  async #resolveIndexing(operation) {
1011
- const { codec, meta } = await this.#codecHolder.resolve();
1083
+ const { codec, meta } = await this.#resolveSnapshot();
1012
1084
  if (!codec.indexing) {
1013
1085
  throw new ValidationError(`Cannot ${operation} on collection "${this.id}": it carries no ` +
1014
1086
  'client-side search index. Only an encrypted collection provisioned ' +
@@ -1470,10 +1542,11 @@ export class Collection {
1470
1542
  * The query is sent as a `POST` whose body carries the parameters, or in
1471
1543
  * the read-only `GET` form with the parameters in the query string, which
1472
1544
  * the server verifies under the `GET` action and answers with the same page.
1473
- * A capability whose `allowedAction` excludes `POST` (a GET-only pull
1474
- * capability, say) reads the feed with `GET`, since the `POST` form refuses
1475
- * it with `NotFoundError`; every other handle sends `POST`. `method`
1476
- * overrides the derived form.
1545
+ * A capability whose `allowedAction` excludes `POST` (a GET and HEAD grant
1546
+ * on the collection, say, which is what a subscription agent holds) reads
1547
+ * the feed with `GET`, since the `POST` form refuses it with
1548
+ * `NotFoundError`; every other handle sends `POST`. `method` overrides the
1549
+ * derived form.
1477
1550
  *
1478
1551
  * @param [options] {object}
1479
1552
  * @param [options.checkpoint] {ChangesCheckpoint} opaque checkpoint from a prior page; resume strictly after it
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../src/Collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../src/Collection.ts"],"names":[],"mappings":"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"}
@@ -149,20 +149,29 @@ export declare class Resource {
149
149
  *
150
150
  * On an encrypted collection, a binary payload over the codec's
151
151
  * `maxBlobBytes` is stored as a document plus chunk resources, as `add()`
152
- * stores it, but only where no document is stored at this id yet: it
153
- * creates the resource, and over an existing document it throws
154
- * `ValidationError`. A 412 surfaces as for any other create, and a 507 as
155
- * `QuotaExceededError`. A write that fails partway deletes what it wrote;
156
- * one that could not leaves a pending stub, which the EDV doc cipher's
157
- * `isPendingStub` recognizes and `delete()` removes with its chunks.
152
+ * stores it, whether it creates the resource or replaces the document
153
+ * stored at this id. A 412 surfaces as for any other write by id, and a 507
154
+ * as `QuotaExceededError`. A create that fails partway deletes what it
155
+ * wrote; one that could not leaves a pending stub, which the EDV doc
156
+ * cipher's `isPendingStub` recognizes and `delete()` removes with its
157
+ * chunks. A replace that fails partway leaves the stub in place of the
158
+ * document it overwrote, for the next `put()` at this id to replace, or for
159
+ * `delete()`.
160
+ *
161
+ * Replacing a document whose bytes live in chunk resources, with any
162
+ * payload, reaps the chunks the new document does not cover once it is
163
+ * stored: all of them under an inline document, those at or past the new
164
+ * count under a chunked one. The new document's sealed state already makes
165
+ * them unreachable, so a reap that fails after the write is stored surfaces
166
+ * as `EncryptionError` naming the chunks still stored; deleting the resource
167
+ * removes them.
158
168
  *
159
169
  * A `ReadableStream<Uint8Array>` is accepted on an encrypted collection,
160
170
  * where it is always written through the same chunked-stream path, without
161
- * buffering, whatever its size. It is subject to the same create-only rule:
162
- * over an existing document it is refused with `ValidationError` before the
163
- * stream is read. On a plaintext collection a stream is refused with
164
- * `ValidationError`, since a signed request carries a `Digest` of its whole
165
- * body; buffer it into a `Blob` there.
171
+ * buffering, whatever its size, creating or replacing alike. On a plaintext
172
+ * collection a stream is refused with `ValidationError`, since a signed
173
+ * request carries a `Digest` of its whole body; buffer it into a `Blob`
174
+ * there.
166
175
  *
167
176
  * @param data {ResourceData}
168
177
  * @param options {object}
@@ -199,6 +208,12 @@ export declare class Resource {
199
208
  * On an encrypted collection the stored `custom` is an opaque envelope; this
200
209
  * decodes it (decrypts, via the codec) so a caller always sees plaintext
201
210
  * `{ name, tags }`. A resource with no user metadata reports `custom` as `{}`.
211
+ * The server-managed `contentType` and `size` stay envelope-level there: they
212
+ * describe the stored envelope (`application/jose+json` by default, or the
213
+ * codec's configured type), not the plaintext inside it, because the
214
+ * plaintext type is sealed in the resource body and this read never opens
215
+ * that body. The plaintext type comes back from `get()` and from the `add()`
216
+ * result.
202
217
  *
203
218
  * The result also carries the metadata's current `etag` (the `/meta`
204
219
  * object's own validator) -- pass it as `setMeta(meta, { ifMatch })` for a
@@ -1 +1 @@
1
- {"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"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"}
package/dist/Resource.js CHANGED
@@ -245,20 +245,29 @@ export class Resource {
245
245
  *
246
246
  * On an encrypted collection, a binary payload over the codec's
247
247
  * `maxBlobBytes` is stored as a document plus chunk resources, as `add()`
248
- * stores it, but only where no document is stored at this id yet: it
249
- * creates the resource, and over an existing document it throws
250
- * `ValidationError`. A 412 surfaces as for any other create, and a 507 as
251
- * `QuotaExceededError`. A write that fails partway deletes what it wrote;
252
- * one that could not leaves a pending stub, which the EDV doc cipher's
253
- * `isPendingStub` recognizes and `delete()` removes with its chunks.
248
+ * stores it, whether it creates the resource or replaces the document
249
+ * stored at this id. A 412 surfaces as for any other write by id, and a 507
250
+ * as `QuotaExceededError`. A create that fails partway deletes what it
251
+ * wrote; one that could not leaves a pending stub, which the EDV doc
252
+ * cipher's `isPendingStub` recognizes and `delete()` removes with its
253
+ * chunks. A replace that fails partway leaves the stub in place of the
254
+ * document it overwrote, for the next `put()` at this id to replace, or for
255
+ * `delete()`.
256
+ *
257
+ * Replacing a document whose bytes live in chunk resources, with any
258
+ * payload, reaps the chunks the new document does not cover once it is
259
+ * stored: all of them under an inline document, those at or past the new
260
+ * count under a chunked one. The new document's sealed state already makes
261
+ * them unreachable, so a reap that fails after the write is stored surfaces
262
+ * as `EncryptionError` naming the chunks still stored; deleting the resource
263
+ * removes them.
254
264
  *
255
265
  * A `ReadableStream<Uint8Array>` is accepted on an encrypted collection,
256
266
  * where it is always written through the same chunked-stream path, without
257
- * buffering, whatever its size. It is subject to the same create-only rule:
258
- * over an existing document it is refused with `ValidationError` before the
259
- * stream is read. On a plaintext collection a stream is refused with
260
- * `ValidationError`, since a signed request carries a `Digest` of its whole
261
- * body; buffer it into a `Blob` there.
267
+ * buffering, whatever its size, creating or replacing alike. On a plaintext
268
+ * collection a stream is refused with `ValidationError`, since a signed
269
+ * request carries a `Digest` of its whole body; buffer it into a `Blob`
270
+ * there.
262
271
  *
263
272
  * @param data {ResourceData}
264
273
  * @param options {object}
@@ -314,6 +323,12 @@ export class Resource {
314
323
  * On an encrypted collection the stored `custom` is an opaque envelope; this
315
324
  * decodes it (decrypts, via the codec) so a caller always sees plaintext
316
325
  * `{ name, tags }`. A resource with no user metadata reports `custom` as `{}`.
326
+ * The server-managed `contentType` and `size` stay envelope-level there: they
327
+ * describe the stored envelope (`application/jose+json` by default, or the
328
+ * codec's configured type), not the plaintext inside it, because the
329
+ * plaintext type is sealed in the resource body and this read never opens
330
+ * that body. The plaintext type comes back from `get()` and from the `add()`
331
+ * result.
317
332
  *
318
333
  * The result also carries the metadata's current `etag` (the `/meta`
319
334
  * object's own validator) -- pass it as `setMeta(meta, { ifMatch })` for a