@openvtc/trust-tasks 0.28.10 → 0.28.12

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 (270) hide show
  1. package/CHANGELOG.md +136 -0
  2. package/dist/_shared/components.d.ts +941 -0
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/index.d.ts +156 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +156 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/vta/collection/_shared/0.1/collection.d.ts +16 -0
  9. package/dist/vta/collection/_shared/0.1/collection.d.ts.map +1 -0
  10. package/dist/vta/collection/_shared/0.1/collection.js +6 -0
  11. package/dist/vta/collection/_shared/0.1/collection.js.map +1 -0
  12. package/dist/vta/collection/claim/0.1/payload.d.ts +352 -0
  13. package/dist/vta/collection/claim/0.1/payload.d.ts.map +1 -0
  14. package/dist/vta/collection/claim/0.1/payload.js +198 -0
  15. package/dist/vta/collection/claim/0.1/payload.js.map +1 -0
  16. package/dist/vta/collection/list/0.1/payload.d.ts +740 -0
  17. package/dist/vta/collection/list/0.1/payload.d.ts.map +1 -0
  18. package/dist/vta/collection/list/0.1/payload.js +447 -0
  19. package/dist/vta/collection/list/0.1/payload.js.map +1 -0
  20. package/dist/vta/collection/release/0.1/payload.d.ts +316 -0
  21. package/dist/vta/collection/release/0.1/payload.d.ts.map +1 -0
  22. package/dist/vta/collection/release/0.1/payload.js +182 -0
  23. package/dist/vta/collection/release/0.1/payload.js.map +1 -0
  24. package/dist/vta/notifications/deposit/0.1/payload.d.ts +349 -0
  25. package/dist/vta/notifications/deposit/0.1/payload.d.ts.map +1 -0
  26. package/dist/vta/notifications/deposit/0.1/payload.js +198 -0
  27. package/dist/vta/notifications/deposit/0.1/payload.js.map +1 -0
  28. package/dist/vta/pcs/vetter/recover/0.1/payload.d.ts +667 -0
  29. package/dist/vta/pcs/vetter/recover/0.1/payload.d.ts.map +1 -0
  30. package/dist/vta/pcs/vetter/recover/0.1/payload.js +387 -0
  31. package/dist/vta/pcs/vetter/recover/0.1/payload.js.map +1 -0
  32. package/dist/vtc/notifications/_shared/0.1/received-notification.d.ts +16 -0
  33. package/dist/vtc/notifications/_shared/0.1/received-notification.d.ts.map +1 -0
  34. package/dist/vtc/notifications/_shared/0.1/received-notification.js +6 -0
  35. package/dist/vtc/notifications/_shared/0.1/received-notification.js.map +1 -0
  36. package/dist/vtc/notifications/list/0.1/payload.d.ts +1311 -0
  37. package/dist/vtc/notifications/list/0.1/payload.d.ts.map +1 -0
  38. package/dist/vtc/notifications/list/0.1/payload.js +753 -0
  39. package/dist/vtc/notifications/list/0.1/payload.js.map +1 -0
  40. package/dist/vtc/notifications/relay/0.1/payload.d.ts +568 -0
  41. package/dist/vtc/notifications/relay/0.1/payload.d.ts.map +1 -0
  42. package/dist/vtc/notifications/relay/0.1/payload.js +339 -0
  43. package/dist/vtc/notifications/relay/0.1/payload.js.map +1 -0
  44. package/dist/vtc/notifications/show/0.1/payload.d.ts +1229 -0
  45. package/dist/vtc/notifications/show/0.1/payload.d.ts.map +1 -0
  46. package/dist/vtc/notifications/show/0.1/payload.js +727 -0
  47. package/dist/vtc/notifications/show/0.1/payload.js.map +1 -0
  48. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.d.ts +340 -0
  49. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.d.ts.map +1 -0
  50. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.js +194 -0
  51. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.js.map +1 -0
  52. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.d.ts +425 -0
  53. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.d.ts.map +1 -0
  54. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.js +233 -0
  55. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.js.map +1 -0
  56. package/dist/vtn/_shared/0.1/directory.d.ts +16 -0
  57. package/dist/vtn/_shared/0.1/directory.d.ts.map +1 -0
  58. package/dist/vtn/_shared/0.1/directory.js +6 -0
  59. package/dist/vtn/_shared/0.1/directory.js.map +1 -0
  60. package/dist/vtn/_shared/0.1/entry.d.ts +16 -0
  61. package/dist/vtn/_shared/0.1/entry.d.ts.map +1 -0
  62. package/dist/vtn/_shared/0.1/entry.js +6 -0
  63. package/dist/vtn/_shared/0.1/entry.js.map +1 -0
  64. package/dist/vtn/_shared/0.1/graph.d.ts +16 -0
  65. package/dist/vtn/_shared/0.1/graph.d.ts.map +1 -0
  66. package/dist/vtn/_shared/0.1/graph.js +6 -0
  67. package/dist/vtn/_shared/0.1/graph.js.map +1 -0
  68. package/dist/vtn/_shared/0.1/groups.d.ts +16 -0
  69. package/dist/vtn/_shared/0.1/groups.d.ts.map +1 -0
  70. package/dist/vtn/_shared/0.1/groups.js +6 -0
  71. package/dist/vtn/_shared/0.1/groups.js.map +1 -0
  72. package/dist/vtn/_shared/0.1/membership.d.ts +16 -0
  73. package/dist/vtn/_shared/0.1/membership.d.ts.map +1 -0
  74. package/dist/vtn/_shared/0.1/membership.js +6 -0
  75. package/dist/vtn/_shared/0.1/membership.js.map +1 -0
  76. package/dist/vtn/_shared/0.1/relay.d.ts +16 -0
  77. package/dist/vtn/_shared/0.1/relay.d.ts.map +1 -0
  78. package/dist/vtn/_shared/0.1/relay.js +6 -0
  79. package/dist/vtn/_shared/0.1/relay.js.map +1 -0
  80. package/dist/vtn/_shared/0.1/rooms.d.ts +16 -0
  81. package/dist/vtn/_shared/0.1/rooms.d.ts.map +1 -0
  82. package/dist/vtn/_shared/0.1/rooms.js +6 -0
  83. package/dist/vtn/_shared/0.1/rooms.js.map +1 -0
  84. package/dist/vtn/audit/list/0.1/payload.d.ts +457 -0
  85. package/dist/vtn/audit/list/0.1/payload.d.ts.map +1 -0
  86. package/dist/vtn/audit/list/0.1/payload.js +292 -0
  87. package/dist/vtn/audit/list/0.1/payload.js.map +1 -0
  88. package/dist/vtn/broadcasts/list/0.1/payload.d.ts +687 -0
  89. package/dist/vtn/broadcasts/list/0.1/payload.d.ts.map +1 -0
  90. package/dist/vtn/broadcasts/list/0.1/payload.js +407 -0
  91. package/dist/vtn/broadcasts/list/0.1/payload.js.map +1 -0
  92. package/dist/vtn/broadcasts/send/0.1/payload.d.ts +728 -0
  93. package/dist/vtn/broadcasts/send/0.1/payload.d.ts.map +1 -0
  94. package/dist/vtn/broadcasts/send/0.1/payload.js +425 -0
  95. package/dist/vtn/broadcasts/send/0.1/payload.js.map +1 -0
  96. package/dist/vtn/broadcasts/show/0.1/payload.d.ts +670 -0
  97. package/dist/vtn/broadcasts/show/0.1/payload.d.ts.map +1 -0
  98. package/dist/vtn/broadcasts/show/0.1/payload.js +402 -0
  99. package/dist/vtn/broadcasts/show/0.1/payload.js.map +1 -0
  100. package/dist/vtn/directory/federated/0.1/payload.d.ts +939 -0
  101. package/dist/vtn/directory/federated/0.1/payload.d.ts.map +1 -0
  102. package/dist/vtn/directory/federated/0.1/payload.js +536 -0
  103. package/dist/vtn/directory/federated/0.1/payload.js.map +1 -0
  104. package/dist/vtn/directory/search/0.1/payload.d.ts +643 -0
  105. package/dist/vtn/directory/search/0.1/payload.d.ts.map +1 -0
  106. package/dist/vtn/directory/search/0.1/payload.js +368 -0
  107. package/dist/vtn/directory/search/0.1/payload.js.map +1 -0
  108. package/dist/vtn/directory/summary/0.1/payload.d.ts +366 -0
  109. package/dist/vtn/directory/summary/0.1/payload.d.ts.map +1 -0
  110. package/dist/vtn/directory/summary/0.1/payload.js +216 -0
  111. package/dist/vtn/directory/summary/0.1/payload.js.map +1 -0
  112. package/dist/vtn/entries/show/0.1/payload.d.ts +682 -0
  113. package/dist/vtn/entries/show/0.1/payload.d.ts.map +1 -0
  114. package/dist/vtn/entries/show/0.1/payload.js +398 -0
  115. package/dist/vtn/entries/show/0.1/payload.js.map +1 -0
  116. package/dist/vtn/graph/member/0.1/payload.d.ts +754 -0
  117. package/dist/vtn/graph/member/0.1/payload.d.ts.map +1 -0
  118. package/dist/vtn/graph/member/0.1/payload.js +470 -0
  119. package/dist/vtn/graph/member/0.1/payload.js.map +1 -0
  120. package/dist/vtn/graph/show/0.1/payload.d.ts +754 -0
  121. package/dist/vtn/graph/show/0.1/payload.d.ts.map +1 -0
  122. package/dist/vtn/graph/show/0.1/payload.js +468 -0
  123. package/dist/vtn/graph/show/0.1/payload.js.map +1 -0
  124. package/dist/vtn/groups/list/0.1/payload.d.ts +489 -0
  125. package/dist/vtn/groups/list/0.1/payload.d.ts.map +1 -0
  126. package/dist/vtn/groups/list/0.1/payload.js +282 -0
  127. package/dist/vtn/groups/list/0.1/payload.js.map +1 -0
  128. package/dist/vtn/groups/register/0.1/payload.d.ts +504 -0
  129. package/dist/vtn/groups/register/0.1/payload.d.ts.map +1 -0
  130. package/dist/vtn/groups/register/0.1/payload.js +291 -0
  131. package/dist/vtn/groups/register/0.1/payload.js.map +1 -0
  132. package/dist/vtn/listings/create/0.1/payload.d.ts +954 -0
  133. package/dist/vtn/listings/create/0.1/payload.d.ts.map +1 -0
  134. package/dist/vtn/listings/create/0.1/payload.js +549 -0
  135. package/dist/vtn/listings/create/0.1/payload.js.map +1 -0
  136. package/dist/vtn/listings/list/0.1/payload.d.ts +933 -0
  137. package/dist/vtn/listings/list/0.1/payload.d.ts.map +1 -0
  138. package/dist/vtn/listings/list/0.1/payload.js +538 -0
  139. package/dist/vtn/listings/list/0.1/payload.js.map +1 -0
  140. package/dist/vtn/listings/reinstate/0.1/payload.d.ts +926 -0
  141. package/dist/vtn/listings/reinstate/0.1/payload.d.ts.map +1 -0
  142. package/dist/vtn/listings/reinstate/0.1/payload.js +536 -0
  143. package/dist/vtn/listings/reinstate/0.1/payload.js.map +1 -0
  144. package/dist/vtn/listings/remove/0.1/payload.d.ts +926 -0
  145. package/dist/vtn/listings/remove/0.1/payload.d.ts.map +1 -0
  146. package/dist/vtn/listings/remove/0.1/payload.js +536 -0
  147. package/dist/vtn/listings/remove/0.1/payload.js.map +1 -0
  148. package/dist/vtn/listings/show/0.1/payload.d.ts +914 -0
  149. package/dist/vtn/listings/show/0.1/payload.d.ts.map +1 -0
  150. package/dist/vtn/listings/show/0.1/payload.js +532 -0
  151. package/dist/vtn/listings/show/0.1/payload.js.map +1 -0
  152. package/dist/vtn/listings/suspend/0.1/payload.d.ts +926 -0
  153. package/dist/vtn/listings/suspend/0.1/payload.d.ts.map +1 -0
  154. package/dist/vtn/listings/suspend/0.1/payload.js +536 -0
  155. package/dist/vtn/listings/suspend/0.1/payload.js.map +1 -0
  156. package/dist/vtn/listings/update/0.1/payload.d.ts +966 -0
  157. package/dist/vtn/listings/update/0.1/payload.d.ts.map +1 -0
  158. package/dist/vtn/listings/update/0.1/payload.js +550 -0
  159. package/dist/vtn/listings/update/0.1/payload.js.map +1 -0
  160. package/dist/vtn/membership/acknowledge/0.1/payload.d.ts +654 -0
  161. package/dist/vtn/membership/acknowledge/0.1/payload.d.ts.map +1 -0
  162. package/dist/vtn/membership/acknowledge/0.1/payload.js +386 -0
  163. package/dist/vtn/membership/acknowledge/0.1/payload.js.map +1 -0
  164. package/dist/vtn/membership/offer/0.1/payload.d.ts +247 -0
  165. package/dist/vtn/membership/offer/0.1/payload.d.ts.map +1 -0
  166. package/dist/vtn/membership/offer/0.1/payload.js +147 -0
  167. package/dist/vtn/membership/offer/0.1/payload.js.map +1 -0
  168. package/dist/vtn/membership/repudiate/0.1/payload.d.ts +654 -0
  169. package/dist/vtn/membership/repudiate/0.1/payload.d.ts.map +1 -0
  170. package/dist/vtn/membership/repudiate/0.1/payload.js +386 -0
  171. package/dist/vtn/membership/repudiate/0.1/payload.js.map +1 -0
  172. package/dist/vtn/memberships/groups/add/0.1/payload.d.ts +677 -0
  173. package/dist/vtn/memberships/groups/add/0.1/payload.d.ts.map +1 -0
  174. package/dist/vtn/memberships/groups/add/0.1/payload.js +394 -0
  175. package/dist/vtn/memberships/groups/add/0.1/payload.js.map +1 -0
  176. package/dist/vtn/memberships/join/0.1/payload.d.ts +755 -0
  177. package/dist/vtn/memberships/join/0.1/payload.d.ts.map +1 -0
  178. package/dist/vtn/memberships/join/0.1/payload.js +438 -0
  179. package/dist/vtn/memberships/join/0.1/payload.js.map +1 -0
  180. package/dist/vtn/memberships/leave/0.1/payload.d.ts +653 -0
  181. package/dist/vtn/memberships/leave/0.1/payload.d.ts.map +1 -0
  182. package/dist/vtn/memberships/leave/0.1/payload.js +384 -0
  183. package/dist/vtn/memberships/leave/0.1/payload.js.map +1 -0
  184. package/dist/vtn/memberships/list/0.1/payload.d.ts +651 -0
  185. package/dist/vtn/memberships/list/0.1/payload.d.ts.map +1 -0
  186. package/dist/vtn/memberships/list/0.1/payload.js +383 -0
  187. package/dist/vtn/memberships/list/0.1/payload.js.map +1 -0
  188. package/dist/vtn/memberships/repudiate/0.1/payload.d.ts +669 -0
  189. package/dist/vtn/memberships/repudiate/0.1/payload.d.ts.map +1 -0
  190. package/dist/vtn/memberships/repudiate/0.1/payload.js +391 -0
  191. package/dist/vtn/memberships/repudiate/0.1/payload.js.map +1 -0
  192. package/dist/vtn/outbox/list/0.1/payload.d.ts +567 -0
  193. package/dist/vtn/outbox/list/0.1/payload.d.ts.map +1 -0
  194. package/dist/vtn/outbox/list/0.1/payload.js +333 -0
  195. package/dist/vtn/outbox/list/0.1/payload.js.map +1 -0
  196. package/dist/vtn/outbox/retry/0.1/payload.d.ts +235 -0
  197. package/dist/vtn/outbox/retry/0.1/payload.d.ts.map +1 -0
  198. package/dist/vtn/outbox/retry/0.1/payload.js +141 -0
  199. package/dist/vtn/outbox/retry/0.1/payload.js.map +1 -0
  200. package/dist/vtn/relay/deliver/0.1/payload.d.ts +592 -0
  201. package/dist/vtn/relay/deliver/0.1/payload.d.ts.map +1 -0
  202. package/dist/vtn/relay/deliver/0.1/payload.js +352 -0
  203. package/dist/vtn/relay/deliver/0.1/payload.js.map +1 -0
  204. package/dist/vtn/roles/list/0.1/payload.d.ts +371 -0
  205. package/dist/vtn/roles/list/0.1/payload.d.ts.map +1 -0
  206. package/dist/vtn/roles/list/0.1/payload.js +213 -0
  207. package/dist/vtn/roles/list/0.1/payload.js.map +1 -0
  208. package/dist/vtn/rooms/list/0.1/payload.d.ts +447 -0
  209. package/dist/vtn/rooms/list/0.1/payload.d.ts.map +1 -0
  210. package/dist/vtn/rooms/list/0.1/payload.js +255 -0
  211. package/dist/vtn/rooms/list/0.1/payload.js.map +1 -0
  212. package/dist/vtn/rooms/pass/0.1/payload.d.ts +674 -0
  213. package/dist/vtn/rooms/pass/0.1/payload.d.ts.map +1 -0
  214. package/dist/vtn/rooms/pass/0.1/payload.js +383 -0
  215. package/dist/vtn/rooms/pass/0.1/payload.js.map +1 -0
  216. package/package.json +1 -1
  217. package/src/_shared/components.ts +960 -0
  218. package/src/index.ts +156 -0
  219. package/src/vta/collection/_shared/0.1/collection.ts +17 -0
  220. package/src/vta/collection/claim/0.1/payload.ts +247 -0
  221. package/src/vta/collection/list/0.1/payload.ts +500 -0
  222. package/src/vta/collection/release/0.1/payload.ts +223 -0
  223. package/src/vta/notifications/deposit/0.1/payload.ts +243 -0
  224. package/src/vta/pcs/vetter/recover/0.1/payload.ts +437 -0
  225. package/src/vtc/notifications/_shared/0.1/received-notification.ts +17 -0
  226. package/src/vtc/notifications/list/0.1/payload.ts +809 -0
  227. package/src/vtc/notifications/relay/0.1/payload.ts +382 -0
  228. package/src/vtc/notifications/show/0.1/payload.ts +761 -0
  229. package/src/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.ts +247 -0
  230. package/src/vtc/vetting/vetters/pcs-binding/show/0.1/payload.ts +295 -0
  231. package/src/vtn/_shared/0.1/directory.ts +17 -0
  232. package/src/vtn/_shared/0.1/entry.ts +17 -0
  233. package/src/vtn/_shared/0.1/graph.ts +17 -0
  234. package/src/vtn/_shared/0.1/groups.ts +17 -0
  235. package/src/vtn/_shared/0.1/membership.ts +17 -0
  236. package/src/vtn/_shared/0.1/relay.ts +17 -0
  237. package/src/vtn/_shared/0.1/rooms.ts +17 -0
  238. package/src/vtn/audit/list/0.1/payload.ts +336 -0
  239. package/src/vtn/broadcasts/list/0.1/payload.ts +447 -0
  240. package/src/vtn/broadcasts/send/0.1/payload.ts +478 -0
  241. package/src/vtn/broadcasts/show/0.1/payload.ts +439 -0
  242. package/src/vtn/directory/federated/0.1/payload.ts +594 -0
  243. package/src/vtn/directory/search/0.1/payload.ts +418 -0
  244. package/src/vtn/directory/summary/0.1/payload.ts +253 -0
  245. package/src/vtn/entries/show/0.1/payload.ts +439 -0
  246. package/src/vtn/graph/member/0.1/payload.ts +511 -0
  247. package/src/vtn/graph/show/0.1/payload.ts +509 -0
  248. package/src/vtn/groups/list/0.1/payload.ts +322 -0
  249. package/src/vtn/groups/register/0.1/payload.ts +336 -0
  250. package/src/vtn/listings/create/0.1/payload.ts +594 -0
  251. package/src/vtn/listings/list/0.1/payload.ts +578 -0
  252. package/src/vtn/listings/reinstate/0.1/payload.ts +577 -0
  253. package/src/vtn/listings/remove/0.1/payload.ts +577 -0
  254. package/src/vtn/listings/show/0.1/payload.ts +569 -0
  255. package/src/vtn/listings/suspend/0.1/payload.ts +577 -0
  256. package/src/vtn/listings/update/0.1/payload.ts +603 -0
  257. package/src/vtn/membership/acknowledge/0.1/payload.ts +423 -0
  258. package/src/vtn/membership/offer/0.1/payload.ts +183 -0
  259. package/src/vtn/membership/repudiate/0.1/payload.ts +423 -0
  260. package/src/vtn/memberships/groups/add/0.1/payload.ts +442 -0
  261. package/src/vtn/memberships/join/0.1/payload.ts +488 -0
  262. package/src/vtn/memberships/leave/0.1/payload.ts +424 -0
  263. package/src/vtn/memberships/list/0.1/payload.ts +419 -0
  264. package/src/vtn/memberships/repudiate/0.1/payload.ts +435 -0
  265. package/src/vtn/outbox/list/0.1/payload.ts +369 -0
  266. package/src/vtn/outbox/retry/0.1/payload.ts +177 -0
  267. package/src/vtn/relay/deliver/0.1/payload.ts +397 -0
  268. package/src/vtn/roles/list/0.1/payload.ts +253 -0
  269. package/src/vtn/rooms/list/0.1/payload.ts +295 -0
  270. package/src/vtn/rooms/pass/0.1/payload.ts +439 -0
@@ -461,6 +461,10 @@ export type ChunkSize = number;
461
461
  * The `x:` prefix is an open extension namespace and is not decoration. The closest prior art — Windows CardSpace's self-issued card — supported exactly fifteen predefined claim types with no extensibility, and that is the specific way it failed the requirement a holder actually has. An `x:` attribute stores, composes, binds and discloses exactly like a known one; it renders generically and matches only an explicit query.
462
462
  */
463
463
  export type ClaimType = string;
464
+ /**
465
+ * Who collects for an identifier: `vta`, the VTA itself; `client`, the claimant of a collection claim in force; or `none`, nobody, for the reason given in `notCollectedReason`.
466
+ */
467
+ export type Collector = "vta" | "client" | "none";
464
468
  /**
465
469
  * The community's hidden-vetting parameters exactly as its join manifest publishes them, under the criterion's `vetting.ext`. The caller copies them in verbatim on every call that needs them, because the community rotates labels and the engine keeps no copy of its own: a stale copy costs the caller a refused proof, never a mistaken one.
466
470
  */
@@ -481,6 +485,10 @@ export type ConsumerKind_DeviceV0_2 = Companion_DeviceV0_2 | Service_DeviceV0_2;
481
485
  * The trust context the notification is held in: the one the addressed DID belongs to.
482
486
  */
483
487
  export type ContextId = string;
488
+ /**
489
+ * The trust context the identifier belongs to.
490
+ */
491
+ export type ContextId_VtaCollectionV0_1 = string;
484
492
  /**
485
493
  * Opaque identifier of one of the maintainer's contexts, compared by the maintainer's own ancestry predicate. Its grammar is the maintainer's.
486
494
  */
@@ -544,6 +552,14 @@ export type DecryptionTarget = {
544
552
  * `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.
545
553
  */
546
554
  export type DeliveryState = "queued" | "delivered";
555
+ /**
556
+ * What happened to one delivery. `queued` will be retried.
557
+ */
558
+ export type DeliveryStatus = "delivered" | "duplicate" | "refused" | "queued" | "failed";
559
+ /**
560
+ * What the listed party is, for the directory.
561
+ */
562
+ export type Description = string;
547
563
  /**
548
564
  * Producer-supplied attestation at registration time, verifiable by the maintainer against the platform's attestation infrastructure. Tagged union over the discriminator `kind`.
549
565
  */
@@ -576,6 +592,10 @@ export type Did_GitNsV0_3 = string;
576
592
  * A DID.
577
593
  */
578
594
  export type Did_NotificationsV0_1 = string;
595
+ /**
596
+ * A DID.
597
+ */
598
+ export type Did_VtnV0_1 = string;
579
599
  /**
580
600
  * 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.
581
601
  *
@@ -609,6 +629,14 @@ export type DtgType = string;
609
629
  * 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.
610
630
  */
611
631
  export type Duration = string;
632
+ /**
633
+ * Which credential an edge is.
634
+ */
635
+ export type EdgeRole = "listing" | "grant" | "acknowledgement" | "repudiation";
636
+ /**
637
+ * The credential's status as far as this network can determine it. `unchecked` is a credential whose status list this network does not hold.
638
+ */
639
+ export type EdgeStatus = "valid" | "suspended" | "revoked" | "unchecked";
612
640
  /**
613
641
  * Whether the subject is permitted. The ABSENCE of any grant is treated as `deny` (default-deny).
614
642
  */
@@ -636,6 +664,14 @@ export type EnrolledVia = "install" | "invite" | "selfService" | "offline";
636
664
  * 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.
637
665
  */
638
666
  export type EntryId = string;
667
+ /**
668
+ * 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`.
669
+ */
670
+ export type EntryKind = "community" | "network";
671
+ /**
672
+ * `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.
673
+ */
674
+ export type EntryState = "listed" | "acknowledged" | "repudiated" | "suspended" | "removed" | "departed";
639
675
  /**
640
676
  * 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.
641
677
  *
@@ -912,6 +948,10 @@ export type Kind = "dm" | "group" | "channel";
912
948
  * 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).
913
949
  */
914
950
  export type Kind_NotificationsV0_1 = string;
951
+ /**
952
+ * The name the directory shows.
953
+ */
954
+ export type Label = string;
915
955
  /**
916
956
  * A BCP 47 language tag, e.g. `en`, `de-AT`. Compared case-insensitively.
917
957
  */
@@ -974,6 +1014,10 @@ export type MemberState = "offered" | "admitted" | "removed";
974
1014
  * `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.
975
1015
  */
976
1016
  export type MemberStateV2 = "offered" | "admitted" | "suspended" | "removed";
1017
+ /**
1018
+ * Only members (`acknowledged: true`). Absent means false.
1019
+ */
1020
+ export type MembersOnly = boolean;
977
1021
  /**
978
1022
  * 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.
979
1023
  */
@@ -1016,6 +1060,14 @@ export type Namespace = string;
1016
1060
  * 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.
1017
1061
  */
1018
1062
  export type NamespaceId = string;
1063
+ /**
1064
+ * What a node is.
1065
+ */
1066
+ export type NodeKind = "network" | "community";
1067
+ /**
1068
+ * Why nobody collects for an identifier the VTA would otherwise collect for: `limit`, the VTA is at the bound it states on the number of identifiers it collects for (VTI-NTF-088); `conflict`, another connection for the identifier kept closing the VTA's, and the VTA stopped after the bound it states until the conflict is resolved (VTI-NTF-085). `disabled`, the VTA's operator has not enabled collection by default (VTI-NTF-093), so the VTA collects for no identifier a client has not claimed.
1069
+ */
1070
+ export type NotCollectedReason = "limit" | "conflict" | "disabled";
1019
1071
  /**
1020
1072
  * Opaque identifier of one note: `note_` followed by 16 to 64 base64url characters.
1021
1073
  */
@@ -1339,6 +1391,14 @@ export type Queue = "receive" | "send";
1339
1391
  * 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.
1340
1392
  */
1341
1393
  export type Reason = string;
1394
+ /**
1395
+ * The reason given, if any.
1396
+ */
1397
+ export type Reason_VtnV0_1 = string;
1398
+ /**
1399
+ * 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.
1400
+ */
1401
+ export type RecipientScope = "allMembers" | "group" | "role";
1342
1402
  /**
1343
1403
  * 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.
1344
1404
  *
@@ -1384,6 +1444,10 @@ export type RecordEvidenceList = [RecordEvidence, ...RecordEvidence[]];
1384
1444
  * 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.
1385
1445
  */
1386
1446
  export type RecordId = string;
1447
+ /**
1448
+ * 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.
1449
+ */
1450
+ export type RecordId_VtcNotificationsV0_1 = string;
1387
1451
  /**
1388
1452
  * 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.
1389
1453
  *
@@ -1506,6 +1570,10 @@ export type RoleKeyState = "pending" | "staged" | "active" | "retiring" | "retir
1506
1570
  * 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`.
1507
1571
  */
1508
1572
  export type RoleName = string;
1573
+ /**
1574
+ * A role's name: 1–64 lowercase letters, digits, `-` or `_`.
1575
+ */
1576
+ export type RoleName_VtnV0_1 = string;
1509
1577
  /**
1510
1578
  * 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.
1511
1579
  */
@@ -1614,6 +1682,10 @@ export type SealedStorageCredential = {
1614
1682
  * 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.
1615
1683
  */
1616
1684
  export type SealedTransferBundle = string;
1685
+ /**
1686
+ * Free text. Every whitespace-separated term must match, case-insensitively, the entry's DID, label, description or a tag.
1687
+ */
1688
+ export type SearchText = string;
1617
1689
  /**
1618
1690
  * `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).
1619
1691
  */
@@ -1777,6 +1849,12 @@ export type StorageSettings = LocalSettings | S3Settings | GcsSettings | WalrusS
1777
1849
  export type SweepMinutes = number;
1778
1850
  export type SyncEvent_SyncV0_1 = VaultUpsertedEvent_SyncV0_1 | VaultDeletedEvent_SyncV0_1 | AclChangedEvent_SyncV0_1 | PolicyChangedEvent_SyncV0_1;
1779
1851
  export type SyncEvent_SyncV0_2 = VaultUpsertedEvent_SyncV0_2 | VaultDeletedEvent_SyncV0_2 | AclChangedEvent_SyncV0_2 | PolicyChangedEvent_SyncV0_2;
1852
+ /**
1853
+ * Free-text tags the directory searches.
1854
+ *
1855
+ * @maxItems 32
1856
+ */
1857
+ export type Tags = string[];
1780
1858
  /**
1781
1859
  * 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`.
1782
1860
  */
@@ -1848,6 +1926,10 @@ export type UpdateKeyClass = "routine" | "recovery";
1848
1926
  * 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.
1849
1927
  */
1850
1928
  export type UploadId = string;
1929
+ /**
1930
+ * The party's public address.
1931
+ */
1932
+ export type Url = string;
1851
1933
  /**
1852
1934
  * 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.
1853
1935
  */
@@ -5212,6 +5294,35 @@ export interface AuditEnvelope {
5212
5294
  };
5213
5295
  ext?: Ext;
5214
5296
  }
5297
+ /**
5298
+ * One change to the published set, as the audit trail records it.
5299
+ */
5300
+ export interface AuditEvent {
5301
+ /**
5302
+ * When it happened.
5303
+ */
5304
+ occurredAt: string;
5305
+ /**
5306
+ * The entry it happened to.
5307
+ */
5308
+ did: Did_VtnV0_1;
5309
+ /**
5310
+ * What happened.
5311
+ */
5312
+ event: "list" | "acknowledge" | "repudiate" | "suspend" | "reinstate" | "remove" | "depart" | "update";
5313
+ /**
5314
+ * The entry's state afterwards.
5315
+ */
5316
+ to: EntryState;
5317
+ /**
5318
+ * Who did it: an administrator, or the listed party.
5319
+ */
5320
+ actor: Did_VtnV0_1;
5321
+ /**
5322
+ * The reason given, if any.
5323
+ */
5324
+ reason?: string;
5325
+ }
5215
5326
  /**
5216
5327
  * The credential the client returns from `navigator.credentials.get`. Binary fields are base64url-encoded.
5217
5328
  */
@@ -5676,6 +5787,47 @@ export interface BreakGlass_GitNsV0_6 {
5676
5787
  */
5677
5788
  ratifiedAt?: string;
5678
5789
  }
5790
+ /**
5791
+ * A broadcast as this network sent or relayed it.
5792
+ */
5793
+ export interface BroadcastRecord {
5794
+ /**
5795
+ * The message id.
5796
+ */
5797
+ id: string;
5798
+ /**
5799
+ * Whether this network sent it or received it to relay.
5800
+ */
5801
+ direction: "sent" | "received";
5802
+ /**
5803
+ * The role it was addressed to.
5804
+ */
5805
+ role: RoleName_VtnV0_1;
5806
+ /**
5807
+ * The signed message.
5808
+ */
5809
+ message: Credential;
5810
+ /**
5811
+ * For a received message, the network that delivered it.
5812
+ */
5813
+ from?: Did_VtnV0_1;
5814
+ /**
5815
+ * For a sent message, the administrator that sent it.
5816
+ */
5817
+ actor?: Did_VtnV0_1;
5818
+ /**
5819
+ * When.
5820
+ */
5821
+ recordedAt: string;
5822
+ /**
5823
+ * Per group.
5824
+ */
5825
+ receipts: Receipt[];
5826
+ /**
5827
+ * Groups delivered to, counting relays.
5828
+ */
5829
+ reached: number;
5830
+ }
5679
5831
  /**
5680
5832
  * 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.
5681
5833
  */
@@ -5844,6 +5996,19 @@ export interface Cast {
5844
5996
  tag: Multibase_VotingV0_1;
5845
5997
  attestation: Multibase_VotingV0_1;
5846
5998
  }
5999
+ /**
6000
+ * 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.
6001
+ */
6002
+ export interface ChainLink {
6003
+ /**
6004
+ * A member's signed vtn/groups/register request.
6005
+ */
6006
+ registration: SignedTask;
6007
+ /**
6008
+ * 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.
6009
+ */
6010
+ acceptance: Credential;
6011
+ }
5847
6012
  /**
5848
6013
  * 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.
5849
6014
  *
@@ -5874,6 +6039,23 @@ export interface ChunkedDescriptor {
5874
6039
  expectedSizeBytes: ExpectedSizeBytes;
5875
6040
  expiresAt: ExpiresAt;
5876
6041
  }
6042
+ /**
6043
+ * A collection claim in force for one identifier: the client that is its collector, when the claim ends, and whether the claimant may still renew it. A claim released by a party other than its claimant, or whose claimant's access control entry no longer gives it standing in the context, is not renewable and still ends at `endsAt`, because the claimant is still connected until its own clock tells it to stop (VTI-NTF-084).
6044
+ */
6045
+ export interface Claim {
6046
+ /**
6047
+ * The client holding the claim: the subject of the access control entry it was granted to.
6048
+ */
6049
+ claimant: Did_NotificationsV0_1;
6050
+ /**
6051
+ * When the claim ends unless renewed. The claimant stops collecting before this instant less its clock-skew tolerance; the VTA resumes no earlier than this instant plus its own (VTI-NTF-083, VTI-NTF-084).
6052
+ */
6053
+ endsAt: string;
6054
+ /**
6055
+ * Whether the claimant may renew the claim with vta/collection/claim before it ends.
6056
+ */
6057
+ renewable: boolean;
6058
+ }
5877
6059
  /**
5878
6060
  * Which claim a `claim` field accepts, from which credentials and issuers.
5879
6061
  */
@@ -5893,6 +6075,15 @@ export interface ClaimSelector {
5893
6075
  */
5894
6076
  issuers?: string[];
5895
6077
  }
6078
+ /**
6079
+ * The collection state of one identifier. `claim` is present exactly when `collector` is `client`, and `notCollectedReason` exactly when it is `none`.
6080
+ */
6081
+ export interface CollectionEntry {
6082
+ identifier: Did_NotificationsV0_1;
6083
+ collector: Collector;
6084
+ claim?: Claim;
6085
+ notCollectedReason?: NotCollectedReason;
6086
+ }
5896
6087
  /**
5897
6088
  * OPTIONAL. How the community asks to be shown to a prospective applicant: a name, an accent colour and a logo. Presentation only, self-asserted and unverified — `communityDid` identifies the community, never `branding`. Not part of any criterion, so not covered by a `requirementsDigest`. Every member is optional.
5898
6089
  */
@@ -6418,6 +6609,11 @@ export interface ContextRecord {
6418
6609
  updatedAt: string;
6419
6610
  ext?: Ext;
6420
6611
  }
6612
+ /**
6613
+ * 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.
6614
+ */
6615
+ export interface Credential {
6616
+ }
6421
6617
  /**
6422
6618
  * A pointer to an issued credential, without the credential itself.
6423
6619
  *
@@ -7387,6 +7583,44 @@ export interface DirectoryEntry {
7387
7583
  */
7388
7584
  sharedGroups?: string[];
7389
7585
  }
7586
+ /**
7587
+ * One directory result.
7588
+ */
7589
+ export interface DirectoryEntry_VtnV0_1 {
7590
+ did: Did_VtnV0_1;
7591
+ kind: EntryKind;
7592
+ state: EntryState;
7593
+ /**
7594
+ * Whether the party is a member. Every result states it (VTI-VTN-013).
7595
+ */
7596
+ acknowledged: boolean;
7597
+ /**
7598
+ * The name shown.
7599
+ */
7600
+ label?: string;
7601
+ /**
7602
+ * What the party is.
7603
+ */
7604
+ description?: string;
7605
+ /**
7606
+ * The party's public address.
7607
+ */
7608
+ url?: string;
7609
+ /**
7610
+ * Tags.
7611
+ *
7612
+ * @maxItems 32
7613
+ */
7614
+ tags?: string[];
7615
+ /**
7616
+ * The listing credential's `id`, to fetch it.
7617
+ */
7618
+ listingId?: string;
7619
+ /**
7620
+ * The grant's `id`, once acknowledged.
7621
+ */
7622
+ grantId?: string;
7623
+ }
7390
7624
  /**
7391
7625
  * 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.
7392
7626
  */
@@ -7400,6 +7634,27 @@ export interface DirectoryRef {
7400
7634
  */
7401
7635
  entryId: DirectoryEntryId;
7402
7636
  }
7637
+ /**
7638
+ * Counts over the published set.
7639
+ */
7640
+ export interface DirectorySummary {
7641
+ /**
7642
+ * Published community entries.
7643
+ */
7644
+ communities: number;
7645
+ /**
7646
+ * Published network entries.
7647
+ */
7648
+ networks: number;
7649
+ /**
7650
+ * Of those, members.
7651
+ */
7652
+ acknowledged: number;
7653
+ /**
7654
+ * Of those, listed but not members.
7655
+ */
7656
+ unacknowledged: number;
7657
+ }
7403
7658
  /**
7404
7659
  * 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.
7405
7660
  */
@@ -7732,6 +7987,33 @@ export interface DynamicRule {
7732
7987
  RuleCondition
7733
7988
  ];
7734
7989
  }
7990
+ /**
7991
+ * One credential, from issuer to subject. A membership is two edges: the grant and the acknowledgement.
7992
+ */
7993
+ export interface Edge {
7994
+ /**
7995
+ * The credential's `id`.
7996
+ */
7997
+ id: string;
7998
+ /**
7999
+ * The issuer.
8000
+ */
8001
+ source: Did_VtnV0_1;
8002
+ /**
8003
+ * The subject.
8004
+ */
8005
+ target: Did_VtnV0_1;
8006
+ role: EdgeRole;
8007
+ /**
8008
+ * The credential's DTG type, e.g. `MembershipCredential`.
8009
+ */
8010
+ credType: string;
8011
+ status: EdgeStatus;
8012
+ /**
8013
+ * The credential itself.
8014
+ */
8015
+ credential: Credential;
8016
+ }
7735
8017
  /**
7736
8018
  * 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.
7737
8019
  */
@@ -7928,12 +8210,65 @@ export interface EndorsementType {
7928
8210
  */
7929
8211
  createdByDid?: string;
7930
8212
  }
8213
+ /**
8214
+ * An entry as its network's administrators see it.
8215
+ */
8216
+ export interface Entry {
8217
+ /**
8218
+ * The listed party's DID.
8219
+ */
8220
+ did: Did_VtnV0_1;
8221
+ kind: EntryKind;
8222
+ label?: Label;
8223
+ profile: EntryProfile;
8224
+ state: EntryState;
8225
+ /**
8226
+ * When the party was first listed.
8227
+ */
8228
+ createdAt: string;
8229
+ /**
8230
+ * When the entry last changed.
8231
+ */
8232
+ updatedAt: string;
8233
+ /**
8234
+ * The listing credential (`lists/1`).
8235
+ */
8236
+ listing: Issued;
8237
+ /**
8238
+ * The unsigned membership grant offered to the party, before it acknowledged.
8239
+ */
8240
+ offer?: Issued;
8241
+ /**
8242
+ * The signed membership grant (VMC), once the party acknowledged.
8243
+ */
8244
+ grant?: Issued;
8245
+ /**
8246
+ * The party's acknowledgement (VMC carrying the grant's digest).
8247
+ */
8248
+ ack?: Credential;
8249
+ /**
8250
+ * The party's repudiation (`repudiates/1`) of the listing or the grant.
8251
+ */
8252
+ repudiation?: Credential;
8253
+ /**
8254
+ * Every transition, oldest first.
8255
+ */
8256
+ history: StateChange[];
8257
+ }
7931
8258
  /**
7932
8259
  * 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.
7933
8260
  */
7934
8261
  export interface EntryFields {
7935
8262
  [k: string]: FieldValue | undefined;
7936
8263
  }
8264
+ /**
8265
+ * What the directory shows about an entry, set by the network's administrators.
8266
+ */
8267
+ export interface EntryProfile {
8268
+ description?: Description;
8269
+ url?: Url;
8270
+ tags?: Tags;
8271
+ }
7937
8272
  export interface EnumOption {
7938
8273
  /**
7939
8274
  * The stored value.
@@ -7944,6 +8279,119 @@ export interface EnumOption {
7944
8279
  */
7945
8280
  label: string;
7946
8281
  }
8282
+ /**
8283
+ * A broadcast in transit.
8284
+ */
8285
+ export interface Envelope {
8286
+ /**
8287
+ * The message, signed by the origin network.
8288
+ */
8289
+ message: Credential;
8290
+ /**
8291
+ * One signed hop per relay step, each by the network that owns the previous hop's group.
8292
+ *
8293
+ * @maxItems 16
8294
+ */
8295
+ hops: [] | [Credential] | [Credential, Credential] | [Credential, Credential, Credential] | [Credential, Credential, Credential, Credential] | [Credential, Credential, Credential, Credential, Credential] | [Credential, Credential, Credential, Credential, Credential, Credential] | [Credential, Credential, Credential, Credential, Credential, Credential, Credential] | [Credential, Credential, Credential, Credential, Credential, Credential, Credential, Credential] | [Credential, Credential, Credential, Credential, Credential, Credential, Credential, Credential, Credential] | [
8296
+ Credential,
8297
+ Credential,
8298
+ Credential,
8299
+ Credential,
8300
+ Credential,
8301
+ Credential,
8302
+ Credential,
8303
+ Credential,
8304
+ Credential,
8305
+ Credential
8306
+ ] | [
8307
+ Credential,
8308
+ Credential,
8309
+ Credential,
8310
+ Credential,
8311
+ Credential,
8312
+ Credential,
8313
+ Credential,
8314
+ Credential,
8315
+ Credential,
8316
+ Credential,
8317
+ Credential
8318
+ ] | [
8319
+ Credential,
8320
+ Credential,
8321
+ Credential,
8322
+ Credential,
8323
+ Credential,
8324
+ Credential,
8325
+ Credential,
8326
+ Credential,
8327
+ Credential,
8328
+ Credential,
8329
+ Credential,
8330
+ Credential
8331
+ ] | [
8332
+ Credential,
8333
+ Credential,
8334
+ Credential,
8335
+ Credential,
8336
+ Credential,
8337
+ Credential,
8338
+ Credential,
8339
+ Credential,
8340
+ Credential,
8341
+ Credential,
8342
+ Credential,
8343
+ Credential,
8344
+ Credential
8345
+ ] | [
8346
+ Credential,
8347
+ Credential,
8348
+ Credential,
8349
+ Credential,
8350
+ Credential,
8351
+ Credential,
8352
+ Credential,
8353
+ Credential,
8354
+ Credential,
8355
+ Credential,
8356
+ Credential,
8357
+ Credential,
8358
+ Credential,
8359
+ Credential
8360
+ ] | [
8361
+ Credential,
8362
+ Credential,
8363
+ Credential,
8364
+ Credential,
8365
+ Credential,
8366
+ Credential,
8367
+ Credential,
8368
+ Credential,
8369
+ Credential,
8370
+ Credential,
8371
+ Credential,
8372
+ Credential,
8373
+ Credential,
8374
+ Credential,
8375
+ Credential
8376
+ ] | [
8377
+ Credential,
8378
+ Credential,
8379
+ Credential,
8380
+ Credential,
8381
+ Credential,
8382
+ Credential,
8383
+ Credential,
8384
+ Credential,
8385
+ Credential,
8386
+ Credential,
8387
+ Credential,
8388
+ Credential,
8389
+ Credential,
8390
+ Credential,
8391
+ Credential,
8392
+ Credential
8393
+ ];
8394
+ }
7947
8395
  /**
7948
8396
  * 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**.
7949
8397
  *
@@ -8106,6 +8554,52 @@ export interface ExternalCard {
8106
8554
  */
8107
8555
  publishedAt?: string;
8108
8556
  }
8557
+ /**
8558
+ * A result from a member network's set, with the network that lists it and the path to that network.
8559
+ */
8560
+ export interface FederatedEntry {
8561
+ did: Did_VtnV0_1;
8562
+ kind: EntryKind;
8563
+ state: EntryState;
8564
+ /**
8565
+ * Whether the party is a member. Every result states it (VTI-VTN-013).
8566
+ */
8567
+ acknowledged: boolean;
8568
+ /**
8569
+ * The name shown.
8570
+ */
8571
+ label?: string;
8572
+ /**
8573
+ * What the party is.
8574
+ */
8575
+ description?: string;
8576
+ /**
8577
+ * The party's public address.
8578
+ */
8579
+ url?: string;
8580
+ /**
8581
+ * Tags.
8582
+ *
8583
+ * @maxItems 32
8584
+ */
8585
+ tags?: string[];
8586
+ /**
8587
+ * The listing credential's `id`, to fetch it.
8588
+ */
8589
+ listingId?: string;
8590
+ /**
8591
+ * The grant's `id`, once acknowledged.
8592
+ */
8593
+ grantId?: string;
8594
+ /**
8595
+ * The network whose set the result is in.
8596
+ */
8597
+ listedBy: Did_VtnV0_1;
8598
+ /**
8599
+ * From the searched network to `listedBy`, one hop per nesting.
8600
+ */
8601
+ path: PathHop[];
8602
+ }
8109
8603
  /**
8110
8604
  * One displayed value, with where it comes from and how to render it.
8111
8605
  */
@@ -8373,6 +8867,19 @@ export interface GrantsBindingSpec {
8373
8867
  */
8374
8868
  grants: [CapabilityRef, ...CapabilityRef[]];
8375
8869
  }
8870
+ /**
8871
+ * The graph.
8872
+ */
8873
+ export interface Graph {
8874
+ /**
8875
+ * The parties.
8876
+ */
8877
+ nodes: Node[];
8878
+ /**
8879
+ * The credentials.
8880
+ */
8881
+ edges: Edge[];
8882
+ }
8376
8883
  /**
8377
8884
  * 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.
8378
8885
  */
@@ -8858,6 +9365,42 @@ export interface InForce_VtcV0_4 {
8858
9365
  */
8859
9366
  reason?: string;
8860
9367
  }
9368
+ /**
9369
+ * An entry as the network publishes it, with the credentials a verifier needs.
9370
+ */
9371
+ export interface IndexEntry {
9372
+ /**
9373
+ * The listed party's DID.
9374
+ */
9375
+ did: Did_VtnV0_1;
9376
+ kind: EntryKind;
9377
+ state: EntryState;
9378
+ /**
9379
+ * Whether the party acknowledged: true only for a member. Every published entry states it (VTI-VTN-013).
9380
+ */
9381
+ acknowledged: boolean;
9382
+ /**
9383
+ * The name the directory shows.
9384
+ */
9385
+ label?: string;
9386
+ profile: EntryProfile;
9387
+ /**
9388
+ * The listing credential.
9389
+ */
9390
+ listing: Credential;
9391
+ /**
9392
+ * The membership grant, once acknowledged.
9393
+ */
9394
+ grant?: Credential;
9395
+ /**
9396
+ * The party's acknowledgement.
9397
+ */
9398
+ acknowledgement?: Credential;
9399
+ /**
9400
+ * The party's repudiation.
9401
+ */
9402
+ repudiation?: Credential;
9403
+ }
8861
9404
  /**
8862
9405
  * Registry view of one issued Invitation Credential. Carries no credential material — the VIC itself is returned only once, by `issue`.
8863
9406
  */
@@ -8960,6 +9503,19 @@ export interface InviteSummary_VtcV0_2 {
8960
9503
  */
8961
9504
  consumedAt?: string;
8962
9505
  }
9506
+ /**
9507
+ * A credential the network issued, with where its status is kept.
9508
+ */
9509
+ export interface Issued {
9510
+ /**
9511
+ * The credential as issued.
9512
+ */
9513
+ credential: Credential;
9514
+ /**
9515
+ * The credential's index in the network's status lists.
9516
+ */
9517
+ statusIndex: number;
9518
+ }
8963
9519
  /**
8964
9520
  * 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`.
8965
9521
  *
@@ -9606,6 +10162,11 @@ export interface MemberResponse {
9606
10162
  */
9607
10163
  extensions: {};
9608
10164
  }
10165
+ /**
10166
+ * 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`.
10167
+ */
10168
+ export interface Membership {
10169
+ }
9609
10170
  /**
9610
10171
  * Metadata of one stored message. Never carries the message body.
9611
10172
  */
@@ -9969,6 +10530,32 @@ export interface NewCardDefaults {
9969
10530
  */
9970
10531
  introductions?: Introductions;
9971
10532
  }
10533
+ /**
10534
+ * A party.
10535
+ */
10536
+ export interface Node {
10537
+ /**
10538
+ * The party's DID.
10539
+ */
10540
+ id: Did_VtnV0_1;
10541
+ kind: NodeKind;
10542
+ /**
10543
+ * Its name.
10544
+ */
10545
+ label?: string;
10546
+ /**
10547
+ * Its entry's state; absent for the root.
10548
+ */
10549
+ state?: EntryState;
10550
+ /**
10551
+ * Whether this is the network whose graph it is.
10552
+ */
10553
+ root: boolean;
10554
+ /**
10555
+ * Where a member network is reached, so a viewer can expand it.
10556
+ */
10557
+ url?: string;
10558
+ }
9972
10559
  /**
9973
10560
  * 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.
9974
10561
  */
@@ -10059,6 +10646,44 @@ export interface OfferV2 {
10059
10646
  state: "open" | "accepted";
10060
10647
  credentials: OfferCredentials;
10061
10648
  }
10649
+ /**
10650
+ * A delivery waiting to be retried.
10651
+ */
10652
+ export interface OutboxItem {
10653
+ /**
10654
+ * The message id.
10655
+ */
10656
+ messageId: string;
10657
+ /**
10658
+ * The group.
10659
+ */
10660
+ group: string;
10661
+ /**
10662
+ * Its member.
10663
+ */
10664
+ member: Did_VtnV0_1;
10665
+ /**
10666
+ * Where it is being delivered.
10667
+ */
10668
+ endpoint: string;
10669
+ envelope: Envelope;
10670
+ /**
10671
+ * Attempts so far.
10672
+ */
10673
+ attempts: number;
10674
+ /**
10675
+ * When it is next tried.
10676
+ */
10677
+ nextAttemptAt: string;
10678
+ /**
10679
+ * When it is given up.
10680
+ */
10681
+ expiresAt: string;
10682
+ /**
10683
+ * The last failure.
10684
+ */
10685
+ lastError: string;
10686
+ }
10062
10687
  /**
10063
10688
  * 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).
10064
10689
  */
@@ -10129,6 +10754,27 @@ export interface PasskeyVerificationMethod {
10129
10754
  */
10130
10755
  label?: string;
10131
10756
  }
10757
+ /**
10758
+ * 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).
10759
+ */
10760
+ export interface PathHop {
10761
+ /**
10762
+ * A network on the path.
10763
+ */
10764
+ network: Did_VtnV0_1;
10765
+ /**
10766
+ * Its name.
10767
+ */
10768
+ name?: string;
10769
+ /**
10770
+ * Its own entry's state at the network before it on the path.
10771
+ */
10772
+ state: EntryState;
10773
+ /**
10774
+ * Whether that entry is a membership.
10775
+ */
10776
+ acknowledged: boolean;
10777
+ }
10132
10778
  /**
10133
10779
  * The share of one queue attributable to one counterparty: in a send queue, the recipient; in a receive queue, the sender.
10134
10780
  */
@@ -10929,6 +11575,82 @@ export interface ReadVerification {
10929
11575
  headVersion: HeadVersion;
10930
11576
  };
10931
11577
  }
11578
+ /**
11579
+ * The outcome of one delivery.
11580
+ */
11581
+ export interface Receipt {
11582
+ /**
11583
+ * The group delivered to.
11584
+ */
11585
+ group: string;
11586
+ /**
11587
+ * The member that owns it.
11588
+ */
11589
+ member: Did_VtnV0_1;
11590
+ status: DeliveryStatus;
11591
+ /**
11592
+ * Why, for anything but `delivered`.
11593
+ */
11594
+ detail?: string;
11595
+ /**
11596
+ * Whether the group is a network group, which relays further.
11597
+ */
11598
+ network?: boolean;
11599
+ /**
11600
+ * The receipts the network group's own relay returned.
11601
+ */
11602
+ relayed?: Receipt[];
11603
+ }
11604
+ /**
11605
+ * 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.
11606
+ */
11607
+ export interface ReceivedNotification {
11608
+ recordId: RecordId_VtcNotificationsV0_1;
11609
+ /**
11610
+ * The issuer of the notifications/notify document: who said the thing exists.
11611
+ */
11612
+ originator: Did_NotificationsV0_1;
11613
+ /**
11614
+ * 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.
11615
+ *
11616
+ * @maxItems 4
11617
+ */
11618
+ relayedBy: [] | [Did_NotificationsV0_1] | [Did_NotificationsV0_1, Did_NotificationsV0_1] | [Did_NotificationsV0_1, Did_NotificationsV0_1, Did_NotificationsV0_1] | [Did_NotificationsV0_1, Did_NotificationsV0_1, Did_NotificationsV0_1, Did_NotificationsV0_1];
11619
+ /**
11620
+ * The notification's members at the revision held.
11621
+ */
11622
+ notification: Notification;
11623
+ /**
11624
+ * When the community accepted the revision held.
11625
+ */
11626
+ receivedAt: string;
11627
+ /**
11628
+ * 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`.
11629
+ */
11630
+ mayRelay: boolean;
11631
+ /**
11632
+ * 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.
11633
+ */
11634
+ relayDisclosure?: string;
11635
+ /**
11636
+ * 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).
11637
+ */
11638
+ relayDecisions: RelayDecision[];
11639
+ }
11640
+ /**
11641
+ * 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.
11642
+ */
11643
+ export interface Recipients {
11644
+ scope: RecipientScope;
11645
+ /**
11646
+ * The community group whose active members the relay reaches.
11647
+ */
11648
+ groupId?: GroupId;
11649
+ /**
11650
+ * 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`.
11651
+ */
11652
+ role?: string;
11653
+ }
10932
11654
  /**
10933
11655
  * Cites a credential.
10934
11656
  */
@@ -11198,6 +11920,36 @@ export interface RegisteredGroup {
11198
11920
  acceptance: {};
11199
11921
  registeredAt: string;
11200
11922
  }
11923
+ /**
11924
+ * A group serving a role: the member's signed registration and the network's groupRegistered credential accepting it.
11925
+ */
11926
+ export interface RegisteredGroup_VtnV0_1 {
11927
+ /**
11928
+ * The member that registered the group.
11929
+ */
11930
+ member: Did_VtnV0_1;
11931
+ role: RoleName_VtnV0_1;
11932
+ /**
11933
+ * The group: a DID, or for a network group a DID URL on the network's DID (`<did>#role-<name>`).
11934
+ */
11935
+ group: string;
11936
+ /**
11937
+ * Where the network delivers broadcasts for the group.
11938
+ */
11939
+ endpoint: string;
11940
+ /**
11941
+ * The member's signed vtn/groups/register request.
11942
+ */
11943
+ registration: SignedTask;
11944
+ /**
11945
+ * 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.
11946
+ */
11947
+ acceptance: Credential;
11948
+ /**
11949
+ * When the network accepted the registration.
11950
+ */
11951
+ registeredAt: string;
11952
+ }
11201
11953
  /**
11202
11954
  * 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.
11203
11955
  */
@@ -11242,6 +11994,24 @@ export interface RejectedKey {
11242
11994
  */
11243
11995
  reason: string;
11244
11996
  }
11997
+ /**
11998
+ * 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).
11999
+ */
12000
+ export interface RelayDecision {
12001
+ /**
12002
+ * When the decision was made.
12003
+ */
12004
+ decidedAt: string;
12005
+ /**
12006
+ * The administrator who made it.
12007
+ */
12008
+ decidedBy: Did_NotificationsV0_1;
12009
+ recipients: Recipients;
12010
+ /**
12011
+ * How many parties this decision added to those the notification is relayed to. Parties an earlier decision already reached are not counted again.
12012
+ */
12013
+ recipientCount: number;
12014
+ }
11245
12015
  /**
11246
12016
  * 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.
11247
12017
  */
@@ -11654,6 +12424,20 @@ export interface RoleBindingSpec {
11654
12424
  kind: "role";
11655
12425
  role: RoleName;
11656
12426
  }
12427
+ /**
12428
+ * A role the network defines.
12429
+ */
12430
+ export interface RoleDef {
12431
+ name: RoleName_VtnV0_1;
12432
+ /**
12433
+ * What the role is for.
12434
+ */
12435
+ description?: string;
12436
+ /**
12437
+ * Whether a party must register a group for it before its acknowledgement is accepted.
12438
+ */
12439
+ required: boolean;
12440
+ }
11657
12441
  /**
11658
12442
  * 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.
11659
12443
  *
@@ -11797,6 +12581,19 @@ export interface RoleLayout {
11797
12581
  */
11798
12582
  algorithms: [KeyType, ...KeyType[]];
11799
12583
  }
12584
+ /**
12585
+ * Which of this network's roles serves a parent's role.
12586
+ */
12587
+ export interface RoleMapping {
12588
+ /**
12589
+ * The parent's role.
12590
+ */
12591
+ parentRole: RoleName_VtnV0_1;
12592
+ /**
12593
+ * This network's role whose network group serves it.
12594
+ */
12595
+ localRole: RoleName_VtnV0_1;
12596
+ }
11800
12597
  export interface RoleSummary {
11801
12598
  role: KeyRole;
11802
12599
  /**
@@ -11934,6 +12731,35 @@ export interface RoomBindingSpec {
11934
12731
  */
11935
12732
  validFor: string;
11936
12733
  }
12734
+ /**
12735
+ * A room.
12736
+ */
12737
+ export interface RoomDef {
12738
+ /**
12739
+ * The room's id.
12740
+ */
12741
+ id: string;
12742
+ /**
12743
+ * Its name.
12744
+ */
12745
+ name: string;
12746
+ /**
12747
+ * The role whose groups' members may enter.
12748
+ */
12749
+ role: RoleName_VtnV0_1;
12750
+ /**
12751
+ * What it is for.
12752
+ */
12753
+ description?: string;
12754
+ /**
12755
+ * Where the room is.
12756
+ */
12757
+ url?: string;
12758
+ /**
12759
+ * 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.
12760
+ */
12761
+ passMinutes: number;
12762
+ }
11937
12763
  /**
11938
12764
  * 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.
11939
12765
  */
@@ -12071,6 +12897,20 @@ export interface RoomMembershipV2 {
12071
12897
  */
12072
12898
  purgeAt?: string;
12073
12899
  }
12900
+ /**
12901
+ * A room pass.
12902
+ */
12903
+ export interface RoomPass {
12904
+ room: RoomDef;
12905
+ /**
12906
+ * The pass: a credential the network signs for the person, valid for `passMinutes`.
12907
+ */
12908
+ pass: Credential;
12909
+ /**
12910
+ * The networks the person's eligibility ran through, from the one nearest their community up to this network.
12911
+ */
12912
+ via: Did_VtnV0_1[];
12913
+ }
12074
12914
  /**
12075
12915
  * 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.
12076
12916
  *
@@ -12730,6 +13570,11 @@ export interface SigmaProof {
12730
13570
  */
12731
13571
  export interface SignedRequest {
12732
13572
  }
13573
+ /**
13574
+ * 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.
13575
+ */
13576
+ export interface SignedTask {
13577
+ }
12733
13578
  /**
12734
13579
  * 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.
12735
13580
  */
@@ -12838,6 +13683,21 @@ export interface AndroidApp_VaultV0_2 {
12838
13683
  */
12839
13684
  sha256CertFingerprints: [string, ...string[]];
12840
13685
  }
13686
+ /**
13687
+ * One transition in an entry's lifecycle.
13688
+ */
13689
+ export interface StateChange {
13690
+ /**
13691
+ * When the state changed.
13692
+ */
13693
+ changedAt: string;
13694
+ /**
13695
+ * The state before; absent for the first listing.
13696
+ */
13697
+ from?: EntryState;
13698
+ to: EntryState;
13699
+ reason?: Reason_VtnV0_1;
13700
+ }
12841
13701
  /**
12842
13702
  * 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.
12843
13703
  */
@@ -13444,6 +14304,23 @@ export interface TspMessageEnvelope_VaultV0_2 {
13444
14304
  */
13445
14305
  message: string;
13446
14306
  }
14307
+ /**
14308
+ * A member network whose set could not be read: its results are indeterminate, not absent (VTI-REG-012).
14309
+ */
14310
+ export interface Unreachable {
14311
+ /**
14312
+ * The member network that could not be searched.
14313
+ */
14314
+ network: Did_VtnV0_1;
14315
+ /**
14316
+ * How it was reached.
14317
+ */
14318
+ path: PathHop[];
14319
+ /**
14320
+ * Why.
14321
+ */
14322
+ reason: string;
14323
+ }
13447
14324
  /**
13448
14325
  * 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.
13449
14326
  */
@@ -13452,6 +14329,70 @@ export interface UploadTarget {
13452
14329
  path?: WebsitePath;
13453
14330
  ifMatch?: WebsiteEtag;
13454
14331
  }
14332
+ /**
14333
+ * A group this network registered at its parent.
14334
+ */
14335
+ export interface UpstreamGroup {
14336
+ parentRole: RoleName_VtnV0_1;
14337
+ localRole: RoleName_VtnV0_1;
14338
+ /**
14339
+ * This network's network group (`<did>#role-<localRole>`).
14340
+ */
14341
+ group: string;
14342
+ /**
14343
+ * This network's signed vtn/groups/register request to the parent.
14344
+ */
14345
+ registration: SignedTask;
14346
+ /**
14347
+ * 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.
14348
+ */
14349
+ acceptance: Credential;
14350
+ }
14351
+ /**
14352
+ * This network's membership of a parent.
14353
+ */
14354
+ export interface UpstreamMembership {
14355
+ /**
14356
+ * The parent network.
14357
+ */
14358
+ network: Did_VtnV0_1;
14359
+ /**
14360
+ * Where the parent is reached.
14361
+ */
14362
+ url: string;
14363
+ /**
14364
+ * The parent's name.
14365
+ */
14366
+ name?: string;
14367
+ /**
14368
+ * `acknowledged`: this network is a member. `repudiated`: it rejected the parent's listing. `departed`: it left.
14369
+ */
14370
+ state: "acknowledged" | "repudiated" | "departed";
14371
+ /**
14372
+ * The parent's listing of this network, as verified.
14373
+ */
14374
+ listing: Credential;
14375
+ /**
14376
+ * The parent's grant.
14377
+ */
14378
+ grant?: Credential;
14379
+ /**
14380
+ * This network's acknowledgement.
14381
+ */
14382
+ acknowledgement?: Credential;
14383
+ /**
14384
+ * This network's repudiation of the listing or grant.
14385
+ */
14386
+ repudiation?: Credential;
14387
+ /**
14388
+ * Groups registered at the parent.
14389
+ */
14390
+ groups: UpstreamGroup[];
14391
+ /**
14392
+ * When it last changed.
14393
+ */
14394
+ updatedAt: string;
14395
+ }
13455
14396
  /**
13456
14397
  * What one scope holds now. Ciphertext bytes throughout.
13457
14398
  */