@openvtc/trust-tasks 0.23.8 → 0.24.0
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 +54 -0
- package/dist/_shared/components.d.ts +2451 -4
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/auth/oob/_shared/0.1/oob.d.ts +16 -0
- package/dist/auth/oob/_shared/0.1/oob.d.ts.map +1 -0
- package/dist/auth/oob/_shared/0.1/oob.js +6 -0
- package/dist/auth/oob/_shared/0.1/oob.js.map +1 -0
- package/dist/auth/oob/cancel/0.1/payload.d.ts +262 -0
- package/dist/auth/oob/cancel/0.1/payload.d.ts.map +1 -0
- package/dist/auth/oob/cancel/0.1/payload.js +153 -0
- package/dist/auth/oob/cancel/0.1/payload.js.map +1 -0
- package/dist/auth/oob/claim/0.1/payload.d.ts +463 -0
- package/dist/auth/oob/claim/0.1/payload.d.ts.map +1 -0
- package/dist/auth/oob/claim/0.1/payload.js +264 -0
- package/dist/auth/oob/claim/0.1/payload.js.map +1 -0
- package/dist/auth/oob/grant/0.1/payload.d.ts +212 -0
- package/dist/auth/oob/grant/0.1/payload.d.ts.map +1 -0
- package/dist/auth/oob/grant/0.1/payload.js +117 -0
- package/dist/auth/oob/grant/0.1/payload.js.map +1 -0
- package/dist/auth/oob/identify/0.1/payload.d.ts +145 -0
- package/dist/auth/oob/identify/0.1/payload.d.ts.map +1 -0
- package/dist/auth/oob/identify/0.1/payload.js +81 -0
- package/dist/auth/oob/identify/0.1/payload.js.map +1 -0
- package/dist/auth/oob/prove/0.1/payload.d.ts +740 -0
- package/dist/auth/oob/prove/0.1/payload.d.ts.map +1 -0
- package/dist/auth/oob/prove/0.1/payload.js +422 -0
- package/dist/auth/oob/prove/0.1/payload.js.map +1 -0
- package/dist/auth/oob/redeem/0.1/payload.d.ts +364 -0
- package/dist/auth/oob/redeem/0.1/payload.d.ts.map +1 -0
- package/dist/auth/oob/redeem/0.1/payload.js +199 -0
- package/dist/auth/oob/redeem/0.1/payload.js.map +1 -0
- package/dist/auth/oob/request/0.1/payload.d.ts +330 -0
- package/dist/auth/oob/request/0.1/payload.d.ts.map +1 -0
- package/dist/auth/oob/request/0.1/payload.js +193 -0
- package/dist/auth/oob/request/0.1/payload.js.map +1 -0
- package/dist/auth/oob/respond/0.1/payload.d.ts +235 -0
- package/dist/auth/oob/respond/0.1/payload.d.ts.map +1 -0
- package/dist/auth/oob/respond/0.1/payload.js +140 -0
- package/dist/auth/oob/respond/0.1/payload.js.map +1 -0
- 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 +6 -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 +6 -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 +6 -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 +6 -2
- package/dist/device/register/0.2/payload.js.map +1 -1
- package/dist/external/_shared/0.1/accounts.d.ts +18 -0
- package/dist/external/_shared/0.1/accounts.d.ts.map +1 -0
- package/dist/external/_shared/0.1/accounts.js +6 -0
- package/dist/external/_shared/0.1/accounts.js.map +1 -0
- package/dist/external/accounts/archive/0.1/payload.d.ts +2945 -0
- package/dist/external/accounts/archive/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/archive/0.1/payload.js +1736 -0
- package/dist/external/accounts/archive/0.1/payload.js.map +1 -0
- package/dist/external/accounts/bindings/grant/0.1/payload.d.ts +2938 -0
- package/dist/external/accounts/bindings/grant/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/bindings/grant/0.1/payload.js +1735 -0
- package/dist/external/accounts/bindings/grant/0.1/payload.js.map +1 -0
- package/dist/external/accounts/bindings/revoke/0.1/payload.d.ts +2958 -0
- package/dist/external/accounts/bindings/revoke/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/bindings/revoke/0.1/payload.js +1743 -0
- package/dist/external/accounts/bindings/revoke/0.1/payload.js.map +1 -0
- package/dist/external/accounts/create/0.1/payload.d.ts +2954 -0
- package/dist/external/accounts/create/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/create/0.1/payload.js +1742 -0
- package/dist/external/accounts/create/0.1/payload.js.map +1 -0
- package/dist/external/accounts/delete/0.1/payload.d.ts +310 -0
- package/dist/external/accounts/delete/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/delete/0.1/payload.js +176 -0
- package/dist/external/accounts/delete/0.1/payload.js.map +1 -0
- package/dist/external/accounts/get/0.1/payload.d.ts +2931 -0
- package/dist/external/accounts/get/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/get/0.1/payload.js +1731 -0
- package/dist/external/accounts/get/0.1/payload.js.map +1 -0
- package/dist/external/accounts/keys/rotate/0.1/payload.d.ts +3216 -0
- package/dist/external/accounts/keys/rotate/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/keys/rotate/0.1/payload.js +1912 -0
- package/dist/external/accounts/keys/rotate/0.1/payload.js.map +1 -0
- package/dist/external/accounts/list/0.1/payload.d.ts +3034 -0
- package/dist/external/accounts/list/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/list/0.1/payload.js +1791 -0
- package/dist/external/accounts/list/0.1/payload.js.map +1 -0
- package/dist/external/accounts/probe/0.1/payload.d.ts +511 -0
- package/dist/external/accounts/probe/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/probe/0.1/payload.js +307 -0
- package/dist/external/accounts/probe/0.1/payload.js.map +1 -0
- package/dist/external/accounts/restore/0.1/payload.d.ts +2945 -0
- package/dist/external/accounts/restore/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/restore/0.1/payload.js +1736 -0
- package/dist/external/accounts/restore/0.1/payload.js.map +1 -0
- package/dist/external/accounts/resume/0.1/payload.d.ts +2945 -0
- package/dist/external/accounts/resume/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/resume/0.1/payload.js +1736 -0
- package/dist/external/accounts/resume/0.1/payload.js.map +1 -0
- package/dist/external/accounts/secret/set/0.1/payload.d.ts +379 -0
- package/dist/external/accounts/secret/set/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/secret/set/0.1/payload.js +212 -0
- package/dist/external/accounts/secret/set/0.1/payload.js.map +1 -0
- package/dist/external/accounts/setup/0.1/payload.d.ts +535 -0
- package/dist/external/accounts/setup/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/setup/0.1/payload.js +325 -0
- package/dist/external/accounts/setup/0.1/payload.js.map +1 -0
- package/dist/external/accounts/suspend/0.1/payload.d.ts +2945 -0
- package/dist/external/accounts/suspend/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/suspend/0.1/payload.js +1736 -0
- package/dist/external/accounts/suspend/0.1/payload.js.map +1 -0
- package/dist/external/accounts/update/0.1/payload.d.ts +2949 -0
- package/dist/external/accounts/update/0.1/payload.d.ts.map +1 -0
- package/dist/external/accounts/update/0.1/payload.js +1739 -0
- package/dist/external/accounts/update/0.1/payload.js.map +1 -0
- package/dist/external/credentials/issue/0.1/payload.d.ts +586 -0
- package/dist/external/credentials/issue/0.1/payload.d.ts.map +1 -0
- package/dist/external/credentials/issue/0.1/payload.js +322 -0
- package/dist/external/credentials/issue/0.1/payload.js.map +1 -0
- package/dist/external/sign/0.1/payload.d.ts +348 -0
- package/dist/external/sign/0.1/payload.d.ts.map +1 -0
- package/dist/external/sign/0.1/payload.js +193 -0
- package/dist/external/sign/0.1/payload.js.map +1 -0
- package/dist/index.d.ts +53 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -1
- package/dist/rooms/_shared/0.1/blobs.d.ts +16 -0
- package/dist/rooms/_shared/0.1/blobs.d.ts.map +1 -0
- package/dist/rooms/_shared/0.1/blobs.js +6 -0
- package/dist/rooms/_shared/0.1/blobs.js.map +1 -0
- 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/blobs/chunk/0.1/payload.d.ts +375 -0
- package/dist/rooms/blobs/chunk/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/blobs/chunk/0.1/payload.js +213 -0
- package/dist/rooms/blobs/chunk/0.1/payload.js.map +1 -0
- package/dist/rooms/blobs/get/0.1/payload.d.ts +743 -0
- package/dist/rooms/blobs/get/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/blobs/get/0.1/payload.js +415 -0
- package/dist/rooms/blobs/get/0.1/payload.js.map +1 -0
- package/dist/rooms/blobs/upload/abort/0.1/payload.d.ts +263 -0
- package/dist/rooms/blobs/upload/abort/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/blobs/upload/abort/0.1/payload.js +151 -0
- package/dist/rooms/blobs/upload/abort/0.1/payload.js.map +1 -0
- package/dist/rooms/blobs/upload/begin/0.1/payload.d.ts +793 -0
- package/dist/rooms/blobs/upload/begin/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/blobs/upload/begin/0.1/payload.js +437 -0
- package/dist/rooms/blobs/upload/begin/0.1/payload.js.map +1 -0
- package/dist/rooms/blobs/upload/chunk/0.1/payload.d.ts +459 -0
- package/dist/rooms/blobs/upload/chunk/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/blobs/upload/chunk/0.1/payload.js +256 -0
- package/dist/rooms/blobs/upload/chunk/0.1/payload.js.map +1 -0
- package/dist/rooms/blobs/upload/commit/0.1/payload.d.ts +326 -0
- package/dist/rooms/blobs/upload/commit/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/blobs/upload/commit/0.1/payload.js +185 -0
- package/dist/rooms/blobs/upload/commit/0.1/payload.js.map +1 -0
- package/dist/rooms/info/0.1/payload.d.ts +897 -0
- package/dist/rooms/info/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/info/0.1/payload.js +498 -0
- package/dist/rooms/info/0.1/payload.js.map +1 -0
- package/dist/rooms/keys/file-key/0.1/payload.d.ts +306 -0
- package/dist/rooms/keys/file-key/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/keys/file-key/0.1/payload.js +167 -0
- package/dist/rooms/keys/file-key/0.1/payload.js.map +1 -0
- package/dist/rooms/records/get/0.2/payload.d.ts +954 -0
- package/dist/rooms/records/get/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/records/get/0.2/payload.js +515 -0
- package/dist/rooms/records/get/0.2/payload.js.map +1 -0
- package/dist/rooms/records/list/0.2/payload.d.ts +854 -0
- package/dist/rooms/records/list/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/records/list/0.2/payload.js +462 -0
- package/dist/rooms/records/list/0.2/payload.js.map +1 -0
- package/dist/rooms/records/put/0.2/payload.d.ts +679 -0
- package/dist/rooms/records/put/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/records/put/0.2/payload.js +357 -0
- package/dist/rooms/records/put/0.2/payload.js.map +1 -0
- package/dist/rooms/usage/0.1/payload.d.ts +795 -0
- package/dist/rooms/usage/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/usage/0.1/payload.js +417 -0
- package/dist/rooms/usage/0.1/payload.js.map +1 -0
- package/dist/vtc/_shared/0.1/room-storage.d.ts +16 -0
- package/dist/vtc/_shared/0.1/room-storage.d.ts.map +1 -0
- package/dist/vtc/_shared/0.1/room-storage.js +6 -0
- package/dist/vtc/_shared/0.1/room-storage.js.map +1 -0
- package/dist/vtc/rooms/get/0.1/payload.d.ts +1813 -0
- package/dist/vtc/rooms/get/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/get/0.1/payload.js +892 -0
- package/dist/vtc/rooms/get/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/limits/set/0.1/payload.d.ts +873 -0
- package/dist/vtc/rooms/limits/set/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/limits/set/0.1/payload.js +489 -0
- package/dist/vtc/rooms/limits/set/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/storage/assign/0.1/payload.d.ts +341 -0
- package/dist/vtc/rooms/storage/assign/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/storage/assign/0.1/payload.js +191 -0
- package/dist/vtc/rooms/storage/assign/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/storage/migrate/0.1/payload.d.ts +452 -0
- package/dist/vtc/rooms/storage/migrate/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/storage/migrate/0.1/payload.js +260 -0
- package/dist/vtc/rooms/storage/migrate/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/usage/0.1/payload.d.ts +880 -0
- package/dist/vtc/rooms/usage/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/usage/0.1/payload.js +457 -0
- package/dist/vtc/rooms/usage/0.1/payload.js.map +1 -0
- package/dist/vtc/storage/configs/create/0.1/payload.d.ts +1272 -0
- package/dist/vtc/storage/configs/create/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/storage/configs/create/0.1/payload.js +737 -0
- package/dist/vtc/storage/configs/create/0.1/payload.js.map +1 -0
- package/dist/vtc/storage/configs/get/0.1/payload.d.ts +1750 -0
- package/dist/vtc/storage/configs/get/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/storage/configs/get/0.1/payload.js +1019 -0
- package/dist/vtc/storage/configs/get/0.1/payload.js.map +1 -0
- package/dist/vtc/storage/configs/list/0.1/payload.d.ts +1851 -0
- package/dist/vtc/storage/configs/list/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/storage/configs/list/0.1/payload.js +1069 -0
- package/dist/vtc/storage/configs/list/0.1/payload.js.map +1 -0
- package/dist/vtc/storage/configs/probe/0.1/payload.d.ts +459 -0
- package/dist/vtc/storage/configs/probe/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/storage/configs/probe/0.1/payload.js +267 -0
- package/dist/vtc/storage/configs/probe/0.1/payload.js.map +1 -0
- package/dist/vtc/storage/configs/retire/0.1/payload.d.ts +294 -0
- package/dist/vtc/storage/configs/retire/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/storage/configs/retire/0.1/payload.js +176 -0
- package/dist/vtc/storage/configs/retire/0.1/payload.js.map +1 -0
- package/dist/vtc/storage/configs/update/0.1/payload.d.ts +1274 -0
- package/dist/vtc/storage/configs/update/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/storage/configs/update/0.1/payload.js +736 -0
- package/dist/vtc/storage/configs/update/0.1/payload.js.map +1 -0
- package/dist/vtc/storage/credentials/set/0.1/payload.d.ts +511 -0
- package/dist/vtc/storage/credentials/set/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/storage/credentials/set/0.1/payload.js +293 -0
- package/dist/vtc/storage/credentials/set/0.1/payload.js.map +1 -0
- package/package.json +1 -1
- package/src/_shared/components.ts +2539 -4
- package/src/auth/oob/_shared/0.1/oob.ts +17 -0
- package/src/auth/oob/cancel/0.1/payload.ts +188 -0
- package/src/auth/oob/claim/0.1/payload.ts +306 -0
- package/src/auth/oob/grant/0.1/payload.ts +159 -0
- package/src/auth/oob/identify/0.1/payload.ts +110 -0
- package/src/auth/oob/prove/0.1/payload.ts +473 -0
- package/src/auth/oob/redeem/0.1/payload.ts +248 -0
- package/src/auth/oob/request/0.1/payload.ts +230 -0
- package/src/auth/oob/respond/0.1/payload.ts +178 -0
- package/src/device/list/0.1/payload.ts +6 -2
- package/src/device/list/0.2/payload.ts +6 -2
- package/src/device/register/0.1/payload.ts +6 -2
- package/src/device/register/0.2/payload.ts +6 -2
- package/src/external/_shared/0.1/accounts.ts +19 -0
- package/src/external/accounts/archive/0.1/payload.ts +1770 -0
- package/src/external/accounts/bindings/grant/0.1/payload.ts +1766 -0
- package/src/external/accounts/bindings/revoke/0.1/payload.ts +1778 -0
- package/src/external/accounts/create/0.1/payload.ts +1777 -0
- package/src/external/accounts/delete/0.1/payload.ts +211 -0
- package/src/external/accounts/get/0.1/payload.ts +1761 -0
- package/src/external/accounts/keys/rotate/0.1/payload.ts +1947 -0
- package/src/external/accounts/list/0.1/payload.ts +1834 -0
- package/src/external/accounts/probe/0.1/payload.ts +337 -0
- package/src/external/accounts/restore/0.1/payload.ts +1770 -0
- package/src/external/accounts/resume/0.1/payload.ts +1770 -0
- package/src/external/accounts/secret/set/0.1/payload.ts +248 -0
- package/src/external/accounts/setup/0.1/payload.ts +355 -0
- package/src/external/accounts/suspend/0.1/payload.ts +1770 -0
- package/src/external/accounts/update/0.1/payload.ts +1771 -0
- package/src/external/credentials/issue/0.1/payload.ts +365 -0
- package/src/external/sign/0.1/payload.ts +234 -0
- package/src/index.ts +53 -0
- package/src/rooms/_shared/0.1/blobs.ts +17 -0
- package/src/rooms/_shared/0.1/room.ts +1 -1
- package/src/rooms/blobs/chunk/0.1/payload.ts +251 -0
- package/src/rooms/blobs/get/0.1/payload.ts +463 -0
- package/src/rooms/blobs/upload/abort/0.1/payload.ts +187 -0
- package/src/rooms/blobs/upload/begin/0.1/payload.ts +491 -0
- package/src/rooms/blobs/upload/chunk/0.1/payload.ts +304 -0
- package/src/rooms/blobs/upload/commit/0.1/payload.ts +224 -0
- package/src/rooms/info/0.1/payload.ts +572 -0
- package/src/rooms/keys/file-key/0.1/payload.ts +224 -0
- package/src/rooms/records/get/0.2/payload.ts +614 -0
- package/src/rooms/records/list/0.2/payload.ts +533 -0
- package/src/rooms/records/put/0.2/payload.ts +441 -0
- package/src/rooms/usage/0.1/payload.ts +499 -0
- package/src/vtc/_shared/0.1/room-storage.ts +17 -0
- package/src/vtc/rooms/get/0.1/payload.ts +1275 -0
- package/src/vtc/rooms/limits/set/0.1/payload.ts +555 -0
- package/src/vtc/rooms/storage/assign/0.1/payload.ts +237 -0
- package/src/vtc/rooms/storage/migrate/0.1/payload.ts +317 -0
- package/src/vtc/rooms/usage/0.1/payload.ts +568 -0
- package/src/vtc/storage/configs/create/0.1/payload.ts +784 -0
- package/src/vtc/storage/configs/get/0.1/payload.ts +1054 -0
- package/src/vtc/storage/configs/list/0.1/payload.ts +1121 -0
- package/src/vtc/storage/configs/probe/0.1/payload.ts +329 -0
- package/src/vtc/storage/configs/retire/0.1/payload.ts +211 -0
- package/src/vtc/storage/configs/update/0.1/payload.ts +783 -0
- package/src/vtc/storage/credentials/set/0.1/payload.ts +339 -0
|
@@ -0,0 +1,880 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/vtc/rooms/usage/0.1/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
import type { Ext, ScopeLimits, StorageConfigId } from "../../../../_shared/components.js";
|
|
6
|
+
/**
|
|
7
|
+
* A room-hosting administrator reports the storage and activity of the community's hosted rooms, grouped by room, member, storage config or day. The outer document members are owned by the framework — SPEC §6.3.
|
|
8
|
+
*/
|
|
9
|
+
export interface VTCRoomsUsagePayload {
|
|
10
|
+
/**
|
|
11
|
+
* What each row describes. `day` is the daily history of whatever the filter selects.
|
|
12
|
+
*/
|
|
13
|
+
groupBy: "room" | "member" | "storageConfig" | "day";
|
|
14
|
+
/**
|
|
15
|
+
* Every member optional; all given apply together.
|
|
16
|
+
*/
|
|
17
|
+
filter?: {
|
|
18
|
+
/**
|
|
19
|
+
* The room's identifier, as its owner minted it.
|
|
20
|
+
*/
|
|
21
|
+
roomId?: string;
|
|
22
|
+
/**
|
|
23
|
+
* One member's figures, across the `attributed` rooms selected.
|
|
24
|
+
*/
|
|
25
|
+
member?: string;
|
|
26
|
+
storageConfig?: StorageConfigId;
|
|
27
|
+
/**
|
|
28
|
+
* First UTC day of the range. Default: 29 days before `to`.
|
|
29
|
+
*/
|
|
30
|
+
from?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Last UTC day of the range, inclusive. Default: today.
|
|
33
|
+
*/
|
|
34
|
+
to?: string;
|
|
35
|
+
};
|
|
36
|
+
sort?: {
|
|
37
|
+
by: "bytes" | "files" | "uploads" | "downloads" | "egressBytes" | "date";
|
|
38
|
+
order?: "asc" | "desc";
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Opaque continuation token from a previous page's `nextCursor`.
|
|
42
|
+
*/
|
|
43
|
+
cursor?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Page size. The community chooses when absent (50 in the reference implementation).
|
|
46
|
+
*/
|
|
47
|
+
limit?: number;
|
|
48
|
+
ext?: Ext;
|
|
49
|
+
}
|
|
50
|
+
export interface VTCRoomsUsageResponsePayload {
|
|
51
|
+
asOf: string;
|
|
52
|
+
from: string;
|
|
53
|
+
to: string;
|
|
54
|
+
/**
|
|
55
|
+
* @maxItems 100
|
|
56
|
+
*/
|
|
57
|
+
items: UsageRow[];
|
|
58
|
+
/**
|
|
59
|
+
* Present when more remain; pass it as `cursor`.
|
|
60
|
+
*/
|
|
61
|
+
nextCursor?: string;
|
|
62
|
+
ext?: Ext;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* One group's figures. Holdings as of the read (or the end of the day, on a `day` row); activity over the range (or the day).
|
|
66
|
+
*/
|
|
67
|
+
export interface UsageRow {
|
|
68
|
+
/**
|
|
69
|
+
* Present on a `room` row.
|
|
70
|
+
*/
|
|
71
|
+
roomId?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Present on a `member` row.
|
|
74
|
+
*/
|
|
75
|
+
member?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Present on a `storageConfig` row, and on a `room` row as the room's assigned config.
|
|
78
|
+
*/
|
|
79
|
+
storageConfig?: StorageConfigId;
|
|
80
|
+
/**
|
|
81
|
+
* Present on a `day` row.
|
|
82
|
+
*/
|
|
83
|
+
date?: string;
|
|
84
|
+
files: number;
|
|
85
|
+
bytes: number;
|
|
86
|
+
reservedBytes: number;
|
|
87
|
+
uploads: number;
|
|
88
|
+
downloads: number;
|
|
89
|
+
egressBytes: number;
|
|
90
|
+
/**
|
|
91
|
+
* On a `room` row the room's limits, on a `member` row (one room selected) that member's.
|
|
92
|
+
*/
|
|
93
|
+
limits?: ScopeLimits;
|
|
94
|
+
/**
|
|
95
|
+
* On a `storageConfig` row, the config's capacity when it has one.
|
|
96
|
+
*/
|
|
97
|
+
capacityBytes?: number;
|
|
98
|
+
}
|
|
99
|
+
/** Shared definitions this specification references, re-exported under the names it used to declare them with. */
|
|
100
|
+
export type { Ext, ScopeLimits, StorageConfigId };
|
|
101
|
+
/** Trust Task type URI. */
|
|
102
|
+
export declare const TYPE_URI: "https://trusttasks.org/spec/vtc/rooms/usage/0.1";
|
|
103
|
+
/** Stable alias for this specification's request payload shape. */
|
|
104
|
+
export type Payload = VTCRoomsUsagePayload;
|
|
105
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
106
|
+
export declare const RESPONSE_TYPE_URI: "https://trusttasks.org/spec/vtc/rooms/usage/0.1#response";
|
|
107
|
+
/** Stable alias for this specification's success-response payload shape. */
|
|
108
|
+
export type Response = VTCRoomsUsageResponsePayload;
|
|
109
|
+
/**
|
|
110
|
+
* This specification's payload schema, as a value.
|
|
111
|
+
*
|
|
112
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
113
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
114
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
115
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
116
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
117
|
+
*/
|
|
118
|
+
export declare const PAYLOAD_SCHEMA: {
|
|
119
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
120
|
+
readonly $id: "https://trusttasks.org/spec/vtc/rooms/usage/0.1";
|
|
121
|
+
readonly title: "VTC Rooms — Usage — payload";
|
|
122
|
+
readonly description: "A room-hosting administrator reports the storage and activity of the community's hosted rooms, grouped by room, member, storage config or day. The outer document members are owned by the framework — SPEC §6.3.";
|
|
123
|
+
readonly type: "object";
|
|
124
|
+
readonly additionalProperties: false;
|
|
125
|
+
readonly required: readonly ["groupBy"];
|
|
126
|
+
readonly properties: {
|
|
127
|
+
readonly groupBy: {
|
|
128
|
+
readonly type: "string";
|
|
129
|
+
readonly enum: readonly ["room", "member", "storageConfig", "day"];
|
|
130
|
+
readonly description: "What each row describes. `day` is the daily history of whatever the filter selects.";
|
|
131
|
+
};
|
|
132
|
+
readonly filter: {
|
|
133
|
+
readonly type: "object";
|
|
134
|
+
readonly additionalProperties: false;
|
|
135
|
+
readonly description: "Every member optional; all given apply together.";
|
|
136
|
+
readonly properties: {
|
|
137
|
+
readonly roomId: {
|
|
138
|
+
readonly type: "string";
|
|
139
|
+
readonly minLength: 1;
|
|
140
|
+
readonly maxLength: 512;
|
|
141
|
+
readonly description: "The room's identifier, as its owner minted it.";
|
|
142
|
+
};
|
|
143
|
+
readonly member: {
|
|
144
|
+
readonly type: "string";
|
|
145
|
+
readonly pattern: "^did:";
|
|
146
|
+
readonly maxLength: 2048;
|
|
147
|
+
readonly description: "One member's figures, across the `attributed` rooms selected.";
|
|
148
|
+
};
|
|
149
|
+
readonly storageConfig: {
|
|
150
|
+
readonly $ref: "#/$defs/StorageConfigId";
|
|
151
|
+
};
|
|
152
|
+
readonly from: {
|
|
153
|
+
readonly type: "string";
|
|
154
|
+
readonly format: "date";
|
|
155
|
+
readonly description: "First UTC day of the range. Default: 29 days before `to`.";
|
|
156
|
+
};
|
|
157
|
+
readonly to: {
|
|
158
|
+
readonly type: "string";
|
|
159
|
+
readonly format: "date";
|
|
160
|
+
readonly description: "Last UTC day of the range, inclusive. Default: today.";
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
readonly sort: {
|
|
165
|
+
readonly type: "object";
|
|
166
|
+
readonly additionalProperties: false;
|
|
167
|
+
readonly required: readonly ["by"];
|
|
168
|
+
readonly properties: {
|
|
169
|
+
readonly by: {
|
|
170
|
+
readonly type: "string";
|
|
171
|
+
readonly enum: readonly ["bytes", "files", "uploads", "downloads", "egressBytes", "date"];
|
|
172
|
+
};
|
|
173
|
+
readonly order: {
|
|
174
|
+
readonly type: "string";
|
|
175
|
+
readonly enum: readonly ["asc", "desc"];
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
};
|
|
179
|
+
readonly cursor: {
|
|
180
|
+
readonly type: "string";
|
|
181
|
+
readonly minLength: 1;
|
|
182
|
+
readonly maxLength: 1024;
|
|
183
|
+
readonly description: "Opaque continuation token from a previous page's `nextCursor`.";
|
|
184
|
+
};
|
|
185
|
+
readonly limit: {
|
|
186
|
+
readonly type: "integer";
|
|
187
|
+
readonly minimum: 1;
|
|
188
|
+
readonly maximum: 100;
|
|
189
|
+
readonly description: "Page size. The community chooses when absent (50 in the reference implementation).";
|
|
190
|
+
};
|
|
191
|
+
readonly ext: {
|
|
192
|
+
readonly $ref: "#/$defs/Ext";
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
readonly $defs: {
|
|
196
|
+
readonly UsageRow: {
|
|
197
|
+
readonly type: "object";
|
|
198
|
+
readonly additionalProperties: false;
|
|
199
|
+
readonly description: "One group's figures. Holdings as of the read (or the end of the day, on a `day` row); activity over the range (or the day).";
|
|
200
|
+
readonly required: readonly ["files", "bytes", "reservedBytes", "uploads", "downloads", "egressBytes"];
|
|
201
|
+
readonly properties: {
|
|
202
|
+
readonly roomId: {
|
|
203
|
+
readonly type: "string";
|
|
204
|
+
readonly minLength: 1;
|
|
205
|
+
readonly maxLength: 512;
|
|
206
|
+
readonly description: "Present on a `room` row.";
|
|
207
|
+
};
|
|
208
|
+
readonly member: {
|
|
209
|
+
readonly type: "string";
|
|
210
|
+
readonly pattern: "^did:";
|
|
211
|
+
readonly maxLength: 2048;
|
|
212
|
+
readonly description: "Present on a `member` row.";
|
|
213
|
+
};
|
|
214
|
+
readonly storageConfig: {
|
|
215
|
+
readonly $ref: "#/$defs/StorageConfigId";
|
|
216
|
+
readonly description: "Present on a `storageConfig` row, and on a `room` row as the room's assigned config.";
|
|
217
|
+
};
|
|
218
|
+
readonly date: {
|
|
219
|
+
readonly type: "string";
|
|
220
|
+
readonly format: "date";
|
|
221
|
+
readonly description: "Present on a `day` row.";
|
|
222
|
+
};
|
|
223
|
+
readonly files: {
|
|
224
|
+
readonly type: "integer";
|
|
225
|
+
readonly minimum: 0;
|
|
226
|
+
};
|
|
227
|
+
readonly bytes: {
|
|
228
|
+
readonly type: "integer";
|
|
229
|
+
readonly minimum: 0;
|
|
230
|
+
};
|
|
231
|
+
readonly reservedBytes: {
|
|
232
|
+
readonly type: "integer";
|
|
233
|
+
readonly minimum: 0;
|
|
234
|
+
};
|
|
235
|
+
readonly uploads: {
|
|
236
|
+
readonly type: "integer";
|
|
237
|
+
readonly minimum: 0;
|
|
238
|
+
};
|
|
239
|
+
readonly downloads: {
|
|
240
|
+
readonly type: "integer";
|
|
241
|
+
readonly minimum: 0;
|
|
242
|
+
};
|
|
243
|
+
readonly egressBytes: {
|
|
244
|
+
readonly type: "integer";
|
|
245
|
+
readonly minimum: 0;
|
|
246
|
+
};
|
|
247
|
+
readonly limits: {
|
|
248
|
+
readonly $ref: "#/$defs/ScopeLimits";
|
|
249
|
+
readonly description: "On a `room` row the room's limits, on a `member` row (one room selected) that member's.";
|
|
250
|
+
};
|
|
251
|
+
readonly capacityBytes: {
|
|
252
|
+
readonly type: "integer";
|
|
253
|
+
readonly minimum: 0;
|
|
254
|
+
readonly description: "On a `storageConfig` row, the config's capacity when it has one.";
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
};
|
|
258
|
+
readonly Response: {
|
|
259
|
+
readonly $anchor: "response";
|
|
260
|
+
readonly title: "VTC Rooms — Usage — response payload";
|
|
261
|
+
readonly type: "object";
|
|
262
|
+
readonly additionalProperties: false;
|
|
263
|
+
readonly required: readonly ["asOf", "from", "to", "items"];
|
|
264
|
+
readonly properties: {
|
|
265
|
+
readonly asOf: {
|
|
266
|
+
readonly type: "string";
|
|
267
|
+
readonly format: "date-time";
|
|
268
|
+
};
|
|
269
|
+
readonly from: {
|
|
270
|
+
readonly type: "string";
|
|
271
|
+
readonly format: "date";
|
|
272
|
+
};
|
|
273
|
+
readonly to: {
|
|
274
|
+
readonly type: "string";
|
|
275
|
+
readonly format: "date";
|
|
276
|
+
};
|
|
277
|
+
readonly items: {
|
|
278
|
+
readonly type: "array";
|
|
279
|
+
readonly maxItems: 100;
|
|
280
|
+
readonly items: {
|
|
281
|
+
readonly $ref: "#/$defs/UsageRow";
|
|
282
|
+
};
|
|
283
|
+
};
|
|
284
|
+
readonly nextCursor: {
|
|
285
|
+
readonly type: "string";
|
|
286
|
+
readonly minLength: 1;
|
|
287
|
+
readonly maxLength: 1024;
|
|
288
|
+
readonly description: "Present when more remain; pass it as `cursor`.";
|
|
289
|
+
};
|
|
290
|
+
readonly ext: {
|
|
291
|
+
readonly $ref: "#/$defs/Ext";
|
|
292
|
+
};
|
|
293
|
+
};
|
|
294
|
+
};
|
|
295
|
+
readonly Ext: {
|
|
296
|
+
readonly title: "Ext";
|
|
297
|
+
readonly description: "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.";
|
|
298
|
+
readonly type: "object";
|
|
299
|
+
readonly minProperties: 1;
|
|
300
|
+
readonly additionalProperties: true;
|
|
301
|
+
readonly propertyNames: {
|
|
302
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
303
|
+
};
|
|
304
|
+
};
|
|
305
|
+
readonly ScopeLimits: {
|
|
306
|
+
readonly title: "ScopeLimits";
|
|
307
|
+
readonly type: "object";
|
|
308
|
+
readonly additionalProperties: false;
|
|
309
|
+
readonly description: "Limits at one scope. Every member is optional: an absent member means the scope sets no limit of that kind, and the next wider scope's limit, or the host's ceiling, governs. All sizes are ciphertext bytes.";
|
|
310
|
+
readonly properties: {
|
|
311
|
+
readonly maxFiles: {
|
|
312
|
+
readonly type: "integer";
|
|
313
|
+
readonly minimum: 0;
|
|
314
|
+
readonly description: "The number of committed blobs the scope may hold. 0 refuses every upload at this scope.";
|
|
315
|
+
};
|
|
316
|
+
readonly maxFileBytes: {
|
|
317
|
+
readonly type: "integer";
|
|
318
|
+
readonly minimum: 0;
|
|
319
|
+
readonly maximum: 1073741824;
|
|
320
|
+
readonly description: "The largest single blob the scope accepts. Never above 1 GiB, the transfer ceiling (BlobManifest).";
|
|
321
|
+
};
|
|
322
|
+
readonly maxBytes: {
|
|
323
|
+
readonly type: "integer";
|
|
324
|
+
readonly minimum: 0;
|
|
325
|
+
readonly description: "The total size of the committed and reserved blobs the scope may hold.";
|
|
326
|
+
};
|
|
327
|
+
};
|
|
328
|
+
};
|
|
329
|
+
readonly StorageConfigId: {
|
|
330
|
+
readonly title: "StorageConfigId";
|
|
331
|
+
readonly type: "string";
|
|
332
|
+
readonly minLength: 1;
|
|
333
|
+
readonly maxLength: 64;
|
|
334
|
+
readonly pattern: "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$";
|
|
335
|
+
readonly description: "A storage config's identifier, chosen by the administrator who creates it and immutable thereafter: lowercase letters, digits and inner hyphens, at most 64 characters (`eu-s3-primary`, `walrus-main`). Unique within the community. Never reused after a config is retired, because blobs name their config by this value.";
|
|
336
|
+
};
|
|
337
|
+
};
|
|
338
|
+
};
|
|
339
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
340
|
+
export declare const RESPONSE_PAYLOAD_SCHEMA: {
|
|
341
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
342
|
+
readonly $ref: "#/$defs/Response";
|
|
343
|
+
readonly $defs: {
|
|
344
|
+
readonly UsageRow: {
|
|
345
|
+
readonly type: "object";
|
|
346
|
+
readonly additionalProperties: false;
|
|
347
|
+
readonly description: "One group's figures. Holdings as of the read (or the end of the day, on a `day` row); activity over the range (or the day).";
|
|
348
|
+
readonly required: readonly ["files", "bytes", "reservedBytes", "uploads", "downloads", "egressBytes"];
|
|
349
|
+
readonly properties: {
|
|
350
|
+
readonly roomId: {
|
|
351
|
+
readonly type: "string";
|
|
352
|
+
readonly minLength: 1;
|
|
353
|
+
readonly maxLength: 512;
|
|
354
|
+
readonly description: "Present on a `room` row.";
|
|
355
|
+
};
|
|
356
|
+
readonly member: {
|
|
357
|
+
readonly type: "string";
|
|
358
|
+
readonly pattern: "^did:";
|
|
359
|
+
readonly maxLength: 2048;
|
|
360
|
+
readonly description: "Present on a `member` row.";
|
|
361
|
+
};
|
|
362
|
+
readonly storageConfig: {
|
|
363
|
+
readonly $ref: "#/$defs/StorageConfigId";
|
|
364
|
+
readonly description: "Present on a `storageConfig` row, and on a `room` row as the room's assigned config.";
|
|
365
|
+
};
|
|
366
|
+
readonly date: {
|
|
367
|
+
readonly type: "string";
|
|
368
|
+
readonly format: "date";
|
|
369
|
+
readonly description: "Present on a `day` row.";
|
|
370
|
+
};
|
|
371
|
+
readonly files: {
|
|
372
|
+
readonly type: "integer";
|
|
373
|
+
readonly minimum: 0;
|
|
374
|
+
};
|
|
375
|
+
readonly bytes: {
|
|
376
|
+
readonly type: "integer";
|
|
377
|
+
readonly minimum: 0;
|
|
378
|
+
};
|
|
379
|
+
readonly reservedBytes: {
|
|
380
|
+
readonly type: "integer";
|
|
381
|
+
readonly minimum: 0;
|
|
382
|
+
};
|
|
383
|
+
readonly uploads: {
|
|
384
|
+
readonly type: "integer";
|
|
385
|
+
readonly minimum: 0;
|
|
386
|
+
};
|
|
387
|
+
readonly downloads: {
|
|
388
|
+
readonly type: "integer";
|
|
389
|
+
readonly minimum: 0;
|
|
390
|
+
};
|
|
391
|
+
readonly egressBytes: {
|
|
392
|
+
readonly type: "integer";
|
|
393
|
+
readonly minimum: 0;
|
|
394
|
+
};
|
|
395
|
+
readonly limits: {
|
|
396
|
+
readonly $ref: "#/$defs/ScopeLimits";
|
|
397
|
+
readonly description: "On a `room` row the room's limits, on a `member` row (one room selected) that member's.";
|
|
398
|
+
};
|
|
399
|
+
readonly capacityBytes: {
|
|
400
|
+
readonly type: "integer";
|
|
401
|
+
readonly minimum: 0;
|
|
402
|
+
readonly description: "On a `storageConfig` row, the config's capacity when it has one.";
|
|
403
|
+
};
|
|
404
|
+
};
|
|
405
|
+
};
|
|
406
|
+
readonly Response: {
|
|
407
|
+
readonly $anchor: "response";
|
|
408
|
+
readonly title: "VTC Rooms — Usage — response payload";
|
|
409
|
+
readonly type: "object";
|
|
410
|
+
readonly additionalProperties: false;
|
|
411
|
+
readonly required: readonly ["asOf", "from", "to", "items"];
|
|
412
|
+
readonly properties: {
|
|
413
|
+
readonly asOf: {
|
|
414
|
+
readonly type: "string";
|
|
415
|
+
readonly format: "date-time";
|
|
416
|
+
};
|
|
417
|
+
readonly from: {
|
|
418
|
+
readonly type: "string";
|
|
419
|
+
readonly format: "date";
|
|
420
|
+
};
|
|
421
|
+
readonly to: {
|
|
422
|
+
readonly type: "string";
|
|
423
|
+
readonly format: "date";
|
|
424
|
+
};
|
|
425
|
+
readonly items: {
|
|
426
|
+
readonly type: "array";
|
|
427
|
+
readonly maxItems: 100;
|
|
428
|
+
readonly items: {
|
|
429
|
+
readonly $ref: "#/$defs/UsageRow";
|
|
430
|
+
};
|
|
431
|
+
};
|
|
432
|
+
readonly nextCursor: {
|
|
433
|
+
readonly type: "string";
|
|
434
|
+
readonly minLength: 1;
|
|
435
|
+
readonly maxLength: 1024;
|
|
436
|
+
readonly description: "Present when more remain; pass it as `cursor`.";
|
|
437
|
+
};
|
|
438
|
+
readonly ext: {
|
|
439
|
+
readonly $ref: "#/$defs/Ext";
|
|
440
|
+
};
|
|
441
|
+
};
|
|
442
|
+
};
|
|
443
|
+
readonly Ext: {
|
|
444
|
+
readonly title: "Ext";
|
|
445
|
+
readonly description: "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.";
|
|
446
|
+
readonly type: "object";
|
|
447
|
+
readonly minProperties: 1;
|
|
448
|
+
readonly additionalProperties: true;
|
|
449
|
+
readonly propertyNames: {
|
|
450
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
451
|
+
};
|
|
452
|
+
};
|
|
453
|
+
readonly ScopeLimits: {
|
|
454
|
+
readonly title: "ScopeLimits";
|
|
455
|
+
readonly type: "object";
|
|
456
|
+
readonly additionalProperties: false;
|
|
457
|
+
readonly description: "Limits at one scope. Every member is optional: an absent member means the scope sets no limit of that kind, and the next wider scope's limit, or the host's ceiling, governs. All sizes are ciphertext bytes.";
|
|
458
|
+
readonly properties: {
|
|
459
|
+
readonly maxFiles: {
|
|
460
|
+
readonly type: "integer";
|
|
461
|
+
readonly minimum: 0;
|
|
462
|
+
readonly description: "The number of committed blobs the scope may hold. 0 refuses every upload at this scope.";
|
|
463
|
+
};
|
|
464
|
+
readonly maxFileBytes: {
|
|
465
|
+
readonly type: "integer";
|
|
466
|
+
readonly minimum: 0;
|
|
467
|
+
readonly maximum: 1073741824;
|
|
468
|
+
readonly description: "The largest single blob the scope accepts. Never above 1 GiB, the transfer ceiling (BlobManifest).";
|
|
469
|
+
};
|
|
470
|
+
readonly maxBytes: {
|
|
471
|
+
readonly type: "integer";
|
|
472
|
+
readonly minimum: 0;
|
|
473
|
+
readonly description: "The total size of the committed and reserved blobs the scope may hold.";
|
|
474
|
+
};
|
|
475
|
+
};
|
|
476
|
+
};
|
|
477
|
+
readonly StorageConfigId: {
|
|
478
|
+
readonly title: "StorageConfigId";
|
|
479
|
+
readonly type: "string";
|
|
480
|
+
readonly minLength: 1;
|
|
481
|
+
readonly maxLength: 64;
|
|
482
|
+
readonly pattern: "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$";
|
|
483
|
+
readonly description: "A storage config's identifier, chosen by the administrator who creates it and immutable thereafter: lowercase letters, digits and inner hyphens, at most 64 characters (`eu-s3-primary`, `walrus-main`). Unique within the community. Never reused after a config is retired, because blobs name their config by this value.";
|
|
484
|
+
};
|
|
485
|
+
};
|
|
486
|
+
};
|
|
487
|
+
/**
|
|
488
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
489
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
490
|
+
* per-specification and cannot be derived from the document alone, and
|
|
491
|
+
* item 2 needs the schema this carries.
|
|
492
|
+
*/
|
|
493
|
+
export declare const SPEC: {
|
|
494
|
+
readonly typeUri: "https://trusttasks.org/spec/vtc/rooms/usage/0.1";
|
|
495
|
+
readonly isBearer: false;
|
|
496
|
+
readonly isProofRequired: false;
|
|
497
|
+
readonly isRecipientRequired: true;
|
|
498
|
+
readonly isIssuedAtRequired: false;
|
|
499
|
+
readonly payloadSchema: {
|
|
500
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
501
|
+
readonly $id: "https://trusttasks.org/spec/vtc/rooms/usage/0.1";
|
|
502
|
+
readonly title: "VTC Rooms — Usage — payload";
|
|
503
|
+
readonly description: "A room-hosting administrator reports the storage and activity of the community's hosted rooms, grouped by room, member, storage config or day. The outer document members are owned by the framework — SPEC §6.3.";
|
|
504
|
+
readonly type: "object";
|
|
505
|
+
readonly additionalProperties: false;
|
|
506
|
+
readonly required: readonly ["groupBy"];
|
|
507
|
+
readonly properties: {
|
|
508
|
+
readonly groupBy: {
|
|
509
|
+
readonly type: "string";
|
|
510
|
+
readonly enum: readonly ["room", "member", "storageConfig", "day"];
|
|
511
|
+
readonly description: "What each row describes. `day` is the daily history of whatever the filter selects.";
|
|
512
|
+
};
|
|
513
|
+
readonly filter: {
|
|
514
|
+
readonly type: "object";
|
|
515
|
+
readonly additionalProperties: false;
|
|
516
|
+
readonly description: "Every member optional; all given apply together.";
|
|
517
|
+
readonly properties: {
|
|
518
|
+
readonly roomId: {
|
|
519
|
+
readonly type: "string";
|
|
520
|
+
readonly minLength: 1;
|
|
521
|
+
readonly maxLength: 512;
|
|
522
|
+
readonly description: "The room's identifier, as its owner minted it.";
|
|
523
|
+
};
|
|
524
|
+
readonly member: {
|
|
525
|
+
readonly type: "string";
|
|
526
|
+
readonly pattern: "^did:";
|
|
527
|
+
readonly maxLength: 2048;
|
|
528
|
+
readonly description: "One member's figures, across the `attributed` rooms selected.";
|
|
529
|
+
};
|
|
530
|
+
readonly storageConfig: {
|
|
531
|
+
readonly $ref: "#/$defs/StorageConfigId";
|
|
532
|
+
};
|
|
533
|
+
readonly from: {
|
|
534
|
+
readonly type: "string";
|
|
535
|
+
readonly format: "date";
|
|
536
|
+
readonly description: "First UTC day of the range. Default: 29 days before `to`.";
|
|
537
|
+
};
|
|
538
|
+
readonly to: {
|
|
539
|
+
readonly type: "string";
|
|
540
|
+
readonly format: "date";
|
|
541
|
+
readonly description: "Last UTC day of the range, inclusive. Default: today.";
|
|
542
|
+
};
|
|
543
|
+
};
|
|
544
|
+
};
|
|
545
|
+
readonly sort: {
|
|
546
|
+
readonly type: "object";
|
|
547
|
+
readonly additionalProperties: false;
|
|
548
|
+
readonly required: readonly ["by"];
|
|
549
|
+
readonly properties: {
|
|
550
|
+
readonly by: {
|
|
551
|
+
readonly type: "string";
|
|
552
|
+
readonly enum: readonly ["bytes", "files", "uploads", "downloads", "egressBytes", "date"];
|
|
553
|
+
};
|
|
554
|
+
readonly order: {
|
|
555
|
+
readonly type: "string";
|
|
556
|
+
readonly enum: readonly ["asc", "desc"];
|
|
557
|
+
};
|
|
558
|
+
};
|
|
559
|
+
};
|
|
560
|
+
readonly cursor: {
|
|
561
|
+
readonly type: "string";
|
|
562
|
+
readonly minLength: 1;
|
|
563
|
+
readonly maxLength: 1024;
|
|
564
|
+
readonly description: "Opaque continuation token from a previous page's `nextCursor`.";
|
|
565
|
+
};
|
|
566
|
+
readonly limit: {
|
|
567
|
+
readonly type: "integer";
|
|
568
|
+
readonly minimum: 1;
|
|
569
|
+
readonly maximum: 100;
|
|
570
|
+
readonly description: "Page size. The community chooses when absent (50 in the reference implementation).";
|
|
571
|
+
};
|
|
572
|
+
readonly ext: {
|
|
573
|
+
readonly $ref: "#/$defs/Ext";
|
|
574
|
+
};
|
|
575
|
+
};
|
|
576
|
+
readonly $defs: {
|
|
577
|
+
readonly UsageRow: {
|
|
578
|
+
readonly type: "object";
|
|
579
|
+
readonly additionalProperties: false;
|
|
580
|
+
readonly description: "One group's figures. Holdings as of the read (or the end of the day, on a `day` row); activity over the range (or the day).";
|
|
581
|
+
readonly required: readonly ["files", "bytes", "reservedBytes", "uploads", "downloads", "egressBytes"];
|
|
582
|
+
readonly properties: {
|
|
583
|
+
readonly roomId: {
|
|
584
|
+
readonly type: "string";
|
|
585
|
+
readonly minLength: 1;
|
|
586
|
+
readonly maxLength: 512;
|
|
587
|
+
readonly description: "Present on a `room` row.";
|
|
588
|
+
};
|
|
589
|
+
readonly member: {
|
|
590
|
+
readonly type: "string";
|
|
591
|
+
readonly pattern: "^did:";
|
|
592
|
+
readonly maxLength: 2048;
|
|
593
|
+
readonly description: "Present on a `member` row.";
|
|
594
|
+
};
|
|
595
|
+
readonly storageConfig: {
|
|
596
|
+
readonly $ref: "#/$defs/StorageConfigId";
|
|
597
|
+
readonly description: "Present on a `storageConfig` row, and on a `room` row as the room's assigned config.";
|
|
598
|
+
};
|
|
599
|
+
readonly date: {
|
|
600
|
+
readonly type: "string";
|
|
601
|
+
readonly format: "date";
|
|
602
|
+
readonly description: "Present on a `day` row.";
|
|
603
|
+
};
|
|
604
|
+
readonly files: {
|
|
605
|
+
readonly type: "integer";
|
|
606
|
+
readonly minimum: 0;
|
|
607
|
+
};
|
|
608
|
+
readonly bytes: {
|
|
609
|
+
readonly type: "integer";
|
|
610
|
+
readonly minimum: 0;
|
|
611
|
+
};
|
|
612
|
+
readonly reservedBytes: {
|
|
613
|
+
readonly type: "integer";
|
|
614
|
+
readonly minimum: 0;
|
|
615
|
+
};
|
|
616
|
+
readonly uploads: {
|
|
617
|
+
readonly type: "integer";
|
|
618
|
+
readonly minimum: 0;
|
|
619
|
+
};
|
|
620
|
+
readonly downloads: {
|
|
621
|
+
readonly type: "integer";
|
|
622
|
+
readonly minimum: 0;
|
|
623
|
+
};
|
|
624
|
+
readonly egressBytes: {
|
|
625
|
+
readonly type: "integer";
|
|
626
|
+
readonly minimum: 0;
|
|
627
|
+
};
|
|
628
|
+
readonly limits: {
|
|
629
|
+
readonly $ref: "#/$defs/ScopeLimits";
|
|
630
|
+
readonly description: "On a `room` row the room's limits, on a `member` row (one room selected) that member's.";
|
|
631
|
+
};
|
|
632
|
+
readonly capacityBytes: {
|
|
633
|
+
readonly type: "integer";
|
|
634
|
+
readonly minimum: 0;
|
|
635
|
+
readonly description: "On a `storageConfig` row, the config's capacity when it has one.";
|
|
636
|
+
};
|
|
637
|
+
};
|
|
638
|
+
};
|
|
639
|
+
readonly Response: {
|
|
640
|
+
readonly $anchor: "response";
|
|
641
|
+
readonly title: "VTC Rooms — Usage — response payload";
|
|
642
|
+
readonly type: "object";
|
|
643
|
+
readonly additionalProperties: false;
|
|
644
|
+
readonly required: readonly ["asOf", "from", "to", "items"];
|
|
645
|
+
readonly properties: {
|
|
646
|
+
readonly asOf: {
|
|
647
|
+
readonly type: "string";
|
|
648
|
+
readonly format: "date-time";
|
|
649
|
+
};
|
|
650
|
+
readonly from: {
|
|
651
|
+
readonly type: "string";
|
|
652
|
+
readonly format: "date";
|
|
653
|
+
};
|
|
654
|
+
readonly to: {
|
|
655
|
+
readonly type: "string";
|
|
656
|
+
readonly format: "date";
|
|
657
|
+
};
|
|
658
|
+
readonly items: {
|
|
659
|
+
readonly type: "array";
|
|
660
|
+
readonly maxItems: 100;
|
|
661
|
+
readonly items: {
|
|
662
|
+
readonly $ref: "#/$defs/UsageRow";
|
|
663
|
+
};
|
|
664
|
+
};
|
|
665
|
+
readonly nextCursor: {
|
|
666
|
+
readonly type: "string";
|
|
667
|
+
readonly minLength: 1;
|
|
668
|
+
readonly maxLength: 1024;
|
|
669
|
+
readonly description: "Present when more remain; pass it as `cursor`.";
|
|
670
|
+
};
|
|
671
|
+
readonly ext: {
|
|
672
|
+
readonly $ref: "#/$defs/Ext";
|
|
673
|
+
};
|
|
674
|
+
};
|
|
675
|
+
};
|
|
676
|
+
readonly Ext: {
|
|
677
|
+
readonly title: "Ext";
|
|
678
|
+
readonly description: "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.";
|
|
679
|
+
readonly type: "object";
|
|
680
|
+
readonly minProperties: 1;
|
|
681
|
+
readonly additionalProperties: true;
|
|
682
|
+
readonly propertyNames: {
|
|
683
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
684
|
+
};
|
|
685
|
+
};
|
|
686
|
+
readonly ScopeLimits: {
|
|
687
|
+
readonly title: "ScopeLimits";
|
|
688
|
+
readonly type: "object";
|
|
689
|
+
readonly additionalProperties: false;
|
|
690
|
+
readonly description: "Limits at one scope. Every member is optional: an absent member means the scope sets no limit of that kind, and the next wider scope's limit, or the host's ceiling, governs. All sizes are ciphertext bytes.";
|
|
691
|
+
readonly properties: {
|
|
692
|
+
readonly maxFiles: {
|
|
693
|
+
readonly type: "integer";
|
|
694
|
+
readonly minimum: 0;
|
|
695
|
+
readonly description: "The number of committed blobs the scope may hold. 0 refuses every upload at this scope.";
|
|
696
|
+
};
|
|
697
|
+
readonly maxFileBytes: {
|
|
698
|
+
readonly type: "integer";
|
|
699
|
+
readonly minimum: 0;
|
|
700
|
+
readonly maximum: 1073741824;
|
|
701
|
+
readonly description: "The largest single blob the scope accepts. Never above 1 GiB, the transfer ceiling (BlobManifest).";
|
|
702
|
+
};
|
|
703
|
+
readonly maxBytes: {
|
|
704
|
+
readonly type: "integer";
|
|
705
|
+
readonly minimum: 0;
|
|
706
|
+
readonly description: "The total size of the committed and reserved blobs the scope may hold.";
|
|
707
|
+
};
|
|
708
|
+
};
|
|
709
|
+
};
|
|
710
|
+
readonly StorageConfigId: {
|
|
711
|
+
readonly title: "StorageConfigId";
|
|
712
|
+
readonly type: "string";
|
|
713
|
+
readonly minLength: 1;
|
|
714
|
+
readonly maxLength: 64;
|
|
715
|
+
readonly pattern: "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$";
|
|
716
|
+
readonly description: "A storage config's identifier, chosen by the administrator who creates it and immutable thereafter: lowercase letters, digits and inner hyphens, at most 64 characters (`eu-s3-primary`, `walrus-main`). Unique within the community. Never reused after a config is retired, because blobs name their config by this value.";
|
|
717
|
+
};
|
|
718
|
+
};
|
|
719
|
+
};
|
|
720
|
+
};
|
|
721
|
+
/**
|
|
722
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
723
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
724
|
+
* parties (§7.3 item 5).
|
|
725
|
+
*/
|
|
726
|
+
export declare const RESPONSE_SPEC: {
|
|
727
|
+
readonly typeUri: "https://trusttasks.org/spec/vtc/rooms/usage/0.1#response";
|
|
728
|
+
readonly isBearer: false;
|
|
729
|
+
readonly isProofRequired: false;
|
|
730
|
+
readonly isRecipientRequired: true;
|
|
731
|
+
readonly isIssuedAtRequired: false;
|
|
732
|
+
readonly payloadSchema: {
|
|
733
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
734
|
+
readonly $ref: "#/$defs/Response";
|
|
735
|
+
readonly $defs: {
|
|
736
|
+
readonly UsageRow: {
|
|
737
|
+
readonly type: "object";
|
|
738
|
+
readonly additionalProperties: false;
|
|
739
|
+
readonly description: "One group's figures. Holdings as of the read (or the end of the day, on a `day` row); activity over the range (or the day).";
|
|
740
|
+
readonly required: readonly ["files", "bytes", "reservedBytes", "uploads", "downloads", "egressBytes"];
|
|
741
|
+
readonly properties: {
|
|
742
|
+
readonly roomId: {
|
|
743
|
+
readonly type: "string";
|
|
744
|
+
readonly minLength: 1;
|
|
745
|
+
readonly maxLength: 512;
|
|
746
|
+
readonly description: "Present on a `room` row.";
|
|
747
|
+
};
|
|
748
|
+
readonly member: {
|
|
749
|
+
readonly type: "string";
|
|
750
|
+
readonly pattern: "^did:";
|
|
751
|
+
readonly maxLength: 2048;
|
|
752
|
+
readonly description: "Present on a `member` row.";
|
|
753
|
+
};
|
|
754
|
+
readonly storageConfig: {
|
|
755
|
+
readonly $ref: "#/$defs/StorageConfigId";
|
|
756
|
+
readonly description: "Present on a `storageConfig` row, and on a `room` row as the room's assigned config.";
|
|
757
|
+
};
|
|
758
|
+
readonly date: {
|
|
759
|
+
readonly type: "string";
|
|
760
|
+
readonly format: "date";
|
|
761
|
+
readonly description: "Present on a `day` row.";
|
|
762
|
+
};
|
|
763
|
+
readonly files: {
|
|
764
|
+
readonly type: "integer";
|
|
765
|
+
readonly minimum: 0;
|
|
766
|
+
};
|
|
767
|
+
readonly bytes: {
|
|
768
|
+
readonly type: "integer";
|
|
769
|
+
readonly minimum: 0;
|
|
770
|
+
};
|
|
771
|
+
readonly reservedBytes: {
|
|
772
|
+
readonly type: "integer";
|
|
773
|
+
readonly minimum: 0;
|
|
774
|
+
};
|
|
775
|
+
readonly uploads: {
|
|
776
|
+
readonly type: "integer";
|
|
777
|
+
readonly minimum: 0;
|
|
778
|
+
};
|
|
779
|
+
readonly downloads: {
|
|
780
|
+
readonly type: "integer";
|
|
781
|
+
readonly minimum: 0;
|
|
782
|
+
};
|
|
783
|
+
readonly egressBytes: {
|
|
784
|
+
readonly type: "integer";
|
|
785
|
+
readonly minimum: 0;
|
|
786
|
+
};
|
|
787
|
+
readonly limits: {
|
|
788
|
+
readonly $ref: "#/$defs/ScopeLimits";
|
|
789
|
+
readonly description: "On a `room` row the room's limits, on a `member` row (one room selected) that member's.";
|
|
790
|
+
};
|
|
791
|
+
readonly capacityBytes: {
|
|
792
|
+
readonly type: "integer";
|
|
793
|
+
readonly minimum: 0;
|
|
794
|
+
readonly description: "On a `storageConfig` row, the config's capacity when it has one.";
|
|
795
|
+
};
|
|
796
|
+
};
|
|
797
|
+
};
|
|
798
|
+
readonly Response: {
|
|
799
|
+
readonly $anchor: "response";
|
|
800
|
+
readonly title: "VTC Rooms — Usage — response payload";
|
|
801
|
+
readonly type: "object";
|
|
802
|
+
readonly additionalProperties: false;
|
|
803
|
+
readonly required: readonly ["asOf", "from", "to", "items"];
|
|
804
|
+
readonly properties: {
|
|
805
|
+
readonly asOf: {
|
|
806
|
+
readonly type: "string";
|
|
807
|
+
readonly format: "date-time";
|
|
808
|
+
};
|
|
809
|
+
readonly from: {
|
|
810
|
+
readonly type: "string";
|
|
811
|
+
readonly format: "date";
|
|
812
|
+
};
|
|
813
|
+
readonly to: {
|
|
814
|
+
readonly type: "string";
|
|
815
|
+
readonly format: "date";
|
|
816
|
+
};
|
|
817
|
+
readonly items: {
|
|
818
|
+
readonly type: "array";
|
|
819
|
+
readonly maxItems: 100;
|
|
820
|
+
readonly items: {
|
|
821
|
+
readonly $ref: "#/$defs/UsageRow";
|
|
822
|
+
};
|
|
823
|
+
};
|
|
824
|
+
readonly nextCursor: {
|
|
825
|
+
readonly type: "string";
|
|
826
|
+
readonly minLength: 1;
|
|
827
|
+
readonly maxLength: 1024;
|
|
828
|
+
readonly description: "Present when more remain; pass it as `cursor`.";
|
|
829
|
+
};
|
|
830
|
+
readonly ext: {
|
|
831
|
+
readonly $ref: "#/$defs/Ext";
|
|
832
|
+
};
|
|
833
|
+
};
|
|
834
|
+
};
|
|
835
|
+
readonly Ext: {
|
|
836
|
+
readonly title: "Ext";
|
|
837
|
+
readonly description: "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.";
|
|
838
|
+
readonly type: "object";
|
|
839
|
+
readonly minProperties: 1;
|
|
840
|
+
readonly additionalProperties: true;
|
|
841
|
+
readonly propertyNames: {
|
|
842
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
843
|
+
};
|
|
844
|
+
};
|
|
845
|
+
readonly ScopeLimits: {
|
|
846
|
+
readonly title: "ScopeLimits";
|
|
847
|
+
readonly type: "object";
|
|
848
|
+
readonly additionalProperties: false;
|
|
849
|
+
readonly description: "Limits at one scope. Every member is optional: an absent member means the scope sets no limit of that kind, and the next wider scope's limit, or the host's ceiling, governs. All sizes are ciphertext bytes.";
|
|
850
|
+
readonly properties: {
|
|
851
|
+
readonly maxFiles: {
|
|
852
|
+
readonly type: "integer";
|
|
853
|
+
readonly minimum: 0;
|
|
854
|
+
readonly description: "The number of committed blobs the scope may hold. 0 refuses every upload at this scope.";
|
|
855
|
+
};
|
|
856
|
+
readonly maxFileBytes: {
|
|
857
|
+
readonly type: "integer";
|
|
858
|
+
readonly minimum: 0;
|
|
859
|
+
readonly maximum: 1073741824;
|
|
860
|
+
readonly description: "The largest single blob the scope accepts. Never above 1 GiB, the transfer ceiling (BlobManifest).";
|
|
861
|
+
};
|
|
862
|
+
readonly maxBytes: {
|
|
863
|
+
readonly type: "integer";
|
|
864
|
+
readonly minimum: 0;
|
|
865
|
+
readonly description: "The total size of the committed and reserved blobs the scope may hold.";
|
|
866
|
+
};
|
|
867
|
+
};
|
|
868
|
+
};
|
|
869
|
+
readonly StorageConfigId: {
|
|
870
|
+
readonly title: "StorageConfigId";
|
|
871
|
+
readonly type: "string";
|
|
872
|
+
readonly minLength: 1;
|
|
873
|
+
readonly maxLength: 64;
|
|
874
|
+
readonly pattern: "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$";
|
|
875
|
+
readonly description: "A storage config's identifier, chosen by the administrator who creates it and immutable thereafter: lowercase letters, digits and inner hyphens, at most 64 characters (`eu-s3-primary`, `walrus-main`). Unique within the community. Never reused after a config is retired, because blobs name their config by this value.";
|
|
876
|
+
};
|
|
877
|
+
};
|
|
878
|
+
};
|
|
879
|
+
};
|
|
880
|
+
//# sourceMappingURL=payload.d.ts.map
|