@openvtc/trust-tasks 0.28.10 → 0.28.11

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 (250) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/dist/_shared/components.d.ts +903 -0
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/index.d.ts +144 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +144 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/vta/notifications/deposit/0.1/payload.d.ts +349 -0
  9. package/dist/vta/notifications/deposit/0.1/payload.d.ts.map +1 -0
  10. package/dist/vta/notifications/deposit/0.1/payload.js +198 -0
  11. package/dist/vta/notifications/deposit/0.1/payload.js.map +1 -0
  12. package/dist/vta/pcs/vetter/recover/0.1/payload.d.ts +667 -0
  13. package/dist/vta/pcs/vetter/recover/0.1/payload.d.ts.map +1 -0
  14. package/dist/vta/pcs/vetter/recover/0.1/payload.js +387 -0
  15. package/dist/vta/pcs/vetter/recover/0.1/payload.js.map +1 -0
  16. package/dist/vtc/notifications/_shared/0.1/received-notification.d.ts +16 -0
  17. package/dist/vtc/notifications/_shared/0.1/received-notification.d.ts.map +1 -0
  18. package/dist/vtc/notifications/_shared/0.1/received-notification.js +6 -0
  19. package/dist/vtc/notifications/_shared/0.1/received-notification.js.map +1 -0
  20. package/dist/vtc/notifications/list/0.1/payload.d.ts +1311 -0
  21. package/dist/vtc/notifications/list/0.1/payload.d.ts.map +1 -0
  22. package/dist/vtc/notifications/list/0.1/payload.js +753 -0
  23. package/dist/vtc/notifications/list/0.1/payload.js.map +1 -0
  24. package/dist/vtc/notifications/relay/0.1/payload.d.ts +568 -0
  25. package/dist/vtc/notifications/relay/0.1/payload.d.ts.map +1 -0
  26. package/dist/vtc/notifications/relay/0.1/payload.js +339 -0
  27. package/dist/vtc/notifications/relay/0.1/payload.js.map +1 -0
  28. package/dist/vtc/notifications/show/0.1/payload.d.ts +1229 -0
  29. package/dist/vtc/notifications/show/0.1/payload.d.ts.map +1 -0
  30. package/dist/vtc/notifications/show/0.1/payload.js +727 -0
  31. package/dist/vtc/notifications/show/0.1/payload.js.map +1 -0
  32. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.d.ts +340 -0
  33. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.d.ts.map +1 -0
  34. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.js +194 -0
  35. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.js.map +1 -0
  36. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.d.ts +425 -0
  37. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.d.ts.map +1 -0
  38. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.js +233 -0
  39. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.js.map +1 -0
  40. package/dist/vtn/_shared/0.1/directory.d.ts +16 -0
  41. package/dist/vtn/_shared/0.1/directory.d.ts.map +1 -0
  42. package/dist/vtn/_shared/0.1/directory.js +6 -0
  43. package/dist/vtn/_shared/0.1/directory.js.map +1 -0
  44. package/dist/vtn/_shared/0.1/entry.d.ts +16 -0
  45. package/dist/vtn/_shared/0.1/entry.d.ts.map +1 -0
  46. package/dist/vtn/_shared/0.1/entry.js +6 -0
  47. package/dist/vtn/_shared/0.1/entry.js.map +1 -0
  48. package/dist/vtn/_shared/0.1/graph.d.ts +16 -0
  49. package/dist/vtn/_shared/0.1/graph.d.ts.map +1 -0
  50. package/dist/vtn/_shared/0.1/graph.js +6 -0
  51. package/dist/vtn/_shared/0.1/graph.js.map +1 -0
  52. package/dist/vtn/_shared/0.1/groups.d.ts +16 -0
  53. package/dist/vtn/_shared/0.1/groups.d.ts.map +1 -0
  54. package/dist/vtn/_shared/0.1/groups.js +6 -0
  55. package/dist/vtn/_shared/0.1/groups.js.map +1 -0
  56. package/dist/vtn/_shared/0.1/membership.d.ts +16 -0
  57. package/dist/vtn/_shared/0.1/membership.d.ts.map +1 -0
  58. package/dist/vtn/_shared/0.1/membership.js +6 -0
  59. package/dist/vtn/_shared/0.1/membership.js.map +1 -0
  60. package/dist/vtn/_shared/0.1/relay.d.ts +16 -0
  61. package/dist/vtn/_shared/0.1/relay.d.ts.map +1 -0
  62. package/dist/vtn/_shared/0.1/relay.js +6 -0
  63. package/dist/vtn/_shared/0.1/relay.js.map +1 -0
  64. package/dist/vtn/_shared/0.1/rooms.d.ts +16 -0
  65. package/dist/vtn/_shared/0.1/rooms.d.ts.map +1 -0
  66. package/dist/vtn/_shared/0.1/rooms.js +6 -0
  67. package/dist/vtn/_shared/0.1/rooms.js.map +1 -0
  68. package/dist/vtn/audit/list/0.1/payload.d.ts +457 -0
  69. package/dist/vtn/audit/list/0.1/payload.d.ts.map +1 -0
  70. package/dist/vtn/audit/list/0.1/payload.js +292 -0
  71. package/dist/vtn/audit/list/0.1/payload.js.map +1 -0
  72. package/dist/vtn/broadcasts/list/0.1/payload.d.ts +687 -0
  73. package/dist/vtn/broadcasts/list/0.1/payload.d.ts.map +1 -0
  74. package/dist/vtn/broadcasts/list/0.1/payload.js +407 -0
  75. package/dist/vtn/broadcasts/list/0.1/payload.js.map +1 -0
  76. package/dist/vtn/broadcasts/send/0.1/payload.d.ts +728 -0
  77. package/dist/vtn/broadcasts/send/0.1/payload.d.ts.map +1 -0
  78. package/dist/vtn/broadcasts/send/0.1/payload.js +425 -0
  79. package/dist/vtn/broadcasts/send/0.1/payload.js.map +1 -0
  80. package/dist/vtn/broadcasts/show/0.1/payload.d.ts +670 -0
  81. package/dist/vtn/broadcasts/show/0.1/payload.d.ts.map +1 -0
  82. package/dist/vtn/broadcasts/show/0.1/payload.js +402 -0
  83. package/dist/vtn/broadcasts/show/0.1/payload.js.map +1 -0
  84. package/dist/vtn/directory/federated/0.1/payload.d.ts +939 -0
  85. package/dist/vtn/directory/federated/0.1/payload.d.ts.map +1 -0
  86. package/dist/vtn/directory/federated/0.1/payload.js +536 -0
  87. package/dist/vtn/directory/federated/0.1/payload.js.map +1 -0
  88. package/dist/vtn/directory/search/0.1/payload.d.ts +643 -0
  89. package/dist/vtn/directory/search/0.1/payload.d.ts.map +1 -0
  90. package/dist/vtn/directory/search/0.1/payload.js +368 -0
  91. package/dist/vtn/directory/search/0.1/payload.js.map +1 -0
  92. package/dist/vtn/directory/summary/0.1/payload.d.ts +366 -0
  93. package/dist/vtn/directory/summary/0.1/payload.d.ts.map +1 -0
  94. package/dist/vtn/directory/summary/0.1/payload.js +216 -0
  95. package/dist/vtn/directory/summary/0.1/payload.js.map +1 -0
  96. package/dist/vtn/entries/show/0.1/payload.d.ts +682 -0
  97. package/dist/vtn/entries/show/0.1/payload.d.ts.map +1 -0
  98. package/dist/vtn/entries/show/0.1/payload.js +398 -0
  99. package/dist/vtn/entries/show/0.1/payload.js.map +1 -0
  100. package/dist/vtn/graph/member/0.1/payload.d.ts +754 -0
  101. package/dist/vtn/graph/member/0.1/payload.d.ts.map +1 -0
  102. package/dist/vtn/graph/member/0.1/payload.js +470 -0
  103. package/dist/vtn/graph/member/0.1/payload.js.map +1 -0
  104. package/dist/vtn/graph/show/0.1/payload.d.ts +754 -0
  105. package/dist/vtn/graph/show/0.1/payload.d.ts.map +1 -0
  106. package/dist/vtn/graph/show/0.1/payload.js +468 -0
  107. package/dist/vtn/graph/show/0.1/payload.js.map +1 -0
  108. package/dist/vtn/groups/list/0.1/payload.d.ts +489 -0
  109. package/dist/vtn/groups/list/0.1/payload.d.ts.map +1 -0
  110. package/dist/vtn/groups/list/0.1/payload.js +282 -0
  111. package/dist/vtn/groups/list/0.1/payload.js.map +1 -0
  112. package/dist/vtn/groups/register/0.1/payload.d.ts +504 -0
  113. package/dist/vtn/groups/register/0.1/payload.d.ts.map +1 -0
  114. package/dist/vtn/groups/register/0.1/payload.js +291 -0
  115. package/dist/vtn/groups/register/0.1/payload.js.map +1 -0
  116. package/dist/vtn/listings/create/0.1/payload.d.ts +954 -0
  117. package/dist/vtn/listings/create/0.1/payload.d.ts.map +1 -0
  118. package/dist/vtn/listings/create/0.1/payload.js +549 -0
  119. package/dist/vtn/listings/create/0.1/payload.js.map +1 -0
  120. package/dist/vtn/listings/list/0.1/payload.d.ts +933 -0
  121. package/dist/vtn/listings/list/0.1/payload.d.ts.map +1 -0
  122. package/dist/vtn/listings/list/0.1/payload.js +538 -0
  123. package/dist/vtn/listings/list/0.1/payload.js.map +1 -0
  124. package/dist/vtn/listings/reinstate/0.1/payload.d.ts +926 -0
  125. package/dist/vtn/listings/reinstate/0.1/payload.d.ts.map +1 -0
  126. package/dist/vtn/listings/reinstate/0.1/payload.js +536 -0
  127. package/dist/vtn/listings/reinstate/0.1/payload.js.map +1 -0
  128. package/dist/vtn/listings/remove/0.1/payload.d.ts +926 -0
  129. package/dist/vtn/listings/remove/0.1/payload.d.ts.map +1 -0
  130. package/dist/vtn/listings/remove/0.1/payload.js +536 -0
  131. package/dist/vtn/listings/remove/0.1/payload.js.map +1 -0
  132. package/dist/vtn/listings/show/0.1/payload.d.ts +914 -0
  133. package/dist/vtn/listings/show/0.1/payload.d.ts.map +1 -0
  134. package/dist/vtn/listings/show/0.1/payload.js +532 -0
  135. package/dist/vtn/listings/show/0.1/payload.js.map +1 -0
  136. package/dist/vtn/listings/suspend/0.1/payload.d.ts +926 -0
  137. package/dist/vtn/listings/suspend/0.1/payload.d.ts.map +1 -0
  138. package/dist/vtn/listings/suspend/0.1/payload.js +536 -0
  139. package/dist/vtn/listings/suspend/0.1/payload.js.map +1 -0
  140. package/dist/vtn/listings/update/0.1/payload.d.ts +966 -0
  141. package/dist/vtn/listings/update/0.1/payload.d.ts.map +1 -0
  142. package/dist/vtn/listings/update/0.1/payload.js +550 -0
  143. package/dist/vtn/listings/update/0.1/payload.js.map +1 -0
  144. package/dist/vtn/membership/acknowledge/0.1/payload.d.ts +654 -0
  145. package/dist/vtn/membership/acknowledge/0.1/payload.d.ts.map +1 -0
  146. package/dist/vtn/membership/acknowledge/0.1/payload.js +386 -0
  147. package/dist/vtn/membership/acknowledge/0.1/payload.js.map +1 -0
  148. package/dist/vtn/membership/offer/0.1/payload.d.ts +247 -0
  149. package/dist/vtn/membership/offer/0.1/payload.d.ts.map +1 -0
  150. package/dist/vtn/membership/offer/0.1/payload.js +147 -0
  151. package/dist/vtn/membership/offer/0.1/payload.js.map +1 -0
  152. package/dist/vtn/membership/repudiate/0.1/payload.d.ts +654 -0
  153. package/dist/vtn/membership/repudiate/0.1/payload.d.ts.map +1 -0
  154. package/dist/vtn/membership/repudiate/0.1/payload.js +386 -0
  155. package/dist/vtn/membership/repudiate/0.1/payload.js.map +1 -0
  156. package/dist/vtn/memberships/groups/add/0.1/payload.d.ts +677 -0
  157. package/dist/vtn/memberships/groups/add/0.1/payload.d.ts.map +1 -0
  158. package/dist/vtn/memberships/groups/add/0.1/payload.js +394 -0
  159. package/dist/vtn/memberships/groups/add/0.1/payload.js.map +1 -0
  160. package/dist/vtn/memberships/join/0.1/payload.d.ts +755 -0
  161. package/dist/vtn/memberships/join/0.1/payload.d.ts.map +1 -0
  162. package/dist/vtn/memberships/join/0.1/payload.js +438 -0
  163. package/dist/vtn/memberships/join/0.1/payload.js.map +1 -0
  164. package/dist/vtn/memberships/leave/0.1/payload.d.ts +653 -0
  165. package/dist/vtn/memberships/leave/0.1/payload.d.ts.map +1 -0
  166. package/dist/vtn/memberships/leave/0.1/payload.js +384 -0
  167. package/dist/vtn/memberships/leave/0.1/payload.js.map +1 -0
  168. package/dist/vtn/memberships/list/0.1/payload.d.ts +651 -0
  169. package/dist/vtn/memberships/list/0.1/payload.d.ts.map +1 -0
  170. package/dist/vtn/memberships/list/0.1/payload.js +383 -0
  171. package/dist/vtn/memberships/list/0.1/payload.js.map +1 -0
  172. package/dist/vtn/memberships/repudiate/0.1/payload.d.ts +669 -0
  173. package/dist/vtn/memberships/repudiate/0.1/payload.d.ts.map +1 -0
  174. package/dist/vtn/memberships/repudiate/0.1/payload.js +391 -0
  175. package/dist/vtn/memberships/repudiate/0.1/payload.js.map +1 -0
  176. package/dist/vtn/outbox/list/0.1/payload.d.ts +567 -0
  177. package/dist/vtn/outbox/list/0.1/payload.d.ts.map +1 -0
  178. package/dist/vtn/outbox/list/0.1/payload.js +333 -0
  179. package/dist/vtn/outbox/list/0.1/payload.js.map +1 -0
  180. package/dist/vtn/outbox/retry/0.1/payload.d.ts +235 -0
  181. package/dist/vtn/outbox/retry/0.1/payload.d.ts.map +1 -0
  182. package/dist/vtn/outbox/retry/0.1/payload.js +141 -0
  183. package/dist/vtn/outbox/retry/0.1/payload.js.map +1 -0
  184. package/dist/vtn/relay/deliver/0.1/payload.d.ts +592 -0
  185. package/dist/vtn/relay/deliver/0.1/payload.d.ts.map +1 -0
  186. package/dist/vtn/relay/deliver/0.1/payload.js +352 -0
  187. package/dist/vtn/relay/deliver/0.1/payload.js.map +1 -0
  188. package/dist/vtn/roles/list/0.1/payload.d.ts +371 -0
  189. package/dist/vtn/roles/list/0.1/payload.d.ts.map +1 -0
  190. package/dist/vtn/roles/list/0.1/payload.js +213 -0
  191. package/dist/vtn/roles/list/0.1/payload.js.map +1 -0
  192. package/dist/vtn/rooms/list/0.1/payload.d.ts +447 -0
  193. package/dist/vtn/rooms/list/0.1/payload.d.ts.map +1 -0
  194. package/dist/vtn/rooms/list/0.1/payload.js +255 -0
  195. package/dist/vtn/rooms/list/0.1/payload.js.map +1 -0
  196. package/dist/vtn/rooms/pass/0.1/payload.d.ts +674 -0
  197. package/dist/vtn/rooms/pass/0.1/payload.d.ts.map +1 -0
  198. package/dist/vtn/rooms/pass/0.1/payload.js +383 -0
  199. package/dist/vtn/rooms/pass/0.1/payload.js.map +1 -0
  200. package/package.json +1 -1
  201. package/src/_shared/components.ts +922 -0
  202. package/src/index.ts +144 -0
  203. package/src/vta/notifications/deposit/0.1/payload.ts +243 -0
  204. package/src/vta/pcs/vetter/recover/0.1/payload.ts +437 -0
  205. package/src/vtc/notifications/_shared/0.1/received-notification.ts +17 -0
  206. package/src/vtc/notifications/list/0.1/payload.ts +809 -0
  207. package/src/vtc/notifications/relay/0.1/payload.ts +382 -0
  208. package/src/vtc/notifications/show/0.1/payload.ts +761 -0
  209. package/src/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.ts +247 -0
  210. package/src/vtc/vetting/vetters/pcs-binding/show/0.1/payload.ts +295 -0
  211. package/src/vtn/_shared/0.1/directory.ts +17 -0
  212. package/src/vtn/_shared/0.1/entry.ts +17 -0
  213. package/src/vtn/_shared/0.1/graph.ts +17 -0
  214. package/src/vtn/_shared/0.1/groups.ts +17 -0
  215. package/src/vtn/_shared/0.1/membership.ts +17 -0
  216. package/src/vtn/_shared/0.1/relay.ts +17 -0
  217. package/src/vtn/_shared/0.1/rooms.ts +17 -0
  218. package/src/vtn/audit/list/0.1/payload.ts +336 -0
  219. package/src/vtn/broadcasts/list/0.1/payload.ts +447 -0
  220. package/src/vtn/broadcasts/send/0.1/payload.ts +478 -0
  221. package/src/vtn/broadcasts/show/0.1/payload.ts +439 -0
  222. package/src/vtn/directory/federated/0.1/payload.ts +594 -0
  223. package/src/vtn/directory/search/0.1/payload.ts +418 -0
  224. package/src/vtn/directory/summary/0.1/payload.ts +253 -0
  225. package/src/vtn/entries/show/0.1/payload.ts +439 -0
  226. package/src/vtn/graph/member/0.1/payload.ts +511 -0
  227. package/src/vtn/graph/show/0.1/payload.ts +509 -0
  228. package/src/vtn/groups/list/0.1/payload.ts +322 -0
  229. package/src/vtn/groups/register/0.1/payload.ts +336 -0
  230. package/src/vtn/listings/create/0.1/payload.ts +594 -0
  231. package/src/vtn/listings/list/0.1/payload.ts +578 -0
  232. package/src/vtn/listings/reinstate/0.1/payload.ts +577 -0
  233. package/src/vtn/listings/remove/0.1/payload.ts +577 -0
  234. package/src/vtn/listings/show/0.1/payload.ts +569 -0
  235. package/src/vtn/listings/suspend/0.1/payload.ts +577 -0
  236. package/src/vtn/listings/update/0.1/payload.ts +603 -0
  237. package/src/vtn/membership/acknowledge/0.1/payload.ts +423 -0
  238. package/src/vtn/membership/offer/0.1/payload.ts +183 -0
  239. package/src/vtn/membership/repudiate/0.1/payload.ts +423 -0
  240. package/src/vtn/memberships/groups/add/0.1/payload.ts +442 -0
  241. package/src/vtn/memberships/join/0.1/payload.ts +488 -0
  242. package/src/vtn/memberships/leave/0.1/payload.ts +424 -0
  243. package/src/vtn/memberships/list/0.1/payload.ts +419 -0
  244. package/src/vtn/memberships/repudiate/0.1/payload.ts +435 -0
  245. package/src/vtn/outbox/list/0.1/payload.ts +369 -0
  246. package/src/vtn/outbox/retry/0.1/payload.ts +177 -0
  247. package/src/vtn/relay/deliver/0.1/payload.ts +397 -0
  248. package/src/vtn/roles/list/0.1/payload.ts +253 -0
  249. package/src/vtn/rooms/list/0.1/payload.ts +295 -0
  250. package/src/vtn/rooms/pass/0.1/payload.ts +439 -0
@@ -662,6 +662,14 @@ export type DecryptionTarget = {
662
662
  * `queued`: stored and not yet handed to the recipient. `delivered`: handed to the recipient (pickup or live stream) but not yet deleted by it — the recipient has not acknowledged it.
663
663
  */
664
664
  export type DeliveryState = "queued" | "delivered";
665
+ /**
666
+ * What happened to one delivery. `queued` will be retried.
667
+ */
668
+ export type DeliveryStatus = "delivered" | "duplicate" | "refused" | "queued" | "failed";
669
+ /**
670
+ * What the listed party is, for the directory.
671
+ */
672
+ export type Description = string;
665
673
  /**
666
674
  * Producer-supplied attestation at registration time, verifiable by the maintainer against the platform's attestation infrastructure. Tagged union over the discriminator `kind`.
667
675
  */
@@ -711,6 +719,10 @@ export type Did_GitNsV0_3 = string;
711
719
  * A DID.
712
720
  */
713
721
  export type Did_NotificationsV0_1 = string;
722
+ /**
723
+ * A DID.
724
+ */
725
+ export type Did_VtnV0_1 = string;
714
726
  /**
715
727
  * A cryptographic digest as a multibase-encoded multihash — the encoding the W3C Verifiable Credentials Data Model 2.0 defines for `digestMultibase`, and the one `did:webvh` uses for its SCID and entry hashes.
716
728
  *
@@ -750,6 +762,14 @@ export type DtgType = string;
750
762
  * An ISO 8601 duration in weeks, days, hours, minutes and seconds only (e.g. `P120D`, `P2W`, `P1DT12H`, `PT15M`). Years and months are refused: their length depends on the calendar, and an age limit that means different things on different days is not a limit.
751
763
  */
752
764
  export type Duration = string;
765
+ /**
766
+ * Which credential an edge is.
767
+ */
768
+ export type EdgeRole = "listing" | "grant" | "acknowledgement" | "repudiation";
769
+ /**
770
+ * The credential's status as far as this network can determine it. `unchecked` is a credential whose status list this network does not hold.
771
+ */
772
+ export type EdgeStatus = "valid" | "suspended" | "revoked" | "unchecked";
753
773
  /**
754
774
  * Whether the subject is permitted. The ABSENCE of any grant is treated as `deny` (default-deny).
755
775
  */
@@ -777,6 +797,14 @@ export type EnrolledVia = "install" | "invite" | "selfService" | "offline";
777
797
  * Opaque identifier of one directory entry: `dir_` followed by 16 to 64 base64url characters. Random, scoped to one community, and stable for the life of the membership — it survives a rotation of the member's DID, which is why groups, notes and cards are keyed by it. It MUST NOT be derived from, and MUST NOT reveal, any DID of the member, and the same person's entries in two communities MUST NOT share one. Compared by exact string equality.
778
798
  */
779
799
  export type EntryId = string;
800
+ /**
801
+ * What the entry lists (VTI-VTN-031): a community, whose entries are its members, or a network, whose entries are further listings. A listing credential carries the same fact as `nodeType` `VTC` or `VTN`.
802
+ */
803
+ export type EntryKind = "community" | "network";
804
+ /**
805
+ * `listed`: the network lists the party and the party has not answered; this is never membership (VTI-VTN-013). `acknowledged`: the party acknowledged the network's grant; it is a member. `repudiated`: the party rejected the listing. `suspended`: the network suspended the membership; reversible. `removed`: the network ended the entry. `departed`: the party left, by repudiating the grant.
806
+ */
807
+ export type EntryState = "listed" | "acknowledged" | "repudiated" | "suspended" | "removed" | "departed";
780
808
  /**
781
809
  * The earliest epoch whose storage key a room still lets anybody derive: its chain was pruned below it (`rooms/epoch/prune`), and every epoch under it is meant to be unreadable — at the host, and, as far as each of them conforms, at every member's key holder. Absent means the room's chain has never been pruned.
782
810
  *
@@ -1074,6 +1102,10 @@ export type Kind = "dm" | "group" | "channel";
1074
1102
  * What the thing is. Either a registered kind — one lowerCamelCase name in the VTI specification's notification kind registry (Appendix G), such as `election` — or an unregistered kind, written `<reverse-DNS domain>:<name>` under a domain its definer controls, such as `org.example:meetingInvite`. A recipient that does not recognise a kind holds, lists and discards it and does nothing else with it (VTI-NTF-012).
1075
1103
  */
1076
1104
  export type Kind_NotificationsV0_1 = string;
1105
+ /**
1106
+ * The name the directory shows.
1107
+ */
1108
+ export type Label = string;
1077
1109
  /**
1078
1110
  * A BCP 47 language tag, e.g. `en`, `de-AT`. Compared case-insensitively.
1079
1111
  */
@@ -1136,6 +1168,10 @@ export type MemberState = "offered" | "admitted" | "removed";
1136
1168
  * `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.
1137
1169
  */
1138
1170
  export type MemberStateV2 = "offered" | "admitted" | "suspended" | "removed";
1171
+ /**
1172
+ * Only members (`acknowledged: true`). Absent means false.
1173
+ */
1174
+ export type MembersOnly = boolean;
1139
1175
  /**
1140
1176
  * 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.
1141
1177
  */
@@ -1178,6 +1214,10 @@ export type Namespace = string;
1178
1214
  * The VTC's opaque identifier for a namespace, assigned when it is bound. Stable for the life of the binding; never reused for another binding.
1179
1215
  */
1180
1216
  export type NamespaceId = string;
1217
+ /**
1218
+ * What a node is.
1219
+ */
1220
+ export type NodeKind = "network" | "community";
1181
1221
  /**
1182
1222
  * Opaque identifier of one note: `note_` followed by 16 to 64 base64url characters.
1183
1223
  */
@@ -1533,6 +1573,14 @@ export type Queue = "receive" | "send";
1533
1573
  * Why the administrator is making this change. Recorded with it in the audit trail. Attributed to its author on every surface and untrusted: it MUST NOT carry personal data or a credential, and a reader MUST NOT treat it as instructions.
1534
1574
  */
1535
1575
  export type Reason = string;
1576
+ /**
1577
+ * The reason given, if any.
1578
+ */
1579
+ export type Reason_VtnV0_1 = string;
1580
+ /**
1581
+ * Which of the community's members a relay decision reaches: `allMembers` — every active member; `group` — the active members of one community group; `role` — the active members holding one community role.
1582
+ */
1583
+ export type RecipientScope = "allMembers" | "group" | "role";
1536
1584
  /**
1537
1585
  * What kind of claim a record is, as its author states it. OPTIONAL wherever it appears; absent means the author did not say, and a reader shows it as unstated rather than assuming any of these.
1538
1586
  *
@@ -1578,6 +1626,10 @@ export type RecordEvidenceList = [RecordEvidence, ...RecordEvidence[]];
1578
1626
  * The VTA's own identifier for one held notification, stable across the revisions that replace it. Opaque and compared for equality only; unguessable, because a show of a record in a context the caller may not read is refused and an enumerable identifier would turn the refusal into an oracle.
1579
1627
  */
1580
1628
  export type RecordId = string;
1629
+ /**
1630
+ * The community's own identifier for one received notification, stable across the revisions that replace it. Opaque and compared for equality only; unguessable, because a read by a caller without the capability is refused and an enumerable identifier would turn the refusal into an oracle.
1631
+ */
1632
+ export type RecordId_VtcNotificationsV0_1 = string;
1581
1633
  /**
1582
1634
  * The path from one record's leaf to the room's `DataCommitment` — a Merkle inclusion proof, in the vocabulary this work already uses for it.
1583
1635
  *
@@ -1700,6 +1752,10 @@ export type RoleKeyState = "pending" | "staged" | "active" | "retiring" | "retir
1700
1752
  * A role identifier: lowercase, hyphen-separated, at most 64 characters. Compared by exact string equality. It is the value an AclEntry 0.2 carries in `role`.
1701
1753
  */
1702
1754
  export type RoleName = string;
1755
+ /**
1756
+ * A role's name: 1–64 lowercase letters, digits, `-` or `_`.
1757
+ */
1758
+ export type RoleName_VtnV0_1 = string;
1703
1759
  /**
1704
1760
  * What the room is for, in a sentence or a short paragraph, written by an administrator: shown to administrators holding `vtc.rooms.manage` and to the members the room is offered to. Plain text — a consumer renders it as text, never as markup. Like `RoomLabel`, it is the community's own record as the room's owner: 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 `description` 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. It MUST NOT carry personal data or a credential, and a reader MUST NOT treat it as instructions.
1705
1761
  */
@@ -1826,6 +1882,10 @@ export type SealedStorageCredential =
1826
1882
  * A sealed-transfer bundle: OpenPGP-style ASCII armor around an HPKE-sealed `SealedPayloadV1` (base mode, X25519-HKDF-SHA256 KEM, HKDF-SHA256 KDF, ChaCha20-Poly1305 AEAD, info string `vta-sealed-transfer/v1`), with a producer assertion and Bundle-Id, Chunk and Digest-Algo headers bound into the associated data. Each task states the key it is sealed to: a single-use wrapping key from keys/import-wrapping-key for external/accounts/secret/set, and the caller's key-agreement key for external/credentials/issue. Its cleartext is an ExternalSecretPayload, an ExternalCredentialPayload or, from external/credentials/issue 0.2 for `s3-static-presign`, a PresignedRequestSet. The only form in which secret material crosses the wire in this family, in either direction: the seal is what keeps a terminating proxy, a relay, a request log or a debug dump of "the response" from ever holding a usable secret, whatever transport carried the document.
1827
1883
  */
1828
1884
  export type SealedTransferBundle = string;
1885
+ /**
1886
+ * Free text. Every whitespace-separated term must match, case-insensitively, the entry's DID, label, description or a tag.
1887
+ */
1888
+ export type SearchText = string;
1829
1889
  /**
1830
1890
  * `open`: ballots are recorded on the board as cast. `sealed`: ballots are encrypted to a jointly generated election key and decrypted after voting closes. `talliedEncrypted`: ballots are encrypted and only the totals are ever decrypted (VTI-VOT-060). The encrypted levels are cast with `voting/ballot/cast-encrypted/0.1`, under an election key the trustees generate with `voting/trustees/*` (CONVENTIONS §9).
1831
1891
  */
@@ -2027,6 +2087,12 @@ export type SyncEvent_SyncV0_2 =
2027
2087
  | VaultDeletedEvent_SyncV0_2
2028
2088
  | AclChangedEvent_SyncV0_2
2029
2089
  | PolicyChangedEvent_SyncV0_2;
2090
+ /**
2091
+ * Free-text tags the directory searches.
2092
+ *
2093
+ * @maxItems 32
2094
+ */
2095
+ export type Tags = string[];
2030
2096
  /**
2031
2097
  * A family of Trust Tasks, named by a slug prefix of whole segments (SPEC §6.1 grammar): `vtc/directory` names every task whose slug is `vtc/directory` or begins `vtc/directory/`, at any version. A prefix matches on segment boundaries only, so `vtc/dir` names nothing under `vtc/directory`.
2032
2098
  */
@@ -2138,6 +2204,10 @@ export type UpdateKeyClass = "routine" | "recovery";
2138
2204
  * Handle for one upload across begin, chunk, commit and abort, and — for a bundle — deploy. Recipient-generated and unguessable, which is what lets a reference to somebody else's upload be answered as not-found without confirming it exists. Opaque: a producer quotes what it was given.
2139
2205
  */
2140
2206
  export type UploadId = string;
2207
+ /**
2208
+ * The party's public address.
2209
+ */
2210
+ export type Url = string;
2141
2211
  /**
2142
2212
  * The JSON shape of `value`, declared so that a consumer can render and compare without guessing. The maintainer validates that `value` agrees with this member and does nothing further: it does NOT validate a phone number against a phone-number grammar. That is a producer's affordance, and a store that grows opinions about the contents of its records eventually blocks its consumer's release.
2143
2213
  */
@@ -5597,6 +5667,35 @@ export interface AuditEnvelope {
5597
5667
  };
5598
5668
  ext?: Ext;
5599
5669
  }
5670
+ /**
5671
+ * One change to the published set, as the audit trail records it.
5672
+ */
5673
+ export interface AuditEvent {
5674
+ /**
5675
+ * When it happened.
5676
+ */
5677
+ occurredAt: string;
5678
+ /**
5679
+ * The entry it happened to.
5680
+ */
5681
+ did: Did_VtnV0_1;
5682
+ /**
5683
+ * What happened.
5684
+ */
5685
+ event: "list" | "acknowledge" | "repudiate" | "suspend" | "reinstate" | "remove" | "depart" | "update";
5686
+ /**
5687
+ * The entry's state afterwards.
5688
+ */
5689
+ to: EntryState;
5690
+ /**
5691
+ * Who did it: an administrator, or the listed party.
5692
+ */
5693
+ actor: Did_VtnV0_1;
5694
+ /**
5695
+ * The reason given, if any.
5696
+ */
5697
+ reason?: string;
5698
+ }
5600
5699
  /**
5601
5700
  * The credential the client returns from `navigator.credentials.get`. Binary fields are base64url-encoded.
5602
5701
  */
@@ -6069,6 +6168,47 @@ export interface BreakGlass_GitNsV0_6 {
6069
6168
  */
6070
6169
  ratifiedAt?: string;
6071
6170
  }
6171
+ /**
6172
+ * A broadcast as this network sent or relayed it.
6173
+ */
6174
+ export interface BroadcastRecord {
6175
+ /**
6176
+ * The message id.
6177
+ */
6178
+ id: string;
6179
+ /**
6180
+ * Whether this network sent it or received it to relay.
6181
+ */
6182
+ direction: "sent" | "received";
6183
+ /**
6184
+ * The role it was addressed to.
6185
+ */
6186
+ role: RoleName_VtnV0_1;
6187
+ /**
6188
+ * The signed message.
6189
+ */
6190
+ message: Credential;
6191
+ /**
6192
+ * For a received message, the network that delivered it.
6193
+ */
6194
+ from?: Did_VtnV0_1;
6195
+ /**
6196
+ * For a sent message, the administrator that sent it.
6197
+ */
6198
+ actor?: Did_VtnV0_1;
6199
+ /**
6200
+ * When.
6201
+ */
6202
+ recordedAt: string;
6203
+ /**
6204
+ * Per group.
6205
+ */
6206
+ receipts: Receipt[];
6207
+ /**
6208
+ * Groups delivered to, counting relays.
6209
+ */
6210
+ reached: number;
6211
+ }
6072
6212
  /**
6073
6213
  * A capability held by an entry, optionally qualified by a resource, optionally marked additive. A qualified grant confers nothing without a live entry for the same subject, and is bounded as delegated authority is.
6074
6214
  */
@@ -6236,6 +6376,19 @@ export interface Cast {
6236
6376
  tag: Multibase_VotingV0_1;
6237
6377
  attestation: Multibase_VotingV0_1;
6238
6378
  }
6379
+ /**
6380
+ * One registration on the path from a person's community up to the network a room belongs to: the member's signed request and the accepting network's groupRegistered credential.
6381
+ */
6382
+ export interface ChainLink {
6383
+ /**
6384
+ * A member's signed vtn/groups/register request.
6385
+ */
6386
+ registration: SignedTask;
6387
+ /**
6388
+ * The network's groupRegistered credential: a statement (`https://openvtc.org/vtn/vsc/groupRegistered/1`) issued by the accepting network, subject the group, `object.digestMultibase` the digest of `registration`, with a `credentialStatus` on the network's revocation list.
6389
+ */
6390
+ acceptance: Credential;
6391
+ }
6239
6392
  /**
6240
6393
  * The terms of a `chunkedTrustTask` transfer, committed before any chunk moves. On export the recipient states them in the descriptor; on import the producer pre-commits them in the request and the recipient echoes them. Either way the manifest arrives in a document whose proof is REQUIRED, so the per-chunk digests are authenticated by the party that computed them and each chunk can be verified — and a single bad chunk re-fetched or refused — on arrival rather than only after reassembly.
6241
6394
  *
@@ -6810,6 +6963,10 @@ export interface ContextRecord {
6810
6963
  updatedAt: string;
6811
6964
  ext?: Ext;
6812
6965
  }
6966
+ /**
6967
+ * A DTG credential (W3C VC 2.0, JSON) exactly as signed. Verified by the party relying on it, never by its shape here: it is an open object so a binding cannot narrow away a member the proof covers.
6968
+ */
6969
+ export interface Credential {}
6813
6970
  /**
6814
6971
  * A pointer to an issued credential, without the credential itself.
6815
6972
  *
@@ -7802,6 +7959,44 @@ export interface DirectoryEntry {
7802
7959
  */
7803
7960
  sharedGroups?: string[];
7804
7961
  }
7962
+ /**
7963
+ * One directory result.
7964
+ */
7965
+ export interface DirectoryEntry_VtnV0_1 {
7966
+ did: Did_VtnV0_1;
7967
+ kind: EntryKind;
7968
+ state: EntryState;
7969
+ /**
7970
+ * Whether the party is a member. Every result states it (VTI-VTN-013).
7971
+ */
7972
+ acknowledged: boolean;
7973
+ /**
7974
+ * The name shown.
7975
+ */
7976
+ label?: string;
7977
+ /**
7978
+ * What the party is.
7979
+ */
7980
+ description?: string;
7981
+ /**
7982
+ * The party's public address.
7983
+ */
7984
+ url?: string;
7985
+ /**
7986
+ * Tags.
7987
+ *
7988
+ * @maxItems 32
7989
+ */
7990
+ tags?: string[];
7991
+ /**
7992
+ * The listing credential's `id`, to fetch it.
7993
+ */
7994
+ listingId?: string;
7995
+ /**
7996
+ * The grant's `id`, once acknowledged.
7997
+ */
7998
+ grantId?: string;
7999
+ }
7805
8000
  /**
7806
8001
  * Links a contact to the entry in a community's member directory it corresponds to, so the holder's own client can join that community's directory with the holder's address book — showing a star or a petname beside an entry — without either side telling the other. The community never learns the link exists; the contact never learns it either. A contact has at most one.
7807
8002
  */
@@ -7815,6 +8010,27 @@ export interface DirectoryRef {
7815
8010
  */
7816
8011
  entryId: DirectoryEntryId;
7817
8012
  }
8013
+ /**
8014
+ * Counts over the published set.
8015
+ */
8016
+ export interface DirectorySummary {
8017
+ /**
8018
+ * Published community entries.
8019
+ */
8020
+ communities: number;
8021
+ /**
8022
+ * Published network entries.
8023
+ */
8024
+ networks: number;
8025
+ /**
8026
+ * Of those, members.
8027
+ */
8028
+ acknowledged: number;
8029
+ /**
8030
+ * Of those, listed but not members.
8031
+ */
8032
+ unacknowledged: number;
8033
+ }
7818
8034
  /**
7819
8035
  * One active field of the community's directory, as an applicant needs to see it: what it is, who writes its value, the widest audience it may ever reach and the audience a new card gives it. Disabled and retired fields are not listed: no projection shows them.
7820
8036
  */
@@ -8175,6 +8391,33 @@ export interface DynamicRule {
8175
8391
  RuleCondition
8176
8392
  ];
8177
8393
  }
8394
+ /**
8395
+ * One credential, from issuer to subject. A membership is two edges: the grant and the acknowledgement.
8396
+ */
8397
+ export interface Edge {
8398
+ /**
8399
+ * The credential's `id`.
8400
+ */
8401
+ id: string;
8402
+ /**
8403
+ * The issuer.
8404
+ */
8405
+ source: Did_VtnV0_1;
8406
+ /**
8407
+ * The subject.
8408
+ */
8409
+ target: Did_VtnV0_1;
8410
+ role: EdgeRole;
8411
+ /**
8412
+ * The credential's DTG type, e.g. `MembershipCredential`.
8413
+ */
8414
+ credType: string;
8415
+ status: EdgeStatus;
8416
+ /**
8417
+ * The credential itself.
8418
+ */
8419
+ credential: Credential;
8420
+ }
8178
8421
  /**
8179
8422
  * One consequence of executing the pending task, authored by the executor that is about to run it. An effect is produced by dry-running the real handler against the executor's own prior state — never by the requester, and never by re-implementing the handler's semantics elsewhere. A consent surface renders ONLY effects it received under the executor's signature.
8180
8423
  */
@@ -8371,12 +8614,65 @@ export interface EndorsementType {
8371
8614
  */
8372
8615
  createdByDid?: string;
8373
8616
  }
8617
+ /**
8618
+ * An entry as its network's administrators see it.
8619
+ */
8620
+ export interface Entry {
8621
+ /**
8622
+ * The listed party's DID.
8623
+ */
8624
+ did: Did_VtnV0_1;
8625
+ kind: EntryKind;
8626
+ label?: Label;
8627
+ profile: EntryProfile;
8628
+ state: EntryState;
8629
+ /**
8630
+ * When the party was first listed.
8631
+ */
8632
+ createdAt: string;
8633
+ /**
8634
+ * When the entry last changed.
8635
+ */
8636
+ updatedAt: string;
8637
+ /**
8638
+ * The listing credential (`lists/1`).
8639
+ */
8640
+ listing: Issued;
8641
+ /**
8642
+ * The unsigned membership grant offered to the party, before it acknowledged.
8643
+ */
8644
+ offer?: Issued;
8645
+ /**
8646
+ * The signed membership grant (VMC), once the party acknowledged.
8647
+ */
8648
+ grant?: Issued;
8649
+ /**
8650
+ * The party's acknowledgement (VMC carrying the grant's digest).
8651
+ */
8652
+ ack?: Credential;
8653
+ /**
8654
+ * The party's repudiation (`repudiates/1`) of the listing or the grant.
8655
+ */
8656
+ repudiation?: Credential;
8657
+ /**
8658
+ * Every transition, oldest first.
8659
+ */
8660
+ history: StateChange[];
8661
+ }
8374
8662
  /**
8375
8663
  * The fields of one entry that a particular viewer may see, keyed by field: the intersection of the member's visibility, the community's ceiling and policy, plus any derived fields that intersection admits. A withheld field is ABSENT, never null.
8376
8664
  */
8377
8665
  export interface EntryFields {
8378
8666
  [k: string]: FieldValue | undefined;
8379
8667
  }
8668
+ /**
8669
+ * What the directory shows about an entry, set by the network's administrators.
8670
+ */
8671
+ export interface EntryProfile {
8672
+ description?: Description;
8673
+ url?: Url;
8674
+ tags?: Tags;
8675
+ }
8380
8676
  export interface EnumOption {
8381
8677
  /**
8382
8678
  * The stored value.
@@ -8387,6 +8683,136 @@ export interface EnumOption {
8387
8683
  */
8388
8684
  label: string;
8389
8685
  }
8686
+ /**
8687
+ * A broadcast in transit.
8688
+ */
8689
+ export interface Envelope {
8690
+ /**
8691
+ * The message, signed by the origin network.
8692
+ */
8693
+ message: Credential;
8694
+ /**
8695
+ * One signed hop per relay step, each by the network that owns the previous hop's group.
8696
+ *
8697
+ * @maxItems 16
8698
+ */
8699
+ hops:
8700
+ | []
8701
+ | [Credential]
8702
+ | [Credential, Credential]
8703
+ | [Credential, Credential, Credential]
8704
+ | [Credential, Credential, Credential, Credential]
8705
+ | [Credential, Credential, Credential, Credential, Credential]
8706
+ | [Credential, Credential, Credential, Credential, Credential, Credential]
8707
+ | [Credential, Credential, Credential, Credential, Credential, Credential, Credential]
8708
+ | [Credential, Credential, Credential, Credential, Credential, Credential, Credential, Credential]
8709
+ | [Credential, Credential, Credential, Credential, Credential, Credential, Credential, Credential, Credential]
8710
+ | [
8711
+ Credential,
8712
+ Credential,
8713
+ Credential,
8714
+ Credential,
8715
+ Credential,
8716
+ Credential,
8717
+ Credential,
8718
+ Credential,
8719
+ Credential,
8720
+ Credential
8721
+ ]
8722
+ | [
8723
+ Credential,
8724
+ Credential,
8725
+ Credential,
8726
+ Credential,
8727
+ Credential,
8728
+ Credential,
8729
+ Credential,
8730
+ Credential,
8731
+ Credential,
8732
+ Credential,
8733
+ Credential
8734
+ ]
8735
+ | [
8736
+ Credential,
8737
+ Credential,
8738
+ Credential,
8739
+ Credential,
8740
+ Credential,
8741
+ Credential,
8742
+ Credential,
8743
+ Credential,
8744
+ Credential,
8745
+ Credential,
8746
+ Credential,
8747
+ Credential
8748
+ ]
8749
+ | [
8750
+ Credential,
8751
+ Credential,
8752
+ Credential,
8753
+ Credential,
8754
+ Credential,
8755
+ Credential,
8756
+ Credential,
8757
+ Credential,
8758
+ Credential,
8759
+ Credential,
8760
+ Credential,
8761
+ Credential,
8762
+ Credential
8763
+ ]
8764
+ | [
8765
+ Credential,
8766
+ Credential,
8767
+ Credential,
8768
+ Credential,
8769
+ Credential,
8770
+ Credential,
8771
+ Credential,
8772
+ Credential,
8773
+ Credential,
8774
+ Credential,
8775
+ Credential,
8776
+ Credential,
8777
+ Credential,
8778
+ Credential
8779
+ ]
8780
+ | [
8781
+ Credential,
8782
+ Credential,
8783
+ Credential,
8784
+ Credential,
8785
+ Credential,
8786
+ Credential,
8787
+ Credential,
8788
+ Credential,
8789
+ Credential,
8790
+ Credential,
8791
+ Credential,
8792
+ Credential,
8793
+ Credential,
8794
+ Credential,
8795
+ Credential
8796
+ ]
8797
+ | [
8798
+ Credential,
8799
+ Credential,
8800
+ Credential,
8801
+ Credential,
8802
+ Credential,
8803
+ Credential,
8804
+ Credential,
8805
+ Credential,
8806
+ Credential,
8807
+ Credential,
8808
+ Credential,
8809
+ Credential,
8810
+ Credential,
8811
+ Credential,
8812
+ Credential,
8813
+ Credential
8814
+ ];
8815
+ }
8390
8816
  /**
8391
8817
  * What a room writes into its own witnessed log, so that a host serving a stale, forked or partial view of it becomes **evident rather than merely possible**.
8392
8818
  *
@@ -8566,6 +8992,52 @@ export interface ExternalCard {
8566
8992
  */
8567
8993
  publishedAt?: string;
8568
8994
  }
8995
+ /**
8996
+ * A result from a member network's set, with the network that lists it and the path to that network.
8997
+ */
8998
+ export interface FederatedEntry {
8999
+ did: Did_VtnV0_1;
9000
+ kind: EntryKind;
9001
+ state: EntryState;
9002
+ /**
9003
+ * Whether the party is a member. Every result states it (VTI-VTN-013).
9004
+ */
9005
+ acknowledged: boolean;
9006
+ /**
9007
+ * The name shown.
9008
+ */
9009
+ label?: string;
9010
+ /**
9011
+ * What the party is.
9012
+ */
9013
+ description?: string;
9014
+ /**
9015
+ * The party's public address.
9016
+ */
9017
+ url?: string;
9018
+ /**
9019
+ * Tags.
9020
+ *
9021
+ * @maxItems 32
9022
+ */
9023
+ tags?: string[];
9024
+ /**
9025
+ * The listing credential's `id`, to fetch it.
9026
+ */
9027
+ listingId?: string;
9028
+ /**
9029
+ * The grant's `id`, once acknowledged.
9030
+ */
9031
+ grantId?: string;
9032
+ /**
9033
+ * The network whose set the result is in.
9034
+ */
9035
+ listedBy: Did_VtnV0_1;
9036
+ /**
9037
+ * From the searched network to `listedBy`, one hop per nesting.
9038
+ */
9039
+ path: PathHop[];
9040
+ }
8569
9041
  /**
8570
9042
  * One displayed value, with where it comes from and how to render it.
8571
9043
  */
@@ -8833,6 +9305,19 @@ export interface GrantsBindingSpec {
8833
9305
  */
8834
9306
  grants: [CapabilityRef, ...CapabilityRef[]];
8835
9307
  }
9308
+ /**
9309
+ * The graph.
9310
+ */
9311
+ export interface Graph {
9312
+ /**
9313
+ * The parties.
9314
+ */
9315
+ nodes: Node[];
9316
+ /**
9317
+ * The credentials.
9318
+ */
9319
+ edges: Edge[];
9320
+ }
8836
9321
  /**
8837
9322
  * A community group, as a caller who may see it sees it. Members a caller may not see are absent: `memberCount` only to those who may see the group's members, `managers` and `credentialAuthorityValidUntil` only to its managers.
8838
9323
  */
@@ -9330,6 +9815,42 @@ export interface InForce_VtcV0_4 {
9330
9815
  */
9331
9816
  reason?: string;
9332
9817
  }
9818
+ /**
9819
+ * An entry as the network publishes it, with the credentials a verifier needs.
9820
+ */
9821
+ export interface IndexEntry {
9822
+ /**
9823
+ * The listed party's DID.
9824
+ */
9825
+ did: Did_VtnV0_1;
9826
+ kind: EntryKind;
9827
+ state: EntryState;
9828
+ /**
9829
+ * Whether the party acknowledged: true only for a member. Every published entry states it (VTI-VTN-013).
9830
+ */
9831
+ acknowledged: boolean;
9832
+ /**
9833
+ * The name the directory shows.
9834
+ */
9835
+ label?: string;
9836
+ profile: EntryProfile;
9837
+ /**
9838
+ * The listing credential.
9839
+ */
9840
+ listing: Credential;
9841
+ /**
9842
+ * The membership grant, once acknowledged.
9843
+ */
9844
+ grant?: Credential;
9845
+ /**
9846
+ * The party's acknowledgement.
9847
+ */
9848
+ acknowledgement?: Credential;
9849
+ /**
9850
+ * The party's repudiation.
9851
+ */
9852
+ repudiation?: Credential;
9853
+ }
9333
9854
  /**
9334
9855
  * Registry view of one issued Invitation Credential. Carries no credential material — the VIC itself is returned only once, by `issue`.
9335
9856
  */
@@ -9432,6 +9953,19 @@ export interface InviteSummary_VtcV0_2 {
9432
9953
  */
9433
9954
  consumedAt?: string;
9434
9955
  }
9956
+ /**
9957
+ * A credential the network issued, with where its status is kept.
9958
+ */
9959
+ export interface Issued {
9960
+ /**
9961
+ * The credential as issued.
9962
+ */
9963
+ credential: Credential;
9964
+ /**
9965
+ * The credential's index in the network's status lists.
9966
+ */
9967
+ statusIndex: number;
9968
+ }
9435
9969
  /**
9436
9970
  * The members of an issuance receipt, deliberately left **open** so a consuming specification can `$ref` it under `allOf` and add its own, then close the result with `unevaluatedProperties: false`.
9437
9971
  *
@@ -10078,6 +10612,10 @@ export interface MemberResponse {
10078
10612
  */
10079
10613
  extensions: {};
10080
10614
  }
10615
+ /**
10616
+ * A person's membership credential (VMC) from a community that is a member of this network, holder-bound to the requester's identity. Open for the same reason as `Credential`.
10617
+ */
10618
+ export interface Membership {}
10081
10619
  /**
10082
10620
  * Metadata of one stored message. Never carries the message body.
10083
10621
  */
@@ -10461,6 +10999,32 @@ export interface NewCardDefaults {
10461
10999
  */
10462
11000
  introductions?: Introductions;
10463
11001
  }
11002
+ /**
11003
+ * A party.
11004
+ */
11005
+ export interface Node {
11006
+ /**
11007
+ * The party's DID.
11008
+ */
11009
+ id: Did_VtnV0_1;
11010
+ kind: NodeKind;
11011
+ /**
11012
+ * Its name.
11013
+ */
11014
+ label?: string;
11015
+ /**
11016
+ * Its entry's state; absent for the root.
11017
+ */
11018
+ state?: EntryState;
11019
+ /**
11020
+ * Whether this is the network whose graph it is.
11021
+ */
11022
+ root: boolean;
11023
+ /**
11024
+ * Where a member network is reached, so a viewer can expand it.
11025
+ */
11026
+ url?: string;
11027
+ }
10464
11028
  /**
10465
11029
  * The members of one notification, as notifications/notify carries them and as a recipient's agent records them. The originator is the `issuer` of the notifications/notify document and the addressee its `recipient`; neither is repeated here, because the originator's proof covers both.
10466
11030
  */
@@ -10551,6 +11115,44 @@ export interface OfferV2 {
10551
11115
  state: "open" | "accepted";
10552
11116
  credentials: OfferCredentials;
10553
11117
  }
11118
+ /**
11119
+ * A delivery waiting to be retried.
11120
+ */
11121
+ export interface OutboxItem {
11122
+ /**
11123
+ * The message id.
11124
+ */
11125
+ messageId: string;
11126
+ /**
11127
+ * The group.
11128
+ */
11129
+ group: string;
11130
+ /**
11131
+ * Its member.
11132
+ */
11133
+ member: Did_VtnV0_1;
11134
+ /**
11135
+ * Where it is being delivered.
11136
+ */
11137
+ endpoint: string;
11138
+ envelope: Envelope;
11139
+ /**
11140
+ * Attempts so far.
11141
+ */
11142
+ attempts: number;
11143
+ /**
11144
+ * When it is next tried.
11145
+ */
11146
+ nextAttemptAt: string;
11147
+ /**
11148
+ * When it is given up.
11149
+ */
11150
+ expiresAt: string;
11151
+ /**
11152
+ * The last failure.
11153
+ */
11154
+ lastError: string;
11155
+ }
10554
11156
  /**
10555
11157
  * One witnessing session's outcome evidence. `session` is the initiating witness/session document; `outcome` is the terminal witness/session/submit #response that the initiating document's own specification declares as its outcome evidence, under the witness's proof, delivering the VWC and its vwcDigestMultibase. A consumer pairs them with a presented VWC by SPEC §4.9.4's four checks and the witnessing checks of witness/session/submit (This response is the outcome evidence).
10556
11158
  */
@@ -10621,6 +11223,27 @@ export interface PasskeyVerificationMethod {
10621
11223
  */
10622
11224
  label?: string;
10623
11225
  }
11226
+ /**
11227
+ * One step on the path from the searched network to the network that lists a result. Each hop states its own entry state: membership does not chain (VTI-VTN-033).
11228
+ */
11229
+ export interface PathHop {
11230
+ /**
11231
+ * A network on the path.
11232
+ */
11233
+ network: Did_VtnV0_1;
11234
+ /**
11235
+ * Its name.
11236
+ */
11237
+ name?: string;
11238
+ /**
11239
+ * Its own entry's state at the network before it on the path.
11240
+ */
11241
+ state: EntryState;
11242
+ /**
11243
+ * Whether that entry is a membership.
11244
+ */
11245
+ acknowledged: boolean;
11246
+ }
10624
11247
  /**
10625
11248
  * The share of one queue attributable to one counterparty: in a send queue, the recipient; in a receive queue, the sender.
10626
11249
  */
@@ -11431,6 +12054,87 @@ export interface ReadVerification {
11431
12054
  headVersion: HeadVersion;
11432
12055
  };
11433
12056
  }
12057
+ /**
12058
+ * The outcome of one delivery.
12059
+ */
12060
+ export interface Receipt {
12061
+ /**
12062
+ * The group delivered to.
12063
+ */
12064
+ group: string;
12065
+ /**
12066
+ * The member that owns it.
12067
+ */
12068
+ member: Did_VtnV0_1;
12069
+ status: DeliveryStatus;
12070
+ /**
12071
+ * Why, for anything but `delivered`.
12072
+ */
12073
+ detail?: string;
12074
+ /**
12075
+ * Whether the group is a network group, which relays further.
12076
+ */
12077
+ network?: boolean;
12078
+ /**
12079
+ * The receipts the network group's own relay returned.
12080
+ */
12081
+ relayed?: Receipt[];
12082
+ }
12083
+ /**
12084
+ * One notification the community holds, as an administrator with `vtc.notifications.read` sees it. `originator`, `deliveredBy` and every entry of `relayedBy` were verified by the community when it accepted the notification (VTI-NTF-042); an administrator that does not take the community's word for them reads the document with vtc/notifications/show and verifies it.
12085
+ */
12086
+ export interface ReceivedNotification {
12087
+ recordId: RecordId_VtcNotificationsV0_1;
12088
+ /**
12089
+ * The issuer of the notifications/notify document: who said the thing exists.
12090
+ */
12091
+ originator: Did_NotificationsV0_1;
12092
+ /**
12093
+ * The relayers the held revision passed through before it reached the community, in the order they relayed it; the last delivered it here, and is the party the acceptance policy counted (VTI-NTF-031). Empty for a notification the originator sent the community directly.
12094
+ *
12095
+ * @maxItems 4
12096
+ */
12097
+ relayedBy:
12098
+ | []
12099
+ | [Did_NotificationsV0_1]
12100
+ | [Did_NotificationsV0_1, Did_NotificationsV0_1]
12101
+ | [Did_NotificationsV0_1, Did_NotificationsV0_1, Did_NotificationsV0_1]
12102
+ | [Did_NotificationsV0_1, Did_NotificationsV0_1, Did_NotificationsV0_1, Did_NotificationsV0_1];
12103
+ /**
12104
+ * The notification's members at the revision held.
12105
+ */
12106
+ notification: Notification;
12107
+ /**
12108
+ * When the community accepted the revision held.
12109
+ */
12110
+ receivedAt: string;
12111
+ /**
12112
+ * Whether the community may relay the revision held now: its `relayable` is true, its kind may be relayed, the received chain carries at most three relays so that the community's own makes at most four (VTI-NTF-041), and it is neither withdrawn nor past its `validUntil`.
12113
+ */
12114
+ mayRelay: boolean;
12115
+ /**
12116
+ * What a relay of the notification discloses about the community, as the kind's definition states it (VTI-NTF-046) — for the kind `election`, that the community is a member of the community holding the election. Present exactly when the kind's definition says a relay discloses something; the administrator deciding a relay is shown it, and acknowledges it in vtc/notifications/relay.
12117
+ */
12118
+ relayDisclosure?: string;
12119
+ /**
12120
+ * The relay decisions made for this notification, oldest first. Empty while none has been. Every later revision, a withdrawal included, is relayed to every party an earlier one was, without a new decision (VTI-NTF-044).
12121
+ */
12122
+ relayDecisions: RelayDecision[];
12123
+ }
12124
+ /**
12125
+ * The members a relay decision reaches, resolved by the community from its own records when the decision is made (VTI-NTF-072). `groupId` is present exactly when `scope` is `group`, and `role` exactly when `scope` is `role`. Whatever the scope, the community never relays to itself, to the notification's originator, or to any relayer the received chain names (VTI-NTF-047), and relays to each party at most once per revision.
12126
+ */
12127
+ export interface Recipients {
12128
+ scope: RecipientScope;
12129
+ /**
12130
+ * The community group whose active members the relay reaches.
12131
+ */
12132
+ groupId?: GroupId;
12133
+ /**
12134
+ * The community role whose active holders the relay reaches, in the wire form the community's member records use — for example `moderator`, or `custom:editor`.
12135
+ */
12136
+ role?: string;
12137
+ }
11434
12138
  /**
11435
12139
  * Cites a credential.
11436
12140
  */
@@ -11700,6 +12404,36 @@ export interface RegisteredGroup {
11700
12404
  acceptance: {};
11701
12405
  registeredAt: string;
11702
12406
  }
12407
+ /**
12408
+ * A group serving a role: the member's signed registration and the network's groupRegistered credential accepting it.
12409
+ */
12410
+ export interface RegisteredGroup_VtnV0_1 {
12411
+ /**
12412
+ * The member that registered the group.
12413
+ */
12414
+ member: Did_VtnV0_1;
12415
+ role: RoleName_VtnV0_1;
12416
+ /**
12417
+ * The group: a DID, or for a network group a DID URL on the network's DID (`<did>#role-<name>`).
12418
+ */
12419
+ group: string;
12420
+ /**
12421
+ * Where the network delivers broadcasts for the group.
12422
+ */
12423
+ endpoint: string;
12424
+ /**
12425
+ * The member's signed vtn/groups/register request.
12426
+ */
12427
+ registration: SignedTask;
12428
+ /**
12429
+ * The network's groupRegistered credential: a statement (`https://openvtc.org/vtn/vsc/groupRegistered/1`) issued by the accepting network, subject the group, `object.digestMultibase` the digest of `registration`, with a `credentialStatus` on the network's revocation list.
12430
+ */
12431
+ acceptance: Credential;
12432
+ /**
12433
+ * When the network accepted the registration.
12434
+ */
12435
+ registeredAt: string;
12436
+ }
11703
12437
  /**
11704
12438
  * The `ServiceInstance` shape of `did-management/_shared/0.1`, with `lastSeen` renamed `lastSeenAt`; named apart from `service-instance.schema.json`'s `ServiceInstance`, a different shape, so the two do not collide in generated code.
11705
12439
  */
@@ -11744,6 +12478,24 @@ export interface RejectedKey {
11744
12478
  */
11745
12479
  reason: string;
11746
12480
  }
12481
+ /**
12482
+ * One administrator's decision to relay a received notification, as the community records it (VTI-NTF-073). It records the selection and how many parties it added, never who they are: the record of whom the community relayed to exists only to relay later revisions to them (VTI-NTF-044).
12483
+ */
12484
+ export interface RelayDecision {
12485
+ /**
12486
+ * When the decision was made.
12487
+ */
12488
+ decidedAt: string;
12489
+ /**
12490
+ * The administrator who made it.
12491
+ */
12492
+ decidedBy: Did_NotificationsV0_1;
12493
+ recipients: Recipients;
12494
+ /**
12495
+ * How many parties this decision added to those the notification is relayed to. Parties an earlier decision already reached are not counted again.
12496
+ */
12497
+ recipientCount: number;
12498
+ }
11747
12499
  /**
11748
12500
  * 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.
11749
12501
  */
@@ -12156,6 +12908,20 @@ export interface RoleBindingSpec {
12156
12908
  kind: "role";
12157
12909
  role: RoleName;
12158
12910
  }
12911
+ /**
12912
+ * A role the network defines.
12913
+ */
12914
+ export interface RoleDef {
12915
+ name: RoleName_VtnV0_1;
12916
+ /**
12917
+ * What the role is for.
12918
+ */
12919
+ description?: string;
12920
+ /**
12921
+ * Whether a party must register a group for it before its acknowledgement is accepted.
12922
+ */
12923
+ required: boolean;
12924
+ }
12159
12925
  /**
12160
12926
  * One administrative role of a VTC: a name, the CEILING of capabilities an entry holding the role may hold, and the approve ceiling of capabilities it may approve.
12161
12927
  *
@@ -12299,6 +13065,19 @@ export interface RoleLayout {
12299
13065
  */
12300
13066
  algorithms: [KeyType, ...KeyType[]];
12301
13067
  }
13068
+ /**
13069
+ * Which of this network's roles serves a parent's role.
13070
+ */
13071
+ export interface RoleMapping {
13072
+ /**
13073
+ * The parent's role.
13074
+ */
13075
+ parentRole: RoleName_VtnV0_1;
13076
+ /**
13077
+ * This network's role whose network group serves it.
13078
+ */
13079
+ localRole: RoleName_VtnV0_1;
13080
+ }
12302
13081
  export interface RoleSummary {
12303
13082
  role: KeyRole;
12304
13083
  /**
@@ -12436,6 +13215,35 @@ export interface RoomBindingSpec {
12436
13215
  */
12437
13216
  validFor: string;
12438
13217
  }
13218
+ /**
13219
+ * A room.
13220
+ */
13221
+ export interface RoomDef {
13222
+ /**
13223
+ * The room's id.
13224
+ */
13225
+ id: string;
13226
+ /**
13227
+ * Its name.
13228
+ */
13229
+ name: string;
13230
+ /**
13231
+ * The role whose groups' members may enter.
13232
+ */
13233
+ role: RoleName_VtnV0_1;
13234
+ /**
13235
+ * What it is for.
13236
+ */
13237
+ description?: string;
13238
+ /**
13239
+ * Where the room is.
13240
+ */
13241
+ url?: string;
13242
+ /**
13243
+ * How long a pass lasts, in minutes: at most 1440 (24 hours). A pass is short-lived because it is not revoked; eligibility is re-proved for the next one.
13244
+ */
13245
+ passMinutes: number;
13246
+ }
12439
13247
  /**
12440
13248
  * How much a host is willing to store for one room, at the room and per member. A hosting decision, set by the host and never by anything in the room's credentials. An upload must fit every scope at once: the object against the smallest `maxFileBytes` that applies, and the member and the room with the file added.
12441
13249
  */
@@ -12573,6 +13381,20 @@ export interface RoomMembershipV2 {
12573
13381
  */
12574
13382
  purgeAt?: string;
12575
13383
  }
13384
+ /**
13385
+ * A room pass.
13386
+ */
13387
+ export interface RoomPass {
13388
+ room: RoomDef;
13389
+ /**
13390
+ * The pass: a credential the network signs for the person, valid for `passMinutes`.
13391
+ */
13392
+ pass: Credential;
13393
+ /**
13394
+ * The networks the person's eligibility ran through, from the one nearest their community up to this network.
13395
+ */
13396
+ via: Did_VtnV0_1[];
13397
+ }
12576
13398
  /**
12577
13399
  * 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.
12578
13400
  *
@@ -13240,6 +14062,10 @@ export interface SigmaProof {
13240
14062
  * A whole Trust Task request document — `id`, `type`, `issuer`, `payload` and every other member, `proof` included — exactly as the ballot box received it, never re-serialised: its proof is taken over its members, and a re-serialised copy does not reliably reproduce them. Typed as an open object so every member survives; CONVENTIONS §9.6 gives the checks that make it a trustee's step.
13241
14063
  */
13242
14064
  export interface SignedRequest {}
14065
+ /**
14066
+ * A complete Trust Task document, with its proof, exactly as signed and received. Verified as a document in its own right; open so its proof still covers every member, and so its digest can be recomputed.
14067
+ */
14068
+ export interface SignedTask {}
13243
14069
  /**
13244
14070
  * One signing-key delegation, as its holder sees it. A delegation confers nothing of its own: it names an identity that already holds whatever standing it holds, and a document signed by the key is authorized by that identity's standing read at execution time.
13245
14071
  */
@@ -13348,6 +14174,21 @@ export interface AndroidApp_VaultV0_2 {
13348
14174
  */
13349
14175
  sha256CertFingerprints: [string, ...string[]];
13350
14176
  }
14177
+ /**
14178
+ * One transition in an entry's lifecycle.
14179
+ */
14180
+ export interface StateChange {
14181
+ /**
14182
+ * When the state changed.
14183
+ */
14184
+ changedAt: string;
14185
+ /**
14186
+ * The state before; absent for the first listing.
14187
+ */
14188
+ from?: EntryState;
14189
+ to: EntryState;
14190
+ reason?: Reason_VtnV0_1;
14191
+ }
13351
14192
  /**
13352
14193
  * The prior state the effects were computed against. A human in the loop makes the approval window minutes wide, so the state can move underneath a pending approval. The executor asserts this pin still holds at execution and refuses otherwise — without it, a lost update silently executes against state the approver never saw.
13353
14194
  */
@@ -13954,6 +14795,23 @@ export interface TspMessageEnvelope_VaultV0_2 {
13954
14795
  */
13955
14796
  message: string;
13956
14797
  }
14798
+ /**
14799
+ * A member network whose set could not be read: its results are indeterminate, not absent (VTI-REG-012).
14800
+ */
14801
+ export interface Unreachable {
14802
+ /**
14803
+ * The member network that could not be searched.
14804
+ */
14805
+ network: Did_VtnV0_1;
14806
+ /**
14807
+ * How it was reached.
14808
+ */
14809
+ path: PathHop[];
14810
+ /**
14811
+ * Why.
14812
+ */
14813
+ reason: string;
14814
+ }
13957
14815
  /**
13958
14816
  * What the uploaded bytes are for, committed before any byte moves. `file`: one file at `path`, written into the site when the upload commits — the single-file write. `bundle`: a gzip-compressed tar of the whole site, staged when the upload commits and published by vtc/website/deploy. `path` is required for a `file` target and forbidden for a `bundle`, and `ifMatch` is allowed only for a `file` — rules over two members that this schema does not express; a community refuses a violation with `malformedRequest`. `ifMatch` is optimistic concurrency: the write commits only if the file's current content hash is this value.
13959
14817
  */
@@ -13962,6 +14820,70 @@ export interface UploadTarget {
13962
14820
  path?: WebsitePath;
13963
14821
  ifMatch?: WebsiteEtag;
13964
14822
  }
14823
+ /**
14824
+ * A group this network registered at its parent.
14825
+ */
14826
+ export interface UpstreamGroup {
14827
+ parentRole: RoleName_VtnV0_1;
14828
+ localRole: RoleName_VtnV0_1;
14829
+ /**
14830
+ * This network's network group (`<did>#role-<localRole>`).
14831
+ */
14832
+ group: string;
14833
+ /**
14834
+ * This network's signed vtn/groups/register request to the parent.
14835
+ */
14836
+ registration: SignedTask;
14837
+ /**
14838
+ * The parent's groupRegistered credential accepting the registration: issued by the parent, subject this network's network group, `object.digestMultibase` the digest of `registration`, revocable on the parent's status list.
14839
+ */
14840
+ acceptance: Credential;
14841
+ }
14842
+ /**
14843
+ * This network's membership of a parent.
14844
+ */
14845
+ export interface UpstreamMembership {
14846
+ /**
14847
+ * The parent network.
14848
+ */
14849
+ network: Did_VtnV0_1;
14850
+ /**
14851
+ * Where the parent is reached.
14852
+ */
14853
+ url: string;
14854
+ /**
14855
+ * The parent's name.
14856
+ */
14857
+ name?: string;
14858
+ /**
14859
+ * `acknowledged`: this network is a member. `repudiated`: it rejected the parent's listing. `departed`: it left.
14860
+ */
14861
+ state: "acknowledged" | "repudiated" | "departed";
14862
+ /**
14863
+ * The parent's listing of this network, as verified.
14864
+ */
14865
+ listing: Credential;
14866
+ /**
14867
+ * The parent's grant.
14868
+ */
14869
+ grant?: Credential;
14870
+ /**
14871
+ * This network's acknowledgement.
14872
+ */
14873
+ acknowledgement?: Credential;
14874
+ /**
14875
+ * This network's repudiation of the listing or grant.
14876
+ */
14877
+ repudiation?: Credential;
14878
+ /**
14879
+ * Groups registered at the parent.
14880
+ */
14881
+ groups: UpstreamGroup[];
14882
+ /**
14883
+ * When it last changed.
14884
+ */
14885
+ updatedAt: string;
14886
+ }
13965
14887
  /**
13966
14888
  * What one scope holds now. Ciphertext bytes throughout.
13967
14889
  */