keri-ts 1.0.0 → 2.0.1

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} +50 -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
@@ -1,519 +0,0 @@
1
- import * as dntShim from "../../_dnt.shims.js";
2
- import { concatBytes, Counter, parse, SerderKERI } from "cesr-ts";
3
- import { action, spawn } from "effection";
4
- import { parseGvrsn } from "../../core/attachment-countering.js";
5
- import { ValidationError } from "../../core/errors.js";
6
- import { CREDENTIAL_MAILBOX_TOPIC } from "../../core/mailbox-topics.js";
7
- import { abortable } from "../abortable.js";
8
- import { runAgentRuntime, settleMailboxPollBatch } from "../agent-runtime.js";
9
- import { fileBytes } from "../byte-source.js";
10
- import { requireRegery } from "../credential-workflows.js";
11
- import { isLocalGroupHab, localGroupMember } from "../group-members.js";
12
- import { embeddedBusinessExnSAD, MULTISIG_EXN_ROUTE } from "../grouping.js";
13
- import { credentialSaidFromGrant, ipexCredentialAdmit, ipexCredentialGrant, processCredentialPresentationArtifacts, storedGrantArtifacts, } from "../ipex-credentialing.js";
14
- import { approveMultisigIpex, approveStoredMultisigIpexWrappers, findPendingMultisigIpex, groupIpexPartial, publishGroupIpexProposal, requireStoredExchange, sendCredentialBytes, storedExchangeMessage, } from "../ipex-grouping.js";
15
- import { IPEX_AGREE_ROUTE, IPEX_APPLY_ROUTE, IPEX_GRANT_ROUTE, IPEX_OFFER_ROUTE, IPEX_SPURN_ROUTE, } from "../ipexing.js";
16
- import { withAgentRuntime } from "./common/context.js";
17
- /** Implement `tufa ipex apply` by sending a schema/attribute request EXN. */
18
- export function* ipexApplyCommand(args) {
19
- const ipexArgs = ipexBaseArgs(args);
20
- const schema = args.schema;
21
- requireNonEmpty(schema, "Schema");
22
- yield* withIpexRuntime(ipexArgs, function* ({ hby, runtime }) {
23
- const hab = requireHab(hby, ipexArgs.alias);
24
- const recipient = runtime.poster.resolveRecipient(requireString(ipexArgs.recipient, "Recipient"));
25
- const result = yield* runtime.poster.sendExchange(hab, {
26
- recipient,
27
- route: IPEX_APPLY_ROUTE,
28
- payload: {
29
- m: ipexArgs.message ?? "",
30
- s: schema,
31
- a: parseJsonArg(args.attrs) ?? {},
32
- i: recipient,
33
- },
34
- topic: CREDENTIAL_MAILBOX_TOPIC,
35
- delivery: ipexArgs.delivery,
36
- });
37
- console.log(JSON.stringify({ said: result.serder.said, deliveries: result.deliveries }));
38
- });
39
- }
40
- /** Implement `tufa ipex offer` with one embedded ACDC stream reference. */
41
- export function* ipexOfferCommand(args) {
42
- const ipexArgs = ipexBaseArgs(args);
43
- const acdcFile = args.acdc;
44
- requireNonEmpty(acdcFile, "ACDC file");
45
- yield* withIpexRuntime(ipexArgs, function* ({ hby, runtime }) {
46
- const hab = requireHab(hby, ipexArgs.alias);
47
- const recipient = runtime.poster.resolveRecipient(requireString(ipexArgs.recipient, "Recipient"));
48
- const result = yield* runtime.poster.sendExchange(hab, {
49
- recipient,
50
- route: IPEX_OFFER_ROUTE,
51
- payload: { m: ipexArgs.message ?? "" },
52
- dig: args.apply,
53
- embeds: { acdc: dntShim.Deno.readFileSync(acdcFile) },
54
- topic: CREDENTIAL_MAILBOX_TOPIC,
55
- delivery: ipexArgs.delivery,
56
- });
57
- console.log(JSON.stringify({ said: result.serder.said, deliveries: result.deliveries }));
58
- });
59
- }
60
- /** Implement `tufa ipex agree` as a response to an accepted offer EXN. */
61
- export function* ipexAgreeCommand(args) {
62
- yield* sendPriorResponse(args, IPEX_AGREE_ROUTE, "offer");
63
- }
64
- /** Implement `tufa ipex spurn` as a rejection response in an IPEX thread. */
65
- export function* ipexSpurnCommand(args) {
66
- yield* sendPriorResponse(args, IPEX_SPURN_ROUTE, "prior");
67
- }
68
- /** Implement `tufa ipex grant` and optional grant artifact export/delivery. */
69
- export function* ipexGrantCommand(args) {
70
- const ipexArgs = {
71
- ...ipexBaseArgs(args),
72
- said: args.said,
73
- agree: args.agree,
74
- approvalTimeoutSeconds: nonNegativeNumber(args.approvalTimeoutSeconds, 120, "approval timeout seconds"),
75
- };
76
- requireNonEmpty(ipexArgs.said, "Credential SAID");
77
- yield* withIpexRuntime(ipexArgs, function* ({ hby, runtime, reger }) {
78
- const hab = requireHab(hby, ipexArgs.alias);
79
- const recipient = ipexArgs.out
80
- ? resolveAid(hby, requireString(ipexArgs.recipient, "Recipient"))
81
- : runtime.poster.resolveRecipient(requireString(ipexArgs.recipient, "Recipient"));
82
- const grant = ipexCredentialGrant({
83
- hby,
84
- hab,
85
- reger,
86
- recipient,
87
- credentialSaid: ipexArgs.said,
88
- message: ipexArgs.message ?? "",
89
- options: {
90
- agree: ipexArgs.agree ? hby.db.exns.get([ipexArgs.agree]) : null,
91
- gvrsn: ipexArgs.gvrsn,
92
- },
93
- sign: !isLocalGroupHab(hby, hab),
94
- });
95
- const group = isLocalGroupHab(hby, hab);
96
- if (group) {
97
- const genus = grant.grant.gvrsn ?? ipexArgs.gvrsn ?? grant.grant.pvrsn;
98
- const partialGrant = groupIpexPartial(hby, hab, grant.grant, grant.attachments, genus);
99
- yield* runtime.reactor.processBytes(concatBytes(Counter.makeGVC(genus), partialGrant), { local: true });
100
- yield* runtime.reactor.processEscrowsOnce();
101
- const deliveries = yield* publishGroupIpexProposal(runtime, hab, partialGrant, undefined, genus);
102
- const complete = ipexArgs.approvalTimeoutSeconds > 0
103
- ? yield* waitForMultisigIpexCompletion(hby, runtime, hab, grant.grant.said, ipexArgs.approvalTimeoutSeconds)
104
- : runtime.reactor.exchanger.complete(grant.grant.said);
105
- if (!complete) {
106
- console.log(JSON.stringify({
107
- said: grant.grant.said,
108
- credential: ipexArgs.said,
109
- support: grant.support.length,
110
- status: "multisig-pending",
111
- deliveries,
112
- }));
113
- return;
114
- }
115
- const completedGrant = requireStoredExchange(hby, grant.grant.said);
116
- const completedGrantWire = storedExchangeMessage(hby, completedGrant, ipexArgs.gvrsn);
117
- const stream = concatBytes(...grant.support, completedGrantWire);
118
- if (ipexArgs.out) {
119
- dntShim.Deno.writeFileSync(ipexArgs.out, stream);
120
- }
121
- else if (runtime.reactor.exchanger.lead(hab, completedGrant.said)) {
122
- yield* sendCredentialBytes(runtime, localGroupMember(hby, hab.pre), recipient, [
123
- ...grant.support,
124
- completedGrantWire,
125
- ], ipexArgs.delivery);
126
- }
127
- console.log(JSON.stringify({
128
- said: completedGrant.said,
129
- credential: ipexArgs.said,
130
- support: grant.support.length,
131
- status: "multisig-complete",
132
- lead: runtime.reactor.exchanger.lead(hab, completedGrant.said),
133
- deliveries,
134
- }));
135
- return;
136
- }
137
- const stream = concatBytes(...grant.support, grant.wire);
138
- if (ipexArgs.out) {
139
- dntShim.Deno.writeFileSync(ipexArgs.out, stream);
140
- }
141
- else {
142
- yield* sendCredentialBytes(runtime, hab, recipient, [...grant.support, grant.wire], ipexArgs.delivery);
143
- }
144
- console.log(JSON.stringify({ said: grant.grant.said, credential: ipexArgs.said, support: grant.support.length }));
145
- });
146
- }
147
- /** Implement `tufa ipex admit` and holder-side grant artifact processing. */
148
- export function* ipexAdmitCommand(args) {
149
- const ipexArgs = {
150
- ...ipexBaseArgs(args),
151
- said: args.said,
152
- grantFile: args.grantFile,
153
- noWait: args.noWait,
154
- };
155
- yield* withIpexRuntime(ipexArgs, function* ({ hby, runtime, reger }) {
156
- const hab = requireHab(hby, ipexArgs.alias);
157
- const grant = yield* loadGrant(hby, ipexArgs);
158
- const admit = ipexCredentialAdmit({
159
- hab,
160
- reger,
161
- grant,
162
- message: ipexArgs.message ?? "",
163
- options: { requireSaved: !(ipexArgs.noWait ?? false) },
164
- });
165
- const recipient = grantSender(grant);
166
- if (ipexArgs.out) {
167
- dntShim.Deno.writeFileSync(ipexArgs.out, admit.wire);
168
- }
169
- else {
170
- yield* sendCredentialBytes(runtime, hab, recipient, [admit.wire], ipexArgs.delivery);
171
- }
172
- console.log(JSON.stringify({ said: admit.admit.said, grant: grant.said }));
173
- });
174
- }
175
- /** Implement `tufa ipex list` by printing locally accepted IPEX EXNs. */
176
- export function* ipexListCommand(args) {
177
- const ipexArgs = ipexBaseArgs(args);
178
- yield* withIpexRuntime(ipexArgs, function* ({ hby }) {
179
- for (const [, exn] of hby.db.exns.getTopItemIter()) {
180
- const route = exn.route ?? "";
181
- if (!route.startsWith("/ipex/")) {
182
- continue;
183
- }
184
- console.log(JSON.stringify({
185
- said: exn.said,
186
- route,
187
- sender: exn.ked?.i,
188
- prior: exn.ked?.p,
189
- }));
190
- }
191
- });
192
- }
193
- /** Observe settled mailbox input and stored grant replay until new IPEX state or an elapsed deadline. */
194
- export function* ipexPollCommand(args) {
195
- const ipexArgs = ipexBaseArgs(args);
196
- const timeoutMs = nonNegativeNumber(args.timeout, 40, "poll timeout seconds") * 1000;
197
- yield* withIpexRuntime(ipexArgs, function* ({ hby, runtime, reger }) {
198
- const hab = ipexArgs.alias ? requireHab(hby, ipexArgs.alias) : undefined;
199
- const beforeExns = new Set([...hby.db.exns.getTopItemIter()]
200
- .map(([, exn]) => exn.said)
201
- .filter((said) => typeof said === "string"));
202
- const beforeSaved = savedCredentials(reger);
203
- let batchesSeen = 0;
204
- let messagesSeen = 0;
205
- const signer = hab && isLocalGroupHab(hby, hab) ? localGroupMember(hby, hab.pre) : hab;
206
- const deadline = Date.now() + timeoutMs;
207
- let receiving = 0;
208
- const host = yield* spawn(() => runAgentRuntime(runtime, { hab: signer, pollMailbox: false }));
209
- try {
210
- const mailbox = yield* spawn(function* () {
211
- yield* runtime.mailboxPoller.pollDo(function* (batch) {
212
- receiving++;
213
- try {
214
- yield* settleMailboxPollBatch(runtime, batch);
215
- batchesSeen++;
216
- messagesSeen += batch.messages.length;
217
- }
218
- finally {
219
- receiving--;
220
- }
221
- });
222
- });
223
- try {
224
- while (true) {
225
- yield* processStoredCredentialGrants(hby, runtime, reger, ipexArgs.gvrsn);
226
- // State may become visible before the rest of a delivered batch settles.
227
- if (receiving === 0
228
- && (newIpexMessages(hby, beforeExns).length > 0 || newSavedCredentials(reger, beforeSaved).length > 0)) {
229
- break;
230
- }
231
- if (Date.now() >= deadline)
232
- break;
233
- yield* sleep(Math.min(250, deadline - Date.now()));
234
- }
235
- }
236
- finally {
237
- yield* mailbox.halt();
238
- }
239
- }
240
- finally {
241
- yield* host.halt();
242
- }
243
- console.log(JSON.stringify({
244
- batches: batchesSeen,
245
- messages: messagesSeen,
246
- ipex: newIpexMessages(hby, beforeExns),
247
- saved: newSavedCredentials(reger, beforeSaved),
248
- }));
249
- });
250
- }
251
- /** Implement multisig IPEX approval over a pending `/multisig/exn` wrapper. */
252
- export function* ipexJoinCommand(args) {
253
- const ipexArgs = {
254
- ...ipexBaseArgs(args),
255
- said: args.said,
256
- auto: args.auto,
257
- approvalTimeoutSeconds: nonNegativeNumber(args.approvalTimeoutSeconds, 60, "approval timeout seconds"),
258
- };
259
- yield* withIpexRuntime(ipexArgs, function* ({ hby, runtime }) {
260
- const pollHab = ipexArgs.alias ? requireHab(hby, ipexArgs.alias) : undefined;
261
- const exn = ipexArgs.said
262
- ? hby.db.exns.get([ipexArgs.said])
263
- : yield* nextPendingMultisigIpex(hby, runtime, {
264
- hab: pollHab,
265
- timeoutMs: ipexArgs.approvalTimeoutSeconds * 1000,
266
- });
267
- if (!exn) {
268
- throw new ValidationError(ipexArgs.said
269
- ? `IPEX message ${ipexArgs.said} not found.`
270
- : "No pending multisig IPEX proposal was available to join.");
271
- }
272
- if (exn.route?.startsWith("/ipex/")) {
273
- console.log(JSON.stringify({ said: exn.said, route: exn.route, status: "single-sig" }));
274
- return;
275
- }
276
- if (exn.route !== MULTISIG_EXN_ROUTE) {
277
- throw new ValidationError(`EXN ${ipexArgs.said} is not an IPEX or multisig IPEX message.`);
278
- }
279
- const embeddedSad = embeddedBusinessExnSAD(exn);
280
- if (!embeddedSad || typeof embeddedSad.r !== "string" || !embeddedSad.r.startsWith("/ipex/")) {
281
- throw new ValidationError(`Multisig EXN ${ipexArgs.said} does not wrap an IPEX message.`);
282
- }
283
- const embedded = new SerderKERI({ sad: embeddedSad });
284
- const group = embedded.pre;
285
- if (!group || !hby.habs.has(group)) {
286
- throw new ValidationError(`Multisig IPEX sender ${group ?? "<missing>"} is not a local group AID.`);
287
- }
288
- if (!ipexArgs.auto) {
289
- console.log(JSON.stringify({
290
- said: ipexArgs.said,
291
- route: exn.route,
292
- status: "multisig-pending",
293
- embedded: embedded.said,
294
- embeddedRoute: embedded.route,
295
- group,
296
- }));
297
- return;
298
- }
299
- const approval = yield* approveMultisigIpex(hby, runtime, exn, {
300
- publish: true,
301
- delivery: ipexArgs.delivery,
302
- gvrsn: ipexArgs.gvrsn,
303
- });
304
- console.log(JSON.stringify({
305
- said: ipexArgs.said,
306
- route: exn.route,
307
- status: approval.accepted ? "multisig-approved" : "multisig-escrowed",
308
- embedded: embedded.said,
309
- embeddedRoute: embedded.route,
310
- group,
311
- lead: runtime.reactor.exchanger.lead(hby.habs.get(group), embedded.said),
312
- deliveries: approval.deliveries,
313
- }));
314
- });
315
- }
316
- function* sendPriorResponse(args, route, priorLabel) {
317
- const ipexArgs = ipexBaseArgs(args);
318
- const prior = args[priorLabel];
319
- requireNonEmpty(prior, priorLabel);
320
- yield* withIpexRuntime(ipexArgs, function* ({ hby, runtime }) {
321
- const hab = requireHab(hby, ipexArgs.alias);
322
- const recipient = runtime.poster.resolveRecipient(requireString(ipexArgs.recipient, "Recipient"));
323
- const result = yield* runtime.poster.sendExchange(hab, {
324
- recipient,
325
- route,
326
- payload: { m: ipexArgs.message ?? "" },
327
- dig: prior,
328
- topic: CREDENTIAL_MAILBOX_TOPIC,
329
- delivery: ipexArgs.delivery,
330
- });
331
- console.log(JSON.stringify({ said: result.serder.said, deliveries: result.deliveries }));
332
- });
333
- }
334
- function ipexBaseArgs(args) {
335
- return {
336
- name: args.name,
337
- base: args.base,
338
- headDirPath: args.headDirPath,
339
- passcode: args.passcode,
340
- compat: args.compat,
341
- alias: args.alias,
342
- recipient: args.recipient,
343
- message: args.message,
344
- out: args.out,
345
- delivery: args.delivery,
346
- gvrsn: parseGvrsn(args.gvrsn),
347
- };
348
- }
349
- function* withIpexRuntime(args, use) {
350
- requireNonEmpty(args.name, "Name");
351
- return yield* withAgentRuntime(args, {
352
- compat: args.compat ?? false,
353
- skipConfig: true,
354
- }, function* ({ hby, runtime }) {
355
- const reger = requireRegery(runtime).reger;
356
- return yield* use({ hby, runtime, reger });
357
- });
358
- }
359
- function requireHab(hby, alias) {
360
- requireNonEmpty(alias, "Alias");
361
- const hab = hby.habByName(alias);
362
- if (!hab?.pre) {
363
- throw new ValidationError(`No local AID found for alias ${alias}.`);
364
- }
365
- return hab;
366
- }
367
- function resolveAid(hby, value) {
368
- return hby.habByName(value)?.pre ?? value;
369
- }
370
- function requireString(value, label) {
371
- requireNonEmpty(value, label);
372
- return value;
373
- }
374
- function nonNegativeNumber(value, fallback, label) {
375
- if (value === undefined || value === null || value === "") {
376
- return fallback;
377
- }
378
- const parsed = Number(value);
379
- if (!Number.isFinite(parsed) || parsed < 0) {
380
- throw new ValidationError(`${label} must be a finite nonnegative number.`);
381
- }
382
- return parsed;
383
- }
384
- function requireNonEmpty(value, label) {
385
- if (!value) {
386
- throw new ValidationError(`${label} is required and cannot be empty.`);
387
- }
388
- }
389
- function newIpexMessages(hby, before) {
390
- const messages = [];
391
- for (const [, exn] of hby.db.exns.getTopItemIter()) {
392
- const said = exn.said;
393
- const route = exn.route ?? "";
394
- if (!said || before.has(said) || !route.startsWith("/ipex/")) {
395
- continue;
396
- }
397
- messages.push({
398
- said,
399
- route,
400
- sender: exn.ked?.i,
401
- prior: exn.ked?.p,
402
- });
403
- }
404
- return messages;
405
- }
406
- function savedCredentials(reger) {
407
- return new Set([...reger.saved.getTopItemIter()].map(([keys]) => keys[0]).filter((key) => !!key));
408
- }
409
- function newSavedCredentials(reger, before) {
410
- return [...savedCredentials(reger)].filter((said) => !before.has(said));
411
- }
412
- /** Settle accepted grant artifacts before the poll command reports newly saved credentials. */
413
- function* processStoredCredentialGrants(hby, runtime, reger, gvrsn) {
414
- for (const [, grant] of hby.db.exns.getTopItemIter()) {
415
- if (grant.route !== IPEX_GRANT_ROUTE) {
416
- continue;
417
- }
418
- const credentialSaid = credentialSaidFromGrant(grant);
419
- if (!credentialSaid || reger.saved.get([credentialSaid])) {
420
- continue;
421
- }
422
- yield* processCredentialPresentationArtifacts(runtime.reactor, storedGrantArtifacts(hby, grant, gvrsn));
423
- }
424
- }
425
- function parseJsonArg(value) {
426
- if (!value) {
427
- return undefined;
428
- }
429
- const text = value.startsWith("@") ? dntShim.Deno.readTextFileSync(value.slice(1)) : value;
430
- return JSON.parse(text);
431
- }
432
- /** Scan a file through valid EOF before choosing a grant, or use its persisted exchange record. */
433
- function* loadGrant(hby, args) {
434
- if (args.grantFile) {
435
- const path = args.grantFile;
436
- return yield* abortable(async (signal) => {
437
- let grant;
438
- const frames = parse(fileBytes(path, { signal }));
439
- try {
440
- while (true) {
441
- signal.throwIfAborted();
442
- const result = await frames.next();
443
- signal.throwIfAborted();
444
- if (result.done)
445
- break;
446
- const frame = result.value;
447
- if (!grant && frame.body instanceof SerderKERI && frame.body.route === IPEX_GRANT_ROUTE)
448
- grant = frame.body;
449
- }
450
- }
451
- finally {
452
- await frames.return();
453
- }
454
- if (grant)
455
- return grant;
456
- throw new ValidationError(`Grant file ${path} does not contain an IPEX grant.`);
457
- });
458
- }
459
- requireNonEmpty(args.said, "Grant SAID");
460
- const grant = hby.db.exns.get([args.said]);
461
- if (!grant || grant.route !== IPEX_GRANT_ROUTE) {
462
- throw new ValidationError(`Grant ${args.said} not found.`);
463
- }
464
- return grant;
465
- }
466
- function grantSender(grant) {
467
- const sender = grant.ked?.i;
468
- if (typeof sender !== "string" || sender.length === 0) {
469
- throw new ValidationError("Grant is missing sender AID.");
470
- }
471
- return sender;
472
- }
473
- /** Await group approval while the ordinary host owns mailbox, query and escrow progress. */
474
- function* waitForMultisigIpexCompletion(hby, runtime, groupHab, embeddedSaid, approvalTimeoutSeconds) {
475
- const member = localGroupMember(hby, groupHab.pre);
476
- const deadline = Date.now() + approvalTimeoutSeconds * 1000;
477
- const host = yield* spawn(() => runAgentRuntime(runtime, { hab: member }));
478
- try {
479
- while (true) {
480
- yield* approveStoredMultisigIpexWrappers(hby, runtime, embeddedSaid);
481
- if (runtime.reactor.exchanger.complete(embeddedSaid))
482
- return true;
483
- if (Date.now() >= deadline)
484
- return false;
485
- yield* sleep(Math.min(250, deadline - Date.now()));
486
- }
487
- }
488
- finally {
489
- yield* host.halt();
490
- }
491
- }
492
- /** Observe stored proposals while the host progresses input, then join before approval. */
493
- function* nextPendingMultisigIpex(hby, runtime, { hab, timeoutMs }) {
494
- const found = findPendingMultisigIpex(hby, runtime);
495
- if (found || timeoutMs === 0)
496
- return found;
497
- const signer = hab && isLocalGroupHab(hby, hab) ? localGroupMember(hby, hab.pre) : hab;
498
- const deadline = Date.now() + timeoutMs;
499
- const host = yield* spawn(() => runAgentRuntime(runtime, { hab: signer }));
500
- try {
501
- while (true) {
502
- const pending = findPendingMultisigIpex(hby, runtime);
503
- if (pending)
504
- return pending;
505
- if (Date.now() >= deadline)
506
- return null;
507
- yield* sleep(Math.min(250, deadline - Date.now()));
508
- }
509
- }
510
- finally {
511
- yield* host.halt();
512
- }
513
- }
514
- function* sleep(ms) {
515
- yield* action((resolve) => {
516
- const timeout = setTimeout(resolve, ms);
517
- return () => clearTimeout(timeout);
518
- });
519
- }
@@ -1,142 +0,0 @@
1
- /**
2
- * `tufa query` command implementation.
3
- *
4
- * KERIpy correspondence:
5
- * - mirrors the bounded "launch query, poll for replies, print external state"
6
- * behavior of `keri.cli.commands.query`
7
- * - builds on the `QueryCoordinator`/querier helpers that correspond to
8
- * KERIpy's query/noticer doers
9
- *
10
- * `keri-ts` difference:
11
- * - transport, mailbox polling, and parser ingress are composed explicitly for
12
- * one bounded command lifetime instead of being spread across long-lived HIO
13
- * doers
14
- */
15
- import * as dntShim from "../../_dnt.shims.js";
16
- import { SealEvent } from "cesr-ts";
17
- import { spawn } from "effection";
18
- import { ValidationError } from "../../core/errors.js";
19
- import { Roles } from "../../core/roles.js";
20
- import { runAgentRuntime, runtimeHasPendingWork, runtimeTurn, } from "../agent-runtime.js";
21
- import { flattenRoleUrls } from "../mailboxing.js";
22
- import { withHabAndAgentRuntime } from "./common/context.js";
23
- import { printExternal } from "./common/displaying.js";
24
- /**
25
- * Bounded runtime window for the primary query/watch pass.
26
- *
27
- * KLI compatibility:
28
- * - KERIpy's CLI query flow waits for roughly ten seconds before printing the
29
- * best available external state
30
- */
31
- const QueryTimeoutMs = 10_000;
32
- /** Decode one concrete event seal before opening state or scheduling an anchor query. */
33
- function loadAnchor(path) {
34
- const text = dntShim.Deno.readTextFileSync(path);
35
- const anchor = JSON.parse(text);
36
- if (!SealEvent.isSad(anchor)) {
37
- throw new ValidationError("Anchor file must contain only string i, s and d event-seal fields.");
38
- }
39
- // Reuse CESR primitive validation without rewriting the supplied seal representation.
40
- SealEvent.fromSad(anchor);
41
- return anchor;
42
- }
43
- /**
44
- * Build the controller OOBI URL used for query catch-up fallback.
45
- *
46
- * Why this exists:
47
- * - a successful `ksn` reply can prove a remote controller is ahead of local
48
- * accepted state without carrying the whole log replay
49
- * - when that happens, the CLI falls back to controller OOBI replay so local
50
- * verification state can converge within the command's bounded lifetime
51
- */
52
- function controllerCatchupUrl(hab, queriedPre) {
53
- const ends = hab.endsFor(queriedPre);
54
- const controller = flattenRoleUrls(ends[Roles.controller])[0]
55
- ?? flattenRoleUrls(ends[Roles.agent])[0];
56
- if (!controller) {
57
- return null;
58
- }
59
- const url = new URL(controller.url);
60
- url.pathname = `/oobi/${queriedPre}/controller`;
61
- url.search = "";
62
- url.hash = "";
63
- return url.toString();
64
- }
65
- /**
66
- * Query remote key state or anchored logs and then print KLI-style external state.
67
- *
68
- * Behavioral shape:
69
- * - start a bounded local runtime
70
- * - register either a key-state or anchor continuation
71
- * - poll transport/mailbox work until convergence or timeout
72
- * - optionally fall back to controller catch-up replay before printing
73
- */
74
- export function* queryCommand(args) {
75
- const queryArgs = {
76
- name: args.name,
77
- base: args.base,
78
- headDirPath: args.headDirPath,
79
- passcode: args.passcode,
80
- alias: args.alias,
81
- compat: args.compat,
82
- prefix: args.prefix,
83
- anchor: args.anchor,
84
- };
85
- if (!queryArgs.name) {
86
- throw new ValidationError("Name is required and cannot be empty");
87
- }
88
- if (!queryArgs.alias) {
89
- throw new ValidationError("Alias is required and cannot be empty");
90
- }
91
- if (!queryArgs.prefix) {
92
- throw new ValidationError("Prefix is required and cannot be empty");
93
- }
94
- const prefix = queryArgs.prefix;
95
- const anchor = queryArgs.anchor ? loadAnchor(queryArgs.anchor) : undefined;
96
- yield* withHabAndAgentRuntime(queryArgs, queryArgs.alias, {
97
- compat: queryArgs.compat ?? false,
98
- readonly: false,
99
- skipConfig: true,
100
- skipSignator: true,
101
- }, function* ({ hby, runtime, hab }) {
102
- let watchDone = () => false;
103
- if (anchor) {
104
- console.log(`Checking for anchor ${JSON.stringify(anchor)}...`);
105
- const querier = runtime.querying.watchAnchor(prefix, anchor, {
106
- signer: hab.pre,
107
- });
108
- watchDone = () => querier.done;
109
- }
110
- else {
111
- console.log("Checking for updates...");
112
- const noticer = runtime.querying.watchKeyState(prefix, {
113
- signer: hab.pre,
114
- });
115
- watchDone = () => noticer.done;
116
- }
117
- const worker = yield* spawn(() => runAgentRuntime(runtime, { hab }));
118
- try {
119
- const deadline = Date.now() + QueryTimeoutMs;
120
- while (!watchDone() && Date.now() < deadline) {
121
- yield* runtimeTurn();
122
- }
123
- if (!watchDone() && !queryArgs.anchor) {
124
- const catchupUrl = controllerCatchupUrl(hab, prefix);
125
- if (catchupUrl) {
126
- runtime.oobiery.resolve(catchupUrl);
127
- const catchupDeadline = Date.now() + 5_000;
128
- while (!watchDone() && Date.now() < catchupDeadline) {
129
- if (!runtimeHasPendingWork(runtime))
130
- break;
131
- yield* runtimeTurn();
132
- }
133
- }
134
- }
135
- }
136
- finally {
137
- yield* worker.halt();
138
- }
139
- console.log("");
140
- printExternal(hby, prefix);
141
- });
142
- }