@openvtc/trust-tasks 0.19.12 → 0.19.13
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 +2 -0
- package/dist/persona/attribute/put/1.0/payload.d.ts +183 -0
- package/dist/persona/attribute/put/1.0/payload.d.ts.map +1 -1
- package/dist/persona/attribute/put/1.0/payload.js +96 -0
- package/dist/persona/attribute/put/1.0/payload.js.map +1 -1
- package/dist/persona/binding/get/1.0/payload.d.ts +33 -5
- package/dist/persona/binding/get/1.0/payload.d.ts.map +1 -1
- package/dist/persona/binding/get/1.0/payload.js +14 -2
- package/dist/persona/binding/get/1.0/payload.js.map +1 -1
- package/dist/persona/binding/list/1.0/payload.d.ts +33 -5
- package/dist/persona/binding/list/1.0/payload.d.ts.map +1 -1
- package/dist/persona/binding/list/1.0/payload.js +14 -2
- package/dist/persona/binding/list/1.0/payload.js.map +1 -1
- package/dist/persona/binding/set/1.0/payload.d.ts +16 -0
- package/dist/persona/binding/set/1.0/payload.d.ts.map +1 -1
- package/dist/persona/binding/set/1.0/payload.js +6 -0
- package/dist/persona/binding/set/1.0/payload.js.map +1 -1
- package/dist/persona/disclosure/history/1.0/payload.d.ts +42 -0
- package/dist/persona/disclosure/history/1.0/payload.d.ts.map +1 -1
- package/dist/persona/disclosure/history/1.0/payload.js +28 -0
- package/dist/persona/disclosure/history/1.0/payload.js.map +1 -1
- package/dist/persona/local/binding/set/1.0/payload.d.ts +16 -0
- package/dist/persona/local/binding/set/1.0/payload.d.ts.map +1 -1
- package/dist/persona/local/binding/set/1.0/payload.js +6 -0
- package/dist/persona/local/binding/set/1.0/payload.js.map +1 -1
- package/package.json +1 -1
- package/src/persona/attribute/put/1.0/payload.ts +115 -0
- package/src/persona/binding/get/1.0/payload.ts +19 -3
- package/src/persona/binding/list/1.0/payload.ts +19 -3
- package/src/persona/binding/set/1.0/payload.ts +10 -0
- package/src/persona/disclosure/history/1.0/payload.ts +34 -0
- package/src/persona/local/binding/set/1.0/payload.ts +10 -0
|
@@ -64,6 +64,25 @@ export interface PersonaAttributePutResponsePayload {
|
|
|
64
64
|
*/
|
|
65
65
|
sharedWithProfileCount?: number;
|
|
66
66
|
};
|
|
67
|
+
/**
|
|
68
|
+
* Every place this write changed what a persona presents: each binding whose projection was re-pushed because a face wearing it shows this attribute live. An edit propagates by design, and a holder told only that it saved cannot tell whether it refreshed one face or nine. Holder-authorized, so identifiers are returned. Absent when nothing was bound to a face showing it.
|
|
69
|
+
*
|
|
70
|
+
* @maxItems 256
|
|
71
|
+
*/
|
|
72
|
+
refreshed?: {
|
|
73
|
+
profileId: Ulid;
|
|
74
|
+
contextId: string;
|
|
75
|
+
personaDid: string;
|
|
76
|
+
}[];
|
|
77
|
+
/**
|
|
78
|
+
* Faces that pin this attribute to an earlier version and so did NOT follow the edit — the counterparties that must keep seeing the value they verified. Named so the holder can decide, per face, whether that is still what they want. Absent when no face pins it.
|
|
79
|
+
*
|
|
80
|
+
* @maxItems 256
|
|
81
|
+
*/
|
|
82
|
+
heldByPin?: {
|
|
83
|
+
profileId: Ulid;
|
|
84
|
+
pinVersion: Version;
|
|
85
|
+
}[];
|
|
67
86
|
createdAt?: string;
|
|
68
87
|
updatedAt: string;
|
|
69
88
|
ext?: Ext;
|
|
@@ -192,6 +211,54 @@ export const PAYLOAD_SCHEMA = {
|
|
|
192
211
|
}
|
|
193
212
|
}
|
|
194
213
|
},
|
|
214
|
+
"refreshed": {
|
|
215
|
+
"type": "array",
|
|
216
|
+
"maxItems": 256,
|
|
217
|
+
"description": "Every place this write changed what a persona presents: each binding whose projection was re-pushed because a face wearing it shows this attribute live. An edit propagates by design, and a holder told only that it saved cannot tell whether it refreshed one face or nine. Holder-authorized, so identifiers are returned. Absent when nothing was bound to a face showing it.",
|
|
218
|
+
"items": {
|
|
219
|
+
"type": "object",
|
|
220
|
+
"additionalProperties": false,
|
|
221
|
+
"required": [
|
|
222
|
+
"profileId",
|
|
223
|
+
"contextId",
|
|
224
|
+
"personaDid"
|
|
225
|
+
],
|
|
226
|
+
"properties": {
|
|
227
|
+
"profileId": {
|
|
228
|
+
"$ref": "#/$defs/Ulid"
|
|
229
|
+
},
|
|
230
|
+
"contextId": {
|
|
231
|
+
"type": "string",
|
|
232
|
+
"minLength": 1
|
|
233
|
+
},
|
|
234
|
+
"personaDid": {
|
|
235
|
+
"type": "string",
|
|
236
|
+
"minLength": 1
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
"heldByPin": {
|
|
242
|
+
"type": "array",
|
|
243
|
+
"maxItems": 256,
|
|
244
|
+
"description": "Faces that pin this attribute to an earlier version and so did NOT follow the edit — the counterparties that must keep seeing the value they verified. Named so the holder can decide, per face, whether that is still what they want. Absent when no face pins it.",
|
|
245
|
+
"items": {
|
|
246
|
+
"type": "object",
|
|
247
|
+
"additionalProperties": false,
|
|
248
|
+
"required": [
|
|
249
|
+
"profileId",
|
|
250
|
+
"pinVersion"
|
|
251
|
+
],
|
|
252
|
+
"properties": {
|
|
253
|
+
"profileId": {
|
|
254
|
+
"$ref": "#/$defs/Ulid"
|
|
255
|
+
},
|
|
256
|
+
"pinVersion": {
|
|
257
|
+
"$ref": "#/$defs/Version"
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
},
|
|
195
262
|
"createdAt": {
|
|
196
263
|
"type": "string",
|
|
197
264
|
"format": "date-time"
|
|
@@ -412,6 +479,54 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
412
479
|
}
|
|
413
480
|
}
|
|
414
481
|
},
|
|
482
|
+
"refreshed": {
|
|
483
|
+
"type": "array",
|
|
484
|
+
"maxItems": 256,
|
|
485
|
+
"description": "Every place this write changed what a persona presents: each binding whose projection was re-pushed because a face wearing it shows this attribute live. An edit propagates by design, and a holder told only that it saved cannot tell whether it refreshed one face or nine. Holder-authorized, so identifiers are returned. Absent when nothing was bound to a face showing it.",
|
|
486
|
+
"items": {
|
|
487
|
+
"type": "object",
|
|
488
|
+
"additionalProperties": false,
|
|
489
|
+
"required": [
|
|
490
|
+
"profileId",
|
|
491
|
+
"contextId",
|
|
492
|
+
"personaDid"
|
|
493
|
+
],
|
|
494
|
+
"properties": {
|
|
495
|
+
"profileId": {
|
|
496
|
+
"$ref": "#/$defs/Ulid"
|
|
497
|
+
},
|
|
498
|
+
"contextId": {
|
|
499
|
+
"type": "string",
|
|
500
|
+
"minLength": 1
|
|
501
|
+
},
|
|
502
|
+
"personaDid": {
|
|
503
|
+
"type": "string",
|
|
504
|
+
"minLength": 1
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
},
|
|
509
|
+
"heldByPin": {
|
|
510
|
+
"type": "array",
|
|
511
|
+
"maxItems": 256,
|
|
512
|
+
"description": "Faces that pin this attribute to an earlier version and so did NOT follow the edit — the counterparties that must keep seeing the value they verified. Named so the holder can decide, per face, whether that is still what they want. Absent when no face pins it.",
|
|
513
|
+
"items": {
|
|
514
|
+
"type": "object",
|
|
515
|
+
"additionalProperties": false,
|
|
516
|
+
"required": [
|
|
517
|
+
"profileId",
|
|
518
|
+
"pinVersion"
|
|
519
|
+
],
|
|
520
|
+
"properties": {
|
|
521
|
+
"profileId": {
|
|
522
|
+
"$ref": "#/$defs/Ulid"
|
|
523
|
+
},
|
|
524
|
+
"pinVersion": {
|
|
525
|
+
"$ref": "#/$defs/Version"
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
},
|
|
415
530
|
"createdAt": {
|
|
416
531
|
"type": "string",
|
|
417
532
|
"format": "date-time"
|
|
@@ -29,7 +29,11 @@ export interface PersonaBindingGetResponsePayload {
|
|
|
29
29
|
*/
|
|
30
30
|
profileId?: Ulid;
|
|
31
31
|
/**
|
|
32
|
-
* The
|
|
32
|
+
* The name the holder chose for this context to call the face (persona/binding/set `label`). Absent when they chose none.
|
|
33
|
+
*/
|
|
34
|
+
label?: string;
|
|
35
|
+
/**
|
|
36
|
+
* The holder's OWN name for the bound face. A maintainer MUST omit it unless the caller is holder-authorized: it is the holder's filing, not something they told this context, and it can say far more than the face shows. A context-scoped caller reads `label`.
|
|
33
37
|
*/
|
|
34
38
|
profileName?: string;
|
|
35
39
|
/**
|
|
@@ -118,10 +122,16 @@ export const PAYLOAD_SCHEMA = {
|
|
|
118
122
|
"$ref": "#/$defs/Ulid",
|
|
119
123
|
"description": "Present when bound. An identifier only; a context-scoped caller cannot resolve it, because profile reads are holder-authorized."
|
|
120
124
|
},
|
|
125
|
+
"label": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"minLength": 1,
|
|
128
|
+
"maxLength": 128,
|
|
129
|
+
"description": "The name the holder chose for this context to call the face (persona/binding/set `label`). Absent when they chose none."
|
|
130
|
+
},
|
|
121
131
|
"profileName": {
|
|
122
132
|
"type": "string",
|
|
123
133
|
"maxLength": 128,
|
|
124
|
-
"description": "The holder's
|
|
134
|
+
"description": "The holder's OWN name for the bound face. A maintainer MUST omit it unless the caller is holder-authorized: it is the holder's filing, not something they told this context, and it can say far more than the face shows. A context-scoped caller reads `label`."
|
|
125
135
|
},
|
|
126
136
|
"claimCount": {
|
|
127
137
|
"type": "integer",
|
|
@@ -189,10 +199,16 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
189
199
|
"$ref": "#/$defs/Ulid",
|
|
190
200
|
"description": "Present when bound. An identifier only; a context-scoped caller cannot resolve it, because profile reads are holder-authorized."
|
|
191
201
|
},
|
|
202
|
+
"label": {
|
|
203
|
+
"type": "string",
|
|
204
|
+
"minLength": 1,
|
|
205
|
+
"maxLength": 128,
|
|
206
|
+
"description": "The name the holder chose for this context to call the face (persona/binding/set `label`). Absent when they chose none."
|
|
207
|
+
},
|
|
192
208
|
"profileName": {
|
|
193
209
|
"type": "string",
|
|
194
210
|
"maxLength": 128,
|
|
195
|
-
"description": "The holder's
|
|
211
|
+
"description": "The holder's OWN name for the bound face. A maintainer MUST omit it unless the caller is holder-authorized: it is the holder's filing, not something they told this context, and it can say far more than the face shows. A context-scoped caller reads `label`."
|
|
196
212
|
},
|
|
197
213
|
"claimCount": {
|
|
198
214
|
"type": "integer",
|
|
@@ -26,7 +26,11 @@ export interface PersonaBindingListResponsePayload {
|
|
|
26
26
|
personaDid: string;
|
|
27
27
|
bound: boolean;
|
|
28
28
|
/**
|
|
29
|
-
* The holder
|
|
29
|
+
* The name the holder chose for this context to call the face. Absent when they chose none.
|
|
30
|
+
*/
|
|
31
|
+
label?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The holder's OWN name for the bound face. A maintainer MUST omit it unless the caller is holder-authorized; see persona/binding/get.
|
|
30
34
|
*/
|
|
31
35
|
profileName?: string;
|
|
32
36
|
claimCount?: number;
|
|
@@ -121,10 +125,16 @@ export const PAYLOAD_SCHEMA = {
|
|
|
121
125
|
"bound": {
|
|
122
126
|
"type": "boolean"
|
|
123
127
|
},
|
|
128
|
+
"label": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"minLength": 1,
|
|
131
|
+
"maxLength": 128,
|
|
132
|
+
"description": "The name the holder chose for this context to call the face. Absent when they chose none."
|
|
133
|
+
},
|
|
124
134
|
"profileName": {
|
|
125
135
|
"type": "string",
|
|
126
136
|
"maxLength": 128,
|
|
127
|
-
"description": "The holder's
|
|
137
|
+
"description": "The holder's OWN name for the bound face. A maintainer MUST omit it unless the caller is holder-authorized; see persona/binding/get."
|
|
128
138
|
},
|
|
129
139
|
"claimCount": {
|
|
130
140
|
"type": "integer",
|
|
@@ -192,10 +202,16 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
192
202
|
"bound": {
|
|
193
203
|
"type": "boolean"
|
|
194
204
|
},
|
|
205
|
+
"label": {
|
|
206
|
+
"type": "string",
|
|
207
|
+
"minLength": 1,
|
|
208
|
+
"maxLength": 128,
|
|
209
|
+
"description": "The name the holder chose for this context to call the face. Absent when they chose none."
|
|
210
|
+
},
|
|
195
211
|
"profileName": {
|
|
196
212
|
"type": "string",
|
|
197
213
|
"maxLength": 128,
|
|
198
|
-
"description": "The holder's
|
|
214
|
+
"description": "The holder's OWN name for the bound face. A maintainer MUST omit it unless the caller is holder-authorized; see persona/binding/get."
|
|
199
215
|
},
|
|
200
216
|
"claimCount": {
|
|
201
217
|
"type": "integer",
|
|
@@ -28,6 +28,10 @@ export interface PersonaBindingSetPayload {
|
|
|
28
28
|
* @maxItems 32
|
|
29
29
|
*/
|
|
30
30
|
publicEntries?: Ulid[];
|
|
31
|
+
/**
|
|
32
|
+
* What this context may call the face the persona wears here, chosen by the holder for this context. Returned by persona/binding/get and persona/binding/list in place of the holder's own name for the face, which is theirs and may say far more than they would tell a context ('the divorce'). Omit to give the context no name at all.
|
|
33
|
+
*/
|
|
34
|
+
label?: string;
|
|
31
35
|
expectedVersion?: ExpectedVersion;
|
|
32
36
|
ext?: Ext;
|
|
33
37
|
}
|
|
@@ -123,6 +127,12 @@ export const PAYLOAD_SCHEMA = {
|
|
|
123
127
|
},
|
|
124
128
|
"description": "Attributes the holder opts into publishing on the persona's own DID document or equivalent public surface. Empty by default and MUST remain empty unless explicitly set: everything else is a per-verifier projection, and a published value is one document every relying party sees identically — a permanent correlation point the rest of this family exists to avoid."
|
|
125
129
|
},
|
|
130
|
+
"label": {
|
|
131
|
+
"type": "string",
|
|
132
|
+
"minLength": 1,
|
|
133
|
+
"maxLength": 128,
|
|
134
|
+
"description": "What this context may call the face the persona wears here, chosen by the holder for this context. Returned by persona/binding/get and persona/binding/list in place of the holder's own name for the face, which is theirs and may say far more than they would tell a context ('the divorce'). Omit to give the context no name at all."
|
|
135
|
+
},
|
|
126
136
|
"expectedVersion": {
|
|
127
137
|
"$ref": "#/$defs/ExpectedVersion"
|
|
128
138
|
},
|
|
@@ -53,6 +53,12 @@ export interface PersonaDisclosureHistoryResponsePayload {
|
|
|
53
53
|
* @maxItems 128
|
|
54
54
|
*/
|
|
55
55
|
rungs?: ProofRung[];
|
|
56
|
+
/**
|
|
57
|
+
* Positionally aligned with claimTypes: whether the value the verifier received is still what this persona presents in this context. `current` — it is. `changed` — the persona now presents a different value of that type, so the verifier holds an outdated copy; this is what a re-present list is built from. `removed` — the persona no longer presents that type at all; the verifier still holds what it received, because a disclosure cannot be recalled. `unknown` — the maintainer cannot tell, as for a record made before it began fingerprinting disclosed values. Computed at read time by comparing a keyed hash of the disclosed value with the persona's current projection in the same context: no value is stored and nothing above the context boundary is read.
|
|
58
|
+
*
|
|
59
|
+
* @maxItems 128
|
|
60
|
+
*/
|
|
61
|
+
claimCurrency?: ("current" | "changed" | "removed" | "unknown")[];
|
|
56
62
|
purpose?: string;
|
|
57
63
|
renderer?: string;
|
|
58
64
|
/**
|
|
@@ -189,6 +195,20 @@ export const PAYLOAD_SCHEMA = {
|
|
|
189
195
|
},
|
|
190
196
|
"description": "Positionally aligned with claimTypes. A holder reviewing history needs to know not only what went but how strongly it was hidden — the same claim type at two rungs is two very different disclosures."
|
|
191
197
|
},
|
|
198
|
+
"claimCurrency": {
|
|
199
|
+
"type": "array",
|
|
200
|
+
"maxItems": 128,
|
|
201
|
+
"items": {
|
|
202
|
+
"type": "string",
|
|
203
|
+
"enum": [
|
|
204
|
+
"current",
|
|
205
|
+
"changed",
|
|
206
|
+
"removed",
|
|
207
|
+
"unknown"
|
|
208
|
+
]
|
|
209
|
+
},
|
|
210
|
+
"description": "Positionally aligned with claimTypes: whether the value the verifier received is still what this persona presents in this context. `current` — it is. `changed` — the persona now presents a different value of that type, so the verifier holds an outdated copy; this is what a re-present list is built from. `removed` — the persona no longer presents that type at all; the verifier still holds what it received, because a disclosure cannot be recalled. `unknown` — the maintainer cannot tell, as for a record made before it began fingerprinting disclosed values. Computed at read time by comparing a keyed hash of the disclosed value with the persona's current projection in the same context: no value is stored and nothing above the context boundary is read."
|
|
211
|
+
},
|
|
192
212
|
"purpose": {
|
|
193
213
|
"type": "string",
|
|
194
214
|
"maxLength": 512
|
|
@@ -319,6 +339,20 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
319
339
|
},
|
|
320
340
|
"description": "Positionally aligned with claimTypes. A holder reviewing history needs to know not only what went but how strongly it was hidden — the same claim type at two rungs is two very different disclosures."
|
|
321
341
|
},
|
|
342
|
+
"claimCurrency": {
|
|
343
|
+
"type": "array",
|
|
344
|
+
"maxItems": 128,
|
|
345
|
+
"items": {
|
|
346
|
+
"type": "string",
|
|
347
|
+
"enum": [
|
|
348
|
+
"current",
|
|
349
|
+
"changed",
|
|
350
|
+
"removed",
|
|
351
|
+
"unknown"
|
|
352
|
+
]
|
|
353
|
+
},
|
|
354
|
+
"description": "Positionally aligned with claimTypes: whether the value the verifier received is still what this persona presents in this context. `current` — it is. `changed` — the persona now presents a different value of that type, so the verifier holds an outdated copy; this is what a re-present list is built from. `removed` — the persona no longer presents that type at all; the verifier still holds what it received, because a disclosure cannot be recalled. `unknown` — the maintainer cannot tell, as for a record made before it began fingerprinting disclosed values. Computed at read time by comparing a keyed hash of the disclosed value with the persona's current projection in the same context: no value is stored and nothing above the context boundary is read."
|
|
355
|
+
},
|
|
322
356
|
"purpose": {
|
|
323
357
|
"type": "string",
|
|
324
358
|
"maxLength": 512
|
|
@@ -16,6 +16,10 @@ export interface PersonaLocalBindingSetPayload {
|
|
|
16
16
|
* A LOCAL profile, or null to clear. A maintainer MUST refuse an identifier that names a pool profile: honouring it would let a context-scoped caller bind the holder's composition, which is the one escalation the whole boundary exists to prevent.
|
|
17
17
|
*/
|
|
18
18
|
profileId?: Ulid | null;
|
|
19
|
+
/**
|
|
20
|
+
* What this context may call the face the persona wears here, chosen by the holder for this context. Returned by persona/binding/get and persona/binding/list in place of the holder's own name for the face, which is theirs and may say far more than they would tell a context ('the divorce'). Omit to give the context no name at all.
|
|
21
|
+
*/
|
|
22
|
+
label?: string;
|
|
19
23
|
expectedVersion?: ExpectedVersion;
|
|
20
24
|
ext?: Ext;
|
|
21
25
|
}
|
|
@@ -86,6 +90,12 @@ export const PAYLOAD_SCHEMA = {
|
|
|
86
90
|
],
|
|
87
91
|
"description": "A LOCAL profile, or null to clear. A maintainer MUST refuse an identifier that names a pool profile: honouring it would let a context-scoped caller bind the holder's composition, which is the one escalation the whole boundary exists to prevent."
|
|
88
92
|
},
|
|
93
|
+
"label": {
|
|
94
|
+
"type": "string",
|
|
95
|
+
"minLength": 1,
|
|
96
|
+
"maxLength": 128,
|
|
97
|
+
"description": "What this context may call the face the persona wears here, chosen by the holder for this context. Returned by persona/binding/get and persona/binding/list in place of the holder's own name for the face, which is theirs and may say far more than they would tell a context ('the divorce'). Omit to give the context no name at all."
|
|
98
|
+
},
|
|
89
99
|
"expectedVersion": {
|
|
90
100
|
"$ref": "#/$defs/ExpectedVersion"
|
|
91
101
|
},
|