@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
@@ -579,6 +579,10 @@ export type ChunkSize = number;
579
579
  * 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.
580
580
  */
581
581
  export type ClaimType = string;
582
+ /**
583
+ * 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`.
584
+ */
585
+ export type Collector = "vta" | "client" | "none";
582
586
  /**
583
587
  * 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.
584
588
  */
@@ -599,6 +603,10 @@ export type ConsumerKind_DeviceV0_2 = Companion_DeviceV0_2 | Service_DeviceV0_2;
599
603
  * The trust context the notification is held in: the one the addressed DID belongs to.
600
604
  */
601
605
  export type ContextId = string;
606
+ /**
607
+ * The trust context the identifier belongs to.
608
+ */
609
+ export type ContextId_VtaCollectionV0_1 = string;
602
610
  /**
603
611
  * Opaque identifier of one of the maintainer's contexts, compared by the maintainer's own ancestry predicate. Its grammar is the maintainer's.
604
612
  */
@@ -662,6 +670,14 @@ export type DecryptionTarget = {
662
670
  * `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
671
  */
664
672
  export type DeliveryState = "queued" | "delivered";
673
+ /**
674
+ * What happened to one delivery. `queued` will be retried.
675
+ */
676
+ export type DeliveryStatus = "delivered" | "duplicate" | "refused" | "queued" | "failed";
677
+ /**
678
+ * What the listed party is, for the directory.
679
+ */
680
+ export type Description = string;
665
681
  /**
666
682
  * Producer-supplied attestation at registration time, verifiable by the maintainer against the platform's attestation infrastructure. Tagged union over the discriminator `kind`.
667
683
  */
@@ -711,6 +727,10 @@ export type Did_GitNsV0_3 = string;
711
727
  * A DID.
712
728
  */
713
729
  export type Did_NotificationsV0_1 = string;
730
+ /**
731
+ * A DID.
732
+ */
733
+ export type Did_VtnV0_1 = string;
714
734
  /**
715
735
  * 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
736
  *
@@ -750,6 +770,14 @@ export type DtgType = string;
750
770
  * 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
771
  */
752
772
  export type Duration = string;
773
+ /**
774
+ * Which credential an edge is.
775
+ */
776
+ export type EdgeRole = "listing" | "grant" | "acknowledgement" | "repudiation";
777
+ /**
778
+ * The credential's status as far as this network can determine it. `unchecked` is a credential whose status list this network does not hold.
779
+ */
780
+ export type EdgeStatus = "valid" | "suspended" | "revoked" | "unchecked";
753
781
  /**
754
782
  * Whether the subject is permitted. The ABSENCE of any grant is treated as `deny` (default-deny).
755
783
  */
@@ -777,6 +805,14 @@ export type EnrolledVia = "install" | "invite" | "selfService" | "offline";
777
805
  * 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
806
  */
779
807
  export type EntryId = string;
808
+ /**
809
+ * 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`.
810
+ */
811
+ export type EntryKind = "community" | "network";
812
+ /**
813
+ * `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.
814
+ */
815
+ export type EntryState = "listed" | "acknowledged" | "repudiated" | "suspended" | "removed" | "departed";
780
816
  /**
781
817
  * 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
818
  *
@@ -1074,6 +1110,10 @@ export type Kind = "dm" | "group" | "channel";
1074
1110
  * 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
1111
  */
1076
1112
  export type Kind_NotificationsV0_1 = string;
1113
+ /**
1114
+ * The name the directory shows.
1115
+ */
1116
+ export type Label = string;
1077
1117
  /**
1078
1118
  * A BCP 47 language tag, e.g. `en`, `de-AT`. Compared case-insensitively.
1079
1119
  */
@@ -1136,6 +1176,10 @@ export type MemberState = "offered" | "admitted" | "removed";
1136
1176
  * `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
1177
  */
1138
1178
  export type MemberStateV2 = "offered" | "admitted" | "suspended" | "removed";
1179
+ /**
1180
+ * Only members (`acknowledged: true`). Absent means false.
1181
+ */
1182
+ export type MembersOnly = boolean;
1139
1183
  /**
1140
1184
  * 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
1185
  */
@@ -1178,6 +1222,14 @@ export type Namespace = string;
1178
1222
  * 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
1223
  */
1180
1224
  export type NamespaceId = string;
1225
+ /**
1226
+ * What a node is.
1227
+ */
1228
+ export type NodeKind = "network" | "community";
1229
+ /**
1230
+ * 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.
1231
+ */
1232
+ export type NotCollectedReason = "limit" | "conflict" | "disabled";
1181
1233
  /**
1182
1234
  * Opaque identifier of one note: `note_` followed by 16 to 64 base64url characters.
1183
1235
  */
@@ -1533,6 +1585,14 @@ export type Queue = "receive" | "send";
1533
1585
  * 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
1586
  */
1535
1587
  export type Reason = string;
1588
+ /**
1589
+ * The reason given, if any.
1590
+ */
1591
+ export type Reason_VtnV0_1 = string;
1592
+ /**
1593
+ * 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.
1594
+ */
1595
+ export type RecipientScope = "allMembers" | "group" | "role";
1536
1596
  /**
1537
1597
  * 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
1598
  *
@@ -1578,6 +1638,10 @@ export type RecordEvidenceList = [RecordEvidence, ...RecordEvidence[]];
1578
1638
  * 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
1639
  */
1580
1640
  export type RecordId = string;
1641
+ /**
1642
+ * 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.
1643
+ */
1644
+ export type RecordId_VtcNotificationsV0_1 = string;
1581
1645
  /**
1582
1646
  * 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
1647
  *
@@ -1700,6 +1764,10 @@ export type RoleKeyState = "pending" | "staged" | "active" | "retiring" | "retir
1700
1764
  * 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
1765
  */
1702
1766
  export type RoleName = string;
1767
+ /**
1768
+ * A role's name: 1–64 lowercase letters, digits, `-` or `_`.
1769
+ */
1770
+ export type RoleName_VtnV0_1 = string;
1703
1771
  /**
1704
1772
  * 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
1773
  */
@@ -1826,6 +1894,10 @@ export type SealedStorageCredential =
1826
1894
  * 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
1895
  */
1828
1896
  export type SealedTransferBundle = string;
1897
+ /**
1898
+ * Free text. Every whitespace-separated term must match, case-insensitively, the entry's DID, label, description or a tag.
1899
+ */
1900
+ export type SearchText = string;
1829
1901
  /**
1830
1902
  * `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
1903
  */
@@ -2027,6 +2099,12 @@ export type SyncEvent_SyncV0_2 =
2027
2099
  | VaultDeletedEvent_SyncV0_2
2028
2100
  | AclChangedEvent_SyncV0_2
2029
2101
  | PolicyChangedEvent_SyncV0_2;
2102
+ /**
2103
+ * Free-text tags the directory searches.
2104
+ *
2105
+ * @maxItems 32
2106
+ */
2107
+ export type Tags = string[];
2030
2108
  /**
2031
2109
  * 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
2110
  */
@@ -2138,6 +2216,10 @@ export type UpdateKeyClass = "routine" | "recovery";
2138
2216
  * 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
2217
  */
2140
2218
  export type UploadId = string;
2219
+ /**
2220
+ * The party's public address.
2221
+ */
2222
+ export type Url = string;
2141
2223
  /**
2142
2224
  * 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
2225
  */
@@ -5597,6 +5679,35 @@ export interface AuditEnvelope {
5597
5679
  };
5598
5680
  ext?: Ext;
5599
5681
  }
5682
+ /**
5683
+ * One change to the published set, as the audit trail records it.
5684
+ */
5685
+ export interface AuditEvent {
5686
+ /**
5687
+ * When it happened.
5688
+ */
5689
+ occurredAt: string;
5690
+ /**
5691
+ * The entry it happened to.
5692
+ */
5693
+ did: Did_VtnV0_1;
5694
+ /**
5695
+ * What happened.
5696
+ */
5697
+ event: "list" | "acknowledge" | "repudiate" | "suspend" | "reinstate" | "remove" | "depart" | "update";
5698
+ /**
5699
+ * The entry's state afterwards.
5700
+ */
5701
+ to: EntryState;
5702
+ /**
5703
+ * Who did it: an administrator, or the listed party.
5704
+ */
5705
+ actor: Did_VtnV0_1;
5706
+ /**
5707
+ * The reason given, if any.
5708
+ */
5709
+ reason?: string;
5710
+ }
5600
5711
  /**
5601
5712
  * The credential the client returns from `navigator.credentials.get`. Binary fields are base64url-encoded.
5602
5713
  */
@@ -6069,6 +6180,47 @@ export interface BreakGlass_GitNsV0_6 {
6069
6180
  */
6070
6181
  ratifiedAt?: string;
6071
6182
  }
6183
+ /**
6184
+ * A broadcast as this network sent or relayed it.
6185
+ */
6186
+ export interface BroadcastRecord {
6187
+ /**
6188
+ * The message id.
6189
+ */
6190
+ id: string;
6191
+ /**
6192
+ * Whether this network sent it or received it to relay.
6193
+ */
6194
+ direction: "sent" | "received";
6195
+ /**
6196
+ * The role it was addressed to.
6197
+ */
6198
+ role: RoleName_VtnV0_1;
6199
+ /**
6200
+ * The signed message.
6201
+ */
6202
+ message: Credential;
6203
+ /**
6204
+ * For a received message, the network that delivered it.
6205
+ */
6206
+ from?: Did_VtnV0_1;
6207
+ /**
6208
+ * For a sent message, the administrator that sent it.
6209
+ */
6210
+ actor?: Did_VtnV0_1;
6211
+ /**
6212
+ * When.
6213
+ */
6214
+ recordedAt: string;
6215
+ /**
6216
+ * Per group.
6217
+ */
6218
+ receipts: Receipt[];
6219
+ /**
6220
+ * Groups delivered to, counting relays.
6221
+ */
6222
+ reached: number;
6223
+ }
6072
6224
  /**
6073
6225
  * 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
6226
  */
@@ -6236,6 +6388,19 @@ export interface Cast {
6236
6388
  tag: Multibase_VotingV0_1;
6237
6389
  attestation: Multibase_VotingV0_1;
6238
6390
  }
6391
+ /**
6392
+ * 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.
6393
+ */
6394
+ export interface ChainLink {
6395
+ /**
6396
+ * A member's signed vtn/groups/register request.
6397
+ */
6398
+ registration: SignedTask;
6399
+ /**
6400
+ * 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.
6401
+ */
6402
+ acceptance: Credential;
6403
+ }
6239
6404
  /**
6240
6405
  * 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
6406
  *
@@ -6266,6 +6431,23 @@ export interface ChunkedDescriptor {
6266
6431
  expectedSizeBytes: ExpectedSizeBytes;
6267
6432
  expiresAt: ExpiresAt;
6268
6433
  }
6434
+ /**
6435
+ * 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).
6436
+ */
6437
+ export interface Claim {
6438
+ /**
6439
+ * The client holding the claim: the subject of the access control entry it was granted to.
6440
+ */
6441
+ claimant: Did_NotificationsV0_1;
6442
+ /**
6443
+ * 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).
6444
+ */
6445
+ endsAt: string;
6446
+ /**
6447
+ * Whether the claimant may renew the claim with vta/collection/claim before it ends.
6448
+ */
6449
+ renewable: boolean;
6450
+ }
6269
6451
  /**
6270
6452
  * Which claim a `claim` field accepts, from which credentials and issuers.
6271
6453
  */
@@ -6285,6 +6467,15 @@ export interface ClaimSelector {
6285
6467
  */
6286
6468
  issuers?: string[];
6287
6469
  }
6470
+ /**
6471
+ * The collection state of one identifier. `claim` is present exactly when `collector` is `client`, and `notCollectedReason` exactly when it is `none`.
6472
+ */
6473
+ export interface CollectionEntry {
6474
+ identifier: Did_NotificationsV0_1;
6475
+ collector: Collector;
6476
+ claim?: Claim;
6477
+ notCollectedReason?: NotCollectedReason;
6478
+ }
6288
6479
  /**
6289
6480
  * 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.
6290
6481
  */
@@ -6810,6 +7001,10 @@ export interface ContextRecord {
6810
7001
  updatedAt: string;
6811
7002
  ext?: Ext;
6812
7003
  }
7004
+ /**
7005
+ * 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.
7006
+ */
7007
+ export interface Credential {}
6813
7008
  /**
6814
7009
  * A pointer to an issued credential, without the credential itself.
6815
7010
  *
@@ -7802,6 +7997,44 @@ export interface DirectoryEntry {
7802
7997
  */
7803
7998
  sharedGroups?: string[];
7804
7999
  }
8000
+ /**
8001
+ * One directory result.
8002
+ */
8003
+ export interface DirectoryEntry_VtnV0_1 {
8004
+ did: Did_VtnV0_1;
8005
+ kind: EntryKind;
8006
+ state: EntryState;
8007
+ /**
8008
+ * Whether the party is a member. Every result states it (VTI-VTN-013).
8009
+ */
8010
+ acknowledged: boolean;
8011
+ /**
8012
+ * The name shown.
8013
+ */
8014
+ label?: string;
8015
+ /**
8016
+ * What the party is.
8017
+ */
8018
+ description?: string;
8019
+ /**
8020
+ * The party's public address.
8021
+ */
8022
+ url?: string;
8023
+ /**
8024
+ * Tags.
8025
+ *
8026
+ * @maxItems 32
8027
+ */
8028
+ tags?: string[];
8029
+ /**
8030
+ * The listing credential's `id`, to fetch it.
8031
+ */
8032
+ listingId?: string;
8033
+ /**
8034
+ * The grant's `id`, once acknowledged.
8035
+ */
8036
+ grantId?: string;
8037
+ }
7805
8038
  /**
7806
8039
  * 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
8040
  */
@@ -7815,6 +8048,27 @@ export interface DirectoryRef {
7815
8048
  */
7816
8049
  entryId: DirectoryEntryId;
7817
8050
  }
8051
+ /**
8052
+ * Counts over the published set.
8053
+ */
8054
+ export interface DirectorySummary {
8055
+ /**
8056
+ * Published community entries.
8057
+ */
8058
+ communities: number;
8059
+ /**
8060
+ * Published network entries.
8061
+ */
8062
+ networks: number;
8063
+ /**
8064
+ * Of those, members.
8065
+ */
8066
+ acknowledged: number;
8067
+ /**
8068
+ * Of those, listed but not members.
8069
+ */
8070
+ unacknowledged: number;
8071
+ }
7818
8072
  /**
7819
8073
  * 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
8074
  */
@@ -8175,6 +8429,33 @@ export interface DynamicRule {
8175
8429
  RuleCondition
8176
8430
  ];
8177
8431
  }
8432
+ /**
8433
+ * One credential, from issuer to subject. A membership is two edges: the grant and the acknowledgement.
8434
+ */
8435
+ export interface Edge {
8436
+ /**
8437
+ * The credential's `id`.
8438
+ */
8439
+ id: string;
8440
+ /**
8441
+ * The issuer.
8442
+ */
8443
+ source: Did_VtnV0_1;
8444
+ /**
8445
+ * The subject.
8446
+ */
8447
+ target: Did_VtnV0_1;
8448
+ role: EdgeRole;
8449
+ /**
8450
+ * The credential's DTG type, e.g. `MembershipCredential`.
8451
+ */
8452
+ credType: string;
8453
+ status: EdgeStatus;
8454
+ /**
8455
+ * The credential itself.
8456
+ */
8457
+ credential: Credential;
8458
+ }
8178
8459
  /**
8179
8460
  * 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
8461
  */
@@ -8371,12 +8652,65 @@ export interface EndorsementType {
8371
8652
  */
8372
8653
  createdByDid?: string;
8373
8654
  }
8655
+ /**
8656
+ * An entry as its network's administrators see it.
8657
+ */
8658
+ export interface Entry {
8659
+ /**
8660
+ * The listed party's DID.
8661
+ */
8662
+ did: Did_VtnV0_1;
8663
+ kind: EntryKind;
8664
+ label?: Label;
8665
+ profile: EntryProfile;
8666
+ state: EntryState;
8667
+ /**
8668
+ * When the party was first listed.
8669
+ */
8670
+ createdAt: string;
8671
+ /**
8672
+ * When the entry last changed.
8673
+ */
8674
+ updatedAt: string;
8675
+ /**
8676
+ * The listing credential (`lists/1`).
8677
+ */
8678
+ listing: Issued;
8679
+ /**
8680
+ * The unsigned membership grant offered to the party, before it acknowledged.
8681
+ */
8682
+ offer?: Issued;
8683
+ /**
8684
+ * The signed membership grant (VMC), once the party acknowledged.
8685
+ */
8686
+ grant?: Issued;
8687
+ /**
8688
+ * The party's acknowledgement (VMC carrying the grant's digest).
8689
+ */
8690
+ ack?: Credential;
8691
+ /**
8692
+ * The party's repudiation (`repudiates/1`) of the listing or the grant.
8693
+ */
8694
+ repudiation?: Credential;
8695
+ /**
8696
+ * Every transition, oldest first.
8697
+ */
8698
+ history: StateChange[];
8699
+ }
8374
8700
  /**
8375
8701
  * 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
8702
  */
8377
8703
  export interface EntryFields {
8378
8704
  [k: string]: FieldValue | undefined;
8379
8705
  }
8706
+ /**
8707
+ * What the directory shows about an entry, set by the network's administrators.
8708
+ */
8709
+ export interface EntryProfile {
8710
+ description?: Description;
8711
+ url?: Url;
8712
+ tags?: Tags;
8713
+ }
8380
8714
  export interface EnumOption {
8381
8715
  /**
8382
8716
  * The stored value.
@@ -8387,6 +8721,136 @@ export interface EnumOption {
8387
8721
  */
8388
8722
  label: string;
8389
8723
  }
8724
+ /**
8725
+ * A broadcast in transit.
8726
+ */
8727
+ export interface Envelope {
8728
+ /**
8729
+ * The message, signed by the origin network.
8730
+ */
8731
+ message: Credential;
8732
+ /**
8733
+ * One signed hop per relay step, each by the network that owns the previous hop's group.
8734
+ *
8735
+ * @maxItems 16
8736
+ */
8737
+ hops:
8738
+ | []
8739
+ | [Credential]
8740
+ | [Credential, Credential]
8741
+ | [Credential, Credential, Credential]
8742
+ | [Credential, Credential, Credential, Credential]
8743
+ | [Credential, Credential, Credential, Credential, Credential]
8744
+ | [Credential, Credential, Credential, Credential, Credential, Credential]
8745
+ | [Credential, Credential, Credential, Credential, Credential, Credential, Credential]
8746
+ | [Credential, Credential, Credential, Credential, Credential, Credential, Credential, Credential]
8747
+ | [Credential, Credential, Credential, Credential, Credential, Credential, Credential, Credential, Credential]
8748
+ | [
8749
+ Credential,
8750
+ Credential,
8751
+ Credential,
8752
+ Credential,
8753
+ Credential,
8754
+ Credential,
8755
+ Credential,
8756
+ Credential,
8757
+ Credential,
8758
+ Credential
8759
+ ]
8760
+ | [
8761
+ Credential,
8762
+ Credential,
8763
+ Credential,
8764
+ Credential,
8765
+ Credential,
8766
+ Credential,
8767
+ Credential,
8768
+ Credential,
8769
+ Credential,
8770
+ Credential,
8771
+ Credential
8772
+ ]
8773
+ | [
8774
+ Credential,
8775
+ Credential,
8776
+ Credential,
8777
+ Credential,
8778
+ Credential,
8779
+ Credential,
8780
+ Credential,
8781
+ Credential,
8782
+ Credential,
8783
+ Credential,
8784
+ Credential,
8785
+ Credential
8786
+ ]
8787
+ | [
8788
+ Credential,
8789
+ Credential,
8790
+ Credential,
8791
+ Credential,
8792
+ Credential,
8793
+ Credential,
8794
+ Credential,
8795
+ Credential,
8796
+ Credential,
8797
+ Credential,
8798
+ Credential,
8799
+ Credential,
8800
+ Credential
8801
+ ]
8802
+ | [
8803
+ Credential,
8804
+ Credential,
8805
+ Credential,
8806
+ Credential,
8807
+ Credential,
8808
+ Credential,
8809
+ Credential,
8810
+ Credential,
8811
+ Credential,
8812
+ Credential,
8813
+ Credential,
8814
+ Credential,
8815
+ Credential,
8816
+ Credential
8817
+ ]
8818
+ | [
8819
+ Credential,
8820
+ Credential,
8821
+ Credential,
8822
+ Credential,
8823
+ Credential,
8824
+ Credential,
8825
+ Credential,
8826
+ Credential,
8827
+ Credential,
8828
+ Credential,
8829
+ Credential,
8830
+ Credential,
8831
+ Credential,
8832
+ Credential,
8833
+ Credential
8834
+ ]
8835
+ | [
8836
+ Credential,
8837
+ Credential,
8838
+ Credential,
8839
+ Credential,
8840
+ Credential,
8841
+ Credential,
8842
+ Credential,
8843
+ Credential,
8844
+ Credential,
8845
+ Credential,
8846
+ Credential,
8847
+ Credential,
8848
+ Credential,
8849
+ Credential,
8850
+ Credential,
8851
+ Credential
8852
+ ];
8853
+ }
8390
8854
  /**
8391
8855
  * 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
8856
  *
@@ -8566,6 +9030,52 @@ export interface ExternalCard {
8566
9030
  */
8567
9031
  publishedAt?: string;
8568
9032
  }
9033
+ /**
9034
+ * A result from a member network's set, with the network that lists it and the path to that network.
9035
+ */
9036
+ export interface FederatedEntry {
9037
+ did: Did_VtnV0_1;
9038
+ kind: EntryKind;
9039
+ state: EntryState;
9040
+ /**
9041
+ * Whether the party is a member. Every result states it (VTI-VTN-013).
9042
+ */
9043
+ acknowledged: boolean;
9044
+ /**
9045
+ * The name shown.
9046
+ */
9047
+ label?: string;
9048
+ /**
9049
+ * What the party is.
9050
+ */
9051
+ description?: string;
9052
+ /**
9053
+ * The party's public address.
9054
+ */
9055
+ url?: string;
9056
+ /**
9057
+ * Tags.
9058
+ *
9059
+ * @maxItems 32
9060
+ */
9061
+ tags?: string[];
9062
+ /**
9063
+ * The listing credential's `id`, to fetch it.
9064
+ */
9065
+ listingId?: string;
9066
+ /**
9067
+ * The grant's `id`, once acknowledged.
9068
+ */
9069
+ grantId?: string;
9070
+ /**
9071
+ * The network whose set the result is in.
9072
+ */
9073
+ listedBy: Did_VtnV0_1;
9074
+ /**
9075
+ * From the searched network to `listedBy`, one hop per nesting.
9076
+ */
9077
+ path: PathHop[];
9078
+ }
8569
9079
  /**
8570
9080
  * One displayed value, with where it comes from and how to render it.
8571
9081
  */
@@ -8833,6 +9343,19 @@ export interface GrantsBindingSpec {
8833
9343
  */
8834
9344
  grants: [CapabilityRef, ...CapabilityRef[]];
8835
9345
  }
9346
+ /**
9347
+ * The graph.
9348
+ */
9349
+ export interface Graph {
9350
+ /**
9351
+ * The parties.
9352
+ */
9353
+ nodes: Node[];
9354
+ /**
9355
+ * The credentials.
9356
+ */
9357
+ edges: Edge[];
9358
+ }
8836
9359
  /**
8837
9360
  * 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
9361
  */
@@ -9330,6 +9853,42 @@ export interface InForce_VtcV0_4 {
9330
9853
  */
9331
9854
  reason?: string;
9332
9855
  }
9856
+ /**
9857
+ * An entry as the network publishes it, with the credentials a verifier needs.
9858
+ */
9859
+ export interface IndexEntry {
9860
+ /**
9861
+ * The listed party's DID.
9862
+ */
9863
+ did: Did_VtnV0_1;
9864
+ kind: EntryKind;
9865
+ state: EntryState;
9866
+ /**
9867
+ * Whether the party acknowledged: true only for a member. Every published entry states it (VTI-VTN-013).
9868
+ */
9869
+ acknowledged: boolean;
9870
+ /**
9871
+ * The name the directory shows.
9872
+ */
9873
+ label?: string;
9874
+ profile: EntryProfile;
9875
+ /**
9876
+ * The listing credential.
9877
+ */
9878
+ listing: Credential;
9879
+ /**
9880
+ * The membership grant, once acknowledged.
9881
+ */
9882
+ grant?: Credential;
9883
+ /**
9884
+ * The party's acknowledgement.
9885
+ */
9886
+ acknowledgement?: Credential;
9887
+ /**
9888
+ * The party's repudiation.
9889
+ */
9890
+ repudiation?: Credential;
9891
+ }
9333
9892
  /**
9334
9893
  * Registry view of one issued Invitation Credential. Carries no credential material — the VIC itself is returned only once, by `issue`.
9335
9894
  */
@@ -9432,6 +9991,19 @@ export interface InviteSummary_VtcV0_2 {
9432
9991
  */
9433
9992
  consumedAt?: string;
9434
9993
  }
9994
+ /**
9995
+ * A credential the network issued, with where its status is kept.
9996
+ */
9997
+ export interface Issued {
9998
+ /**
9999
+ * The credential as issued.
10000
+ */
10001
+ credential: Credential;
10002
+ /**
10003
+ * The credential's index in the network's status lists.
10004
+ */
10005
+ statusIndex: number;
10006
+ }
9435
10007
  /**
9436
10008
  * 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
10009
  *
@@ -10078,6 +10650,10 @@ export interface MemberResponse {
10078
10650
  */
10079
10651
  extensions: {};
10080
10652
  }
10653
+ /**
10654
+ * 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`.
10655
+ */
10656
+ export interface Membership {}
10081
10657
  /**
10082
10658
  * Metadata of one stored message. Never carries the message body.
10083
10659
  */
@@ -10461,6 +11037,32 @@ export interface NewCardDefaults {
10461
11037
  */
10462
11038
  introductions?: Introductions;
10463
11039
  }
11040
+ /**
11041
+ * A party.
11042
+ */
11043
+ export interface Node {
11044
+ /**
11045
+ * The party's DID.
11046
+ */
11047
+ id: Did_VtnV0_1;
11048
+ kind: NodeKind;
11049
+ /**
11050
+ * Its name.
11051
+ */
11052
+ label?: string;
11053
+ /**
11054
+ * Its entry's state; absent for the root.
11055
+ */
11056
+ state?: EntryState;
11057
+ /**
11058
+ * Whether this is the network whose graph it is.
11059
+ */
11060
+ root: boolean;
11061
+ /**
11062
+ * Where a member network is reached, so a viewer can expand it.
11063
+ */
11064
+ url?: string;
11065
+ }
10464
11066
  /**
10465
11067
  * 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
11068
  */
@@ -10551,6 +11153,44 @@ export interface OfferV2 {
10551
11153
  state: "open" | "accepted";
10552
11154
  credentials: OfferCredentials;
10553
11155
  }
11156
+ /**
11157
+ * A delivery waiting to be retried.
11158
+ */
11159
+ export interface OutboxItem {
11160
+ /**
11161
+ * The message id.
11162
+ */
11163
+ messageId: string;
11164
+ /**
11165
+ * The group.
11166
+ */
11167
+ group: string;
11168
+ /**
11169
+ * Its member.
11170
+ */
11171
+ member: Did_VtnV0_1;
11172
+ /**
11173
+ * Where it is being delivered.
11174
+ */
11175
+ endpoint: string;
11176
+ envelope: Envelope;
11177
+ /**
11178
+ * Attempts so far.
11179
+ */
11180
+ attempts: number;
11181
+ /**
11182
+ * When it is next tried.
11183
+ */
11184
+ nextAttemptAt: string;
11185
+ /**
11186
+ * When it is given up.
11187
+ */
11188
+ expiresAt: string;
11189
+ /**
11190
+ * The last failure.
11191
+ */
11192
+ lastError: string;
11193
+ }
10554
11194
  /**
10555
11195
  * 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
11196
  */
@@ -10621,6 +11261,27 @@ export interface PasskeyVerificationMethod {
10621
11261
  */
10622
11262
  label?: string;
10623
11263
  }
11264
+ /**
11265
+ * 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).
11266
+ */
11267
+ export interface PathHop {
11268
+ /**
11269
+ * A network on the path.
11270
+ */
11271
+ network: Did_VtnV0_1;
11272
+ /**
11273
+ * Its name.
11274
+ */
11275
+ name?: string;
11276
+ /**
11277
+ * Its own entry's state at the network before it on the path.
11278
+ */
11279
+ state: EntryState;
11280
+ /**
11281
+ * Whether that entry is a membership.
11282
+ */
11283
+ acknowledged: boolean;
11284
+ }
10624
11285
  /**
10625
11286
  * The share of one queue attributable to one counterparty: in a send queue, the recipient; in a receive queue, the sender.
10626
11287
  */
@@ -11431,6 +12092,87 @@ export interface ReadVerification {
11431
12092
  headVersion: HeadVersion;
11432
12093
  };
11433
12094
  }
12095
+ /**
12096
+ * The outcome of one delivery.
12097
+ */
12098
+ export interface Receipt {
12099
+ /**
12100
+ * The group delivered to.
12101
+ */
12102
+ group: string;
12103
+ /**
12104
+ * The member that owns it.
12105
+ */
12106
+ member: Did_VtnV0_1;
12107
+ status: DeliveryStatus;
12108
+ /**
12109
+ * Why, for anything but `delivered`.
12110
+ */
12111
+ detail?: string;
12112
+ /**
12113
+ * Whether the group is a network group, which relays further.
12114
+ */
12115
+ network?: boolean;
12116
+ /**
12117
+ * The receipts the network group's own relay returned.
12118
+ */
12119
+ relayed?: Receipt[];
12120
+ }
12121
+ /**
12122
+ * 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.
12123
+ */
12124
+ export interface ReceivedNotification {
12125
+ recordId: RecordId_VtcNotificationsV0_1;
12126
+ /**
12127
+ * The issuer of the notifications/notify document: who said the thing exists.
12128
+ */
12129
+ originator: Did_NotificationsV0_1;
12130
+ /**
12131
+ * 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.
12132
+ *
12133
+ * @maxItems 4
12134
+ */
12135
+ relayedBy:
12136
+ | []
12137
+ | [Did_NotificationsV0_1]
12138
+ | [Did_NotificationsV0_1, Did_NotificationsV0_1]
12139
+ | [Did_NotificationsV0_1, Did_NotificationsV0_1, Did_NotificationsV0_1]
12140
+ | [Did_NotificationsV0_1, Did_NotificationsV0_1, Did_NotificationsV0_1, Did_NotificationsV0_1];
12141
+ /**
12142
+ * The notification's members at the revision held.
12143
+ */
12144
+ notification: Notification;
12145
+ /**
12146
+ * When the community accepted the revision held.
12147
+ */
12148
+ receivedAt: string;
12149
+ /**
12150
+ * 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`.
12151
+ */
12152
+ mayRelay: boolean;
12153
+ /**
12154
+ * 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.
12155
+ */
12156
+ relayDisclosure?: string;
12157
+ /**
12158
+ * 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).
12159
+ */
12160
+ relayDecisions: RelayDecision[];
12161
+ }
12162
+ /**
12163
+ * 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.
12164
+ */
12165
+ export interface Recipients {
12166
+ scope: RecipientScope;
12167
+ /**
12168
+ * The community group whose active members the relay reaches.
12169
+ */
12170
+ groupId?: GroupId;
12171
+ /**
12172
+ * 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`.
12173
+ */
12174
+ role?: string;
12175
+ }
11434
12176
  /**
11435
12177
  * Cites a credential.
11436
12178
  */
@@ -11700,6 +12442,36 @@ export interface RegisteredGroup {
11700
12442
  acceptance: {};
11701
12443
  registeredAt: string;
11702
12444
  }
12445
+ /**
12446
+ * A group serving a role: the member's signed registration and the network's groupRegistered credential accepting it.
12447
+ */
12448
+ export interface RegisteredGroup_VtnV0_1 {
12449
+ /**
12450
+ * The member that registered the group.
12451
+ */
12452
+ member: Did_VtnV0_1;
12453
+ role: RoleName_VtnV0_1;
12454
+ /**
12455
+ * The group: a DID, or for a network group a DID URL on the network's DID (`<did>#role-<name>`).
12456
+ */
12457
+ group: string;
12458
+ /**
12459
+ * Where the network delivers broadcasts for the group.
12460
+ */
12461
+ endpoint: string;
12462
+ /**
12463
+ * The member's signed vtn/groups/register request.
12464
+ */
12465
+ registration: SignedTask;
12466
+ /**
12467
+ * 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.
12468
+ */
12469
+ acceptance: Credential;
12470
+ /**
12471
+ * When the network accepted the registration.
12472
+ */
12473
+ registeredAt: string;
12474
+ }
11703
12475
  /**
11704
12476
  * 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
12477
  */
@@ -11744,6 +12516,24 @@ export interface RejectedKey {
11744
12516
  */
11745
12517
  reason: string;
11746
12518
  }
12519
+ /**
12520
+ * 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).
12521
+ */
12522
+ export interface RelayDecision {
12523
+ /**
12524
+ * When the decision was made.
12525
+ */
12526
+ decidedAt: string;
12527
+ /**
12528
+ * The administrator who made it.
12529
+ */
12530
+ decidedBy: Did_NotificationsV0_1;
12531
+ recipients: Recipients;
12532
+ /**
12533
+ * How many parties this decision added to those the notification is relayed to. Parties an earlier decision already reached are not counted again.
12534
+ */
12535
+ recipientCount: number;
12536
+ }
11747
12537
  /**
11748
12538
  * 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
12539
  */
@@ -12156,6 +12946,20 @@ export interface RoleBindingSpec {
12156
12946
  kind: "role";
12157
12947
  role: RoleName;
12158
12948
  }
12949
+ /**
12950
+ * A role the network defines.
12951
+ */
12952
+ export interface RoleDef {
12953
+ name: RoleName_VtnV0_1;
12954
+ /**
12955
+ * What the role is for.
12956
+ */
12957
+ description?: string;
12958
+ /**
12959
+ * Whether a party must register a group for it before its acknowledgement is accepted.
12960
+ */
12961
+ required: boolean;
12962
+ }
12159
12963
  /**
12160
12964
  * 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
12965
  *
@@ -12299,6 +13103,19 @@ export interface RoleLayout {
12299
13103
  */
12300
13104
  algorithms: [KeyType, ...KeyType[]];
12301
13105
  }
13106
+ /**
13107
+ * Which of this network's roles serves a parent's role.
13108
+ */
13109
+ export interface RoleMapping {
13110
+ /**
13111
+ * The parent's role.
13112
+ */
13113
+ parentRole: RoleName_VtnV0_1;
13114
+ /**
13115
+ * This network's role whose network group serves it.
13116
+ */
13117
+ localRole: RoleName_VtnV0_1;
13118
+ }
12302
13119
  export interface RoleSummary {
12303
13120
  role: KeyRole;
12304
13121
  /**
@@ -12436,6 +13253,35 @@ export interface RoomBindingSpec {
12436
13253
  */
12437
13254
  validFor: string;
12438
13255
  }
13256
+ /**
13257
+ * A room.
13258
+ */
13259
+ export interface RoomDef {
13260
+ /**
13261
+ * The room's id.
13262
+ */
13263
+ id: string;
13264
+ /**
13265
+ * Its name.
13266
+ */
13267
+ name: string;
13268
+ /**
13269
+ * The role whose groups' members may enter.
13270
+ */
13271
+ role: RoleName_VtnV0_1;
13272
+ /**
13273
+ * What it is for.
13274
+ */
13275
+ description?: string;
13276
+ /**
13277
+ * Where the room is.
13278
+ */
13279
+ url?: string;
13280
+ /**
13281
+ * 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.
13282
+ */
13283
+ passMinutes: number;
13284
+ }
12439
13285
  /**
12440
13286
  * 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
13287
  */
@@ -12573,6 +13419,20 @@ export interface RoomMembershipV2 {
12573
13419
  */
12574
13420
  purgeAt?: string;
12575
13421
  }
13422
+ /**
13423
+ * A room pass.
13424
+ */
13425
+ export interface RoomPass {
13426
+ room: RoomDef;
13427
+ /**
13428
+ * The pass: a credential the network signs for the person, valid for `passMinutes`.
13429
+ */
13430
+ pass: Credential;
13431
+ /**
13432
+ * The networks the person's eligibility ran through, from the one nearest their community up to this network.
13433
+ */
13434
+ via: Did_VtnV0_1[];
13435
+ }
12576
13436
  /**
12577
13437
  * 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
13438
  *
@@ -13240,6 +14100,10 @@ export interface SigmaProof {
13240
14100
  * 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
14101
  */
13242
14102
  export interface SignedRequest {}
14103
+ /**
14104
+ * 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.
14105
+ */
14106
+ export interface SignedTask {}
13243
14107
  /**
13244
14108
  * 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
14109
  */
@@ -13348,6 +14212,21 @@ export interface AndroidApp_VaultV0_2 {
13348
14212
  */
13349
14213
  sha256CertFingerprints: [string, ...string[]];
13350
14214
  }
14215
+ /**
14216
+ * One transition in an entry's lifecycle.
14217
+ */
14218
+ export interface StateChange {
14219
+ /**
14220
+ * When the state changed.
14221
+ */
14222
+ changedAt: string;
14223
+ /**
14224
+ * The state before; absent for the first listing.
14225
+ */
14226
+ from?: EntryState;
14227
+ to: EntryState;
14228
+ reason?: Reason_VtnV0_1;
14229
+ }
13351
14230
  /**
13352
14231
  * 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
14232
  */
@@ -13954,6 +14833,23 @@ export interface TspMessageEnvelope_VaultV0_2 {
13954
14833
  */
13955
14834
  message: string;
13956
14835
  }
14836
+ /**
14837
+ * A member network whose set could not be read: its results are indeterminate, not absent (VTI-REG-012).
14838
+ */
14839
+ export interface Unreachable {
14840
+ /**
14841
+ * The member network that could not be searched.
14842
+ */
14843
+ network: Did_VtnV0_1;
14844
+ /**
14845
+ * How it was reached.
14846
+ */
14847
+ path: PathHop[];
14848
+ /**
14849
+ * Why.
14850
+ */
14851
+ reason: string;
14852
+ }
13957
14853
  /**
13958
14854
  * 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
14855
  */
@@ -13962,6 +14858,70 @@ export interface UploadTarget {
13962
14858
  path?: WebsitePath;
13963
14859
  ifMatch?: WebsiteEtag;
13964
14860
  }
14861
+ /**
14862
+ * A group this network registered at its parent.
14863
+ */
14864
+ export interface UpstreamGroup {
14865
+ parentRole: RoleName_VtnV0_1;
14866
+ localRole: RoleName_VtnV0_1;
14867
+ /**
14868
+ * This network's network group (`<did>#role-<localRole>`).
14869
+ */
14870
+ group: string;
14871
+ /**
14872
+ * This network's signed vtn/groups/register request to the parent.
14873
+ */
14874
+ registration: SignedTask;
14875
+ /**
14876
+ * 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.
14877
+ */
14878
+ acceptance: Credential;
14879
+ }
14880
+ /**
14881
+ * This network's membership of a parent.
14882
+ */
14883
+ export interface UpstreamMembership {
14884
+ /**
14885
+ * The parent network.
14886
+ */
14887
+ network: Did_VtnV0_1;
14888
+ /**
14889
+ * Where the parent is reached.
14890
+ */
14891
+ url: string;
14892
+ /**
14893
+ * The parent's name.
14894
+ */
14895
+ name?: string;
14896
+ /**
14897
+ * `acknowledged`: this network is a member. `repudiated`: it rejected the parent's listing. `departed`: it left.
14898
+ */
14899
+ state: "acknowledged" | "repudiated" | "departed";
14900
+ /**
14901
+ * The parent's listing of this network, as verified.
14902
+ */
14903
+ listing: Credential;
14904
+ /**
14905
+ * The parent's grant.
14906
+ */
14907
+ grant?: Credential;
14908
+ /**
14909
+ * This network's acknowledgement.
14910
+ */
14911
+ acknowledgement?: Credential;
14912
+ /**
14913
+ * This network's repudiation of the listing or grant.
14914
+ */
14915
+ repudiation?: Credential;
14916
+ /**
14917
+ * Groups registered at the parent.
14918
+ */
14919
+ groups: UpstreamGroup[];
14920
+ /**
14921
+ * When it last changed.
14922
+ */
14923
+ updatedAt: string;
14924
+ }
13965
14925
  /**
13966
14926
  * What one scope holds now. Ciphertext bytes throughout.
13967
14927
  */