@openvtc/trust-tasks 0.27.1 → 0.27.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 +216 -0
- package/dist/_runtime/freshness.d.ts +3 -1
- package/dist/_runtime/freshness.d.ts.map +1 -1
- package/dist/_runtime/freshness.js +4 -2
- package/dist/_runtime/freshness.js.map +1 -1
- package/dist/_shared/components.d.ts +346 -23
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/device/list/0.1/payload.d.ts +4 -4
- package/dist/device/list/0.1/payload.d.ts.map +1 -1
- package/dist/device/list/0.1/payload.js +4 -2
- package/dist/device/list/0.1/payload.js.map +1 -1
- package/dist/device/list/0.2/payload.d.ts +4 -4
- package/dist/device/list/0.2/payload.d.ts.map +1 -1
- package/dist/device/list/0.2/payload.js +4 -2
- package/dist/device/list/0.2/payload.js.map +1 -1
- package/dist/device/register/0.1/payload.d.ts +4 -4
- package/dist/device/register/0.1/payload.d.ts.map +1 -1
- package/dist/device/register/0.1/payload.js +4 -2
- package/dist/device/register/0.1/payload.js.map +1 -1
- package/dist/device/register/0.2/payload.d.ts +4 -4
- package/dist/device/register/0.2/payload.d.ts.map +1 -1
- package/dist/device/register/0.2/payload.js +4 -2
- package/dist/device/register/0.2/payload.js.map +1 -1
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/dist/rooms/_shared/0.1/room.d.ts +1 -1
- package/dist/rooms/_shared/0.1/room.d.ts.map +1 -1
- package/dist/rooms/create/0.2/payload.d.ts +534 -0
- package/dist/rooms/create/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/create/0.2/payload.js +293 -0
- package/dist/rooms/create/0.2/payload.js.map +1 -0
- package/dist/rooms/epoch/chain/0.2/payload.d.ts +534 -0
- package/dist/rooms/epoch/chain/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/epoch/chain/0.2/payload.js +292 -0
- package/dist/rooms/epoch/chain/0.2/payload.js.map +1 -0
- package/dist/rooms/epoch/prune/0.2/payload.d.ts +467 -0
- package/dist/rooms/epoch/prune/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/epoch/prune/0.2/payload.js +251 -0
- package/dist/rooms/epoch/prune/0.2/payload.js.map +1 -0
- package/dist/rooms/info/0.2/payload.d.ts +1129 -0
- package/dist/rooms/info/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/info/0.2/payload.js +618 -0
- package/dist/rooms/info/0.2/payload.js.map +1 -0
- package/dist/rooms/keys/backfill/0.2/payload.d.ts +380 -0
- package/dist/rooms/keys/backfill/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/keys/backfill/0.2/payload.js +197 -0
- package/dist/rooms/keys/backfill/0.2/payload.js.map +1 -0
- package/dist/rooms/keys/browse/0.1/payload.d.ts +4 -4
- package/dist/rooms/keys/browse/0.1/payload.js +2 -2
- package/dist/rooms/keys/browse/0.1/payload.js.map +1 -1
- package/dist/rooms/keys/browse/0.2/payload.d.ts +941 -0
- package/dist/rooms/keys/browse/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/keys/browse/0.2/payload.js +558 -0
- package/dist/rooms/keys/browse/0.2/payload.js.map +1 -0
- package/dist/rooms/keys/chain/0.2/payload.d.ts +450 -0
- package/dist/rooms/keys/chain/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/keys/chain/0.2/payload.js +248 -0
- package/dist/rooms/keys/chain/0.2/payload.js.map +1 -0
- package/dist/rooms/keys/profile/read/0.1/payload.d.ts +4 -4
- package/dist/rooms/keys/profile/read/0.1/payload.js +2 -2
- package/dist/rooms/keys/profile/read/0.1/payload.js.map +1 -1
- package/dist/rooms/keys/read/0.1/payload.d.ts +4 -4
- package/dist/rooms/keys/read/0.1/payload.js +2 -2
- package/dist/rooms/keys/read/0.1/payload.js.map +1 -1
- package/dist/rooms/owner/anchor/0.1/payload.d.ts +4 -4
- package/dist/rooms/owner/anchor/0.1/payload.js +2 -2
- package/dist/rooms/owner/anchor/0.1/payload.js.map +1 -1
- package/dist/rooms/records/get/0.1/payload.d.ts +4 -4
- package/dist/rooms/records/get/0.1/payload.js +2 -2
- package/dist/rooms/records/get/0.1/payload.js.map +1 -1
- package/dist/rooms/records/get/0.2/payload.d.ts +4 -4
- package/dist/rooms/records/get/0.2/payload.js +2 -2
- package/dist/rooms/records/get/0.2/payload.js.map +1 -1
- package/dist/rooms/records/list/0.1/payload.d.ts +4 -4
- package/dist/rooms/records/list/0.1/payload.js +2 -2
- package/dist/rooms/records/list/0.1/payload.js.map +1 -1
- package/dist/rooms/records/list/0.2/payload.d.ts +4 -4
- package/dist/rooms/records/list/0.2/payload.js +2 -2
- package/dist/rooms/records/list/0.2/payload.js.map +1 -1
- package/dist/rooms/records/list/0.3/payload.d.ts +970 -0
- package/dist/rooms/records/list/0.3/payload.d.ts.map +1 -0
- package/dist/rooms/records/list/0.3/payload.js +526 -0
- package/dist/rooms/records/list/0.3/payload.js.map +1 -0
- package/dist/rooms/records/prune/0.1/payload.d.ts +706 -0
- package/dist/rooms/records/prune/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/records/prune/0.1/payload.js +374 -0
- package/dist/rooms/records/prune/0.1/payload.js.map +1 -0
- package/dist/rooms/records/put/0.3/payload.d.ts +1212 -0
- package/dist/rooms/records/put/0.3/payload.d.ts.map +1 -0
- package/dist/rooms/records/put/0.3/payload.js +646 -0
- package/dist/rooms/records/put/0.3/payload.js.map +1 -0
- package/dist/rooms/records/retention/set/0.1/payload.d.ts +521 -0
- package/dist/rooms/records/retention/set/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/records/retention/set/0.1/payload.js +276 -0
- package/dist/rooms/records/retention/set/0.1/payload.js.map +1 -0
- package/dist/vault/credentials/present/0.1/payload.d.ts +407 -0
- package/dist/vault/credentials/present/0.1/payload.d.ts.map +1 -0
- package/dist/vault/credentials/present/0.1/payload.js +217 -0
- package/dist/vault/credentials/present/0.1/payload.js.map +1 -0
- package/dist/vta/webvh/dids/create/1.2/payload.d.ts +961 -0
- package/dist/vta/webvh/dids/create/1.2/payload.d.ts.map +1 -0
- package/dist/vta/webvh/dids/create/1.2/payload.js +480 -0
- package/dist/vta/webvh/dids/create/1.2/payload.js.map +1 -0
- package/dist/vtc/_shared/0.1/room-migration.d.ts +16 -0
- package/dist/vtc/_shared/0.1/room-migration.d.ts.map +1 -0
- package/dist/vtc/_shared/0.1/room-migration.js +6 -0
- package/dist/vtc/_shared/0.1/room-migration.js.map +1 -0
- package/dist/vtc/_shared/0.1/room-storage.d.ts +1 -1
- package/dist/vtc/_shared/0.1/room-storage.d.ts.map +1 -1
- package/dist/vtc/_shared/0.2/room-storage.d.ts +16 -0
- package/dist/vtc/_shared/0.2/room-storage.d.ts.map +1 -0
- package/dist/vtc/_shared/0.2/room-storage.js +6 -0
- package/dist/vtc/_shared/0.2/room-storage.js.map +1 -0
- package/dist/vtc/admin/events/_shared/0.4/topic.d.ts +31 -0
- package/dist/vtc/admin/events/_shared/0.4/topic.d.ts.map +1 -0
- package/dist/vtc/admin/events/_shared/0.4/topic.js +6 -0
- package/dist/vtc/admin/events/_shared/0.4/topic.js.map +1 -0
- package/dist/vtc/admin/events/event/0.4/payload.d.ts +172 -0
- package/dist/vtc/admin/events/event/0.4/payload.d.ts.map +1 -0
- package/dist/vtc/admin/events/event/0.4/payload.js +103 -0
- package/dist/vtc/admin/events/event/0.4/payload.js.map +1 -0
- package/dist/vtc/admin/events/subscribe/0.4/payload.d.ts +409 -0
- package/dist/vtc/admin/events/subscribe/0.4/payload.d.ts.map +1 -0
- package/dist/vtc/admin/events/subscribe/0.4/payload.js +238 -0
- package/dist/vtc/admin/events/subscribe/0.4/payload.js.map +1 -0
- package/dist/vtc/rooms/get/0.2/payload.d.ts +1966 -0
- package/dist/vtc/rooms/get/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/get/0.2/payload.js +976 -0
- package/dist/vtc/rooms/get/0.2/payload.js.map +1 -0
- package/dist/vtc/rooms/storage/migrate/0.2/payload.d.ts +595 -0
- package/dist/vtc/rooms/storage/migrate/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/storage/migrate/0.2/payload.js +336 -0
- package/dist/vtc/rooms/storage/migrate/0.2/payload.js.map +1 -0
- package/dist/vtc/storage/configs/create/0.1/payload.d.ts +1 -1
- package/dist/vtc/storage/configs/create/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/storage/configs/create/0.2/payload.d.ts +1360 -0
- package/dist/vtc/storage/configs/create/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/storage/configs/create/0.2/payload.js +783 -0
- package/dist/vtc/storage/configs/create/0.2/payload.js.map +1 -0
- package/dist/vtc/storage/configs/get/0.1/payload.d.ts +1 -1
- package/dist/vtc/storage/configs/get/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/storage/configs/get/0.2/payload.d.ts +1854 -0
- package/dist/vtc/storage/configs/get/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/storage/configs/get/0.2/payload.js +1075 -0
- package/dist/vtc/storage/configs/get/0.2/payload.js.map +1 -0
- package/dist/vtc/storage/configs/list/0.1/payload.d.ts +1 -1
- package/dist/vtc/storage/configs/list/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/storage/configs/list/0.2/payload.d.ts +1955 -0
- package/dist/vtc/storage/configs/list/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/storage/configs/list/0.2/payload.js +1125 -0
- package/dist/vtc/storage/configs/list/0.2/payload.js.map +1 -0
- package/dist/vtc/storage/configs/update/0.1/payload.d.ts +1 -1
- package/dist/vtc/storage/configs/update/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/storage/configs/update/0.2/payload.d.ts +1362 -0
- package/dist/vtc/storage/configs/update/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/storage/configs/update/0.2/payload.js +782 -0
- package/dist/vtc/storage/configs/update/0.2/payload.js.map +1 -0
- package/dist/vtc/storage/credentials/set/0.1/payload.d.ts +1 -1
- package/dist/vtc/storage/credentials/set/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/storage/credentials/set/0.2/payload.d.ts +979 -0
- package/dist/vtc/storage/credentials/set/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/storage/credentials/set/0.2/payload.js +573 -0
- package/dist/vtc/storage/credentials/set/0.2/payload.js.map +1 -0
- package/package.json +1 -1
- package/src/_runtime/freshness.ts +4 -2
- package/src/_shared/components.ts +372 -23
- package/src/device/list/0.1/payload.ts +4 -2
- package/src/device/list/0.2/payload.ts +4 -2
- package/src/device/register/0.1/payload.ts +4 -2
- package/src/device/register/0.2/payload.ts +4 -2
- package/src/index.ts +25 -0
- package/src/rooms/_shared/0.1/room.ts +1 -1
- package/src/rooms/create/0.2/payload.ts +364 -0
- package/src/rooms/epoch/chain/0.2/payload.ts +347 -0
- package/src/rooms/epoch/prune/0.2/payload.ts +315 -0
- package/src/rooms/info/0.2/payload.ts +700 -0
- package/src/rooms/keys/backfill/0.2/payload.ts +260 -0
- package/src/rooms/keys/browse/0.1/payload.ts +2 -2
- package/src/rooms/keys/browse/0.2/payload.ts +628 -0
- package/src/rooms/keys/chain/0.2/payload.ts +308 -0
- package/src/rooms/keys/profile/read/0.1/payload.ts +2 -2
- package/src/rooms/keys/read/0.1/payload.ts +2 -2
- package/src/rooms/owner/anchor/0.1/payload.ts +2 -2
- package/src/rooms/records/get/0.1/payload.ts +2 -2
- package/src/rooms/records/get/0.2/payload.ts +2 -2
- package/src/rooms/records/list/0.1/payload.ts +2 -2
- package/src/rooms/records/list/0.2/payload.ts +2 -2
- package/src/rooms/records/list/0.3/payload.ts +601 -0
- package/src/rooms/records/prune/0.1/payload.ts +451 -0
- package/src/rooms/records/put/0.3/payload.ts +741 -0
- package/src/rooms/records/retention/set/0.1/payload.ts +338 -0
- package/src/vault/credentials/present/0.1/payload.ts +283 -0
- package/src/vta/webvh/dids/create/1.2/payload.ts +660 -0
- package/src/vtc/_shared/0.1/room-migration.ts +17 -0
- package/src/vtc/_shared/0.1/room-storage.ts +1 -1
- package/src/vtc/_shared/0.2/room-storage.ts +17 -0
- package/src/vtc/admin/events/_shared/0.4/topic.ts +32 -0
- package/src/vtc/admin/events/event/0.4/payload.ts +137 -0
- package/src/vtc/admin/events/subscribe/0.4/payload.ts +318 -0
- package/src/vtc/rooms/get/0.2/payload.ts +1372 -0
- package/src/vtc/rooms/storage/migrate/0.2/payload.ts +408 -0
- package/src/vtc/storage/configs/create/0.1/payload.ts +1 -1
- package/src/vtc/storage/configs/create/0.2/payload.ts +830 -0
- package/src/vtc/storage/configs/get/0.1/payload.ts +1 -1
- package/src/vtc/storage/configs/get/0.2/payload.ts +1110 -0
- package/src/vtc/storage/configs/list/0.1/payload.ts +1 -1
- package/src/vtc/storage/configs/list/0.2/payload.ts +1177 -0
- package/src/vtc/storage/configs/update/0.1/payload.ts +1 -1
- package/src/vtc/storage/configs/update/0.2/payload.ts +829 -0
- package/src/vtc/storage/credentials/set/0.1/payload.ts +1 -1
- package/src/vtc/storage/credentials/set/0.2/payload.ts +619 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/vtc/_shared/0.2/room-storage.schema.json
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Shared types for the host-side administration of files in the data rooms a community hosts: the vtc/storage/configs/*, vtc/storage/credentials/set, vtc/rooms/get, vtc/rooms/limits/set, vtc/rooms/usage and vtc/rooms/storage/* tasks. A storage config is one named backend — a local directory, an S3-compatible bucket, a Google Cloud Storage bucket or Walrus — with its own account and credentials. Every room is assigned to exactly one config, which receives its new uploads; one config serves any number of rooms; every blob remembers the config it was written to, so reassigning a room strands nothing. Limits, usage and blob shapes come from rooms/_shared/0.1/blobs.schema.json. No member of any type here carries a secret: a credential is referred to by mode, account and fingerprint, never by value. Version 0.2 adds `roleArn` to `ambient` authentication (the IAM role an S3 config's ambient identity assumes), the `notAllowed` credential status for a mode the host no longer permits, and `SealedStorageCredential`, the cleartext a `sealed` credential is carried in; the rules for using an `ambient` or `sealed` credential are vtc/storage/configs/create/0.2's. Not itself a Trust Task specification (the `_shared` folder is skipped by the registry build and the codegen).
|
|
8
|
+
*/
|
|
9
|
+
export interface VTCSharedRoomStorageDefinitions {
|
|
10
|
+
[k: string]: unknown | undefined;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The definitions this shared schema publishes, hoisted to one declaration each.
|
|
15
|
+
* See "../../../_shared/components.js".
|
|
16
|
+
*/
|
|
17
|
+
export type { AwsRoleArn, ConfigState, CredentialState_VtcV0_2 as CredentialState, ExternalAccountContextId, ExternalAccountId, GcsSettings, LocalSettings, ObjectPrefix, S3Settings, SealedStorageCredential, StorageAuth_VtcV0_2 as StorageAuth, StorageConfig_VtcV0_2 as StorageConfig, StorageConfigFacts_VtcV0_2 as StorageConfigFacts, StorageConfigId, StorageHealth, StorageKind, StorageSettings, WalrusSettings } from "../../../_shared/components.js";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/vtc/admin/events/_shared/0.4/topic.schema.json
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Shared shapes for a Verifiable Trust Community's live administrative console events: a hint-only channel that tells an administrator's console WHEN to re-read, never WHAT changed.
|
|
8
|
+
*
|
|
9
|
+
* THE MODEL. A console subscribes once per session with `vtc/admin/events/subscribe`, naming the topics it renders. The community answers with a stream of `vtc/admin/events/event` documents, each naming one topic and, for a count topic, the caller's current count. An event carries no record and no personal data. The console reacts by re-fetching the topic's own signed read, so the read stays the only place authorization is decided and the only place data leaves the community: the stream can neither leak a record nor grant a read. Polling those reads remains the fallback whenever the stream is down.
|
|
10
|
+
*
|
|
11
|
+
* TOPICS AND THEIR READS. Each topic names one read. A community sends a topic's events only to a caller it would answer on that read.
|
|
12
|
+
*
|
|
13
|
+
* - `actions` — the caller's visible administrative actions (`vtc/admin/actions/list`). Count topic: the caller's `waitingForMe` count.
|
|
14
|
+
* - `acknowledgements` — the acknowledge-category actions awaiting the caller (`vtc/admin/actions/list`). Count topic: the open acknowledge actions the caller has not yet acknowledged.
|
|
15
|
+
* - `joinRequests` — the community's join requests (`vtc/join-requests/list`). Count topic: the join requests awaiting a decision.
|
|
16
|
+
* - `members` — the community's members (`vtc/members/list`). No count.
|
|
17
|
+
* - `singleAdminMode` — whether single-administrator mode is in effect. Every administrator may read it. No count.
|
|
18
|
+
* - `config` — the community's stored configuration (`vtc/config/export`). No count.
|
|
19
|
+
* - `rooms` — the rooms this community hosts and where their files are kept (`vtc/rooms/list`, `vtc/rooms/usage`, `vtc/storage/configs/list`), for holders of `vtc.rooms.admin`. No count. Added in 0.2.
|
|
20
|
+
* - `directory` — the community's member directory as administrators see it: its field schema, its entries, and the administrators' notes on them (the `vtc/directory/*` reads), for holders of `vtc.directory.admin` or `vtc.directory.notes`. No count. Added in 0.3.
|
|
21
|
+
* - `groups` — the community's groups, their members and bindings, and requests to join them (the `vtc/groups/*` reads), for holders of `vtc.groups.manage`. No count. Added in 0.3.
|
|
22
|
+
* - `communityRooms` — the data rooms the community itself owns, as their owner sees them: the rooms, their details, and each one's admissions and removals (`vtc/rooms/community/list`, `vtc/rooms/community/get`, `vtc/rooms/community/members/list`), for holders of `vtc.rooms.manage`. No count. Added in 0.4.
|
|
23
|
+
*/
|
|
24
|
+
export interface VTCAdminEventsSharedDefinitions {
|
|
25
|
+
[k: string]: unknown | undefined;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The definitions this shared schema publishes, hoisted to one declaration each.
|
|
30
|
+
* See "../../../../../_shared/components.js".
|
|
31
|
+
*/
|
|
32
|
+
export type { ResumeToken, Topic_VtcAdminEventsV0_4 as Topic } from "../../../../../_shared/components.js";
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/vtc/admin/events/event/0.4/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { Ext, ResumeToken, Topic_VtcAdminEventsV0_4 as Topic } from "../../../../../_shared/components.js";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* One hint, sent by a Verifiable Trust Community down an administrator console's live channel: something under `topic` changed, re-read it. It never carries the record that changed. Fire-and-forget: there is no response. The outer document members (id, type, issuer, recipient, issuedAt, expiresAt, proof) are owned by the framework — SPEC §6.3.
|
|
11
|
+
*/
|
|
12
|
+
export interface VTCAdminEventsEventPayload {
|
|
13
|
+
/**
|
|
14
|
+
* What changed. Always one of the effective topics the subscribe response named.
|
|
15
|
+
*/
|
|
16
|
+
topic: Topic;
|
|
17
|
+
/**
|
|
18
|
+
* When the community observed the change. Where it coalesced several changes into this hint, the latest of them.
|
|
19
|
+
*/
|
|
20
|
+
at: string;
|
|
21
|
+
/**
|
|
22
|
+
* Only on a count topic (`actions`, `acknowledgements`, `joinRequests`): the caller's current count for that topic as of `at` — what a console badge shows. Absent on every other topic. A console MAY show it until its re-fetch returns, and MUST prefer the read's own count once it does.
|
|
23
|
+
*/
|
|
24
|
+
count?: number;
|
|
25
|
+
/**
|
|
26
|
+
* The stream position after this hint. A console keeps the latest one and passes it back as `since` when it re-subscribes.
|
|
27
|
+
*/
|
|
28
|
+
resumeToken: ResumeToken;
|
|
29
|
+
ext?: Ext;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Shared definitions this specification references, re-exported under the names it used to declare them with. */
|
|
33
|
+
export type { Ext, ResumeToken, Topic };
|
|
34
|
+
|
|
35
|
+
/** Trust Task type URI. */
|
|
36
|
+
export const TYPE_URI = "https://trusttasks.org/spec/vtc/admin/events/event/0.4" as const;
|
|
37
|
+
|
|
38
|
+
/** Stable alias for this specification's request payload shape. */
|
|
39
|
+
export type Payload = VTCAdminEventsEventPayload;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* This specification's payload schema, as a value.
|
|
43
|
+
*
|
|
44
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
45
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
46
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
47
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
48
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
49
|
+
*/
|
|
50
|
+
export const PAYLOAD_SCHEMA = {
|
|
51
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
52
|
+
"$id": "https://trusttasks.org/spec/vtc/admin/events/event/0.4",
|
|
53
|
+
"title": "VTC Admin Events — Event — payload",
|
|
54
|
+
"description": "One hint, sent by a Verifiable Trust Community down an administrator console's live channel: something under `topic` changed, re-read it. It never carries the record that changed. Fire-and-forget: there is no response. The outer document members (id, type, issuer, recipient, issuedAt, expiresAt, proof) are owned by the framework — SPEC §6.3.",
|
|
55
|
+
"type": "object",
|
|
56
|
+
"additionalProperties": false,
|
|
57
|
+
"required": [
|
|
58
|
+
"topic",
|
|
59
|
+
"at",
|
|
60
|
+
"resumeToken"
|
|
61
|
+
],
|
|
62
|
+
"properties": {
|
|
63
|
+
"topic": {
|
|
64
|
+
"$ref": "#/$defs/Topic",
|
|
65
|
+
"description": "What changed. Always one of the effective topics the subscribe response named."
|
|
66
|
+
},
|
|
67
|
+
"at": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"format": "date-time",
|
|
70
|
+
"description": "When the community observed the change. Where it coalesced several changes into this hint, the latest of them."
|
|
71
|
+
},
|
|
72
|
+
"count": {
|
|
73
|
+
"type": "integer",
|
|
74
|
+
"minimum": 0,
|
|
75
|
+
"description": "Only on a count topic (`actions`, `acknowledgements`, `joinRequests`): the caller's current count for that topic as of `at` — what a console badge shows. Absent on every other topic. A console MAY show it until its re-fetch returns, and MUST prefer the read's own count once it does."
|
|
76
|
+
},
|
|
77
|
+
"resumeToken": {
|
|
78
|
+
"$ref": "#/$defs/ResumeToken",
|
|
79
|
+
"description": "The stream position after this hint. A console keeps the latest one and passes it back as `since` when it re-subscribes."
|
|
80
|
+
},
|
|
81
|
+
"ext": {
|
|
82
|
+
"$ref": "#/$defs/Ext"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"$defs": {
|
|
86
|
+
"Ext": {
|
|
87
|
+
"title": "Ext",
|
|
88
|
+
"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.",
|
|
89
|
+
"type": "object",
|
|
90
|
+
"minProperties": 1,
|
|
91
|
+
"additionalProperties": true,
|
|
92
|
+
"propertyNames": {
|
|
93
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"ResumeToken": {
|
|
97
|
+
"title": "ResumeToken",
|
|
98
|
+
"description": "Opaque, community-minted position in one caller's event stream. A console MUST NOT parse, construct or order it; it only hands the latest one back as `since` when it re-subscribes. A community binds it to the caller it was minted for and treats a token minted for anyone else as unknown.",
|
|
99
|
+
"type": "string",
|
|
100
|
+
"minLength": 1,
|
|
101
|
+
"maxLength": 256,
|
|
102
|
+
"pattern": "^[A-Za-z0-9._~-]+$"
|
|
103
|
+
},
|
|
104
|
+
"Topic": {
|
|
105
|
+
"title": "Topic",
|
|
106
|
+
"description": "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.",
|
|
107
|
+
"type": "string",
|
|
108
|
+
"enum": [
|
|
109
|
+
"actions",
|
|
110
|
+
"acknowledgements",
|
|
111
|
+
"joinRequests",
|
|
112
|
+
"members",
|
|
113
|
+
"singleAdminMode",
|
|
114
|
+
"config",
|
|
115
|
+
"rooms",
|
|
116
|
+
"directory",
|
|
117
|
+
"groups",
|
|
118
|
+
"communityRooms"
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
} as const;
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
126
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
127
|
+
* per-specification and cannot be derived from the document alone, and
|
|
128
|
+
* item 2 needs the schema this carries.
|
|
129
|
+
*/
|
|
130
|
+
export const SPEC = {
|
|
131
|
+
typeUri: TYPE_URI,
|
|
132
|
+
isBearer: false,
|
|
133
|
+
isProofRequired: false,
|
|
134
|
+
isRecipientRequired: true,
|
|
135
|
+
isIssuedAtRequired: false,
|
|
136
|
+
payloadSchema: PAYLOAD_SCHEMA,
|
|
137
|
+
} as const;
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/vtc/admin/events/subscribe/0.4/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { Ext, ResumeToken, Topic_VtcAdminEventsV0_4 as Topic } from "../../../../../_shared/components.js";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Open an administrator console's live channel of hint-only events. The success response is the first document on a stream that then carries vtc/admin/events/event/0.4 documents; over HTTPS that stream is the streamed response of bindings/https/0.3 §2.1. The outer document members (id, type, issuer, recipient, issuedAt, expiresAt, proof) are owned by the framework — SPEC §6.3.
|
|
11
|
+
*/
|
|
12
|
+
export interface VTCAdminEventsSubscribePayload {
|
|
13
|
+
/**
|
|
14
|
+
* The topics the console renders. The community narrows this to the topics the caller may read and reports the result as the response's `topics`.
|
|
15
|
+
*
|
|
16
|
+
* @minItems 1
|
|
17
|
+
* @maxItems 10
|
|
18
|
+
*/
|
|
19
|
+
topics:
|
|
20
|
+
| [Topic]
|
|
21
|
+
| [Topic, Topic]
|
|
22
|
+
| [Topic, Topic, Topic]
|
|
23
|
+
| [Topic, Topic, Topic, Topic]
|
|
24
|
+
| [Topic, Topic, Topic, Topic, Topic]
|
|
25
|
+
| [Topic, Topic, Topic, Topic, Topic, Topic]
|
|
26
|
+
| [Topic, Topic, Topic, Topic, Topic, Topic, Topic]
|
|
27
|
+
| [Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic]
|
|
28
|
+
| [Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic]
|
|
29
|
+
| [Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic];
|
|
30
|
+
/**
|
|
31
|
+
* The last `resumeToken` the console received on an earlier stream, to resume from. A token the community does not recognise, has expired, or minted for another caller is not an error: the stream starts fresh and the response says `resumed: false`.
|
|
32
|
+
*/
|
|
33
|
+
since?: ResumeToken;
|
|
34
|
+
ext?: Ext;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The subscription as granted, sent as the first document on the stream. Failures use trust-task-error and open no stream.
|
|
38
|
+
*/
|
|
39
|
+
export interface VTCAdminEventsSubscribeResponsePayload {
|
|
40
|
+
/**
|
|
41
|
+
* The effective topics: those requested that the caller may read. The community sends events for these and no others. A requested topic missing here is one the caller may not read, and the console MUST NOT present it as live.
|
|
42
|
+
*
|
|
43
|
+
* @minItems 1
|
|
44
|
+
* @maxItems 10
|
|
45
|
+
*/
|
|
46
|
+
topics:
|
|
47
|
+
| [Topic]
|
|
48
|
+
| [Topic, Topic]
|
|
49
|
+
| [Topic, Topic, Topic]
|
|
50
|
+
| [Topic, Topic, Topic, Topic]
|
|
51
|
+
| [Topic, Topic, Topic, Topic, Topic]
|
|
52
|
+
| [Topic, Topic, Topic, Topic, Topic, Topic]
|
|
53
|
+
| [Topic, Topic, Topic, Topic, Topic, Topic, Topic]
|
|
54
|
+
| [Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic]
|
|
55
|
+
| [Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic]
|
|
56
|
+
| [Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic, Topic];
|
|
57
|
+
/**
|
|
58
|
+
* The longest the community lets the stream go without sending anything. Over HTTPS the heartbeat is an SSE comment. A console that receives nothing for twice this interval MUST treat the stream as dead.
|
|
59
|
+
*/
|
|
60
|
+
heartbeatSeconds: number;
|
|
61
|
+
/**
|
|
62
|
+
* `true` when the community recognised `since` and will send a hint for every effective topic that changed after it. `false` when no `since` was given or it could not be honoured; the console MUST then re-fetch every effective topic, because it may have missed changes.
|
|
63
|
+
*/
|
|
64
|
+
resumed: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* The stream position as of this response, so that a console that disconnects before its first event still has a token to resume from.
|
|
67
|
+
*/
|
|
68
|
+
resumeToken: ResumeToken;
|
|
69
|
+
ext?: Ext;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** Shared definitions this specification references, re-exported under the names it used to declare them with. */
|
|
73
|
+
export type { Ext, ResumeToken, Topic };
|
|
74
|
+
|
|
75
|
+
/** Trust Task type URI. */
|
|
76
|
+
export const TYPE_URI = "https://trusttasks.org/spec/vtc/admin/events/subscribe/0.4" as const;
|
|
77
|
+
|
|
78
|
+
/** Stable alias for this specification's request payload shape. */
|
|
79
|
+
export type Payload = VTCAdminEventsSubscribePayload;
|
|
80
|
+
|
|
81
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
82
|
+
export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/admin/events/subscribe/0.4#response" as const;
|
|
83
|
+
|
|
84
|
+
/** Stable alias for this specification's success-response payload shape. */
|
|
85
|
+
export type Response = VTCAdminEventsSubscribeResponsePayload;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* This specification's payload schema, as a value.
|
|
89
|
+
*
|
|
90
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
91
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
92
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
93
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
94
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
95
|
+
*/
|
|
96
|
+
export const PAYLOAD_SCHEMA = {
|
|
97
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
98
|
+
"$id": "https://trusttasks.org/spec/vtc/admin/events/subscribe/0.4",
|
|
99
|
+
"title": "VTC Admin Events — Subscribe — payload",
|
|
100
|
+
"description": "Open an administrator console's live channel of hint-only events. The success response is the first document on a stream that then carries vtc/admin/events/event/0.4 documents; over HTTPS that stream is the streamed response of bindings/https/0.3 §2.1. The outer document members (id, type, issuer, recipient, issuedAt, expiresAt, proof) are owned by the framework — SPEC §6.3.",
|
|
101
|
+
"type": "object",
|
|
102
|
+
"additionalProperties": false,
|
|
103
|
+
"required": [
|
|
104
|
+
"topics"
|
|
105
|
+
],
|
|
106
|
+
"properties": {
|
|
107
|
+
"topics": {
|
|
108
|
+
"type": "array",
|
|
109
|
+
"minItems": 1,
|
|
110
|
+
"maxItems": 10,
|
|
111
|
+
"uniqueItems": true,
|
|
112
|
+
"items": {
|
|
113
|
+
"$ref": "#/$defs/Topic"
|
|
114
|
+
},
|
|
115
|
+
"description": "The topics the console renders. The community narrows this to the topics the caller may read and reports the result as the response's `topics`."
|
|
116
|
+
},
|
|
117
|
+
"since": {
|
|
118
|
+
"$ref": "#/$defs/ResumeToken",
|
|
119
|
+
"description": "The last `resumeToken` the console received on an earlier stream, to resume from. A token the community does not recognise, has expired, or minted for another caller is not an error: the stream starts fresh and the response says `resumed: false`."
|
|
120
|
+
},
|
|
121
|
+
"ext": {
|
|
122
|
+
"$ref": "#/$defs/Ext"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"$defs": {
|
|
126
|
+
"Response": {
|
|
127
|
+
"$anchor": "response",
|
|
128
|
+
"title": "VTC Admin Events — Subscribe — response payload",
|
|
129
|
+
"description": "The subscription as granted, sent as the first document on the stream. Failures use trust-task-error and open no stream.",
|
|
130
|
+
"type": "object",
|
|
131
|
+
"additionalProperties": false,
|
|
132
|
+
"required": [
|
|
133
|
+
"topics",
|
|
134
|
+
"heartbeatSeconds",
|
|
135
|
+
"resumed",
|
|
136
|
+
"resumeToken"
|
|
137
|
+
],
|
|
138
|
+
"properties": {
|
|
139
|
+
"topics": {
|
|
140
|
+
"type": "array",
|
|
141
|
+
"minItems": 1,
|
|
142
|
+
"maxItems": 10,
|
|
143
|
+
"uniqueItems": true,
|
|
144
|
+
"items": {
|
|
145
|
+
"$ref": "#/$defs/Topic"
|
|
146
|
+
},
|
|
147
|
+
"description": "The effective topics: those requested that the caller may read. The community sends events for these and no others. A requested topic missing here is one the caller may not read, and the console MUST NOT present it as live."
|
|
148
|
+
},
|
|
149
|
+
"heartbeatSeconds": {
|
|
150
|
+
"type": "integer",
|
|
151
|
+
"minimum": 5,
|
|
152
|
+
"maximum": 60,
|
|
153
|
+
"description": "The longest the community lets the stream go without sending anything. Over HTTPS the heartbeat is an SSE comment. A console that receives nothing for twice this interval MUST treat the stream as dead."
|
|
154
|
+
},
|
|
155
|
+
"resumed": {
|
|
156
|
+
"type": "boolean",
|
|
157
|
+
"description": "`true` when the community recognised `since` and will send a hint for every effective topic that changed after it. `false` when no `since` was given or it could not be honoured; the console MUST then re-fetch every effective topic, because it may have missed changes."
|
|
158
|
+
},
|
|
159
|
+
"resumeToken": {
|
|
160
|
+
"$ref": "#/$defs/ResumeToken",
|
|
161
|
+
"description": "The stream position as of this response, so that a console that disconnects before its first event still has a token to resume from."
|
|
162
|
+
},
|
|
163
|
+
"ext": {
|
|
164
|
+
"$ref": "#/$defs/Ext"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"Ext": {
|
|
169
|
+
"title": "Ext",
|
|
170
|
+
"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.",
|
|
171
|
+
"type": "object",
|
|
172
|
+
"minProperties": 1,
|
|
173
|
+
"additionalProperties": true,
|
|
174
|
+
"propertyNames": {
|
|
175
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
"ResumeToken": {
|
|
179
|
+
"title": "ResumeToken",
|
|
180
|
+
"description": "Opaque, community-minted position in one caller's event stream. A console MUST NOT parse, construct or order it; it only hands the latest one back as `since` when it re-subscribes. A community binds it to the caller it was minted for and treats a token minted for anyone else as unknown.",
|
|
181
|
+
"type": "string",
|
|
182
|
+
"minLength": 1,
|
|
183
|
+
"maxLength": 256,
|
|
184
|
+
"pattern": "^[A-Za-z0-9._~-]+$"
|
|
185
|
+
},
|
|
186
|
+
"Topic": {
|
|
187
|
+
"title": "Topic",
|
|
188
|
+
"description": "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.",
|
|
189
|
+
"type": "string",
|
|
190
|
+
"enum": [
|
|
191
|
+
"actions",
|
|
192
|
+
"acknowledgements",
|
|
193
|
+
"joinRequests",
|
|
194
|
+
"members",
|
|
195
|
+
"singleAdminMode",
|
|
196
|
+
"config",
|
|
197
|
+
"rooms",
|
|
198
|
+
"directory",
|
|
199
|
+
"groups",
|
|
200
|
+
"communityRooms"
|
|
201
|
+
]
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
} as const;
|
|
205
|
+
|
|
206
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
207
|
+
export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
208
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
209
|
+
"$ref": "#/$defs/Response",
|
|
210
|
+
"$defs": {
|
|
211
|
+
"Response": {
|
|
212
|
+
"$anchor": "response",
|
|
213
|
+
"title": "VTC Admin Events — Subscribe — response payload",
|
|
214
|
+
"description": "The subscription as granted, sent as the first document on the stream. Failures use trust-task-error and open no stream.",
|
|
215
|
+
"type": "object",
|
|
216
|
+
"additionalProperties": false,
|
|
217
|
+
"required": [
|
|
218
|
+
"topics",
|
|
219
|
+
"heartbeatSeconds",
|
|
220
|
+
"resumed",
|
|
221
|
+
"resumeToken"
|
|
222
|
+
],
|
|
223
|
+
"properties": {
|
|
224
|
+
"topics": {
|
|
225
|
+
"type": "array",
|
|
226
|
+
"minItems": 1,
|
|
227
|
+
"maxItems": 10,
|
|
228
|
+
"uniqueItems": true,
|
|
229
|
+
"items": {
|
|
230
|
+
"$ref": "#/$defs/Topic"
|
|
231
|
+
},
|
|
232
|
+
"description": "The effective topics: those requested that the caller may read. The community sends events for these and no others. A requested topic missing here is one the caller may not read, and the console MUST NOT present it as live."
|
|
233
|
+
},
|
|
234
|
+
"heartbeatSeconds": {
|
|
235
|
+
"type": "integer",
|
|
236
|
+
"minimum": 5,
|
|
237
|
+
"maximum": 60,
|
|
238
|
+
"description": "The longest the community lets the stream go without sending anything. Over HTTPS the heartbeat is an SSE comment. A console that receives nothing for twice this interval MUST treat the stream as dead."
|
|
239
|
+
},
|
|
240
|
+
"resumed": {
|
|
241
|
+
"type": "boolean",
|
|
242
|
+
"description": "`true` when the community recognised `since` and will send a hint for every effective topic that changed after it. `false` when no `since` was given or it could not be honoured; the console MUST then re-fetch every effective topic, because it may have missed changes."
|
|
243
|
+
},
|
|
244
|
+
"resumeToken": {
|
|
245
|
+
"$ref": "#/$defs/ResumeToken",
|
|
246
|
+
"description": "The stream position as of this response, so that a console that disconnects before its first event still has a token to resume from."
|
|
247
|
+
},
|
|
248
|
+
"ext": {
|
|
249
|
+
"$ref": "#/$defs/Ext"
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
"Ext": {
|
|
254
|
+
"title": "Ext",
|
|
255
|
+
"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.",
|
|
256
|
+
"type": "object",
|
|
257
|
+
"minProperties": 1,
|
|
258
|
+
"additionalProperties": true,
|
|
259
|
+
"propertyNames": {
|
|
260
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
"ResumeToken": {
|
|
264
|
+
"title": "ResumeToken",
|
|
265
|
+
"description": "Opaque, community-minted position in one caller's event stream. A console MUST NOT parse, construct or order it; it only hands the latest one back as `since` when it re-subscribes. A community binds it to the caller it was minted for and treats a token minted for anyone else as unknown.",
|
|
266
|
+
"type": "string",
|
|
267
|
+
"minLength": 1,
|
|
268
|
+
"maxLength": 256,
|
|
269
|
+
"pattern": "^[A-Za-z0-9._~-]+$"
|
|
270
|
+
},
|
|
271
|
+
"Topic": {
|
|
272
|
+
"title": "Topic",
|
|
273
|
+
"description": "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.",
|
|
274
|
+
"type": "string",
|
|
275
|
+
"enum": [
|
|
276
|
+
"actions",
|
|
277
|
+
"acknowledgements",
|
|
278
|
+
"joinRequests",
|
|
279
|
+
"members",
|
|
280
|
+
"singleAdminMode",
|
|
281
|
+
"config",
|
|
282
|
+
"rooms",
|
|
283
|
+
"directory",
|
|
284
|
+
"groups",
|
|
285
|
+
"communityRooms"
|
|
286
|
+
]
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
} as const;
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
293
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
294
|
+
* per-specification and cannot be derived from the document alone, and
|
|
295
|
+
* item 2 needs the schema this carries.
|
|
296
|
+
*/
|
|
297
|
+
export const SPEC = {
|
|
298
|
+
typeUri: TYPE_URI,
|
|
299
|
+
isBearer: false,
|
|
300
|
+
isProofRequired: true,
|
|
301
|
+
isRecipientRequired: true,
|
|
302
|
+
isIssuedAtRequired: true,
|
|
303
|
+
payloadSchema: PAYLOAD_SCHEMA,
|
|
304
|
+
} as const;
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
308
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
309
|
+
* parties (§7.3 item 5).
|
|
310
|
+
*/
|
|
311
|
+
export const RESPONSE_SPEC = {
|
|
312
|
+
typeUri: RESPONSE_TYPE_URI,
|
|
313
|
+
isBearer: false,
|
|
314
|
+
isProofRequired: false,
|
|
315
|
+
isRecipientRequired: true,
|
|
316
|
+
isIssuedAtRequired: true,
|
|
317
|
+
payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
|
|
318
|
+
} as const;
|