@openvtc/trust-tasks 0.28.9 → 0.28.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/dist/_shared/components.d.ts +903 -0
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/git-ns/bridge/event/0.1/payload.d.ts +4 -4
  5. package/dist/git-ns/bridge/event/0.1/payload.js +1 -1
  6. package/dist/git-ns/bridge/event/0.2/payload.d.ts +4 -4
  7. package/dist/git-ns/bridge/event/0.2/payload.js +1 -1
  8. package/dist/git-ns/bridge/event/0.3/payload.d.ts +4 -4
  9. package/dist/git-ns/bridge/event/0.3/payload.js +1 -1
  10. package/dist/git-ns/bridge/event/0.4/payload.d.ts +4 -4
  11. package/dist/git-ns/bridge/event/0.4/payload.js +1 -1
  12. package/dist/git-ns/bridge/event/0.5/payload.d.ts +14 -2
  13. package/dist/git-ns/bridge/event/0.5/payload.d.ts.map +1 -1
  14. package/dist/git-ns/bridge/event/0.5/payload.js +1 -1
  15. package/dist/git-ns/bridge/event/0.5/payload.js.map +1 -1
  16. package/dist/git-ns/bridge/event/0.6/payload.d.ts +2067 -0
  17. package/dist/git-ns/bridge/event/0.6/payload.d.ts.map +1 -0
  18. package/dist/git-ns/bridge/event/0.6/payload.js +1119 -0
  19. package/dist/git-ns/bridge/event/0.6/payload.js.map +1 -0
  20. package/dist/git-ns/bridge/job/0.1/payload.d.ts +4 -4
  21. package/dist/git-ns/bridge/job/0.1/payload.js +1 -1
  22. package/dist/git-ns/bridge/job/0.2/payload.d.ts +4 -4
  23. package/dist/git-ns/bridge/job/0.2/payload.js +1 -1
  24. package/dist/git-ns/bridge/job/0.3/payload.d.ts +4 -4
  25. package/dist/git-ns/bridge/job/0.3/payload.js +1 -1
  26. package/dist/git-ns/bridge/job/0.4/payload.d.ts +4 -4
  27. package/dist/git-ns/bridge/job/0.4/payload.js +1 -1
  28. package/dist/git-ns/bridge/job/0.5/payload.d.ts +4 -4
  29. package/dist/git-ns/bridge/job/0.5/payload.js +1 -1
  30. package/dist/git-ns/bridge/job/0.6/payload.d.ts +14 -2
  31. package/dist/git-ns/bridge/job/0.6/payload.d.ts.map +1 -1
  32. package/dist/git-ns/bridge/job/0.6/payload.js +1 -1
  33. package/dist/git-ns/bridge/job/0.6/payload.js.map +1 -1
  34. package/dist/git-ns/bridge/job/0.7/payload.d.ts +1120 -0
  35. package/dist/git-ns/bridge/job/0.7/payload.d.ts.map +1 -0
  36. package/dist/git-ns/bridge/job/0.7/payload.js +608 -0
  37. package/dist/git-ns/bridge/job/0.7/payload.js.map +1 -0
  38. package/dist/git-ns/bridge/job/list/0.4/payload.d.ts +5 -5
  39. package/dist/git-ns/bridge/job/list/0.4/payload.js +2 -2
  40. package/dist/index.d.ts +150 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +150 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/vta/notifications/deposit/0.1/payload.d.ts +349 -0
  45. package/dist/vta/notifications/deposit/0.1/payload.d.ts.map +1 -0
  46. package/dist/vta/notifications/deposit/0.1/payload.js +198 -0
  47. package/dist/vta/notifications/deposit/0.1/payload.js.map +1 -0
  48. package/dist/vta/pcs/vetter/recover/0.1/payload.d.ts +667 -0
  49. package/dist/vta/pcs/vetter/recover/0.1/payload.d.ts.map +1 -0
  50. package/dist/vta/pcs/vetter/recover/0.1/payload.js +387 -0
  51. package/dist/vta/pcs/vetter/recover/0.1/payload.js.map +1 -0
  52. package/dist/vtc/notifications/_shared/0.1/received-notification.d.ts +16 -0
  53. package/dist/vtc/notifications/_shared/0.1/received-notification.d.ts.map +1 -0
  54. package/dist/vtc/notifications/_shared/0.1/received-notification.js +6 -0
  55. package/dist/vtc/notifications/_shared/0.1/received-notification.js.map +1 -0
  56. package/dist/vtc/notifications/list/0.1/payload.d.ts +1311 -0
  57. package/dist/vtc/notifications/list/0.1/payload.d.ts.map +1 -0
  58. package/dist/vtc/notifications/list/0.1/payload.js +753 -0
  59. package/dist/vtc/notifications/list/0.1/payload.js.map +1 -0
  60. package/dist/vtc/notifications/relay/0.1/payload.d.ts +568 -0
  61. package/dist/vtc/notifications/relay/0.1/payload.d.ts.map +1 -0
  62. package/dist/vtc/notifications/relay/0.1/payload.js +339 -0
  63. package/dist/vtc/notifications/relay/0.1/payload.js.map +1 -0
  64. package/dist/vtc/notifications/show/0.1/payload.d.ts +1229 -0
  65. package/dist/vtc/notifications/show/0.1/payload.d.ts.map +1 -0
  66. package/dist/vtc/notifications/show/0.1/payload.js +727 -0
  67. package/dist/vtc/notifications/show/0.1/payload.js.map +1 -0
  68. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.d.ts +340 -0
  69. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.d.ts.map +1 -0
  70. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.js +194 -0
  71. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.js.map +1 -0
  72. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.d.ts +425 -0
  73. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.d.ts.map +1 -0
  74. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.js +233 -0
  75. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.js.map +1 -0
  76. package/dist/vtn/_shared/0.1/directory.d.ts +16 -0
  77. package/dist/vtn/_shared/0.1/directory.d.ts.map +1 -0
  78. package/dist/vtn/_shared/0.1/directory.js +6 -0
  79. package/dist/vtn/_shared/0.1/directory.js.map +1 -0
  80. package/dist/vtn/_shared/0.1/entry.d.ts +16 -0
  81. package/dist/vtn/_shared/0.1/entry.d.ts.map +1 -0
  82. package/dist/vtn/_shared/0.1/entry.js +6 -0
  83. package/dist/vtn/_shared/0.1/entry.js.map +1 -0
  84. package/dist/vtn/_shared/0.1/graph.d.ts +16 -0
  85. package/dist/vtn/_shared/0.1/graph.d.ts.map +1 -0
  86. package/dist/vtn/_shared/0.1/graph.js +6 -0
  87. package/dist/vtn/_shared/0.1/graph.js.map +1 -0
  88. package/dist/vtn/_shared/0.1/groups.d.ts +16 -0
  89. package/dist/vtn/_shared/0.1/groups.d.ts.map +1 -0
  90. package/dist/vtn/_shared/0.1/groups.js +6 -0
  91. package/dist/vtn/_shared/0.1/groups.js.map +1 -0
  92. package/dist/vtn/_shared/0.1/membership.d.ts +16 -0
  93. package/dist/vtn/_shared/0.1/membership.d.ts.map +1 -0
  94. package/dist/vtn/_shared/0.1/membership.js +6 -0
  95. package/dist/vtn/_shared/0.1/membership.js.map +1 -0
  96. package/dist/vtn/_shared/0.1/relay.d.ts +16 -0
  97. package/dist/vtn/_shared/0.1/relay.d.ts.map +1 -0
  98. package/dist/vtn/_shared/0.1/relay.js +6 -0
  99. package/dist/vtn/_shared/0.1/relay.js.map +1 -0
  100. package/dist/vtn/_shared/0.1/rooms.d.ts +16 -0
  101. package/dist/vtn/_shared/0.1/rooms.d.ts.map +1 -0
  102. package/dist/vtn/_shared/0.1/rooms.js +6 -0
  103. package/dist/vtn/_shared/0.1/rooms.js.map +1 -0
  104. package/dist/vtn/audit/list/0.1/payload.d.ts +457 -0
  105. package/dist/vtn/audit/list/0.1/payload.d.ts.map +1 -0
  106. package/dist/vtn/audit/list/0.1/payload.js +292 -0
  107. package/dist/vtn/audit/list/0.1/payload.js.map +1 -0
  108. package/dist/vtn/broadcasts/list/0.1/payload.d.ts +687 -0
  109. package/dist/vtn/broadcasts/list/0.1/payload.d.ts.map +1 -0
  110. package/dist/vtn/broadcasts/list/0.1/payload.js +407 -0
  111. package/dist/vtn/broadcasts/list/0.1/payload.js.map +1 -0
  112. package/dist/vtn/broadcasts/send/0.1/payload.d.ts +728 -0
  113. package/dist/vtn/broadcasts/send/0.1/payload.d.ts.map +1 -0
  114. package/dist/vtn/broadcasts/send/0.1/payload.js +425 -0
  115. package/dist/vtn/broadcasts/send/0.1/payload.js.map +1 -0
  116. package/dist/vtn/broadcasts/show/0.1/payload.d.ts +670 -0
  117. package/dist/vtn/broadcasts/show/0.1/payload.d.ts.map +1 -0
  118. package/dist/vtn/broadcasts/show/0.1/payload.js +402 -0
  119. package/dist/vtn/broadcasts/show/0.1/payload.js.map +1 -0
  120. package/dist/vtn/directory/federated/0.1/payload.d.ts +939 -0
  121. package/dist/vtn/directory/federated/0.1/payload.d.ts.map +1 -0
  122. package/dist/vtn/directory/federated/0.1/payload.js +536 -0
  123. package/dist/vtn/directory/federated/0.1/payload.js.map +1 -0
  124. package/dist/vtn/directory/search/0.1/payload.d.ts +643 -0
  125. package/dist/vtn/directory/search/0.1/payload.d.ts.map +1 -0
  126. package/dist/vtn/directory/search/0.1/payload.js +368 -0
  127. package/dist/vtn/directory/search/0.1/payload.js.map +1 -0
  128. package/dist/vtn/directory/summary/0.1/payload.d.ts +366 -0
  129. package/dist/vtn/directory/summary/0.1/payload.d.ts.map +1 -0
  130. package/dist/vtn/directory/summary/0.1/payload.js +216 -0
  131. package/dist/vtn/directory/summary/0.1/payload.js.map +1 -0
  132. package/dist/vtn/entries/show/0.1/payload.d.ts +682 -0
  133. package/dist/vtn/entries/show/0.1/payload.d.ts.map +1 -0
  134. package/dist/vtn/entries/show/0.1/payload.js +398 -0
  135. package/dist/vtn/entries/show/0.1/payload.js.map +1 -0
  136. package/dist/vtn/graph/member/0.1/payload.d.ts +754 -0
  137. package/dist/vtn/graph/member/0.1/payload.d.ts.map +1 -0
  138. package/dist/vtn/graph/member/0.1/payload.js +470 -0
  139. package/dist/vtn/graph/member/0.1/payload.js.map +1 -0
  140. package/dist/vtn/graph/show/0.1/payload.d.ts +754 -0
  141. package/dist/vtn/graph/show/0.1/payload.d.ts.map +1 -0
  142. package/dist/vtn/graph/show/0.1/payload.js +468 -0
  143. package/dist/vtn/graph/show/0.1/payload.js.map +1 -0
  144. package/dist/vtn/groups/list/0.1/payload.d.ts +489 -0
  145. package/dist/vtn/groups/list/0.1/payload.d.ts.map +1 -0
  146. package/dist/vtn/groups/list/0.1/payload.js +282 -0
  147. package/dist/vtn/groups/list/0.1/payload.js.map +1 -0
  148. package/dist/vtn/groups/register/0.1/payload.d.ts +504 -0
  149. package/dist/vtn/groups/register/0.1/payload.d.ts.map +1 -0
  150. package/dist/vtn/groups/register/0.1/payload.js +291 -0
  151. package/dist/vtn/groups/register/0.1/payload.js.map +1 -0
  152. package/dist/vtn/listings/create/0.1/payload.d.ts +954 -0
  153. package/dist/vtn/listings/create/0.1/payload.d.ts.map +1 -0
  154. package/dist/vtn/listings/create/0.1/payload.js +549 -0
  155. package/dist/vtn/listings/create/0.1/payload.js.map +1 -0
  156. package/dist/vtn/listings/list/0.1/payload.d.ts +933 -0
  157. package/dist/vtn/listings/list/0.1/payload.d.ts.map +1 -0
  158. package/dist/vtn/listings/list/0.1/payload.js +538 -0
  159. package/dist/vtn/listings/list/0.1/payload.js.map +1 -0
  160. package/dist/vtn/listings/reinstate/0.1/payload.d.ts +926 -0
  161. package/dist/vtn/listings/reinstate/0.1/payload.d.ts.map +1 -0
  162. package/dist/vtn/listings/reinstate/0.1/payload.js +536 -0
  163. package/dist/vtn/listings/reinstate/0.1/payload.js.map +1 -0
  164. package/dist/vtn/listings/remove/0.1/payload.d.ts +926 -0
  165. package/dist/vtn/listings/remove/0.1/payload.d.ts.map +1 -0
  166. package/dist/vtn/listings/remove/0.1/payload.js +536 -0
  167. package/dist/vtn/listings/remove/0.1/payload.js.map +1 -0
  168. package/dist/vtn/listings/show/0.1/payload.d.ts +914 -0
  169. package/dist/vtn/listings/show/0.1/payload.d.ts.map +1 -0
  170. package/dist/vtn/listings/show/0.1/payload.js +532 -0
  171. package/dist/vtn/listings/show/0.1/payload.js.map +1 -0
  172. package/dist/vtn/listings/suspend/0.1/payload.d.ts +926 -0
  173. package/dist/vtn/listings/suspend/0.1/payload.d.ts.map +1 -0
  174. package/dist/vtn/listings/suspend/0.1/payload.js +536 -0
  175. package/dist/vtn/listings/suspend/0.1/payload.js.map +1 -0
  176. package/dist/vtn/listings/update/0.1/payload.d.ts +966 -0
  177. package/dist/vtn/listings/update/0.1/payload.d.ts.map +1 -0
  178. package/dist/vtn/listings/update/0.1/payload.js +550 -0
  179. package/dist/vtn/listings/update/0.1/payload.js.map +1 -0
  180. package/dist/vtn/membership/acknowledge/0.1/payload.d.ts +654 -0
  181. package/dist/vtn/membership/acknowledge/0.1/payload.d.ts.map +1 -0
  182. package/dist/vtn/membership/acknowledge/0.1/payload.js +386 -0
  183. package/dist/vtn/membership/acknowledge/0.1/payload.js.map +1 -0
  184. package/dist/vtn/membership/offer/0.1/payload.d.ts +247 -0
  185. package/dist/vtn/membership/offer/0.1/payload.d.ts.map +1 -0
  186. package/dist/vtn/membership/offer/0.1/payload.js +147 -0
  187. package/dist/vtn/membership/offer/0.1/payload.js.map +1 -0
  188. package/dist/vtn/membership/repudiate/0.1/payload.d.ts +654 -0
  189. package/dist/vtn/membership/repudiate/0.1/payload.d.ts.map +1 -0
  190. package/dist/vtn/membership/repudiate/0.1/payload.js +386 -0
  191. package/dist/vtn/membership/repudiate/0.1/payload.js.map +1 -0
  192. package/dist/vtn/memberships/groups/add/0.1/payload.d.ts +677 -0
  193. package/dist/vtn/memberships/groups/add/0.1/payload.d.ts.map +1 -0
  194. package/dist/vtn/memberships/groups/add/0.1/payload.js +394 -0
  195. package/dist/vtn/memberships/groups/add/0.1/payload.js.map +1 -0
  196. package/dist/vtn/memberships/join/0.1/payload.d.ts +755 -0
  197. package/dist/vtn/memberships/join/0.1/payload.d.ts.map +1 -0
  198. package/dist/vtn/memberships/join/0.1/payload.js +438 -0
  199. package/dist/vtn/memberships/join/0.1/payload.js.map +1 -0
  200. package/dist/vtn/memberships/leave/0.1/payload.d.ts +653 -0
  201. package/dist/vtn/memberships/leave/0.1/payload.d.ts.map +1 -0
  202. package/dist/vtn/memberships/leave/0.1/payload.js +384 -0
  203. package/dist/vtn/memberships/leave/0.1/payload.js.map +1 -0
  204. package/dist/vtn/memberships/list/0.1/payload.d.ts +651 -0
  205. package/dist/vtn/memberships/list/0.1/payload.d.ts.map +1 -0
  206. package/dist/vtn/memberships/list/0.1/payload.js +383 -0
  207. package/dist/vtn/memberships/list/0.1/payload.js.map +1 -0
  208. package/dist/vtn/memberships/repudiate/0.1/payload.d.ts +669 -0
  209. package/dist/vtn/memberships/repudiate/0.1/payload.d.ts.map +1 -0
  210. package/dist/vtn/memberships/repudiate/0.1/payload.js +391 -0
  211. package/dist/vtn/memberships/repudiate/0.1/payload.js.map +1 -0
  212. package/dist/vtn/outbox/list/0.1/payload.d.ts +567 -0
  213. package/dist/vtn/outbox/list/0.1/payload.d.ts.map +1 -0
  214. package/dist/vtn/outbox/list/0.1/payload.js +333 -0
  215. package/dist/vtn/outbox/list/0.1/payload.js.map +1 -0
  216. package/dist/vtn/outbox/retry/0.1/payload.d.ts +235 -0
  217. package/dist/vtn/outbox/retry/0.1/payload.d.ts.map +1 -0
  218. package/dist/vtn/outbox/retry/0.1/payload.js +141 -0
  219. package/dist/vtn/outbox/retry/0.1/payload.js.map +1 -0
  220. package/dist/vtn/relay/deliver/0.1/payload.d.ts +592 -0
  221. package/dist/vtn/relay/deliver/0.1/payload.d.ts.map +1 -0
  222. package/dist/vtn/relay/deliver/0.1/payload.js +352 -0
  223. package/dist/vtn/relay/deliver/0.1/payload.js.map +1 -0
  224. package/dist/vtn/roles/list/0.1/payload.d.ts +371 -0
  225. package/dist/vtn/roles/list/0.1/payload.d.ts.map +1 -0
  226. package/dist/vtn/roles/list/0.1/payload.js +213 -0
  227. package/dist/vtn/roles/list/0.1/payload.js.map +1 -0
  228. package/dist/vtn/rooms/list/0.1/payload.d.ts +447 -0
  229. package/dist/vtn/rooms/list/0.1/payload.d.ts.map +1 -0
  230. package/dist/vtn/rooms/list/0.1/payload.js +255 -0
  231. package/dist/vtn/rooms/list/0.1/payload.js.map +1 -0
  232. package/dist/vtn/rooms/pass/0.1/payload.d.ts +674 -0
  233. package/dist/vtn/rooms/pass/0.1/payload.d.ts.map +1 -0
  234. package/dist/vtn/rooms/pass/0.1/payload.js +383 -0
  235. package/dist/vtn/rooms/pass/0.1/payload.js.map +1 -0
  236. package/package.json +1 -1
  237. package/src/_shared/components.ts +922 -0
  238. package/src/git-ns/bridge/event/0.1/payload.ts +5 -5
  239. package/src/git-ns/bridge/event/0.2/payload.ts +5 -5
  240. package/src/git-ns/bridge/event/0.3/payload.ts +5 -5
  241. package/src/git-ns/bridge/event/0.4/payload.ts +5 -5
  242. package/src/git-ns/bridge/event/0.5/payload.ts +15 -3
  243. package/src/git-ns/bridge/event/0.6/payload.ts +1450 -0
  244. package/src/git-ns/bridge/job/0.1/payload.ts +5 -5
  245. package/src/git-ns/bridge/job/0.2/payload.ts +5 -5
  246. package/src/git-ns/bridge/job/0.3/payload.ts +5 -5
  247. package/src/git-ns/bridge/job/0.4/payload.ts +5 -5
  248. package/src/git-ns/bridge/job/0.5/payload.ts +5 -5
  249. package/src/git-ns/bridge/job/0.6/payload.ts +15 -3
  250. package/src/git-ns/bridge/job/0.7/payload.ts +744 -0
  251. package/src/git-ns/bridge/job/list/0.4/payload.ts +3 -3
  252. package/src/index.ts +150 -0
  253. package/src/vta/notifications/deposit/0.1/payload.ts +243 -0
  254. package/src/vta/pcs/vetter/recover/0.1/payload.ts +437 -0
  255. package/src/vtc/notifications/_shared/0.1/received-notification.ts +17 -0
  256. package/src/vtc/notifications/list/0.1/payload.ts +809 -0
  257. package/src/vtc/notifications/relay/0.1/payload.ts +382 -0
  258. package/src/vtc/notifications/show/0.1/payload.ts +761 -0
  259. package/src/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.ts +247 -0
  260. package/src/vtc/vetting/vetters/pcs-binding/show/0.1/payload.ts +295 -0
  261. package/src/vtn/_shared/0.1/directory.ts +17 -0
  262. package/src/vtn/_shared/0.1/entry.ts +17 -0
  263. package/src/vtn/_shared/0.1/graph.ts +17 -0
  264. package/src/vtn/_shared/0.1/groups.ts +17 -0
  265. package/src/vtn/_shared/0.1/membership.ts +17 -0
  266. package/src/vtn/_shared/0.1/relay.ts +17 -0
  267. package/src/vtn/_shared/0.1/rooms.ts +17 -0
  268. package/src/vtn/audit/list/0.1/payload.ts +336 -0
  269. package/src/vtn/broadcasts/list/0.1/payload.ts +447 -0
  270. package/src/vtn/broadcasts/send/0.1/payload.ts +478 -0
  271. package/src/vtn/broadcasts/show/0.1/payload.ts +439 -0
  272. package/src/vtn/directory/federated/0.1/payload.ts +594 -0
  273. package/src/vtn/directory/search/0.1/payload.ts +418 -0
  274. package/src/vtn/directory/summary/0.1/payload.ts +253 -0
  275. package/src/vtn/entries/show/0.1/payload.ts +439 -0
  276. package/src/vtn/graph/member/0.1/payload.ts +511 -0
  277. package/src/vtn/graph/show/0.1/payload.ts +509 -0
  278. package/src/vtn/groups/list/0.1/payload.ts +322 -0
  279. package/src/vtn/groups/register/0.1/payload.ts +336 -0
  280. package/src/vtn/listings/create/0.1/payload.ts +594 -0
  281. package/src/vtn/listings/list/0.1/payload.ts +578 -0
  282. package/src/vtn/listings/reinstate/0.1/payload.ts +577 -0
  283. package/src/vtn/listings/remove/0.1/payload.ts +577 -0
  284. package/src/vtn/listings/show/0.1/payload.ts +569 -0
  285. package/src/vtn/listings/suspend/0.1/payload.ts +577 -0
  286. package/src/vtn/listings/update/0.1/payload.ts +603 -0
  287. package/src/vtn/membership/acknowledge/0.1/payload.ts +423 -0
  288. package/src/vtn/membership/offer/0.1/payload.ts +183 -0
  289. package/src/vtn/membership/repudiate/0.1/payload.ts +423 -0
  290. package/src/vtn/memberships/groups/add/0.1/payload.ts +442 -0
  291. package/src/vtn/memberships/join/0.1/payload.ts +488 -0
  292. package/src/vtn/memberships/leave/0.1/payload.ts +424 -0
  293. package/src/vtn/memberships/list/0.1/payload.ts +419 -0
  294. package/src/vtn/memberships/repudiate/0.1/payload.ts +435 -0
  295. package/src/vtn/outbox/list/0.1/payload.ts +369 -0
  296. package/src/vtn/outbox/retry/0.1/payload.ts +177 -0
  297. package/src/vtn/relay/deliver/0.1/payload.ts +397 -0
  298. package/src/vtn/roles/list/0.1/payload.ts +253 -0
  299. package/src/vtn/rooms/list/0.1/payload.ts +295 -0
  300. package/src/vtn/rooms/pass/0.1/payload.ts +439 -0
@@ -0,0 +1,761 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtc/notifications/show/0.1/payload.schema.json
4
+ */
5
+
6
+ import type { Did_NotificationsV0_1 as Did, Ext, GroupId, Kind_NotificationsV0_1 as Kind, Notification, NotificationId, ReceivedNotification, Recipients, RecipientScope, RecordId_VtcNotificationsV0_1 as RecordId, RelayDecision, Status, Subject } from "../../../../_shared/components.js";
7
+
8
+
9
+ /**
10
+ * An administrator with `vtc.notifications.read` reads one notification the community holds as its addressee, with the document that delivered it exactly as received — the notifications/notify document, or the notifications/relay document carrying it — so the administrator can verify the originator's proof and every relay before deciding a relay (VTI-NTF-070). A read changes nothing, and sends nothing to anyone. The outer document members (id, type, issuer, recipient, issuedAt, expiresAt, proof) are owned by the framework — SPEC §6.3.
11
+ */
12
+ export interface VTCNotificationsShowPayload {
13
+ recordId: RecordId;
14
+ ext?: Ext;
15
+ }
16
+ export interface VTCNotificationsShowResponsePayload {
17
+ item: ReceivedNotification;
18
+ /**
19
+ * The document that delivered the revision held, kept whole and exactly as received — proof included: the notifications/notify/0.1 document, or the outermost notifications/relay/0.1 document. An opaque object, so that every member its issuer signed survives unchanged for the administrator to verify. It is also what a relay carries in `forwarded`.
20
+ */
21
+ document: {};
22
+ }
23
+
24
+ /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
25
+ export type { Did, Ext, GroupId, Kind, Notification, NotificationId, ReceivedNotification, Recipients, RecipientScope, RecordId, RelayDecision, Status, Subject };
26
+
27
+ /** Trust Task type URI. */
28
+ export const TYPE_URI = "https://trusttasks.org/spec/vtc/notifications/show/0.1" as const;
29
+
30
+ /**
31
+ * The earlier version of this specification that this one declares it
32
+ * extends (front matter `extends`, SPEC §5.2 "Declared extension"), or
33
+ * `null`. Only the direct declaration — follow the chain with
34
+ * `extendsChain` / `readForSpec`.
35
+ */
36
+ export const EXTENDS: string | null = null;
37
+
38
+ /**
39
+ * Why this version is deprecated, or `null` while it is current. A
40
+ * superseded or retired version is still supported, and is withdrawn from
41
+ * this package in a later scheduled batch (SPEC "Superseded and Withdrawn
42
+ * Versions").
43
+ */
44
+ export const DEPRECATION: string | null = null;
45
+
46
+ /** Stable alias for this specification's request payload shape. */
47
+ export type Payload = VTCNotificationsShowPayload;
48
+
49
+ /** Trust Task response type URI (request type URI + "#response"). */
50
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/notifications/show/0.1#response" as const;
51
+
52
+ /** Stable alias for this specification's success-response payload shape. */
53
+ export type Response = VTCNotificationsShowResponsePayload;
54
+
55
+ /**
56
+ * This specification's payload schema, as a value.
57
+ *
58
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
59
+ * rather than only as a `.json` file because TypeScript types are erased
60
+ * at runtime: without a schema a consumer has nothing to validate, and
61
+ * every REQUIRED payload member is optional in practice. Cross-file
62
+ * `$ref`s are already inlined, so it needs no resolver.
63
+ */
64
+ export const PAYLOAD_SCHEMA = {
65
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
66
+ "$id": "https://trusttasks.org/spec/vtc/notifications/show/0.1",
67
+ "title": "VTC Notifications — Show — payload",
68
+ "description": "An administrator with `vtc.notifications.read` reads one notification the community holds as its addressee, with the document that delivered it exactly as received — the notifications/notify document, or the notifications/relay document carrying it — so the administrator can verify the originator's proof and every relay before deciding a relay (VTI-NTF-070). A read changes nothing, and sends nothing to anyone. The outer document members (id, type, issuer, recipient, issuedAt, expiresAt, proof) are owned by the framework — SPEC §6.3.",
69
+ "type": "object",
70
+ "additionalProperties": false,
71
+ "required": [
72
+ "recordId"
73
+ ],
74
+ "properties": {
75
+ "recordId": {
76
+ "$ref": "#/$defs/RecordId"
77
+ },
78
+ "ext": {
79
+ "$ref": "#/$defs/Ext"
80
+ }
81
+ },
82
+ "$defs": {
83
+ "Response": {
84
+ "$anchor": "response",
85
+ "title": "VTC Notifications — Show — response payload",
86
+ "type": "object",
87
+ "additionalProperties": false,
88
+ "required": [
89
+ "item",
90
+ "document"
91
+ ],
92
+ "properties": {
93
+ "item": {
94
+ "$ref": "#/$defs/ReceivedNotification"
95
+ },
96
+ "document": {
97
+ "type": "object",
98
+ "minProperties": 1,
99
+ "description": "The document that delivered the revision held, kept whole and exactly as received — proof included: the notifications/notify/0.1 document, or the outermost notifications/relay/0.1 document. An opaque object, so that every member its issuer signed survives unchanged for the administrator to verify. It is also what a relay carries in `forwarded`."
100
+ }
101
+ }
102
+ },
103
+ "ReceivedNotification": {
104
+ "title": "ReceivedNotification",
105
+ "description": "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.",
106
+ "type": "object",
107
+ "additionalProperties": false,
108
+ "required": [
109
+ "recordId",
110
+ "originator",
111
+ "relayedBy",
112
+ "notification",
113
+ "receivedAt",
114
+ "mayRelay",
115
+ "relayDecisions"
116
+ ],
117
+ "properties": {
118
+ "recordId": {
119
+ "$ref": "#/$defs/RecordId"
120
+ },
121
+ "originator": {
122
+ "$ref": "#/$defs/Did",
123
+ "description": "The issuer of the notifications/notify document: who said the thing exists."
124
+ },
125
+ "relayedBy": {
126
+ "type": "array",
127
+ "maxItems": 4,
128
+ "items": {
129
+ "$ref": "#/$defs/Did"
130
+ },
131
+ "description": "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."
132
+ },
133
+ "notification": {
134
+ "$ref": "#/$defs/Notification",
135
+ "description": "The notification's members at the revision held."
136
+ },
137
+ "receivedAt": {
138
+ "type": "string",
139
+ "format": "date-time",
140
+ "description": "When the community accepted the revision held."
141
+ },
142
+ "mayRelay": {
143
+ "type": "boolean",
144
+ "description": "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`."
145
+ },
146
+ "relayDisclosure": {
147
+ "type": "string",
148
+ "minLength": 1,
149
+ "maxLength": 1024,
150
+ "description": "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."
151
+ },
152
+ "relayDecisions": {
153
+ "type": "array",
154
+ "items": {
155
+ "$ref": "#/$defs/RelayDecision"
156
+ },
157
+ "description": "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)."
158
+ }
159
+ }
160
+ },
161
+ "RelayDecision": {
162
+ "title": "RelayDecision",
163
+ "description": "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).",
164
+ "type": "object",
165
+ "additionalProperties": false,
166
+ "required": [
167
+ "decidedAt",
168
+ "decidedBy",
169
+ "recipients",
170
+ "recipientCount"
171
+ ],
172
+ "properties": {
173
+ "decidedAt": {
174
+ "type": "string",
175
+ "format": "date-time",
176
+ "description": "When the decision was made."
177
+ },
178
+ "decidedBy": {
179
+ "$ref": "#/$defs/Did",
180
+ "description": "The administrator who made it."
181
+ },
182
+ "recipients": {
183
+ "$ref": "#/$defs/Recipients"
184
+ },
185
+ "recipientCount": {
186
+ "type": "integer",
187
+ "minimum": 0,
188
+ "description": "How many parties this decision added to those the notification is relayed to. Parties an earlier decision already reached are not counted again."
189
+ }
190
+ }
191
+ },
192
+ "Recipients": {
193
+ "title": "Recipients",
194
+ "description": "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.",
195
+ "type": "object",
196
+ "additionalProperties": false,
197
+ "required": [
198
+ "scope"
199
+ ],
200
+ "properties": {
201
+ "scope": {
202
+ "$ref": "#/$defs/RecipientScope"
203
+ },
204
+ "groupId": {
205
+ "$ref": "#/$defs/GroupId",
206
+ "description": "The community group whose active members the relay reaches."
207
+ },
208
+ "role": {
209
+ "type": "string",
210
+ "minLength": 1,
211
+ "maxLength": 128,
212
+ "description": "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`."
213
+ }
214
+ },
215
+ "dependentSchemas": {
216
+ "scope": {
217
+ "anyOf": [
218
+ {
219
+ "required": [
220
+ "groupId"
221
+ ]
222
+ },
223
+ {
224
+ "required": [
225
+ "role"
226
+ ]
227
+ },
228
+ {
229
+ "properties": {
230
+ "scope": {
231
+ "const": "allMembers"
232
+ }
233
+ }
234
+ }
235
+ ]
236
+ },
237
+ "groupId": {
238
+ "properties": {
239
+ "scope": {
240
+ "const": "group"
241
+ }
242
+ }
243
+ },
244
+ "role": {
245
+ "properties": {
246
+ "scope": {
247
+ "const": "role"
248
+ }
249
+ }
250
+ }
251
+ }
252
+ },
253
+ "RecipientScope": {
254
+ "title": "RecipientScope",
255
+ "description": "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.",
256
+ "type": "string",
257
+ "enum": [
258
+ "allMembers",
259
+ "group",
260
+ "role"
261
+ ]
262
+ },
263
+ "GroupId": {
264
+ "title": "GroupId",
265
+ "description": "Opaque identifier of a community group: `grp_` followed by 16 to 64 base64url characters. Random and community-scoped; not the group's DID.",
266
+ "type": "string",
267
+ "pattern": "^grp_[A-Za-z0-9_-]{16,64}$"
268
+ },
269
+ "Did": {
270
+ "title": "Did",
271
+ "description": "A DID.",
272
+ "type": "string",
273
+ "minLength": 8,
274
+ "maxLength": 2048,
275
+ "pattern": "^did:[a-z0-9]+:\\S+$"
276
+ },
277
+ "RecordId": {
278
+ "title": "RecordId",
279
+ "description": "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.",
280
+ "type": "string",
281
+ "minLength": 16,
282
+ "maxLength": 128,
283
+ "pattern": "^[A-Za-z0-9._~:-]+$"
284
+ },
285
+ "Notification": {
286
+ "title": "Notification",
287
+ "description": "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.",
288
+ "type": "object",
289
+ "additionalProperties": false,
290
+ "required": [
291
+ "notificationId",
292
+ "revision",
293
+ "kind",
294
+ "subject",
295
+ "audience",
296
+ "status",
297
+ "relayable"
298
+ ],
299
+ "properties": {
300
+ "notificationId": {
301
+ "$ref": "#/$defs/NotificationId"
302
+ },
303
+ "revision": {
304
+ "type": "integer",
305
+ "minimum": 1,
306
+ "maximum": 1000000,
307
+ "description": "The revision of this notification. A recipient replaces the record it holds with a higher revision and leaves it unchanged for an equal or lower one (VTI-NTF-022). The first revision is 1."
308
+ },
309
+ "kind": {
310
+ "$ref": "#/$defs/Kind"
311
+ },
312
+ "subject": {
313
+ "$ref": "#/$defs/Subject"
314
+ },
315
+ "audience": {
316
+ "$ref": "#/$defs/Did",
317
+ "description": "The DID whose holders or members the thing concerns — for an election under a credential roll, the DID the roll names (`roll.memberOf`); otherwise the community's own. It says whom the thing is for, not that the recipient is one of them: a recipient may be the audience itself, or a party the audience relayed the notification to."
318
+ },
319
+ "status": {
320
+ "$ref": "#/$defs/Status"
321
+ },
322
+ "relayable": {
323
+ "type": "boolean",
324
+ "description": "Whether the addressee may relay this notification to the parties it stands for (notifications/relay). The originator states it explicitly; an addressee MUST NOT relay a notification whose `relayable` is false, or whose kind may not be relayed (VTI-NTF-041)."
325
+ },
326
+ "validFrom": {
327
+ "type": "string",
328
+ "format": "date-time",
329
+ "description": "When the thing can first be acted on — for an election, when voting opens. Absent: it can be acted on now."
330
+ },
331
+ "validUntil": {
332
+ "type": "string",
333
+ "format": "date-time",
334
+ "description": "When the thing can no longer be acted on, and the notification lapses — for an election, when voting closes. A recipient discards a notification received after it (VTI-NTF-032). Absent: the kind's definition says when it lapses."
335
+ }
336
+ }
337
+ },
338
+ "Status": {
339
+ "title": "Status",
340
+ "description": "Whether the thing is still open to the audience: `available`, or `withdrawn` — cancelled by its holder, or no longer open to the audience — in which case the recipient keeps the record only to show that it was withdrawn (VTI-NTF-024).",
341
+ "type": "string",
342
+ "enum": [
343
+ "available",
344
+ "withdrawn"
345
+ ]
346
+ },
347
+ "Subject": {
348
+ "title": "Subject",
349
+ "description": "Where the thing is and how to open it. Only these three members: what the thing contains is shown by its holder, to a reader it admits, when the thing is opened with `openWith`.",
350
+ "type": "object",
351
+ "additionalProperties": false,
352
+ "required": [
353
+ "heldBy",
354
+ "id",
355
+ "openWith"
356
+ ],
357
+ "properties": {
358
+ "heldBy": {
359
+ "$ref": "#/$defs/Did",
360
+ "description": "The DID of the party holding the thing — for an election, the community. The party a recipient sends `openWith` to."
361
+ },
362
+ "id": {
363
+ "type": "string",
364
+ "minLength": 1,
365
+ "maxLength": 256,
366
+ "description": "The thing's identifier at `heldBy`, in the form the `openWith` task takes it — for an election, its `electionId`."
367
+ },
368
+ "openWith": {
369
+ "type": "string",
370
+ "minLength": 1,
371
+ "maxLength": 512,
372
+ "pattern": "^https://\\S+$",
373
+ "description": "The Type URI of the Trust Task by which a recipient opens the thing at `heldBy` — for an election, `https://trusttasks.org/spec/vtc/elections/show/0.6`. A recipient opens it only at its principal's choice (VTI-NTF-053), and only by a version of that task it and `heldBy` both serve."
374
+ }
375
+ }
376
+ },
377
+ "Kind": {
378
+ "title": "Kind",
379
+ "description": "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).",
380
+ "type": "string",
381
+ "minLength": 1,
382
+ "maxLength": 256,
383
+ "pattern": "^([a-z][a-zA-Z0-9]{0,63}|[a-z0-9]+(-[a-z0-9]+)*(\\.[a-z0-9]+(-[a-z0-9]+)*)+:[a-z][a-zA-Z0-9]{0,63})$"
384
+ },
385
+ "NotificationId": {
386
+ "title": "NotificationId",
387
+ "description": "The originator's identifier for one notification, unique among the notifications that originator issues and the same in every document that carries it — retries, re-issued documents and relayed copies alike. It is the notification's idempotency key (VTI-NTF-021). Compared for equality only. An originator SHOULD make it unguessable and SHOULD NOT make it descriptive: it travels as far as the notification does.",
388
+ "type": "string",
389
+ "minLength": 1,
390
+ "maxLength": 256,
391
+ "pattern": "^[A-Za-z0-9._~:-]+$"
392
+ },
393
+ "Ext": {
394
+ "title": "Ext",
395
+ "description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
396
+ "type": "object",
397
+ "minProperties": 1,
398
+ "additionalProperties": true,
399
+ "propertyNames": {
400
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
401
+ }
402
+ }
403
+ }
404
+ } as const;
405
+
406
+ /** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
407
+ export const RESPONSE_PAYLOAD_SCHEMA = {
408
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
409
+ "$ref": "#/$defs/Response",
410
+ "$defs": {
411
+ "Response": {
412
+ "$anchor": "response",
413
+ "title": "VTC Notifications — Show — response payload",
414
+ "type": "object",
415
+ "additionalProperties": false,
416
+ "required": [
417
+ "item",
418
+ "document"
419
+ ],
420
+ "properties": {
421
+ "item": {
422
+ "$ref": "#/$defs/ReceivedNotification"
423
+ },
424
+ "document": {
425
+ "type": "object",
426
+ "minProperties": 1,
427
+ "description": "The document that delivered the revision held, kept whole and exactly as received — proof included: the notifications/notify/0.1 document, or the outermost notifications/relay/0.1 document. An opaque object, so that every member its issuer signed survives unchanged for the administrator to verify. It is also what a relay carries in `forwarded`."
428
+ }
429
+ }
430
+ },
431
+ "ReceivedNotification": {
432
+ "title": "ReceivedNotification",
433
+ "description": "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.",
434
+ "type": "object",
435
+ "additionalProperties": false,
436
+ "required": [
437
+ "recordId",
438
+ "originator",
439
+ "relayedBy",
440
+ "notification",
441
+ "receivedAt",
442
+ "mayRelay",
443
+ "relayDecisions"
444
+ ],
445
+ "properties": {
446
+ "recordId": {
447
+ "$ref": "#/$defs/RecordId"
448
+ },
449
+ "originator": {
450
+ "$ref": "#/$defs/Did",
451
+ "description": "The issuer of the notifications/notify document: who said the thing exists."
452
+ },
453
+ "relayedBy": {
454
+ "type": "array",
455
+ "maxItems": 4,
456
+ "items": {
457
+ "$ref": "#/$defs/Did"
458
+ },
459
+ "description": "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."
460
+ },
461
+ "notification": {
462
+ "$ref": "#/$defs/Notification",
463
+ "description": "The notification's members at the revision held."
464
+ },
465
+ "receivedAt": {
466
+ "type": "string",
467
+ "format": "date-time",
468
+ "description": "When the community accepted the revision held."
469
+ },
470
+ "mayRelay": {
471
+ "type": "boolean",
472
+ "description": "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`."
473
+ },
474
+ "relayDisclosure": {
475
+ "type": "string",
476
+ "minLength": 1,
477
+ "maxLength": 1024,
478
+ "description": "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."
479
+ },
480
+ "relayDecisions": {
481
+ "type": "array",
482
+ "items": {
483
+ "$ref": "#/$defs/RelayDecision"
484
+ },
485
+ "description": "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)."
486
+ }
487
+ }
488
+ },
489
+ "RelayDecision": {
490
+ "title": "RelayDecision",
491
+ "description": "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).",
492
+ "type": "object",
493
+ "additionalProperties": false,
494
+ "required": [
495
+ "decidedAt",
496
+ "decidedBy",
497
+ "recipients",
498
+ "recipientCount"
499
+ ],
500
+ "properties": {
501
+ "decidedAt": {
502
+ "type": "string",
503
+ "format": "date-time",
504
+ "description": "When the decision was made."
505
+ },
506
+ "decidedBy": {
507
+ "$ref": "#/$defs/Did",
508
+ "description": "The administrator who made it."
509
+ },
510
+ "recipients": {
511
+ "$ref": "#/$defs/Recipients"
512
+ },
513
+ "recipientCount": {
514
+ "type": "integer",
515
+ "minimum": 0,
516
+ "description": "How many parties this decision added to those the notification is relayed to. Parties an earlier decision already reached are not counted again."
517
+ }
518
+ }
519
+ },
520
+ "Recipients": {
521
+ "title": "Recipients",
522
+ "description": "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.",
523
+ "type": "object",
524
+ "additionalProperties": false,
525
+ "required": [
526
+ "scope"
527
+ ],
528
+ "properties": {
529
+ "scope": {
530
+ "$ref": "#/$defs/RecipientScope"
531
+ },
532
+ "groupId": {
533
+ "$ref": "#/$defs/GroupId",
534
+ "description": "The community group whose active members the relay reaches."
535
+ },
536
+ "role": {
537
+ "type": "string",
538
+ "minLength": 1,
539
+ "maxLength": 128,
540
+ "description": "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`."
541
+ }
542
+ },
543
+ "dependentSchemas": {
544
+ "scope": {
545
+ "anyOf": [
546
+ {
547
+ "required": [
548
+ "groupId"
549
+ ]
550
+ },
551
+ {
552
+ "required": [
553
+ "role"
554
+ ]
555
+ },
556
+ {
557
+ "properties": {
558
+ "scope": {
559
+ "const": "allMembers"
560
+ }
561
+ }
562
+ }
563
+ ]
564
+ },
565
+ "groupId": {
566
+ "properties": {
567
+ "scope": {
568
+ "const": "group"
569
+ }
570
+ }
571
+ },
572
+ "role": {
573
+ "properties": {
574
+ "scope": {
575
+ "const": "role"
576
+ }
577
+ }
578
+ }
579
+ }
580
+ },
581
+ "RecipientScope": {
582
+ "title": "RecipientScope",
583
+ "description": "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.",
584
+ "type": "string",
585
+ "enum": [
586
+ "allMembers",
587
+ "group",
588
+ "role"
589
+ ]
590
+ },
591
+ "GroupId": {
592
+ "title": "GroupId",
593
+ "description": "Opaque identifier of a community group: `grp_` followed by 16 to 64 base64url characters. Random and community-scoped; not the group's DID.",
594
+ "type": "string",
595
+ "pattern": "^grp_[A-Za-z0-9_-]{16,64}$"
596
+ },
597
+ "Did": {
598
+ "title": "Did",
599
+ "description": "A DID.",
600
+ "type": "string",
601
+ "minLength": 8,
602
+ "maxLength": 2048,
603
+ "pattern": "^did:[a-z0-9]+:\\S+$"
604
+ },
605
+ "RecordId": {
606
+ "title": "RecordId",
607
+ "description": "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.",
608
+ "type": "string",
609
+ "minLength": 16,
610
+ "maxLength": 128,
611
+ "pattern": "^[A-Za-z0-9._~:-]+$"
612
+ },
613
+ "Notification": {
614
+ "title": "Notification",
615
+ "description": "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.",
616
+ "type": "object",
617
+ "additionalProperties": false,
618
+ "required": [
619
+ "notificationId",
620
+ "revision",
621
+ "kind",
622
+ "subject",
623
+ "audience",
624
+ "status",
625
+ "relayable"
626
+ ],
627
+ "properties": {
628
+ "notificationId": {
629
+ "$ref": "#/$defs/NotificationId"
630
+ },
631
+ "revision": {
632
+ "type": "integer",
633
+ "minimum": 1,
634
+ "maximum": 1000000,
635
+ "description": "The revision of this notification. A recipient replaces the record it holds with a higher revision and leaves it unchanged for an equal or lower one (VTI-NTF-022). The first revision is 1."
636
+ },
637
+ "kind": {
638
+ "$ref": "#/$defs/Kind"
639
+ },
640
+ "subject": {
641
+ "$ref": "#/$defs/Subject"
642
+ },
643
+ "audience": {
644
+ "$ref": "#/$defs/Did",
645
+ "description": "The DID whose holders or members the thing concerns — for an election under a credential roll, the DID the roll names (`roll.memberOf`); otherwise the community's own. It says whom the thing is for, not that the recipient is one of them: a recipient may be the audience itself, or a party the audience relayed the notification to."
646
+ },
647
+ "status": {
648
+ "$ref": "#/$defs/Status"
649
+ },
650
+ "relayable": {
651
+ "type": "boolean",
652
+ "description": "Whether the addressee may relay this notification to the parties it stands for (notifications/relay). The originator states it explicitly; an addressee MUST NOT relay a notification whose `relayable` is false, or whose kind may not be relayed (VTI-NTF-041)."
653
+ },
654
+ "validFrom": {
655
+ "type": "string",
656
+ "format": "date-time",
657
+ "description": "When the thing can first be acted on — for an election, when voting opens. Absent: it can be acted on now."
658
+ },
659
+ "validUntil": {
660
+ "type": "string",
661
+ "format": "date-time",
662
+ "description": "When the thing can no longer be acted on, and the notification lapses — for an election, when voting closes. A recipient discards a notification received after it (VTI-NTF-032). Absent: the kind's definition says when it lapses."
663
+ }
664
+ }
665
+ },
666
+ "Status": {
667
+ "title": "Status",
668
+ "description": "Whether the thing is still open to the audience: `available`, or `withdrawn` — cancelled by its holder, or no longer open to the audience — in which case the recipient keeps the record only to show that it was withdrawn (VTI-NTF-024).",
669
+ "type": "string",
670
+ "enum": [
671
+ "available",
672
+ "withdrawn"
673
+ ]
674
+ },
675
+ "Subject": {
676
+ "title": "Subject",
677
+ "description": "Where the thing is and how to open it. Only these three members: what the thing contains is shown by its holder, to a reader it admits, when the thing is opened with `openWith`.",
678
+ "type": "object",
679
+ "additionalProperties": false,
680
+ "required": [
681
+ "heldBy",
682
+ "id",
683
+ "openWith"
684
+ ],
685
+ "properties": {
686
+ "heldBy": {
687
+ "$ref": "#/$defs/Did",
688
+ "description": "The DID of the party holding the thing — for an election, the community. The party a recipient sends `openWith` to."
689
+ },
690
+ "id": {
691
+ "type": "string",
692
+ "minLength": 1,
693
+ "maxLength": 256,
694
+ "description": "The thing's identifier at `heldBy`, in the form the `openWith` task takes it — for an election, its `electionId`."
695
+ },
696
+ "openWith": {
697
+ "type": "string",
698
+ "minLength": 1,
699
+ "maxLength": 512,
700
+ "pattern": "^https://\\S+$",
701
+ "description": "The Type URI of the Trust Task by which a recipient opens the thing at `heldBy` — for an election, `https://trusttasks.org/spec/vtc/elections/show/0.6`. A recipient opens it only at its principal's choice (VTI-NTF-053), and only by a version of that task it and `heldBy` both serve."
702
+ }
703
+ }
704
+ },
705
+ "Kind": {
706
+ "title": "Kind",
707
+ "description": "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).",
708
+ "type": "string",
709
+ "minLength": 1,
710
+ "maxLength": 256,
711
+ "pattern": "^([a-z][a-zA-Z0-9]{0,63}|[a-z0-9]+(-[a-z0-9]+)*(\\.[a-z0-9]+(-[a-z0-9]+)*)+:[a-z][a-zA-Z0-9]{0,63})$"
712
+ },
713
+ "NotificationId": {
714
+ "title": "NotificationId",
715
+ "description": "The originator's identifier for one notification, unique among the notifications that originator issues and the same in every document that carries it — retries, re-issued documents and relayed copies alike. It is the notification's idempotency key (VTI-NTF-021). Compared for equality only. An originator SHOULD make it unguessable and SHOULD NOT make it descriptive: it travels as far as the notification does.",
716
+ "type": "string",
717
+ "minLength": 1,
718
+ "maxLength": 256,
719
+ "pattern": "^[A-Za-z0-9._~:-]+$"
720
+ },
721
+ "Ext": {
722
+ "title": "Ext",
723
+ "description": "Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.",
724
+ "type": "object",
725
+ "minProperties": 1,
726
+ "additionalProperties": true,
727
+ "propertyNames": {
728
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
729
+ }
730
+ }
731
+ }
732
+ } as const;
733
+
734
+ /**
735
+ * SPEC.md §7.2 policy for the request variant, from this specification's
736
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
737
+ * per-specification and cannot be derived from the document alone, and
738
+ * item 2 needs the schema this carries.
739
+ */
740
+ export const SPEC = {
741
+ typeUri: TYPE_URI,
742
+ isBearer: false,
743
+ isProofRequired: true,
744
+ isRecipientRequired: true,
745
+ isIssuedAtRequired: false,
746
+ payloadSchema: PAYLOAD_SCHEMA,
747
+ } as const;
748
+
749
+ /**
750
+ * SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
751
+ * tracks the *issuer* party's requirement because a response swaps the
752
+ * parties (§7.3 item 5).
753
+ */
754
+ export const RESPONSE_SPEC = {
755
+ typeUri: RESPONSE_TYPE_URI,
756
+ isBearer: false,
757
+ isProofRequired: true,
758
+ isRecipientRequired: true,
759
+ isIssuedAtRequired: false,
760
+ payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
761
+ } as const;