@openvtc/trust-tasks 0.28.10 → 0.28.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/dist/_shared/components.d.ts +903 -0
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/index.d.ts +144 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +144 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/vta/notifications/deposit/0.1/payload.d.ts +349 -0
  9. package/dist/vta/notifications/deposit/0.1/payload.d.ts.map +1 -0
  10. package/dist/vta/notifications/deposit/0.1/payload.js +198 -0
  11. package/dist/vta/notifications/deposit/0.1/payload.js.map +1 -0
  12. package/dist/vta/pcs/vetter/recover/0.1/payload.d.ts +667 -0
  13. package/dist/vta/pcs/vetter/recover/0.1/payload.d.ts.map +1 -0
  14. package/dist/vta/pcs/vetter/recover/0.1/payload.js +387 -0
  15. package/dist/vta/pcs/vetter/recover/0.1/payload.js.map +1 -0
  16. package/dist/vtc/notifications/_shared/0.1/received-notification.d.ts +16 -0
  17. package/dist/vtc/notifications/_shared/0.1/received-notification.d.ts.map +1 -0
  18. package/dist/vtc/notifications/_shared/0.1/received-notification.js +6 -0
  19. package/dist/vtc/notifications/_shared/0.1/received-notification.js.map +1 -0
  20. package/dist/vtc/notifications/list/0.1/payload.d.ts +1311 -0
  21. package/dist/vtc/notifications/list/0.1/payload.d.ts.map +1 -0
  22. package/dist/vtc/notifications/list/0.1/payload.js +753 -0
  23. package/dist/vtc/notifications/list/0.1/payload.js.map +1 -0
  24. package/dist/vtc/notifications/relay/0.1/payload.d.ts +568 -0
  25. package/dist/vtc/notifications/relay/0.1/payload.d.ts.map +1 -0
  26. package/dist/vtc/notifications/relay/0.1/payload.js +339 -0
  27. package/dist/vtc/notifications/relay/0.1/payload.js.map +1 -0
  28. package/dist/vtc/notifications/show/0.1/payload.d.ts +1229 -0
  29. package/dist/vtc/notifications/show/0.1/payload.d.ts.map +1 -0
  30. package/dist/vtc/notifications/show/0.1/payload.js +727 -0
  31. package/dist/vtc/notifications/show/0.1/payload.js.map +1 -0
  32. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.d.ts +340 -0
  33. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.d.ts.map +1 -0
  34. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.js +194 -0
  35. package/dist/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.js.map +1 -0
  36. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.d.ts +425 -0
  37. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.d.ts.map +1 -0
  38. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.js +233 -0
  39. package/dist/vtc/vetting/vetters/pcs-binding/show/0.1/payload.js.map +1 -0
  40. package/dist/vtn/_shared/0.1/directory.d.ts +16 -0
  41. package/dist/vtn/_shared/0.1/directory.d.ts.map +1 -0
  42. package/dist/vtn/_shared/0.1/directory.js +6 -0
  43. package/dist/vtn/_shared/0.1/directory.js.map +1 -0
  44. package/dist/vtn/_shared/0.1/entry.d.ts +16 -0
  45. package/dist/vtn/_shared/0.1/entry.d.ts.map +1 -0
  46. package/dist/vtn/_shared/0.1/entry.js +6 -0
  47. package/dist/vtn/_shared/0.1/entry.js.map +1 -0
  48. package/dist/vtn/_shared/0.1/graph.d.ts +16 -0
  49. package/dist/vtn/_shared/0.1/graph.d.ts.map +1 -0
  50. package/dist/vtn/_shared/0.1/graph.js +6 -0
  51. package/dist/vtn/_shared/0.1/graph.js.map +1 -0
  52. package/dist/vtn/_shared/0.1/groups.d.ts +16 -0
  53. package/dist/vtn/_shared/0.1/groups.d.ts.map +1 -0
  54. package/dist/vtn/_shared/0.1/groups.js +6 -0
  55. package/dist/vtn/_shared/0.1/groups.js.map +1 -0
  56. package/dist/vtn/_shared/0.1/membership.d.ts +16 -0
  57. package/dist/vtn/_shared/0.1/membership.d.ts.map +1 -0
  58. package/dist/vtn/_shared/0.1/membership.js +6 -0
  59. package/dist/vtn/_shared/0.1/membership.js.map +1 -0
  60. package/dist/vtn/_shared/0.1/relay.d.ts +16 -0
  61. package/dist/vtn/_shared/0.1/relay.d.ts.map +1 -0
  62. package/dist/vtn/_shared/0.1/relay.js +6 -0
  63. package/dist/vtn/_shared/0.1/relay.js.map +1 -0
  64. package/dist/vtn/_shared/0.1/rooms.d.ts +16 -0
  65. package/dist/vtn/_shared/0.1/rooms.d.ts.map +1 -0
  66. package/dist/vtn/_shared/0.1/rooms.js +6 -0
  67. package/dist/vtn/_shared/0.1/rooms.js.map +1 -0
  68. package/dist/vtn/audit/list/0.1/payload.d.ts +457 -0
  69. package/dist/vtn/audit/list/0.1/payload.d.ts.map +1 -0
  70. package/dist/vtn/audit/list/0.1/payload.js +292 -0
  71. package/dist/vtn/audit/list/0.1/payload.js.map +1 -0
  72. package/dist/vtn/broadcasts/list/0.1/payload.d.ts +687 -0
  73. package/dist/vtn/broadcasts/list/0.1/payload.d.ts.map +1 -0
  74. package/dist/vtn/broadcasts/list/0.1/payload.js +407 -0
  75. package/dist/vtn/broadcasts/list/0.1/payload.js.map +1 -0
  76. package/dist/vtn/broadcasts/send/0.1/payload.d.ts +728 -0
  77. package/dist/vtn/broadcasts/send/0.1/payload.d.ts.map +1 -0
  78. package/dist/vtn/broadcasts/send/0.1/payload.js +425 -0
  79. package/dist/vtn/broadcasts/send/0.1/payload.js.map +1 -0
  80. package/dist/vtn/broadcasts/show/0.1/payload.d.ts +670 -0
  81. package/dist/vtn/broadcasts/show/0.1/payload.d.ts.map +1 -0
  82. package/dist/vtn/broadcasts/show/0.1/payload.js +402 -0
  83. package/dist/vtn/broadcasts/show/0.1/payload.js.map +1 -0
  84. package/dist/vtn/directory/federated/0.1/payload.d.ts +939 -0
  85. package/dist/vtn/directory/federated/0.1/payload.d.ts.map +1 -0
  86. package/dist/vtn/directory/federated/0.1/payload.js +536 -0
  87. package/dist/vtn/directory/federated/0.1/payload.js.map +1 -0
  88. package/dist/vtn/directory/search/0.1/payload.d.ts +643 -0
  89. package/dist/vtn/directory/search/0.1/payload.d.ts.map +1 -0
  90. package/dist/vtn/directory/search/0.1/payload.js +368 -0
  91. package/dist/vtn/directory/search/0.1/payload.js.map +1 -0
  92. package/dist/vtn/directory/summary/0.1/payload.d.ts +366 -0
  93. package/dist/vtn/directory/summary/0.1/payload.d.ts.map +1 -0
  94. package/dist/vtn/directory/summary/0.1/payload.js +216 -0
  95. package/dist/vtn/directory/summary/0.1/payload.js.map +1 -0
  96. package/dist/vtn/entries/show/0.1/payload.d.ts +682 -0
  97. package/dist/vtn/entries/show/0.1/payload.d.ts.map +1 -0
  98. package/dist/vtn/entries/show/0.1/payload.js +398 -0
  99. package/dist/vtn/entries/show/0.1/payload.js.map +1 -0
  100. package/dist/vtn/graph/member/0.1/payload.d.ts +754 -0
  101. package/dist/vtn/graph/member/0.1/payload.d.ts.map +1 -0
  102. package/dist/vtn/graph/member/0.1/payload.js +470 -0
  103. package/dist/vtn/graph/member/0.1/payload.js.map +1 -0
  104. package/dist/vtn/graph/show/0.1/payload.d.ts +754 -0
  105. package/dist/vtn/graph/show/0.1/payload.d.ts.map +1 -0
  106. package/dist/vtn/graph/show/0.1/payload.js +468 -0
  107. package/dist/vtn/graph/show/0.1/payload.js.map +1 -0
  108. package/dist/vtn/groups/list/0.1/payload.d.ts +489 -0
  109. package/dist/vtn/groups/list/0.1/payload.d.ts.map +1 -0
  110. package/dist/vtn/groups/list/0.1/payload.js +282 -0
  111. package/dist/vtn/groups/list/0.1/payload.js.map +1 -0
  112. package/dist/vtn/groups/register/0.1/payload.d.ts +504 -0
  113. package/dist/vtn/groups/register/0.1/payload.d.ts.map +1 -0
  114. package/dist/vtn/groups/register/0.1/payload.js +291 -0
  115. package/dist/vtn/groups/register/0.1/payload.js.map +1 -0
  116. package/dist/vtn/listings/create/0.1/payload.d.ts +954 -0
  117. package/dist/vtn/listings/create/0.1/payload.d.ts.map +1 -0
  118. package/dist/vtn/listings/create/0.1/payload.js +549 -0
  119. package/dist/vtn/listings/create/0.1/payload.js.map +1 -0
  120. package/dist/vtn/listings/list/0.1/payload.d.ts +933 -0
  121. package/dist/vtn/listings/list/0.1/payload.d.ts.map +1 -0
  122. package/dist/vtn/listings/list/0.1/payload.js +538 -0
  123. package/dist/vtn/listings/list/0.1/payload.js.map +1 -0
  124. package/dist/vtn/listings/reinstate/0.1/payload.d.ts +926 -0
  125. package/dist/vtn/listings/reinstate/0.1/payload.d.ts.map +1 -0
  126. package/dist/vtn/listings/reinstate/0.1/payload.js +536 -0
  127. package/dist/vtn/listings/reinstate/0.1/payload.js.map +1 -0
  128. package/dist/vtn/listings/remove/0.1/payload.d.ts +926 -0
  129. package/dist/vtn/listings/remove/0.1/payload.d.ts.map +1 -0
  130. package/dist/vtn/listings/remove/0.1/payload.js +536 -0
  131. package/dist/vtn/listings/remove/0.1/payload.js.map +1 -0
  132. package/dist/vtn/listings/show/0.1/payload.d.ts +914 -0
  133. package/dist/vtn/listings/show/0.1/payload.d.ts.map +1 -0
  134. package/dist/vtn/listings/show/0.1/payload.js +532 -0
  135. package/dist/vtn/listings/show/0.1/payload.js.map +1 -0
  136. package/dist/vtn/listings/suspend/0.1/payload.d.ts +926 -0
  137. package/dist/vtn/listings/suspend/0.1/payload.d.ts.map +1 -0
  138. package/dist/vtn/listings/suspend/0.1/payload.js +536 -0
  139. package/dist/vtn/listings/suspend/0.1/payload.js.map +1 -0
  140. package/dist/vtn/listings/update/0.1/payload.d.ts +966 -0
  141. package/dist/vtn/listings/update/0.1/payload.d.ts.map +1 -0
  142. package/dist/vtn/listings/update/0.1/payload.js +550 -0
  143. package/dist/vtn/listings/update/0.1/payload.js.map +1 -0
  144. package/dist/vtn/membership/acknowledge/0.1/payload.d.ts +654 -0
  145. package/dist/vtn/membership/acknowledge/0.1/payload.d.ts.map +1 -0
  146. package/dist/vtn/membership/acknowledge/0.1/payload.js +386 -0
  147. package/dist/vtn/membership/acknowledge/0.1/payload.js.map +1 -0
  148. package/dist/vtn/membership/offer/0.1/payload.d.ts +247 -0
  149. package/dist/vtn/membership/offer/0.1/payload.d.ts.map +1 -0
  150. package/dist/vtn/membership/offer/0.1/payload.js +147 -0
  151. package/dist/vtn/membership/offer/0.1/payload.js.map +1 -0
  152. package/dist/vtn/membership/repudiate/0.1/payload.d.ts +654 -0
  153. package/dist/vtn/membership/repudiate/0.1/payload.d.ts.map +1 -0
  154. package/dist/vtn/membership/repudiate/0.1/payload.js +386 -0
  155. package/dist/vtn/membership/repudiate/0.1/payload.js.map +1 -0
  156. package/dist/vtn/memberships/groups/add/0.1/payload.d.ts +677 -0
  157. package/dist/vtn/memberships/groups/add/0.1/payload.d.ts.map +1 -0
  158. package/dist/vtn/memberships/groups/add/0.1/payload.js +394 -0
  159. package/dist/vtn/memberships/groups/add/0.1/payload.js.map +1 -0
  160. package/dist/vtn/memberships/join/0.1/payload.d.ts +755 -0
  161. package/dist/vtn/memberships/join/0.1/payload.d.ts.map +1 -0
  162. package/dist/vtn/memberships/join/0.1/payload.js +438 -0
  163. package/dist/vtn/memberships/join/0.1/payload.js.map +1 -0
  164. package/dist/vtn/memberships/leave/0.1/payload.d.ts +653 -0
  165. package/dist/vtn/memberships/leave/0.1/payload.d.ts.map +1 -0
  166. package/dist/vtn/memberships/leave/0.1/payload.js +384 -0
  167. package/dist/vtn/memberships/leave/0.1/payload.js.map +1 -0
  168. package/dist/vtn/memberships/list/0.1/payload.d.ts +651 -0
  169. package/dist/vtn/memberships/list/0.1/payload.d.ts.map +1 -0
  170. package/dist/vtn/memberships/list/0.1/payload.js +383 -0
  171. package/dist/vtn/memberships/list/0.1/payload.js.map +1 -0
  172. package/dist/vtn/memberships/repudiate/0.1/payload.d.ts +669 -0
  173. package/dist/vtn/memberships/repudiate/0.1/payload.d.ts.map +1 -0
  174. package/dist/vtn/memberships/repudiate/0.1/payload.js +391 -0
  175. package/dist/vtn/memberships/repudiate/0.1/payload.js.map +1 -0
  176. package/dist/vtn/outbox/list/0.1/payload.d.ts +567 -0
  177. package/dist/vtn/outbox/list/0.1/payload.d.ts.map +1 -0
  178. package/dist/vtn/outbox/list/0.1/payload.js +333 -0
  179. package/dist/vtn/outbox/list/0.1/payload.js.map +1 -0
  180. package/dist/vtn/outbox/retry/0.1/payload.d.ts +235 -0
  181. package/dist/vtn/outbox/retry/0.1/payload.d.ts.map +1 -0
  182. package/dist/vtn/outbox/retry/0.1/payload.js +141 -0
  183. package/dist/vtn/outbox/retry/0.1/payload.js.map +1 -0
  184. package/dist/vtn/relay/deliver/0.1/payload.d.ts +592 -0
  185. package/dist/vtn/relay/deliver/0.1/payload.d.ts.map +1 -0
  186. package/dist/vtn/relay/deliver/0.1/payload.js +352 -0
  187. package/dist/vtn/relay/deliver/0.1/payload.js.map +1 -0
  188. package/dist/vtn/roles/list/0.1/payload.d.ts +371 -0
  189. package/dist/vtn/roles/list/0.1/payload.d.ts.map +1 -0
  190. package/dist/vtn/roles/list/0.1/payload.js +213 -0
  191. package/dist/vtn/roles/list/0.1/payload.js.map +1 -0
  192. package/dist/vtn/rooms/list/0.1/payload.d.ts +447 -0
  193. package/dist/vtn/rooms/list/0.1/payload.d.ts.map +1 -0
  194. package/dist/vtn/rooms/list/0.1/payload.js +255 -0
  195. package/dist/vtn/rooms/list/0.1/payload.js.map +1 -0
  196. package/dist/vtn/rooms/pass/0.1/payload.d.ts +674 -0
  197. package/dist/vtn/rooms/pass/0.1/payload.d.ts.map +1 -0
  198. package/dist/vtn/rooms/pass/0.1/payload.js +383 -0
  199. package/dist/vtn/rooms/pass/0.1/payload.js.map +1 -0
  200. package/package.json +1 -1
  201. package/src/_shared/components.ts +922 -0
  202. package/src/index.ts +144 -0
  203. package/src/vta/notifications/deposit/0.1/payload.ts +243 -0
  204. package/src/vta/pcs/vetter/recover/0.1/payload.ts +437 -0
  205. package/src/vtc/notifications/_shared/0.1/received-notification.ts +17 -0
  206. package/src/vtc/notifications/list/0.1/payload.ts +809 -0
  207. package/src/vtc/notifications/relay/0.1/payload.ts +382 -0
  208. package/src/vtc/notifications/show/0.1/payload.ts +761 -0
  209. package/src/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.ts +247 -0
  210. package/src/vtc/vetting/vetters/pcs-binding/show/0.1/payload.ts +295 -0
  211. package/src/vtn/_shared/0.1/directory.ts +17 -0
  212. package/src/vtn/_shared/0.1/entry.ts +17 -0
  213. package/src/vtn/_shared/0.1/graph.ts +17 -0
  214. package/src/vtn/_shared/0.1/groups.ts +17 -0
  215. package/src/vtn/_shared/0.1/membership.ts +17 -0
  216. package/src/vtn/_shared/0.1/relay.ts +17 -0
  217. package/src/vtn/_shared/0.1/rooms.ts +17 -0
  218. package/src/vtn/audit/list/0.1/payload.ts +336 -0
  219. package/src/vtn/broadcasts/list/0.1/payload.ts +447 -0
  220. package/src/vtn/broadcasts/send/0.1/payload.ts +478 -0
  221. package/src/vtn/broadcasts/show/0.1/payload.ts +439 -0
  222. package/src/vtn/directory/federated/0.1/payload.ts +594 -0
  223. package/src/vtn/directory/search/0.1/payload.ts +418 -0
  224. package/src/vtn/directory/summary/0.1/payload.ts +253 -0
  225. package/src/vtn/entries/show/0.1/payload.ts +439 -0
  226. package/src/vtn/graph/member/0.1/payload.ts +511 -0
  227. package/src/vtn/graph/show/0.1/payload.ts +509 -0
  228. package/src/vtn/groups/list/0.1/payload.ts +322 -0
  229. package/src/vtn/groups/register/0.1/payload.ts +336 -0
  230. package/src/vtn/listings/create/0.1/payload.ts +594 -0
  231. package/src/vtn/listings/list/0.1/payload.ts +578 -0
  232. package/src/vtn/listings/reinstate/0.1/payload.ts +577 -0
  233. package/src/vtn/listings/remove/0.1/payload.ts +577 -0
  234. package/src/vtn/listings/show/0.1/payload.ts +569 -0
  235. package/src/vtn/listings/suspend/0.1/payload.ts +577 -0
  236. package/src/vtn/listings/update/0.1/payload.ts +603 -0
  237. package/src/vtn/membership/acknowledge/0.1/payload.ts +423 -0
  238. package/src/vtn/membership/offer/0.1/payload.ts +183 -0
  239. package/src/vtn/membership/repudiate/0.1/payload.ts +423 -0
  240. package/src/vtn/memberships/groups/add/0.1/payload.ts +442 -0
  241. package/src/vtn/memberships/join/0.1/payload.ts +488 -0
  242. package/src/vtn/memberships/leave/0.1/payload.ts +424 -0
  243. package/src/vtn/memberships/list/0.1/payload.ts +419 -0
  244. package/src/vtn/memberships/repudiate/0.1/payload.ts +435 -0
  245. package/src/vtn/outbox/list/0.1/payload.ts +369 -0
  246. package/src/vtn/outbox/retry/0.1/payload.ts +177 -0
  247. package/src/vtn/relay/deliver/0.1/payload.ts +397 -0
  248. package/src/vtn/roles/list/0.1/payload.ts +253 -0
  249. package/src/vtn/rooms/list/0.1/payload.ts +295 -0
  250. package/src/vtn/rooms/pass/0.1/payload.ts +439 -0
@@ -0,0 +1,247 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtc/vetting/vetters/pcs-binding/reset/0.1/payload.schema.json
4
+ */
5
+
6
+ import type { Ext } from "../../../../../../_shared/components.js";
7
+
8
+
9
+ /**
10
+ * A community administrator resets one vetter's hidden-vetting (PCS) identifier binding, because the key behind it is lost. The community accepts a new identifier from that member only once no label the old identifier enrolled under is still live, so the member can never be counted twice.
11
+ */
12
+ export interface VTCVettingPCSBindingResetPayload {
13
+ /**
14
+ * The member whose binding is reset.
15
+ */
16
+ memberDid: string;
17
+ /**
18
+ * Why, in the administrator's words. Kept in the community's audit record.
19
+ */
20
+ reason: string;
21
+ ext?: Ext;
22
+ }
23
+ /**
24
+ * The reset as recorded. A repeated reset returns the first one's record.
25
+ */
26
+ export interface VTCVettingPCSBindingResetResponsePayload {
27
+ memberDid: string;
28
+ /**
29
+ * When the binding was reset — the first reset, if this one repeats it.
30
+ */
31
+ resetAt: string;
32
+ /**
33
+ * The labels the old identifier enrolled under that are still live now. A new identifier is accepted once none is.
34
+ */
35
+ waitingOn: string[];
36
+ /**
37
+ * True when `waitingOn` is empty: the member's next enrolment may present a new identifier.
38
+ */
39
+ open: boolean;
40
+ ext?: Ext;
41
+ }
42
+
43
+ /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
44
+ export type { Ext };
45
+
46
+ /** Trust Task type URI. */
47
+ export const TYPE_URI = "https://trusttasks.org/spec/vtc/vetting/vetters/pcs-binding/reset/0.1" as const;
48
+
49
+ /**
50
+ * The earlier version of this specification that this one declares it
51
+ * extends (front matter `extends`, SPEC §5.2 "Declared extension"), or
52
+ * `null`. Only the direct declaration — follow the chain with
53
+ * `extendsChain` / `readForSpec`.
54
+ */
55
+ export const EXTENDS: string | null = null;
56
+
57
+ /**
58
+ * Why this version is deprecated, or `null` while it is current. A
59
+ * superseded or retired version is still supported, and is withdrawn from
60
+ * this package in a later scheduled batch (SPEC "Superseded and Withdrawn
61
+ * Versions").
62
+ */
63
+ export const DEPRECATION: string | null = null;
64
+
65
+ /** Stable alias for this specification's request payload shape. */
66
+ export type Payload = VTCVettingPCSBindingResetPayload;
67
+
68
+ /** Trust Task response type URI (request type URI + "#response"). */
69
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/vetting/vetters/pcs-binding/reset/0.1#response" as const;
70
+
71
+ /** Stable alias for this specification's success-response payload shape. */
72
+ export type Response = VTCVettingPCSBindingResetResponsePayload;
73
+
74
+ /**
75
+ * This specification's payload schema, as a value.
76
+ *
77
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
78
+ * rather than only as a `.json` file because TypeScript types are erased
79
+ * at runtime: without a schema a consumer has nothing to validate, and
80
+ * every REQUIRED payload member is optional in practice. Cross-file
81
+ * `$ref`s are already inlined, so it needs no resolver.
82
+ */
83
+ export const PAYLOAD_SCHEMA = {
84
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
85
+ "$id": "https://trusttasks.org/spec/vtc/vetting/vetters/pcs-binding/reset/0.1",
86
+ "title": "VTC — Vetting PCS Binding — Reset — payload",
87
+ "description": "A community administrator resets one vetter's hidden-vetting (PCS) identifier binding, because the key behind it is lost. The community accepts a new identifier from that member only once no label the old identifier enrolled under is still live, so the member can never be counted twice.",
88
+ "type": "object",
89
+ "additionalProperties": false,
90
+ "required": [
91
+ "memberDid",
92
+ "reason"
93
+ ],
94
+ "properties": {
95
+ "memberDid": {
96
+ "type": "string",
97
+ "minLength": 1,
98
+ "description": "The member whose binding is reset."
99
+ },
100
+ "reason": {
101
+ "type": "string",
102
+ "minLength": 1,
103
+ "maxLength": 500,
104
+ "description": "Why, in the administrator's words. Kept in the community's audit record."
105
+ },
106
+ "ext": {
107
+ "$ref": "#/$defs/Ext"
108
+ }
109
+ },
110
+ "$defs": {
111
+ "Response": {
112
+ "$anchor": "response",
113
+ "title": "VTC — Vetting PCS Binding — Reset — response payload",
114
+ "type": "object",
115
+ "additionalProperties": false,
116
+ "required": [
117
+ "memberDid",
118
+ "resetAt",
119
+ "waitingOn",
120
+ "open"
121
+ ],
122
+ "description": "The reset as recorded. A repeated reset returns the first one's record.",
123
+ "properties": {
124
+ "memberDid": {
125
+ "type": "string",
126
+ "minLength": 1
127
+ },
128
+ "resetAt": {
129
+ "type": "string",
130
+ "format": "date-time",
131
+ "description": "When the binding was reset — the first reset, if this one repeats it."
132
+ },
133
+ "waitingOn": {
134
+ "type": "array",
135
+ "items": {
136
+ "type": "string",
137
+ "pattern": "^vetter/[0-9]{4}-[0-9]{2}$"
138
+ },
139
+ "description": "The labels the old identifier enrolled under that are still live now. A new identifier is accepted once none is."
140
+ },
141
+ "open": {
142
+ "type": "boolean",
143
+ "description": "True when `waitingOn` is empty: the member's next enrolment may present a new identifier."
144
+ },
145
+ "ext": {
146
+ "$ref": "#/$defs/Ext"
147
+ }
148
+ }
149
+ },
150
+ "Ext": {
151
+ "title": "Ext",
152
+ "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.",
153
+ "type": "object",
154
+ "minProperties": 1,
155
+ "additionalProperties": true,
156
+ "propertyNames": {
157
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
158
+ }
159
+ }
160
+ }
161
+ } as const;
162
+
163
+ /** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
164
+ export const RESPONSE_PAYLOAD_SCHEMA = {
165
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
166
+ "$ref": "#/$defs/Response",
167
+ "$defs": {
168
+ "Response": {
169
+ "$anchor": "response",
170
+ "title": "VTC — Vetting PCS Binding — Reset — response payload",
171
+ "type": "object",
172
+ "additionalProperties": false,
173
+ "required": [
174
+ "memberDid",
175
+ "resetAt",
176
+ "waitingOn",
177
+ "open"
178
+ ],
179
+ "description": "The reset as recorded. A repeated reset returns the first one's record.",
180
+ "properties": {
181
+ "memberDid": {
182
+ "type": "string",
183
+ "minLength": 1
184
+ },
185
+ "resetAt": {
186
+ "type": "string",
187
+ "format": "date-time",
188
+ "description": "When the binding was reset — the first reset, if this one repeats it."
189
+ },
190
+ "waitingOn": {
191
+ "type": "array",
192
+ "items": {
193
+ "type": "string",
194
+ "pattern": "^vetter/[0-9]{4}-[0-9]{2}$"
195
+ },
196
+ "description": "The labels the old identifier enrolled under that are still live now. A new identifier is accepted once none is."
197
+ },
198
+ "open": {
199
+ "type": "boolean",
200
+ "description": "True when `waitingOn` is empty: the member's next enrolment may present a new identifier."
201
+ },
202
+ "ext": {
203
+ "$ref": "#/$defs/Ext"
204
+ }
205
+ }
206
+ },
207
+ "Ext": {
208
+ "title": "Ext",
209
+ "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.",
210
+ "type": "object",
211
+ "minProperties": 1,
212
+ "additionalProperties": true,
213
+ "propertyNames": {
214
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
215
+ }
216
+ }
217
+ }
218
+ } as const;
219
+
220
+ /**
221
+ * SPEC.md §7.2 policy for the request variant, from this specification's
222
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
223
+ * per-specification and cannot be derived from the document alone, and
224
+ * item 2 needs the schema this carries.
225
+ */
226
+ export const SPEC = {
227
+ typeUri: TYPE_URI,
228
+ isBearer: false,
229
+ isProofRequired: true,
230
+ isRecipientRequired: true,
231
+ isIssuedAtRequired: true,
232
+ payloadSchema: PAYLOAD_SCHEMA,
233
+ } as const;
234
+
235
+ /**
236
+ * SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
237
+ * tracks the *issuer* party's requirement because a response swaps the
238
+ * parties (§7.3 item 5).
239
+ */
240
+ export const RESPONSE_SPEC = {
241
+ typeUri: RESPONSE_TYPE_URI,
242
+ isBearer: false,
243
+ isProofRequired: true,
244
+ isRecipientRequired: true,
245
+ isIssuedAtRequired: true,
246
+ payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
247
+ } as const;
@@ -0,0 +1,295 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtc/vetting/vetters/pcs-binding/show/0.1/payload.schema.json
4
+ */
5
+
6
+ import type { Ext } from "../../../../../../_shared/components.js";
7
+
8
+
9
+ /**
10
+ * A member asks its community which hidden-vetting (PCS) identifier the community has bound to them, and whether an administrator has reset that binding. The member learns only their own record.
11
+ */
12
+ export interface VTCVettingPCSBindingShowPayload {
13
+ ext?: Ext;
14
+ }
15
+ /**
16
+ * The requester's own binding. `id` is present exactly when `bound` is true.
17
+ */
18
+ export interface VTCVettingPCSBindingShowResponsePayload {
19
+ /**
20
+ * Whether the community holds an identifier for this member. False for a member who has never enrolled.
21
+ */
22
+ bound: boolean;
23
+ /**
24
+ * The PCS identifier recorded at this member's first enrolment, multibase base58btc. Present if and only if `bound` is true; a consumer treats `bound: true` without `id` as not bound. While a reset is pending it is still the recorded one: enrolling with it again cancels the reset.
25
+ */
26
+ id?: string;
27
+ /**
28
+ * The vetter class labels this member has enrolled under with the recorded identifier, oldest first. Empty when not bound.
29
+ */
30
+ enrolledLabels: string[];
31
+ reset?: Reset;
32
+ ext?: Ext;
33
+ }
34
+ /**
35
+ * An administrator's reset of this member's binding, not yet completed by an enrolment under a new identifier.
36
+ */
37
+ export interface Reset {
38
+ /**
39
+ * When the administrator reset the binding.
40
+ */
41
+ resetAt: string;
42
+ /**
43
+ * The labels the recorded identifier enrolled under that the community still accepts, at the time of this answer. A new identifier is refused until this is empty.
44
+ */
45
+ waitingOn: string[];
46
+ /**
47
+ * True when `waitingOn` is empty: the next enrolment may present a new identifier, and the community binds it.
48
+ */
49
+ open: boolean;
50
+ }
51
+
52
+ /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
53
+ export type { Ext };
54
+
55
+ /** Trust Task type URI. */
56
+ export const TYPE_URI = "https://trusttasks.org/spec/vtc/vetting/vetters/pcs-binding/show/0.1" as const;
57
+
58
+ /**
59
+ * The earlier version of this specification that this one declares it
60
+ * extends (front matter `extends`, SPEC §5.2 "Declared extension"), or
61
+ * `null`. Only the direct declaration — follow the chain with
62
+ * `extendsChain` / `readForSpec`.
63
+ */
64
+ export const EXTENDS: string | null = null;
65
+
66
+ /**
67
+ * Why this version is deprecated, or `null` while it is current. A
68
+ * superseded or retired version is still supported, and is withdrawn from
69
+ * this package in a later scheduled batch (SPEC "Superseded and Withdrawn
70
+ * Versions").
71
+ */
72
+ export const DEPRECATION: string | null = null;
73
+
74
+ /** Stable alias for this specification's request payload shape. */
75
+ export type Payload = VTCVettingPCSBindingShowPayload;
76
+
77
+ /** Trust Task response type URI (request type URI + "#response"). */
78
+ export const RESPONSE_TYPE_URI = "https://trusttasks.org/spec/vtc/vetting/vetters/pcs-binding/show/0.1#response" as const;
79
+
80
+ /** Stable alias for this specification's success-response payload shape. */
81
+ export type Response = VTCVettingPCSBindingShowResponsePayload;
82
+
83
+ /**
84
+ * This specification's payload schema, as a value.
85
+ *
86
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
87
+ * rather than only as a `.json` file because TypeScript types are erased
88
+ * at runtime: without a schema a consumer has nothing to validate, and
89
+ * every REQUIRED payload member is optional in practice. Cross-file
90
+ * `$ref`s are already inlined, so it needs no resolver.
91
+ */
92
+ export const PAYLOAD_SCHEMA = {
93
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
94
+ "$id": "https://trusttasks.org/spec/vtc/vetting/vetters/pcs-binding/show/0.1",
95
+ "title": "VTC — Vetting PCS Binding — Show — payload",
96
+ "description": "A member asks its community which hidden-vetting (PCS) identifier the community has bound to them, and whether an administrator has reset that binding. The member learns only their own record.",
97
+ "type": "object",
98
+ "additionalProperties": false,
99
+ "properties": {
100
+ "ext": {
101
+ "$ref": "#/$defs/Ext"
102
+ }
103
+ },
104
+ "$defs": {
105
+ "Response": {
106
+ "$anchor": "response",
107
+ "title": "VTC — Vetting PCS Binding — Show — response payload",
108
+ "type": "object",
109
+ "additionalProperties": false,
110
+ "required": [
111
+ "bound",
112
+ "enrolledLabels"
113
+ ],
114
+ "description": "The requester's own binding. `id` is present exactly when `bound` is true.",
115
+ "properties": {
116
+ "bound": {
117
+ "type": "boolean",
118
+ "description": "Whether the community holds an identifier for this member. False for a member who has never enrolled."
119
+ },
120
+ "id": {
121
+ "type": "string",
122
+ "pattern": "^z[1-9A-HJ-NP-Za-km-z]+$",
123
+ "description": "The PCS identifier recorded at this member's first enrolment, multibase base58btc. Present if and only if `bound` is true; a consumer treats `bound: true` without `id` as not bound. While a reset is pending it is still the recorded one: enrolling with it again cancels the reset."
124
+ },
125
+ "enrolledLabels": {
126
+ "type": "array",
127
+ "items": {
128
+ "type": "string",
129
+ "pattern": "^vetter/[0-9]{4}-[0-9]{2}$"
130
+ },
131
+ "description": "The vetter class labels this member has enrolled under with the recorded identifier, oldest first. Empty when not bound."
132
+ },
133
+ "reset": {
134
+ "$ref": "#/$defs/Reset"
135
+ },
136
+ "ext": {
137
+ "$ref": "#/$defs/Ext"
138
+ }
139
+ }
140
+ },
141
+ "Reset": {
142
+ "title": "Reset",
143
+ "description": "An administrator's reset of this member's binding, not yet completed by an enrolment under a new identifier.",
144
+ "type": "object",
145
+ "additionalProperties": false,
146
+ "required": [
147
+ "resetAt",
148
+ "waitingOn",
149
+ "open"
150
+ ],
151
+ "properties": {
152
+ "resetAt": {
153
+ "type": "string",
154
+ "format": "date-time",
155
+ "description": "When the administrator reset the binding."
156
+ },
157
+ "waitingOn": {
158
+ "type": "array",
159
+ "items": {
160
+ "type": "string",
161
+ "pattern": "^vetter/[0-9]{4}-[0-9]{2}$"
162
+ },
163
+ "description": "The labels the recorded identifier enrolled under that the community still accepts, at the time of this answer. A new identifier is refused until this is empty."
164
+ },
165
+ "open": {
166
+ "type": "boolean",
167
+ "description": "True when `waitingOn` is empty: the next enrolment may present a new identifier, and the community binds it."
168
+ }
169
+ }
170
+ },
171
+ "Ext": {
172
+ "title": "Ext",
173
+ "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.",
174
+ "type": "object",
175
+ "minProperties": 1,
176
+ "additionalProperties": true,
177
+ "propertyNames": {
178
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
179
+ }
180
+ }
181
+ }
182
+ } as const;
183
+
184
+ /** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
185
+ export const RESPONSE_PAYLOAD_SCHEMA = {
186
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
187
+ "$ref": "#/$defs/Response",
188
+ "$defs": {
189
+ "Response": {
190
+ "$anchor": "response",
191
+ "title": "VTC — Vetting PCS Binding — Show — response payload",
192
+ "type": "object",
193
+ "additionalProperties": false,
194
+ "required": [
195
+ "bound",
196
+ "enrolledLabels"
197
+ ],
198
+ "description": "The requester's own binding. `id` is present exactly when `bound` is true.",
199
+ "properties": {
200
+ "bound": {
201
+ "type": "boolean",
202
+ "description": "Whether the community holds an identifier for this member. False for a member who has never enrolled."
203
+ },
204
+ "id": {
205
+ "type": "string",
206
+ "pattern": "^z[1-9A-HJ-NP-Za-km-z]+$",
207
+ "description": "The PCS identifier recorded at this member's first enrolment, multibase base58btc. Present if and only if `bound` is true; a consumer treats `bound: true` without `id` as not bound. While a reset is pending it is still the recorded one: enrolling with it again cancels the reset."
208
+ },
209
+ "enrolledLabels": {
210
+ "type": "array",
211
+ "items": {
212
+ "type": "string",
213
+ "pattern": "^vetter/[0-9]{4}-[0-9]{2}$"
214
+ },
215
+ "description": "The vetter class labels this member has enrolled under with the recorded identifier, oldest first. Empty when not bound."
216
+ },
217
+ "reset": {
218
+ "$ref": "#/$defs/Reset"
219
+ },
220
+ "ext": {
221
+ "$ref": "#/$defs/Ext"
222
+ }
223
+ }
224
+ },
225
+ "Reset": {
226
+ "title": "Reset",
227
+ "description": "An administrator's reset of this member's binding, not yet completed by an enrolment under a new identifier.",
228
+ "type": "object",
229
+ "additionalProperties": false,
230
+ "required": [
231
+ "resetAt",
232
+ "waitingOn",
233
+ "open"
234
+ ],
235
+ "properties": {
236
+ "resetAt": {
237
+ "type": "string",
238
+ "format": "date-time",
239
+ "description": "When the administrator reset the binding."
240
+ },
241
+ "waitingOn": {
242
+ "type": "array",
243
+ "items": {
244
+ "type": "string",
245
+ "pattern": "^vetter/[0-9]{4}-[0-9]{2}$"
246
+ },
247
+ "description": "The labels the recorded identifier enrolled under that the community still accepts, at the time of this answer. A new identifier is refused until this is empty."
248
+ },
249
+ "open": {
250
+ "type": "boolean",
251
+ "description": "True when `waitingOn` is empty: the next enrolment may present a new identifier, and the community binds it."
252
+ }
253
+ }
254
+ },
255
+ "Ext": {
256
+ "title": "Ext",
257
+ "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.",
258
+ "type": "object",
259
+ "minProperties": 1,
260
+ "additionalProperties": true,
261
+ "propertyNames": {
262
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$"
263
+ }
264
+ }
265
+ }
266
+ } as const;
267
+
268
+ /**
269
+ * SPEC.md §7.2 policy for the request variant, from this specification's
270
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
271
+ * per-specification and cannot be derived from the document alone, and
272
+ * item 2 needs the schema this carries.
273
+ */
274
+ export const SPEC = {
275
+ typeUri: TYPE_URI,
276
+ isBearer: false,
277
+ isProofRequired: true,
278
+ isRecipientRequired: true,
279
+ isIssuedAtRequired: false,
280
+ payloadSchema: PAYLOAD_SCHEMA,
281
+ } as const;
282
+
283
+ /**
284
+ * SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
285
+ * tracks the *issuer* party's requirement because a response swaps the
286
+ * parties (§7.3 item 5).
287
+ */
288
+ export const RESPONSE_SPEC = {
289
+ typeUri: RESPONSE_TYPE_URI,
290
+ isBearer: false,
291
+ isProofRequired: true,
292
+ isRecipientRequired: true,
293
+ isIssuedAtRequired: false,
294
+ payloadSchema: RESPONSE_PAYLOAD_SCHEMA,
295
+ } as const;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtn/_shared/0.1/directory.schema.json
4
+ */
5
+
6
+ /**
7
+ * The searchable view of a network's published set, and of its member networks' sets when searched federated (VTI-VTN-032, VTI-VTN-033).
8
+ */
9
+ export interface VTNDirectory {
10
+ [k: string]: unknown | undefined;
11
+ }
12
+
13
+ /**
14
+ * The definitions this shared schema publishes, hoisted to one declaration each.
15
+ * See "../../../_shared/components.js".
16
+ */
17
+ export type { DirectoryEntry_VtnV0_1 as DirectoryEntry, DirectorySummary, FederatedEntry, MembersOnly, PathHop, SearchText, Unreachable } from "../../../_shared/components.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtn/_shared/0.1/entry.schema.json
4
+ */
5
+
6
+ /**
7
+ * An entry in a Verifiable Trust Network's published set: a community or network the network lists, its lifecycle state, and the credentials that evidence it (VTI-VTN-010 – VTI-VTN-013, VTI-VTN-031). Shared by the vtn/* tasks.
8
+ */
9
+ export interface VTNEntries {
10
+ [k: string]: unknown | undefined;
11
+ }
12
+
13
+ /**
14
+ * The definitions this shared schema publishes, hoisted to one declaration each.
15
+ * See "../../../_shared/components.js".
16
+ */
17
+ export type { AuditEvent, Credential, Description, Did_VtnV0_1 as Did, Entry, EntryKind, EntryProfile, EntryState, IndexEntry, Issued, Label, Membership, Reason_VtnV0_1 as Reason, StateChange, Tags, Url } from "../../../_shared/components.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtn/_shared/0.1/graph.schema.json
4
+ */
5
+
6
+ /**
7
+ * A network's DTG graph: its parties as nodes and every credential between them as an edge, so the picture is the evidence (VTI-VTN-033).
8
+ */
9
+ export interface VTNTrustGraph {
10
+ [k: string]: unknown | undefined;
11
+ }
12
+
13
+ /**
14
+ * The definitions this shared schema publishes, hoisted to one declaration each.
15
+ * See "../../../_shared/components.js".
16
+ */
17
+ export type { Edge, EdgeRole, EdgeStatus, Graph, Node, NodeKind } from "../../../_shared/components.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtn/_shared/0.1/groups.schema.json
4
+ */
5
+
6
+ /**
7
+ * A network's roles, and the groups its members register to serve them. A registration is the member's signed vtn/groups/register request; the network accepts it by issuing a revocable groupRegistered credential (`https://openvtc.org/vtn/vsc/groupRegistered/1`, interim OpenVTC predicate) whose `digestMultibase` is the digest of that request, and revokes it when the registration ends.
8
+ */
9
+ export interface VTNRolesAndGroups {
10
+ [k: string]: unknown | undefined;
11
+ }
12
+
13
+ /**
14
+ * The definitions this shared schema publishes, hoisted to one declaration each.
15
+ * See "../../../_shared/components.js".
16
+ */
17
+ export type { ChainLink, RegisteredGroup_VtnV0_1 as RegisteredGroup, RoleDef, RoleName_VtnV0_1 as RoleName, SignedTask } from "../../../_shared/components.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtn/_shared/0.1/membership.schema.json
4
+ */
5
+
6
+ /**
7
+ * This network's own membership of a parent network: the mirror of a community's network membership (vtc/_shared network-membership), for a network that is itself a member.
8
+ */
9
+ export interface VTNUpstreamMembership {
10
+ [k: string]: unknown | undefined;
11
+ }
12
+
13
+ /**
14
+ * The definitions this shared schema publishes, hoisted to one declaration each.
15
+ * See "../../../_shared/components.js".
16
+ */
17
+ export type { RoleMapping, UpstreamGroup, UpstreamMembership } from "../../../_shared/components.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtn/_shared/0.1/relay.schema.json
4
+ */
5
+
6
+ /**
7
+ * A message an origin network sends to a role, how each network relays it to its members' groups, and the receipts that come back. Repeats are dropped by message id, and a hop limit applies.
8
+ */
9
+ export interface VTNBroadcastAndRelay {
10
+ [k: string]: unknown | undefined;
11
+ }
12
+
13
+ /**
14
+ * The definitions this shared schema publishes, hoisted to one declaration each.
15
+ * See "../../../_shared/components.js".
16
+ */
17
+ export type { BroadcastRecord, DeliveryStatus, Envelope, OutboxItem, Receipt } from "../../../_shared/components.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtn/_shared/0.1/rooms.schema.json
4
+ */
5
+
6
+ /**
7
+ * Network rooms: a room belongs to a role, and a person reaches it through their community's registered group for that role.
8
+ */
9
+ export interface VTNRooms {
10
+ [k: string]: unknown | undefined;
11
+ }
12
+
13
+ /**
14
+ * The definitions this shared schema publishes, hoisted to one declaration each.
15
+ * See "../../../_shared/components.js".
16
+ */
17
+ export type { RoomDef, RoomPass } from "../../../_shared/components.js";