@openvtc/trust-tasks 0.26.24 → 0.26.25

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.
Files changed (31) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/_shared/components.d.ts +41 -1
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +2 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/rooms/keys/act/0.6/payload.d.ts +546 -0
  9. package/dist/rooms/keys/act/0.6/payload.d.ts.map +1 -0
  10. package/dist/rooms/keys/act/0.6/payload.js +305 -0
  11. package/dist/rooms/keys/act/0.6/payload.js.map +1 -0
  12. package/dist/vtc/_shared/0.1/community-room.d.ts +1 -1
  13. package/dist/vtc/_shared/0.1/community-room.d.ts.map +1 -1
  14. package/dist/vtc/groups/bindings/add/0.1/payload.d.ts +4 -4
  15. package/dist/vtc/groups/bindings/add/0.1/payload.js +2 -2
  16. package/dist/vtc/groups/bindings/add/0.1/payload.js.map +1 -1
  17. package/dist/vtc/groups/bindings/list/0.1/payload.d.ts +4 -4
  18. package/dist/vtc/groups/bindings/list/0.1/payload.js +2 -2
  19. package/dist/vtc/groups/bindings/list/0.1/payload.js.map +1 -1
  20. package/dist/vtc/rooms/offers/list/0.3/payload.d.ts +1058 -0
  21. package/dist/vtc/rooms/offers/list/0.3/payload.d.ts.map +1 -0
  22. package/dist/vtc/rooms/offers/list/0.3/payload.js +614 -0
  23. package/dist/vtc/rooms/offers/list/0.3/payload.js.map +1 -0
  24. package/package.json +1 -1
  25. package/src/_shared/components.ts +41 -1
  26. package/src/index.ts +2 -0
  27. package/src/rooms/keys/act/0.6/payload.ts +380 -0
  28. package/src/vtc/_shared/0.1/community-room.ts +1 -1
  29. package/src/vtc/groups/bindings/add/0.1/payload.ts +2 -2
  30. package/src/vtc/groups/bindings/list/0.1/payload.ts +2 -2
  31. package/src/vtc/rooms/offers/list/0.3/payload.ts +663 -0
package/CHANGELOG.md CHANGED
@@ -11,6 +11,45 @@ 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.26.25 — 2026-10-20
15
+
16
+
17
+ ### Added
18
+
19
+ - **vtc/rooms/offers**: List 0.3 — renewals of the admissions a member holds; rooms/keys/act 0.6 completes it; groups bindings refuse an unserved kind (#843)
20
+
21
+ A group's room binding says the community renews each admission it made "while
22
+ the member stays in the group". Nothing defined how an already-admitted member
23
+ receives renewed credentials. `offers/list` carries only an offer's three
24
+ credentials, and `memberships/list` carries none by design. So an admission
25
+ could only be carried past its `validUntil` by an administrator removing and
26
+ re-admitting the member.
27
+
28
+ - vtc/rooms/offers/list/0.3: the response gains `renewals`. For an admission the
29
+ caller holds, it lists the room's fresh membership and authority credentials,
30
+ granting the same actions until a later `validUntil`. `renews` names the
31
+ expiry of the ones they replace. There is no invitation: a renewal is never a
32
+ second way in.
33
+ The community issues a renewal through the room's key holder before
34
+ recording it, and lists only the latest one per admission. A renewal stays
35
+ listed on the first page until what it renews expires, the member is removed,
36
+ or a later renewal supersedes it. The community records the renewed
37
+ `validUntil` as the admission's own.
38
+ A surface stores a renewal in place of the credentials it renews, never
39
+ beside them, and treats storing it twice as success. It never accepts a
40
+ renewal.
41
+ - vtc/_shared/0.1/community-room: `Renewal` and `RenewalCredentials`, additive.
42
+ - rooms/keys/act/0.6: the table adds vtc/rooms/offers/list/0.3, in the offer
43
+ types' row and on their terms. 0.5's table is closed, so a 0.5 key holder
44
+ refuses 0.3 with `typeNotActable`.
45
+ - vtc/groups/bindings/add/0.1: item 6 renews a room binding's admissions
46
+ through offers/list 0.3. New code `kindNotServed` (item 7): a community that
47
+ serves room bindings only may refuse a grants or role binding after item 1,
48
+ and never records a binding it does not provision.
49
+ - vtc/rooms/memberships/list/0.1: a row for an admitted room with a renewal
50
+ listed, which the surface stores before anything else it offers.
51
+ - RoomBindingSpec's description points at the renewal path.
52
+
14
53
  ## 0.26.24 — 2026-10-20
15
54
 
16
55
 
@@ -8719,6 +8719,46 @@ export interface RejectedKey {
8719
8719
  */
8720
8720
  reason: string;
8721
8721
  }
8722
+ /**
8723
+ * What vtc/rooms/offers/list/0.3 returns in `renewals`: a renewal of an admission the member already holds, as the member it is addressed to sees it. `label` and `description` are the room's as they stand when it is read.
8724
+ */
8725
+ export interface Renewal {
8726
+ roomId: string;
8727
+ /**
8728
+ * The room's host: this community.
8729
+ */
8730
+ host: string;
8731
+ label: RoomLabel;
8732
+ /**
8733
+ * Absent when the room has none.
8734
+ */
8735
+ description?: RoomDescription;
8736
+ visibility: Visibility;
8737
+ actions: MemberActions;
8738
+ /**
8739
+ * When the renewed authority expires.
8740
+ */
8741
+ validUntil: string;
8742
+ /**
8743
+ * When the authority it replaces expires: the renewal is listed until then, or until a later renewal or the member's removal supersedes it.
8744
+ */
8745
+ renews: string;
8746
+ issuedAt: string;
8747
+ credentials: RenewalCredentials;
8748
+ }
8749
+ /**
8750
+ * The two credentials a renewal replaces, serialized as rooms/owner/{issue-membership,issue-authority} return them: a membership and an authority granting the same actions until the renewal's `validUntil`. No invitation: the member is already admitted, and a renewal never opens a second way in. The member's surface stores each with the member's key holder **in place of** the one it renews, never beside it.
8751
+ */
8752
+ export interface RenewalCredentials {
8753
+ /**
8754
+ * The renewed Verifiable Membership Credential.
8755
+ */
8756
+ membership: string;
8757
+ /**
8758
+ * The renewed Verifiable Authority Credential granting `actions` until `validUntil`.
8759
+ */
8760
+ authority: string;
8761
+ }
8722
8762
  /**
8723
8763
  * One repository as the VTC records it.
8724
8764
  */
@@ -9193,7 +9233,7 @@ export interface RollbackResult {
9193
9233
  ext?: Ext;
9194
9234
  }
9195
9235
  /**
9196
- * Links a room the community owns to the group: joining the group offers the member admission to the room with `actions`, valid for `validFor`; leaving removes them unless another source still covers them.
9236
+ * Links a room the community owns to the group: joining the group offers the member admission to the room with `actions`, valid for `validFor`, renewed while they stay in the group (collected with vtc/rooms/offers/list at 0.3 or later); leaving removes them unless another source still covers them.
9197
9237
  */
9198
9238
  export interface RoomBindingSpec {
9199
9239
  kind: "room";