@openvtc/trust-tasks 0.21.11 → 0.21.13
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 +76 -0
- package/dist/_framework/0.4/framework.d.ts +1 -1
- package/dist/_framework/0.4/framework.d.ts.map +1 -1
- package/dist/_shared/components.d.ts +371 -0
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/auth/_shared/0.1/signing-key.d.ts +16 -0
- package/dist/auth/_shared/0.1/signing-key.d.ts.map +1 -0
- package/dist/auth/_shared/0.1/signing-key.js +6 -0
- package/dist/auth/_shared/0.1/signing-key.js.map +1 -0
- package/dist/auth/signing-key/enroll/0.1/payload.d.ts +545 -0
- package/dist/auth/signing-key/enroll/0.1/payload.d.ts.map +1 -0
- package/dist/auth/signing-key/enroll/0.1/payload.js +307 -0
- package/dist/auth/signing-key/enroll/0.1/payload.js.map +1 -0
- package/dist/auth/signing-key/list/0.1/payload.d.ts +509 -0
- package/dist/auth/signing-key/list/0.1/payload.d.ts.map +1 -0
- package/dist/auth/signing-key/list/0.1/payload.js +289 -0
- package/dist/auth/signing-key/list/0.1/payload.js.map +1 -0
- package/dist/auth/signing-key/revoke/0.1/payload.d.ts +292 -0
- package/dist/auth/signing-key/revoke/0.1/payload.d.ts.map +1 -0
- package/dist/auth/signing-key/revoke/0.1/payload.js +167 -0
- package/dist/auth/signing-key/revoke/0.1/payload.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -1
- package/dist/vta/contexts/update-did/1.1/payload.d.ts +388 -0
- package/dist/vta/contexts/update-did/1.1/payload.d.ts.map +1 -0
- package/dist/vta/contexts/update-did/1.1/payload.js +227 -0
- package/dist/vta/contexts/update-did/1.1/payload.js.map +1 -0
- package/dist/vtc/_shared/0.1/community-presentation.d.ts +16 -0
- package/dist/vtc/_shared/0.1/community-presentation.d.ts.map +1 -0
- package/dist/vtc/_shared/0.1/community-presentation.js +6 -0
- package/dist/vtc/_shared/0.1/community-presentation.js.map +1 -0
- package/dist/vtc/_shared/0.1/relationship-lifecycle.d.ts +16 -0
- package/dist/vtc/_shared/0.1/relationship-lifecycle.d.ts.map +1 -0
- package/dist/vtc/_shared/0.1/relationship-lifecycle.js +6 -0
- package/dist/vtc/_shared/0.1/relationship-lifecycle.js.map +1 -0
- package/dist/vtc/_shared/0.1/schema-registry.d.ts +16 -0
- package/dist/vtc/_shared/0.1/schema-registry.d.ts.map +1 -0
- package/dist/vtc/_shared/0.1/schema-registry.js +6 -0
- package/dist/vtc/_shared/0.1/schema-registry.js.map +1 -0
- package/dist/vtc/_shared/0.1/vetting-auto-grant.d.ts +16 -0
- package/dist/vtc/_shared/0.1/vetting-auto-grant.d.ts.map +1 -0
- package/dist/vtc/_shared/0.1/vetting-auto-grant.js +6 -0
- package/dist/vtc/_shared/0.1/vetting-auto-grant.js.map +1 -0
- package/dist/vtc/_shared/0.1/website-transfer.d.ts +16 -0
- package/dist/vtc/_shared/0.1/website-transfer.d.ts.map +1 -0
- package/dist/vtc/_shared/0.1/website-transfer.js +6 -0
- package/dist/vtc/_shared/0.1/website-transfer.js.map +1 -0
- package/dist/vtc/community/branding/show/0.1/payload.d.ts +319 -0
- package/dist/vtc/community/branding/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/community/branding/show/0.1/payload.js +179 -0
- package/dist/vtc/community/branding/show/0.1/payload.js.map +1 -0
- package/dist/vtc/community/branding/update/0.1/payload.d.ts +328 -0
- package/dist/vtc/community/branding/update/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/community/branding/update/0.1/payload.js +185 -0
- package/dist/vtc/community/branding/update/0.1/payload.js.map +1 -0
- package/dist/vtc/community/join-discovery/show/0.1/payload.d.ts +267 -0
- package/dist/vtc/community/join-discovery/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/community/join-discovery/show/0.1/payload.js +157 -0
- package/dist/vtc/community/join-discovery/show/0.1/payload.js.map +1 -0
- package/dist/vtc/community/join-discovery/update/0.1/payload.d.ts +276 -0
- package/dist/vtc/community/join-discovery/update/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/community/join-discovery/update/0.1/payload.js +163 -0
- package/dist/vtc/community/join-discovery/update/0.1/payload.js.map +1 -0
- package/dist/vtc/community/requested-attributes/show/0.1/payload.d.ts +339 -0
- package/dist/vtc/community/requested-attributes/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/community/requested-attributes/show/0.1/payload.js +193 -0
- package/dist/vtc/community/requested-attributes/show/0.1/payload.js.map +1 -0
- package/dist/vtc/community/requested-attributes/update/0.1/payload.d.ts +348 -0
- package/dist/vtc/community/requested-attributes/update/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/community/requested-attributes/update/0.1/payload.js +199 -0
- package/dist/vtc/community/requested-attributes/update/0.1/payload.js.map +1 -0
- package/dist/vtc/join-requests/query/0.1/payload.d.ts +412 -0
- package/dist/vtc/join-requests/query/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/join-requests/query/0.1/payload.js +228 -0
- package/dist/vtc/join-requests/query/0.1/payload.js.map +1 -0
- package/dist/vtc/join-requests/vetting/show/0.1/payload.d.ts +1016 -0
- package/dist/vtc/join-requests/vetting/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/join-requests/vetting/show/0.1/payload.js +509 -0
- package/dist/vtc/join-requests/vetting/show/0.1/payload.js.map +1 -0
- package/dist/vtc/relationships/restore/0.1/payload.d.ts +462 -0
- package/dist/vtc/relationships/restore/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/relationships/restore/0.1/payload.js +270 -0
- package/dist/vtc/relationships/restore/0.1/payload.js.map +1 -0
- package/dist/vtc/relationships/suspend/0.1/payload.d.ts +462 -0
- package/dist/vtc/relationships/suspend/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/relationships/suspend/0.1/payload.js +270 -0
- package/dist/vtc/relationships/suspend/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/list/0.1/payload.d.ts +653 -0
- package/dist/vtc/rooms/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/list/0.1/payload.js +360 -0
- package/dist/vtc/rooms/list/0.1/payload.js.map +1 -0
- package/dist/vtc/schemas/accepts/delete/0.1/payload.d.ts +240 -0
- package/dist/vtc/schemas/accepts/delete/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/schemas/accepts/delete/0.1/payload.js +141 -0
- package/dist/vtc/schemas/accepts/delete/0.1/payload.js.map +1 -0
- package/dist/vtc/schemas/accepts/list/0.1/payload.d.ts +1214 -0
- package/dist/vtc/schemas/accepts/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/schemas/accepts/list/0.1/payload.js +681 -0
- package/dist/vtc/schemas/accepts/list/0.1/payload.js.map +1 -0
- package/dist/vtc/schemas/accepts/register/0.1/payload.d.ts +1165 -0
- package/dist/vtc/schemas/accepts/register/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/schemas/accepts/register/0.1/payload.js +665 -0
- package/dist/vtc/schemas/accepts/register/0.1/payload.js.map +1 -0
- package/dist/vtc/schemas/accepts/show/0.1/payload.d.ts +1144 -0
- package/dist/vtc/schemas/accepts/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/schemas/accepts/show/0.1/payload.js +655 -0
- package/dist/vtc/schemas/accepts/show/0.1/payload.js.map +1 -0
- package/dist/vtc/schemas/delete/0.1/payload.d.ts +240 -0
- package/dist/vtc/schemas/delete/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/schemas/delete/0.1/payload.js +141 -0
- package/dist/vtc/schemas/delete/0.1/payload.js.map +1 -0
- package/dist/vtc/schemas/list/0.1/payload.d.ts +541 -0
- package/dist/vtc/schemas/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/schemas/list/0.1/payload.js +300 -0
- package/dist/vtc/schemas/list/0.1/payload.js.map +1 -0
- package/dist/vtc/schemas/register/0.1/payload.d.ts +512 -0
- package/dist/vtc/schemas/register/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/schemas/register/0.1/payload.js +292 -0
- package/dist/vtc/schemas/register/0.1/payload.js.map +1 -0
- package/dist/vtc/schemas/show/0.1/payload.d.ts +484 -0
- package/dist/vtc/schemas/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/schemas/show/0.1/payload.js +279 -0
- package/dist/vtc/schemas/show/0.1/payload.js.map +1 -0
- package/dist/vtc/vetting/auto-grant/show/0.1/payload.d.ts +463 -0
- package/dist/vtc/vetting/auto-grant/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/vetting/auto-grant/show/0.1/payload.js +269 -0
- package/dist/vtc/vetting/auto-grant/show/0.1/payload.js.map +1 -0
- package/dist/vtc/vetting/auto-grant/update/0.1/payload.d.ts +491 -0
- package/dist/vtc/vetting/auto-grant/update/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/vetting/auto-grant/update/0.1/payload.js +282 -0
- package/dist/vtc/vetting/auto-grant/update/0.1/payload.js.map +1 -0
- package/dist/vtc/vetting/revocations/list/0.1/payload.d.ts +608 -0
- package/dist/vtc/vetting/revocations/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/vetting/revocations/list/0.1/payload.js +332 -0
- package/dist/vtc/vetting/revocations/list/0.1/payload.js.map +1 -0
- package/dist/vtc/vetting/vetters/grants/list/0.1/payload.d.ts +992 -0
- package/dist/vtc/vetting/vetters/grants/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/vetting/vetters/grants/list/0.1/payload.js +461 -0
- package/dist/vtc/vetting/vetters/grants/list/0.1/payload.js.map +1 -0
- package/dist/vtc/website/deploy/0.1/payload.d.ts +369 -0
- package/dist/vtc/website/deploy/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/website/deploy/0.1/payload.js +213 -0
- package/dist/vtc/website/deploy/0.1/payload.js.map +1 -0
- package/dist/vtc/website/files/show/0.1/payload.d.ts +455 -0
- package/dist/vtc/website/files/show/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/website/files/show/0.1/payload.js +247 -0
- package/dist/vtc/website/files/show/0.1/payload.js.map +1 -0
- package/dist/vtc/website/upload/abort/0.1/payload.d.ts +256 -0
- package/dist/vtc/website/upload/abort/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/website/upload/abort/0.1/payload.js +149 -0
- package/dist/vtc/website/upload/abort/0.1/payload.js.map +1 -0
- package/dist/vtc/website/upload/begin/0.1/payload.d.ts +658 -0
- package/dist/vtc/website/upload/begin/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/website/upload/begin/0.1/payload.js +375 -0
- package/dist/vtc/website/upload/begin/0.1/payload.js.map +1 -0
- package/dist/vtc/website/upload/chunk/0.1/payload.d.ts +447 -0
- package/dist/vtc/website/upload/chunk/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/website/upload/chunk/0.1/payload.js +253 -0
- package/dist/vtc/website/upload/chunk/0.1/payload.js.map +1 -0
- package/dist/vtc/website/upload/commit/0.1/payload.d.ts +603 -0
- package/dist/vtc/website/upload/commit/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/website/upload/commit/0.1/payload.js +337 -0
- package/dist/vtc/website/upload/commit/0.1/payload.js.map +1 -0
- package/package.json +1 -1
- package/src/_framework/0.4/framework.ts +1 -1
- package/src/_shared/components.ts +371 -0
- package/src/auth/_shared/0.1/signing-key.ts +17 -0
- package/src/auth/signing-key/enroll/0.1/payload.ts +349 -0
- package/src/auth/signing-key/list/0.1/payload.ts +323 -0
- package/src/auth/signing-key/revoke/0.1/payload.ts +204 -0
- package/src/index.ts +39 -0
- package/src/vta/contexts/update-did/1.1/payload.ts +256 -0
- package/src/vtc/_shared/0.1/community-presentation.ts +17 -0
- package/src/vtc/_shared/0.1/relationship-lifecycle.ts +17 -0
- package/src/vtc/_shared/0.1/schema-registry.ts +17 -0
- package/src/vtc/_shared/0.1/vetting-auto-grant.ts +17 -0
- package/src/vtc/_shared/0.1/website-transfer.ts +17 -0
- package/src/vtc/community/branding/show/0.1/payload.ts +207 -0
- package/src/vtc/community/branding/update/0.1/payload.ts +214 -0
- package/src/vtc/community/join-discovery/show/0.1/payload.ts +185 -0
- package/src/vtc/community/join-discovery/update/0.1/payload.ts +192 -0
- package/src/vtc/community/requested-attributes/show/0.1/payload.ts +221 -0
- package/src/vtc/community/requested-attributes/update/0.1/payload.ts +228 -0
- package/src/vtc/join-requests/query/0.1/payload.ts +285 -0
- package/src/vtc/join-requests/vetting/show/0.1/payload.ts +740 -0
- package/src/vtc/relationships/restore/0.1/payload.ts +307 -0
- package/src/vtc/relationships/suspend/0.1/payload.ts +307 -0
- package/src/vtc/rooms/list/0.1/payload.ts +449 -0
- package/src/vtc/schemas/accepts/delete/0.1/payload.ts +170 -0
- package/src/vtc/schemas/accepts/list/0.1/payload.ts +724 -0
- package/src/vtc/schemas/accepts/register/0.1/payload.ts +697 -0
- package/src/vtc/schemas/accepts/show/0.1/payload.ts +684 -0
- package/src/vtc/schemas/delete/0.1/payload.ts +170 -0
- package/src/vtc/schemas/list/0.1/payload.ts +344 -0
- package/src/vtc/schemas/register/0.1/payload.ts +325 -0
- package/src/vtc/schemas/show/0.1/payload.ts +308 -0
- package/src/vtc/vetting/auto-grant/show/0.1/payload.ts +297 -0
- package/src/vtc/vetting/auto-grant/update/0.1/payload.ts +316 -0
- package/src/vtc/vetting/revocations/list/0.1/payload.ts +416 -0
- package/src/vtc/vetting/vetters/grants/list/0.1/payload.ts +700 -0
- package/src/vtc/website/deploy/0.1/payload.ts +255 -0
- package/src/vtc/website/files/show/0.1/payload.ts +303 -0
- package/src/vtc/website/upload/abort/0.1/payload.ts +182 -0
- package/src/vtc/website/upload/begin/0.1/payload.ts +408 -0
- package/src/vtc/website/upload/chunk/0.1/payload.ts +295 -0
- package/src/vtc/website/upload/commit/0.1/payload.ts +385 -0
|
@@ -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;
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/vtc/community/branding/update/0.1/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { CommunityBranding, Ext } from "../../../../../_shared/components.js";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The whole new value, which replaces the stored one. The outer document members are owned by the framework — SPEC §6.3.
|
|
11
|
+
*/
|
|
12
|
+
export interface VTCCommunityBrandingUpdatePayload {
|
|
13
|
+
branding: CommunityBranding;
|
|
14
|
+
ext?: Ext;
|
|
15
|
+
}
|
|
16
|
+
export interface VTCCommunityBrandingUpdateResponsePayload {
|
|
17
|
+
branding: CommunityBranding;
|
|
18
|
+
ext?: Ext;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** Shared definitions this specification references, re-exported under the names it used to declare them with. */
|
|
22
|
+
export type { CommunityBranding, Ext };
|
|
23
|
+
|
|
24
|
+
/** Trust Task type URI. */
|
|
25
|
+
export const TYPE_URI = "https://trusttasks.org/spec/vtc/community/branding/update/0.1" as const;
|
|
26
|
+
|
|
27
|
+
/** Stable alias for this specification's request payload shape. */
|
|
28
|
+
export type Payload = VTCCommunityBrandingUpdatePayload;
|
|
29
|
+
|
|
30
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
31
|
+
export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/community/branding/update/0.1#response" as const;
|
|
32
|
+
|
|
33
|
+
/** Stable alias for this specification's success-response payload shape. */
|
|
34
|
+
export type Response = VTCCommunityBrandingUpdateResponsePayload;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* This specification's payload schema, as a value.
|
|
38
|
+
*
|
|
39
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
40
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
41
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
42
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
43
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
44
|
+
*/
|
|
45
|
+
export const PAYLOAD_SCHEMA = {
|
|
46
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
47
|
+
"$id": "https://trusttasks.org/spec/vtc/community/branding/update/0.1",
|
|
48
|
+
"title": "VTC Community — Branding — Update — payload",
|
|
49
|
+
"description": "The whole new value, which replaces the stored one. The outer document members are owned by the framework — SPEC §6.3.",
|
|
50
|
+
"type": "object",
|
|
51
|
+
"additionalProperties": false,
|
|
52
|
+
"required": [
|
|
53
|
+
"branding"
|
|
54
|
+
],
|
|
55
|
+
"properties": {
|
|
56
|
+
"branding": {
|
|
57
|
+
"$ref": "#/$defs/CommunityBranding"
|
|
58
|
+
},
|
|
59
|
+
"ext": {
|
|
60
|
+
"$ref": "#/$defs/Ext"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"$defs": {
|
|
64
|
+
"Response": {
|
|
65
|
+
"$anchor": "response",
|
|
66
|
+
"title": "VTC Community — Branding — Update — response payload",
|
|
67
|
+
"type": "object",
|
|
68
|
+
"additionalProperties": false,
|
|
69
|
+
"required": [
|
|
70
|
+
"branding"
|
|
71
|
+
],
|
|
72
|
+
"properties": {
|
|
73
|
+
"branding": {
|
|
74
|
+
"$ref": "#/$defs/CommunityBranding"
|
|
75
|
+
},
|
|
76
|
+
"ext": {
|
|
77
|
+
"$ref": "#/$defs/Ext"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"Ext": {
|
|
82
|
+
"title": "Ext",
|
|
83
|
+
"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.",
|
|
84
|
+
"type": "object",
|
|
85
|
+
"minProperties": 1,
|
|
86
|
+
"additionalProperties": true,
|
|
87
|
+
"propertyNames": {
|
|
88
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"CommunityBranding": {
|
|
92
|
+
"title": "CommunityBranding",
|
|
93
|
+
"type": "object",
|
|
94
|
+
"additionalProperties": false,
|
|
95
|
+
"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.",
|
|
96
|
+
"properties": {
|
|
97
|
+
"displayName": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"minLength": 1,
|
|
100
|
+
"maxLength": 128,
|
|
101
|
+
"description": "The community's name as it asks to be shown."
|
|
102
|
+
},
|
|
103
|
+
"accentColor": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"pattern": "^#[0-9a-fA-F]{6}$",
|
|
106
|
+
"description": "An sRGB colour as `#rrggbb`, compared case-insensitively. A community SHOULD write it in lower case."
|
|
107
|
+
},
|
|
108
|
+
"logoUrl": {
|
|
109
|
+
"type": "string",
|
|
110
|
+
"format": "uri",
|
|
111
|
+
"pattern": "^https://",
|
|
112
|
+
"maxLength": 2048,
|
|
113
|
+
"description": "An https URL of the community's logo. Fetched by the client, so an untrusted image from wherever it points."
|
|
114
|
+
},
|
|
115
|
+
"ext": {
|
|
116
|
+
"$ref": "#/$defs/Ext"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
} as const;
|
|
122
|
+
|
|
123
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
124
|
+
export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
125
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
126
|
+
"$ref": "#/$defs/Response",
|
|
127
|
+
"$defs": {
|
|
128
|
+
"Response": {
|
|
129
|
+
"$anchor": "response",
|
|
130
|
+
"title": "VTC Community — Branding — Update — response payload",
|
|
131
|
+
"type": "object",
|
|
132
|
+
"additionalProperties": false,
|
|
133
|
+
"required": [
|
|
134
|
+
"branding"
|
|
135
|
+
],
|
|
136
|
+
"properties": {
|
|
137
|
+
"branding": {
|
|
138
|
+
"$ref": "#/$defs/CommunityBranding"
|
|
139
|
+
},
|
|
140
|
+
"ext": {
|
|
141
|
+
"$ref": "#/$defs/Ext"
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"Ext": {
|
|
146
|
+
"title": "Ext",
|
|
147
|
+
"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.",
|
|
148
|
+
"type": "object",
|
|
149
|
+
"minProperties": 1,
|
|
150
|
+
"additionalProperties": true,
|
|
151
|
+
"propertyNames": {
|
|
152
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"CommunityBranding": {
|
|
156
|
+
"title": "CommunityBranding",
|
|
157
|
+
"type": "object",
|
|
158
|
+
"additionalProperties": false,
|
|
159
|
+
"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.",
|
|
160
|
+
"properties": {
|
|
161
|
+
"displayName": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"minLength": 1,
|
|
164
|
+
"maxLength": 128,
|
|
165
|
+
"description": "The community's name as it asks to be shown."
|
|
166
|
+
},
|
|
167
|
+
"accentColor": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"pattern": "^#[0-9a-fA-F]{6}$",
|
|
170
|
+
"description": "An sRGB colour as `#rrggbb`, compared case-insensitively. A community SHOULD write it in lower case."
|
|
171
|
+
},
|
|
172
|
+
"logoUrl": {
|
|
173
|
+
"type": "string",
|
|
174
|
+
"format": "uri",
|
|
175
|
+
"pattern": "^https://",
|
|
176
|
+
"maxLength": 2048,
|
|
177
|
+
"description": "An https URL of the community's logo. Fetched by the client, so an untrusted image from wherever it points."
|
|
178
|
+
},
|
|
179
|
+
"ext": {
|
|
180
|
+
"$ref": "#/$defs/Ext"
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
} as const;
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
189
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
190
|
+
* per-specification and cannot be derived from the document alone, and
|
|
191
|
+
* item 2 needs the schema this carries.
|
|
192
|
+
*/
|
|
193
|
+
export const SPEC = {
|
|
194
|
+
typeUri: TYPE_URI,
|
|
195
|
+
isBearer: false,
|
|
196
|
+
isProofRequired: true,
|
|
197
|
+
isRecipientRequired: true,
|
|
198
|
+
isIssuedAtRequired: true,
|
|
199
|
+
payloadSchema: PAYLOAD_SCHEMA,
|
|
200
|
+
} as const;
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
204
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
205
|
+
* parties (§7.3 item 5).
|
|
206
|
+
*/
|
|
207
|
+
export const RESPONSE_SPEC = {
|
|
208
|
+
typeUri: RESPONSE_TYPE_URI,
|
|
209
|
+
isBearer: false,
|
|
210
|
+
isProofRequired: true,
|
|
211
|
+
isRecipientRequired: true,
|
|
212
|
+
isIssuedAtRequired: true,
|
|
213
|
+
payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
|
|
214
|
+
} as const;
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/vtc/community/join-discovery/show/0.1/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { Ext, JoinDiscovery } 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 VTCCommunityJoinDiscoveryShowPayload {
|
|
13
|
+
ext?: Ext;
|
|
14
|
+
}
|
|
15
|
+
export interface VTCCommunityJoinDiscoveryShowResponsePayload {
|
|
16
|
+
joinDiscovery: JoinDiscovery;
|
|
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 { Ext, JoinDiscovery };
|
|
22
|
+
|
|
23
|
+
/** Trust Task type URI. */
|
|
24
|
+
export const TYPE_URI = "https://trusttasks.org/spec/vtc/community/join-discovery/show/0.1" as const;
|
|
25
|
+
|
|
26
|
+
/** Stable alias for this specification's request payload shape. */
|
|
27
|
+
export type Payload = VTCCommunityJoinDiscoveryShowPayload;
|
|
28
|
+
|
|
29
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
30
|
+
export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/community/join-discovery/show/0.1#response" as const;
|
|
31
|
+
|
|
32
|
+
/** Stable alias for this specification's success-response payload shape. */
|
|
33
|
+
export type Response = VTCCommunityJoinDiscoveryShowResponsePayload;
|
|
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/join-discovery/show/0.1",
|
|
47
|
+
"title": "VTC Community — Join Discovery — 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 — Join Discovery — Show — response payload",
|
|
60
|
+
"type": "object",
|
|
61
|
+
"additionalProperties": false,
|
|
62
|
+
"required": [
|
|
63
|
+
"joinDiscovery"
|
|
64
|
+
],
|
|
65
|
+
"properties": {
|
|
66
|
+
"joinDiscovery": {
|
|
67
|
+
"$ref": "#/$defs/JoinDiscovery"
|
|
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
|
+
"JoinDiscovery": {
|
|
85
|
+
"title": "JoinDiscovery",
|
|
86
|
+
"type": "object",
|
|
87
|
+
"additionalProperties": false,
|
|
88
|
+
"required": [
|
|
89
|
+
"public"
|
|
90
|
+
],
|
|
91
|
+
"description": "Whether this community answers vtc/join-requests/manifest to a caller it cannot identify.",
|
|
92
|
+
"properties": {
|
|
93
|
+
"public": {
|
|
94
|
+
"type": "boolean",
|
|
95
|
+
"description": "True: the manifest is answered to any caller, identified or not — the setting of every community that never chose, because the manifest is a public read by design (an applicant has to know what is asked of them before they disclose anything). False: the manifest is answered only to a caller the community can identify — one with a verified proof or a transport-authenticated sender. Not secrecy: an identified caller is answered either way. False makes the answer attributable, which is what a closed or invite-only community wants rather than a crawler enumerating its criteria."
|
|
96
|
+
},
|
|
97
|
+
"ext": {
|
|
98
|
+
"$ref": "#/$defs/Ext"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
} as const;
|
|
104
|
+
|
|
105
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
106
|
+
export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
107
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
108
|
+
"$ref": "#/$defs/Response",
|
|
109
|
+
"$defs": {
|
|
110
|
+
"Response": {
|
|
111
|
+
"$anchor": "response",
|
|
112
|
+
"title": "VTC Community — Join Discovery — Show — response payload",
|
|
113
|
+
"type": "object",
|
|
114
|
+
"additionalProperties": false,
|
|
115
|
+
"required": [
|
|
116
|
+
"joinDiscovery"
|
|
117
|
+
],
|
|
118
|
+
"properties": {
|
|
119
|
+
"joinDiscovery": {
|
|
120
|
+
"$ref": "#/$defs/JoinDiscovery"
|
|
121
|
+
},
|
|
122
|
+
"ext": {
|
|
123
|
+
"$ref": "#/$defs/Ext"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"Ext": {
|
|
128
|
+
"title": "Ext",
|
|
129
|
+
"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.",
|
|
130
|
+
"type": "object",
|
|
131
|
+
"minProperties": 1,
|
|
132
|
+
"additionalProperties": true,
|
|
133
|
+
"propertyNames": {
|
|
134
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"JoinDiscovery": {
|
|
138
|
+
"title": "JoinDiscovery",
|
|
139
|
+
"type": "object",
|
|
140
|
+
"additionalProperties": false,
|
|
141
|
+
"required": [
|
|
142
|
+
"public"
|
|
143
|
+
],
|
|
144
|
+
"description": "Whether this community answers vtc/join-requests/manifest to a caller it cannot identify.",
|
|
145
|
+
"properties": {
|
|
146
|
+
"public": {
|
|
147
|
+
"type": "boolean",
|
|
148
|
+
"description": "True: the manifest is answered to any caller, identified or not — the setting of every community that never chose, because the manifest is a public read by design (an applicant has to know what is asked of them before they disclose anything). False: the manifest is answered only to a caller the community can identify — one with a verified proof or a transport-authenticated sender. Not secrecy: an identified caller is answered either way. False makes the answer attributable, which is what a closed or invite-only community wants rather than a crawler enumerating its criteria."
|
|
149
|
+
},
|
|
150
|
+
"ext": {
|
|
151
|
+
"$ref": "#/$defs/Ext"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
} as const;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
160
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
161
|
+
* per-specification and cannot be derived from the document alone, and
|
|
162
|
+
* item 2 needs the schema this carries.
|
|
163
|
+
*/
|
|
164
|
+
export const SPEC = {
|
|
165
|
+
typeUri: TYPE_URI,
|
|
166
|
+
isBearer: false,
|
|
167
|
+
isProofRequired: false,
|
|
168
|
+
isRecipientRequired: true,
|
|
169
|
+
isIssuedAtRequired: false,
|
|
170
|
+
payloadSchema: PAYLOAD_SCHEMA,
|
|
171
|
+
} as const;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
175
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
176
|
+
* parties (§7.3 item 5).
|
|
177
|
+
*/
|
|
178
|
+
export const RESPONSE_SPEC = {
|
|
179
|
+
typeUri: RESPONSE_TYPE_URI,
|
|
180
|
+
isBearer: false,
|
|
181
|
+
isProofRequired: false,
|
|
182
|
+
isRecipientRequired: true,
|
|
183
|
+
isIssuedAtRequired: false,
|
|
184
|
+
payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
|
|
185
|
+
} as const;
|