@openvtc/trust-tasks 0.16.11 → 0.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +78 -0
- package/dist/_shared/components.d.ts +42 -0
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/persona/_shared/0.1/persona-record.d.ts +1 -1
- package/dist/persona/_shared/0.1/persona-record.d.ts.map +1 -1
- package/dist/persona/local/profile/put/1.0/payload.d.ts +11 -0
- package/dist/persona/local/profile/put/1.0/payload.d.ts.map +1 -1
- package/dist/persona/local/profile/put/1.0/payload.js +1 -0
- package/dist/persona/local/profile/put/1.0/payload.js.map +1 -1
- package/dist/persona/profile/get/1.0/payload.d.ts +57 -59
- package/dist/persona/profile/get/1.0/payload.d.ts.map +1 -1
- package/dist/persona/profile/get/1.0/payload.js +32 -40
- package/dist/persona/profile/get/1.0/payload.js.map +1 -1
- package/package.json +1 -1
- package/src/_shared/components.ts +42 -0
- package/src/persona/_shared/0.1/persona-record.ts +1 -1
- package/src/persona/local/profile/put/1.0/payload.ts +10 -0
- package/src/persona/profile/get/1.0/payload.ts +37 -43
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
3
|
* Source: specs/persona/profile/get/1.0/payload.schema.json
|
|
4
4
|
*/
|
|
5
|
-
import type {
|
|
5
|
+
import type { ClaimType, Ext, Profile, ProfileEntry, ProofRung, Provenance, ResolvedClaim, Ulid, ValueType, Version_PersonaV0_1 as Version } from "../../../../_shared/components.js";
|
|
6
6
|
/**
|
|
7
7
|
* Read one profile, either as composed (the entries the holder wrote) or as resolved (the claims it would actually present).
|
|
8
8
|
*/
|
|
@@ -22,13 +22,15 @@ export interface PersonaProfileGetResponsePayload {
|
|
|
22
22
|
/**
|
|
23
23
|
* Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable.
|
|
24
24
|
*
|
|
25
|
+
* Typed as `ResolvedClaim` rather than `Attribute`: a profile is a projection and may contain `inline` values, which have no pool record and therefore no `attributeId`, `version` or `updatedAt`. The pool record's shape requires all three, so it cannot describe such an entry at all.
|
|
26
|
+
*
|
|
25
27
|
* @maxItems 256
|
|
26
28
|
*/
|
|
27
|
-
resolved?:
|
|
29
|
+
resolved?: ResolvedClaim[];
|
|
28
30
|
ext?: Ext;
|
|
29
31
|
}
|
|
30
32
|
/** Shared definitions this specification references, re-exported under the names it used to declare them with. */
|
|
31
|
-
export type {
|
|
33
|
+
export type { ClaimType, Ext, Profile, ProfileEntry, ProofRung, Provenance, ResolvedClaim, Ulid, ValueType, Version };
|
|
32
34
|
/** Trust Task type URI. */
|
|
33
35
|
export declare const TYPE_URI: "https://trusttasks.org/spec/persona/profile/get/1.0";
|
|
34
36
|
/** Stable alias for this specification's request payload shape. */
|
|
@@ -83,9 +85,9 @@ export declare const PAYLOAD_SCHEMA: {
|
|
|
83
85
|
readonly type: "array";
|
|
84
86
|
readonly maxItems: 256;
|
|
85
87
|
readonly items: {
|
|
86
|
-
readonly $ref: "#/$defs/
|
|
88
|
+
readonly $ref: "#/$defs/ResolvedClaim";
|
|
87
89
|
};
|
|
88
|
-
readonly description: "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable.";
|
|
90
|
+
readonly description: "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable.\n\nTyped as `ResolvedClaim` rather than `Attribute`: a profile is a projection and may contain `inline` values, which have no pool record and therefore no `attributeId`, `version` or `updatedAt`. The pool record's shape requires all three, so it cannot describe such an entry at all.";
|
|
89
91
|
};
|
|
90
92
|
readonly ext: {
|
|
91
93
|
readonly $ref: "#/$defs/Ext";
|
|
@@ -102,15 +104,16 @@ export declare const PAYLOAD_SCHEMA: {
|
|
|
102
104
|
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
103
105
|
};
|
|
104
106
|
};
|
|
105
|
-
readonly
|
|
106
|
-
readonly title: "
|
|
107
|
-
readonly description: "One
|
|
107
|
+
readonly ResolvedClaim: {
|
|
108
|
+
readonly title: "ResolvedClaim";
|
|
109
|
+
readonly description: "One line of a profile AFTER resolution: what the profile would present at this entry, rather than how the entry is written.\n\nDistinct from `Attribute` because a profile is a PROJECTION and may contain values that have no pool record behind them. An `inline` entry is a value the holder keeps in one profile and nowhere else — it has no `attributeId`, no `version` and no `updatedAt`, because there is no pool attribute to have them. Describing a resolved profile with the pool record's shape therefore cannot represent one at all, which leaves a maintainer choosing between synthesising an `attributeId` — a false claim about where a value lives — and omitting the entry, which returns a profile that appears to present less than it does. Neither is acceptable, so the projection gets its own shape.\n\nThe three pool members are consequently OPTIONAL and their absence is meaningful: it says this value is inline. Their PRESENCE is equally informative — `version` alongside a pinned entry is what lets a holder see that a profile is frozen at v3 while the pool has moved on.";
|
|
108
110
|
readonly type: "object";
|
|
109
111
|
readonly additionalProperties: false;
|
|
110
|
-
readonly required: readonly ["
|
|
112
|
+
readonly required: readonly ["type", "valueType", "provenance"];
|
|
111
113
|
readonly properties: {
|
|
112
114
|
readonly attributeId: {
|
|
113
115
|
readonly $ref: "#/$defs/Ulid";
|
|
116
|
+
readonly description: "The pool attribute this entry resolves against. ABSENT for an `inline` entry, which is the whole distinction this member draws.";
|
|
114
117
|
};
|
|
115
118
|
readonly type: {
|
|
116
119
|
readonly $ref: "#/$defs/ClaimType";
|
|
@@ -119,35 +122,33 @@ export declare const PAYLOAD_SCHEMA: {
|
|
|
119
122
|
readonly $ref: "#/$defs/ValueType";
|
|
120
123
|
};
|
|
121
124
|
readonly value: {
|
|
122
|
-
readonly description: "
|
|
125
|
+
readonly description: "What this entry would present, with any override applied. Absent when `stale`, because a claim that could not be re-derived MUST NOT be disclosed and MUST NOT be shown as though it would be.";
|
|
123
126
|
};
|
|
124
127
|
readonly label: {
|
|
125
128
|
readonly type: "string";
|
|
126
129
|
readonly maxLength: 128;
|
|
127
|
-
readonly description: "The holder's own words
|
|
130
|
+
readonly description: "The holder's own words, from the override where one is given and from the pool attribute otherwise. Never disclosed to a verifier.";
|
|
128
131
|
};
|
|
129
132
|
readonly provenance: {
|
|
130
133
|
readonly $ref: "#/$defs/Provenance";
|
|
131
134
|
};
|
|
132
135
|
readonly stale: {
|
|
133
136
|
readonly type: "boolean";
|
|
134
|
-
readonly description: "Present and true when a
|
|
137
|
+
readonly description: "Present and true when this entry cannot be presented — a credential-backed value that could not be re-derived, or a pin naming a version the maintainer no longer holds. Surfaced rather than omitted so a holder learns why a disclosure would be short.";
|
|
135
138
|
};
|
|
136
139
|
readonly staleReason: {
|
|
137
140
|
readonly type: "string";
|
|
138
141
|
readonly enum: readonly ["revoked", "expired", "archived", "deleted", "notFound"];
|
|
139
|
-
readonly description: "Why
|
|
142
|
+
readonly description: "Why the entry cannot be presented. Present only alongside `stale`.";
|
|
140
143
|
};
|
|
141
144
|
readonly version: {
|
|
142
145
|
readonly $ref: "#/$defs/Version";
|
|
143
|
-
|
|
144
|
-
readonly createdAt: {
|
|
145
|
-
readonly type: "string";
|
|
146
|
-
readonly format: "date-time";
|
|
146
|
+
readonly description: "The pool attribute's version this entry resolved to — the pinned one for a pinned entry, the current one otherwise. ABSENT for an `inline` entry.";
|
|
147
147
|
};
|
|
148
148
|
readonly updatedAt: {
|
|
149
149
|
readonly type: "string";
|
|
150
150
|
readonly format: "date-time";
|
|
151
|
+
readonly description: "When the pool attribute behind this entry was last written. ABSENT for an `inline` entry.";
|
|
151
152
|
};
|
|
152
153
|
};
|
|
153
154
|
};
|
|
@@ -383,9 +384,9 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
|
|
|
383
384
|
readonly type: "array";
|
|
384
385
|
readonly maxItems: 256;
|
|
385
386
|
readonly items: {
|
|
386
|
-
readonly $ref: "#/$defs/
|
|
387
|
+
readonly $ref: "#/$defs/ResolvedClaim";
|
|
387
388
|
};
|
|
388
|
-
readonly description: "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable.";
|
|
389
|
+
readonly description: "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable.\n\nTyped as `ResolvedClaim` rather than `Attribute`: a profile is a projection and may contain `inline` values, which have no pool record and therefore no `attributeId`, `version` or `updatedAt`. The pool record's shape requires all three, so it cannot describe such an entry at all.";
|
|
389
390
|
};
|
|
390
391
|
readonly ext: {
|
|
391
392
|
readonly $ref: "#/$defs/Ext";
|
|
@@ -402,15 +403,16 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
|
|
|
402
403
|
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
403
404
|
};
|
|
404
405
|
};
|
|
405
|
-
readonly
|
|
406
|
-
readonly title: "
|
|
407
|
-
readonly description: "One
|
|
406
|
+
readonly ResolvedClaim: {
|
|
407
|
+
readonly title: "ResolvedClaim";
|
|
408
|
+
readonly description: "One line of a profile AFTER resolution: what the profile would present at this entry, rather than how the entry is written.\n\nDistinct from `Attribute` because a profile is a PROJECTION and may contain values that have no pool record behind them. An `inline` entry is a value the holder keeps in one profile and nowhere else — it has no `attributeId`, no `version` and no `updatedAt`, because there is no pool attribute to have them. Describing a resolved profile with the pool record's shape therefore cannot represent one at all, which leaves a maintainer choosing between synthesising an `attributeId` — a false claim about where a value lives — and omitting the entry, which returns a profile that appears to present less than it does. Neither is acceptable, so the projection gets its own shape.\n\nThe three pool members are consequently OPTIONAL and their absence is meaningful: it says this value is inline. Their PRESENCE is equally informative — `version` alongside a pinned entry is what lets a holder see that a profile is frozen at v3 while the pool has moved on.";
|
|
408
409
|
readonly type: "object";
|
|
409
410
|
readonly additionalProperties: false;
|
|
410
|
-
readonly required: readonly ["
|
|
411
|
+
readonly required: readonly ["type", "valueType", "provenance"];
|
|
411
412
|
readonly properties: {
|
|
412
413
|
readonly attributeId: {
|
|
413
414
|
readonly $ref: "#/$defs/Ulid";
|
|
415
|
+
readonly description: "The pool attribute this entry resolves against. ABSENT for an `inline` entry, which is the whole distinction this member draws.";
|
|
414
416
|
};
|
|
415
417
|
readonly type: {
|
|
416
418
|
readonly $ref: "#/$defs/ClaimType";
|
|
@@ -419,35 +421,33 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
|
|
|
419
421
|
readonly $ref: "#/$defs/ValueType";
|
|
420
422
|
};
|
|
421
423
|
readonly value: {
|
|
422
|
-
readonly description: "
|
|
424
|
+
readonly description: "What this entry would present, with any override applied. Absent when `stale`, because a claim that could not be re-derived MUST NOT be disclosed and MUST NOT be shown as though it would be.";
|
|
423
425
|
};
|
|
424
426
|
readonly label: {
|
|
425
427
|
readonly type: "string";
|
|
426
428
|
readonly maxLength: 128;
|
|
427
|
-
readonly description: "The holder's own words
|
|
429
|
+
readonly description: "The holder's own words, from the override where one is given and from the pool attribute otherwise. Never disclosed to a verifier.";
|
|
428
430
|
};
|
|
429
431
|
readonly provenance: {
|
|
430
432
|
readonly $ref: "#/$defs/Provenance";
|
|
431
433
|
};
|
|
432
434
|
readonly stale: {
|
|
433
435
|
readonly type: "boolean";
|
|
434
|
-
readonly description: "Present and true when a
|
|
436
|
+
readonly description: "Present and true when this entry cannot be presented — a credential-backed value that could not be re-derived, or a pin naming a version the maintainer no longer holds. Surfaced rather than omitted so a holder learns why a disclosure would be short.";
|
|
435
437
|
};
|
|
436
438
|
readonly staleReason: {
|
|
437
439
|
readonly type: "string";
|
|
438
440
|
readonly enum: readonly ["revoked", "expired", "archived", "deleted", "notFound"];
|
|
439
|
-
readonly description: "Why
|
|
441
|
+
readonly description: "Why the entry cannot be presented. Present only alongside `stale`.";
|
|
440
442
|
};
|
|
441
443
|
readonly version: {
|
|
442
444
|
readonly $ref: "#/$defs/Version";
|
|
443
|
-
|
|
444
|
-
readonly createdAt: {
|
|
445
|
-
readonly type: "string";
|
|
446
|
-
readonly format: "date-time";
|
|
445
|
+
readonly description: "The pool attribute's version this entry resolved to — the pinned one for a pinned entry, the current one otherwise. ABSENT for an `inline` entry.";
|
|
447
446
|
};
|
|
448
447
|
readonly updatedAt: {
|
|
449
448
|
readonly type: "string";
|
|
450
449
|
readonly format: "date-time";
|
|
450
|
+
readonly description: "When the pool attribute behind this entry was last written. ABSENT for an `inline` entry.";
|
|
451
451
|
};
|
|
452
452
|
};
|
|
453
453
|
};
|
|
@@ -712,9 +712,9 @@ export declare const SPEC: {
|
|
|
712
712
|
readonly type: "array";
|
|
713
713
|
readonly maxItems: 256;
|
|
714
714
|
readonly items: {
|
|
715
|
-
readonly $ref: "#/$defs/
|
|
715
|
+
readonly $ref: "#/$defs/ResolvedClaim";
|
|
716
716
|
};
|
|
717
|
-
readonly description: "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable.";
|
|
717
|
+
readonly description: "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable.\n\nTyped as `ResolvedClaim` rather than `Attribute`: a profile is a projection and may contain `inline` values, which have no pool record and therefore no `attributeId`, `version` or `updatedAt`. The pool record's shape requires all three, so it cannot describe such an entry at all.";
|
|
718
718
|
};
|
|
719
719
|
readonly ext: {
|
|
720
720
|
readonly $ref: "#/$defs/Ext";
|
|
@@ -731,15 +731,16 @@ export declare const SPEC: {
|
|
|
731
731
|
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
732
732
|
};
|
|
733
733
|
};
|
|
734
|
-
readonly
|
|
735
|
-
readonly title: "
|
|
736
|
-
readonly description: "One
|
|
734
|
+
readonly ResolvedClaim: {
|
|
735
|
+
readonly title: "ResolvedClaim";
|
|
736
|
+
readonly description: "One line of a profile AFTER resolution: what the profile would present at this entry, rather than how the entry is written.\n\nDistinct from `Attribute` because a profile is a PROJECTION and may contain values that have no pool record behind them. An `inline` entry is a value the holder keeps in one profile and nowhere else — it has no `attributeId`, no `version` and no `updatedAt`, because there is no pool attribute to have them. Describing a resolved profile with the pool record's shape therefore cannot represent one at all, which leaves a maintainer choosing between synthesising an `attributeId` — a false claim about where a value lives — and omitting the entry, which returns a profile that appears to present less than it does. Neither is acceptable, so the projection gets its own shape.\n\nThe three pool members are consequently OPTIONAL and their absence is meaningful: it says this value is inline. Their PRESENCE is equally informative — `version` alongside a pinned entry is what lets a holder see that a profile is frozen at v3 while the pool has moved on.";
|
|
737
737
|
readonly type: "object";
|
|
738
738
|
readonly additionalProperties: false;
|
|
739
|
-
readonly required: readonly ["
|
|
739
|
+
readonly required: readonly ["type", "valueType", "provenance"];
|
|
740
740
|
readonly properties: {
|
|
741
741
|
readonly attributeId: {
|
|
742
742
|
readonly $ref: "#/$defs/Ulid";
|
|
743
|
+
readonly description: "The pool attribute this entry resolves against. ABSENT for an `inline` entry, which is the whole distinction this member draws.";
|
|
743
744
|
};
|
|
744
745
|
readonly type: {
|
|
745
746
|
readonly $ref: "#/$defs/ClaimType";
|
|
@@ -748,35 +749,33 @@ export declare const SPEC: {
|
|
|
748
749
|
readonly $ref: "#/$defs/ValueType";
|
|
749
750
|
};
|
|
750
751
|
readonly value: {
|
|
751
|
-
readonly description: "
|
|
752
|
+
readonly description: "What this entry would present, with any override applied. Absent when `stale`, because a claim that could not be re-derived MUST NOT be disclosed and MUST NOT be shown as though it would be.";
|
|
752
753
|
};
|
|
753
754
|
readonly label: {
|
|
754
755
|
readonly type: "string";
|
|
755
756
|
readonly maxLength: 128;
|
|
756
|
-
readonly description: "The holder's own words
|
|
757
|
+
readonly description: "The holder's own words, from the override where one is given and from the pool attribute otherwise. Never disclosed to a verifier.";
|
|
757
758
|
};
|
|
758
759
|
readonly provenance: {
|
|
759
760
|
readonly $ref: "#/$defs/Provenance";
|
|
760
761
|
};
|
|
761
762
|
readonly stale: {
|
|
762
763
|
readonly type: "boolean";
|
|
763
|
-
readonly description: "Present and true when a
|
|
764
|
+
readonly description: "Present and true when this entry cannot be presented — a credential-backed value that could not be re-derived, or a pin naming a version the maintainer no longer holds. Surfaced rather than omitted so a holder learns why a disclosure would be short.";
|
|
764
765
|
};
|
|
765
766
|
readonly staleReason: {
|
|
766
767
|
readonly type: "string";
|
|
767
768
|
readonly enum: readonly ["revoked", "expired", "archived", "deleted", "notFound"];
|
|
768
|
-
readonly description: "Why
|
|
769
|
+
readonly description: "Why the entry cannot be presented. Present only alongside `stale`.";
|
|
769
770
|
};
|
|
770
771
|
readonly version: {
|
|
771
772
|
readonly $ref: "#/$defs/Version";
|
|
772
|
-
|
|
773
|
-
readonly createdAt: {
|
|
774
|
-
readonly type: "string";
|
|
775
|
-
readonly format: "date-time";
|
|
773
|
+
readonly description: "The pool attribute's version this entry resolved to — the pinned one for a pinned entry, the current one otherwise. ABSENT for an `inline` entry.";
|
|
776
774
|
};
|
|
777
775
|
readonly updatedAt: {
|
|
778
776
|
readonly type: "string";
|
|
779
777
|
readonly format: "date-time";
|
|
778
|
+
readonly description: "When the pool attribute behind this entry was last written. ABSENT for an `inline` entry.";
|
|
780
779
|
};
|
|
781
780
|
};
|
|
782
781
|
};
|
|
@@ -1023,9 +1022,9 @@ export declare const RESPONSE_SPEC: {
|
|
|
1023
1022
|
readonly type: "array";
|
|
1024
1023
|
readonly maxItems: 256;
|
|
1025
1024
|
readonly items: {
|
|
1026
|
-
readonly $ref: "#/$defs/
|
|
1025
|
+
readonly $ref: "#/$defs/ResolvedClaim";
|
|
1027
1026
|
};
|
|
1028
|
-
readonly description: "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable.";
|
|
1027
|
+
readonly description: "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable.\n\nTyped as `ResolvedClaim` rather than `Attribute`: a profile is a projection and may contain `inline` values, which have no pool record and therefore no `attributeId`, `version` or `updatedAt`. The pool record's shape requires all three, so it cannot describe such an entry at all.";
|
|
1029
1028
|
};
|
|
1030
1029
|
readonly ext: {
|
|
1031
1030
|
readonly $ref: "#/$defs/Ext";
|
|
@@ -1042,15 +1041,16 @@ export declare const RESPONSE_SPEC: {
|
|
|
1042
1041
|
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
1043
1042
|
};
|
|
1044
1043
|
};
|
|
1045
|
-
readonly
|
|
1046
|
-
readonly title: "
|
|
1047
|
-
readonly description: "One
|
|
1044
|
+
readonly ResolvedClaim: {
|
|
1045
|
+
readonly title: "ResolvedClaim";
|
|
1046
|
+
readonly description: "One line of a profile AFTER resolution: what the profile would present at this entry, rather than how the entry is written.\n\nDistinct from `Attribute` because a profile is a PROJECTION and may contain values that have no pool record behind them. An `inline` entry is a value the holder keeps in one profile and nowhere else — it has no `attributeId`, no `version` and no `updatedAt`, because there is no pool attribute to have them. Describing a resolved profile with the pool record's shape therefore cannot represent one at all, which leaves a maintainer choosing between synthesising an `attributeId` — a false claim about where a value lives — and omitting the entry, which returns a profile that appears to present less than it does. Neither is acceptable, so the projection gets its own shape.\n\nThe three pool members are consequently OPTIONAL and their absence is meaningful: it says this value is inline. Their PRESENCE is equally informative — `version` alongside a pinned entry is what lets a holder see that a profile is frozen at v3 while the pool has moved on.";
|
|
1048
1047
|
readonly type: "object";
|
|
1049
1048
|
readonly additionalProperties: false;
|
|
1050
|
-
readonly required: readonly ["
|
|
1049
|
+
readonly required: readonly ["type", "valueType", "provenance"];
|
|
1051
1050
|
readonly properties: {
|
|
1052
1051
|
readonly attributeId: {
|
|
1053
1052
|
readonly $ref: "#/$defs/Ulid";
|
|
1053
|
+
readonly description: "The pool attribute this entry resolves against. ABSENT for an `inline` entry, which is the whole distinction this member draws.";
|
|
1054
1054
|
};
|
|
1055
1055
|
readonly type: {
|
|
1056
1056
|
readonly $ref: "#/$defs/ClaimType";
|
|
@@ -1059,35 +1059,33 @@ export declare const RESPONSE_SPEC: {
|
|
|
1059
1059
|
readonly $ref: "#/$defs/ValueType";
|
|
1060
1060
|
};
|
|
1061
1061
|
readonly value: {
|
|
1062
|
-
readonly description: "
|
|
1062
|
+
readonly description: "What this entry would present, with any override applied. Absent when `stale`, because a claim that could not be re-derived MUST NOT be disclosed and MUST NOT be shown as though it would be.";
|
|
1063
1063
|
};
|
|
1064
1064
|
readonly label: {
|
|
1065
1065
|
readonly type: "string";
|
|
1066
1066
|
readonly maxLength: 128;
|
|
1067
|
-
readonly description: "The holder's own words
|
|
1067
|
+
readonly description: "The holder's own words, from the override where one is given and from the pool attribute otherwise. Never disclosed to a verifier.";
|
|
1068
1068
|
};
|
|
1069
1069
|
readonly provenance: {
|
|
1070
1070
|
readonly $ref: "#/$defs/Provenance";
|
|
1071
1071
|
};
|
|
1072
1072
|
readonly stale: {
|
|
1073
1073
|
readonly type: "boolean";
|
|
1074
|
-
readonly description: "Present and true when a
|
|
1074
|
+
readonly description: "Present and true when this entry cannot be presented — a credential-backed value that could not be re-derived, or a pin naming a version the maintainer no longer holds. Surfaced rather than omitted so a holder learns why a disclosure would be short.";
|
|
1075
1075
|
};
|
|
1076
1076
|
readonly staleReason: {
|
|
1077
1077
|
readonly type: "string";
|
|
1078
1078
|
readonly enum: readonly ["revoked", "expired", "archived", "deleted", "notFound"];
|
|
1079
|
-
readonly description: "Why
|
|
1079
|
+
readonly description: "Why the entry cannot be presented. Present only alongside `stale`.";
|
|
1080
1080
|
};
|
|
1081
1081
|
readonly version: {
|
|
1082
1082
|
readonly $ref: "#/$defs/Version";
|
|
1083
|
-
|
|
1084
|
-
readonly createdAt: {
|
|
1085
|
-
readonly type: "string";
|
|
1086
|
-
readonly format: "date-time";
|
|
1083
|
+
readonly description: "The pool attribute's version this entry resolved to — the pinned one for a pinned entry, the current one otherwise. ABSENT for an `inline` entry.";
|
|
1087
1084
|
};
|
|
1088
1085
|
readonly updatedAt: {
|
|
1089
1086
|
readonly type: "string";
|
|
1090
1087
|
readonly format: "date-time";
|
|
1088
|
+
readonly description: "When the pool attribute behind this entry was last written. ABSENT for an `inline` entry.";
|
|
1091
1089
|
};
|
|
1092
1090
|
};
|
|
1093
1091
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/persona/profile/get/1.0/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/persona/profile/get/1.0/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,IAAI,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAGtL;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,IAAI,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,kHAAkH;AAClH,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAEtH,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,qDAA8D,CAAC;AAEvF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,wBAAwB,CAAC;AAE/C,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,8DAAuE,CAAC;AAEzG,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,gCAAgC,CAAC;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+XjB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2W1B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOhB,CAAC"}
|
|
@@ -56,9 +56,9 @@ export const PAYLOAD_SCHEMA = {
|
|
|
56
56
|
"type": "array",
|
|
57
57
|
"maxItems": 256,
|
|
58
58
|
"items": {
|
|
59
|
-
"$ref": "#/$defs/
|
|
59
|
+
"$ref": "#/$defs/ResolvedClaim"
|
|
60
60
|
},
|
|
61
|
-
"description": "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable."
|
|
61
|
+
"description": "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable.\n\nTyped as `ResolvedClaim` rather than `Attribute`: a profile is a projection and may contain `inline` values, which have no pool record and therefore no `attributeId`, `version` or `updatedAt`. The pool record's shape requires all three, so it cannot describe such an entry at all."
|
|
62
62
|
},
|
|
63
63
|
"ext": {
|
|
64
64
|
"$ref": "#/$defs/Ext"
|
|
@@ -75,22 +75,20 @@ export const PAYLOAD_SCHEMA = {
|
|
|
75
75
|
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
|
-
"
|
|
79
|
-
"title": "
|
|
80
|
-
"description": "One
|
|
78
|
+
"ResolvedClaim": {
|
|
79
|
+
"title": "ResolvedClaim",
|
|
80
|
+
"description": "One line of a profile AFTER resolution: what the profile would present at this entry, rather than how the entry is written.\n\nDistinct from `Attribute` because a profile is a PROJECTION and may contain values that have no pool record behind them. An `inline` entry is a value the holder keeps in one profile and nowhere else — it has no `attributeId`, no `version` and no `updatedAt`, because there is no pool attribute to have them. Describing a resolved profile with the pool record's shape therefore cannot represent one at all, which leaves a maintainer choosing between synthesising an `attributeId` — a false claim about where a value lives — and omitting the entry, which returns a profile that appears to present less than it does. Neither is acceptable, so the projection gets its own shape.\n\nThe three pool members are consequently OPTIONAL and their absence is meaningful: it says this value is inline. Their PRESENCE is equally informative — `version` alongside a pinned entry is what lets a holder see that a profile is frozen at v3 while the pool has moved on.",
|
|
81
81
|
"type": "object",
|
|
82
82
|
"additionalProperties": false,
|
|
83
83
|
"required": [
|
|
84
|
-
"attributeId",
|
|
85
84
|
"type",
|
|
86
85
|
"valueType",
|
|
87
|
-
"provenance"
|
|
88
|
-
"version",
|
|
89
|
-
"updatedAt"
|
|
86
|
+
"provenance"
|
|
90
87
|
],
|
|
91
88
|
"properties": {
|
|
92
89
|
"attributeId": {
|
|
93
|
-
"$ref": "#/$defs/Ulid"
|
|
90
|
+
"$ref": "#/$defs/Ulid",
|
|
91
|
+
"description": "The pool attribute this entry resolves against. ABSENT for an `inline` entry, which is the whole distinction this member draws."
|
|
94
92
|
},
|
|
95
93
|
"type": {
|
|
96
94
|
"$ref": "#/$defs/ClaimType"
|
|
@@ -99,19 +97,19 @@ export const PAYLOAD_SCHEMA = {
|
|
|
99
97
|
"$ref": "#/$defs/ValueType"
|
|
100
98
|
},
|
|
101
99
|
"value": {
|
|
102
|
-
"description": "
|
|
100
|
+
"description": "What this entry would present, with any override applied. Absent when `stale`, because a claim that could not be re-derived MUST NOT be disclosed and MUST NOT be shown as though it would be."
|
|
103
101
|
},
|
|
104
102
|
"label": {
|
|
105
103
|
"type": "string",
|
|
106
104
|
"maxLength": 128,
|
|
107
|
-
"description": "The holder's own words
|
|
105
|
+
"description": "The holder's own words, from the override where one is given and from the pool attribute otherwise. Never disclosed to a verifier."
|
|
108
106
|
},
|
|
109
107
|
"provenance": {
|
|
110
108
|
"$ref": "#/$defs/Provenance"
|
|
111
109
|
},
|
|
112
110
|
"stale": {
|
|
113
111
|
"type": "boolean",
|
|
114
|
-
"description": "Present and true when a
|
|
112
|
+
"description": "Present and true when this entry cannot be presented — a credential-backed value that could not be re-derived, or a pin naming a version the maintainer no longer holds. Surfaced rather than omitted so a holder learns why a disclosure would be short."
|
|
115
113
|
},
|
|
116
114
|
"staleReason": {
|
|
117
115
|
"type": "string",
|
|
@@ -122,18 +120,16 @@ export const PAYLOAD_SCHEMA = {
|
|
|
122
120
|
"deleted",
|
|
123
121
|
"notFound"
|
|
124
122
|
],
|
|
125
|
-
"description": "Why
|
|
123
|
+
"description": "Why the entry cannot be presented. Present only alongside `stale`."
|
|
126
124
|
},
|
|
127
125
|
"version": {
|
|
128
|
-
"$ref": "#/$defs/Version"
|
|
129
|
-
|
|
130
|
-
"createdAt": {
|
|
131
|
-
"type": "string",
|
|
132
|
-
"format": "date-time"
|
|
126
|
+
"$ref": "#/$defs/Version",
|
|
127
|
+
"description": "The pool attribute's version this entry resolved to — the pinned one for a pinned entry, the current one otherwise. ABSENT for an `inline` entry."
|
|
133
128
|
},
|
|
134
129
|
"updatedAt": {
|
|
135
130
|
"type": "string",
|
|
136
|
-
"format": "date-time"
|
|
131
|
+
"format": "date-time",
|
|
132
|
+
"description": "When the pool attribute behind this entry was last written. ABSENT for an `inline` entry."
|
|
137
133
|
}
|
|
138
134
|
}
|
|
139
135
|
},
|
|
@@ -425,9 +421,9 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
425
421
|
"type": "array",
|
|
426
422
|
"maxItems": 256,
|
|
427
423
|
"items": {
|
|
428
|
-
"$ref": "#/$defs/
|
|
424
|
+
"$ref": "#/$defs/ResolvedClaim"
|
|
429
425
|
},
|
|
430
|
-
"description": "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable."
|
|
426
|
+
"description": "Present only when `resolve` was true: the claims this profile would present, in entry order, with overrides applied and pinned versions honoured. A credential-backed claim whose backing could not be re-derived appears carrying `stale`, because a holder inspecting a profile needs to see that it has stopped being fully presentable.\n\nTyped as `ResolvedClaim` rather than `Attribute`: a profile is a projection and may contain `inline` values, which have no pool record and therefore no `attributeId`, `version` or `updatedAt`. The pool record's shape requires all three, so it cannot describe such an entry at all."
|
|
431
427
|
},
|
|
432
428
|
"ext": {
|
|
433
429
|
"$ref": "#/$defs/Ext"
|
|
@@ -444,22 +440,20 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
444
440
|
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
445
441
|
}
|
|
446
442
|
},
|
|
447
|
-
"
|
|
448
|
-
"title": "
|
|
449
|
-
"description": "One
|
|
443
|
+
"ResolvedClaim": {
|
|
444
|
+
"title": "ResolvedClaim",
|
|
445
|
+
"description": "One line of a profile AFTER resolution: what the profile would present at this entry, rather than how the entry is written.\n\nDistinct from `Attribute` because a profile is a PROJECTION and may contain values that have no pool record behind them. An `inline` entry is a value the holder keeps in one profile and nowhere else — it has no `attributeId`, no `version` and no `updatedAt`, because there is no pool attribute to have them. Describing a resolved profile with the pool record's shape therefore cannot represent one at all, which leaves a maintainer choosing between synthesising an `attributeId` — a false claim about where a value lives — and omitting the entry, which returns a profile that appears to present less than it does. Neither is acceptable, so the projection gets its own shape.\n\nThe three pool members are consequently OPTIONAL and their absence is meaningful: it says this value is inline. Their PRESENCE is equally informative — `version` alongside a pinned entry is what lets a holder see that a profile is frozen at v3 while the pool has moved on.",
|
|
450
446
|
"type": "object",
|
|
451
447
|
"additionalProperties": false,
|
|
452
448
|
"required": [
|
|
453
|
-
"attributeId",
|
|
454
449
|
"type",
|
|
455
450
|
"valueType",
|
|
456
|
-
"provenance"
|
|
457
|
-
"version",
|
|
458
|
-
"updatedAt"
|
|
451
|
+
"provenance"
|
|
459
452
|
],
|
|
460
453
|
"properties": {
|
|
461
454
|
"attributeId": {
|
|
462
|
-
"$ref": "#/$defs/Ulid"
|
|
455
|
+
"$ref": "#/$defs/Ulid",
|
|
456
|
+
"description": "The pool attribute this entry resolves against. ABSENT for an `inline` entry, which is the whole distinction this member draws."
|
|
463
457
|
},
|
|
464
458
|
"type": {
|
|
465
459
|
"$ref": "#/$defs/ClaimType"
|
|
@@ -468,19 +462,19 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
468
462
|
"$ref": "#/$defs/ValueType"
|
|
469
463
|
},
|
|
470
464
|
"value": {
|
|
471
|
-
"description": "
|
|
465
|
+
"description": "What this entry would present, with any override applied. Absent when `stale`, because a claim that could not be re-derived MUST NOT be disclosed and MUST NOT be shown as though it would be."
|
|
472
466
|
},
|
|
473
467
|
"label": {
|
|
474
468
|
"type": "string",
|
|
475
469
|
"maxLength": 128,
|
|
476
|
-
"description": "The holder's own words
|
|
470
|
+
"description": "The holder's own words, from the override where one is given and from the pool attribute otherwise. Never disclosed to a verifier."
|
|
477
471
|
},
|
|
478
472
|
"provenance": {
|
|
479
473
|
"$ref": "#/$defs/Provenance"
|
|
480
474
|
},
|
|
481
475
|
"stale": {
|
|
482
476
|
"type": "boolean",
|
|
483
|
-
"description": "Present and true when a
|
|
477
|
+
"description": "Present and true when this entry cannot be presented — a credential-backed value that could not be re-derived, or a pin naming a version the maintainer no longer holds. Surfaced rather than omitted so a holder learns why a disclosure would be short."
|
|
484
478
|
},
|
|
485
479
|
"staleReason": {
|
|
486
480
|
"type": "string",
|
|
@@ -491,18 +485,16 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
491
485
|
"deleted",
|
|
492
486
|
"notFound"
|
|
493
487
|
],
|
|
494
|
-
"description": "Why
|
|
488
|
+
"description": "Why the entry cannot be presented. Present only alongside `stale`."
|
|
495
489
|
},
|
|
496
490
|
"version": {
|
|
497
|
-
"$ref": "#/$defs/Version"
|
|
498
|
-
|
|
499
|
-
"createdAt": {
|
|
500
|
-
"type": "string",
|
|
501
|
-
"format": "date-time"
|
|
491
|
+
"$ref": "#/$defs/Version",
|
|
492
|
+
"description": "The pool attribute's version this entry resolved to — the pinned one for a pinned entry, the current one otherwise. ABSENT for an `inline` entry."
|
|
502
493
|
},
|
|
503
494
|
"updatedAt": {
|
|
504
495
|
"type": "string",
|
|
505
|
-
"format": "date-time"
|
|
496
|
+
"format": "date-time",
|
|
497
|
+
"description": "When the pool attribute behind this entry was last written. ABSENT for an `inline` entry."
|
|
506
498
|
}
|
|
507
499
|
}
|
|
508
500
|
},
|