@interop/was-client 0.41.0 → 0.43.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 (104) 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 +18 -4
  9. package/dist/codec.d.ts.map +1 -1
  10. package/dist/codec.js.map +1 -1
  11. package/dist/edv/EdvCodec.d.ts +77 -8
  12. package/dist/edv/EdvCodec.d.ts.map +1 -1
  13. package/dist/edv/EdvCodec.js +361 -224
  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/constants.d.ts +0 -8
  18. package/dist/edv/constants.d.ts.map +1 -1
  19. package/dist/edv/constants.js +0 -8
  20. package/dist/edv/constants.js.map +1 -1
  21. package/dist/edv/descriptorStore.d.ts +10 -6
  22. package/dist/edv/descriptorStore.d.ts.map +1 -1
  23. package/dist/edv/descriptorStore.js +5 -3
  24. package/dist/edv/descriptorStore.js.map +1 -1
  25. package/dist/edv/didKeyRecipient.d.ts.map +1 -1
  26. package/dist/edv/didKeyRecipient.js +1 -1
  27. package/dist/edv/didKeyRecipient.js.map +1 -1
  28. package/dist/edv/docCipher.d.ts.map +1 -1
  29. package/dist/edv/docCipher.js +22 -38
  30. package/dist/edv/docCipher.js.map +1 -1
  31. package/dist/edv/epochCrypto.d.ts +7 -0
  32. package/dist/edv/epochCrypto.d.ts.map +1 -1
  33. package/dist/edv/epochCrypto.js +12 -5
  34. package/dist/edv/epochCrypto.js.map +1 -1
  35. package/dist/edv/epochKeys.d.ts.map +1 -1
  36. package/dist/edv/epochKeys.js +21 -37
  37. package/dist/edv/epochKeys.js.map +1 -1
  38. package/dist/edv/epochRoster.d.ts +24 -0
  39. package/dist/edv/epochRoster.d.ts.map +1 -1
  40. package/dist/edv/epochRoster.js +26 -0
  41. package/dist/edv/epochRoster.js.map +1 -1
  42. package/dist/edv/index.d.ts +2 -2
  43. package/dist/edv/index.d.ts.map +1 -1
  44. package/dist/edv/index.js +1 -1
  45. package/dist/edv/index.js.map +1 -1
  46. package/dist/edv/recipients.d.ts +2 -2
  47. package/dist/edv/recipients.d.ts.map +1 -1
  48. package/dist/edv/recipients.js +238 -202
  49. package/dist/edv/recipients.js.map +1 -1
  50. package/dist/internal/codec.d.ts.map +1 -1
  51. package/dist/internal/codec.js +5 -18
  52. package/dist/internal/codec.js.map +1 -1
  53. package/dist/internal/conditional.d.ts +33 -2
  54. package/dist/internal/conditional.d.ts.map +1 -1
  55. package/dist/internal/conditional.js +52 -0
  56. package/dist/internal/conditional.js.map +1 -1
  57. package/dist/internal/content.d.ts +7 -0
  58. package/dist/internal/content.d.ts.map +1 -1
  59. package/dist/internal/content.js +7 -0
  60. package/dist/internal/content.js.map +1 -1
  61. package/dist/internal/features.d.ts.map +1 -1
  62. package/dist/internal/features.js +9 -9
  63. package/dist/internal/features.js.map +1 -1
  64. package/dist/internal/indexSchema.d.ts +0 -10
  65. package/dist/internal/indexSchema.d.ts.map +1 -1
  66. package/dist/internal/indexSchema.js +1 -1
  67. package/dist/internal/indexSchema.js.map +1 -1
  68. package/dist/internal/memo.d.ts +39 -0
  69. package/dist/internal/memo.d.ts.map +1 -0
  70. package/dist/internal/memo.js +59 -0
  71. package/dist/internal/memo.js.map +1 -0
  72. package/dist/internal/meta.d.ts +92 -0
  73. package/dist/internal/meta.d.ts.map +1 -0
  74. package/dist/internal/meta.js +126 -0
  75. package/dist/internal/meta.js.map +1 -0
  76. package/dist/internal/pagination.js +1 -1
  77. package/dist/internal/pagination.js.map +1 -1
  78. package/dist/internal/withCodec.d.ts +26 -0
  79. package/dist/internal/withCodec.d.ts.map +1 -0
  80. package/dist/internal/withCodec.js +15 -0
  81. package/dist/internal/withCodec.js.map +1 -0
  82. package/dist/internal/write.d.ts +5 -8
  83. package/dist/internal/write.d.ts.map +1 -1
  84. package/dist/internal/write.js +25 -11
  85. package/dist/internal/write.js.map +1 -1
  86. package/dist/log/logStore.d.ts +6 -3
  87. package/dist/log/logStore.d.ts.map +1 -1
  88. package/dist/log/logStore.js +6 -3
  89. package/dist/log/logStore.js.map +1 -1
  90. package/dist/sync/cid.d.ts.map +1 -1
  91. package/dist/sync/cid.js +1 -6
  92. package/dist/sync/cid.js.map +1 -1
  93. package/dist/sync/index.d.ts +2 -1
  94. package/dist/sync/index.d.ts.map +1 -1
  95. package/dist/sync/index.js +5 -1
  96. package/dist/sync/index.js.map +1 -1
  97. package/dist/sync/port.d.ts +0 -14
  98. package/dist/sync/port.d.ts.map +1 -1
  99. package/dist/sync/port.js +6 -19
  100. package/dist/sync/port.js.map +1 -1
  101. package/dist/sync/provisioning.d.ts.map +1 -1
  102. package/dist/sync/provisioning.js +23 -2
  103. package/dist/sync/provisioning.js.map +1 -1
  104. package/package.json +1 -1
package/dist/codec.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAiLA;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,OAAQ,KAAsB,CAAC,OAAO,KAAK,IAAI,CAAA;AACjD,CAAC"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAwLA;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,OAAQ,KAAsB,CAAC,OAAO,KAAK,IAAI,CAAA;AACjD,CAAC"}
@@ -1,8 +1,41 @@
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';
5
+ import { WasTransport } from './WasTransport.js';
4
6
  import type { BlindingKey } from './hmacKey.js';
5
7
  import type { CollectionEncryption, Json, ResourceData, ResourceMetadataCustom, ResourceMetadataCustomInput } from '../types.js';
8
+ /**
9
+ * Builds the `WasTransport` a codec's chunked-stream paths drive, over the
10
+ * signed requester core of one request. Injected into {@link EdvCodec} by the
11
+ * build that knows where the Collection lives (a Space on a server); a codec
12
+ * built without one has no server behind it and refuses the chunked path.
13
+ *
14
+ * @param options {object}
15
+ * @param options.context {CodecRequestContext} the signed-request context
16
+ * @param [options.documentHeaders] {Record<string, string>} extra headers
17
+ * for document writes (the `Key-Epoch` stamp the codec seam applies)
18
+ * @returns {WasTransport}
19
+ */
20
+ export type CodecTransportFactory = (options: {
21
+ context: CodecRequestContext;
22
+ documentHeaders?: Record<string, string>;
23
+ }) => WasTransport;
24
+ /**
25
+ * Builds the transport factory for a Collection reachable over WAS: the
26
+ * codec's route to its own document and chunk resources on the server.
27
+ *
28
+ * @param options {object}
29
+ * @param options.spaceId {string} the Space holding the Collection
30
+ * @param options.collectionId {string} the Collection
31
+ * @param options.contentType {string} stored envelope content type
32
+ * @returns {CodecTransportFactory}
33
+ */
34
+ export declare function wasTransportFactory({ spaceId, collectionId, contentType }: {
35
+ spaceId: string;
36
+ collectionId: string;
37
+ contentType: string;
38
+ }): CodecTransportFactory;
6
39
  /**
7
40
  * A {@link ResourceCodec} that encrypts on write and decrypts on read using an
8
41
  * `EdvClientCore`'s public `documentCipher`. One instance is bound per encrypted
@@ -37,8 +70,9 @@ export declare class EdvCodec implements ResourceCodec {
37
70
  * JWE ciphertext, content-addressed)
38
71
  * @param [options.version] {number} the EDV-over-WAS scheme version to bind
39
72
  * into each envelope's `was.v` (defaults to {@link EDV_SCHEME_VERSION})
40
- * @param options.spaceId {string} the Space holding the Collection, for the
41
- * chunked-stream path's own transport
73
+ * @param [options.transportFactory] {CodecTransportFactory} builds the
74
+ * transport the chunked-stream path drives; omitted by a build with no
75
+ * server behind it, which then refuses that path
42
76
  * @param options.collectionId {string} the Collection this codec reads and
43
77
  * writes: bound into the Collection metadata envelope's `was.collection`
44
78
  * (and checked on read), and it labels decrypt-routing errors
@@ -48,7 +82,7 @@ export declare class EdvCodec implements ResourceCodec {
48
82
  * @param [options.hmac] {BlindingKey} the collection's blinded-index key,
49
83
  * where it declares one
50
84
  */
51
- constructor({ edv, keyAgreementKey, readKeys, writeEpoch, contentType, maxBlobBytes, chunkSize, idDerivation, version, spaceId, collectionId, epochIds, hmac }: {
85
+ constructor({ edv, keyAgreementKey, readKeys, writeEpoch, contentType, maxBlobBytes, chunkSize, idDerivation, version, transportFactory, collectionId, epochIds, hmac }: {
52
86
  edv: EdvClientCore;
53
87
  keyAgreementKey: IKeyAgreementKey;
54
88
  readKeys: IKeyAgreementKey[];
@@ -58,7 +92,7 @@ export declare class EdvCodec implements ResourceCodec {
58
92
  chunkSize?: number;
59
93
  idDerivation: 'random' | 'content';
60
94
  version?: number;
61
- spaceId: string;
95
+ transportFactory?: CodecTransportFactory;
62
96
  collectionId: string;
63
97
  epochIds: string[];
64
98
  hmac?: BlindingKey | null;
@@ -76,11 +110,12 @@ export declare class EdvCodec implements ResourceCodec {
76
110
  /**
77
111
  * @inheritdoc
78
112
  */
79
- encode({ id, data, contentType, current }: {
113
+ encode({ id, data, contentType, current, precondition }: {
80
114
  id?: string;
81
115
  data: ResourceData;
82
116
  contentType?: string;
83
117
  current?: ResponseLike | null;
118
+ precondition?: WritePrecondition;
84
119
  }): Promise<CodecWrite>;
85
120
  /**
86
121
  * @inheritdoc
@@ -190,6 +225,42 @@ export declare function createEdvEncryption({ resolveKeys, contentType, maxBlobB
190
225
  chunkSize?: number;
191
226
  idDerivation?: 'random' | 'content';
192
227
  }): EncryptionProvider;
228
+ /**
229
+ * Builds the {@link EdvCodec} for one encrypted collection from a reader's
230
+ * keys and the collection's encryption descriptor. The whole of the codec
231
+ * build that follows key resolution: the fail-closed descriptor guard, the
232
+ * reader's per-epoch keys, the collection's blinding key, and the EDV core the
233
+ * codec drives. Shared by the keystore provider (`createEdvEncryption`'s
234
+ * `codecFor`, which resolves the keys first) and by the local-replica cipher,
235
+ * which holds its keys already.
236
+ *
237
+ * @param options {object}
238
+ * @param options.collectionId {string} the collection's WAS id
239
+ * @param [options.label] {string} how the collection is named in errors;
240
+ * defaults to its id alone, which is all a build with no Space knows
241
+ * @param [options.transportFactory] {CodecTransportFactory} builds the
242
+ * transport the chunked-stream path drives; omitted by the local-replica
243
+ * build, which has no server to address
244
+ * @param [options.encryption] {CollectionEncryption} the collection's
245
+ * encryption descriptor; must carry the key-epoch roster
246
+ * @param options.keys {EdvKeys} the reader's key material
247
+ * @param options.idDerivation {'random' | 'content'} how `add()` mints ids
248
+ * @param [options.contentType] {string} stored envelope content type
249
+ * @param [options.maxBlobBytes] {number} the single-document threshold
250
+ * @param [options.chunkSize] {number} the size of each encrypted chunk
251
+ * @returns {Promise<EdvCodec>}
252
+ */
253
+ export declare function buildEdvCodec({ collectionId, label, transportFactory, encryption, keys, idDerivation, contentType, maxBlobBytes, chunkSize }: {
254
+ collectionId: string;
255
+ label?: string;
256
+ transportFactory?: CodecTransportFactory;
257
+ encryption?: CollectionEncryption;
258
+ keys: EdvKeys;
259
+ idDerivation: 'random' | 'content';
260
+ contentType?: string;
261
+ maxBlobBytes?: number;
262
+ chunkSize?: number;
263
+ }): Promise<EdvCodec>;
193
264
  /**
194
265
  * Builds a write-only {@link EdvCodec} for one encrypted collection from its
195
266
  * descriptor alone -- no key-agreement secret anywhere. Encryption in this
@@ -215,13 +286,11 @@ export declare function createEdvEncryption({ resolveKeys, contentType, maxBlobB
215
286
  * @param options.idDerivation {'content' | 'random'} how ids are minted
216
287
  * @param options.encryption {CollectionEncryption} the collection's
217
288
  * descriptor; must carry the key-epoch roster
218
- * @param [options.contentType] {string} stored envelope content type
219
289
  * @returns {Promise<EdvCodec>}
220
290
  */
221
- export declare function encryptOnlyEdvCodec({ collectionId, idDerivation, encryption, contentType }: {
291
+ export declare function encryptOnlyEdvCodec({ collectionId, idDerivation, encryption }: {
222
292
  collectionId: string;
223
293
  idDerivation: 'content' | 'random';
224
294
  encryption: CollectionEncryption;
225
- contentType?: string;
226
295
  }): Promise<EdvCodec>;
227
296
  //# 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":"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"}