@openvtc/trust-tasks 0.16.9 → 0.16.10
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/CHANGELOG.md +149 -0
- package/dist/_shared/components.d.ts +204 -5
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -1
- package/dist/persona/_shared/0.1/persona-record.d.ts +22 -0
- package/dist/persona/_shared/0.1/persona-record.d.ts.map +1 -0
- package/dist/persona/_shared/0.1/persona-record.js +6 -0
- package/dist/persona/_shared/0.1/persona-record.js.map +1 -0
- package/dist/persona/attribute/delete/1.0/payload.d.ts +351 -0
- package/dist/persona/attribute/delete/1.0/payload.d.ts.map +1 -0
- package/dist/persona/attribute/delete/1.0/payload.js +188 -0
- package/dist/persona/attribute/delete/1.0/payload.js.map +1 -0
- package/dist/persona/attribute/list/1.0/payload.d.ts +895 -0
- package/dist/persona/attribute/list/1.0/payload.d.ts.map +1 -0
- package/dist/persona/attribute/list/1.0/payload.js +532 -0
- package/dist/persona/attribute/list/1.0/payload.js.map +1 -0
- package/dist/persona/attribute/put/1.0/payload.d.ts +829 -0
- package/dist/persona/attribute/put/1.0/payload.d.ts.map +1 -0
- package/dist/persona/attribute/put/1.0/payload.js +487 -0
- package/dist/persona/attribute/put/1.0/payload.js.map +1 -0
- package/dist/persona/binding/get/1.0/payload.d.ts +382 -0
- package/dist/persona/binding/get/1.0/payload.d.ts.map +1 -0
- package/dist/persona/binding/get/1.0/payload.js +206 -0
- package/dist/persona/binding/get/1.0/payload.js.map +1 -0
- package/dist/persona/binding/list/1.0/payload.d.ts +387 -0
- package/dist/persona/binding/list/1.0/payload.d.ts.map +1 -0
- package/dist/persona/binding/list/1.0/payload.js +210 -0
- package/dist/persona/binding/list/1.0/payload.js.map +1 -0
- package/dist/persona/binding/set/1.0/payload.d.ts +545 -0
- package/dist/persona/binding/set/1.0/payload.d.ts.map +1 -0
- package/dist/persona/binding/set/1.0/payload.js +302 -0
- package/dist/persona/binding/set/1.0/payload.js.map +1 -0
- package/dist/persona/contact/delete/1.0/payload.d.ts +313 -0
- package/dist/persona/contact/delete/1.0/payload.d.ts.map +1 -0
- package/dist/persona/contact/delete/1.0/payload.js +174 -0
- package/dist/persona/contact/delete/1.0/payload.js.map +1 -0
- package/dist/persona/contact/get/1.0/payload.d.ts +1027 -0
- package/dist/persona/contact/get/1.0/payload.d.ts.map +1 -0
- package/dist/persona/contact/get/1.0/payload.js +606 -0
- package/dist/persona/contact/get/1.0/payload.js.map +1 -0
- package/dist/persona/contact/list/1.0/payload.d.ts +490 -0
- package/dist/persona/contact/list/1.0/payload.d.ts.map +1 -0
- package/dist/persona/contact/list/1.0/payload.js +262 -0
- package/dist/persona/contact/list/1.0/payload.js.map +1 -0
- package/dist/persona/contact/put/1.0/payload.d.ts +885 -0
- package/dist/persona/contact/put/1.0/payload.d.ts.map +1 -0
- package/dist/persona/contact/put/1.0/payload.js +518 -0
- package/dist/persona/contact/put/1.0/payload.js.map +1 -0
- package/dist/persona/correlation/analyze/1.0/payload.d.ts +648 -0
- package/dist/persona/correlation/analyze/1.0/payload.d.ts.map +1 -0
- package/dist/persona/correlation/analyze/1.0/payload.js +338 -0
- package/dist/persona/correlation/analyze/1.0/payload.js.map +1 -0
- package/dist/persona/disclosure/history/1.0/payload.d.ts +639 -0
- package/dist/persona/disclosure/history/1.0/payload.d.ts.map +1 -0
- package/dist/persona/disclosure/history/1.0/payload.js +339 -0
- package/dist/persona/disclosure/history/1.0/payload.js.map +1 -0
- package/dist/persona/disclosure/present/1.0/payload.d.ts +400 -0
- package/dist/persona/disclosure/present/1.0/payload.d.ts.map +1 -0
- package/dist/persona/disclosure/present/1.0/payload.js +211 -0
- package/dist/persona/disclosure/present/1.0/payload.js.map +1 -0
- package/dist/persona/disclosure/preview/1.0/payload.d.ts +858 -0
- package/dist/persona/disclosure/preview/1.0/payload.d.ts.map +1 -0
- package/dist/persona/disclosure/preview/1.0/payload.js +480 -0
- package/dist/persona/disclosure/preview/1.0/payload.js.map +1 -0
- package/dist/persona/local/binding/set/1.0/payload.d.ts +394 -0
- package/dist/persona/local/binding/set/1.0/payload.d.ts.map +1 -0
- package/dist/persona/local/binding/set/1.0/payload.js +226 -0
- package/dist/persona/local/binding/set/1.0/payload.js.map +1 -0
- package/dist/persona/local/profile/delete/1.0/payload.d.ts +311 -0
- package/dist/persona/local/profile/delete/1.0/payload.d.ts.map +1 -0
- package/dist/persona/local/profile/delete/1.0/payload.js +173 -0
- package/dist/persona/local/profile/delete/1.0/payload.js.map +1 -0
- package/dist/persona/local/profile/get/1.0/payload.d.ts +368 -0
- package/dist/persona/local/profile/get/1.0/payload.d.ts.map +1 -0
- package/dist/persona/local/profile/get/1.0/payload.js +210 -0
- package/dist/persona/local/profile/get/1.0/payload.js.map +1 -0
- package/dist/persona/local/profile/list/1.0/payload.d.ts +387 -0
- package/dist/persona/local/profile/list/1.0/payload.d.ts.map +1 -0
- package/dist/persona/local/profile/list/1.0/payload.js +214 -0
- package/dist/persona/local/profile/list/1.0/payload.js.map +1 -0
- package/dist/persona/local/profile/put/1.0/payload.d.ts +545 -0
- package/dist/persona/local/profile/put/1.0/payload.d.ts.map +1 -0
- package/dist/persona/local/profile/put/1.0/payload.js +315 -0
- package/dist/persona/local/profile/put/1.0/payload.js.map +1 -0
- package/dist/persona/profile/delete/1.0/payload.d.ts +350 -0
- package/dist/persona/profile/delete/1.0/payload.d.ts.map +1 -0
- package/dist/persona/profile/delete/1.0/payload.js +189 -0
- package/dist/persona/profile/delete/1.0/payload.js.map +1 -0
- package/dist/persona/profile/get/1.0/payload.d.ts +1307 -0
- package/dist/persona/profile/get/1.0/payload.d.ts.map +1 -0
- package/dist/persona/profile/get/1.0/payload.js +804 -0
- package/dist/persona/profile/get/1.0/payload.js.map +1 -0
- package/dist/persona/profile/list/1.0/payload.d.ts +1120 -0
- package/dist/persona/profile/list/1.0/payload.d.ts.map +1 -0
- package/dist/persona/profile/list/1.0/payload.js +680 -0
- package/dist/persona/profile/list/1.0/payload.js.map +1 -0
- package/dist/persona/profile/put/1.0/payload.d.ts +1115 -0
- package/dist/persona/profile/put/1.0/payload.d.ts.map +1 -0
- package/dist/persona/profile/put/1.0/payload.js +675 -0
- package/dist/persona/profile/put/1.0/payload.js.map +1 -0
- package/dist/persona/renderers/list/1.0/payload.d.ts +362 -0
- package/dist/persona/renderers/list/1.0/payload.d.ts.map +1 -0
- package/dist/persona/renderers/list/1.0/payload.js +197 -0
- package/dist/persona/renderers/list/1.0/payload.js.map +1 -0
- package/dist/rooms/owner/claim/0.1/payload.d.ts +391 -0
- package/dist/rooms/owner/claim/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/owner/claim/0.1/payload.js +214 -0
- package/dist/rooms/owner/claim/0.1/payload.js.map +1 -0
- package/dist/rooms/owner/transfer/0.1/payload.d.ts +391 -0
- package/dist/rooms/owner/transfer/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/owner/transfer/0.1/payload.js +214 -0
- package/dist/rooms/owner/transfer/0.1/payload.js.map +1 -0
- package/dist/vta/_shared/0.1/app-state-record.d.ts +1 -1
- package/dist/vta/_shared/0.1/app-state-record.d.ts.map +1 -1
- package/dist/vta/app-state/delete/1.0/payload.d.ts +1 -1
- package/dist/vta/app-state/delete/1.0/payload.d.ts.map +1 -1
- package/dist/vta/app-state/get/1.0/payload.d.ts +1 -1
- package/dist/vta/app-state/get/1.0/payload.d.ts.map +1 -1
- package/dist/vta/app-state/get-many/1.0/payload.d.ts +1 -1
- package/dist/vta/app-state/get-many/1.0/payload.d.ts.map +1 -1
- package/dist/vta/app-state/list/1.0/payload.d.ts +1 -1
- package/dist/vta/app-state/list/1.0/payload.d.ts.map +1 -1
- package/dist/vta/app-state/put/1.0/payload.d.ts +1 -1
- package/dist/vta/app-state/put/1.0/payload.d.ts.map +1 -1
- package/dist/vta/app-state/put-many/1.0/payload.d.ts +1 -1
- package/dist/vta/app-state/put-many/1.0/payload.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/_shared/components.ts +211 -5
- package/src/index.ts +27 -0
- package/src/persona/_shared/0.1/persona-record.ts +23 -0
- package/src/persona/attribute/delete/1.0/payload.ts +238 -0
- package/src/persona/attribute/list/1.0/payload.ts +590 -0
- package/src/persona/attribute/put/1.0/payload.ts +559 -0
- package/src/persona/binding/get/1.0/payload.ts +257 -0
- package/src/persona/binding/list/1.0/payload.ts +260 -0
- package/src/persona/binding/set/1.0/payload.ts +370 -0
- package/src/persona/contact/delete/1.0/payload.ts +216 -0
- package/src/persona/contact/get/1.0/payload.ts +662 -0
- package/src/persona/contact/list/1.0/payload.ts +323 -0
- package/src/persona/contact/put/1.0/payload.ts +580 -0
- package/src/persona/correlation/analyze/1.0/payload.ts +466 -0
- package/src/persona/disclosure/history/1.0/payload.ts +415 -0
- package/src/persona/disclosure/present/1.0/payload.ts +274 -0
- package/src/persona/disclosure/preview/1.0/payload.ts +597 -0
- package/src/persona/local/binding/set/1.0/payload.ts +267 -0
- package/src/persona/local/profile/delete/1.0/payload.ts +215 -0
- package/src/persona/local/profile/get/1.0/payload.ts +251 -0
- package/src/persona/local/profile/list/1.0/payload.ts +260 -0
- package/src/persona/local/profile/put/1.0/payload.ts +373 -0
- package/src/persona/profile/delete/1.0/payload.ts +236 -0
- package/src/persona/profile/get/1.0/payload.ts +846 -0
- package/src/persona/profile/list/1.0/payload.ts +723 -0
- package/src/persona/profile/put/1.0/payload.ts +741 -0
- package/src/persona/renderers/list/1.0/payload.ts +248 -0
- package/src/rooms/owner/claim/0.1/payload.ts +268 -0
- package/src/rooms/owner/transfer/0.1/payload.ts +268 -0
- package/src/vta/_shared/0.1/app-state-record.ts +1 -1
- package/src/vta/app-state/delete/1.0/payload.ts +1 -1
- package/src/vta/app-state/get/1.0/payload.ts +1 -1
- package/src/vta/app-state/get-many/1.0/payload.ts +1 -1
- package/src/vta/app-state/list/1.0/payload.ts +1 -1
- package/src/vta/app-state/put/1.0/payload.ts +1 -1
- package/src/vta/app-state/put-many/1.0/payload.ts +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/persona/disclosure/preview/1.0/payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,480 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/persona/disclosure/preview/1.0/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
/** Trust Task type URI. */
|
|
6
|
+
export const TYPE_URI = "https://trusttasks.org/spec/persona/disclosure/preview/1.0";
|
|
7
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
8
|
+
export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/persona/disclosure/preview/1.0#response";
|
|
9
|
+
/**
|
|
10
|
+
* This specification's payload schema, as a value.
|
|
11
|
+
*
|
|
12
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
13
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
14
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
15
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
16
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
17
|
+
*/
|
|
18
|
+
export const PAYLOAD_SCHEMA = {
|
|
19
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
20
|
+
"$id": "https://trusttasks.org/spec/persona/disclosure/preview/1.0",
|
|
21
|
+
"title": "Persona Disclosure Preview — payload",
|
|
22
|
+
"description": "Determine exactly what a disclosure would reveal, and to whom, without signing or sending anything. The first of two calls that cannot be collapsed: there is no path to a disclosure that did not first produce the summary a human can be shown.",
|
|
23
|
+
"type": "object",
|
|
24
|
+
"additionalProperties": false,
|
|
25
|
+
"required": [
|
|
26
|
+
"contextId",
|
|
27
|
+
"personaDid",
|
|
28
|
+
"verifierDid"
|
|
29
|
+
],
|
|
30
|
+
"properties": {
|
|
31
|
+
"contextId": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"minLength": 1
|
|
34
|
+
},
|
|
35
|
+
"personaDid": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"minLength": 1,
|
|
38
|
+
"maxLength": 2048,
|
|
39
|
+
"description": "The persona that would present. Its binding supplies the profile."
|
|
40
|
+
},
|
|
41
|
+
"verifierDid": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"minLength": 1,
|
|
44
|
+
"maxLength": 2048,
|
|
45
|
+
"description": "Who would receive it. Required, and not optional, because half of what a preview says is who is asking — a preview that could not name the recipient would be a list of fields rather than a decision."
|
|
46
|
+
},
|
|
47
|
+
"purpose": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"maxLength": 512,
|
|
50
|
+
"description": "The verifier's stated reason, carried through to the preview and the disclosure record so a holder deciding later has the same context as one deciding now."
|
|
51
|
+
},
|
|
52
|
+
"requestedClaims": {
|
|
53
|
+
"type": "array",
|
|
54
|
+
"maxItems": 128,
|
|
55
|
+
"items": {
|
|
56
|
+
"$ref": "#/$defs/ClaimType"
|
|
57
|
+
},
|
|
58
|
+
"description": "Claim types the verifier asked for. Omit to preview everything the bound profile would present. A maintainer MUST NOT return a claim that was not requested when this member is present — narrowing is the caller's to ask for and the maintainer's to honour."
|
|
59
|
+
},
|
|
60
|
+
"renderer": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"maxLength": 64,
|
|
63
|
+
"description": "Which output format to prepare for. Omit for the maintainer's canonical form. The choice matters to the preview because renderers differ in what they can carry, and a holder is owed that before deciding."
|
|
64
|
+
},
|
|
65
|
+
"ext": {
|
|
66
|
+
"$ref": "#/$defs/Ext"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"$defs": {
|
|
70
|
+
"Response": {
|
|
71
|
+
"$anchor": "response",
|
|
72
|
+
"title": "Persona Disclosure Preview — response payload",
|
|
73
|
+
"description": "Success response to persona/disclosure/preview. Type https://trusttasks.org/spec/persona/disclosure/preview/1.0#response. Signs nothing and sends nothing. The `previewId` returned here is consumed by persona/disclosure/present, which is the mechanism by which the two calls cannot be collapsed.",
|
|
74
|
+
"type": "object",
|
|
75
|
+
"additionalProperties": false,
|
|
76
|
+
"required": [
|
|
77
|
+
"previewId",
|
|
78
|
+
"subject",
|
|
79
|
+
"claims",
|
|
80
|
+
"expiresAt"
|
|
81
|
+
],
|
|
82
|
+
"properties": {
|
|
83
|
+
"previewId": {
|
|
84
|
+
"$ref": "#/$defs/Ulid",
|
|
85
|
+
"description": "Consumed by present. Single-use and short-lived: a preview a holder approved an hour ago is not evidence they approve it now, and one that could be replayed would let a second disclosure ride an earlier decision."
|
|
86
|
+
},
|
|
87
|
+
"subject": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"minLength": 1,
|
|
90
|
+
"description": "The identifier that would appear as the subject of the disclosure. Pairwise by default — a fresh per-relationship DID rather than the persona DID — so that two verifiers cannot recognise the holder as the same party. The persona DID is the account; this is the face."
|
|
91
|
+
},
|
|
92
|
+
"claims": {
|
|
93
|
+
"type": "array",
|
|
94
|
+
"maxItems": 128,
|
|
95
|
+
"items": {
|
|
96
|
+
"type": "object",
|
|
97
|
+
"additionalProperties": false,
|
|
98
|
+
"required": [
|
|
99
|
+
"type",
|
|
100
|
+
"provenance",
|
|
101
|
+
"rung"
|
|
102
|
+
],
|
|
103
|
+
"properties": {
|
|
104
|
+
"type": {
|
|
105
|
+
"$ref": "#/$defs/ClaimType"
|
|
106
|
+
},
|
|
107
|
+
"value": {
|
|
108
|
+
"description": "What would be disclosed. Absent for a predicate claim, which discloses no value at all — that absence is the point and a consumer MUST NOT render it as missing data."
|
|
109
|
+
},
|
|
110
|
+
"predicate": {
|
|
111
|
+
"type": "object",
|
|
112
|
+
"additionalProperties": false,
|
|
113
|
+
"required": [
|
|
114
|
+
"op",
|
|
115
|
+
"arg"
|
|
116
|
+
],
|
|
117
|
+
"description": "Present instead of `value` when the claim would be proven rather than shown, e.g. that a date of birth implies an age threshold. The underlying attribute stays in the pool; the predicate is a disclosure-time projection over it, which is what keeps the pool from filling with derived facts that are all the same fact asked differently.",
|
|
118
|
+
"properties": {
|
|
119
|
+
"op": {
|
|
120
|
+
"type": "string",
|
|
121
|
+
"enum": [
|
|
122
|
+
"gte",
|
|
123
|
+
"gt",
|
|
124
|
+
"lte",
|
|
125
|
+
"lt",
|
|
126
|
+
"eq",
|
|
127
|
+
"ne",
|
|
128
|
+
"memberOf"
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
"arg": {},
|
|
132
|
+
"over": {
|
|
133
|
+
"$ref": "#/$defs/ClaimType"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"provenance": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"enum": [
|
|
140
|
+
"selfAsserted",
|
|
141
|
+
"credentialBacked",
|
|
142
|
+
"generated"
|
|
143
|
+
]
|
|
144
|
+
},
|
|
145
|
+
"rung": {
|
|
146
|
+
"$ref": "#/$defs/ProofRung"
|
|
147
|
+
},
|
|
148
|
+
"newToThisVerifier": {
|
|
149
|
+
"type": "boolean",
|
|
150
|
+
"description": "True when this verifier has not previously received this claim type from this persona. What makes a preview rankable rather than a flat list — a holder needs the unusual ask to stand out from the routine one."
|
|
151
|
+
},
|
|
152
|
+
"stale": {
|
|
153
|
+
"type": "boolean",
|
|
154
|
+
"description": "True when a credential-backed claim could not be re-derived. Such a claim MUST NOT be disclosed; it is shown in the preview so the holder learns why the disclosure will be short."
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"renderer": {
|
|
160
|
+
"type": "object",
|
|
161
|
+
"additionalProperties": false,
|
|
162
|
+
"required": [
|
|
163
|
+
"id",
|
|
164
|
+
"drops"
|
|
165
|
+
],
|
|
166
|
+
"description": "The output format and, crucially, what it cannot carry. Lossiness is DECLARED rather than discovered: a holder is owed 'this verifier will see your work number but not that your employer attested it' before deciding, not after.",
|
|
167
|
+
"properties": {
|
|
168
|
+
"id": {
|
|
169
|
+
"type": "string",
|
|
170
|
+
"maxLength": 64
|
|
171
|
+
},
|
|
172
|
+
"drops": {
|
|
173
|
+
"type": "array",
|
|
174
|
+
"maxItems": 32,
|
|
175
|
+
"items": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"maxLength": 64
|
|
178
|
+
},
|
|
179
|
+
"description": "What this renderer discards — commonly provenance. Empty for a lossless renderer."
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"correlation": {
|
|
184
|
+
"type": "object",
|
|
185
|
+
"additionalProperties": false,
|
|
186
|
+
"required": [
|
|
187
|
+
"severity"
|
|
188
|
+
],
|
|
189
|
+
"description": "How much this disclosure would link the holder. Note the inversion that is easy to get backwards: a credential presented WHOLE correlates more than a self-asserted value, because the issuer signature is identical at every verifier — while a derived proof correlates LESS, because it differs on every presentation. Severity is therefore a function of value and rung together, not of provenance alone.",
|
|
190
|
+
"properties": {
|
|
191
|
+
"severity": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"enum": [
|
|
194
|
+
"none",
|
|
195
|
+
"low",
|
|
196
|
+
"high"
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
"reason": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"maxLength": 512
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
"anomalous": {
|
|
206
|
+
"type": "array",
|
|
207
|
+
"maxItems": 128,
|
|
208
|
+
"items": {
|
|
209
|
+
"$ref": "#/$defs/ClaimType"
|
|
210
|
+
},
|
|
211
|
+
"description": "Claim types unusual for this verifier's stated purpose. A preview that lists fourteen fields with fourteen equal weights is a notice-and-consent dialog, which is the pattern that trains people to click through; ranking by what is out of place is what makes the surfaced line the one worth reading."
|
|
212
|
+
},
|
|
213
|
+
"expiresAt": {
|
|
214
|
+
"type": "string",
|
|
215
|
+
"format": "date-time"
|
|
216
|
+
},
|
|
217
|
+
"ext": {
|
|
218
|
+
"$ref": "#/$defs/Ext"
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
"Ext": {
|
|
223
|
+
"title": "Ext",
|
|
224
|
+
"description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
|
|
225
|
+
"type": "object",
|
|
226
|
+
"minProperties": 1,
|
|
227
|
+
"additionalProperties": true,
|
|
228
|
+
"propertyNames": {
|
|
229
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
"ClaimType": {
|
|
233
|
+
"title": "ClaimType",
|
|
234
|
+
"description": "The vocabulary token naming what a value IS — `name.legal`, `phone.mobile`, `address.postal`, `person.birthDate`. Dotted, most-general segment first, so that a consumer with no knowledge of the specific token can still group by its prefix.\n\nThe token is the maintainer's own; no external vocabulary is primary. External vocabularies (vCard/jCard, OIDC standard claims, schema.org) are mappings applied at PRESENTATION by a renderer, not at rest, so that a query written in any of them can be matched without the store having to live inside any one of them.\n\nThe `x:` prefix is an open extension namespace and is not decoration. The closest prior art — Windows CardSpace's self-issued card — supported exactly fifteen predefined claim types with no extensibility, and that is the specific way it failed the requirement a holder actually has. An `x:` attribute stores, composes, binds and discloses exactly like a known one; it renders generically and matches only an explicit query.",
|
|
235
|
+
"type": "string",
|
|
236
|
+
"minLength": 1,
|
|
237
|
+
"maxLength": 128,
|
|
238
|
+
"pattern": "^(x:)?[a-z][a-zA-Z0-9]*(\\.[a-z][a-zA-Z0-9]*)*$"
|
|
239
|
+
},
|
|
240
|
+
"ProofRung": {
|
|
241
|
+
"title": "ProofRung",
|
|
242
|
+
"description": "How strongly a credential-backed claim is hidden when presented, ordered most private first. `predicate` proves a statement over a claim without disclosing the claim. `derived` discloses exactly the claims needed via an unlinkable derived proof, so two presentations cannot be joined. `selectiveDisclosure` discloses exactly the claims needed but carries the issuer's signature unchanged, so two presentations ARE linkable. `whole` discloses the entire credential.\n\nThe distinction between the first two and the last two is of kind, not degree: only `predicate` and `derived` avoid handing two verifiers a join key. A maintainer MUST default to the highest rung the credential's format supports, and MUST NOT silently fall to a lower one — a request that cannot be satisfied at the rung a producer asked for is refused, because a silent privacy downgrade discloses material the holder believed was hidden.",
|
|
243
|
+
"type": "string",
|
|
244
|
+
"enum": [
|
|
245
|
+
"predicate",
|
|
246
|
+
"derived",
|
|
247
|
+
"selectiveDisclosure",
|
|
248
|
+
"whole"
|
|
249
|
+
]
|
|
250
|
+
},
|
|
251
|
+
"Ulid": {
|
|
252
|
+
"title": "Ulid",
|
|
253
|
+
"description": "A ULID in Crockford base32, uppercase. Used for `attributeId` and `profileId`. Chosen over a UUID because the leading 48 bits are a timestamp, so a key-ordered scan of the store is also creation-ordered and a `list` needs no secondary sort. Server-assigned on create; a producer MAY supply one to make a create idempotent, and a maintainer MUST reject a supplied value that already exists rather than silently overwriting.",
|
|
254
|
+
"type": "string",
|
|
255
|
+
"pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
260
|
+
export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
261
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
262
|
+
"$ref": "#/$defs/Response",
|
|
263
|
+
"$defs": {
|
|
264
|
+
"Response": {
|
|
265
|
+
"$anchor": "response",
|
|
266
|
+
"title": "Persona Disclosure Preview — response payload",
|
|
267
|
+
"description": "Success response to persona/disclosure/preview. Type https://trusttasks.org/spec/persona/disclosure/preview/1.0#response. Signs nothing and sends nothing. The `previewId` returned here is consumed by persona/disclosure/present, which is the mechanism by which the two calls cannot be collapsed.",
|
|
268
|
+
"type": "object",
|
|
269
|
+
"additionalProperties": false,
|
|
270
|
+
"required": [
|
|
271
|
+
"previewId",
|
|
272
|
+
"subject",
|
|
273
|
+
"claims",
|
|
274
|
+
"expiresAt"
|
|
275
|
+
],
|
|
276
|
+
"properties": {
|
|
277
|
+
"previewId": {
|
|
278
|
+
"$ref": "#/$defs/Ulid",
|
|
279
|
+
"description": "Consumed by present. Single-use and short-lived: a preview a holder approved an hour ago is not evidence they approve it now, and one that could be replayed would let a second disclosure ride an earlier decision."
|
|
280
|
+
},
|
|
281
|
+
"subject": {
|
|
282
|
+
"type": "string",
|
|
283
|
+
"minLength": 1,
|
|
284
|
+
"description": "The identifier that would appear as the subject of the disclosure. Pairwise by default — a fresh per-relationship DID rather than the persona DID — so that two verifiers cannot recognise the holder as the same party. The persona DID is the account; this is the face."
|
|
285
|
+
},
|
|
286
|
+
"claims": {
|
|
287
|
+
"type": "array",
|
|
288
|
+
"maxItems": 128,
|
|
289
|
+
"items": {
|
|
290
|
+
"type": "object",
|
|
291
|
+
"additionalProperties": false,
|
|
292
|
+
"required": [
|
|
293
|
+
"type",
|
|
294
|
+
"provenance",
|
|
295
|
+
"rung"
|
|
296
|
+
],
|
|
297
|
+
"properties": {
|
|
298
|
+
"type": {
|
|
299
|
+
"$ref": "#/$defs/ClaimType"
|
|
300
|
+
},
|
|
301
|
+
"value": {
|
|
302
|
+
"description": "What would be disclosed. Absent for a predicate claim, which discloses no value at all — that absence is the point and a consumer MUST NOT render it as missing data."
|
|
303
|
+
},
|
|
304
|
+
"predicate": {
|
|
305
|
+
"type": "object",
|
|
306
|
+
"additionalProperties": false,
|
|
307
|
+
"required": [
|
|
308
|
+
"op",
|
|
309
|
+
"arg"
|
|
310
|
+
],
|
|
311
|
+
"description": "Present instead of `value` when the claim would be proven rather than shown, e.g. that a date of birth implies an age threshold. The underlying attribute stays in the pool; the predicate is a disclosure-time projection over it, which is what keeps the pool from filling with derived facts that are all the same fact asked differently.",
|
|
312
|
+
"properties": {
|
|
313
|
+
"op": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"enum": [
|
|
316
|
+
"gte",
|
|
317
|
+
"gt",
|
|
318
|
+
"lte",
|
|
319
|
+
"lt",
|
|
320
|
+
"eq",
|
|
321
|
+
"ne",
|
|
322
|
+
"memberOf"
|
|
323
|
+
]
|
|
324
|
+
},
|
|
325
|
+
"arg": {},
|
|
326
|
+
"over": {
|
|
327
|
+
"$ref": "#/$defs/ClaimType"
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"provenance": {
|
|
332
|
+
"type": "string",
|
|
333
|
+
"enum": [
|
|
334
|
+
"selfAsserted",
|
|
335
|
+
"credentialBacked",
|
|
336
|
+
"generated"
|
|
337
|
+
]
|
|
338
|
+
},
|
|
339
|
+
"rung": {
|
|
340
|
+
"$ref": "#/$defs/ProofRung"
|
|
341
|
+
},
|
|
342
|
+
"newToThisVerifier": {
|
|
343
|
+
"type": "boolean",
|
|
344
|
+
"description": "True when this verifier has not previously received this claim type from this persona. What makes a preview rankable rather than a flat list — a holder needs the unusual ask to stand out from the routine one."
|
|
345
|
+
},
|
|
346
|
+
"stale": {
|
|
347
|
+
"type": "boolean",
|
|
348
|
+
"description": "True when a credential-backed claim could not be re-derived. Such a claim MUST NOT be disclosed; it is shown in the preview so the holder learns why the disclosure will be short."
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
"renderer": {
|
|
354
|
+
"type": "object",
|
|
355
|
+
"additionalProperties": false,
|
|
356
|
+
"required": [
|
|
357
|
+
"id",
|
|
358
|
+
"drops"
|
|
359
|
+
],
|
|
360
|
+
"description": "The output format and, crucially, what it cannot carry. Lossiness is DECLARED rather than discovered: a holder is owed 'this verifier will see your work number but not that your employer attested it' before deciding, not after.",
|
|
361
|
+
"properties": {
|
|
362
|
+
"id": {
|
|
363
|
+
"type": "string",
|
|
364
|
+
"maxLength": 64
|
|
365
|
+
},
|
|
366
|
+
"drops": {
|
|
367
|
+
"type": "array",
|
|
368
|
+
"maxItems": 32,
|
|
369
|
+
"items": {
|
|
370
|
+
"type": "string",
|
|
371
|
+
"maxLength": 64
|
|
372
|
+
},
|
|
373
|
+
"description": "What this renderer discards — commonly provenance. Empty for a lossless renderer."
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
"correlation": {
|
|
378
|
+
"type": "object",
|
|
379
|
+
"additionalProperties": false,
|
|
380
|
+
"required": [
|
|
381
|
+
"severity"
|
|
382
|
+
],
|
|
383
|
+
"description": "How much this disclosure would link the holder. Note the inversion that is easy to get backwards: a credential presented WHOLE correlates more than a self-asserted value, because the issuer signature is identical at every verifier — while a derived proof correlates LESS, because it differs on every presentation. Severity is therefore a function of value and rung together, not of provenance alone.",
|
|
384
|
+
"properties": {
|
|
385
|
+
"severity": {
|
|
386
|
+
"type": "string",
|
|
387
|
+
"enum": [
|
|
388
|
+
"none",
|
|
389
|
+
"low",
|
|
390
|
+
"high"
|
|
391
|
+
]
|
|
392
|
+
},
|
|
393
|
+
"reason": {
|
|
394
|
+
"type": "string",
|
|
395
|
+
"maxLength": 512
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
},
|
|
399
|
+
"anomalous": {
|
|
400
|
+
"type": "array",
|
|
401
|
+
"maxItems": 128,
|
|
402
|
+
"items": {
|
|
403
|
+
"$ref": "#/$defs/ClaimType"
|
|
404
|
+
},
|
|
405
|
+
"description": "Claim types unusual for this verifier's stated purpose. A preview that lists fourteen fields with fourteen equal weights is a notice-and-consent dialog, which is the pattern that trains people to click through; ranking by what is out of place is what makes the surfaced line the one worth reading."
|
|
406
|
+
},
|
|
407
|
+
"expiresAt": {
|
|
408
|
+
"type": "string",
|
|
409
|
+
"format": "date-time"
|
|
410
|
+
},
|
|
411
|
+
"ext": {
|
|
412
|
+
"$ref": "#/$defs/Ext"
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
"Ext": {
|
|
417
|
+
"title": "Ext",
|
|
418
|
+
"description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
|
|
419
|
+
"type": "object",
|
|
420
|
+
"minProperties": 1,
|
|
421
|
+
"additionalProperties": true,
|
|
422
|
+
"propertyNames": {
|
|
423
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
424
|
+
}
|
|
425
|
+
},
|
|
426
|
+
"ClaimType": {
|
|
427
|
+
"title": "ClaimType",
|
|
428
|
+
"description": "The vocabulary token naming what a value IS — `name.legal`, `phone.mobile`, `address.postal`, `person.birthDate`. Dotted, most-general segment first, so that a consumer with no knowledge of the specific token can still group by its prefix.\n\nThe token is the maintainer's own; no external vocabulary is primary. External vocabularies (vCard/jCard, OIDC standard claims, schema.org) are mappings applied at PRESENTATION by a renderer, not at rest, so that a query written in any of them can be matched without the store having to live inside any one of them.\n\nThe `x:` prefix is an open extension namespace and is not decoration. The closest prior art — Windows CardSpace's self-issued card — supported exactly fifteen predefined claim types with no extensibility, and that is the specific way it failed the requirement a holder actually has. An `x:` attribute stores, composes, binds and discloses exactly like a known one; it renders generically and matches only an explicit query.",
|
|
429
|
+
"type": "string",
|
|
430
|
+
"minLength": 1,
|
|
431
|
+
"maxLength": 128,
|
|
432
|
+
"pattern": "^(x:)?[a-z][a-zA-Z0-9]*(\\.[a-z][a-zA-Z0-9]*)*$"
|
|
433
|
+
},
|
|
434
|
+
"ProofRung": {
|
|
435
|
+
"title": "ProofRung",
|
|
436
|
+
"description": "How strongly a credential-backed claim is hidden when presented, ordered most private first. `predicate` proves a statement over a claim without disclosing the claim. `derived` discloses exactly the claims needed via an unlinkable derived proof, so two presentations cannot be joined. `selectiveDisclosure` discloses exactly the claims needed but carries the issuer's signature unchanged, so two presentations ARE linkable. `whole` discloses the entire credential.\n\nThe distinction between the first two and the last two is of kind, not degree: only `predicate` and `derived` avoid handing two verifiers a join key. A maintainer MUST default to the highest rung the credential's format supports, and MUST NOT silently fall to a lower one — a request that cannot be satisfied at the rung a producer asked for is refused, because a silent privacy downgrade discloses material the holder believed was hidden.",
|
|
437
|
+
"type": "string",
|
|
438
|
+
"enum": [
|
|
439
|
+
"predicate",
|
|
440
|
+
"derived",
|
|
441
|
+
"selectiveDisclosure",
|
|
442
|
+
"whole"
|
|
443
|
+
]
|
|
444
|
+
},
|
|
445
|
+
"Ulid": {
|
|
446
|
+
"title": "Ulid",
|
|
447
|
+
"description": "A ULID in Crockford base32, uppercase. Used for `attributeId` and `profileId`. Chosen over a UUID because the leading 48 bits are a timestamp, so a key-ordered scan of the store is also creation-ordered and a `list` needs no secondary sort. Server-assigned on create; a producer MAY supply one to make a create idempotent, and a maintainer MUST reject a supplied value that already exists rather than silently overwriting.",
|
|
448
|
+
"type": "string",
|
|
449
|
+
"pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
};
|
|
453
|
+
/**
|
|
454
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
455
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
456
|
+
* per-specification and cannot be derived from the document alone, and
|
|
457
|
+
* item 2 needs the schema this carries.
|
|
458
|
+
*/
|
|
459
|
+
export const SPEC = {
|
|
460
|
+
typeUri: TYPE_URI,
|
|
461
|
+
isBearer: false,
|
|
462
|
+
isProofRequired: true,
|
|
463
|
+
isRecipientRequired: true,
|
|
464
|
+
isIssuedAtRequired: true,
|
|
465
|
+
payloadSchema: PAYLOAD_SCHEMA,
|
|
466
|
+
};
|
|
467
|
+
/**
|
|
468
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
469
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
470
|
+
* parties (§7.3 item 5).
|
|
471
|
+
*/
|
|
472
|
+
export const RESPONSE_SPEC = {
|
|
473
|
+
typeUri: RESPONSE_TYPE_URI,
|
|
474
|
+
isBearer: false,
|
|
475
|
+
isProofRequired: true,
|
|
476
|
+
isRecipientRequired: true,
|
|
477
|
+
isIssuedAtRequired: true,
|
|
478
|
+
payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
|
|
479
|
+
};
|
|
480
|
+
//# sourceMappingURL=payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/persona/disclosure/preview/1.0/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4GH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,QAAQ,GAAG,4DAAqE,CAAC;AAK9F,qEAAqE;AACrE,MAAM,CAAC,MAAM,iBAAiB,GAAG,qEAA8E,CAAC;AAKhH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,8CAA8C;IACzD,KAAK,EAAE,4DAA4D;IACnE,OAAO,EAAE,sCAAsC;IAC/C,aAAa,EAAE,oPAAoP;IACnQ,MAAM,EAAE,QAAQ;IAChB,sBAAsB,EAAE,KAAK;IAC7B,UAAU,EAAE;QACV,WAAW;QACX,YAAY;QACZ,aAAa;KACd;IACD,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC;SACf;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,mEAAmE;SACnF;QACD,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,wMAAwM;SACxN;QACD,SAAS,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,6JAA6J;SAC7K;QACD,iBAAiB,EAAE;YACjB,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,GAAG;YACf,OAAO,EAAE;gBACP,MAAM,EAAE,mBAAmB;aAC5B;YACD,aAAa,EAAE,gQAAgQ;SAChR;QACD,UAAU,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,EAAE;YACf,aAAa,EAAE,6MAA6M;SAC7N;QACD,KAAK,EAAE;YACL,MAAM,EAAE,aAAa;SACtB;KACF;IACD,OAAO,EAAE;QACP,UAAU,EAAE;YACV,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,+CAA+C;YACxD,aAAa,EAAE,wSAAwS;YACvT,MAAM,EAAE,QAAQ;YAChB,sBAAsB,EAAE,KAAK;YAC7B,UAAU,EAAE;gBACV,WAAW;gBACX,SAAS;gBACT,QAAQ;gBACR,WAAW;aACZ;YACD,YAAY,EAAE;gBACZ,WAAW,EAAE;oBACX,MAAM,EAAE,cAAc;oBACtB,aAAa,EAAE,sNAAsN;iBACtO;gBACD,SAAS,EAAE;oBACT,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,CAAC;oBACd,aAAa,EAAE,4QAA4Q;iBAC5R;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE,GAAG;oBACf,OAAO,EAAE;wBACP,MAAM,EAAE,QAAQ;wBAChB,sBAAsB,EAAE,KAAK;wBAC7B,UAAU,EAAE;4BACV,MAAM;4BACN,YAAY;4BACZ,MAAM;yBACP;wBACD,YAAY,EAAE;4BACZ,MAAM,EAAE;gCACN,MAAM,EAAE,mBAAmB;6BAC5B;4BACD,OAAO,EAAE;gCACP,aAAa,EAAE,uKAAuK;6BACvL;4BACD,WAAW,EAAE;gCACX,MAAM,EAAE,QAAQ;gCAChB,sBAAsB,EAAE,KAAK;gCAC7B,UAAU,EAAE;oCACV,IAAI;oCACJ,KAAK;iCACN;gCACD,aAAa,EAAE,gVAAgV;gCAC/V,YAAY,EAAE;oCACZ,IAAI,EAAE;wCACJ,MAAM,EAAE,QAAQ;wCAChB,MAAM,EAAE;4CACN,KAAK;4CACL,IAAI;4CACJ,KAAK;4CACL,IAAI;4CACJ,IAAI;4CACJ,IAAI;4CACJ,UAAU;yCACX;qCACF;oCACD,KAAK,EAAE,EAAE;oCACT,MAAM,EAAE;wCACN,MAAM,EAAE,mBAAmB;qCAC5B;iCACF;6BACF;4BACD,YAAY,EAAE;gCACZ,MAAM,EAAE,QAAQ;gCAChB,MAAM,EAAE;oCACN,cAAc;oCACd,kBAAkB;oCAClB,WAAW;iCACZ;6BACF;4BACD,MAAM,EAAE;gCACN,MAAM,EAAE,mBAAmB;6BAC5B;4BACD,mBAAmB,EAAE;gCACnB,MAAM,EAAE,SAAS;gCACjB,aAAa,EAAE,kNAAkN;6BAClO;4BACD,OAAO,EAAE;gCACP,MAAM,EAAE,SAAS;gCACjB,aAAa,EAAE,oLAAoL;6BACpM;yBACF;qBACF;iBACF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,QAAQ;oBAChB,sBAAsB,EAAE,KAAK;oBAC7B,UAAU,EAAE;wBACV,IAAI;wBACJ,OAAO;qBACR;oBACD,aAAa,EAAE,qOAAqO;oBACpP,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,EAAE;yBAChB;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,OAAO;4BACf,UAAU,EAAE,EAAE;4BACd,OAAO,EAAE;gCACP,MAAM,EAAE,QAAQ;gCAChB,WAAW,EAAE,EAAE;6BAChB;4BACD,aAAa,EAAE,mFAAmF;yBACnG;qBACF;iBACF;gBACD,aAAa,EAAE;oBACb,MAAM,EAAE,QAAQ;oBAChB,sBAAsB,EAAE,KAAK;oBAC7B,UAAU,EAAE;wBACV,UAAU;qBACX;oBACD,aAAa,EAAE,iZAAiZ;oBACha,YAAY,EAAE;wBACZ,UAAU,EAAE;4BACV,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE;gCACN,MAAM;gCACN,KAAK;gCACL,MAAM;6BACP;yBACF;wBACD,QAAQ,EAAE;4BACR,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,GAAG;yBACjB;qBACF;iBACF;gBACD,WAAW,EAAE;oBACX,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE,GAAG;oBACf,OAAO,EAAE;wBACP,MAAM,EAAE,mBAAmB;qBAC5B;oBACD,aAAa,EAAE,2SAA2S;iBAC3T;gBACD,WAAW,EAAE;oBACX,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,WAAW;iBACtB;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,aAAa;iBACtB;aACF;SACF;QACD,KAAK,EAAE;YACL,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,uKAAuK;YACtL,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,CAAC;YAClB,sBAAsB,EAAE,IAAI;YAC5B,eAAe,EAAE;gBACf,SAAS,EAAE,mCAAmC;aAC/C;SACF;QACD,WAAW,EAAE;YACX,OAAO,EAAE,WAAW;YACpB,aAAa,EAAE,29BAA29B;YAC1+B,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,iDAAiD;SAC7D;QACD,WAAW,EAAE;YACX,OAAO,EAAE,WAAW;YACpB,aAAa,EAAE,64BAA64B;YAC55B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACN,WAAW;gBACX,SAAS;gBACT,qBAAqB;gBACrB,OAAO;aACR;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,waAAwa;YACvb,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,0BAA0B;SACtC;KACF;CACO,CAAC;AAEX,mEAAmE;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS,EAAE,8CAA8C;IACzD,MAAM,EAAE,kBAAkB;IAC1B,OAAO,EAAE;QACP,UAAU,EAAE;YACV,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,+CAA+C;YACxD,aAAa,EAAE,wSAAwS;YACvT,MAAM,EAAE,QAAQ;YAChB,sBAAsB,EAAE,KAAK;YAC7B,UAAU,EAAE;gBACV,WAAW;gBACX,SAAS;gBACT,QAAQ;gBACR,WAAW;aACZ;YACD,YAAY,EAAE;gBACZ,WAAW,EAAE;oBACX,MAAM,EAAE,cAAc;oBACtB,aAAa,EAAE,sNAAsN;iBACtO;gBACD,SAAS,EAAE;oBACT,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,CAAC;oBACd,aAAa,EAAE,4QAA4Q;iBAC5R;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE,GAAG;oBACf,OAAO,EAAE;wBACP,MAAM,EAAE,QAAQ;wBAChB,sBAAsB,EAAE,KAAK;wBAC7B,UAAU,EAAE;4BACV,MAAM;4BACN,YAAY;4BACZ,MAAM;yBACP;wBACD,YAAY,EAAE;4BACZ,MAAM,EAAE;gCACN,MAAM,EAAE,mBAAmB;6BAC5B;4BACD,OAAO,EAAE;gCACP,aAAa,EAAE,uKAAuK;6BACvL;4BACD,WAAW,EAAE;gCACX,MAAM,EAAE,QAAQ;gCAChB,sBAAsB,EAAE,KAAK;gCAC7B,UAAU,EAAE;oCACV,IAAI;oCACJ,KAAK;iCACN;gCACD,aAAa,EAAE,gVAAgV;gCAC/V,YAAY,EAAE;oCACZ,IAAI,EAAE;wCACJ,MAAM,EAAE,QAAQ;wCAChB,MAAM,EAAE;4CACN,KAAK;4CACL,IAAI;4CACJ,KAAK;4CACL,IAAI;4CACJ,IAAI;4CACJ,IAAI;4CACJ,UAAU;yCACX;qCACF;oCACD,KAAK,EAAE,EAAE;oCACT,MAAM,EAAE;wCACN,MAAM,EAAE,mBAAmB;qCAC5B;iCACF;6BACF;4BACD,YAAY,EAAE;gCACZ,MAAM,EAAE,QAAQ;gCAChB,MAAM,EAAE;oCACN,cAAc;oCACd,kBAAkB;oCAClB,WAAW;iCACZ;6BACF;4BACD,MAAM,EAAE;gCACN,MAAM,EAAE,mBAAmB;6BAC5B;4BACD,mBAAmB,EAAE;gCACnB,MAAM,EAAE,SAAS;gCACjB,aAAa,EAAE,kNAAkN;6BAClO;4BACD,OAAO,EAAE;gCACP,MAAM,EAAE,SAAS;gCACjB,aAAa,EAAE,oLAAoL;6BACpM;yBACF;qBACF;iBACF;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,QAAQ;oBAChB,sBAAsB,EAAE,KAAK;oBAC7B,UAAU,EAAE;wBACV,IAAI;wBACJ,OAAO;qBACR;oBACD,aAAa,EAAE,qOAAqO;oBACpP,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,EAAE;yBAChB;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,OAAO;4BACf,UAAU,EAAE,EAAE;4BACd,OAAO,EAAE;gCACP,MAAM,EAAE,QAAQ;gCAChB,WAAW,EAAE,EAAE;6BAChB;4BACD,aAAa,EAAE,mFAAmF;yBACnG;qBACF;iBACF;gBACD,aAAa,EAAE;oBACb,MAAM,EAAE,QAAQ;oBAChB,sBAAsB,EAAE,KAAK;oBAC7B,UAAU,EAAE;wBACV,UAAU;qBACX;oBACD,aAAa,EAAE,iZAAiZ;oBACha,YAAY,EAAE;wBACZ,UAAU,EAAE;4BACV,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE;gCACN,MAAM;gCACN,KAAK;gCACL,MAAM;6BACP;yBACF;wBACD,QAAQ,EAAE;4BACR,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,GAAG;yBACjB;qBACF;iBACF;gBACD,WAAW,EAAE;oBACX,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE,GAAG;oBACf,OAAO,EAAE;wBACP,MAAM,EAAE,mBAAmB;qBAC5B;oBACD,aAAa,EAAE,2SAA2S;iBAC3T;gBACD,WAAW,EAAE;oBACX,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,WAAW;iBACtB;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,aAAa;iBACtB;aACF;SACF;QACD,KAAK,EAAE;YACL,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,uKAAuK;YACtL,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,CAAC;YAClB,sBAAsB,EAAE,IAAI;YAC5B,eAAe,EAAE;gBACf,SAAS,EAAE,mCAAmC;aAC/C;SACF;QACD,WAAW,EAAE;YACX,OAAO,EAAE,WAAW;YACpB,aAAa,EAAE,29BAA29B;YAC1+B,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,iDAAiD;SAC7D;QACD,WAAW,EAAE;YACX,OAAO,EAAE,WAAW;YACpB,aAAa,EAAE,64BAA64B;YAC55B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACN,WAAW;gBACX,SAAS;gBACT,qBAAqB;gBACrB,OAAO;aACR;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,waAAwa;YACvb,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,0BAA0B;SACtC;KACF;CACO,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,IAAI;IACzB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,cAAc;CACrB,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,IAAI;IACzB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,uBAAuB;CAC9B,CAAC"}
|