@openvtc/trust-tasks 0.28.20 → 0.28.21

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.
@@ -2,7 +2,7 @@
2
2
  * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
3
  * Source: specs/vtc/badges/show/0.1/payload.schema.json
4
4
  */
5
- import type { Badge, BadgeCriteria, BadgeDescription, BadgeId, BadgeKind, BadgeName, BadgeState, CardBlobRef, EntryId, Ext, GroupId } from "../../../../_shared/components.js";
5
+ import type { Award, AwardId, AwardNote, AwardShare, AwardState, Badge, BadgeCriteria, BadgeDescription, BadgeId, BadgeKind, BadgeName, BadgeState, CardBlobRef, EntryId, Ext, GroupCredentialId, GroupId } from "../../../../_shared/components.js";
6
6
  /**
7
7
  * Where the caller stands with the badge, as vtc/badges/list states it. `holder`: at least one accepted award. `offered`: an open offer names them. `requested`: an undecided request to join its badge group. `none`: nothing.
8
8
  */
@@ -31,6 +31,12 @@ export interface VTCBadgesShowResponsePayload {
31
31
  */
32
32
  myCount: number;
33
33
  myState: MyState;
34
+ /**
35
+ * The caller's own accepted awards of this badge, newest first, each with `shared` where they show it outside the community — what `vtc/badges/awards/share` and `unshare` name. Absent where the caller holds none. Never another member's award.
36
+ *
37
+ * @maxItems 1000
38
+ */
39
+ myAwards?: Award[];
34
40
  /**
35
41
  * Community badges only: the badge group's managers, whom a request for the badge goes to. Shown to every caller who may see the badge.
36
42
  *
@@ -45,7 +51,7 @@ export interface VTCBadgesShowResponsePayload {
45
51
  ext?: Ext;
46
52
  }
47
53
  /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
48
- export type { Badge, BadgeCriteria, BadgeDescription, BadgeId, BadgeKind, BadgeName, BadgeState, CardBlobRef, EntryId, Ext, GroupId };
54
+ export type { Award, AwardId, AwardNote, AwardShare, AwardState, Badge, BadgeCriteria, BadgeDescription, BadgeId, BadgeKind, BadgeName, BadgeState, CardBlobRef, EntryId, Ext, GroupCredentialId, GroupId };
49
55
  /** Trust Task type URI. */
50
56
  export declare const TYPE_URI: "https://trusttasks.org/spec/vtc/badges/show/0.1";
51
57
  /**
@@ -126,6 +132,14 @@ export declare const PAYLOAD_SCHEMA: {
126
132
  readonly myState: {
127
133
  readonly $ref: "#/$defs/MyState";
128
134
  };
135
+ readonly myAwards: {
136
+ readonly type: "array";
137
+ readonly maxItems: 1000;
138
+ readonly items: {
139
+ readonly $ref: "#/$defs/Award";
140
+ };
141
+ readonly description: "The caller's own accepted awards of this badge, newest first, each with `shared` where they show it outside the community — what `vtc/badges/awards/share` and `unshare` name. Absent where the caller holds none. Never another member's award.";
142
+ };
129
143
  readonly owners: {
130
144
  readonly type: "array";
131
145
  readonly maxItems: 64;
@@ -163,6 +177,114 @@ export declare const PAYLOAD_SCHEMA: {
163
177
  readonly type: "string";
164
178
  readonly pattern: "^dir_[A-Za-z0-9_-]{16,64}$";
165
179
  };
180
+ readonly Award: {
181
+ readonly title: "Award";
182
+ readonly description: "One giving of a badge to one member. `givenBy` is the giver's directory entry, absent for an award a dynamic badge group's rule made. `note` is shown to the recipient, the giver, the badge's owners and administrators, never to other members. `credentialId` is present on an accepted award of a community badge: the badge credential that evidences it, renewed or re-issued as the badge's regime requires. `shared` is present on an accepted award of a badge its holders may show outside while its holder shares it (vtc/badges/awards/share).";
183
+ readonly type: "object";
184
+ readonly additionalProperties: false;
185
+ readonly required: readonly ["awardId", "badgeId", "entryId", "state", "offeredAt"];
186
+ readonly properties: {
187
+ readonly awardId: {
188
+ readonly $ref: "#/$defs/AwardId";
189
+ };
190
+ readonly badgeId: {
191
+ readonly $ref: "#/$defs/BadgeId";
192
+ };
193
+ readonly entryId: {
194
+ readonly $ref: "#/$defs/EntryId";
195
+ readonly description: "The recipient.";
196
+ };
197
+ readonly givenBy: {
198
+ readonly $ref: "#/$defs/EntryId";
199
+ };
200
+ readonly note: {
201
+ readonly $ref: "#/$defs/AwardNote";
202
+ };
203
+ readonly state: {
204
+ readonly $ref: "#/$defs/AwardState";
205
+ };
206
+ readonly offeredAt: {
207
+ readonly type: "string";
208
+ readonly format: "date-time";
209
+ };
210
+ readonly decidedAt: {
211
+ readonly type: "string";
212
+ readonly format: "date-time";
213
+ readonly description: "When the recipient accepted or declined, the giver withdrew, the offer expired, or the award was revoked.";
214
+ };
215
+ readonly expiresAt: {
216
+ readonly type: "string";
217
+ readonly format: "date-time";
218
+ readonly description: "When an unanswered offer lapses, where the community expires offers.";
219
+ };
220
+ readonly credentialId: {
221
+ readonly $ref: "#/$defs/GroupCredentialId";
222
+ };
223
+ readonly shared: {
224
+ readonly $ref: "#/$defs/AwardShare";
225
+ };
226
+ readonly ext: {
227
+ readonly $ref: "#/$defs/Ext";
228
+ };
229
+ };
230
+ };
231
+ readonly AwardShare: {
232
+ readonly title: "AwardShare";
233
+ readonly description: "Where an accepted award is shown outside the community, by its holder's choice (VTI-BDG-070): the public location that answers a verification of exactly what the credential says, the baked image where the community serves one, and since when. Present only while the holder shares the award; absent once they stop, the award is taken back, the badge is retired or the holder departs. The locations are unguessable and name no other holder (VTI-BDG-071).";
234
+ readonly type: "object";
235
+ readonly additionalProperties: false;
236
+ readonly required: readonly ["verificationUrl", "since"];
237
+ readonly properties: {
238
+ readonly verificationUrl: {
239
+ readonly type: "string";
240
+ readonly format: "uri";
241
+ readonly maxLength: 2048;
242
+ readonly description: "The public location that answers the credential and a verification of it.";
243
+ };
244
+ readonly bakedImageUrl: {
245
+ readonly type: "string";
246
+ readonly format: "uri";
247
+ readonly maxLength: 2048;
248
+ readonly description: "The badge's picture with the credential baked into it, for a website or an email signature. Absent where the community serves no baked image.";
249
+ };
250
+ readonly since: {
251
+ readonly type: "string";
252
+ readonly format: "date-time";
253
+ };
254
+ };
255
+ };
256
+ readonly AwardState: {
257
+ readonly title: "AwardState";
258
+ readonly description: "`offered`: waiting for the recipient. `accepted`: the recipient took it; for a community badge the credential was issued and the membership recorded. `declined`: the recipient declined; nothing was recorded in the group and nothing issued. `withdrawn`: the giver withdrew the offer before a decision. `expired`: the offer lapsed unanswered. `revoked`: taken back after acceptance (VTI-BDG-023).";
259
+ readonly type: "string";
260
+ readonly enum: readonly ["offered", "accepted", "declined", "withdrawn", "expired", "revoked"];
261
+ };
262
+ readonly AwardNote: {
263
+ readonly title: "AwardNote";
264
+ readonly type: "string";
265
+ readonly minLength: 1;
266
+ readonly maxLength: 500;
267
+ readonly description: "What the award is for, from the giver, shown to the recipient and written as the award's evidence narrative where the badge carries a credential. Plain text; erased with its author (VTI-BDG-090).";
268
+ };
269
+ readonly BadgeId: {
270
+ readonly title: "BadgeId";
271
+ readonly description: "Opaque identifier of a badge: `bdg_` followed by 16 to 64 base64url characters. Random, community-scoped, never reused (VTI-BDG-001).";
272
+ readonly type: "string";
273
+ readonly pattern: "^bdg_[A-Za-z0-9_-]{16,64}$";
274
+ };
275
+ readonly AwardId: {
276
+ readonly title: "AwardId";
277
+ readonly description: "Opaque identifier of one giving of a badge to one member: `awd_` followed by 16 to 64 base64url characters. Random and unique within the community.";
278
+ readonly type: "string";
279
+ readonly pattern: "^awd_[A-Za-z0-9_-]{16,64}$";
280
+ };
281
+ readonly GroupCredentialId: {
282
+ readonly title: "GroupCredentialId";
283
+ readonly description: "Identifier (`id`) of a group membership credential issued to a member. Each renewal issues a new credential with a new identifier. Validity is the community's setting; a community SHOULD default to 30 days, renewed when 10 days remain.";
284
+ readonly type: "string";
285
+ readonly minLength: 1;
286
+ readonly maxLength: 512;
287
+ };
166
288
  readonly Badge: {
167
289
  readonly title: "Badge";
168
290
  readonly description: "A badge as a caller who may see it sees it. `groupId` is present exactly when `kind` is `community`. `holderCount` only to callers who may see the badge's holders, counted over holders who have not hidden it (VTI-BDG-030, VTI-BDG-033). `createdBy` is the directory entry of the administrator or member who made it, where they have one.";
@@ -271,12 +393,6 @@ export declare const PAYLOAD_SCHEMA: {
271
393
  readonly type: "string";
272
394
  readonly enum: readonly ["community", "kudos"];
273
395
  };
274
- readonly BadgeId: {
275
- readonly title: "BadgeId";
276
- readonly description: "Opaque identifier of a badge: `bdg_` followed by 16 to 64 base64url characters. Random, community-scoped, never reused (VTI-BDG-001).";
277
- readonly type: "string";
278
- readonly pattern: "^bdg_[A-Za-z0-9_-]{16,64}$";
279
- };
280
396
  readonly GroupId: {
281
397
  readonly title: "GroupId";
282
398
  readonly description: "Opaque identifier of a community group: `grp_` followed by 16 to 64 base64url characters. Random and community-scoped; not the group's DID.";
@@ -358,6 +474,14 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
358
474
  readonly myState: {
359
475
  readonly $ref: "#/$defs/MyState";
360
476
  };
477
+ readonly myAwards: {
478
+ readonly type: "array";
479
+ readonly maxItems: 1000;
480
+ readonly items: {
481
+ readonly $ref: "#/$defs/Award";
482
+ };
483
+ readonly description: "The caller's own accepted awards of this badge, newest first, each with `shared` where they show it outside the community — what `vtc/badges/awards/share` and `unshare` name. Absent where the caller holds none. Never another member's award.";
484
+ };
361
485
  readonly owners: {
362
486
  readonly type: "array";
363
487
  readonly maxItems: 64;
@@ -395,6 +519,114 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
395
519
  readonly type: "string";
396
520
  readonly pattern: "^dir_[A-Za-z0-9_-]{16,64}$";
397
521
  };
522
+ readonly Award: {
523
+ readonly title: "Award";
524
+ readonly description: "One giving of a badge to one member. `givenBy` is the giver's directory entry, absent for an award a dynamic badge group's rule made. `note` is shown to the recipient, the giver, the badge's owners and administrators, never to other members. `credentialId` is present on an accepted award of a community badge: the badge credential that evidences it, renewed or re-issued as the badge's regime requires. `shared` is present on an accepted award of a badge its holders may show outside while its holder shares it (vtc/badges/awards/share).";
525
+ readonly type: "object";
526
+ readonly additionalProperties: false;
527
+ readonly required: readonly ["awardId", "badgeId", "entryId", "state", "offeredAt"];
528
+ readonly properties: {
529
+ readonly awardId: {
530
+ readonly $ref: "#/$defs/AwardId";
531
+ };
532
+ readonly badgeId: {
533
+ readonly $ref: "#/$defs/BadgeId";
534
+ };
535
+ readonly entryId: {
536
+ readonly $ref: "#/$defs/EntryId";
537
+ readonly description: "The recipient.";
538
+ };
539
+ readonly givenBy: {
540
+ readonly $ref: "#/$defs/EntryId";
541
+ };
542
+ readonly note: {
543
+ readonly $ref: "#/$defs/AwardNote";
544
+ };
545
+ readonly state: {
546
+ readonly $ref: "#/$defs/AwardState";
547
+ };
548
+ readonly offeredAt: {
549
+ readonly type: "string";
550
+ readonly format: "date-time";
551
+ };
552
+ readonly decidedAt: {
553
+ readonly type: "string";
554
+ readonly format: "date-time";
555
+ readonly description: "When the recipient accepted or declined, the giver withdrew, the offer expired, or the award was revoked.";
556
+ };
557
+ readonly expiresAt: {
558
+ readonly type: "string";
559
+ readonly format: "date-time";
560
+ readonly description: "When an unanswered offer lapses, where the community expires offers.";
561
+ };
562
+ readonly credentialId: {
563
+ readonly $ref: "#/$defs/GroupCredentialId";
564
+ };
565
+ readonly shared: {
566
+ readonly $ref: "#/$defs/AwardShare";
567
+ };
568
+ readonly ext: {
569
+ readonly $ref: "#/$defs/Ext";
570
+ };
571
+ };
572
+ };
573
+ readonly AwardShare: {
574
+ readonly title: "AwardShare";
575
+ readonly description: "Where an accepted award is shown outside the community, by its holder's choice (VTI-BDG-070): the public location that answers a verification of exactly what the credential says, the baked image where the community serves one, and since when. Present only while the holder shares the award; absent once they stop, the award is taken back, the badge is retired or the holder departs. The locations are unguessable and name no other holder (VTI-BDG-071).";
576
+ readonly type: "object";
577
+ readonly additionalProperties: false;
578
+ readonly required: readonly ["verificationUrl", "since"];
579
+ readonly properties: {
580
+ readonly verificationUrl: {
581
+ readonly type: "string";
582
+ readonly format: "uri";
583
+ readonly maxLength: 2048;
584
+ readonly description: "The public location that answers the credential and a verification of it.";
585
+ };
586
+ readonly bakedImageUrl: {
587
+ readonly type: "string";
588
+ readonly format: "uri";
589
+ readonly maxLength: 2048;
590
+ readonly description: "The badge's picture with the credential baked into it, for a website or an email signature. Absent where the community serves no baked image.";
591
+ };
592
+ readonly since: {
593
+ readonly type: "string";
594
+ readonly format: "date-time";
595
+ };
596
+ };
597
+ };
598
+ readonly AwardState: {
599
+ readonly title: "AwardState";
600
+ readonly description: "`offered`: waiting for the recipient. `accepted`: the recipient took it; for a community badge the credential was issued and the membership recorded. `declined`: the recipient declined; nothing was recorded in the group and nothing issued. `withdrawn`: the giver withdrew the offer before a decision. `expired`: the offer lapsed unanswered. `revoked`: taken back after acceptance (VTI-BDG-023).";
601
+ readonly type: "string";
602
+ readonly enum: readonly ["offered", "accepted", "declined", "withdrawn", "expired", "revoked"];
603
+ };
604
+ readonly AwardNote: {
605
+ readonly title: "AwardNote";
606
+ readonly type: "string";
607
+ readonly minLength: 1;
608
+ readonly maxLength: 500;
609
+ readonly description: "What the award is for, from the giver, shown to the recipient and written as the award's evidence narrative where the badge carries a credential. Plain text; erased with its author (VTI-BDG-090).";
610
+ };
611
+ readonly BadgeId: {
612
+ readonly title: "BadgeId";
613
+ readonly description: "Opaque identifier of a badge: `bdg_` followed by 16 to 64 base64url characters. Random, community-scoped, never reused (VTI-BDG-001).";
614
+ readonly type: "string";
615
+ readonly pattern: "^bdg_[A-Za-z0-9_-]{16,64}$";
616
+ };
617
+ readonly AwardId: {
618
+ readonly title: "AwardId";
619
+ readonly description: "Opaque identifier of one giving of a badge to one member: `awd_` followed by 16 to 64 base64url characters. Random and unique within the community.";
620
+ readonly type: "string";
621
+ readonly pattern: "^awd_[A-Za-z0-9_-]{16,64}$";
622
+ };
623
+ readonly GroupCredentialId: {
624
+ readonly title: "GroupCredentialId";
625
+ readonly description: "Identifier (`id`) of a group membership credential issued to a member. Each renewal issues a new credential with a new identifier. Validity is the community's setting; a community SHOULD default to 30 days, renewed when 10 days remain.";
626
+ readonly type: "string";
627
+ readonly minLength: 1;
628
+ readonly maxLength: 512;
629
+ };
398
630
  readonly Badge: {
399
631
  readonly title: "Badge";
400
632
  readonly description: "A badge as a caller who may see it sees it. `groupId` is present exactly when `kind` is `community`. `holderCount` only to callers who may see the badge's holders, counted over holders who have not hidden it (VTI-BDG-030, VTI-BDG-033). `createdBy` is the directory entry of the administrator or member who made it, where they have one.";
@@ -503,12 +735,6 @@ export declare const RESPONSE_PAYLOAD_SCHEMA: {
503
735
  readonly type: "string";
504
736
  readonly enum: readonly ["community", "kudos"];
505
737
  };
506
- readonly BadgeId: {
507
- readonly title: "BadgeId";
508
- readonly description: "Opaque identifier of a badge: `bdg_` followed by 16 to 64 base64url characters. Random, community-scoped, never reused (VTI-BDG-001).";
509
- readonly type: "string";
510
- readonly pattern: "^bdg_[A-Za-z0-9_-]{16,64}$";
511
- };
512
738
  readonly GroupId: {
513
739
  readonly title: "GroupId";
514
740
  readonly description: "Opaque identifier of a community group: `grp_` followed by 16 to 64 base64url characters. Random and community-scoped; not the group's DID.";
@@ -614,6 +840,14 @@ export declare const SPEC: {
614
840
  readonly myState: {
615
841
  readonly $ref: "#/$defs/MyState";
616
842
  };
843
+ readonly myAwards: {
844
+ readonly type: "array";
845
+ readonly maxItems: 1000;
846
+ readonly items: {
847
+ readonly $ref: "#/$defs/Award";
848
+ };
849
+ readonly description: "The caller's own accepted awards of this badge, newest first, each with `shared` where they show it outside the community — what `vtc/badges/awards/share` and `unshare` name. Absent where the caller holds none. Never another member's award.";
850
+ };
617
851
  readonly owners: {
618
852
  readonly type: "array";
619
853
  readonly maxItems: 64;
@@ -651,6 +885,114 @@ export declare const SPEC: {
651
885
  readonly type: "string";
652
886
  readonly pattern: "^dir_[A-Za-z0-9_-]{16,64}$";
653
887
  };
888
+ readonly Award: {
889
+ readonly title: "Award";
890
+ readonly description: "One giving of a badge to one member. `givenBy` is the giver's directory entry, absent for an award a dynamic badge group's rule made. `note` is shown to the recipient, the giver, the badge's owners and administrators, never to other members. `credentialId` is present on an accepted award of a community badge: the badge credential that evidences it, renewed or re-issued as the badge's regime requires. `shared` is present on an accepted award of a badge its holders may show outside while its holder shares it (vtc/badges/awards/share).";
891
+ readonly type: "object";
892
+ readonly additionalProperties: false;
893
+ readonly required: readonly ["awardId", "badgeId", "entryId", "state", "offeredAt"];
894
+ readonly properties: {
895
+ readonly awardId: {
896
+ readonly $ref: "#/$defs/AwardId";
897
+ };
898
+ readonly badgeId: {
899
+ readonly $ref: "#/$defs/BadgeId";
900
+ };
901
+ readonly entryId: {
902
+ readonly $ref: "#/$defs/EntryId";
903
+ readonly description: "The recipient.";
904
+ };
905
+ readonly givenBy: {
906
+ readonly $ref: "#/$defs/EntryId";
907
+ };
908
+ readonly note: {
909
+ readonly $ref: "#/$defs/AwardNote";
910
+ };
911
+ readonly state: {
912
+ readonly $ref: "#/$defs/AwardState";
913
+ };
914
+ readonly offeredAt: {
915
+ readonly type: "string";
916
+ readonly format: "date-time";
917
+ };
918
+ readonly decidedAt: {
919
+ readonly type: "string";
920
+ readonly format: "date-time";
921
+ readonly description: "When the recipient accepted or declined, the giver withdrew, the offer expired, or the award was revoked.";
922
+ };
923
+ readonly expiresAt: {
924
+ readonly type: "string";
925
+ readonly format: "date-time";
926
+ readonly description: "When an unanswered offer lapses, where the community expires offers.";
927
+ };
928
+ readonly credentialId: {
929
+ readonly $ref: "#/$defs/GroupCredentialId";
930
+ };
931
+ readonly shared: {
932
+ readonly $ref: "#/$defs/AwardShare";
933
+ };
934
+ readonly ext: {
935
+ readonly $ref: "#/$defs/Ext";
936
+ };
937
+ };
938
+ };
939
+ readonly AwardShare: {
940
+ readonly title: "AwardShare";
941
+ readonly description: "Where an accepted award is shown outside the community, by its holder's choice (VTI-BDG-070): the public location that answers a verification of exactly what the credential says, the baked image where the community serves one, and since when. Present only while the holder shares the award; absent once they stop, the award is taken back, the badge is retired or the holder departs. The locations are unguessable and name no other holder (VTI-BDG-071).";
942
+ readonly type: "object";
943
+ readonly additionalProperties: false;
944
+ readonly required: readonly ["verificationUrl", "since"];
945
+ readonly properties: {
946
+ readonly verificationUrl: {
947
+ readonly type: "string";
948
+ readonly format: "uri";
949
+ readonly maxLength: 2048;
950
+ readonly description: "The public location that answers the credential and a verification of it.";
951
+ };
952
+ readonly bakedImageUrl: {
953
+ readonly type: "string";
954
+ readonly format: "uri";
955
+ readonly maxLength: 2048;
956
+ readonly description: "The badge's picture with the credential baked into it, for a website or an email signature. Absent where the community serves no baked image.";
957
+ };
958
+ readonly since: {
959
+ readonly type: "string";
960
+ readonly format: "date-time";
961
+ };
962
+ };
963
+ };
964
+ readonly AwardState: {
965
+ readonly title: "AwardState";
966
+ readonly description: "`offered`: waiting for the recipient. `accepted`: the recipient took it; for a community badge the credential was issued and the membership recorded. `declined`: the recipient declined; nothing was recorded in the group and nothing issued. `withdrawn`: the giver withdrew the offer before a decision. `expired`: the offer lapsed unanswered. `revoked`: taken back after acceptance (VTI-BDG-023).";
967
+ readonly type: "string";
968
+ readonly enum: readonly ["offered", "accepted", "declined", "withdrawn", "expired", "revoked"];
969
+ };
970
+ readonly AwardNote: {
971
+ readonly title: "AwardNote";
972
+ readonly type: "string";
973
+ readonly minLength: 1;
974
+ readonly maxLength: 500;
975
+ readonly description: "What the award is for, from the giver, shown to the recipient and written as the award's evidence narrative where the badge carries a credential. Plain text; erased with its author (VTI-BDG-090).";
976
+ };
977
+ readonly BadgeId: {
978
+ readonly title: "BadgeId";
979
+ readonly description: "Opaque identifier of a badge: `bdg_` followed by 16 to 64 base64url characters. Random, community-scoped, never reused (VTI-BDG-001).";
980
+ readonly type: "string";
981
+ readonly pattern: "^bdg_[A-Za-z0-9_-]{16,64}$";
982
+ };
983
+ readonly AwardId: {
984
+ readonly title: "AwardId";
985
+ readonly description: "Opaque identifier of one giving of a badge to one member: `awd_` followed by 16 to 64 base64url characters. Random and unique within the community.";
986
+ readonly type: "string";
987
+ readonly pattern: "^awd_[A-Za-z0-9_-]{16,64}$";
988
+ };
989
+ readonly GroupCredentialId: {
990
+ readonly title: "GroupCredentialId";
991
+ readonly description: "Identifier (`id`) of a group membership credential issued to a member. Each renewal issues a new credential with a new identifier. Validity is the community's setting; a community SHOULD default to 30 days, renewed when 10 days remain.";
992
+ readonly type: "string";
993
+ readonly minLength: 1;
994
+ readonly maxLength: 512;
995
+ };
654
996
  readonly Badge: {
655
997
  readonly title: "Badge";
656
998
  readonly description: "A badge as a caller who may see it sees it. `groupId` is present exactly when `kind` is `community`. `holderCount` only to callers who may see the badge's holders, counted over holders who have not hidden it (VTI-BDG-030, VTI-BDG-033). `createdBy` is the directory entry of the administrator or member who made it, where they have one.";
@@ -759,12 +1101,6 @@ export declare const SPEC: {
759
1101
  readonly type: "string";
760
1102
  readonly enum: readonly ["community", "kudos"];
761
1103
  };
762
- readonly BadgeId: {
763
- readonly title: "BadgeId";
764
- readonly description: "Opaque identifier of a badge: `bdg_` followed by 16 to 64 base64url characters. Random, community-scoped, never reused (VTI-BDG-001).";
765
- readonly type: "string";
766
- readonly pattern: "^bdg_[A-Za-z0-9_-]{16,64}$";
767
- };
768
1104
  readonly GroupId: {
769
1105
  readonly title: "GroupId";
770
1106
  readonly description: "Opaque identifier of a community group: `grp_` followed by 16 to 64 base64url characters. Random and community-scoped; not the group's DID.";
@@ -857,6 +1193,14 @@ export declare const RESPONSE_SPEC: {
857
1193
  readonly myState: {
858
1194
  readonly $ref: "#/$defs/MyState";
859
1195
  };
1196
+ readonly myAwards: {
1197
+ readonly type: "array";
1198
+ readonly maxItems: 1000;
1199
+ readonly items: {
1200
+ readonly $ref: "#/$defs/Award";
1201
+ };
1202
+ readonly description: "The caller's own accepted awards of this badge, newest first, each with `shared` where they show it outside the community — what `vtc/badges/awards/share` and `unshare` name. Absent where the caller holds none. Never another member's award.";
1203
+ };
860
1204
  readonly owners: {
861
1205
  readonly type: "array";
862
1206
  readonly maxItems: 64;
@@ -894,6 +1238,114 @@ export declare const RESPONSE_SPEC: {
894
1238
  readonly type: "string";
895
1239
  readonly pattern: "^dir_[A-Za-z0-9_-]{16,64}$";
896
1240
  };
1241
+ readonly Award: {
1242
+ readonly title: "Award";
1243
+ readonly description: "One giving of a badge to one member. `givenBy` is the giver's directory entry, absent for an award a dynamic badge group's rule made. `note` is shown to the recipient, the giver, the badge's owners and administrators, never to other members. `credentialId` is present on an accepted award of a community badge: the badge credential that evidences it, renewed or re-issued as the badge's regime requires. `shared` is present on an accepted award of a badge its holders may show outside while its holder shares it (vtc/badges/awards/share).";
1244
+ readonly type: "object";
1245
+ readonly additionalProperties: false;
1246
+ readonly required: readonly ["awardId", "badgeId", "entryId", "state", "offeredAt"];
1247
+ readonly properties: {
1248
+ readonly awardId: {
1249
+ readonly $ref: "#/$defs/AwardId";
1250
+ };
1251
+ readonly badgeId: {
1252
+ readonly $ref: "#/$defs/BadgeId";
1253
+ };
1254
+ readonly entryId: {
1255
+ readonly $ref: "#/$defs/EntryId";
1256
+ readonly description: "The recipient.";
1257
+ };
1258
+ readonly givenBy: {
1259
+ readonly $ref: "#/$defs/EntryId";
1260
+ };
1261
+ readonly note: {
1262
+ readonly $ref: "#/$defs/AwardNote";
1263
+ };
1264
+ readonly state: {
1265
+ readonly $ref: "#/$defs/AwardState";
1266
+ };
1267
+ readonly offeredAt: {
1268
+ readonly type: "string";
1269
+ readonly format: "date-time";
1270
+ };
1271
+ readonly decidedAt: {
1272
+ readonly type: "string";
1273
+ readonly format: "date-time";
1274
+ readonly description: "When the recipient accepted or declined, the giver withdrew, the offer expired, or the award was revoked.";
1275
+ };
1276
+ readonly expiresAt: {
1277
+ readonly type: "string";
1278
+ readonly format: "date-time";
1279
+ readonly description: "When an unanswered offer lapses, where the community expires offers.";
1280
+ };
1281
+ readonly credentialId: {
1282
+ readonly $ref: "#/$defs/GroupCredentialId";
1283
+ };
1284
+ readonly shared: {
1285
+ readonly $ref: "#/$defs/AwardShare";
1286
+ };
1287
+ readonly ext: {
1288
+ readonly $ref: "#/$defs/Ext";
1289
+ };
1290
+ };
1291
+ };
1292
+ readonly AwardShare: {
1293
+ readonly title: "AwardShare";
1294
+ readonly description: "Where an accepted award is shown outside the community, by its holder's choice (VTI-BDG-070): the public location that answers a verification of exactly what the credential says, the baked image where the community serves one, and since when. Present only while the holder shares the award; absent once they stop, the award is taken back, the badge is retired or the holder departs. The locations are unguessable and name no other holder (VTI-BDG-071).";
1295
+ readonly type: "object";
1296
+ readonly additionalProperties: false;
1297
+ readonly required: readonly ["verificationUrl", "since"];
1298
+ readonly properties: {
1299
+ readonly verificationUrl: {
1300
+ readonly type: "string";
1301
+ readonly format: "uri";
1302
+ readonly maxLength: 2048;
1303
+ readonly description: "The public location that answers the credential and a verification of it.";
1304
+ };
1305
+ readonly bakedImageUrl: {
1306
+ readonly type: "string";
1307
+ readonly format: "uri";
1308
+ readonly maxLength: 2048;
1309
+ readonly description: "The badge's picture with the credential baked into it, for a website or an email signature. Absent where the community serves no baked image.";
1310
+ };
1311
+ readonly since: {
1312
+ readonly type: "string";
1313
+ readonly format: "date-time";
1314
+ };
1315
+ };
1316
+ };
1317
+ readonly AwardState: {
1318
+ readonly title: "AwardState";
1319
+ readonly description: "`offered`: waiting for the recipient. `accepted`: the recipient took it; for a community badge the credential was issued and the membership recorded. `declined`: the recipient declined; nothing was recorded in the group and nothing issued. `withdrawn`: the giver withdrew the offer before a decision. `expired`: the offer lapsed unanswered. `revoked`: taken back after acceptance (VTI-BDG-023).";
1320
+ readonly type: "string";
1321
+ readonly enum: readonly ["offered", "accepted", "declined", "withdrawn", "expired", "revoked"];
1322
+ };
1323
+ readonly AwardNote: {
1324
+ readonly title: "AwardNote";
1325
+ readonly type: "string";
1326
+ readonly minLength: 1;
1327
+ readonly maxLength: 500;
1328
+ readonly description: "What the award is for, from the giver, shown to the recipient and written as the award's evidence narrative where the badge carries a credential. Plain text; erased with its author (VTI-BDG-090).";
1329
+ };
1330
+ readonly BadgeId: {
1331
+ readonly title: "BadgeId";
1332
+ readonly description: "Opaque identifier of a badge: `bdg_` followed by 16 to 64 base64url characters. Random, community-scoped, never reused (VTI-BDG-001).";
1333
+ readonly type: "string";
1334
+ readonly pattern: "^bdg_[A-Za-z0-9_-]{16,64}$";
1335
+ };
1336
+ readonly AwardId: {
1337
+ readonly title: "AwardId";
1338
+ readonly description: "Opaque identifier of one giving of a badge to one member: `awd_` followed by 16 to 64 base64url characters. Random and unique within the community.";
1339
+ readonly type: "string";
1340
+ readonly pattern: "^awd_[A-Za-z0-9_-]{16,64}$";
1341
+ };
1342
+ readonly GroupCredentialId: {
1343
+ readonly title: "GroupCredentialId";
1344
+ readonly description: "Identifier (`id`) of a group membership credential issued to a member. Each renewal issues a new credential with a new identifier. Validity is the community's setting; a community SHOULD default to 30 days, renewed when 10 days remain.";
1345
+ readonly type: "string";
1346
+ readonly minLength: 1;
1347
+ readonly maxLength: 512;
1348
+ };
897
1349
  readonly Badge: {
898
1350
  readonly title: "Badge";
899
1351
  readonly description: "A badge as a caller who may see it sees it. `groupId` is present exactly when `kind` is `community`. `holderCount` only to callers who may see the badge's holders, counted over holders who have not hidden it (VTI-BDG-030, VTI-BDG-033). `createdBy` is the directory entry of the administrator or member who made it, where they have one.";
@@ -1002,12 +1454,6 @@ export declare const RESPONSE_SPEC: {
1002
1454
  readonly type: "string";
1003
1455
  readonly enum: readonly ["community", "kudos"];
1004
1456
  };
1005
- readonly BadgeId: {
1006
- readonly title: "BadgeId";
1007
- readonly description: "Opaque identifier of a badge: `bdg_` followed by 16 to 64 base64url characters. Random, community-scoped, never reused (VTI-BDG-001).";
1008
- readonly type: "string";
1009
- readonly pattern: "^bdg_[A-Za-z0-9_-]{16,64}$";
1010
- };
1011
1457
  readonly GroupId: {
1012
1458
  readonly title: "GroupId";
1013
1459
  readonly description: "Opaque identifier of a community group: `grp_` followed by 16 to 64 base64url characters. Random and community-scoped; not the group's DID.";
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/vtc/badges/show/0.1/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/vtc/badges/show/0.1/payload.ts"],"names":[],"mappings":"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"}