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,9 +1,21 @@
1
- import { call } from "effection";
2
- import { closeResponseBody, fetchResponseHandle } from "./httping.js";
1
+ import { call, scoped } from "effection";
2
+ import { persistResolvedContact } from "../identity/organizing.js";
3
+ import { runtimeTurn } from "../runtime/runtime-turn.js";
3
4
  import { isWellKnownOobiUrl, parseOobiUrl } from "./oobiery.js";
4
- import { persistResolvedContact } from "./organizing.js";
5
- import { defaultRuntimeServices } from "./runtime-services.js";
6
- import { runtimeTurn } from "./runtime-turn.js";
5
+ /**
6
+ * Return true when a well-known URL has been authorized into `wkas.`.
7
+ *
8
+ * @param db Borrowed authentication records; this read acquires no runtime or I/O lifetime.
9
+ * @param url Exact requested OOBI/well-known URL whose durable state is inspected.
10
+ * @returns Whether the documented authentication/convergence predicate currently holds.
11
+ */
12
+ export function hasWellKnownAuth(db, url) {
13
+ const cid = parseOobiUrl(url).cid;
14
+ if (!cid) {
15
+ return false;
16
+ }
17
+ return db.wkas.get(cid).some((record) => record.url === url);
18
+ }
7
19
  /**
8
20
  * Well-known OOBI authenticator for one `Habery`.
9
21
  *
@@ -18,22 +30,29 @@ import { runtimeTurn } from "./runtime-turn.js";
18
30
  * - `wkas.` records successful `(cid, url)` authorizations
19
31
  */
20
32
  export class Authenticator {
21
- constructor(hby, options = {}) {
33
+ /**
34
+ * Bind the local authentication store and its configured HTTP dependency.
35
+ *
36
+ * @param hby Borrowed local identities and accepted-state stores.
37
+ * @param http Borrowed HTTP implementation selected by composition.
38
+ */
39
+ constructor(hby, http) {
40
+ /** Borrowed local identities and durable well-known authentication records. */
22
41
  Object.defineProperty(this, "hby", {
23
42
  enumerable: true,
24
43
  configurable: true,
25
44
  writable: true,
26
45
  value: void 0
27
46
  });
28
- Object.defineProperty(this, "services", {
47
+ /** HTTP implementation selected when this authenticator is composed. */
48
+ Object.defineProperty(this, "http", {
29
49
  enumerable: true,
30
50
  configurable: true,
31
51
  writable: true,
32
52
  value: void 0
33
53
  });
34
- const services = options.services ?? defaultRuntimeServices;
35
54
  this.hby = hby;
36
- this.services = services;
55
+ this.http = http;
37
56
  }
38
57
  /** Process one bounded auth step if queued well-known work exists. */
39
58
  *processOnce() {
@@ -100,16 +119,24 @@ export class Authenticator {
100
119
  }
101
120
  return null;
102
121
  }
103
- /** Fetch one `mfa.` record and persist the terminal auth result. */
122
+ /**
123
+ * Fetch one `mfa.` record and persist the terminal auth result.
124
+ *
125
+ * @param url Exact pending well-known authentication URL.
126
+ * @param record Durable mfa record retained until response handling and cleanup establish terminal state.
127
+ */
104
128
  *processPendingAuth(url, record) {
105
129
  // Only HTTP status is needed; the response owner still joins body cleanup.
106
130
  const cid = record.cid
107
131
  ?? parseOobiUrl(url, record.oobialias ?? undefined).cid
108
132
  ?? null;
109
- const response = yield* fetchAuthResponse(url, this.services);
133
+ const http = this.http;
134
+ const response = yield* scoped(function* () {
135
+ const response = yield* http.open(url);
136
+ return { ok: response.ok, status: response.status };
137
+ });
110
138
  const date = new Date().toISOString();
111
139
  const state = response.ok ? "resolved" : `http-${response.status}`;
112
- yield* closeResponseBody(response);
113
140
  this.hby.db.mfa.rem(url);
114
141
  this.hby.db.rmfa.pin(url, {
115
142
  ...record,
@@ -126,9 +153,3 @@ export class Authenticator {
126
153
  }
127
154
  }
128
155
  }
129
- function* fetchAuthResponse(url, services) {
130
- const { response } = yield* fetchResponseHandle(url, {}, {
131
- services,
132
- });
133
- return response;
134
- }
@@ -0,0 +1,109 @@
1
+ /** Finite introduction/authentication composition shared by environment creation and inception. */
2
+ import { scoped, spawn } from "effection";
3
+ import { createProtocolProcessor } from "../protocol/protocol-processing.js";
4
+ import { runtimeTurn } from "../runtime/runtime-turn.js";
5
+ import { Authenticator, hasWellKnownAuth } from "./authenticating.js";
6
+ import { Oobiery, oobiTerminalState } from "./oobiery.js";
7
+ /**
8
+ * Resolve this command's pending introductions and well-known authentication.
9
+ *
10
+ * The command is the sole OOBI/authentication worker owner for its borrowed Habery.
11
+ * Select existing oobis/coobi/moobi and woobi/mfa rows, then include children and
12
+ * introductions queued by processing them. Old terminal rows alone select no work.
13
+ * Surviving coobi/mfa/moobi rows resume through their ordinary component owners.
14
+ * A queued attempt takes precedence over any older terminal/authorization row.
15
+ * The actual table family selects its terminal evidence: a well-known URL may
16
+ * be an ordinary introduction, a separate authentication, or both.
17
+ *
18
+ * Like KERIpy init, compose Oobiery and Authenticator directly. Resolution means
19
+ * that Oobiery processed the response, not that all its protocol evidence was
20
+ * accepted. KEL/reply escrow processing lets evidence arriving in separate
21
+ * responses unlock introductions and authentication's required controller state.
22
+ * Escrow contents never determine bootstrap completion. Later operations must
23
+ * check the accepted evidence they actually require.
24
+ *
25
+ * @param hby Borrowed identities/configuration/Baser; kept open through cleanup.
26
+ * @param http Borrowed request implementation used by OOBIs and authentication.
27
+ * @param options Finite positive elapsed deadline, default 30 seconds.
28
+ * @returns Selected terminal success, refusal or deadline after all children/I/O join.
29
+ * @throws Invariant, parser, storage, transport and cleanup failures propagate unchanged.
30
+ */
31
+ export function resolveBootstrap(hby, http, { timeoutMs = 30_000 } = {}) {
32
+ return scoped(function* bootstrapScope() {
33
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
34
+ throw new RangeError("Bootstrap timeout must be finite and positive");
35
+ }
36
+ const selected = { oobis: new Set(), woobi: new Set() };
37
+ collectPendingUrls(hby.db, selected);
38
+ if (selected.oobis.size === 0 && selected.woobi.size === 0)
39
+ return { kind: "complete" };
40
+ const protocol = createProtocolProcessor(hby);
41
+ const oobiery = new Oobiery(hby, protocol, protocol.rvy, http, protocol.cues);
42
+ oobiery.registerReplyRoutes();
43
+ const authenticator = new Authenticator(hby, http);
44
+ yield* spawn(() => oobiery.oobiDo());
45
+ yield* spawn(() => authenticator.authDo());
46
+ yield* spawn(function* () {
47
+ while (true) {
48
+ protocol.processKelReplyEscrowsOnce();
49
+ yield* runtimeTurn();
50
+ }
51
+ });
52
+ const deadline = performance.now() + timeoutMs;
53
+ while (true) {
54
+ collectPendingUrls(hby.db, selected);
55
+ const result = inspectBootstrap(hby.db, selected);
56
+ if (result)
57
+ return result;
58
+ if (performance.now() >= deadline) {
59
+ const pending = [];
60
+ for (const kind of ["oobis", "woobi"]) {
61
+ for (const url of selected[kind])
62
+ if (!bootstrapUrlComplete(hby.db, url, kind))
63
+ pending.push(url);
64
+ }
65
+ return {
66
+ kind: "timeout",
67
+ pending: [...new Set(pending)],
68
+ };
69
+ }
70
+ yield* runtimeTurn();
71
+ }
72
+ });
73
+ }
74
+ /** Select actual queued/in-flight records; Oobiery owns multi-OOBI child completion. */
75
+ function collectPendingUrls(db, selected) {
76
+ for (const store of [db.oobis, db.coobi, db.moobi]) {
77
+ for (const [keys] of store.getTopItemIter())
78
+ if (keys[0])
79
+ selected.oobis.add(keys[0]);
80
+ }
81
+ for (const store of [db.woobi, db.mfa]) {
82
+ for (const [keys] of store.getTopItemIter())
83
+ if (keys[0])
84
+ selected.woobi.add(keys[0]);
85
+ }
86
+ }
87
+ /** Require current terminal evidence; a saved authorization cannot mask a queued retry. */
88
+ function bootstrapUrlComplete(db, url, kind) {
89
+ if (oobiTerminalState(db, url, kind).status !== "resolved")
90
+ return false;
91
+ return kind === "oobis" || hasWellKnownAuth(db, url);
92
+ }
93
+ /** Decide only from selected URLs; absence of queue rows alone never establishes success. */
94
+ function inspectBootstrap(db, selected) {
95
+ const failures = [];
96
+ let pending = false;
97
+ for (const kind of ["oobis", "woobi"]) {
98
+ for (const url of selected[kind]) {
99
+ const terminal = oobiTerminalState(db, url, kind);
100
+ if (terminal.status === "failed")
101
+ failures.push({ url, state: terminal.record?.state ?? "failed" });
102
+ else if (!bootstrapUrlComplete(db, url, kind))
103
+ pending = true;
104
+ }
105
+ }
106
+ if (failures.length)
107
+ return { kind: "failed", failures };
108
+ return pending ? null : { kind: "complete" };
109
+ }
@@ -1,8 +1,9 @@
1
1
  /** Lazy OOBI output borrows its Hab/keeper/database; metadata capture begins only on iterator acquisition. */
2
- import { DatabaseOperationError } from "../core/errors.js";
3
- import { Roles } from "../core/roles.js";
4
- import { dgKey } from "../db/core/keys.js";
5
- import { loadStoredReply } from "./stored-replies.js";
2
+ import { DatabaseOperationError } from "../../core/errors.js";
3
+ import { genusFramed } from "../../core/genus-framing.js";
4
+ import { Roles } from "../../core/roles.js";
5
+ import { dgKey } from "../../db/core/keys.js";
6
+ import { loadStoredReply } from "../delivery/stored-replies.js";
6
7
  /**
7
8
  * Capture primitive descriptors, then emit finite messages in the established OOBI order.
8
9
  * Selector inputs are borrowed and must stay immutable until acquisition under the caller's owner.
@@ -15,7 +16,8 @@ export function oobiReplyMessages(hab, cid, role, eids, scheme, requireReady) {
15
16
  const selected = [];
16
17
  for (let index = 0; index < count; index++)
17
18
  selected.push(eids[index]);
18
- return (function* () {
19
+ // KELs, other parties' stored replies and fresh replies may legitimately differ in genus.
20
+ return genusFramed((function* () {
19
21
  const parts = [], cloned = new Set();
20
22
  const clone = (pre) => {
21
23
  if (!pre || cloned.has(pre))
@@ -105,7 +107,7 @@ export function oobiReplyMessages(hab, cid, role, eids, scheme, requireReady) {
105
107
  : hab.makeEndRole(part.eid, part.role, true);
106
108
  }
107
109
  }
108
- })();
110
+ })());
109
111
  },
110
112
  };
111
113
  }
@@ -1,19 +1,53 @@
1
1
  import { Ilks, Prefixer, SerderKERI } 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 { OOBI_MAILBOX_TOPIC } from "../core/mailbox-topics.js";
6
- import { exchange } from "../core/protocol-exchanging.js";
7
- import { Roles } from "../core/roles.js";
8
- import { acceptReplyDecision, unverifiedReplyDecision } from "../core/routing.js";
9
- import { Schemer } from "../core/scheming.js";
10
- import { abortable } from "./abortable.js";
11
- import { collectBytes, streamBytes } from "./byte-source.js";
12
- import { closeResponseBody, fetchResponseHandle } from "./httping.js";
13
- import { persistResolvedContact } from "./organizing.js";
14
- import { defaultRuntimeServices } from "./runtime-services.js";
15
- import { runtimeTurn } from "./runtime-turn.js";
2
+ import { call, resource, scoped } from "effection";
3
+ import { ValidationError } from "../../core/errors.js";
4
+ import { exchange } from "../../core/exchange/protocol-exchanging.js";
5
+ import { OOBI_MAILBOX_TOPIC } from "../../core/mailbox/mailbox-topics.js";
6
+ import { Roles } from "../../core/roles.js";
7
+ import { acceptReplyDecision, unverifiedReplyDecision } from "../../core/routing.js";
8
+ import { Schemer } from "../../core/scheming.js";
9
+ import { persistResolvedContact } from "../identity/organizing.js";
10
+ import { abortable } from "../runtime/abortable.js";
11
+ import { runtimeTurn } from "../runtime/runtime-turn.js";
12
+ import { collectBytes } from "../transport/byte-source.js";
13
+ import { processMessages } from "../transport/message-source.js";
16
14
  export const OOBI_REQUEST_ROUTE = "/oobis";
15
+ /**
16
+ * Return the current terminal state projection for one requested OOBI URL.
17
+ *
18
+ * @param db Borrowed OOBI/authentication records; this read starts no workers or I/O.
19
+ * @param url Exact requested OOBI/well-known URL whose durable state is inspected.
20
+ * @param kind Actual queued family; ordinary CLI resolution infers it from the URL.
21
+ * Configuration may put the same well-known URL in introduction and auth queues.
22
+ * @returns Current durable terminal projection for that family.
23
+ */
24
+ export function oobiTerminalState(db, url, kind = queueKindFor(url)) {
25
+ if (kind === "woobi") {
26
+ if (db.woobi.get(url) || db.mfa.get(url))
27
+ return { status: "pending", via: "none", record: null };
28
+ const record = db.rmfa.get(url);
29
+ if (!record) {
30
+ return { status: "pending", via: "none", record: null };
31
+ }
32
+ return {
33
+ status: record.state === "resolved" ? "resolved" : "failed",
34
+ via: "rmfa",
35
+ record,
36
+ };
37
+ }
38
+ if (db.oobis.get(url) || db.coobi.get(url) || db.moobi.get(url)) {
39
+ return { status: "pending", via: "none", record: null };
40
+ }
41
+ const failed = db.eoobi.get(url);
42
+ if (failed) {
43
+ return { status: "failed", via: "eoobi", record: failed };
44
+ }
45
+ const resolved = db.roobi.get(url);
46
+ if (resolved) {
47
+ return { status: "resolved", via: "roobi", record: resolved };
48
+ }
49
+ return { status: "pending", via: "none", record: null };
50
+ }
17
51
  /**
18
52
  * Durable OOBI processing component for one `Habery`.
19
53
  *
@@ -28,45 +62,79 @@ export const OOBI_REQUEST_ROUTE = "/oobis";
28
62
  * leak back to the `AgentRuntime` root
29
63
  */
30
64
  export class Oobiery {
31
- constructor(hby, reactor, options = {}) {
65
+ /**
66
+ * Bind byte intake and the actual reply verifier used by OOBI proof persistence.
67
+ *
68
+ * @param hby Borrowed local identities and accepted-state stores.
69
+ * @param protocol Borrowed shared semantic owner; this component owns its fetched byte-input context.
70
+ * @param rvy Actual shared reply verifier used for OOBI reply proof persistence.
71
+ * @param http Borrowed HTTP implementation selected by composition.
72
+ * @param cues Required application result Deck supplied by composition.
73
+ */
74
+ constructor(hby, protocol,
75
+ /** Borrowed reply verifier; route installation and proof writes share this owner. */
76
+ rvy, http, cues) {
77
+ Object.defineProperty(this, "protocol", {
78
+ enumerable: true,
79
+ configurable: true,
80
+ writable: true,
81
+ value: protocol
82
+ });
83
+ Object.defineProperty(this, "rvy", {
84
+ enumerable: true,
85
+ configurable: true,
86
+ writable: true,
87
+ value: rvy
88
+ });
89
+ /** Borrowed local identities and durable OOBI job stores. */
32
90
  Object.defineProperty(this, "hby", {
33
91
  enumerable: true,
34
92
  configurable: true,
35
93
  writable: true,
36
94
  value: void 0
37
95
  });
38
- Object.defineProperty(this, "reactor", {
96
+ /** Input-specific KEL policy sharing accepted state and the composed reply verifier. */
97
+ Object.defineProperty(this, "kvy", {
39
98
  enumerable: true,
40
99
  configurable: true,
41
100
  writable: true,
42
101
  value: void 0
43
102
  });
103
+ /** OOBI completion/query observations consumed by the composed application flow. */
44
104
  Object.defineProperty(this, "cues", {
45
105
  enumerable: true,
46
106
  configurable: true,
47
107
  writable: true,
48
108
  value: void 0
49
109
  });
50
- Object.defineProperty(this, "services", {
110
+ /** Borrowed HTTP client; no network service is discovered through ingress. */
111
+ Object.defineProperty(this, "http", {
51
112
  enumerable: true,
52
113
  configurable: true,
53
114
  writable: true,
54
115
  value: void 0
55
116
  });
117
+ /** Prevent overlapping passes over this owner's durable job queue. */
56
118
  Object.defineProperty(this, "active", {
57
119
  enumerable: true,
58
120
  configurable: true,
59
121
  writable: true,
60
122
  value: false
61
123
  });
62
- const { cues, services = defaultRuntimeServices } = options;
63
124
  this.hby = hby;
64
- this.reactor = reactor;
65
- this.cues = cues ?? new Deck();
66
- this.services = services;
125
+ this.kvy = protocol.makeKevery();
126
+ if (this.kvy.db !== hby.db || this.kvy.rvy !== rvy) {
127
+ throw new TypeError("Oobiery requires the same accepted-state store and reply verifier");
128
+ }
129
+ this.cues = cues;
130
+ this.http = http;
67
131
  }
68
- /** Register `/introduce` on the shared reply router. */
69
- registerReplyRoutes(router = this.reactor.router) {
132
+ /**
133
+ * Register `/introduce` on the shared reply router.
134
+ *
135
+ * @param router Shared reply router on which /introduce is registered.
136
+ */
137
+ registerReplyRoutes(router = this.rvy.rtr) {
70
138
  router.addRoute("/introduce", this);
71
139
  }
72
140
  /**
@@ -87,9 +155,9 @@ export class Oobiery {
87
155
  * Process one queued durable OOBI record, if any.
88
156
  *
89
157
  * Behavior:
90
- * - reads the next queued `oobis.` / `woobi.` record
158
+ * - reads the next queued `oobis.` record or resumes a surviving `coobi.` row
91
159
  * - fetches it under Effection cancellation control
92
- * - routes any returned KERI bytes through `Reactor`
160
+ * - parses fetched KERI bytes through this owner's Kevery and shared semantic handlers
93
161
  * - transitions the durable record into `eoobi.` or `roobi.`
94
162
  */
95
163
  *processOnce() {
@@ -143,27 +211,24 @@ export class Oobiery {
143
211
  yield* runtimeTurn();
144
212
  }
145
213
  }
146
- /** Return the next queued durable OOBI record, if any. */
214
+ /** Select queued work, including a surviving in-flight row whose former process is gone. */
147
215
  nextQueued() {
148
- for (const [keys, record] of this.hby.db.oobis.getTopItemIter()) {
149
- const url = keys[0];
150
- if (!url) {
151
- continue;
216
+ for (const store of [this.hby.db.oobis, this.hby.db.coobi]) {
217
+ for (const [keys, record] of store.getTopItemIter()) {
218
+ const url = keys[0];
219
+ if (url)
220
+ return ["oobis", url, record];
152
221
  }
153
- return ["oobis", url, record];
154
222
  }
155
223
  return null;
156
224
  }
157
- /** Return one multi-OOBI parent whose child URLs have all settled. */
225
+ /** Select a parent only after its current child attempts, including authentication, settle. */
158
226
  nextReadyMoobi() {
159
227
  for (const [keys, record] of this.hby.db.moobi.getTopItemIter()) {
160
228
  const url = keys[0];
161
- if (!url) {
229
+ if (!url)
162
230
  continue;
163
- }
164
- const urls = record.urls ?? [];
165
- if (urls.length === 0
166
- || urls.every((childUrl) => !!this.hby.db.roobi.get(childUrl) || !!this.hby.db.eoobi.get(childUrl))) {
231
+ if ((record.urls ?? []).every(child => oobiTerminalState(this.hby.db, child).status !== "pending")) {
167
232
  return [url, record];
168
233
  }
169
234
  }
@@ -177,9 +242,13 @@ export class Oobiery {
177
242
  * - `coobi.` while a fetched response is being processed
178
243
  * - `eoobi.` on HTTP failure
179
244
  * - `roobi.` after parser/routing success
245
+ *
246
+ * @param kind Durable OOBI queue family identifying the job path.
247
+ * @param url Exact OOBI URL used as the durable job key.
248
+ * @param record Pending durable job; retained through failure and joined cleanup.
180
249
  */
181
250
  *processJob(kind, url, record) {
182
- const services = this.services;
251
+ const http = this.http;
183
252
  const meta = {
184
253
  ...parseOobiUrl(url, record.oobialias ?? undefined),
185
254
  ...record,
@@ -195,31 +264,50 @@ export class Oobiery {
195
264
  oobialias: meta.alias ?? meta.oobialias ?? null,
196
265
  said: meta.said ?? null,
197
266
  };
198
- // Stage attempt metadata only; the original queue row stays owned until result publication.
199
- const response = yield* fetchOobiResponse(url, services);
267
+ // A new or resumed attempt supersedes old terminal facts, but keeps its
268
+ // queued row until intake succeeds. Cancellation can therefore retry it.
269
+ this.hby.db.env.transactionSync(() => {
270
+ this.pinQueueStore(kind, url, queuedRecord);
271
+ this.hby.db.eoobi.rem(url);
272
+ this.hby.db.roobi.rem(url);
273
+ });
274
+ const consume = this.processResponse.bind(this);
200
275
  try {
201
- yield* this.processResponse(kind, url, queuedRecord, meta, response);
276
+ const refused = yield* scoped(function* () {
277
+ const response = yield* http.open(url);
278
+ if (!response.ok)
279
+ return response.status;
280
+ yield* consume(kind, url, queuedRecord, meta, response);
281
+ return null;
282
+ });
283
+ if (refused === null)
284
+ this.remQueueStore(kind, url);
285
+ else {
286
+ // The response has closed before its terminal HTTP outcome is persisted.
287
+ const result = { ...queuedRecord, date: new Date().toISOString(), state: `http-${refused}` };
288
+ this.remQueueStore(kind, url);
289
+ this.hby.db.eoobi.pin(url, result);
290
+ this.cues.push({ kin: "oobiFailed", url, reason: `HTTP ${refused}` });
291
+ }
202
292
  }
203
293
  finally {
204
294
  this.hby.db.coobi.rem(url);
205
295
  }
206
296
  }
207
- /** Consume one owned response; queued ownership ends only after a terminal result is persisted. */
297
+ /**
298
+ * Consume one owned response; queued ownership ends only after a terminal result is persisted.
299
+ *
300
+ * @param kind Durable OOBI queue family identifying the job path.
301
+ * @param url Exact OOBI URL used as the durable job key.
302
+ * @param queuedRecord Original durable job metadata retained until terminal publication.
303
+ * @param meta Parsed OOBI URL metadata selecting the response interpretation.
304
+ * @param response Borrowed scoped HTTP response; complete processing precedes terminal state.
305
+ */
208
306
  *processResponse(kind, url, queuedRecord, meta, response) {
209
- if (!response.ok) {
210
- yield* closeResponseBody(response);
211
- const result = { ...queuedRecord, date: new Date().toISOString(), state: `http-${response.status}` };
212
- const cues = [{ kin: "oobiFailed", url, reason: `HTTP ${response.status}` }];
213
- this.remQueueStore(kind, url);
214
- this.hby.db.eoobi.pin(url, result);
215
- this.cues.extend(cues);
216
- return;
217
- }
218
307
  const type = mediaType(response.headers.get("content-type") ?? "");
219
308
  if (isCesrMediaType(type) || !type.includes("json")) {
220
309
  // Keep durable retry ownership throughout partial acceptance and joined cancellation.
221
310
  yield* this.resolveCesrOobiResponse(kind, url, queuedRecord, meta, response);
222
- this.remQueueStore(kind, url);
223
311
  return;
224
312
  }
225
313
  const bytes = yield* readResponseBytes(response);
@@ -230,28 +318,31 @@ export class Oobiery {
230
318
  });
231
319
  if (type === "application/schema+json") {
232
320
  if (this.processSchemaOobiResponse(url, queuedRecord, bytes)) {
233
- this.remQueueStore(kind, url);
234
321
  return;
235
322
  }
236
323
  this.failFetchedOobi(url, queuedRecord, "invalid-schema-oobi");
237
- this.remQueueStore(kind, url);
238
324
  return;
239
325
  }
240
326
  if (type.includes("json")) {
241
327
  if (this.processSchemaOobiResponse(url, queuedRecord, bytes)) {
242
- this.remQueueStore(kind, url);
243
328
  return;
244
329
  }
245
330
  if (this.processJsonOobiResponse(url, queuedRecord, bytes)) {
246
- this.remQueueStore(kind, url);
247
331
  return;
248
332
  }
249
333
  this.failFetchedOobi(url, queuedRecord, "invalid-json-oobi");
250
- this.remQueueStore(kind, url);
251
334
  return;
252
335
  }
253
336
  }
254
- /** Mark an OOBI resolved only after its complete CESR response has been dispatched. */
337
+ /**
338
+ * Mark an OOBI resolved only after its complete CESR response has been dispatched.
339
+ *
340
+ * @param kind Durable OOBI queue family identifying the job path.
341
+ * @param url Exact OOBI URL used as the durable job key.
342
+ * @param queuedRecord Original durable job metadata retained until terminal publication.
343
+ * @param meta Parsed OOBI URL metadata selecting the response interpretation.
344
+ * @param response Borrowed scoped HTTP response; complete processing precedes terminal state.
345
+ */
255
346
  *resolveCesrOobiResponse(kind, url, queuedRecord, meta, response) {
256
347
  const cue = {
257
348
  kin: "oobiResolved",
@@ -262,7 +353,7 @@ export class Oobiery {
262
353
  };
263
354
  this.pinQueueStore(kind, url, queuedRecord);
264
355
  this.hby.db.coobi.pin(url, { ...queuedRecord, state: "streaming" });
265
- yield* this.reactor.process((signal) => streamBytes(response.body, { signal }));
356
+ yield* processMessages((signal) => response.body(signal), this.protocol, this.kvy);
266
357
  this.hby.db.coobi.rem(url);
267
358
  this.hby.db.roobi.pin(url, { ...queuedRecord, date: new Date().toISOString(), state: "resolved" });
268
359
  persistResolvedContact(this.hby, meta.cid, { alias: queuedRecord.oobialias, oobi: url });
@@ -341,7 +432,7 @@ export class Oobiery {
341
432
  const urls = record.urls ?? [];
342
433
  const date = new Date().toISOString();
343
434
  const failed = urls.length === 0
344
- || urls.some((childUrl) => !!this.hby.db.eoobi.get(childUrl));
435
+ || urls.some(childUrl => oobiTerminalState(this.hby.db, childUrl).status === "failed");
345
436
  const state = failed ? (urls.length === 0 ? "invalid-multi-oobi" : "child-failed") : "resolved";
346
437
  const result = { ...record, date, state };
347
438
  const cues = failed
@@ -399,6 +490,8 @@ export class Oobiery {
399
490
  /**
400
491
  * Process one `/introduce` reply and enqueue the introduced OOBI into the
401
492
  * ordinary durable resolver path.
493
+ *
494
+ * @param args Verified reply route input and signature evidence used to persist introduction results.
402
495
  */
403
496
  processReply(args) {
404
497
  if (args.route !== "/introduce") {
@@ -415,7 +508,7 @@ export class Oobiery {
415
508
  if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
416
509
  throw new ValidationError(`Invalid introduced OOBI scheme ${parsed.protocol}.`);
417
510
  }
418
- const proof = this.reactor.revery.decideReply({
511
+ const proof = this.rvy.decideReply({
419
512
  serder: args.serder,
420
513
  saider: args.diger,
421
514
  route: args.route,
@@ -424,9 +517,9 @@ export class Oobiery {
424
517
  cigars: args.cigars,
425
518
  tsgs: args.tsgs,
426
519
  });
427
- const queryCues = this.reactor.revery.cues;
520
+ const queryCues = this.rvy.cues;
428
521
  if (proof.kind === "unverified") {
429
- this.reactor.revery.writeReply(proof);
522
+ this.rvy.writeReply(proof);
430
523
  if (proof.cues.length)
431
524
  queryCues.extend(proof.cues);
432
525
  return unverifiedReplyDecision(`Unverified introduction reply ${args.serder.said ?? "<unknown>"}.`);
@@ -442,7 +535,7 @@ export class Oobiery {
442
535
  said: meta.said ?? null,
443
536
  };
444
537
  const cues = [{ kin: "oobiQueued", url: oobi }];
445
- this.reactor.revery.writeReply(proof);
538
+ this.rvy.writeReply(proof);
446
539
  this.pinQueueStore(kind, oobi, record);
447
540
  if (proof.cues.length)
448
541
  queryCues.extend(proof.cues);
@@ -618,18 +711,11 @@ function isCesrMediaType(type) {
618
711
  }
619
712
  export { OOBI_MAILBOX_TOPIC };
620
713
  /**
621
- * Fetch one OOBI URL under Effection cancellation control.
714
+ * Collect one finite OOBI document and join its reader on cancellation.
622
715
  *
623
- * This is the real promise-adaptation boundary for remote OOBI retrieval. The
624
- * surrounding runtime stays operation-native.
716
+ * @param response Borrowed finite OOBI document response.
717
+ * @returns Collected bytes after reader cleanup joins.
625
718
  */
626
- function* fetchOobiResponse(url, services = defaultRuntimeServices) {
627
- const { response } = yield* fetchResponseHandle(url, {}, {
628
- services,
629
- });
630
- return response;
631
- }
632
- /** Collect one finite OOBI document and join its reader on cancellation. */
633
719
  function* readResponseBytes(response) {
634
- return yield* abortable((signal) => collectBytes(streamBytes(response.body, { signal })));
720
+ return yield* abortable((signal) => collectBytes(response.body(signal)));
635
721
  }