@interop/was-client 0.59.1 → 0.61.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.
- package/README.md +66 -45
- package/dist/Collection.d.ts +140 -96
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +648 -194
- package/dist/Collection.js.map +1 -1
- package/dist/Resource.d.ts +1 -1
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +0 -3
- package/dist/Resource.js.map +1 -1
- package/dist/Space.d.ts +17 -16
- package/dist/Space.d.ts.map +1 -1
- package/dist/Space.js +41 -24
- package/dist/Space.js.map +1 -1
- package/dist/WasClient.d.ts.map +1 -1
- package/dist/WasClient.js +9 -3
- package/dist/WasClient.js.map +1 -1
- package/dist/codec.d.ts +3 -3
- package/dist/edv/EdvCodec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.js +22 -46
- package/dist/edv/EdvCodec.js.map +1 -1
- package/dist/edv/descriptorStore.d.ts +16 -14
- package/dist/edv/descriptorStore.d.ts.map +1 -1
- package/dist/edv/descriptorStore.js +17 -14
- package/dist/edv/descriptorStore.js.map +1 -1
- package/dist/edv/didKeyRecipient.d.ts +6 -1
- package/dist/edv/didKeyRecipient.d.ts.map +1 -1
- package/dist/edv/didKeyRecipient.js +4 -0
- package/dist/edv/didKeyRecipient.js.map +1 -1
- package/dist/edv/epochKeys.d.ts +43 -3
- package/dist/edv/epochKeys.d.ts.map +1 -1
- package/dist/edv/epochKeys.js +90 -9
- package/dist/edv/epochKeys.js.map +1 -1
- package/dist/edv/epochRoster.d.ts +36 -26
- package/dist/edv/epochRoster.d.ts.map +1 -1
- package/dist/edv/epochRoster.js +61 -10
- package/dist/edv/epochRoster.js.map +1 -1
- package/dist/edv/hmacKey.d.ts +17 -5
- package/dist/edv/hmacKey.d.ts.map +1 -1
- package/dist/edv/hmacKey.js +19 -5
- package/dist/edv/hmacKey.js.map +1 -1
- package/dist/edv/index.d.ts +1 -1
- package/dist/edv/index.js +1 -1
- package/dist/edv/logGovernedDescriptorStore.d.ts +2 -2
- package/dist/edv/logGovernedDescriptorStore.d.ts.map +1 -1
- package/dist/edv/logGovernedDescriptorStore.js +10 -9
- package/dist/edv/logGovernedDescriptorStore.js.map +1 -1
- package/dist/edv/recipients.d.ts +1 -1
- package/dist/edv/recipients.d.ts.map +1 -1
- package/dist/edv/recipients.js +12 -4
- package/dist/edv/recipients.js.map +1 -1
- package/dist/edv/refresh.d.ts +6 -1
- package/dist/edv/refresh.d.ts.map +1 -1
- package/dist/edv/refresh.js +19 -2
- package/dist/edv/refresh.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +3 -3
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/internal/cas.d.ts.map +1 -1
- package/dist/internal/cas.js +7 -4
- package/dist/internal/cas.js.map +1 -1
- package/dist/internal/codec.d.ts +22 -1
- package/dist/internal/codec.d.ts.map +1 -1
- package/dist/internal/codec.js +117 -46
- package/dist/internal/codec.js.map +1 -1
- package/dist/internal/content.d.ts.map +1 -1
- package/dist/internal/content.js +12 -1
- package/dist/internal/content.js.map +1 -1
- package/dist/internal/describe.d.ts +98 -24
- package/dist/internal/describe.d.ts.map +1 -1
- package/dist/internal/describe.js +125 -18
- package/dist/internal/describe.js.map +1 -1
- package/dist/internal/meta.d.ts +32 -17
- package/dist/internal/meta.d.ts.map +1 -1
- package/dist/internal/meta.js +64 -35
- package/dist/internal/meta.js.map +1 -1
- package/dist/internal/paths.d.ts +33 -17
- package/dist/internal/paths.d.ts.map +1 -1
- package/dist/internal/paths.js +92 -40
- package/dist/internal/paths.js.map +1 -1
- package/dist/internal/reserved.d.ts +14 -0
- package/dist/internal/reserved.d.ts.map +1 -1
- package/dist/internal/reserved.js +23 -4
- package/dist/internal/reserved.js.map +1 -1
- package/dist/internal/write.js +30 -1
- package/dist/internal/write.js.map +1 -1
- package/dist/paths.d.ts +8 -5
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +8 -5
- package/dist/paths.js.map +1 -1
- package/dist/sync/port.d.ts.map +1 -1
- package/dist/sync/port.js +14 -1
- package/dist/sync/port.js.map +1 -1
- package/dist/sync/provisioning.d.ts +7 -7
- package/dist/sync/provisioning.d.ts.map +1 -1
- package/dist/sync/provisioning.js +27 -15
- package/dist/sync/provisioning.js.map +1 -1
- package/dist/types.d.ts +16 -9
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/internal/codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/internal/content.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG/C,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAIrD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,OAAO,aAAoB,CAAA;AAExC;;;;;GAKG;AACH,eAAO,MAAM,OAAO,aAAoB,CAAA;AAmBxC;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAO9D;AA6BD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOrE;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAK1D;AAED;;;;GAIG;AACH,KAAK,eAAe,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAEvB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,WAAW,EACX,EAAE,EACH,EAAE;IACD,IAAI,EAAE,YAAY,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,GAAG,eAAe,CAwBlB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAiCnE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG;IAC9D,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/internal/content.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG/C,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAIrD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,OAAO,aAAoB,CAAA;AAExC;;;;;GAKG;AACH,eAAO,MAAM,OAAO,aAAoB,CAAA;AAmBxC;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAO9D;AA6BD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOrE;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAK1D;AAED;;;;GAIG;AACH,KAAK,eAAe,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAEvB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,WAAW,EACX,EAAE,EACH,EAAE;IACD,IAAI,EAAE,YAAY,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,GAAG,eAAe,CAwBlB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAiCnE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG;IAC9D,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAyCA;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAIrE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAM1D;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAC5B,OAAO,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAS7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAErE"}
|
package/dist/internal/content.js
CHANGED
|
@@ -246,7 +246,18 @@ export function createdResource(response) {
|
|
|
246
246
|
.pop()
|
|
247
247
|
: undefined;
|
|
248
248
|
if (segment) {
|
|
249
|
-
|
|
249
|
+
// A stray or malformed percent escape in the segment (`100%discount`,
|
|
250
|
+
// `%zz`) makes `decodeURIComponent` throw a raw `URIError`. That is a
|
|
251
|
+
// malformed create response like any other, so it leaves here as the
|
|
252
|
+
// `WasServerError` this function exists to produce.
|
|
253
|
+
try {
|
|
254
|
+
return { id: decodeURIComponent(segment), location };
|
|
255
|
+
}
|
|
256
|
+
catch (err) {
|
|
257
|
+
throw new WasServerError(`Create response carried a malformed resource id: the \`Location\` ` +
|
|
258
|
+
`header "${location}" ends in a segment ("${segment}") that is not ` +
|
|
259
|
+
'valid percent-encoding.', { cause: err });
|
|
260
|
+
}
|
|
250
261
|
}
|
|
251
262
|
throw new WasServerError('Create response carried no resource id: the body has no `id` and there ' +
|
|
252
263
|
'is no `Location` header.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/internal/content.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/internal/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,19 +2,44 @@
|
|
|
2
2
|
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* Reads a Collection
|
|
6
|
-
* `
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
5
|
+
* Reads a Collection Metadata object with a single GET of the Collection's
|
|
6
|
+
* `meta` sub-resource, in the wire form the server serves it: `custom` is
|
|
7
|
+
* whatever is stored there (an opaque envelope on an encrypted Collection),
|
|
8
|
+
* left undecoded, because the codec that would decode it is itself resolved
|
|
9
|
+
* from this object's `encryption` member. Shared by `Collection`'s read and
|
|
10
|
+
* write paths and by the codec resolver's descriptor discovery, so the request
|
|
11
|
+
* shape (path, capability, null-unwrap, validator) lives in one place.
|
|
12
|
+
*
|
|
13
|
+
* Also owns the masked-404 fail-closed policy: WAS returns 404 for both
|
|
14
|
+
* not-found and unauthorized, so a `null` read is ambiguous and an operation
|
|
15
|
+
* that must know the current state fails closed via
|
|
11
16
|
* `unreadableDescriptionError` rather than guessing. `collectionWritableFields`
|
|
12
|
-
* lives here too: it is the one inclusion rule for the writable
|
|
13
|
-
*
|
|
17
|
+
* lives here too: it is the one inclusion rule for the writable configuration
|
|
18
|
+
* members a caller supplies, beside `carriedForward`, the rule for the stored
|
|
19
|
+
* members a full-replacement write re-sends unchanged.
|
|
14
20
|
*/
|
|
15
21
|
import type { ClientContext } from './request.js';
|
|
16
22
|
import type { WasError } from '../errors.js';
|
|
17
|
-
import type {
|
|
23
|
+
import type { CollectionEncryption, CollectionMetadata, CollectionWritableFields, IZcap } from '../types.js';
|
|
24
|
+
/**
|
|
25
|
+
* A Collection Metadata object exactly as the server served it. Typed as an
|
|
26
|
+
* open record rather than as `CollectionMetadata`, because `custom` here is the
|
|
27
|
+
* stored value (an opaque encryption envelope on an encrypted Collection) and
|
|
28
|
+
* because a write forwards members this client does not model verbatim rather
|
|
29
|
+
* than dropping them (see {@link carriedForward}).
|
|
30
|
+
*/
|
|
31
|
+
export type StoredCollectionMetadata = Record<string, unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* Reads a stored Collection Metadata object as the `CollectionMetadata` wire
|
|
34
|
+
* type. The stored form is typed as an open record -- `custom` is the stored
|
|
35
|
+
* value and a write forwards members this client does not model -- while the
|
|
36
|
+
* server guarantees the object's shape, so the assertion lives here once
|
|
37
|
+
* instead of at each reader.
|
|
38
|
+
*
|
|
39
|
+
* @param stored {StoredCollectionMetadata}
|
|
40
|
+
* @returns {CollectionMetadata}
|
|
41
|
+
*/
|
|
42
|
+
export declare function asCollectionMetadata(stored: StoredCollectionMetadata): CollectionMetadata;
|
|
18
43
|
/**
|
|
19
44
|
* Whether a served encryption descriptor is the server-derived projection of
|
|
20
45
|
* a Collection governed by its history log (it carries the `history` pointer)
|
|
@@ -31,38 +56,87 @@ export declare function isGovernedDescriptor(descriptor: CollectionEncryption):
|
|
|
31
56
|
};
|
|
32
57
|
};
|
|
33
58
|
/**
|
|
34
|
-
* Picks the writable Collection
|
|
35
|
-
* inclusion rule (`!== undefined`) behind every
|
|
36
|
-
* `configure` / `replaceDescription` request bodies and their echoed
|
|
37
|
-
*
|
|
38
|
-
*
|
|
59
|
+
* Picks the writable Collection configuration members that are set. The one
|
|
60
|
+
* inclusion rule (`!== undefined`) behind every Collection Metadata write body
|
|
61
|
+
* -- the `configure` / `replaceDescription` request bodies and their echoed
|
|
62
|
+
* returns, and `Space.createCollection`'s create body -- so the paths cannot
|
|
63
|
+
* drift and a new writable member is added in one place.
|
|
39
64
|
*
|
|
40
65
|
* @param fields {CollectionWritableFields}
|
|
41
66
|
* @returns {CollectionWritableFields}
|
|
42
67
|
*/
|
|
43
68
|
export declare function collectionWritableFields(fields: CollectionWritableFields): CollectionWritableFields;
|
|
44
69
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
70
|
+
* The Collection's configuration members: what a configuration write
|
|
71
|
+
* (`configure`, `replaceDescription`) states in full and an annotation write
|
|
72
|
+
* carries forward.
|
|
73
|
+
*/
|
|
74
|
+
export declare const CONFIGURATION_MEMBERS: readonly string[];
|
|
75
|
+
/**
|
|
76
|
+
* The Collection's annotation members: the user-writable `custom` and the key
|
|
77
|
+
* epoch its envelope was sealed under. What an annotation write (`setMeta` and
|
|
78
|
+
* its sugar) states and a configuration write carries forward.
|
|
79
|
+
*/
|
|
80
|
+
export declare const ANNOTATION_MEMBERS: readonly string[];
|
|
81
|
+
/**
|
|
82
|
+
* Reads a stored `encryption` descriptor at its wire type. The one place the
|
|
83
|
+
* open stored record is narrowed to `CollectionEncryption`, shared by the
|
|
84
|
+
* compose paths and the codec resolver so the assertion is not repeated.
|
|
85
|
+
*
|
|
86
|
+
* @param stored {StoredCollectionMetadata}
|
|
87
|
+
* @returns {CollectionEncryption | undefined}
|
|
88
|
+
*/
|
|
89
|
+
export declare function storedEncryption(stored: StoredCollectionMetadata): CollectionEncryption | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Picks the stored members a full-replacement write carries forward: every
|
|
92
|
+
* member except the ones the server manages and the ones this write states
|
|
93
|
+
* itself. A denylist rather than an allowlist, so a member this client does
|
|
94
|
+
* not model -- `plaintext`, or one a newer server serves -- survives a write
|
|
95
|
+
* it is not about instead of being silently cleared.
|
|
96
|
+
*
|
|
97
|
+
* A governed `encryption` descriptor is deliberately dropped: on a
|
|
98
|
+
* log-governed Collection the served descriptor is the server's projection of
|
|
99
|
+
* the history log's head, and a write that carries it is refused
|
|
100
|
+
* (`encryption-history-log-governed`). Omitting the member leaves the derived
|
|
101
|
+
* descriptor in place.
|
|
102
|
+
*
|
|
103
|
+
* @param stored {StoredCollectionMetadata}
|
|
104
|
+
* @param options {object}
|
|
105
|
+
* @param options.replacing {readonly string[]} the members this write states
|
|
106
|
+
* itself (`CONFIGURATION_MEMBERS` on a configuration write,
|
|
107
|
+
* `ANNOTATION_MEMBERS` on an annotation write)
|
|
108
|
+
* @returns {StoredCollectionMetadata}
|
|
109
|
+
*/
|
|
110
|
+
export declare function carriedForward(stored: StoredCollectionMetadata, { replacing }: {
|
|
111
|
+
replacing: readonly string[];
|
|
112
|
+
}): StoredCollectionMetadata;
|
|
113
|
+
/**
|
|
114
|
+
* Reads the Collection Metadata object with its `metaVersion` validator, in the
|
|
115
|
+
* stored wire form. Returns `null` if the collection is missing or not visible
|
|
116
|
+
* to you (WAS returns 404 for both not-found and unauthorized); `etag` is
|
|
117
|
+
* absent against a backend that does not version the object.
|
|
47
118
|
*
|
|
48
119
|
* @param context {ClientContext}
|
|
49
120
|
* @param options {object}
|
|
50
121
|
* @param options.spaceId {string}
|
|
51
122
|
* @param options.collectionId {string}
|
|
52
123
|
* @param [options.capability] {IZcap} capability attached to the request
|
|
53
|
-
* @returns {Promise<
|
|
124
|
+
* @returns {Promise<{ metadata: StoredCollectionMetadata; etag?: string } | null>}
|
|
54
125
|
*/
|
|
55
|
-
export declare function
|
|
126
|
+
export declare function readCollectionMetadata(context: ClientContext, options: {
|
|
56
127
|
spaceId: string;
|
|
57
128
|
collectionId: string;
|
|
58
129
|
capability?: IZcap;
|
|
59
|
-
}): Promise<
|
|
130
|
+
}): Promise<{
|
|
131
|
+
metadata: StoredCollectionMetadata;
|
|
132
|
+
etag?: string;
|
|
133
|
+
} | null>;
|
|
60
134
|
/**
|
|
61
|
-
* Builds the fail-closed error for an operation that needs a
|
|
62
|
-
* could not read. The one owner of the masked-404 policy
|
|
63
|
-
* returns 404 for both not-found and unauthorized, so a null
|
|
64
|
-
* ambiguous -- fail closed"); callers supply the operation, its
|
|
65
|
-
* and the recovery advice.
|
|
135
|
+
* Builds the fail-closed error for an operation that needs a Collection
|
|
136
|
+
* Metadata object it could not read. The one owner of the masked-404 policy
|
|
137
|
+
* statement ("WAS returns 404 for both not-found and unauthorized, so a null
|
|
138
|
+
* read is ambiguous -- fail closed"); callers supply the operation, its
|
|
139
|
+
* consequence, and the recovery advice.
|
|
66
140
|
*
|
|
67
141
|
* @param options {object}
|
|
68
142
|
* @param options.operation {string} what was refused, continuing "Cannot ..."
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../src/internal/describe.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../src/internal/describe.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAIjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,EACN,MAAM,aAAa,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE9D;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,wBAAwB,GAC/B,kBAAkB,CAEpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,oBAAoB,GAC/B,UAAU,IAAI,oBAAoB,GAAG;IACtC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9C,CAEA;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,wBAAwB,GAC/B,wBAAwB,CAU1B;AAsBD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAMlD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAwB,CAAA;AAExE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,wBAAwB,GAC/B,oBAAoB,GAAG,SAAS,CAElC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,wBAAwB,EAChC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC9C,wBAAwB,CAgB1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAA;CAAE,GACrE,OAAO,CAAC;IAAE,QAAQ,EAAE,wBAAwB,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAYvE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAA4B,EAC7B,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,KAAK,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAA;CAC/C,GAAG,QAAQ,CAQX"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { readDataWithEtag } from './request.js';
|
|
2
|
+
import { collectionMeta } from './paths.js';
|
|
3
3
|
import { ValidationError } from '../errors.js';
|
|
4
|
+
/**
|
|
5
|
+
* Reads a stored Collection Metadata object as the `CollectionMetadata` wire
|
|
6
|
+
* type. The stored form is typed as an open record -- `custom` is the stored
|
|
7
|
+
* value and a write forwards members this client does not model -- while the
|
|
8
|
+
* server guarantees the object's shape, so the assertion lives here once
|
|
9
|
+
* instead of at each reader.
|
|
10
|
+
*
|
|
11
|
+
* @param stored {StoredCollectionMetadata}
|
|
12
|
+
* @returns {CollectionMetadata}
|
|
13
|
+
*/
|
|
14
|
+
export function asCollectionMetadata(stored) {
|
|
15
|
+
return stored;
|
|
16
|
+
}
|
|
4
17
|
/**
|
|
5
18
|
* Whether a served encryption descriptor is the server-derived projection of
|
|
6
19
|
* a Collection governed by its history log (it carries the `history` pointer)
|
|
@@ -14,11 +27,11 @@ export function isGovernedDescriptor(descriptor) {
|
|
|
14
27
|
return descriptor.history !== undefined;
|
|
15
28
|
}
|
|
16
29
|
/**
|
|
17
|
-
* Picks the writable Collection
|
|
18
|
-
* inclusion rule (`!== undefined`) behind every
|
|
19
|
-
* `configure` / `replaceDescription` request bodies and their echoed
|
|
20
|
-
*
|
|
21
|
-
*
|
|
30
|
+
* Picks the writable Collection configuration members that are set. The one
|
|
31
|
+
* inclusion rule (`!== undefined`) behind every Collection Metadata write body
|
|
32
|
+
* -- the `configure` / `replaceDescription` request bodies and their echoed
|
|
33
|
+
* returns, and `Space.createCollection`'s create body -- so the paths cannot
|
|
34
|
+
* drift and a new writable member is added in one place.
|
|
22
35
|
*
|
|
23
36
|
* @param fields {CollectionWritableFields}
|
|
24
37
|
* @returns {CollectionWritableFields}
|
|
@@ -35,28 +48,122 @@ export function collectionWritableFields(fields) {
|
|
|
35
48
|
};
|
|
36
49
|
}
|
|
37
50
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
51
|
+
* The members of a Collection Metadata object the server owns: it ignores them
|
|
52
|
+
* in a request body and re-derives them on every write, so a write never
|
|
53
|
+
* echoes them back. `id` is stated by the write path itself, `type` is the
|
|
54
|
+
* server's classification, and the rest are server-observed (the spec's
|
|
55
|
+
* "server-managed members are read-only" rule).
|
|
56
|
+
*/
|
|
57
|
+
const SERVER_MANAGED_MEMBERS = [
|
|
58
|
+
'id',
|
|
59
|
+
'type',
|
|
60
|
+
// Not a stored member at all: the client-side projection of the validator
|
|
61
|
+
// that `describe()` returns beside the object, which must not travel back.
|
|
62
|
+
'etag',
|
|
63
|
+
'url',
|
|
64
|
+
'linkset',
|
|
65
|
+
'createdAt',
|
|
66
|
+
'updatedAt',
|
|
67
|
+
'createdBy'
|
|
68
|
+
];
|
|
69
|
+
/**
|
|
70
|
+
* The Collection's configuration members: what a configuration write
|
|
71
|
+
* (`configure`, `replaceDescription`) states in full and an annotation write
|
|
72
|
+
* carries forward.
|
|
73
|
+
*/
|
|
74
|
+
export const CONFIGURATION_MEMBERS = [
|
|
75
|
+
'name',
|
|
76
|
+
'backend',
|
|
77
|
+
'encryption',
|
|
78
|
+
'generator',
|
|
79
|
+
'generatorOrigin'
|
|
80
|
+
];
|
|
81
|
+
/**
|
|
82
|
+
* The Collection's annotation members: the user-writable `custom` and the key
|
|
83
|
+
* epoch its envelope was sealed under. What an annotation write (`setMeta` and
|
|
84
|
+
* its sugar) states and a configuration write carries forward.
|
|
85
|
+
*/
|
|
86
|
+
export const ANNOTATION_MEMBERS = ['custom', 'epoch'];
|
|
87
|
+
/**
|
|
88
|
+
* Reads a stored `encryption` descriptor at its wire type. The one place the
|
|
89
|
+
* open stored record is narrowed to `CollectionEncryption`, shared by the
|
|
90
|
+
* compose paths and the codec resolver so the assertion is not repeated.
|
|
91
|
+
*
|
|
92
|
+
* @param stored {StoredCollectionMetadata}
|
|
93
|
+
* @returns {CollectionEncryption | undefined}
|
|
94
|
+
*/
|
|
95
|
+
export function storedEncryption(stored) {
|
|
96
|
+
return stored.encryption;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Picks the stored members a full-replacement write carries forward: every
|
|
100
|
+
* member except the ones the server manages and the ones this write states
|
|
101
|
+
* itself. A denylist rather than an allowlist, so a member this client does
|
|
102
|
+
* not model -- `plaintext`, or one a newer server serves -- survives a write
|
|
103
|
+
* it is not about instead of being silently cleared.
|
|
104
|
+
*
|
|
105
|
+
* A governed `encryption` descriptor is deliberately dropped: on a
|
|
106
|
+
* log-governed Collection the served descriptor is the server's projection of
|
|
107
|
+
* the history log's head, and a write that carries it is refused
|
|
108
|
+
* (`encryption-history-log-governed`). Omitting the member leaves the derived
|
|
109
|
+
* descriptor in place.
|
|
110
|
+
*
|
|
111
|
+
* @param stored {StoredCollectionMetadata}
|
|
112
|
+
* @param options {object}
|
|
113
|
+
* @param options.replacing {readonly string[]} the members this write states
|
|
114
|
+
* itself (`CONFIGURATION_MEMBERS` on a configuration write,
|
|
115
|
+
* `ANNOTATION_MEMBERS` on an annotation write)
|
|
116
|
+
* @returns {StoredCollectionMetadata}
|
|
117
|
+
*/
|
|
118
|
+
export function carriedForward(stored, { replacing }) {
|
|
119
|
+
const carried = {};
|
|
120
|
+
for (const [member, value] of Object.entries(stored)) {
|
|
121
|
+
if (value === undefined) {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if (SERVER_MANAGED_MEMBERS.includes(member) || replacing.includes(member)) {
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
carried[member] = value;
|
|
128
|
+
}
|
|
129
|
+
const encryption = storedEncryption(stored);
|
|
130
|
+
if (encryption !== undefined && isGovernedDescriptor(encryption)) {
|
|
131
|
+
delete carried.encryption;
|
|
132
|
+
}
|
|
133
|
+
return carried;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Reads the Collection Metadata object with its `metaVersion` validator, in the
|
|
137
|
+
* stored wire form. Returns `null` if the collection is missing or not visible
|
|
138
|
+
* to you (WAS returns 404 for both not-found and unauthorized); `etag` is
|
|
139
|
+
* absent against a backend that does not version the object.
|
|
40
140
|
*
|
|
41
141
|
* @param context {ClientContext}
|
|
42
142
|
* @param options {object}
|
|
43
143
|
* @param options.spaceId {string}
|
|
44
144
|
* @param options.collectionId {string}
|
|
45
145
|
* @param [options.capability] {IZcap} capability attached to the request
|
|
46
|
-
* @returns {Promise<
|
|
146
|
+
* @returns {Promise<{ metadata: StoredCollectionMetadata; etag?: string } | null>}
|
|
47
147
|
*/
|
|
48
|
-
export async function
|
|
49
|
-
|
|
50
|
-
path:
|
|
148
|
+
export async function readCollectionMetadata(context, options) {
|
|
149
|
+
const read = await readDataWithEtag(context, {
|
|
150
|
+
path: collectionMeta(options.spaceId, options.collectionId),
|
|
51
151
|
capability: options.capability
|
|
52
152
|
});
|
|
153
|
+
if (read === null) {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
metadata: read.data,
|
|
158
|
+
...(read.etag !== undefined && { etag: read.etag })
|
|
159
|
+
};
|
|
53
160
|
}
|
|
54
161
|
/**
|
|
55
|
-
* Builds the fail-closed error for an operation that needs a
|
|
56
|
-
* could not read. The one owner of the masked-404 policy
|
|
57
|
-
* returns 404 for both not-found and unauthorized, so a null
|
|
58
|
-
* ambiguous -- fail closed"); callers supply the operation, its
|
|
59
|
-
* and the recovery advice.
|
|
162
|
+
* Builds the fail-closed error for an operation that needs a Collection
|
|
163
|
+
* Metadata object it could not read. The one owner of the masked-404 policy
|
|
164
|
+
* statement ("WAS returns 404 for both not-found and unauthorized, so a null
|
|
165
|
+
* read is ambiguous -- fail closed"); callers supply the operation, its
|
|
166
|
+
* consequence, and the recovery advice.
|
|
60
167
|
*
|
|
61
168
|
* @param options {object}
|
|
62
169
|
* @param options.operation {string} what was refused, continuing "Cannot ..."
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/internal/describe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/internal/describe.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/meta.d.ts
CHANGED
|
@@ -16,47 +16,51 @@ import type { IZcap, ResourceMetadataCustom, ResourceMetadataCustomInput } from
|
|
|
16
16
|
* @param options.slot {MetaReadSlot} the `/meta` slot being read, for an
|
|
17
17
|
* encrypting codec's envelope-binding check
|
|
18
18
|
* @param [options.capability] {IZcap}
|
|
19
|
+
* @param [options.onStored] {function} receives the document as served, with
|
|
20
|
+
* its validator and its `custom` still undecoded, before the decode -- so a
|
|
21
|
+
* caller whose next step is a full-replacement write of the same document
|
|
22
|
+
* can compose that write against the read it just paid for
|
|
19
23
|
* @returns {Promise<(Metadata & { etag?: string }) | null>}
|
|
20
24
|
*/
|
|
21
25
|
export declare function readMeta<Metadata extends {
|
|
22
26
|
custom?: ResourceMetadataCustom;
|
|
23
|
-
}>(context: ClientContext, { metaPath, codec: codecPromise, subject, slot, capability }: {
|
|
27
|
+
}>(context: ClientContext, { metaPath, codec: codecPromise, subject, slot, capability, onStored }: {
|
|
24
28
|
metaPath: string;
|
|
25
29
|
codec: Promise<ResourceCodec>;
|
|
26
30
|
subject: string;
|
|
27
31
|
slot: MetaReadSlot;
|
|
28
32
|
capability?: IZcap;
|
|
33
|
+
onStored?: (read: {
|
|
34
|
+
metadata: Record<string, unknown>;
|
|
35
|
+
etag?: string;
|
|
36
|
+
}) => void;
|
|
29
37
|
}): Promise<(Metadata & {
|
|
30
38
|
etag?: string;
|
|
31
39
|
}) | null>;
|
|
32
40
|
/**
|
|
33
|
-
* Replaces a metadata document's user-writable `custom`, encoding it
|
|
34
|
-
* the codec first (which seals it into an opaque envelope on an
|
|
35
|
-
* collection).
|
|
41
|
+
* Replaces a Resource metadata document's user-writable `custom`, encoding it
|
|
42
|
+
* through the codec first (which seals it into an opaque envelope on an
|
|
43
|
+
* encrypted collection). A key epoch the codec surfaces is deliberately
|
|
44
|
+
* dropped: a Resource's epoch stamps its *content* write through the
|
|
45
|
+
* `Key-Epoch` header, not its metadata.
|
|
36
46
|
*
|
|
37
47
|
* @param context {ClientContext}
|
|
38
48
|
* @param options {object}
|
|
39
|
-
* @param options.metaPath {string} the
|
|
49
|
+
* @param options.metaPath {string} the `meta` sub-resource path
|
|
40
50
|
* @param options.codec {Promise<ResourceCodec>} the resolving codec
|
|
41
51
|
* @param options.custom {ResourceMetadataCustomInput} the user-writable
|
|
42
52
|
* properties, as a full replacement
|
|
43
|
-
* @param options.
|
|
44
|
-
* a top-level member of this PUT body. True at Collection level, where the
|
|
45
|
-
* stamp describes the `custom` envelope itself; false at Resource level,
|
|
46
|
-
* where a Resource's epoch instead stamps its content write via the
|
|
47
|
-
* `Key-Epoch` header, so an epoch surfaced here is deliberately dropped.
|
|
48
|
-
* @param options.slot {MetaWriteSlot} the `/meta` slot being written, which
|
|
53
|
+
* @param options.slot {MetaWriteSlot} the `meta` slot being written, which
|
|
49
54
|
* an encrypting codec binds into the envelope
|
|
50
|
-
* @param [options.ifMatch] {string} update only if the
|
|
55
|
+
* @param [options.ifMatch] {string} update only if the `meta` ETag matches
|
|
51
56
|
* @param [options.ifNoneMatch] {boolean} write only if no metadata is set
|
|
52
57
|
* @param [options.capability] {IZcap}
|
|
53
58
|
* @returns {Promise<{ etag?: string }>} the metadata's new ETag
|
|
54
59
|
*/
|
|
55
|
-
export declare function writeMeta(context: ClientContext, { metaPath, codec: codecPromise, custom,
|
|
60
|
+
export declare function writeMeta(context: ClientContext, { metaPath, codec: codecPromise, custom, slot, ifMatch, ifNoneMatch, capability }: {
|
|
56
61
|
metaPath: string;
|
|
57
62
|
codec: Promise<ResourceCodec>;
|
|
58
63
|
custom: ResourceMetadataCustomInput;
|
|
59
|
-
sendEpoch: boolean;
|
|
60
64
|
slot: MetaWriteSlot;
|
|
61
65
|
ifMatch?: string;
|
|
62
66
|
ifNoneMatch?: boolean;
|
|
@@ -68,12 +72,23 @@ export declare function writeMeta(context: ClientContext, { metaPath, codec: cod
|
|
|
68
72
|
* The shared read-then-CAS body of the handles' `setName` / `setTags`: reads
|
|
69
73
|
* the current metadata, merges `patch` over its `custom`, and writes it back
|
|
70
74
|
* pinned to the read's `etag` (when the backend supports `conditional-writes`),
|
|
71
|
-
* so a concurrent metadata write
|
|
72
|
-
*
|
|
75
|
+
* so a concurrent metadata write is rebased on rather than silently erased by
|
|
76
|
+
* the full-replacement write.
|
|
77
|
+
*
|
|
78
|
+
* A lost race (`412`) re-reads and re-applies the patch, up to the shared
|
|
79
|
+
* compare-and-swap attempt limit. A handle whose metadata cannot be read at
|
|
80
|
+
* all patches nothing onto an empty object: the write it drives is the one
|
|
81
|
+
* that refuses (`Collection.setMeta` throws `NotFoundError`), so a masked 404
|
|
82
|
+
* cannot turn a rename into a create. At Collection level that is not a rare event:
|
|
83
|
+
* one `metaVersion` covers the configuration members and the annotations
|
|
84
|
+
* alike, so a concurrent `configure` -- or an epoch rotation -- legitimately
|
|
85
|
+
* invalidates an in-flight annotation write.
|
|
73
86
|
*
|
|
74
87
|
* @param handle {object} the Collection or Resource handle to patch
|
|
75
88
|
* @param patch {ResourceMetadataCustom} the properties to merge over the
|
|
76
89
|
* current `custom`
|
|
90
|
+
* @param operation {string} what the caller is doing, for the exhaustion
|
|
91
|
+
* error (e.g. `Metadata update`)
|
|
77
92
|
* @returns {Promise<void>}
|
|
78
93
|
*/
|
|
79
94
|
export declare function patchCustom(handle: {
|
|
@@ -88,5 +103,5 @@ export declare function patchCustom(handle: {
|
|
|
88
103
|
}): Promise<{
|
|
89
104
|
etag?: string;
|
|
90
105
|
}>;
|
|
91
|
-
}, patch: ResourceMetadataCustom): Promise<void>;
|
|
106
|
+
}, patch: ResourceMetadataCustom, operation?: string): Promise<void>;
|
|
92
107
|
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/internal/meta.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/internal/meta.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAIjD,OAAO,KAAK,EACV,KAAK,EACL,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,aAAa,CAAA;AAEpB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,QAAQ,CAC5B,QAAQ,SAAS;IAAE,MAAM,CAAC,EAAE,sBAAsB,CAAA;CAAE,EAEpD,OAAO,EAAE,aAAa,EACtB,EACE,QAAQ,EACR,KAAK,EAAE,YAAY,EACnB,OAAO,EACP,IAAI,EACJ,UAAU,EACV,QAAQ,EACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,YAAY,CAAA;IAClB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACjC,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;CACX,GACA,OAAO,CAAC,CAAC,QAAQ,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CA4ChD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,aAAa,EACtB,EACE,QAAQ,EACR,KAAK,EAAE,YAAY,EACnB,MAAM,EACN,IAAI,EACJ,OAAO,EACP,WAAW,EACX,UAAU,EACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC7B,MAAM,EAAE,2BAA2B,CAAA;IACnC,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,KAAK,CAAA;CACnB,GACA,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAW5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE;IACN,IAAI,IAAI,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,sBAAsB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAC1E,OAAO,CACL,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,sBAAsB,CAAA;KAAE,EACzC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC9B,EACD,KAAK,EAAE,sBAAsB,EAC7B,SAAS,SAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|