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,438 +0,0 @@
1
- import { IPEX_V2_PREDECESSORS, isIpexVerb, nestedIpexRoute } from "../core/protocol-exchanging.js";
2
- /** V2 IPEX route policy; v1 routing remains independently registered. */
3
- import { Diger, ParserError, Prefixer, } from "cesr-ts";
4
- import { validateUpdate, verifyRegistryAnchor, vetBinds } from "../acdc/regeventing.js";
5
- import { validateSchema } from "../acdc/scheming.js";
6
- import { DatabaseOperationError } from "../core/errors.js";
7
- import { validDisclosurePlan, verifyIpexDisclosure, verifyIpexRelations, walkIpexGraph, } from "./ipex-graph.js";
8
- import { acceptedRegistryEvidence, authenticateIpexNode } from "./ipex-node-authentication.js";
9
- import { envelopeFromFrame } from "./parsering.js";
10
- /** SAD payloads include application-defined keys; named protocol fields are checked below before use. */
11
- function record(value) {
12
- return value !== null && typeof value === "object" && !Array.isArray(value);
13
- }
14
- /** Require the current single-DAG outer list shape. */
15
- function single(value, type) {
16
- return Array.isArray(value) && value.length === 1
17
- && (type === "array" ? Array.isArray(value[0]) : typeof value[0] === type);
18
- }
19
- /** Parsed exchange bodies retain the exact same ordered disclosure plan through dittos. */
20
- function samePlan(a, b) {
21
- return JSON.stringify(a) === JSON.stringify(b);
22
- }
23
- /** The workflow owns a proof dependency cue and retry; no child is published here. */
24
- function missing(reason) {
25
- return { kind: "escrow", reason };
26
- }
27
- /**
28
- * Authenticate each disclosed node independently before Exchanger persists an EXN.
29
- * Registry evidence is caller-owned; notifier delivery follows durable acceptance.
30
- * Presentation registries require the retained receiver receipt and node-local proofs.
31
- */
32
- export class IpexV2Handler {
33
- constructor(resource, hby, notifier = null, registry = null) {
34
- Object.defineProperty(this, "resource", {
35
- enumerable: true,
36
- configurable: true,
37
- writable: true,
38
- value: resource
39
- });
40
- Object.defineProperty(this, "hby", {
41
- enumerable: true,
42
- configurable: true,
43
- writable: true,
44
- value: hby
45
- });
46
- Object.defineProperty(this, "notifier", {
47
- enumerable: true,
48
- configurable: true,
49
- writable: true,
50
- value: notifier
51
- });
52
- Object.defineProperty(this, "registry", {
53
- enumerable: true,
54
- configurable: true,
55
- writable: true,
56
- value: registry
57
- });
58
- Object.defineProperty(this, "protocolMajor", {
59
- enumerable: true,
60
- configurable: true,
61
- writable: true,
62
- value: 2
63
- });
64
- Object.defineProperty(this, "acceptsSscs", {
65
- enumerable: true,
66
- configurable: true,
67
- writable: true,
68
- value: true
69
- });
70
- Object.defineProperty(this, "acceptsEvidence", {
71
- enumerable: true,
72
- configurable: true,
73
- writable: true,
74
- value: true
75
- });
76
- Object.defineProperty(this, "acceptsMissingEvidence", {
77
- enumerable: true,
78
- configurable: true,
79
- writable: true,
80
- value: void 0
81
- });
82
- Object.defineProperty(this, "acceptsNests", {
83
- enumerable: true,
84
- configurable: true,
85
- writable: true,
86
- value: void 0
87
- });
88
- this.acceptsMissingEvidence = resource === "/ipex/grant";
89
- this.acceptsNests = nestedIpexRoute(resource);
90
- }
91
- /** Select only fresh foreign grant evidence, preferring a seal to the same AID's signatures. */
92
- verifyEvidence({ serder, factors, invalid, missing: unresolved = [] }) {
93
- if (serder.route !== "/ipex/grant") {
94
- return invalid || unresolved.length || factors.tsgs.length || factors.cigars.length || factors.sourceSeals.length
95
- ? null
96
- : { tsgs: [], cigars: [], sourceSeals: [] };
97
- }
98
- const sourceSeals = factors.sourceSeals.filter((seal) => {
99
- const kever = this.hby.db.getKever(seal.i.qb64);
100
- if (!kever || seal.s.num < BigInt(kever.lastEst.s))
101
- return false;
102
- return seal.s.num === BigInt(kever.lastEst.s)
103
- ? seal.d.qb64 === kever.lastEst.d
104
- : this.hby.db.getEvtSerder(seal.i.qb64, seal.d.qb64)?.ilk === "ixn";
105
- });
106
- const sealers = new Set(sourceSeals.map((seal) => seal.i.qb64));
107
- const tsgs = factors.tsgs.filter((group) => {
108
- const kever = this.hby.db.getKever(group.pre);
109
- return !sealers.has(group.pre) && kever && group.sn === BigInt(kever.lastEst.s) && group.said === kever.lastEst.d;
110
- });
111
- return { tsgs, cigars: factors.cigars.filter((cigar) => !sealers.has(cigar.verfer.qb64)), sourceSeals };
112
- }
113
- /** Validate conversation, disclosure and authentication obligations in reference order. */
114
- verify({ serder, nests = [], sscs = [], evidence, receiverTime }) {
115
- if (serder.pvrsn.major !== 2 || serder.route !== this.resource)
116
- return false;
117
- const route = serder.route.split("/");
118
- const verb = route[2];
119
- if (route.length !== 3 || route[0] !== "" || route[1] !== "ipex"
120
- || !isIpexVerb(verb))
121
- return false;
122
- const attrs = serder.sad.a;
123
- const q = serder.sad.q;
124
- const priorSaid = serder.sad.p;
125
- if (!record(attrs) || !Object.hasOwn(attrs, "m") || !record(q))
126
- return false;
127
- if (Object.hasOwn(attrs, "ax") && !single(attrs.ax, "boolean"))
128
- return false;
129
- if (["apply", "offer", "agree", "grant"].includes(verb)) {
130
- if (!single(q.dp, "array") || !validDisclosurePlan(q.dp[0]))
131
- return false;
132
- }
133
- if (verb === "agree" && q.dp[0].length)
134
- return false;
135
- if (verb === "offer") {
136
- if (Object.hasOwn(attrs, "o")) {
137
- if (!single(attrs.o, "string") || !this.validOrigin(attrs.o[0]))
138
- return false;
139
- }
140
- else if (nests.length)
141
- return false;
142
- }
143
- else if (verb !== "grant" && nests.length)
144
- return false;
145
- let previous = null;
146
- if (!priorSaid) {
147
- if (!["apply", "offer", "grant"].includes(verb) || !serder.sad.ri || !serder.sad.x)
148
- return false;
149
- }
150
- else {
151
- if (verb === "apply" || typeof priorSaid !== "string")
152
- return false;
153
- previous = this.prior(verb, serder, priorSaid);
154
- if (!previous)
155
- return false;
156
- }
157
- const requiresAnchor = attrs.ax?.[0] === true;
158
- const priorAttrs = previous?.sad?.a;
159
- const priorAnchor = record(priorAttrs) && priorAttrs.ax?.[0] === true;
160
- if (previous) {
161
- if (["agree", "grant", "admit"].includes(verb) && requiresAnchor !== priorAnchor)
162
- return false;
163
- if (verb === "offer" && priorAnchor && !requiresAnchor)
164
- return false;
165
- }
166
- if (["agree", "admit"].includes(verb) && (requiresAnchor || priorAnchor)) {
167
- return sscs.length ? this.sourceAnchor(serder, serder.pre, sscs.at(-1)) : false;
168
- }
169
- if (verb === "offer" && nests.length) {
170
- const graph = walkIpexGraph(attrs.o[0], nests, false);
171
- return graph ? this.nodeSchemas(graph) : false;
172
- }
173
- if (verb !== "grant")
174
- return true;
175
- const plan = this.plan(serder);
176
- if (!plan)
177
- return false;
178
- if (previous) {
179
- const priorPlan = this.plan(previous);
180
- if (!priorPlan || !samePlan(plan, priorPlan))
181
- return false;
182
- }
183
- if (!plan.length) {
184
- if (!Array.isArray(attrs.o) || attrs.o.length || nests.length)
185
- return false;
186
- return requiresAnchor || priorAnchor
187
- ? sscs.length ? this.sourceAnchor(serder, serder.pre, sscs.at(-1)) : false
188
- : true;
189
- }
190
- if (!single(attrs.o, "string") || !this.validOrigin(attrs.o[0]) || !nests.length)
191
- return false;
192
- const origin = attrs.o[0];
193
- const graph = walkIpexGraph(origin, nests, true);
194
- if (!graph || !verifyIpexDisclosure(plan, origin, graph))
195
- return false;
196
- const registrations = new Map();
197
- for (const said of graph.order) {
198
- const frame = graph.nodes.get(said);
199
- const envelope = envelopeFromFrame(frame);
200
- if (!frame.body.regid && this.presentationRegistries(frame.body) === null)
201
- return false;
202
- const result = authenticateIpexNode(frame.body, envelope, this.hby.db, this.registry);
203
- if (result.kind === "missing")
204
- return missing(result.reason);
205
- if (result.kind === "reject")
206
- return false;
207
- if (result.registration)
208
- registrations.set(said, result.registration);
209
- }
210
- const schemas = this.nodeSchemas(graph);
211
- if (schemas !== true)
212
- return schemas;
213
- const relations = verifyIpexRelations(graph, this.hby.db, registrations);
214
- if (typeof relations === "object") {
215
- if (relations.kind === "unknownState")
216
- return false;
217
- if (relations.kind === "missingKel")
218
- return missing(`Missing delegation KEL approval for ${relations.pre}.`);
219
- return { kind: "escrow", reason: "Missing edge schema.", schema: relations.said };
220
- }
221
- if (!relations)
222
- return false;
223
- if (!evidence)
224
- return false; // Exchanger must supply its selected supplemental factor set.
225
- const tethered = new Set();
226
- for (const said of graph.order) {
227
- const node = graph.nodes.get(said);
228
- const declarations = this.presentationRegistries(node.body);
229
- if (declarations === null)
230
- return false;
231
- if (declarations.length && !receiverTime)
232
- return false;
233
- for (const [issuee, registry] of declarations) {
234
- const result = this.presentation(node, registry, issuee, serder.said, receiverTime);
235
- if (result !== true)
236
- return result;
237
- tethered.add(issuee);
238
- }
239
- }
240
- if (requiresAnchor || priorAnchor) {
241
- const anchorers = tethered;
242
- if (sscs.length) {
243
- const result = this.sourceAnchor(serder, serder.pre, sscs.at(-1));
244
- if (typeof result === "object")
245
- return result;
246
- if (result)
247
- anchorers.add(serder.pre);
248
- }
249
- for (const seal of evidence?.sourceSeals ?? []) {
250
- const result = this.sourceAnchor(serder, seal.i.qb64, seal);
251
- if (typeof result === "object")
252
- return result;
253
- if (result)
254
- anchorers.add(seal.i.qb64);
255
- }
256
- const node = graph.nodes.get(origin).body;
257
- if (![serder.pre, node.issuee, node.issuer].some((aid) => aid && anchorers.has(aid)))
258
- return false;
259
- }
260
- return true;
261
- }
262
- /** Notify only after Exchanger has durably accepted the parent and its evidence. */
263
- handle({ serder }) {
264
- this.notifier?.add({ r: `/exn${serder.route}`, d: serder.said, m: serder.sad.a.m });
265
- }
266
- /** Metadata offers withhold issuer proofs; grants call this only after every issuer authenticates. */
267
- nodeSchemas(graph) {
268
- for (const said of graph.order) {
269
- const result = validateSchema(graph.nodes.get(said).body, this.hby.db);
270
- if (result.kind === "invalid")
271
- return false;
272
- if (result.kind === "missing")
273
- return { kind: "escrow", reason: "Missing node schema.", schema: result.said };
274
- }
275
- return true;
276
- }
277
- /** Origin commitments are SAIDs, never implicit signatures over the node. */
278
- validOrigin(value) {
279
- if (typeof value !== "string")
280
- return false;
281
- try {
282
- return new Diger({ qb64: value }).qb64 === value;
283
- }
284
- catch {
285
- return false;
286
- }
287
- }
288
- /** Enforce reciprocal parties, exchange id and the prior's single accepted response. */
289
- prior(verb, current, said) {
290
- const prior = this.hby.db.exns.get(said);
291
- const previous = prior?.route?.split("/");
292
- if (!prior || previous?.length !== 3 || previous[0] !== "" || previous[1] !== "ipex"
293
- || !IPEX_V2_PREDECESSORS[verb].some((allowed) => allowed === previous[2]))
294
- return null;
295
- if (verb === "spurn" && previous[2] === "grant" && prior.sad.p)
296
- return null;
297
- if (current.sad.ri !== prior.pre || !prior.sad.ri || current.pre !== prior.sad.ri
298
- || current.sad.x !== prior.sad.x)
299
- return null;
300
- const response = this.hby.db.erpy.get(said);
301
- if (response && this.hby.db.exns.get(response.qb64))
302
- return null;
303
- return prior;
304
- }
305
- /** Resolve empty-plan dittos only through accepted prior exchanges. */
306
- plan(serder) {
307
- const seen = new Set();
308
- let current = serder;
309
- while (current) {
310
- if (!current.said || seen.has(current.said)
311
- || !["/ipex/apply", "/ipex/offer", "/ipex/agree", "/ipex/grant"].includes(current.route ?? ""))
312
- return null;
313
- seen.add(current.said);
314
- const q = current.sad.q;
315
- if (!record(q) || !single(q.dp, "array") || !validDisclosurePlan(q.dp[0]))
316
- return null;
317
- if (q.dp[0].length)
318
- return q.dp[0];
319
- const prior = current.sad.p;
320
- if (!prior)
321
- return [];
322
- current = typeof prior === "string" ? this.hby.db.exns.get(prior) : null;
323
- }
324
- return null;
325
- }
326
- /** A negotiated outer anchor must be at or after the anchorer's current establishment. */
327
- sourceAnchor(serder, aid, seal) {
328
- const kever = this.hby.db.getKever(aid);
329
- if (!kever)
330
- return missing(`Missing current anchorer key state for ${aid}.`);
331
- if (seal.s.num < BigInt(kever.lastEst.s)
332
- || (seal.s.num === BigInt(kever.lastEst.s) && seal.d.qb64 !== kever.lastEst.d))
333
- return false;
334
- if (seal.s.num > BigInt(Number.MAX_SAFE_INTEGER))
335
- return false;
336
- const said = this.hby.db.kels.getLast(aid, Number(seal.s.num));
337
- const event = said ? this.hby.db.getEvtSerder(aid, said) : null;
338
- if (!event)
339
- return missing(`Missing anchorer KEL evidence for ${aid}.`);
340
- if (said !== seal.d.qb64 || (seal.s.num > BigInt(kever.lastEst.s) && event.ilk !== "ixn"))
341
- return false;
342
- return event.seals.some((seal) => record(seal) && seal.d === serder.said);
343
- }
344
- /** Authenticate a grant target against this node's Issuee TEL and explicit fully witnessed KEL sources. */
345
- presentation(frame, regid, issuee, target, cutoff) {
346
- const envelope = envelopeFromFrame(frame), blinders = [...envelope.bsqs, ...envelope.bsss];
347
- if (!blinders.length || !this.registry)
348
- return false;
349
- const chain = acceptedRegistryEvidence(this.registry, regid);
350
- if (!chain)
351
- return missing(`Missing presentation TEL evidence for ${regid}.`);
352
- const sources = new Map();
353
- let unresolved = false;
354
- for (const seal of envelope.ssts) {
355
- if (seal.i.qb64 !== issuee)
356
- continue;
357
- const said = seal.s.num > BigInt(Number.MAX_SAFE_INTEGER)
358
- ? null
359
- : this.hby.db.kels.getLast(issuee, Number(seal.s.num));
360
- if (!said) {
361
- unresolved = true;
362
- continue;
363
- }
364
- if (said !== seal.d.qb64)
365
- continue;
366
- if (!this.hby.db.getEvtSerder(issuee, said)) {
367
- unresolved = true;
368
- continue;
369
- }
370
- for (const update of chain.updates) {
371
- const checked = validateUpdate(update, regid);
372
- if (checked.kind !== "valid")
373
- throw new DatabaseOperationError("Accepted presentation update is corrupt.");
374
- if (verifyRegistryAnchor(checked.event, { db: this.hby.db, issuer: issuee, number: seal.s, diger: seal.d })) {
375
- sources.set(update.said, seal.d.qb64);
376
- }
377
- }
378
- }
379
- if (!sources.size && unresolved)
380
- return missing(`Missing presentation anchor source for ${regid}.`);
381
- const result = vetBinds({
382
- ...chain,
383
- db: this.hby.db,
384
- blinders,
385
- target,
386
- controller: issuee,
387
- cutoff,
388
- sources,
389
- requireSource: true,
390
- });
391
- if (result.kind === "missing" || (result.kind === "reject" && result.reason === "anchor" && unresolved)) {
392
- return missing(`Missing presentation TEL anchor for ${regid}.`);
393
- }
394
- return result.kind === "verified" && result.state.regid === regid;
395
- }
396
- /** Reject hidden requirements and preserve unique, validated Issuee/registry pairs in wire order. */
397
- presentationRegistries(serder) {
398
- const a = serder.sad.a;
399
- const aggregate = serder.sad.A;
400
- if (!serder.regid) {
401
- if (record(a) && a.rd)
402
- return null;
403
- const sections = Array.isArray(aggregate) ? aggregate.slice(1) : [aggregate];
404
- return sections.some((section) => record(section) && section.rd) ? null : [];
405
- }
406
- if (typeof a === "string" || typeof aggregate === "string")
407
- return null;
408
- const sections = record(a) ? [a] : [];
409
- if (Array.isArray(aggregate)) {
410
- if (!aggregate.slice(1).every(record))
411
- return null;
412
- sections.push(...aggregate.slice(1));
413
- }
414
- else if (record(aggregate))
415
- sections.push(aggregate);
416
- const declarations = [];
417
- for (const section of sections) {
418
- const regid = section.rd, issuee = section.i;
419
- if (!regid || !issuee)
420
- continue;
421
- if (typeof regid !== "string" || typeof issuee !== "string")
422
- return null;
423
- try {
424
- if (new Diger({ qb64: regid }).qb64 !== regid || new Prefixer({ qb64: issuee }).qb64 !== issuee)
425
- return null;
426
- }
427
- catch (error) {
428
- if (!(error instanceof ParserError))
429
- throw error;
430
- return null;
431
- }
432
- if (!declarations.some(([aid, registry]) => aid === issuee && registry === regid)) {
433
- declarations.push([issuee, regid]);
434
- }
435
- }
436
- return declarations;
437
- }
438
- }
@@ -1,240 +0,0 @@
1
- import { call, resource } from "effection";
2
- import { abortable } from "./abortable.js";
3
- import { defaultRuntimeServices } from "./runtime-services.js";
4
- /** Shared encoder for complete mailbox event payloads. */
5
- const textEncoder = new TextEncoder();
6
- /** Decode one complete SSE block; an unterminated block is never delivered. */
7
- function eventMessage(lines) {
8
- let idx = -1;
9
- let topic = "";
10
- const data = [];
11
- for (const line of lines) {
12
- const colon = line.indexOf(":");
13
- const field = colon < 0 ? line : line.slice(0, colon);
14
- let value = colon < 0 ? "" : line.slice(colon + 1);
15
- // SSE removes exactly one optional space, not meaningful payload whitespace.
16
- if (value.startsWith(" "))
17
- value = value.slice(1);
18
- if (field === "id")
19
- idx = /^\d+$/.test(value) ? Number(value) : -1;
20
- else if (field === "event")
21
- topic = value;
22
- else if (field === "data")
23
- data.push(value);
24
- }
25
- if (!Number.isSafeInteger(idx) || idx < 0 || !topic || !data.length)
26
- return;
27
- return { idx, topic, msg: textEncoder.encode(data.join("\n")) };
28
- }
29
- /** Geometric byte growth keeps fragmentation from creating one retained metadata entry per chunk. */
30
- function appendBytes(bytes, size, chunk) {
31
- if (size + chunk.length > bytes.length) {
32
- const grown = new Uint8Array(Math.max(size + chunk.length, 1024, bytes.length * 2));
33
- grown.set(bytes.subarray(0, size));
34
- bytes = grown;
35
- }
36
- bytes.set(chunk, size);
37
- return bytes;
38
- }
39
- /**
40
- * Consume complete mailbox events with backpressure from the awaited consumer.
41
- * Returning false stops the poll without acknowledging an unread event. Timeout,
42
- * EOF, and cancellation discard an incomplete final event so its cursor can retry.
43
- */
44
- export function consumeMailboxSse(response, controller, consume, options = {}) {
45
- return call(function* () {
46
- let lines = [];
47
- let lineBytes = new Uint8Array(0);
48
- let lineSize = 0;
49
- const decoder = new TextDecoder();
50
- let completed = false;
51
- yield* consumeChunks(response, controller, function* (chunk) {
52
- let start = 0;
53
- for (let index = 0; index < chunk.length; index++) {
54
- if (chunk[index] !== 10)
55
- continue;
56
- lineBytes = appendBytes(lineBytes, lineSize, chunk.subarray(start, index));
57
- lineSize += index - start;
58
- let line = decoder.decode(lineBytes.subarray(0, lineSize));
59
- if (line.endsWith("\r"))
60
- line = line.slice(0, -1);
61
- lineSize = 0;
62
- start = index + 1;
63
- if (line) {
64
- lines.push(line);
65
- }
66
- else {
67
- const message = eventMessage(lines);
68
- lines = [];
69
- if (message) {
70
- completed = true;
71
- if ((yield* consume(message)) === false)
72
- return false;
73
- }
74
- }
75
- }
76
- if (start < chunk.length) {
77
- lineBytes = appendBytes(lineBytes, lineSize, chunk.subarray(start));
78
- lineSize += chunk.length - start;
79
- }
80
- }, options, () => completed);
81
- });
82
- }
83
- /**
84
- * Collect a raw SSE diagnostic report for one poll window. Production polling
85
- * uses consumeMailboxSse to deliver complete events as they arrive.
86
- */
87
- export function readMailboxSseBody(response, controller, options = {}) {
88
- return call(function* () {
89
- const decoder = new TextDecoder();
90
- let bytes = new Uint8Array(0);
91
- let size = 0;
92
- let blockStart = 0;
93
- let completed = false;
94
- yield* consumeChunks(response, controller, function* (chunk) {
95
- bytes = appendBytes(bytes, size, chunk);
96
- const end = size + chunk.length;
97
- // Inspect each terminated block once. A retry/comment header alone must not start the idle deadline.
98
- for (let index = size; !completed && index < end; index++) {
99
- if (bytes[index] !== 10)
100
- continue;
101
- if (bytes[index - 1] === 10
102
- || (bytes[index - 1] === 13 && bytes[index - 2] === 10 && bytes[index - 3] === 13)) {
103
- completed = parseMailboxSse(decoder.decode(bytes.subarray(blockStart, index + 1))).length > 0;
104
- blockStart = index + 1;
105
- }
106
- }
107
- size = end;
108
- }, options, () => completed);
109
- return new TextDecoder().decode(bytes.subarray(0, size));
110
- });
111
- }
112
- /** Parse only terminated events from an already finite diagnostic report. */
113
- export function parseMailboxSse(text) {
114
- return text.replaceAll("\r\n", "\n").split("\n\n").slice(0, -1)
115
- .map((block) => eventMessage(block.split("\n")))
116
- .filter((message) => message !== undefined);
117
- }
118
- /** Own one reader; a timed-out read is canceled and joined before this operation exits. */
119
- function* consumeChunks(response, controller, consume, options, hasEvent) {
120
- const { idleTimeoutMs = 500, maxDurationMs = 30_000, services = defaultRuntimeServices, } = options;
121
- for (const value of [idleTimeoutMs, maxDurationMs]) {
122
- if (!Number.isSafeInteger(value) || value < 1)
123
- throw new RangeError("Invalid mailbox SSE timeout");
124
- }
125
- if (!response.body)
126
- return;
127
- const reader = response.body.getReader();
128
- let closing;
129
- let pendingRead;
130
- let reportedFailure;
131
- let readAbort;
132
- /** Repeated cancellation joins the original underlying source cleanup, including asynchronous cancel. */
133
- const close = (reason) => closing ??= reader.cancel(reason);
134
- // This owner predates the cancellable read leaf, so teardown joins the read before releasing its lock.
135
- yield* resource(function* (provide) {
136
- try {
137
- yield* provide();
138
- }
139
- finally {
140
- controller.abort();
141
- yield* call(async () => {
142
- const failures = [];
143
- const remember = (error) => {
144
- if ((reportedFailure && error === reportedFailure.error) || error === controller.signal.reason
145
- || (readAbort && error === readAbort.reason)) {
146
- return;
147
- }
148
- if (!failures.includes(error))
149
- failures.push(error);
150
- };
151
- try {
152
- // The read leaf joins this Promise too, but cancellation can discard its result.
153
- try {
154
- await pendingRead;
155
- }
156
- catch (error) {
157
- remember(error);
158
- }
159
- try {
160
- await close();
161
- }
162
- catch (error) {
163
- remember(error);
164
- }
165
- }
166
- finally {
167
- try {
168
- reader.releaseLock();
169
- }
170
- catch (error) {
171
- remember(error);
172
- }
173
- }
174
- if (failures.length && reportedFailure)
175
- failures.unshift(reportedFailure.error);
176
- if (failures.length === 1)
177
- throw failures[0];
178
- if (failures.length)
179
- throw new AggregateError(failures, "Mailbox SSE read and cleanup failed");
180
- });
181
- }
182
- });
183
- const deadline = services.clock.now() + maxDurationMs;
184
- try {
185
- while (services.clock.now() < deadline) {
186
- const wait = Math.max(1, Math.min(hasEvent() ? idleTimeoutMs : maxDurationMs, deadline - services.clock.now()));
187
- const next = yield* abortable(async (signal) => {
188
- // Keep exactly one read alive. A timeout ends the poll, never starts a competing reader.read().
189
- const pending = pendingRead = reader.read();
190
- readAbort = undefined;
191
- let timer;
192
- const cancel = () => {
193
- readAbort = { reason: signal.reason };
194
- // Observe notification rejection; the earlier owner joins the original Promise.
195
- void close(signal.reason).catch(() => { });
196
- };
197
- signal.addEventListener("abort", cancel, { once: true });
198
- // abortable checks before entry; also cover synchronous abort inside the source read hook.
199
- if (signal.aborted)
200
- cancel();
201
- try {
202
- const result = await Promise.race([
203
- pending,
204
- new Promise((resolve) => {
205
- timer = services.clock.setTimeout(() => resolve(undefined), wait);
206
- }),
207
- ]);
208
- if (!result) {
209
- controller.abort();
210
- try {
211
- await close();
212
- }
213
- catch (error) {
214
- // Native fetch errors its body with this exact timeout reason.
215
- if (error !== controller.signal.reason)
216
- throw error;
217
- }
218
- }
219
- return result;
220
- }
221
- finally {
222
- if (timer !== undefined)
223
- services.clock.clearTimeout(timer);
224
- signal.removeEventListener("abort", cancel);
225
- await pending.catch(() => undefined);
226
- }
227
- }, options.signal ? AbortSignal.any([controller.signal, options.signal]) : controller.signal);
228
- if (!next || next.done)
229
- return;
230
- if (next.value.length) {
231
- if ((yield* consume(next.value)) === false)
232
- return;
233
- }
234
- }
235
- }
236
- catch (error) {
237
- reportedFailure = { error };
238
- throw error;
239
- }
240
- }