@openvtc/trust-tasks 0.26.13 → 0.26.15
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 +131 -0
- package/dist/_shared/components.d.ts +392 -1
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/dist/rooms/_shared/0.1/personal-label.d.ts +16 -0
- package/dist/rooms/_shared/0.1/personal-label.d.ts.map +1 -0
- package/dist/rooms/_shared/0.1/personal-label.js +6 -0
- package/dist/rooms/_shared/0.1/personal-label.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/get/0.1/payload.d.ts +4 -4
- package/dist/rooms/blobs/get/0.1/payload.js +2 -2
- package/dist/rooms/blobs/get/0.1/payload.js.map +1 -1
- package/dist/rooms/blobs/get/0.2/payload.d.ts +4 -4
- package/dist/rooms/blobs/get/0.2/payload.js +2 -2
- package/dist/rooms/blobs/get/0.2/payload.js.map +1 -1
- package/dist/rooms/blobs/upload/begin/0.1/payload.d.ts +4 -4
- package/dist/rooms/blobs/upload/begin/0.1/payload.js +2 -2
- package/dist/rooms/blobs/upload/begin/0.1/payload.js.map +1 -1
- package/dist/rooms/blobs/upload/begin/0.2/payload.d.ts +4 -4
- package/dist/rooms/blobs/upload/begin/0.2/payload.js +2 -2
- package/dist/rooms/blobs/upload/begin/0.2/payload.js.map +1 -1
- package/dist/rooms/epoch/chain/0.1/payload.d.ts +4 -4
- package/dist/rooms/epoch/chain/0.1/payload.js +2 -2
- package/dist/rooms/epoch/chain/0.1/payload.js.map +1 -1
- package/dist/rooms/epoch/commits/0.1/payload.d.ts +4 -4
- package/dist/rooms/epoch/commits/0.1/payload.js +2 -2
- package/dist/rooms/epoch/commits/0.1/payload.js.map +1 -1
- package/dist/rooms/epoch/mint/0.1/payload.d.ts +4 -4
- package/dist/rooms/epoch/mint/0.1/payload.js +2 -2
- package/dist/rooms/epoch/mint/0.1/payload.js.map +1 -1
- package/dist/rooms/epoch/prune/0.1/payload.d.ts +4 -4
- package/dist/rooms/epoch/prune/0.1/payload.js +2 -2
- package/dist/rooms/epoch/prune/0.1/payload.js.map +1 -1
- package/dist/rooms/info/0.1/payload.d.ts +4 -4
- package/dist/rooms/info/0.1/payload.js +2 -2
- package/dist/rooms/info/0.1/payload.js.map +1 -1
- package/dist/rooms/keys/label/0.1/payload.d.ts +757 -0
- package/dist/rooms/keys/label/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/keys/label/0.1/payload.js +388 -0
- package/dist/rooms/keys/label/0.1/payload.js.map +1 -0
- package/dist/rooms/keys/list/0.2/payload.d.ts +667 -0
- package/dist/rooms/keys/list/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/keys/list/0.2/payload.js +350 -0
- package/dist/rooms/keys/list/0.2/payload.js.map +1 -0
- package/dist/rooms/keys/present/0.2/payload.d.ts +4 -4
- package/dist/rooms/keys/present/0.2/payload.js +2 -2
- package/dist/rooms/keys/present/0.2/payload.js.map +1 -1
- package/dist/rooms/keys/profile/read/0.1/payload.d.ts +1652 -0
- package/dist/rooms/keys/profile/read/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/keys/profile/read/0.1/payload.js +649 -0
- package/dist/rooms/keys/profile/read/0.1/payload.js.map +1 -0
- package/dist/rooms/keys/profile/write/0.1/payload.d.ts +583 -0
- package/dist/rooms/keys/profile/write/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/keys/profile/write/0.1/payload.js +319 -0
- package/dist/rooms/keys/profile/write/0.1/payload.js.map +1 -0
- package/dist/rooms/owner/claim/0.1/payload.d.ts +4 -4
- package/dist/rooms/owner/claim/0.1/payload.js +2 -2
- package/dist/rooms/owner/claim/0.1/payload.js.map +1 -1
- package/dist/rooms/owner/group/remove/0.2/payload.d.ts +600 -0
- package/dist/rooms/owner/group/remove/0.2/payload.d.ts.map +1 -0
- package/dist/rooms/owner/group/remove/0.2/payload.js +310 -0
- package/dist/rooms/owner/group/remove/0.2/payload.js.map +1 -0
- package/dist/rooms/owner/revoke/0.1/payload.d.ts +1481 -0
- package/dist/rooms/owner/revoke/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/owner/revoke/0.1/payload.js +811 -0
- package/dist/rooms/owner/revoke/0.1/payload.js.map +1 -0
- package/dist/rooms/owner/transfer/0.1/payload.d.ts +4 -4
- package/dist/rooms/owner/transfer/0.1/payload.js +2 -2
- package/dist/rooms/owner/transfer/0.1/payload.js.map +1 -1
- package/dist/rooms/records/curate/0.1/payload.d.ts +4 -4
- package/dist/rooms/records/curate/0.1/payload.js +2 -2
- package/dist/rooms/records/curate/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/put/0.1/payload.d.ts +4 -4
- package/dist/rooms/records/put/0.1/payload.js +2 -2
- package/dist/rooms/records/put/0.1/payload.js.map +1 -1
- package/dist/rooms/records/put/0.2/payload.d.ts +4 -4
- package/dist/rooms/records/put/0.2/payload.js +2 -2
- package/dist/rooms/records/put/0.2/payload.js.map +1 -1
- package/dist/rooms/revocations/get/0.1/payload.d.ts +905 -0
- package/dist/rooms/revocations/get/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/revocations/get/0.1/payload.js +512 -0
- package/dist/rooms/revocations/get/0.1/payload.js.map +1 -0
- package/dist/rooms/revocations/put/0.1/payload.d.ts +1021 -0
- package/dist/rooms/revocations/put/0.1/payload.d.ts.map +1 -0
- package/dist/rooms/revocations/put/0.1/payload.js +583 -0
- package/dist/rooms/revocations/put/0.1/payload.js.map +1 -0
- package/dist/rooms/usage/0.1/payload.d.ts +4 -4
- package/dist/rooms/usage/0.1/payload.js +2 -2
- package/dist/rooms/usage/0.1/payload.js.map +1 -1
- package/dist/vtc/_shared/0.1/community-room.d.ts +1 -1
- package/dist/vtc/_shared/0.1/community-room.d.ts.map +1 -1
- package/dist/vtc/registry/sync-jobs/retry/0.2/payload.d.ts +546 -0
- package/dist/vtc/registry/sync-jobs/retry/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/registry/sync-jobs/retry/0.2/payload.js +331 -0
- package/dist/vtc/registry/sync-jobs/retry/0.2/payload.js.map +1 -0
- package/dist/vtc/rooms/community/create/0.1/payload.d.ts +4 -4
- package/dist/vtc/rooms/community/create/0.1/payload.js +2 -2
- package/dist/vtc/rooms/community/create/0.1/payload.js.map +1 -1
- package/dist/vtc/rooms/community/create/0.2/payload.d.ts +989 -0
- package/dist/vtc/rooms/community/create/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/create/0.2/payload.js +559 -0
- package/dist/vtc/rooms/community/create/0.2/payload.js.map +1 -0
- package/dist/vtc/rooms/community/create/0.3/payload.d.ts +1013 -0
- package/dist/vtc/rooms/community/create/0.3/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/create/0.3/payload.js +577 -0
- package/dist/vtc/rooms/community/create/0.3/payload.js.map +1 -0
- package/dist/vtc/rooms/community/get/0.1/payload.d.ts +4 -4
- package/dist/vtc/rooms/community/get/0.1/payload.js +2 -2
- package/dist/vtc/rooms/community/get/0.1/payload.js.map +1 -1
- package/dist/vtc/rooms/community/get/0.2/payload.d.ts +887 -0
- package/dist/vtc/rooms/community/get/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/get/0.2/payload.js +517 -0
- package/dist/vtc/rooms/community/get/0.2/payload.js.map +1 -0
- package/dist/vtc/rooms/community/list/0.1/payload.d.ts +4 -4
- package/dist/vtc/rooms/community/list/0.1/payload.js +2 -2
- package/dist/vtc/rooms/community/list/0.1/payload.js.map +1 -1
- package/dist/vtc/rooms/community/list/0.2/payload.d.ts +960 -0
- package/dist/vtc/rooms/community/list/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/list/0.2/payload.js +544 -0
- package/dist/vtc/rooms/community/list/0.2/payload.js.map +1 -0
- package/dist/vtc/rooms/community/members/remove/0.2/payload.d.ts +681 -0
- package/dist/vtc/rooms/community/members/remove/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/members/remove/0.2/payload.js +393 -0
- package/dist/vtc/rooms/community/members/remove/0.2/payload.js.map +1 -0
- package/dist/vtc/rooms/community/update/0.1/payload.d.ts +1013 -0
- package/dist/vtc/rooms/community/update/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/update/0.1/payload.js +573 -0
- package/dist/vtc/rooms/community/update/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/community/update/0.2/payload.d.ts +1037 -0
- package/dist/vtc/rooms/community/update/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/update/0.2/payload.js +593 -0
- package/dist/vtc/rooms/community/update/0.2/payload.js.map +1 -0
- package/dist/vtc/rooms/offers/list/0.1/payload.d.ts +4 -4
- package/dist/vtc/rooms/offers/list/0.1/payload.js +2 -2
- package/dist/vtc/rooms/offers/list/0.1/payload.js.map +1 -1
- package/dist/vtc/rooms/offers/list/0.2/payload.d.ts +736 -0
- package/dist/vtc/rooms/offers/list/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/offers/list/0.2/payload.js +430 -0
- package/dist/vtc/rooms/offers/list/0.2/payload.js.map +1 -0
- package/package.json +1 -1
- package/src/_shared/components.ts +426 -1
- package/src/index.ts +18 -0
- package/src/rooms/_shared/0.1/personal-label.ts +17 -0
- package/src/rooms/_shared/0.1/room.ts +1 -1
- package/src/rooms/blobs/get/0.1/payload.ts +2 -2
- package/src/rooms/blobs/get/0.2/payload.ts +2 -2
- package/src/rooms/blobs/upload/begin/0.1/payload.ts +2 -2
- package/src/rooms/blobs/upload/begin/0.2/payload.ts +2 -2
- package/src/rooms/epoch/chain/0.1/payload.ts +2 -2
- package/src/rooms/epoch/commits/0.1/payload.ts +2 -2
- package/src/rooms/epoch/mint/0.1/payload.ts +2 -2
- package/src/rooms/epoch/prune/0.1/payload.ts +2 -2
- package/src/rooms/info/0.1/payload.ts +2 -2
- package/src/rooms/keys/label/0.1/payload.ts +474 -0
- package/src/rooms/keys/list/0.2/payload.ts +412 -0
- package/src/rooms/keys/present/0.2/payload.ts +2 -2
- package/src/rooms/keys/profile/read/0.1/payload.ts +1617 -0
- package/src/rooms/keys/profile/write/0.1/payload.ts +388 -0
- package/src/rooms/owner/claim/0.1/payload.ts +2 -2
- package/src/rooms/owner/group/remove/0.2/payload.ts +415 -0
- package/src/rooms/owner/revoke/0.1/payload.ts +954 -0
- package/src/rooms/owner/transfer/0.1/payload.ts +2 -2
- package/src/rooms/records/curate/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/put/0.1/payload.ts +2 -2
- package/src/rooms/records/put/0.2/payload.ts +2 -2
- package/src/rooms/revocations/get/0.1/payload.ts +562 -0
- package/src/rooms/revocations/put/0.1/payload.ts +637 -0
- package/src/rooms/usage/0.1/payload.ts +2 -2
- package/src/vtc/_shared/0.1/community-room.ts +1 -1
- package/src/vtc/registry/sync-jobs/retry/0.2/payload.ts +401 -0
- package/src/vtc/rooms/community/create/0.1/payload.ts +2 -2
- package/src/vtc/rooms/community/create/0.2/payload.ts +613 -0
- package/src/vtc/rooms/community/create/0.3/payload.ts +635 -0
- package/src/vtc/rooms/community/get/0.1/payload.ts +2 -2
- package/src/vtc/rooms/community/get/0.2/payload.ts +549 -0
- package/src/vtc/rooms/community/list/0.1/payload.ts +2 -2
- package/src/vtc/rooms/community/list/0.2/payload.ts +591 -0
- package/src/vtc/rooms/community/members/remove/0.2/payload.ts +439 -0
- package/src/vtc/rooms/community/update/0.1/payload.ts +629 -0
- package/src/vtc/rooms/community/update/0.2/payload.ts +653 -0
- package/src/vtc/rooms/offers/list/0.1/payload.ts +2 -2
- package/src/vtc/rooms/offers/list/0.2/payload.ts +473 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../../../../src/rooms/keys/profile/read/0.1/payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,583 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
|
|
3
|
+
* Source: specs/rooms/keys/profile/write/0.1/payload.schema.json
|
|
4
|
+
*/
|
|
5
|
+
import type { Ext, RoomProfile } from "../../../../../_shared/components.js";
|
|
6
|
+
/**
|
|
7
|
+
* A member holding `curate` or `admin` in a room asks their own key holder to set what the room is called and what it is for — or to clear it. The key holder signs the profile as the member, with the member's authority chain inside it, seals it under the room's current epoch, and stores it at the host at the location only members can compute. Exactly one of `profile` and `clear`. The outer document members are owned by the framework — SPEC §6.3.
|
|
8
|
+
*/
|
|
9
|
+
export type RoomsKeysProfileWritePayload = {
|
|
10
|
+
[k: string]: unknown | undefined;
|
|
11
|
+
} & {
|
|
12
|
+
/**
|
|
13
|
+
* The room whose profile to set. The recipient MUST hold its principal's membership of it.
|
|
14
|
+
*/
|
|
15
|
+
roomId: string;
|
|
16
|
+
/**
|
|
17
|
+
* The host to write to, as a DID. Named by the caller for the reason `rooms/keys/read` gives. A room registered with more than one host is written at the one that takes its writes.
|
|
18
|
+
*/
|
|
19
|
+
host: string;
|
|
20
|
+
/**
|
|
21
|
+
* The room's new profile, replacing the whole of the current one: a member absent here is absent from the room's profile afterwards. Mutually exclusive with `clear`.
|
|
22
|
+
*/
|
|
23
|
+
profile?: RoomProfile;
|
|
24
|
+
/**
|
|
25
|
+
* Remove the room's profile: retract the record at the current epoch's profile location, so that readers find `cleared` there and stop. Only `true` is meaningful, so only `true` is accepted. Takes `curate`, which the host enforces on a retraction. Mutually exclusive with `profile`.
|
|
26
|
+
*/
|
|
27
|
+
clear?: true;
|
|
28
|
+
/**
|
|
29
|
+
* Ecosystem-defined extension members per SPEC.md §4.5.1.
|
|
30
|
+
*/
|
|
31
|
+
ext?: Ext;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Success response to rooms/keys/profile/write. Type https://trusttasks.org/spec/rooms/keys/profile/write/0.1#response. Where the profile now is at the host, and under which epoch.
|
|
35
|
+
*/
|
|
36
|
+
export interface RoomsKeysProfileWriteResponsePayload {
|
|
37
|
+
roomId: string;
|
|
38
|
+
/**
|
|
39
|
+
* `written`: the profile given is the room's profile, stored and checked to open. `cleared`: the record at the current epoch's profile location is retracted.
|
|
40
|
+
*/
|
|
41
|
+
outcome: "written" | "cleared";
|
|
42
|
+
/**
|
|
43
|
+
* The record key the profile is stored at: `profile_key(epoch)` on a sealed tier, `room-profile` on an `open` room. Returned because it is already the host's to see; the caller needs it for nothing but diagnosis.
|
|
44
|
+
*/
|
|
45
|
+
key: string;
|
|
46
|
+
/**
|
|
47
|
+
* The version the host assigned to the write or the retraction.
|
|
48
|
+
*/
|
|
49
|
+
version: number;
|
|
50
|
+
/**
|
|
51
|
+
* The epoch the profile was sealed under. Absent on an `open` room.
|
|
52
|
+
*/
|
|
53
|
+
epoch?: number;
|
|
54
|
+
ext?: Ext;
|
|
55
|
+
}
|
|
56
|
+
/** Shared definitions this specification references, re-exported under the names it used to declare them with. */
|
|
57
|
+
export type { Ext, RoomProfile };
|
|
58
|
+
/** Trust Task type URI. */
|
|
59
|
+
export declare const TYPE_URI: "https://trusttasks.org/spec/rooms/keys/profile/write/0.1";
|
|
60
|
+
/** Stable alias for this specification's request payload shape. */
|
|
61
|
+
export type Payload = RoomsKeysProfileWritePayload;
|
|
62
|
+
/** Trust Task response type URI (request type URI + "#response"). */
|
|
63
|
+
export declare const RESPONSE_TYPE_URI: "https://trusttasks.org/spec/rooms/keys/profile/write/0.1#response";
|
|
64
|
+
/** Stable alias for this specification's success-response payload shape. */
|
|
65
|
+
export type Response = RoomsKeysProfileWriteResponsePayload;
|
|
66
|
+
/**
|
|
67
|
+
* This specification's payload schema, as a value.
|
|
68
|
+
*
|
|
69
|
+
* SPEC.md §7.2 item 2 is performed against this. It is shipped as data
|
|
70
|
+
* rather than only as a `.json` file because TypeScript types are erased
|
|
71
|
+
* at runtime: without a schema a consumer has nothing to validate, and
|
|
72
|
+
* every REQUIRED payload member is optional in practice. Cross-file
|
|
73
|
+
* `$ref`s are already inlined, so it needs no resolver.
|
|
74
|
+
*/
|
|
75
|
+
export declare const PAYLOAD_SCHEMA: {
|
|
76
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
77
|
+
readonly $id: "https://trusttasks.org/spec/rooms/keys/profile/write/0.1";
|
|
78
|
+
readonly title: "Rooms Keys Profile Write — payload";
|
|
79
|
+
readonly description: "A member holding `curate` or `admin` in a room asks their own key holder to set what the room is called and what it is for — or to clear it. The key holder signs the profile as the member, with the member's authority chain inside it, seals it under the room's current epoch, and stores it at the host at the location only members can compute. Exactly one of `profile` and `clear`. The outer document members are owned by the framework — SPEC §6.3.";
|
|
80
|
+
readonly type: "object";
|
|
81
|
+
readonly additionalProperties: false;
|
|
82
|
+
readonly required: readonly ["roomId", "host"];
|
|
83
|
+
readonly anyOf: readonly [{
|
|
84
|
+
readonly required: readonly ["profile"];
|
|
85
|
+
}, {
|
|
86
|
+
readonly required: readonly ["clear"];
|
|
87
|
+
}];
|
|
88
|
+
readonly dependentSchemas: {
|
|
89
|
+
readonly clear: {
|
|
90
|
+
readonly not: {
|
|
91
|
+
readonly required: readonly ["profile"];
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
readonly properties: {
|
|
96
|
+
readonly roomId: {
|
|
97
|
+
readonly type: "string";
|
|
98
|
+
readonly minLength: 1;
|
|
99
|
+
readonly maxLength: 512;
|
|
100
|
+
readonly description: "The room whose profile to set. The recipient MUST hold its principal's membership of it.";
|
|
101
|
+
};
|
|
102
|
+
readonly host: {
|
|
103
|
+
readonly type: "string";
|
|
104
|
+
readonly minLength: 1;
|
|
105
|
+
readonly maxLength: 2048;
|
|
106
|
+
readonly pattern: "^did:";
|
|
107
|
+
readonly description: "The host to write to, as a DID. Named by the caller for the reason `rooms/keys/read` gives. A room registered with more than one host is written at the one that takes its writes.";
|
|
108
|
+
};
|
|
109
|
+
readonly profile: {
|
|
110
|
+
readonly $ref: "#/$defs/RoomProfile";
|
|
111
|
+
readonly description: "The room's new profile, replacing the whole of the current one: a member absent here is absent from the room's profile afterwards. Mutually exclusive with `clear`.";
|
|
112
|
+
};
|
|
113
|
+
readonly clear: {
|
|
114
|
+
readonly type: "boolean";
|
|
115
|
+
readonly const: true;
|
|
116
|
+
readonly description: "Remove the room's profile: retract the record at the current epoch's profile location, so that readers find `cleared` there and stop. Only `true` is meaningful, so only `true` is accepted. Takes `curate`, which the host enforces on a retraction. Mutually exclusive with `profile`.";
|
|
117
|
+
};
|
|
118
|
+
readonly ext: {
|
|
119
|
+
readonly $ref: "#/$defs/Ext";
|
|
120
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1.";
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
readonly $defs: {
|
|
124
|
+
readonly Response: {
|
|
125
|
+
readonly $anchor: "response";
|
|
126
|
+
readonly title: "Rooms Keys Profile Write — response payload";
|
|
127
|
+
readonly description: "Success response to rooms/keys/profile/write. Type https://trusttasks.org/spec/rooms/keys/profile/write/0.1#response. Where the profile now is at the host, and under which epoch.";
|
|
128
|
+
readonly type: "object";
|
|
129
|
+
readonly additionalProperties: false;
|
|
130
|
+
readonly required: readonly ["roomId", "outcome", "key", "version"];
|
|
131
|
+
readonly properties: {
|
|
132
|
+
readonly roomId: {
|
|
133
|
+
readonly type: "string";
|
|
134
|
+
readonly minLength: 1;
|
|
135
|
+
readonly maxLength: 512;
|
|
136
|
+
};
|
|
137
|
+
readonly outcome: {
|
|
138
|
+
readonly type: "string";
|
|
139
|
+
readonly enum: readonly ["written", "cleared"];
|
|
140
|
+
readonly description: "`written`: the profile given is the room's profile, stored and checked to open. `cleared`: the record at the current epoch's profile location is retracted.";
|
|
141
|
+
};
|
|
142
|
+
readonly key: {
|
|
143
|
+
readonly type: "string";
|
|
144
|
+
readonly minLength: 1;
|
|
145
|
+
readonly maxLength: 512;
|
|
146
|
+
readonly description: "The record key the profile is stored at: `profile_key(epoch)` on a sealed tier, `room-profile` on an `open` room. Returned because it is already the host's to see; the caller needs it for nothing but diagnosis.";
|
|
147
|
+
};
|
|
148
|
+
readonly version: {
|
|
149
|
+
readonly type: "integer";
|
|
150
|
+
readonly minimum: 1;
|
|
151
|
+
readonly description: "The version the host assigned to the write or the retraction.";
|
|
152
|
+
};
|
|
153
|
+
readonly epoch: {
|
|
154
|
+
readonly type: "integer";
|
|
155
|
+
readonly minimum: 1;
|
|
156
|
+
readonly description: "The epoch the profile was sealed under. Absent on an `open` room.";
|
|
157
|
+
};
|
|
158
|
+
readonly ext: {
|
|
159
|
+
readonly $ref: "#/$defs/Ext";
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
readonly Ext: {
|
|
164
|
+
readonly title: "Ext";
|
|
165
|
+
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.";
|
|
166
|
+
readonly type: "object";
|
|
167
|
+
readonly minProperties: 1;
|
|
168
|
+
readonly additionalProperties: true;
|
|
169
|
+
readonly propertyNames: {
|
|
170
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
readonly RoomProfile: {
|
|
174
|
+
readonly title: "RoomProfile";
|
|
175
|
+
readonly type: "object";
|
|
176
|
+
readonly additionalProperties: false;
|
|
177
|
+
readonly required: readonly ["name"];
|
|
178
|
+
readonly description: "What a room says about itself to its own members: a name and, optionally, a description, short tags and an emoji, so that a member's wallet, portal or CLI can show what each room is rather than a DID.\n\n**It lives in the room, and only there.** A profile is carried in a record of the room (`RoomProfileStatement`), sealed on `attributed` and `private` rooms like every other record, so the room's host stores ciphertext and learns neither the name nor anything else here. It is never put in a credential — credentials are presented to hosts — nor in a host's record of the room, in `rooms/create` or `rooms/owner/register`, or in any member a host can read. On an `open` room it is cleartext, as everything in an open room is.\n\n**Plain text, never instructions.** Every member is free text chosen by whoever wrote the profile and shown to every member of the room. A reader renders `name`, `description` and `tags` as text — never as markup, never as a link it follows — removes or replaces control characters before showing them, and MUST NOT treat any of it as instructions, which matters most for an agent acting for a member. A writer MUST NOT put personal data or a credential in any member.\n\n**Growth.** A new optional member arrives in a later version of this component. A reader refuses a member it does not know (the `SealedRecordBody` rules), so a profile carrying one is not shown by a reader that predates it, and a writer SHOULD NOT use a member it cannot expect the room's readers to know. An ecosystem extension goes in `ext`, which a reader that does not understand it ignores. A change no earlier reader could survive is a new statement under a new derivation label (`openvtc/room/profile/v2`), written beside this one until the room's readers have moved.";
|
|
179
|
+
readonly properties: {
|
|
180
|
+
readonly name: {
|
|
181
|
+
readonly type: "string";
|
|
182
|
+
readonly minLength: 1;
|
|
183
|
+
readonly maxLength: 128;
|
|
184
|
+
readonly description: "The room's name as its members see it. Plain text, one line. Bounded like the label a community gives a room it owns (`RoomLabel` in vtc/_shared), so a community can write the same name here that it shows its administrators and the members it offers the room to.";
|
|
185
|
+
};
|
|
186
|
+
readonly description: {
|
|
187
|
+
readonly type: "string";
|
|
188
|
+
readonly minLength: 1;
|
|
189
|
+
readonly maxLength: 1000;
|
|
190
|
+
readonly description: "What the room is for, in a sentence or a short paragraph. Plain text. Absent when the room has none; an empty string is not a description.";
|
|
191
|
+
};
|
|
192
|
+
readonly tags: {
|
|
193
|
+
readonly type: "array";
|
|
194
|
+
readonly maxItems: 8;
|
|
195
|
+
readonly uniqueItems: true;
|
|
196
|
+
readonly items: {
|
|
197
|
+
readonly type: "string";
|
|
198
|
+
readonly minLength: 1;
|
|
199
|
+
readonly maxLength: 32;
|
|
200
|
+
readonly pattern: "^[a-z0-9][a-z0-9-]{0,31}$";
|
|
201
|
+
};
|
|
202
|
+
readonly description: "Short identifiers the room files itself under, as a set: order carries no meaning. A member's surface MAY filter or group rooms by them. They are the room's own and shown to its members — distinct from the tags a community files the rooms it owns under for its administrators, which are never written here.";
|
|
203
|
+
};
|
|
204
|
+
readonly emoji: {
|
|
205
|
+
readonly type: "string";
|
|
206
|
+
readonly minLength: 1;
|
|
207
|
+
readonly maxLength: 16;
|
|
208
|
+
readonly description: "One emoji — a single extended grapheme cluster, such as `📋` — that a surface MAY show beside the name. Text, rendered as text: never an image, never a URL, never anything a reader fetches, since a fetched icon would tell whoever serves it which member opened which room, and when. A reader that cannot render it shows nothing in its place.";
|
|
209
|
+
};
|
|
210
|
+
readonly ext: {
|
|
211
|
+
readonly $ref: "#/$defs/Ext";
|
|
212
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1. A reader ignores what it does not understand.";
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
/** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
|
|
219
|
+
export declare const RESPONSE_PAYLOAD_SCHEMA: {
|
|
220
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
221
|
+
readonly $ref: "#/$defs/Response";
|
|
222
|
+
readonly $defs: {
|
|
223
|
+
readonly Response: {
|
|
224
|
+
readonly $anchor: "response";
|
|
225
|
+
readonly title: "Rooms Keys Profile Write — response payload";
|
|
226
|
+
readonly description: "Success response to rooms/keys/profile/write. Type https://trusttasks.org/spec/rooms/keys/profile/write/0.1#response. Where the profile now is at the host, and under which epoch.";
|
|
227
|
+
readonly type: "object";
|
|
228
|
+
readonly additionalProperties: false;
|
|
229
|
+
readonly required: readonly ["roomId", "outcome", "key", "version"];
|
|
230
|
+
readonly properties: {
|
|
231
|
+
readonly roomId: {
|
|
232
|
+
readonly type: "string";
|
|
233
|
+
readonly minLength: 1;
|
|
234
|
+
readonly maxLength: 512;
|
|
235
|
+
};
|
|
236
|
+
readonly outcome: {
|
|
237
|
+
readonly type: "string";
|
|
238
|
+
readonly enum: readonly ["written", "cleared"];
|
|
239
|
+
readonly description: "`written`: the profile given is the room's profile, stored and checked to open. `cleared`: the record at the current epoch's profile location is retracted.";
|
|
240
|
+
};
|
|
241
|
+
readonly key: {
|
|
242
|
+
readonly type: "string";
|
|
243
|
+
readonly minLength: 1;
|
|
244
|
+
readonly maxLength: 512;
|
|
245
|
+
readonly description: "The record key the profile is stored at: `profile_key(epoch)` on a sealed tier, `room-profile` on an `open` room. Returned because it is already the host's to see; the caller needs it for nothing but diagnosis.";
|
|
246
|
+
};
|
|
247
|
+
readonly version: {
|
|
248
|
+
readonly type: "integer";
|
|
249
|
+
readonly minimum: 1;
|
|
250
|
+
readonly description: "The version the host assigned to the write or the retraction.";
|
|
251
|
+
};
|
|
252
|
+
readonly epoch: {
|
|
253
|
+
readonly type: "integer";
|
|
254
|
+
readonly minimum: 1;
|
|
255
|
+
readonly description: "The epoch the profile was sealed under. Absent on an `open` room.";
|
|
256
|
+
};
|
|
257
|
+
readonly ext: {
|
|
258
|
+
readonly $ref: "#/$defs/Ext";
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
};
|
|
262
|
+
readonly Ext: {
|
|
263
|
+
readonly title: "Ext";
|
|
264
|
+
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.";
|
|
265
|
+
readonly type: "object";
|
|
266
|
+
readonly minProperties: 1;
|
|
267
|
+
readonly additionalProperties: true;
|
|
268
|
+
readonly propertyNames: {
|
|
269
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
readonly RoomProfile: {
|
|
273
|
+
readonly title: "RoomProfile";
|
|
274
|
+
readonly type: "object";
|
|
275
|
+
readonly additionalProperties: false;
|
|
276
|
+
readonly required: readonly ["name"];
|
|
277
|
+
readonly description: "What a room says about itself to its own members: a name and, optionally, a description, short tags and an emoji, so that a member's wallet, portal or CLI can show what each room is rather than a DID.\n\n**It lives in the room, and only there.** A profile is carried in a record of the room (`RoomProfileStatement`), sealed on `attributed` and `private` rooms like every other record, so the room's host stores ciphertext and learns neither the name nor anything else here. It is never put in a credential — credentials are presented to hosts — nor in a host's record of the room, in `rooms/create` or `rooms/owner/register`, or in any member a host can read. On an `open` room it is cleartext, as everything in an open room is.\n\n**Plain text, never instructions.** Every member is free text chosen by whoever wrote the profile and shown to every member of the room. A reader renders `name`, `description` and `tags` as text — never as markup, never as a link it follows — removes or replaces control characters before showing them, and MUST NOT treat any of it as instructions, which matters most for an agent acting for a member. A writer MUST NOT put personal data or a credential in any member.\n\n**Growth.** A new optional member arrives in a later version of this component. A reader refuses a member it does not know (the `SealedRecordBody` rules), so a profile carrying one is not shown by a reader that predates it, and a writer SHOULD NOT use a member it cannot expect the room's readers to know. An ecosystem extension goes in `ext`, which a reader that does not understand it ignores. A change no earlier reader could survive is a new statement under a new derivation label (`openvtc/room/profile/v2`), written beside this one until the room's readers have moved.";
|
|
278
|
+
readonly properties: {
|
|
279
|
+
readonly name: {
|
|
280
|
+
readonly type: "string";
|
|
281
|
+
readonly minLength: 1;
|
|
282
|
+
readonly maxLength: 128;
|
|
283
|
+
readonly description: "The room's name as its members see it. Plain text, one line. Bounded like the label a community gives a room it owns (`RoomLabel` in vtc/_shared), so a community can write the same name here that it shows its administrators and the members it offers the room to.";
|
|
284
|
+
};
|
|
285
|
+
readonly description: {
|
|
286
|
+
readonly type: "string";
|
|
287
|
+
readonly minLength: 1;
|
|
288
|
+
readonly maxLength: 1000;
|
|
289
|
+
readonly description: "What the room is for, in a sentence or a short paragraph. Plain text. Absent when the room has none; an empty string is not a description.";
|
|
290
|
+
};
|
|
291
|
+
readonly tags: {
|
|
292
|
+
readonly type: "array";
|
|
293
|
+
readonly maxItems: 8;
|
|
294
|
+
readonly uniqueItems: true;
|
|
295
|
+
readonly items: {
|
|
296
|
+
readonly type: "string";
|
|
297
|
+
readonly minLength: 1;
|
|
298
|
+
readonly maxLength: 32;
|
|
299
|
+
readonly pattern: "^[a-z0-9][a-z0-9-]{0,31}$";
|
|
300
|
+
};
|
|
301
|
+
readonly description: "Short identifiers the room files itself under, as a set: order carries no meaning. A member's surface MAY filter or group rooms by them. They are the room's own and shown to its members — distinct from the tags a community files the rooms it owns under for its administrators, which are never written here.";
|
|
302
|
+
};
|
|
303
|
+
readonly emoji: {
|
|
304
|
+
readonly type: "string";
|
|
305
|
+
readonly minLength: 1;
|
|
306
|
+
readonly maxLength: 16;
|
|
307
|
+
readonly description: "One emoji — a single extended grapheme cluster, such as `📋` — that a surface MAY show beside the name. Text, rendered as text: never an image, never a URL, never anything a reader fetches, since a fetched icon would tell whoever serves it which member opened which room, and when. A reader that cannot render it shows nothing in its place.";
|
|
308
|
+
};
|
|
309
|
+
readonly ext: {
|
|
310
|
+
readonly $ref: "#/$defs/Ext";
|
|
311
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1. A reader ignores what it does not understand.";
|
|
312
|
+
};
|
|
313
|
+
};
|
|
314
|
+
};
|
|
315
|
+
};
|
|
316
|
+
};
|
|
317
|
+
/**
|
|
318
|
+
* SPEC.md §7.2 policy for the request variant, from this specification's
|
|
319
|
+
* front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
|
|
320
|
+
* per-specification and cannot be derived from the document alone, and
|
|
321
|
+
* item 2 needs the schema this carries.
|
|
322
|
+
*/
|
|
323
|
+
export declare const SPEC: {
|
|
324
|
+
readonly typeUri: "https://trusttasks.org/spec/rooms/keys/profile/write/0.1";
|
|
325
|
+
readonly isBearer: false;
|
|
326
|
+
readonly isProofRequired: true;
|
|
327
|
+
readonly isRecipientRequired: true;
|
|
328
|
+
readonly isIssuedAtRequired: true;
|
|
329
|
+
readonly payloadSchema: {
|
|
330
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
331
|
+
readonly $id: "https://trusttasks.org/spec/rooms/keys/profile/write/0.1";
|
|
332
|
+
readonly title: "Rooms Keys Profile Write — payload";
|
|
333
|
+
readonly description: "A member holding `curate` or `admin` in a room asks their own key holder to set what the room is called and what it is for — or to clear it. The key holder signs the profile as the member, with the member's authority chain inside it, seals it under the room's current epoch, and stores it at the host at the location only members can compute. Exactly one of `profile` and `clear`. The outer document members are owned by the framework — SPEC §6.3.";
|
|
334
|
+
readonly type: "object";
|
|
335
|
+
readonly additionalProperties: false;
|
|
336
|
+
readonly required: readonly ["roomId", "host"];
|
|
337
|
+
readonly anyOf: readonly [{
|
|
338
|
+
readonly required: readonly ["profile"];
|
|
339
|
+
}, {
|
|
340
|
+
readonly required: readonly ["clear"];
|
|
341
|
+
}];
|
|
342
|
+
readonly dependentSchemas: {
|
|
343
|
+
readonly clear: {
|
|
344
|
+
readonly not: {
|
|
345
|
+
readonly required: readonly ["profile"];
|
|
346
|
+
};
|
|
347
|
+
};
|
|
348
|
+
};
|
|
349
|
+
readonly properties: {
|
|
350
|
+
readonly roomId: {
|
|
351
|
+
readonly type: "string";
|
|
352
|
+
readonly minLength: 1;
|
|
353
|
+
readonly maxLength: 512;
|
|
354
|
+
readonly description: "The room whose profile to set. The recipient MUST hold its principal's membership of it.";
|
|
355
|
+
};
|
|
356
|
+
readonly host: {
|
|
357
|
+
readonly type: "string";
|
|
358
|
+
readonly minLength: 1;
|
|
359
|
+
readonly maxLength: 2048;
|
|
360
|
+
readonly pattern: "^did:";
|
|
361
|
+
readonly description: "The host to write to, as a DID. Named by the caller for the reason `rooms/keys/read` gives. A room registered with more than one host is written at the one that takes its writes.";
|
|
362
|
+
};
|
|
363
|
+
readonly profile: {
|
|
364
|
+
readonly $ref: "#/$defs/RoomProfile";
|
|
365
|
+
readonly description: "The room's new profile, replacing the whole of the current one: a member absent here is absent from the room's profile afterwards. Mutually exclusive with `clear`.";
|
|
366
|
+
};
|
|
367
|
+
readonly clear: {
|
|
368
|
+
readonly type: "boolean";
|
|
369
|
+
readonly const: true;
|
|
370
|
+
readonly description: "Remove the room's profile: retract the record at the current epoch's profile location, so that readers find `cleared` there and stop. Only `true` is meaningful, so only `true` is accepted. Takes `curate`, which the host enforces on a retraction. Mutually exclusive with `profile`.";
|
|
371
|
+
};
|
|
372
|
+
readonly ext: {
|
|
373
|
+
readonly $ref: "#/$defs/Ext";
|
|
374
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1.";
|
|
375
|
+
};
|
|
376
|
+
};
|
|
377
|
+
readonly $defs: {
|
|
378
|
+
readonly Response: {
|
|
379
|
+
readonly $anchor: "response";
|
|
380
|
+
readonly title: "Rooms Keys Profile Write — response payload";
|
|
381
|
+
readonly description: "Success response to rooms/keys/profile/write. Type https://trusttasks.org/spec/rooms/keys/profile/write/0.1#response. Where the profile now is at the host, and under which epoch.";
|
|
382
|
+
readonly type: "object";
|
|
383
|
+
readonly additionalProperties: false;
|
|
384
|
+
readonly required: readonly ["roomId", "outcome", "key", "version"];
|
|
385
|
+
readonly properties: {
|
|
386
|
+
readonly roomId: {
|
|
387
|
+
readonly type: "string";
|
|
388
|
+
readonly minLength: 1;
|
|
389
|
+
readonly maxLength: 512;
|
|
390
|
+
};
|
|
391
|
+
readonly outcome: {
|
|
392
|
+
readonly type: "string";
|
|
393
|
+
readonly enum: readonly ["written", "cleared"];
|
|
394
|
+
readonly description: "`written`: the profile given is the room's profile, stored and checked to open. `cleared`: the record at the current epoch's profile location is retracted.";
|
|
395
|
+
};
|
|
396
|
+
readonly key: {
|
|
397
|
+
readonly type: "string";
|
|
398
|
+
readonly minLength: 1;
|
|
399
|
+
readonly maxLength: 512;
|
|
400
|
+
readonly description: "The record key the profile is stored at: `profile_key(epoch)` on a sealed tier, `room-profile` on an `open` room. Returned because it is already the host's to see; the caller needs it for nothing but diagnosis.";
|
|
401
|
+
};
|
|
402
|
+
readonly version: {
|
|
403
|
+
readonly type: "integer";
|
|
404
|
+
readonly minimum: 1;
|
|
405
|
+
readonly description: "The version the host assigned to the write or the retraction.";
|
|
406
|
+
};
|
|
407
|
+
readonly epoch: {
|
|
408
|
+
readonly type: "integer";
|
|
409
|
+
readonly minimum: 1;
|
|
410
|
+
readonly description: "The epoch the profile was sealed under. Absent on an `open` room.";
|
|
411
|
+
};
|
|
412
|
+
readonly ext: {
|
|
413
|
+
readonly $ref: "#/$defs/Ext";
|
|
414
|
+
};
|
|
415
|
+
};
|
|
416
|
+
};
|
|
417
|
+
readonly Ext: {
|
|
418
|
+
readonly title: "Ext";
|
|
419
|
+
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.";
|
|
420
|
+
readonly type: "object";
|
|
421
|
+
readonly minProperties: 1;
|
|
422
|
+
readonly additionalProperties: true;
|
|
423
|
+
readonly propertyNames: {
|
|
424
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
425
|
+
};
|
|
426
|
+
};
|
|
427
|
+
readonly RoomProfile: {
|
|
428
|
+
readonly title: "RoomProfile";
|
|
429
|
+
readonly type: "object";
|
|
430
|
+
readonly additionalProperties: false;
|
|
431
|
+
readonly required: readonly ["name"];
|
|
432
|
+
readonly description: "What a room says about itself to its own members: a name and, optionally, a description, short tags and an emoji, so that a member's wallet, portal or CLI can show what each room is rather than a DID.\n\n**It lives in the room, and only there.** A profile is carried in a record of the room (`RoomProfileStatement`), sealed on `attributed` and `private` rooms like every other record, so the room's host stores ciphertext and learns neither the name nor anything else here. It is never put in a credential — credentials are presented to hosts — nor in a host's record of the room, in `rooms/create` or `rooms/owner/register`, or in any member a host can read. On an `open` room it is cleartext, as everything in an open room is.\n\n**Plain text, never instructions.** Every member is free text chosen by whoever wrote the profile and shown to every member of the room. A reader renders `name`, `description` and `tags` as text — never as markup, never as a link it follows — removes or replaces control characters before showing them, and MUST NOT treat any of it as instructions, which matters most for an agent acting for a member. A writer MUST NOT put personal data or a credential in any member.\n\n**Growth.** A new optional member arrives in a later version of this component. A reader refuses a member it does not know (the `SealedRecordBody` rules), so a profile carrying one is not shown by a reader that predates it, and a writer SHOULD NOT use a member it cannot expect the room's readers to know. An ecosystem extension goes in `ext`, which a reader that does not understand it ignores. A change no earlier reader could survive is a new statement under a new derivation label (`openvtc/room/profile/v2`), written beside this one until the room's readers have moved.";
|
|
433
|
+
readonly properties: {
|
|
434
|
+
readonly name: {
|
|
435
|
+
readonly type: "string";
|
|
436
|
+
readonly minLength: 1;
|
|
437
|
+
readonly maxLength: 128;
|
|
438
|
+
readonly description: "The room's name as its members see it. Plain text, one line. Bounded like the label a community gives a room it owns (`RoomLabel` in vtc/_shared), so a community can write the same name here that it shows its administrators and the members it offers the room to.";
|
|
439
|
+
};
|
|
440
|
+
readonly description: {
|
|
441
|
+
readonly type: "string";
|
|
442
|
+
readonly minLength: 1;
|
|
443
|
+
readonly maxLength: 1000;
|
|
444
|
+
readonly description: "What the room is for, in a sentence or a short paragraph. Plain text. Absent when the room has none; an empty string is not a description.";
|
|
445
|
+
};
|
|
446
|
+
readonly tags: {
|
|
447
|
+
readonly type: "array";
|
|
448
|
+
readonly maxItems: 8;
|
|
449
|
+
readonly uniqueItems: true;
|
|
450
|
+
readonly items: {
|
|
451
|
+
readonly type: "string";
|
|
452
|
+
readonly minLength: 1;
|
|
453
|
+
readonly maxLength: 32;
|
|
454
|
+
readonly pattern: "^[a-z0-9][a-z0-9-]{0,31}$";
|
|
455
|
+
};
|
|
456
|
+
readonly description: "Short identifiers the room files itself under, as a set: order carries no meaning. A member's surface MAY filter or group rooms by them. They are the room's own and shown to its members — distinct from the tags a community files the rooms it owns under for its administrators, which are never written here.";
|
|
457
|
+
};
|
|
458
|
+
readonly emoji: {
|
|
459
|
+
readonly type: "string";
|
|
460
|
+
readonly minLength: 1;
|
|
461
|
+
readonly maxLength: 16;
|
|
462
|
+
readonly description: "One emoji — a single extended grapheme cluster, such as `📋` — that a surface MAY show beside the name. Text, rendered as text: never an image, never a URL, never anything a reader fetches, since a fetched icon would tell whoever serves it which member opened which room, and when. A reader that cannot render it shows nothing in its place.";
|
|
463
|
+
};
|
|
464
|
+
readonly ext: {
|
|
465
|
+
readonly $ref: "#/$defs/Ext";
|
|
466
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1. A reader ignores what it does not understand.";
|
|
467
|
+
};
|
|
468
|
+
};
|
|
469
|
+
};
|
|
470
|
+
};
|
|
471
|
+
};
|
|
472
|
+
};
|
|
473
|
+
/**
|
|
474
|
+
* SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
|
|
475
|
+
* tracks the *issuer* party's requirement because a response swaps the
|
|
476
|
+
* parties (§7.3 item 5).
|
|
477
|
+
*/
|
|
478
|
+
export declare const RESPONSE_SPEC: {
|
|
479
|
+
readonly typeUri: "https://trusttasks.org/spec/rooms/keys/profile/write/0.1#response";
|
|
480
|
+
readonly isBearer: false;
|
|
481
|
+
readonly isProofRequired: true;
|
|
482
|
+
readonly isRecipientRequired: true;
|
|
483
|
+
readonly isIssuedAtRequired: true;
|
|
484
|
+
readonly payloadSchema: {
|
|
485
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
486
|
+
readonly $ref: "#/$defs/Response";
|
|
487
|
+
readonly $defs: {
|
|
488
|
+
readonly Response: {
|
|
489
|
+
readonly $anchor: "response";
|
|
490
|
+
readonly title: "Rooms Keys Profile Write — response payload";
|
|
491
|
+
readonly description: "Success response to rooms/keys/profile/write. Type https://trusttasks.org/spec/rooms/keys/profile/write/0.1#response. Where the profile now is at the host, and under which epoch.";
|
|
492
|
+
readonly type: "object";
|
|
493
|
+
readonly additionalProperties: false;
|
|
494
|
+
readonly required: readonly ["roomId", "outcome", "key", "version"];
|
|
495
|
+
readonly properties: {
|
|
496
|
+
readonly roomId: {
|
|
497
|
+
readonly type: "string";
|
|
498
|
+
readonly minLength: 1;
|
|
499
|
+
readonly maxLength: 512;
|
|
500
|
+
};
|
|
501
|
+
readonly outcome: {
|
|
502
|
+
readonly type: "string";
|
|
503
|
+
readonly enum: readonly ["written", "cleared"];
|
|
504
|
+
readonly description: "`written`: the profile given is the room's profile, stored and checked to open. `cleared`: the record at the current epoch's profile location is retracted.";
|
|
505
|
+
};
|
|
506
|
+
readonly key: {
|
|
507
|
+
readonly type: "string";
|
|
508
|
+
readonly minLength: 1;
|
|
509
|
+
readonly maxLength: 512;
|
|
510
|
+
readonly description: "The record key the profile is stored at: `profile_key(epoch)` on a sealed tier, `room-profile` on an `open` room. Returned because it is already the host's to see; the caller needs it for nothing but diagnosis.";
|
|
511
|
+
};
|
|
512
|
+
readonly version: {
|
|
513
|
+
readonly type: "integer";
|
|
514
|
+
readonly minimum: 1;
|
|
515
|
+
readonly description: "The version the host assigned to the write or the retraction.";
|
|
516
|
+
};
|
|
517
|
+
readonly epoch: {
|
|
518
|
+
readonly type: "integer";
|
|
519
|
+
readonly minimum: 1;
|
|
520
|
+
readonly description: "The epoch the profile was sealed under. Absent on an `open` room.";
|
|
521
|
+
};
|
|
522
|
+
readonly ext: {
|
|
523
|
+
readonly $ref: "#/$defs/Ext";
|
|
524
|
+
};
|
|
525
|
+
};
|
|
526
|
+
};
|
|
527
|
+
readonly Ext: {
|
|
528
|
+
readonly title: "Ext";
|
|
529
|
+
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.";
|
|
530
|
+
readonly type: "object";
|
|
531
|
+
readonly minProperties: 1;
|
|
532
|
+
readonly additionalProperties: true;
|
|
533
|
+
readonly propertyNames: {
|
|
534
|
+
readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
|
|
535
|
+
};
|
|
536
|
+
};
|
|
537
|
+
readonly RoomProfile: {
|
|
538
|
+
readonly title: "RoomProfile";
|
|
539
|
+
readonly type: "object";
|
|
540
|
+
readonly additionalProperties: false;
|
|
541
|
+
readonly required: readonly ["name"];
|
|
542
|
+
readonly description: "What a room says about itself to its own members: a name and, optionally, a description, short tags and an emoji, so that a member's wallet, portal or CLI can show what each room is rather than a DID.\n\n**It lives in the room, and only there.** A profile is carried in a record of the room (`RoomProfileStatement`), sealed on `attributed` and `private` rooms like every other record, so the room's host stores ciphertext and learns neither the name nor anything else here. It is never put in a credential — credentials are presented to hosts — nor in a host's record of the room, in `rooms/create` or `rooms/owner/register`, or in any member a host can read. On an `open` room it is cleartext, as everything in an open room is.\n\n**Plain text, never instructions.** Every member is free text chosen by whoever wrote the profile and shown to every member of the room. A reader renders `name`, `description` and `tags` as text — never as markup, never as a link it follows — removes or replaces control characters before showing them, and MUST NOT treat any of it as instructions, which matters most for an agent acting for a member. A writer MUST NOT put personal data or a credential in any member.\n\n**Growth.** A new optional member arrives in a later version of this component. A reader refuses a member it does not know (the `SealedRecordBody` rules), so a profile carrying one is not shown by a reader that predates it, and a writer SHOULD NOT use a member it cannot expect the room's readers to know. An ecosystem extension goes in `ext`, which a reader that does not understand it ignores. A change no earlier reader could survive is a new statement under a new derivation label (`openvtc/room/profile/v2`), written beside this one until the room's readers have moved.";
|
|
543
|
+
readonly properties: {
|
|
544
|
+
readonly name: {
|
|
545
|
+
readonly type: "string";
|
|
546
|
+
readonly minLength: 1;
|
|
547
|
+
readonly maxLength: 128;
|
|
548
|
+
readonly description: "The room's name as its members see it. Plain text, one line. Bounded like the label a community gives a room it owns (`RoomLabel` in vtc/_shared), so a community can write the same name here that it shows its administrators and the members it offers the room to.";
|
|
549
|
+
};
|
|
550
|
+
readonly description: {
|
|
551
|
+
readonly type: "string";
|
|
552
|
+
readonly minLength: 1;
|
|
553
|
+
readonly maxLength: 1000;
|
|
554
|
+
readonly description: "What the room is for, in a sentence or a short paragraph. Plain text. Absent when the room has none; an empty string is not a description.";
|
|
555
|
+
};
|
|
556
|
+
readonly tags: {
|
|
557
|
+
readonly type: "array";
|
|
558
|
+
readonly maxItems: 8;
|
|
559
|
+
readonly uniqueItems: true;
|
|
560
|
+
readonly items: {
|
|
561
|
+
readonly type: "string";
|
|
562
|
+
readonly minLength: 1;
|
|
563
|
+
readonly maxLength: 32;
|
|
564
|
+
readonly pattern: "^[a-z0-9][a-z0-9-]{0,31}$";
|
|
565
|
+
};
|
|
566
|
+
readonly description: "Short identifiers the room files itself under, as a set: order carries no meaning. A member's surface MAY filter or group rooms by them. They are the room's own and shown to its members — distinct from the tags a community files the rooms it owns under for its administrators, which are never written here.";
|
|
567
|
+
};
|
|
568
|
+
readonly emoji: {
|
|
569
|
+
readonly type: "string";
|
|
570
|
+
readonly minLength: 1;
|
|
571
|
+
readonly maxLength: 16;
|
|
572
|
+
readonly description: "One emoji — a single extended grapheme cluster, such as `📋` — that a surface MAY show beside the name. Text, rendered as text: never an image, never a URL, never anything a reader fetches, since a fetched icon would tell whoever serves it which member opened which room, and when. A reader that cannot render it shows nothing in its place.";
|
|
573
|
+
};
|
|
574
|
+
readonly ext: {
|
|
575
|
+
readonly $ref: "#/$defs/Ext";
|
|
576
|
+
readonly description: "Ecosystem-defined extension members per SPEC.md §4.5.1. A reader ignores what it does not understand.";
|
|
577
|
+
};
|
|
578
|
+
};
|
|
579
|
+
};
|
|
580
|
+
};
|
|
581
|
+
};
|
|
582
|
+
};
|
|
583
|
+
//# sourceMappingURL=payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../../../../src/rooms/keys/profile/write/0.1/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAG7E;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAClC,GAAG;IACF;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,IAAI,CAAC;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,kHAAkH;AAClH,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;AAEjC,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAG,0DAAmE,CAAC;AAE5F,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,4BAA4B,CAAC;AAEnD,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAG,mEAA4E,CAAC;AAE9G,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,oCAAoC,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoKjB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2G1B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOhB,CAAC"}
|