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
@@ -1,775 +0,0 @@
1
- import { concatBytes } from "cesr-ts";
2
- import { call, resource } from "effection";
3
- import { Deck } from "../core/deck.js";
4
- import { ValidationError } from "../core/errors.js";
5
- import { Roles } from "../core/roles.js";
6
- import { Schemes } from "../core/schemes.js";
7
- import { chunkBytes, streamBytes } from "./byte-source.js";
8
- import { postCesr } from "./cesr-egress.js";
9
- import { introduce } from "./forwarding.js";
10
- import { consumeMailboxSse } from "./mailbox-sse.js";
11
- import { flattenRoleUrls } from "./mailboxing.js";
12
- import { defaultRuntimeServices } from "./runtime-services.js";
13
- import { runtimeTurn } from "./runtime-turn.js";
14
- import { converseCesrTcp } from "./tcp-conversation.js";
15
- /**
16
- * Query/reply correspondence helpers for the Gate E runtime.
17
- *
18
- * KERIpy correspondence:
19
- * - `keri.app.querying` hosts the `KeyStateNoticer`, `LogQuerier`,
20
- * `SeqNoQuerier`, and `AnchorQuerier` doers
21
- * - `keri.app.agenting.WitnessInquisitor` chooses an honest remote attester
22
- * when a query is finally emitted
23
- *
24
- * `keri-ts` keeps the same behavioral split but makes the ownership seam more
25
- * explicit:
26
- * - `QueryCoordinator` owns correspondence, signed query packets and joined
27
- * response I/O using concrete Reactor and clock/HTTP dependencies
28
- * - `Hab.processCuesIter()` remains the cue-to-wire interpreter for already
29
- * complete cues
30
- *
31
- * Non-goals:
32
- * - this module never receives a parent AgentRuntime or discovers sibling services
33
- * - this module does not guess across multiple local habitats
34
- * - this module does not turn watcher/query selection into generic cue logic
35
- */
36
- /**
37
- * Preferred remote-attester role order for runtime-generated queries.
38
- *
39
- * `keri-ts` intentionally chooses a deterministic first-available endpoint
40
- * instead of KERIpy's random witness/controller/agent selection. That keeps
41
- * tests and maintainer reasoning stable at the correspondence layer.
42
- */
43
- const QUERY_ROLE_PRIORITY = [Roles.controller, Roles.agent, Roles.witness];
44
- /** Copy only the owned query-body level without erasing its route/payload relationship. */
45
- function copyQuery(instruction) {
46
- switch (instruction.route) {
47
- case "logs":
48
- return { route: "logs", q: { ...instruction.q } };
49
- case "ksn":
50
- return { route: "ksn", q: { ...instruction.q } };
51
- case "tels":
52
- case "tsn":
53
- return { route: instruction.route, q: { ...instruction.q } };
54
- }
55
- }
56
- /**
57
- * Return the sole local habitat when exactly one exists.
58
- *
59
- * Honesty rule:
60
- * - one habitat means runtime may safely use it as an implicit signer
61
- * - more than one habitat means runtime must not guess
62
- */
63
- function soleHab(hby) {
64
- const habitats = hby.habs.values();
65
- const first = habitats.next();
66
- return first.done || !habitats.next().done ? null : first.value;
67
- }
68
- /** Parse one hex sequence number field from key-state/query payloads. */
69
- function parseHexOrdinal(value) {
70
- if (typeof value !== "string" || value.length === 0) {
71
- return null;
72
- }
73
- const parsed = parseInt(value, 16);
74
- return Number.isNaN(parsed) ? null : parsed;
75
- }
76
- /** Encode one non-negative sequence number in KERI hex-ordinal form. */
77
- function encodeHexOrdinal(num) {
78
- return Math.max(0, num).toString(16);
79
- }
80
- /**
81
- * KERIpy-style noticer that starts with a `ksn` query and upgrades to a
82
- * `logs` query when the remote key state is ahead of local accepted state.
83
- *
84
- * Start condition:
85
- * - caller wants authoritative remote key state for one AID
86
- *
87
- * Completion condition:
88
- * - accepted local key state is at or beyond the remote `ksn.s`
89
- *
90
- * Emitted query shape:
91
- * - first `ksn` with `{ fn: "0", s: "0" }`
92
- * - later `logs` through `LogQuerier` if remote state is ahead
93
- */
94
- export class KeyStateNoticer {
95
- constructor(pre, { signer, wits } = {}) {
96
- Object.defineProperty(this, "pre", {
97
- enumerable: true,
98
- configurable: true,
99
- writable: true,
100
- value: void 0
101
- });
102
- Object.defineProperty(this, "signer", {
103
- enumerable: true,
104
- configurable: true,
105
- writable: true,
106
- value: void 0
107
- });
108
- Object.defineProperty(this, "wits", {
109
- enumerable: true,
110
- configurable: true,
111
- writable: true,
112
- value: void 0
113
- });
114
- Object.defineProperty(this, "done", {
115
- enumerable: true,
116
- configurable: true,
117
- writable: true,
118
- value: false
119
- });
120
- Object.defineProperty(this, "queried", {
121
- enumerable: true,
122
- configurable: true,
123
- writable: true,
124
- value: false
125
- });
126
- Object.defineProperty(this, "logQuerier", {
127
- enumerable: true,
128
- configurable: true,
129
- writable: true,
130
- value: null
131
- });
132
- this.pre = pre;
133
- this.signer = signer;
134
- this.wits = wits ? [...wits] : undefined;
135
- }
136
- observe(cue, coordinator) {
137
- if (this.done || cue.kin !== "keyStateSaved" || cue.ksn.i !== this.pre) {
138
- return;
139
- }
140
- const local = coordinator.hby.db.getKever(this.pre);
141
- const remoteSn = parseHexOrdinal(cue.ksn.s);
142
- if (!local || remoteSn === null) {
143
- return;
144
- }
145
- if (local.sn < remoteSn) {
146
- if (!this.logQuerier || this.logQuerier.targetSn < remoteSn) {
147
- this.logQuerier = new LogQuerier(this.pre, remoteSn, {
148
- signer: this.signer,
149
- wits: this.wits,
150
- });
151
- }
152
- this.logQuerier.tick(coordinator);
153
- return;
154
- }
155
- this.done = true;
156
- }
157
- tick(coordinator) {
158
- if (this.done) {
159
- return;
160
- }
161
- if (!this.queried) {
162
- coordinator.enqueue({
163
- pre: this.pre,
164
- route: "ksn",
165
- q: { fn: "0", s: "0" },
166
- signer: this.signer,
167
- wits: this.wits,
168
- });
169
- this.queried = true;
170
- }
171
- if (this.logQuerier) {
172
- this.logQuerier.tick(coordinator);
173
- if (this.logQuerier.done) {
174
- this.done = true;
175
- }
176
- }
177
- }
178
- }
179
- /**
180
- * KERIpy-style log querier that waits until local accepted key state reaches a
181
- * target sequence number.
182
- *
183
- * Start condition:
184
- * - caller already knows the remote target sequence number
185
- *
186
- * Completion condition:
187
- * - local accepted key state reaches `targetSn`
188
- *
189
- * Emitted query shape:
190
- * - `logs` with `{ fn: "0", s: "0" }`
191
- */
192
- export class LogQuerier {
193
- constructor(pre, targetSn, { signer, wits } = {}) {
194
- Object.defineProperty(this, "pre", {
195
- enumerable: true,
196
- configurable: true,
197
- writable: true,
198
- value: void 0
199
- });
200
- Object.defineProperty(this, "targetSn", {
201
- enumerable: true,
202
- configurable: true,
203
- writable: true,
204
- value: void 0
205
- });
206
- Object.defineProperty(this, "signer", {
207
- enumerable: true,
208
- configurable: true,
209
- writable: true,
210
- value: void 0
211
- });
212
- Object.defineProperty(this, "wits", {
213
- enumerable: true,
214
- configurable: true,
215
- writable: true,
216
- value: void 0
217
- });
218
- Object.defineProperty(this, "done", {
219
- enumerable: true,
220
- configurable: true,
221
- writable: true,
222
- value: false
223
- });
224
- Object.defineProperty(this, "queried", {
225
- enumerable: true,
226
- configurable: true,
227
- writable: true,
228
- value: false
229
- });
230
- this.pre = pre;
231
- this.targetSn = targetSn;
232
- this.signer = signer;
233
- this.wits = wits ? [...wits] : undefined;
234
- }
235
- observe(_cue, _coordinator) {
236
- return;
237
- }
238
- tick(coordinator) {
239
- if (this.done) {
240
- return;
241
- }
242
- if (!this.queried) {
243
- coordinator.enqueue({
244
- pre: this.pre,
245
- route: "logs",
246
- q: { fn: "0", s: "0" },
247
- signer: this.signer,
248
- wits: this.wits,
249
- });
250
- this.queried = true;
251
- }
252
- const local = coordinator.hby.db.getKever(this.pre);
253
- if (local && local.sn >= this.targetSn) {
254
- this.done = true;
255
- }
256
- }
257
- }
258
- /**
259
- * Query helper that waits until local accepted key state reaches one sequence
260
- * number threshold.
261
- *
262
- * Start condition:
263
- * - caller wants logs replayed until local state reaches `targetSn`
264
- *
265
- * Completion condition:
266
- * - local accepted key state reaches `targetSn`
267
- *
268
- * Emitted query shape:
269
- * - `logs` with explicit `fn` and `s`
270
- */
271
- export class SeqNoQuerier {
272
- constructor(pre, targetSn, { fn = 0, signer, wits, } = {}) {
273
- Object.defineProperty(this, "pre", {
274
- enumerable: true,
275
- configurable: true,
276
- writable: true,
277
- value: void 0
278
- });
279
- Object.defineProperty(this, "targetSn", {
280
- enumerable: true,
281
- configurable: true,
282
- writable: true,
283
- value: void 0
284
- });
285
- Object.defineProperty(this, "fn", {
286
- enumerable: true,
287
- configurable: true,
288
- writable: true,
289
- value: void 0
290
- });
291
- Object.defineProperty(this, "signer", {
292
- enumerable: true,
293
- configurable: true,
294
- writable: true,
295
- value: void 0
296
- });
297
- Object.defineProperty(this, "wits", {
298
- enumerable: true,
299
- configurable: true,
300
- writable: true,
301
- value: void 0
302
- });
303
- Object.defineProperty(this, "done", {
304
- enumerable: true,
305
- configurable: true,
306
- writable: true,
307
- value: false
308
- });
309
- Object.defineProperty(this, "queried", {
310
- enumerable: true,
311
- configurable: true,
312
- writable: true,
313
- value: false
314
- });
315
- this.pre = pre;
316
- this.targetSn = targetSn;
317
- this.fn = fn;
318
- this.signer = signer;
319
- this.wits = wits ? [...wits] : undefined;
320
- }
321
- observe(_cue, _coordinator) {
322
- return;
323
- }
324
- tick(coordinator) {
325
- if (this.done) {
326
- return;
327
- }
328
- if (!this.queried) {
329
- coordinator.enqueue({
330
- pre: this.pre,
331
- route: "logs",
332
- q: {
333
- fn: encodeHexOrdinal(this.fn),
334
- s: encodeHexOrdinal(this.targetSn),
335
- },
336
- signer: this.signer,
337
- wits: this.wits,
338
- });
339
- this.queried = true;
340
- }
341
- const local = coordinator.hby.db.getKever(this.pre);
342
- if (local && local.sn >= this.targetSn) {
343
- this.done = true;
344
- }
345
- }
346
- }
347
- /**
348
- * Query helper that waits until local state contains an anchored event seal.
349
- *
350
- * Start condition:
351
- * - caller needs proof of one anchored seal in the queried prefix's KEL
352
- *
353
- * Completion condition:
354
- * - local DB can resolve a sealing event for the requested anchor
355
- *
356
- * Emitted query shape:
357
- * - `logs` from `{ fn: "0", s: "0", a: anchor }`
358
- */
359
- export class AnchorQuerier {
360
- constructor(pre, anchor, { signer, wits } = {}) {
361
- Object.defineProperty(this, "pre", {
362
- enumerable: true,
363
- configurable: true,
364
- writable: true,
365
- value: void 0
366
- });
367
- Object.defineProperty(this, "anchor", {
368
- enumerable: true,
369
- configurable: true,
370
- writable: true,
371
- value: void 0
372
- });
373
- Object.defineProperty(this, "signer", {
374
- enumerable: true,
375
- configurable: true,
376
- writable: true,
377
- value: void 0
378
- });
379
- Object.defineProperty(this, "wits", {
380
- enumerable: true,
381
- configurable: true,
382
- writable: true,
383
- value: void 0
384
- });
385
- Object.defineProperty(this, "done", {
386
- enumerable: true,
387
- configurable: true,
388
- writable: true,
389
- value: false
390
- });
391
- Object.defineProperty(this, "queried", {
392
- enumerable: true,
393
- configurable: true,
394
- writable: true,
395
- value: false
396
- });
397
- this.pre = pre;
398
- this.anchor = { i: anchor.i, s: anchor.s, d: anchor.d };
399
- this.signer = signer;
400
- this.wits = wits ? [...wits] : undefined;
401
- }
402
- observe(_cue, _coordinator) {
403
- return;
404
- }
405
- tick(coordinator) {
406
- if (this.done)
407
- return;
408
- if (coordinator.hby.db.fetchLastSealingEventByEventSeal(this.pre, this.anchor)) {
409
- this.done = true;
410
- return;
411
- }
412
- if (this.queried)
413
- return;
414
- // A retired witness may never learn the seal. Ask every current candidate once.
415
- // With no endpoints, retain one ordinary request for deferred resolution.
416
- const attesters = coordinator.attestersFor(this.pre, { signer: this.signer, wits: this.wits });
417
- for (const src of attesters.length ? attesters : [undefined]) {
418
- coordinator.enqueue({
419
- pre: this.pre,
420
- route: "logs",
421
- q: { fn: "0", s: "0", a: { ...this.anchor } },
422
- signer: this.signer,
423
- src,
424
- wits: this.wits,
425
- });
426
- }
427
- this.queried = true;
428
- }
429
- }
430
- /**
431
- * Resolve the actual transport URL for one query destination AID.
432
- *
433
- * Transport policy:
434
- * - explicit witness-targeted queries resolve directly from the witness AID's
435
- * `locs.` replies because KERIpy witness inquiries do not depend on the
436
- * queried controller advertising witness end roles
437
- * - prefer direct controller/agent/witness URLs when the chosen destination
438
- * matches an advertised end role
439
- * - in mailbox-only topologies, allow queries addressed to the controller AID
440
- * to ride the first mailbox endpoint URL
441
- */
442
- function resolveQueryDestinationUrl(hab, queriedPre, destination, { explicitWitness = false, } = {}) {
443
- if (explicitWitness) {
444
- const urls = hab.fetchUrls(destination);
445
- return urls[Schemes.https] ?? urls[Schemes.http] ?? urls[Schemes.tcp] ?? null;
446
- }
447
- const ends = hab.endsFor(queriedPre);
448
- for (const role of [Roles.controller, Roles.agent, Roles.witness]) {
449
- const endpoint = flattenRoleUrls(ends[role]).find((entry) => entry.eid === destination);
450
- if (endpoint) {
451
- return endpoint.url;
452
- }
453
- }
454
- if (destination === queriedPre) {
455
- return flattenRoleUrls(ends[Roles.mailbox])[0]?.url ?? null;
456
- }
457
- return null;
458
- }
459
- /**
460
- * Runtime query side-effect owner.
461
- *
462
- * Responsibilities:
463
- * - turn incomplete portable `query` cues into honest outbound `qry` wire
464
- * packets when a local habitat and remote attester can be resolved
465
- * - host KERIpy-style query continuations such as `KeyStateNoticer`
466
- */
467
- export class QueryCoordinator {
468
- /** Inspect deferred work without exposing queue mutation outside its owner. */
469
- get pending() {
470
- return this.requests;
471
- }
472
- constructor(hby, { reactor, services = defaultRuntimeServices, hab = null }) {
473
- Object.defineProperty(this, "hby", {
474
- enumerable: true,
475
- configurable: true,
476
- writable: true,
477
- value: void 0
478
- });
479
- Object.defineProperty(this, "reactor", {
480
- enumerable: true,
481
- configurable: true,
482
- writable: true,
483
- value: void 0
484
- });
485
- Object.defineProperty(this, "services", {
486
- enumerable: true,
487
- configurable: true,
488
- writable: true,
489
- value: void 0
490
- });
491
- Object.defineProperty(this, "deliveries", {
492
- enumerable: true,
493
- configurable: true,
494
- writable: true,
495
- value: new Deck()
496
- });
497
- Object.defineProperty(this, "delivering", {
498
- enumerable: true,
499
- configurable: true,
500
- writable: true,
501
- value: false
502
- });
503
- Object.defineProperty(this, "output", {
504
- enumerable: true,
505
- configurable: true,
506
- writable: true,
507
- value: void 0
508
- });
509
- Object.defineProperty(this, "outputJoined", {
510
- enumerable: true,
511
- configurable: true,
512
- writable: true,
513
- value: void 0
514
- });
515
- Object.defineProperty(this, "requests", {
516
- enumerable: true,
517
- configurable: true,
518
- writable: true,
519
- value: new Deck()
520
- });
521
- Object.defineProperty(this, "closed", {
522
- enumerable: true,
523
- configurable: true,
524
- writable: true,
525
- value: false
526
- });
527
- Object.defineProperty(this, "hab", {
528
- enumerable: true,
529
- configurable: true,
530
- writable: true,
531
- value: void 0
532
- });
533
- Object.defineProperty(this, "continuations", {
534
- enumerable: true,
535
- configurable: true,
536
- writable: true,
537
- value: []
538
- });
539
- this.hby = hby;
540
- this.reactor = reactor;
541
- this.services = services;
542
- this.hab = hab;
543
- }
544
- /** Select the local habitat used when queued requests have no explicit signer. */
545
- configure({ hab = null } = {}) {
546
- this.hab = hab;
547
- }
548
- /** Register one persistent key-state continuation. */
549
- watchKeyState(pre, options = {}) {
550
- this.compactContinuations();
551
- const noticer = new KeyStateNoticer(pre, options);
552
- this.continuations.push(noticer);
553
- return noticer;
554
- }
555
- /** Register one persistent logs-until-sequence continuation. */
556
- watchSeqNo(pre, sn, options = {}) {
557
- this.compactContinuations();
558
- const querier = new SeqNoQuerier(pre, sn, options);
559
- this.continuations.push(querier);
560
- return querier;
561
- }
562
- /** Register one persistent logs-until-anchor continuation. */
563
- watchAnchor(pre, anchor, options = {}) {
564
- this.compactContinuations();
565
- const querier = new AnchorQuerier(pre, anchor, options);
566
- this.continuations.push(querier);
567
- return querier;
568
- }
569
- /** Return true while continuations or unsent queries are still pending. */
570
- hasPendingWork() {
571
- this.compactContinuations();
572
- return !this.requests.empty || this.continuations.length > 0 || this.hasPendingDelivery;
573
- }
574
- /**
575
- * Queue for later resolution/delivery: copy the top level/witness list only.
576
- * Nested query values remain borrowed immutable data until consumption or joined close retires the record.
577
- */
578
- enqueue(request) {
579
- if (this.closed)
580
- throw new Error("Query coordinator is closed");
581
- this.requests.append({
582
- ...request,
583
- ...copyQuery(request),
584
- wits: request.wits ? [...request.wits] : undefined,
585
- });
586
- }
587
- /** Prepare routed query cues before source removal, or retain unresolved requests for a later turn. */
588
- enqueueCue(cue, hab) {
589
- if (this.closed)
590
- throw new Error("Query coordinator is closed");
591
- if (!cue.route || !cue.pre)
592
- return;
593
- const { kin: _, ...request } = cue;
594
- const selected = { ...request, signer: request.signer ?? hab?.pre };
595
- if (!this.prepareRequest(selected))
596
- this.enqueue(selected);
597
- }
598
- /** Include live query I/O and unsent packets in convergence. */
599
- get hasPendingDelivery() {
600
- return this.delivering || !this.deliveries.empty;
601
- }
602
- /** Join each real response before removing its captured packet; failed/cancelled sends retain exact bytes. */
603
- deliverOnce() {
604
- // deno-lint-ignore no-this-alias -- The operation owns one finite output pass.
605
- const self = this;
606
- return call(function* () {
607
- if (self.delivering || self.closed)
608
- return;
609
- self.delivering = true;
610
- const active = self.output = new AbortController();
611
- let complete;
612
- self.outputJoined = new Promise((resolve) => complete = resolve);
613
- yield* resource(function* (provide) {
614
- try {
615
- yield* provide();
616
- }
617
- finally {
618
- self.delivering = false;
619
- self.output = undefined;
620
- self.outputJoined = undefined;
621
- complete();
622
- }
623
- });
624
- const count = self.deliveries.length;
625
- for (let index = 0; index < count && !self.closed; index++) {
626
- const packet = self.deliveries.peekHead();
627
- if (!packet)
628
- break;
629
- active.signal.throwIfAborted();
630
- yield* call(() => self.postQueryMessage(packet, active));
631
- active.signal.throwIfAborted();
632
- self.deliveries.pull();
633
- }
634
- });
635
- }
636
- /** One delivery scope owns upload frames and all response readers through completion or cancellation. */
637
- *postQueryMessage(delivery, controller) {
638
- const reactor = this.reactor, services = this.services;
639
- if (new URL(delivery.url).protocol === "tcp:") {
640
- yield* converseCesrTcp(delivery.url, delivery.body, {
641
- clock: services.clock,
642
- signal: controller.signal,
643
- replies: { reactor, local: true },
644
- });
645
- return;
646
- }
647
- yield* postCesr(delivery.url, (signal) => chunkBytes(delivery.body, { signal }), {
648
- bodyMode: delivery.bodyMode,
649
- destination: delivery.destination,
650
- services,
651
- signal: controller.signal,
652
- }, function* (response) {
653
- if (response.headers.get("Content-Type")?.toLowerCase().startsWith("text/event-stream")) {
654
- yield* consumeMailboxSse(response, new AbortController(), function* (message) {
655
- yield* reactor.process((signal) => chunkBytes(message.msg, { signal }), {
656
- signal: controller.signal,
657
- });
658
- }, { idleTimeoutMs: 500, maxDurationMs: 5_000, services, signal: controller.signal });
659
- }
660
- else {
661
- yield* reactor.process((signal) => streamBytes(response.body, { signal }), {
662
- signal: controller.signal,
663
- });
664
- }
665
- });
666
- }
667
- /** Sign and queue one initial pass; unresolved requests rotate and appended work waits for the next turn. */
668
- *processPending() {
669
- if (this.closed)
670
- return;
671
- this.tickContinuations();
672
- const count = this.requests.length;
673
- for (let index = 0; index < count; index++) {
674
- const request = this.requests.peekHead();
675
- if (!request)
676
- break;
677
- if (this.prepareRequest(request))
678
- this.requests.pull();
679
- else {
680
- this.requests.pull();
681
- this.requests.append(request);
682
- }
683
- }
684
- this.tickContinuations();
685
- }
686
- /** Abort and join real output before clearing packets and correspondence. */
687
- *close() {
688
- this.closed = true;
689
- this.output?.abort();
690
- if (this.outputJoined)
691
- yield* call(() => this.outputJoined);
692
- this.requests.clear();
693
- this.deliveries.clear();
694
- this.continuations = [];
695
- }
696
- /** Continuous background query worker for long-lived runtime hosts. */
697
- *queryDo() {
698
- while (true) {
699
- yield* this.processPending();
700
- yield* runtimeTurn();
701
- }
702
- }
703
- /**
704
- * Resolve the habitat that is allowed to sign the outbound query.
705
- *
706
- * Resolution order:
707
- * - explicitly selected local signer (unavailable means unresolved, never fallback)
708
- * - runtime-configured habitat
709
- * - sole local habitat
710
- */
711
- configuredHab(signer) {
712
- return signer === undefined ? this.hab ?? soleHab(this.hby) : this.hby.habs.get(signer) ?? null;
713
- }
714
- /** Observe retained cue evidence after its immediate destination transfer. */
715
- observeCue(cue) {
716
- for (const continuation of this.continuations)
717
- continuation.observe(cue, this);
718
- this.compactContinuations();
719
- }
720
- tickContinuations() {
721
- for (const continuation of this.continuations)
722
- continuation.tick(this);
723
- this.compactContinuations();
724
- }
725
- compactContinuations() {
726
- this.continuations = this.continuations.filter((continuation) => !continuation.done);
727
- }
728
- /** Capture the selected signer's query, introduction and endpoint before retiring its source request. */
729
- prepareRequest(request) {
730
- const hab = this.configuredHab(request.signer);
731
- if (!hab)
732
- return false;
733
- const destination = request.src
734
- ?? this.attestersFor(request.pre, { signer: hab.pre, wits: request.wits })[0];
735
- if (!destination)
736
- return false;
737
- const url = resolveQueryDestinationUrl(hab, request.pre, destination, {
738
- explicitWitness: request.wits?.includes(destination) ?? false,
739
- });
740
- if (!url)
741
- throw new ValidationError(`No endpoint URL found for query destination ${destination}.`);
742
- const message = hab.query(request.pre, destination, copyQuery(request));
743
- const intro = introduce(hab, destination);
744
- this.deliveries.push({ url, body: concatBytes(intro, message), bodyMode: this.hby.cesrBodyMode, destination });
745
- return true;
746
- }
747
- /** Return eligible attester IDs in role priority; explicit witness overrides retain caller order. */
748
- attestersFor(pre, { signer, wits } = {}) {
749
- if (wits && wits.length > 0) {
750
- // Explicit watcher/witness overrides outrank endpoint-role lookup.
751
- return [...wits];
752
- }
753
- const hab = this.configuredHab(signer);
754
- if (!hab)
755
- return [];
756
- const ends = hab.endsFor(pre);
757
- for (const role of QUERY_ROLE_PRIORITY) {
758
- const roleEnds = ends[role];
759
- if (!roleEnds) {
760
- continue;
761
- }
762
- // Keep stable candidate order; ordinary requests still select the first ID.
763
- const eids = Object.keys(roleEnds).sort();
764
- if (eids.length > 0)
765
- return eids;
766
- }
767
- if ((ends[Roles.mailbox] && Object.keys(ends[Roles.mailbox]).length > 0)
768
- && this.hby.db.getKever(pre)) {
769
- // Mailbox-only topologies still query the controller AID itself; the
770
- // mailbox role affects delivery transport, not the attester identity.
771
- return [pre];
772
- }
773
- return [];
774
- }
775
- }