@interop/was-client 0.99.1 → 0.100.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 (111) hide show
  1. package/README.md +127 -69
  2. package/dist/Collection.d.ts +17 -9
  3. package/dist/Collection.d.ts.map +1 -1
  4. package/dist/Collection.js +85 -70
  5. package/dist/Collection.js.map +1 -1
  6. package/dist/Resource.d.ts +11 -4
  7. package/dist/Resource.d.ts.map +1 -1
  8. package/dist/Resource.js +34 -28
  9. package/dist/Resource.js.map +1 -1
  10. package/dist/Space.d.ts +20 -5
  11. package/dist/Space.d.ts.map +1 -1
  12. package/dist/Space.js +69 -65
  13. package/dist/Space.js.map +1 -1
  14. package/dist/WasClient.d.ts +185 -57
  15. package/dist/WasClient.d.ts.map +1 -1
  16. package/dist/WasClient.js +340 -140
  17. package/dist/WasClient.js.map +1 -1
  18. package/dist/codec.d.ts +3 -2
  19. package/dist/codec.d.ts.map +1 -1
  20. package/dist/edv/EdvCodec.js +1 -1
  21. package/dist/edv/EdvCodec.js.map +1 -1
  22. package/dist/edv/WasTransport.d.ts +7 -4
  23. package/dist/edv/WasTransport.d.ts.map +1 -1
  24. package/dist/edv/WasTransport.js +39 -20
  25. package/dist/edv/WasTransport.js.map +1 -1
  26. package/dist/edv/acquire.d.ts +3 -3
  27. package/dist/edv/acquire.d.ts.map +1 -1
  28. package/dist/edv/acquire.js +3 -3
  29. package/dist/edv/acquire.js.map +1 -1
  30. package/dist/edv/cipher.d.ts +1 -1
  31. package/dist/edv/cipher.js +1 -1
  32. package/dist/edv/docCipher.d.ts +6 -5
  33. package/dist/edv/docCipher.d.ts.map +1 -1
  34. package/dist/edv/docCipher.js +6 -5
  35. package/dist/edv/docCipher.js.map +1 -1
  36. package/dist/edv/encryption.d.ts +2 -2
  37. package/dist/edv/encryption.d.ts.map +1 -1
  38. package/dist/edv/encryption.js +8 -6
  39. package/dist/edv/encryption.js.map +1 -1
  40. package/dist/edv/refreshingDocCipher.d.ts +3 -3
  41. package/dist/edv/refreshingDocCipher.d.ts.map +1 -1
  42. package/dist/edv/refreshingDocCipher.js +3 -3
  43. package/dist/edv/refreshingDocCipher.js.map +1 -1
  44. package/dist/edv/transportFactory.d.ts +3 -3
  45. package/dist/edv/transportFactory.d.ts.map +1 -1
  46. package/dist/edv/transportFactory.js +3 -3
  47. package/dist/edv/transportFactory.js.map +1 -1
  48. package/dist/index.d.ts +1 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +1 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/internal/codec.d.ts +7 -7
  53. package/dist/internal/codec.d.ts.map +1 -1
  54. package/dist/internal/codec.js +19 -18
  55. package/dist/internal/codec.js.map +1 -1
  56. package/dist/internal/conditional.d.ts +3 -3
  57. package/dist/internal/conditional.d.ts.map +1 -1
  58. package/dist/internal/conditional.js +5 -5
  59. package/dist/internal/conditional.js.map +1 -1
  60. package/dist/internal/grant.d.ts +15 -26
  61. package/dist/internal/grant.d.ts.map +1 -1
  62. package/dist/internal/grant.js +95 -29
  63. package/dist/internal/grant.js.map +1 -1
  64. package/dist/internal/meta.d.ts +8 -8
  65. package/dist/internal/meta.d.ts.map +1 -1
  66. package/dist/internal/meta.js +13 -10
  67. package/dist/internal/meta.js.map +1 -1
  68. package/dist/internal/paths.d.ts +423 -195
  69. package/dist/internal/paths.d.ts.map +1 -1
  70. package/dist/internal/paths.js +582 -369
  71. package/dist/internal/paths.js.map +1 -1
  72. package/dist/internal/policy.d.ts +23 -23
  73. package/dist/internal/policy.d.ts.map +1 -1
  74. package/dist/internal/policy.js +20 -20
  75. package/dist/internal/policy.js.map +1 -1
  76. package/dist/internal/request.d.ts +17 -21
  77. package/dist/internal/request.d.ts.map +1 -1
  78. package/dist/internal/request.js +10 -21
  79. package/dist/internal/request.js.map +1 -1
  80. package/dist/internal/reserved.d.ts +15 -3
  81. package/dist/internal/reserved.d.ts.map +1 -1
  82. package/dist/internal/reserved.js +37 -8
  83. package/dist/internal/reserved.js.map +1 -1
  84. package/dist/internal/revoke.d.ts +34 -13
  85. package/dist/internal/revoke.d.ts.map +1 -1
  86. package/dist/internal/revoke.js +97 -28
  87. package/dist/internal/revoke.js.map +1 -1
  88. package/dist/internal/service.d.ts +27 -7
  89. package/dist/internal/service.d.ts.map +1 -1
  90. package/dist/internal/service.js +51 -45
  91. package/dist/internal/service.js.map +1 -1
  92. package/dist/internal/write.d.ts +18 -18
  93. package/dist/internal/write.d.ts.map +1 -1
  94. package/dist/internal/write.js +27 -27
  95. package/dist/internal/write.js.map +1 -1
  96. package/dist/paths.d.ts +32 -25
  97. package/dist/paths.d.ts.map +1 -1
  98. package/dist/paths.js +32 -25
  99. package/dist/paths.js.map +1 -1
  100. package/dist/sync/port.d.ts +3 -3
  101. package/dist/sync/port.d.ts.map +1 -1
  102. package/dist/sync/port.js +12 -12
  103. package/dist/sync/port.js.map +1 -1
  104. package/dist/sync/provisioning.d.ts +10 -9
  105. package/dist/sync/provisioning.d.ts.map +1 -1
  106. package/dist/sync/provisioning.js +19 -18
  107. package/dist/sync/provisioning.js.map +1 -1
  108. package/dist/sync/types.d.ts +2 -2
  109. package/dist/types.d.ts +13 -5
  110. package/dist/types.d.ts.map +1 -1
  111. package/package.json +3 -3
@@ -33,7 +33,7 @@
33
33
  * stay stable across a rotation.
34
34
  *
35
35
  * The cipher also reads a chunked envelope, in one of two ways. Given the
36
- * Space the collection lives in (`spaceId`), `decrypt` fetches its chunk
36
+ * Space the collection lives in (`spaceUrl`), `decrypt` fetches its chunk
37
37
  * resources through the request context the caller passes
38
38
  * (`collection.codecContext()`). Given a `chunkSource` instead, `decrypt`
39
39
  * reads the chunks from bytes the caller already holds, such as an archive's
@@ -108,7 +108,7 @@ export interface EdvDocCipher extends DocCipher {
108
108
  /**
109
109
  * {@link DocCipher.decrypt}, widened with `chunkSource`: a chunked envelope's
110
110
  * chunks come from `context` (fetched from the server, on a cipher built
111
- * with a `spaceId`) or from `chunkSource` (bytes the caller holds, on any
111
+ * with a `spaceUrl`) or from `chunkSource` (bytes the caller holds, on any
112
112
  * cipher). Passing both throws `ValidationError`. Passing neither throws
113
113
  * `EncryptionError` for a chunked envelope. A chunk the source does not hold
114
114
  * throws `NotFoundError`, and a chunk whose `was` binding differs from the
@@ -205,7 +205,8 @@ export interface EdvDocCipher extends DocCipher {
205
205
  * the real id, not a label: the collection's metadata envelope is
206
206
  * AEAD-bound to it (`was.collection`), so `applyMeta` refuses an envelope
207
207
  * bound elsewhere.
208
- * @param [options.spaceId] {string} the WAS Space holding the collection.
208
+ * @param [options.spaceUrl] {string} the URL of the WAS Space holding the
209
+ * collection.
209
210
  * It gives the codec a route to a chunked document's chunk resources, so a
210
211
  * `decrypt` that also passes a request context reassembles a chunked
211
212
  * envelope. Without it such a `decrypt` throws `NotSupportedError`; a
@@ -225,11 +226,11 @@ export interface EdvDocCipher extends DocCipher {
225
226
  * as before.
226
227
  * @returns {Promise<EdvDocCipher>}
227
228
  */
228
- export declare function createEdvDocCipher({ keyAgreementKey, keyResolver, collectionId, spaceId, idDerivation, encryption, meta }: {
229
+ export declare function createEdvDocCipher({ keyAgreementKey, keyResolver, collectionId, spaceUrl, idDerivation, encryption, meta }: {
229
230
  keyAgreementKey: IKeyAgreementKey;
230
231
  keyResolver: IKeyResolver;
231
232
  collectionId: string;
232
- spaceId?: string;
233
+ spaceUrl?: string;
233
234
  idDerivation?: 'content' | 'random';
234
235
  encryption: CollectionEncryption;
235
236
  meta?: {
@@ -1 +1 @@
1
- {"version":3,"file":"docCipher.d.ts","sourceRoot":"","sources":["../../src/edv/docCipher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAc,WAAW,EAAE,MAAM,aAAa,CAAA;AAU/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAGvD,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AASzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,cAAc,CAAA;AAErB;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAC7B,eAAe,EAChB,EAAE;IACD,eAAe,EAAE,gBAAgB,CAAA;CAClC,GAAG,kBAAkB,CAcrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,OAAO,EAAE;QACf,IAAI,EAAE,IAAI,CAAA;QACV,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAE3D;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,OAAO,EAAE;QACf,EAAE,EAAE,MAAM,CAAA;QACV,QAAQ,EAAE,IAAI,CAAA;QACd,OAAO,CAAC,EAAE,mBAAmB,CAAA;QAC7B,WAAW,CAAC,EAAE,WAAW,CAAA;KAC1B,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAExB;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAExE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CAC/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,eAAe,EACf,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAwB,EACxB,UAAU,EACV,IAAI,EACL,EAAE;IACD,eAAe,EAAE,gBAAgB,CAAA;IACjC,WAAW,EAAE,YAAY,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IACnC,UAAU,EAAE,oBAAoB,CAAA;IAChC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAC5B,GAAG,OAAO,CAAC,YAAY,CAAC,CAuExB;AAkID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,6BAA6B,CAAC,EAClD,YAAY,EACZ,YAAwB,EACxB,UAAU,EACX,EAAE;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IACnC,UAAU,EAAE,oBAAoB,CAAA;CACjC,GAAG,OAAO,CAAC,SAAS,CAAC,CAsBrB"}
1
+ {"version":3,"file":"docCipher.d.ts","sourceRoot":"","sources":["../../src/edv/docCipher.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,8 @@ export function ownerRecipient({ keyAgreementKey }) {
70
70
  * the real id, not a label: the collection's metadata envelope is
71
71
  * AEAD-bound to it (`was.collection`), so `applyMeta` refuses an envelope
72
72
  * bound elsewhere.
73
- * @param [options.spaceId] {string} the WAS Space holding the collection.
73
+ * @param [options.spaceUrl] {string} the URL of the WAS Space holding the
74
+ * collection.
74
75
  * It gives the codec a route to a chunked document's chunk resources, so a
75
76
  * `decrypt` that also passes a request context reassembles a chunked
76
77
  * envelope. Without it such a `decrypt` throws `NotSupportedError`; a
@@ -90,17 +91,17 @@ export function ownerRecipient({ keyAgreementKey }) {
90
91
  * as before.
91
92
  * @returns {Promise<EdvDocCipher>}
92
93
  */
93
- export async function createEdvDocCipher({ keyAgreementKey, keyResolver, collectionId, spaceId, idDerivation = 'content', encryption, meta }) {
94
+ export async function createEdvDocCipher({ keyAgreementKey, keyResolver, collectionId, spaceUrl, idDerivation = 'content', encryption, meta }) {
94
95
  // Only a cipher told which Space its collection lives in has a server to
95
96
  // address, and only the chunked-stream paths address one. Loading the
96
97
  // factory here rather than at module scope keeps `WasTransport` out of an
97
98
  // offline caller's import graph: a `createEdvDocCipher` call with no
98
- // `spaceId` evaluates no transport module at all.
99
+ // `spaceUrl` evaluates no transport module at all.
99
100
  let transportFactory;
100
- if (spaceId !== undefined) {
101
+ if (spaceUrl !== undefined) {
101
102
  const { wasTransportFactory } = await import('./transportFactory.js');
102
103
  transportFactory = wasTransportFactory({
103
- spaceId,
104
+ spaceUrl,
104
105
  collectionId,
105
106
  contentType: DEFAULT_CONTENT_TYPE
106
107
  });
@@ -1 +1 @@
1
- {"version":3,"file":"docCipher.js","sourceRoot":"","sources":["../../src/edv/docCipher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docCipher.js","sourceRoot":"","sources":["../../src/edv/docCipher.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ import type { EdvKeys } from './EdvCodec.js';
21
21
  * Collection's `encryption` descriptor (or a per-handle override). Core calls
22
22
  * `codecFor` only for a collection already known to be encrypted; this provider
23
23
  * then supplies the keys: the override-supplied `keys` when present, else
24
- * `resolveKeys({ spaceId, collectionId })`. `resolveKeys` returning `null` means
24
+ * `resolveKeys({ spaceUrl, collectionId })`. `resolveKeys` returning `null` means
25
25
  * "I hold no keys for this collection", so core fails closed (it does **not**
26
26
  * mean plaintext -- the descriptor/override already decided that). A non-`edv`
27
27
  * scheme yields `null` (this provider does not handle it).
@@ -60,7 +60,7 @@ import type { EdvKeys } from './EdvCodec.js';
60
60
  */
61
61
  export declare function createEdvEncryption({ resolveKeys, contentType, maxBlobBytes, chunkSize, idDerivation }: {
62
62
  resolveKeys: (ref: {
63
- spaceId: string;
63
+ spaceUrl: string;
64
64
  collectionId: string;
65
65
  }) => Promise<EdvKeys | null>;
66
66
  contentType?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/edv/encryption.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AASrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,CA2CrB"}
1
+ {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/edv/encryption.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AASrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAI5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,WAAkC,EAClC,YAAqC,EACrC,SAAS,EACT,YAAuB,EACxB,EAAE;IACD,WAAW,EAAE,CAAC,GAAG,EAAE;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,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,CA4CrB"}
@@ -1,5 +1,6 @@
1
1
  import { DEFAULT_CONTENT_TYPE } from './constants.js';
2
2
  import { DEFAULT_MAX_BLOB_BYTES, EDV_SCHEME, buildEdvCodec, descriptorDefect, guardEncryptionDescriptor } from './EdvCodec.js';
3
+ import { collectionUrl } from '../internal/paths.js';
3
4
  import { wasTransportFactory } from './transportFactory.js';
4
5
  /**
5
6
  * Builds an {@link EncryptionProvider} for the `edv` scheme: a pure **keystore**
@@ -10,7 +11,7 @@ import { wasTransportFactory } from './transportFactory.js';
10
11
  * Collection's `encryption` descriptor (or a per-handle override). Core calls
11
12
  * `codecFor` only for a collection already known to be encrypted; this provider
12
13
  * then supplies the keys: the override-supplied `keys` when present, else
13
- * `resolveKeys({ spaceId, collectionId })`. `resolveKeys` returning `null` means
14
+ * `resolveKeys({ spaceUrl, collectionId })`. `resolveKeys` returning `null` means
14
15
  * "I hold no keys for this collection", so core fails closed (it does **not**
15
16
  * mean plaintext -- the descriptor/override already decided that). A non-`edv`
16
17
  * scheme yields `null` (this provider does not handle it).
@@ -52,7 +53,7 @@ export function createEdvEncryption({ resolveKeys, contentType = DEFAULT_CONTENT
52
53
  canRoute({ scheme, encryption }) {
53
54
  return scheme === EDV_SCHEME && descriptorDefect(encryption) === null;
54
55
  },
55
- async codecFor({ spaceId, collectionId, scheme, encryption, keys }) {
56
+ async codecFor({ spaceUrl, collectionId, scheme, encryption, keys }) {
56
57
  if (scheme !== EDV_SCHEME) {
57
58
  return null;
58
59
  }
@@ -61,20 +62,21 @@ export function createEdvEncryption({ resolveKeys, contentType = DEFAULT_CONTENT
61
62
  // "holds no keys" the null return below would produce. `buildEdvCodec`
62
63
  // guards again for callers that reach it directly; the guard is pure, so
63
64
  // running it twice costs nothing.
65
+ const label = collectionUrl({ spaceUrl, collectionId });
64
66
  guardEncryptionDescriptor({
65
- label: `${spaceId}/${collectionId}`,
67
+ label,
66
68
  encryption
67
69
  });
68
70
  // Prefer override-supplied keys; otherwise consult the keystore.
69
71
  const resolved = keys ??
70
- (await resolveKeys({ spaceId, collectionId }));
72
+ (await resolveKeys({ spaceUrl, collectionId }));
71
73
  if (!resolved) {
72
74
  return null;
73
75
  }
74
76
  return buildEdvCodec({
75
- label: `${spaceId}/${collectionId}`,
77
+ label,
76
78
  transportFactory: wasTransportFactory({
77
- spaceId,
79
+ spaceUrl,
78
80
  collectionId,
79
81
  contentType
80
82
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/edv/encryption.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,WAAW,EACX,WAAW,GAAG,oBAAoB,EAClC,YAAY,GAAG,sBAAsB,EACrC,SAAS,EACT,YAAY,GAAG,QAAQ,EAUxB;IACC,OAAO;QACL,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE;YAC7B,OAAO,MAAM,KAAK,UAAU,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;QACvE,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;YAChE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAA;YACb,CAAC;YACD,uEAAuE;YACvE,wEAAwE;YACxE,uEAAuE;YACvE,yEAAyE;YACzE,kCAAkC;YAClC,yBAAyB,CAAC;gBACxB,KAAK,EAAE,GAAG,OAAO,IAAI,YAAY,EAAE;gBACnC,UAAU;aACX,CAAC,CAAA;YACF,iEAAiE;YACjE,MAAM,QAAQ,GACX,IAA4B;gBAC7B,CAAC,MAAM,WAAW,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,aAAa,CAAC;gBACnB,KAAK,EAAE,GAAG,OAAO,IAAI,YAAY,EAAE;gBACnC,gBAAgB,EAAE,mBAAmB,CAAC;oBACpC,OAAO;oBACP,YAAY;oBACZ,WAAW;iBACZ,CAAC;gBACF,YAAY;gBACZ,UAAU;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW;gBACX,YAAY;gBACZ,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC7C,YAAY;aACb,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/edv/encryption.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,WAAW,EACX,WAAW,GAAG,oBAAoB,EAClC,YAAY,GAAG,sBAAsB,EACrC,SAAS,EACT,YAAY,GAAG,QAAQ,EAUxB;IACC,OAAO;QACL,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE;YAC7B,OAAO,MAAM,KAAK,UAAU,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;QACvE,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;YACjE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAA;YACb,CAAC;YACD,uEAAuE;YACvE,wEAAwE;YACxE,uEAAuE;YACvE,yEAAyE;YACzE,kCAAkC;YAClC,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAA;YACvD,yBAAyB,CAAC;gBACxB,KAAK;gBACL,UAAU;aACX,CAAC,CAAA;YACF,iEAAiE;YACjE,MAAM,QAAQ,GACX,IAA4B;gBAC7B,CAAC,MAAM,WAAW,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,aAAa,CAAC;gBACnB,KAAK;gBACL,gBAAgB,EAAE,mBAAmB,CAAC;oBACpC,QAAQ;oBACR,YAAY;oBACZ,WAAW;iBACZ,CAAC;gBACF,YAAY;gBACZ,UAAU;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW;gBACX,YAAY;gBACZ,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC7C,YAAY;aACb,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -49,7 +49,7 @@ import { type EncryptionDescriptorCache, type EncryptionDescriptorSource } from
49
49
  * collection's envelopes are sealed to
50
50
  * @param options.keyResolver {IKeyResolver}
51
51
  * @param options.collectionId {string}
52
- * @param [options.spaceId] {string} the WAS Space holding the collection,
52
+ * @param [options.spaceUrl] {string} the WAS Space holding the collection,
53
53
  * which lets a `decrypt` given a request context read a chunked envelope
54
54
  * @param [options.idDerivation] {'content' | 'random'} defaults to
55
55
  * `'content'`
@@ -62,11 +62,11 @@ import { type EncryptionDescriptorCache, type EncryptionDescriptorSource } from
62
62
  * descriptor-fetch failures
63
63
  * @returns {Promise<EdvDocCipher>}
64
64
  */
65
- export declare function createRefreshingEdvDocCipher({ keyAgreementKey, keyResolver, collectionId, spaceId, idDerivation, source, cache, requireGoverned, onFetchError }: {
65
+ export declare function createRefreshingEdvDocCipher({ keyAgreementKey, keyResolver, collectionId, spaceUrl, idDerivation, source, cache, requireGoverned, onFetchError }: {
66
66
  keyAgreementKey: IKeyAgreementKey;
67
67
  keyResolver: IKeyResolver;
68
68
  collectionId: string;
69
- spaceId?: string;
69
+ spaceUrl?: string;
70
70
  idDerivation?: 'content' | 'random';
71
71
  source?: EncryptionDescriptorSource;
72
72
  cache: EncryptionDescriptorCache;
@@ -1 +1 @@
1
- {"version":3,"file":"refreshingDocCipher.d.ts","sourceRoot":"","sources":["../../src/edv/refreshingDocCipher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAChC,MAAM,cAAc,CAAA;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,eAAe,EACf,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,MAAM,EACN,KAAK,EACL,eAAe,EACf,YAAY,EACb,EAAE;IACD,eAAe,EAAE,gBAAgB,CAAA;IACjC,WAAW,EAAE,YAAY,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IACnC,MAAM,CAAC,EAAE,0BAA0B,CAAA;IACnC,KAAK,EAAE,yBAAyB,CAAA;IAChC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACtE,GAAG,OAAO,CAAC,YAAY,CAAC,CAsHxB"}
1
+ {"version":3,"file":"refreshingDocCipher.d.ts","sourceRoot":"","sources":["../../src/edv/refreshingDocCipher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAChC,MAAM,cAAc,CAAA;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,eAAe,EACf,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,KAAK,EACL,eAAe,EACf,YAAY,EACb,EAAE;IACD,eAAe,EAAE,gBAAgB,CAAA;IACjC,WAAW,EAAE,YAAY,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IACnC,MAAM,CAAC,EAAE,0BAA0B,CAAA;IACnC,KAAK,EAAE,yBAAyB,CAAA;IAChC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACtE,GAAG,OAAO,CAAC,YAAY,CAAC,CAsHxB"}
@@ -16,7 +16,7 @@ import { acquireDescriptor } from './acquire.js';
16
16
  * collection's envelopes are sealed to
17
17
  * @param options.keyResolver {IKeyResolver}
18
18
  * @param options.collectionId {string}
19
- * @param [options.spaceId] {string} the WAS Space holding the collection,
19
+ * @param [options.spaceUrl] {string} the WAS Space holding the collection,
20
20
  * which lets a `decrypt` given a request context read a chunked envelope
21
21
  * @param [options.idDerivation] {'content' | 'random'} defaults to
22
22
  * `'content'`
@@ -29,7 +29,7 @@ import { acquireDescriptor } from './acquire.js';
29
29
  * descriptor-fetch failures
30
30
  * @returns {Promise<EdvDocCipher>}
31
31
  */
32
- export async function createRefreshingEdvDocCipher({ keyAgreementKey, keyResolver, collectionId, spaceId, idDerivation, source, cache, requireGoverned, onFetchError }) {
32
+ export async function createRefreshingEdvDocCipher({ keyAgreementKey, keyResolver, collectionId, spaceUrl, idDerivation, source, cache, requireGoverned, onFetchError }) {
33
33
  // The `/meta` value last installed with `applyMeta`, replayed onto a rebuilt
34
34
  // cipher so a refresh does not drop the collection's index schema.
35
35
  let appliedMeta;
@@ -50,7 +50,7 @@ export async function createRefreshingEdvDocCipher({ keyAgreementKey, keyResolve
50
50
  keyAgreementKey,
51
51
  keyResolver,
52
52
  collectionId,
53
- spaceId,
53
+ spaceUrl,
54
54
  idDerivation,
55
55
  encryption
56
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"refreshingDocCipher.js","sourceRoot":"","sources":["../../src/edv/refreshingDocCipher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"refreshingDocCipher.js","sourceRoot":"","sources":["../../src/edv/refreshingDocCipher.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAqB,MAAM,gBAAgB,CAAA;AACtE,OAAO,EACL,iBAAiB,EAGlB,MAAM,cAAc,CAAA;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,EACjD,eAAe,EACf,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,KAAK,EACL,eAAe,EACf,YAAY,EAWb;IACC,6EAA6E;IAC7E,mEAAmE;IACnE,IAAI,WAA6C,CAAA;IAEjD,MAAM,KAAK,GAAG,KAAK,IAA2B,EAAE;QAC9C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC;YACzC,MAAM;YACN,KAAK;YACL,YAAY;YACZ,eAAe;YACf,YAAY;SACb,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,eAAe,YAAY,2CAA2C;gBACpE,kEAAkE;gBAClE,oEAAoE,CACvE,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACtC,eAAe;YACf,WAAW;YACX,YAAY;YACZ,QAAQ;YACR,YAAY;YACZ,UAAU;SACX,CAAC,CAAA;QACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,IAAI,KAAK,GAAG,MAAM,KAAK,EAAE,CAAA;IACzB,0EAA0E;IAC1E,yEAAyE;IACzE,+CAA+C;IAC/C,IAAI,SAAS,GAAyB,IAAI,CAAA;IAE1C;;;;;;OAMG;IACH,KAAK,UAAU,WAAW,CACxB,IAA0C;QAE1C,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oEAAoE;YACpE,mEAAmE;YACnE,mEAAmE;YACnE,uEAAuE;YACvE,8BAA8B;YAC9B,IAAI,CAAC,CAAC,GAAG,YAAY,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnD,MAAM,GAAG,CAAA;YACX,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACpC,KAAK,GAAG,MAAM,CAAA;gBAChB,CAAC,CAAC,CAAA;gBACF,SAAS,GAAG,OAAO,CAAA;gBACnB,qEAAqE;gBACrE,oEAAoE;gBACpE,qEAAqE;gBACrE,mEAAmE;gBACnE,iEAAiE;gBACjE,0BAA0B;gBAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;oBACjB,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;wBAC1B,SAAS,GAAG,IAAI,CAAA;oBAClB,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,SAAS,CAAA;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;gBACnE,gEAAgE;gBAChE,+DAA+D;gBAC/D,mDAAmD;gBACnD,MAAM,GAAG,CAAA;YACX,CAAC;YACD,iEAAiE;YACjE,8DAA8D;YAC9D,+DAA+D;YAC/D,iEAAiE;YACjE,2BAA2B;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAE1C,aAAa,EAAE,OAAO,CAAC,EAAE;YACvB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,eAAe,YAAY,kCAAkC,CAC9D,CAAA;YACH,CAAC;YACD,OAAO,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QAED,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAElE,aAAa,EAAE,OAAO,CAAC,EAAE,CACvB,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEtD,KAAK,CAAC,SAAS,CAAC,OAAO;YACrB,WAAW,GAAG,OAAO,CAAA;YACrB,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -4,13 +4,13 @@ import type { CodecTransportFactory } from './EdvCodec.js';
4
4
  * codec's route to its own document and chunk resources on the server.
5
5
  *
6
6
  * @param options {object}
7
- * @param options.spaceId {string} the Space holding the Collection
7
+ * @param options.spaceUrl {string} the Space holding the Collection
8
8
  * @param options.collectionId {string} the Collection
9
9
  * @param options.contentType {string} stored envelope content type
10
10
  * @returns {CodecTransportFactory}
11
11
  */
12
- export declare function wasTransportFactory({ spaceId, collectionId, contentType }: {
13
- spaceId: string;
12
+ export declare function wasTransportFactory({ spaceUrl, collectionId, contentType }: {
13
+ spaceUrl: string;
14
14
  collectionId: string;
15
15
  contentType: string;
16
16
  }): CodecTransportFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"transportFactory.d.ts","sourceRoot":"","sources":["../../src/edv/transportFactory.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,YAAY,EACZ,WAAW,EACZ,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,qBAAqB,CAUxB"}
1
+ {"version":3,"file":"transportFactory.d.ts","sourceRoot":"","sources":["../../src/edv/transportFactory.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,YAAY,EACZ,WAAW,EACZ,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,qBAAqB,CAUxB"}
@@ -15,15 +15,15 @@ import { WasTransport } from './WasTransport.js';
15
15
  * codec's route to its own document and chunk resources on the server.
16
16
  *
17
17
  * @param options {object}
18
- * @param options.spaceId {string} the Space holding the Collection
18
+ * @param options.spaceUrl {string} the Space holding the Collection
19
19
  * @param options.collectionId {string} the Collection
20
20
  * @param options.contentType {string} stored envelope content type
21
21
  * @returns {CodecTransportFactory}
22
22
  */
23
- export function wasTransportFactory({ spaceId, collectionId, contentType }) {
23
+ export function wasTransportFactory({ spaceUrl, collectionId, contentType }) {
24
24
  return ({ context, documentHeaders, baseline }) => new WasTransport({
25
25
  was: { request: input => context.request(input) },
26
- spaceId,
26
+ spaceUrl,
27
27
  collectionId,
28
28
  contentType,
29
29
  ...(documentHeaders !== undefined && { documentHeaders }),
@@ -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,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"}
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,QAAQ,EACR,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,QAAQ;QACR,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/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export { Space } from './Space.js';
10
10
  export { Collection } from './Collection.js';
11
11
  export { Resource } from './Resource.js';
12
12
  export { zcapClientForSigner } from './zcapClient.js';
13
- export { discoverService } from './internal/service.js';
13
+ export { discoverService, readServiceDescription } from './internal/service.js';
14
14
  export { parseSpaceTarget } from './internal/paths.js';
15
15
  export { allowsAction } from './internal/grant.js';
16
16
  export type { ParsedSpacePath } from './internal/paths.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
@@ -10,7 +10,7 @@ export { Space } from './Space.js';
10
10
  export { Collection } from './Collection.js';
11
11
  export { Resource } from './Resource.js';
12
12
  export { zcapClientForSigner } from './zcapClient.js';
13
- export { discoverService } from './internal/service.js';
13
+ export { discoverService, readServiceDescription } from './internal/service.js';
14
14
  export { parseSpaceTarget } from './internal/paths.js';
15
15
  export { allowsAction } from './internal/grant.js';
16
16
  export { readEtag, writeHeaders } from './internal/conditional.js';
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,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
+ {"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,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAE/E,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"}
@@ -93,7 +93,7 @@ export declare class CodecHolder {
93
93
  * through unchanged.
94
94
  */
95
95
  interface CodecTarget {
96
- spaceId: string;
96
+ spaceUrl: string;
97
97
  collectionId: string;
98
98
  override?: EncryptionOverride;
99
99
  capability?: IZcap;
@@ -105,7 +105,7 @@ interface CodecTarget {
105
105
  *
106
106
  * @param context {ClientContext}
107
107
  * @param options {object}
108
- * @param options.spaceId {string}
108
+ * @param options.spaceUrl {string}
109
109
  * @param options.collectionId {string}
110
110
  * @param [options.override] {EncryptionOverride} per-handle override
111
111
  * @param [options.capability] {IZcap} the handle's bound capability
@@ -131,7 +131,7 @@ export declare const identityCodec: ResourceCodec;
131
131
  *
132
132
  * @param context {ClientContext}
133
133
  * @param options {object}
134
- * @param options.spaceId {string}
134
+ * @param options.spaceUrl {string}
135
135
  * @param options.collectionId {string}
136
136
  * @param [options.override] {EncryptionOverride} per-handle override; wins
137
137
  * over the descriptor and skips the descriptor read
@@ -141,7 +141,7 @@ export declare const identityCodec: ResourceCodec;
141
141
  * @returns {Promise<CodecResolution>} the codec, plus the metadata snapshot
142
142
  * the index-schema read produced when there was one
143
143
  */
144
- export declare function resolveCodec(context: ClientContext, { spaceId, collectionId, override, capability }: CodecTarget): Promise<CodecResolution>;
144
+ export declare function resolveCodec(context: ClientContext, { spaceUrl, collectionId, override, capability }: CodecTarget): Promise<CodecResolution>;
145
145
  /**
146
146
  * Builds the codec a descriptor names, for a write that states the descriptor
147
147
  * itself rather than discovering it from stored state: the identity codec when
@@ -152,14 +152,14 @@ export declare function resolveCodec(context: ClientContext, { spaceId, collecti
152
152
  *
153
153
  * @param context {ClientContext}
154
154
  * @param options {object}
155
- * @param options.spaceId {string}
155
+ * @param options.spaceUrl {string}
156
156
  * @param options.collectionId {string}
157
157
  * @param [options.descriptor] {CollectionEncryption} the descriptor the write
158
158
  * declares; absent means plaintext
159
159
  * @returns {Promise<ResourceCodec | null>}
160
160
  */
161
- export declare function codecForDescriptor(context: ClientContext, { spaceId, collectionId, descriptor }: {
162
- spaceId: string;
161
+ export declare function codecForDescriptor(context: ClientContext, { spaceUrl, collectionId, descriptor }: {
162
+ spaceUrl: string;
163
163
  collectionId: string;
164
164
  descriptor?: CollectionEncryption;
165
165
  }): Promise<ResourceCodec | null>;
@@ -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;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"}
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;AAM7D,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,QAAQ,EAAE,MAAM,CAAA;IAChB,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,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,WAAW,GAC5D,OAAO,CAAC,eAAe,CAAC,CA+E1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,EACtB,EACE,QAAQ,EACR,YAAY,EACZ,UAAU,EACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,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"}
@@ -2,6 +2,7 @@ import { decodedStream, mediaType, prepareBody, parseResource } from './content.
2
2
  import { bytesToStream } from './blob.js';
3
3
  import { asCollectionMetadata, storedEncryption, unreadableDescriptionError } from './describe.js';
4
4
  import { readCollectionMetadata } from './meta.js';
5
+ import { collectionUrl } from './paths.js';
5
6
  import { readIndexSchema } from './indexSchema.js';
6
7
  import { Memo } from './memo.js';
7
8
  import { EncryptionError, NotImplementedError } from '../errors.js';
@@ -78,7 +79,7 @@ export class CodecHolder {
78
79
  *
79
80
  * @param context {ClientContext}
80
81
  * @param options {object}
81
- * @param options.spaceId {string}
82
+ * @param options.spaceUrl {string}
82
83
  * @param options.collectionId {string}
83
84
  * @param [options.override] {EncryptionOverride} per-handle override
84
85
  * @param [options.capability] {IZcap} the handle's bound capability
@@ -144,7 +145,7 @@ export const identityCodec = {
144
145
  *
145
146
  * @param context {ClientContext}
146
147
  * @param options {object}
147
- * @param options.spaceId {string}
148
+ * @param options.spaceUrl {string}
148
149
  * @param options.collectionId {string}
149
150
  * @param [options.override] {EncryptionOverride} per-handle override; wins
150
151
  * over the descriptor and skips the descriptor read
@@ -154,7 +155,7 @@ export const identityCodec = {
154
155
  * @returns {Promise<CodecResolution>} the codec, plus the metadata snapshot
155
156
  * the index-schema read produced when there was one
156
157
  */
157
- export async function resolveCodec(context, { spaceId, collectionId, override, capability }) {
158
+ export async function resolveCodec(context, { spaceUrl, collectionId, override, capability }) {
158
159
  // 1. A per-handle override wins and skips the descriptor read.
159
160
  if (override !== undefined) {
160
161
  if (override === 'plaintext') {
@@ -166,7 +167,7 @@ export async function resolveCodec(context, { spaceId, collectionId, override, c
166
167
  // fail-closed, so dropping the descriptor here would break every read and
167
168
  // write.
168
169
  const { codec } = await buildEncryptingCodec(context, {
169
- spaceId,
170
+ spaceUrl,
170
171
  collectionId,
171
172
  scheme: override.scheme,
172
173
  keys: override.keys,
@@ -175,7 +176,7 @@ export async function resolveCodec(context, { spaceId, collectionId, override, c
175
176
  // The override skipped the Collection Metadata read, so a searchable
176
177
  // collection's persisted index schema is fetched here.
177
178
  const snapshot = await loadIndexSchema(context, {
178
- spaceId,
179
+ spaceUrl,
179
180
  collectionId,
180
181
  capability,
181
182
  codec
@@ -197,13 +198,13 @@ export async function resolveCodec(context, { spaceId, collectionId, override, c
197
198
  // downgrading to plaintext and writing the caller's secret as server-visible
198
199
  // plaintext into a possibly-encrypted collection.
199
200
  const read = await readCollectionMetadata(context, {
200
- spaceId,
201
+ spaceUrl,
201
202
  collectionId,
202
203
  capability
203
204
  });
204
205
  if (read === null) {
205
206
  throw unreadableDescriptionError({
206
- operation: `determine whether collection ${spaceId}/${collectionId} is ` +
207
+ operation: `determine whether collection ${collectionUrl({ spaceUrl, collectionId })} is ` +
207
208
  'encrypted',
208
209
  consequence: 'an encryption-capable client refuses to fall back to plaintext',
209
210
  advice: 'Pass an explicit per-handle encryption override -- ' +
@@ -215,7 +216,7 @@ export async function resolveCodec(context, { spaceId, collectionId, override, c
215
216
  const declared = storedEncryption(read.metadata);
216
217
  const { codec } = declared
217
218
  ? await buildEncryptingCodec(context, {
218
- spaceId,
219
+ spaceUrl,
219
220
  collectionId,
220
221
  scheme: declared.scheme,
221
222
  encryption: declared
@@ -241,13 +242,13 @@ export async function resolveCodec(context, { spaceId, collectionId, override, c
241
242
  *
242
243
  * @param context {ClientContext}
243
244
  * @param options {object}
244
- * @param options.spaceId {string}
245
+ * @param options.spaceUrl {string}
245
246
  * @param options.collectionId {string}
246
247
  * @param [options.descriptor] {CollectionEncryption} the descriptor the write
247
248
  * declares; absent means plaintext
248
249
  * @returns {Promise<ResourceCodec | null>}
249
250
  */
250
- export async function codecForDescriptor(context, { spaceId, collectionId, descriptor }) {
251
+ export async function codecForDescriptor(context, { spaceUrl, collectionId, descriptor }) {
251
252
  if (descriptor === undefined) {
252
253
  return identityCodec;
253
254
  }
@@ -255,7 +256,7 @@ export async function codecForDescriptor(context, { spaceId, collectionId, descr
255
256
  return null;
256
257
  }
257
258
  const codec = await context.encryption.codecFor({
258
- spaceId,
259
+ spaceUrl,
259
260
  collectionId,
260
261
  scheme: descriptor.scheme,
261
262
  encryption: descriptor
@@ -330,7 +331,7 @@ export async function openStoredCustom({ codec, stored }) {
330
331
  *
331
332
  * @param context {ClientContext}
332
333
  * @param options {object}
333
- * @param options.spaceId {string}
334
+ * @param options.spaceUrl {string}
334
335
  * @param options.collectionId {string}
335
336
  * @param options.scheme {string}
336
337
  * @param [options.encryption] {CollectionEncryption} the descriptor, passed
@@ -338,15 +339,15 @@ export async function openStoredCustom({ codec, stored }) {
338
339
  * @param [options.keys] {unknown} override-supplied key material
339
340
  * @returns {Promise<CodecResolution>}
340
341
  */
341
- async function buildEncryptingCodec(context, { spaceId, collectionId, scheme, encryption, keys }) {
342
- const where = `${spaceId}/${collectionId}`;
342
+ async function buildEncryptingCodec(context, { spaceUrl, collectionId, scheme, encryption, keys }) {
343
+ const where = collectionUrl({ spaceUrl, collectionId });
343
344
  if (!context.encryption) {
344
345
  throw new EncryptionError(`Collection ${where} is encrypted (scheme "${scheme}") but this client ` +
345
346
  'has no encryption provider. Construct the WasClient with an ' +
346
347
  '`encryption` provider (see @interop/was-client/edv).');
347
348
  }
348
349
  const codec = await context.encryption.codecFor({
349
- spaceId,
350
+ spaceUrl,
350
351
  collectionId,
351
352
  scheme,
352
353
  encryption,
@@ -384,7 +385,7 @@ async function buildEncryptingCodec(context, { spaceId, collectionId, scheme, en
384
385
  *
385
386
  * @param context {ClientContext}
386
387
  * @param options {object}
387
- * @param options.spaceId {string}
388
+ * @param options.spaceUrl {string}
388
389
  * @param options.collectionId {string}
389
390
  * @param [options.capability] {IZcap}
390
391
  * @param options.codec {ResourceCodec} the codec to install the schema on
@@ -392,14 +393,14 @@ async function buildEncryptingCodec(context, { spaceId, collectionId, scheme, en
392
393
  * the read behind it, `null` when there is none to read, and `undefined`
393
394
  * when no read happened at all
394
395
  */
395
- async function loadIndexSchema(context, { spaceId, collectionId, capability, codec }) {
396
+ async function loadIndexSchema(context, { spaceUrl, collectionId, capability, codec }) {
396
397
  if (!codec.indexing) {
397
398
  return undefined;
398
399
  }
399
400
  let read;
400
401
  try {
401
402
  read = await readCollectionMetadata(context, {
402
- spaceId,
403
+ spaceUrl,
403
404
  collectionId,
404
405
  capability
405
406
  });