@interop/was-client 0.40.2 → 0.42.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 (96) hide show
  1. package/dist/Collection.d.ts.map +1 -1
  2. package/dist/Collection.js +27 -83
  3. package/dist/Collection.js.map +1 -1
  4. package/dist/Resource.d.ts +10 -7
  5. package/dist/Resource.d.ts.map +1 -1
  6. package/dist/Resource.js +32 -99
  7. package/dist/Resource.js.map +1 -1
  8. package/dist/codec.d.ts +12 -3
  9. package/dist/codec.d.ts.map +1 -1
  10. package/dist/codec.js.map +1 -1
  11. package/dist/edv/EdvCodec.d.ts +35 -4
  12. package/dist/edv/EdvCodec.d.ts.map +1 -1
  13. package/dist/edv/EdvCodec.js +296 -200
  14. package/dist/edv/EdvCodec.js.map +1 -1
  15. package/dist/edv/WasTransport.js +2 -2
  16. package/dist/edv/WasTransport.js.map +1 -1
  17. package/dist/edv/descriptorStore.d.ts +10 -6
  18. package/dist/edv/descriptorStore.d.ts.map +1 -1
  19. package/dist/edv/descriptorStore.js +5 -3
  20. package/dist/edv/descriptorStore.js.map +1 -1
  21. package/dist/edv/didKeyRecipient.d.ts.map +1 -1
  22. package/dist/edv/didKeyRecipient.js +1 -1
  23. package/dist/edv/didKeyRecipient.js.map +1 -1
  24. package/dist/edv/docCipher.d.ts.map +1 -1
  25. package/dist/edv/docCipher.js +11 -30
  26. package/dist/edv/docCipher.js.map +1 -1
  27. package/dist/edv/epochCrypto.d.ts +7 -0
  28. package/dist/edv/epochCrypto.d.ts.map +1 -1
  29. package/dist/edv/epochCrypto.js +12 -5
  30. package/dist/edv/epochCrypto.js.map +1 -1
  31. package/dist/edv/epochKeys.d.ts.map +1 -1
  32. package/dist/edv/epochKeys.js +21 -37
  33. package/dist/edv/epochKeys.js.map +1 -1
  34. package/dist/edv/epochRoster.d.ts +24 -0
  35. package/dist/edv/epochRoster.d.ts.map +1 -1
  36. package/dist/edv/epochRoster.js +26 -0
  37. package/dist/edv/epochRoster.js.map +1 -1
  38. package/dist/edv/recipients.d.ts +12 -10
  39. package/dist/edv/recipients.d.ts.map +1 -1
  40. package/dist/edv/recipients.js +254 -199
  41. package/dist/edv/recipients.js.map +1 -1
  42. package/dist/internal/codec.d.ts.map +1 -1
  43. package/dist/internal/codec.js +5 -18
  44. package/dist/internal/codec.js.map +1 -1
  45. package/dist/internal/conditional.d.ts +33 -2
  46. package/dist/internal/conditional.d.ts.map +1 -1
  47. package/dist/internal/conditional.js +52 -0
  48. package/dist/internal/conditional.js.map +1 -1
  49. package/dist/internal/content.d.ts +7 -0
  50. package/dist/internal/content.d.ts.map +1 -1
  51. package/dist/internal/content.js +7 -0
  52. package/dist/internal/content.js.map +1 -1
  53. package/dist/internal/features.d.ts.map +1 -1
  54. package/dist/internal/features.js +9 -9
  55. package/dist/internal/features.js.map +1 -1
  56. package/dist/internal/indexSchema.d.ts +0 -10
  57. package/dist/internal/indexSchema.d.ts.map +1 -1
  58. package/dist/internal/indexSchema.js +1 -1
  59. package/dist/internal/indexSchema.js.map +1 -1
  60. package/dist/internal/memo.d.ts +39 -0
  61. package/dist/internal/memo.d.ts.map +1 -0
  62. package/dist/internal/memo.js +59 -0
  63. package/dist/internal/memo.js.map +1 -0
  64. package/dist/internal/meta.d.ts +92 -0
  65. package/dist/internal/meta.d.ts.map +1 -0
  66. package/dist/internal/meta.js +126 -0
  67. package/dist/internal/meta.js.map +1 -0
  68. package/dist/internal/pagination.js +1 -1
  69. package/dist/internal/pagination.js.map +1 -1
  70. package/dist/internal/withCodec.d.ts +26 -0
  71. package/dist/internal/withCodec.d.ts.map +1 -0
  72. package/dist/internal/withCodec.js +15 -0
  73. package/dist/internal/withCodec.js.map +1 -0
  74. package/dist/internal/write.d.ts +5 -8
  75. package/dist/internal/write.d.ts.map +1 -1
  76. package/dist/internal/write.js +25 -11
  77. package/dist/internal/write.js.map +1 -1
  78. package/dist/log/logStore.d.ts +6 -3
  79. package/dist/log/logStore.d.ts.map +1 -1
  80. package/dist/log/logStore.js +6 -3
  81. package/dist/log/logStore.js.map +1 -1
  82. package/dist/sync/cid.d.ts.map +1 -1
  83. package/dist/sync/cid.js +1 -6
  84. package/dist/sync/cid.js.map +1 -1
  85. package/dist/sync/index.d.ts +2 -1
  86. package/dist/sync/index.d.ts.map +1 -1
  87. package/dist/sync/index.js +5 -1
  88. package/dist/sync/index.js.map +1 -1
  89. package/dist/sync/port.d.ts +0 -14
  90. package/dist/sync/port.d.ts.map +1 -1
  91. package/dist/sync/port.js +6 -19
  92. package/dist/sync/port.js.map +1 -1
  93. package/dist/sync/provisioning.d.ts.map +1 -1
  94. package/dist/sync/provisioning.js +23 -2
  95. package/dist/sync/provisioning.js.map +1 -1
  96. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { EdvClientCore } from '@interop/edv-client';
2
2
  import type { IKeyAgreementKey, IKeyResolver } from '@interop/data-integrity-core';
3
3
  import type { CodecIndexing, CodecRequestContext, CodecWrite, EncryptionProvider, ResourceCodec, ResponseLike } from '../codec.js';
4
+ import type { WritePrecondition } from '../internal/conditional.js';
4
5
  import type { BlindingKey } from './hmacKey.js';
5
6
  import type { CollectionEncryption, Json, ResourceData, ResourceMetadataCustom, ResourceMetadataCustomInput } from '../types.js';
6
7
  /**
@@ -76,11 +77,12 @@ export declare class EdvCodec implements ResourceCodec {
76
77
  /**
77
78
  * @inheritdoc
78
79
  */
79
- encode({ id, data, contentType, current }: {
80
+ encode({ id, data, contentType, current, precondition }: {
80
81
  id?: string;
81
82
  data: ResourceData;
82
83
  contentType?: string;
83
84
  current?: ResponseLike | null;
85
+ precondition?: WritePrecondition;
84
86
  }): Promise<CodecWrite>;
85
87
  /**
86
88
  * @inheritdoc
@@ -190,6 +192,37 @@ export declare function createEdvEncryption({ resolveKeys, contentType, maxBlobB
190
192
  chunkSize?: number;
191
193
  idDerivation?: 'random' | 'content';
192
194
  }): EncryptionProvider;
195
+ /**
196
+ * Builds the {@link EdvCodec} for one encrypted collection from a reader's
197
+ * keys and the collection's encryption descriptor. The whole of the codec
198
+ * build that follows key resolution: the fail-closed descriptor guard, the
199
+ * reader's per-epoch keys, the collection's blinding key, and the EDV core the
200
+ * codec drives. Shared by the keystore provider (`createEdvEncryption`'s
201
+ * `codecFor`, which resolves the keys first) and by the local-replica cipher,
202
+ * which holds its keys already.
203
+ *
204
+ * @param options {object}
205
+ * @param options.spaceId {string} the collection's space id; labels errors
206
+ * @param options.collectionId {string} the collection's WAS id
207
+ * @param [options.encryption] {CollectionEncryption} the collection's
208
+ * encryption descriptor; must carry the key-epoch roster
209
+ * @param options.keys {EdvKeys} the reader's key material
210
+ * @param options.idDerivation {'random' | 'content'} how `add()` mints ids
211
+ * @param [options.contentType] {string} stored envelope content type
212
+ * @param [options.maxBlobBytes] {number} the single-document threshold
213
+ * @param [options.chunkSize] {number} the size of each encrypted chunk
214
+ * @returns {Promise<EdvCodec>}
215
+ */
216
+ export declare function buildEdvCodec({ spaceId, collectionId, encryption, keys, idDerivation, contentType, maxBlobBytes, chunkSize }: {
217
+ spaceId: string;
218
+ collectionId: string;
219
+ encryption?: CollectionEncryption;
220
+ keys: EdvKeys;
221
+ idDerivation: 'random' | 'content';
222
+ contentType?: string;
223
+ maxBlobBytes?: number;
224
+ chunkSize?: number;
225
+ }): Promise<EdvCodec>;
193
226
  /**
194
227
  * Builds a write-only {@link EdvCodec} for one encrypted collection from its
195
228
  * descriptor alone -- no key-agreement secret anywhere. Encryption in this
@@ -215,13 +248,11 @@ export declare function createEdvEncryption({ resolveKeys, contentType, maxBlobB
215
248
  * @param options.idDerivation {'content' | 'random'} how ids are minted
216
249
  * @param options.encryption {CollectionEncryption} the collection's
217
250
  * descriptor; must carry the key-epoch roster
218
- * @param [options.contentType] {string} stored envelope content type
219
251
  * @returns {Promise<EdvCodec>}
220
252
  */
221
- export declare function encryptOnlyEdvCodec({ collectionId, idDerivation, encryption, contentType }: {
253
+ export declare function encryptOnlyEdvCodec({ collectionId, idDerivation, encryption }: {
222
254
  collectionId: string;
223
255
  idDerivation: 'content' | 'random';
224
256
  encryption: CollectionEncryption;
225
- contentType?: string;
226
257
  }): Promise<EdvCodec>;
227
258
  //# sourceMappingURL=EdvCodec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EdvCodec.d.ts","sourceRoot":"","sources":["../../src/edv/EdvCodec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EdvCodec.d.ts","sourceRoot":"","sources":["../../src/edv/EdvCodec.ts"],"names":[],"mappings":"AAwEA,OAAO,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAGV,gBAAgB,EAChB,YAAY,EAEb,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EAGV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAElB,aAAa,EACb,YAAY,EACb,MAAM,aAAa,CAAA;AAgBpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAMnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAQ/C,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,YAAY,EACZ,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,aAAa,CAAA;AAyIpB;;;;GAIG;AACH,qBAAa,QAAS,YAAW,aAAa;;IAC5C,QAAQ,CAAC,iBAAiB,QAAO;IAmFjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;gBACS,EACV,GAAG,EACH,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,OAAO,EACP,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,IAAI,EACL,EAAE;QACD,GAAG,EAAE,aAAa,CAAA;QAClB,eAAe,EAAE,gBAAgB,CAAA;QACjC,QAAQ,EAAE,gBAAgB,EAAE,CAAA;QAC5B,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAA;QAClC,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,MAAM,CAAA;QACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;KAC1B;IA2BD;;;;OAIG;IACH,IAAI,WAAW,IAAI,WAAW,GAAG,IAAI,CAEpC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,aAAa,GAAG,SAAS,CAExC;IAgED;;OAEG;IACG,MAAM,CAAC,EACX,EAAE,EACF,IAAI,EACJ,WAAW,EACX,OAAO,EACP,YAAY,EACb,EAAE;QACD,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,YAAY,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;QAC7B,YAAY,CAAC,EAAE,iBAAiB,CAAA;KACjC,GAAG,OAAO,CAAC,UAAU,CAAC;IA2YvB;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,YAAY,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAkdvB;;;;;;;;OAQG;IACG,UAAU,CAAC,EACf,MAAM,EACN,EAAE,EAAE,UAAU,EACf,EAAE;QACD,MAAM,EAAE,2BAA2B,CAAA;QACnC,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAwC9C;;;;;;;;;;;;OAYG;IACG,UAAU,CACd,EACE,MAAM,EACP,EAAE;QACD,MAAM,CAAC,EAAE,OAAO,CAAA;KACjB,EACD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC;CA4NnC;AAqGD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,eAAe,EAAE,gBAAgB,CAAA;IACjC,WAAW,EAAE,YAAY,CAAA;IACzB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,WAAkC,EAClC,YAAqC,EACrC,SAAS,EACT,YAAuB,EACxB,EAAE;IACD,WAAW,EAAE,CAAC,GAAG,EAAE;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,MAAM,CAAA;KACrB,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CACpC,GAAG,kBAAkB,CAkCrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,aAAa,CAAC,EAClC,OAAO,EACP,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,YAAY,EACZ,WAAkC,EAClC,YAAqC,EACrC,SAAS,EACV,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,oBAAoB,CAAA;IACjC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqDpB;AAqDD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,EAAE;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAA;IAClC,UAAU,EAAE,oBAAoB,CAAA;CACjC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiEpB"}