keri-ts 1.0.0 → 2.0.0

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 (742) hide show
  1. package/README.md +23 -0
  2. package/esm/keri/npm/src/acdc/chaining.js +213 -0
  3. package/esm/keri/npm/src/acdc/dhking.js +716 -0
  4. package/esm/keri/npm/src/acdc/messaging.js +2 -0
  5. package/esm/keri/npm/src/acdc/observing.js +40 -7
  6. package/esm/keri/npm/src/acdc/regbasing.js +13 -2
  7. package/esm/keri/npm/src/acdc/regengine.js +71 -23
  8. package/esm/keri/npm/src/acdc/regeventing.js +163 -44
  9. package/esm/keri/npm/src/acdc/registering.js +93 -14
  10. package/esm/keri/npm/src/acdc/relating.js +59 -0
  11. package/esm/keri/npm/src/acdc/salting.js +720 -0
  12. package/esm/keri/npm/src/acdc/scheming.js +94 -39
  13. package/esm/keri/npm/src/acdc/unblinding.js +1042 -0
  14. package/esm/keri/npm/src/app/{authenticating.js → bootstrap/authenticating.js} +39 -18
  15. package/esm/keri/npm/src/app/bootstrap/bootstrapping.js +109 -0
  16. package/esm/keri/npm/src/app/{oobi-replies.js → bootstrap/oobi-replies.js} +8 -6
  17. package/esm/keri/npm/src/app/{oobiery.js → bootstrap/oobiery.js} +161 -75
  18. package/esm/keri/npm/src/app/credentials/credential-importing.js +201 -0
  19. package/esm/keri/npm/src/app/credentials/credential-proposals.js +120 -0
  20. package/esm/keri/npm/src/app/credentials/credential-revoking.js +165 -0
  21. package/esm/keri/npm/src/app/credentials/credential-workflows.js +365 -0
  22. package/esm/keri/npm/src/app/credentials/tel-publishing.js +27 -0
  23. package/esm/keri/npm/src/app/{verifying.js → credentials/verifying.js} +41 -6
  24. package/esm/keri/npm/src/app/delivery/forwarding.js +600 -0
  25. package/esm/keri/npm/src/app/delivery/introducing.js +68 -0
  26. package/esm/keri/npm/src/app/{reply-streams.js → delivery/reply-streams.js} +52 -7
  27. package/esm/keri/npm/src/app/delivery/respondant.js +159 -0
  28. package/esm/keri/npm/src/app/{stored-replies.js → delivery/stored-replies.js} +4 -4
  29. package/esm/keri/npm/src/app/exchanges/essr.js +111 -0
  30. package/esm/keri/npm/src/app/exchanges/exchange-messaging.js +66 -0
  31. package/esm/keri/npm/src/app/exchanges/exchanging.js +1354 -0
  32. package/esm/keri/npm/src/app/{configing.js → identity/configing.js} +4 -4
  33. package/esm/keri/npm/src/app/{delegating.js → identity/delegating.js} +99 -29
  34. package/esm/keri/npm/src/app/{endpoint-roleing.js → identity/endpoint-roleing.js} +36 -36
  35. package/esm/keri/npm/src/app/{habbing.js → identity/habbing.js} +232 -150
  36. package/esm/keri/npm/src/app/{keeping.js → identity/keeping.js} +60 -56
  37. package/esm/keri/npm/src/app/{organizing.js → identity/organizing.js} +47 -21
  38. package/esm/keri/npm/src/app/ipex/ipex-building.js +162 -0
  39. package/esm/keri/npm/src/app/{ipex-credentialing.js → ipex/ipex-credentialing.js} +142 -31
  40. package/esm/keri/npm/src/app/ipex/ipex-graph.js +243 -0
  41. package/esm/keri/npm/src/app/ipex/ipex-grouping.js +664 -0
  42. package/esm/keri/npm/src/app/{ipex-node-authentication.js → ipex/ipex-node-authentication.js} +83 -6
  43. package/esm/keri/npm/src/app/ipex/ipex-v2.js +692 -0
  44. package/esm/keri/npm/src/app/{ipexing.js → ipex/ipexing.js} +58 -1
  45. package/esm/keri/npm/src/app/mailbox/forward-handler.js +228 -0
  46. package/esm/keri/npm/src/app/{mailbox-director.js → mailbox/mailbox-director.js} +120 -15
  47. package/esm/keri/npm/src/app/mailbox/mailbox-poller.js +305 -0
  48. package/esm/keri/npm/src/app/mailbox/mailbox-sse.js +254 -0
  49. package/esm/keri/npm/src/app/{mailboxing.js → mailbox/mailboxing.js} +118 -67
  50. package/esm/keri/npm/src/app/mailbox/topic-routing.js +54 -0
  51. package/esm/keri/npm/src/app/multisig/group-members.js +173 -0
  52. package/esm/keri/npm/src/app/{grouping.js → multisig/grouping.js} +384 -70
  53. package/esm/keri/npm/src/app/multisig/multisig-messaging.js +164 -0
  54. package/esm/keri/npm/src/app/multisig/multisig-workflows.js +821 -0
  55. package/esm/keri/npm/src/app/{notifying.js → notifications/notifying.js} +8 -14
  56. package/esm/keri/npm/src/app/{signaling.js → notifications/signaling.js} +1 -1
  57. package/esm/keri/npm/src/app/{parsering.js → protocol/parsering.js} +86 -18
  58. package/esm/keri/npm/src/app/protocol/protocol-processing.js +245 -0
  59. package/esm/keri/npm/src/app/protocol/reactor.js +55 -0
  60. package/esm/keri/npm/src/app/{query-replies.js → queries/query-replies.js} +57 -6
  61. package/esm/keri/npm/src/app/queries/querying.js +306 -0
  62. package/esm/keri/npm/src/app/queries/witness-inquisitor.js +415 -0
  63. package/esm/keri/npm/src/app/{abortable.js → runtime/abortable.js} +43 -4
  64. package/esm/keri/npm/src/app/runtime/agent-runtime.js +633 -0
  65. package/esm/keri/npm/src/app/runtime/cue-runtime.js +61 -0
  66. package/esm/keri/npm/src/app/runtime/runtime-clock.js +6 -0
  67. package/esm/keri/npm/src/app/{byte-source.js → transport/byte-source.js} +36 -6
  68. package/esm/keri/npm/src/app/transport/cesr-egress.js +317 -0
  69. package/esm/keri/npm/src/app/{cesr-http.js → transport/cesr-http.js} +20 -55
  70. package/esm/keri/npm/src/app/transport/http-client.js +172 -0
  71. package/esm/keri/npm/src/app/transport/http-messenger.js +52 -0
  72. package/esm/keri/npm/src/app/transport/http-stream-messenger.js +60 -0
  73. package/esm/keri/npm/src/app/transport/httping.js +57 -0
  74. package/esm/keri/npm/src/app/transport/message-source.js +77 -0
  75. package/esm/keri/npm/src/app/transport/messengering.js +68 -0
  76. package/esm/keri/npm/src/app/{socket-source.js → transport/socket-source.js} +39 -2
  77. package/esm/keri/npm/src/app/transport/tcp-egress.js +377 -0
  78. package/esm/keri/npm/src/app/transport/tcp-messenger.js +162 -0
  79. package/esm/keri/npm/src/app/transport/tcp-stream-messenger.js +40 -0
  80. package/esm/keri/npm/src/app/transport/transport-error.js +14 -0
  81. package/esm/keri/npm/src/app/witness/http-endpoints.js +185 -0
  82. package/esm/keri/npm/src/app/witness/ingress.js +148 -0
  83. package/esm/keri/npm/src/app/witness/receipt-client.js +248 -0
  84. package/esm/keri/npm/src/app/witness/receipt-messages.js +29 -0
  85. package/esm/keri/npm/src/app/witness/receipting.js +323 -0
  86. package/esm/keri/npm/src/app/witness/registration.js +50 -0
  87. package/esm/keri/npm/src/cli/common/bootstrap.js +12 -0
  88. package/esm/keri/npm/src/{app/cli → cli}/common/context.js +47 -6
  89. package/esm/keri/npm/src/{app/cli → cli}/common/existing.js +9 -11
  90. package/esm/keri/npm/src/cli/common/parsing.js +279 -0
  91. package/esm/keri/npm/src/cli/common/passcode.js +66 -0
  92. package/esm/keri/npm/src/cli/common/tel-completion.js +24 -0
  93. package/esm/keri/npm/src/{app/cli → cli}/common/witness-auth.js +2 -2
  94. package/esm/keri/npm/src/cli/credentials/ipex.js +702 -0
  95. package/esm/keri/npm/src/cli/credentials/vc.js +399 -0
  96. package/esm/keri/npm/src/{app/cli → cli/endpoints}/did.js +63 -36
  97. package/esm/keri/npm/src/{app/cli → cli/endpoints}/ends.js +33 -28
  98. package/esm/keri/npm/src/{app/cli → cli/endpoints}/loc.js +16 -11
  99. package/esm/keri/npm/src/cli/endpoints/oobi-clean.js +134 -0
  100. package/esm/keri/npm/src/{app/cli → cli/endpoints}/oobi.js +35 -32
  101. package/esm/keri/npm/src/{app/cli → cli/identity}/aid.js +8 -7
  102. package/esm/keri/npm/src/{app/cli → cli/identity}/challenge.js +60 -49
  103. package/esm/keri/npm/src/{app/cli → cli/identity}/delegate.js +61 -26
  104. package/esm/keri/npm/src/{app/cli → cli/identity}/export.js +9 -8
  105. package/esm/keri/npm/src/cli/identity/incept.js +181 -0
  106. package/esm/keri/npm/src/cli/identity/init.js +153 -0
  107. package/esm/keri/npm/src/cli/identity/interact.js +84 -0
  108. package/esm/keri/npm/src/{app/cli → cli/identity}/list.js +7 -6
  109. package/esm/keri/npm/src/{app/cli → cli/identity}/rotate.js +60 -57
  110. package/esm/keri/npm/src/cli/index.js +38 -0
  111. package/esm/keri/npm/src/{app/cli → cli/messaging}/exchange.js +24 -22
  112. package/esm/keri/npm/src/{app/cli → cli/messaging}/multisig.js +165 -156
  113. package/esm/keri/npm/src/{app/cli → cli/messaging}/notifications.js +26 -22
  114. package/esm/keri/npm/src/{app/cli → cli}/output.js +1 -1
  115. package/esm/keri/npm/src/{app/cli → cli/tools}/annotate.js +10 -4
  116. package/esm/keri/npm/src/{app/cli → cli/tools}/benchmark.js +15 -4
  117. package/esm/keri/npm/src/{app/cli → cli/tools}/db-dump.js +11 -10
  118. package/esm/keri/npm/src/{app/cli → cli/tools}/saidify.js +3 -2
  119. package/esm/keri/npm/src/{app/cli → cli/tools}/sign.js +16 -10
  120. package/esm/keri/npm/src/{app/cli → cli/tools}/verify.js +10 -10
  121. package/esm/keri/npm/src/core/attachment-countering.js +31 -1
  122. package/esm/keri/npm/src/core/{exchange-proofing.js → exchange/exchange-proofing.js} +32 -2
  123. package/esm/keri/npm/src/core/{protocol-exchanging.js → exchange/protocol-exchanging.js} +26 -4
  124. package/esm/keri/npm/src/core/genus-framing.js +44 -0
  125. package/esm/keri/npm/src/core/{eventing.js → kel/eventing.js} +57 -25
  126. package/esm/keri/npm/src/core/{kever-decisions.js → kel/kever-decisions.js} +24 -12
  127. package/esm/keri/npm/src/core/{kever.js → kel/kever.js} +4 -4
  128. package/esm/keri/npm/src/core/logger.js +3 -3
  129. package/esm/keri/npm/src/core/{kram-policy.js → mailbox/kram-policy.js} +14 -4
  130. package/esm/keri/npm/src/core/{kram-pruning.js → mailbox/kram-pruning.js} +3 -3
  131. package/esm/keri/npm/src/core/{kram-signatures.js → mailbox/kram-signatures.js} +1 -1
  132. package/esm/keri/npm/src/core/{kram-staging.js → mailbox/kram-staging.js} +6 -6
  133. package/esm/keri/npm/src/core/{kram-time.js → mailbox/kram-time.js} +4 -3
  134. package/esm/keri/npm/src/core/{kraming.js → mailbox/kraming.js} +2 -2
  135. package/esm/keri/npm/src/core/protocol-eventing.js +1 -1
  136. package/esm/keri/npm/src/core/protocol-serialization.js +9 -34
  137. package/esm/keri/npm/src/core/routing.js +52 -17
  138. package/esm/keri/npm/src/db/baser-defaults.js +11 -0
  139. package/esm/keri/npm/src/db/basing.js +89 -232
  140. package/esm/keri/npm/src/db/core/lmdber.js +102 -63
  141. package/esm/keri/npm/src/db/escrowing.js +73 -49
  142. package/esm/keri/npm/src/db/exchange/exchange-nests.js +54 -0
  143. package/esm/keri/npm/src/db/exchange/exchange-records.js +7 -0
  144. package/esm/keri/npm/src/db/index.js +5 -4
  145. package/esm/keri/npm/src/db/keeping.js +122 -3
  146. package/esm/keri/npm/src/db/{kram-factors.js → mailbox/kram-factors.js} +1 -1
  147. package/esm/keri/npm/src/db/{mailboxing.js → mailbox/mailboxing.js} +3 -3
  148. package/esm/keri/npm/src/db/reger.js +38 -29
  149. package/esm/keri/npm/src/db/{kel-replay.js → replay/kel-replay.js} +11 -4
  150. package/esm/keri/npm/src/db/{tel-replay.js → replay/tel-replay.js} +34 -0
  151. package/esm/keri/npm/src/db/{witness-replay.js → replay/witness-replay.js} +2 -2
  152. package/esm/keri/npm/src/db/subing.js +2 -3
  153. package/esm/keri/npm/src/did/webs/artifacts.js +15 -18
  154. package/esm/keri/npm/src/did/webs/designated-aliases.js +5 -7
  155. package/esm/keri/npm/src/did/webs/resolving.js +73 -56
  156. package/esm/keri/npm/src/library/index.js +1 -1
  157. package/esm/keri/npm/src/npm/cli.js +1 -1
  158. package/esm/keri/npm/src/npm/index.js +1 -1
  159. package/esm/keri/npm/src/runtime/index.js +79 -47
  160. package/esm/keri/npm/src/vdr/backer-state.js +55 -0
  161. package/esm/keri/npm/src/vdr/credential-tsn-record.js +59 -0
  162. package/esm/keri/npm/src/vdr/credentialing.js +84 -82
  163. package/esm/keri/npm/src/vdr/eventing.js +592 -204
  164. package/esm/keri/npm/src/vdr/registry-tsn-record.js +55 -0
  165. package/esm/keri/npm/src/vdr/revoking.js +90 -0
  166. package/esm/keri/npm/src/vdr/tel-anchor.js +29 -0
  167. package/esm/keri/npm/src/vdr/tel-publication.js +178 -0
  168. package/esm/keri/npm/src/{app/version.js → version.js} +2 -2
  169. package/package.json +5 -3
  170. package/types/_dnt.polyfills.d.ts +6 -0
  171. package/types/_dnt.polyfills.d.ts.map +1 -1
  172. package/types/acdc/chaining.d.ts +35 -0
  173. package/types/acdc/chaining.d.ts.map +1 -0
  174. package/types/acdc/dhking.d.ts +136 -0
  175. package/types/acdc/dhking.d.ts.map +1 -0
  176. package/types/acdc/messaging.d.ts.map +1 -1
  177. package/types/acdc/observing.d.ts +18 -7
  178. package/types/acdc/observing.d.ts.map +1 -1
  179. package/types/acdc/regbasing.d.ts +3 -1
  180. package/types/acdc/regbasing.d.ts.map +1 -1
  181. package/types/acdc/regengine.d.ts +9 -4
  182. package/types/acdc/regengine.d.ts.map +1 -1
  183. package/types/acdc/regeventing.d.ts +24 -7
  184. package/types/acdc/regeventing.d.ts.map +1 -1
  185. package/types/acdc/registering.d.ts +22 -6
  186. package/types/acdc/registering.d.ts.map +1 -1
  187. package/types/acdc/registraring.d.ts +1 -1
  188. package/types/acdc/registraring.d.ts.map +1 -1
  189. package/types/acdc/relating.d.ts +21 -0
  190. package/types/acdc/relating.d.ts.map +1 -0
  191. package/types/acdc/salting.d.ts +241 -0
  192. package/types/acdc/salting.d.ts.map +1 -0
  193. package/types/acdc/scheming.d.ts +1 -1
  194. package/types/acdc/scheming.d.ts.map +1 -1
  195. package/types/acdc/unblinding.d.ts +150 -0
  196. package/types/acdc/unblinding.d.ts.map +1 -0
  197. package/types/app/bootstrap/authenticating.d.ts +54 -0
  198. package/types/app/bootstrap/authenticating.d.ts.map +1 -0
  199. package/types/app/bootstrap/bootstrapping.d.ts +45 -0
  200. package/types/app/bootstrap/bootstrapping.d.ts.map +1 -0
  201. package/types/app/{oobi-replies.d.ts → bootstrap/oobi-replies.d.ts} +1 -1
  202. package/types/app/bootstrap/oobi-replies.d.ts.map +1 -0
  203. package/types/app/{oobiery.d.ts → bootstrap/oobiery.d.ts} +98 -25
  204. package/types/app/bootstrap/oobiery.d.ts.map +1 -0
  205. package/types/app/credentials/credential-importing.d.ts +29 -0
  206. package/types/app/credentials/credential-importing.d.ts.map +1 -0
  207. package/types/app/credentials/credential-proposals.d.ts +27 -0
  208. package/types/app/credentials/credential-proposals.d.ts.map +1 -0
  209. package/types/app/credentials/credential-revoking.d.ts +44 -0
  210. package/types/app/credentials/credential-revoking.d.ts.map +1 -0
  211. package/types/app/credentials/credential-workflows.d.ts +149 -0
  212. package/types/app/credentials/credential-workflows.d.ts.map +1 -0
  213. package/types/app/{schema-resolving.d.ts → credentials/schema-resolving.d.ts} +2 -2
  214. package/types/app/credentials/schema-resolving.d.ts.map +1 -0
  215. package/types/app/credentials/tel-publishing.d.ts +16 -0
  216. package/types/app/credentials/tel-publishing.d.ts.map +1 -0
  217. package/types/app/{verifying.d.ts → credentials/verifying.d.ts} +19 -7
  218. package/types/app/credentials/verifying.d.ts.map +1 -0
  219. package/types/app/delivery/forwarding.d.ts +227 -0
  220. package/types/app/delivery/forwarding.d.ts.map +1 -0
  221. package/types/app/delivery/introducing.d.ts +21 -0
  222. package/types/app/delivery/introducing.d.ts.map +1 -0
  223. package/types/app/delivery/reply-streams.d.ts +49 -0
  224. package/types/app/delivery/reply-streams.d.ts.map +1 -0
  225. package/types/app/delivery/respondant.d.ts +52 -0
  226. package/types/app/delivery/respondant.d.ts.map +1 -0
  227. package/types/app/{stored-replies.d.ts → delivery/stored-replies.d.ts} +1 -1
  228. package/types/app/delivery/stored-replies.d.ts.map +1 -0
  229. package/types/app/exchanges/essr.d.ts +53 -0
  230. package/types/app/exchanges/essr.d.ts.map +1 -0
  231. package/types/app/exchanges/exchange-messaging.d.ts +73 -0
  232. package/types/app/exchanges/exchange-messaging.d.ts.map +1 -0
  233. package/types/app/exchanges/exchanging.d.ts +379 -0
  234. package/types/app/exchanges/exchanging.d.ts.map +1 -0
  235. package/types/app/{challenging.d.ts → identity/challenging.d.ts} +3 -3
  236. package/types/app/identity/challenging.d.ts.map +1 -0
  237. package/types/app/{configing.d.ts → identity/configing.d.ts} +1 -1
  238. package/types/app/identity/configing.d.ts.map +1 -0
  239. package/types/app/{delegating.d.ts → identity/delegating.d.ts} +52 -15
  240. package/types/app/identity/delegating.d.ts.map +1 -0
  241. package/types/app/{endpoint-roleing.d.ts → identity/endpoint-roleing.d.ts} +24 -13
  242. package/types/app/identity/endpoint-roleing.d.ts.map +1 -0
  243. package/types/app/{habbing.d.ts → identity/habbing.d.ts} +73 -32
  244. package/types/app/identity/habbing.d.ts.map +1 -0
  245. package/types/app/{keeping.d.ts → identity/keeping.d.ts} +19 -5
  246. package/types/app/identity/keeping.d.ts.map +1 -0
  247. package/types/app/{organizing.d.ts → identity/organizing.d.ts} +19 -4
  248. package/types/app/identity/organizing.d.ts.map +1 -0
  249. package/types/app/ipex/ipex-building.d.ts +30 -0
  250. package/types/app/ipex/ipex-building.d.ts.map +1 -0
  251. package/types/app/{ipex-credentialing.d.ts → ipex/ipex-credentialing.d.ts} +33 -6
  252. package/types/app/ipex/ipex-credentialing.d.ts.map +1 -0
  253. package/types/app/ipex/ipex-graph.d.ts +28 -0
  254. package/types/app/ipex/ipex-graph.d.ts.map +1 -0
  255. package/types/app/ipex/ipex-grouping.d.ts +112 -0
  256. package/types/app/ipex/ipex-grouping.d.ts.map +1 -0
  257. package/types/app/{ipex-node-authentication.d.ts → ipex/ipex-node-authentication.d.ts} +10 -5
  258. package/types/app/ipex/ipex-node-authentication.d.ts.map +1 -0
  259. package/types/app/ipex/ipex-v2.d.ts +71 -0
  260. package/types/app/ipex/ipex-v2.d.ts.map +1 -0
  261. package/types/app/{ipexing.d.ts → ipex/ipexing.d.ts} +21 -6
  262. package/types/app/ipex/ipexing.d.ts.map +1 -0
  263. package/types/app/mailbox/forward-handler.d.ts +68 -0
  264. package/types/app/mailbox/forward-handler.d.ts.map +1 -0
  265. package/types/app/mailbox/mailbox-director.d.ts +252 -0
  266. package/types/app/mailbox/mailbox-director.d.ts.map +1 -0
  267. package/types/app/mailbox/mailbox-poller.d.ts +149 -0
  268. package/types/app/mailbox/mailbox-poller.d.ts.map +1 -0
  269. package/types/app/mailbox/mailbox-sse.d.ts +63 -0
  270. package/types/app/mailbox/mailbox-sse.d.ts.map +1 -0
  271. package/types/app/{mailboxing.d.ts → mailbox/mailboxing.d.ts} +92 -40
  272. package/types/app/mailbox/mailboxing.d.ts.map +1 -0
  273. package/types/app/mailbox/topic-routing.d.ts +18 -0
  274. package/types/app/mailbox/topic-routing.d.ts.map +1 -0
  275. package/types/app/multisig/group-members.d.ts +60 -0
  276. package/types/app/multisig/group-members.d.ts.map +1 -0
  277. package/types/app/{grouping.d.ts → multisig/grouping.d.ts} +142 -19
  278. package/types/app/multisig/grouping.d.ts.map +1 -0
  279. package/types/app/multisig/multisig-messaging.d.ts +97 -0
  280. package/types/app/multisig/multisig-messaging.d.ts.map +1 -0
  281. package/types/app/multisig/multisig-workflows.d.ts +85 -0
  282. package/types/app/multisig/multisig-workflows.d.ts.map +1 -0
  283. package/types/app/{notifying.d.ts → notifications/notifying.d.ts} +4 -5
  284. package/types/app/notifications/notifying.d.ts.map +1 -0
  285. package/types/app/notifications/signaling.d.ts.map +1 -0
  286. package/types/app/{parsering.d.ts → protocol/parsering.d.ts} +40 -11
  287. package/types/app/protocol/parsering.d.ts.map +1 -0
  288. package/types/app/{protocol-host-policy.d.ts → protocol/protocol-host-policy.d.ts} +1 -10
  289. package/types/app/protocol/protocol-host-policy.d.ts.map +1 -0
  290. package/types/app/protocol/protocol-processing.d.ts +140 -0
  291. package/types/app/protocol/protocol-processing.d.ts.map +1 -0
  292. package/types/app/protocol/reactor.d.ts +43 -0
  293. package/types/app/protocol/reactor.d.ts.map +1 -0
  294. package/types/app/queries/query-replies.d.ts +78 -0
  295. package/types/app/queries/query-replies.d.ts.map +1 -0
  296. package/types/app/queries/querying.d.ts +155 -0
  297. package/types/app/queries/querying.d.ts.map +1 -0
  298. package/types/app/queries/witness-inquisitor.d.ts +150 -0
  299. package/types/app/queries/witness-inquisitor.d.ts.map +1 -0
  300. package/types/app/runtime/abortable.d.ts +39 -0
  301. package/types/app/runtime/abortable.d.ts.map +1 -0
  302. package/types/app/runtime/agent-runtime.d.ts +348 -0
  303. package/types/app/runtime/agent-runtime.d.ts.map +1 -0
  304. package/types/app/runtime/cue-runtime.d.ts +33 -0
  305. package/types/app/runtime/cue-runtime.d.ts.map +1 -0
  306. package/types/app/runtime/runtime-clock.d.ts +28 -0
  307. package/types/app/runtime/runtime-clock.d.ts.map +1 -0
  308. package/types/app/runtime/runtime-turn.d.ts.map +1 -0
  309. package/types/app/transport/byte-source.d.ts +41 -0
  310. package/types/app/transport/byte-source.d.ts.map +1 -0
  311. package/types/app/transport/cesr-egress.d.ts +117 -0
  312. package/types/app/transport/cesr-egress.d.ts.map +1 -0
  313. package/types/app/{cesr-http.d.ts → transport/cesr-http.d.ts} +4 -27
  314. package/types/app/transport/cesr-http.d.ts.map +1 -0
  315. package/types/app/transport/http-client.d.ts +99 -0
  316. package/types/app/transport/http-client.d.ts.map +1 -0
  317. package/types/app/transport/http-messenger.d.ts +37 -0
  318. package/types/app/transport/http-messenger.d.ts.map +1 -0
  319. package/types/app/transport/http-stream-messenger.d.ts +30 -0
  320. package/types/app/transport/http-stream-messenger.d.ts.map +1 -0
  321. package/types/app/transport/httping.d.ts +19 -0
  322. package/types/app/transport/httping.d.ts.map +1 -0
  323. package/types/app/transport/message-source.d.ts +22 -0
  324. package/types/app/transport/message-source.d.ts.map +1 -0
  325. package/types/app/transport/messengering.d.ts +41 -0
  326. package/types/app/transport/messengering.d.ts.map +1 -0
  327. package/types/app/{socket-source.d.ts → transport/socket-source.d.ts} +8 -0
  328. package/types/app/transport/socket-source.d.ts.map +1 -0
  329. package/types/app/transport/tcp-egress.d.ts +118 -0
  330. package/types/app/transport/tcp-egress.d.ts.map +1 -0
  331. package/types/app/transport/tcp-messenger.d.ts +69 -0
  332. package/types/app/transport/tcp-messenger.d.ts.map +1 -0
  333. package/types/app/transport/tcp-stream-messenger.d.ts +25 -0
  334. package/types/app/transport/tcp-stream-messenger.d.ts.map +1 -0
  335. package/types/app/transport/transport-error.d.ts +12 -0
  336. package/types/app/transport/transport-error.d.ts.map +1 -0
  337. package/types/app/witness/http-endpoints.d.ts +77 -0
  338. package/types/app/witness/http-endpoints.d.ts.map +1 -0
  339. package/types/app/witness/ingress.d.ts +65 -0
  340. package/types/app/witness/ingress.d.ts.map +1 -0
  341. package/types/app/witness/receipt-client.d.ts +82 -0
  342. package/types/app/witness/receipt-client.d.ts.map +1 -0
  343. package/types/app/witness/receipt-messages.d.ts +21 -0
  344. package/types/app/witness/receipt-messages.d.ts.map +1 -0
  345. package/types/app/witness/receipting.d.ts +117 -0
  346. package/types/app/witness/receipting.d.ts.map +1 -0
  347. package/types/app/witness/registration.d.ts +27 -0
  348. package/types/app/witness/registration.d.ts.map +1 -0
  349. package/types/cli/common/bootstrap.d.ts +5 -0
  350. package/types/cli/common/bootstrap.d.ts.map +1 -0
  351. package/types/{app/cli → cli}/common/context.d.ts +10 -5
  352. package/types/cli/common/context.d.ts.map +1 -0
  353. package/types/{app/cli → cli}/common/existing.d.ts +2 -4
  354. package/types/cli/common/existing.d.ts.map +1 -0
  355. package/types/{app/cli → cli}/common/parsing.d.ts +26 -15
  356. package/types/cli/common/parsing.d.ts.map +1 -0
  357. package/types/cli/common/passcode.d.ts +9 -0
  358. package/types/cli/common/passcode.d.ts.map +1 -0
  359. package/types/cli/common/rendering.d.ts.map +1 -0
  360. package/types/cli/common/tel-completion.d.ts +8 -0
  361. package/types/cli/common/tel-completion.d.ts.map +1 -0
  362. package/types/{app/cli → cli}/common/witness-auth.d.ts +1 -1
  363. package/types/cli/common/witness-auth.d.ts.map +1 -0
  364. package/types/cli/credentials/ipex.d.ts +110 -0
  365. package/types/cli/credentials/ipex.d.ts.map +1 -0
  366. package/types/cli/credentials/vc.d.ts +42 -0
  367. package/types/cli/credentials/vc.d.ts.map +1 -0
  368. package/types/{app/cli → cli/endpoints}/did.d.ts +5 -1
  369. package/types/cli/endpoints/did.d.ts.map +1 -0
  370. package/types/{app/cli → cli/endpoints}/ends.d.ts +9 -1
  371. package/types/cli/endpoints/ends.d.ts.map +1 -0
  372. package/types/cli/endpoints/loc.d.ts.map +1 -0
  373. package/types/cli/endpoints/oobi-clean.d.ts +8 -0
  374. package/types/cli/endpoints/oobi-clean.d.ts.map +1 -0
  375. package/types/{app/cli → cli/endpoints}/oobi.d.ts +2 -0
  376. package/types/cli/endpoints/oobi.d.ts.map +1 -0
  377. package/types/cli/identity/aid.d.ts.map +1 -0
  378. package/types/{app/cli → cli/identity}/challenge.d.ts +5 -1
  379. package/types/cli/identity/challenge.d.ts.map +1 -0
  380. package/types/cli/identity/delegate.d.ts.map +1 -0
  381. package/types/cli/identity/export.d.ts.map +1 -0
  382. package/types/{app/cli → cli/identity}/incept.d.ts +2 -0
  383. package/types/cli/identity/incept.d.ts.map +1 -0
  384. package/types/{app/cli → cli/identity}/init.d.ts +2 -0
  385. package/types/cli/identity/init.d.ts.map +1 -0
  386. package/types/{app/cli → cli/identity}/interact.d.ts +2 -0
  387. package/types/cli/identity/interact.d.ts.map +1 -0
  388. package/types/cli/identity/list.d.ts.map +1 -0
  389. package/types/{app/cli → cli/identity}/rotate.d.ts +9 -2
  390. package/types/cli/identity/rotate.d.ts.map +1 -0
  391. package/types/cli/index.d.ts +39 -0
  392. package/types/cli/index.d.ts.map +1 -0
  393. package/types/{app/cli → cli/messaging}/exchange.d.ts +3 -1
  394. package/types/cli/messaging/exchange.d.ts.map +1 -0
  395. package/types/cli/messaging/multisig.d.ts +29 -0
  396. package/types/cli/messaging/multisig.d.ts.map +1 -0
  397. package/types/cli/messaging/notifications.d.ts.map +1 -0
  398. package/types/cli/output.d.ts.map +1 -0
  399. package/types/cli/tools/annotate-color.d.ts.map +1 -0
  400. package/types/cli/tools/annotate.d.ts.map +1 -0
  401. package/types/cli/tools/benchmark.d.ts.map +1 -0
  402. package/types/cli/tools/db-dump.d.ts.map +1 -0
  403. package/types/cli/tools/saidify.d.ts.map +1 -0
  404. package/types/{app/cli → cli/tools}/sign.d.ts +2 -0
  405. package/types/cli/tools/sign.d.ts.map +1 -0
  406. package/types/cli/tools/verify.d.ts.map +1 -0
  407. package/types/core/attachment-countering.d.ts +10 -1
  408. package/types/core/attachment-countering.d.ts.map +1 -1
  409. package/types/core/cues.d.ts +78 -21
  410. package/types/core/cues.d.ts.map +1 -1
  411. package/types/core/{exchange-proofing.d.ts → exchange/exchange-proofing.d.ts} +9 -2
  412. package/types/core/exchange/exchange-proofing.d.ts.map +1 -0
  413. package/types/core/{protocol-exchanging.d.ts → exchange/protocol-exchanging.d.ts} +10 -2
  414. package/types/core/exchange/protocol-exchanging.d.ts.map +1 -0
  415. package/types/core/genus-framing.d.ts +12 -0
  416. package/types/core/genus-framing.d.ts.map +1 -0
  417. package/types/core/{eventing.d.ts → kel/eventing.d.ts} +22 -10
  418. package/types/core/kel/eventing.d.ts.map +1 -0
  419. package/types/core/{kever-decisions.d.ts → kel/kever-decisions.d.ts} +21 -8
  420. package/types/core/kel/kever-decisions.d.ts.map +1 -0
  421. package/types/core/{kever.d.ts → kel/kever.d.ts} +2 -2
  422. package/types/core/kel/kever.d.ts.map +1 -0
  423. package/types/core/kel/witnesses.d.ts.map +1 -0
  424. package/types/core/logger.d.ts +1 -1
  425. package/types/core/logger.d.ts.map +1 -1
  426. package/types/core/{kram-auth.d.ts → mailbox/kram-auth.d.ts} +2 -2
  427. package/types/core/mailbox/kram-auth.d.ts.map +1 -0
  428. package/types/core/{kram-policy.d.ts → mailbox/kram-policy.d.ts} +2 -2
  429. package/types/core/mailbox/kram-policy.d.ts.map +1 -0
  430. package/types/core/{kram-pruning.d.ts → mailbox/kram-pruning.d.ts} +1 -1
  431. package/types/core/mailbox/kram-pruning.d.ts.map +1 -0
  432. package/types/core/{kram-signatures.d.ts → mailbox/kram-signatures.d.ts} +3 -3
  433. package/types/core/mailbox/kram-signatures.d.ts.map +1 -0
  434. package/types/core/{kram-staging.d.ts → mailbox/kram-staging.d.ts} +2 -2
  435. package/types/core/mailbox/kram-staging.d.ts.map +1 -0
  436. package/types/core/{kram-time.d.ts → mailbox/kram-time.d.ts} +2 -2
  437. package/types/core/mailbox/kram-time.d.ts.map +1 -0
  438. package/types/core/{kraming.d.ts → mailbox/kraming.d.ts} +5 -5
  439. package/types/core/mailbox/kraming.d.ts.map +1 -0
  440. package/types/core/mailbox/mailbox-topics.d.ts.map +1 -0
  441. package/types/core/protocol-eventing.d.ts.map +1 -1
  442. package/types/core/protocol-serialization.d.ts +1 -1
  443. package/types/core/protocol-serialization.d.ts.map +1 -1
  444. package/types/core/records.d.ts +1 -1
  445. package/types/core/records.d.ts.map +1 -1
  446. package/types/core/routing.d.ts +24 -4
  447. package/types/core/routing.d.ts.map +1 -1
  448. package/types/db/baser-defaults.d.ts +5 -0
  449. package/types/db/baser-defaults.d.ts.map +1 -0
  450. package/types/db/basing.d.ts +32 -44
  451. package/types/db/basing.d.ts.map +1 -1
  452. package/types/db/core/lmdber.d.ts +18 -13
  453. package/types/db/core/lmdber.d.ts.map +1 -1
  454. package/types/db/escrowing.d.ts +3 -1
  455. package/types/db/escrowing.d.ts.map +1 -1
  456. package/types/db/exchange/exchange-nests.d.ts +12 -0
  457. package/types/db/exchange/exchange-nests.d.ts.map +1 -0
  458. package/types/db/exchange/exchange-records.d.ts +38 -0
  459. package/types/db/exchange/exchange-records.d.ts.map +1 -0
  460. package/types/db/index.d.ts +5 -4
  461. package/types/db/index.d.ts.map +1 -1
  462. package/types/db/keeping.d.ts +19 -1
  463. package/types/db/keeping.d.ts.map +1 -1
  464. package/types/db/{kram-factors.d.ts → mailbox/kram-factors.d.ts} +2 -2
  465. package/types/db/mailbox/kram-factors.d.ts.map +1 -0
  466. package/types/db/{mailboxing.d.ts → mailbox/mailboxing.d.ts} +2 -2
  467. package/types/db/mailbox/mailboxing.d.ts.map +1 -0
  468. package/types/db/reger.d.ts +7 -6
  469. package/types/db/reger.d.ts.map +1 -1
  470. package/types/db/{kel-replay.d.ts → replay/kel-replay.d.ts} +1 -2
  471. package/types/db/replay/kel-replay.d.ts.map +1 -0
  472. package/types/db/{tel-replay.d.ts → replay/tel-replay.d.ts} +11 -1
  473. package/types/db/replay/tel-replay.d.ts.map +1 -0
  474. package/types/db/{witness-replay.d.ts → replay/witness-replay.d.ts} +1 -1
  475. package/types/db/replay/witness-replay.d.ts.map +1 -0
  476. package/types/db/subing.d.ts.map +1 -1
  477. package/types/did/keri/resolving.d.ts +1 -1
  478. package/types/did/keri/resolving.d.ts.map +1 -1
  479. package/types/did/webs/artifacts.d.ts +5 -5
  480. package/types/did/webs/artifacts.d.ts.map +1 -1
  481. package/types/did/webs/designated-aliases.d.ts +1 -2
  482. package/types/did/webs/designated-aliases.d.ts.map +1 -1
  483. package/types/did/webs/documenting.d.ts +1 -1
  484. package/types/did/webs/documenting.d.ts.map +1 -1
  485. package/types/did/webs/resolving.d.ts +13 -9
  486. package/types/did/webs/resolving.d.ts.map +1 -1
  487. package/types/library/index.d.ts +1 -1
  488. package/types/library/index.d.ts.map +1 -1
  489. package/types/npm/cli.d.ts +1 -1
  490. package/types/npm/cli.d.ts.map +1 -1
  491. package/types/npm/index.d.ts +1 -1
  492. package/types/npm/index.d.ts.map +1 -1
  493. package/types/runtime/index.d.ts +86 -51
  494. package/types/runtime/index.d.ts.map +1 -1
  495. package/types/vdr/backer-state.d.ts +22 -0
  496. package/types/vdr/backer-state.d.ts.map +1 -0
  497. package/types/vdr/credential-tsn-record.d.ts +13 -0
  498. package/types/vdr/credential-tsn-record.d.ts.map +1 -0
  499. package/types/vdr/credentialing.d.ts +16 -17
  500. package/types/vdr/credentialing.d.ts.map +1 -1
  501. package/types/vdr/eventing.d.ts +60 -18
  502. package/types/vdr/eventing.d.ts.map +1 -1
  503. package/types/vdr/registry-tsn-record.d.ts +6 -0
  504. package/types/vdr/registry-tsn-record.d.ts.map +1 -0
  505. package/types/vdr/revoking.d.ts +18 -0
  506. package/types/vdr/revoking.d.ts.map +1 -0
  507. package/types/vdr/tel-anchor.d.ts +10 -0
  508. package/types/vdr/tel-anchor.d.ts.map +1 -0
  509. package/types/vdr/tel-publication.d.ts +49 -0
  510. package/types/vdr/tel-publication.d.ts.map +1 -0
  511. package/types/vdr/tsn-query.d.ts +1 -1
  512. package/types/vdr/tsn-query.d.ts.map +1 -1
  513. package/types/{app/version.d.ts → version.d.ts} +2 -2
  514. package/types/version.d.ts.map +1 -0
  515. package/esm/keri/npm/src/app/agent-runtime.js +0 -544
  516. package/esm/keri/npm/src/app/cesr-egress.js +0 -294
  517. package/esm/keri/npm/src/app/cli/common/displaying.js +0 -43
  518. package/esm/keri/npm/src/app/cli/common/parsing.js +0 -215
  519. package/esm/keri/npm/src/app/cli/incept.js +0 -185
  520. package/esm/keri/npm/src/app/cli/index.js +0 -36
  521. package/esm/keri/npm/src/app/cli/init.js +0 -149
  522. package/esm/keri/npm/src/app/cli/interact.js +0 -72
  523. package/esm/keri/npm/src/app/cli/ipex.js +0 -519
  524. package/esm/keri/npm/src/app/cli/query.js +0 -142
  525. package/esm/keri/npm/src/app/cli/vc.js +0 -283
  526. package/esm/keri/npm/src/app/cli/verifier.js +0 -92
  527. package/esm/keri/npm/src/app/credential-workflows.js +0 -409
  528. package/esm/keri/npm/src/app/cue-runtime.js +0 -38
  529. package/esm/keri/npm/src/app/essr.js +0 -170
  530. package/esm/keri/npm/src/app/exchanging.js +0 -1001
  531. package/esm/keri/npm/src/app/forwarding.js +0 -936
  532. package/esm/keri/npm/src/app/group-members.js +0 -37
  533. package/esm/keri/npm/src/app/httping.js +0 -162
  534. package/esm/keri/npm/src/app/ipex-graph.js +0 -407
  535. package/esm/keri/npm/src/app/ipex-grouping.js +0 -276
  536. package/esm/keri/npm/src/app/ipex-v2.js +0 -438
  537. package/esm/keri/npm/src/app/mailbox-sse.js +0 -240
  538. package/esm/keri/npm/src/app/multisig-workflows.js +0 -457
  539. package/esm/keri/npm/src/app/querying.js +0 -775
  540. package/esm/keri/npm/src/app/reactor.js +0 -394
  541. package/esm/keri/npm/src/app/respondant.js +0 -358
  542. package/esm/keri/npm/src/app/runtime-services.js +0 -22
  543. package/esm/keri/npm/src/app/tcp-conversation.js +0 -85
  544. package/esm/keri/npm/src/app/tcp-egress.js +0 -251
  545. package/esm/keri/npm/src/app/verifier-agent.js +0 -443
  546. package/esm/keri/npm/src/app/witnessing.js +0 -914
  547. package/esm/keri/npm/src/core/index.js +0 -23
  548. package/esm/keri/npm/src/db/exchange-nests.js +0 -80
  549. package/esm/keri/npm/src/db/exchange-records.js +0 -7
  550. package/esm/keri/npm/src/db/payload-archive.js +0 -402
  551. package/esm/keri/npm/src/db/payload-store.js +0 -406
  552. package/esm/keri/npm/src/db/payload-view.js +0 -23
  553. package/esm/keri/npm/src/db/verifier-cueing.js +0 -132
  554. package/esm/keri/npm/src/vdr/credential-tsn.js +0 -230
  555. package/esm/keri/npm/src/vdr/registry-tsn.js +0 -217
  556. package/types/app/abortable.d.ts +0 -13
  557. package/types/app/abortable.d.ts.map +0 -1
  558. package/types/app/agent-runtime.d.ts +0 -221
  559. package/types/app/agent-runtime.d.ts.map +0 -1
  560. package/types/app/authenticating.d.ts +0 -36
  561. package/types/app/authenticating.d.ts.map +0 -1
  562. package/types/app/byte-source.d.ts +0 -16
  563. package/types/app/byte-source.d.ts.map +0 -1
  564. package/types/app/cesr-egress.d.ts +0 -45
  565. package/types/app/cesr-egress.d.ts.map +0 -1
  566. package/types/app/cesr-http.d.ts.map +0 -1
  567. package/types/app/challenging.d.ts.map +0 -1
  568. package/types/app/cli/aid.d.ts.map +0 -1
  569. package/types/app/cli/annotate-color.d.ts.map +0 -1
  570. package/types/app/cli/annotate.d.ts.map +0 -1
  571. package/types/app/cli/benchmark.d.ts.map +0 -1
  572. package/types/app/cli/challenge.d.ts.map +0 -1
  573. package/types/app/cli/common/context.d.ts.map +0 -1
  574. package/types/app/cli/common/displaying.d.ts +0 -12
  575. package/types/app/cli/common/displaying.d.ts.map +0 -1
  576. package/types/app/cli/common/existing.d.ts.map +0 -1
  577. package/types/app/cli/common/parsing.d.ts.map +0 -1
  578. package/types/app/cli/common/rendering.d.ts.map +0 -1
  579. package/types/app/cli/common/witness-auth.d.ts.map +0 -1
  580. package/types/app/cli/db-dump.d.ts.map +0 -1
  581. package/types/app/cli/delegate.d.ts.map +0 -1
  582. package/types/app/cli/did.d.ts.map +0 -1
  583. package/types/app/cli/ends.d.ts.map +0 -1
  584. package/types/app/cli/exchange.d.ts.map +0 -1
  585. package/types/app/cli/export.d.ts.map +0 -1
  586. package/types/app/cli/incept.d.ts.map +0 -1
  587. package/types/app/cli/index.d.ts +0 -37
  588. package/types/app/cli/index.d.ts.map +0 -1
  589. package/types/app/cli/init.d.ts.map +0 -1
  590. package/types/app/cli/interact.d.ts.map +0 -1
  591. package/types/app/cli/ipex.d.ts +0 -20
  592. package/types/app/cli/ipex.d.ts.map +0 -1
  593. package/types/app/cli/list.d.ts.map +0 -1
  594. package/types/app/cli/loc.d.ts.map +0 -1
  595. package/types/app/cli/multisig.d.ts +0 -12
  596. package/types/app/cli/multisig.d.ts.map +0 -1
  597. package/types/app/cli/notifications.d.ts.map +0 -1
  598. package/types/app/cli/oobi.d.ts.map +0 -1
  599. package/types/app/cli/output.d.ts.map +0 -1
  600. package/types/app/cli/query.d.ts +0 -12
  601. package/types/app/cli/query.d.ts.map +0 -1
  602. package/types/app/cli/rotate.d.ts.map +0 -1
  603. package/types/app/cli/saidify.d.ts.map +0 -1
  604. package/types/app/cli/sign.d.ts.map +0 -1
  605. package/types/app/cli/vc.d.ts +0 -20
  606. package/types/app/cli/vc.d.ts.map +0 -1
  607. package/types/app/cli/verifier.d.ts +0 -3
  608. package/types/app/cli/verifier.d.ts.map +0 -1
  609. package/types/app/cli/verify.d.ts.map +0 -1
  610. package/types/app/configing.d.ts.map +0 -1
  611. package/types/app/credential-workflows.d.ts +0 -113
  612. package/types/app/credential-workflows.d.ts.map +0 -1
  613. package/types/app/cue-runtime.d.ts +0 -12
  614. package/types/app/cue-runtime.d.ts.map +0 -1
  615. package/types/app/delegating.d.ts.map +0 -1
  616. package/types/app/endpoint-roleing.d.ts.map +0 -1
  617. package/types/app/essr.d.ts +0 -58
  618. package/types/app/essr.d.ts.map +0 -1
  619. package/types/app/exchanging.d.ts +0 -233
  620. package/types/app/exchanging.d.ts.map +0 -1
  621. package/types/app/forwarding.d.ts +0 -352
  622. package/types/app/forwarding.d.ts.map +0 -1
  623. package/types/app/group-members.d.ts +0 -12
  624. package/types/app/group-members.d.ts.map +0 -1
  625. package/types/app/grouping.d.ts.map +0 -1
  626. package/types/app/habbing.d.ts.map +0 -1
  627. package/types/app/httping.d.ts +0 -49
  628. package/types/app/httping.d.ts.map +0 -1
  629. package/types/app/ipex-credentialing.d.ts.map +0 -1
  630. package/types/app/ipex-graph.d.ts +0 -49
  631. package/types/app/ipex-graph.d.ts.map +0 -1
  632. package/types/app/ipex-grouping.d.ts +0 -43
  633. package/types/app/ipex-grouping.d.ts.map +0 -1
  634. package/types/app/ipex-node-authentication.d.ts.map +0 -1
  635. package/types/app/ipex-v2.d.ts +0 -46
  636. package/types/app/ipex-v2.d.ts.map +0 -1
  637. package/types/app/ipexing.d.ts.map +0 -1
  638. package/types/app/keeping.d.ts.map +0 -1
  639. package/types/app/mailbox-director.d.ts +0 -140
  640. package/types/app/mailbox-director.d.ts.map +0 -1
  641. package/types/app/mailbox-sse.d.ts +0 -32
  642. package/types/app/mailbox-sse.d.ts.map +0 -1
  643. package/types/app/mailboxing.d.ts.map +0 -1
  644. package/types/app/multisig-workflows.d.ts +0 -47
  645. package/types/app/multisig-workflows.d.ts.map +0 -1
  646. package/types/app/notifying.d.ts.map +0 -1
  647. package/types/app/oobi-replies.d.ts.map +0 -1
  648. package/types/app/oobiery.d.ts.map +0 -1
  649. package/types/app/organizing.d.ts.map +0 -1
  650. package/types/app/parsering.d.ts.map +0 -1
  651. package/types/app/protocol-host-policy.d.ts.map +0 -1
  652. package/types/app/query-replies.d.ts +0 -40
  653. package/types/app/query-replies.d.ts.map +0 -1
  654. package/types/app/querying.d.ts +0 -221
  655. package/types/app/querying.d.ts.map +0 -1
  656. package/types/app/reactor.d.ts +0 -138
  657. package/types/app/reactor.d.ts.map +0 -1
  658. package/types/app/reply-streams.d.ts +0 -20
  659. package/types/app/reply-streams.d.ts.map +0 -1
  660. package/types/app/respondant.d.ts +0 -63
  661. package/types/app/respondant.d.ts.map +0 -1
  662. package/types/app/runtime-services.d.ts +0 -26
  663. package/types/app/runtime-services.d.ts.map +0 -1
  664. package/types/app/runtime-turn.d.ts.map +0 -1
  665. package/types/app/schema-resolving.d.ts.map +0 -1
  666. package/types/app/signaling.d.ts.map +0 -1
  667. package/types/app/socket-source.d.ts.map +0 -1
  668. package/types/app/stored-replies.d.ts.map +0 -1
  669. package/types/app/tcp-conversation.d.ts +0 -27
  670. package/types/app/tcp-conversation.d.ts.map +0 -1
  671. package/types/app/tcp-egress.d.ts +0 -49
  672. package/types/app/tcp-egress.d.ts.map +0 -1
  673. package/types/app/verifier-agent.d.ts +0 -92
  674. package/types/app/verifier-agent.d.ts.map +0 -1
  675. package/types/app/verifying.d.ts.map +0 -1
  676. package/types/app/version.d.ts.map +0 -1
  677. package/types/app/witnessing.d.ts +0 -223
  678. package/types/app/witnessing.d.ts.map +0 -1
  679. package/types/core/eventing.d.ts.map +0 -1
  680. package/types/core/exchange-proofing.d.ts.map +0 -1
  681. package/types/core/index.d.ts +0 -24
  682. package/types/core/index.d.ts.map +0 -1
  683. package/types/core/kever-decisions.d.ts.map +0 -1
  684. package/types/core/kever.d.ts.map +0 -1
  685. package/types/core/kram-auth.d.ts.map +0 -1
  686. package/types/core/kram-policy.d.ts.map +0 -1
  687. package/types/core/kram-pruning.d.ts.map +0 -1
  688. package/types/core/kram-signatures.d.ts.map +0 -1
  689. package/types/core/kram-staging.d.ts.map +0 -1
  690. package/types/core/kram-time.d.ts.map +0 -1
  691. package/types/core/kraming.d.ts.map +0 -1
  692. package/types/core/mailbox-topics.d.ts.map +0 -1
  693. package/types/core/protocol-exchanging.d.ts.map +0 -1
  694. package/types/core/witnesses.d.ts.map +0 -1
  695. package/types/db/exchange-nests.d.ts +0 -15
  696. package/types/db/exchange-nests.d.ts.map +0 -1
  697. package/types/db/exchange-records.d.ts +0 -33
  698. package/types/db/exchange-records.d.ts.map +0 -1
  699. package/types/db/kel-replay.d.ts.map +0 -1
  700. package/types/db/kram-factors.d.ts.map +0 -1
  701. package/types/db/mailboxing.d.ts.map +0 -1
  702. package/types/db/payload-archive.d.ts +0 -70
  703. package/types/db/payload-archive.d.ts.map +0 -1
  704. package/types/db/payload-store.d.ts +0 -40
  705. package/types/db/payload-store.d.ts.map +0 -1
  706. package/types/db/payload-view.d.ts +0 -4
  707. package/types/db/payload-view.d.ts.map +0 -1
  708. package/types/db/tel-replay.d.ts.map +0 -1
  709. package/types/db/verifier-cueing.d.ts +0 -46
  710. package/types/db/verifier-cueing.d.ts.map +0 -1
  711. package/types/db/witness-replay.d.ts.map +0 -1
  712. package/types/vdr/credential-tsn.d.ts +0 -23
  713. package/types/vdr/credential-tsn.d.ts.map +0 -1
  714. package/types/vdr/registry-tsn.d.ts +0 -28
  715. package/types/vdr/registry-tsn.d.ts.map +0 -1
  716. /package/esm/keri/npm/src/app/{schema-resolving.js → credentials/schema-resolving.js} +0 -0
  717. /package/esm/keri/npm/src/app/{challenging.js → identity/challenging.js} +0 -0
  718. /package/esm/keri/npm/src/app/{protocol-host-policy.js → protocol/protocol-host-policy.js} +0 -0
  719. /package/esm/keri/npm/src/app/{runtime-turn.js → runtime/runtime-turn.js} +0 -0
  720. /package/esm/keri/npm/src/{app/cli → cli}/common/rendering.js +0 -0
  721. /package/esm/keri/npm/src/{app/cli → cli/tools}/annotate-color.js +0 -0
  722. /package/esm/keri/npm/src/core/{witnesses.js → kel/witnesses.js} +0 -0
  723. /package/esm/keri/npm/src/core/{kram-auth.js → mailbox/kram-auth.js} +0 -0
  724. /package/esm/keri/npm/src/core/{mailbox-topics.js → mailbox/mailbox-topics.js} +0 -0
  725. /package/types/app/{signaling.d.ts → notifications/signaling.d.ts} +0 -0
  726. /package/types/app/{runtime-turn.d.ts → runtime/runtime-turn.d.ts} +0 -0
  727. /package/types/{app/cli → cli}/common/rendering.d.ts +0 -0
  728. /package/types/{app/cli → cli/endpoints}/loc.d.ts +0 -0
  729. /package/types/{app/cli → cli/identity}/aid.d.ts +0 -0
  730. /package/types/{app/cli → cli/identity}/delegate.d.ts +0 -0
  731. /package/types/{app/cli → cli/identity}/export.d.ts +0 -0
  732. /package/types/{app/cli → cli/identity}/list.d.ts +0 -0
  733. /package/types/{app/cli → cli/messaging}/notifications.d.ts +0 -0
  734. /package/types/{app/cli → cli}/output.d.ts +0 -0
  735. /package/types/{app/cli → cli/tools}/annotate-color.d.ts +0 -0
  736. /package/types/{app/cli → cli/tools}/annotate.d.ts +0 -0
  737. /package/types/{app/cli → cli/tools}/benchmark.d.ts +0 -0
  738. /package/types/{app/cli → cli/tools}/db-dump.d.ts +0 -0
  739. /package/types/{app/cli → cli/tools}/saidify.d.ts +0 -0
  740. /package/types/{app/cli → cli/tools}/verify.d.ts +0 -0
  741. /package/types/core/{witnesses.d.ts → kel/witnesses.d.ts} +0 -0
  742. /package/types/core/{mailbox-topics.d.ts → mailbox/mailbox-topics.d.ts} +0 -0
@@ -0,0 +1,399 @@
1
+ import * as dntShim from "../../_dnt.shims.js";
2
+ import { concatBytes } from "cesr-ts";
3
+ import { call, spawn } from "effection";
4
+ import { importCredentialStream } from "../../app/credentials/credential-importing.js";
5
+ import { deliverCredentialRevocation, revocationRecipients, revokeCredential, } from "../../app/credentials/credential-revoking.js";
6
+ import { createCredential, credentialRegistryRecords, credentialRegistryStatus, credentialStreamBytes, exportCredentialStream, inceptCredentialRegistry, listCredentials, pinSchemaBytes, } from "../../app/credentials/credential-workflows.js";
7
+ import { isLocalGroupHab, localGroupMember } from "../../app/multisig/group-members.js";
8
+ import { runAgentRuntime } from "../../app/runtime/agent-runtime.js";
9
+ import { ValidationError } from "../../core/errors.js";
10
+ import { withAgentRuntime, withExistingHabery } from "../common/context.js";
11
+ import { parseBooleanOption, parseNumberOption, parseStringListOption, parseStringOption } from "../common/parsing.js";
12
+ import { waitForIssuedCredential, waitForTelPublication } from "../common/tel-completion.js";
13
+ /** Implement `tufa vc schema import` by pinning JSON schemas into `schema.`. */
14
+ export function* vcSchemaImportCommand(args) {
15
+ const vcArgs = {
16
+ ...baseArgs(args),
17
+ schema: asStringList(args.schema, "schema"),
18
+ };
19
+ yield* withVcHabery(vcArgs, function* ({ hby }) {
20
+ for (const path of vcArgs.schema ?? []) {
21
+ const schema = pinSchemaBytes(hby, dntShim.Deno.readFileSync(path));
22
+ console.log(JSON.stringify({ schema, path }));
23
+ }
24
+ });
25
+ }
26
+ /**
27
+ * Implement `tufa vc registry incept` for single-sig or group registries.
28
+ *
29
+ * @param args Parsed command flags and positionals; required identifiers and policy values are validated before effects.
30
+ */
31
+ export function* vcRegistryInceptCommand(args) {
32
+ const vcArgs = registryArgs(args);
33
+ const timeout = publicationTimeout(args.timeout);
34
+ return yield* withVcRuntime(vcArgs, function* ({ hby, runtime, rgy }) {
35
+ const hab = requireHab(hby, vcArgs.alias);
36
+ const group = isLocalGroupHab(hby, hab);
37
+ const signer = group ? localGroupMember(hby, hab.pre) : hab;
38
+ const result = yield* call(function* () {
39
+ const postman = runtime.postman;
40
+ const worker = yield* spawn(() => runAgentRuntime(runtime, { hab: signer, pollMailbox: group }));
41
+ try {
42
+ const deadline = Date.now() + timeout * 1000;
43
+ const created = yield* inceptCredentialRegistry(rgy, runtime.reactor, postman, hab, {
44
+ registryName: vcArgs.registryName,
45
+ estOnly: vcArgs.estOnly,
46
+ usage: vcArgs.usage,
47
+ });
48
+ created.publicationComplete = yield* waitForTelPublication(rgy.publication, created.registry, 0, deadline);
49
+ if (created.group) {
50
+ created.group.accepted = rgy.reger.tels.getOn(created.registry, 0)?.qb64 === created.registry;
51
+ if (created.group.accepted)
52
+ created.group.status = "accept";
53
+ }
54
+ return created;
55
+ }
56
+ finally {
57
+ yield* worker.halt();
58
+ }
59
+ });
60
+ return result;
61
+ });
62
+ }
63
+ /** Implement `tufa vc registry list` from local `Reger.regs` state. */
64
+ export function* vcRegistryListCommand(args) {
65
+ const vcArgs = baseArgs(args);
66
+ yield* withVcRuntime(vcArgs, function* ({ reger }) {
67
+ for (const record of credentialRegistryRecords(reger)) {
68
+ console.log(JSON.stringify(record));
69
+ }
70
+ });
71
+ }
72
+ /** Implement `tufa vc registry status` from current TEL registry state. */
73
+ export function* vcRegistryStatusCommand(args) {
74
+ const vcArgs = registryArgs(args, { aliasRequired: false });
75
+ yield* withVcRuntime(vcArgs, function* ({ rgy }) {
76
+ console.log(JSON.stringify(credentialRegistryStatus(rgy, vcArgs.registryName)));
77
+ });
78
+ }
79
+ /**
80
+ * Implement `tufa vc create` by constructing and issuing one registry-backed ACDC.
81
+ *
82
+ * @param args Parsed command flags and positionals; required identifiers and policy values are validated before effects.
83
+ */
84
+ export function* vcCreateCommand(args) {
85
+ const timeout = publicationTimeout(args.timeout);
86
+ const vcArgs = {
87
+ ...baseArgs(args),
88
+ alias: parseStringOption(args.alias, "alias"),
89
+ registryName: parseStringOption(args.registryName, "registryName"),
90
+ schema: parseStringOption(args.schema, "schema"),
91
+ schemaFile: parseStringOption(args.schemaFile, "schemaFile"),
92
+ recipient: parseStringOption(args.recipient, "recipient"),
93
+ data: parseStringOption(args.data, "data"),
94
+ edges: parseStringOption(args.edges, "edges"),
95
+ rules: parseStringOption(args.rules, "rules"),
96
+ out: parseStringOption(args.out, "out"),
97
+ };
98
+ requireNonEmpty(vcArgs.alias, "Alias");
99
+ requireNonEmpty(vcArgs.registryName, "Registry name");
100
+ const data = parseSubjectDataArg(vcArgs.data) ?? {};
101
+ const edges = parseJsonSectionArg(vcArgs.edges, "edges");
102
+ const rules = parseJsonSectionArg(vcArgs.rules, "rules");
103
+ return yield* withVcRuntime(vcArgs, function* ({ hby, runtime, reger, rgy }) {
104
+ const schema = vcArgs.schemaFile ? pinSchemaBytes(hby, dntShim.Deno.readFileSync(vcArgs.schemaFile)) : vcArgs.schema;
105
+ requireNonEmpty(schema, "Schema");
106
+ const recipient = vcArgs.recipient ? resolveAid(hby, vcArgs.recipient) : undefined;
107
+ const registry = rgy.registryByName(vcArgs.registryName);
108
+ if (!registry)
109
+ throw new ValidationError(`Registry ${vcArgs.registryName} not found.`);
110
+ const issuer = requireHab(hby, vcArgs.alias);
111
+ if (issuer.pre !== registry.hab.pre)
112
+ throw new ValidationError("Selected alias does not control this registry.");
113
+ const group = isLocalGroupHab(hby, issuer);
114
+ const signer = group ? localGroupMember(hby, issuer.pre) : issuer;
115
+ const result = yield* call(function* () {
116
+ const postman = runtime.postman;
117
+ const worker = yield* spawn(() => runAgentRuntime(runtime, { hab: signer, pollMailbox: group }));
118
+ try {
119
+ const deadline = Date.now() + timeout * 1000;
120
+ const created = yield* createCredential(rgy, runtime.reactor, postman, {
121
+ registryName: vcArgs.registryName,
122
+ schema: schema,
123
+ recipient,
124
+ data,
125
+ edges,
126
+ rules,
127
+ });
128
+ yield* waitForIssuedCredential(rgy.publication, created.creder.said, deadline);
129
+ const saved = rgy.reger.saved.get(created.creder.said) !== null;
130
+ created.publicationComplete = rgy.publication.complete(created.creder.said);
131
+ if (saved)
132
+ created.status = "accept";
133
+ if (created.group) {
134
+ created.group.saved = saved;
135
+ if (rgy.reger.tels.getOn(created.creder.said, 0)?.qb64 === created.tel)
136
+ created.group.telStatus = "accept";
137
+ }
138
+ return created;
139
+ }
140
+ finally {
141
+ yield* worker.halt();
142
+ }
143
+ });
144
+ if (vcArgs.out) {
145
+ writeBytes(credentialStreamBytes(hby, reger, result.creder, result.recipient), vcArgs.out);
146
+ }
147
+ return result;
148
+ });
149
+ }
150
+ /** Implement `tufa vc list` over verifier-backed wallet indexes. */
151
+ export function* vcListCommand(args) {
152
+ const vcArgs = {
153
+ ...baseArgs(args),
154
+ alias: parseStringOption(args.alias, "alias"),
155
+ aid: parseStringOption(args.aid, "aid"),
156
+ schema: parseStringOption(args.schema, "schema"),
157
+ issued: parseBooleanOption(args.issued, "issued"),
158
+ };
159
+ yield* withVcRuntime(vcArgs, function* ({ hby, rgy }) {
160
+ const aid = vcArgs.aid ?? (vcArgs.alias ? requireHab(hby, vcArgs.alias).pre : undefined);
161
+ for (const item of listCredentials(rgy, { issued: vcArgs.issued ?? false, aid, schema: vcArgs.schema })) {
162
+ console.log(JSON.stringify(item));
163
+ }
164
+ });
165
+ }
166
+ /** Implement `tufa vc export` as a KERIpy-compatible credential support stream. */
167
+ export function* vcExportCommand(args) {
168
+ const vcArgs = {
169
+ ...baseArgs(args),
170
+ said: parseStringOption(args.said, "said"),
171
+ recipient: parseStringOption(args.recipient, "recipient"),
172
+ out: parseStringOption(args.out, "out"),
173
+ };
174
+ requireNonEmpty(vcArgs.said, "Credential SAID");
175
+ yield* withVcRuntime(vcArgs, function* ({ hby, reger }) {
176
+ const recipient = vcArgs.recipient ? resolveAid(hby, vcArgs.recipient) : undefined;
177
+ const result = exportCredentialStream(hby, reger, vcArgs.said, recipient);
178
+ writeBytes(result.bytes, vcArgs.out);
179
+ });
180
+ }
181
+ /**
182
+ * Import finite CESR input and report its observed records' persisted acceptance.
183
+ * Validate the settlement deadline before opening stores or reading input. The importer owns
184
+ * normalization and post-EOF settlement; incomplete results are printed before command failure.
185
+ *
186
+ * @param args Parsed store/file choices and positive finite settlementTimeoutMs, default 5000 milliseconds.
187
+ * Input is buffered before parser ownership begins; fractions are floored with a one-millisecond minimum.
188
+ * @throws ValidationError for an invalid deadline or incomplete acceptance; intake and cleanup failures propagate.
189
+ */
190
+ export function* vcImportCommand(args) {
191
+ const settlementTimeoutMs = parseNumberOption(args.settlementTimeoutMs, "--settlement-timeout-ms") ?? 5_000;
192
+ if (settlementTimeoutMs <= 0) {
193
+ throw new ValidationError("--settlement-timeout-ms must be finite and positive.");
194
+ }
195
+ const vcArgs = {
196
+ ...baseArgs(args),
197
+ inPath: parseStringOption(args.inPath, "inPath"),
198
+ settlementTimeoutMs,
199
+ };
200
+ yield* withVcRuntime(vcArgs, function* ({ runtime, reger }) {
201
+ const result = yield* importCredentialStream(runtime.protocol, reger, readBytes(vcArgs.inPath), runtime.clock, vcArgs.settlementTimeoutMs);
202
+ console.log(JSON.stringify(result));
203
+ if (!result.complete) {
204
+ throw new ValidationError("Credential import incomplete; inspect the unaccepted identities and stderr diagnostics.");
205
+ }
206
+ });
207
+ }
208
+ /**
209
+ * Implement `tufa vc revoke`, including optional revocation delivery/export.
210
+ *
211
+ * @param args Parsed command flags and positionals; required identifiers and policy values are validated before effects.
212
+ */
213
+ export function* vcRevokeCommand(args) {
214
+ const timeout = publicationTimeout(args.timeout);
215
+ const vcArgs = {
216
+ ...baseArgs(args),
217
+ alias: parseStringOption(args.alias, "alias"),
218
+ registryName: parseStringOption(args.registryName, "registryName"),
219
+ said: parseStringOption(args.said, "said"),
220
+ recipient: parseStringOption(args.recipient, "recipient"),
221
+ out: parseStringOption(args.out, "out"),
222
+ send: asStringList(args.send, "send"),
223
+ };
224
+ requireNonEmpty(vcArgs.registryName, "Registry name");
225
+ requireNonEmpty(vcArgs.said, "Credential SAID");
226
+ return yield* withVcRuntime(vcArgs, function* ({ hby, runtime, reger, rgy }) {
227
+ const registry = rgy.registryByName(vcArgs.registryName);
228
+ if (!registry)
229
+ throw new ValidationError(`Registry ${vcArgs.registryName} not found.`);
230
+ if (vcArgs.alias && requireHab(hby, vcArgs.alias).pre !== registry.hab.pre) {
231
+ throw new ValidationError("Selected alias does not control this registry.");
232
+ }
233
+ if ((vcArgs.send?.length ?? 0) > 0 && !vcArgs.alias) {
234
+ throw new ValidationError("Alias is required when sending revocation events.");
235
+ }
236
+ const group = isLocalGroupHab(hby, registry.hab);
237
+ const signer = group ? localGroupMember(hby, registry.hab.pre) : registry.hab;
238
+ const result = yield* call(function* () {
239
+ const postman = runtime.postman;
240
+ const worker = yield* spawn(() => runAgentRuntime(runtime, { hab: signer, pollMailbox: group }));
241
+ try {
242
+ const deadline = Date.now() + timeout * 1000;
243
+ const revoked = yield* revokeCredential(rgy, runtime.reactor, postman, {
244
+ registryName: vcArgs.registryName,
245
+ credentialSaid: vcArgs.said,
246
+ });
247
+ revoked.publicationComplete = yield* waitForTelPublication(rgy.publication, revoked.said, 1, deadline);
248
+ revoked.accepted = reger.tels.getOn(revoked.said, 1)?.qb64 === revoked.tel;
249
+ if (revoked.accepted)
250
+ revoked.status = "accept";
251
+ const recipients = revocationRecipients(revoked.creder, vcArgs.send ?? [], !!vcArgs.alias);
252
+ if (recipients.length > 0) {
253
+ revoked.deliveries = yield* deliverCredentialRevocation(rgy, postman, revoked.said, recipients);
254
+ }
255
+ return revoked;
256
+ }
257
+ finally {
258
+ yield* worker.halt();
259
+ }
260
+ });
261
+ if (vcArgs.out && result.accepted && result.publicationComplete) {
262
+ const recipient = vcArgs.recipient ? resolveAid(hby, vcArgs.recipient) : result.creder.issuee ?? "";
263
+ writeBytes(credentialStreamBytes(hby, reger, result.creder, recipient), vcArgs.out);
264
+ }
265
+ return result;
266
+ });
267
+ }
268
+ function baseArgs(args) {
269
+ return {
270
+ name: parseStringOption(args.name, "name"),
271
+ base: parseStringOption(args.base, "base"),
272
+ headDirPath: parseStringOption(args.headDirPath, "headDirPath"),
273
+ passcode: parseStringOption(args.passcode, "passcode"),
274
+ compat: parseBooleanOption(args.compat, "compat"),
275
+ };
276
+ }
277
+ function registryArgs(args, { aliasRequired = true } = {}) {
278
+ const parsed = {
279
+ ...baseArgs(args),
280
+ alias: parseStringOption(args.alias, "alias"),
281
+ registryName: parseStringOption(args.registryName, "registryName"),
282
+ estOnly: parseBooleanOption(args.estOnly, "estOnly"),
283
+ usage: parseStringOption(args.usage, "usage"),
284
+ };
285
+ if (aliasRequired) {
286
+ requireNonEmpty(parsed.alias, "Alias");
287
+ }
288
+ requireNonEmpty(parsed.registryName, "Registry name");
289
+ return parsed;
290
+ }
291
+ function* withVcHabery(args, use) {
292
+ requireNonEmpty(args.name, "Name");
293
+ return yield* withExistingHabery(args, vcOpenOptions(args), use);
294
+ }
295
+ function* withVcRuntime(args, use) {
296
+ requireNonEmpty(args.name, "Name");
297
+ return yield* withAgentRuntime(args, vcOpenOptions(args), function* ({ hby, runtime }) {
298
+ const rgy = runtime.vdr;
299
+ if (!rgy)
300
+ throw new ValidationError("Legacy credential registry is unavailable in this runtime.");
301
+ const reger = rgy.reger;
302
+ return yield* use({ hby, runtime, reger, rgy });
303
+ });
304
+ }
305
+ function vcOpenOptions(args) {
306
+ return {
307
+ compat: args.compat ?? false,
308
+ skipConfig: true,
309
+ };
310
+ }
311
+ function requireHab(hby, alias) {
312
+ requireNonEmpty(alias, "Alias");
313
+ const hab = hby.habByName(alias);
314
+ if (!hab?.pre) {
315
+ throw new ValidationError(`No local AID found for alias ${alias}.`);
316
+ }
317
+ return hab;
318
+ }
319
+ function resolveAid(hby, value) {
320
+ const local = hby.habByName(value);
321
+ if (local?.pre) {
322
+ return local.pre;
323
+ }
324
+ return value;
325
+ }
326
+ function parseJsonArg(value) {
327
+ if (!value) {
328
+ return undefined;
329
+ }
330
+ const text = value.startsWith("@") ? dntShim.Deno.readTextFileSync(value.slice(1)) : value;
331
+ return JSON.parse(text);
332
+ }
333
+ function parseSubjectDataArg(value) {
334
+ const parsed = parseJsonArg(value);
335
+ if (parsed === undefined) {
336
+ return undefined;
337
+ }
338
+ if (isRecord(parsed) || typeof parsed === "string") {
339
+ return parsed;
340
+ }
341
+ throw new ValidationError("data must be a JSON object or string.");
342
+ }
343
+ function parseJsonSectionArg(value, label) {
344
+ const parsed = parseJsonArg(value);
345
+ if (parsed === undefined) {
346
+ return undefined;
347
+ }
348
+ if (isRecord(parsed)) {
349
+ return parsed;
350
+ }
351
+ if (Array.isArray(parsed) && parsed.every(isRecord)) {
352
+ return parsed;
353
+ }
354
+ throw new ValidationError(`${label} must be a JSON object or array of objects.`);
355
+ }
356
+ function isRecord(value) {
357
+ return typeof value === "object" && value !== null && !Array.isArray(value);
358
+ }
359
+ function readBytes(path) {
360
+ if (path) {
361
+ return dntShim.Deno.readFileSync(path);
362
+ }
363
+ const chunks = [];
364
+ const buffer = new Uint8Array(64 * 1024);
365
+ while (true) {
366
+ const read = dntShim.Deno.stdin.readSync(buffer);
367
+ if (read === null) {
368
+ break;
369
+ }
370
+ chunks.push(buffer.slice(0, read));
371
+ }
372
+ return chunks.length === 0 ? new Uint8Array() : concatBytes(...chunks);
373
+ }
374
+ function writeBytes(bytes, path) {
375
+ if (path) {
376
+ dntShim.Deno.writeFileSync(path, bytes);
377
+ return;
378
+ }
379
+ dntShim.Deno.stdout.writeSync(bytes);
380
+ }
381
+ /** Accept the command's scalar/list forms without dropping malformed members. */
382
+ function asStringList(value, label) {
383
+ if (typeof value === "string")
384
+ return [value];
385
+ return parseStringListOption(value, label) ?? [];
386
+ }
387
+ function requireNonEmpty(value, label) {
388
+ if (!value) {
389
+ throw new ValidationError(`${label} is required and cannot be empty.`);
390
+ }
391
+ }
392
+ /** Publication waits accept explicit zero/fractions and reject malformed or overflowing values before opening storage. */
393
+ function publicationTimeout(value) {
394
+ const seconds = parseNumberOption(value, "timeout") ?? 60;
395
+ if (seconds < 0 || !Number.isFinite(seconds * 1000)) {
396
+ throw new ValidationError("timeout must be a finite nonnegative duration.");
397
+ }
398
+ return seconds;
399
+ }
@@ -2,30 +2,36 @@
2
2
  * DID-related CLI operations shared by the Tufa command dispatcher.
3
3
  */
4
4
  import * as dntShim from "../../_dnt.shims.js";
5
+ import { isLocalGroupHab } from "../../app/multisig/group-members.js";
6
+ import { runAgentRuntimeUntil, runtimeOobiConverged } from "../../app/runtime/agent-runtime.js";
7
+ import { WitnessReceiptor } from "../../app/witness/receipting.js";
5
8
  import { ValidationError } from "../../core/errors.js";
6
9
  import { bindDesignatedAliases, DEFAULT_DESIGNATED_ALIASES_REGISTRY_NAME, generateDidWebsArtifacts, parseDidKeriIdentifier, parseDidWebs, resolveDidKeri, resolveDidWebs, } from "../../did/index.js";
7
- import { runAgentRuntimeUntil, runtimeOobiConverged } from "../agent-runtime.js";
8
- import { requireRegery } from "../credential-workflows.js";
9
- import { WitnessReceiptor } from "../witnessing.js";
10
- import { withAgentRuntime } from "./common/context.js";
11
- import { requireNonEmpty } from "./common/parsing.js";
10
+ import { withAgentRuntime } from "../common/context.js";
11
+ import { parseBooleanOption, parseStringListOption, parseStringOption, requireNonEmpty } from "../common/parsing.js";
12
12
  /** Implement `tufa dws bind`. */
13
13
  export function* dwsBindCommand(args) {
14
14
  const commandArgs = {
15
15
  ...baseArgs(args),
16
- alias: args.alias,
17
- dids: asStringList(args.did),
18
- registryName: args.registryName,
19
- createRegistry: args.createRegistry,
20
- allowExternalDid: args.allowExternalDid,
16
+ alias: parseStringOption(args.alias, "alias"),
17
+ dids: asStringList(args.did, "did"),
18
+ registryName: parseStringOption(args.registryName, "registryName"),
19
+ createRegistry: parseBooleanOption(args.createRegistry, "createRegistry"),
20
+ allowExternalDid: parseBooleanOption(args.allowExternalDid, "allowExternalDid"),
21
21
  };
22
22
  requireNonEmpty(commandArgs.name, "Name");
23
23
  requireNonEmpty(commandArgs.alias, "Alias");
24
24
  const alias = commandArgs.alias;
25
25
  yield* withAgentRuntime(commandArgs, runtimeOpenOptions(commandArgs), function* ({ hby, runtime }) {
26
+ const rgy = runtime.vdr;
27
+ if (!rgy)
28
+ throw new ValidationError("Legacy credential registry is unavailable in this runtime.");
26
29
  const hab = hby.habByName(alias);
30
+ if (hab && isLocalGroupHab(hby, hab)) {
31
+ throw new ValidationError("DID binding does not coordinate group credential approval. Use a single-controller alias.");
32
+ }
27
33
  const priorSn = hab?.kever?.sn ?? 0;
28
- const result = bindDesignatedAliases(runtime, {
34
+ const result = bindDesignatedAliases(rgy, {
29
35
  alias,
30
36
  dids: commandArgs.dids,
31
37
  registryName: commandArgs.registryName ?? DEFAULT_DESIGNATED_ALIASES_REGISTRY_NAME,
@@ -42,10 +48,10 @@ export function* dwsBindCommand(args) {
42
48
  export function* dwsGenerateCommand(args) {
43
49
  const commandArgs = {
44
50
  ...baseArgs(args),
45
- alias: args.alias,
46
- did: args.did,
47
- outputDir: args.outputDir,
48
- meta: args.meta,
51
+ alias: parseStringOption(args.alias, "alias"),
52
+ did: parseStringOption(args.did, "did"),
53
+ outputDir: parseStringOption(args.outputDir, "outputDir"),
54
+ meta: parseBooleanOption(args.meta, "meta"),
49
55
  };
50
56
  requireNonEmpty(commandArgs.name, "Name");
51
57
  requireNonEmpty(commandArgs.alias, "Alias");
@@ -55,7 +61,10 @@ export function* dwsGenerateCommand(args) {
55
61
  const did = commandArgs.did;
56
62
  const outputDir = commandArgs.outputDir;
57
63
  yield* withAgentRuntime(commandArgs, runtimeOpenOptions(commandArgs), function* ({ runtime }) {
58
- const artifacts = generateDidWebsArtifacts(runtime, {
64
+ const rgy = runtime.vdr;
65
+ if (!rgy)
66
+ throw new ValidationError("Legacy credential registry is unavailable in this runtime.");
67
+ const artifacts = generateDidWebsArtifacts(rgy, {
59
68
  alias,
60
69
  did,
61
70
  metadata: commandArgs.meta ?? false,
@@ -73,19 +82,26 @@ export function* dwsGenerateCommand(args) {
73
82
  }));
74
83
  });
75
84
  }
76
- /** Implement `tufa dws resolve`. */
85
+ /**
86
+ * Implement `tufa dws resolve`.
87
+ *
88
+ * @param args Parsed command flags and positionals; required identifiers and policy values are validated before effects.
89
+ */
77
90
  export function* dwsResolveCommand(args) {
78
91
  const commandArgs = {
79
92
  ...baseArgs(args),
80
- did: args.did,
81
- meta: args.meta,
82
- insecureHttp: args.insecureHttp,
93
+ did: parseStringOption(args.did, "did"),
94
+ meta: parseBooleanOption(args.meta, "meta"),
95
+ insecureHttp: parseBooleanOption(args.insecureHttp, "insecureHttp"),
83
96
  };
84
97
  requireNonEmpty(commandArgs.name, "Name");
85
98
  requireNonEmpty(commandArgs.did, "DID");
86
99
  const did = commandArgs.did;
87
100
  yield* withAgentRuntime(commandArgs, runtimeOpenOptions(commandArgs), function* ({ runtime }) {
88
- const result = yield* resolveDidWebs(runtime, {
101
+ const rgy = runtime.vdr;
102
+ if (!rgy)
103
+ throw new ValidationError("Legacy credential registry is unavailable in this runtime.");
104
+ const result = yield* resolveDidWebs(rgy, runtime.reactor, runtime.http, {
89
105
  did,
90
106
  metadata: commandArgs.meta ?? false,
91
107
  insecureHttp: commandArgs.insecureHttp ?? false,
@@ -97,30 +113,33 @@ export function* dwsResolveCommand(args) {
97
113
  export function* dkrResolveCommand(args) {
98
114
  const commandArgs = {
99
115
  ...baseArgs(args),
100
- did: args.did,
101
- oobis: asStringList(args.oobi),
102
- meta: args.meta,
116
+ did: parseStringOption(args.did, "did"),
117
+ oobis: asStringList(args.oobi, "oobi"),
118
+ meta: parseBooleanOption(args.meta, "meta"),
103
119
  };
104
120
  requireNonEmpty(commandArgs.name, "Name");
105
121
  requireNonEmpty(commandArgs.did, "DID");
106
122
  const did = parseDidKeriIdentifier(commandArgs.did).canonical;
107
123
  yield* withAgentRuntime(commandArgs, runtimeOpenOptions(commandArgs), function* ({ hby, runtime }) {
124
+ const rgy = runtime.vdr;
125
+ if (!rgy)
126
+ throw new ValidationError("Legacy credential registry is unavailable in this runtime.");
108
127
  for (const oobi of commandArgs.oobis)
109
128
  runtime.oobiery.resolve(oobi);
110
129
  if (commandArgs.oobis.length > 0) {
111
130
  yield* runAgentRuntimeUntil(runtime, () => commandArgs.oobis.every((url) => runtimeOobiConverged(runtime, url)), { timeoutMs: 30_000, pollMailbox: false });
112
131
  }
113
- const result = resolveDidKeri(hby, requireRegery(runtime), did);
132
+ const result = resolveDidKeri(hby, rgy, did);
114
133
  console.log(JSON.stringify(commandArgs.meta ? result.resolution : result.document, null, 2));
115
134
  });
116
135
  }
117
136
  function baseArgs(args) {
118
137
  return {
119
- name: args.name,
120
- base: args.base,
121
- headDirPath: args.headDirPath,
122
- passcode: args.passcode,
123
- compat: args.compat,
138
+ name: parseStringOption(args.name, "name"),
139
+ base: parseStringOption(args.base, "base"),
140
+ headDirPath: parseStringOption(args.headDirPath, "headDirPath"),
141
+ passcode: parseStringOption(args.passcode, "passcode"),
142
+ compat: parseBooleanOption(args.compat, "compat"),
124
143
  };
125
144
  }
126
145
  function runtimeOpenOptions(args) {
@@ -129,22 +148,30 @@ function runtimeOpenOptions(args) {
129
148
  skipConfig: true,
130
149
  };
131
150
  }
151
+ /**
152
+ * Submit newly created witnessed events in sequence through the composed receipt owner.
153
+ *
154
+ * @param hby Borrowed local identities and accepted-state stores.
155
+ * @param pre Local AID whose new accepted events need receipts.
156
+ * @param priorSn Sequence before the operation; only later events are submitted.
157
+ * @param runtime Borrowed composed runtime; caller owns its worker and store lifetime.
158
+ */
132
159
  function* receiptNewWitnessEvents(hby, pre, priorSn, runtime) {
133
160
  const hab = hby.habs.get(pre);
134
161
  const latestSn = hab?.kever?.sn;
135
162
  if (!hab?.kever || latestSn === undefined || latestSn <= priorSn || hab.kever.wits.length === 0) {
136
163
  return;
137
164
  }
138
- const receiptor = new WitnessReceiptor(hby, { reactor: runtime.reactor, services: runtime.services });
165
+ const receiptor = new WitnessReceiptor(hby, runtime.protocol, runtime.http, runtime.clock);
139
166
  for (let sn = priorSn + 1; sn <= latestSn; sn += 1) {
140
167
  yield* receiptor.submit(pre, { sn });
141
168
  }
142
169
  }
143
- function asStringList(value) {
144
- if (Array.isArray(value)) {
145
- return value.filter((item) => typeof item === "string");
146
- }
147
- return typeof value === "string" ? [value] : [];
170
+ /** Accept a scalar occurrence or the complete repeated-option list without dropping invalid entries. */
171
+ function asStringList(value, flag) {
172
+ if (typeof value === "string")
173
+ return [value];
174
+ return parseStringListOption(value, flag) ?? [];
148
175
  }
149
176
  function artifactOutputDir(root, didPath, aid) {
150
177
  const normalizedRoot = root.replace(/\/+$/u, "");