@openvtc/trust-tasks 0.28.7 → 0.28.8
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 +48 -0
- package/dist/_extends.d.ts.map +1 -1
- package/dist/_extends.js +1 -0
- package/dist/_extends.js.map +1 -1
- package/dist/_shared/components.d.ts +204 -0
- package/dist/_shared/components.d.ts.map +1 -1
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -1
- package/dist/rooms/keys/act/0.1/payload.d.ts +4 -4
- package/dist/rooms/keys/act/0.1/payload.d.ts.map +1 -1
- package/dist/rooms/keys/act/0.1/payload.js +1 -1
- package/dist/rooms/keys/act/0.1/payload.js.map +1 -1
- package/dist/rooms/keys/act/0.10/payload.d.ts +560 -0
- package/dist/rooms/keys/act/0.10/payload.d.ts.map +1 -0
- package/dist/rooms/keys/act/0.10/payload.js +319 -0
- package/dist/rooms/keys/act/0.10/payload.js.map +1 -0
- package/dist/rooms/keys/act/0.2/payload.d.ts +4 -4
- package/dist/rooms/keys/act/0.2/payload.d.ts.map +1 -1
- package/dist/rooms/keys/act/0.2/payload.js +1 -1
- package/dist/rooms/keys/act/0.2/payload.js.map +1 -1
- package/dist/rooms/keys/act/0.3/payload.d.ts +4 -4
- package/dist/rooms/keys/act/0.3/payload.d.ts.map +1 -1
- package/dist/rooms/keys/act/0.3/payload.js +1 -1
- package/dist/rooms/keys/act/0.3/payload.js.map +1 -1
- package/dist/rooms/keys/act/0.4/payload.d.ts +4 -4
- package/dist/rooms/keys/act/0.4/payload.d.ts.map +1 -1
- package/dist/rooms/keys/act/0.4/payload.js +1 -1
- package/dist/rooms/keys/act/0.4/payload.js.map +1 -1
- package/dist/rooms/keys/act/0.5/payload.d.ts +4 -4
- package/dist/rooms/keys/act/0.5/payload.d.ts.map +1 -1
- package/dist/rooms/keys/act/0.5/payload.js +1 -1
- package/dist/rooms/keys/act/0.5/payload.js.map +1 -1
- package/dist/rooms/keys/act/0.6/payload.d.ts +4 -4
- package/dist/rooms/keys/act/0.6/payload.d.ts.map +1 -1
- package/dist/rooms/keys/act/0.6/payload.js +1 -1
- package/dist/rooms/keys/act/0.6/payload.js.map +1 -1
- package/dist/rooms/keys/act/0.7/payload.d.ts +4 -4
- package/dist/rooms/keys/act/0.7/payload.d.ts.map +1 -1
- package/dist/rooms/keys/act/0.7/payload.js +1 -1
- package/dist/rooms/keys/act/0.7/payload.js.map +1 -1
- package/dist/rooms/keys/act/0.8/payload.d.ts +4 -4
- package/dist/rooms/keys/act/0.8/payload.d.ts.map +1 -1
- package/dist/rooms/keys/act/0.8/payload.js +1 -1
- package/dist/rooms/keys/act/0.8/payload.js.map +1 -1
- package/dist/rooms/keys/act/0.9/payload.d.ts +14 -2
- package/dist/rooms/keys/act/0.9/payload.d.ts.map +1 -1
- package/dist/rooms/keys/act/0.9/payload.js +1 -1
- package/dist/rooms/keys/act/0.9/payload.js.map +1 -1
- package/dist/vtc/_shared/0.5/community-room.d.ts +16 -0
- package/dist/vtc/_shared/0.5/community-room.d.ts.map +1 -0
- package/dist/vtc/_shared/0.5/community-room.js +6 -0
- package/dist/vtc/_shared/0.5/community-room.js.map +1 -0
- package/dist/vtc/rooms/community/archive/0.1/payload.d.ts +1644 -0
- package/dist/vtc/rooms/community/archive/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/archive/0.1/payload.js +940 -0
- package/dist/vtc/rooms/community/archive/0.1/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 +1 -1
- package/dist/vtc/rooms/community/get/0.2/payload.d.ts +4 -4
- package/dist/vtc/rooms/community/get/0.2/payload.js +1 -1
- package/dist/vtc/rooms/community/get/0.3/payload.d.ts +13 -2
- package/dist/vtc/rooms/community/get/0.3/payload.d.ts.map +1 -1
- package/dist/vtc/rooms/community/get/0.3/payload.js +1 -1
- package/dist/vtc/rooms/community/get/0.3/payload.js.map +1 -1
- package/dist/vtc/rooms/community/get/0.4/payload.d.ts +1405 -0
- package/dist/vtc/rooms/community/get/0.4/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/get/0.4/payload.js +817 -0
- package/dist/vtc/rooms/community/get/0.4/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 +1 -1
- package/dist/vtc/rooms/community/list/0.2/payload.d.ts +4 -4
- package/dist/vtc/rooms/community/list/0.2/payload.js +1 -1
- package/dist/vtc/rooms/community/list/0.3/payload.d.ts +13 -2
- package/dist/vtc/rooms/community/list/0.3/payload.d.ts.map +1 -1
- package/dist/vtc/rooms/community/list/0.3/payload.js +1 -1
- package/dist/vtc/rooms/community/list/0.3/payload.js.map +1 -1
- package/dist/vtc/rooms/community/list/0.4/payload.d.ts +1505 -0
- package/dist/vtc/rooms/community/list/0.4/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/list/0.4/payload.js +854 -0
- package/dist/vtc/rooms/community/list/0.4/payload.js.map +1 -0
- package/dist/vtc/rooms/community/members/add/0.1/payload.d.ts +13 -2
- package/dist/vtc/rooms/community/members/add/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/rooms/community/members/add/0.1/payload.js +1 -1
- package/dist/vtc/rooms/community/members/add/0.1/payload.js.map +1 -1
- package/dist/vtc/rooms/community/members/add/0.2/payload.d.ts +569 -0
- package/dist/vtc/rooms/community/members/add/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/members/add/0.2/payload.js +340 -0
- package/dist/vtc/rooms/community/members/add/0.2/payload.js.map +1 -0
- package/dist/vtc/rooms/community/members/list/0.1/payload.d.ts +13 -2
- package/dist/vtc/rooms/community/members/list/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/rooms/community/members/list/0.1/payload.js +1 -1
- package/dist/vtc/rooms/community/members/list/0.1/payload.js.map +1 -1
- package/dist/vtc/rooms/community/members/list/0.2/payload.d.ts +588 -0
- package/dist/vtc/rooms/community/members/list/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/members/list/0.2/payload.js +341 -0
- package/dist/vtc/rooms/community/members/list/0.2/payload.js.map +1 -0
- package/dist/vtc/rooms/community/removal/cancel/0.1/payload.d.ts +1440 -0
- package/dist/vtc/rooms/community/removal/cancel/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/removal/cancel/0.1/payload.js +835 -0
- package/dist/vtc/rooms/community/removal/cancel/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/community/remove/0.1/payload.d.ts +1604 -0
- package/dist/vtc/rooms/community/remove/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/remove/0.1/payload.js +921 -0
- package/dist/vtc/rooms/community/remove/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/community/unarchive/0.1/payload.d.ts +1460 -0
- package/dist/vtc/rooms/community/unarchive/0.1/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/community/unarchive/0.1/payload.js +845 -0
- package/dist/vtc/rooms/community/unarchive/0.1/payload.js.map +1 -0
- package/dist/vtc/rooms/memberships/list/0.1/payload.d.ts +13 -2
- package/dist/vtc/rooms/memberships/list/0.1/payload.d.ts.map +1 -1
- package/dist/vtc/rooms/memberships/list/0.1/payload.js +1 -1
- package/dist/vtc/rooms/memberships/list/0.1/payload.js.map +1 -1
- package/dist/vtc/rooms/memberships/list/0.2/payload.d.ts +830 -0
- package/dist/vtc/rooms/memberships/list/0.2/payload.d.ts.map +1 -0
- package/dist/vtc/rooms/memberships/list/0.2/payload.js +498 -0
- package/dist/vtc/rooms/memberships/list/0.2/payload.js.map +1 -0
- package/package.json +1 -1
- package/src/_extends.ts +1 -0
- package/src/_shared/components.ts +204 -0
- package/src/index.ts +33 -0
- package/src/rooms/keys/act/0.1/payload.ts +5 -5
- package/src/rooms/keys/act/0.10/payload.ts +396 -0
- package/src/rooms/keys/act/0.2/payload.ts +5 -5
- package/src/rooms/keys/act/0.3/payload.ts +5 -5
- package/src/rooms/keys/act/0.4/payload.ts +5 -5
- package/src/rooms/keys/act/0.5/payload.ts +5 -5
- package/src/rooms/keys/act/0.6/payload.ts +5 -5
- package/src/rooms/keys/act/0.7/payload.ts +5 -5
- package/src/rooms/keys/act/0.8/payload.ts +5 -5
- package/src/rooms/keys/act/0.9/payload.ts +15 -3
- package/src/vtc/_shared/0.5/community-room.ts +17 -0
- package/src/vtc/rooms/community/archive/0.1/payload.ts +995 -0
- package/src/vtc/rooms/community/get/0.1/payload.ts +5 -5
- package/src/vtc/rooms/community/get/0.2/payload.ts +5 -5
- package/src/vtc/rooms/community/get/0.3/payload.ts +14 -3
- package/src/vtc/rooms/community/get/0.4/payload.ts +851 -0
- package/src/vtc/rooms/community/list/0.1/payload.ts +5 -5
- package/src/vtc/rooms/community/list/0.2/payload.ts +5 -5
- package/src/vtc/rooms/community/list/0.3/payload.ts +14 -3
- package/src/vtc/rooms/community/list/0.4/payload.ts +915 -0
- package/src/vtc/rooms/community/members/add/0.1/payload.ts +14 -3
- package/src/vtc/rooms/community/members/add/0.2/payload.ts +384 -0
- package/src/vtc/rooms/community/members/list/0.1/payload.ts +14 -3
- package/src/vtc/rooms/community/members/list/0.2/payload.ts +394 -0
- package/src/vtc/rooms/community/removal/cancel/0.1/payload.ts +870 -0
- package/src/vtc/rooms/community/remove/0.1/payload.ts +968 -0
- package/src/vtc/rooms/community/unarchive/0.1/payload.ts +884 -0
- package/src/vtc/rooms/memberships/list/0.1/payload.ts +14 -3
- package/src/vtc/rooms/memberships/list/0.2/payload.ts +543 -0
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,54 @@ The package versions over **its own API** — what a consumer compiles against
|
|
|
11
11
|
not over `SPEC.md`. Below 1.0 a breaking change bumps the leading non-zero
|
|
12
12
|
component.
|
|
13
13
|
|
|
14
|
+
## 0.28.8 — 2026-11-02
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **vtc/rooms/community**: Archive, unarchive, remove and removal/cancel 0.1; get/list 0.4, members/add+list 0.2, memberships/list 0.2 (#1006)
|
|
20
|
+
|
|
21
|
+
A community could create a room it owns and change its members, but never
|
|
22
|
+
close or end one. This adds an owner's lifecycle for a community-owned room,
|
|
23
|
+
distinct from the host's computed clock (live/lapsed/dormant/reclaimable):
|
|
24
|
+
|
|
25
|
+
- active
|
|
26
|
+
- archived, with an access: readOnly (members keep reading; the host refuses
|
|
27
|
+
every write, upload and curation) or noAccess (the community's VTA resets
|
|
28
|
+
the room — one `room` withdrawal — and re-issues the community's own
|
|
29
|
+
credentials; each admitted member becomes `suspended`). Open offers are
|
|
30
|
+
withdrawn either way. Reversible: vtc/rooms/community/unarchive restores
|
|
31
|
+
suspended members in the background by re-issuing their membership and
|
|
32
|
+
authority, collected as an offers/list renewal.
|
|
33
|
+
- removalScheduled: only from archived (removal is the second of two
|
|
34
|
+
deliberate acts). The room is noAccess and its content kept until purgeAt,
|
|
35
|
+
after a grace period (graceDays, or the community's configured default;
|
|
36
|
+
30 days in the reference implementation). vtc/rooms/community/removal/cancel
|
|
37
|
+
returns it to archived/noAccess.
|
|
38
|
+
- purging: graceDays 0, or the grace period ended. Deletes every record,
|
|
39
|
+
epoch link, commit, revocation list, file in every storage config, transfer
|
|
40
|
+
and the host record; drops kept credentials and owed removals; unbinds
|
|
41
|
+
groups; stops serving a serverless DID log; SHOULD have the VTA delete the
|
|
42
|
+
room's DID (a refusal there does not hold the purge). Retried with backoff,
|
|
43
|
+
progress in status.purge, never reversible.
|
|
44
|
+
- removed: a tombstone with the host record as it last stood.
|
|
45
|
+
|
|
46
|
+
A change part-way through at the VTA (a reset the host accepted before the
|
|
47
|
+
community's own credentials were re-issued) is reported as
|
|
48
|
+
status.pendingChange and finished by the community.
|
|
49
|
+
|
|
50
|
+
New shared definitions in vtc/_shared/0.5 (RoomState, ArchiveAccess,
|
|
51
|
+
RoomStatus, PendingChange, PurgeProgress, CommunityRoomV3, MemberStateV2,
|
|
52
|
+
RoomMemberV2, RoomMembershipV2). get/list 0.4 carry status (list gains a
|
|
53
|
+
`states` filter; removed rooms only when asked for); members/add 0.2 refuses
|
|
54
|
+
a room that is not active (wrongState); members/list 0.2 and
|
|
55
|
+
memberships/list 0.2 add `suspended`, and memberships/list the room's own
|
|
56
|
+
state so member surfaces can say read-only, closed or going away.
|
|
57
|
+
rooms/keys/act 0.10 adds vtc/rooms/memberships/list/0.2 to its table so a
|
|
58
|
+
member's key holder can sign it.
|
|
59
|
+
|
|
60
|
+
Rust, TS, Go and Dart bindings regenerated.
|
|
61
|
+
|
|
14
62
|
## 0.28.7 — 2026-11-01
|
|
15
63
|
|
|
16
64
|
|
package/dist/_extends.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_extends.d.ts","sourceRoot":"","sources":["../src/_extends.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"_extends.d.ts","sourceRoot":"","sources":["../src/_extends.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAS/D,CAAC"}
|
package/dist/_extends.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* `extendsChain` follows them transitively.
|
|
7
7
|
*/
|
|
8
8
|
export const EXTENDS_BY_TYPE_URI = Object.freeze({
|
|
9
|
+
"https://trusttasks.org/spec/rooms/keys/act/0.10": "0.9",
|
|
9
10
|
"https://trusttasks.org/spec/rooms/keys/act/0.9": "0.8",
|
|
10
11
|
"https://trusttasks.org/spec/rooms/records/put/0.4": "0.3",
|
|
11
12
|
"https://trusttasks.org/spec/vta/did-templates/create/3.2": "3.1",
|
package/dist/_extends.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_extends.js","sourceRoot":"","sources":["../src/_extends.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACjF,gDAAgD,EAAE,KAAK;IACvD,mDAAmD,EAAE,KAAK;IAC1D,0DAA0D,EAAE,KAAK;IACjE,uDAAuD,EAAE,KAAK;IAC9D,wDAAwD,EAAE,KAAK;IAC/D,0DAA0D,EAAE,KAAK;IACjE,uDAAuD,EAAE,KAAK;CAC/D,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"_extends.js","sourceRoot":"","sources":["../src/_extends.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACjF,iDAAiD,EAAE,KAAK;IACxD,gDAAgD,EAAE,KAAK;IACvD,mDAAmD,EAAE,KAAK;IAC1D,0DAA0D,EAAE,KAAK;IACjE,uDAAuD,EAAE,KAAK;IAC9D,wDAAwD,EAAE,KAAK;IAC/D,0DAA0D,EAAE,KAAK;IACjE,uDAAuD,EAAE,KAAK;CAC/D,CAAC,CAAC"}
|
|
@@ -357,6 +357,10 @@ export type ApproverDid = string;
|
|
|
357
357
|
* A human-readable name for where the approver lives — e.g. `Browser plugin — work laptop`. Chosen by the subject (or suggested by an inviter), untrusted, and attributed to its author wherever it is rendered. Absent rather than invented when none was chosen.
|
|
358
358
|
*/
|
|
359
359
|
export type ApproverLabel = string;
|
|
360
|
+
/**
|
|
361
|
+
* What an archived room's members may still do. `readOnly`: their credentials stand and they keep reading what the room holds; the room's host refuses every write, upload and curation from a member. `noAccess`: every credential the room issued before the archival is withdrawn at its host — a room reset — so the host refuses every member's every task; the content is kept intact, and each withdrawn admission is `suspended`, restored when the room is unarchived or made `readOnly`. Neither recalls what a member already read or saved, and on a sealed tier neither removes anyone from the room's group.
|
|
362
|
+
*/
|
|
363
|
+
export type ArchiveAccess = "readOnly" | "noAccess";
|
|
360
364
|
/**
|
|
361
365
|
* The metadata of one attestation: what a Vetting Statement would have said, minus its issuer, as vetting/attestation/0.1 defines it.
|
|
362
366
|
*/
|
|
@@ -954,6 +958,10 @@ export type MemberActions = [MemberAction] | [MemberAction, MemberAction] | [Mem
|
|
|
954
958
|
* Where an admission stands. `offered`: credentials issued and waiting for the member to collect and accept them. `admitted`: accepted — on a sealed tier, the member is in the room's group. `removed`: an administrator removed them; on a sealed tier the room has advanced past them.
|
|
955
959
|
*/
|
|
956
960
|
export type MemberState = "offered" | "admitted" | "removed";
|
|
961
|
+
/**
|
|
962
|
+
* `MemberState` plus `suspended`. `offered`: credentials issued and waiting for the member to collect and accept them. `admitted`: accepted — on a sealed tier, the member is in the room's group. `suspended`: admitted, but the room was archived with `noAccess` (or scheduled for removal), so the room's host refuses the member's credentials; on a sealed tier they are still in the room's group. Restored to `admitted` with freshly issued credentials when the room leaves that state, and never restored if it is removed. `removed`: an administrator removed them, or withdrew their offer — archiving withdraws every open offer; on a sealed tier the room has advanced past an admitted member.
|
|
963
|
+
*/
|
|
964
|
+
export type MemberStateV2 = "offered" | "admitted" | "suspended" | "removed";
|
|
957
965
|
/**
|
|
958
966
|
* How the member came to be in the group. `added`: by a manager. `joined`: they joined an open group. `requestApproved`: a manager approved their request. `rule`: a dynamic group's rule admits them.
|
|
959
967
|
*/
|
|
@@ -1486,6 +1494,10 @@ export type RoomDescription = string;
|
|
|
1486
1494
|
* A name for the room, chosen by an administrator: shown to administrators and to the members a room is offered to. Not part of the room's identity and never in anything a room's host can read. From `vtc/rooms/community/create` 0.3 and `vtc/rooms/community/update` 0.2 the community also writes it, through its own VTA, as the `name` of the room's own profile (`RoomProfile` in rooms/_shared), sealed inside the room for its members; earlier versions keep it out of the room altogether. MUST NOT carry personal data.
|
|
1487
1495
|
*/
|
|
1488
1496
|
export type RoomLabel = string;
|
|
1497
|
+
/**
|
|
1498
|
+
* Where a room the community owns stands in its owner's lifecycle — distinct from `HostedRoom.lifecycle`, which is the host's clock (`live`, `lapsed`, `dormant`, `reclaimable`) and is computed from the room's epoch, never set. `active`: open to change. `archived`: closed to change by an administrator — no admissions, and the room's host accepts no writes from its members; what members may still do is `ArchiveAccess`. Reversible with vtc/rooms/community/unarchive. `removalScheduled`: an administrator removed the room with a grace period; it admits nobody and its content is kept until `purgeAt`, and vtc/rooms/community/removal/cancel returns it to `archived`. `purging`: the grace period ended (or there was none) and the community is deleting the room's content from its host and storage; not reversible. `removed`: the content is gone; the community keeps only this record of the room, for its history.
|
|
1499
|
+
*/
|
|
1500
|
+
export type RoomState = "active" | "archived" | "removalScheduled" | "purging" | "removed";
|
|
1489
1501
|
/**
|
|
1490
1502
|
* A short identifier an administrator files a community-owned room under — `board`, `working-group`, `finance` — so the room list can be filtered. Lower-case letters, digits and hyphens, starting with a letter or digit. Owner-side tracking metadata for holders of `vtc.rooms.manage` only: never shown to members, never sent on the room's host path, and it confers nothing.
|
|
1491
1503
|
*/
|
|
@@ -6059,6 +6071,54 @@ export interface CommunityRoomV2_VtcV0_3 {
|
|
|
6059
6071
|
*/
|
|
6060
6072
|
detailsUpdatedBy?: string;
|
|
6061
6073
|
}
|
|
6074
|
+
/**
|
|
6075
|
+
* What vtc/rooms/community/{get,list}/0.4 and vtc/rooms/community/{archive,unarchive,remove,removal/cancel}/0.1 return: `CommunityRoomV2` plus the room's `status` in its owner's lifecycle and the count of `suspended` admissions. A separate definition, not a change to `CommunityRoomV2`, so that the versions returning that keep the exact shape they published. For a room in state `purging` or `removed`, whose host record a purge deletes, `room` is the host record as it last stood before the purge began — the community keeps that snapshot with the room's record when the purge starts — and its `lifecycle` is what was computed then.
|
|
6076
|
+
*/
|
|
6077
|
+
export interface CommunityRoomV3 {
|
|
6078
|
+
room: HostedRoom_VtcV0_3;
|
|
6079
|
+
label: RoomLabel;
|
|
6080
|
+
status: RoomStatus;
|
|
6081
|
+
/**
|
|
6082
|
+
* Absent when the room has none.
|
|
6083
|
+
*/
|
|
6084
|
+
description?: RoomDescription;
|
|
6085
|
+
/**
|
|
6086
|
+
* Absent or empty when the room has none.
|
|
6087
|
+
*/
|
|
6088
|
+
tags?: RoomTags;
|
|
6089
|
+
/**
|
|
6090
|
+
* The storage config receiving the room's new uploads.
|
|
6091
|
+
*/
|
|
6092
|
+
storageConfig?: StorageConfigId;
|
|
6093
|
+
/**
|
|
6094
|
+
* Members in state `admitted`.
|
|
6095
|
+
*/
|
|
6096
|
+
admitted: number;
|
|
6097
|
+
/**
|
|
6098
|
+
* Offers not yet accepted or withdrawn.
|
|
6099
|
+
*/
|
|
6100
|
+
offered: number;
|
|
6101
|
+
/**
|
|
6102
|
+
* Admissions in state `suspended`: withdrawn while the room was archived with `noAccess`, and restored when it leaves that state. Absent when zero.
|
|
6103
|
+
*/
|
|
6104
|
+
suspended?: number;
|
|
6105
|
+
/**
|
|
6106
|
+
* When the community's own `admin` authority over the room expires. A room whose owner's authority lapses can no longer advance its epoch, admit or remove; a community SHOULD renew it well before.
|
|
6107
|
+
*/
|
|
6108
|
+
ownerAuthorityValidUntil?: string;
|
|
6109
|
+
/**
|
|
6110
|
+
* The administrator who created it.
|
|
6111
|
+
*/
|
|
6112
|
+
createdBy?: string;
|
|
6113
|
+
/**
|
|
6114
|
+
* When `label`, `description` or `tags` last changed. Absent until the first change after creation. Distinct from `room.updatedAt`, which is the host record's and moves with the room's epoch and lifecycle.
|
|
6115
|
+
*/
|
|
6116
|
+
detailsUpdatedAt?: string;
|
|
6117
|
+
/**
|
|
6118
|
+
* The administrator who made that change. Present exactly when `detailsUpdatedAt` is. The earlier values and who set them are in the community's audit trail, not here.
|
|
6119
|
+
*/
|
|
6120
|
+
detailsUpdatedBy?: string;
|
|
6121
|
+
}
|
|
6062
6122
|
/**
|
|
6063
6123
|
* A community's portable configuration: its profile plus the configuration overrides a maintainer stores for itself. Deliberately excludes per-host layers (environment variables, on-disk config files) — those describe where a maintainer runs, not what the community is, and carrying them would make an import overwrite the target host's own deployment settings.
|
|
6064
6124
|
*
|
|
@@ -9879,6 +9939,24 @@ export interface PeerDepth {
|
|
|
9879
9939
|
bytes: number;
|
|
9880
9940
|
oldestAgeSeconds?: number;
|
|
9881
9941
|
}
|
|
9942
|
+
/**
|
|
9943
|
+
* A change of state the community began and has not finished, because a step at its VTA did not complete — most often a room reset the host accepted, after which the community's own credentials must be re-issued before it can act on the room again. `RoomStatus.state` stays what it was until the change finishes, but what the room's host enforces may already be the new state's: a pending move to `noAccess` means members' credentials may already be refused. The community finishes it by itself, retrying with backoff, and repeating the request that began it finishes it too; nothing else changes the room until it is finished.
|
|
9944
|
+
*/
|
|
9945
|
+
export interface PendingChange {
|
|
9946
|
+
/**
|
|
9947
|
+
* The state the change leads to.
|
|
9948
|
+
*/
|
|
9949
|
+
state: RoomState;
|
|
9950
|
+
/**
|
|
9951
|
+
* The access it leads to, where `state` has one.
|
|
9952
|
+
*/
|
|
9953
|
+
access?: ArchiveAccess;
|
|
9954
|
+
beganAt: string;
|
|
9955
|
+
/**
|
|
9956
|
+
* What stopped the last attempt, for an administrator. Plain text; it names no member and carries no credential.
|
|
9957
|
+
*/
|
|
9958
|
+
lastError?: string;
|
|
9959
|
+
}
|
|
9882
9960
|
/**
|
|
9883
9961
|
* What the author permits the record to be used for — for example, that a learner's record is for instructional personalisation only. OPTIONAL; absent means the author stated no limit beyond the room's own terms.
|
|
9884
9962
|
*
|
|
@@ -10380,6 +10458,24 @@ export interface PublishedEvent {
|
|
|
10380
10458
|
groupFloor: number;
|
|
10381
10459
|
tiers: Tier[];
|
|
10382
10460
|
}
|
|
10461
|
+
/**
|
|
10462
|
+
* How a purge is going. A purge deletes at the room's host and at each storage config holding its files, and some of those are remote; a step that fails is retried with backoff until it succeeds, and nothing is reported removed until every step has.
|
|
10463
|
+
*/
|
|
10464
|
+
export interface PurgeProgress {
|
|
10465
|
+
/**
|
|
10466
|
+
* Passes made so far; 0 until the first.
|
|
10467
|
+
*/
|
|
10468
|
+
attempts: number;
|
|
10469
|
+
lastAttemptAt?: string;
|
|
10470
|
+
/**
|
|
10471
|
+
* When the next pass is due. Absent while one runs.
|
|
10472
|
+
*/
|
|
10473
|
+
nextAttemptAt?: string;
|
|
10474
|
+
/**
|
|
10475
|
+
* What stopped the last pass, for an administrator. Present only after a pass failed. Plain text, written by the community; it names no member and carries no credential.
|
|
10476
|
+
*/
|
|
10477
|
+
lastError?: string;
|
|
10478
|
+
}
|
|
10383
10479
|
export interface Apns {
|
|
10384
10480
|
platform: "apns";
|
|
10385
10481
|
/**
|
|
@@ -11599,6 +11695,25 @@ export interface RoomMember {
|
|
|
11599
11695
|
admittedAt?: string;
|
|
11600
11696
|
removedAt?: string;
|
|
11601
11697
|
}
|
|
11698
|
+
/**
|
|
11699
|
+
* `RoomMember` with `MemberStateV2`, and `suspendedAt`.
|
|
11700
|
+
*/
|
|
11701
|
+
export interface RoomMemberV2 {
|
|
11702
|
+
member: string;
|
|
11703
|
+
actions: MemberActions;
|
|
11704
|
+
/**
|
|
11705
|
+
* When the member's authority credential expires.
|
|
11706
|
+
*/
|
|
11707
|
+
validUntil: string;
|
|
11708
|
+
state: MemberStateV2;
|
|
11709
|
+
offeredAt: string;
|
|
11710
|
+
admittedAt?: string;
|
|
11711
|
+
removedAt?: string;
|
|
11712
|
+
/**
|
|
11713
|
+
* Present exactly when `state` is `suspended`.
|
|
11714
|
+
*/
|
|
11715
|
+
suspendedAt?: string;
|
|
11716
|
+
}
|
|
11602
11717
|
/**
|
|
11603
11718
|
* What vtc/rooms/memberships/list/0.1 returns: one room the community owns, and where the caller's admission to it stands in the community's own record. Unlike `OfferV2` it carries no credentials — those are collected with vtc/rooms/offers/list while an offer is open — and it is listed in every state, for as long as the community keeps the record, not only while an accept can be repeated. `label` and `description` are the room's as they stand when the record is read.
|
|
11604
11719
|
*/
|
|
@@ -11634,6 +11749,57 @@ export interface RoomMembership {
|
|
|
11634
11749
|
*/
|
|
11635
11750
|
repeatAcceptUntil?: string;
|
|
11636
11751
|
}
|
|
11752
|
+
/**
|
|
11753
|
+
* What vtc/rooms/memberships/list/0.2 returns: `RoomMembership` with `MemberStateV2`, `suspendedAt`, and the room's own state, so that a member can tell a room that is read-only, closed or going away from one they were removed from.
|
|
11754
|
+
*/
|
|
11755
|
+
export interface RoomMembershipV2 {
|
|
11756
|
+
roomId: string;
|
|
11757
|
+
/**
|
|
11758
|
+
* The room's host: this community.
|
|
11759
|
+
*/
|
|
11760
|
+
host: string;
|
|
11761
|
+
label: RoomLabel;
|
|
11762
|
+
/**
|
|
11763
|
+
* Absent when the room has none.
|
|
11764
|
+
*/
|
|
11765
|
+
description?: RoomDescription;
|
|
11766
|
+
visibility: Visibility;
|
|
11767
|
+
actions: MemberActions;
|
|
11768
|
+
/**
|
|
11769
|
+
* When the member's authority credential expires.
|
|
11770
|
+
*/
|
|
11771
|
+
validUntil: string;
|
|
11772
|
+
state: MemberStateV2;
|
|
11773
|
+
offeredAt: string;
|
|
11774
|
+
/**
|
|
11775
|
+
* When the community recorded the admission. Present when `state` is `admitted`, and kept when it becomes `removed`.
|
|
11776
|
+
*/
|
|
11777
|
+
admittedAt?: string;
|
|
11778
|
+
/**
|
|
11779
|
+
* Present exactly when `state` is `removed`.
|
|
11780
|
+
*/
|
|
11781
|
+
removedAt?: string;
|
|
11782
|
+
/**
|
|
11783
|
+
* On an `attributed` or `private` room in state `admitted`: until when the community keeps the Welcome, so that a repeated vtc/rooms/offers/accept carrying the same KeyPackage is answered with it. Absent on an `open` room, in any other state, and once the community no longer keeps it. A surface finding the member admitted but the room absent from its key holder's rooms/keys/list finishes the acceptance before this time, and asks an administrator to re-admit the member after it.
|
|
11784
|
+
*/
|
|
11785
|
+
repeatAcceptUntil?: string;
|
|
11786
|
+
/**
|
|
11787
|
+
* Present exactly when `state` is `suspended`.
|
|
11788
|
+
*/
|
|
11789
|
+
suspendedAt?: string;
|
|
11790
|
+
/**
|
|
11791
|
+
* The room's state in its owner's lifecycle. `purging` is shown to members as `removalScheduled`: to them, the room is going away either way.
|
|
11792
|
+
*/
|
|
11793
|
+
roomState: RoomState;
|
|
11794
|
+
/**
|
|
11795
|
+
* Present exactly when `roomState` is `archived` or `removalScheduled`.
|
|
11796
|
+
*/
|
|
11797
|
+
roomAccess?: ArchiveAccess;
|
|
11798
|
+
/**
|
|
11799
|
+
* Present when `roomState` is `removalScheduled`: when the room's content is to be deleted.
|
|
11800
|
+
*/
|
|
11801
|
+
purgeAt?: string;
|
|
11802
|
+
}
|
|
11637
11803
|
/**
|
|
11638
11804
|
* 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.
|
|
11639
11805
|
*
|
|
@@ -11681,6 +11847,44 @@ export interface RoomRevocation {
|
|
|
11681
11847
|
*/
|
|
11682
11848
|
until?: string;
|
|
11683
11849
|
}
|
|
11850
|
+
/**
|
|
11851
|
+
* A room's state in its owner's lifecycle, and what that state needs to be understood.
|
|
11852
|
+
*/
|
|
11853
|
+
export interface RoomStatus {
|
|
11854
|
+
state: RoomState;
|
|
11855
|
+
/**
|
|
11856
|
+
* Present exactly when `state` is `archived` or `removalScheduled`; always `noAccess` for `removalScheduled`.
|
|
11857
|
+
*/
|
|
11858
|
+
access?: ArchiveAccess;
|
|
11859
|
+
/**
|
|
11860
|
+
* When the room entered `state`. Absent for a room that has been `active` since it was created.
|
|
11861
|
+
*/
|
|
11862
|
+
changedAt?: string;
|
|
11863
|
+
/**
|
|
11864
|
+
* The administrator whose act put the room in `state`. Present exactly when `changedAt` is, except for `purging` and `removed` reached when a grace period ended, which no one did at that moment: then the administrator who scheduled the removal. The reason each gave is in the community's audit trail, not here.
|
|
11865
|
+
*/
|
|
11866
|
+
changedBy?: string;
|
|
11867
|
+
/**
|
|
11868
|
+
* Present when `state` is `removalScheduled`: when the grace period ends and the purge begins. Kept when `state` is `purging` or `removed`, as when it became due.
|
|
11869
|
+
*/
|
|
11870
|
+
purgeAt?: string;
|
|
11871
|
+
/**
|
|
11872
|
+
* Present exactly when `state` is `purging`.
|
|
11873
|
+
*/
|
|
11874
|
+
purge?: PurgeProgress;
|
|
11875
|
+
/**
|
|
11876
|
+
* Present exactly when `state` is `removed`: when the last of the room's content was deleted.
|
|
11877
|
+
*/
|
|
11878
|
+
removedAt?: string;
|
|
11879
|
+
/**
|
|
11880
|
+
* Admissions still `suspended` that the community is restoring, after the room left `noAccess` — the room re-issues each member's credentials and the member collects them as a renewal. Absent when there are none.
|
|
11881
|
+
*/
|
|
11882
|
+
restoring?: number;
|
|
11883
|
+
/**
|
|
11884
|
+
* Present while a change of state is begun and not finished.
|
|
11885
|
+
*/
|
|
11886
|
+
pendingChange?: PendingChange;
|
|
11887
|
+
}
|
|
11684
11888
|
/**
|
|
11685
11889
|
* One change to a role's key set, from preview to completion. The rotation history of a DID is the list of these; the log is the authority for what was published, and this record adds what the log cannot say — which change was which, and (custody projection only) who asked, who approved, and why.
|
|
11686
11890
|
*/
|