@openvtc/trust-tasks 0.19.17 → 0.19.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/_runtime/consume.d.ts +1 -1
  3. package/dist/_runtime/consume.js +2 -2
  4. package/dist/_shared/components.d.ts +46 -0
  5. package/dist/_shared/components.d.ts.map +1 -1
  6. package/dist/index.d.ts +8 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +8 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/persona/_shared/0.1/persona-record.d.ts +1 -1
  11. package/dist/persona/_shared/0.1/persona-record.d.ts.map +1 -1
  12. package/dist/persona/attribute/list/1.0/payload.d.ts +124 -4
  13. package/dist/persona/attribute/list/1.0/payload.d.ts.map +1 -1
  14. package/dist/persona/attribute/list/1.0/payload.js +72 -2
  15. package/dist/persona/attribute/list/1.0/payload.js.map +1 -1
  16. package/dist/persona/attribute/promote/1.0/payload.d.ts +506 -0
  17. package/dist/persona/attribute/promote/1.0/payload.d.ts.map +1 -0
  18. package/dist/persona/attribute/promote/1.0/payload.js +263 -0
  19. package/dist/persona/attribute/promote/1.0/payload.js.map +1 -0
  20. package/dist/persona/attribute/put/1.0/payload.d.ts +110 -4
  21. package/dist/persona/attribute/put/1.0/payload.d.ts.map +1 -1
  22. package/dist/persona/attribute/put/1.0/payload.js +62 -2
  23. package/dist/persona/attribute/put/1.0/payload.js.map +1 -1
  24. package/dist/persona/binding/get/1.0/payload.d.ts +24 -0
  25. package/dist/persona/binding/get/1.0/payload.d.ts.map +1 -1
  26. package/dist/persona/binding/get/1.0/payload.js +10 -0
  27. package/dist/persona/binding/get/1.0/payload.js.map +1 -1
  28. package/dist/persona/binding/list/1.0/payload.d.ts +24 -0
  29. package/dist/persona/binding/list/1.0/payload.d.ts.map +1 -1
  30. package/dist/persona/binding/list/1.0/payload.js +10 -0
  31. package/dist/persona/binding/list/1.0/payload.js.map +1 -1
  32. package/dist/persona/binding/set/1.0/payload.d.ts +38 -0
  33. package/dist/persona/binding/set/1.0/payload.d.ts.map +1 -1
  34. package/dist/persona/binding/set/1.0/payload.js +15 -0
  35. package/dist/persona/binding/set/1.0/payload.js.map +1 -1
  36. package/dist/persona/contact/get/1.0/payload.d.ts +84 -4
  37. package/dist/persona/contact/get/1.0/payload.d.ts.map +1 -1
  38. package/dist/persona/contact/get/1.0/payload.js +52 -2
  39. package/dist/persona/contact/get/1.0/payload.js.map +1 -1
  40. package/dist/persona/contact/put/1.0/payload.d.ts +84 -4
  41. package/dist/persona/contact/put/1.0/payload.d.ts.map +1 -1
  42. package/dist/persona/contact/put/1.0/payload.js +52 -2
  43. package/dist/persona/contact/put/1.0/payload.js.map +1 -1
  44. package/dist/persona/disclosure/preview/1.0/payload.d.ts +5 -5
  45. package/dist/persona/disclosure/preview/1.0/payload.d.ts.map +1 -1
  46. package/dist/persona/disclosure/preview/1.0/payload.js +4 -2
  47. package/dist/persona/disclosure/preview/1.0/payload.js.map +1 -1
  48. package/dist/persona/local/binding/set/1.0/payload.d.ts +14 -0
  49. package/dist/persona/local/binding/set/1.0/payload.d.ts.map +1 -1
  50. package/dist/persona/local/binding/set/1.0/payload.js +5 -0
  51. package/dist/persona/local/binding/set/1.0/payload.js.map +1 -1
  52. package/dist/persona/profile/compose/1.0/payload.d.ts +965 -0
  53. package/dist/persona/profile/compose/1.0/payload.d.ts.map +1 -0
  54. package/dist/persona/profile/compose/1.0/payload.js +531 -0
  55. package/dist/persona/profile/compose/1.0/payload.js.map +1 -0
  56. package/dist/persona/profile/delete/1.0/payload.d.ts +71 -0
  57. package/dist/persona/profile/delete/1.0/payload.d.ts.map +1 -1
  58. package/dist/persona/profile/delete/1.0/payload.js +38 -0
  59. package/dist/persona/profile/delete/1.0/payload.js.map +1 -1
  60. package/dist/persona/profile/get/1.0/payload.d.ts +345 -6
  61. package/dist/persona/profile/get/1.0/payload.d.ts.map +1 -1
  62. package/dist/persona/profile/get/1.0/payload.js +206 -2
  63. package/dist/persona/profile/get/1.0/payload.js.map +1 -1
  64. package/dist/persona/profile/list/1.0/payload.d.ts +288 -6
  65. package/dist/persona/profile/list/1.0/payload.d.ts.map +1 -1
  66. package/dist/persona/profile/list/1.0/payload.js +173 -2
  67. package/dist/persona/profile/list/1.0/payload.js.map +1 -1
  68. package/dist/persona/profile/put/1.0/payload.d.ts +230 -6
  69. package/dist/persona/profile/put/1.0/payload.d.ts.map +1 -1
  70. package/dist/persona/profile/put/1.0/payload.js +138 -2
  71. package/dist/persona/profile/put/1.0/payload.js.map +1 -1
  72. package/dist/persona/profile/reinstate/1.0/payload.d.ts +325 -0
  73. package/dist/persona/profile/reinstate/1.0/payload.d.ts.map +1 -0
  74. package/dist/persona/profile/reinstate/1.0/payload.js +181 -0
  75. package/dist/persona/profile/reinstate/1.0/payload.js.map +1 -0
  76. package/dist/persona/profile/retire/1.0/payload.d.ts +436 -0
  77. package/dist/persona/profile/retire/1.0/payload.d.ts.map +1 -0
  78. package/dist/persona/profile/retire/1.0/payload.js +238 -0
  79. package/dist/persona/profile/retire/1.0/payload.js.map +1 -0
  80. package/dist/persona/profile/timeline/1.0/payload.d.ts +588 -0
  81. package/dist/persona/profile/timeline/1.0/payload.d.ts.map +1 -0
  82. package/dist/persona/profile/timeline/1.0/payload.js +322 -0
  83. package/dist/persona/profile/timeline/1.0/payload.js.map +1 -0
  84. package/dist/persona/profile/usage/1.0/payload.d.ts +533 -0
  85. package/dist/persona/profile/usage/1.0/payload.d.ts.map +1 -0
  86. package/dist/persona/profile/usage/1.0/payload.js +302 -0
  87. package/dist/persona/profile/usage/1.0/payload.js.map +1 -0
  88. package/dist/trust-task-control/0.1/payload.d.ts +19 -19
  89. package/dist/trust-task-control/0.1/payload.js +7 -7
  90. package/dist/trust-task-discovery/0.1/payload.d.ts +3 -3
  91. package/dist/trust-task-discovery/0.1/payload.js +1 -1
  92. package/dist/trust-task-discovery/0.2/payload.d.ts +368 -0
  93. package/dist/trust-task-discovery/0.2/payload.d.ts.map +1 -0
  94. package/dist/trust-task-discovery/0.2/payload.js +186 -0
  95. package/dist/trust-task-discovery/0.2/payload.js.map +1 -0
  96. package/dist/vtc/invitations/deliver/0.1/payload.d.ts +318 -0
  97. package/dist/vtc/invitations/deliver/0.1/payload.d.ts.map +1 -0
  98. package/dist/vtc/invitations/deliver/0.1/payload.js +183 -0
  99. package/dist/vtc/invitations/deliver/0.1/payload.js.map +1 -0
  100. package/package.json +1 -1
  101. package/src/_runtime/consume.ts +2 -2
  102. package/src/_shared/components.ts +49 -0
  103. package/src/index.ts +8 -0
  104. package/src/persona/_shared/0.1/persona-record.ts +1 -1
  105. package/src/persona/attribute/list/1.0/payload.ts +72 -2
  106. package/src/persona/attribute/promote/1.0/payload.ts +344 -0
  107. package/src/persona/attribute/put/1.0/payload.ts +68 -2
  108. package/src/persona/binding/get/1.0/payload.ts +14 -0
  109. package/src/persona/binding/list/1.0/payload.ts +14 -0
  110. package/src/persona/binding/set/1.0/payload.ts +23 -0
  111. package/src/persona/contact/get/1.0/payload.ts +52 -2
  112. package/src/persona/contact/put/1.0/payload.ts +52 -2
  113. package/src/persona/disclosure/preview/1.0/payload.ts +5 -3
  114. package/src/persona/local/binding/set/1.0/payload.ts +9 -0
  115. package/src/persona/profile/compose/1.0/payload.ts +650 -0
  116. package/src/persona/profile/delete/1.0/payload.ts +45 -0
  117. package/src/persona/profile/get/1.0/payload.ts +215 -4
  118. package/src/persona/profile/list/1.0/payload.ts +179 -4
  119. package/src/persona/profile/put/1.0/payload.ts +144 -4
  120. package/src/persona/profile/reinstate/1.0/payload.ts +219 -0
  121. package/src/persona/profile/retire/1.0/payload.ts +289 -0
  122. package/src/persona/profile/timeline/1.0/payload.ts +402 -0
  123. package/src/persona/profile/usage/1.0/payload.ts +354 -0
  124. package/src/trust-task-control/0.1/payload.ts +12 -12
  125. package/src/trust-task-discovery/0.1/payload.ts +2 -2
  126. package/src/trust-task-discovery/0.2/payload.ts +286 -0
  127. package/src/vtc/invitations/deliver/0.1/payload.ts +234 -0
@@ -2,7 +2,7 @@
2
2
  * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
3
  * Source: specs/persona/profile/list/1.0/payload.schema.json
4
4
  */
5
- import type { ClaimType, Ext, Profile, ProfileEntry, ProofRung, Provenance, Slot, Ulid, ValueType, Version_PersonaV0_1 as Version } from "../../../../_shared/components.js";
5
+ import type { ClaimType, Ext, FaceReach, Profile, ProfileEntry, ProofRung, Provenance, Slot, Ulid, ValueType, Version_PersonaV0_1 as Version } from "../../../../_shared/components.js";
6
6
  /**
7
7
  * Enumerate the holder's profiles. Compositions only — entries are returned, values are not.
8
8
  */
@@ -12,6 +12,10 @@ export interface PersonaProfileListPayload {
12
12
  */
13
13
  cursor?: string;
14
14
  limit?: number;
15
+ /**
16
+ * Include retired faces. Off by default: a retired face is one the holder has stopped being, and a picker that offered it back would undo the decision by accident.
17
+ */
18
+ includeRetired?: boolean;
15
19
  ext?: Ext;
16
20
  }
17
21
  /**
@@ -29,7 +33,7 @@ export interface PersonaProfileListResponsePayload {
29
33
  ext?: Ext;
30
34
  }
31
35
  /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
32
- export type { ClaimType, Ext, Profile, ProfileEntry, ProofRung, Provenance, Slot, Ulid, ValueType, Version };
36
+ export type { ClaimType, Ext, FaceReach, Profile, ProfileEntry, ProofRung, Provenance, Slot, Ulid, ValueType, Version };
33
37
  /** Trust Task type URI. */
34
38
  export declare const TYPE_URI: "https://trusttasks.org/spec/persona/profile/list/1.0";
35
39
  /** Stable alias for this specification's request payload shape. */
@@ -66,6 +70,11 @@ export declare const PAYLOAD_SCHEMA: {
66
70
  readonly maximum: 500;
67
71
  readonly default: 100;
68
72
  };
73
+ readonly includeRetired: {
74
+ readonly type: "boolean";
75
+ readonly default: false;
76
+ readonly description: "Include retired faces. Off by default: a retired face is one the holder has stopped being, and a picker that offered it back would undo the decision by accident.";
77
+ };
69
78
  readonly ext: {
70
79
  readonly $ref: "#/$defs/Ext";
71
80
  };
@@ -129,6 +138,20 @@ export declare const PAYLOAD_SCHEMA: {
129
138
  readonly $ref: "#/$defs/ProfileEntry";
130
139
  };
131
140
  };
141
+ readonly reach: {
142
+ readonly $ref: "#/$defs/FaceReach";
143
+ };
144
+ readonly status: {
145
+ readonly type: "string";
146
+ readonly enum: readonly ["active", "retired"];
147
+ readonly default: "active";
148
+ readonly description: "`retired`: the face is worn nowhere, is left out of pickers and default listings, and cannot be worn until reinstated (persona/profile/retire, persona/profile/reinstate). Its disclosure history and every value it carries are kept — retiring is 'stop being this', not 'forget this'. Absent reads as `active`.";
149
+ };
150
+ readonly retiredAt: {
151
+ readonly type: "string";
152
+ readonly format: "date-time";
153
+ readonly description: "When the face was retired. Present exactly when `status` is `retired`.";
154
+ };
132
155
  readonly credentialRefs: {
133
156
  readonly type: "array";
134
157
  readonly maxItems: 256;
@@ -157,6 +180,39 @@ export declare const PAYLOAD_SCHEMA: {
157
180
  readonly type: "integer";
158
181
  readonly minimum: 1;
159
182
  };
183
+ readonly FaceReach: {
184
+ readonly title: "FaceReach";
185
+ readonly description: "Where a pool face may be worn. `anywhere` is the default and what an absent member means. `only` names the contexts it may be worn in, and a maintainer MUST refuse to wear it in any other (persona/binding/set `outsideReach`).\n\nA tagged object rather than a bare list of contexts, deliberately: an empty list has been read as both 'unrestricted' and 'nowhere' in this family's neighbours, and a shape where the two cannot be confused is worth more than one where they must be remembered. So `only` requires at least one context, and 'nowhere' is not a reach — it is a retired face.\n\nA context-local face has no reach: it lives in its context and is worn there by construction.";
186
+ readonly oneOf: readonly [{
187
+ readonly type: "object";
188
+ readonly additionalProperties: false;
189
+ readonly required: readonly ["kind"];
190
+ readonly properties: {
191
+ readonly kind: {
192
+ readonly const: "anywhere";
193
+ };
194
+ };
195
+ }, {
196
+ readonly type: "object";
197
+ readonly additionalProperties: false;
198
+ readonly required: readonly ["kind", "contextIds"];
199
+ readonly properties: {
200
+ readonly kind: {
201
+ readonly const: "only";
202
+ };
203
+ readonly contextIds: {
204
+ readonly type: "array";
205
+ readonly minItems: 1;
206
+ readonly maxItems: 256;
207
+ readonly uniqueItems: true;
208
+ readonly items: {
209
+ readonly type: "string";
210
+ readonly minLength: 1;
211
+ };
212
+ };
213
+ };
214
+ }];
215
+ };
160
216
  readonly ProfileEntry: {
161
217
  readonly title: "ProfileEntry";
162
218
  readonly description: "One line of a profile, in exactly one of four forms. Together they are the whole of a profile's flexibility, and each exists for a case the others handle badly.\n\n`{ref}` — use the pool attribute, live. Editing the pool updates every profile that references it, which is the point.\n\n`{ref, pinVersion}` — use the value as it was at that version. For a profile that must keep presenting the value a counterparty already verified.\n\n`{ref, override}` — the same fact, a different value here. (\"In the gaming profile my display name is different.\")\n\n`{inline}` — a value that never enters the pool, and so never leaks into another profile.\n\nOmission is exclusion; there is no removal marker.\n\nAny form MAY carry a `slot` naming the role the entry plays in the profile — see `Slot`. A maintainer MUST refuse a profile in which two entries carry the same slot: a slot exists to answer one question with one entry.";
@@ -249,7 +305,7 @@ export declare const PAYLOAD_SCHEMA: {
249
305
  };
250
306
  readonly Provenance: {
251
307
  readonly title: "Provenance";
252
- readonly description: "Where a value comes from, and the member that makes this family worth building on a trust stack rather than in an address book. It survives to the verifier, so a recipient can tell — per field — what the holder typed from what an issuer attested.\n\n`selfAsserted` — the holder supplied it.\n\n`credentialBacked` — the value is derived from a credential in the vault at `claimPath`. The stored value is a CACHE FOR DISPLAY; the credential is the truth. A maintainer MUST re-derive it on read and MUST fail closed (never presenting a stale value) when the credential has been revoked, has expired, or has been archived or deleted.\n\n`generated` — the value is minted per verifier at disclosure time and recorded against that verifier, so every relying party receives a different one that routes back to the holder. This is the shape of the most widely adopted consumer privacy feature in this space; a maintainer need not operate a relay to conform, but the shape must exist, because retrofitting per-verifier values into a pool-of-values model is a migration rather than an addition.";
308
+ readonly description: "Where a value comes from, and the member that makes this family worth building on a trust stack rather than in an address book. It survives to the verifier, so a recipient can tell — per field — what the holder typed from what an issuer attested.\n\n`selfAsserted` — the holder supplied it.\n\n`credentialBacked` — the value is derived from a credential in the vault at `claimPath`. The stored value is a CACHE FOR DISPLAY; the credential is the truth. A maintainer MUST re-derive it on read and MUST fail closed (never presenting a stale value) when the credential has been revoked, has expired, or has been archived or deleted.\n\n`generated` — the value is minted per verifier at disclosure time and recorded against that verifier, so every relying party receives a different one that routes back to the holder. This is the shape of the most widely adopted consumer privacy feature in this space; a maintainer need not operate a relay to conform, but the shape must exist, because retrofitting per-verifier values into a pool-of-values model is a migration rather than an addition.\n\n`derived` — the value was taken from a source the holder connected or supplied — a code-hosting profile, an uploaded CV — rather than typed by them or attested by an issuer. Nobody signed it: it is the holder's claim that the source said so, and a consumer MUST NOT present it as attested. It exists as its own kind because a derived value is neither of the others — the holder did not author it, and no one vouches for it — and a holder deciding whether to disclose deserves to know which of their values they typed.\n\nFor how strongly a disclosed value identifies the holder, the kinds rank `credentialBacked` above `derived` above `selfAsserted`; `generated` values are per-verifier and do not correlate.";
253
309
  readonly type: "object";
254
310
  readonly required: readonly ["kind"];
255
311
  readonly oneOf: readonly [{
@@ -306,6 +362,26 @@ export declare const PAYLOAD_SCHEMA: {
306
362
  readonly description: "When true (the default and the only useful setting), a distinct value is minted for each verifier.";
307
363
  };
308
364
  };
365
+ }, {
366
+ readonly additionalProperties: false;
367
+ readonly required: readonly ["kind", "source", "derivedAt"];
368
+ readonly properties: {
369
+ readonly kind: {
370
+ readonly const: "derived";
371
+ };
372
+ readonly source: {
373
+ readonly type: "string";
374
+ readonly minLength: 1;
375
+ readonly maxLength: 64;
376
+ readonly pattern: "^[a-z][A-Za-z0-9.-]*$";
377
+ readonly description: "The KIND of source the value was taken from — `github`, `cvUpload`, `linkedIn` — never an account, handle or URL. Provenance survives to the verifier, so this member is disclosed with the claim; a handle here would disclose an identifier the holder never chose to share.";
378
+ };
379
+ readonly derivedAt: {
380
+ readonly type: "string";
381
+ readonly format: "date-time";
382
+ readonly description: "When the value was taken from the source. A derived value is a snapshot: the source may have changed since, and nothing re-derives it.";
383
+ };
384
+ };
309
385
  }];
310
386
  };
311
387
  readonly ProofRung: {
@@ -399,6 +475,20 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
399
475
  readonly $ref: "#/$defs/ProfileEntry";
400
476
  };
401
477
  };
478
+ readonly reach: {
479
+ readonly $ref: "#/$defs/FaceReach";
480
+ };
481
+ readonly status: {
482
+ readonly type: "string";
483
+ readonly enum: readonly ["active", "retired"];
484
+ readonly default: "active";
485
+ readonly description: "`retired`: the face is worn nowhere, is left out of pickers and default listings, and cannot be worn until reinstated (persona/profile/retire, persona/profile/reinstate). Its disclosure history and every value it carries are kept — retiring is 'stop being this', not 'forget this'. Absent reads as `active`.";
486
+ };
487
+ readonly retiredAt: {
488
+ readonly type: "string";
489
+ readonly format: "date-time";
490
+ readonly description: "When the face was retired. Present exactly when `status` is `retired`.";
491
+ };
402
492
  readonly credentialRefs: {
403
493
  readonly type: "array";
404
494
  readonly maxItems: 256;
@@ -427,6 +517,39 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
427
517
  readonly type: "integer";
428
518
  readonly minimum: 1;
429
519
  };
520
+ readonly FaceReach: {
521
+ readonly title: "FaceReach";
522
+ readonly description: "Where a pool face may be worn. `anywhere` is the default and what an absent member means. `only` names the contexts it may be worn in, and a maintainer MUST refuse to wear it in any other (persona/binding/set `outsideReach`).\n\nA tagged object rather than a bare list of contexts, deliberately: an empty list has been read as both 'unrestricted' and 'nowhere' in this family's neighbours, and a shape where the two cannot be confused is worth more than one where they must be remembered. So `only` requires at least one context, and 'nowhere' is not a reach — it is a retired face.\n\nA context-local face has no reach: it lives in its context and is worn there by construction.";
523
+ readonly oneOf: readonly [{
524
+ readonly type: "object";
525
+ readonly additionalProperties: false;
526
+ readonly required: readonly ["kind"];
527
+ readonly properties: {
528
+ readonly kind: {
529
+ readonly const: "anywhere";
530
+ };
531
+ };
532
+ }, {
533
+ readonly type: "object";
534
+ readonly additionalProperties: false;
535
+ readonly required: readonly ["kind", "contextIds"];
536
+ readonly properties: {
537
+ readonly kind: {
538
+ readonly const: "only";
539
+ };
540
+ readonly contextIds: {
541
+ readonly type: "array";
542
+ readonly minItems: 1;
543
+ readonly maxItems: 256;
544
+ readonly uniqueItems: true;
545
+ readonly items: {
546
+ readonly type: "string";
547
+ readonly minLength: 1;
548
+ };
549
+ };
550
+ };
551
+ }];
552
+ };
430
553
  readonly ProfileEntry: {
431
554
  readonly title: "ProfileEntry";
432
555
  readonly description: "One line of a profile, in exactly one of four forms. Together they are the whole of a profile's flexibility, and each exists for a case the others handle badly.\n\n`{ref}` — use the pool attribute, live. Editing the pool updates every profile that references it, which is the point.\n\n`{ref, pinVersion}` — use the value as it was at that version. For a profile that must keep presenting the value a counterparty already verified.\n\n`{ref, override}` — the same fact, a different value here. (\"In the gaming profile my display name is different.\")\n\n`{inline}` — a value that never enters the pool, and so never leaks into another profile.\n\nOmission is exclusion; there is no removal marker.\n\nAny form MAY carry a `slot` naming the role the entry plays in the profile — see `Slot`. A maintainer MUST refuse a profile in which two entries carry the same slot: a slot exists to answer one question with one entry.";
@@ -519,7 +642,7 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
519
642
  };
520
643
  readonly Provenance: {
521
644
  readonly title: "Provenance";
522
- readonly description: "Where a value comes from, and the member that makes this family worth building on a trust stack rather than in an address book. It survives to the verifier, so a recipient can tell — per field — what the holder typed from what an issuer attested.\n\n`selfAsserted` — the holder supplied it.\n\n`credentialBacked` — the value is derived from a credential in the vault at `claimPath`. The stored value is a CACHE FOR DISPLAY; the credential is the truth. A maintainer MUST re-derive it on read and MUST fail closed (never presenting a stale value) when the credential has been revoked, has expired, or has been archived or deleted.\n\n`generated` — the value is minted per verifier at disclosure time and recorded against that verifier, so every relying party receives a different one that routes back to the holder. This is the shape of the most widely adopted consumer privacy feature in this space; a maintainer need not operate a relay to conform, but the shape must exist, because retrofitting per-verifier values into a pool-of-values model is a migration rather than an addition.";
645
+ readonly description: "Where a value comes from, and the member that makes this family worth building on a trust stack rather than in an address book. It survives to the verifier, so a recipient can tell — per field — what the holder typed from what an issuer attested.\n\n`selfAsserted` — the holder supplied it.\n\n`credentialBacked` — the value is derived from a credential in the vault at `claimPath`. The stored value is a CACHE FOR DISPLAY; the credential is the truth. A maintainer MUST re-derive it on read and MUST fail closed (never presenting a stale value) when the credential has been revoked, has expired, or has been archived or deleted.\n\n`generated` — the value is minted per verifier at disclosure time and recorded against that verifier, so every relying party receives a different one that routes back to the holder. This is the shape of the most widely adopted consumer privacy feature in this space; a maintainer need not operate a relay to conform, but the shape must exist, because retrofitting per-verifier values into a pool-of-values model is a migration rather than an addition.\n\n`derived` — the value was taken from a source the holder connected or supplied — a code-hosting profile, an uploaded CV — rather than typed by them or attested by an issuer. Nobody signed it: it is the holder's claim that the source said so, and a consumer MUST NOT present it as attested. It exists as its own kind because a derived value is neither of the others — the holder did not author it, and no one vouches for it — and a holder deciding whether to disclose deserves to know which of their values they typed.\n\nFor how strongly a disclosed value identifies the holder, the kinds rank `credentialBacked` above `derived` above `selfAsserted`; `generated` values are per-verifier and do not correlate.";
523
646
  readonly type: "object";
524
647
  readonly required: readonly ["kind"];
525
648
  readonly oneOf: readonly [{
@@ -576,6 +699,26 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
576
699
  readonly description: "When true (the default and the only useful setting), a distinct value is minted for each verifier.";
577
700
  };
578
701
  };
702
+ }, {
703
+ readonly additionalProperties: false;
704
+ readonly required: readonly ["kind", "source", "derivedAt"];
705
+ readonly properties: {
706
+ readonly kind: {
707
+ readonly const: "derived";
708
+ };
709
+ readonly source: {
710
+ readonly type: "string";
711
+ readonly minLength: 1;
712
+ readonly maxLength: 64;
713
+ readonly pattern: "^[a-z][A-Za-z0-9.-]*$";
714
+ readonly description: "The KIND of source the value was taken from — `github`, `cvUpload`, `linkedIn` — never an account, handle or URL. Provenance survives to the verifier, so this member is disclosed with the claim; a handle here would disclose an identifier the holder never chose to share.";
715
+ };
716
+ readonly derivedAt: {
717
+ readonly type: "string";
718
+ readonly format: "date-time";
719
+ readonly description: "When the value was taken from the source. A derived value is a snapshot: the source may have changed since, and nothing re-derives it.";
720
+ };
721
+ };
579
722
  }];
580
723
  };
581
724
  readonly ProofRung: {
@@ -637,6 +780,11 @@ export declare const SPEC: {
637
780
  readonly maximum: 500;
638
781
  readonly default: 100;
639
782
  };
783
+ readonly includeRetired: {
784
+ readonly type: "boolean";
785
+ readonly default: false;
786
+ readonly description: "Include retired faces. Off by default: a retired face is one the holder has stopped being, and a picker that offered it back would undo the decision by accident.";
787
+ };
640
788
  readonly ext: {
641
789
  readonly $ref: "#/$defs/Ext";
642
790
  };
@@ -700,6 +848,20 @@ export declare const SPEC: {
700
848
  readonly $ref: "#/$defs/ProfileEntry";
701
849
  };
702
850
  };
851
+ readonly reach: {
852
+ readonly $ref: "#/$defs/FaceReach";
853
+ };
854
+ readonly status: {
855
+ readonly type: "string";
856
+ readonly enum: readonly ["active", "retired"];
857
+ readonly default: "active";
858
+ readonly description: "`retired`: the face is worn nowhere, is left out of pickers and default listings, and cannot be worn until reinstated (persona/profile/retire, persona/profile/reinstate). Its disclosure history and every value it carries are kept — retiring is 'stop being this', not 'forget this'. Absent reads as `active`.";
859
+ };
860
+ readonly retiredAt: {
861
+ readonly type: "string";
862
+ readonly format: "date-time";
863
+ readonly description: "When the face was retired. Present exactly when `status` is `retired`.";
864
+ };
703
865
  readonly credentialRefs: {
704
866
  readonly type: "array";
705
867
  readonly maxItems: 256;
@@ -728,6 +890,39 @@ export declare const SPEC: {
728
890
  readonly type: "integer";
729
891
  readonly minimum: 1;
730
892
  };
893
+ readonly FaceReach: {
894
+ readonly title: "FaceReach";
895
+ readonly description: "Where a pool face may be worn. `anywhere` is the default and what an absent member means. `only` names the contexts it may be worn in, and a maintainer MUST refuse to wear it in any other (persona/binding/set `outsideReach`).\n\nA tagged object rather than a bare list of contexts, deliberately: an empty list has been read as both 'unrestricted' and 'nowhere' in this family's neighbours, and a shape where the two cannot be confused is worth more than one where they must be remembered. So `only` requires at least one context, and 'nowhere' is not a reach — it is a retired face.\n\nA context-local face has no reach: it lives in its context and is worn there by construction.";
896
+ readonly oneOf: readonly [{
897
+ readonly type: "object";
898
+ readonly additionalProperties: false;
899
+ readonly required: readonly ["kind"];
900
+ readonly properties: {
901
+ readonly kind: {
902
+ readonly const: "anywhere";
903
+ };
904
+ };
905
+ }, {
906
+ readonly type: "object";
907
+ readonly additionalProperties: false;
908
+ readonly required: readonly ["kind", "contextIds"];
909
+ readonly properties: {
910
+ readonly kind: {
911
+ readonly const: "only";
912
+ };
913
+ readonly contextIds: {
914
+ readonly type: "array";
915
+ readonly minItems: 1;
916
+ readonly maxItems: 256;
917
+ readonly uniqueItems: true;
918
+ readonly items: {
919
+ readonly type: "string";
920
+ readonly minLength: 1;
921
+ };
922
+ };
923
+ };
924
+ }];
925
+ };
731
926
  readonly ProfileEntry: {
732
927
  readonly title: "ProfileEntry";
733
928
  readonly description: "One line of a profile, in exactly one of four forms. Together they are the whole of a profile's flexibility, and each exists for a case the others handle badly.\n\n`{ref}` — use the pool attribute, live. Editing the pool updates every profile that references it, which is the point.\n\n`{ref, pinVersion}` — use the value as it was at that version. For a profile that must keep presenting the value a counterparty already verified.\n\n`{ref, override}` — the same fact, a different value here. (\"In the gaming profile my display name is different.\")\n\n`{inline}` — a value that never enters the pool, and so never leaks into another profile.\n\nOmission is exclusion; there is no removal marker.\n\nAny form MAY carry a `slot` naming the role the entry plays in the profile — see `Slot`. A maintainer MUST refuse a profile in which two entries carry the same slot: a slot exists to answer one question with one entry.";
@@ -820,7 +1015,7 @@ export declare const SPEC: {
820
1015
  };
821
1016
  readonly Provenance: {
822
1017
  readonly title: "Provenance";
823
- readonly description: "Where a value comes from, and the member that makes this family worth building on a trust stack rather than in an address book. It survives to the verifier, so a recipient can tell — per field — what the holder typed from what an issuer attested.\n\n`selfAsserted` — the holder supplied it.\n\n`credentialBacked` — the value is derived from a credential in the vault at `claimPath`. The stored value is a CACHE FOR DISPLAY; the credential is the truth. A maintainer MUST re-derive it on read and MUST fail closed (never presenting a stale value) when the credential has been revoked, has expired, or has been archived or deleted.\n\n`generated` — the value is minted per verifier at disclosure time and recorded against that verifier, so every relying party receives a different one that routes back to the holder. This is the shape of the most widely adopted consumer privacy feature in this space; a maintainer need not operate a relay to conform, but the shape must exist, because retrofitting per-verifier values into a pool-of-values model is a migration rather than an addition.";
1018
+ readonly description: "Where a value comes from, and the member that makes this family worth building on a trust stack rather than in an address book. It survives to the verifier, so a recipient can tell — per field — what the holder typed from what an issuer attested.\n\n`selfAsserted` — the holder supplied it.\n\n`credentialBacked` — the value is derived from a credential in the vault at `claimPath`. The stored value is a CACHE FOR DISPLAY; the credential is the truth. A maintainer MUST re-derive it on read and MUST fail closed (never presenting a stale value) when the credential has been revoked, has expired, or has been archived or deleted.\n\n`generated` — the value is minted per verifier at disclosure time and recorded against that verifier, so every relying party receives a different one that routes back to the holder. This is the shape of the most widely adopted consumer privacy feature in this space; a maintainer need not operate a relay to conform, but the shape must exist, because retrofitting per-verifier values into a pool-of-values model is a migration rather than an addition.\n\n`derived` — the value was taken from a source the holder connected or supplied — a code-hosting profile, an uploaded CV — rather than typed by them or attested by an issuer. Nobody signed it: it is the holder's claim that the source said so, and a consumer MUST NOT present it as attested. It exists as its own kind because a derived value is neither of the others — the holder did not author it, and no one vouches for it — and a holder deciding whether to disclose deserves to know which of their values they typed.\n\nFor how strongly a disclosed value identifies the holder, the kinds rank `credentialBacked` above `derived` above `selfAsserted`; `generated` values are per-verifier and do not correlate.";
824
1019
  readonly type: "object";
825
1020
  readonly required: readonly ["kind"];
826
1021
  readonly oneOf: readonly [{
@@ -877,6 +1072,26 @@ export declare const SPEC: {
877
1072
  readonly description: "When true (the default and the only useful setting), a distinct value is minted for each verifier.";
878
1073
  };
879
1074
  };
1075
+ }, {
1076
+ readonly additionalProperties: false;
1077
+ readonly required: readonly ["kind", "source", "derivedAt"];
1078
+ readonly properties: {
1079
+ readonly kind: {
1080
+ readonly const: "derived";
1081
+ };
1082
+ readonly source: {
1083
+ readonly type: "string";
1084
+ readonly minLength: 1;
1085
+ readonly maxLength: 64;
1086
+ readonly pattern: "^[a-z][A-Za-z0-9.-]*$";
1087
+ readonly description: "The KIND of source the value was taken from — `github`, `cvUpload`, `linkedIn` — never an account, handle or URL. Provenance survives to the verifier, so this member is disclosed with the claim; a handle here would disclose an identifier the holder never chose to share.";
1088
+ };
1089
+ readonly derivedAt: {
1090
+ readonly type: "string";
1091
+ readonly format: "date-time";
1092
+ readonly description: "When the value was taken from the source. A derived value is a snapshot: the source may have changed since, and nothing re-derives it.";
1093
+ };
1094
+ };
880
1095
  }];
881
1096
  };
882
1097
  readonly ProofRung: {
@@ -981,6 +1196,20 @@ export declare const RESPONSE_SPEC: {
981
1196
  readonly $ref: "#/$defs/ProfileEntry";
982
1197
  };
983
1198
  };
1199
+ readonly reach: {
1200
+ readonly $ref: "#/$defs/FaceReach";
1201
+ };
1202
+ readonly status: {
1203
+ readonly type: "string";
1204
+ readonly enum: readonly ["active", "retired"];
1205
+ readonly default: "active";
1206
+ readonly description: "`retired`: the face is worn nowhere, is left out of pickers and default listings, and cannot be worn until reinstated (persona/profile/retire, persona/profile/reinstate). Its disclosure history and every value it carries are kept — retiring is 'stop being this', not 'forget this'. Absent reads as `active`.";
1207
+ };
1208
+ readonly retiredAt: {
1209
+ readonly type: "string";
1210
+ readonly format: "date-time";
1211
+ readonly description: "When the face was retired. Present exactly when `status` is `retired`.";
1212
+ };
984
1213
  readonly credentialRefs: {
985
1214
  readonly type: "array";
986
1215
  readonly maxItems: 256;
@@ -1009,6 +1238,39 @@ export declare const RESPONSE_SPEC: {
1009
1238
  readonly type: "integer";
1010
1239
  readonly minimum: 1;
1011
1240
  };
1241
+ readonly FaceReach: {
1242
+ readonly title: "FaceReach";
1243
+ readonly description: "Where a pool face may be worn. `anywhere` is the default and what an absent member means. `only` names the contexts it may be worn in, and a maintainer MUST refuse to wear it in any other (persona/binding/set `outsideReach`).\n\nA tagged object rather than a bare list of contexts, deliberately: an empty list has been read as both 'unrestricted' and 'nowhere' in this family's neighbours, and a shape where the two cannot be confused is worth more than one where they must be remembered. So `only` requires at least one context, and 'nowhere' is not a reach — it is a retired face.\n\nA context-local face has no reach: it lives in its context and is worn there by construction.";
1244
+ readonly oneOf: readonly [{
1245
+ readonly type: "object";
1246
+ readonly additionalProperties: false;
1247
+ readonly required: readonly ["kind"];
1248
+ readonly properties: {
1249
+ readonly kind: {
1250
+ readonly const: "anywhere";
1251
+ };
1252
+ };
1253
+ }, {
1254
+ readonly type: "object";
1255
+ readonly additionalProperties: false;
1256
+ readonly required: readonly ["kind", "contextIds"];
1257
+ readonly properties: {
1258
+ readonly kind: {
1259
+ readonly const: "only";
1260
+ };
1261
+ readonly contextIds: {
1262
+ readonly type: "array";
1263
+ readonly minItems: 1;
1264
+ readonly maxItems: 256;
1265
+ readonly uniqueItems: true;
1266
+ readonly items: {
1267
+ readonly type: "string";
1268
+ readonly minLength: 1;
1269
+ };
1270
+ };
1271
+ };
1272
+ }];
1273
+ };
1012
1274
  readonly ProfileEntry: {
1013
1275
  readonly title: "ProfileEntry";
1014
1276
  readonly description: "One line of a profile, in exactly one of four forms. Together they are the whole of a profile's flexibility, and each exists for a case the others handle badly.\n\n`{ref}` — use the pool attribute, live. Editing the pool updates every profile that references it, which is the point.\n\n`{ref, pinVersion}` — use the value as it was at that version. For a profile that must keep presenting the value a counterparty already verified.\n\n`{ref, override}` — the same fact, a different value here. (\"In the gaming profile my display name is different.\")\n\n`{inline}` — a value that never enters the pool, and so never leaks into another profile.\n\nOmission is exclusion; there is no removal marker.\n\nAny form MAY carry a `slot` naming the role the entry plays in the profile — see `Slot`. A maintainer MUST refuse a profile in which two entries carry the same slot: a slot exists to answer one question with one entry.";
@@ -1101,7 +1363,7 @@ export declare const RESPONSE_SPEC: {
1101
1363
  };
1102
1364
  readonly Provenance: {
1103
1365
  readonly title: "Provenance";
1104
- readonly description: "Where a value comes from, and the member that makes this family worth building on a trust stack rather than in an address book. It survives to the verifier, so a recipient can tell — per field — what the holder typed from what an issuer attested.\n\n`selfAsserted` — the holder supplied it.\n\n`credentialBacked` — the value is derived from a credential in the vault at `claimPath`. The stored value is a CACHE FOR DISPLAY; the credential is the truth. A maintainer MUST re-derive it on read and MUST fail closed (never presenting a stale value) when the credential has been revoked, has expired, or has been archived or deleted.\n\n`generated` — the value is minted per verifier at disclosure time and recorded against that verifier, so every relying party receives a different one that routes back to the holder. This is the shape of the most widely adopted consumer privacy feature in this space; a maintainer need not operate a relay to conform, but the shape must exist, because retrofitting per-verifier values into a pool-of-values model is a migration rather than an addition.";
1366
+ readonly description: "Where a value comes from, and the member that makes this family worth building on a trust stack rather than in an address book. It survives to the verifier, so a recipient can tell — per field — what the holder typed from what an issuer attested.\n\n`selfAsserted` — the holder supplied it.\n\n`credentialBacked` — the value is derived from a credential in the vault at `claimPath`. The stored value is a CACHE FOR DISPLAY; the credential is the truth. A maintainer MUST re-derive it on read and MUST fail closed (never presenting a stale value) when the credential has been revoked, has expired, or has been archived or deleted.\n\n`generated` — the value is minted per verifier at disclosure time and recorded against that verifier, so every relying party receives a different one that routes back to the holder. This is the shape of the most widely adopted consumer privacy feature in this space; a maintainer need not operate a relay to conform, but the shape must exist, because retrofitting per-verifier values into a pool-of-values model is a migration rather than an addition.\n\n`derived` — the value was taken from a source the holder connected or supplied — a code-hosting profile, an uploaded CV — rather than typed by them or attested by an issuer. Nobody signed it: it is the holder's claim that the source said so, and a consumer MUST NOT present it as attested. It exists as its own kind because a derived value is neither of the others — the holder did not author it, and no one vouches for it — and a holder deciding whether to disclose deserves to know which of their values they typed.\n\nFor how strongly a disclosed value identifies the holder, the kinds rank `credentialBacked` above `derived` above `selfAsserted`; `generated` values are per-verifier and do not correlate.";
1105
1367
  readonly type: "object";
1106
1368
  readonly required: readonly ["kind"];
1107
1369
  readonly oneOf: readonly [{
@@ -1158,6 +1420,26 @@ export declare const RESPONSE_SPEC: {
1158
1420
  readonly description: "When true (the default and the only useful setting), a distinct value is minted for each verifier.";
1159
1421
  };
1160
1422
  };
1423
+ }, {
1424
+ readonly additionalProperties: false;
1425
+ readonly required: readonly ["kind", "source", "derivedAt"];
1426
+ readonly properties: {
1427
+ readonly kind: {
1428
+ readonly const: "derived";
1429
+ };
1430
+ readonly source: {
1431
+ readonly type: "string";
1432
+ readonly minLength: 1;
1433
+ readonly maxLength: 64;
1434
+ readonly pattern: "^[a-z][A-Za-z0-9.-]*$";
1435
+ readonly description: "The KIND of source the value was taken from — `github`, `cvUpload`, `linkedIn` — never an account, handle or URL. Provenance survives to the verifier, so this member is disclosed with the claim; a handle here would disclose an identifier the holder never chose to share.";
1436
+ };
1437
+ readonly derivedAt: {
1438
+ readonly type: "string";
1439
+ readonly format: "date-time";
1440
+ readonly description: "When the value was taken from the source. A derived value is a snapshot: the source may have changed since, and nothing re-derives it.";
1441
+ };
1442
+ };
1161
1443
  }];
1162
1444
  };
1163
1445
  readonly ProofRung: {
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/persona/profile/list/1.0/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/persona/profile/list/1.0/payload.ts"],"names":[],"mappings":"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"}