@openvtc/trust-tasks 0.26.11 → 0.26.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 +303 -0
- package/dist/_shared/components.d.ts +18 -0
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/rooms/keys/act/0.3/payload.d.ts +546 -0
- package/dist/rooms/keys/act/0.3/payload.d.ts.map +1 -0
- package/dist/rooms/keys/act/0.3/payload.js +305 -0
- package/dist/rooms/keys/act/0.3/payload.js.map +1 -0
- package/dist/rooms/owner/group/add/0.2/payload.d.ts +417 -0
- package/dist/rooms/owner/group/add/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/owner/group/add/0.2/payload.js +218 -0
- package/dist/rooms/owner/group/add/0.2/payload.js.map +1 -0
- package/dist/vta/_shared/0.6/witness-party.d.ts +16 -0
- package/dist/vta/_shared/0.6/witness-party.d.ts.map +1 -0
- package/dist/vta/_shared/0.6/witness-party.js +6 -0
- package/dist/vta/_shared/0.6/witness-party.js.map +1 -0
- package/dist/vta/witness/accept/0.2/payload.d.ts +499 -0
- package/dist/vta/witness/accept/0.2/payload.d.ts.map +1 -0
- package/dist/vta/witness/accept/0.2/payload.js +278 -0
- package/dist/vta/witness/accept/0.2/payload.js.map +1 -0
- package/dist/vta/witness/list/0.1/payload.d.ts +673 -0
- package/dist/vta/witness/list/0.1/payload.d.ts.map +1 -0
- package/dist/vta/witness/list/0.1/payload.js +351 -0
- package/dist/vta/witness/list/0.1/payload.js.map +1 -0
- package/dist/vta/witness/open/0.2/payload.d.ts +500 -0
- package/dist/vta/witness/open/0.2/payload.d.ts.map +1 -0
- package/dist/vta/witness/open/0.2/payload.js +259 -0
- package/dist/vta/witness/open/0.2/payload.js.map +1 -0
- package/dist/vta/witness/present/0.2/payload.d.ts +303 -0
- package/dist/vta/witness/present/0.2/payload.d.ts.map +1 -0
- package/dist/vta/witness/present/0.2/payload.js +170 -0
- package/dist/vta/witness/present/0.2/payload.js.map +1 -0
- package/dist/vtc/members/personhood/assert/0.2/payload.d.ts +536 -0
- package/dist/vtc/members/personhood/assert/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/members/personhood/assert/0.2/payload.js +228 -0
- package/dist/vtc/members/personhood/assert/0.2/payload.js.map +1 -0
- package/dist/vtc/members/registry-consent/0.1/payload.d.ts +311 -0
- package/dist/vtc/members/registry-consent/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/members/registry-consent/0.1/payload.js +183 -0
- package/dist/vtc/members/registry-consent/0.1/payload.js.map +1 -0
- package/dist/vtc/members/update/0.1/payload.d.ts +3 -3
- package/dist/vtc/members/update/0.1/payload.js +1 -1
- package/dist/vtc/members/update/0.1/payload.js.map +1 -1
- package/dist/witness/_shared/0.1/outcome-evidence.d.ts +16 -0
- package/dist/witness/_shared/0.1/outcome-evidence.d.ts.map +1 -0
- package/dist/witness/_shared/0.1/outcome-evidence.js +6 -0
- package/dist/witness/_shared/0.1/outcome-evidence.js.map +1 -0
- package/dist/witness/session/0.2/payload.d.ts +274 -0
- package/dist/witness/session/0.2/payload.d.ts.map +1 -0
- package/dist/witness/session/0.2/payload.js +152 -0
- package/dist/witness/session/0.2/payload.js.map +1 -0
- package/dist/witness/session/submit/0.2/payload.d.ts +295 -0
- package/dist/witness/session/submit/0.2/payload.d.ts.map +1 -0
- package/dist/witness/session/submit/0.2/payload.js +166 -0
- package/dist/witness/session/submit/0.2/payload.js.map +1 -0
- package/package.json +1 -1
- package/src/_shared/components.ts +17 -0
- package/src/index.ts +12 -0
- package/src/rooms/keys/act/0.3/payload.ts +380 -0
- package/src/rooms/owner/group/add/0.2/payload.ts +288 -0
- package/src/vta/_shared/0.6/witness-party.ts +17 -0
- package/src/vta/witness/accept/0.2/payload.ts +330 -0
- package/src/vta/witness/list/0.1/payload.ts +441 -0
- package/src/vta/witness/open/0.2/payload.ts +336 -0
- package/src/vta/witness/present/0.2/payload.ts +210 -0
- package/src/vtc/members/personhood/assert/0.2/payload.ts +421 -0
- package/src/vtc/members/registry-consent/0.1/payload.ts +231 -0
- package/src/vtc/members/update/0.1/payload.ts +2 -2
- package/src/witness/_shared/0.1/outcome-evidence.ts +17 -0
- package/src/witness/session/0.2/payload.ts +197 -0
- package/src/witness/session/submit/0.2/payload.ts +212 -0
|
@@ -0,0 +1,673 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/vta/witness/list/0.1/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
import type { DigestMultibase, EvidenceDocument, Ext, OutcomeEvidence } from "../../../../_shared/components.js";
|
|
6
|
+
/**
|
|
7
|
+
* A client reads back from its VTA the Verifiable Witness Credentials vta/witness/accept stored for its principal, each with the outcome evidence stored beside it. Every filter is optional and those present are AND-combined.
|
|
8
|
+
*/
|
|
9
|
+
export interface VTAWitnessListPayload {
|
|
10
|
+
/**
|
|
11
|
+
* Only VWCs whose credentialSubject.id is this relationship DID.
|
|
12
|
+
*/
|
|
13
|
+
relationshipDid?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Only VWCs issued by this witness.
|
|
16
|
+
*/
|
|
17
|
+
witness?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Maximum entries to return. The VTA MAY return fewer and caps this value.
|
|
20
|
+
*/
|
|
21
|
+
pageSize?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Continue a previous page. Opaque: a consumer MUST NOT construct or parse one.
|
|
24
|
+
*/
|
|
25
|
+
cursor?: string;
|
|
26
|
+
ext?: Ext;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* One entry per stored VWC that matched and that the caller may read. Empty when nothing matched, which is a successful answer, not an error.
|
|
30
|
+
*/
|
|
31
|
+
export interface VTAWitnessListResponsePayload {
|
|
32
|
+
/**
|
|
33
|
+
* The matching stored VWCs, each with its evidence.
|
|
34
|
+
*
|
|
35
|
+
* @maxItems 100
|
|
36
|
+
*/
|
|
37
|
+
witnessings: StoredWitnessing[];
|
|
38
|
+
/**
|
|
39
|
+
* The VTA stopped early. A consumer MUST NOT read a truncated page as a complete account of what is stored.
|
|
40
|
+
*/
|
|
41
|
+
truncated: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Pass to the next request to continue. Absent when the page is the last.
|
|
44
|
+
*/
|
|
45
|
+
cursor?: string;
|
|
46
|
+
ext?: Ext;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* One VWC vta/witness/accept stored, as accept answered it, with the time it was stored. The VWC itself travels once, inside evidence.outcome, under the witness's proof.
|
|
50
|
+
*/
|
|
51
|
+
export interface StoredWitnessing {
|
|
52
|
+
/**
|
|
53
|
+
* The credential-vault handle the VWC is stored under: the credentialId vta/witness/accept returned.
|
|
54
|
+
*/
|
|
55
|
+
credentialId: string;
|
|
56
|
+
/**
|
|
57
|
+
* The witness that issued the VWC: its issuer, which is the recipient of evidence.session.
|
|
58
|
+
*/
|
|
59
|
+
witness: string;
|
|
60
|
+
/**
|
|
61
|
+
* The relationship DID the VWC names as its credentialSubject.id.
|
|
62
|
+
*/
|
|
63
|
+
relationshipDid: string;
|
|
64
|
+
/**
|
|
65
|
+
* The VWC's digest, as the witness returned it and the VTA checked it at accept: over the RFC 8785 canonicalization of the VWC, proof included.
|
|
66
|
+
*/
|
|
67
|
+
vwcDigestMultibase: DigestMultibase;
|
|
68
|
+
/**
|
|
69
|
+
* When vta/witness/accept stored the VWC.
|
|
70
|
+
*/
|
|
71
|
+
acceptedAt: string;
|
|
72
|
+
/**
|
|
73
|
+
* The outcome evidence stored with the VWC, each document exactly as stored, never re-serialised: `session`, the witness/session document as the VTA built it, and `outcome`, the witness/session/submit #response as received, which carries the VWC. Of whichever version the session was conducted under.
|
|
74
|
+
*/
|
|
75
|
+
evidence: OutcomeEvidence;
|
|
76
|
+
ext?: Ext;
|
|
77
|
+
}
|
|
78
|
+
/** Shared definitions this specification references, re-exported under the names it used to declare them with. */
|
|
79
|
+
export type { DigestMultibase, EvidenceDocument, Ext, OutcomeEvidence };
|
|
80
|
+
/** Trust Task type URI. */
|
|
81
|
+
export declare const TYPE_URI: "https://trusttasks.org/spec/vta/witness/list/0.1";
|
|
82
|
+
/** Stable alias for this specification's request payload shape. */
|
|
83
|
+
export type Payload = VTAWitnessListPayload;
|
|
84
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
85
|
+
export declare const RESPONSE_TYPE_URI: "https://trusttasks.org/spec/vta/witness/list/0.1#response";
|
|
86
|
+
/** Stable alias for this specification's success-response payload shape. */
|
|
87
|
+
export type Response = VTAWitnessListResponsePayload;
|
|
88
|
+
/**
|
|
89
|
+
* This specification's payload schema, as a value.
|
|
90
|
+
*
|
|
91
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
92
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
93
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
94
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
95
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
96
|
+
*/
|
|
97
|
+
export declare const PAYLOAD_SCHEMA: {
|
|
98
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
99
|
+
readonly $id: "https://trusttasks.org/spec/vta/witness/list/0.1";
|
|
100
|
+
readonly title: "VTA Witness — List — payload";
|
|
101
|
+
readonly description: "A client reads back from its VTA the Verifiable Witness Credentials vta/witness/accept stored for its principal, each with the outcome evidence stored beside it. Every filter is optional and those present are AND-combined.";
|
|
102
|
+
readonly type: "object";
|
|
103
|
+
readonly additionalProperties: false;
|
|
104
|
+
readonly properties: {
|
|
105
|
+
readonly relationshipDid: {
|
|
106
|
+
readonly type: "string";
|
|
107
|
+
readonly pattern: "^did:";
|
|
108
|
+
readonly maxLength: 2048;
|
|
109
|
+
readonly description: "Only VWCs whose credentialSubject.id is this relationship DID.";
|
|
110
|
+
};
|
|
111
|
+
readonly witness: {
|
|
112
|
+
readonly type: "string";
|
|
113
|
+
readonly pattern: "^did:";
|
|
114
|
+
readonly maxLength: 2048;
|
|
115
|
+
readonly description: "Only VWCs issued by this witness.";
|
|
116
|
+
};
|
|
117
|
+
readonly pageSize: {
|
|
118
|
+
readonly type: "integer";
|
|
119
|
+
readonly minimum: 1;
|
|
120
|
+
readonly maximum: 100;
|
|
121
|
+
readonly description: "Maximum entries to return. The VTA MAY return fewer and caps this value.";
|
|
122
|
+
};
|
|
123
|
+
readonly cursor: {
|
|
124
|
+
readonly type: "string";
|
|
125
|
+
readonly minLength: 1;
|
|
126
|
+
readonly maxLength: 4096;
|
|
127
|
+
readonly description: "Continue a previous page. Opaque: a consumer MUST NOT construct or parse one.";
|
|
128
|
+
};
|
|
129
|
+
readonly ext: {
|
|
130
|
+
readonly $ref: "#/$defs/Ext";
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
readonly $defs: {
|
|
134
|
+
readonly Response: {
|
|
135
|
+
readonly $anchor: "response";
|
|
136
|
+
readonly title: "VTA Witness — List — response payload";
|
|
137
|
+
readonly description: "One entry per stored VWC that matched and that the caller may read. Empty when nothing matched, which is a successful answer, not an error.";
|
|
138
|
+
readonly type: "object";
|
|
139
|
+
readonly additionalProperties: false;
|
|
140
|
+
readonly required: readonly ["witnessings", "truncated"];
|
|
141
|
+
readonly properties: {
|
|
142
|
+
readonly witnessings: {
|
|
143
|
+
readonly type: "array";
|
|
144
|
+
readonly maxItems: 100;
|
|
145
|
+
readonly items: {
|
|
146
|
+
readonly $ref: "#/$defs/StoredWitnessing";
|
|
147
|
+
};
|
|
148
|
+
readonly description: "The matching stored VWCs, each with its evidence.";
|
|
149
|
+
};
|
|
150
|
+
readonly truncated: {
|
|
151
|
+
readonly type: "boolean";
|
|
152
|
+
readonly description: "The VTA stopped early. A consumer MUST NOT read a truncated page as a complete account of what is stored.";
|
|
153
|
+
};
|
|
154
|
+
readonly cursor: {
|
|
155
|
+
readonly type: "string";
|
|
156
|
+
readonly minLength: 1;
|
|
157
|
+
readonly maxLength: 4096;
|
|
158
|
+
readonly description: "Pass to the next request to continue. Absent when the page is the last.";
|
|
159
|
+
};
|
|
160
|
+
readonly ext: {
|
|
161
|
+
readonly $ref: "#/$defs/Ext";
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
readonly StoredWitnessing: {
|
|
166
|
+
readonly title: "StoredWitnessing";
|
|
167
|
+
readonly description: "One VWC vta/witness/accept stored, as accept answered it, with the time it was stored. The VWC itself travels once, inside evidence.outcome, under the witness's proof.";
|
|
168
|
+
readonly type: "object";
|
|
169
|
+
readonly additionalProperties: false;
|
|
170
|
+
readonly required: readonly ["credentialId", "witness", "relationshipDid", "vwcDigestMultibase", "acceptedAt", "evidence"];
|
|
171
|
+
readonly properties: {
|
|
172
|
+
readonly credentialId: {
|
|
173
|
+
readonly type: "string";
|
|
174
|
+
readonly minLength: 1;
|
|
175
|
+
readonly maxLength: 256;
|
|
176
|
+
readonly description: "The credential-vault handle the VWC is stored under: the credentialId vta/witness/accept returned.";
|
|
177
|
+
};
|
|
178
|
+
readonly witness: {
|
|
179
|
+
readonly type: "string";
|
|
180
|
+
readonly pattern: "^did:";
|
|
181
|
+
readonly maxLength: 2048;
|
|
182
|
+
readonly description: "The witness that issued the VWC: its issuer, which is the recipient of evidence.session.";
|
|
183
|
+
};
|
|
184
|
+
readonly relationshipDid: {
|
|
185
|
+
readonly type: "string";
|
|
186
|
+
readonly pattern: "^did:";
|
|
187
|
+
readonly maxLength: 2048;
|
|
188
|
+
readonly description: "The relationship DID the VWC names as its credentialSubject.id.";
|
|
189
|
+
};
|
|
190
|
+
readonly vwcDigestMultibase: {
|
|
191
|
+
readonly $ref: "#/$defs/DigestMultibase";
|
|
192
|
+
readonly description: "The VWC's digest, as the witness returned it and the VTA checked it at accept: over the RFC 8785 canonicalization of the VWC, proof included.";
|
|
193
|
+
};
|
|
194
|
+
readonly acceptedAt: {
|
|
195
|
+
readonly type: "string";
|
|
196
|
+
readonly format: "date-time";
|
|
197
|
+
readonly description: "When vta/witness/accept stored the VWC.";
|
|
198
|
+
};
|
|
199
|
+
readonly evidence: {
|
|
200
|
+
readonly $ref: "#/$defs/OutcomeEvidence";
|
|
201
|
+
readonly description: "The outcome evidence stored with the VWC, each document exactly as stored, never re-serialised: `session`, the witness/session document as the VTA built it, and `outcome`, the witness/session/submit #response as received, which carries the VWC. Of whichever version the session was conducted under.";
|
|
202
|
+
};
|
|
203
|
+
readonly ext: {
|
|
204
|
+
readonly $ref: "#/$defs/Ext";
|
|
205
|
+
};
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
readonly Ext: {
|
|
209
|
+
readonly title: "Ext";
|
|
210
|
+
readonly 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.";
|
|
211
|
+
readonly type: "object";
|
|
212
|
+
readonly minProperties: 1;
|
|
213
|
+
readonly additionalProperties: true;
|
|
214
|
+
readonly propertyNames: {
|
|
215
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
readonly OutcomeEvidence: {
|
|
219
|
+
readonly title: "OutcomeEvidence";
|
|
220
|
+
readonly description: "One witnessing session's outcome evidence. `session` is the initiating witness/session document; `outcome` is the terminal witness/session/submit #response that the initiating document's own specification declares as its outcome evidence, under the witness's proof, delivering the VWC and its vwcDigestMultibase. A consumer pairs them with a presented VWC by SPEC §4.9.4's four checks and the witnessing checks of witness/session/submit (This response is the outcome evidence).";
|
|
221
|
+
readonly type: "object";
|
|
222
|
+
readonly additionalProperties: false;
|
|
223
|
+
readonly required: readonly ["session", "outcome"];
|
|
224
|
+
readonly properties: {
|
|
225
|
+
readonly session: {
|
|
226
|
+
readonly $ref: "#/$defs/EvidenceDocument";
|
|
227
|
+
readonly description: "The witness/session document that opened the session. The VWC's taskContext is its id and its taskDigestMultibase is computed over it (SPEC §4.9.3).";
|
|
228
|
+
};
|
|
229
|
+
readonly outcome: {
|
|
230
|
+
readonly $ref: "#/$defs/EvidenceDocument";
|
|
231
|
+
readonly description: "The witness/session/submit #response that closed the session, under the witness's proof. It carries the VWC and its vwcDigestMultibase.";
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
};
|
|
235
|
+
readonly EvidenceDocument: {
|
|
236
|
+
readonly title: "EvidenceDocument";
|
|
237
|
+
readonly description: "A whole Trust Task document — `id`, `type`, `payload` and every other member, `proof` included — carried exactly as it was sent or received, never re-serialised: a task digest and a proof are taken over its members, and a re-serialised copy reproduces neither reliably. Typed as an open object so every member survives; the checks that give it meaning belong to the task that reads it.";
|
|
238
|
+
readonly type: "object";
|
|
239
|
+
readonly minProperties: 1;
|
|
240
|
+
};
|
|
241
|
+
readonly DigestMultibase: {
|
|
242
|
+
readonly title: "DigestMultibase";
|
|
243
|
+
readonly description: "A cryptographic digest as a multibase-encoded multihash — the encoding the W3C Verifiable Credentials Data Model 2.0 defines for `digestMultibase`, and the one `did:webvh` uses for its SCID and entry hashes.\n\nMultihash carries the hash algorithm in-band, so the value is self-describing and the wire format survives an algorithm change without a schema revision; multibase does the same for the base encoding, so a verifier never infers base58 from base64url by context. A bare hex string or a `sha-256:`-style prefix hard-codes one algorithm into the wire contract and is non-conforming here.\n\nThis definition constrains the *encoding only*. What the digest is computed over is stated by each referencing field, because it differs legitimately: a digest over a JSON document is taken over its RFC 8785 (JCS) canonicalization, while a digest over an opaque artifact is taken over its bytes. A field whose input is a JSON document and which does not name a canonicalization is not reproducible.\n\nRestricted to the two multibase headers W3C Controlled Identifiers 1.0 §2.4 normatively requires — `z` (base58btc) and `u` (base64url-no-pad). CID permits others but states that \"interoperability is not guaranteed between implementations using such values\", and a registry whose purpose is interoperability should not mint digests a conforming verifier may be unable to read. The alphabets are enforced rather than assumed: base58btc excludes 0, O, I and l, and an earlier permissive pattern let three published examples carry digests that were not valid base58 at all. base58btc is RECOMMENDED, for consistency with `did:key` and `did:webvh`.";
|
|
244
|
+
readonly type: "string";
|
|
245
|
+
readonly minLength: 16;
|
|
246
|
+
readonly pattern: "^(z[1-9A-HJ-NP-Za-km-z]+|u[A-Za-z0-9_-]+)$";
|
|
247
|
+
readonly examples: readonly ["zQmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR"];
|
|
248
|
+
};
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
252
|
+
export declare const RESPONSE_PAYLOAD_SCHEMA: {
|
|
253
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
254
|
+
readonly $ref: "#/$defs/Response";
|
|
255
|
+
readonly $defs: {
|
|
256
|
+
readonly Response: {
|
|
257
|
+
readonly $anchor: "response";
|
|
258
|
+
readonly title: "VTA Witness — List — response payload";
|
|
259
|
+
readonly description: "One entry per stored VWC that matched and that the caller may read. Empty when nothing matched, which is a successful answer, not an error.";
|
|
260
|
+
readonly type: "object";
|
|
261
|
+
readonly additionalProperties: false;
|
|
262
|
+
readonly required: readonly ["witnessings", "truncated"];
|
|
263
|
+
readonly properties: {
|
|
264
|
+
readonly witnessings: {
|
|
265
|
+
readonly type: "array";
|
|
266
|
+
readonly maxItems: 100;
|
|
267
|
+
readonly items: {
|
|
268
|
+
readonly $ref: "#/$defs/StoredWitnessing";
|
|
269
|
+
};
|
|
270
|
+
readonly description: "The matching stored VWCs, each with its evidence.";
|
|
271
|
+
};
|
|
272
|
+
readonly truncated: {
|
|
273
|
+
readonly type: "boolean";
|
|
274
|
+
readonly description: "The VTA stopped early. A consumer MUST NOT read a truncated page as a complete account of what is stored.";
|
|
275
|
+
};
|
|
276
|
+
readonly cursor: {
|
|
277
|
+
readonly type: "string";
|
|
278
|
+
readonly minLength: 1;
|
|
279
|
+
readonly maxLength: 4096;
|
|
280
|
+
readonly description: "Pass to the next request to continue. Absent when the page is the last.";
|
|
281
|
+
};
|
|
282
|
+
readonly ext: {
|
|
283
|
+
readonly $ref: "#/$defs/Ext";
|
|
284
|
+
};
|
|
285
|
+
};
|
|
286
|
+
};
|
|
287
|
+
readonly StoredWitnessing: {
|
|
288
|
+
readonly title: "StoredWitnessing";
|
|
289
|
+
readonly description: "One VWC vta/witness/accept stored, as accept answered it, with the time it was stored. The VWC itself travels once, inside evidence.outcome, under the witness's proof.";
|
|
290
|
+
readonly type: "object";
|
|
291
|
+
readonly additionalProperties: false;
|
|
292
|
+
readonly required: readonly ["credentialId", "witness", "relationshipDid", "vwcDigestMultibase", "acceptedAt", "evidence"];
|
|
293
|
+
readonly properties: {
|
|
294
|
+
readonly credentialId: {
|
|
295
|
+
readonly type: "string";
|
|
296
|
+
readonly minLength: 1;
|
|
297
|
+
readonly maxLength: 256;
|
|
298
|
+
readonly description: "The credential-vault handle the VWC is stored under: the credentialId vta/witness/accept returned.";
|
|
299
|
+
};
|
|
300
|
+
readonly witness: {
|
|
301
|
+
readonly type: "string";
|
|
302
|
+
readonly pattern: "^did:";
|
|
303
|
+
readonly maxLength: 2048;
|
|
304
|
+
readonly description: "The witness that issued the VWC: its issuer, which is the recipient of evidence.session.";
|
|
305
|
+
};
|
|
306
|
+
readonly relationshipDid: {
|
|
307
|
+
readonly type: "string";
|
|
308
|
+
readonly pattern: "^did:";
|
|
309
|
+
readonly maxLength: 2048;
|
|
310
|
+
readonly description: "The relationship DID the VWC names as its credentialSubject.id.";
|
|
311
|
+
};
|
|
312
|
+
readonly vwcDigestMultibase: {
|
|
313
|
+
readonly $ref: "#/$defs/DigestMultibase";
|
|
314
|
+
readonly description: "The VWC's digest, as the witness returned it and the VTA checked it at accept: over the RFC 8785 canonicalization of the VWC, proof included.";
|
|
315
|
+
};
|
|
316
|
+
readonly acceptedAt: {
|
|
317
|
+
readonly type: "string";
|
|
318
|
+
readonly format: "date-time";
|
|
319
|
+
readonly description: "When vta/witness/accept stored the VWC.";
|
|
320
|
+
};
|
|
321
|
+
readonly evidence: {
|
|
322
|
+
readonly $ref: "#/$defs/OutcomeEvidence";
|
|
323
|
+
readonly description: "The outcome evidence stored with the VWC, each document exactly as stored, never re-serialised: `session`, the witness/session document as the VTA built it, and `outcome`, the witness/session/submit #response as received, which carries the VWC. Of whichever version the session was conducted under.";
|
|
324
|
+
};
|
|
325
|
+
readonly ext: {
|
|
326
|
+
readonly $ref: "#/$defs/Ext";
|
|
327
|
+
};
|
|
328
|
+
};
|
|
329
|
+
};
|
|
330
|
+
readonly Ext: {
|
|
331
|
+
readonly title: "Ext";
|
|
332
|
+
readonly 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.";
|
|
333
|
+
readonly type: "object";
|
|
334
|
+
readonly minProperties: 1;
|
|
335
|
+
readonly additionalProperties: true;
|
|
336
|
+
readonly propertyNames: {
|
|
337
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
readonly OutcomeEvidence: {
|
|
341
|
+
readonly title: "OutcomeEvidence";
|
|
342
|
+
readonly description: "One witnessing session's outcome evidence. `session` is the initiating witness/session document; `outcome` is the terminal witness/session/submit #response that the initiating document's own specification declares as its outcome evidence, under the witness's proof, delivering the VWC and its vwcDigestMultibase. A consumer pairs them with a presented VWC by SPEC §4.9.4's four checks and the witnessing checks of witness/session/submit (This response is the outcome evidence).";
|
|
343
|
+
readonly type: "object";
|
|
344
|
+
readonly additionalProperties: false;
|
|
345
|
+
readonly required: readonly ["session", "outcome"];
|
|
346
|
+
readonly properties: {
|
|
347
|
+
readonly session: {
|
|
348
|
+
readonly $ref: "#/$defs/EvidenceDocument";
|
|
349
|
+
readonly description: "The witness/session document that opened the session. The VWC's taskContext is its id and its taskDigestMultibase is computed over it (SPEC §4.9.3).";
|
|
350
|
+
};
|
|
351
|
+
readonly outcome: {
|
|
352
|
+
readonly $ref: "#/$defs/EvidenceDocument";
|
|
353
|
+
readonly description: "The witness/session/submit #response that closed the session, under the witness's proof. It carries the VWC and its vwcDigestMultibase.";
|
|
354
|
+
};
|
|
355
|
+
};
|
|
356
|
+
};
|
|
357
|
+
readonly EvidenceDocument: {
|
|
358
|
+
readonly title: "EvidenceDocument";
|
|
359
|
+
readonly description: "A whole Trust Task document — `id`, `type`, `payload` and every other member, `proof` included — carried exactly as it was sent or received, never re-serialised: a task digest and a proof are taken over its members, and a re-serialised copy reproduces neither reliably. Typed as an open object so every member survives; the checks that give it meaning belong to the task that reads it.";
|
|
360
|
+
readonly type: "object";
|
|
361
|
+
readonly minProperties: 1;
|
|
362
|
+
};
|
|
363
|
+
readonly DigestMultibase: {
|
|
364
|
+
readonly title: "DigestMultibase";
|
|
365
|
+
readonly description: "A cryptographic digest as a multibase-encoded multihash — the encoding the W3C Verifiable Credentials Data Model 2.0 defines for `digestMultibase`, and the one `did:webvh` uses for its SCID and entry hashes.\n\nMultihash carries the hash algorithm in-band, so the value is self-describing and the wire format survives an algorithm change without a schema revision; multibase does the same for the base encoding, so a verifier never infers base58 from base64url by context. A bare hex string or a `sha-256:`-style prefix hard-codes one algorithm into the wire contract and is non-conforming here.\n\nThis definition constrains the *encoding only*. What the digest is computed over is stated by each referencing field, because it differs legitimately: a digest over a JSON document is taken over its RFC 8785 (JCS) canonicalization, while a digest over an opaque artifact is taken over its bytes. A field whose input is a JSON document and which does not name a canonicalization is not reproducible.\n\nRestricted to the two multibase headers W3C Controlled Identifiers 1.0 §2.4 normatively requires — `z` (base58btc) and `u` (base64url-no-pad). CID permits others but states that \"interoperability is not guaranteed between implementations using such values\", and a registry whose purpose is interoperability should not mint digests a conforming verifier may be unable to read. The alphabets are enforced rather than assumed: base58btc excludes 0, O, I and l, and an earlier permissive pattern let three published examples carry digests that were not valid base58 at all. base58btc is RECOMMENDED, for consistency with `did:key` and `did:webvh`.";
|
|
366
|
+
readonly type: "string";
|
|
367
|
+
readonly minLength: 16;
|
|
368
|
+
readonly pattern: "^(z[1-9A-HJ-NP-Za-km-z]+|u[A-Za-z0-9_-]+)$";
|
|
369
|
+
readonly examples: readonly ["zQmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR"];
|
|
370
|
+
};
|
|
371
|
+
};
|
|
372
|
+
};
|
|
373
|
+
/**
|
|
374
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
375
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
376
|
+
* per-specification and cannot be derived from the document alone, and
|
|
377
|
+
* item 2 needs the schema this carries.
|
|
378
|
+
*/
|
|
379
|
+
export declare const SPEC: {
|
|
380
|
+
readonly typeUri: "https://trusttasks.org/spec/vta/witness/list/0.1";
|
|
381
|
+
readonly isBearer: false;
|
|
382
|
+
readonly isProofRequired: true;
|
|
383
|
+
readonly isRecipientRequired: true;
|
|
384
|
+
readonly isIssuedAtRequired: true;
|
|
385
|
+
readonly payloadSchema: {
|
|
386
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
387
|
+
readonly $id: "https://trusttasks.org/spec/vta/witness/list/0.1";
|
|
388
|
+
readonly title: "VTA Witness — List — payload";
|
|
389
|
+
readonly description: "A client reads back from its VTA the Verifiable Witness Credentials vta/witness/accept stored for its principal, each with the outcome evidence stored beside it. Every filter is optional and those present are AND-combined.";
|
|
390
|
+
readonly type: "object";
|
|
391
|
+
readonly additionalProperties: false;
|
|
392
|
+
readonly properties: {
|
|
393
|
+
readonly relationshipDid: {
|
|
394
|
+
readonly type: "string";
|
|
395
|
+
readonly pattern: "^did:";
|
|
396
|
+
readonly maxLength: 2048;
|
|
397
|
+
readonly description: "Only VWCs whose credentialSubject.id is this relationship DID.";
|
|
398
|
+
};
|
|
399
|
+
readonly witness: {
|
|
400
|
+
readonly type: "string";
|
|
401
|
+
readonly pattern: "^did:";
|
|
402
|
+
readonly maxLength: 2048;
|
|
403
|
+
readonly description: "Only VWCs issued by this witness.";
|
|
404
|
+
};
|
|
405
|
+
readonly pageSize: {
|
|
406
|
+
readonly type: "integer";
|
|
407
|
+
readonly minimum: 1;
|
|
408
|
+
readonly maximum: 100;
|
|
409
|
+
readonly description: "Maximum entries to return. The VTA MAY return fewer and caps this value.";
|
|
410
|
+
};
|
|
411
|
+
readonly cursor: {
|
|
412
|
+
readonly type: "string";
|
|
413
|
+
readonly minLength: 1;
|
|
414
|
+
readonly maxLength: 4096;
|
|
415
|
+
readonly description: "Continue a previous page. Opaque: a consumer MUST NOT construct or parse one.";
|
|
416
|
+
};
|
|
417
|
+
readonly ext: {
|
|
418
|
+
readonly $ref: "#/$defs/Ext";
|
|
419
|
+
};
|
|
420
|
+
};
|
|
421
|
+
readonly $defs: {
|
|
422
|
+
readonly Response: {
|
|
423
|
+
readonly $anchor: "response";
|
|
424
|
+
readonly title: "VTA Witness — List — response payload";
|
|
425
|
+
readonly description: "One entry per stored VWC that matched and that the caller may read. Empty when nothing matched, which is a successful answer, not an error.";
|
|
426
|
+
readonly type: "object";
|
|
427
|
+
readonly additionalProperties: false;
|
|
428
|
+
readonly required: readonly ["witnessings", "truncated"];
|
|
429
|
+
readonly properties: {
|
|
430
|
+
readonly witnessings: {
|
|
431
|
+
readonly type: "array";
|
|
432
|
+
readonly maxItems: 100;
|
|
433
|
+
readonly items: {
|
|
434
|
+
readonly $ref: "#/$defs/StoredWitnessing";
|
|
435
|
+
};
|
|
436
|
+
readonly description: "The matching stored VWCs, each with its evidence.";
|
|
437
|
+
};
|
|
438
|
+
readonly truncated: {
|
|
439
|
+
readonly type: "boolean";
|
|
440
|
+
readonly description: "The VTA stopped early. A consumer MUST NOT read a truncated page as a complete account of what is stored.";
|
|
441
|
+
};
|
|
442
|
+
readonly cursor: {
|
|
443
|
+
readonly type: "string";
|
|
444
|
+
readonly minLength: 1;
|
|
445
|
+
readonly maxLength: 4096;
|
|
446
|
+
readonly description: "Pass to the next request to continue. Absent when the page is the last.";
|
|
447
|
+
};
|
|
448
|
+
readonly ext: {
|
|
449
|
+
readonly $ref: "#/$defs/Ext";
|
|
450
|
+
};
|
|
451
|
+
};
|
|
452
|
+
};
|
|
453
|
+
readonly StoredWitnessing: {
|
|
454
|
+
readonly title: "StoredWitnessing";
|
|
455
|
+
readonly description: "One VWC vta/witness/accept stored, as accept answered it, with the time it was stored. The VWC itself travels once, inside evidence.outcome, under the witness's proof.";
|
|
456
|
+
readonly type: "object";
|
|
457
|
+
readonly additionalProperties: false;
|
|
458
|
+
readonly required: readonly ["credentialId", "witness", "relationshipDid", "vwcDigestMultibase", "acceptedAt", "evidence"];
|
|
459
|
+
readonly properties: {
|
|
460
|
+
readonly credentialId: {
|
|
461
|
+
readonly type: "string";
|
|
462
|
+
readonly minLength: 1;
|
|
463
|
+
readonly maxLength: 256;
|
|
464
|
+
readonly description: "The credential-vault handle the VWC is stored under: the credentialId vta/witness/accept returned.";
|
|
465
|
+
};
|
|
466
|
+
readonly witness: {
|
|
467
|
+
readonly type: "string";
|
|
468
|
+
readonly pattern: "^did:";
|
|
469
|
+
readonly maxLength: 2048;
|
|
470
|
+
readonly description: "The witness that issued the VWC: its issuer, which is the recipient of evidence.session.";
|
|
471
|
+
};
|
|
472
|
+
readonly relationshipDid: {
|
|
473
|
+
readonly type: "string";
|
|
474
|
+
readonly pattern: "^did:";
|
|
475
|
+
readonly maxLength: 2048;
|
|
476
|
+
readonly description: "The relationship DID the VWC names as its credentialSubject.id.";
|
|
477
|
+
};
|
|
478
|
+
readonly vwcDigestMultibase: {
|
|
479
|
+
readonly $ref: "#/$defs/DigestMultibase";
|
|
480
|
+
readonly description: "The VWC's digest, as the witness returned it and the VTA checked it at accept: over the RFC 8785 canonicalization of the VWC, proof included.";
|
|
481
|
+
};
|
|
482
|
+
readonly acceptedAt: {
|
|
483
|
+
readonly type: "string";
|
|
484
|
+
readonly format: "date-time";
|
|
485
|
+
readonly description: "When vta/witness/accept stored the VWC.";
|
|
486
|
+
};
|
|
487
|
+
readonly evidence: {
|
|
488
|
+
readonly $ref: "#/$defs/OutcomeEvidence";
|
|
489
|
+
readonly description: "The outcome evidence stored with the VWC, each document exactly as stored, never re-serialised: `session`, the witness/session document as the VTA built it, and `outcome`, the witness/session/submit #response as received, which carries the VWC. Of whichever version the session was conducted under.";
|
|
490
|
+
};
|
|
491
|
+
readonly ext: {
|
|
492
|
+
readonly $ref: "#/$defs/Ext";
|
|
493
|
+
};
|
|
494
|
+
};
|
|
495
|
+
};
|
|
496
|
+
readonly Ext: {
|
|
497
|
+
readonly title: "Ext";
|
|
498
|
+
readonly 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.";
|
|
499
|
+
readonly type: "object";
|
|
500
|
+
readonly minProperties: 1;
|
|
501
|
+
readonly additionalProperties: true;
|
|
502
|
+
readonly propertyNames: {
|
|
503
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
504
|
+
};
|
|
505
|
+
};
|
|
506
|
+
readonly OutcomeEvidence: {
|
|
507
|
+
readonly title: "OutcomeEvidence";
|
|
508
|
+
readonly description: "One witnessing session's outcome evidence. `session` is the initiating witness/session document; `outcome` is the terminal witness/session/submit #response that the initiating document's own specification declares as its outcome evidence, under the witness's proof, delivering the VWC and its vwcDigestMultibase. A consumer pairs them with a presented VWC by SPEC §4.9.4's four checks and the witnessing checks of witness/session/submit (This response is the outcome evidence).";
|
|
509
|
+
readonly type: "object";
|
|
510
|
+
readonly additionalProperties: false;
|
|
511
|
+
readonly required: readonly ["session", "outcome"];
|
|
512
|
+
readonly properties: {
|
|
513
|
+
readonly session: {
|
|
514
|
+
readonly $ref: "#/$defs/EvidenceDocument";
|
|
515
|
+
readonly description: "The witness/session document that opened the session. The VWC's taskContext is its id and its taskDigestMultibase is computed over it (SPEC §4.9.3).";
|
|
516
|
+
};
|
|
517
|
+
readonly outcome: {
|
|
518
|
+
readonly $ref: "#/$defs/EvidenceDocument";
|
|
519
|
+
readonly description: "The witness/session/submit #response that closed the session, under the witness's proof. It carries the VWC and its vwcDigestMultibase.";
|
|
520
|
+
};
|
|
521
|
+
};
|
|
522
|
+
};
|
|
523
|
+
readonly EvidenceDocument: {
|
|
524
|
+
readonly title: "EvidenceDocument";
|
|
525
|
+
readonly description: "A whole Trust Task document — `id`, `type`, `payload` and every other member, `proof` included — carried exactly as it was sent or received, never re-serialised: a task digest and a proof are taken over its members, and a re-serialised copy reproduces neither reliably. Typed as an open object so every member survives; the checks that give it meaning belong to the task that reads it.";
|
|
526
|
+
readonly type: "object";
|
|
527
|
+
readonly minProperties: 1;
|
|
528
|
+
};
|
|
529
|
+
readonly DigestMultibase: {
|
|
530
|
+
readonly title: "DigestMultibase";
|
|
531
|
+
readonly description: "A cryptographic digest as a multibase-encoded multihash — the encoding the W3C Verifiable Credentials Data Model 2.0 defines for `digestMultibase`, and the one `did:webvh` uses for its SCID and entry hashes.\n\nMultihash carries the hash algorithm in-band, so the value is self-describing and the wire format survives an algorithm change without a schema revision; multibase does the same for the base encoding, so a verifier never infers base58 from base64url by context. A bare hex string or a `sha-256:`-style prefix hard-codes one algorithm into the wire contract and is non-conforming here.\n\nThis definition constrains the *encoding only*. What the digest is computed over is stated by each referencing field, because it differs legitimately: a digest over a JSON document is taken over its RFC 8785 (JCS) canonicalization, while a digest over an opaque artifact is taken over its bytes. A field whose input is a JSON document and which does not name a canonicalization is not reproducible.\n\nRestricted to the two multibase headers W3C Controlled Identifiers 1.0 §2.4 normatively requires — `z` (base58btc) and `u` (base64url-no-pad). CID permits others but states that \"interoperability is not guaranteed between implementations using such values\", and a registry whose purpose is interoperability should not mint digests a conforming verifier may be unable to read. The alphabets are enforced rather than assumed: base58btc excludes 0, O, I and l, and an earlier permissive pattern let three published examples carry digests that were not valid base58 at all. base58btc is RECOMMENDED, for consistency with `did:key` and `did:webvh`.";
|
|
532
|
+
readonly type: "string";
|
|
533
|
+
readonly minLength: 16;
|
|
534
|
+
readonly pattern: "^(z[1-9A-HJ-NP-Za-km-z]+|u[A-Za-z0-9_-]+)$";
|
|
535
|
+
readonly examples: readonly ["zQmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR"];
|
|
536
|
+
};
|
|
537
|
+
};
|
|
538
|
+
};
|
|
539
|
+
};
|
|
540
|
+
/**
|
|
541
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
542
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
543
|
+
* parties (§7.3 item 5).
|
|
544
|
+
*/
|
|
545
|
+
export declare const RESPONSE_SPEC: {
|
|
546
|
+
readonly typeUri: "https://trusttasks.org/spec/vta/witness/list/0.1#response";
|
|
547
|
+
readonly isBearer: false;
|
|
548
|
+
readonly isProofRequired: true;
|
|
549
|
+
readonly isRecipientRequired: true;
|
|
550
|
+
readonly isIssuedAtRequired: true;
|
|
551
|
+
readonly payloadSchema: {
|
|
552
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
553
|
+
readonly $ref: "#/$defs/Response";
|
|
554
|
+
readonly $defs: {
|
|
555
|
+
readonly Response: {
|
|
556
|
+
readonly $anchor: "response";
|
|
557
|
+
readonly title: "VTA Witness — List — response payload";
|
|
558
|
+
readonly description: "One entry per stored VWC that matched and that the caller may read. Empty when nothing matched, which is a successful answer, not an error.";
|
|
559
|
+
readonly type: "object";
|
|
560
|
+
readonly additionalProperties: false;
|
|
561
|
+
readonly required: readonly ["witnessings", "truncated"];
|
|
562
|
+
readonly properties: {
|
|
563
|
+
readonly witnessings: {
|
|
564
|
+
readonly type: "array";
|
|
565
|
+
readonly maxItems: 100;
|
|
566
|
+
readonly items: {
|
|
567
|
+
readonly $ref: "#/$defs/StoredWitnessing";
|
|
568
|
+
};
|
|
569
|
+
readonly description: "The matching stored VWCs, each with its evidence.";
|
|
570
|
+
};
|
|
571
|
+
readonly truncated: {
|
|
572
|
+
readonly type: "boolean";
|
|
573
|
+
readonly description: "The VTA stopped early. A consumer MUST NOT read a truncated page as a complete account of what is stored.";
|
|
574
|
+
};
|
|
575
|
+
readonly cursor: {
|
|
576
|
+
readonly type: "string";
|
|
577
|
+
readonly minLength: 1;
|
|
578
|
+
readonly maxLength: 4096;
|
|
579
|
+
readonly description: "Pass to the next request to continue. Absent when the page is the last.";
|
|
580
|
+
};
|
|
581
|
+
readonly ext: {
|
|
582
|
+
readonly $ref: "#/$defs/Ext";
|
|
583
|
+
};
|
|
584
|
+
};
|
|
585
|
+
};
|
|
586
|
+
readonly StoredWitnessing: {
|
|
587
|
+
readonly title: "StoredWitnessing";
|
|
588
|
+
readonly description: "One VWC vta/witness/accept stored, as accept answered it, with the time it was stored. The VWC itself travels once, inside evidence.outcome, under the witness's proof.";
|
|
589
|
+
readonly type: "object";
|
|
590
|
+
readonly additionalProperties: false;
|
|
591
|
+
readonly required: readonly ["credentialId", "witness", "relationshipDid", "vwcDigestMultibase", "acceptedAt", "evidence"];
|
|
592
|
+
readonly properties: {
|
|
593
|
+
readonly credentialId: {
|
|
594
|
+
readonly type: "string";
|
|
595
|
+
readonly minLength: 1;
|
|
596
|
+
readonly maxLength: 256;
|
|
597
|
+
readonly description: "The credential-vault handle the VWC is stored under: the credentialId vta/witness/accept returned.";
|
|
598
|
+
};
|
|
599
|
+
readonly witness: {
|
|
600
|
+
readonly type: "string";
|
|
601
|
+
readonly pattern: "^did:";
|
|
602
|
+
readonly maxLength: 2048;
|
|
603
|
+
readonly description: "The witness that issued the VWC: its issuer, which is the recipient of evidence.session.";
|
|
604
|
+
};
|
|
605
|
+
readonly relationshipDid: {
|
|
606
|
+
readonly type: "string";
|
|
607
|
+
readonly pattern: "^did:";
|
|
608
|
+
readonly maxLength: 2048;
|
|
609
|
+
readonly description: "The relationship DID the VWC names as its credentialSubject.id.";
|
|
610
|
+
};
|
|
611
|
+
readonly vwcDigestMultibase: {
|
|
612
|
+
readonly $ref: "#/$defs/DigestMultibase";
|
|
613
|
+
readonly description: "The VWC's digest, as the witness returned it and the VTA checked it at accept: over the RFC 8785 canonicalization of the VWC, proof included.";
|
|
614
|
+
};
|
|
615
|
+
readonly acceptedAt: {
|
|
616
|
+
readonly type: "string";
|
|
617
|
+
readonly format: "date-time";
|
|
618
|
+
readonly description: "When vta/witness/accept stored the VWC.";
|
|
619
|
+
};
|
|
620
|
+
readonly evidence: {
|
|
621
|
+
readonly $ref: "#/$defs/OutcomeEvidence";
|
|
622
|
+
readonly description: "The outcome evidence stored with the VWC, each document exactly as stored, never re-serialised: `session`, the witness/session document as the VTA built it, and `outcome`, the witness/session/submit #response as received, which carries the VWC. Of whichever version the session was conducted under.";
|
|
623
|
+
};
|
|
624
|
+
readonly ext: {
|
|
625
|
+
readonly $ref: "#/$defs/Ext";
|
|
626
|
+
};
|
|
627
|
+
};
|
|
628
|
+
};
|
|
629
|
+
readonly Ext: {
|
|
630
|
+
readonly title: "Ext";
|
|
631
|
+
readonly 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.";
|
|
632
|
+
readonly type: "object";
|
|
633
|
+
readonly minProperties: 1;
|
|
634
|
+
readonly additionalProperties: true;
|
|
635
|
+
readonly propertyNames: {
|
|
636
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
637
|
+
};
|
|
638
|
+
};
|
|
639
|
+
readonly OutcomeEvidence: {
|
|
640
|
+
readonly title: "OutcomeEvidence";
|
|
641
|
+
readonly description: "One witnessing session's outcome evidence. `session` is the initiating witness/session document; `outcome` is the terminal witness/session/submit #response that the initiating document's own specification declares as its outcome evidence, under the witness's proof, delivering the VWC and its vwcDigestMultibase. A consumer pairs them with a presented VWC by SPEC §4.9.4's four checks and the witnessing checks of witness/session/submit (This response is the outcome evidence).";
|
|
642
|
+
readonly type: "object";
|
|
643
|
+
readonly additionalProperties: false;
|
|
644
|
+
readonly required: readonly ["session", "outcome"];
|
|
645
|
+
readonly properties: {
|
|
646
|
+
readonly session: {
|
|
647
|
+
readonly $ref: "#/$defs/EvidenceDocument";
|
|
648
|
+
readonly description: "The witness/session document that opened the session. The VWC's taskContext is its id and its taskDigestMultibase is computed over it (SPEC §4.9.3).";
|
|
649
|
+
};
|
|
650
|
+
readonly outcome: {
|
|
651
|
+
readonly $ref: "#/$defs/EvidenceDocument";
|
|
652
|
+
readonly description: "The witness/session/submit #response that closed the session, under the witness's proof. It carries the VWC and its vwcDigestMultibase.";
|
|
653
|
+
};
|
|
654
|
+
};
|
|
655
|
+
};
|
|
656
|
+
readonly EvidenceDocument: {
|
|
657
|
+
readonly title: "EvidenceDocument";
|
|
658
|
+
readonly description: "A whole Trust Task document — `id`, `type`, `payload` and every other member, `proof` included — carried exactly as it was sent or received, never re-serialised: a task digest and a proof are taken over its members, and a re-serialised copy reproduces neither reliably. Typed as an open object so every member survives; the checks that give it meaning belong to the task that reads it.";
|
|
659
|
+
readonly type: "object";
|
|
660
|
+
readonly minProperties: 1;
|
|
661
|
+
};
|
|
662
|
+
readonly DigestMultibase: {
|
|
663
|
+
readonly title: "DigestMultibase";
|
|
664
|
+
readonly description: "A cryptographic digest as a multibase-encoded multihash — the encoding the W3C Verifiable Credentials Data Model 2.0 defines for `digestMultibase`, and the one `did:webvh` uses for its SCID and entry hashes.\n\nMultihash carries the hash algorithm in-band, so the value is self-describing and the wire format survives an algorithm change without a schema revision; multibase does the same for the base encoding, so a verifier never infers base58 from base64url by context. A bare hex string or a `sha-256:`-style prefix hard-codes one algorithm into the wire contract and is non-conforming here.\n\nThis definition constrains the *encoding only*. What the digest is computed over is stated by each referencing field, because it differs legitimately: a digest over a JSON document is taken over its RFC 8785 (JCS) canonicalization, while a digest over an opaque artifact is taken over its bytes. A field whose input is a JSON document and which does not name a canonicalization is not reproducible.\n\nRestricted to the two multibase headers W3C Controlled Identifiers 1.0 §2.4 normatively requires — `z` (base58btc) and `u` (base64url-no-pad). CID permits others but states that \"interoperability is not guaranteed between implementations using such values\", and a registry whose purpose is interoperability should not mint digests a conforming verifier may be unable to read. The alphabets are enforced rather than assumed: base58btc excludes 0, O, I and l, and an earlier permissive pattern let three published examples carry digests that were not valid base58 at all. base58btc is RECOMMENDED, for consistency with `did:key` and `did:webvh`.";
|
|
665
|
+
readonly type: "string";
|
|
666
|
+
readonly minLength: 16;
|
|
667
|
+
readonly pattern: "^(z[1-9A-HJ-NP-Za-km-z]+|u[A-Za-z0-9_-]+)$";
|
|
668
|
+
readonly examples: readonly ["zQmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR"];
|
|
669
|
+
};
|
|
670
|
+
};
|
|
671
|
+
};
|
|
672
|
+
};
|
|
673
|
+
//# sourceMappingURL=payload.d.ts.map
|