@openvtc/trust-tasks 0.12.5 → 0.12.7
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/dist/vtc/join-requests/list/0.1/payload.d.ts +123 -0
- package/dist/vtc/join-requests/list/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/join-requests/list/0.1/payload.js +74 -0
- package/dist/vtc/join-requests/list/0.1/payload.js.map +1 -1
- package/dist/vtc/join-requests/show/0.1/payload.d.ts +123 -0
- package/dist/vtc/join-requests/show/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/join-requests/show/0.1/payload.js +74 -0
- package/dist/vtc/join-requests/show/0.1/payload.js.map +1 -1
- package/dist/vtc/join-requests/status/0.1/payload.d.ts +68 -6
- package/dist/vtc/join-requests/status/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/join-requests/status/0.1/payload.js +33 -4
- package/dist/vtc/join-requests/status/0.1/payload.js.map +1 -1
- package/dist/vtc/relationships/publish/0.1/payload.d.ts +106 -0
- package/dist/vtc/relationships/publish/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/relationships/publish/0.1/payload.js +49 -0
- package/dist/vtc/relationships/publish/0.1/payload.js.map +1 -1
- package/dist/vtc/relationships/publish/0.2/payload.d.ts +76 -2
- package/dist/vtc/relationships/publish/0.2/payload.d.ts.map +1 -1
- package/dist/vtc/relationships/publish/0.2/payload.js +29 -0
- package/dist/vtc/relationships/publish/0.2/payload.js.map +1 -1
- package/package.json +1 -1
- package/src/vtc/join-requests/list/0.1/payload.ts +97 -0
- package/src/vtc/join-requests/show/0.1/payload.ts +97 -0
- package/src/vtc/join-requests/status/0.1/payload.ts +47 -6
- package/src/vtc/relationships/publish/0.1/payload.ts +76 -0
- package/src/vtc/relationships/publish/0.2/payload.ts +57 -2
|
@@ -3,14 +3,40 @@
|
|
|
3
3
|
* Source: specs/vtc/relationships/publish/0.2/payload.schema.json
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* Digest over the RFC 8785 canonicalization of the
|
|
6
|
+
* Digest over the RFC 8785 canonicalization of the VRC this authorizes. Binds the authorization to one credential, so it cannot be moved to another.
|
|
7
7
|
*/
|
|
8
8
|
export type DigestMultibase = string;
|
|
9
|
+
/**
|
|
10
|
+
* Digest over the RFC 8785 canonicalization of the stored VRC, for out-of-band integrity checks. The same value vtc/relationships/request reports on issuance and vtc/relationships/list reports per entry, so a member can tie the three together without re-hashing.
|
|
11
|
+
*/
|
|
12
|
+
export type DigestMultibase1 = string;
|
|
9
13
|
export interface VTCRelationshipsPublishPayload {
|
|
10
14
|
/**
|
|
11
15
|
* A signed W3C Verifiable Relationship Credential (opaque here). Its issuer MUST equal the document proof signer; credentialSubject.id names the subject member; it carries its own DataIntegrityProof.
|
|
12
16
|
*/
|
|
13
17
|
vrc: {};
|
|
18
|
+
/**
|
|
19
|
+
* Proof that the caller controls the key behind the VRC's `issuer`, when that is not the party issuing this document.
|
|
20
|
+
*
|
|
21
|
+
* A member publishes an edge under a relationship DID — an identifier scoped to one counterparty, which names nobody. The community still has to know a member published it, and the document's own `proof` says only that the member sent it, not that they control the credential's issuing key. Without this, any member handed a VRC could publish another party's edge.
|
|
22
|
+
*
|
|
23
|
+
* Omit it when the VRC's `issuer` is this document's issuer: the document's own proof already establishes control.
|
|
24
|
+
*/
|
|
25
|
+
pop?: {
|
|
26
|
+
/**
|
|
27
|
+
* Guards against a signature the issuer made over some other object being replayed here as authorization to publish.
|
|
28
|
+
*/
|
|
29
|
+
type: "VrcPublishAuthorization";
|
|
30
|
+
/**
|
|
31
|
+
* The `id` of the Trust Task document carrying this authorization. Binds the authorization to one document, so a captured one cannot be replayed in another — including by a different member. Every document carries a unique `id` (SPEC §4.3), which is why the binding needs no transport-specific notion of a session.
|
|
32
|
+
*/
|
|
33
|
+
documentId: string;
|
|
34
|
+
vrcDigestMultibase: DigestMultibase;
|
|
35
|
+
/**
|
|
36
|
+
* Data-integrity proof over this object, by a verification method the VRC's `issuer` controls. This is the proof of possession; the members above only bound what it authorizes.
|
|
37
|
+
*/
|
|
38
|
+
proof: {};
|
|
39
|
+
};
|
|
14
40
|
ext?: Ext;
|
|
15
41
|
}
|
|
16
42
|
/**
|
|
@@ -26,7 +52,7 @@ export interface VTCRelationshipsPublishResponsePayload {
|
|
|
26
52
|
id: string;
|
|
27
53
|
issuerDid: string;
|
|
28
54
|
subjectDid: string;
|
|
29
|
-
vrcDigestMultibase:
|
|
55
|
+
vrcDigestMultibase: DigestMultibase1;
|
|
30
56
|
ext?: Ext;
|
|
31
57
|
}
|
|
32
58
|
/** Trust Task type URI. */
|
|
@@ -58,6 +84,30 @@ export declare const PAYLOAD_SCHEMA: {
|
|
|
58
84
|
readonly type: "object";
|
|
59
85
|
readonly description: "A signed W3C Verifiable Relationship Credential (opaque here). Its issuer MUST equal the document proof signer; credentialSubject.id names the subject member; it carries its own DataIntegrityProof.";
|
|
60
86
|
};
|
|
87
|
+
readonly pop: {
|
|
88
|
+
readonly type: "object";
|
|
89
|
+
readonly description: "Proof that the caller controls the key behind the VRC's `issuer`, when that is not the party issuing this document.\n\nA member publishes an edge under a relationship DID — an identifier scoped to one counterparty, which names nobody. The community still has to know a member published it, and the document's own `proof` says only that the member sent it, not that they control the credential's issuing key. Without this, any member handed a VRC could publish another party's edge.\n\nOmit it when the VRC's `issuer` is this document's issuer: the document's own proof already establishes control.";
|
|
90
|
+
readonly properties: {
|
|
91
|
+
readonly type: {
|
|
92
|
+
readonly const: "VrcPublishAuthorization";
|
|
93
|
+
readonly description: "Guards against a signature the issuer made over some other object being replayed here as authorization to publish.";
|
|
94
|
+
};
|
|
95
|
+
readonly documentId: {
|
|
96
|
+
readonly type: "string";
|
|
97
|
+
readonly description: "The `id` of the Trust Task document carrying this authorization. Binds the authorization to one document, so a captured one cannot be replayed in another — including by a different member. Every document carries a unique `id` (SPEC §4.3), which is why the binding needs no transport-specific notion of a session.";
|
|
98
|
+
};
|
|
99
|
+
readonly vrcDigestMultibase: {
|
|
100
|
+
readonly $ref: "#/$defs/DigestMultibase";
|
|
101
|
+
readonly description: "Digest over the RFC 8785 canonicalization of the VRC this authorizes. Binds the authorization to one credential, so it cannot be moved to another.";
|
|
102
|
+
};
|
|
103
|
+
readonly proof: {
|
|
104
|
+
readonly type: "object";
|
|
105
|
+
readonly description: "Data-integrity proof over this object, by a verification method the VRC's `issuer` controls. This is the proof of possession; the members above only bound what it authorizes.";
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
readonly required: readonly ["type", "documentId", "vrcDigestMultibase", "proof"];
|
|
109
|
+
readonly additionalProperties: false;
|
|
110
|
+
};
|
|
61
111
|
readonly ext: {
|
|
62
112
|
readonly $ref: "#/$defs/Ext";
|
|
63
113
|
};
|
|
@@ -189,6 +239,30 @@ export declare const SPEC: {
|
|
|
189
239
|
readonly type: "object";
|
|
190
240
|
readonly description: "A signed W3C Verifiable Relationship Credential (opaque here). Its issuer MUST equal the document proof signer; credentialSubject.id names the subject member; it carries its own DataIntegrityProof.";
|
|
191
241
|
};
|
|
242
|
+
readonly pop: {
|
|
243
|
+
readonly type: "object";
|
|
244
|
+
readonly description: "Proof that the caller controls the key behind the VRC's `issuer`, when that is not the party issuing this document.\n\nA member publishes an edge under a relationship DID — an identifier scoped to one counterparty, which names nobody. The community still has to know a member published it, and the document's own `proof` says only that the member sent it, not that they control the credential's issuing key. Without this, any member handed a VRC could publish another party's edge.\n\nOmit it when the VRC's `issuer` is this document's issuer: the document's own proof already establishes control.";
|
|
245
|
+
readonly properties: {
|
|
246
|
+
readonly type: {
|
|
247
|
+
readonly const: "VrcPublishAuthorization";
|
|
248
|
+
readonly description: "Guards against a signature the issuer made over some other object being replayed here as authorization to publish.";
|
|
249
|
+
};
|
|
250
|
+
readonly documentId: {
|
|
251
|
+
readonly type: "string";
|
|
252
|
+
readonly description: "The `id` of the Trust Task document carrying this authorization. Binds the authorization to one document, so a captured one cannot be replayed in another — including by a different member. Every document carries a unique `id` (SPEC §4.3), which is why the binding needs no transport-specific notion of a session.";
|
|
253
|
+
};
|
|
254
|
+
readonly vrcDigestMultibase: {
|
|
255
|
+
readonly $ref: "#/$defs/DigestMultibase";
|
|
256
|
+
readonly description: "Digest over the RFC 8785 canonicalization of the VRC this authorizes. Binds the authorization to one credential, so it cannot be moved to another.";
|
|
257
|
+
};
|
|
258
|
+
readonly proof: {
|
|
259
|
+
readonly type: "object";
|
|
260
|
+
readonly description: "Data-integrity proof over this object, by a verification method the VRC's `issuer` controls. This is the proof of possession; the members above only bound what it authorizes.";
|
|
261
|
+
};
|
|
262
|
+
};
|
|
263
|
+
readonly required: readonly ["type", "documentId", "vrcDigestMultibase", "proof"];
|
|
264
|
+
readonly additionalProperties: false;
|
|
265
|
+
};
|
|
192
266
|
readonly ext: {
|
|
193
267
|
readonly $ref: "#/$defs/Ext";
|
|
194
268
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/vtc/relationships/publish/0.2/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../src/vtc/relationships/publish/0.2/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AACrC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,GAAG,EAAE,EAAE,CAAC;IACR;;;;;;OAMG;IACH,GAAG,CAAC,EAAE;QACJ;;WAEG;QACH,IAAI,EAAE,yBAAyB,CAAC;QAChC;;WAEG;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,EAAE,eAAe,CAAC;QACpC;;WAEG;QACH,KAAK,EAAE,EAAE,CAAC;KACX,CAAC;IACF,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AACD;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAClC;AACD,MAAM,WAAW,sCAAsC;IACrD;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,2DAAoE,CAAC;AAE7F,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,8BAA8B,CAAC;AAErD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,oEAA6E,CAAC;AAE/G,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,sCAAsC,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuGjB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2D1B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhB,CAAC"}
|
|
@@ -29,6 +29,35 @@ export const PAYLOAD_SCHEMA = {
|
|
|
29
29
|
"type": "object",
|
|
30
30
|
"description": "A signed W3C Verifiable Relationship Credential (opaque here). Its issuer MUST equal the document proof signer; credentialSubject.id names the subject member; it carries its own DataIntegrityProof."
|
|
31
31
|
},
|
|
32
|
+
"pop": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"description": "Proof that the caller controls the key behind the VRC's `issuer`, when that is not the party issuing this document.\n\nA member publishes an edge under a relationship DID — an identifier scoped to one counterparty, which names nobody. The community still has to know a member published it, and the document's own `proof` says only that the member sent it, not that they control the credential's issuing key. Without this, any member handed a VRC could publish another party's edge.\n\nOmit it when the VRC's `issuer` is this document's issuer: the document's own proof already establishes control.",
|
|
35
|
+
"properties": {
|
|
36
|
+
"type": {
|
|
37
|
+
"const": "VrcPublishAuthorization",
|
|
38
|
+
"description": "Guards against a signature the issuer made over some other object being replayed here as authorization to publish."
|
|
39
|
+
},
|
|
40
|
+
"documentId": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "The `id` of the Trust Task document carrying this authorization. Binds the authorization to one document, so a captured one cannot be replayed in another — including by a different member. Every document carries a unique `id` (SPEC §4.3), which is why the binding needs no transport-specific notion of a session."
|
|
43
|
+
},
|
|
44
|
+
"vrcDigestMultibase": {
|
|
45
|
+
"$ref": "#/$defs/DigestMultibase",
|
|
46
|
+
"description": "Digest over the RFC 8785 canonicalization of the VRC this authorizes. Binds the authorization to one credential, so it cannot be moved to another."
|
|
47
|
+
},
|
|
48
|
+
"proof": {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"description": "Data-integrity proof over this object, by a verification method the VRC's `issuer` controls. This is the proof of possession; the members above only bound what it authorizes."
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"required": [
|
|
54
|
+
"type",
|
|
55
|
+
"documentId",
|
|
56
|
+
"vrcDigestMultibase",
|
|
57
|
+
"proof"
|
|
58
|
+
],
|
|
59
|
+
"additionalProperties": false
|
|
60
|
+
},
|
|
32
61
|
"ext": {
|
|
33
62
|
"$ref": "#/$defs/Ext"
|
|
34
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/vtc/relationships/publish/0.2/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../src/vtc/relationships/publish/0.2/payload.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -46,12 +46,35 @@ export interface JoinRequest {
|
|
|
46
46
|
* The W3C Verifiable Presentation the applicant submitted (opaque here).
|
|
47
47
|
*/
|
|
48
48
|
vp: {};
|
|
49
|
+
/**
|
|
50
|
+
* Canonical projection of `vp`, extracted when the request was submitted and used as the input the community's join policy reads. Carried on the row so an approval does not have to re-extract it, and opaque here: its members are whatever the community's policy asks of an applicant. `null` on a request recorded before a community began extracting one.
|
|
51
|
+
*/
|
|
52
|
+
vpClaims?: {} | null;
|
|
49
53
|
submittedAt: string;
|
|
50
54
|
status: "pending" | "approved" | "rejected" | "withdrawn" | "deferred";
|
|
51
55
|
/**
|
|
52
56
|
* The community policy verdict recorded for this request (opaque here); absent while pending.
|
|
53
57
|
*/
|
|
54
58
|
policyDecision?: {};
|
|
59
|
+
/**
|
|
60
|
+
* Why this request was refused, in terms meant for the applicant rather than the operator. `null` unless the request was rejected.
|
|
61
|
+
*
|
|
62
|
+
* Distinct from `policyDecision`, which records the community's internal verdict: both rejection paths — a policy auto-deny at submit and an admin's later refusal — write this one, so a client reads a single shape instead of reconciling two.
|
|
63
|
+
*/
|
|
64
|
+
decision?: {
|
|
65
|
+
/**
|
|
66
|
+
* Stable refusal code, safe to branch on.
|
|
67
|
+
*/
|
|
68
|
+
code: string;
|
|
69
|
+
/**
|
|
70
|
+
* Elaboration in prose, when the decider gave one.
|
|
71
|
+
*/
|
|
72
|
+
reason?: string | null;
|
|
73
|
+
/**
|
|
74
|
+
* When the decision was taken — not when the poll answering it was produced. On an admin refusal the two diverge by however long the applicant takes to ask.
|
|
75
|
+
*/
|
|
76
|
+
decidedAt: string;
|
|
77
|
+
} | null;
|
|
55
78
|
/**
|
|
56
79
|
* Whether the applicant consented to trust-registry publication.
|
|
57
80
|
*/
|
|
@@ -186,6 +209,13 @@ export const PAYLOAD_SCHEMA = {
|
|
|
186
209
|
"type": "object",
|
|
187
210
|
"description": "The W3C Verifiable Presentation the applicant submitted (opaque here)."
|
|
188
211
|
},
|
|
212
|
+
"vpClaims": {
|
|
213
|
+
"type": [
|
|
214
|
+
"object",
|
|
215
|
+
"null"
|
|
216
|
+
],
|
|
217
|
+
"description": "Canonical projection of `vp`, extracted when the request was submitted and used as the input the community's join policy reads. Carried on the row so an approval does not have to re-extract it, and opaque here: its members are whatever the community's policy asks of an applicant. `null` on a request recorded before a community began extracting one."
|
|
218
|
+
},
|
|
189
219
|
"submittedAt": {
|
|
190
220
|
"type": "string",
|
|
191
221
|
"format": "date-time"
|
|
@@ -204,6 +234,36 @@ export const PAYLOAD_SCHEMA = {
|
|
|
204
234
|
"type": "object",
|
|
205
235
|
"description": "The community policy verdict recorded for this request (opaque here); absent while pending."
|
|
206
236
|
},
|
|
237
|
+
"decision": {
|
|
238
|
+
"type": [
|
|
239
|
+
"object",
|
|
240
|
+
"null"
|
|
241
|
+
],
|
|
242
|
+
"description": "Why this request was refused, in terms meant for the applicant rather than the operator. `null` unless the request was rejected.\n\nDistinct from `policyDecision`, which records the community's internal verdict: both rejection paths — a policy auto-deny at submit and an admin's later refusal — write this one, so a client reads a single shape instead of reconciling two.",
|
|
243
|
+
"properties": {
|
|
244
|
+
"code": {
|
|
245
|
+
"type": "string",
|
|
246
|
+
"description": "Stable refusal code, safe to branch on."
|
|
247
|
+
},
|
|
248
|
+
"reason": {
|
|
249
|
+
"type": [
|
|
250
|
+
"string",
|
|
251
|
+
"null"
|
|
252
|
+
],
|
|
253
|
+
"description": "Elaboration in prose, when the decider gave one."
|
|
254
|
+
},
|
|
255
|
+
"decidedAt": {
|
|
256
|
+
"type": "string",
|
|
257
|
+
"format": "date-time",
|
|
258
|
+
"description": "When the decision was taken — not when the poll answering it was produced. On an admin refusal the two diverge by however long the applicant takes to ask."
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
"required": [
|
|
262
|
+
"code",
|
|
263
|
+
"decidedAt"
|
|
264
|
+
],
|
|
265
|
+
"additionalProperties": false
|
|
266
|
+
},
|
|
207
267
|
"registryConsent": {
|
|
208
268
|
"type": "boolean",
|
|
209
269
|
"description": "Whether the applicant consented to trust-registry publication."
|
|
@@ -292,6 +352,13 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
292
352
|
"type": "object",
|
|
293
353
|
"description": "The W3C Verifiable Presentation the applicant submitted (opaque here)."
|
|
294
354
|
},
|
|
355
|
+
"vpClaims": {
|
|
356
|
+
"type": [
|
|
357
|
+
"object",
|
|
358
|
+
"null"
|
|
359
|
+
],
|
|
360
|
+
"description": "Canonical projection of `vp`, extracted when the request was submitted and used as the input the community's join policy reads. Carried on the row so an approval does not have to re-extract it, and opaque here: its members are whatever the community's policy asks of an applicant. `null` on a request recorded before a community began extracting one."
|
|
361
|
+
},
|
|
295
362
|
"submittedAt": {
|
|
296
363
|
"type": "string",
|
|
297
364
|
"format": "date-time"
|
|
@@ -310,6 +377,36 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
310
377
|
"type": "object",
|
|
311
378
|
"description": "The community policy verdict recorded for this request (opaque here); absent while pending."
|
|
312
379
|
},
|
|
380
|
+
"decision": {
|
|
381
|
+
"type": [
|
|
382
|
+
"object",
|
|
383
|
+
"null"
|
|
384
|
+
],
|
|
385
|
+
"description": "Why this request was refused, in terms meant for the applicant rather than the operator. `null` unless the request was rejected.\n\nDistinct from `policyDecision`, which records the community's internal verdict: both rejection paths — a policy auto-deny at submit and an admin's later refusal — write this one, so a client reads a single shape instead of reconciling two.",
|
|
386
|
+
"properties": {
|
|
387
|
+
"code": {
|
|
388
|
+
"type": "string",
|
|
389
|
+
"description": "Stable refusal code, safe to branch on."
|
|
390
|
+
},
|
|
391
|
+
"reason": {
|
|
392
|
+
"type": [
|
|
393
|
+
"string",
|
|
394
|
+
"null"
|
|
395
|
+
],
|
|
396
|
+
"description": "Elaboration in prose, when the decider gave one."
|
|
397
|
+
},
|
|
398
|
+
"decidedAt": {
|
|
399
|
+
"type": "string",
|
|
400
|
+
"format": "date-time",
|
|
401
|
+
"description": "When the decision was taken — not when the poll answering it was produced. On an admin refusal the two diverge by however long the applicant takes to ask."
|
|
402
|
+
}
|
|
403
|
+
},
|
|
404
|
+
"required": [
|
|
405
|
+
"code",
|
|
406
|
+
"decidedAt"
|
|
407
|
+
],
|
|
408
|
+
"additionalProperties": false
|
|
409
|
+
},
|
|
313
410
|
"registryConsent": {
|
|
314
411
|
"type": "boolean",
|
|
315
412
|
"description": "Whether the applicant consented to trust-registry publication."
|
|
@@ -36,12 +36,35 @@ export interface JoinRequest {
|
|
|
36
36
|
* The W3C Verifiable Presentation the applicant submitted (opaque here).
|
|
37
37
|
*/
|
|
38
38
|
vp: {};
|
|
39
|
+
/**
|
|
40
|
+
* Canonical projection of `vp`, extracted when the request was submitted and used as the input the community's join policy reads. Carried on the row so an approval does not have to re-extract it, and opaque here: its members are whatever the community's policy asks of an applicant. `null` on a request recorded before a community began extracting one.
|
|
41
|
+
*/
|
|
42
|
+
vpClaims?: {} | null;
|
|
39
43
|
submittedAt: string;
|
|
40
44
|
status: "pending" | "approved" | "rejected" | "withdrawn" | "deferred";
|
|
41
45
|
/**
|
|
42
46
|
* The community policy verdict recorded for this request (opaque here); absent while pending.
|
|
43
47
|
*/
|
|
44
48
|
policyDecision?: {};
|
|
49
|
+
/**
|
|
50
|
+
* Why this request was refused, in terms meant for the applicant rather than the operator. `null` unless the request was rejected.
|
|
51
|
+
*
|
|
52
|
+
* Distinct from `policyDecision`, which records the community's internal verdict: both rejection paths — a policy auto-deny at submit and an admin's later refusal — write this one, so a client reads a single shape instead of reconciling two.
|
|
53
|
+
*/
|
|
54
|
+
decision?: {
|
|
55
|
+
/**
|
|
56
|
+
* Stable refusal code, safe to branch on.
|
|
57
|
+
*/
|
|
58
|
+
code: string;
|
|
59
|
+
/**
|
|
60
|
+
* Elaboration in prose, when the decider gave one.
|
|
61
|
+
*/
|
|
62
|
+
reason?: string | null;
|
|
63
|
+
/**
|
|
64
|
+
* When the decision was taken — not when the poll answering it was produced. On an admin refusal the two diverge by however long the applicant takes to ask.
|
|
65
|
+
*/
|
|
66
|
+
decidedAt: string;
|
|
67
|
+
} | null;
|
|
45
68
|
/**
|
|
46
69
|
* Whether the applicant consented to trust-registry publication.
|
|
47
70
|
*/
|
|
@@ -148,6 +171,13 @@ export const PAYLOAD_SCHEMA = {
|
|
|
148
171
|
"type": "object",
|
|
149
172
|
"description": "The W3C Verifiable Presentation the applicant submitted (opaque here)."
|
|
150
173
|
},
|
|
174
|
+
"vpClaims": {
|
|
175
|
+
"type": [
|
|
176
|
+
"object",
|
|
177
|
+
"null"
|
|
178
|
+
],
|
|
179
|
+
"description": "Canonical projection of `vp`, extracted when the request was submitted and used as the input the community's join policy reads. Carried on the row so an approval does not have to re-extract it, and opaque here: its members are whatever the community's policy asks of an applicant. `null` on a request recorded before a community began extracting one."
|
|
180
|
+
},
|
|
151
181
|
"submittedAt": {
|
|
152
182
|
"type": "string",
|
|
153
183
|
"format": "date-time"
|
|
@@ -166,6 +196,36 @@ export const PAYLOAD_SCHEMA = {
|
|
|
166
196
|
"type": "object",
|
|
167
197
|
"description": "The community policy verdict recorded for this request (opaque here); absent while pending."
|
|
168
198
|
},
|
|
199
|
+
"decision": {
|
|
200
|
+
"type": [
|
|
201
|
+
"object",
|
|
202
|
+
"null"
|
|
203
|
+
],
|
|
204
|
+
"description": "Why this request was refused, in terms meant for the applicant rather than the operator. `null` unless the request was rejected.\n\nDistinct from `policyDecision`, which records the community's internal verdict: both rejection paths — a policy auto-deny at submit and an admin's later refusal — write this one, so a client reads a single shape instead of reconciling two.",
|
|
205
|
+
"properties": {
|
|
206
|
+
"code": {
|
|
207
|
+
"type": "string",
|
|
208
|
+
"description": "Stable refusal code, safe to branch on."
|
|
209
|
+
},
|
|
210
|
+
"reason": {
|
|
211
|
+
"type": [
|
|
212
|
+
"string",
|
|
213
|
+
"null"
|
|
214
|
+
],
|
|
215
|
+
"description": "Elaboration in prose, when the decider gave one."
|
|
216
|
+
},
|
|
217
|
+
"decidedAt": {
|
|
218
|
+
"type": "string",
|
|
219
|
+
"format": "date-time",
|
|
220
|
+
"description": "When the decision was taken — not when the poll answering it was produced. On an admin refusal the two diverge by however long the applicant takes to ask."
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"required": [
|
|
224
|
+
"code",
|
|
225
|
+
"decidedAt"
|
|
226
|
+
],
|
|
227
|
+
"additionalProperties": false
|
|
228
|
+
},
|
|
169
229
|
"registryConsent": {
|
|
170
230
|
"type": "boolean",
|
|
171
231
|
"description": "Whether the applicant consented to trust-registry publication."
|
|
@@ -239,6 +299,13 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
239
299
|
"type": "object",
|
|
240
300
|
"description": "The W3C Verifiable Presentation the applicant submitted (opaque here)."
|
|
241
301
|
},
|
|
302
|
+
"vpClaims": {
|
|
303
|
+
"type": [
|
|
304
|
+
"object",
|
|
305
|
+
"null"
|
|
306
|
+
],
|
|
307
|
+
"description": "Canonical projection of `vp`, extracted when the request was submitted and used as the input the community's join policy reads. Carried on the row so an approval does not have to re-extract it, and opaque here: its members are whatever the community's policy asks of an applicant. `null` on a request recorded before a community began extracting one."
|
|
308
|
+
},
|
|
242
309
|
"submittedAt": {
|
|
243
310
|
"type": "string",
|
|
244
311
|
"format": "date-time"
|
|
@@ -257,6 +324,36 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
257
324
|
"type": "object",
|
|
258
325
|
"description": "The community policy verdict recorded for this request (opaque here); absent while pending."
|
|
259
326
|
},
|
|
327
|
+
"decision": {
|
|
328
|
+
"type": [
|
|
329
|
+
"object",
|
|
330
|
+
"null"
|
|
331
|
+
],
|
|
332
|
+
"description": "Why this request was refused, in terms meant for the applicant rather than the operator. `null` unless the request was rejected.\n\nDistinct from `policyDecision`, which records the community's internal verdict: both rejection paths — a policy auto-deny at submit and an admin's later refusal — write this one, so a client reads a single shape instead of reconciling two.",
|
|
333
|
+
"properties": {
|
|
334
|
+
"code": {
|
|
335
|
+
"type": "string",
|
|
336
|
+
"description": "Stable refusal code, safe to branch on."
|
|
337
|
+
},
|
|
338
|
+
"reason": {
|
|
339
|
+
"type": [
|
|
340
|
+
"string",
|
|
341
|
+
"null"
|
|
342
|
+
],
|
|
343
|
+
"description": "Elaboration in prose, when the decider gave one."
|
|
344
|
+
},
|
|
345
|
+
"decidedAt": {
|
|
346
|
+
"type": "string",
|
|
347
|
+
"format": "date-time",
|
|
348
|
+
"description": "When the decision was taken — not when the poll answering it was produced. On an admin refusal the two diverge by however long the applicant takes to ask."
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
"required": [
|
|
352
|
+
"code",
|
|
353
|
+
"decidedAt"
|
|
354
|
+
],
|
|
355
|
+
"additionalProperties": false
|
|
356
|
+
},
|
|
260
357
|
"registryConsent": {
|
|
261
358
|
"type": "boolean",
|
|
262
359
|
"description": "Whether the applicant consented to trust-registry publication."
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
export interface VTCJoinRequestsStatusPayload {
|
|
7
7
|
/**
|
|
8
|
-
* The applicant's
|
|
8
|
+
* The request to poll. Optional: an applicant whose first reply was lost never received an id, and the id-less poll — resolved from the authenticated applicant's own DID — is the only form available to them. Supply it when you have it; a consumer that has it MUST prefer it over inferring the request from the caller.
|
|
9
9
|
*/
|
|
10
|
-
requestId
|
|
10
|
+
requestId?: string;
|
|
11
11
|
ext?: Ext;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
@@ -19,6 +19,18 @@ export interface Ext {
|
|
|
19
19
|
export interface VTCJoinRequestsStatusResponsePayload {
|
|
20
20
|
requestId: string;
|
|
21
21
|
status: "pending" | "deferred" | "approved" | "rejected" | "withdrawn";
|
|
22
|
+
/**
|
|
23
|
+
* Stable refusal code, safe to branch on. Present only when `status` is `rejected`.
|
|
24
|
+
*/
|
|
25
|
+
code?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Elaboration in prose, when the decider gave one. Present only when `status` is `rejected`.
|
|
28
|
+
*/
|
|
29
|
+
reason?: string | null;
|
|
30
|
+
/**
|
|
31
|
+
* When the refusal was decided — not when this poll was produced. Present only when `status` is `rejected`.
|
|
32
|
+
*/
|
|
33
|
+
decidedAt?: string;
|
|
22
34
|
/**
|
|
23
35
|
* When deferred, what the applicant must supply next.
|
|
24
36
|
*/
|
|
@@ -57,14 +69,11 @@ export const PAYLOAD_SCHEMA = {
|
|
|
57
69
|
"title": "VTC Join-Requests Status — payload",
|
|
58
70
|
"type": "object",
|
|
59
71
|
"additionalProperties": false,
|
|
60
|
-
"required": [
|
|
61
|
-
"requestId"
|
|
62
|
-
],
|
|
63
72
|
"properties": {
|
|
64
73
|
"requestId": {
|
|
65
74
|
"type": "string",
|
|
66
75
|
"minLength": 1,
|
|
67
|
-
"description": "The applicant's
|
|
76
|
+
"description": "The request to poll. Optional: an applicant whose first reply was lost never received an id, and the id-less poll — resolved from the authenticated applicant's own DID — is the only form available to them. Supply it when you have it; a consumer that has it MUST prefer it over inferring the request from the caller."
|
|
68
77
|
},
|
|
69
78
|
"ext": {
|
|
70
79
|
"$ref": "#/$defs/Ext"
|
|
@@ -95,6 +104,22 @@ export const PAYLOAD_SCHEMA = {
|
|
|
95
104
|
"withdrawn"
|
|
96
105
|
]
|
|
97
106
|
},
|
|
107
|
+
"code": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"description": "Stable refusal code, safe to branch on. Present only when `status` is `rejected`."
|
|
110
|
+
},
|
|
111
|
+
"reason": {
|
|
112
|
+
"type": [
|
|
113
|
+
"string",
|
|
114
|
+
"null"
|
|
115
|
+
],
|
|
116
|
+
"description": "Elaboration in prose, when the decider gave one. Present only when `status` is `rejected`."
|
|
117
|
+
},
|
|
118
|
+
"decidedAt": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"format": "date-time",
|
|
121
|
+
"description": "When the refusal was decided — not when this poll was produced. Present only when `status` is `rejected`."
|
|
122
|
+
},
|
|
98
123
|
"needs": {
|
|
99
124
|
"type": "array",
|
|
100
125
|
"items": {
|
|
@@ -153,6 +178,22 @@ export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
|
153
178
|
"withdrawn"
|
|
154
179
|
]
|
|
155
180
|
},
|
|
181
|
+
"code": {
|
|
182
|
+
"type": "string",
|
|
183
|
+
"description": "Stable refusal code, safe to branch on. Present only when `status` is `rejected`."
|
|
184
|
+
},
|
|
185
|
+
"reason": {
|
|
186
|
+
"type": [
|
|
187
|
+
"string",
|
|
188
|
+
"null"
|
|
189
|
+
],
|
|
190
|
+
"description": "Elaboration in prose, when the decider gave one. Present only when `status` is `rejected`."
|
|
191
|
+
},
|
|
192
|
+
"decidedAt": {
|
|
193
|
+
"type": "string",
|
|
194
|
+
"format": "date-time",
|
|
195
|
+
"description": "When the refusal was decided — not when this poll was produced. Present only when `status` is `rejected`."
|
|
196
|
+
},
|
|
156
197
|
"needs": {
|
|
157
198
|
"type": "array",
|
|
158
199
|
"items": {
|