@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
package/src/index.ts
CHANGED
|
@@ -452,11 +452,15 @@ export * as RoomsBlobsUploadChunk_v0_2 from "./rooms/blobs/upload/chunk/0.2/payl
|
|
|
452
452
|
export * as RoomsBlobsUploadCommit_v0_1 from "./rooms/blobs/upload/commit/0.1/payload.js";
|
|
453
453
|
export * as RoomsBlobsUploadCommit_v0_2 from "./rooms/blobs/upload/commit/0.2/payload.js";
|
|
454
454
|
export * as RoomsCreate_v0_1 from "./rooms/create/0.1/payload.js";
|
|
455
|
+
export * as RoomsCreate_v0_2 from "./rooms/create/0.2/payload.js";
|
|
455
456
|
export * as RoomsEpochChain_v0_1 from "./rooms/epoch/chain/0.1/payload.js";
|
|
457
|
+
export * as RoomsEpochChain_v0_2 from "./rooms/epoch/chain/0.2/payload.js";
|
|
456
458
|
export * as RoomsEpochCommits_v0_1 from "./rooms/epoch/commits/0.1/payload.js";
|
|
457
459
|
export * as RoomsEpochMint_v0_1 from "./rooms/epoch/mint/0.1/payload.js";
|
|
458
460
|
export * as RoomsEpochPrune_v0_1 from "./rooms/epoch/prune/0.1/payload.js";
|
|
461
|
+
export * as RoomsEpochPrune_v0_2 from "./rooms/epoch/prune/0.2/payload.js";
|
|
459
462
|
export * as RoomsInfo_v0_1 from "./rooms/info/0.1/payload.js";
|
|
463
|
+
export * as RoomsInfo_v0_2 from "./rooms/info/0.2/payload.js";
|
|
460
464
|
export * as RoomsKeysAct_v0_1 from "./rooms/keys/act/0.1/payload.js";
|
|
461
465
|
export * as RoomsKeysAct_v0_2 from "./rooms/keys/act/0.2/payload.js";
|
|
462
466
|
export * as RoomsKeysAct_v0_3 from "./rooms/keys/act/0.3/payload.js";
|
|
@@ -464,8 +468,11 @@ export * as RoomsKeysAct_v0_4 from "./rooms/keys/act/0.4/payload.js";
|
|
|
464
468
|
export * as RoomsKeysAct_v0_5 from "./rooms/keys/act/0.5/payload.js";
|
|
465
469
|
export * as RoomsKeysAct_v0_6 from "./rooms/keys/act/0.6/payload.js";
|
|
466
470
|
export * as RoomsKeysBackfill_v0_1 from "./rooms/keys/backfill/0.1/payload.js";
|
|
471
|
+
export * as RoomsKeysBackfill_v0_2 from "./rooms/keys/backfill/0.2/payload.js";
|
|
467
472
|
export * as RoomsKeysBrowse_v0_1 from "./rooms/keys/browse/0.1/payload.js";
|
|
473
|
+
export * as RoomsKeysBrowse_v0_2 from "./rooms/keys/browse/0.2/payload.js";
|
|
468
474
|
export * as RoomsKeysChain_v0_1 from "./rooms/keys/chain/0.1/payload.js";
|
|
475
|
+
export * as RoomsKeysChain_v0_2 from "./rooms/keys/chain/0.2/payload.js";
|
|
469
476
|
export * as RoomsKeysCommit_v0_1 from "./rooms/keys/commit/0.1/payload.js";
|
|
470
477
|
export * as RoomsKeysFileKey_v0_1 from "./rooms/keys/file-key/0.1/payload.js";
|
|
471
478
|
export * as RoomsKeysFileKey_v0_2 from "./rooms/keys/file-key/0.2/payload.js";
|
|
@@ -508,8 +515,12 @@ export * as RoomsRecordsGet_v0_1 from "./rooms/records/get/0.1/payload.js";
|
|
|
508
515
|
export * as RoomsRecordsGet_v0_2 from "./rooms/records/get/0.2/payload.js";
|
|
509
516
|
export * as RoomsRecordsList_v0_1 from "./rooms/records/list/0.1/payload.js";
|
|
510
517
|
export * as RoomsRecordsList_v0_2 from "./rooms/records/list/0.2/payload.js";
|
|
518
|
+
export * as RoomsRecordsList_v0_3 from "./rooms/records/list/0.3/payload.js";
|
|
519
|
+
export * as RoomsRecordsPrune_v0_1 from "./rooms/records/prune/0.1/payload.js";
|
|
511
520
|
export * as RoomsRecordsPut_v0_1 from "./rooms/records/put/0.1/payload.js";
|
|
512
521
|
export * as RoomsRecordsPut_v0_2 from "./rooms/records/put/0.2/payload.js";
|
|
522
|
+
export * as RoomsRecordsPut_v0_3 from "./rooms/records/put/0.3/payload.js";
|
|
523
|
+
export * as RoomsRecordsRetentionSet_v0_1 from "./rooms/records/retention/set/0.1/payload.js";
|
|
513
524
|
export * as RoomsRevocationsGet_v0_1 from "./rooms/revocations/get/0.1/payload.js";
|
|
514
525
|
export * as RoomsRevocationsPut_v0_1 from "./rooms/revocations/put/0.1/payload.js";
|
|
515
526
|
export * as RoomsUsage_v0_1 from "./rooms/usage/0.1/payload.js";
|
|
@@ -552,6 +563,7 @@ export * as VaultSecretShared_v0_3 from "./vault/_shared/0.3/vault-secret.js";
|
|
|
552
563
|
export * as VaultCredentialsArchive_v0_1 from "./vault/credentials/archive/0.1/payload.js";
|
|
553
564
|
export * as VaultCredentialsDelete_v0_1 from "./vault/credentials/delete/0.1/payload.js";
|
|
554
565
|
export * as VaultCredentialsGet_v0_1 from "./vault/credentials/get/0.1/payload.js";
|
|
566
|
+
export * as VaultCredentialsPresent_v0_1 from "./vault/credentials/present/0.1/payload.js";
|
|
555
567
|
export * as VaultCredentialsPurge_v0_1 from "./vault/credentials/purge/0.1/payload.js";
|
|
556
568
|
export * as VaultCredentialsQuery_v0_1 from "./vault/credentials/query/0.1/payload.js";
|
|
557
569
|
export * as VaultCredentialsReceive_v0_1 from "./vault/credentials/receive/0.1/payload.js";
|
|
@@ -733,6 +745,7 @@ export * as VtaWebvhAgentNameRemove_v1_0 from "./vta/webvh/agent-name/remove/1.0
|
|
|
733
745
|
export * as VtaWebvhAgentNameSet_v1_0 from "./vta/webvh/agent-name/set/1.0/payload.js";
|
|
734
746
|
export * as VtaWebvhDidsCreate_v1_0 from "./vta/webvh/dids/create/1.0/payload.js";
|
|
735
747
|
export * as VtaWebvhDidsCreate_v1_1 from "./vta/webvh/dids/create/1.1/payload.js";
|
|
748
|
+
export * as VtaWebvhDidsCreate_v1_2 from "./vta/webvh/dids/create/1.2/payload.js";
|
|
736
749
|
export * as VtaWebvhDidsDelete_v1_0 from "./vta/webvh/dids/delete/1.0/payload.js";
|
|
737
750
|
export * as VtaWebvhDidsGet_v1_0 from "./vta/webvh/dids/get/1.0/payload.js";
|
|
738
751
|
export * as VtaWebvhDidsKeysAdd_v1_0 from "./vta/webvh/dids/keys/add/1.0/payload.js";
|
|
@@ -774,11 +787,13 @@ export * as InviteShared_v0_1 from "./vtc/_shared/0.1/invite.js";
|
|
|
774
787
|
export * as JoinRequestShared_v0_1 from "./vtc/_shared/0.1/join-request.js";
|
|
775
788
|
export * as MemberShared_v0_1 from "./vtc/_shared/0.1/member.js";
|
|
776
789
|
export * as RelationshipLifecycleShared_v0_1 from "./vtc/_shared/0.1/relationship-lifecycle.js";
|
|
790
|
+
export * as RoomMigrationShared_v0_1 from "./vtc/_shared/0.1/room-migration.js";
|
|
777
791
|
export * as RoomStorageShared_v0_1 from "./vtc/_shared/0.1/room-storage.js";
|
|
778
792
|
export * as SchemaRegistryShared_v0_1 from "./vtc/_shared/0.1/schema-registry.js";
|
|
779
793
|
export * as VetterProfileShared_v0_1 from "./vtc/_shared/0.1/vetter-profile.js";
|
|
780
794
|
export * as VettingAutoGrantShared_v0_1 from "./vtc/_shared/0.1/vetting-auto-grant.js";
|
|
781
795
|
export * as WebsiteTransferShared_v0_1 from "./vtc/_shared/0.1/website-transfer.js";
|
|
796
|
+
export * as RoomStorageShared_v0_2 from "./vtc/_shared/0.2/room-storage.js";
|
|
782
797
|
export * as SchemaRegistryShared_v0_2 from "./vtc/_shared/0.2/schema-registry.js";
|
|
783
798
|
export * as ActionShared_v0_1 from "./vtc/admin/actions/_shared/0.1/action.js";
|
|
784
799
|
export * as ActionShared_v0_2 from "./vtc/admin/actions/_shared/0.2/action.js";
|
|
@@ -794,12 +809,15 @@ export * as VtcAdminBootstrap_v0_1 from "./vtc/admin/bootstrap/0.1/payload.js";
|
|
|
794
809
|
export * as TopicShared_v0_1 from "./vtc/admin/events/_shared/0.1/topic.js";
|
|
795
810
|
export * as TopicShared_v0_2 from "./vtc/admin/events/_shared/0.2/topic.js";
|
|
796
811
|
export * as TopicShared_v0_3 from "./vtc/admin/events/_shared/0.3/topic.js";
|
|
812
|
+
export * as TopicShared_v0_4 from "./vtc/admin/events/_shared/0.4/topic.js";
|
|
797
813
|
export * as VtcAdminEventsEvent_v0_1 from "./vtc/admin/events/event/0.1/payload.js";
|
|
798
814
|
export * as VtcAdminEventsEvent_v0_2 from "./vtc/admin/events/event/0.2/payload.js";
|
|
799
815
|
export * as VtcAdminEventsEvent_v0_3 from "./vtc/admin/events/event/0.3/payload.js";
|
|
816
|
+
export * as VtcAdminEventsEvent_v0_4 from "./vtc/admin/events/event/0.4/payload.js";
|
|
800
817
|
export * as VtcAdminEventsSubscribe_v0_1 from "./vtc/admin/events/subscribe/0.1/payload.js";
|
|
801
818
|
export * as VtcAdminEventsSubscribe_v0_2 from "./vtc/admin/events/subscribe/0.2/payload.js";
|
|
802
819
|
export * as VtcAdminEventsSubscribe_v0_3 from "./vtc/admin/events/subscribe/0.3/payload.js";
|
|
820
|
+
export * as VtcAdminEventsSubscribe_v0_4 from "./vtc/admin/events/subscribe/0.4/payload.js";
|
|
803
821
|
export * as VtcAdminInvitesCreate_v0_1 from "./vtc/admin/invites/create/0.1/payload.js";
|
|
804
822
|
export * as VtcAdminInvitesList_v0_1 from "./vtc/admin/invites/list/0.1/payload.js";
|
|
805
823
|
export * as VtcAdminInvitesRevoke_v0_1 from "./vtc/admin/invites/revoke/0.1/payload.js";
|
|
@@ -980,6 +998,7 @@ export * as VtcRoomsCommunityMembersRemove_v0_2 from "./vtc/rooms/community/memb
|
|
|
980
998
|
export * as VtcRoomsCommunityUpdate_v0_1 from "./vtc/rooms/community/update/0.1/payload.js";
|
|
981
999
|
export * as VtcRoomsCommunityUpdate_v0_2 from "./vtc/rooms/community/update/0.2/payload.js";
|
|
982
1000
|
export * as VtcRoomsGet_v0_1 from "./vtc/rooms/get/0.1/payload.js";
|
|
1001
|
+
export * as VtcRoomsGet_v0_2 from "./vtc/rooms/get/0.2/payload.js";
|
|
983
1002
|
export * as VtcRoomsLimitsSet_v0_1 from "./vtc/rooms/limits/set/0.1/payload.js";
|
|
984
1003
|
export * as VtcRoomsList_v0_1 from "./vtc/rooms/list/0.1/payload.js";
|
|
985
1004
|
export * as VtcRoomsMembershipsList_v0_1 from "./vtc/rooms/memberships/list/0.1/payload.js";
|
|
@@ -989,6 +1008,7 @@ export * as VtcRoomsOffersList_v0_2 from "./vtc/rooms/offers/list/0.2/payload.js
|
|
|
989
1008
|
export * as VtcRoomsOffersList_v0_3 from "./vtc/rooms/offers/list/0.3/payload.js";
|
|
990
1009
|
export * as VtcRoomsStorageAssign_v0_1 from "./vtc/rooms/storage/assign/0.1/payload.js";
|
|
991
1010
|
export * as VtcRoomsStorageMigrate_v0_1 from "./vtc/rooms/storage/migrate/0.1/payload.js";
|
|
1011
|
+
export * as VtcRoomsStorageMigrate_v0_2 from "./vtc/rooms/storage/migrate/0.2/payload.js";
|
|
992
1012
|
export * as VtcRoomsUsage_v0_1 from "./vtc/rooms/usage/0.1/payload.js";
|
|
993
1013
|
export * as VtcSchemasAcceptsDelete_v0_1 from "./vtc/schemas/accepts/delete/0.1/payload.js";
|
|
994
1014
|
export * as VtcSchemasAcceptsList_v0_1 from "./vtc/schemas/accepts/list/0.1/payload.js";
|
|
@@ -1002,12 +1022,17 @@ export * as VtcSchemasList_v0_1 from "./vtc/schemas/list/0.1/payload.js";
|
|
|
1002
1022
|
export * as VtcSchemasRegister_v0_1 from "./vtc/schemas/register/0.1/payload.js";
|
|
1003
1023
|
export * as VtcSchemasShow_v0_1 from "./vtc/schemas/show/0.1/payload.js";
|
|
1004
1024
|
export * as VtcStorageConfigsCreate_v0_1 from "./vtc/storage/configs/create/0.1/payload.js";
|
|
1025
|
+
export * as VtcStorageConfigsCreate_v0_2 from "./vtc/storage/configs/create/0.2/payload.js";
|
|
1005
1026
|
export * as VtcStorageConfigsGet_v0_1 from "./vtc/storage/configs/get/0.1/payload.js";
|
|
1027
|
+
export * as VtcStorageConfigsGet_v0_2 from "./vtc/storage/configs/get/0.2/payload.js";
|
|
1006
1028
|
export * as VtcStorageConfigsList_v0_1 from "./vtc/storage/configs/list/0.1/payload.js";
|
|
1029
|
+
export * as VtcStorageConfigsList_v0_2 from "./vtc/storage/configs/list/0.2/payload.js";
|
|
1007
1030
|
export * as VtcStorageConfigsProbe_v0_1 from "./vtc/storage/configs/probe/0.1/payload.js";
|
|
1008
1031
|
export * as VtcStorageConfigsRetire_v0_1 from "./vtc/storage/configs/retire/0.1/payload.js";
|
|
1009
1032
|
export * as VtcStorageConfigsUpdate_v0_1 from "./vtc/storage/configs/update/0.1/payload.js";
|
|
1033
|
+
export * as VtcStorageConfigsUpdate_v0_2 from "./vtc/storage/configs/update/0.2/payload.js";
|
|
1010
1034
|
export * as VtcStorageCredentialsSet_v0_1 from "./vtc/storage/credentials/set/0.1/payload.js";
|
|
1035
|
+
export * as VtcStorageCredentialsSet_v0_2 from "./vtc/storage/credentials/set/0.2/payload.js";
|
|
1011
1036
|
export * as VtcVettingAutoGrantShow_v0_1 from "./vtc/vetting/auto-grant/show/0.1/payload.js";
|
|
1012
1037
|
export * as VtcVettingAutoGrantUpdate_v0_1 from "./vtc/vetting/auto-grant/update/0.1/payload.js";
|
|
1013
1038
|
export * as VtcVettingHiddenPublish_v0_1 from "./vtc/vetting/hidden/publish/0.1/payload.js";
|
|
@@ -14,4 +14,4 @@ export interface RoomsSharedTypes {
|
|
|
14
14
|
* The definitions this shared schema publishes, hoisted to one declaration each.
|
|
15
15
|
* See "../../../_shared/components.js".
|
|
16
16
|
*/
|
|
17
|
-
export type { AnchorCadence, AuthorityPresentation, CredentialRevocation, DataCommitment, EpochAnchor, EpochLink, HeadVersion, ReadVerification, RecordCount, RecordMetadata, RecordMetadataV2, RecordTrace, RetentionPolicy, RevocationEntry, RevocationHead, RevocationList, RoomProfile, RoomRevocation, SealedRecord, SubjectRevocation, Visibility } from "../../../_shared/components.js";
|
|
17
|
+
export type { AnchorCadence, AuthorityPresentation, CredentialRevocation, DataCommitment, EpochAnchor, EpochFloor, EpochLink, HeadVersion, PermittedUse, ReadVerification, RecordBasis, RecordConfidence, RecordCount, RecordEvidence, RecordEvidenceCredential, RecordEvidenceList, RecordEvidenceRecord, RecordMetadata, RecordMetadataV2, RecordPrune, RecordRetention, RecordTrace, RecordValidUntil, RetentionPolicy, RevocationEntry, RevocationHead, RevocationList, RoomProfile, RoomRevocation, SealedRecord, SubjectRevocation, Visibility } from "../../../_shared/components.js";
|
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/rooms/create/0.2/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { AnchorCadence, Ext, RecordRetention, RetentionPolicy, Visibility } from "../../../_shared/components.js";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* An owner registers a data room with a host. 0.2 adds `recordRetention`: how long the room keeps its records by age, stated at creation so that no record is ever removed under a rule its readers could not have read.
|
|
11
|
+
*/
|
|
12
|
+
export interface RoomsCreatePayload {
|
|
13
|
+
/**
|
|
14
|
+
* The room's identifier, minted by its owner before this call. A host is told the identifier; it does not assign one, because a room whose identity the host chose could not move to another host.
|
|
15
|
+
*/
|
|
16
|
+
roomId: string;
|
|
17
|
+
visibility: Visibility;
|
|
18
|
+
/**
|
|
19
|
+
* The room's accountable party: the controller of the room's identifier, the issuer of every credential in it, and the party a host addresses about quota, abuse, or lifecycle. Visible at every visibility, including `private` — a room has someone answerable for it.
|
|
20
|
+
*/
|
|
21
|
+
ownerDid: string;
|
|
22
|
+
/**
|
|
23
|
+
* Whether this room keeps its history readable across a membership change. Absent means `chained`, which is the choice a room wants unless it has a reason not to: joining a room should mean being able to read it. A host MUST reject an epoch link for a room whose policy is `fromJoin` rather than storing one it declared it would not have.
|
|
24
|
+
*/
|
|
25
|
+
retentionPolicy?: RetentionPolicy;
|
|
26
|
+
/**
|
|
27
|
+
* How long the host will hold the room after its epoch lapses without renewal, before storage may be reclaimed. Stated at creation rather than discovered: reclamation that surprises a member is a failure of the design, not of the member.
|
|
28
|
+
*/
|
|
29
|
+
retentionDays?: number;
|
|
30
|
+
/**
|
|
31
|
+
* What this room intends about anchoring. OPTIONAL; absent reads as `manual`, which draws no expectation and is the honest default for a room whose owner has not decided. A host stores it and serves it back — it constrains nothing the host does.
|
|
32
|
+
*/
|
|
33
|
+
anchorCadence?: AnchorCadence;
|
|
34
|
+
/**
|
|
35
|
+
* How long the room keeps its records, by age: which records `rooms/records/prune` may remove. OPTIONAL; absent means no record is ever eligible by age. Unlike `retentionPolicy` it is not fixed: a holder of `admin` changes it with `rooms/records/retention/set`.
|
|
36
|
+
*/
|
|
37
|
+
recordRetention?: RecordRetention;
|
|
38
|
+
/**
|
|
39
|
+
* Ecosystem-defined extension members per SPEC.md §4.5.1.
|
|
40
|
+
*/
|
|
41
|
+
ext?: Ext;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Success response to rooms/create. Type https://trusttasks.org/spec/rooms/create/0.2#response.
|
|
45
|
+
*/
|
|
46
|
+
export interface RoomsCreateResponsePayload {
|
|
47
|
+
roomId: string;
|
|
48
|
+
/**
|
|
49
|
+
* Always 1 for a new room.
|
|
50
|
+
*/
|
|
51
|
+
epoch: number;
|
|
52
|
+
/**
|
|
53
|
+
* Echoed so a caller knows what was recorded rather than what was asked — the two differ on a host that predates this member.
|
|
54
|
+
*/
|
|
55
|
+
anchorCadence?: AnchorCadence;
|
|
56
|
+
/**
|
|
57
|
+
* The record retention the host recorded, echoed for the same reason `anchorCadence` is: a caller learns what is in force rather than what it asked for. Absent when none was recorded.
|
|
58
|
+
*/
|
|
59
|
+
recordRetention?: RecordRetention;
|
|
60
|
+
ext?: Ext;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/** Shared definitions this specification references, re-exported under the names it used to declare them with. */
|
|
64
|
+
export type { AnchorCadence, Ext, RecordRetention, RetentionPolicy, Visibility };
|
|
65
|
+
|
|
66
|
+
/** Trust Task type URI. */
|
|
67
|
+
export const TYPE_URI = "https://trusttasks.org/spec/rooms/create/0.2" as const;
|
|
68
|
+
|
|
69
|
+
/** Stable alias for this specification's request payload shape. */
|
|
70
|
+
export type Payload = RoomsCreatePayload;
|
|
71
|
+
|
|
72
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
73
|
+
export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/rooms/create/0.2#response" as const;
|
|
74
|
+
|
|
75
|
+
/** Stable alias for this specification's success-response payload shape. */
|
|
76
|
+
export type Response = RoomsCreateResponsePayload;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* This specification's payload schema, as a value.
|
|
80
|
+
*
|
|
81
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
82
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
83
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
84
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
85
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
86
|
+
*/
|
|
87
|
+
export const PAYLOAD_SCHEMA = {
|
|
88
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
89
|
+
"$id": "https://trusttasks.org/spec/rooms/create/0.2",
|
|
90
|
+
"title": "Rooms Create — payload",
|
|
91
|
+
"type": "object",
|
|
92
|
+
"additionalProperties": false,
|
|
93
|
+
"required": [
|
|
94
|
+
"roomId",
|
|
95
|
+
"visibility",
|
|
96
|
+
"ownerDid"
|
|
97
|
+
],
|
|
98
|
+
"properties": {
|
|
99
|
+
"roomId": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"description": "The room's identifier, minted by its owner before this call. A host is told the identifier; it does not assign one, because a room whose identity the host chose could not move to another host."
|
|
102
|
+
},
|
|
103
|
+
"visibility": {
|
|
104
|
+
"$ref": "#/$defs/Visibility"
|
|
105
|
+
},
|
|
106
|
+
"ownerDid": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"description": "The room's accountable party: the controller of the room's identifier, the issuer of every credential in it, and the party a host addresses about quota, abuse, or lifecycle. Visible at every visibility, including `private` — a room has someone answerable for it."
|
|
109
|
+
},
|
|
110
|
+
"retentionPolicy": {
|
|
111
|
+
"$ref": "#/$defs/RetentionPolicy",
|
|
112
|
+
"description": "Whether this room keeps its history readable across a membership change. Absent means `chained`, which is the choice a room wants unless it has a reason not to: joining a room should mean being able to read it. A host MUST reject an epoch link for a room whose policy is `fromJoin` rather than storing one it declared it would not have."
|
|
113
|
+
},
|
|
114
|
+
"retentionDays": {
|
|
115
|
+
"type": "integer",
|
|
116
|
+
"minimum": 1,
|
|
117
|
+
"description": "How long the host will hold the room after its epoch lapses without renewal, before storage may be reclaimed. Stated at creation rather than discovered: reclamation that surprises a member is a failure of the design, not of the member."
|
|
118
|
+
},
|
|
119
|
+
"anchorCadence": {
|
|
120
|
+
"$ref": "#/$defs/AnchorCadence",
|
|
121
|
+
"description": "What this room intends about anchoring. OPTIONAL; absent reads as `manual`, which draws no expectation and is the honest default for a room whose owner has not decided. A host stores it and serves it back — it constrains nothing the host does."
|
|
122
|
+
},
|
|
123
|
+
"recordRetention": {
|
|
124
|
+
"$ref": "#/$defs/RecordRetention",
|
|
125
|
+
"description": "How long the room keeps its records, by age: which records `rooms/records/prune` may remove. OPTIONAL; absent means no record is ever eligible by age. Unlike `retentionPolicy` it is not fixed: a holder of `admin` changes it with `rooms/records/retention/set`."
|
|
126
|
+
},
|
|
127
|
+
"ext": {
|
|
128
|
+
"$ref": "#/$defs/Ext",
|
|
129
|
+
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1."
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"$defs": {
|
|
133
|
+
"Response": {
|
|
134
|
+
"$anchor": "response",
|
|
135
|
+
"title": "Rooms Create — response payload",
|
|
136
|
+
"description": "Success response to rooms/create. Type https://trusttasks.org/spec/rooms/create/0.2#response.",
|
|
137
|
+
"type": "object",
|
|
138
|
+
"additionalProperties": false,
|
|
139
|
+
"required": [
|
|
140
|
+
"roomId",
|
|
141
|
+
"epoch"
|
|
142
|
+
],
|
|
143
|
+
"properties": {
|
|
144
|
+
"roomId": {
|
|
145
|
+
"type": "string"
|
|
146
|
+
},
|
|
147
|
+
"epoch": {
|
|
148
|
+
"type": "integer",
|
|
149
|
+
"minimum": 1,
|
|
150
|
+
"description": "Always 1 for a new room."
|
|
151
|
+
},
|
|
152
|
+
"anchorCadence": {
|
|
153
|
+
"$ref": "#/$defs/AnchorCadence",
|
|
154
|
+
"description": "Echoed so a caller knows what was recorded rather than what was asked — the two differ on a host that predates this member."
|
|
155
|
+
},
|
|
156
|
+
"recordRetention": {
|
|
157
|
+
"$ref": "#/$defs/RecordRetention",
|
|
158
|
+
"description": "The record retention the host recorded, echoed for the same reason `anchorCadence` is: a caller learns what is in force rather than what it asked for. Absent when none was recorded."
|
|
159
|
+
},
|
|
160
|
+
"ext": {
|
|
161
|
+
"$ref": "#/$defs/Ext"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"Ext": {
|
|
166
|
+
"title": "Ext",
|
|
167
|
+
"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.",
|
|
168
|
+
"type": "object",
|
|
169
|
+
"minProperties": 1,
|
|
170
|
+
"additionalProperties": true,
|
|
171
|
+
"propertyNames": {
|
|
172
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"RecordRetention": {
|
|
176
|
+
"title": "RecordRetention",
|
|
177
|
+
"type": "object",
|
|
178
|
+
"additionalProperties": false,
|
|
179
|
+
"description": "How long a room keeps its records, by age: the room's **record retention**. Records older than it states become **eligible** to be removed by `rooms/records/prune`; nothing is removed until a holder of `admin` asks for a prune, and nothing a prune removes can be brought back.\n\n**Not `retentionPolicy`, and not `retentionDays`.** Both names are taken in this family and mean other things. `retentionPolicy` (`RetentionPolicy`) is whether a room's *key chain* lets a member read epochs from before they joined, fixed at creation because key material either exists for an epoch or it does not. `retentionDays` (`rooms/create`) is how long a host keeps a whole room after it lapses unrenewed. This is a third question — how long the room keeps its *records* while it is live — and unlike the first it is a decision a room revisits, so it is changeable (`rooms/records/retention/set`). A name sharing either's would invite a reader to apply one's rules to the other.\n\n**Age is the host's to measure, so age is `updatedAt`.** On the sealed tiers a host can read nothing of a record but its key, version, status, pinning and when it last changed, so a policy the host applies can only be stated in those terms. That is also why it cannot use a record's own `validUntil`, which is sealed: expiry is a reader's rule, retention a host's. A curation is a change, so it restarts a record's age — a retraction starts a tombstone's.\n\n**Absent, or `{}`, means no record is ever eligible by age**, and that is the reading a host MUST apply whenever it cannot read a policy: removing data under a rule nobody stated is the failure this member exists to prevent. Every member can read the policy in force (`rooms/info`), so a record is never removed under a rule its readers could not have known.",
|
|
180
|
+
"properties": {
|
|
181
|
+
"tombstoneDays": {
|
|
182
|
+
"type": "integer",
|
|
183
|
+
"minimum": 1,
|
|
184
|
+
"maximum": 36500,
|
|
185
|
+
"description": "Days a retracted record's tombstone is kept after its retraction. A tombstone whose `updatedAt` is more than this long ago is eligible. Tombstones exist so that a member syncing incrementally learns of a retraction (`rooms/records/curate`); this is how long a member may stay away and still learn of one that way rather than by rebuilding their copy of the room. Absent means tombstones are never eligible."
|
|
186
|
+
},
|
|
187
|
+
"recordDays": {
|
|
188
|
+
"type": "integer",
|
|
189
|
+
"minimum": 1,
|
|
190
|
+
"maximum": 36500,
|
|
191
|
+
"description": "Days a record is kept after it last changed, whatever its standing. A record — `active`, `deprecated` or `retracted` — whose `updatedAt` is more than this long ago is eligible, **unless it is pinned**: pinning says what matters in the room, and a room that wants a pinned record gone unpins it first. Absent means records are never eligible by age."
|
|
192
|
+
},
|
|
193
|
+
"ext": {
|
|
194
|
+
"$ref": "#/$defs/Ext",
|
|
195
|
+
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1. A host MUST NOT treat a member here as making more records eligible: a removal rule a member's reader cannot understand is one they were never told about."
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"AnchorCadence": {
|
|
200
|
+
"title": "AnchorCadence",
|
|
201
|
+
"type": "string",
|
|
202
|
+
"enum": [
|
|
203
|
+
"never",
|
|
204
|
+
"renewal",
|
|
205
|
+
"manual"
|
|
206
|
+
],
|
|
207
|
+
"description": "How often this room intends to write an `EpochAnchor`. **A statement of intent, not a schedule anything enforces** — nothing in this family can make an owner anchor.\n\nIt is worth stating anyway, and the reason is the interesting part: it makes **silence legible**. A room that says `renewal` and has not anchored in ten epochs is telling a member something, and a member who did not know what to expect could not have noticed. A room that says `never` is telling them not to wait for one.\n\n - `never` — no anchor is intended. Honest, and cheap: anchoring costs a witnessed update and a rotation of the room DID's update key each time.\n - `renewal` — one anchor per epoch change, which is the cadence §9's lifecycle already moves at.\n - `manual` — the owner anchors when they decide to. A member should draw no freshness expectation from this at all, which is exactly what it is for: it is the honest answer where there is no rule.\n\nDeliberately not a duration. A room that promised \"daily\" would be making a claim its owner's availability cannot keep, and a member comparing against a clock would read an owner's holiday as a host's misbehaviour."
|
|
208
|
+
},
|
|
209
|
+
"RetentionPolicy": {
|
|
210
|
+
"title": "RetentionPolicy",
|
|
211
|
+
"type": "string",
|
|
212
|
+
"enum": [
|
|
213
|
+
"chained",
|
|
214
|
+
"fromJoin"
|
|
215
|
+
],
|
|
216
|
+
"description": "Whether a room keeps its history readable across a membership change, fixed at creation and immutable thereafter — like `Visibility`, and for the same reason: the rungs of an epoch key chain either exist for an epoch or they do not, and no later change of mind can seal key material that was never sealed or unseal what was already severed. `chained`: each advance produces an `EpochLink`, so every member reads the room's whole retained history however long they have been in it — what a **library** wants, at the cost of post-compromise security for record content, since a compromised current key then reaches every retained epoch. `fromJoin`: no rungs are produced, so a member reads only from the epoch their group state is at — what a **stream** wants, and what a room under a strict forward-secrecy obligation wants, at the cost that a joining member finds an empty-looking room and nobody can reread a record once their group state has moved past the epoch it was sealed under. Absent means `chained`; see the prose on why the absent case is the readable one.",
|
|
217
|
+
"$comment": "Deliberately no JSON Schema `default`. A declared default is materialised by the generated bindings — the member becomes non-optional with a serde default — so an absent value would reappear as an explicit one on re-serialisation and break round-trip idempotence for every document written before this member existed. The meaning of absence is stated in prose, where a binding cannot act on it."
|
|
218
|
+
},
|
|
219
|
+
"Visibility": {
|
|
220
|
+
"title": "Visibility",
|
|
221
|
+
"type": "string",
|
|
222
|
+
"enum": [
|
|
223
|
+
"open",
|
|
224
|
+
"attributed",
|
|
225
|
+
"private"
|
|
226
|
+
],
|
|
227
|
+
"description": "How much of a room its host can see, fixed at creation and immutable thereafter. `open`: records are cleartext, searchable and fully audited. `attributed`: record content is sealed, and the host still learns which member acted. `private`: content is sealed and membership is presented in zero knowledge, so the host verifies that a member acted without learning which. Immutable because a downgrade cannot un-see cleartext and an upgrade would protect only what came after while presenting as though it protected everything."
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"description": "An owner registers a data room with a host. 0.2 adds `recordRetention`: how long the room keeps its records by age, stated at creation so that no record is ever removed under a rule its readers could not have read."
|
|
231
|
+
} as const;
|
|
232
|
+
|
|
233
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
234
|
+
export const RESPONSE_PAYLOAD_SCHEMA = {
|
|
235
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
236
|
+
"$ref": "#/$defs/Response",
|
|
237
|
+
"$defs": {
|
|
238
|
+
"Response": {
|
|
239
|
+
"$anchor": "response",
|
|
240
|
+
"title": "Rooms Create — response payload",
|
|
241
|
+
"description": "Success response to rooms/create. Type https://trusttasks.org/spec/rooms/create/0.2#response.",
|
|
242
|
+
"type": "object",
|
|
243
|
+
"additionalProperties": false,
|
|
244
|
+
"required": [
|
|
245
|
+
"roomId",
|
|
246
|
+
"epoch"
|
|
247
|
+
],
|
|
248
|
+
"properties": {
|
|
249
|
+
"roomId": {
|
|
250
|
+
"type": "string"
|
|
251
|
+
},
|
|
252
|
+
"epoch": {
|
|
253
|
+
"type": "integer",
|
|
254
|
+
"minimum": 1,
|
|
255
|
+
"description": "Always 1 for a new room."
|
|
256
|
+
},
|
|
257
|
+
"anchorCadence": {
|
|
258
|
+
"$ref": "#/$defs/AnchorCadence",
|
|
259
|
+
"description": "Echoed so a caller knows what was recorded rather than what was asked — the two differ on a host that predates this member."
|
|
260
|
+
},
|
|
261
|
+
"recordRetention": {
|
|
262
|
+
"$ref": "#/$defs/RecordRetention",
|
|
263
|
+
"description": "The record retention the host recorded, echoed for the same reason `anchorCadence` is: a caller learns what is in force rather than what it asked for. Absent when none was recorded."
|
|
264
|
+
},
|
|
265
|
+
"ext": {
|
|
266
|
+
"$ref": "#/$defs/Ext"
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
"Ext": {
|
|
271
|
+
"title": "Ext",
|
|
272
|
+
"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.",
|
|
273
|
+
"type": "object",
|
|
274
|
+
"minProperties": 1,
|
|
275
|
+
"additionalProperties": true,
|
|
276
|
+
"propertyNames": {
|
|
277
|
+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
"RecordRetention": {
|
|
281
|
+
"title": "RecordRetention",
|
|
282
|
+
"type": "object",
|
|
283
|
+
"additionalProperties": false,
|
|
284
|
+
"description": "How long a room keeps its records, by age: the room's **record retention**. Records older than it states become **eligible** to be removed by `rooms/records/prune`; nothing is removed until a holder of `admin` asks for a prune, and nothing a prune removes can be brought back.\n\n**Not `retentionPolicy`, and not `retentionDays`.** Both names are taken in this family and mean other things. `retentionPolicy` (`RetentionPolicy`) is whether a room's *key chain* lets a member read epochs from before they joined, fixed at creation because key material either exists for an epoch or it does not. `retentionDays` (`rooms/create`) is how long a host keeps a whole room after it lapses unrenewed. This is a third question — how long the room keeps its *records* while it is live — and unlike the first it is a decision a room revisits, so it is changeable (`rooms/records/retention/set`). A name sharing either's would invite a reader to apply one's rules to the other.\n\n**Age is the host's to measure, so age is `updatedAt`.** On the sealed tiers a host can read nothing of a record but its key, version, status, pinning and when it last changed, so a policy the host applies can only be stated in those terms. That is also why it cannot use a record's own `validUntil`, which is sealed: expiry is a reader's rule, retention a host's. A curation is a change, so it restarts a record's age — a retraction starts a tombstone's.\n\n**Absent, or `{}`, means no record is ever eligible by age**, and that is the reading a host MUST apply whenever it cannot read a policy: removing data under a rule nobody stated is the failure this member exists to prevent. Every member can read the policy in force (`rooms/info`), so a record is never removed under a rule its readers could not have known.",
|
|
285
|
+
"properties": {
|
|
286
|
+
"tombstoneDays": {
|
|
287
|
+
"type": "integer",
|
|
288
|
+
"minimum": 1,
|
|
289
|
+
"maximum": 36500,
|
|
290
|
+
"description": "Days a retracted record's tombstone is kept after its retraction. A tombstone whose `updatedAt` is more than this long ago is eligible. Tombstones exist so that a member syncing incrementally learns of a retraction (`rooms/records/curate`); this is how long a member may stay away and still learn of one that way rather than by rebuilding their copy of the room. Absent means tombstones are never eligible."
|
|
291
|
+
},
|
|
292
|
+
"recordDays": {
|
|
293
|
+
"type": "integer",
|
|
294
|
+
"minimum": 1,
|
|
295
|
+
"maximum": 36500,
|
|
296
|
+
"description": "Days a record is kept after it last changed, whatever its standing. A record — `active`, `deprecated` or `retracted` — whose `updatedAt` is more than this long ago is eligible, **unless it is pinned**: pinning says what matters in the room, and a room that wants a pinned record gone unpins it first. Absent means records are never eligible by age."
|
|
297
|
+
},
|
|
298
|
+
"ext": {
|
|
299
|
+
"$ref": "#/$defs/Ext",
|
|
300
|
+
"description": "Ecosystem-defined extension members per SPEC.md §4.5.1. A host MUST NOT treat a member here as making more records eligible: a removal rule a member's reader cannot understand is one they were never told about."
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
"AnchorCadence": {
|
|
305
|
+
"title": "AnchorCadence",
|
|
306
|
+
"type": "string",
|
|
307
|
+
"enum": [
|
|
308
|
+
"never",
|
|
309
|
+
"renewal",
|
|
310
|
+
"manual"
|
|
311
|
+
],
|
|
312
|
+
"description": "How often this room intends to write an `EpochAnchor`. **A statement of intent, not a schedule anything enforces** — nothing in this family can make an owner anchor.\n\nIt is worth stating anyway, and the reason is the interesting part: it makes **silence legible**. A room that says `renewal` and has not anchored in ten epochs is telling a member something, and a member who did not know what to expect could not have noticed. A room that says `never` is telling them not to wait for one.\n\n - `never` — no anchor is intended. Honest, and cheap: anchoring costs a witnessed update and a rotation of the room DID's update key each time.\n - `renewal` — one anchor per epoch change, which is the cadence §9's lifecycle already moves at.\n - `manual` — the owner anchors when they decide to. A member should draw no freshness expectation from this at all, which is exactly what it is for: it is the honest answer where there is no rule.\n\nDeliberately not a duration. A room that promised \"daily\" would be making a claim its owner's availability cannot keep, and a member comparing against a clock would read an owner's holiday as a host's misbehaviour."
|
|
313
|
+
},
|
|
314
|
+
"RetentionPolicy": {
|
|
315
|
+
"title": "RetentionPolicy",
|
|
316
|
+
"type": "string",
|
|
317
|
+
"enum": [
|
|
318
|
+
"chained",
|
|
319
|
+
"fromJoin"
|
|
320
|
+
],
|
|
321
|
+
"description": "Whether a room keeps its history readable across a membership change, fixed at creation and immutable thereafter — like `Visibility`, and for the same reason: the rungs of an epoch key chain either exist for an epoch or they do not, and no later change of mind can seal key material that was never sealed or unseal what was already severed. `chained`: each advance produces an `EpochLink`, so every member reads the room's whole retained history however long they have been in it — what a **library** wants, at the cost of post-compromise security for record content, since a compromised current key then reaches every retained epoch. `fromJoin`: no rungs are produced, so a member reads only from the epoch their group state is at — what a **stream** wants, and what a room under a strict forward-secrecy obligation wants, at the cost that a joining member finds an empty-looking room and nobody can reread a record once their group state has moved past the epoch it was sealed under. Absent means `chained`; see the prose on why the absent case is the readable one.",
|
|
322
|
+
"$comment": "Deliberately no JSON Schema `default`. A declared default is materialised by the generated bindings — the member becomes non-optional with a serde default — so an absent value would reappear as an explicit one on re-serialisation and break round-trip idempotence for every document written before this member existed. The meaning of absence is stated in prose, where a binding cannot act on it."
|
|
323
|
+
},
|
|
324
|
+
"Visibility": {
|
|
325
|
+
"title": "Visibility",
|
|
326
|
+
"type": "string",
|
|
327
|
+
"enum": [
|
|
328
|
+
"open",
|
|
329
|
+
"attributed",
|
|
330
|
+
"private"
|
|
331
|
+
],
|
|
332
|
+
"description": "How much of a room its host can see, fixed at creation and immutable thereafter. `open`: records are cleartext, searchable and fully audited. `attributed`: record content is sealed, and the host still learns which member acted. `private`: content is sealed and membership is presented in zero knowledge, so the host verifies that a member acted without learning which. Immutable because a downgrade cannot un-see cleartext and an upgrade would protect only what came after while presenting as though it protected everything."
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
} as const;
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
339
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
340
|
+
* per-specification and cannot be derived from the document alone, and
|
|
341
|
+
* item 2 needs the schema this carries.
|
|
342
|
+
*/
|
|
343
|
+
export const SPEC = {
|
|
344
|
+
typeUri: TYPE_URI,
|
|
345
|
+
isBearer: false,
|
|
346
|
+
isProofRequired: true,
|
|
347
|
+
isRecipientRequired: true,
|
|
348
|
+
isIssuedAtRequired: true,
|
|
349
|
+
payloadSchema: PAYLOAD_SCHEMA,
|
|
350
|
+
} as const;
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
354
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
355
|
+
* parties (§7.3 item 5).
|
|
356
|
+
*/
|
|
357
|
+
export const RESPONSE_SPEC = {
|
|
358
|
+
typeUri: RESPONSE_TYPE_URI,
|
|
359
|
+
isBearer: false,
|
|
360
|
+
isProofRequired: true,
|
|
361
|
+
isRecipientRequired: true,
|
|
362
|
+
isIssuedAtRequired: true,
|
|
363
|
+
payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
|
|
364
|
+
} as const;
|