@openvtc/trust-tasks 0.16.10 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +111 -0
- package/dist/_shared/components.d.ts +46 -2
- 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/attribute/list/1.0/payload.d.ts +8 -8
- package/dist/persona/attribute/list/1.0/payload.d.ts.map +1 -1
- package/dist/persona/attribute/list/1.0/payload.js +2 -4
- package/dist/persona/attribute/list/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 -42
- package/dist/persona/profile/get/1.0/payload.js.map +1 -1
- package/package.json +1 -1
- package/src/_shared/components.ts +46 -2
- package/src/persona/_shared/0.1/persona-record.ts +1 -1
- package/src/persona/attribute/list/1.0/payload.ts +2 -4
- package/src/persona/profile/get/1.0/payload.ts +37 -45
|
@@ -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":"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"}
|
|
@@ -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,23 +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
|
-
"
|
|
88
|
-
"provenance",
|
|
89
|
-
"version",
|
|
90
|
-
"updatedAt"
|
|
86
|
+
"provenance"
|
|
91
87
|
],
|
|
92
88
|
"properties": {
|
|
93
89
|
"attributeId": {
|
|
94
|
-
"$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."
|
|
95
92
|
},
|
|
96
93
|
"type": {
|
|
97
94
|
"$ref": "#/$defs/ClaimType"
|
|
@@ -100,19 +97,19 @@ export const PAYLOAD_SCHEMA = {
|
|
|
100
97
|
"$ref": "#/$defs/ValueType"
|
|
101
98
|
},
|
|
102
99
|
"value": {
|
|
103
|
-
"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."
|
|
104
101
|
},
|
|
105
102
|
"label": {
|
|
106
103
|
"type": "string",
|
|
107
104
|
"maxLength": 128,
|
|
108
|
-
"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."
|
|
109
106
|
},
|
|
110
107
|
"provenance": {
|
|
111
108
|
"$ref": "#/$defs/Provenance"
|
|
112
109
|
},
|
|
113
110
|
"stale": {
|
|
114
111
|
"type": "boolean",
|
|
115
|
-
"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."
|
|
116
113
|
},
|
|
117
114
|
"staleReason": {
|
|
118
115
|
"type": "string",
|
|
@@ -123,18 +120,16 @@ export const PAYLOAD_SCHEMA = {
|
|
|
123
120
|
"deleted",
|
|
124
121
|
"notFound"
|
|
125
122
|
],
|
|
126
|
-
"description": "Why
|
|
123
|
+
"description": "Why the entry cannot be presented. Present only alongside `stale`."
|
|
127
124
|
},
|
|
128
125
|
"version": {
|
|
129
|
-
"$ref": "#/$defs/Version"
|
|
130
|
-
|
|
131
|
-
"createdAt": {
|
|
132
|
-
"type": "string",
|
|
133
|
-
"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."
|
|
134
128
|
},
|
|
135
129
|
"updatedAt": {
|
|
136
130
|
"type": "string",
|
|
137
|
-
"format": "date-time"
|
|
131
|
+
"format": "date-time",
|
|
132
|
+
"description": "When the pool attribute behind this entry was last written. ABSENT for an `inline` entry."
|
|
138
133
|
}
|
|
139
134
|
}
|
|
140
135
|
},
|
|
@@ -426,9 +421,9 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
426
421
|
"type": "array",
|
|
427
422
|
"maxItems": 256,
|
|
428
423
|
"items": {
|
|
429
|
-
"$ref": "#/$defs/
|
|
424
|
+
"$ref": "#/$defs/ResolvedClaim"
|
|
430
425
|
},
|
|
431
|
-
"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."
|
|
432
427
|
},
|
|
433
428
|
"ext": {
|
|
434
429
|
"$ref": "#/$defs/Ext"
|
|
@@ -445,23 +440,20 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
445
440
|
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
446
441
|
}
|
|
447
442
|
},
|
|
448
|
-
"
|
|
449
|
-
"title": "
|
|
450
|
-
"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.",
|
|
451
446
|
"type": "object",
|
|
452
447
|
"additionalProperties": false,
|
|
453
448
|
"required": [
|
|
454
|
-
"attributeId",
|
|
455
449
|
"type",
|
|
456
450
|
"valueType",
|
|
457
|
-
"
|
|
458
|
-
"provenance",
|
|
459
|
-
"version",
|
|
460
|
-
"updatedAt"
|
|
451
|
+
"provenance"
|
|
461
452
|
],
|
|
462
453
|
"properties": {
|
|
463
454
|
"attributeId": {
|
|
464
|
-
"$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."
|
|
465
457
|
},
|
|
466
458
|
"type": {
|
|
467
459
|
"$ref": "#/$defs/ClaimType"
|
|
@@ -470,19 +462,19 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
470
462
|
"$ref": "#/$defs/ValueType"
|
|
471
463
|
},
|
|
472
464
|
"value": {
|
|
473
|
-
"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."
|
|
474
466
|
},
|
|
475
467
|
"label": {
|
|
476
468
|
"type": "string",
|
|
477
469
|
"maxLength": 128,
|
|
478
|
-
"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."
|
|
479
471
|
},
|
|
480
472
|
"provenance": {
|
|
481
473
|
"$ref": "#/$defs/Provenance"
|
|
482
474
|
},
|
|
483
475
|
"stale": {
|
|
484
476
|
"type": "boolean",
|
|
485
|
-
"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."
|
|
486
478
|
},
|
|
487
479
|
"staleReason": {
|
|
488
480
|
"type": "string",
|
|
@@ -493,18 +485,16 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
493
485
|
"deleted",
|
|
494
486
|
"notFound"
|
|
495
487
|
],
|
|
496
|
-
"description": "Why
|
|
488
|
+
"description": "Why the entry cannot be presented. Present only alongside `stale`."
|
|
497
489
|
},
|
|
498
490
|
"version": {
|
|
499
|
-
"$ref": "#/$defs/Version"
|
|
500
|
-
|
|
501
|
-
"createdAt": {
|
|
502
|
-
"type": "string",
|
|
503
|
-
"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."
|
|
504
493
|
},
|
|
505
494
|
"updatedAt": {
|
|
506
495
|
"type": "string",
|
|
507
|
-
"format": "date-time"
|
|
496
|
+
"format": "date-time",
|
|
497
|
+
"description": "When the pool attribute behind this entry was last written. ABSENT for an `inline` entry."
|
|
508
498
|
}
|
|
509
499
|
}
|
|
510
500
|
},
|