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
@@ -0,0 +1,172 @@
1
+ /** Native HTTP request construction, byte I/O and joined attempt cleanup. */
2
+ import { call, resource, scoped } from "effection";
3
+ import { ValidationError } from "../../core/errors.js";
4
+ import { abortable } from "../runtime/abortable.js";
5
+ import { collectBytes } from "./byte-source.js";
6
+ import { TransportError } from "./transport-error.js";
7
+ /**
8
+ * Own the native Request, fetch and response reader for one attempt.
9
+ * Construction errors remain outside network classification. Native fetch/read
10
+ * errors retain their causes as TransportError. Consumer execution remains outside
11
+ * those catches; scope exit aborts and joins I/O before releasing its reader.
12
+ * Protocol consumers never receive the native Response.
13
+ */
14
+ export class FetchHttpClient {
15
+ /**
16
+ * Consume finite bytes and finish the request scope before returning a completed response.
17
+ *
18
+ * @param url Absolute HTTP(S) URL; invalid URL/request construction fails before fetch.
19
+ * @param init Prepared method, headers, finite body and cancellation; omitted values use native Request defaults.
20
+ * @returns Status, headers and complete owned bytes after request cleanup.
21
+ * @throws Validation/construction errors remain caller errors; native fetch/body failures are TransportError with cause. Cancellation and cleanup failures remain visible.
22
+ */
23
+ request(url, init = {}) {
24
+ const open = this.open.bind(this);
25
+ return scoped(function* () {
26
+ const response = yield* open(url, init);
27
+ const body = yield* abortable((signal) => collectBytes(response.body(signal)), init.signal ?? undefined);
28
+ return { status: response.status, ok: response.ok, headers: response.headers, body };
29
+ });
30
+ }
31
+ /**
32
+ * Acquire headers and lend response bytes until the enclosing Effection scope ends.
33
+ * Validate Request before fetch; scope exit aborts unread I/O, joins pending
34
+ * fetch/read work and releases the reader. Consumer failures stay outside the
35
+ * transport catches. The response must not escape this scope.
36
+ *
37
+ * @param url Absolute HTTP(S) endpoint without embedded credentials.
38
+ * @param init Prepared method, headers, finite body and optional upstream cancellation; native Request defaults apply.
39
+ * @returns Metadata and one borrowed body source; status success does not prove body completion.
40
+ * @throws Validation errors precede network execution. Native fetch/read failures retain their cause in TransportError; cancellation and distinct cleanup failures propagate.
41
+ */
42
+ open(url, init = {}) {
43
+ return resource(function* (provide) {
44
+ const controller = new AbortController();
45
+ const signal = init.signal ? AbortSignal.any([controller.signal, init.signal]) : controller.signal;
46
+ // These handles let scope teardown join native work before releasing the reader.
47
+ let fetching;
48
+ let reader;
49
+ let reading;
50
+ let failure;
51
+ let bodySignal;
52
+ /** A borrowing parser must interrupt its read before child teardown tries to join it. */
53
+ const abortBody = () => controller.abort(bodySignal.reason);
54
+ /**
55
+ * Classify only native fetch/read failures, preserving exact caller cancellation.
56
+ * @param cause Native rejection; consumer/parser exceptions never enter this helper.
57
+ * @param message Operation detail to combine with the endpoint URL.
58
+ * @returns Original cancellation reason or a TransportError retaining cause.
59
+ */
60
+ const transportFailure = (cause, message) => signal.aborted && cause === signal.reason ? cause : new TransportError(`${message} for ${url}`, { cause });
61
+ try {
62
+ signal.throwIfAborted();
63
+ const endpoint = new URL(url);
64
+ if (!["http:", "https:"].includes(endpoint.protocol) || endpoint.username || endpoint.password) {
65
+ throw new ValidationError("HTTP output requires an HTTP(S) URL without credentials");
66
+ }
67
+ // Construction errors are caller errors, before native network classification.
68
+ const request = new Request(url, { ...init, signal, body: init.body });
69
+ fetching = fetch(request).catch((cause) => {
70
+ throw transportFailure(cause, "HTTP request failed");
71
+ });
72
+ const response = yield* call(() => fetching);
73
+ signal.throwIfAborted();
74
+ yield* provide({
75
+ status: response.status,
76
+ ok: response.ok,
77
+ headers: response.headers,
78
+ /**
79
+ * Borrow the native response reader for this request scope.
80
+ * Early iterator return aborts the request; the enclosing owner joins cleanup.
81
+ *
82
+ * @param consumerSignal Optional consumer cancellation; abort interrupts this request and any pending read.
83
+ * @returns A single-consumer iterable of byte chunks, valid only while the request scope remains open.
84
+ */
85
+ body(consumerSignal) {
86
+ if (reader)
87
+ throw new Error("HTTP response body already acquired");
88
+ bodySignal = consumerSignal;
89
+ bodySignal?.addEventListener("abort", abortBody, { once: true });
90
+ if (bodySignal?.aborted)
91
+ abortBody();
92
+ reader = response.body?.getReader();
93
+ return {
94
+ /** Pull ordinary chunks; consumer execution stays outside the transport catch. */
95
+ async *[Symbol.asyncIterator]() {
96
+ try {
97
+ signal.throwIfAborted();
98
+ while (reader) {
99
+ signal.throwIfAborted();
100
+ reading = reader.read().catch((cause) => {
101
+ // Node 20 Fetch replaces the supplied reason with a native AbortError during body reads.
102
+ if (signal.aborted && cause instanceof DOMException && cause.name === "AbortError") {
103
+ throw signal.reason;
104
+ }
105
+ throw transportFailure(cause, "HTTP response body failed");
106
+ });
107
+ let result;
108
+ try {
109
+ result = await reading;
110
+ }
111
+ catch (error) {
112
+ failure = { error };
113
+ throw error;
114
+ }
115
+ finally {
116
+ reading = undefined;
117
+ }
118
+ signal.throwIfAborted();
119
+ if (result.done)
120
+ return;
121
+ yield result.value;
122
+ }
123
+ }
124
+ finally {
125
+ // Early iterator return stops the native response; the request scope joins it.
126
+ controller.abort();
127
+ }
128
+ },
129
+ };
130
+ },
131
+ });
132
+ }
133
+ catch (error) {
134
+ failure = { error };
135
+ throw error;
136
+ }
137
+ finally {
138
+ // Fetch abort also stops unread bodies. Do not create a second cancellation path.
139
+ controller.abort();
140
+ const cleanup = [];
141
+ yield* call(async () => {
142
+ for (const pending of [fetching, reading]) {
143
+ try {
144
+ await pending;
145
+ }
146
+ catch (error) {
147
+ if (error !== signal.reason && error !== failure?.error)
148
+ cleanup.push(error);
149
+ }
150
+ }
151
+ try {
152
+ reader?.releaseLock();
153
+ }
154
+ catch (error) {
155
+ cleanup.push(error);
156
+ }
157
+ bodySignal?.removeEventListener("abort", abortBody);
158
+ });
159
+ // Throw outside the Promise leaf so Effection teardown preserves genuine cleanup failures.
160
+ if (cleanup.length) {
161
+ if (failure && failure.error !== signal.reason)
162
+ cleanup.unshift(failure.error);
163
+ // deno-lint-ignore no-unsafe-finally -- A joined cleanup failure must remain visible during halt.
164
+ if (cleanup.length === 1)
165
+ throw cleanup[0];
166
+ // deno-lint-ignore no-unsafe-finally -- Preserve the primary failure alongside distinct cleanup failure.
167
+ throw new AggregateError(cleanup, "HTTP request and cleanup failed", { cause: cleanup[0] });
168
+ }
169
+ }
170
+ });
171
+ }
172
+ }
@@ -0,0 +1,52 @@
1
+ import { chunkBytes } from "./byte-source.js";
2
+ import { attemptPostCesr } from "./cesr-egress.js";
3
+ /**
4
+ * Send ordinary signed messages as ordered HTTP POSTs and finish response cleanup.
5
+ * Producers own preparation and Poster owns queued work. This component needs no
6
+ * Habery, protocol processor, parser state, timer or response history.
7
+ *
8
+ * Corresponds to the ordinary POST role of KERIpy HTTPMessenger. Complete CESR
9
+ * frames become separate POSTs: original signed body in the request body, text
10
+ * attachments in CESR-ATTACHMENT. Only the recognized pre-intake media refusal
11
+ * permits a second attempt with legacy media metadata. Successful response bytes
12
+ * are drained and discarded; protocol receiving belongs to independent intake.
13
+ */
14
+ export class HTTPMessenger {
15
+ /** Bind one endpoint and request metadata; construction performs no I/O. */
16
+ constructor(url, http, options = {}) {
17
+ Object.defineProperty(this, "url", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: url
22
+ });
23
+ Object.defineProperty(this, "http", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: http
28
+ });
29
+ Object.defineProperty(this, "options", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: options
34
+ });
35
+ }
36
+ /**
37
+ * Send resident signed bytes through the same parser/request path as sendSource.
38
+ * Keep the input unchanged until completion. A complete result proves transport
39
+ * completion, not remote verification, storage, approval or a processed reply.
40
+ */
41
+ send(msg, options = {}) {
42
+ return this.sendSource((signal) => chunkBytes(msg, { signal }), options);
43
+ }
44
+ /**
45
+ * Iterate ordinary messages into POSTs; this is not whole-stream PUT delivery.
46
+ * A later malformed message cannot prevent an earlier valid POST. Parser,
47
+ * transport, source and cleanup failures propagate; HTTP refusal is typed data.
48
+ */
49
+ sendSource(source, options = {}) {
50
+ return attemptPostCesr(this.url, source, this.http, { ...this.options, ...options });
51
+ }
52
+ }
@@ -0,0 +1,60 @@
1
+ import { buildCesrStreamRequest, CESR_ATTACHMENT_HEADER, CESR_DESTINATION_HEADER } from "./cesr-http.js";
2
+ /**
3
+ * Bind one complete prepared payload to KERIpy-style HTTPStreamMessenger PUT.
4
+ * This component does not inspect CESR frames or own a producer queue. The
5
+ * producer prepares introductions, genus transitions and any sealing before
6
+ * construction; send owns only the actual request and joined response cleanup.
7
+ */
8
+ export class HTTPStreamMessenger {
9
+ /** Construction borrows a finite payload; its producer must not mutate it during delivery. */
10
+ constructor(url, http, payload, options = {}) {
11
+ Object.defineProperty(this, "url", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: url
16
+ });
17
+ Object.defineProperty(this, "http", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: http
22
+ });
23
+ Object.defineProperty(this, "payload", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: payload
28
+ });
29
+ Object.defineProperty(this, "options", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: options
34
+ });
35
+ }
36
+ /**
37
+ * Send exactly one PUT without parsing, re-encoding or fallback to POST.
38
+ * Return ordinary owned response bytes after request cleanup; HTTP success
39
+ * alone does not establish protocol acceptance. Cancellation/failures propagate.
40
+ * Non-success status is returned to the caller as HttpResponse for interpretation.
41
+ * The complete payload is the body with explicit length; CESR-ATTACHMENT is
42
+ * removed because this is not ordinary detached-attachment POST framing.
43
+ */
44
+ send(options = {}) {
45
+ const prepared = buildCesrStreamRequest(this.payload, this.options);
46
+ const headers = new Headers(this.options.headers);
47
+ headers.delete(CESR_DESTINATION_HEADER);
48
+ for (const [key, value] of Object.entries(prepared.headers))
49
+ headers.set(key, value);
50
+ headers.delete(CESR_ATTACHMENT_HEADER);
51
+ headers.set("Content-Length", String(this.payload.byteLength));
52
+ return this.http.request(this.url, {
53
+ method: "PUT",
54
+ headers,
55
+ body: prepared.body,
56
+ redirect: "manual",
57
+ signal: options.signal,
58
+ });
59
+ }
60
+ }
@@ -0,0 +1,57 @@
1
+ /** HTTP caller policies; the composed client owns native requests, readers and cleanup. */
2
+ import { call, resource } from "effection";
3
+ /**
4
+ * Acquire headers under the mailbox's existing timeout-as-no-response policy.
5
+ * The timer ends at headers, while the client resource remains live in this
6
+ * caller scope for body consumption. Only this timer's exact abort becomes null;
7
+ * external abort, native I/O and cleanup failures remain visible.
8
+ *
9
+ * @param http Borrowed HTTP implementation selected by composition.
10
+ * @param clock Borrowed clock with epoch-millisecond now and millisecond timer delays.
11
+ * @param url Absolute HTTP(S) endpoint.
12
+ * @param init Prepared request fields and optional upstream cancellation.
13
+ * @param timeoutMs Header-acquisition window in milliseconds; body consumption has its own caller policy.
14
+ * @returns Scoped response after headers, or null only for this owner's header timeout.
15
+ */
16
+ export function requestWithHeaderTimeout(http, clock, url, init, timeoutMs) {
17
+ return resource(function* (provide) {
18
+ const controller = new AbortController();
19
+ const signal = init.signal ? AbortSignal.any([controller.signal, init.signal]) : controller.signal;
20
+ let timer;
21
+ let timedOut = false;
22
+ /** Header acquisition clears its timer without ending the owning request scope. */
23
+ const clearTimer = () => {
24
+ if (timer !== undefined)
25
+ clock.clearTimeout(timer);
26
+ timer = undefined;
27
+ };
28
+ try {
29
+ signal.throwIfAborted();
30
+ timer = clock.setTimeout(() => {
31
+ if (!signal.aborted) {
32
+ timedOut = true;
33
+ controller.abort();
34
+ }
35
+ }, timeoutMs);
36
+ try {
37
+ // Keep acquisition failure inside an error boundary without closing a successful body early.
38
+ yield* call(function* () {
39
+ const response = yield* http.open(url, { ...init, signal });
40
+ clearTimer();
41
+ yield* provide(response);
42
+ });
43
+ }
44
+ catch (error) {
45
+ if (!timedOut || error !== controller.signal.reason)
46
+ throw error;
47
+ clearTimer();
48
+ yield* provide(null);
49
+ return;
50
+ }
51
+ }
52
+ finally {
53
+ clearTimer();
54
+ controller.abort();
55
+ }
56
+ });
57
+ }
@@ -0,0 +1,77 @@
1
+ /** Buffered input iteration and joined parser/source cleanup shared by concrete input owners. */
2
+ import { parse } from "cesr-ts";
3
+ import { call, ensure, on, race } from "effection";
4
+ import { rethrowCleanupFailure } from "../runtime/abortable.js";
5
+ /**
6
+ * Consume complete frames through the supplied input-owned Kevery and shared protocol owner.
7
+ * A pending read is joined before iterator return; cancellation cannot resume the
8
+ * caller after disposal. The owning input operation borrows processors and acquires
9
+ * no stores, queues, transport services or background workers here.
10
+ *
11
+ * @param source Creates the input byte source with this operation's abort signal; each source must honor cancellation.
12
+ * @param protocol Borrowed dispatcher over synchronous domain commits and correlated cue publication.
13
+ * @param kvy Input-owned KEL processor bound to the same store, reply verifier and cue flow.
14
+ * @param options Dispatch policy and optional upstream cancellation; defaults follow the shared processor.
15
+ * @throws Parsing, dispatch and cleanup failures propagate after the pending pull and iterator cleanup join.
16
+ */
17
+ export function* processMessages(source, protocol, kvy, options = {}) {
18
+ const input = call(function* () {
19
+ const controller = new AbortController();
20
+ const signal = options.signal ? AbortSignal.any([controller.signal, options.signal]) : controller.signal;
21
+ try {
22
+ signal.throwIfAborted();
23
+ const frames = parse(source(signal));
24
+ let pending;
25
+ // This earlier resource joins I/O after dispatch/read children have stopped.
26
+ yield* ensure(function* () {
27
+ try {
28
+ if (pending) {
29
+ try {
30
+ yield* call(() => pending);
31
+ }
32
+ catch (error) {
33
+ rethrowCleanupFailure(error, signal);
34
+ }
35
+ }
36
+ }
37
+ finally {
38
+ yield* call(() => frames.return());
39
+ }
40
+ });
41
+ while (true) {
42
+ signal.throwIfAborted();
43
+ pending = frames.next();
44
+ let result;
45
+ try {
46
+ result = yield* call(() => pending);
47
+ }
48
+ catch (error) {
49
+ pending = undefined; // Already reported; the parser has joined its source cleanup.
50
+ throw error;
51
+ }
52
+ pending = undefined;
53
+ signal.throwIfAborted();
54
+ if (result.done)
55
+ return;
56
+ yield* protocol.dispatch(result.value, options, kvy);
57
+ }
58
+ }
59
+ finally {
60
+ controller.abort();
61
+ }
62
+ });
63
+ if (options.signal) {
64
+ const signal = options.signal;
65
+ yield* race([
66
+ input,
67
+ call(function* () {
68
+ const abort = yield* on(signal, "abort");
69
+ signal.throwIfAborted();
70
+ yield* abort.next();
71
+ throw signal.reason;
72
+ }),
73
+ ]);
74
+ }
75
+ else
76
+ yield* input;
77
+ }
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Concrete messenger factories corresponding to KERIpy agenting.messengerFrom
3
+ * and streamMessengerFrom. Callers resolve identity roles/relay policy first;
4
+ * these functions choose only among the supplied transport URLs and open no I/O.
5
+ *
6
+ * Ordinary messages and opaque streams are different producer operations. They
7
+ * do not select a stored framing preference or acquire workers, stores or queues.
8
+ */
9
+ import { ValidationError } from "../../core/errors.js";
10
+ import { HTTPMessenger } from "./http-messenger.js";
11
+ import { HTTPStreamMessenger } from "./http-stream-messenger.js";
12
+ import { TCPMessenger } from "./tcp-messenger.js";
13
+ import { TCPStreamMessenger } from "./tcp-stream-messenger.js";
14
+ /** Choose HTTPS, HTTP, then TCP and reject a mismatched advertised scheme before I/O. */
15
+ function endpointFrom(urls) {
16
+ for (const scheme of ["https", "http", "tcp"]) {
17
+ const value = urls[scheme];
18
+ if (value === undefined)
19
+ continue;
20
+ const endpoint = new URL(value);
21
+ if (endpoint.protocol !== `${scheme}:` || endpoint.username || endpoint.password) {
22
+ throw new ValidationError(`Invalid ${scheme} messenger endpoint: ${value}`);
23
+ }
24
+ if (scheme === "tcp" && (!endpoint.port || Number(endpoint.port) < 1 || Number(endpoint.port) > 65535)) {
25
+ throw new ValidationError(`TCP messenger endpoint requires a valid port: ${value}`);
26
+ }
27
+ return endpoint;
28
+ }
29
+ throw new ValidationError("No supported messenger endpoint is available.");
30
+ }
31
+ /**
32
+ * Bind ordinary signed-message delivery to the first present HTTPS/HTTP/TCP URL.
33
+ * A malformed higher-priority URL fails rather than falling through to another
34
+ * transport. There is no network retry or endpoint discovery at this boundary.
35
+ *
36
+ * @param destination Remote AID carried in the HTTP CESR-DESTINATION header.
37
+ * @param urls Already resolved endpoints, keyed by their actual scheme.
38
+ * @param http Borrowed HTTP implementation, used only for an HTTP(S) selection.
39
+ * @param clock Borrowed deadline clock, used only for a TCP selection.
40
+ * @param headers Additional HTTP headers, such as Authorization; ignored by TCP.
41
+ * @returns A transmit-only messenger; caller runs send and owns its lifetime.
42
+ */
43
+ export function messengerFrom(destination, urls, http, clock, headers) {
44
+ const endpoint = endpointFrom(urls);
45
+ if (endpoint.protocol === "tcp:")
46
+ return new TCPMessenger(endpoint.href, clock);
47
+ return new HTTPMessenger(endpoint.href, http, { destination, headers });
48
+ }
49
+ /**
50
+ * Bind one prepared opaque payload to HTTP PUT or raw TCP delivery.
51
+ * No parser, re-signing or fallback to ordinary POST is introduced. This follows
52
+ * KERIpy's separate stream factory; "stream" describes the transport operation,
53
+ * while this API borrows finite resident bytes.
54
+ *
55
+ * @param destination Remote AID carried in HTTP framing; not a receipt/acceptance claim.
56
+ * @param urls Resolved endpoints, with the same fail-fast preference as messengerFrom.
57
+ * @param payload Complete prepared wire; caller must keep it unchanged until send finishes.
58
+ * @param http Borrowed HTTP service for a possible PUT.
59
+ * @param clock Borrowed clock for possible TCP connection/drain deadlines.
60
+ * @param headers Additional HTTP headers; ignored by TCP.
61
+ * @returns An unstarted messenger with no receive loop or scheduling ownership.
62
+ */
63
+ export function streamMessengerFrom(destination, urls, payload, http, clock, headers) {
64
+ const endpoint = endpointFrom(urls);
65
+ if (endpoint.protocol === "tcp:")
66
+ return new TCPStreamMessenger(endpoint.href, clock, payload);
67
+ return new HTTPStreamMessenger(endpoint.href, http, payload, { destination, headers });
68
+ }
@@ -5,6 +5,11 @@ const readers = new WeakSet();
5
5
  * Socket/OS buffers and a returned native view can have larger backing; copied output is independent.
6
6
  * Abort, failure or early return destroys and joins the socket. Genuine receive EOF leaves its writable
7
7
  * half intact; the caller must own later socket errors, output drain and final close (allowHalfOpen).
8
+ *
9
+ * @param socket Borrowed binary socket with no competing readable/data consumer; receive ownership is acquired on first pull.
10
+ * @param options Required abort signal and optional positive chunk size in bytes; default 65536.
11
+ * @returns An exclusive iterator allowing one pending next call; each chunk owns its backing buffer.
12
+ * @throws Competing readers, text/object-mode sockets, invalid chunk sizes, I/O and cleanup failures.
8
13
  */
9
14
  export function socketBytes(socket, { signal, maxChunkBytes = 64 * 1024 }) {
10
15
  if (!Number.isSafeInteger(maxChunkBytes) || maxChunkBytes < 1) {
@@ -17,6 +22,10 @@ export function socketBytes(socket, { signal, maxChunkBytes = 64 * 1024 }) {
17
22
  let pending;
18
23
  /** Wake the sole pending pull without starting another socket read. */
19
24
  const readable = () => wake?.();
25
+ /**
26
+ * Preserve the first read failure and wake the pending pull to report it.
27
+ * @param error Socket error or exact owner cancellation reason.
28
+ */
20
29
  const fail = (error) => {
21
30
  if (!failed) {
22
31
  failed = true;
@@ -24,10 +33,12 @@ export function socketBytes(socket, { signal, maxChunkBytes = 64 * 1024 }) {
24
33
  }
25
34
  readable();
26
35
  };
36
+ /** Mark genuine receive EOF without closing the writable half. */
27
37
  const end = () => {
28
38
  ended = true;
29
39
  readable();
30
40
  };
41
+ /** Settle native close and report premature closure to any pending pull. */
31
42
  const close = () => {
32
43
  closed = true;
33
44
  if (!ended && !socket.readableEnded)
@@ -35,7 +46,11 @@ export function socketBytes(socket, { signal, maxChunkBytes = 64 * 1024 }) {
35
46
  finishClose?.();
36
47
  readable();
37
48
  };
38
- /** Keep error/close listeners until destruction joins; EOF only releases readable ownership. */
49
+ /**
50
+ * Keep error/close listeners until destruction joins; EOF only releases read ownership.
51
+ * @param eof True only after genuine receive EOF, preserving the writable half.
52
+ * @returns Shared cleanup promise; repeated calls join the same cleanup.
53
+ */
39
54
  const cleanup = (eof = false) => closing ??= (async () => {
40
55
  if (!started)
41
56
  return;
@@ -55,6 +70,7 @@ export function socketBytes(socket, { signal, maxChunkBytes = 64 * 1024 }) {
55
70
  readers.delete(socket);
56
71
  }
57
72
  })();
73
+ /** Interrupt the blocked pull now; its next/return owner joins the cleanup promise. */
58
74
  const abort = () => {
59
75
  fail(signal.reason);
60
76
  // The original Promise stays owned by next()/return(), which join and propagate cleanup errors.
@@ -91,7 +107,11 @@ export function socketBytes(socket, { signal, maxChunkBytes = 64 * 1024 }) {
91
107
  else
92
108
  socket.resume();
93
109
  };
94
- /** Read only available bytes, so a short fragment does not wait for a full chunk or EOF. */
110
+ /**
111
+ * Read only available bytes, so a short fragment does not wait for a full chunk or EOF.
112
+ * @returns One copied binary chunk or EOF after releasing read ownership.
113
+ * @throws Original read failure after cleanup, or an aggregate retaining distinct cleanup failure.
114
+ */
95
115
  const pull = async () => {
96
116
  try {
97
117
  if (!started)
@@ -139,6 +159,11 @@ export function socketBytes(socket, { signal, maxChunkBytes = 64 * 1024 }) {
139
159
  }
140
160
  };
141
161
  return {
162
+ /**
163
+ * Perform the sole pending pull, acquiring readable ownership lazily.
164
+ *
165
+ * @returns The next copied chunk or EOF; overlapping calls reject.
166
+ */
142
167
  next() {
143
168
  if (busy)
144
169
  return Promise.reject(new Error("Concurrent socket pull"));
@@ -147,6 +172,13 @@ export function socketBytes(socket, { signal, maxChunkBytes = 64 * 1024 }) {
147
172
  busy = true;
148
173
  return pending = pull();
149
174
  },
175
+ /**
176
+ * Stop iteration early and join socket destruction.
177
+ * A source never pulled owns no socket resources; genuine EOF has already
178
+ * released readable ownership while preserving the writable half.
179
+ *
180
+ * @returns EOF after any acquired socket cleanup and outstanding pull join.
181
+ */
150
182
  async return() {
151
183
  done = true;
152
184
  if (started) {
@@ -156,6 +188,11 @@ export function socketBytes(socket, { signal, maxChunkBytes = 64 * 1024 }) {
156
188
  }
157
189
  return { done: true, value: undefined };
158
190
  },
191
+ /**
192
+ * Expose the same reader to for-await iteration; do not create a second consumer.
193
+ *
194
+ * @returns This single-consumer iterator.
195
+ */
159
196
  [Symbol.asyncIterator]() {
160
197
  return this;
161
198
  },