@openvtc/trust-tasks 0.19.3 → 0.19.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +209 -0
  2. package/dist/_shared/components.d.ts +298 -0
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/index.d.ts +14 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +14 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/vetting/_shared/0.1/identity-vetting.d.ts +11 -0
  9. package/dist/vetting/_shared/0.1/identity-vetting.d.ts.map +1 -0
  10. package/dist/vetting/_shared/0.1/identity-vetting.js +6 -0
  11. package/dist/vetting/_shared/0.1/identity-vetting.js.map +1 -0
  12. package/dist/vetting/_shared/0.1/vetting-card.d.ts +16 -0
  13. package/dist/vetting/_shared/0.1/vetting-card.d.ts.map +1 -0
  14. package/dist/vetting/_shared/0.1/vetting-card.js +6 -0
  15. package/dist/vetting/_shared/0.1/vetting-card.js.map +1 -0
  16. package/dist/vetting/_shared/0.1/vetting.d.ts +16 -0
  17. package/dist/vetting/_shared/0.1/vetting.d.ts.map +1 -0
  18. package/dist/vetting/_shared/0.1/vetting.js +6 -0
  19. package/dist/vetting/_shared/0.1/vetting.js.map +1 -0
  20. package/dist/vetting/decline/0.1/payload.d.ts +138 -0
  21. package/dist/vetting/decline/0.1/payload.d.ts.map +1 -0
  22. package/dist/vetting/decline/0.1/payload.js +81 -0
  23. package/dist/vetting/decline/0.1/payload.js.map +1 -0
  24. package/dist/vetting/request/0.1/payload.d.ts +1188 -0
  25. package/dist/vetting/request/0.1/payload.d.ts.map +1 -0
  26. package/dist/vetting/request/0.1/payload.js +596 -0
  27. package/dist/vetting/request/0.1/payload.js.map +1 -0
  28. package/dist/vetting/session/0.1/payload.d.ts +978 -0
  29. package/dist/vetting/session/0.1/payload.d.ts.map +1 -0
  30. package/dist/vetting/session/0.1/payload.js +570 -0
  31. package/dist/vetting/session/0.1/payload.js.map +1 -0
  32. package/dist/vta/webvh/dids/realign-keys/1.0/payload.d.ts +484 -0
  33. package/dist/vta/webvh/dids/realign-keys/1.0/payload.d.ts.map +1 -0
  34. package/dist/vta/webvh/dids/realign-keys/1.0/payload.js +259 -0
  35. package/dist/vta/webvh/dids/realign-keys/1.0/payload.js.map +1 -0
  36. package/dist/vtc/_shared/0.1/vetter-profile.d.ts +16 -0
  37. package/dist/vtc/_shared/0.1/vetter-profile.d.ts.map +1 -0
  38. package/dist/vtc/_shared/0.1/vetter-profile.js +6 -0
  39. package/dist/vtc/_shared/0.1/vetter-profile.js.map +1 -0
  40. package/dist/vtc/join-requests/manifest/0.2/payload.d.ts +1294 -0
  41. package/dist/vtc/join-requests/manifest/0.2/payload.d.ts.map +1 -0
  42. package/dist/vtc/join-requests/manifest/0.2/payload.js +667 -0
  43. package/dist/vtc/join-requests/manifest/0.2/payload.js.map +1 -0
  44. package/dist/vtc/vetting/revoke-statement/0.1/payload.d.ts +299 -0
  45. package/dist/vtc/vetting/revoke-statement/0.1/payload.d.ts.map +1 -0
  46. package/dist/vtc/vetting/revoke-statement/0.1/payload.js +172 -0
  47. package/dist/vtc/vetting/revoke-statement/0.1/payload.js.map +1 -0
  48. package/dist/vtc/vetting/vetters/grant/0.1/payload.d.ts +337 -0
  49. package/dist/vtc/vetting/vetters/grant/0.1/payload.d.ts.map +1 -0
  50. package/dist/vtc/vetting/vetters/grant/0.1/payload.js +183 -0
  51. package/dist/vtc/vetting/vetters/grant/0.1/payload.js.map +1 -0
  52. package/dist/vtc/vetting/vetters/list/0.1/payload.d.ts +1257 -0
  53. package/dist/vtc/vetting/vetters/list/0.1/payload.d.ts.map +1 -0
  54. package/dist/vtc/vetting/vetters/list/0.1/payload.js +597 -0
  55. package/dist/vtc/vetting/vetters/list/0.1/payload.js.map +1 -0
  56. package/dist/vtc/vetting/vetters/profile/0.1/payload.d.ts +970 -0
  57. package/dist/vtc/vetting/vetters/profile/0.1/payload.d.ts.map +1 -0
  58. package/dist/vtc/vetting/vetters/profile/0.1/payload.js +463 -0
  59. package/dist/vtc/vetting/vetters/profile/0.1/payload.js.map +1 -0
  60. package/dist/vtc/vetting/vetters/resend/0.1/payload.d.ts +240 -0
  61. package/dist/vtc/vetting/vetters/resend/0.1/payload.d.ts.map +1 -0
  62. package/dist/vtc/vetting/vetters/resend/0.1/payload.js +137 -0
  63. package/dist/vtc/vetting/vetters/resend/0.1/payload.js.map +1 -0
  64. package/package.json +1 -1
  65. package/src/_shared/components.ts +318 -0
  66. package/src/index.ts +14 -0
  67. package/src/vetting/_shared/0.1/identity-vetting.ts +11 -0
  68. package/src/vetting/_shared/0.1/vetting-card.ts +17 -0
  69. package/src/vetting/_shared/0.1/vetting.ts +17 -0
  70. package/src/vetting/decline/0.1/payload.ts +111 -0
  71. package/src/vetting/request/0.1/payload.ts +799 -0
  72. package/src/vetting/session/0.1/payload.ts +629 -0
  73. package/src/vta/webvh/dids/realign-keys/1.0/payload.ts +332 -0
  74. package/src/vtc/_shared/0.1/vetter-profile.ts +17 -0
  75. package/src/vtc/join-requests/manifest/0.2/payload.ts +815 -0
  76. package/src/vtc/vetting/revoke-statement/0.1/payload.ts +218 -0
  77. package/src/vtc/vetting/vetters/grant/0.1/payload.ts +237 -0
  78. package/src/vtc/vetting/vetters/list/0.1/payload.ts +816 -0
  79. package/src/vtc/vetting/vetters/profile/0.1/payload.ts +647 -0
  80. package/src/vtc/vetting/vetters/resend/0.1/payload.ts +174 -0
@@ -42,6 +42,10 @@ export type AuditAction =
42
42
  | "accountChangeQueueLimits"
43
43
  | "adminAdd"
44
44
  | "adminStrip";
45
+ /**
46
+ * A calendar date, `YYYY-MM-DD` (RFC 3339 full-date), with no time or zone. Compared as a UTC date.
47
+ */
48
+ export type CalendarDate = string;
45
49
  /**
46
50
  * Fine-grained capability flag scoped to the device's allowed contexts. See SPEC.md for the full semantics of each. Capability values are additive: a consumer MUST ignore a value it does not recognise rather than reject the binding, and MUST NOT treat an unrecognised value as conferring anything.
47
51
  */
@@ -94,6 +98,10 @@ export type ConsumerKind_DeviceV0_1 = Companion_DeviceV0_1 | Service_DeviceV0_1;
94
98
  * Discriminator: is this consumer a user-driven Companion or a headless Service?
95
99
  */
96
100
  export type ConsumerKind_DeviceV0_2 = Companion_DeviceV0_2 | Service_DeviceV0_2;
101
+ /**
102
+ * An ISO 3166-1 alpha-2 country code, upper case, e.g. `DE`.
103
+ */
104
+ export type CountryCode = string;
97
105
  /**
98
106
  * Stable identifier for an issued credential — the handle for revocation and audit. Opaque to the holder: it MUST be echoed verbatim when revoking and MUST NOT be parsed.
99
107
  */
@@ -209,10 +217,18 @@ export type KeyType = "ed25519" | "x25519" | "p256";
209
217
  * The interaction kind: a 1:1 direct message, a multi-party group, or a broadcast channel.
210
218
  */
211
219
  export type Kind = "dm" | "group" | "channel";
220
+ /**
221
+ * A BCP 47 language tag, e.g. `en`, `de-AT`. Compared case-insensitively.
222
+ */
223
+ export type LanguageTag = string;
212
224
  /**
213
225
  * Scopes one application's records within a context, so several tools can share a context without colliding — `openvtc`, `cnm`, an agent runtime. The maintainer MUST NOT interpret the value; it is an opaque partition name. Namespaces are first-come and unreserved, so an application SHOULD pick a stable, specific one: a future per-namespace ACL would grant on this exact string, which makes renaming a namespace a migration rather than an edit.
214
226
  */
215
227
  export type Namespace = string;
228
+ /**
229
+ * A region or city name as the vetter writes it. Compared case-insensitively and otherwise exactly.
230
+ */
231
+ export type PlaceName = string;
216
232
  /**
217
233
  * One line of a profile, in exactly one of four forms. Together they are the whole of a profile's flexibility, and each exists for a case the others handle badly.
218
234
  *
@@ -488,6 +504,195 @@ export type Version_PersonaV0_1 = number;
488
504
  * A value of the namespace's monotonic write counter (see this schema's description). Server-assigned; a producer never chooses one.
489
505
  */
490
506
  export type Version_VtaV0_1 = number;
507
+ /**
508
+ * What documentation the vetter relies on, in the same tokens as vetting/request's `acceptsDocumentation` — `passport`, `nationalId`, `driverLicence`, `none`, or another lowerCamelCase class. The vetter's own choice; empty says nothing either way.
509
+ *
510
+ * @maxItems 16
511
+ */
512
+ export type VetterAcceptsDocumentation =
513
+ | []
514
+ | [VettingDocumentation]
515
+ | [VettingDocumentation, VettingDocumentation]
516
+ | [VettingDocumentation, VettingDocumentation, VettingDocumentation]
517
+ | [VettingDocumentation, VettingDocumentation, VettingDocumentation, VettingDocumentation]
518
+ | [VettingDocumentation, VettingDocumentation, VettingDocumentation, VettingDocumentation, VettingDocumentation]
519
+ | [
520
+ VettingDocumentation,
521
+ VettingDocumentation,
522
+ VettingDocumentation,
523
+ VettingDocumentation,
524
+ VettingDocumentation,
525
+ VettingDocumentation
526
+ ]
527
+ | [
528
+ VettingDocumentation,
529
+ VettingDocumentation,
530
+ VettingDocumentation,
531
+ VettingDocumentation,
532
+ VettingDocumentation,
533
+ VettingDocumentation,
534
+ VettingDocumentation
535
+ ]
536
+ | [
537
+ VettingDocumentation,
538
+ VettingDocumentation,
539
+ VettingDocumentation,
540
+ VettingDocumentation,
541
+ VettingDocumentation,
542
+ VettingDocumentation,
543
+ VettingDocumentation,
544
+ VettingDocumentation
545
+ ]
546
+ | [
547
+ VettingDocumentation,
548
+ VettingDocumentation,
549
+ VettingDocumentation,
550
+ VettingDocumentation,
551
+ VettingDocumentation,
552
+ VettingDocumentation,
553
+ VettingDocumentation,
554
+ VettingDocumentation,
555
+ VettingDocumentation
556
+ ]
557
+ | [
558
+ VettingDocumentation,
559
+ VettingDocumentation,
560
+ VettingDocumentation,
561
+ VettingDocumentation,
562
+ VettingDocumentation,
563
+ VettingDocumentation,
564
+ VettingDocumentation,
565
+ VettingDocumentation,
566
+ VettingDocumentation,
567
+ VettingDocumentation
568
+ ]
569
+ | [
570
+ VettingDocumentation,
571
+ VettingDocumentation,
572
+ VettingDocumentation,
573
+ VettingDocumentation,
574
+ VettingDocumentation,
575
+ VettingDocumentation,
576
+ VettingDocumentation,
577
+ VettingDocumentation,
578
+ VettingDocumentation,
579
+ VettingDocumentation,
580
+ VettingDocumentation
581
+ ]
582
+ | [
583
+ VettingDocumentation,
584
+ VettingDocumentation,
585
+ VettingDocumentation,
586
+ VettingDocumentation,
587
+ VettingDocumentation,
588
+ VettingDocumentation,
589
+ VettingDocumentation,
590
+ VettingDocumentation,
591
+ VettingDocumentation,
592
+ VettingDocumentation,
593
+ VettingDocumentation,
594
+ VettingDocumentation
595
+ ]
596
+ | [
597
+ VettingDocumentation,
598
+ VettingDocumentation,
599
+ VettingDocumentation,
600
+ VettingDocumentation,
601
+ VettingDocumentation,
602
+ VettingDocumentation,
603
+ VettingDocumentation,
604
+ VettingDocumentation,
605
+ VettingDocumentation,
606
+ VettingDocumentation,
607
+ VettingDocumentation,
608
+ VettingDocumentation,
609
+ VettingDocumentation
610
+ ]
611
+ | [
612
+ VettingDocumentation,
613
+ VettingDocumentation,
614
+ VettingDocumentation,
615
+ VettingDocumentation,
616
+ VettingDocumentation,
617
+ VettingDocumentation,
618
+ VettingDocumentation,
619
+ VettingDocumentation,
620
+ VettingDocumentation,
621
+ VettingDocumentation,
622
+ VettingDocumentation,
623
+ VettingDocumentation,
624
+ VettingDocumentation,
625
+ VettingDocumentation
626
+ ]
627
+ | [
628
+ VettingDocumentation,
629
+ VettingDocumentation,
630
+ VettingDocumentation,
631
+ VettingDocumentation,
632
+ VettingDocumentation,
633
+ VettingDocumentation,
634
+ VettingDocumentation,
635
+ VettingDocumentation,
636
+ VettingDocumentation,
637
+ VettingDocumentation,
638
+ VettingDocumentation,
639
+ VettingDocumentation,
640
+ VettingDocumentation,
641
+ VettingDocumentation,
642
+ VettingDocumentation
643
+ ]
644
+ | [
645
+ VettingDocumentation,
646
+ VettingDocumentation,
647
+ VettingDocumentation,
648
+ VettingDocumentation,
649
+ VettingDocumentation,
650
+ VettingDocumentation,
651
+ VettingDocumentation,
652
+ VettingDocumentation,
653
+ VettingDocumentation,
654
+ VettingDocumentation,
655
+ VettingDocumentation,
656
+ VettingDocumentation,
657
+ VettingDocumentation,
658
+ VettingDocumentation,
659
+ VettingDocumentation,
660
+ VettingDocumentation
661
+ ];
662
+ /**
663
+ * Vetter-authored free text on when they are available to vet. Attributed to the vetter.
664
+ */
665
+ export type VetterAvailability = string;
666
+ /**
667
+ * Vetter-authored free text on how to obtain a ticket from them, e.g. `Find me at the OpenVTC booth`. A hint, not an address a request can be sent to: vetting/request still needs a ticket or an introduction the vetter accepts.
668
+ */
669
+ export type VetterContactHint = string;
670
+ /**
671
+ * The name the vetter chooses to be listed under. Self-asserted and unverified: it is not the name on any document, and a client MUST attribute it to the vetter.
672
+ */
673
+ export type VetterDisplayName = string;
674
+ /**
675
+ * The methods the vetter offers, from `inPerson`, `video`, `priorAcquaintance`.
676
+ *
677
+ * @minItems 1
678
+ * @maxItems 3
679
+ */
680
+ export type VetterMethods =
681
+ | [VettingMethod]
682
+ | [VettingMethod, VettingMethod]
683
+ | [VettingMethod, VettingMethod, VettingMethod];
684
+ /**
685
+ * A class of documentation, named in lowerCamelCase. Open rather than enumerated, because what documentation a vetter accepts is each vetter's own choice. Well-known values: `passport`, `nationalId`, `driverLicence`, and `none` — the vetter will attest without a document, which is the `priorAcquaintance` case. Only the class ever travels — never a document number, an image, an issuing authority or an expiry date. `none` states a policy (what a vetter accepts); a record of what was relied on expresses 'no document' as an empty list instead.
686
+ */
687
+ export type VettingDocumentation = string;
688
+ /**
689
+ * How the vetter established that the person they checked is the person controlling the applicant's DID. `inPerson` — both people were physically together. `video` — a live, two-way video call. `priorAcquaintance` — the vetter has known or worked with this person over a period, and attests from that knowledge rather than from a document. A method is a description of what happened, not an assurance level: which methods count, and how many of each, is community policy.
690
+ */
691
+ export type VettingMethod = "inPerson" | "video" | "priorAcquaintance";
692
+ /**
693
+ * The vetter's own declaration of how they relate to the applicant. Declared, not verified: it exists so community policy can cap how much evidence comes from people close to the applicant, and a false declaration is the vetter's attributable act.
694
+ */
695
+ export type VettingRelationship = "none" | "communityColleague" | "sameEmployer" | "family" | "otherPersonal";
491
696
  /**
492
697
  * A Verifiable Identifier (SPEC §4.8). For a mediator-served account this is the account's controlling DID, carried verbatim and compared by exact string equality. For privacy — and because some mediators key accounts by a one-way hash and never hold the full DID — a stable hash of the DID (e.g. its SHA-256 digest) is an equally valid value here: producer and consumer simply agree on the same opaque identifier and compare by exact string equality. The field carries whichever form the issuing mediator uses.
493
698
  */
@@ -1390,6 +1595,23 @@ export interface CredentialReference {
1390
1595
  */
1391
1596
  expiresAt?: string | null;
1392
1597
  }
1598
+ /**
1599
+ * A W3C Data Integrity proof by the card's publisher. Additional Data Integrity members (e.g. `created`) are permitted and are covered as the cryptosuite defines.
1600
+ */
1601
+ export interface DataIntegrityProof {
1602
+ type: "DataIntegrityProof";
1603
+ /**
1604
+ * e.g. `eddsa-jcs-2022`.
1605
+ */
1606
+ cryptosuite: string;
1607
+ /**
1608
+ * A verification method of `publisher`, authorized for `assertionMethod`.
1609
+ */
1610
+ verificationMethod: string;
1611
+ proofPurpose: "assertionMethod";
1612
+ proofValue: string;
1613
+ [k: string]: unknown | undefined;
1614
+ }
1393
1615
  /**
1394
1616
  * One presentation request awaiting the holder's decision, as the approver sees it.
1395
1617
  *
@@ -3645,6 +3867,102 @@ export interface VerdictWith {
3645
3867
  */
3646
3868
  presentationDefinition?: {};
3647
3869
  }
3870
+ /**
3871
+ * An event the vetter will attend and vet at. `endDate` is on or after `startDate` and no more than 31 days after it; JSON Schema cannot compare two members, so the community checks both and refuses a violation with `malformedRequest`.
3872
+ */
3873
+ export interface VetterEvent {
3874
+ /**
3875
+ * The event's name, e.g. `Linux Plumbers Conference 2026`.
3876
+ */
3877
+ name: string;
3878
+ startDate: CalendarDate;
3879
+ endDate: CalendarDate;
3880
+ location?: VetterLocation;
3881
+ /**
3882
+ * OPTIONAL. The event's own https page.
3883
+ */
3884
+ url?: string;
3885
+ }
3886
+ /**
3887
+ * Where a vetter can meet people, as coarse as the vetter chooses: a country, optionally a region, optionally a city. Never a street address.
3888
+ */
3889
+ export interface VetterLocation {
3890
+ country: CountryCode;
3891
+ region?: PlaceName;
3892
+ city?: PlaceName;
3893
+ }
3894
+ export interface VettingCard {
3895
+ /**
3896
+ * Exactly `VerifiableDataStructure`, `RelationshipCard` and `VettingCard`, in any order.
3897
+ *
3898
+ * @minItems 3
3899
+ * @maxItems 3
3900
+ */
3901
+ type: [
3902
+ "VerifiableDataStructure" | "RelationshipCard" | "VettingCard",
3903
+ "VerifiableDataStructure" | "RelationshipCard" | "VettingCard",
3904
+ "VerifiableDataStructure" | "RelationshipCard" | "VettingCard"
3905
+ ];
3906
+ /**
3907
+ * Fresh per card. A card is never re-sent to a second session under the same id.
3908
+ */
3909
+ id: string;
3910
+ /**
3911
+ * The applicant's DID — the issuer of the vetting request and the subject every resulting statement names. The card is signed with this DID's assertion key.
3912
+ */
3913
+ publisher: string;
3914
+ cardVersion: number;
3915
+ /**
3916
+ * The vetter's DID — the issuer of the vetting session. A card addressed to anyone else is refused.
3917
+ */
3918
+ audience: string;
3919
+ /**
3920
+ * The community the applicant is being vetted for.
3921
+ */
3922
+ community: string;
3923
+ /**
3924
+ * The session's challenge, copied verbatim.
3925
+ */
3926
+ challenge: string;
3927
+ /**
3928
+ * The session's domain, copied verbatim.
3929
+ */
3930
+ domain: string;
3931
+ issuedAt: string;
3932
+ /**
3933
+ * No later than the session's `expiresAt`.
3934
+ */
3935
+ expiresAt: string;
3936
+ /**
3937
+ * @minItems 1
3938
+ */
3939
+ claims: [VettingCardClaim, ...VettingCardClaim[]];
3940
+ /**
3941
+ * digestMultibase over the RFC 8785 canonicalization of `{ "salt": commitmentSalt, "claims": R }`, where R is `{ "type", "value" }` for every card claim whose type the session lists in `requiredClaims`, ordered by `type` then `value` (code-point order). SHA-256 RECOMMENDED. Because the applicant uses one salt per application, every vetter of that application sees the same value.
3942
+ */
3943
+ identityCommitment: DigestMultibase;
3944
+ /**
3945
+ * 32 random bytes, base64url without padding, generated once per application. Goes to vetters inside the card and to nobody else: a party holding the commitment without the salt cannot test guesses at the claimed name.
3946
+ */
3947
+ commitmentSalt: string;
3948
+ proof: DataIntegrityProof;
3949
+ }
3950
+ export interface VettingCardClaim {
3951
+ /**
3952
+ * The claim type. `person.portrait` is refused: identity vetting works by a vetter looking at the person, not by transmitting their image.
3953
+ */
3954
+ type: ClaimType;
3955
+ /**
3956
+ * The claimed value, exactly as rendered from the applicant's persona — a string for most claim types, structured JSON for some (e.g. a postal address). Authored by the applicant and asserted under their signature; the vetter's check is what gives it any assurance.
3957
+ */
3958
+ value: {
3959
+ [k: string]: unknown | undefined;
3960
+ };
3961
+ /**
3962
+ * Where the value's assurance comes from. `selfAsserted` — the applicant says so, and the vetter's human check is the only assurance added — is the only value this version defines; a verifier MUST NOT treat any other value as adding assurance it does not understand.
3963
+ */
3964
+ provenance: string;
3965
+ }
3648
3966
  /**
3649
3967
  * An opaque, gateway-issued reference to a device's push channel (push wake-up binding, https://trusttasks.org/binding/push/0.1). The push gateway returns it to the device at registration; the device conveys it to its VTA (device/set-wake), and the VTA provisions it to authorized triggers (its mediator and/or itself). The raw platform push token (APNs/FCM/WebPush) is held ONLY by the gateway and is never represented here — the handle abstracts the platform, so adding new push methods (e.g. PWA Web Push) needs no change to triggers or VTA config. A handle is a bearer capability to *request* a wake (subject to the gateway's allowlist), never to read the channel.
3650
3968
  */
package/src/index.ts CHANGED
@@ -326,6 +326,12 @@ export * as VaultUpsert_v0_2 from "./vault/upsert/0.2/payload.js";
326
326
  export * as VaultUpsert_v0_3 from "./vault/upsert/0.3/payload.js";
327
327
  export * as VaultUsage_v0_1 from "./vault/usage/0.1/payload.js";
328
328
  export * as VaultUsage_v0_2 from "./vault/usage/0.2/payload.js";
329
+ export * as IdentityVettingShared_v0_1 from "./vetting/_shared/0.1/identity-vetting.js";
330
+ export * as VettingCardShared_v0_1 from "./vetting/_shared/0.1/vetting-card.js";
331
+ export * as VettingShared_v0_1 from "./vetting/_shared/0.1/vetting.js";
332
+ export * as VettingDecline_v0_1 from "./vetting/decline/0.1/payload.js";
333
+ export * as VettingRequest_v0_1 from "./vetting/request/0.1/payload.js";
334
+ export * as VettingSession_v0_1 from "./vetting/session/0.1/payload.js";
329
335
  export * as VrcRelationshipsIssue_v0_1 from "./vrc/relationships/issue/0.1/payload.js";
330
336
  export * as VrcRelationshipsPropose_v0_1 from "./vrc/relationships/propose/0.1/payload.js";
331
337
  export * as AppStateRecordShared_v0_1 from "./vta/_shared/0.1/app-state-record.js";
@@ -401,6 +407,7 @@ export * as VtaWebvhDidsCreate_v1_0 from "./vta/webvh/dids/create/1.0/payload.js
401
407
  export * as VtaWebvhDidsDelete_v1_0 from "./vta/webvh/dids/delete/1.0/payload.js";
402
408
  export * as VtaWebvhDidsGet_v1_0 from "./vta/webvh/dids/get/1.0/payload.js";
403
409
  export * as VtaWebvhDidsList_v1_0 from "./vta/webvh/dids/list/1.0/payload.js";
410
+ export * as VtaWebvhDidsRealignKeys_v1_0 from "./vta/webvh/dids/realign-keys/1.0/payload.js";
404
411
  export * as VtaWebvhDidsRegisterWithServer_v1_0 from "./vta/webvh/dids/register-with-server/1.0/payload.js";
405
412
  export * as VtaWebvhDidsRotateKeys_v1_0 from "./vta/webvh/dids/rotate-keys/1.0/payload.js";
406
413
  export * as VtaWebvhDidsUpdate_v1_0 from "./vta/webvh/dids/update/1.0/payload.js";
@@ -420,6 +427,7 @@ export * as InvitationShared_v0_1 from "./vtc/_shared/0.1/invitation.js";
420
427
  export * as InviteShared_v0_1 from "./vtc/_shared/0.1/invite.js";
421
428
  export * as JoinRequestShared_v0_1 from "./vtc/_shared/0.1/join-request.js";
422
429
  export * as MemberShared_v0_1 from "./vtc/_shared/0.1/member.js";
430
+ export * as VetterProfileShared_v0_1 from "./vtc/_shared/0.1/vetter-profile.js";
423
431
  export * as VtcAdminBootstrap_v0_1 from "./vtc/admin/bootstrap/0.1/payload.js";
424
432
  export * as VtcAdminInvitesCreate_v0_1 from "./vtc/admin/invites/create/0.1/payload.js";
425
433
  export * as VtcAdminInvitesList_v0_1 from "./vtc/admin/invites/list/0.1/payload.js";
@@ -455,6 +463,7 @@ export * as VtcJoinRequestsApprove_v0_1 from "./vtc/join-requests/approve/0.1/pa
455
463
  export * as VtcJoinRequestsDecide_v0_1 from "./vtc/join-requests/decide/0.1/payload.js";
456
464
  export * as VtcJoinRequestsList_v0_1 from "./vtc/join-requests/list/0.1/payload.js";
457
465
  export * as VtcJoinRequestsManifest_v0_1 from "./vtc/join-requests/manifest/0.1/payload.js";
466
+ export * as VtcJoinRequestsManifest_v0_2 from "./vtc/join-requests/manifest/0.2/payload.js";
458
467
  export * as VtcJoinRequestsReject_v0_1 from "./vtc/join-requests/reject/0.1/payload.js";
459
468
  export * as VtcJoinRequestsShow_v0_1 from "./vtc/join-requests/show/0.1/payload.js";
460
469
  export * as VtcJoinRequestsStatus_v0_1 from "./vtc/join-requests/status/0.1/payload.js";
@@ -492,6 +501,11 @@ export * as VtcRelationshipsPublish_v0_2 from "./vtc/relationships/publish/0.2/p
492
501
  export * as VtcRelationshipsRequest_v0_1 from "./vtc/relationships/request/0.1/payload.js";
493
502
  export * as VtcRelationshipsRequest_v0_2 from "./vtc/relationships/request/0.2/payload.js";
494
503
  export * as VtcRelationshipsRevoke_v0_1 from "./vtc/relationships/revoke/0.1/payload.js";
504
+ export * as VtcVettingRevokeStatement_v0_1 from "./vtc/vetting/revoke-statement/0.1/payload.js";
505
+ export * as VtcVettingVettersGrant_v0_1 from "./vtc/vetting/vetters/grant/0.1/payload.js";
506
+ export * as VtcVettingVettersList_v0_1 from "./vtc/vetting/vetters/list/0.1/payload.js";
507
+ export * as VtcVettingVettersProfile_v0_1 from "./vtc/vetting/vetters/profile/0.1/payload.js";
508
+ export * as VtcVettingVettersResend_v0_1 from "./vtc/vetting/vetters/resend/0.1/payload.js";
495
509
  export * as VtcWebsiteFilesDelete_v0_1 from "./vtc/website/files/delete/0.1/payload.js";
496
510
  export * as VtcWebsiteFilesList_v0_1 from "./vtc/website/files/list/0.1/payload.js";
497
511
  export * as VtcWebsiteGenerationsList_v0_1 from "./vtc/website/generations/list/0.1/payload.js";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vetting/_shared/0.1/identity-vetting.schema.json
4
+ */
5
+
6
+ /**
7
+ * The `credentialSubject.endorsement` body of a Vetting Statement: a Verifiable Endorsement Credential issued by a vetter's member DID about an applicant's DID, attesting that the vetter checked the applicant's claimed identity in a vetting session. A community registers this shape as the `claimSchema` of its identity-vetting endorsement type (vtc/endorsement-types/register), and names that type in its manifest as `vetting.statementType`. The credential envelope — issuer, validity, `taskContext`, proof — belongs to DTG credentials; only the body is defined here. It records what the vetter did and relied on, never what they saw: no document number, no image, no claimed name. Not itself a Trust Task specification (the `_shared` folder is skipped by the registry build and the codegen).
8
+ */
9
+ export interface IdentityVettingEndorsementSharedDefinition {
10
+ [k: string]: unknown | undefined;
11
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vetting/_shared/0.1/vetting-card.schema.json
4
+ */
5
+
6
+ /**
7
+ * The Vetting Card: a signed, audience-bound profile of the relationship card (r-card) an applicant presents to one vetter in one vetting session. A Verifiable Data Structure — its publisher signs it so the recipient can verify it — bound by `audience`, `challenge` and `domain` to exactly one vetter and one session, and valid for minutes. It carries the identity claims the vetter checks against the person and their documentation, and a salted `identityCommitment` over the required claims so a community can later confirm every vetter checked the same claimed identity without ever seeing it. It never carries a document number, a document image, or a portrait. Returned by vetting/session#response; its digest is carried in the identity-vetting endorsement. Not itself a Trust Task specification (the `_shared` folder is skipped by the registry build and the codegen).
8
+ */
9
+ export interface VettingCardSharedDefinition {
10
+ [k: string]: unknown | undefined;
11
+ }
12
+
13
+ /**
14
+ * The definitions this shared schema publishes, hoisted to one declaration each.
15
+ * See "../../../_shared/components.js".
16
+ */
17
+ export type { DataIntegrityProof, VettingCard, VettingCardClaim } from "../../../_shared/components.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vetting/_shared/0.1/vetting.schema.json
4
+ */
5
+
6
+ /**
7
+ * The vocabularies every identity-vetting artifact is written in: how a vetter established who an applicant is (VettingMethod), what documentation is accepted or was relied on (VettingDocumentation), and how the vetter knows the applicant (VettingRelationship). Used by vtc/join-requests/manifest (what a community requires), the vetting/* peer tasks (what a vetter offers and does), and the identity-vetting endorsement body (what a vetter attested). One definition, so a community's requirement and a vetter's statement are compared value-for-value rather than by translation. Claim types are not redefined here: they are the persona family's ClaimType (persona/_shared/0.1/persona-record), because a Vetting Card is rendered from a persona. Not itself a Trust Task specification (the `_shared` folder is skipped by the registry build and the codegen).
8
+ */
9
+ export interface VettingSharedVocabulary {
10
+ [k: string]: unknown | undefined;
11
+ }
12
+
13
+ /**
14
+ * The definitions this shared schema publishes, hoisted to one declaration each.
15
+ * See "../../../_shared/components.js".
16
+ */
17
+ export type { VettingDocumentation, VettingMethod, VettingRelationship } from "../../../_shared/components.js";
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vetting/decline/0.1/payload.schema.json
4
+ */
5
+
6
+ import type { Ext } from "../../../_shared/components.js";
7
+
8
+
9
+ /**
10
+ * A vetter tells an applicant it will not issue a Vetting Statement for an accepted request. The reason code is optional: a vetter never has to justify declining. Sent to the applicant only — never to the community.
11
+ */
12
+ export interface VettingDeclinePayload {
13
+ /**
14
+ * The `requestId` from the vetter's acceptance of the applicant's vetting request.
15
+ */
16
+ requestId: string;
17
+ /**
18
+ * OPTIONAL. `couldNotVerify` — the vetter could not establish the claimed identity. `documentMismatch` — the documentation did not match the card or the person. `livenessFailed` — the match code could not be confirmed with the person. `notComfortable` — the vetter prefers not to attest. `other` — none of these.
19
+ */
20
+ code?: "couldNotVerify" | "documentMismatch" | "livenessFailed" | "notComfortable" | "other";
21
+ /**
22
+ * OPTIONAL vetter-authored text for the applicant. Attributed to the vetter on every surface that renders it; read by the applicant only.
23
+ */
24
+ message?: string;
25
+ ext?: Ext;
26
+ }
27
+
28
+ /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
29
+ export type { Ext };
30
+
31
+ /** Trust Task type URI. */
32
+ export const TYPE_URI = "https://trusttasks.org/spec/vetting/decline/0.1" as const;
33
+
34
+ /** Stable alias for this specification's request payload shape. */
35
+ export type Payload = VettingDeclinePayload;
36
+
37
+ /**
38
+ * This specification's payload schema, as a value.
39
+ *
40
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
41
+ * rather than only as a `.json` file because TypeScript types are erased
42
+ * at runtime: without a schema a consumer has nothing to validate, and
43
+ * every REQUIRED payload member is optional in practice. Cross-file
44
+ * `$ref`s are already inlined, so it needs no resolver.
45
+ */
46
+ export const PAYLOAD_SCHEMA = {
47
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
48
+ "$id": "https://trusttasks.org/spec/vetting/decline/0.1",
49
+ "title": "Vetting Decline — payload",
50
+ "description": "A vetter tells an applicant it will not issue a Vetting Statement for an accepted request. The reason code is optional: a vetter never has to justify declining. Sent to the applicant only — never to the community.",
51
+ "type": "object",
52
+ "additionalProperties": false,
53
+ "required": [
54
+ "requestId"
55
+ ],
56
+ "properties": {
57
+ "requestId": {
58
+ "type": "string",
59
+ "minLength": 1,
60
+ "maxLength": 128,
61
+ "description": "The `requestId` from the vetter's acceptance of the applicant's vetting request."
62
+ },
63
+ "code": {
64
+ "type": "string",
65
+ "enum": [
66
+ "couldNotVerify",
67
+ "documentMismatch",
68
+ "livenessFailed",
69
+ "notComfortable",
70
+ "other"
71
+ ],
72
+ "description": "OPTIONAL. `couldNotVerify` — the vetter could not establish the claimed identity. `documentMismatch` — the documentation did not match the card or the person. `livenessFailed` — the match code could not be confirmed with the person. `notComfortable` — the vetter prefers not to attest. `other` — none of these."
73
+ },
74
+ "message": {
75
+ "type": "string",
76
+ "minLength": 1,
77
+ "maxLength": 500,
78
+ "description": "OPTIONAL vetter-authored text for the applicant. Attributed to the vetter on every surface that renders it; read by the applicant only."
79
+ },
80
+ "ext": {
81
+ "$ref": "#/$defs/Ext"
82
+ }
83
+ },
84
+ "$defs": {
85
+ "Ext": {
86
+ "title": "Ext",
87
+ "description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
88
+ "type": "object",
89
+ "minProperties": 1,
90
+ "additionalProperties": true,
91
+ "propertyNames": {
92
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
93
+ }
94
+ }
95
+ }
96
+ } as const;
97
+
98
+ /**
99
+ * SPEC.md §7.2 policy for the request variant, from this specification's
100
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
101
+ * per-specification and cannot be derived from the document alone, and
102
+ * item 2 needs the schema this carries.
103
+ */
104
+ export const SPEC = {
105
+ typeUri: TYPE_URI,
106
+ isBearer: false,
107
+ isProofRequired: true,
108
+ isRecipientRequired: true,
109
+ isIssuedAtRequired: true,
110
+ payloadSchema: PAYLOAD_SCHEMA,
111
+ } as const;