@openvtc/trust-tasks 0.26.0 → 0.26.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 +170 -0
- package/dist/_shared/components.d.ts +107 -1
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/dist/rooms/owner/group/add/0.1/payload.d.ts +417 -0
- package/dist/rooms/owner/group/add/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/owner/group/add/0.1/payload.js +218 -0
- package/dist/rooms/owner/group/add/0.1/payload.js.map +1 -0
- package/dist/rooms/owner/group/create/0.1/payload.d.ts +299 -0
- package/dist/rooms/owner/group/create/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/owner/group/create/0.1/payload.js +163 -0
- package/dist/rooms/owner/group/create/0.1/payload.js.map +1 -0
- package/dist/rooms/owner/group/remove/0.1/payload.d.ts +343 -0
- package/dist/rooms/owner/group/remove/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/owner/group/remove/0.1/payload.js +184 -0
- package/dist/rooms/owner/group/remove/0.1/payload.js.map +1 -0
- package/dist/rooms/owner/register/0.1/payload.d.ts +3 -3
- package/dist/rooms/owner/register/0.1/payload.js +1 -1
- package/dist/rooms/owner/register/0.1/payload.js.map +1 -1
- package/dist/vtc/_shared/0.1/community-room.d.ts +16 -0
- package/dist/vtc/_shared/0.1/community-room.d.ts.map +1 -0
- package/dist/vtc/_shared/0.1/community-room.js +6 -0
- package/dist/vtc/_shared/0.1/community-room.js.map +1 -0
- package/dist/vtc/admin/events/_shared/0.1/topic.d.ts +1 -1
- package/dist/vtc/admin/events/_shared/0.1/topic.d.ts.map +1 -1
- package/dist/vtc/admin/events/_shared/0.2/topic.d.ts +28 -0
- package/dist/vtc/admin/events/_shared/0.2/topic.d.ts.map +1 -0
- package/dist/vtc/admin/events/_shared/0.2/topic.js +6 -0
- package/dist/vtc/admin/events/_shared/0.2/topic.js.map +1 -0
- package/dist/vtc/admin/events/event/0.1/payload.d.ts +1 -1
- package/dist/vtc/admin/events/event/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/admin/events/event/0.2/payload.d.ts +172 -0
- package/dist/vtc/admin/events/event/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/admin/events/event/0.2/payload.js +100 -0
- package/dist/vtc/admin/events/event/0.2/payload.js.map +1 -0
- package/dist/vtc/admin/events/subscribe/0.1/payload.d.ts +1 -1
- package/dist/vtc/admin/events/subscribe/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/admin/events/subscribe/0.2/payload.d.ts +409 -0
- package/dist/vtc/admin/events/subscribe/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/admin/events/subscribe/0.2/payload.js +232 -0
- package/dist/vtc/admin/events/subscribe/0.2/payload.js.map +1 -0
- package/dist/vtc/oid4vp/identities/list/0.1/payload.d.ts +938 -0
- package/dist/vtc/oid4vp/identities/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/oid4vp/identities/list/0.1/payload.js +559 -0
- package/dist/vtc/oid4vp/identities/list/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/community/create/0.1/payload.d.ts +789 -0
- package/dist/vtc/rooms/community/create/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/create/0.1/payload.js +463 -0
- package/dist/vtc/rooms/community/create/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/community/get/0.1/payload.d.ts +711 -0
- package/dist/vtc/rooms/community/get/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/get/0.1/payload.js +429 -0
- package/dist/vtc/rooms/community/get/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/community/list/0.1/payload.d.ts +772 -0
- package/dist/vtc/rooms/community/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/list/0.1/payload.js +452 -0
- package/dist/vtc/rooms/community/list/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/community/members/add/0.1/payload.d.ts +535 -0
- package/dist/vtc/rooms/community/members/add/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/members/add/0.1/payload.js +314 -0
- package/dist/vtc/rooms/community/members/add/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/community/members/list/0.1/payload.d.ts +554 -0
- package/dist/vtc/rooms/community/members/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/members/list/0.1/payload.js +315 -0
- package/dist/vtc/rooms/community/members/list/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/community/members/remove/0.1/payload.d.ts +533 -0
- package/dist/vtc/rooms/community/members/remove/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/members/remove/0.1/payload.js +313 -0
- package/dist/vtc/rooms/community/members/remove/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/offers/accept/0.1/payload.d.ts +349 -0
- package/dist/vtc/rooms/offers/accept/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/offers/accept/0.1/payload.js +188 -0
- package/dist/vtc/rooms/offers/accept/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/offers/list/0.1/payload.d.ts +692 -0
- package/dist/vtc/rooms/offers/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/offers/list/0.1/payload.js +408 -0
- package/dist/vtc/rooms/offers/list/0.1/payload.js.map +1 -0
- package/package.json +1 -1
- package/src/_shared/components.ts +120 -1
- package/src/index.ts +16 -0
- package/src/rooms/owner/group/add/0.1/payload.ts +288 -0
- package/src/rooms/owner/group/create/0.1/payload.ts +213 -0
- package/src/rooms/owner/group/remove/0.1/payload.ts +242 -0
- package/src/rooms/owner/register/0.1/payload.ts +2 -2
- package/src/vtc/_shared/0.1/community-room.ts +17 -0
- package/src/vtc/admin/events/_shared/0.1/topic.ts +1 -1
- package/src/vtc/admin/events/_shared/0.2/topic.ts +29 -0
- package/src/vtc/admin/events/event/0.1/payload.ts +1 -1
- package/src/vtc/admin/events/event/0.2/payload.ts +134 -0
- package/src/vtc/admin/events/subscribe/0.1/payload.ts +1 -1
- package/src/vtc/admin/events/subscribe/0.2/payload.ts +306 -0
- package/src/vtc/oid4vp/identities/list/0.1/payload.ts +706 -0
- package/src/vtc/rooms/community/create/0.1/payload.ts +509 -0
- package/src/vtc/rooms/community/get/0.1/payload.ts +461 -0
- package/src/vtc/rooms/community/list/0.1/payload.ts +495 -0
- package/src/vtc/rooms/community/members/add/0.1/payload.ts +356 -0
- package/src/vtc/rooms/community/members/list/0.1/payload.ts +366 -0
- package/src/vtc/rooms/community/members/remove/0.1/payload.ts +351 -0
- package/src/vtc/rooms/offers/accept/0.1/payload.ts +240 -0
- package/src/vtc/rooms/offers/list/0.1/payload.ts +451 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../../src/vtc/rooms/offers/list/0.1/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAG7I,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD;;OAEG;IACH,KAAK,EAAE,KAAK,EAAE,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,kHAAkH;AAClH,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAEjG,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,uDAAgE,CAAC;AAEzF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,yBAAyB,CAAC;AAEhD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,gEAAyE,CAAC;AAE3G,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,iCAAiC,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8LjB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0K1B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOhB,CAAC"}
|
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/vtc/rooms/offers/list/0.1/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
/** Trust Task type URI. */
|
|
6
|
+
export const TYPE_URI = "https://trusttasks.org/spec/vtc/rooms/offers/list/0.1";
|
|
7
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
8
|
+
export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/rooms/offers/list/0.1#response";
|
|
9
|
+
/**
|
|
10
|
+
* This specification's payload schema, as a value.
|
|
11
|
+
*
|
|
12
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
13
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
14
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
15
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
16
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
17
|
+
*/
|
|
18
|
+
export const PAYLOAD_SCHEMA = {
|
|
19
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
20
|
+
"$id": "https://trusttasks.org/spec/vtc/rooms/offers/list/0.1",
|
|
21
|
+
"title": "VTC Rooms Offers List — payload",
|
|
22
|
+
"type": "object",
|
|
23
|
+
"additionalProperties": false,
|
|
24
|
+
"properties": {
|
|
25
|
+
"cursor": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"minLength": 1,
|
|
28
|
+
"maxLength": 1024,
|
|
29
|
+
"description": "Opaque continuation token from a previous page's `nextCursor`."
|
|
30
|
+
},
|
|
31
|
+
"limit": {
|
|
32
|
+
"type": "integer",
|
|
33
|
+
"minimum": 1,
|
|
34
|
+
"maximum": 100,
|
|
35
|
+
"description": "Page size. The community chooses when absent (50 in the reference implementation)."
|
|
36
|
+
},
|
|
37
|
+
"ext": {
|
|
38
|
+
"$ref": "#/$defs/Ext"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"$defs": {
|
|
42
|
+
"Response": {
|
|
43
|
+
"$anchor": "response",
|
|
44
|
+
"title": "VTC Rooms Offers List — response payload",
|
|
45
|
+
"description": "Success response to vtc/rooms/offers/list. Type https://trusttasks.org/spec/vtc/rooms/offers/list/0.1#response. The offers addressed to the caller, and no one else's.",
|
|
46
|
+
"type": "object",
|
|
47
|
+
"additionalProperties": false,
|
|
48
|
+
"required": [
|
|
49
|
+
"items"
|
|
50
|
+
],
|
|
51
|
+
"properties": {
|
|
52
|
+
"items": {
|
|
53
|
+
"type": "array",
|
|
54
|
+
"maxItems": 100,
|
|
55
|
+
"items": {
|
|
56
|
+
"$ref": "#/$defs/Offer"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"nextCursor": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"minLength": 1,
|
|
62
|
+
"maxLength": 1024,
|
|
63
|
+
"description": "Present when more remain; pass it as `cursor`."
|
|
64
|
+
},
|
|
65
|
+
"ext": {
|
|
66
|
+
"$ref": "#/$defs/Ext"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"Ext": {
|
|
71
|
+
"title": "Ext",
|
|
72
|
+
"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.",
|
|
73
|
+
"type": "object",
|
|
74
|
+
"minProperties": 1,
|
|
75
|
+
"additionalProperties": true,
|
|
76
|
+
"propertyNames": {
|
|
77
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"Offer": {
|
|
81
|
+
"title": "Offer",
|
|
82
|
+
"type": "object",
|
|
83
|
+
"additionalProperties": false,
|
|
84
|
+
"required": [
|
|
85
|
+
"roomId",
|
|
86
|
+
"host",
|
|
87
|
+
"label",
|
|
88
|
+
"visibility",
|
|
89
|
+
"actions",
|
|
90
|
+
"validUntil",
|
|
91
|
+
"offeredAt",
|
|
92
|
+
"state",
|
|
93
|
+
"credentials"
|
|
94
|
+
],
|
|
95
|
+
"description": "A community's offer of admission to a room it owns, as the member it is addressed to sees it.",
|
|
96
|
+
"properties": {
|
|
97
|
+
"roomId": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"minLength": 1,
|
|
100
|
+
"maxLength": 512
|
|
101
|
+
},
|
|
102
|
+
"host": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"pattern": "^did:",
|
|
105
|
+
"maxLength": 2048,
|
|
106
|
+
"description": "The room's host: this community."
|
|
107
|
+
},
|
|
108
|
+
"label": {
|
|
109
|
+
"$ref": "#/$defs/RoomLabel"
|
|
110
|
+
},
|
|
111
|
+
"visibility": {
|
|
112
|
+
"$ref": "#/$defs/Visibility"
|
|
113
|
+
},
|
|
114
|
+
"actions": {
|
|
115
|
+
"$ref": "#/$defs/MemberActions"
|
|
116
|
+
},
|
|
117
|
+
"validUntil": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"format": "date-time"
|
|
120
|
+
},
|
|
121
|
+
"offeredAt": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"format": "date-time"
|
|
124
|
+
},
|
|
125
|
+
"state": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"enum": [
|
|
128
|
+
"open",
|
|
129
|
+
"accepted"
|
|
130
|
+
],
|
|
131
|
+
"description": "`open`: not yet accepted. `accepted`: accepted, kept listed while a repeated accept can still be answered."
|
|
132
|
+
},
|
|
133
|
+
"credentials": {
|
|
134
|
+
"$ref": "#/$defs/OfferCredentials"
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"OfferCredentials": {
|
|
139
|
+
"title": "OfferCredentials",
|
|
140
|
+
"type": "object",
|
|
141
|
+
"additionalProperties": false,
|
|
142
|
+
"required": [
|
|
143
|
+
"invitation",
|
|
144
|
+
"membership",
|
|
145
|
+
"authority"
|
|
146
|
+
],
|
|
147
|
+
"description": "The three credentials the room issued to the member, serialized as rooms/owner/{invite,issue-membership,issue-authority} return them. None is a secret: each names its subject, and a presentation of it must be signed by that subject. The member stores them in their own key holder's vault.",
|
|
148
|
+
"properties": {
|
|
149
|
+
"invitation": {
|
|
150
|
+
"type": "string",
|
|
151
|
+
"minLength": 1,
|
|
152
|
+
"maxLength": 65536,
|
|
153
|
+
"description": "The Verifiable Invitation Credential. On a sealed tier the member's key holder needs it to mint a KeyPackage (rooms/keys/key-package) and to accept the Welcome (rooms/keys/welcome)."
|
|
154
|
+
},
|
|
155
|
+
"membership": {
|
|
156
|
+
"type": "string",
|
|
157
|
+
"minLength": 1,
|
|
158
|
+
"maxLength": 65536,
|
|
159
|
+
"description": "The Verifiable Membership Credential."
|
|
160
|
+
},
|
|
161
|
+
"authority": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"minLength": 1,
|
|
164
|
+
"maxLength": 65536,
|
|
165
|
+
"description": "The Verifiable Authority Credential granting `actions` until `validUntil`."
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"MemberActions": {
|
|
170
|
+
"title": "MemberActions",
|
|
171
|
+
"type": "array",
|
|
172
|
+
"minItems": 1,
|
|
173
|
+
"maxItems": 3,
|
|
174
|
+
"uniqueItems": true,
|
|
175
|
+
"items": {
|
|
176
|
+
"$ref": "#/$defs/MemberAction"
|
|
177
|
+
},
|
|
178
|
+
"description": "The actions granted, at least one. An empty list confers nothing rather than everything, and a schema that allowed it would make the more dangerous reading available to a careless consumer."
|
|
179
|
+
},
|
|
180
|
+
"MemberAction": {
|
|
181
|
+
"title": "MemberAction",
|
|
182
|
+
"type": "string",
|
|
183
|
+
"enum": [
|
|
184
|
+
"read",
|
|
185
|
+
"write",
|
|
186
|
+
"curate"
|
|
187
|
+
],
|
|
188
|
+
"description": "What a member of a community-owned room may do there. `admin` is not among them: minting epochs, admitting and removing members are the community's, as the room's owner, and are exercised through the vtc/rooms/community/* tasks rather than by any member's credential. `curate` is not implied by `write`."
|
|
189
|
+
},
|
|
190
|
+
"RoomLabel": {
|
|
191
|
+
"title": "RoomLabel",
|
|
192
|
+
"type": "string",
|
|
193
|
+
"minLength": 1,
|
|
194
|
+
"maxLength": 128,
|
|
195
|
+
"description": "A name for the room, chosen by an administrator: shown to administrators and to the members a room is offered to. Not part of the room's identity and not sent to the room's host path. MUST NOT carry personal data."
|
|
196
|
+
},
|
|
197
|
+
"Visibility": {
|
|
198
|
+
"title": "Visibility",
|
|
199
|
+
"type": "string",
|
|
200
|
+
"enum": [
|
|
201
|
+
"open",
|
|
202
|
+
"attributed",
|
|
203
|
+
"private"
|
|
204
|
+
],
|
|
205
|
+
"description": "How much of a room its host can see, fixed at creation and immutable thereafter. `open`: records are cleartext, searchable and fully audited. `attributed`: record content is sealed, and the host still learns which member acted. `private`: content is sealed and membership is presented in zero knowledge, so the host verifies that a member acted without learning which. Immutable because a downgrade cannot un-see cleartext and an upgrade would protect only what came after while presenting as though it protected everything."
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
210
|
+
export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
211
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
212
|
+
"$ref": "#/$defs/Response",
|
|
213
|
+
"$defs": {
|
|
214
|
+
"Response": {
|
|
215
|
+
"$anchor": "response",
|
|
216
|
+
"title": "VTC Rooms Offers List — response payload",
|
|
217
|
+
"description": "Success response to vtc/rooms/offers/list. Type https://trusttasks.org/spec/vtc/rooms/offers/list/0.1#response. The offers addressed to the caller, and no one else's.",
|
|
218
|
+
"type": "object",
|
|
219
|
+
"additionalProperties": false,
|
|
220
|
+
"required": [
|
|
221
|
+
"items"
|
|
222
|
+
],
|
|
223
|
+
"properties": {
|
|
224
|
+
"items": {
|
|
225
|
+
"type": "array",
|
|
226
|
+
"maxItems": 100,
|
|
227
|
+
"items": {
|
|
228
|
+
"$ref": "#/$defs/Offer"
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
"nextCursor": {
|
|
232
|
+
"type": "string",
|
|
233
|
+
"minLength": 1,
|
|
234
|
+
"maxLength": 1024,
|
|
235
|
+
"description": "Present when more remain; pass it as `cursor`."
|
|
236
|
+
},
|
|
237
|
+
"ext": {
|
|
238
|
+
"$ref": "#/$defs/Ext"
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
"Ext": {
|
|
243
|
+
"title": "Ext",
|
|
244
|
+
"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.",
|
|
245
|
+
"type": "object",
|
|
246
|
+
"minProperties": 1,
|
|
247
|
+
"additionalProperties": true,
|
|
248
|
+
"propertyNames": {
|
|
249
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"Offer": {
|
|
253
|
+
"title": "Offer",
|
|
254
|
+
"type": "object",
|
|
255
|
+
"additionalProperties": false,
|
|
256
|
+
"required": [
|
|
257
|
+
"roomId",
|
|
258
|
+
"host",
|
|
259
|
+
"label",
|
|
260
|
+
"visibility",
|
|
261
|
+
"actions",
|
|
262
|
+
"validUntil",
|
|
263
|
+
"offeredAt",
|
|
264
|
+
"state",
|
|
265
|
+
"credentials"
|
|
266
|
+
],
|
|
267
|
+
"description": "A community's offer of admission to a room it owns, as the member it is addressed to sees it.",
|
|
268
|
+
"properties": {
|
|
269
|
+
"roomId": {
|
|
270
|
+
"type": "string",
|
|
271
|
+
"minLength": 1,
|
|
272
|
+
"maxLength": 512
|
|
273
|
+
},
|
|
274
|
+
"host": {
|
|
275
|
+
"type": "string",
|
|
276
|
+
"pattern": "^did:",
|
|
277
|
+
"maxLength": 2048,
|
|
278
|
+
"description": "The room's host: this community."
|
|
279
|
+
},
|
|
280
|
+
"label": {
|
|
281
|
+
"$ref": "#/$defs/RoomLabel"
|
|
282
|
+
},
|
|
283
|
+
"visibility": {
|
|
284
|
+
"$ref": "#/$defs/Visibility"
|
|
285
|
+
},
|
|
286
|
+
"actions": {
|
|
287
|
+
"$ref": "#/$defs/MemberActions"
|
|
288
|
+
},
|
|
289
|
+
"validUntil": {
|
|
290
|
+
"type": "string",
|
|
291
|
+
"format": "date-time"
|
|
292
|
+
},
|
|
293
|
+
"offeredAt": {
|
|
294
|
+
"type": "string",
|
|
295
|
+
"format": "date-time"
|
|
296
|
+
},
|
|
297
|
+
"state": {
|
|
298
|
+
"type": "string",
|
|
299
|
+
"enum": [
|
|
300
|
+
"open",
|
|
301
|
+
"accepted"
|
|
302
|
+
],
|
|
303
|
+
"description": "`open`: not yet accepted. `accepted`: accepted, kept listed while a repeated accept can still be answered."
|
|
304
|
+
},
|
|
305
|
+
"credentials": {
|
|
306
|
+
"$ref": "#/$defs/OfferCredentials"
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
"OfferCredentials": {
|
|
311
|
+
"title": "OfferCredentials",
|
|
312
|
+
"type": "object",
|
|
313
|
+
"additionalProperties": false,
|
|
314
|
+
"required": [
|
|
315
|
+
"invitation",
|
|
316
|
+
"membership",
|
|
317
|
+
"authority"
|
|
318
|
+
],
|
|
319
|
+
"description": "The three credentials the room issued to the member, serialized as rooms/owner/{invite,issue-membership,issue-authority} return them. None is a secret: each names its subject, and a presentation of it must be signed by that subject. The member stores them in their own key holder's vault.",
|
|
320
|
+
"properties": {
|
|
321
|
+
"invitation": {
|
|
322
|
+
"type": "string",
|
|
323
|
+
"minLength": 1,
|
|
324
|
+
"maxLength": 65536,
|
|
325
|
+
"description": "The Verifiable Invitation Credential. On a sealed tier the member's key holder needs it to mint a KeyPackage (rooms/keys/key-package) and to accept the Welcome (rooms/keys/welcome)."
|
|
326
|
+
},
|
|
327
|
+
"membership": {
|
|
328
|
+
"type": "string",
|
|
329
|
+
"minLength": 1,
|
|
330
|
+
"maxLength": 65536,
|
|
331
|
+
"description": "The Verifiable Membership Credential."
|
|
332
|
+
},
|
|
333
|
+
"authority": {
|
|
334
|
+
"type": "string",
|
|
335
|
+
"minLength": 1,
|
|
336
|
+
"maxLength": 65536,
|
|
337
|
+
"description": "The Verifiable Authority Credential granting `actions` until `validUntil`."
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
"MemberActions": {
|
|
342
|
+
"title": "MemberActions",
|
|
343
|
+
"type": "array",
|
|
344
|
+
"minItems": 1,
|
|
345
|
+
"maxItems": 3,
|
|
346
|
+
"uniqueItems": true,
|
|
347
|
+
"items": {
|
|
348
|
+
"$ref": "#/$defs/MemberAction"
|
|
349
|
+
},
|
|
350
|
+
"description": "The actions granted, at least one. An empty list confers nothing rather than everything, and a schema that allowed it would make the more dangerous reading available to a careless consumer."
|
|
351
|
+
},
|
|
352
|
+
"MemberAction": {
|
|
353
|
+
"title": "MemberAction",
|
|
354
|
+
"type": "string",
|
|
355
|
+
"enum": [
|
|
356
|
+
"read",
|
|
357
|
+
"write",
|
|
358
|
+
"curate"
|
|
359
|
+
],
|
|
360
|
+
"description": "What a member of a community-owned room may do there. `admin` is not among them: minting epochs, admitting and removing members are the community's, as the room's owner, and are exercised through the vtc/rooms/community/* tasks rather than by any member's credential. `curate` is not implied by `write`."
|
|
361
|
+
},
|
|
362
|
+
"RoomLabel": {
|
|
363
|
+
"title": "RoomLabel",
|
|
364
|
+
"type": "string",
|
|
365
|
+
"minLength": 1,
|
|
366
|
+
"maxLength": 128,
|
|
367
|
+
"description": "A name for the room, chosen by an administrator: shown to administrators and to the members a room is offered to. Not part of the room's identity and not sent to the room's host path. MUST NOT carry personal data."
|
|
368
|
+
},
|
|
369
|
+
"Visibility": {
|
|
370
|
+
"title": "Visibility",
|
|
371
|
+
"type": "string",
|
|
372
|
+
"enum": [
|
|
373
|
+
"open",
|
|
374
|
+
"attributed",
|
|
375
|
+
"private"
|
|
376
|
+
],
|
|
377
|
+
"description": "How much of a room its host can see, fixed at creation and immutable thereafter. `open`: records are cleartext, searchable and fully audited. `attributed`: record content is sealed, and the host still learns which member acted. `private`: content is sealed and membership is presented in zero knowledge, so the host verifies that a member acted without learning which. Immutable because a downgrade cannot un-see cleartext and an upgrade would protect only what came after while presenting as though it protected everything."
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
};
|
|
381
|
+
/**
|
|
382
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
383
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
384
|
+
* per-specification and cannot be derived from the document alone, and
|
|
385
|
+
* item 2 needs the schema this carries.
|
|
386
|
+
*/
|
|
387
|
+
export const SPEC = {
|
|
388
|
+
typeUri: TYPE_URI,
|
|
389
|
+
isBearer: false,
|
|
390
|
+
isProofRequired: true,
|
|
391
|
+
isRecipientRequired: true,
|
|
392
|
+
isIssuedAtRequired: true,
|
|
393
|
+
payloadSchema: PAYLOAD_SCHEMA,
|
|
394
|
+
};
|
|
395
|
+
/**
|
|
396
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
397
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
398
|
+
* parties (§7.3 item 5).
|
|
399
|
+
*/
|
|
400
|
+
export const RESPONSE_SPEC = {
|
|
401
|
+
typeUri: RESPONSE_TYPE_URI,
|
|
402
|
+
isBearer: false,
|
|
403
|
+
isProofRequired: true,
|
|
404
|
+
isRecipientRequired: true,
|
|
405
|
+
isIssuedAtRequired: true,
|
|
406
|
+
payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
|
|
407
|
+
};
|
|
408
|
+
//# sourceMappingURL=payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../../src/vtc/rooms/offers/list/0.1/payload.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -810,6 +810,21 @@ export type LimitSource = "policy" | "override" | "default";
|
|
|
810
810
|
* The two-digit number the service chooses at claim, shows only to the starter (through redeem), and the approver types from the starter's screen. A string so that a leading zero survives.
|
|
811
811
|
*/
|
|
812
812
|
export type MatchNumber = string;
|
|
813
|
+
/**
|
|
814
|
+
* What a member of a community-owned room may do there. `admin` is not among them: minting epochs, admitting and removing members are the community's, as the room's owner, and are exercised through the vtc/rooms/community/* tasks rather than by any member's credential. `curate` is not implied by `write`.
|
|
815
|
+
*/
|
|
816
|
+
export type MemberAction = "read" | "write" | "curate";
|
|
817
|
+
/**
|
|
818
|
+
* The actions granted, at least one. An empty list confers nothing rather than everything, and a schema that allowed it would make the more dangerous reading available to a careless consumer.
|
|
819
|
+
*
|
|
820
|
+
* @minItems 1
|
|
821
|
+
* @maxItems 3
|
|
822
|
+
*/
|
|
823
|
+
export type MemberActions = [MemberAction] | [MemberAction, MemberAction] | [MemberAction, MemberAction, MemberAction];
|
|
824
|
+
/**
|
|
825
|
+
* Where an admission stands. `offered`: credentials issued and waiting for the member to collect and accept them. `admitted`: accepted — on a sealed tier, the member is in the room's group. `removed`: an administrator removed them; on a sealed tier the room has advanced past them.
|
|
826
|
+
*/
|
|
827
|
+
export type MemberState = "offered" | "admitted" | "removed";
|
|
813
828
|
/**
|
|
814
829
|
* How the request reaches the approver. A CLOSED list. Version 0.1 defines `scan`: the starter shows a trigger link (as a QR code that is also a clickable link, TRIGGER-LINK.md) and the approver's wallet reads it. `code` (a typed code of at least 8 characters, under strict rate limits) and `push` (sent to the approver's enrolled devices) are reserved names.
|
|
815
830
|
*/
|
|
@@ -977,6 +992,10 @@ export type PushRegistration = Apns | Fcm | WebPush;
|
|
|
977
992
|
* Which of an account's two queues. `receive` holds messages addressed to the account awaiting its pickup. `send` holds messages the account sent that are still held against it until their recipient deletes them — so a stalled recipient fills its senders' send queues.
|
|
978
993
|
*/
|
|
979
994
|
export type Queue = "receive" | "send";
|
|
995
|
+
/**
|
|
996
|
+
* Why the administrator is making this change. Recorded with it in the audit trail. Attributed to its author on every surface and untrusted: it MUST NOT carry personal data or a credential, and a reader MUST NOT treat it as instructions.
|
|
997
|
+
*/
|
|
998
|
+
export type Reason = string;
|
|
980
999
|
/**
|
|
981
1000
|
* How many records the room held when `DataCommitment` was computed — the number of leaves in that tree, tombstones included, since a tombstone is a record.
|
|
982
1001
|
*
|
|
@@ -1081,6 +1100,10 @@ export type RoleKeyState = "pending" | "staged" | "active" | "retiring" | "retir
|
|
|
1081
1100
|
* A role identifier: lowercase, hyphen-separated, at most 64 characters. Compared by exact string equality. It is the value an AclEntry 0.2 carries in `role`.
|
|
1082
1101
|
*/
|
|
1083
1102
|
export type RoleName = string;
|
|
1103
|
+
/**
|
|
1104
|
+
* A name for the room, chosen by an administrator: shown to administrators and to the members a room is offered to. Not part of the room's identity and not sent to the room's host path. MUST NOT carry personal data.
|
|
1105
|
+
*/
|
|
1106
|
+
export type RoomLabel = string;
|
|
1084
1107
|
/**
|
|
1085
1108
|
* `planned` — a successor was staged, activated, and the predecessor retired on the operator's schedule. `compromise` — a key was revoked and, where the role would otherwise be empty, replaced in the same log entry. `addition` — a key was added to a role without anything leaving it (for example a post-quantum key alongside a classical one).
|
|
1086
1109
|
*/
|
|
@@ -1277,7 +1300,24 @@ export type TickLength = string;
|
|
|
1277
1300
|
/**
|
|
1278
1301
|
* One kind of change a console can be told about. A closed set: a topic not listed here is a new MINOR version of this component, not an `ext` member, because each topic is bound to the read that authorizes it.
|
|
1279
1302
|
*/
|
|
1280
|
-
export type
|
|
1303
|
+
export type Topic_VtcAdminEventsV0_1 =
|
|
1304
|
+
| "actions"
|
|
1305
|
+
| "acknowledgements"
|
|
1306
|
+
| "joinRequests"
|
|
1307
|
+
| "members"
|
|
1308
|
+
| "singleAdminMode"
|
|
1309
|
+
| "config";
|
|
1310
|
+
/**
|
|
1311
|
+
* One kind of change a console can be told about. A closed set: a topic not listed here is a new MINOR version of this component, not an `ext` member, because each topic is bound to the read that authorizes it.
|
|
1312
|
+
*/
|
|
1313
|
+
export type Topic_VtcAdminEventsV0_2 =
|
|
1314
|
+
| "actions"
|
|
1315
|
+
| "acknowledgements"
|
|
1316
|
+
| "joinRequests"
|
|
1317
|
+
| "members"
|
|
1318
|
+
| "singleAdminMode"
|
|
1319
|
+
| "config"
|
|
1320
|
+
| "rooms";
|
|
1281
1321
|
/**
|
|
1282
1322
|
* How the traffic reached or left the mediator. `peerMediator` is mediator-to-mediator forwarding.
|
|
1283
1323
|
*/
|
|
@@ -4561,6 +4601,33 @@ export interface CommunityProfileView {
|
|
|
4561
4601
|
*/
|
|
4562
4602
|
personhood?: PersonhoodGovernance;
|
|
4563
4603
|
}
|
|
4604
|
+
/**
|
|
4605
|
+
* One room the community owns, as its administrators see it.
|
|
4606
|
+
*/
|
|
4607
|
+
export interface CommunityRoom {
|
|
4608
|
+
room: HostedRoom;
|
|
4609
|
+
label: RoomLabel;
|
|
4610
|
+
/**
|
|
4611
|
+
* The storage config receiving the room's new uploads.
|
|
4612
|
+
*/
|
|
4613
|
+
storageConfig?: StorageConfigId;
|
|
4614
|
+
/**
|
|
4615
|
+
* Members in state `admitted`.
|
|
4616
|
+
*/
|
|
4617
|
+
admitted: number;
|
|
4618
|
+
/**
|
|
4619
|
+
* Offers not yet accepted or withdrawn.
|
|
4620
|
+
*/
|
|
4621
|
+
offered: number;
|
|
4622
|
+
/**
|
|
4623
|
+
* When the community's own `admin` authority over the room expires. A room whose owner's authority lapses can no longer advance its epoch, admit or remove; a community SHOULD renew it well before.
|
|
4624
|
+
*/
|
|
4625
|
+
ownerAuthorityValidUntil?: string;
|
|
4626
|
+
/**
|
|
4627
|
+
* The administrator who created it.
|
|
4628
|
+
*/
|
|
4629
|
+
createdBy?: string;
|
|
4630
|
+
}
|
|
4564
4631
|
/**
|
|
4565
4632
|
* A community's portable configuration: its profile plus the configuration overrides a maintainer stores for itself. Deliberately excludes per-host layers (environment variables, on-disk config files) — those describe where a maintainer runs, not what the community is, and carrying them would make an import overwrite the target host's own deployment settings.
|
|
4566
4633
|
*
|
|
@@ -6760,6 +6827,43 @@ export interface MonitorFilter {
|
|
|
6760
6827
|
*/
|
|
6761
6828
|
failuresOnly?: boolean;
|
|
6762
6829
|
}
|
|
6830
|
+
/**
|
|
6831
|
+
* A community's offer of admission to a room it owns, as the member it is addressed to sees it.
|
|
6832
|
+
*/
|
|
6833
|
+
export interface Offer {
|
|
6834
|
+
roomId: string;
|
|
6835
|
+
/**
|
|
6836
|
+
* The room's host: this community.
|
|
6837
|
+
*/
|
|
6838
|
+
host: string;
|
|
6839
|
+
label: RoomLabel;
|
|
6840
|
+
visibility: Visibility;
|
|
6841
|
+
actions: MemberActions;
|
|
6842
|
+
validUntil: string;
|
|
6843
|
+
offeredAt: string;
|
|
6844
|
+
/**
|
|
6845
|
+
* `open`: not yet accepted. `accepted`: accepted, kept listed while a repeated accept can still be answered.
|
|
6846
|
+
*/
|
|
6847
|
+
state: "open" | "accepted";
|
|
6848
|
+
credentials: OfferCredentials;
|
|
6849
|
+
}
|
|
6850
|
+
/**
|
|
6851
|
+
* The three credentials the room issued to the member, serialized as rooms/owner/{invite,issue-membership,issue-authority} return them. None is a secret: each names its subject, and a presentation of it must be signed by that subject. The member stores them in their own key holder's vault.
|
|
6852
|
+
*/
|
|
6853
|
+
export interface OfferCredentials {
|
|
6854
|
+
/**
|
|
6855
|
+
* The Verifiable Invitation Credential. On a sealed tier the member's key holder needs it to mint a KeyPackage (rooms/keys/key-package) and to accept the Welcome (rooms/keys/welcome).
|
|
6856
|
+
*/
|
|
6857
|
+
invitation: string;
|
|
6858
|
+
/**
|
|
6859
|
+
* The Verifiable Membership Credential.
|
|
6860
|
+
*/
|
|
6861
|
+
membership: string;
|
|
6862
|
+
/**
|
|
6863
|
+
* The Verifiable Authority Credential granting `actions` until `validUntil`.
|
|
6864
|
+
*/
|
|
6865
|
+
authority: string;
|
|
6866
|
+
}
|
|
6763
6867
|
export interface PasskeyVerificationMethod {
|
|
6764
6868
|
/**
|
|
6765
6869
|
* The verificationMethod id as it appears in the DID document: `<did>#passkey-<base64url(sha256(credentialId))>`. The fragment is content-derived so a verifier can locate this VM by recomputing `sha256(credential.id)`.
|
|
@@ -7899,6 +8003,21 @@ export interface RoomLimits {
|
|
|
7899
8003
|
*/
|
|
7900
8004
|
member?: ScopeLimits;
|
|
7901
8005
|
}
|
|
8006
|
+
/**
|
|
8007
|
+
* One party the community admitted to a room it owns, or offered admission to.
|
|
8008
|
+
*/
|
|
8009
|
+
export interface RoomMember {
|
|
8010
|
+
member: string;
|
|
8011
|
+
actions: MemberActions;
|
|
8012
|
+
/**
|
|
8013
|
+
* When the member's authority credential expires.
|
|
8014
|
+
*/
|
|
8015
|
+
validUntil: string;
|
|
8016
|
+
state: MemberState;
|
|
8017
|
+
offeredAt: string;
|
|
8018
|
+
admittedAt?: string;
|
|
8019
|
+
removedAt?: string;
|
|
8020
|
+
}
|
|
7902
8021
|
/**
|
|
7903
8022
|
* One change to a role's key set, from preview to completion. The rotation history of a DID is the list of these; the log is the authority for what was published, and this record adds what the log cannot say — which change was which, and (custody projection only) who asked, who approved, and why.
|
|
7904
8023
|
*/
|