@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,939 @@
1
+ /**
2
+ * Generated by scripts/build-ts-bindings.mjs — DO NOT EDIT BY HAND.
3
+ * Source: specs/vtn/directory/federated/0.1/payload.schema.json
4
+ */
5
+ import type { Did_VtnV0_1 as Did, EntryKind, EntryState, Ext, FederatedEntry, Membership, MembersOnly, PathHop, SearchText, Unreachable } from "../../../../_shared/components.js";
6
+ /**
7
+ * A search of the network's published set and, through their signed indexes, its member networks' sets. The same query as vtn/directory/search; every member is optional. The outer document members are owned by the framework — SPEC §6.3.
8
+ */
9
+ export interface VTNDirectoryFederatedSearchPayload {
10
+ q?: SearchText;
11
+ /**
12
+ * Only entries of this kind.
13
+ */
14
+ kind?: EntryKind;
15
+ /**
16
+ * Only entries in this state.
17
+ */
18
+ state?: EntryState;
19
+ membersOnly?: MembersOnly;
20
+ /**
21
+ * A person's membership credential from a member community, holder-bound to the signer; admits the person to a `members` directory.
22
+ */
23
+ membership?: Membership;
24
+ ext?: Ext;
25
+ }
26
+ /**
27
+ * The matches, each with the network that lists it and its path, and the member networks that could not be searched.
28
+ */
29
+ export interface VTNDirectoryFederatedSearchResponsePayload {
30
+ /**
31
+ * When the network assembled the answer.
32
+ */
33
+ determinedAt: string;
34
+ /**
35
+ * The matches, this network's own first (empty `path`), each stating its own state and whether it is a member of `listedBy`.
36
+ */
37
+ results: FederatedEntry[];
38
+ /**
39
+ * Member networks whose sets could not be searched: indeterminate, not absent (VTI-REG-012).
40
+ */
41
+ unreachable: Unreachable[];
42
+ ext?: Ext;
43
+ }
44
+ /** Shared definitions this specification references, re-exported under the names it used to declare them with. */
45
+ export type { Did, EntryKind, EntryState, Ext, FederatedEntry, Membership, MembersOnly, PathHop, SearchText, Unreachable };
46
+ /** Trust Task type URI. */
47
+ export declare const TYPE_URI: "https://trusttasks.org/spec/vtn/directory/federated/0.1";
48
+ /**
49
+ * The earlier version of this specification that this one declares it
50
+ * extends (front matter `extends`, SPEC §5.2 "Declared extension"), or
51
+ * `null`. Only the direct declaration — follow the chain with
52
+ * `extendsChain` / `readForSpec`.
53
+ */
54
+ export declare const EXTENDS: string | null;
55
+ /**
56
+ * Why this version is deprecated, or `null` while it is current. A
57
+ * superseded or retired version is still supported, and is withdrawn from
58
+ * this package in a later scheduled batch (SPEC "Superseded and Withdrawn
59
+ * Versions").
60
+ */
61
+ export declare const DEPRECATION: string | null;
62
+ /** Stable alias for this specification's request payload shape. */
63
+ export type Payload = VTNDirectoryFederatedSearchPayload;
64
+ /** Trust Task response type URI (request type URI + "#response"). */
65
+ export declare const RESPONSE_TYPE_URI: "https://trusttasks.org/spec/vtn/directory/federated/0.1#response";
66
+ /** Stable alias for this specification's success-response payload shape. */
67
+ export type Response = VTNDirectoryFederatedSearchResponsePayload;
68
+ /**
69
+ * This specification's payload schema, as a value.
70
+ *
71
+ * SPEC.md §7.2 item 2 is performed against this. It is shipped as data
72
+ * rather than only as a `.json` file because TypeScript types are erased
73
+ * at runtime: without a schema a consumer has nothing to validate, and
74
+ * every REQUIRED payload member is optional in practice. Cross-file
75
+ * `$ref`s are already inlined, so it needs no resolver.
76
+ */
77
+ export declare const PAYLOAD_SCHEMA: {
78
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
79
+ readonly $id: "https://trusttasks.org/spec/vtn/directory/federated/0.1";
80
+ readonly title: "VTN Directory — Federated Search — payload";
81
+ readonly description: "A search of the network's published set and, through their signed indexes, its member networks' sets. The same query as vtn/directory/search; every member is optional. The outer document members are owned by the framework — SPEC §6.3.";
82
+ readonly type: "object";
83
+ readonly additionalProperties: false;
84
+ readonly required: readonly [];
85
+ readonly properties: {
86
+ readonly q: {
87
+ readonly $ref: "#/$defs/SearchText";
88
+ };
89
+ readonly kind: {
90
+ readonly $ref: "#/$defs/EntryKind";
91
+ readonly description: "Only entries of this kind.";
92
+ };
93
+ readonly state: {
94
+ readonly $ref: "#/$defs/EntryState";
95
+ readonly description: "Only entries in this state.";
96
+ };
97
+ readonly membersOnly: {
98
+ readonly $ref: "#/$defs/MembersOnly";
99
+ };
100
+ readonly membership: {
101
+ readonly $ref: "#/$defs/Membership";
102
+ readonly description: "A person's membership credential from a member community, holder-bound to the signer; admits the person to a `members` directory.";
103
+ };
104
+ readonly ext: {
105
+ readonly $ref: "#/$defs/Ext";
106
+ };
107
+ };
108
+ readonly $defs: {
109
+ readonly Response: {
110
+ readonly $anchor: "response";
111
+ readonly title: "VTN Directory — Federated Search — response payload";
112
+ readonly description: "The matches, each with the network that lists it and its path, and the member networks that could not be searched.";
113
+ readonly type: "object";
114
+ readonly additionalProperties: false;
115
+ readonly required: readonly ["determinedAt", "results", "unreachable"];
116
+ readonly properties: {
117
+ readonly determinedAt: {
118
+ readonly type: "string";
119
+ readonly format: "date-time";
120
+ readonly description: "When the network assembled the answer.";
121
+ };
122
+ readonly results: {
123
+ readonly type: "array";
124
+ readonly items: {
125
+ readonly $ref: "#/$defs/FederatedEntry";
126
+ };
127
+ readonly description: "The matches, this network's own first (empty `path`), each stating its own state and whether it is a member of `listedBy`.";
128
+ };
129
+ readonly unreachable: {
130
+ readonly type: "array";
131
+ readonly items: {
132
+ readonly $ref: "#/$defs/Unreachable";
133
+ };
134
+ readonly description: "Member networks whose sets could not be searched: indeterminate, not absent (VTI-REG-012).";
135
+ };
136
+ readonly ext: {
137
+ readonly $ref: "#/$defs/Ext";
138
+ };
139
+ };
140
+ };
141
+ readonly Ext: {
142
+ readonly title: "Ext";
143
+ readonly 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.";
144
+ readonly type: "object";
145
+ readonly minProperties: 1;
146
+ readonly additionalProperties: true;
147
+ readonly propertyNames: {
148
+ readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
149
+ };
150
+ };
151
+ readonly Unreachable: {
152
+ readonly description: "A member network whose set could not be read: its results are indeterminate, not absent (VTI-REG-012).";
153
+ readonly type: "object";
154
+ readonly additionalProperties: false;
155
+ readonly required: readonly ["network", "path", "reason"];
156
+ readonly properties: {
157
+ readonly network: {
158
+ readonly $ref: "#/$defs/Did";
159
+ readonly description: "The member network that could not be searched.";
160
+ };
161
+ readonly path: {
162
+ readonly type: "array";
163
+ readonly items: {
164
+ readonly $ref: "#/$defs/PathHop";
165
+ };
166
+ readonly description: "How it was reached.";
167
+ };
168
+ readonly reason: {
169
+ readonly type: "string";
170
+ readonly maxLength: 1000;
171
+ readonly description: "Why.";
172
+ };
173
+ };
174
+ };
175
+ readonly PathHop: {
176
+ readonly description: "One step on the path from the searched network to the network that lists a result. Each hop states its own entry state: membership does not chain (VTI-VTN-033).";
177
+ readonly type: "object";
178
+ readonly additionalProperties: false;
179
+ readonly required: readonly ["network", "state", "acknowledged"];
180
+ readonly properties: {
181
+ readonly network: {
182
+ readonly $ref: "#/$defs/Did";
183
+ readonly description: "A network on the path.";
184
+ };
185
+ readonly name: {
186
+ readonly type: "string";
187
+ readonly maxLength: 200;
188
+ readonly description: "Its name.";
189
+ };
190
+ readonly state: {
191
+ readonly $ref: "#/$defs/EntryState";
192
+ readonly description: "Its own entry's state at the network before it on the path.";
193
+ };
194
+ readonly acknowledged: {
195
+ readonly type: "boolean";
196
+ readonly description: "Whether that entry is a membership.";
197
+ };
198
+ };
199
+ };
200
+ readonly EntryState: {
201
+ readonly type: "string";
202
+ readonly enum: readonly ["listed", "acknowledged", "repudiated", "suspended", "removed", "departed"];
203
+ readonly description: "`listed`: the network lists the party and the party has not answered; this is never membership (VTI-VTN-013). `acknowledged`: the party acknowledged the network's grant; it is a member. `repudiated`: the party rejected the listing. `suspended`: the network suspended the membership; reversible. `removed`: the network ended the entry. `departed`: the party left, by repudiating the grant.";
204
+ };
205
+ readonly Did: {
206
+ readonly type: "string";
207
+ readonly pattern: "^did:[a-z0-9]+:.+$";
208
+ readonly maxLength: 2048;
209
+ readonly description: "A DID.";
210
+ };
211
+ readonly FederatedEntry: {
212
+ readonly description: "A result from a member network's set, with the network that lists it and the path to that network.";
213
+ readonly type: "object";
214
+ readonly additionalProperties: false;
215
+ readonly required: readonly ["did", "kind", "state", "acknowledged", "listedBy", "path"];
216
+ readonly properties: {
217
+ readonly did: {
218
+ readonly $ref: "#/$defs/Did";
219
+ };
220
+ readonly kind: {
221
+ readonly $ref: "#/$defs/EntryKind";
222
+ };
223
+ readonly state: {
224
+ readonly $ref: "#/$defs/EntryState";
225
+ };
226
+ readonly acknowledged: {
227
+ readonly type: "boolean";
228
+ readonly description: "Whether the party is a member. Every result states it (VTI-VTN-013).";
229
+ };
230
+ readonly label: {
231
+ readonly type: "string";
232
+ readonly maxLength: 200;
233
+ readonly description: "The name shown.";
234
+ };
235
+ readonly description: {
236
+ readonly type: "string";
237
+ readonly maxLength: 2000;
238
+ readonly description: "What the party is.";
239
+ };
240
+ readonly url: {
241
+ readonly type: "string";
242
+ readonly format: "uri";
243
+ readonly maxLength: 2048;
244
+ readonly description: "The party's public address.";
245
+ };
246
+ readonly tags: {
247
+ readonly type: "array";
248
+ readonly items: {
249
+ readonly type: "string";
250
+ readonly minLength: 1;
251
+ readonly maxLength: 64;
252
+ };
253
+ readonly description: "Tags.";
254
+ readonly maxItems: 32;
255
+ };
256
+ readonly listingId: {
257
+ readonly type: "string";
258
+ readonly maxLength: 2048;
259
+ readonly description: "The listing credential's `id`, to fetch it.";
260
+ };
261
+ readonly grantId: {
262
+ readonly type: "string";
263
+ readonly maxLength: 2048;
264
+ readonly description: "The grant's `id`, once acknowledged.";
265
+ };
266
+ readonly listedBy: {
267
+ readonly $ref: "#/$defs/Did";
268
+ readonly description: "The network whose set the result is in.";
269
+ };
270
+ readonly path: {
271
+ readonly type: "array";
272
+ readonly items: {
273
+ readonly $ref: "#/$defs/PathHop";
274
+ };
275
+ readonly description: "From the searched network to `listedBy`, one hop per nesting.";
276
+ };
277
+ };
278
+ };
279
+ readonly EntryKind: {
280
+ readonly type: "string";
281
+ readonly enum: readonly ["community", "network"];
282
+ readonly description: "What the entry lists (VTI-VTN-031): a community, whose entries are its members, or a network, whose entries are further listings. A listing credential carries the same fact as `nodeType` `VTC` or `VTN`.";
283
+ };
284
+ readonly Membership: {
285
+ readonly type: "object";
286
+ readonly description: "A person's membership credential (VMC) from a community that is a member of this network, holder-bound to the requester's identity. Open for the same reason as `Credential`.";
287
+ };
288
+ readonly MembersOnly: {
289
+ readonly type: "boolean";
290
+ readonly description: "Only members (`acknowledged: true`). Absent means false.";
291
+ };
292
+ readonly SearchText: {
293
+ readonly type: "string";
294
+ readonly minLength: 1;
295
+ readonly maxLength: 256;
296
+ readonly description: "Free text. Every whitespace-separated term must match, case-insensitively, the entry's DID, label, description or a tag.";
297
+ };
298
+ };
299
+ };
300
+ /** As {@link PAYLOAD_SCHEMA}, for the success-response variant. */
301
+ export declare const RESPONSE_PAYLOAD_SCHEMA: {
302
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
303
+ readonly $ref: "#/$defs/Response";
304
+ readonly $defs: {
305
+ readonly Response: {
306
+ readonly $anchor: "response";
307
+ readonly title: "VTN Directory — Federated Search — response payload";
308
+ readonly description: "The matches, each with the network that lists it and its path, and the member networks that could not be searched.";
309
+ readonly type: "object";
310
+ readonly additionalProperties: false;
311
+ readonly required: readonly ["determinedAt", "results", "unreachable"];
312
+ readonly properties: {
313
+ readonly determinedAt: {
314
+ readonly type: "string";
315
+ readonly format: "date-time";
316
+ readonly description: "When the network assembled the answer.";
317
+ };
318
+ readonly results: {
319
+ readonly type: "array";
320
+ readonly items: {
321
+ readonly $ref: "#/$defs/FederatedEntry";
322
+ };
323
+ readonly description: "The matches, this network's own first (empty `path`), each stating its own state and whether it is a member of `listedBy`.";
324
+ };
325
+ readonly unreachable: {
326
+ readonly type: "array";
327
+ readonly items: {
328
+ readonly $ref: "#/$defs/Unreachable";
329
+ };
330
+ readonly description: "Member networks whose sets could not be searched: indeterminate, not absent (VTI-REG-012).";
331
+ };
332
+ readonly ext: {
333
+ readonly $ref: "#/$defs/Ext";
334
+ };
335
+ };
336
+ };
337
+ readonly Ext: {
338
+ readonly title: "Ext";
339
+ readonly 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.";
340
+ readonly type: "object";
341
+ readonly minProperties: 1;
342
+ readonly additionalProperties: true;
343
+ readonly propertyNames: {
344
+ readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
345
+ };
346
+ };
347
+ readonly Unreachable: {
348
+ readonly description: "A member network whose set could not be read: its results are indeterminate, not absent (VTI-REG-012).";
349
+ readonly type: "object";
350
+ readonly additionalProperties: false;
351
+ readonly required: readonly ["network", "path", "reason"];
352
+ readonly properties: {
353
+ readonly network: {
354
+ readonly $ref: "#/$defs/Did";
355
+ readonly description: "The member network that could not be searched.";
356
+ };
357
+ readonly path: {
358
+ readonly type: "array";
359
+ readonly items: {
360
+ readonly $ref: "#/$defs/PathHop";
361
+ };
362
+ readonly description: "How it was reached.";
363
+ };
364
+ readonly reason: {
365
+ readonly type: "string";
366
+ readonly maxLength: 1000;
367
+ readonly description: "Why.";
368
+ };
369
+ };
370
+ };
371
+ readonly PathHop: {
372
+ readonly description: "One step on the path from the searched network to the network that lists a result. Each hop states its own entry state: membership does not chain (VTI-VTN-033).";
373
+ readonly type: "object";
374
+ readonly additionalProperties: false;
375
+ readonly required: readonly ["network", "state", "acknowledged"];
376
+ readonly properties: {
377
+ readonly network: {
378
+ readonly $ref: "#/$defs/Did";
379
+ readonly description: "A network on the path.";
380
+ };
381
+ readonly name: {
382
+ readonly type: "string";
383
+ readonly maxLength: 200;
384
+ readonly description: "Its name.";
385
+ };
386
+ readonly state: {
387
+ readonly $ref: "#/$defs/EntryState";
388
+ readonly description: "Its own entry's state at the network before it on the path.";
389
+ };
390
+ readonly acknowledged: {
391
+ readonly type: "boolean";
392
+ readonly description: "Whether that entry is a membership.";
393
+ };
394
+ };
395
+ };
396
+ readonly EntryState: {
397
+ readonly type: "string";
398
+ readonly enum: readonly ["listed", "acknowledged", "repudiated", "suspended", "removed", "departed"];
399
+ readonly description: "`listed`: the network lists the party and the party has not answered; this is never membership (VTI-VTN-013). `acknowledged`: the party acknowledged the network's grant; it is a member. `repudiated`: the party rejected the listing. `suspended`: the network suspended the membership; reversible. `removed`: the network ended the entry. `departed`: the party left, by repudiating the grant.";
400
+ };
401
+ readonly Did: {
402
+ readonly type: "string";
403
+ readonly pattern: "^did:[a-z0-9]+:.+$";
404
+ readonly maxLength: 2048;
405
+ readonly description: "A DID.";
406
+ };
407
+ readonly FederatedEntry: {
408
+ readonly description: "A result from a member network's set, with the network that lists it and the path to that network.";
409
+ readonly type: "object";
410
+ readonly additionalProperties: false;
411
+ readonly required: readonly ["did", "kind", "state", "acknowledged", "listedBy", "path"];
412
+ readonly properties: {
413
+ readonly did: {
414
+ readonly $ref: "#/$defs/Did";
415
+ };
416
+ readonly kind: {
417
+ readonly $ref: "#/$defs/EntryKind";
418
+ };
419
+ readonly state: {
420
+ readonly $ref: "#/$defs/EntryState";
421
+ };
422
+ readonly acknowledged: {
423
+ readonly type: "boolean";
424
+ readonly description: "Whether the party is a member. Every result states it (VTI-VTN-013).";
425
+ };
426
+ readonly label: {
427
+ readonly type: "string";
428
+ readonly maxLength: 200;
429
+ readonly description: "The name shown.";
430
+ };
431
+ readonly description: {
432
+ readonly type: "string";
433
+ readonly maxLength: 2000;
434
+ readonly description: "What the party is.";
435
+ };
436
+ readonly url: {
437
+ readonly type: "string";
438
+ readonly format: "uri";
439
+ readonly maxLength: 2048;
440
+ readonly description: "The party's public address.";
441
+ };
442
+ readonly tags: {
443
+ readonly type: "array";
444
+ readonly items: {
445
+ readonly type: "string";
446
+ readonly minLength: 1;
447
+ readonly maxLength: 64;
448
+ };
449
+ readonly description: "Tags.";
450
+ readonly maxItems: 32;
451
+ };
452
+ readonly listingId: {
453
+ readonly type: "string";
454
+ readonly maxLength: 2048;
455
+ readonly description: "The listing credential's `id`, to fetch it.";
456
+ };
457
+ readonly grantId: {
458
+ readonly type: "string";
459
+ readonly maxLength: 2048;
460
+ readonly description: "The grant's `id`, once acknowledged.";
461
+ };
462
+ readonly listedBy: {
463
+ readonly $ref: "#/$defs/Did";
464
+ readonly description: "The network whose set the result is in.";
465
+ };
466
+ readonly path: {
467
+ readonly type: "array";
468
+ readonly items: {
469
+ readonly $ref: "#/$defs/PathHop";
470
+ };
471
+ readonly description: "From the searched network to `listedBy`, one hop per nesting.";
472
+ };
473
+ };
474
+ };
475
+ readonly EntryKind: {
476
+ readonly type: "string";
477
+ readonly enum: readonly ["community", "network"];
478
+ readonly description: "What the entry lists (VTI-VTN-031): a community, whose entries are its members, or a network, whose entries are further listings. A listing credential carries the same fact as `nodeType` `VTC` or `VTN`.";
479
+ };
480
+ readonly Membership: {
481
+ readonly type: "object";
482
+ readonly description: "A person's membership credential (VMC) from a community that is a member of this network, holder-bound to the requester's identity. Open for the same reason as `Credential`.";
483
+ };
484
+ readonly MembersOnly: {
485
+ readonly type: "boolean";
486
+ readonly description: "Only members (`acknowledged: true`). Absent means false.";
487
+ };
488
+ readonly SearchText: {
489
+ readonly type: "string";
490
+ readonly minLength: 1;
491
+ readonly maxLength: 256;
492
+ readonly description: "Free text. Every whitespace-separated term must match, case-insensitively, the entry's DID, label, description or a tag.";
493
+ };
494
+ };
495
+ };
496
+ /**
497
+ * SPEC.md §7.2 policy for the request variant, from this specification's
498
+ * front matter. Pass to `consumeInbound` — items 5b, 7 and 8 are
499
+ * per-specification and cannot be derived from the document alone, and
500
+ * item 2 needs the schema this carries.
501
+ */
502
+ export declare const SPEC: {
503
+ readonly typeUri: "https://trusttasks.org/spec/vtn/directory/federated/0.1";
504
+ readonly isBearer: false;
505
+ readonly isProofRequired: false;
506
+ readonly isRecipientRequired: true;
507
+ readonly isIssuedAtRequired: false;
508
+ readonly payloadSchema: {
509
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
510
+ readonly $id: "https://trusttasks.org/spec/vtn/directory/federated/0.1";
511
+ readonly title: "VTN Directory — Federated Search — payload";
512
+ readonly description: "A search of the network's published set and, through their signed indexes, its member networks' sets. The same query as vtn/directory/search; every member is optional. The outer document members are owned by the framework — SPEC §6.3.";
513
+ readonly type: "object";
514
+ readonly additionalProperties: false;
515
+ readonly required: readonly [];
516
+ readonly properties: {
517
+ readonly q: {
518
+ readonly $ref: "#/$defs/SearchText";
519
+ };
520
+ readonly kind: {
521
+ readonly $ref: "#/$defs/EntryKind";
522
+ readonly description: "Only entries of this kind.";
523
+ };
524
+ readonly state: {
525
+ readonly $ref: "#/$defs/EntryState";
526
+ readonly description: "Only entries in this state.";
527
+ };
528
+ readonly membersOnly: {
529
+ readonly $ref: "#/$defs/MembersOnly";
530
+ };
531
+ readonly membership: {
532
+ readonly $ref: "#/$defs/Membership";
533
+ readonly description: "A person's membership credential from a member community, holder-bound to the signer; admits the person to a `members` directory.";
534
+ };
535
+ readonly ext: {
536
+ readonly $ref: "#/$defs/Ext";
537
+ };
538
+ };
539
+ readonly $defs: {
540
+ readonly Response: {
541
+ readonly $anchor: "response";
542
+ readonly title: "VTN Directory — Federated Search — response payload";
543
+ readonly description: "The matches, each with the network that lists it and its path, and the member networks that could not be searched.";
544
+ readonly type: "object";
545
+ readonly additionalProperties: false;
546
+ readonly required: readonly ["determinedAt", "results", "unreachable"];
547
+ readonly properties: {
548
+ readonly determinedAt: {
549
+ readonly type: "string";
550
+ readonly format: "date-time";
551
+ readonly description: "When the network assembled the answer.";
552
+ };
553
+ readonly results: {
554
+ readonly type: "array";
555
+ readonly items: {
556
+ readonly $ref: "#/$defs/FederatedEntry";
557
+ };
558
+ readonly description: "The matches, this network's own first (empty `path`), each stating its own state and whether it is a member of `listedBy`.";
559
+ };
560
+ readonly unreachable: {
561
+ readonly type: "array";
562
+ readonly items: {
563
+ readonly $ref: "#/$defs/Unreachable";
564
+ };
565
+ readonly description: "Member networks whose sets could not be searched: indeterminate, not absent (VTI-REG-012).";
566
+ };
567
+ readonly ext: {
568
+ readonly $ref: "#/$defs/Ext";
569
+ };
570
+ };
571
+ };
572
+ readonly Ext: {
573
+ readonly title: "Ext";
574
+ readonly 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.";
575
+ readonly type: "object";
576
+ readonly minProperties: 1;
577
+ readonly additionalProperties: true;
578
+ readonly propertyNames: {
579
+ readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
580
+ };
581
+ };
582
+ readonly Unreachable: {
583
+ readonly description: "A member network whose set could not be read: its results are indeterminate, not absent (VTI-REG-012).";
584
+ readonly type: "object";
585
+ readonly additionalProperties: false;
586
+ readonly required: readonly ["network", "path", "reason"];
587
+ readonly properties: {
588
+ readonly network: {
589
+ readonly $ref: "#/$defs/Did";
590
+ readonly description: "The member network that could not be searched.";
591
+ };
592
+ readonly path: {
593
+ readonly type: "array";
594
+ readonly items: {
595
+ readonly $ref: "#/$defs/PathHop";
596
+ };
597
+ readonly description: "How it was reached.";
598
+ };
599
+ readonly reason: {
600
+ readonly type: "string";
601
+ readonly maxLength: 1000;
602
+ readonly description: "Why.";
603
+ };
604
+ };
605
+ };
606
+ readonly PathHop: {
607
+ readonly description: "One step on the path from the searched network to the network that lists a result. Each hop states its own entry state: membership does not chain (VTI-VTN-033).";
608
+ readonly type: "object";
609
+ readonly additionalProperties: false;
610
+ readonly required: readonly ["network", "state", "acknowledged"];
611
+ readonly properties: {
612
+ readonly network: {
613
+ readonly $ref: "#/$defs/Did";
614
+ readonly description: "A network on the path.";
615
+ };
616
+ readonly name: {
617
+ readonly type: "string";
618
+ readonly maxLength: 200;
619
+ readonly description: "Its name.";
620
+ };
621
+ readonly state: {
622
+ readonly $ref: "#/$defs/EntryState";
623
+ readonly description: "Its own entry's state at the network before it on the path.";
624
+ };
625
+ readonly acknowledged: {
626
+ readonly type: "boolean";
627
+ readonly description: "Whether that entry is a membership.";
628
+ };
629
+ };
630
+ };
631
+ readonly EntryState: {
632
+ readonly type: "string";
633
+ readonly enum: readonly ["listed", "acknowledged", "repudiated", "suspended", "removed", "departed"];
634
+ readonly description: "`listed`: the network lists the party and the party has not answered; this is never membership (VTI-VTN-013). `acknowledged`: the party acknowledged the network's grant; it is a member. `repudiated`: the party rejected the listing. `suspended`: the network suspended the membership; reversible. `removed`: the network ended the entry. `departed`: the party left, by repudiating the grant.";
635
+ };
636
+ readonly Did: {
637
+ readonly type: "string";
638
+ readonly pattern: "^did:[a-z0-9]+:.+$";
639
+ readonly maxLength: 2048;
640
+ readonly description: "A DID.";
641
+ };
642
+ readonly FederatedEntry: {
643
+ readonly description: "A result from a member network's set, with the network that lists it and the path to that network.";
644
+ readonly type: "object";
645
+ readonly additionalProperties: false;
646
+ readonly required: readonly ["did", "kind", "state", "acknowledged", "listedBy", "path"];
647
+ readonly properties: {
648
+ readonly did: {
649
+ readonly $ref: "#/$defs/Did";
650
+ };
651
+ readonly kind: {
652
+ readonly $ref: "#/$defs/EntryKind";
653
+ };
654
+ readonly state: {
655
+ readonly $ref: "#/$defs/EntryState";
656
+ };
657
+ readonly acknowledged: {
658
+ readonly type: "boolean";
659
+ readonly description: "Whether the party is a member. Every result states it (VTI-VTN-013).";
660
+ };
661
+ readonly label: {
662
+ readonly type: "string";
663
+ readonly maxLength: 200;
664
+ readonly description: "The name shown.";
665
+ };
666
+ readonly description: {
667
+ readonly type: "string";
668
+ readonly maxLength: 2000;
669
+ readonly description: "What the party is.";
670
+ };
671
+ readonly url: {
672
+ readonly type: "string";
673
+ readonly format: "uri";
674
+ readonly maxLength: 2048;
675
+ readonly description: "The party's public address.";
676
+ };
677
+ readonly tags: {
678
+ readonly type: "array";
679
+ readonly items: {
680
+ readonly type: "string";
681
+ readonly minLength: 1;
682
+ readonly maxLength: 64;
683
+ };
684
+ readonly description: "Tags.";
685
+ readonly maxItems: 32;
686
+ };
687
+ readonly listingId: {
688
+ readonly type: "string";
689
+ readonly maxLength: 2048;
690
+ readonly description: "The listing credential's `id`, to fetch it.";
691
+ };
692
+ readonly grantId: {
693
+ readonly type: "string";
694
+ readonly maxLength: 2048;
695
+ readonly description: "The grant's `id`, once acknowledged.";
696
+ };
697
+ readonly listedBy: {
698
+ readonly $ref: "#/$defs/Did";
699
+ readonly description: "The network whose set the result is in.";
700
+ };
701
+ readonly path: {
702
+ readonly type: "array";
703
+ readonly items: {
704
+ readonly $ref: "#/$defs/PathHop";
705
+ };
706
+ readonly description: "From the searched network to `listedBy`, one hop per nesting.";
707
+ };
708
+ };
709
+ };
710
+ readonly EntryKind: {
711
+ readonly type: "string";
712
+ readonly enum: readonly ["community", "network"];
713
+ readonly description: "What the entry lists (VTI-VTN-031): a community, whose entries are its members, or a network, whose entries are further listings. A listing credential carries the same fact as `nodeType` `VTC` or `VTN`.";
714
+ };
715
+ readonly Membership: {
716
+ readonly type: "object";
717
+ readonly description: "A person's membership credential (VMC) from a community that is a member of this network, holder-bound to the requester's identity. Open for the same reason as `Credential`.";
718
+ };
719
+ readonly MembersOnly: {
720
+ readonly type: "boolean";
721
+ readonly description: "Only members (`acknowledged: true`). Absent means false.";
722
+ };
723
+ readonly SearchText: {
724
+ readonly type: "string";
725
+ readonly minLength: 1;
726
+ readonly maxLength: 256;
727
+ readonly description: "Free text. Every whitespace-separated term must match, case-insensitively, the entry's DID, label, description or a tag.";
728
+ };
729
+ };
730
+ };
731
+ };
732
+ /**
733
+ * SPEC.md §7.2 policy for the success-response variant. `isRecipientRequired`
734
+ * tracks the *issuer* party's requirement because a response swaps the
735
+ * parties (§7.3 item 5).
736
+ */
737
+ export declare const RESPONSE_SPEC: {
738
+ readonly typeUri: "https://trusttasks.org/spec/vtn/directory/federated/0.1#response";
739
+ readonly isBearer: false;
740
+ readonly isProofRequired: false;
741
+ readonly isRecipientRequired: false;
742
+ readonly isIssuedAtRequired: false;
743
+ readonly payloadSchema: {
744
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
745
+ readonly $ref: "#/$defs/Response";
746
+ readonly $defs: {
747
+ readonly Response: {
748
+ readonly $anchor: "response";
749
+ readonly title: "VTN Directory — Federated Search — response payload";
750
+ readonly description: "The matches, each with the network that lists it and its path, and the member networks that could not be searched.";
751
+ readonly type: "object";
752
+ readonly additionalProperties: false;
753
+ readonly required: readonly ["determinedAt", "results", "unreachable"];
754
+ readonly properties: {
755
+ readonly determinedAt: {
756
+ readonly type: "string";
757
+ readonly format: "date-time";
758
+ readonly description: "When the network assembled the answer.";
759
+ };
760
+ readonly results: {
761
+ readonly type: "array";
762
+ readonly items: {
763
+ readonly $ref: "#/$defs/FederatedEntry";
764
+ };
765
+ readonly description: "The matches, this network's own first (empty `path`), each stating its own state and whether it is a member of `listedBy`.";
766
+ };
767
+ readonly unreachable: {
768
+ readonly type: "array";
769
+ readonly items: {
770
+ readonly $ref: "#/$defs/Unreachable";
771
+ };
772
+ readonly description: "Member networks whose sets could not be searched: indeterminate, not absent (VTI-REG-012).";
773
+ };
774
+ readonly ext: {
775
+ readonly $ref: "#/$defs/Ext";
776
+ };
777
+ };
778
+ };
779
+ readonly Ext: {
780
+ readonly title: "Ext";
781
+ readonly 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.";
782
+ readonly type: "object";
783
+ readonly minProperties: 1;
784
+ readonly additionalProperties: true;
785
+ readonly propertyNames: {
786
+ readonly pattern: "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)+$";
787
+ };
788
+ };
789
+ readonly Unreachable: {
790
+ readonly description: "A member network whose set could not be read: its results are indeterminate, not absent (VTI-REG-012).";
791
+ readonly type: "object";
792
+ readonly additionalProperties: false;
793
+ readonly required: readonly ["network", "path", "reason"];
794
+ readonly properties: {
795
+ readonly network: {
796
+ readonly $ref: "#/$defs/Did";
797
+ readonly description: "The member network that could not be searched.";
798
+ };
799
+ readonly path: {
800
+ readonly type: "array";
801
+ readonly items: {
802
+ readonly $ref: "#/$defs/PathHop";
803
+ };
804
+ readonly description: "How it was reached.";
805
+ };
806
+ readonly reason: {
807
+ readonly type: "string";
808
+ readonly maxLength: 1000;
809
+ readonly description: "Why.";
810
+ };
811
+ };
812
+ };
813
+ readonly PathHop: {
814
+ readonly description: "One step on the path from the searched network to the network that lists a result. Each hop states its own entry state: membership does not chain (VTI-VTN-033).";
815
+ readonly type: "object";
816
+ readonly additionalProperties: false;
817
+ readonly required: readonly ["network", "state", "acknowledged"];
818
+ readonly properties: {
819
+ readonly network: {
820
+ readonly $ref: "#/$defs/Did";
821
+ readonly description: "A network on the path.";
822
+ };
823
+ readonly name: {
824
+ readonly type: "string";
825
+ readonly maxLength: 200;
826
+ readonly description: "Its name.";
827
+ };
828
+ readonly state: {
829
+ readonly $ref: "#/$defs/EntryState";
830
+ readonly description: "Its own entry's state at the network before it on the path.";
831
+ };
832
+ readonly acknowledged: {
833
+ readonly type: "boolean";
834
+ readonly description: "Whether that entry is a membership.";
835
+ };
836
+ };
837
+ };
838
+ readonly EntryState: {
839
+ readonly type: "string";
840
+ readonly enum: readonly ["listed", "acknowledged", "repudiated", "suspended", "removed", "departed"];
841
+ readonly description: "`listed`: the network lists the party and the party has not answered; this is never membership (VTI-VTN-013). `acknowledged`: the party acknowledged the network's grant; it is a member. `repudiated`: the party rejected the listing. `suspended`: the network suspended the membership; reversible. `removed`: the network ended the entry. `departed`: the party left, by repudiating the grant.";
842
+ };
843
+ readonly Did: {
844
+ readonly type: "string";
845
+ readonly pattern: "^did:[a-z0-9]+:.+$";
846
+ readonly maxLength: 2048;
847
+ readonly description: "A DID.";
848
+ };
849
+ readonly FederatedEntry: {
850
+ readonly description: "A result from a member network's set, with the network that lists it and the path to that network.";
851
+ readonly type: "object";
852
+ readonly additionalProperties: false;
853
+ readonly required: readonly ["did", "kind", "state", "acknowledged", "listedBy", "path"];
854
+ readonly properties: {
855
+ readonly did: {
856
+ readonly $ref: "#/$defs/Did";
857
+ };
858
+ readonly kind: {
859
+ readonly $ref: "#/$defs/EntryKind";
860
+ };
861
+ readonly state: {
862
+ readonly $ref: "#/$defs/EntryState";
863
+ };
864
+ readonly acknowledged: {
865
+ readonly type: "boolean";
866
+ readonly description: "Whether the party is a member. Every result states it (VTI-VTN-013).";
867
+ };
868
+ readonly label: {
869
+ readonly type: "string";
870
+ readonly maxLength: 200;
871
+ readonly description: "The name shown.";
872
+ };
873
+ readonly description: {
874
+ readonly type: "string";
875
+ readonly maxLength: 2000;
876
+ readonly description: "What the party is.";
877
+ };
878
+ readonly url: {
879
+ readonly type: "string";
880
+ readonly format: "uri";
881
+ readonly maxLength: 2048;
882
+ readonly description: "The party's public address.";
883
+ };
884
+ readonly tags: {
885
+ readonly type: "array";
886
+ readonly items: {
887
+ readonly type: "string";
888
+ readonly minLength: 1;
889
+ readonly maxLength: 64;
890
+ };
891
+ readonly description: "Tags.";
892
+ readonly maxItems: 32;
893
+ };
894
+ readonly listingId: {
895
+ readonly type: "string";
896
+ readonly maxLength: 2048;
897
+ readonly description: "The listing credential's `id`, to fetch it.";
898
+ };
899
+ readonly grantId: {
900
+ readonly type: "string";
901
+ readonly maxLength: 2048;
902
+ readonly description: "The grant's `id`, once acknowledged.";
903
+ };
904
+ readonly listedBy: {
905
+ readonly $ref: "#/$defs/Did";
906
+ readonly description: "The network whose set the result is in.";
907
+ };
908
+ readonly path: {
909
+ readonly type: "array";
910
+ readonly items: {
911
+ readonly $ref: "#/$defs/PathHop";
912
+ };
913
+ readonly description: "From the searched network to `listedBy`, one hop per nesting.";
914
+ };
915
+ };
916
+ };
917
+ readonly EntryKind: {
918
+ readonly type: "string";
919
+ readonly enum: readonly ["community", "network"];
920
+ readonly description: "What the entry lists (VTI-VTN-031): a community, whose entries are its members, or a network, whose entries are further listings. A listing credential carries the same fact as `nodeType` `VTC` or `VTN`.";
921
+ };
922
+ readonly Membership: {
923
+ readonly type: "object";
924
+ readonly description: "A person's membership credential (VMC) from a community that is a member of this network, holder-bound to the requester's identity. Open for the same reason as `Credential`.";
925
+ };
926
+ readonly MembersOnly: {
927
+ readonly type: "boolean";
928
+ readonly description: "Only members (`acknowledged: true`). Absent means false.";
929
+ };
930
+ readonly SearchText: {
931
+ readonly type: "string";
932
+ readonly minLength: 1;
933
+ readonly maxLength: 256;
934
+ readonly description: "Free text. Every whitespace-separated term must match, case-insensitively, the entry's DID, label, description or a tag.";
935
+ };
936
+ };
937
+ };
938
+ };
939
+ //# sourceMappingURL=payload.d.ts.map