@openvtc/trust-tasks 0.21.3 → 0.21.5

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 (212) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/dist/_shared/components.d.ts +210 -2
  3. package/dist/_shared/components.d.ts.map +1 -1
  4. package/dist/auth/_shared/0.1/passkey-invite.d.ts +16 -0
  5. package/dist/auth/_shared/0.1/passkey-invite.d.ts.map +1 -0
  6. package/dist/auth/_shared/0.1/passkey-invite.js +6 -0
  7. package/dist/auth/_shared/0.1/passkey-invite.js.map +1 -0
  8. package/dist/auth/passkey/admin-list/0.1/payload.d.ts +484 -0
  9. package/dist/auth/passkey/admin-list/0.1/payload.d.ts.map +1 -0
  10. package/dist/auth/passkey/admin-list/0.1/payload.js +257 -0
  11. package/dist/auth/passkey/admin-list/0.1/payload.js.map +1 -0
  12. package/dist/auth/passkey/enroll/invite/list/0.1/payload.d.ts +393 -0
  13. package/dist/auth/passkey/enroll/invite/list/0.1/payload.d.ts.map +1 -0
  14. package/dist/auth/passkey/enroll/invite/list/0.1/payload.js +234 -0
  15. package/dist/auth/passkey/enroll/invite/list/0.1/payload.js.map +1 -0
  16. package/dist/auth/passkey/enroll/invite/revoke/0.1/payload.d.ts +228 -0
  17. package/dist/auth/passkey/enroll/invite/revoke/0.1/payload.d.ts.map +1 -0
  18. package/dist/auth/passkey/enroll/invite/revoke/0.1/payload.js +138 -0
  19. package/dist/auth/passkey/enroll/invite/revoke/0.1/payload.js.map +1 -0
  20. package/dist/auth/passkey/enroll/invite/update/0.1/payload.d.ts +459 -0
  21. package/dist/auth/passkey/enroll/invite/update/0.1/payload.d.ts.map +1 -0
  22. package/dist/auth/passkey/enroll/invite/update/0.1/payload.js +286 -0
  23. package/dist/auth/passkey/enroll/invite/update/0.1/payload.js.map +1 -0
  24. package/dist/auth/step-up/start/0.1/payload.d.ts +420 -0
  25. package/dist/auth/step-up/start/0.1/payload.d.ts.map +1 -0
  26. package/dist/auth/step-up/start/0.1/payload.js +232 -0
  27. package/dist/auth/step-up/start/0.1/payload.js.map +1 -0
  28. package/dist/did-management/_shared/0.1/service-instance.d.ts +1 -1
  29. package/dist/did-management/_shared/0.1/service-instance.d.ts.map +1 -1
  30. package/dist/did-management/_shared/0.2/metrics-snapshot.d.ts +16 -0
  31. package/dist/did-management/_shared/0.2/metrics-snapshot.d.ts.map +1 -0
  32. package/dist/did-management/_shared/0.2/metrics-snapshot.js +6 -0
  33. package/dist/did-management/_shared/0.2/metrics-snapshot.js.map +1 -0
  34. package/dist/did-management/_shared/0.2/service-instance.d.ts +16 -0
  35. package/dist/did-management/_shared/0.2/service-instance.d.ts.map +1 -0
  36. package/dist/did-management/_shared/0.2/service-instance.js +6 -0
  37. package/dist/did-management/_shared/0.2/service-instance.js.map +1 -0
  38. package/dist/did-management/agent-name/resolve/0.1/payload.d.ts +318 -0
  39. package/dist/did-management/agent-name/resolve/0.1/payload.d.ts.map +1 -0
  40. package/dist/did-management/agent-name/resolve/0.1/payload.js +179 -0
  41. package/dist/did-management/agent-name/resolve/0.1/payload.js.map +1 -0
  42. package/dist/did-management/did/log/0.1/payload.d.ts +436 -0
  43. package/dist/did-management/did/log/0.1/payload.d.ts.map +1 -0
  44. package/dist/did-management/did/log/0.1/payload.js +228 -0
  45. package/dist/did-management/did/log/0.1/payload.js.map +1 -0
  46. package/dist/did-management/domain/list/0.1/payload.d.ts +423 -0
  47. package/dist/did-management/domain/list/0.1/payload.d.ts.map +1 -0
  48. package/dist/did-management/domain/list/0.1/payload.js +244 -0
  49. package/dist/did-management/domain/list/0.1/payload.js.map +1 -0
  50. package/dist/did-management/identity/list/0.1/payload.d.ts +494 -0
  51. package/dist/did-management/identity/list/0.1/payload.d.ts.map +1 -0
  52. package/dist/did-management/identity/list/0.1/payload.js +274 -0
  53. package/dist/did-management/identity/list/0.1/payload.js.map +1 -0
  54. package/dist/did-management/identity/retire/0.1/payload.d.ts +242 -0
  55. package/dist/did-management/identity/retire/0.1/payload.d.ts.map +1 -0
  56. package/dist/did-management/identity/retire/0.1/payload.js +142 -0
  57. package/dist/did-management/identity/retire/0.1/payload.js.map +1 -0
  58. package/dist/did-management/registry/admin-register/0.1/payload.d.ts +1 -1
  59. package/dist/did-management/registry/admin-register/0.1/payload.d.ts.map +1 -1
  60. package/dist/did-management/registry/check/0.1/payload.d.ts +639 -0
  61. package/dist/did-management/registry/check/0.1/payload.d.ts.map +1 -0
  62. package/dist/did-management/registry/check/0.1/payload.js +383 -0
  63. package/dist/did-management/registry/check/0.1/payload.js.map +1 -0
  64. package/dist/did-management/registry/get/0.1/payload.d.ts +632 -0
  65. package/dist/did-management/registry/get/0.1/payload.d.ts.map +1 -0
  66. package/dist/did-management/registry/get/0.1/payload.js +381 -0
  67. package/dist/did-management/registry/get/0.1/payload.js.map +1 -0
  68. package/dist/did-management/registry/list/0.1/payload.d.ts +661 -0
  69. package/dist/did-management/registry/list/0.1/payload.d.ts.map +1 -0
  70. package/dist/did-management/registry/list/0.1/payload.js +398 -0
  71. package/dist/did-management/registry/list/0.1/payload.js.map +1 -0
  72. package/dist/did-management/registry/purge-domain/0.1/payload.d.ts +269 -0
  73. package/dist/did-management/registry/purge-domain/0.1/payload.d.ts.map +1 -0
  74. package/dist/did-management/registry/purge-domain/0.1/payload.js +160 -0
  75. package/dist/did-management/registry/purge-domain/0.1/payload.js.map +1 -0
  76. package/dist/did-management/replica/domain/assign/0.1/payload.d.ts +233 -0
  77. package/dist/did-management/replica/domain/assign/0.1/payload.d.ts.map +1 -0
  78. package/dist/did-management/replica/domain/assign/0.1/payload.js +143 -0
  79. package/dist/did-management/replica/domain/assign/0.1/payload.js.map +1 -0
  80. package/dist/did-management/replica/domain/purge/0.1/payload.d.ts +257 -0
  81. package/dist/did-management/replica/domain/purge/0.1/payload.d.ts.map +1 -0
  82. package/dist/did-management/replica/domain/purge/0.1/payload.js +155 -0
  83. package/dist/did-management/replica/domain/purge/0.1/payload.js.map +1 -0
  84. package/dist/did-management/replica/domain/unassign/0.1/payload.d.ts +257 -0
  85. package/dist/did-management/replica/domain/unassign/0.1/payload.d.ts.map +1 -0
  86. package/dist/did-management/replica/domain/unassign/0.1/payload.js +155 -0
  87. package/dist/did-management/replica/domain/unassign/0.1/payload.js.map +1 -0
  88. package/dist/did-management/replica/domain/upsert/0.1/payload.d.ts +401 -0
  89. package/dist/did-management/replica/domain/upsert/0.1/payload.d.ts.map +1 -0
  90. package/dist/did-management/replica/domain/upsert/0.1/payload.js +241 -0
  91. package/dist/did-management/replica/domain/upsert/0.1/payload.js.map +1 -0
  92. package/dist/did-management/server/config/0.1/payload.d.ts +838 -0
  93. package/dist/did-management/server/config/0.1/payload.d.ts.map +1 -0
  94. package/dist/did-management/server/config/0.1/payload.js +444 -0
  95. package/dist/did-management/server/config/0.1/payload.js.map +1 -0
  96. package/dist/did-management/server/info/0.1/payload.d.ts +285 -0
  97. package/dist/did-management/server/info/0.1/payload.d.ts.map +1 -0
  98. package/dist/did-management/server/info/0.1/payload.js +160 -0
  99. package/dist/did-management/server/info/0.1/payload.js.map +1 -0
  100. package/dist/did-management/server/metrics/0.1/payload.d.ts +674 -0
  101. package/dist/did-management/server/metrics/0.1/payload.d.ts.map +1 -0
  102. package/dist/did-management/server/metrics/0.1/payload.js +387 -0
  103. package/dist/did-management/server/metrics/0.1/payload.js.map +1 -0
  104. package/dist/did-management/stats/get/0.1/payload.d.ts +349 -0
  105. package/dist/did-management/stats/get/0.1/payload.d.ts.map +1 -0
  106. package/dist/did-management/stats/get/0.1/payload.js +187 -0
  107. package/dist/did-management/stats/get/0.1/payload.js.map +1 -0
  108. package/dist/did-management/stats/timeseries/0.1/payload.d.ts +381 -0
  109. package/dist/did-management/stats/timeseries/0.1/payload.d.ts.map +1 -0
  110. package/dist/did-management/stats/timeseries/0.1/payload.js +227 -0
  111. package/dist/did-management/stats/timeseries/0.1/payload.js.map +1 -0
  112. package/dist/git-ns/namespace/list/0.1/payload.d.ts +1343 -0
  113. package/dist/git-ns/namespace/list/0.1/payload.d.ts.map +1 -0
  114. package/dist/git-ns/namespace/list/0.1/payload.js +704 -0
  115. package/dist/git-ns/namespace/list/0.1/payload.js.map +1 -0
  116. package/dist/git-ns/repo/list/0.1/payload.d.ts +1377 -0
  117. package/dist/git-ns/repo/list/0.1/payload.d.ts.map +1 -0
  118. package/dist/git-ns/repo/list/0.1/payload.js +744 -0
  119. package/dist/git-ns/repo/list/0.1/payload.js.map +1 -0
  120. package/dist/git-ns/view/0.5/payload.d.ts +1722 -0
  121. package/dist/git-ns/view/0.5/payload.d.ts.map +1 -0
  122. package/dist/git-ns/view/0.5/payload.js +1024 -0
  123. package/dist/git-ns/view/0.5/payload.js.map +1 -0
  124. package/dist/index.d.ts +38 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +38 -0
  127. package/dist/index.js.map +1 -1
  128. package/dist/vtc/_shared/0.1/invite.d.ts +1 -1
  129. package/dist/vtc/_shared/0.1/invite.d.ts.map +1 -1
  130. package/dist/vtc/admin/invites/list/0.1/payload.d.ts +1 -1
  131. package/dist/vtc/admin/invites/list/0.1/payload.d.ts.map +1 -1
  132. package/dist/webvh/_shared/0.1/sync-update.d.ts +16 -0
  133. package/dist/webvh/_shared/0.1/sync-update.d.ts.map +1 -0
  134. package/dist/webvh/_shared/0.1/sync-update.js +6 -0
  135. package/dist/webvh/_shared/0.1/sync-update.js.map +1 -0
  136. package/dist/webvh/_shared/0.1/witness-key.d.ts +16 -0
  137. package/dist/webvh/_shared/0.1/witness-key.d.ts.map +1 -0
  138. package/dist/webvh/_shared/0.1/witness-key.js +6 -0
  139. package/dist/webvh/_shared/0.1/witness-key.js.map +1 -0
  140. package/dist/webvh/sync/batch/0.1/payload.d.ts +503 -0
  141. package/dist/webvh/sync/batch/0.1/payload.d.ts.map +1 -0
  142. package/dist/webvh/sync/batch/0.1/payload.js +290 -0
  143. package/dist/webvh/sync/batch/0.1/payload.js.map +1 -0
  144. package/dist/webvh/sync/delete/0.2/payload.d.ts +242 -0
  145. package/dist/webvh/sync/delete/0.2/payload.d.ts.map +1 -0
  146. package/dist/webvh/sync/delete/0.2/payload.js +148 -0
  147. package/dist/webvh/sync/delete/0.2/payload.js.map +1 -0
  148. package/dist/webvh/sync/update/0.2/payload.d.ts +315 -0
  149. package/dist/webvh/sync/update/0.2/payload.d.ts.map +1 -0
  150. package/dist/webvh/sync/update/0.2/payload.js +177 -0
  151. package/dist/webvh/sync/update/0.2/payload.js.map +1 -0
  152. package/dist/webvh/witness/key/create/0.1/payload.d.ts +346 -0
  153. package/dist/webvh/witness/key/create/0.1/payload.d.ts.map +1 -0
  154. package/dist/webvh/witness/key/create/0.1/payload.js +202 -0
  155. package/dist/webvh/witness/key/create/0.1/payload.js.map +1 -0
  156. package/dist/webvh/witness/key/delete/0.1/payload.d.ts +237 -0
  157. package/dist/webvh/witness/key/delete/0.1/payload.d.ts.map +1 -0
  158. package/dist/webvh/witness/key/delete/0.1/payload.js +141 -0
  159. package/dist/webvh/witness/key/delete/0.1/payload.js.map +1 -0
  160. package/dist/webvh/witness/key/list/0.1/payload.d.ts +349 -0
  161. package/dist/webvh/witness/key/list/0.1/payload.d.ts.map +1 -0
  162. package/dist/webvh/witness/key/list/0.1/payload.js +204 -0
  163. package/dist/webvh/witness/key/list/0.1/payload.js.map +1 -0
  164. package/dist/webvh/witness/sign/0.1/payload.d.ts +401 -0
  165. package/dist/webvh/witness/sign/0.1/payload.d.ts.map +1 -0
  166. package/dist/webvh/witness/sign/0.1/payload.js +229 -0
  167. package/dist/webvh/witness/sign/0.1/payload.js.map +1 -0
  168. package/package.json +1 -1
  169. package/src/_shared/components.ts +210 -2
  170. package/src/auth/_shared/0.1/passkey-invite.ts +17 -0
  171. package/src/auth/passkey/admin-list/0.1/payload.ts +338 -0
  172. package/src/auth/passkey/enroll/invite/list/0.1/payload.ts +266 -0
  173. package/src/auth/passkey/enroll/invite/revoke/0.1/payload.ts +165 -0
  174. package/src/auth/passkey/enroll/invite/update/0.1/payload.ts +327 -0
  175. package/src/auth/step-up/start/0.1/payload.ts +287 -0
  176. package/src/did-management/_shared/0.1/service-instance.ts +1 -1
  177. package/src/did-management/_shared/0.2/metrics-snapshot.ts +17 -0
  178. package/src/did-management/_shared/0.2/service-instance.ts +17 -0
  179. package/src/did-management/agent-name/resolve/0.1/payload.ts +222 -0
  180. package/src/did-management/did/log/0.1/payload.ts +295 -0
  181. package/src/did-management/domain/list/0.1/payload.ts +280 -0
  182. package/src/did-management/identity/list/0.1/payload.ts +335 -0
  183. package/src/did-management/identity/retire/0.1/payload.ts +175 -0
  184. package/src/did-management/registry/admin-register/0.1/payload.ts +1 -1
  185. package/src/did-management/registry/check/0.1/payload.ts +415 -0
  186. package/src/did-management/registry/get/0.1/payload.ts +410 -0
  187. package/src/did-management/registry/list/0.1/payload.ts +434 -0
  188. package/src/did-management/registry/purge-domain/0.1/payload.ts +198 -0
  189. package/src/did-management/replica/domain/assign/0.1/payload.ts +173 -0
  190. package/src/did-management/replica/domain/purge/0.1/payload.ts +189 -0
  191. package/src/did-management/replica/domain/unassign/0.1/payload.ts +189 -0
  192. package/src/did-management/replica/domain/upsert/0.1/payload.ts +271 -0
  193. package/src/did-management/server/config/0.1/payload.ts +545 -0
  194. package/src/did-management/server/info/0.1/payload.ts +200 -0
  195. package/src/did-management/server/metrics/0.1/payload.ts +418 -0
  196. package/src/did-management/stats/get/0.1/payload.ts +237 -0
  197. package/src/did-management/stats/timeseries/0.1/payload.ts +279 -0
  198. package/src/git-ns/namespace/list/0.1/payload.ts +883 -0
  199. package/src/git-ns/repo/list/0.1/payload.ts +909 -0
  200. package/src/git-ns/view/0.5/payload.ts +1095 -0
  201. package/src/index.ts +38 -0
  202. package/src/vtc/_shared/0.1/invite.ts +1 -1
  203. package/src/vtc/admin/invites/list/0.1/payload.ts +1 -1
  204. package/src/webvh/_shared/0.1/sync-update.ts +17 -0
  205. package/src/webvh/_shared/0.1/witness-key.ts +17 -0
  206. package/src/webvh/sync/batch/0.1/payload.ts +336 -0
  207. package/src/webvh/sync/delete/0.2/payload.ts +181 -0
  208. package/src/webvh/sync/update/0.2/payload.ts +233 -0
  209. package/src/webvh/witness/key/create/0.1/payload.ts +231 -0
  210. package/src/webvh/witness/key/delete/0.1/payload.ts +171 -0
  211. package/src/webvh/witness/key/list/0.1/payload.ts +232 -0
  212. package/src/webvh/witness/sign/0.1/payload.ts +279 -0
package/CHANGELOG.md CHANGED
@@ -11,6 +11,78 @@ The package versions over **its own API** — what a consumer compiles against
11
11
  not over `SPEC.md`. Below 1.0 a breaking change bumps the leading non-zero
12
12
  component.
13
13
 
14
+ ## 0.21.5 — 2026-09-27
15
+
16
+
17
+ ### Added
18
+
19
+ - **did-management**: Trust Tasks for the DID hosting service's REST-only surface (#661)
20
+
21
+ * feat(did-management): Trust Tasks for the DID hosting service's REST-only surface
22
+
23
+ Specs for every remote surface of affinidi-webvh-service that had none, so each can move onto the service's central Trust Task dispatch over TSP, DIDComm and HTTPS:
24
+
25
+ - did-management: did/log, agent-name/resolve, domain/list, registry/list|get|check|purge-domain, stats/get|timeseries, server/config|info, identity/list|retire, and _shared/0.2 service-instance.
26
+ - did-management/replica/domain: upsert, assign, unassign, purge (the control plane to edge hop, today sent on the admin URIs or unspecified).
27
+ - webvh: sync/update 0.2 and sync/delete 0.2 (proof required, a disabled member, watchers as replicas), sync/batch 0.1, witness/sign and witness/key/create|list|delete.
28
+ - auth: step-up/start (replaces the bespoke REST start/finish paths), and passkey/enroll/invite/list|update|revoke addressed by inviteId, never by token.
29
+
30
+ Every task requires a proof except the public did-management/server/info read. Bindings regenerated for Rust, TypeScript, Go and Dart.
31
+
32
+ ## 0.21.4 — 2026-09-27
33
+
34
+
35
+ ### Added
36
+
37
+ - **git-ns**: Administrator reads — view 0.5, namespace/list and repo/list (#659)
38
+
39
+ * feat(git-ns): administrator reads — view 0.5, namespace/list and repo/list
40
+
41
+ Three signed read tasks replace the bearer-authenticated administrator
42
+ views VTCs served beside git-ns/view:
43
+
44
+ - git-ns/view/0.5 adds scope: administrator (everything in the
45
+ namespaces the caller administers, reasons included) and
46
+ breakGlass: true (narrow to break-glass records). The response is
47
+ 0.4's.
48
+ - git-ns/namespace/list/0.1 lists administered namespaces with admins,
49
+ repository count, bridge, role map and forge status.
50
+ - git-ns/repo/list/0.1 lists repositories in administered namespaces
51
+ with owners, right counts, bootstrap, sync and the bridge's report.
52
+
53
+ Proof REQUIRED on all three; no side effects. Authority is the
54
+ community-administrator capability (every namespace) or a live explicit
55
+ git.ns.admin (that namespace); each declares notAdministrator, answered
56
+ alike for an unknown namespace and one the caller does not administer.
57
+
58
+ - **auth/passkey**: An administrator lists one member's passkeys (admin-list 0.1) (#658)
59
+
60
+ auth/passkey/list lists only the signer's own credentials and refuses a
61
+ subject in the payload, so no task let an administrator see which step-up
62
+ passkeys a member holds — and so which credentialId to hand to
63
+ auth/passkey/revoke/start 0.2.
64
+
65
+ auth/passkey/admin-list 0.1:
66
+
67
+ - Proof REQUIRED: the administrator is the issuer. The subject and a purpose
68
+ (session | stepUp, no default) are named in the payload, and are a request,
69
+ never a grant: the consumer authorises the administrator over that subject
70
+ from its own state.
71
+ - Refusals, in order: notAdministrator (before the subject is looked at);
72
+ subjectUnknown, also for a subject outside the administrator's authority,
73
+ so the code is no oracle; purposeNotSupported; subjectNotMember.
74
+ - The response is { subject, purpose, credentials }, each a ListedCredential
75
+ of credentialId, deviceLabel, registeredAt, lastUsedAt and signCount — no
76
+ key material, no public key, no attestation, additionalProperties false.
77
+ The counter is disclosed to the administrator, as the operator who acts on
78
+ a cloning signal.
79
+ - sideEffects none: listing touches no counter and no last-used time.
80
+ - Privacy: only administrators with authority over the subject; the family
81
+ audits writes, not reads, and a consumer that audits administrative reads
82
+ SHOULD include this one.
83
+
84
+ Rust, TypeScript, Go and Dart bindings regenerated.
85
+
14
86
  ## 0.21.3 — 2026-09-26
15
87
 
16
88
 
@@ -2619,6 +2619,43 @@ export interface GitNamespace {
2619
2619
  */
2620
2620
  state: "pending" | "bound";
2621
2621
  }
2622
+ /**
2623
+ * One histogram's distribution, in the Prometheus cumulative-bucket convention: each bucket's `count` includes every observation at or below its `le`.
2624
+ */
2625
+ export interface Histogram {
2626
+ /**
2627
+ * The histogram's stable name (e.g. `did_hosting_resolve_seconds`).
2628
+ */
2629
+ name: string;
2630
+ /**
2631
+ * Dimensions the distribution is broken down by. Absent or empty when the histogram carries none.
2632
+ */
2633
+ labels?: {
2634
+ [k: string]: string | undefined;
2635
+ };
2636
+ /**
2637
+ * Total number of observations.
2638
+ */
2639
+ count: number;
2640
+ /**
2641
+ * Sum of all observed values.
2642
+ */
2643
+ sum: number;
2644
+ /**
2645
+ * Cumulative buckets, ordered by ascending `le`. Empty when the service exposes no bucket breakdown for this histogram — count and sum still apply. Always present, for the same reason as the snapshot's own arrays.
2646
+ */
2647
+ buckets: HistogramBucket[];
2648
+ }
2649
+ export interface HistogramBucket {
2650
+ /**
2651
+ * Upper bound of this bucket, inclusive. The final bucket conventionally reports the same value as the histogram's own `count` at whatever `le` the service treats as its ceiling.
2652
+ */
2653
+ le: number;
2654
+ /**
2655
+ * Number of observations at or below `le`.
2656
+ */
2657
+ count: number;
2658
+ }
2622
2659
  /**
2623
2660
  * OpenPGP-style ASCII-armored HPKE bundle — the existing OpenVTC sealed-transfer wire form (X25519-HKDF-SHA256 KEM + ChaCha20-Poly1305 AEAD, framed in armor with Bundle-Id / Digest-Algo headers and a CRC24 checksum). Producer assertion (`did-signed` / `attested` / `pinned-only`) is the integrity / authenticity anchor.
2624
2661
  *
@@ -2692,10 +2729,34 @@ export interface InvitationSummary {
2692
2729
  */
2693
2730
  revokedAt?: string;
2694
2731
  }
2732
+ export interface InviteSummary_AuthV0_1 {
2733
+ /**
2734
+ * Consumer-chosen opaque handle for the invite. It is NOT the invite token and MUST NOT be derivable into it; knowing it lets an administrator manage the invite, never redeem it.
2735
+ */
2736
+ inviteId: string;
2737
+ /**
2738
+ * The VID the invite binds a passkey to.
2739
+ */
2740
+ subject: string;
2741
+ /**
2742
+ * What the redeemed credential may authenticate, as in auth/passkey/enroll/invite.
2743
+ */
2744
+ purpose: "session" | "stepUp";
2745
+ /**
2746
+ * The role the invitee receives on redemption. Absent when the consumer applies its default role, and always absent for purpose stepUp.
2747
+ */
2748
+ role?: string;
2749
+ createdAt: string;
2750
+ expiresAt: string;
2751
+ /**
2752
+ * True when expiresAt has passed. An expired invite can no longer be redeemed; it is listed until the consumer's cleanup removes it.
2753
+ */
2754
+ expired: boolean;
2755
+ }
2695
2756
  /**
2696
2757
  * One outstanding or historical admin invite. Consumed rows are retained as audit history and cannot be revoked.
2697
2758
  */
2698
- export interface InviteSummary {
2759
+ export interface InviteSummary_VtcV0_1 {
2699
2760
  /**
2700
2761
  * Unique invite identifier; the revoke target.
2701
2762
  */
@@ -3066,6 +3127,44 @@ export interface MessageMeta {
3066
3127
  */
3067
3128
  deliveredAt?: string;
3068
3129
  }
3130
+ /**
3131
+ * One counter or gauge reading.
3132
+ */
3133
+ export interface Metric {
3134
+ /**
3135
+ * The metric's stable name (e.g. `did_hosting_requests_total`). Implementation-defined; the framework imposes no vocabulary.
3136
+ */
3137
+ name: string;
3138
+ /**
3139
+ * The current reading.
3140
+ */
3141
+ value: number;
3142
+ /**
3143
+ * Dimensions the value is broken down by (e.g. `{"method": "resolve"}`). Absent or empty when the metric carries none.
3144
+ */
3145
+ labels?: {
3146
+ [k: string]: string | undefined;
3147
+ };
3148
+ }
3149
+ export interface MetricsSnapshot {
3150
+ /**
3151
+ * When the service read these values from its own instrumentation. Not the same as the envelope's issuedAt when a snapshot is cached briefly before answering.
3152
+ */
3153
+ takenAt: string;
3154
+ /**
3155
+ * Monotonically increasing totals (e.g. requests served, errors raised). Empty when the service exposes none. Always present, so a collector can tell "no counters" from "the field was dropped".
3156
+ */
3157
+ counters: Metric[];
3158
+ /**
3159
+ * Point-in-time values that can rise or fall (e.g. open connections, queue depth). Empty when the service exposes none. Always present, for the same reason as counters.
3160
+ */
3161
+ gauges: Metric[];
3162
+ /**
3163
+ * Distributions of observed values (e.g. request latency). Empty when the service exposes none. Always present, for the same reason as counters.
3164
+ */
3165
+ histograms: Histogram[];
3166
+ ext?: Ext;
3167
+ }
3069
3168
  /**
3070
3169
  * One observed step in the life of one message at the mediator. Carries metadata only — never a message body.
3071
3170
  */
@@ -4296,7 +4395,7 @@ export interface SealedRecord {
4296
4395
  */
4297
4396
  epoch: number;
4298
4397
  }
4299
- export interface ServiceInstance {
4398
+ export interface ServiceInstance_DidManagementV0_1 {
4300
4399
  /**
4301
4400
  * Stable identifier the control plane uses for this instance. SHOULD be derived from the instance's DID (e.g. `did:web:host.example` → `did_web_host_example`) so it survives restarts.
4302
4401
  */
@@ -4314,6 +4413,62 @@ export interface ServiceInstance {
4314
4413
  lastSeen?: string;
4315
4414
  ext?: Ext;
4316
4415
  }
4416
+ export interface ServiceInstance_DidManagementV0_2 {
4417
+ /**
4418
+ * Stable identifier the control plane uses for this instance. SHOULD be derived from the instance's DID so it survives restarts.
4419
+ */
4420
+ instanceId: string;
4421
+ /**
4422
+ * The instance's own DID — the identity its signed documents are verified against and the one the control plane addresses.
4423
+ */
4424
+ did: string;
4425
+ /**
4426
+ * `server` — a hosting server (edge) that resolves DIDs the control plane syncs to it. `witness` — a did:webvh witness. `watcher` — a did:webvh watcher that mirrors logs.
4427
+ */
4428
+ serviceType: "server" | "witness" | "watcher";
4429
+ /**
4430
+ * Operator-chosen display label. Untrusted free text.
4431
+ */
4432
+ label?: string;
4433
+ /**
4434
+ * The instance's public base URL, where it serves DID resolution. Absent when the instance registered without one.
4435
+ */
4436
+ publicUrl?: string;
4437
+ /**
4438
+ * The control plane's current verdict, from the instance's last answered health probe. `degraded` — answered late; `unreachable` — has not answered within the control plane's configured window.
4439
+ */
4440
+ status: "active" | "degraded" | "unreachable";
4441
+ /**
4442
+ * Hosting domains the instance has acknowledged serving. Always present — empty for an instance that serves none, which includes every `witness` and `watcher`.
4443
+ */
4444
+ servedDomains: string[];
4445
+ /**
4446
+ * DID methods the instance can host (e.g. `webvh`, `web`, `webs`), as it declared at registration.
4447
+ */
4448
+ enabledMethods?: string[];
4449
+ /**
4450
+ * `service[].type` values of the instance's DID document when the control plane last resolved it. Display only: nothing is routed on it. Absent when the document has not been resolved.
4451
+ */
4452
+ advertisedServices?: string[];
4453
+ /**
4454
+ * When `advertisedServices` was last resolved. Absent with it.
4455
+ */
4456
+ servicesCheckedAt?: string;
4457
+ /**
4458
+ * The last document the control plane received from this instance. Absent when it has received none.
4459
+ */
4460
+ lastInbound?: TransportObservation;
4461
+ /**
4462
+ * The last document the control plane delivered to this instance. Absent when it has delivered none.
4463
+ */
4464
+ lastOutbound?: TransportObservation;
4465
+ /**
4466
+ * When the instance last answered a health probe. Absent when it never has.
4467
+ */
4468
+ lastHealthCheck?: string;
4469
+ registeredAt: string;
4470
+ ext?: Ext;
4471
+ }
4317
4472
  /**
4318
4473
  * The outcome of a change to an advertised service. Every member describes the **log entry the change produced**, because that is what the change actually is: the agent's DID document is the record, and a consumer that treats the response as a mere acknowledgement will miss that a redeploy may be required.
4319
4474
  */
@@ -4551,6 +4706,33 @@ export interface Sync {
4551
4706
  */
4552
4707
  drift: DriftItem[];
4553
4708
  }
4709
+ export interface SyncUpdate {
4710
+ /**
4711
+ * The slot path on its hosting domain (e.g. `alice`, `people/alice`, or `.well-known` for a root DID).
4712
+ */
4713
+ mnemonic: string;
4714
+ /**
4715
+ * The DID the log establishes. A replica MUST refuse a log that does not establish exactly this DID.
4716
+ */
4717
+ didId: string;
4718
+ /**
4719
+ * The slot's complete did.jsonl — one log entry per line — not a delta.
4720
+ */
4721
+ logContent: string;
4722
+ /**
4723
+ * The slot's did-witness.json. ABSENT means the slot holds no witness proofs: the replica MUST drop any witness proofs it holds for the slot. Absence never means "unchanged".
4724
+ */
4725
+ witnessContent?: string;
4726
+ /**
4727
+ * Number of entries in `logContent`, as the source counts them. A replica MUST refuse an update whose `logContent` does not contain exactly this many entries.
4728
+ */
4729
+ versionCount: number;
4730
+ /**
4731
+ * Whether the source has disabled the slot. A replica MUST stop serving a disabled slot and MUST resume only on an update carrying `false`.
4732
+ */
4733
+ disabled: boolean;
4734
+ ext?: Ext;
4735
+ }
4554
4736
  /**
4555
4737
  * An access token (typically short-lived JWT) paired with an optional refresh token (typically long-lived opaque string). The shapes follow OAuth 2.0 (RFC 6749 §5.1) conventions but are not coupled to any particular OAuth profile.
4556
4738
  */
@@ -4597,6 +4779,13 @@ export interface TrafficOutcome {
4597
4779
  */
4598
4780
  detail?: string;
4599
4781
  }
4782
+ export interface TransportObservation {
4783
+ /**
4784
+ * The binding the document actually travelled on.
4785
+ */
4786
+ transport: "tsp" | "didcomm" | "https";
4787
+ at: string;
4788
+ }
4600
4789
  export interface TrustRecord {
4601
4790
  entity_id: string;
4602
4791
  authority_id: string;
@@ -5165,6 +5354,25 @@ export interface WebvhServerRecord {
5165
5354
  updatedAt: string;
5166
5355
  ext?: Ext;
5167
5356
  }
5357
+ export interface WitnessKey {
5358
+ /**
5359
+ * The witness service's identifier for this identity. Opaque to the requester.
5360
+ */
5361
+ witnessId: string;
5362
+ /**
5363
+ * The witness identity's DID (for example a `did:key`) — the value a did:webvh log names in its `witness` parameter, and the controller of the key that signs its proofs.
5364
+ */
5365
+ did: string;
5366
+ /**
5367
+ * Operator-chosen display label. Untrusted free text. Absent when none was given.
5368
+ */
5369
+ label?: string;
5370
+ createdAt: string;
5371
+ /**
5372
+ * How many witness proofs this identity has signed.
5373
+ */
5374
+ proofsSigned: number;
5375
+ }
5168
5376
  /**
5169
5377
  * The outcome of one write within a `vta/app-state/put-many` batch. Per-record rather than per-batch, because the default batch mode applies each write on its own merits: a caller flushing ten unrelated edits needs to know which one conflicted, not merely that something did.
5170
5378
  */