@openvtc/trust-tasks 0.21.11 → 0.21.12

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 (203) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/_framework/0.4/framework.d.ts +1 -1
  3. package/dist/_framework/0.4/framework.d.ts.map +1 -1
  4. package/dist/_shared/components.d.ts +371 -0
  5. package/dist/_shared/components.d.ts.map +1 -1
  6. package/dist/auth/_shared/0.1/signing-key.d.ts +16 -0
  7. package/dist/auth/_shared/0.1/signing-key.d.ts.map +1 -0
  8. package/dist/auth/_shared/0.1/signing-key.js +6 -0
  9. package/dist/auth/_shared/0.1/signing-key.js.map +1 -0
  10. package/dist/auth/signing-key/enroll/0.1/payload.d.ts +545 -0
  11. package/dist/auth/signing-key/enroll/0.1/payload.d.ts.map +1 -0
  12. package/dist/auth/signing-key/enroll/0.1/payload.js +307 -0
  13. package/dist/auth/signing-key/enroll/0.1/payload.js.map +1 -0
  14. package/dist/auth/signing-key/list/0.1/payload.d.ts +509 -0
  15. package/dist/auth/signing-key/list/0.1/payload.d.ts.map +1 -0
  16. package/dist/auth/signing-key/list/0.1/payload.js +289 -0
  17. package/dist/auth/signing-key/list/0.1/payload.js.map +1 -0
  18. package/dist/auth/signing-key/revoke/0.1/payload.d.ts +292 -0
  19. package/dist/auth/signing-key/revoke/0.1/payload.d.ts.map +1 -0
  20. package/dist/auth/signing-key/revoke/0.1/payload.js +167 -0
  21. package/dist/auth/signing-key/revoke/0.1/payload.js.map +1 -0
  22. package/dist/index.d.ts +38 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +38 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/vtc/_shared/0.1/community-presentation.d.ts +16 -0
  27. package/dist/vtc/_shared/0.1/community-presentation.d.ts.map +1 -0
  28. package/dist/vtc/_shared/0.1/community-presentation.js +6 -0
  29. package/dist/vtc/_shared/0.1/community-presentation.js.map +1 -0
  30. package/dist/vtc/_shared/0.1/relationship-lifecycle.d.ts +16 -0
  31. package/dist/vtc/_shared/0.1/relationship-lifecycle.d.ts.map +1 -0
  32. package/dist/vtc/_shared/0.1/relationship-lifecycle.js +6 -0
  33. package/dist/vtc/_shared/0.1/relationship-lifecycle.js.map +1 -0
  34. package/dist/vtc/_shared/0.1/schema-registry.d.ts +16 -0
  35. package/dist/vtc/_shared/0.1/schema-registry.d.ts.map +1 -0
  36. package/dist/vtc/_shared/0.1/schema-registry.js +6 -0
  37. package/dist/vtc/_shared/0.1/schema-registry.js.map +1 -0
  38. package/dist/vtc/_shared/0.1/vetting-auto-grant.d.ts +16 -0
  39. package/dist/vtc/_shared/0.1/vetting-auto-grant.d.ts.map +1 -0
  40. package/dist/vtc/_shared/0.1/vetting-auto-grant.js +6 -0
  41. package/dist/vtc/_shared/0.1/vetting-auto-grant.js.map +1 -0
  42. package/dist/vtc/_shared/0.1/website-transfer.d.ts +16 -0
  43. package/dist/vtc/_shared/0.1/website-transfer.d.ts.map +1 -0
  44. package/dist/vtc/_shared/0.1/website-transfer.js +6 -0
  45. package/dist/vtc/_shared/0.1/website-transfer.js.map +1 -0
  46. package/dist/vtc/community/branding/show/0.1/payload.d.ts +319 -0
  47. package/dist/vtc/community/branding/show/0.1/payload.d.ts.map +1 -0
  48. package/dist/vtc/community/branding/show/0.1/payload.js +179 -0
  49. package/dist/vtc/community/branding/show/0.1/payload.js.map +1 -0
  50. package/dist/vtc/community/branding/update/0.1/payload.d.ts +328 -0
  51. package/dist/vtc/community/branding/update/0.1/payload.d.ts.map +1 -0
  52. package/dist/vtc/community/branding/update/0.1/payload.js +185 -0
  53. package/dist/vtc/community/branding/update/0.1/payload.js.map +1 -0
  54. package/dist/vtc/community/join-discovery/show/0.1/payload.d.ts +267 -0
  55. package/dist/vtc/community/join-discovery/show/0.1/payload.d.ts.map +1 -0
  56. package/dist/vtc/community/join-discovery/show/0.1/payload.js +157 -0
  57. package/dist/vtc/community/join-discovery/show/0.1/payload.js.map +1 -0
  58. package/dist/vtc/community/join-discovery/update/0.1/payload.d.ts +276 -0
  59. package/dist/vtc/community/join-discovery/update/0.1/payload.d.ts.map +1 -0
  60. package/dist/vtc/community/join-discovery/update/0.1/payload.js +163 -0
  61. package/dist/vtc/community/join-discovery/update/0.1/payload.js.map +1 -0
  62. package/dist/vtc/community/requested-attributes/show/0.1/payload.d.ts +339 -0
  63. package/dist/vtc/community/requested-attributes/show/0.1/payload.d.ts.map +1 -0
  64. package/dist/vtc/community/requested-attributes/show/0.1/payload.js +193 -0
  65. package/dist/vtc/community/requested-attributes/show/0.1/payload.js.map +1 -0
  66. package/dist/vtc/community/requested-attributes/update/0.1/payload.d.ts +348 -0
  67. package/dist/vtc/community/requested-attributes/update/0.1/payload.d.ts.map +1 -0
  68. package/dist/vtc/community/requested-attributes/update/0.1/payload.js +199 -0
  69. package/dist/vtc/community/requested-attributes/update/0.1/payload.js.map +1 -0
  70. package/dist/vtc/join-requests/query/0.1/payload.d.ts +412 -0
  71. package/dist/vtc/join-requests/query/0.1/payload.d.ts.map +1 -0
  72. package/dist/vtc/join-requests/query/0.1/payload.js +228 -0
  73. package/dist/vtc/join-requests/query/0.1/payload.js.map +1 -0
  74. package/dist/vtc/join-requests/vetting/show/0.1/payload.d.ts +1016 -0
  75. package/dist/vtc/join-requests/vetting/show/0.1/payload.d.ts.map +1 -0
  76. package/dist/vtc/join-requests/vetting/show/0.1/payload.js +509 -0
  77. package/dist/vtc/join-requests/vetting/show/0.1/payload.js.map +1 -0
  78. package/dist/vtc/relationships/restore/0.1/payload.d.ts +462 -0
  79. package/dist/vtc/relationships/restore/0.1/payload.d.ts.map +1 -0
  80. package/dist/vtc/relationships/restore/0.1/payload.js +270 -0
  81. package/dist/vtc/relationships/restore/0.1/payload.js.map +1 -0
  82. package/dist/vtc/relationships/suspend/0.1/payload.d.ts +462 -0
  83. package/dist/vtc/relationships/suspend/0.1/payload.d.ts.map +1 -0
  84. package/dist/vtc/relationships/suspend/0.1/payload.js +270 -0
  85. package/dist/vtc/relationships/suspend/0.1/payload.js.map +1 -0
  86. package/dist/vtc/rooms/list/0.1/payload.d.ts +653 -0
  87. package/dist/vtc/rooms/list/0.1/payload.d.ts.map +1 -0
  88. package/dist/vtc/rooms/list/0.1/payload.js +360 -0
  89. package/dist/vtc/rooms/list/0.1/payload.js.map +1 -0
  90. package/dist/vtc/schemas/accepts/delete/0.1/payload.d.ts +240 -0
  91. package/dist/vtc/schemas/accepts/delete/0.1/payload.d.ts.map +1 -0
  92. package/dist/vtc/schemas/accepts/delete/0.1/payload.js +141 -0
  93. package/dist/vtc/schemas/accepts/delete/0.1/payload.js.map +1 -0
  94. package/dist/vtc/schemas/accepts/list/0.1/payload.d.ts +1214 -0
  95. package/dist/vtc/schemas/accepts/list/0.1/payload.d.ts.map +1 -0
  96. package/dist/vtc/schemas/accepts/list/0.1/payload.js +681 -0
  97. package/dist/vtc/schemas/accepts/list/0.1/payload.js.map +1 -0
  98. package/dist/vtc/schemas/accepts/register/0.1/payload.d.ts +1165 -0
  99. package/dist/vtc/schemas/accepts/register/0.1/payload.d.ts.map +1 -0
  100. package/dist/vtc/schemas/accepts/register/0.1/payload.js +665 -0
  101. package/dist/vtc/schemas/accepts/register/0.1/payload.js.map +1 -0
  102. package/dist/vtc/schemas/accepts/show/0.1/payload.d.ts +1144 -0
  103. package/dist/vtc/schemas/accepts/show/0.1/payload.d.ts.map +1 -0
  104. package/dist/vtc/schemas/accepts/show/0.1/payload.js +655 -0
  105. package/dist/vtc/schemas/accepts/show/0.1/payload.js.map +1 -0
  106. package/dist/vtc/schemas/delete/0.1/payload.d.ts +240 -0
  107. package/dist/vtc/schemas/delete/0.1/payload.d.ts.map +1 -0
  108. package/dist/vtc/schemas/delete/0.1/payload.js +141 -0
  109. package/dist/vtc/schemas/delete/0.1/payload.js.map +1 -0
  110. package/dist/vtc/schemas/list/0.1/payload.d.ts +541 -0
  111. package/dist/vtc/schemas/list/0.1/payload.d.ts.map +1 -0
  112. package/dist/vtc/schemas/list/0.1/payload.js +300 -0
  113. package/dist/vtc/schemas/list/0.1/payload.js.map +1 -0
  114. package/dist/vtc/schemas/register/0.1/payload.d.ts +512 -0
  115. package/dist/vtc/schemas/register/0.1/payload.d.ts.map +1 -0
  116. package/dist/vtc/schemas/register/0.1/payload.js +292 -0
  117. package/dist/vtc/schemas/register/0.1/payload.js.map +1 -0
  118. package/dist/vtc/schemas/show/0.1/payload.d.ts +484 -0
  119. package/dist/vtc/schemas/show/0.1/payload.d.ts.map +1 -0
  120. package/dist/vtc/schemas/show/0.1/payload.js +279 -0
  121. package/dist/vtc/schemas/show/0.1/payload.js.map +1 -0
  122. package/dist/vtc/vetting/auto-grant/show/0.1/payload.d.ts +463 -0
  123. package/dist/vtc/vetting/auto-grant/show/0.1/payload.d.ts.map +1 -0
  124. package/dist/vtc/vetting/auto-grant/show/0.1/payload.js +269 -0
  125. package/dist/vtc/vetting/auto-grant/show/0.1/payload.js.map +1 -0
  126. package/dist/vtc/vetting/auto-grant/update/0.1/payload.d.ts +491 -0
  127. package/dist/vtc/vetting/auto-grant/update/0.1/payload.d.ts.map +1 -0
  128. package/dist/vtc/vetting/auto-grant/update/0.1/payload.js +282 -0
  129. package/dist/vtc/vetting/auto-grant/update/0.1/payload.js.map +1 -0
  130. package/dist/vtc/vetting/revocations/list/0.1/payload.d.ts +608 -0
  131. package/dist/vtc/vetting/revocations/list/0.1/payload.d.ts.map +1 -0
  132. package/dist/vtc/vetting/revocations/list/0.1/payload.js +332 -0
  133. package/dist/vtc/vetting/revocations/list/0.1/payload.js.map +1 -0
  134. package/dist/vtc/vetting/vetters/grants/list/0.1/payload.d.ts +992 -0
  135. package/dist/vtc/vetting/vetters/grants/list/0.1/payload.d.ts.map +1 -0
  136. package/dist/vtc/vetting/vetters/grants/list/0.1/payload.js +461 -0
  137. package/dist/vtc/vetting/vetters/grants/list/0.1/payload.js.map +1 -0
  138. package/dist/vtc/website/deploy/0.1/payload.d.ts +369 -0
  139. package/dist/vtc/website/deploy/0.1/payload.d.ts.map +1 -0
  140. package/dist/vtc/website/deploy/0.1/payload.js +213 -0
  141. package/dist/vtc/website/deploy/0.1/payload.js.map +1 -0
  142. package/dist/vtc/website/files/show/0.1/payload.d.ts +455 -0
  143. package/dist/vtc/website/files/show/0.1/payload.d.ts.map +1 -0
  144. package/dist/vtc/website/files/show/0.1/payload.js +247 -0
  145. package/dist/vtc/website/files/show/0.1/payload.js.map +1 -0
  146. package/dist/vtc/website/upload/abort/0.1/payload.d.ts +256 -0
  147. package/dist/vtc/website/upload/abort/0.1/payload.d.ts.map +1 -0
  148. package/dist/vtc/website/upload/abort/0.1/payload.js +149 -0
  149. package/dist/vtc/website/upload/abort/0.1/payload.js.map +1 -0
  150. package/dist/vtc/website/upload/begin/0.1/payload.d.ts +658 -0
  151. package/dist/vtc/website/upload/begin/0.1/payload.d.ts.map +1 -0
  152. package/dist/vtc/website/upload/begin/0.1/payload.js +375 -0
  153. package/dist/vtc/website/upload/begin/0.1/payload.js.map +1 -0
  154. package/dist/vtc/website/upload/chunk/0.1/payload.d.ts +447 -0
  155. package/dist/vtc/website/upload/chunk/0.1/payload.d.ts.map +1 -0
  156. package/dist/vtc/website/upload/chunk/0.1/payload.js +253 -0
  157. package/dist/vtc/website/upload/chunk/0.1/payload.js.map +1 -0
  158. package/dist/vtc/website/upload/commit/0.1/payload.d.ts +603 -0
  159. package/dist/vtc/website/upload/commit/0.1/payload.d.ts.map +1 -0
  160. package/dist/vtc/website/upload/commit/0.1/payload.js +337 -0
  161. package/dist/vtc/website/upload/commit/0.1/payload.js.map +1 -0
  162. package/package.json +1 -1
  163. package/src/_framework/0.4/framework.ts +1 -1
  164. package/src/_shared/components.ts +371 -0
  165. package/src/auth/_shared/0.1/signing-key.ts +17 -0
  166. package/src/auth/signing-key/enroll/0.1/payload.ts +349 -0
  167. package/src/auth/signing-key/list/0.1/payload.ts +323 -0
  168. package/src/auth/signing-key/revoke/0.1/payload.ts +204 -0
  169. package/src/index.ts +38 -0
  170. package/src/vtc/_shared/0.1/community-presentation.ts +17 -0
  171. package/src/vtc/_shared/0.1/relationship-lifecycle.ts +17 -0
  172. package/src/vtc/_shared/0.1/schema-registry.ts +17 -0
  173. package/src/vtc/_shared/0.1/vetting-auto-grant.ts +17 -0
  174. package/src/vtc/_shared/0.1/website-transfer.ts +17 -0
  175. package/src/vtc/community/branding/show/0.1/payload.ts +207 -0
  176. package/src/vtc/community/branding/update/0.1/payload.ts +214 -0
  177. package/src/vtc/community/join-discovery/show/0.1/payload.ts +185 -0
  178. package/src/vtc/community/join-discovery/update/0.1/payload.ts +192 -0
  179. package/src/vtc/community/requested-attributes/show/0.1/payload.ts +221 -0
  180. package/src/vtc/community/requested-attributes/update/0.1/payload.ts +228 -0
  181. package/src/vtc/join-requests/query/0.1/payload.ts +285 -0
  182. package/src/vtc/join-requests/vetting/show/0.1/payload.ts +740 -0
  183. package/src/vtc/relationships/restore/0.1/payload.ts +307 -0
  184. package/src/vtc/relationships/suspend/0.1/payload.ts +307 -0
  185. package/src/vtc/rooms/list/0.1/payload.ts +449 -0
  186. package/src/vtc/schemas/accepts/delete/0.1/payload.ts +170 -0
  187. package/src/vtc/schemas/accepts/list/0.1/payload.ts +724 -0
  188. package/src/vtc/schemas/accepts/register/0.1/payload.ts +697 -0
  189. package/src/vtc/schemas/accepts/show/0.1/payload.ts +684 -0
  190. package/src/vtc/schemas/delete/0.1/payload.ts +170 -0
  191. package/src/vtc/schemas/list/0.1/payload.ts +344 -0
  192. package/src/vtc/schemas/register/0.1/payload.ts +325 -0
  193. package/src/vtc/schemas/show/0.1/payload.ts +308 -0
  194. package/src/vtc/vetting/auto-grant/show/0.1/payload.ts +297 -0
  195. package/src/vtc/vetting/auto-grant/update/0.1/payload.ts +316 -0
  196. package/src/vtc/vetting/revocations/list/0.1/payload.ts +416 -0
  197. package/src/vtc/vetting/vetters/grants/list/0.1/payload.ts +700 -0
  198. package/src/vtc/website/deploy/0.1/payload.ts +255 -0
  199. package/src/vtc/website/files/show/0.1/payload.ts +303 -0
  200. package/src/vtc/website/upload/abort/0.1/payload.ts +182 -0
  201. package/src/vtc/website/upload/begin/0.1/payload.ts +408 -0
  202. package/src/vtc/website/upload/chunk/0.1/payload.ts +295 -0
  203. package/src/vtc/website/upload/commit/0.1/payload.ts +385 -0
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/auth/signing-key/revoke/0.1/payload.schema.json
4
+ */
5
+
6
+ import type { Ext, SigningKeyDid } from "../../../../_shared/components.js";
7
+
8
+
9
+ /**
10
+ * Revoke one signing-key delegation, by its key. The next document the key signs is refused. The outer document members are owned by the framework — SPEC §6.3.
11
+ */
12
+ export interface AuthSigningKeyRevokePayload {
13
+ signingKeyDid: SigningKeyDid;
14
+ ext?: Ext;
15
+ }
16
+ export interface AuthSigningKeyRevokeResponsePayload {
17
+ signingKeyDid: SigningKeyDid;
18
+ /**
19
+ * When the delegation was revoked. For a delegation that was already revoked, the original instant: a revoke of a revoked key succeeds and changes nothing.
20
+ */
21
+ revokedAt: string;
22
+ /**
23
+ * How many of the owning identity's delegations are still active. Zero is a legitimate state: losing every delegated key costs an identity the delegated signing path, not its own standing or its other credentials.
24
+ */
25
+ remainingActive: number;
26
+ ext?: Ext;
27
+ }
28
+
29
+ /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
30
+ export type { Ext, SigningKeyDid };
31
+
32
+ /** Trust Task type URI. */
33
+ export const TYPE_URI = "https://trusttasks.org/spec/auth/signing-key/revoke/0.1" as const;
34
+
35
+ /** Stable alias for this specification's request payload shape. */
36
+ export type Payload = AuthSigningKeyRevokePayload;
37
+
38
+ /** Trust Task response type URI (request type URI + "#response"). */
39
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/auth/signing-key/revoke/0.1#response" as const;
40
+
41
+ /** Stable alias for this specification's success-response payload shape. */
42
+ export type Response = AuthSigningKeyRevokeResponsePayload;
43
+
44
+ /**
45
+ * This specification's payload schema, as a value.
46
+ *
47
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
48
+ * rather than only as a `.json` file because TypeScript types are erased
49
+ * at runtime: without a schema a consumer has nothing to validate, and
50
+ * every REQUIRED payload member is optional in practice. Cross-file
51
+ * `$ref`s are already inlined, so it needs no resolver.
52
+ */
53
+ export const PAYLOAD_SCHEMA = {
54
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
55
+ "$id": "https://trusttasks.org/spec/auth/signing-key/revoke/0.1",
56
+ "title": "Auth — Signing Key Revoke — payload",
57
+ "description": "Revoke one signing-key delegation, by its key. The next document the key signs is refused. The outer document members are owned by the framework — SPEC §6.3.",
58
+ "type": "object",
59
+ "additionalProperties": false,
60
+ "required": [
61
+ "signingKeyDid"
62
+ ],
63
+ "properties": {
64
+ "signingKeyDid": {
65
+ "$ref": "#/$defs/SigningKeyDid"
66
+ },
67
+ "ext": {
68
+ "$ref": "#/$defs/Ext"
69
+ }
70
+ },
71
+ "$defs": {
72
+ "Response": {
73
+ "$anchor": "response",
74
+ "title": "Auth — Signing Key Revoke — response payload",
75
+ "type": "object",
76
+ "additionalProperties": false,
77
+ "required": [
78
+ "signingKeyDid",
79
+ "revokedAt",
80
+ "remainingActive"
81
+ ],
82
+ "properties": {
83
+ "signingKeyDid": {
84
+ "$ref": "#/$defs/SigningKeyDid"
85
+ },
86
+ "revokedAt": {
87
+ "type": "string",
88
+ "format": "date-time",
89
+ "description": "When the delegation was revoked. For a delegation that was already revoked, the original instant: a revoke of a revoked key succeeds and changes nothing."
90
+ },
91
+ "remainingActive": {
92
+ "type": "integer",
93
+ "minimum": 0,
94
+ "description": "How many of the owning identity's delegations are still active. Zero is a legitimate state: losing every delegated key costs an identity the delegated signing path, not its own standing or its other credentials."
95
+ },
96
+ "ext": {
97
+ "$ref": "#/$defs/Ext"
98
+ }
99
+ }
100
+ },
101
+ "Ext": {
102
+ "title": "Ext",
103
+ "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.",
104
+ "type": "object",
105
+ "minProperties": 1,
106
+ "additionalProperties": true,
107
+ "propertyNames": {
108
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
109
+ }
110
+ },
111
+ "SigningKeyDid": {
112
+ "title": "SigningKeyDid",
113
+ "type": "string",
114
+ "minLength": 9,
115
+ "maxLength": 256,
116
+ "pattern": "^did:key:z[1-9A-HJ-NP-Za-km-z]+$",
117
+ "description": "The delegated key, as a `did:key` — an Ed25519 multikey (`z6Mk…`) derived from the public half of a keypair the holder generated for itself, typically a non-extractable browser key. `did:key` only, because its document is a function of the key and resolves with no network: a key whose DID document could be rewritten after enrolment is not the key that was enrolled."
118
+ }
119
+ }
120
+ } as const;
121
+
122
+ /** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
123
+ export const RESPONSE_PAYLOAD_SCHEMA = {
124
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
125
+ "$ref": "#/$defs/Response",
126
+ "$defs": {
127
+ "Response": {
128
+ "$anchor": "response",
129
+ "title": "Auth — Signing Key Revoke — response payload",
130
+ "type": "object",
131
+ "additionalProperties": false,
132
+ "required": [
133
+ "signingKeyDid",
134
+ "revokedAt",
135
+ "remainingActive"
136
+ ],
137
+ "properties": {
138
+ "signingKeyDid": {
139
+ "$ref": "#/$defs/SigningKeyDid"
140
+ },
141
+ "revokedAt": {
142
+ "type": "string",
143
+ "format": "date-time",
144
+ "description": "When the delegation was revoked. For a delegation that was already revoked, the original instant: a revoke of a revoked key succeeds and changes nothing."
145
+ },
146
+ "remainingActive": {
147
+ "type": "integer",
148
+ "minimum": 0,
149
+ "description": "How many of the owning identity's delegations are still active. Zero is a legitimate state: losing every delegated key costs an identity the delegated signing path, not its own standing or its other credentials."
150
+ },
151
+ "ext": {
152
+ "$ref": "#/$defs/Ext"
153
+ }
154
+ }
155
+ },
156
+ "Ext": {
157
+ "title": "Ext",
158
+ "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.",
159
+ "type": "object",
160
+ "minProperties": 1,
161
+ "additionalProperties": true,
162
+ "propertyNames": {
163
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
164
+ }
165
+ },
166
+ "SigningKeyDid": {
167
+ "title": "SigningKeyDid",
168
+ "type": "string",
169
+ "minLength": 9,
170
+ "maxLength": 256,
171
+ "pattern": "^did:key:z[1-9A-HJ-NP-Za-km-z]+$",
172
+ "description": "The delegated key, as a `did:key` — an Ed25519 multikey (`z6Mk…`) derived from the public half of a keypair the holder generated for itself, typically a non-extractable browser key. `did:key` only, because its document is a function of the key and resolves with no network: a key whose DID document could be rewritten after enrolment is not the key that was enrolled."
173
+ }
174
+ }
175
+ } as const;
176
+
177
+ /**
178
+ * SPEC.md §7.2 policy for the request variant, from this specification's
179
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
180
+ * per-specification and cannot be derived from the document alone, and
181
+ * item 2 needs the schema this carries.
182
+ */
183
+ export const SPEC = {
184
+ typeUri: TYPE_URI,
185
+ isBearer: false,
186
+ isProofRequired: true,
187
+ isRecipientRequired: true,
188
+ isIssuedAtRequired: true,
189
+ payloadSchema: PAYLOAD_SCHEMA,
190
+ } as const;
191
+
192
+ /**
193
+ * SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
194
+ * tracks the *issuer* party's requirement because a response swaps the
195
+ * parties (§7.3 item 5).
196
+ */
197
+ export const RESPONSE_SPEC = {
198
+ typeUri: RESPONSE_TYPE_URI,
199
+ isBearer: false,
200
+ isProofRequired: true,
201
+ isRecipientRequired: true,
202
+ isIssuedAtRequired: true,
203
+ payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
204
+ } as const;
package/src/index.ts CHANGED
@@ -27,6 +27,7 @@ export * as AuditList_v0_1 from "./audit/list/0.1/payload.js";
27
27
  export * as AuditVerify_v0_1 from "./audit/verify/0.1/payload.js";
28
28
  export * as PasskeyInviteShared_v0_1 from "./auth/_shared/0.1/passkey-invite.js";
29
29
  export * as SessionShared_v0_1 from "./auth/_shared/0.1/session.js";
30
+ export * as SigningKeyShared_v0_1 from "./auth/_shared/0.1/signing-key.js";
30
31
  export * as TokensShared_v0_1 from "./auth/_shared/0.1/tokens.js";
31
32
  export * as WebauthnShared_v0_1 from "./auth/_shared/0.1/webauthn.js";
32
33
  export * as SessionShared_v0_2 from "./auth/_shared/0.2/session.js";
@@ -58,6 +59,9 @@ export * as AuthRefresh_v0_1 from "./auth/refresh/0.1/payload.js";
58
59
  export * as AuthRevokeSession_v0_1 from "./auth/revoke-session/0.1/payload.js";
59
60
  export * as AuthRevokeSession_v0_2 from "./auth/revoke-session/0.2/payload.js";
60
61
  export * as AuthSessionsList_v0_1 from "./auth/sessions/list/0.1/payload.js";
62
+ export * as AuthSigningKeyEnroll_v0_1 from "./auth/signing-key/enroll/0.1/payload.js";
63
+ export * as AuthSigningKeyList_v0_1 from "./auth/signing-key/list/0.1/payload.js";
64
+ export * as AuthSigningKeyRevoke_v0_1 from "./auth/signing-key/revoke/0.1/payload.js";
61
65
  export * as AuthStepUpApproveRequest_v0_1 from "./auth/step-up/approve-request/0.1/payload.js";
62
66
  export * as AuthStepUpApproveRequest_v0_2 from "./auth/step-up/approve-request/0.2/payload.js";
63
67
  export * as AuthStepUpApproveRequest_v0_3 from "./auth/step-up/approve-request/0.3/payload.js";
@@ -568,6 +572,7 @@ export * as VtaWebvhServersRemove_v1_0 from "./vta/webvh/servers/remove/1.0/payl
568
572
  export * as VtaWebvhServersRetireOrphan_v0_1 from "./vta/webvh/servers/retire-orphan/0.1/payload.js";
569
573
  export * as BackupShared_v0_1 from "./vtc/_shared/0.1/backup.js";
570
574
  export * as CeremonyShared_v0_1 from "./vtc/_shared/0.1/ceremony.js";
575
+ export * as CommunityPresentationShared_v0_1 from "./vtc/_shared/0.1/community-presentation.js";
571
576
  export * as CommunityShared_v0_1 from "./vtc/_shared/0.1/community.js";
572
577
  export * as ConfigPortabilityShared_v0_1 from "./vtc/_shared/0.1/config-portability.js";
573
578
  export * as EndorsementTypeShared_v0_1 from "./vtc/_shared/0.1/endorsement-type.js";
@@ -576,7 +581,11 @@ export * as InvitationShared_v0_1 from "./vtc/_shared/0.1/invitation.js";
576
581
  export * as InviteShared_v0_1 from "./vtc/_shared/0.1/invite.js";
577
582
  export * as JoinRequestShared_v0_1 from "./vtc/_shared/0.1/join-request.js";
578
583
  export * as MemberShared_v0_1 from "./vtc/_shared/0.1/member.js";
584
+ export * as RelationshipLifecycleShared_v0_1 from "./vtc/_shared/0.1/relationship-lifecycle.js";
585
+ export * as SchemaRegistryShared_v0_1 from "./vtc/_shared/0.1/schema-registry.js";
579
586
  export * as VetterProfileShared_v0_1 from "./vtc/_shared/0.1/vetter-profile.js";
587
+ export * as VettingAutoGrantShared_v0_1 from "./vtc/_shared/0.1/vetting-auto-grant.js";
588
+ export * as WebsiteTransferShared_v0_1 from "./vtc/_shared/0.1/website-transfer.js";
580
589
  export * as VtcAdminBootstrap_v0_1 from "./vtc/admin/bootstrap/0.1/payload.js";
581
590
  export * as VtcAdminInvitesCreate_v0_1 from "./vtc/admin/invites/create/0.1/payload.js";
582
591
  export * as VtcAdminInvitesList_v0_1 from "./vtc/admin/invites/list/0.1/payload.js";
@@ -588,8 +597,14 @@ export * as VtcAuthRecogniseChallenge_v0_1 from "./vtc/auth/recognise/challenge/
588
597
  export * as VtcBackupExport_v0_1 from "./vtc/backup/export/0.1/payload.js";
589
598
  export * as VtcBackupImport_v0_1 from "./vtc/backup/import/0.1/payload.js";
590
599
  export * as VtcCeremoniesList_v0_1 from "./vtc/ceremonies/list/0.1/payload.js";
600
+ export * as VtcCommunityBrandingShow_v0_1 from "./vtc/community/branding/show/0.1/payload.js";
601
+ export * as VtcCommunityBrandingUpdate_v0_1 from "./vtc/community/branding/update/0.1/payload.js";
602
+ export * as VtcCommunityJoinDiscoveryShow_v0_1 from "./vtc/community/join-discovery/show/0.1/payload.js";
603
+ export * as VtcCommunityJoinDiscoveryUpdate_v0_1 from "./vtc/community/join-discovery/update/0.1/payload.js";
591
604
  export * as VtcCommunityProfileShow_v0_1 from "./vtc/community/profile/show/0.1/payload.js";
592
605
  export * as VtcCommunityProfileUpdate_v0_1 from "./vtc/community/profile/update/0.1/payload.js";
606
+ export * as VtcCommunityRequestedAttributesShow_v0_1 from "./vtc/community/requested-attributes/show/0.1/payload.js";
607
+ export * as VtcCommunityRequestedAttributesUpdate_v0_1 from "./vtc/community/requested-attributes/update/0.1/payload.js";
593
608
  export * as VtcConfigExport_v0_1 from "./vtc/config/export/0.1/payload.js";
594
609
  export * as VtcConfigImport_v0_1 from "./vtc/config/import/0.1/payload.js";
595
610
  export * as VtcCredentialsReissue_v0_1 from "./vtc/credentials/reissue/0.1/payload.js";
@@ -615,6 +630,7 @@ export * as VtcJoinRequestsDecide_v0_1 from "./vtc/join-requests/decide/0.1/payl
615
630
  export * as VtcJoinRequestsList_v0_1 from "./vtc/join-requests/list/0.1/payload.js";
616
631
  export * as VtcJoinRequestsManifest_v0_1 from "./vtc/join-requests/manifest/0.1/payload.js";
617
632
  export * as VtcJoinRequestsManifest_v0_2 from "./vtc/join-requests/manifest/0.2/payload.js";
633
+ export * as VtcJoinRequestsQuery_v0_1 from "./vtc/join-requests/query/0.1/payload.js";
618
634
  export * as VtcJoinRequestsReject_v0_1 from "./vtc/join-requests/reject/0.1/payload.js";
619
635
  export * as VtcJoinRequestsShow_v0_1 from "./vtc/join-requests/show/0.1/payload.js";
620
636
  export * as VtcJoinRequestsStatus_v0_1 from "./vtc/join-requests/status/0.1/payload.js";
@@ -622,6 +638,7 @@ export * as VtcJoinRequestsSubmitReceipt_v0_1 from "./vtc/join-requests/submit-r
622
638
  export * as VtcJoinRequestsSubmit_v0_1 from "./vtc/join-requests/submit/0.1/payload.js";
623
639
  export * as VtcJoinRequestsSubmit_v0_2 from "./vtc/join-requests/submit/0.2/payload.js";
624
640
  export * as VtcJoinRequestsSupplement_v0_1 from "./vtc/join-requests/supplement/0.1/payload.js";
641
+ export * as VtcJoinRequestsVettingShow_v0_1 from "./vtc/join-requests/vetting/show/0.1/payload.js";
625
642
  export * as VtcJoinRequestsWithdraw_v0_1 from "./vtc/join-requests/withdraw/0.1/payload.js";
626
643
  export * as VtcMembersAdminRemove_v0_1 from "./vtc/members/admin-remove/0.1/payload.js";
627
644
  export * as VtcMembersCredentials_v0_1 from "./vtc/members/credentials/0.1/payload.js";
@@ -657,21 +674,42 @@ export * as VtcRelationshipsPublish_v0_1 from "./vtc/relationships/publish/0.1/p
657
674
  export * as VtcRelationshipsPublish_v0_2 from "./vtc/relationships/publish/0.2/payload.js";
658
675
  export * as VtcRelationshipsRequest_v0_1 from "./vtc/relationships/request/0.1/payload.js";
659
676
  export * as VtcRelationshipsRequest_v0_2 from "./vtc/relationships/request/0.2/payload.js";
677
+ export * as VtcRelationshipsRestore_v0_1 from "./vtc/relationships/restore/0.1/payload.js";
660
678
  export * as VtcRelationshipsRevoke_v0_1 from "./vtc/relationships/revoke/0.1/payload.js";
679
+ export * as VtcRelationshipsSuspend_v0_1 from "./vtc/relationships/suspend/0.1/payload.js";
680
+ export * as VtcRoomsList_v0_1 from "./vtc/rooms/list/0.1/payload.js";
681
+ export * as VtcSchemasAcceptsDelete_v0_1 from "./vtc/schemas/accepts/delete/0.1/payload.js";
682
+ export * as VtcSchemasAcceptsList_v0_1 from "./vtc/schemas/accepts/list/0.1/payload.js";
683
+ export * as VtcSchemasAcceptsRegister_v0_1 from "./vtc/schemas/accepts/register/0.1/payload.js";
684
+ export * as VtcSchemasAcceptsShow_v0_1 from "./vtc/schemas/accepts/show/0.1/payload.js";
685
+ export * as VtcSchemasDelete_v0_1 from "./vtc/schemas/delete/0.1/payload.js";
686
+ export * as VtcSchemasList_v0_1 from "./vtc/schemas/list/0.1/payload.js";
687
+ export * as VtcSchemasRegister_v0_1 from "./vtc/schemas/register/0.1/payload.js";
688
+ export * as VtcSchemasShow_v0_1 from "./vtc/schemas/show/0.1/payload.js";
689
+ export * as VtcVettingAutoGrantShow_v0_1 from "./vtc/vetting/auto-grant/show/0.1/payload.js";
690
+ export * as VtcVettingAutoGrantUpdate_v0_1 from "./vtc/vetting/auto-grant/update/0.1/payload.js";
661
691
  export * as VtcVettingPcsChallenge_v0_1 from "./vtc/vetting/pcs-challenge/0.1/payload.js";
692
+ export * as VtcVettingRevocationsList_v0_1 from "./vtc/vetting/revocations/list/0.1/payload.js";
662
693
  export * as VtcVettingRevokeStatement_v0_1 from "./vtc/vetting/revoke-statement/0.1/payload.js";
663
694
  export * as VtcVettingVettersEventMode_v0_1 from "./vtc/vetting/vetters/event-mode/0.1/payload.js";
664
695
  export * as VtcVettingVettersGrant_v0_1 from "./vtc/vetting/vetters/grant/0.1/payload.js";
696
+ export * as VtcVettingVettersGrantsList_v0_1 from "./vtc/vetting/vetters/grants/list/0.1/payload.js";
665
697
  export * as VtcVettingVettersList_v0_1 from "./vtc/vetting/vetters/list/0.1/payload.js";
666
698
  export * as VtcVettingVettersPcsRoot_v0_1 from "./vtc/vetting/vetters/pcs-root/0.1/payload.js";
667
699
  export * as VtcVettingVettersPcsTokens_v0_1 from "./vtc/vetting/vetters/pcs-tokens/0.1/payload.js";
668
700
  export * as VtcVettingVettersProfile_v0_1 from "./vtc/vetting/vetters/profile/0.1/payload.js";
669
701
  export * as VtcVettingVettersResend_v0_1 from "./vtc/vetting/vetters/resend/0.1/payload.js";
670
702
  export * as VtcVettingVettersShow_v0_1 from "./vtc/vetting/vetters/show/0.1/payload.js";
703
+ export * as VtcWebsiteDeploy_v0_1 from "./vtc/website/deploy/0.1/payload.js";
671
704
  export * as VtcWebsiteFilesDelete_v0_1 from "./vtc/website/files/delete/0.1/payload.js";
672
705
  export * as VtcWebsiteFilesList_v0_1 from "./vtc/website/files/list/0.1/payload.js";
706
+ export * as VtcWebsiteFilesShow_v0_1 from "./vtc/website/files/show/0.1/payload.js";
673
707
  export * as VtcWebsiteGenerationsList_v0_1 from "./vtc/website/generations/list/0.1/payload.js";
674
708
  export * as VtcWebsiteRollback_v0_1 from "./vtc/website/rollback/0.1/payload.js";
709
+ export * as VtcWebsiteUploadAbort_v0_1 from "./vtc/website/upload/abort/0.1/payload.js";
710
+ export * as VtcWebsiteUploadBegin_v0_1 from "./vtc/website/upload/begin/0.1/payload.js";
711
+ export * as VtcWebsiteUploadChunk_v0_1 from "./vtc/website/upload/chunk/0.1/payload.js";
712
+ export * as VtcWebsiteUploadCommit_v0_1 from "./vtc/website/upload/commit/0.1/payload.js";
675
713
  export * as SyncUpdateShared_v0_1 from "./webvh/_shared/0.1/sync-update.js";
676
714
  export * as WitnessKeyShared_v0_1 from "./webvh/_shared/0.1/witness-key.js";
677
715
  export * as WebvhSyncBatch_v0_1 from "./webvh/sync/batch/0.1/payload.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtc/_shared/0.1/community-presentation.schema.json
4
+ */
5
+
6
+ /**
7
+ * Shared types for vtc/community/{branding,requested-attributes,join-discovery}/*: how a community asks to be shown to a prospective applicant, what it asks an applicant to tell it about themselves, and whether it answers its join manifest to a caller it cannot identify. `CommunityBranding` and `RequestedAttribute` are copied member for member from vtc/join-requests/manifest/0.2, which publishes both to applicants; the manifest's own copies are that task's local definitions and re-pinning them here is an editorial follow-up. Not itself a Trust Task specification (the `_shared` folder is skipped by the registry build and the codegen).
8
+ */
9
+ export interface VTCSharedCommunityPresentationDefinitions {
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 { CommunityBranding, JoinDiscovery, RequestedAttribute, RequestedAttributes } 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/vtc/_shared/0.1/relationship-lifecycle.schema.json
4
+ */
5
+
6
+ /**
7
+ * Shared types for vtc/relationships/{suspend,restore}: an edge's resolved state after a lifecycle event. Not itself a Trust Task specification (the `_shared` folder is skipped by the registry build and the codegen).
8
+ */
9
+ export interface VTCSharedRelationshipLifecycleDefinitions {
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 { InForce, LifecycleReason } 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/vtc/_shared/0.1/schema-registry.schema.json
4
+ */
5
+
6
+ /**
7
+ * Shared types for the vtc/schemas/* and vtc/schemas/accepts/* families: a community's credential-type registry (the types it issues or accepts, each optionally bound to a JSON Schema) and its Accepts criteria (named DCQL queries a ceremony runs over presented credentials). Defined once so register, list and show compare value for value. `VettingRequirements` and `Duration` are copied member for member from vtc/join-requests/manifest/0.2, which publishes an Accepts criterion's vetting to applicants; the manifest's own copies are local `$defs` of that task and re-pinning them here is an editorial follow-up. Not itself a Trust Task specification (the `_shared` folder is skipped by the registry build and the codegen).
8
+ */
9
+ export interface VTCSharedSchemaRegistryDefinitions {
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 { AcceptsCriterion, AcceptsCriterionId, CredentialSchema, CredentialTypeUri, CriterionDescription, DcqlQuery, DtgType, Duration, SchemaDescription, SchemaEntry, SchemaKind, SchemaSummary, VettingRequirements } 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/vtc/_shared/0.1/vetting-auto-grant.schema.json
4
+ */
5
+
6
+ /**
7
+ * Shared types for vtc/vetting/auto-grant/*: the configuration of the community's automatic vetter-grant sweep and the outcome of its last run. Not itself a Trust Task specification (the `_shared` folder is skipped by the registry build and the codegen).
8
+ */
9
+ export interface VTCSharedAutomaticVetterGrantDefinitions {
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 { AutoGrantStatus, AutoGrantSweep, GrantValiditySeconds, SweepMinutes } 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/vtc/_shared/0.1/website-transfer.schema.json
4
+ */
5
+
6
+ /**
7
+ * Shared types for the vtc/website/upload/*, vtc/website/deploy and vtc/website/files/show tasks: how bytes of a community's website move as Trust Task documents. Chunking reuses, by reference from each task, the node-neutral chunked-transfer vocabulary of vta/_shared/0.1/backup-transfer (ChunkManifest, ChunkIndex, ChunkData, ExpectedSha256, ExpectedSizeBytes, ExpiresAt), so a producer that implements backup/put-chunk implements these chunks the same way. Not itself a Trust Task specification (the `_shared` folder is skipped by the registry build and the codegen).
8
+ */
9
+ export interface VTCSharedWebsiteTransferDefinitions {
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 { FileData, UploadId, UploadTarget, WebsiteEtag, WebsitePath } from "../../../_shared/components.js";
@@ -0,0 +1,207 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtc/community/branding/show/0.1/payload.schema.json
4
+ */
5
+
6
+ import type { CommunityBranding, Ext } from "../../../../../_shared/components.js";
7
+
8
+
9
+ /**
10
+ * An empty request: the community has one such setting. The outer document members are owned by the framework — SPEC §6.3.
11
+ */
12
+ export interface VTCCommunityBrandingShowPayload {
13
+ ext?: Ext;
14
+ }
15
+ export interface VTCCommunityBrandingShowResponsePayload {
16
+ branding: CommunityBranding;
17
+ ext?: Ext;
18
+ }
19
+
20
+ /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
21
+ export type { CommunityBranding, Ext };
22
+
23
+ /** Trust Task type URI. */
24
+ export const TYPE_URI = "https://trusttasks.org/spec/vtc/community/branding/show/0.1" as const;
25
+
26
+ /** Stable alias for this specification's request payload shape. */
27
+ export type Payload = VTCCommunityBrandingShowPayload;
28
+
29
+ /** Trust Task response type URI (request type URI + "#response"). */
30
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/community/branding/show/0.1#response" as const;
31
+
32
+ /** Stable alias for this specification's success-response payload shape. */
33
+ export type Response = VTCCommunityBrandingShowResponsePayload;
34
+
35
+ /**
36
+ * This specification's payload schema, as a value.
37
+ *
38
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
39
+ * rather than only as a `.json` file because TypeScript types are erased
40
+ * at runtime: without a schema a consumer has nothing to validate, and
41
+ * every REQUIRED payload member is optional in practice. Cross-file
42
+ * `$ref`s are already inlined, so it needs no resolver.
43
+ */
44
+ export const PAYLOAD_SCHEMA = {
45
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
46
+ "$id": "https://trusttasks.org/spec/vtc/community/branding/show/0.1",
47
+ "title": "VTC Community — Branding — Show — payload",
48
+ "description": "An empty request: the community has one such setting. The outer document members are owned by the framework — SPEC §6.3.",
49
+ "type": "object",
50
+ "additionalProperties": false,
51
+ "properties": {
52
+ "ext": {
53
+ "$ref": "#/$defs/Ext"
54
+ }
55
+ },
56
+ "$defs": {
57
+ "Response": {
58
+ "$anchor": "response",
59
+ "title": "VTC Community — Branding — Show — response payload",
60
+ "type": "object",
61
+ "additionalProperties": false,
62
+ "required": [
63
+ "branding"
64
+ ],
65
+ "properties": {
66
+ "branding": {
67
+ "$ref": "#/$defs/CommunityBranding"
68
+ },
69
+ "ext": {
70
+ "$ref": "#/$defs/Ext"
71
+ }
72
+ }
73
+ },
74
+ "Ext": {
75
+ "title": "Ext",
76
+ "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.",
77
+ "type": "object",
78
+ "minProperties": 1,
79
+ "additionalProperties": true,
80
+ "propertyNames": {
81
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
82
+ }
83
+ },
84
+ "CommunityBranding": {
85
+ "title": "CommunityBranding",
86
+ "type": "object",
87
+ "additionalProperties": false,
88
+ "description": "OPTIONAL. How the community asks to be shown to a prospective applicant: a name, an accent colour and a logo. Presentation only, self-asserted and unverified — `communityDid` identifies the community, never `branding`. Not part of any criterion, so not covered by a `requirementsDigest`. Every member is optional.",
89
+ "properties": {
90
+ "displayName": {
91
+ "type": "string",
92
+ "minLength": 1,
93
+ "maxLength": 128,
94
+ "description": "The community's name as it asks to be shown."
95
+ },
96
+ "accentColor": {
97
+ "type": "string",
98
+ "pattern": "^#[0-9a-fA-F]{6}$",
99
+ "description": "An sRGB colour as `#rrggbb`, compared case-insensitively. A community SHOULD write it in lower case."
100
+ },
101
+ "logoUrl": {
102
+ "type": "string",
103
+ "format": "uri",
104
+ "pattern": "^https://",
105
+ "maxLength": 2048,
106
+ "description": "An https URL of the community's logo. Fetched by the client, so an untrusted image from wherever it points."
107
+ },
108
+ "ext": {
109
+ "$ref": "#/$defs/Ext"
110
+ }
111
+ }
112
+ }
113
+ }
114
+ } as const;
115
+
116
+ /** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
117
+ export const RESPONSE_PAYLOAD_SCHEMA = {
118
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
119
+ "$ref": "#/$defs/Response",
120
+ "$defs": {
121
+ "Response": {
122
+ "$anchor": "response",
123
+ "title": "VTC Community — Branding — Show — response payload",
124
+ "type": "object",
125
+ "additionalProperties": false,
126
+ "required": [
127
+ "branding"
128
+ ],
129
+ "properties": {
130
+ "branding": {
131
+ "$ref": "#/$defs/CommunityBranding"
132
+ },
133
+ "ext": {
134
+ "$ref": "#/$defs/Ext"
135
+ }
136
+ }
137
+ },
138
+ "Ext": {
139
+ "title": "Ext",
140
+ "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.",
141
+ "type": "object",
142
+ "minProperties": 1,
143
+ "additionalProperties": true,
144
+ "propertyNames": {
145
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
146
+ }
147
+ },
148
+ "CommunityBranding": {
149
+ "title": "CommunityBranding",
150
+ "type": "object",
151
+ "additionalProperties": false,
152
+ "description": "OPTIONAL. How the community asks to be shown to a prospective applicant: a name, an accent colour and a logo. Presentation only, self-asserted and unverified — `communityDid` identifies the community, never `branding`. Not part of any criterion, so not covered by a `requirementsDigest`. Every member is optional.",
153
+ "properties": {
154
+ "displayName": {
155
+ "type": "string",
156
+ "minLength": 1,
157
+ "maxLength": 128,
158
+ "description": "The community's name as it asks to be shown."
159
+ },
160
+ "accentColor": {
161
+ "type": "string",
162
+ "pattern": "^#[0-9a-fA-F]{6}$",
163
+ "description": "An sRGB colour as `#rrggbb`, compared case-insensitively. A community SHOULD write it in lower case."
164
+ },
165
+ "logoUrl": {
166
+ "type": "string",
167
+ "format": "uri",
168
+ "pattern": "^https://",
169
+ "maxLength": 2048,
170
+ "description": "An https URL of the community's logo. Fetched by the client, so an untrusted image from wherever it points."
171
+ },
172
+ "ext": {
173
+ "$ref": "#/$defs/Ext"
174
+ }
175
+ }
176
+ }
177
+ }
178
+ } as const;
179
+
180
+ /**
181
+ * SPEC.md §7.2 policy for the request variant, from this specification's
182
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
183
+ * per-specification and cannot be derived from the document alone, and
184
+ * item 2 needs the schema this carries.
185
+ */
186
+ export const SPEC = {
187
+ typeUri: TYPE_URI,
188
+ isBearer: false,
189
+ isProofRequired: false,
190
+ isRecipientRequired: true,
191
+ isIssuedAtRequired: false,
192
+ payloadSchema: PAYLOAD_SCHEMA,
193
+ } as const;
194
+
195
+ /**
196
+ * SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
197
+ * tracks the *issuer* party's requirement because a response swaps the
198
+ * parties (§7.3 item 5).
199
+ */
200
+ export const RESPONSE_SPEC = {
201
+ typeUri: RESPONSE_TYPE_URI,
202
+ isBearer: false,
203
+ isProofRequired: false,
204
+ isRecipientRequired: true,
205
+ isIssuedAtRequired: false,
206
+ payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
207
+ } as const;