@openvtc/trust-tasks 0.25.1 → 0.25.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/_shared/components.d.ts +304 -2
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/device/list/0.1/payload.d.ts +4 -4
- package/dist/device/list/0.1/payload.d.ts.map +1 -1
- package/dist/device/list/0.1/payload.js +6 -2
- package/dist/device/list/0.1/payload.js.map +1 -1
- package/dist/device/list/0.2/payload.d.ts +4 -4
- package/dist/device/list/0.2/payload.d.ts.map +1 -1
- package/dist/device/list/0.2/payload.js +6 -2
- package/dist/device/list/0.2/payload.js.map +1 -1
- package/dist/device/register/0.1/payload.d.ts +4 -4
- package/dist/device/register/0.1/payload.d.ts.map +1 -1
- package/dist/device/register/0.1/payload.js +6 -2
- package/dist/device/register/0.1/payload.js.map +1 -1
- package/dist/device/register/0.2/payload.d.ts +4 -4
- package/dist/device/register/0.2/payload.d.ts.map +1 -1
- package/dist/device/register/0.2/payload.js +6 -2
- package/dist/device/register/0.2/payload.js.map +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/vetting/_shared/0.1/hidden-vetting.d.ts +16 -0
- package/dist/vetting/_shared/0.1/hidden-vetting.d.ts.map +1 -0
- package/dist/vetting/_shared/0.1/hidden-vetting.js +6 -0
- package/dist/vetting/_shared/0.1/hidden-vetting.js.map +1 -0
- package/dist/vetting/attestation/0.1/payload.d.ts +94 -146
- package/dist/vetting/attestation/0.1/payload.d.ts.map +1 -1
- package/dist/vetting/attestation/0.1/payload.js +43 -43
- package/dist/vetting/attestation/0.1/payload.js.map +1 -1
- package/dist/vta/_shared/0.4/pcs-engine.d.ts +16 -0
- package/dist/vta/_shared/0.4/pcs-engine.d.ts.map +1 -0
- package/dist/vta/_shared/0.4/pcs-engine.js +6 -0
- package/dist/vta/_shared/0.4/pcs-engine.js.map +1 -0
- package/dist/vta/pcs/applications/create/0.1/payload.d.ts +1215 -0
- package/dist/vta/pcs/applications/create/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/applications/create/0.1/payload.js +724 -0
- package/dist/vta/pcs/applications/create/0.1/payload.js.map +1 -0
- package/dist/vta/pcs/applications/delete/0.1/payload.d.ts +253 -0
- package/dist/vta/pcs/applications/delete/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/applications/delete/0.1/payload.js +146 -0
- package/dist/vta/pcs/applications/delete/0.1/payload.js.map +1 -0
- package/dist/vta/pcs/applications/show/0.1/payload.d.ts +733 -0
- package/dist/vta/pcs/applications/show/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/applications/show/0.1/payload.js +450 -0
- package/dist/vta/pcs/applications/show/0.1/payload.js.map +1 -0
- package/dist/vta/pcs/attest/0.1/payload.d.ts +1456 -0
- package/dist/vta/pcs/attest/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/attest/0.1/payload.js +876 -0
- package/dist/vta/pcs/attest/0.1/payload.js.map +1 -0
- package/dist/vta/pcs/prove/0.1/payload.d.ts +1348 -0
- package/dist/vta/pcs/prove/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/prove/0.1/payload.js +804 -0
- package/dist/vta/pcs/prove/0.1/payload.js.map +1 -0
- package/dist/vta/pcs/root-accept/0.1/payload.d.ts +1100 -0
- package/dist/vta/pcs/root-accept/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/root-accept/0.1/payload.js +634 -0
- package/dist/vta/pcs/root-accept/0.1/payload.js.map +1 -0
- package/dist/vta/pcs/root-request/0.1/payload.d.ts +880 -0
- package/dist/vta/pcs/root-request/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/root-request/0.1/payload.js +496 -0
- package/dist/vta/pcs/root-request/0.1/payload.js.map +1 -0
- package/dist/vta/pcs/tokens/abandon/0.1/payload.d.ts +612 -0
- package/dist/vta/pcs/tokens/abandon/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/tokens/abandon/0.1/payload.js +355 -0
- package/dist/vta/pcs/tokens/abandon/0.1/payload.js.map +1 -0
- package/dist/vta/pcs/tokens/accept/0.1/payload.d.ts +1149 -0
- package/dist/vta/pcs/tokens/accept/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/tokens/accept/0.1/payload.js +657 -0
- package/dist/vta/pcs/tokens/accept/0.1/payload.js.map +1 -0
- package/dist/vta/pcs/tokens/request/0.1/payload.d.ts +908 -0
- package/dist/vta/pcs/tokens/request/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/tokens/request/0.1/payload.js +508 -0
- package/dist/vta/pcs/tokens/request/0.1/payload.js.map +1 -0
- package/dist/vta/pcs/verify-attestation/0.1/payload.d.ts +1423 -0
- package/dist/vta/pcs/verify-attestation/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/verify-attestation/0.1/payload.js +850 -0
- package/dist/vta/pcs/verify-attestation/0.1/payload.js.map +1 -0
- package/dist/vta/pcs/vetter/show/0.1/payload.d.ts +605 -0
- package/dist/vta/pcs/vetter/show/0.1/payload.d.ts.map +1 -0
- package/dist/vta/pcs/vetter/show/0.1/payload.js +351 -0
- package/dist/vta/pcs/vetter/show/0.1/payload.js.map +1 -0
- package/dist/vtc/vetting/hidden/publish/0.1/payload.d.ts +403 -486
- package/dist/vtc/vetting/hidden/publish/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/vetting/hidden/publish/0.1/payload.js +240 -240
- package/dist/vtc/vetting/hidden/publish/0.1/payload.js.map +1 -1
- package/dist/vtc/vetting/hidden/show/0.1/payload.d.ts +482 -565
- package/dist/vtc/vetting/hidden/show/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/vetting/hidden/show/0.1/payload.js +294 -294
- package/dist/vtc/vetting/hidden/show/0.1/payload.js.map +1 -1
- package/package.json +1 -1
- package/src/_shared/components.ts +308 -2
- package/src/device/list/0.1/payload.ts +6 -2
- package/src/device/list/0.2/payload.ts +6 -2
- package/src/device/register/0.1/payload.ts +6 -2
- package/src/device/register/0.2/payload.ts +6 -2
- package/src/index.ts +14 -0
- package/src/vetting/_shared/0.1/hidden-vetting.ts +17 -0
- package/src/vetting/attestation/0.1/payload.ts +49 -101
- package/src/vta/_shared/0.4/pcs-engine.ts +17 -0
- package/src/vta/pcs/applications/create/0.1/payload.ts +768 -0
- package/src/vta/pcs/applications/delete/0.1/payload.ts +182 -0
- package/src/vta/pcs/applications/show/0.1/payload.ts +482 -0
- package/src/vta/pcs/attest/0.1/payload.ts +943 -0
- package/src/vta/pcs/prove/0.1/payload.ts +845 -0
- package/src/vta/pcs/root-accept/0.1/payload.ts +681 -0
- package/src/vta/pcs/root-request/0.1/payload.ts +559 -0
- package/src/vta/pcs/tokens/abandon/0.1/payload.ts +392 -0
- package/src/vta/pcs/tokens/accept/0.1/payload.ts +713 -0
- package/src/vta/pcs/tokens/request/0.1/payload.ts +581 -0
- package/src/vta/pcs/verify-attestation/0.1/payload.ts +888 -0
- package/src/vta/pcs/vetter/show/0.1/payload.ts +387 -0
- package/src/vtc/vetting/hidden/publish/0.1/payload.ts +247 -331
- package/src/vtc/vetting/hidden/show/0.1/payload.ts +295 -379
|
@@ -69,12 +69,6 @@ export const PAYLOAD_SCHEMA = {
|
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
"$defs": {
|
|
72
|
-
"TickLength": {
|
|
73
|
-
"title": "TickLength",
|
|
74
|
-
"type": "string",
|
|
75
|
-
"pattern": "^P(?:\\d+D(?:T\\d+H)?|T\\d+H)$",
|
|
76
|
-
"description": "The length of one tick of the drip, as an ISO 8601 duration in days and/or hours — at least `PT1H`; a request that omits it gets `P3D`. A label's tick `t` is the window starting `t` tick lengths after the label's start (`vtc/vetting/vetters/pcs-tokens`)."
|
|
77
|
-
},
|
|
78
72
|
"RequestEvent": {
|
|
79
73
|
"title": "RequestEvent",
|
|
80
74
|
"type": "object",
|
|
@@ -126,72 +120,108 @@ export const PAYLOAD_SCHEMA = {
|
|
|
126
120
|
}
|
|
127
121
|
}
|
|
128
122
|
},
|
|
129
|
-
"
|
|
130
|
-
"
|
|
123
|
+
"Response": {
|
|
124
|
+
"$anchor": "response",
|
|
125
|
+
"title": "VTC Vetting — Hidden — Publish — response payload",
|
|
131
126
|
"type": "object",
|
|
132
127
|
"additionalProperties": false,
|
|
133
128
|
"required": [
|
|
134
|
-
"
|
|
135
|
-
"
|
|
129
|
+
"criterionId",
|
|
130
|
+
"stored",
|
|
131
|
+
"published",
|
|
132
|
+
"requirementsDigest"
|
|
136
133
|
],
|
|
137
134
|
"properties": {
|
|
138
|
-
"
|
|
135
|
+
"criterionId": {
|
|
139
136
|
"type": "string",
|
|
140
137
|
"minLength": 1,
|
|
141
|
-
"description": "
|
|
138
|
+
"description": "The criterion that now accepts a hidden proof."
|
|
142
139
|
},
|
|
143
|
-
"
|
|
144
|
-
"
|
|
145
|
-
|
|
146
|
-
|
|
140
|
+
"stored": {
|
|
141
|
+
"$ref": "#/$defs/StoredConfig"
|
|
142
|
+
},
|
|
143
|
+
"published": {
|
|
144
|
+
"$ref": "#/$defs/PublishedConfig"
|
|
145
|
+
},
|
|
146
|
+
"requirementsDigest": {
|
|
147
|
+
"type": [
|
|
148
|
+
"string",
|
|
149
|
+
"null"
|
|
150
|
+
],
|
|
151
|
+
"description": "The criterion's requirementsDigest after the change. It moves, because the digest covers the published parameters — an applicant mid-application is told its requirements changed, which is the honest answer. Null only when the criterion's manifest entry carries none."
|
|
152
|
+
},
|
|
153
|
+
"ext": {
|
|
154
|
+
"$ref": "#/$defs/Ext"
|
|
147
155
|
}
|
|
148
156
|
}
|
|
149
157
|
},
|
|
150
|
-
"
|
|
151
|
-
"title": "
|
|
158
|
+
"Ext": {
|
|
159
|
+
"title": "Ext",
|
|
160
|
+
"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.",
|
|
161
|
+
"type": "object",
|
|
162
|
+
"minProperties": 1,
|
|
163
|
+
"additionalProperties": true,
|
|
164
|
+
"propertyNames": {
|
|
165
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"PublishedConfig": {
|
|
169
|
+
"title": "PublishedConfig",
|
|
170
|
+
"description": "The parameters exactly as they now appear in this community's join manifest, under vetting.ext. What an applicant and a vetter read.",
|
|
152
171
|
"type": "object",
|
|
153
172
|
"additionalProperties": false,
|
|
154
173
|
"required": [
|
|
155
|
-
"
|
|
156
|
-
"
|
|
157
|
-
"
|
|
158
|
-
"
|
|
159
|
-
"
|
|
160
|
-
"
|
|
174
|
+
"suite",
|
|
175
|
+
"helperKey",
|
|
176
|
+
"tokenKey",
|
|
177
|
+
"vetterLabels",
|
|
178
|
+
"tokenLabels",
|
|
179
|
+
"dripPerTick",
|
|
180
|
+
"tickLength",
|
|
181
|
+
"events"
|
|
161
182
|
],
|
|
162
183
|
"properties": {
|
|
163
|
-
"
|
|
184
|
+
"suite": {
|
|
164
185
|
"type": "string",
|
|
165
186
|
"minLength": 1
|
|
166
187
|
},
|
|
167
|
-
"
|
|
188
|
+
"helperKey": {
|
|
168
189
|
"type": "string",
|
|
169
|
-
"
|
|
190
|
+
"minLength": 1,
|
|
191
|
+
"description": "The helper verification key, multibase — named for its role on the wire rather than for hvk."
|
|
170
192
|
},
|
|
171
|
-
"
|
|
193
|
+
"tokenKey": {
|
|
172
194
|
"type": "string",
|
|
173
|
-
"
|
|
195
|
+
"minLength": 1,
|
|
196
|
+
"description": "The token verification key, multibase — named for its role on the wire rather than for tvk."
|
|
174
197
|
},
|
|
175
|
-
"
|
|
176
|
-
"type": "
|
|
177
|
-
"
|
|
198
|
+
"vetterLabels": {
|
|
199
|
+
"type": "array",
|
|
200
|
+
"items": {
|
|
201
|
+
"type": "string",
|
|
202
|
+
"minLength": 1
|
|
203
|
+
},
|
|
204
|
+
"description": "Class labels published whole, e.g. vetter/2026-09 — a request names one of these, not the bare period."
|
|
178
205
|
},
|
|
179
|
-
"
|
|
206
|
+
"tokenLabels": {
|
|
207
|
+
"type": "array",
|
|
208
|
+
"items": {
|
|
209
|
+
"type": "string",
|
|
210
|
+
"minLength": 1
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"dripPerTick": {
|
|
180
214
|
"type": "integer",
|
|
181
215
|
"minimum": 1
|
|
182
216
|
},
|
|
183
|
-
"
|
|
217
|
+
"tickLength": {
|
|
218
|
+
"$ref": "#/$defs/TickLength"
|
|
219
|
+
},
|
|
220
|
+
"events": {
|
|
184
221
|
"type": "array",
|
|
185
222
|
"items": {
|
|
186
|
-
"$ref": "#/$defs/
|
|
223
|
+
"$ref": "#/$defs/PublishedEvent"
|
|
187
224
|
}
|
|
188
|
-
},
|
|
189
|
-
"approvedBy": {
|
|
190
|
-
"type": [
|
|
191
|
-
"string",
|
|
192
|
-
"null"
|
|
193
|
-
],
|
|
194
|
-
"description": "Who approved the event, or null when nobody has. Recorded in storage only — dropped from the published shape (see published.events)."
|
|
195
225
|
}
|
|
196
226
|
}
|
|
197
227
|
},
|
|
@@ -232,6 +262,33 @@ export const PAYLOAD_SCHEMA = {
|
|
|
232
262
|
}
|
|
233
263
|
}
|
|
234
264
|
},
|
|
265
|
+
"Tier": {
|
|
266
|
+
"title": "Tier",
|
|
267
|
+
"type": "object",
|
|
268
|
+
"additionalProperties": false,
|
|
269
|
+
"required": [
|
|
270
|
+
"name",
|
|
271
|
+
"dripPerTick"
|
|
272
|
+
],
|
|
273
|
+
"properties": {
|
|
274
|
+
"name": {
|
|
275
|
+
"type": "string",
|
|
276
|
+
"minLength": 1,
|
|
277
|
+
"description": "How the menu names it: desk, busy-desk."
|
|
278
|
+
},
|
|
279
|
+
"dripPerTick": {
|
|
280
|
+
"type": "integer",
|
|
281
|
+
"minimum": 1,
|
|
282
|
+
"description": "How many tokens a tick under this tier yields."
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"TickLength": {
|
|
287
|
+
"title": "TickLength",
|
|
288
|
+
"type": "string",
|
|
289
|
+
"pattern": "^P(?:\\d+D(?:T\\d+H)?|T\\d+H)$",
|
|
290
|
+
"description": "The length of one tick of the drip, as an ISO 8601 duration in days and/or hours — at least `PT1H`. A label's tick `t` is the window starting `t` tick lengths after the label's start (`vtc/vetting/vetters/pcs-tokens`)."
|
|
291
|
+
},
|
|
235
292
|
"StoredConfig": {
|
|
236
293
|
"title": "StoredConfig",
|
|
237
294
|
"description": "The parameters exactly as the community stores them, including the helper key it never publishes.",
|
|
@@ -293,110 +350,53 @@ export const PAYLOAD_SCHEMA = {
|
|
|
293
350
|
}
|
|
294
351
|
}
|
|
295
352
|
},
|
|
296
|
-
"
|
|
297
|
-
"title": "
|
|
298
|
-
"description": "The parameters exactly as they now appear in this community's join manifest, under vetting.ext. What an applicant and a vetter read.",
|
|
353
|
+
"StoredEvent": {
|
|
354
|
+
"title": "StoredEvent",
|
|
299
355
|
"type": "object",
|
|
300
356
|
"additionalProperties": false,
|
|
301
357
|
"required": [
|
|
302
|
-
"
|
|
303
|
-
"
|
|
304
|
-
"
|
|
305
|
-
"
|
|
306
|
-
"
|
|
307
|
-
"
|
|
308
|
-
"tickLength",
|
|
309
|
-
"events"
|
|
358
|
+
"eventId",
|
|
359
|
+
"startDate",
|
|
360
|
+
"endDate",
|
|
361
|
+
"graceDays",
|
|
362
|
+
"groupFloor",
|
|
363
|
+
"tiers"
|
|
310
364
|
],
|
|
311
365
|
"properties": {
|
|
312
|
-
"
|
|
366
|
+
"eventId": {
|
|
313
367
|
"type": "string",
|
|
314
368
|
"minLength": 1
|
|
315
369
|
},
|
|
316
|
-
"
|
|
370
|
+
"startDate": {
|
|
317
371
|
"type": "string",
|
|
318
|
-
"
|
|
319
|
-
"description": "The helper verification key, multibase — named for its role on the wire rather than for hvk."
|
|
372
|
+
"format": "date"
|
|
320
373
|
},
|
|
321
|
-
"
|
|
374
|
+
"endDate": {
|
|
322
375
|
"type": "string",
|
|
323
|
-
"
|
|
324
|
-
"description": "The token verification key, multibase — named for its role on the wire rather than for tvk."
|
|
325
|
-
},
|
|
326
|
-
"vetterLabels": {
|
|
327
|
-
"type": "array",
|
|
328
|
-
"items": {
|
|
329
|
-
"type": "string",
|
|
330
|
-
"minLength": 1
|
|
331
|
-
},
|
|
332
|
-
"description": "Class labels published whole, e.g. vetter/2026-09 — a request names one of these, not the bare period."
|
|
376
|
+
"format": "date"
|
|
333
377
|
},
|
|
334
|
-
"
|
|
335
|
-
"type": "
|
|
336
|
-
"
|
|
337
|
-
"type": "string",
|
|
338
|
-
"minLength": 1
|
|
339
|
-
}
|
|
378
|
+
"graceDays": {
|
|
379
|
+
"type": "integer",
|
|
380
|
+
"minimum": 0
|
|
340
381
|
},
|
|
341
|
-
"
|
|
382
|
+
"groupFloor": {
|
|
342
383
|
"type": "integer",
|
|
343
384
|
"minimum": 1
|
|
344
385
|
},
|
|
345
|
-
"
|
|
346
|
-
"$ref": "#/$defs/TickLength"
|
|
347
|
-
},
|
|
348
|
-
"events": {
|
|
386
|
+
"tiers": {
|
|
349
387
|
"type": "array",
|
|
350
388
|
"items": {
|
|
351
|
-
"$ref": "#/$defs/
|
|
389
|
+
"$ref": "#/$defs/Tier"
|
|
352
390
|
}
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
},
|
|
356
|
-
"Response": {
|
|
357
|
-
"$anchor": "response",
|
|
358
|
-
"title": "VTC Vetting — Hidden — Publish — response payload",
|
|
359
|
-
"type": "object",
|
|
360
|
-
"additionalProperties": false,
|
|
361
|
-
"required": [
|
|
362
|
-
"criterionId",
|
|
363
|
-
"stored",
|
|
364
|
-
"published",
|
|
365
|
-
"requirementsDigest"
|
|
366
|
-
],
|
|
367
|
-
"properties": {
|
|
368
|
-
"criterionId": {
|
|
369
|
-
"type": "string",
|
|
370
|
-
"minLength": 1,
|
|
371
|
-
"description": "The criterion that now accepts a hidden proof."
|
|
372
391
|
},
|
|
373
|
-
"
|
|
374
|
-
"$ref": "#/$defs/StoredConfig"
|
|
375
|
-
},
|
|
376
|
-
"published": {
|
|
377
|
-
"$ref": "#/$defs/PublishedConfig"
|
|
378
|
-
},
|
|
379
|
-
"requirementsDigest": {
|
|
392
|
+
"approvedBy": {
|
|
380
393
|
"type": [
|
|
381
394
|
"string",
|
|
382
395
|
"null"
|
|
383
396
|
],
|
|
384
|
-
"description": "
|
|
385
|
-
},
|
|
386
|
-
"ext": {
|
|
387
|
-
"$ref": "#/$defs/Ext"
|
|
397
|
+
"description": "Who approved the event, or null when nobody has. Recorded in storage only — dropped from the published shape (see published.events)."
|
|
388
398
|
}
|
|
389
399
|
}
|
|
390
|
-
},
|
|
391
|
-
"Ext": {
|
|
392
|
-
"title": "Ext",
|
|
393
|
-
"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.",
|
|
394
|
-
"type": "object",
|
|
395
|
-
"minProperties": 1,
|
|
396
|
-
"additionalProperties": true,
|
|
397
|
-
"propertyNames": {
|
|
398
|
-
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
399
|
-
}
|
|
400
400
|
}
|
|
401
401
|
}
|
|
402
402
|
};
|
|
@@ -405,12 +405,6 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
405
405
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
406
406
|
"$ref": "#/$defs/Response",
|
|
407
407
|
"$defs": {
|
|
408
|
-
"TickLength": {
|
|
409
|
-
"title": "TickLength",
|
|
410
|
-
"type": "string",
|
|
411
|
-
"pattern": "^P(?:\\d+D(?:T\\d+H)?|T\\d+H)$",
|
|
412
|
-
"description": "The length of one tick of the drip, as an ISO 8601 duration in days and/or hours — at least `PT1H`; a request that omits it gets `P3D`. A label's tick `t` is the window starting `t` tick lengths after the label's start (`vtc/vetting/vetters/pcs-tokens`)."
|
|
413
|
-
},
|
|
414
408
|
"RequestEvent": {
|
|
415
409
|
"title": "RequestEvent",
|
|
416
410
|
"type": "object",
|
|
@@ -462,72 +456,108 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
462
456
|
}
|
|
463
457
|
}
|
|
464
458
|
},
|
|
465
|
-
"
|
|
466
|
-
"
|
|
459
|
+
"Response": {
|
|
460
|
+
"$anchor": "response",
|
|
461
|
+
"title": "VTC Vetting — Hidden — Publish — response payload",
|
|
467
462
|
"type": "object",
|
|
468
463
|
"additionalProperties": false,
|
|
469
464
|
"required": [
|
|
470
|
-
"
|
|
471
|
-
"
|
|
465
|
+
"criterionId",
|
|
466
|
+
"stored",
|
|
467
|
+
"published",
|
|
468
|
+
"requirementsDigest"
|
|
472
469
|
],
|
|
473
470
|
"properties": {
|
|
474
|
-
"
|
|
471
|
+
"criterionId": {
|
|
475
472
|
"type": "string",
|
|
476
473
|
"minLength": 1,
|
|
477
|
-
"description": "
|
|
474
|
+
"description": "The criterion that now accepts a hidden proof."
|
|
478
475
|
},
|
|
479
|
-
"
|
|
480
|
-
"
|
|
481
|
-
|
|
482
|
-
|
|
476
|
+
"stored": {
|
|
477
|
+
"$ref": "#/$defs/StoredConfig"
|
|
478
|
+
},
|
|
479
|
+
"published": {
|
|
480
|
+
"$ref": "#/$defs/PublishedConfig"
|
|
481
|
+
},
|
|
482
|
+
"requirementsDigest": {
|
|
483
|
+
"type": [
|
|
484
|
+
"string",
|
|
485
|
+
"null"
|
|
486
|
+
],
|
|
487
|
+
"description": "The criterion's requirementsDigest after the change. It moves, because the digest covers the published parameters — an applicant mid-application is told its requirements changed, which is the honest answer. Null only when the criterion's manifest entry carries none."
|
|
488
|
+
},
|
|
489
|
+
"ext": {
|
|
490
|
+
"$ref": "#/$defs/Ext"
|
|
483
491
|
}
|
|
484
492
|
}
|
|
485
493
|
},
|
|
486
|
-
"
|
|
487
|
-
"title": "
|
|
494
|
+
"Ext": {
|
|
495
|
+
"title": "Ext",
|
|
496
|
+
"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.",
|
|
497
|
+
"type": "object",
|
|
498
|
+
"minProperties": 1,
|
|
499
|
+
"additionalProperties": true,
|
|
500
|
+
"propertyNames": {
|
|
501
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
502
|
+
}
|
|
503
|
+
},
|
|
504
|
+
"PublishedConfig": {
|
|
505
|
+
"title": "PublishedConfig",
|
|
506
|
+
"description": "The parameters exactly as they now appear in this community's join manifest, under vetting.ext. What an applicant and a vetter read.",
|
|
488
507
|
"type": "object",
|
|
489
508
|
"additionalProperties": false,
|
|
490
509
|
"required": [
|
|
491
|
-
"
|
|
492
|
-
"
|
|
493
|
-
"
|
|
494
|
-
"
|
|
495
|
-
"
|
|
496
|
-
"
|
|
510
|
+
"suite",
|
|
511
|
+
"helperKey",
|
|
512
|
+
"tokenKey",
|
|
513
|
+
"vetterLabels",
|
|
514
|
+
"tokenLabels",
|
|
515
|
+
"dripPerTick",
|
|
516
|
+
"tickLength",
|
|
517
|
+
"events"
|
|
497
518
|
],
|
|
498
519
|
"properties": {
|
|
499
|
-
"
|
|
520
|
+
"suite": {
|
|
500
521
|
"type": "string",
|
|
501
522
|
"minLength": 1
|
|
502
523
|
},
|
|
503
|
-
"
|
|
524
|
+
"helperKey": {
|
|
504
525
|
"type": "string",
|
|
505
|
-
"
|
|
526
|
+
"minLength": 1,
|
|
527
|
+
"description": "The helper verification key, multibase — named for its role on the wire rather than for hvk."
|
|
506
528
|
},
|
|
507
|
-
"
|
|
529
|
+
"tokenKey": {
|
|
508
530
|
"type": "string",
|
|
509
|
-
"
|
|
531
|
+
"minLength": 1,
|
|
532
|
+
"description": "The token verification key, multibase — named for its role on the wire rather than for tvk."
|
|
510
533
|
},
|
|
511
|
-
"
|
|
512
|
-
"type": "
|
|
513
|
-
"
|
|
534
|
+
"vetterLabels": {
|
|
535
|
+
"type": "array",
|
|
536
|
+
"items": {
|
|
537
|
+
"type": "string",
|
|
538
|
+
"minLength": 1
|
|
539
|
+
},
|
|
540
|
+
"description": "Class labels published whole, e.g. vetter/2026-09 — a request names one of these, not the bare period."
|
|
514
541
|
},
|
|
515
|
-
"
|
|
542
|
+
"tokenLabels": {
|
|
543
|
+
"type": "array",
|
|
544
|
+
"items": {
|
|
545
|
+
"type": "string",
|
|
546
|
+
"minLength": 1
|
|
547
|
+
}
|
|
548
|
+
},
|
|
549
|
+
"dripPerTick": {
|
|
516
550
|
"type": "integer",
|
|
517
551
|
"minimum": 1
|
|
518
552
|
},
|
|
519
|
-
"
|
|
553
|
+
"tickLength": {
|
|
554
|
+
"$ref": "#/$defs/TickLength"
|
|
555
|
+
},
|
|
556
|
+
"events": {
|
|
520
557
|
"type": "array",
|
|
521
558
|
"items": {
|
|
522
|
-
"$ref": "#/$defs/
|
|
559
|
+
"$ref": "#/$defs/PublishedEvent"
|
|
523
560
|
}
|
|
524
|
-
},
|
|
525
|
-
"approvedBy": {
|
|
526
|
-
"type": [
|
|
527
|
-
"string",
|
|
528
|
-
"null"
|
|
529
|
-
],
|
|
530
|
-
"description": "Who approved the event, or null when nobody has. Recorded in storage only — dropped from the published shape (see published.events)."
|
|
531
561
|
}
|
|
532
562
|
}
|
|
533
563
|
},
|
|
@@ -568,6 +598,33 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
568
598
|
}
|
|
569
599
|
}
|
|
570
600
|
},
|
|
601
|
+
"Tier": {
|
|
602
|
+
"title": "Tier",
|
|
603
|
+
"type": "object",
|
|
604
|
+
"additionalProperties": false,
|
|
605
|
+
"required": [
|
|
606
|
+
"name",
|
|
607
|
+
"dripPerTick"
|
|
608
|
+
],
|
|
609
|
+
"properties": {
|
|
610
|
+
"name": {
|
|
611
|
+
"type": "string",
|
|
612
|
+
"minLength": 1,
|
|
613
|
+
"description": "How the menu names it: desk, busy-desk."
|
|
614
|
+
},
|
|
615
|
+
"dripPerTick": {
|
|
616
|
+
"type": "integer",
|
|
617
|
+
"minimum": 1,
|
|
618
|
+
"description": "How many tokens a tick under this tier yields."
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
},
|
|
622
|
+
"TickLength": {
|
|
623
|
+
"title": "TickLength",
|
|
624
|
+
"type": "string",
|
|
625
|
+
"pattern": "^P(?:\\d+D(?:T\\d+H)?|T\\d+H)$",
|
|
626
|
+
"description": "The length of one tick of the drip, as an ISO 8601 duration in days and/or hours — at least `PT1H`. A label's tick `t` is the window starting `t` tick lengths after the label's start (`vtc/vetting/vetters/pcs-tokens`)."
|
|
627
|
+
},
|
|
571
628
|
"StoredConfig": {
|
|
572
629
|
"title": "StoredConfig",
|
|
573
630
|
"description": "The parameters exactly as the community stores them, including the helper key it never publishes.",
|
|
@@ -629,110 +686,53 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
629
686
|
}
|
|
630
687
|
}
|
|
631
688
|
},
|
|
632
|
-
"
|
|
633
|
-
"title": "
|
|
634
|
-
"description": "The parameters exactly as they now appear in this community's join manifest, under vetting.ext. What an applicant and a vetter read.",
|
|
689
|
+
"StoredEvent": {
|
|
690
|
+
"title": "StoredEvent",
|
|
635
691
|
"type": "object",
|
|
636
692
|
"additionalProperties": false,
|
|
637
693
|
"required": [
|
|
638
|
-
"
|
|
639
|
-
"
|
|
640
|
-
"
|
|
641
|
-
"
|
|
642
|
-
"
|
|
643
|
-
"
|
|
644
|
-
"tickLength",
|
|
645
|
-
"events"
|
|
694
|
+
"eventId",
|
|
695
|
+
"startDate",
|
|
696
|
+
"endDate",
|
|
697
|
+
"graceDays",
|
|
698
|
+
"groupFloor",
|
|
699
|
+
"tiers"
|
|
646
700
|
],
|
|
647
701
|
"properties": {
|
|
648
|
-
"
|
|
702
|
+
"eventId": {
|
|
649
703
|
"type": "string",
|
|
650
704
|
"minLength": 1
|
|
651
705
|
},
|
|
652
|
-
"
|
|
706
|
+
"startDate": {
|
|
653
707
|
"type": "string",
|
|
654
|
-
"
|
|
655
|
-
"description": "The helper verification key, multibase — named for its role on the wire rather than for hvk."
|
|
708
|
+
"format": "date"
|
|
656
709
|
},
|
|
657
|
-
"
|
|
710
|
+
"endDate": {
|
|
658
711
|
"type": "string",
|
|
659
|
-
"
|
|
660
|
-
"description": "The token verification key, multibase — named for its role on the wire rather than for tvk."
|
|
661
|
-
},
|
|
662
|
-
"vetterLabels": {
|
|
663
|
-
"type": "array",
|
|
664
|
-
"items": {
|
|
665
|
-
"type": "string",
|
|
666
|
-
"minLength": 1
|
|
667
|
-
},
|
|
668
|
-
"description": "Class labels published whole, e.g. vetter/2026-09 — a request names one of these, not the bare period."
|
|
712
|
+
"format": "date"
|
|
669
713
|
},
|
|
670
|
-
"
|
|
671
|
-
"type": "
|
|
672
|
-
"
|
|
673
|
-
"type": "string",
|
|
674
|
-
"minLength": 1
|
|
675
|
-
}
|
|
714
|
+
"graceDays": {
|
|
715
|
+
"type": "integer",
|
|
716
|
+
"minimum": 0
|
|
676
717
|
},
|
|
677
|
-
"
|
|
718
|
+
"groupFloor": {
|
|
678
719
|
"type": "integer",
|
|
679
720
|
"minimum": 1
|
|
680
721
|
},
|
|
681
|
-
"
|
|
682
|
-
"$ref": "#/$defs/TickLength"
|
|
683
|
-
},
|
|
684
|
-
"events": {
|
|
722
|
+
"tiers": {
|
|
685
723
|
"type": "array",
|
|
686
724
|
"items": {
|
|
687
|
-
"$ref": "#/$defs/
|
|
725
|
+
"$ref": "#/$defs/Tier"
|
|
688
726
|
}
|
|
689
|
-
}
|
|
690
|
-
}
|
|
691
|
-
},
|
|
692
|
-
"Response": {
|
|
693
|
-
"$anchor": "response",
|
|
694
|
-
"title": "VTC Vetting — Hidden — Publish — response payload",
|
|
695
|
-
"type": "object",
|
|
696
|
-
"additionalProperties": false,
|
|
697
|
-
"required": [
|
|
698
|
-
"criterionId",
|
|
699
|
-
"stored",
|
|
700
|
-
"published",
|
|
701
|
-
"requirementsDigest"
|
|
702
|
-
],
|
|
703
|
-
"properties": {
|
|
704
|
-
"criterionId": {
|
|
705
|
-
"type": "string",
|
|
706
|
-
"minLength": 1,
|
|
707
|
-
"description": "The criterion that now accepts a hidden proof."
|
|
708
727
|
},
|
|
709
|
-
"
|
|
710
|
-
"$ref": "#/$defs/StoredConfig"
|
|
711
|
-
},
|
|
712
|
-
"published": {
|
|
713
|
-
"$ref": "#/$defs/PublishedConfig"
|
|
714
|
-
},
|
|
715
|
-
"requirementsDigest": {
|
|
728
|
+
"approvedBy": {
|
|
716
729
|
"type": [
|
|
717
730
|
"string",
|
|
718
731
|
"null"
|
|
719
732
|
],
|
|
720
|
-
"description": "
|
|
721
|
-
},
|
|
722
|
-
"ext": {
|
|
723
|
-
"$ref": "#/$defs/Ext"
|
|
733
|
+
"description": "Who approved the event, or null when nobody has. Recorded in storage only — dropped from the published shape (see published.events)."
|
|
724
734
|
}
|
|
725
735
|
}
|
|
726
|
-
},
|
|
727
|
-
"Ext": {
|
|
728
|
-
"title": "Ext",
|
|
729
|
-
"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.",
|
|
730
|
-
"type": "object",
|
|
731
|
-
"minProperties": 1,
|
|
732
|
-
"additionalProperties": true,
|
|
733
|
-
"propertyNames": {
|
|
734
|
-
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
735
|
-
}
|
|
736
736
|
}
|
|
737
737
|
}
|
|
738
738
|
};
|