keri-ts 0.11.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 (820) hide show
  1. package/README.md +32 -2
  2. package/esm/keri/npm/src/_dnt.polyfills.js +36 -0
  3. package/esm/keri/npm/src/acdc/chaining.js +213 -0
  4. package/esm/keri/npm/src/acdc/dhking.js +716 -0
  5. package/esm/keri/npm/src/acdc/messaging.js +2 -0
  6. package/esm/keri/npm/src/acdc/observing.js +47 -40
  7. package/esm/keri/npm/src/acdc/regbasing.js +22 -22
  8. package/esm/keri/npm/src/acdc/regengine.js +88 -119
  9. package/esm/keri/npm/src/acdc/regeventing.js +163 -44
  10. package/esm/keri/npm/src/acdc/registering.js +99 -23
  11. package/esm/keri/npm/src/acdc/registraring.js +82 -46
  12. package/esm/keri/npm/src/acdc/relating.js +59 -0
  13. package/esm/keri/npm/src/acdc/salting.js +720 -0
  14. package/esm/keri/npm/src/acdc/scheming.js +103 -105
  15. package/esm/keri/npm/src/acdc/unblinding.js +1042 -0
  16. package/esm/keri/npm/src/app/{authenticating.js → bootstrap/authenticating.js} +40 -39
  17. package/esm/keri/npm/src/app/bootstrap/bootstrapping.js +109 -0
  18. package/esm/keri/npm/src/app/bootstrap/oobi-replies.js +113 -0
  19. package/esm/keri/npm/src/app/{oobiery.js → bootstrap/oobiery.js} +211 -267
  20. package/esm/keri/npm/src/app/credentials/credential-importing.js +201 -0
  21. package/esm/keri/npm/src/app/credentials/credential-proposals.js +120 -0
  22. package/esm/keri/npm/src/app/credentials/credential-revoking.js +165 -0
  23. package/esm/keri/npm/src/app/credentials/credential-workflows.js +365 -0
  24. package/esm/keri/npm/src/app/credentials/tel-publishing.js +27 -0
  25. package/esm/keri/npm/src/app/{verifying.js → credentials/verifying.js} +50 -45
  26. package/esm/keri/npm/src/app/delivery/forwarding.js +600 -0
  27. package/esm/keri/npm/src/app/delivery/introducing.js +68 -0
  28. package/esm/keri/npm/src/app/delivery/reply-streams.js +230 -0
  29. package/esm/keri/npm/src/app/delivery/respondant.js +159 -0
  30. package/esm/keri/npm/src/app/delivery/stored-replies.js +53 -0
  31. package/esm/keri/npm/src/app/exchanges/essr.js +111 -0
  32. package/esm/keri/npm/src/app/exchanges/exchange-messaging.js +66 -0
  33. package/esm/keri/npm/src/app/exchanges/exchanging.js +1354 -0
  34. package/esm/keri/npm/src/app/{challenging.js → identity/challenging.js} +13 -8
  35. package/esm/keri/npm/src/app/{configing.js → identity/configing.js} +4 -4
  36. package/esm/keri/npm/src/app/{delegating.js → identity/delegating.js} +118 -40
  37. package/esm/keri/npm/src/app/{endpoint-roleing.js → identity/endpoint-roleing.js} +43 -39
  38. package/esm/keri/npm/src/app/{habbing.js → identity/habbing.js} +258 -226
  39. package/esm/keri/npm/src/app/{keeping.js → identity/keeping.js} +60 -56
  40. package/esm/keri/npm/src/app/{organizing.js → identity/organizing.js} +47 -21
  41. package/esm/keri/npm/src/app/{ipex-building.js → ipex/ipex-building.js} +53 -55
  42. package/esm/keri/npm/src/app/ipex/ipex-credentialing.js +359 -0
  43. package/esm/keri/npm/src/app/{ipex-graph.js → ipex/ipex-graph.js} +70 -124
  44. package/esm/keri/npm/src/app/ipex/ipex-grouping.js +664 -0
  45. package/esm/keri/npm/src/app/ipex/ipex-node-authentication.js +185 -0
  46. package/esm/keri/npm/src/app/ipex/ipex-v2.js +692 -0
  47. package/esm/keri/npm/src/app/{ipexing.js → ipex/ipexing.js} +59 -10
  48. package/esm/keri/npm/src/app/mailbox/forward-handler.js +228 -0
  49. package/esm/keri/npm/src/app/{mailbox-director.js → mailbox/mailbox-director.js} +146 -139
  50. package/esm/keri/npm/src/app/mailbox/mailbox-poller.js +305 -0
  51. package/esm/keri/npm/src/app/mailbox/mailbox-sse.js +254 -0
  52. package/esm/keri/npm/src/app/{mailboxing.js → mailbox/mailboxing.js} +117 -70
  53. package/esm/keri/npm/src/app/mailbox/topic-routing.js +54 -0
  54. package/esm/keri/npm/src/app/multisig/group-members.js +173 -0
  55. package/esm/keri/npm/src/app/multisig/grouping.js +932 -0
  56. package/esm/keri/npm/src/app/multisig/multisig-messaging.js +164 -0
  57. package/esm/keri/npm/src/app/multisig/multisig-workflows.js +821 -0
  58. package/esm/keri/npm/src/app/{notifying.js → notifications/notifying.js} +23 -50
  59. package/esm/keri/npm/src/app/notifications/signaling.js +177 -0
  60. package/esm/keri/npm/src/app/{parsering.js → protocol/parsering.js} +123 -53
  61. package/esm/keri/npm/src/app/protocol/protocol-processing.js +245 -0
  62. package/esm/keri/npm/src/app/protocol/reactor.js +55 -0
  63. package/esm/keri/npm/src/app/queries/query-replies.js +151 -0
  64. package/esm/keri/npm/src/app/queries/querying.js +306 -0
  65. package/esm/keri/npm/src/app/queries/witness-inquisitor.js +415 -0
  66. package/esm/keri/npm/src/app/runtime/abortable.js +103 -0
  67. package/esm/keri/npm/src/app/runtime/agent-runtime.js +633 -0
  68. package/esm/keri/npm/src/app/runtime/cue-runtime.js +61 -0
  69. package/esm/keri/npm/src/app/runtime/runtime-clock.js +6 -0
  70. package/esm/keri/npm/src/app/{byte-source.js → transport/byte-source.js} +43 -21
  71. package/esm/keri/npm/src/app/transport/cesr-egress.js +317 -0
  72. package/esm/keri/npm/src/app/{cesr-http.js → transport/cesr-http.js} +28 -78
  73. package/esm/keri/npm/src/app/transport/http-client.js +172 -0
  74. package/esm/keri/npm/src/app/transport/http-messenger.js +52 -0
  75. package/esm/keri/npm/src/app/transport/http-stream-messenger.js +60 -0
  76. package/esm/keri/npm/src/app/transport/httping.js +57 -0
  77. package/esm/keri/npm/src/app/transport/message-source.js +77 -0
  78. package/esm/keri/npm/src/app/transport/messengering.js +68 -0
  79. package/esm/keri/npm/src/app/{socket-source.js → transport/socket-source.js} +41 -5
  80. package/esm/keri/npm/src/app/transport/tcp-egress.js +377 -0
  81. package/esm/keri/npm/src/app/transport/tcp-messenger.js +162 -0
  82. package/esm/keri/npm/src/app/transport/tcp-stream-messenger.js +40 -0
  83. package/esm/keri/npm/src/app/transport/transport-error.js +14 -0
  84. package/esm/keri/npm/src/app/witness/http-endpoints.js +185 -0
  85. package/esm/keri/npm/src/app/witness/ingress.js +148 -0
  86. package/esm/keri/npm/src/app/witness/receipt-client.js +248 -0
  87. package/esm/keri/npm/src/app/witness/receipt-messages.js +29 -0
  88. package/esm/keri/npm/src/app/witness/receipting.js +323 -0
  89. package/esm/keri/npm/src/app/witness/registration.js +50 -0
  90. package/esm/keri/npm/src/cli/common/bootstrap.js +12 -0
  91. package/esm/keri/npm/src/{app/cli → cli}/common/context.js +47 -9
  92. package/esm/keri/npm/src/{app/cli → cli}/common/existing.js +9 -29
  93. package/esm/keri/npm/src/cli/common/parsing.js +279 -0
  94. package/esm/keri/npm/src/cli/common/passcode.js +66 -0
  95. package/esm/keri/npm/src/cli/common/tel-completion.js +24 -0
  96. package/esm/keri/npm/src/{app/cli → cli}/common/witness-auth.js +2 -2
  97. package/esm/keri/npm/src/cli/credentials/ipex.js +702 -0
  98. package/esm/keri/npm/src/cli/credentials/vc.js +399 -0
  99. package/esm/keri/npm/src/{app/cli → cli/endpoints}/did.js +71 -53
  100. package/esm/keri/npm/src/{app/cli → cli/endpoints}/ends.js +34 -31
  101. package/esm/keri/npm/src/{app/cli → cli/endpoints}/loc.js +22 -20
  102. package/esm/keri/npm/src/cli/endpoints/oobi-clean.js +134 -0
  103. package/esm/keri/npm/src/{app/cli → cli/endpoints}/oobi.js +37 -36
  104. package/esm/keri/npm/src/{app/cli → cli/identity}/aid.js +8 -7
  105. package/esm/keri/npm/src/cli/identity/challenge.js +181 -0
  106. package/esm/keri/npm/src/{app/cli → cli/identity}/delegate.js +88 -73
  107. package/esm/keri/npm/src/{app/cli → cli/identity}/export.js +9 -8
  108. package/esm/keri/npm/src/cli/identity/incept.js +181 -0
  109. package/esm/keri/npm/src/cli/identity/init.js +153 -0
  110. package/esm/keri/npm/src/cli/identity/interact.js +84 -0
  111. package/esm/keri/npm/src/{app/cli → cli/identity}/list.js +7 -6
  112. package/esm/keri/npm/src/cli/identity/rotate.js +172 -0
  113. package/esm/keri/npm/src/cli/index.js +38 -0
  114. package/esm/keri/npm/src/{app/cli → cli/messaging}/exchange.js +24 -24
  115. package/esm/keri/npm/src/cli/messaging/multisig.js +569 -0
  116. package/esm/keri/npm/src/{app/cli → cli/messaging}/notifications.js +26 -22
  117. package/esm/keri/npm/src/{app/cli → cli}/output.js +1 -1
  118. package/esm/keri/npm/src/cli/tools/annotate.js +25 -0
  119. package/esm/keri/npm/src/{app/cli → cli/tools}/benchmark.js +18 -9
  120. package/esm/keri/npm/src/{app/cli → cli/tools}/db-dump.js +14 -27
  121. package/esm/keri/npm/src/{app/cli → cli/tools}/saidify.js +3 -2
  122. package/esm/keri/npm/src/{app/cli → cli/tools}/sign.js +16 -10
  123. package/esm/keri/npm/src/{app/cli → cli/tools}/verify.js +10 -10
  124. package/esm/keri/npm/src/core/attachment-countering.js +31 -1
  125. package/esm/keri/npm/src/core/deck.js +5 -44
  126. package/esm/keri/npm/src/core/dispatch.js +10 -2
  127. package/esm/keri/npm/src/core/errors.js +5 -10
  128. package/esm/keri/npm/src/core/{exchange-proofing.js → exchange/exchange-proofing.js} +32 -2
  129. package/esm/keri/npm/src/core/{protocol-exchanging.js → exchange/protocol-exchanging.js} +47 -4
  130. package/esm/keri/npm/src/core/genus-framing.js +44 -0
  131. package/esm/keri/npm/src/core/{eventing.js → kel/eventing.js} +209 -390
  132. package/esm/keri/npm/src/core/kel/kever-decisions.js +70 -0
  133. package/esm/keri/npm/src/core/{kever.js → kel/kever.js} +84 -167
  134. package/esm/keri/npm/src/core/logger.js +3 -3
  135. package/esm/keri/npm/src/core/{kram-policy.js → mailbox/kram-policy.js} +14 -4
  136. package/esm/keri/npm/src/core/{kram-pruning.js → mailbox/kram-pruning.js} +5 -15
  137. package/esm/keri/npm/src/core/{kram-signatures.js → mailbox/kram-signatures.js} +1 -1
  138. package/esm/keri/npm/src/core/mailbox/kram-staging.js +149 -0
  139. package/esm/keri/npm/src/core/{kram-time.js → mailbox/kram-time.js} +9 -15
  140. package/esm/keri/npm/src/core/mailbox/kraming.js +78 -0
  141. package/esm/keri/npm/src/core/protocol-eventing.js +6 -1
  142. package/esm/keri/npm/src/core/protocol-serialization.js +9 -34
  143. package/esm/keri/npm/src/core/protocol-vdr-eventing.js +10 -11
  144. package/esm/keri/npm/src/core/records.js +0 -19
  145. package/esm/keri/npm/src/core/routing.js +187 -199
  146. package/esm/keri/npm/src/db/baser-defaults.js +11 -0
  147. package/esm/keri/npm/src/db/basing.js +224 -401
  148. package/esm/keri/npm/src/db/core/keys.js +2 -2
  149. package/esm/keri/npm/src/db/core/lmdber.js +123 -149
  150. package/esm/keri/npm/src/db/core/path-manager.js +2 -4
  151. package/esm/keri/npm/src/db/escrowing.js +82 -200
  152. package/esm/keri/npm/src/db/exchange/exchange-nests.js +54 -0
  153. package/esm/keri/npm/src/db/exchange/exchange-records.js +7 -0
  154. package/esm/keri/npm/src/db/index.js +5 -6
  155. package/esm/keri/npm/src/db/keeping.js +123 -6
  156. package/esm/keri/npm/src/db/{kram-factors.js → mailbox/kram-factors.js} +17 -50
  157. package/esm/keri/npm/src/db/{mailboxing.js → mailbox/mailboxing.js} +5 -8
  158. package/esm/keri/npm/src/db/reger.js +48 -69
  159. package/esm/keri/npm/src/db/{kel-replay.js → replay/kel-replay.js} +12 -24
  160. package/esm/keri/npm/src/db/{tel-replay.js → replay/tel-replay.js} +38 -36
  161. package/esm/keri/npm/src/db/{witness-replay.js → replay/witness-replay.js} +8 -14
  162. package/esm/keri/npm/src/db/subing.js +2 -11
  163. package/esm/keri/npm/src/did/keri/resolving.js +4 -18
  164. package/esm/keri/npm/src/did/webs/artifacts.js +21 -24
  165. package/esm/keri/npm/src/did/webs/designated-aliases.js +18 -48
  166. package/esm/keri/npm/src/did/webs/documenting.js +8 -8
  167. package/esm/keri/npm/src/did/webs/resolving.js +73 -74
  168. package/esm/keri/npm/src/library/index.js +1 -1
  169. package/esm/keri/npm/src/npm/cli.js +1 -1
  170. package/esm/keri/npm/src/npm/index.js +1 -1
  171. package/esm/keri/npm/src/runtime/index.js +105 -74
  172. package/esm/keri/npm/src/vdr/backer-state.js +55 -0
  173. package/esm/keri/npm/src/vdr/credential-tsn-record.js +59 -0
  174. package/esm/keri/npm/src/vdr/credentialing.js +84 -109
  175. package/esm/keri/npm/src/vdr/eventing.js +633 -251
  176. package/esm/keri/npm/src/vdr/registry-tsn-record.js +55 -0
  177. package/esm/keri/npm/src/vdr/revoking.js +90 -0
  178. package/esm/keri/npm/src/vdr/tel-anchor.js +29 -0
  179. package/esm/keri/npm/src/vdr/tel-publication.js +178 -0
  180. package/esm/keri/npm/src/vdr/tsn-query.js +15 -10
  181. package/esm/keri/npm/src/{app/version.js → version.js} +2 -2
  182. package/package.json +7 -21
  183. package/types/_dnt.polyfills.d.ts +55 -0
  184. package/types/_dnt.polyfills.d.ts.map +1 -1
  185. package/types/acdc/chaining.d.ts +35 -0
  186. package/types/acdc/chaining.d.ts.map +1 -0
  187. package/types/acdc/dhking.d.ts +136 -0
  188. package/types/acdc/dhking.d.ts.map +1 -0
  189. package/types/acdc/messaging.d.ts.map +1 -1
  190. package/types/acdc/observing.d.ts +19 -15
  191. package/types/acdc/observing.d.ts.map +1 -1
  192. package/types/acdc/regbasing.d.ts +8 -9
  193. package/types/acdc/regbasing.d.ts.map +1 -1
  194. package/types/acdc/regengine.d.ts +14 -28
  195. package/types/acdc/regengine.d.ts.map +1 -1
  196. package/types/acdc/regeventing.d.ts +24 -7
  197. package/types/acdc/regeventing.d.ts.map +1 -1
  198. package/types/acdc/registering.d.ts +27 -11
  199. package/types/acdc/registering.d.ts.map +1 -1
  200. package/types/acdc/registraring.d.ts +22 -22
  201. package/types/acdc/registraring.d.ts.map +1 -1
  202. package/types/acdc/relating.d.ts +21 -0
  203. package/types/acdc/relating.d.ts.map +1 -0
  204. package/types/acdc/salting.d.ts +241 -0
  205. package/types/acdc/salting.d.ts.map +1 -0
  206. package/types/acdc/scheming.d.ts +3 -2
  207. package/types/acdc/scheming.d.ts.map +1 -1
  208. package/types/acdc/unblinding.d.ts +150 -0
  209. package/types/acdc/unblinding.d.ts.map +1 -0
  210. package/types/app/bootstrap/authenticating.d.ts +54 -0
  211. package/types/app/bootstrap/authenticating.d.ts.map +1 -0
  212. package/types/app/bootstrap/bootstrapping.d.ts +45 -0
  213. package/types/app/bootstrap/bootstrapping.d.ts.map +1 -0
  214. package/types/app/bootstrap/oobi-replies.d.ts +8 -0
  215. package/types/app/bootstrap/oobi-replies.d.ts.map +1 -0
  216. package/types/app/{oobiery.d.ts → bootstrap/oobiery.d.ts} +98 -27
  217. package/types/app/bootstrap/oobiery.d.ts.map +1 -0
  218. package/types/app/credentials/credential-importing.d.ts +29 -0
  219. package/types/app/credentials/credential-importing.d.ts.map +1 -0
  220. package/types/app/credentials/credential-proposals.d.ts +27 -0
  221. package/types/app/credentials/credential-proposals.d.ts.map +1 -0
  222. package/types/app/credentials/credential-revoking.d.ts +44 -0
  223. package/types/app/credentials/credential-revoking.d.ts.map +1 -0
  224. package/types/app/credentials/credential-workflows.d.ts +149 -0
  225. package/types/app/credentials/credential-workflows.d.ts.map +1 -0
  226. package/types/app/{schema-resolving.d.ts → credentials/schema-resolving.d.ts} +2 -2
  227. package/types/app/credentials/schema-resolving.d.ts.map +1 -0
  228. package/types/app/credentials/tel-publishing.d.ts +16 -0
  229. package/types/app/credentials/tel-publishing.d.ts.map +1 -0
  230. package/types/app/{verifying.d.ts → credentials/verifying.d.ts} +20 -9
  231. package/types/app/credentials/verifying.d.ts.map +1 -0
  232. package/types/app/delivery/forwarding.d.ts +227 -0
  233. package/types/app/delivery/forwarding.d.ts.map +1 -0
  234. package/types/app/delivery/introducing.d.ts +21 -0
  235. package/types/app/delivery/introducing.d.ts.map +1 -0
  236. package/types/app/delivery/reply-streams.d.ts +49 -0
  237. package/types/app/delivery/reply-streams.d.ts.map +1 -0
  238. package/types/app/delivery/respondant.d.ts +52 -0
  239. package/types/app/delivery/respondant.d.ts.map +1 -0
  240. package/types/app/delivery/stored-replies.d.ts +11 -0
  241. package/types/app/delivery/stored-replies.d.ts.map +1 -0
  242. package/types/app/exchanges/essr.d.ts +53 -0
  243. package/types/app/exchanges/essr.d.ts.map +1 -0
  244. package/types/app/exchanges/exchange-messaging.d.ts +73 -0
  245. package/types/app/exchanges/exchange-messaging.d.ts.map +1 -0
  246. package/types/app/exchanges/exchanging.d.ts +379 -0
  247. package/types/app/exchanges/exchanging.d.ts.map +1 -0
  248. package/types/app/{challenging.d.ts → identity/challenging.d.ts} +9 -3
  249. package/types/app/identity/challenging.d.ts.map +1 -0
  250. package/types/app/{configing.d.ts → identity/configing.d.ts} +1 -1
  251. package/types/app/identity/configing.d.ts.map +1 -0
  252. package/types/app/{delegating.d.ts → identity/delegating.d.ts} +59 -17
  253. package/types/app/identity/delegating.d.ts.map +1 -0
  254. package/types/app/identity/endpoint-roleing.d.ts +54 -0
  255. package/types/app/identity/endpoint-roleing.d.ts.map +1 -0
  256. package/types/app/{habbing.d.ts → identity/habbing.d.ts} +86 -54
  257. package/types/app/identity/habbing.d.ts.map +1 -0
  258. package/types/app/{keeping.d.ts → identity/keeping.d.ts} +19 -5
  259. package/types/app/identity/keeping.d.ts.map +1 -0
  260. package/types/app/{organizing.d.ts → identity/organizing.d.ts} +19 -4
  261. package/types/app/identity/organizing.d.ts.map +1 -0
  262. package/types/app/{ipex-building.d.ts → ipex/ipex-building.d.ts} +5 -5
  263. package/types/app/ipex/ipex-building.d.ts.map +1 -0
  264. package/types/app/{ipex-credentialing.d.ts → ipex/ipex-credentialing.d.ts} +42 -10
  265. package/types/app/ipex/ipex-credentialing.d.ts.map +1 -0
  266. package/types/app/ipex/ipex-graph.d.ts +28 -0
  267. package/types/app/ipex/ipex-graph.d.ts.map +1 -0
  268. package/types/app/ipex/ipex-grouping.d.ts +112 -0
  269. package/types/app/ipex/ipex-grouping.d.ts.map +1 -0
  270. package/types/app/ipex/ipex-node-authentication.d.ts +32 -0
  271. package/types/app/ipex/ipex-node-authentication.d.ts.map +1 -0
  272. package/types/app/ipex/ipex-v2.d.ts +71 -0
  273. package/types/app/ipex/ipex-v2.d.ts.map +1 -0
  274. package/types/app/{ipexing.d.ts → ipex/ipexing.d.ts} +21 -8
  275. package/types/app/ipex/ipexing.d.ts.map +1 -0
  276. package/types/app/mailbox/forward-handler.d.ts +68 -0
  277. package/types/app/mailbox/forward-handler.d.ts.map +1 -0
  278. package/types/app/mailbox/mailbox-director.d.ts +252 -0
  279. package/types/app/mailbox/mailbox-director.d.ts.map +1 -0
  280. package/types/app/mailbox/mailbox-poller.d.ts +149 -0
  281. package/types/app/mailbox/mailbox-poller.d.ts.map +1 -0
  282. package/types/app/mailbox/mailbox-sse.d.ts +63 -0
  283. package/types/app/mailbox/mailbox-sse.d.ts.map +1 -0
  284. package/types/app/{mailboxing.d.ts → mailbox/mailboxing.d.ts} +92 -43
  285. package/types/app/mailbox/mailboxing.d.ts.map +1 -0
  286. package/types/app/mailbox/topic-routing.d.ts +18 -0
  287. package/types/app/mailbox/topic-routing.d.ts.map +1 -0
  288. package/types/app/multisig/group-members.d.ts +60 -0
  289. package/types/app/multisig/group-members.d.ts.map +1 -0
  290. package/types/app/multisig/grouping.d.ts +317 -0
  291. package/types/app/multisig/grouping.d.ts.map +1 -0
  292. package/types/app/multisig/multisig-messaging.d.ts +97 -0
  293. package/types/app/multisig/multisig-messaging.d.ts.map +1 -0
  294. package/types/app/multisig/multisig-workflows.d.ts +85 -0
  295. package/types/app/multisig/multisig-workflows.d.ts.map +1 -0
  296. package/types/app/{notifying.d.ts → notifications/notifying.d.ts} +5 -6
  297. package/types/app/notifications/notifying.d.ts.map +1 -0
  298. package/types/app/notifications/signaling.d.ts +68 -0
  299. package/types/app/notifications/signaling.d.ts.map +1 -0
  300. package/types/app/protocol/parsering.d.ts +128 -0
  301. package/types/app/protocol/parsering.d.ts.map +1 -0
  302. package/types/app/{protocol-host-policy.d.ts → protocol/protocol-host-policy.d.ts} +1 -10
  303. package/types/app/protocol/protocol-host-policy.d.ts.map +1 -0
  304. package/types/app/protocol/protocol-processing.d.ts +140 -0
  305. package/types/app/protocol/protocol-processing.d.ts.map +1 -0
  306. package/types/app/protocol/reactor.d.ts +43 -0
  307. package/types/app/protocol/reactor.d.ts.map +1 -0
  308. package/types/app/queries/query-replies.d.ts +78 -0
  309. package/types/app/queries/query-replies.d.ts.map +1 -0
  310. package/types/app/queries/querying.d.ts +155 -0
  311. package/types/app/queries/querying.d.ts.map +1 -0
  312. package/types/app/queries/witness-inquisitor.d.ts +150 -0
  313. package/types/app/queries/witness-inquisitor.d.ts.map +1 -0
  314. package/types/app/runtime/abortable.d.ts +39 -0
  315. package/types/app/runtime/abortable.d.ts.map +1 -0
  316. package/types/app/runtime/agent-runtime.d.ts +348 -0
  317. package/types/app/runtime/agent-runtime.d.ts.map +1 -0
  318. package/types/app/runtime/cue-runtime.d.ts +33 -0
  319. package/types/app/runtime/cue-runtime.d.ts.map +1 -0
  320. package/types/app/runtime/runtime-clock.d.ts +28 -0
  321. package/types/app/runtime/runtime-clock.d.ts.map +1 -0
  322. package/types/app/runtime/runtime-turn.d.ts.map +1 -0
  323. package/types/app/transport/byte-source.d.ts +41 -0
  324. package/types/app/transport/byte-source.d.ts.map +1 -0
  325. package/types/app/transport/cesr-egress.d.ts +117 -0
  326. package/types/app/transport/cesr-egress.d.ts.map +1 -0
  327. package/types/app/{cesr-http.d.ts → transport/cesr-http.d.ts} +9 -33
  328. package/types/app/transport/cesr-http.d.ts.map +1 -0
  329. package/types/app/transport/http-client.d.ts +99 -0
  330. package/types/app/transport/http-client.d.ts.map +1 -0
  331. package/types/app/transport/http-messenger.d.ts +37 -0
  332. package/types/app/transport/http-messenger.d.ts.map +1 -0
  333. package/types/app/transport/http-stream-messenger.d.ts +30 -0
  334. package/types/app/transport/http-stream-messenger.d.ts.map +1 -0
  335. package/types/app/transport/httping.d.ts +19 -0
  336. package/types/app/transport/httping.d.ts.map +1 -0
  337. package/types/app/transport/message-source.d.ts +22 -0
  338. package/types/app/transport/message-source.d.ts.map +1 -0
  339. package/types/app/transport/messengering.d.ts +41 -0
  340. package/types/app/transport/messengering.d.ts.map +1 -0
  341. package/types/app/{socket-source.d.ts → transport/socket-source.d.ts} +10 -3
  342. package/types/app/transport/socket-source.d.ts.map +1 -0
  343. package/types/app/transport/tcp-egress.d.ts +118 -0
  344. package/types/app/transport/tcp-egress.d.ts.map +1 -0
  345. package/types/app/transport/tcp-messenger.d.ts +69 -0
  346. package/types/app/transport/tcp-messenger.d.ts.map +1 -0
  347. package/types/app/transport/tcp-stream-messenger.d.ts +25 -0
  348. package/types/app/transport/tcp-stream-messenger.d.ts.map +1 -0
  349. package/types/app/transport/transport-error.d.ts +12 -0
  350. package/types/app/transport/transport-error.d.ts.map +1 -0
  351. package/types/app/witness/http-endpoints.d.ts +77 -0
  352. package/types/app/witness/http-endpoints.d.ts.map +1 -0
  353. package/types/app/witness/ingress.d.ts +65 -0
  354. package/types/app/witness/ingress.d.ts.map +1 -0
  355. package/types/app/witness/receipt-client.d.ts +82 -0
  356. package/types/app/witness/receipt-client.d.ts.map +1 -0
  357. package/types/app/witness/receipt-messages.d.ts +21 -0
  358. package/types/app/witness/receipt-messages.d.ts.map +1 -0
  359. package/types/app/witness/receipting.d.ts +117 -0
  360. package/types/app/witness/receipting.d.ts.map +1 -0
  361. package/types/app/witness/registration.d.ts +27 -0
  362. package/types/app/witness/registration.d.ts.map +1 -0
  363. package/types/cli/common/bootstrap.d.ts +5 -0
  364. package/types/cli/common/bootstrap.d.ts.map +1 -0
  365. package/types/{app/cli → cli}/common/context.d.ts +10 -9
  366. package/types/cli/common/context.d.ts.map +1 -0
  367. package/types/{app/cli → cli}/common/existing.d.ts +2 -8
  368. package/types/cli/common/existing.d.ts.map +1 -0
  369. package/types/{app/cli → cli}/common/parsing.d.ts +26 -15
  370. package/types/cli/common/parsing.d.ts.map +1 -0
  371. package/types/cli/common/passcode.d.ts +9 -0
  372. package/types/cli/common/passcode.d.ts.map +1 -0
  373. package/types/cli/common/rendering.d.ts.map +1 -0
  374. package/types/cli/common/tel-completion.d.ts +8 -0
  375. package/types/cli/common/tel-completion.d.ts.map +1 -0
  376. package/types/{app/cli → cli}/common/witness-auth.d.ts +1 -1
  377. package/types/cli/common/witness-auth.d.ts.map +1 -0
  378. package/types/cli/credentials/ipex.d.ts +110 -0
  379. package/types/cli/credentials/ipex.d.ts.map +1 -0
  380. package/types/cli/credentials/vc.d.ts +42 -0
  381. package/types/cli/credentials/vc.d.ts.map +1 -0
  382. package/types/{app/cli → cli/endpoints}/did.d.ts +5 -1
  383. package/types/cli/endpoints/did.d.ts.map +1 -0
  384. package/types/{app/cli → cli/endpoints}/ends.d.ts +9 -1
  385. package/types/cli/endpoints/ends.d.ts.map +1 -0
  386. package/types/cli/endpoints/loc.d.ts.map +1 -0
  387. package/types/cli/endpoints/oobi-clean.d.ts +8 -0
  388. package/types/cli/endpoints/oobi-clean.d.ts.map +1 -0
  389. package/types/{app/cli → cli/endpoints}/oobi.d.ts +3 -1
  390. package/types/cli/endpoints/oobi.d.ts.map +1 -0
  391. package/types/cli/identity/aid.d.ts.map +1 -0
  392. package/types/{app/cli → cli/identity}/challenge.d.ts +5 -1
  393. package/types/cli/identity/challenge.d.ts.map +1 -0
  394. package/types/cli/identity/delegate.d.ts +4 -0
  395. package/types/cli/identity/delegate.d.ts.map +1 -0
  396. package/types/cli/identity/export.d.ts.map +1 -0
  397. package/types/{app/cli → cli/identity}/incept.d.ts +2 -0
  398. package/types/cli/identity/incept.d.ts.map +1 -0
  399. package/types/{app/cli → cli/identity}/init.d.ts +2 -0
  400. package/types/cli/identity/init.d.ts.map +1 -0
  401. package/types/{app/cli → cli/identity}/interact.d.ts +2 -0
  402. package/types/cli/identity/interact.d.ts.map +1 -0
  403. package/types/cli/identity/list.d.ts.map +1 -0
  404. package/types/{app/cli → cli/identity}/rotate.d.ts +9 -2
  405. package/types/cli/identity/rotate.d.ts.map +1 -0
  406. package/types/cli/index.d.ts +39 -0
  407. package/types/cli/index.d.ts.map +1 -0
  408. package/types/{app/cli → cli/messaging}/exchange.d.ts +3 -1
  409. package/types/cli/messaging/exchange.d.ts.map +1 -0
  410. package/types/cli/messaging/multisig.d.ts +29 -0
  411. package/types/cli/messaging/multisig.d.ts.map +1 -0
  412. package/types/cli/messaging/notifications.d.ts.map +1 -0
  413. package/types/cli/output.d.ts.map +1 -0
  414. package/types/cli/tools/annotate-color.d.ts.map +1 -0
  415. package/types/cli/tools/annotate.d.ts.map +1 -0
  416. package/types/cli/tools/benchmark.d.ts.map +1 -0
  417. package/types/{app/cli → cli/tools}/db-dump.d.ts +0 -2
  418. package/types/cli/tools/db-dump.d.ts.map +1 -0
  419. package/types/cli/tools/saidify.d.ts.map +1 -0
  420. package/types/{app/cli → cli/tools}/sign.d.ts +2 -0
  421. package/types/cli/tools/sign.d.ts.map +1 -0
  422. package/types/cli/tools/verify.d.ts.map +1 -0
  423. package/types/core/attachment-countering.d.ts +10 -1
  424. package/types/core/attachment-countering.d.ts.map +1 -1
  425. package/types/core/cues.d.ts +146 -57
  426. package/types/core/cues.d.ts.map +1 -1
  427. package/types/core/deck.d.ts +2 -12
  428. package/types/core/deck.d.ts.map +1 -1
  429. package/types/core/dispatch.d.ts +7 -3
  430. package/types/core/dispatch.d.ts.map +1 -1
  431. package/types/core/errors.d.ts +4 -4
  432. package/types/core/errors.d.ts.map +1 -1
  433. package/types/core/{exchange-proofing.d.ts → exchange/exchange-proofing.d.ts} +9 -2
  434. package/types/core/exchange/exchange-proofing.d.ts.map +1 -0
  435. package/types/core/{protocol-exchanging.d.ts → exchange/protocol-exchanging.d.ts} +18 -2
  436. package/types/core/exchange/protocol-exchanging.d.ts.map +1 -0
  437. package/types/core/genus-framing.d.ts +12 -0
  438. package/types/core/genus-framing.d.ts.map +1 -0
  439. package/types/core/{eventing.d.ts → kel/eventing.d.ts} +37 -48
  440. package/types/core/kel/eventing.d.ts.map +1 -0
  441. package/types/core/{kever-decisions.d.ts → kel/kever-decisions.d.ts} +36 -22
  442. package/types/core/kel/kever-decisions.d.ts.map +1 -0
  443. package/types/core/{kever.d.ts → kel/kever.d.ts} +13 -47
  444. package/types/core/kel/kever.d.ts.map +1 -0
  445. package/types/core/kel/witnesses.d.ts.map +1 -0
  446. package/types/core/logger.d.ts +1 -1
  447. package/types/core/logger.d.ts.map +1 -1
  448. package/types/core/{kram-auth.d.ts → mailbox/kram-auth.d.ts} +2 -2
  449. package/types/core/mailbox/kram-auth.d.ts.map +1 -0
  450. package/types/core/{kram-policy.d.ts → mailbox/kram-policy.d.ts} +2 -2
  451. package/types/core/mailbox/kram-policy.d.ts.map +1 -0
  452. package/types/core/{kram-pruning.d.ts → mailbox/kram-pruning.d.ts} +3 -3
  453. package/types/core/{kram-pruning.d.ts.map → mailbox/kram-pruning.d.ts.map} +1 -1
  454. package/types/core/{kram-signatures.d.ts → mailbox/kram-signatures.d.ts} +3 -3
  455. package/types/core/mailbox/kram-signatures.d.ts.map +1 -0
  456. package/types/core/mailbox/kram-staging.d.ts +30 -0
  457. package/types/core/mailbox/kram-staging.d.ts.map +1 -0
  458. package/types/core/{kram-time.d.ts → mailbox/kram-time.d.ts} +5 -11
  459. package/types/core/mailbox/kram-time.d.ts.map +1 -0
  460. package/types/core/mailbox/kraming.d.ts +42 -0
  461. package/types/core/mailbox/kraming.d.ts.map +1 -0
  462. package/types/core/mailbox/mailbox-topics.d.ts.map +1 -0
  463. package/types/core/protocol-eventing.d.ts +5 -0
  464. package/types/core/protocol-eventing.d.ts.map +1 -1
  465. package/types/core/protocol-serialization.d.ts +1 -1
  466. package/types/core/protocol-serialization.d.ts.map +1 -1
  467. package/types/core/protocol-vdr-eventing.d.ts +7 -5
  468. package/types/core/protocol-vdr-eventing.d.ts.map +1 -1
  469. package/types/core/records.d.ts +15 -50
  470. package/types/core/records.d.ts.map +1 -1
  471. package/types/core/routing.d.ts +76 -46
  472. package/types/core/routing.d.ts.map +1 -1
  473. package/types/db/baser-defaults.d.ts +5 -0
  474. package/types/db/baser-defaults.d.ts.map +1 -0
  475. package/types/db/basing.d.ts +70 -75
  476. package/types/db/basing.d.ts.map +1 -1
  477. package/types/db/core/keys.d.ts.map +1 -1
  478. package/types/db/core/lmdber.d.ts +21 -23
  479. package/types/db/core/lmdber.d.ts.map +1 -1
  480. package/types/db/core/path-manager.d.ts.map +1 -1
  481. package/types/db/escrowing.d.ts +12 -49
  482. package/types/db/escrowing.d.ts.map +1 -1
  483. package/types/db/exchange/exchange-nests.d.ts +12 -0
  484. package/types/db/exchange/exchange-nests.d.ts.map +1 -0
  485. package/types/db/exchange/exchange-records.d.ts +38 -0
  486. package/types/db/exchange/exchange-records.d.ts.map +1 -0
  487. package/types/db/index.d.ts +5 -6
  488. package/types/db/index.d.ts.map +1 -1
  489. package/types/db/keeping.d.ts +19 -1
  490. package/types/db/keeping.d.ts.map +1 -1
  491. package/types/db/koming.d.ts +1 -1
  492. package/types/db/koming.d.ts.map +1 -1
  493. package/types/db/{kram-factors.d.ts → mailbox/kram-factors.d.ts} +3 -5
  494. package/types/db/mailbox/kram-factors.d.ts.map +1 -0
  495. package/types/db/{mailboxing.d.ts → mailbox/mailboxing.d.ts} +3 -4
  496. package/types/db/mailbox/mailboxing.d.ts.map +1 -0
  497. package/types/db/reger.d.ts +10 -12
  498. package/types/db/reger.d.ts.map +1 -1
  499. package/types/db/{kel-replay.d.ts → replay/kel-replay.d.ts} +2 -6
  500. package/types/db/replay/kel-replay.d.ts.map +1 -0
  501. package/types/db/{tel-replay.d.ts → replay/tel-replay.d.ts} +13 -8
  502. package/types/db/replay/tel-replay.d.ts.map +1 -0
  503. package/types/db/{witness-replay.d.ts → replay/witness-replay.d.ts} +2 -3
  504. package/types/db/replay/witness-replay.d.ts.map +1 -0
  505. package/types/db/subing.d.ts +1 -5
  506. package/types/db/subing.d.ts.map +1 -1
  507. package/types/did/keri/resolving.d.ts +5 -10
  508. package/types/did/keri/resolving.d.ts.map +1 -1
  509. package/types/did/webs/artifacts.d.ts +5 -5
  510. package/types/did/webs/artifacts.d.ts.map +1 -1
  511. package/types/did/webs/designated-aliases.d.ts +6 -5
  512. package/types/did/webs/designated-aliases.d.ts.map +1 -1
  513. package/types/did/webs/documenting.d.ts +6 -5
  514. package/types/did/webs/documenting.d.ts.map +1 -1
  515. package/types/did/webs/resolving.d.ts +13 -3
  516. package/types/did/webs/resolving.d.ts.map +1 -1
  517. package/types/library/index.d.ts +1 -1
  518. package/types/library/index.d.ts.map +1 -1
  519. package/types/npm/cli.d.ts +1 -1
  520. package/types/npm/cli.d.ts.map +1 -1
  521. package/types/npm/index.d.ts +1 -1
  522. package/types/npm/index.d.ts.map +1 -1
  523. package/types/runtime/index.d.ts +109 -76
  524. package/types/runtime/index.d.ts.map +1 -1
  525. package/types/vdr/backer-state.d.ts +22 -0
  526. package/types/vdr/backer-state.d.ts.map +1 -0
  527. package/types/vdr/credential-tsn-record.d.ts +13 -0
  528. package/types/vdr/credential-tsn-record.d.ts.map +1 -0
  529. package/types/vdr/credentialing.d.ts +16 -27
  530. package/types/vdr/credentialing.d.ts.map +1 -1
  531. package/types/vdr/eventing.d.ts +66 -23
  532. package/types/vdr/eventing.d.ts.map +1 -1
  533. package/types/vdr/registry-tsn-record.d.ts +6 -0
  534. package/types/vdr/registry-tsn-record.d.ts.map +1 -0
  535. package/types/vdr/revoking.d.ts +18 -0
  536. package/types/vdr/revoking.d.ts.map +1 -0
  537. package/types/vdr/tel-anchor.d.ts +10 -0
  538. package/types/vdr/tel-anchor.d.ts.map +1 -0
  539. package/types/vdr/tel-publication.d.ts +49 -0
  540. package/types/vdr/tel-publication.d.ts.map +1 -0
  541. package/types/vdr/tsn-query.d.ts +9 -4
  542. package/types/vdr/tsn-query.d.ts.map +1 -1
  543. package/types/{app/version.d.ts → version.d.ts} +2 -2
  544. package/types/version.d.ts.map +1 -0
  545. package/esm/keri/npm/src/app/abortable.js +0 -27
  546. package/esm/keri/npm/src/app/agent-runtime.js +0 -638
  547. package/esm/keri/npm/src/app/cesr-egress.js +0 -308
  548. package/esm/keri/npm/src/app/cesr-output.js +0 -12
  549. package/esm/keri/npm/src/app/cli/annotate.js +0 -24
  550. package/esm/keri/npm/src/app/cli/challenge.js +0 -168
  551. package/esm/keri/npm/src/app/cli/common/displaying.js +0 -43
  552. package/esm/keri/npm/src/app/cli/common/parsing.js +0 -215
  553. package/esm/keri/npm/src/app/cli/incept.js +0 -187
  554. package/esm/keri/npm/src/app/cli/index.js +0 -36
  555. package/esm/keri/npm/src/app/cli/init.js +0 -155
  556. package/esm/keri/npm/src/app/cli/interact.js +0 -72
  557. package/esm/keri/npm/src/app/cli/ipex.js +0 -453
  558. package/esm/keri/npm/src/app/cli/multisig.js +0 -474
  559. package/esm/keri/npm/src/app/cli/query.js +0 -143
  560. package/esm/keri/npm/src/app/cli/rotate.js +0 -171
  561. package/esm/keri/npm/src/app/cli/vc.js +0 -284
  562. package/esm/keri/npm/src/app/cli/verifier.js +0 -96
  563. package/esm/keri/npm/src/app/credential-workflows.js +0 -431
  564. package/esm/keri/npm/src/app/cue-delivery.js +0 -171
  565. package/esm/keri/npm/src/app/cue-preparation.js +0 -124
  566. package/esm/keri/npm/src/app/cue-route.js +0 -64
  567. package/esm/keri/npm/src/app/cue-runtime.js +0 -104
  568. package/esm/keri/npm/src/app/direct-reply-delivery.js +0 -282
  569. package/esm/keri/npm/src/app/essr.js +0 -235
  570. package/esm/keri/npm/src/app/exchanging.js +0 -1219
  571. package/esm/keri/npm/src/app/forwarding.js +0 -1346
  572. package/esm/keri/npm/src/app/group-members.js +0 -37
  573. package/esm/keri/npm/src/app/grouping.js +0 -534
  574. package/esm/keri/npm/src/app/httping.js +0 -130
  575. package/esm/keri/npm/src/app/ipex-credentialing.js +0 -245
  576. package/esm/keri/npm/src/app/ipex-grouping.js +0 -317
  577. package/esm/keri/npm/src/app/ipex-v2.js +0 -542
  578. package/esm/keri/npm/src/app/mailbox-sse.js +0 -257
  579. package/esm/keri/npm/src/app/multisig-workflows.js +0 -537
  580. package/esm/keri/npm/src/app/oobi-replies.js +0 -194
  581. package/esm/keri/npm/src/app/query-replies.js +0 -181
  582. package/esm/keri/npm/src/app/querying.js +0 -1040
  583. package/esm/keri/npm/src/app/reactor.js +0 -517
  584. package/esm/keri/npm/src/app/reply-streams.js +0 -304
  585. package/esm/keri/npm/src/app/respondant.js +0 -173
  586. package/esm/keri/npm/src/app/runtime-deliveries.js +0 -510
  587. package/esm/keri/npm/src/app/runtime-services.js +0 -25
  588. package/esm/keri/npm/src/app/signaling.js +0 -388
  589. package/esm/keri/npm/src/app/stored-replies.js +0 -85
  590. package/esm/keri/npm/src/app/tcp-egress.js +0 -334
  591. package/esm/keri/npm/src/app/verifier-agent.js +0 -461
  592. package/esm/keri/npm/src/app/witnessing.js +0 -956
  593. package/esm/keri/npm/src/core/cue-admission.js +0 -419
  594. package/esm/keri/npm/src/core/index.js +0 -23
  595. package/esm/keri/npm/src/core/kever-decisions.js +0 -63
  596. package/esm/keri/npm/src/core/kram-handoff.js +0 -148
  597. package/esm/keri/npm/src/core/kram-staging.js +0 -211
  598. package/esm/keri/npm/src/core/kraming.js +0 -99
  599. package/esm/keri/npm/src/db/exchange-nests.js +0 -175
  600. package/esm/keri/npm/src/db/exchange-records.js +0 -7
  601. package/esm/keri/npm/src/db/kram-snapshots.js +0 -216
  602. package/esm/keri/npm/src/db/mailbox-inbox.js +0 -206
  603. package/esm/keri/npm/src/db/outboxing.js +0 -371
  604. package/esm/keri/npm/src/db/payload-archive.js +0 -402
  605. package/esm/keri/npm/src/db/payload-store.js +0 -416
  606. package/esm/keri/npm/src/db/payload-view.js +0 -23
  607. package/esm/keri/npm/src/db/verifier-cueing.js +0 -132
  608. package/esm/keri/npm/src/vdr/credential-tsn.js +0 -218
  609. package/esm/keri/npm/src/vdr/registry-tsn.js +0 -218
  610. package/types/app/abortable.d.ts +0 -11
  611. package/types/app/abortable.d.ts.map +0 -1
  612. package/types/app/agent-runtime.d.ts +0 -284
  613. package/types/app/agent-runtime.d.ts.map +0 -1
  614. package/types/app/authenticating.d.ts +0 -36
  615. package/types/app/authenticating.d.ts.map +0 -1
  616. package/types/app/byte-source.d.ts +0 -16
  617. package/types/app/byte-source.d.ts.map +0 -1
  618. package/types/app/cesr-egress.d.ts +0 -48
  619. package/types/app/cesr-egress.d.ts.map +0 -1
  620. package/types/app/cesr-http.d.ts.map +0 -1
  621. package/types/app/cesr-output.d.ts +0 -5
  622. package/types/app/cesr-output.d.ts.map +0 -1
  623. package/types/app/challenging.d.ts.map +0 -1
  624. package/types/app/cli/aid.d.ts.map +0 -1
  625. package/types/app/cli/annotate-color.d.ts.map +0 -1
  626. package/types/app/cli/annotate.d.ts.map +0 -1
  627. package/types/app/cli/benchmark.d.ts.map +0 -1
  628. package/types/app/cli/challenge.d.ts.map +0 -1
  629. package/types/app/cli/common/context.d.ts.map +0 -1
  630. package/types/app/cli/common/displaying.d.ts +0 -12
  631. package/types/app/cli/common/displaying.d.ts.map +0 -1
  632. package/types/app/cli/common/existing.d.ts.map +0 -1
  633. package/types/app/cli/common/parsing.d.ts.map +0 -1
  634. package/types/app/cli/common/rendering.d.ts.map +0 -1
  635. package/types/app/cli/common/witness-auth.d.ts.map +0 -1
  636. package/types/app/cli/db-dump.d.ts.map +0 -1
  637. package/types/app/cli/delegate.d.ts +0 -26
  638. package/types/app/cli/delegate.d.ts.map +0 -1
  639. package/types/app/cli/did.d.ts.map +0 -1
  640. package/types/app/cli/ends.d.ts.map +0 -1
  641. package/types/app/cli/exchange.d.ts.map +0 -1
  642. package/types/app/cli/export.d.ts.map +0 -1
  643. package/types/app/cli/incept.d.ts.map +0 -1
  644. package/types/app/cli/index.d.ts +0 -37
  645. package/types/app/cli/index.d.ts.map +0 -1
  646. package/types/app/cli/init.d.ts.map +0 -1
  647. package/types/app/cli/interact.d.ts.map +0 -1
  648. package/types/app/cli/ipex.d.ts +0 -20
  649. package/types/app/cli/ipex.d.ts.map +0 -1
  650. package/types/app/cli/list.d.ts.map +0 -1
  651. package/types/app/cli/loc.d.ts.map +0 -1
  652. package/types/app/cli/multisig.d.ts +0 -12
  653. package/types/app/cli/multisig.d.ts.map +0 -1
  654. package/types/app/cli/notifications.d.ts.map +0 -1
  655. package/types/app/cli/oobi.d.ts.map +0 -1
  656. package/types/app/cli/output.d.ts.map +0 -1
  657. package/types/app/cli/query.d.ts +0 -12
  658. package/types/app/cli/query.d.ts.map +0 -1
  659. package/types/app/cli/rotate.d.ts.map +0 -1
  660. package/types/app/cli/saidify.d.ts.map +0 -1
  661. package/types/app/cli/sign.d.ts.map +0 -1
  662. package/types/app/cli/vc.d.ts +0 -20
  663. package/types/app/cli/vc.d.ts.map +0 -1
  664. package/types/app/cli/verifier.d.ts +0 -3
  665. package/types/app/cli/verifier.d.ts.map +0 -1
  666. package/types/app/cli/verify.d.ts.map +0 -1
  667. package/types/app/configing.d.ts.map +0 -1
  668. package/types/app/credential-workflows.d.ts +0 -118
  669. package/types/app/credential-workflows.d.ts.map +0 -1
  670. package/types/app/cue-delivery.d.ts +0 -30
  671. package/types/app/cue-delivery.d.ts.map +0 -1
  672. package/types/app/cue-preparation.d.ts +0 -25
  673. package/types/app/cue-preparation.d.ts.map +0 -1
  674. package/types/app/cue-route.d.ts +0 -19
  675. package/types/app/cue-route.d.ts.map +0 -1
  676. package/types/app/cue-runtime.d.ts +0 -46
  677. package/types/app/cue-runtime.d.ts.map +0 -1
  678. package/types/app/delegating.d.ts.map +0 -1
  679. package/types/app/direct-reply-delivery.d.ts +0 -38
  680. package/types/app/direct-reply-delivery.d.ts.map +0 -1
  681. package/types/app/endpoint-roleing.d.ts +0 -41
  682. package/types/app/endpoint-roleing.d.ts.map +0 -1
  683. package/types/app/essr.d.ts +0 -72
  684. package/types/app/essr.d.ts.map +0 -1
  685. package/types/app/exchanging.d.ts +0 -245
  686. package/types/app/exchanging.d.ts.map +0 -1
  687. package/types/app/forwarding.d.ts +0 -411
  688. package/types/app/forwarding.d.ts.map +0 -1
  689. package/types/app/group-members.d.ts +0 -12
  690. package/types/app/group-members.d.ts.map +0 -1
  691. package/types/app/grouping.d.ts +0 -150
  692. package/types/app/grouping.d.ts.map +0 -1
  693. package/types/app/habbing.d.ts.map +0 -1
  694. package/types/app/httping.d.ts +0 -42
  695. package/types/app/httping.d.ts.map +0 -1
  696. package/types/app/ipex-building.d.ts.map +0 -1
  697. package/types/app/ipex-credentialing.d.ts.map +0 -1
  698. package/types/app/ipex-graph.d.ts +0 -30
  699. package/types/app/ipex-graph.d.ts.map +0 -1
  700. package/types/app/ipex-grouping.d.ts +0 -51
  701. package/types/app/ipex-grouping.d.ts.map +0 -1
  702. package/types/app/ipex-v2.d.ts +0 -51
  703. package/types/app/ipex-v2.d.ts.map +0 -1
  704. package/types/app/ipexing.d.ts.map +0 -1
  705. package/types/app/keeping.d.ts.map +0 -1
  706. package/types/app/mailbox-director.d.ts +0 -159
  707. package/types/app/mailbox-director.d.ts.map +0 -1
  708. package/types/app/mailbox-sse.d.ts +0 -38
  709. package/types/app/mailbox-sse.d.ts.map +0 -1
  710. package/types/app/mailboxing.d.ts.map +0 -1
  711. package/types/app/multisig-workflows.d.ts +0 -59
  712. package/types/app/multisig-workflows.d.ts.map +0 -1
  713. package/types/app/notifying.d.ts.map +0 -1
  714. package/types/app/oobi-replies.d.ts +0 -18
  715. package/types/app/oobi-replies.d.ts.map +0 -1
  716. package/types/app/oobiery.d.ts.map +0 -1
  717. package/types/app/organizing.d.ts.map +0 -1
  718. package/types/app/parsering.d.ts +0 -106
  719. package/types/app/parsering.d.ts.map +0 -1
  720. package/types/app/protocol-host-policy.d.ts.map +0 -1
  721. package/types/app/query-replies.d.ts +0 -45
  722. package/types/app/query-replies.d.ts.map +0 -1
  723. package/types/app/querying.d.ts +0 -294
  724. package/types/app/querying.d.ts.map +0 -1
  725. package/types/app/reactor.d.ts +0 -171
  726. package/types/app/reactor.d.ts.map +0 -1
  727. package/types/app/reply-streams.d.ts +0 -51
  728. package/types/app/reply-streams.d.ts.map +0 -1
  729. package/types/app/respondant.d.ts +0 -48
  730. package/types/app/respondant.d.ts.map +0 -1
  731. package/types/app/runtime-deliveries.d.ts +0 -67
  732. package/types/app/runtime-deliveries.d.ts.map +0 -1
  733. package/types/app/runtime-services.d.ts +0 -29
  734. package/types/app/runtime-services.d.ts.map +0 -1
  735. package/types/app/runtime-turn.d.ts.map +0 -1
  736. package/types/app/schema-resolving.d.ts.map +0 -1
  737. package/types/app/signaling.d.ts +0 -96
  738. package/types/app/signaling.d.ts.map +0 -1
  739. package/types/app/socket-source.d.ts.map +0 -1
  740. package/types/app/stored-replies.d.ts +0 -18
  741. package/types/app/stored-replies.d.ts.map +0 -1
  742. package/types/app/tcp-egress.d.ts +0 -87
  743. package/types/app/tcp-egress.d.ts.map +0 -1
  744. package/types/app/verifier-agent.d.ts +0 -91
  745. package/types/app/verifier-agent.d.ts.map +0 -1
  746. package/types/app/verifying.d.ts.map +0 -1
  747. package/types/app/version.d.ts.map +0 -1
  748. package/types/app/witnessing.d.ts +0 -227
  749. package/types/app/witnessing.d.ts.map +0 -1
  750. package/types/core/cue-admission.d.ts +0 -74
  751. package/types/core/cue-admission.d.ts.map +0 -1
  752. package/types/core/eventing.d.ts.map +0 -1
  753. package/types/core/exchange-proofing.d.ts.map +0 -1
  754. package/types/core/index.d.ts +0 -24
  755. package/types/core/index.d.ts.map +0 -1
  756. package/types/core/kever-decisions.d.ts.map +0 -1
  757. package/types/core/kever.d.ts.map +0 -1
  758. package/types/core/kram-auth.d.ts.map +0 -1
  759. package/types/core/kram-handoff.d.ts +0 -45
  760. package/types/core/kram-handoff.d.ts.map +0 -1
  761. package/types/core/kram-policy.d.ts.map +0 -1
  762. package/types/core/kram-signatures.d.ts.map +0 -1
  763. package/types/core/kram-staging.d.ts +0 -36
  764. package/types/core/kram-staging.d.ts.map +0 -1
  765. package/types/core/kram-time.d.ts.map +0 -1
  766. package/types/core/kraming.d.ts +0 -46
  767. package/types/core/kraming.d.ts.map +0 -1
  768. package/types/core/mailbox-topics.d.ts.map +0 -1
  769. package/types/core/protocol-exchanging.d.ts.map +0 -1
  770. package/types/core/witnesses.d.ts.map +0 -1
  771. package/types/db/exchange-nests.d.ts +0 -39
  772. package/types/db/exchange-nests.d.ts.map +0 -1
  773. package/types/db/exchange-records.d.ts +0 -35
  774. package/types/db/exchange-records.d.ts.map +0 -1
  775. package/types/db/kel-replay.d.ts.map +0 -1
  776. package/types/db/kram-factors.d.ts.map +0 -1
  777. package/types/db/kram-snapshots.d.ts +0 -23
  778. package/types/db/kram-snapshots.d.ts.map +0 -1
  779. package/types/db/mailbox-inbox.d.ts +0 -72
  780. package/types/db/mailbox-inbox.d.ts.map +0 -1
  781. package/types/db/mailboxing.d.ts.map +0 -1
  782. package/types/db/outboxing.d.ts +0 -182
  783. package/types/db/outboxing.d.ts.map +0 -1
  784. package/types/db/payload-archive.d.ts +0 -70
  785. package/types/db/payload-archive.d.ts.map +0 -1
  786. package/types/db/payload-store.d.ts +0 -40
  787. package/types/db/payload-store.d.ts.map +0 -1
  788. package/types/db/payload-view.d.ts +0 -4
  789. package/types/db/payload-view.d.ts.map +0 -1
  790. package/types/db/tel-replay.d.ts.map +0 -1
  791. package/types/db/verifier-cueing.d.ts +0 -46
  792. package/types/db/verifier-cueing.d.ts.map +0 -1
  793. package/types/db/witness-replay.d.ts.map +0 -1
  794. package/types/vdr/credential-tsn.d.ts +0 -18
  795. package/types/vdr/credential-tsn.d.ts.map +0 -1
  796. package/types/vdr/registry-tsn.d.ts +0 -23
  797. package/types/vdr/registry-tsn.d.ts.map +0 -1
  798. /package/esm/keri/npm/src/app/{schema-resolving.js → credentials/schema-resolving.js} +0 -0
  799. /package/esm/keri/npm/src/app/{protocol-host-policy.js → protocol/protocol-host-policy.js} +0 -0
  800. /package/esm/keri/npm/src/app/{runtime-turn.js → runtime/runtime-turn.js} +0 -0
  801. /package/esm/keri/npm/src/{app/cli → cli}/common/rendering.js +0 -0
  802. /package/esm/keri/npm/src/{app/cli → cli/tools}/annotate-color.js +0 -0
  803. /package/esm/keri/npm/src/core/{witnesses.js → kel/witnesses.js} +0 -0
  804. /package/esm/keri/npm/src/core/{kram-auth.js → mailbox/kram-auth.js} +0 -0
  805. /package/esm/keri/npm/src/core/{mailbox-topics.js → mailbox/mailbox-topics.js} +0 -0
  806. /package/types/app/{runtime-turn.d.ts → runtime/runtime-turn.d.ts} +0 -0
  807. /package/types/{app/cli → cli}/common/rendering.d.ts +0 -0
  808. /package/types/{app/cli → cli/endpoints}/loc.d.ts +0 -0
  809. /package/types/{app/cli → cli/identity}/aid.d.ts +0 -0
  810. /package/types/{app/cli → cli/identity}/export.d.ts +0 -0
  811. /package/types/{app/cli → cli/identity}/list.d.ts +0 -0
  812. /package/types/{app/cli → cli/messaging}/notifications.d.ts +0 -0
  813. /package/types/{app/cli → cli}/output.d.ts +0 -0
  814. /package/types/{app/cli → cli/tools}/annotate-color.d.ts +0 -0
  815. /package/types/{app/cli → cli/tools}/annotate.d.ts +0 -0
  816. /package/types/{app/cli → cli/tools}/benchmark.d.ts +0 -0
  817. /package/types/{app/cli → cli/tools}/saidify.d.ts +0 -0
  818. /package/types/{app/cli → cli/tools}/verify.d.ts +0 -0
  819. /package/types/core/{witnesses.d.ts → kel/witnesses.d.ts} +0 -0
  820. /package/types/core/{mailbox-topics.d.ts → mailbox/mailbox-topics.d.ts} +0 -0
@@ -1,130 +0,0 @@
1
- import { call, resource } from "effection";
2
- import { defaultRuntimeServices } from "./runtime-services.js";
3
- /**
4
- * Fetch one HTTP response under Effection cancellation control.
5
- *
6
- * This is the shared request-lifecycle seam:
7
- * - create one local `AbortController`
8
- * - keep the request and response body owned through enclosing scope exit
9
- * - abort and join late fetch completion when the enclosing operation is canceled
10
- * - consume each response inside a finite `call`/`scoped` operation in continuous workers
11
- * - hand the caller both the `Response` and the controller when body policy
12
- * needs later abort access, such as mailbox SSE long-poll reads
13
- */
14
- export function* fetchResponseHandle(url, init = {}, options = {}) {
15
- const { services = defaultRuntimeServices } = options;
16
- const handle = yield* fetchResponseHandleInternal(url, init, { services });
17
- if (!handle) {
18
- throw new Error("HTTP response handle unexpectedly resolved to null.");
19
- }
20
- return handle;
21
- }
22
- /**
23
- * Fetch one HTTP response handle with an abort-to-null policy.
24
- *
25
- * This is for callers such as mailbox polling that treat request timeout as a
26
- * normal "no response yet" outcome instead of as an exception.
27
- */
28
- export function* fetchResponseHandleOrNull(url, init = {}, options = {}) {
29
- const { timeoutMs, services = defaultRuntimeServices } = options;
30
- return yield* fetchResponseHandleInternal(url, init, {
31
- timeoutMs,
32
- nullOnAbort: true,
33
- services,
34
- });
35
- }
36
- /**
37
- * Close one response body under Effection control.
38
- *
39
- * Callers should use this instead of open-coding `body.cancel()` so response
40
- * cleanup policy stays consistent across mailbox, OOBI, auth, and exchange
41
- * flows.
42
- */
43
- export function* closeResponseBody(response) {
44
- if (!response.body) {
45
- return;
46
- }
47
- yield* call(function* () {
48
- let pending;
49
- yield* resource(function* (provide) {
50
- try {
51
- yield* provide();
52
- }
53
- finally {
54
- // Register before starting cleanup; cancellation joins it and preserves later failure.
55
- if (pending)
56
- yield* call(() => pending);
57
- }
58
- });
59
- pending = response.body.cancel();
60
- yield* call(() => pending);
61
- });
62
- }
63
- /** Own fetch completion and the returned body until the enclosing request scope closes. */
64
- function* fetchResponseHandleInternal(url, init, options = {}) {
65
- const { timeoutMs, nullOnAbort = false, services = defaultRuntimeServices, } = options;
66
- return yield* resource(function* (provide) {
67
- // The response body remains owned after headers settle and until this resource's scope exits.
68
- const controller = new AbortController();
69
- let timedOut = false;
70
- const timeoutId = timeoutMs === undefined ? undefined : services.clock.setTimeout(() => {
71
- timedOut = true;
72
- controller.abort();
73
- }, timeoutMs);
74
- /** A header timeout ends when fetch settles; body limits belong to its consumer. */
75
- const clearTimer = () => {
76
- if (timeoutId !== undefined)
77
- services.clock.clearTimeout(timeoutId);
78
- };
79
- let pending;
80
- let deliveredFailure;
81
- try {
82
- pending = services.http.fetch(url, { ...init, signal: controller.signal });
83
- let response;
84
- try {
85
- response = yield* call(() => pending);
86
- }
87
- catch (error) {
88
- deliveredFailure = { error };
89
- if (nullOnAbort && timedOut && error === controller.signal.reason) {
90
- clearTimer();
91
- yield* provide(null);
92
- return;
93
- }
94
- throw error;
95
- }
96
- clearTimer();
97
- yield* provide({ response, controller });
98
- }
99
- finally {
100
- clearTimer();
101
- controller.abort();
102
- if (pending) {
103
- yield* call(async () => {
104
- // A fetch completing during cancellation still transfers its response to this owner.
105
- let response;
106
- try {
107
- response = await pending;
108
- }
109
- catch (error) {
110
- // Only this controller's abort or the already-propagated identical failure is consumed.
111
- if (error === controller.signal.reason || (deliveredFailure && error === deliveredFailure.error))
112
- return;
113
- throw error;
114
- }
115
- if (response.body && !response.body.locked) {
116
- try {
117
- await response.body.cancel();
118
- }
119
- catch (error) {
120
- // Fetch may already have errored the body with this controller's exact abort reason.
121
- // Foreign AbortErrors and cleanup failures still propagate, even during cancellation.
122
- if (error !== controller.signal.reason)
123
- throw error;
124
- }
125
- }
126
- });
127
- }
128
- }
129
- });
130
- }
@@ -1,245 +0,0 @@
1
- /**
2
- * IPEX credential artifact assembly for registry-backed ACDC workflows.
3
- *
4
- * KERIpy correspondence:
5
- * - mirrors the byte material gathered by `vdr.credentialing.sendArtifacts`
6
- * and the grant/admit command helpers
7
- * - keeps EXN route construction in `ipexing.ts`
8
- * - keeps registry, wallet, and verifier persistence in VDR modules
9
- */
10
- import { concatBytes, Counter, parsePather, SerderACDC, SerderKERI, Vrsn_1_0, } from "cesr-ts";
11
- import { ValidationError } from "../core/errors.js";
12
- import { dgKey } from "../db/core/keys.js";
13
- import { CredentialWallet, serializeCredential } from "../vdr/credentialing.js";
14
- import { acceptedEventReplayMessage } from "./habbing.js";
15
- import { IPEX_GRANT_ROUTE, ipexAdmitExn, ipexGrantExn } from "./ipexing.js";
16
- const textEncoder = new TextEncoder();
17
- /** Build KERIpy-shaped support artifacts for one credential presentation. */
18
- export function credentialSupportMessages(hby, reger, creder, recipient) {
19
- const messages = [];
20
- const issuer = creder.issuer;
21
- if (!issuer) {
22
- throw new ValidationError("Credential is missing issuer AID.");
23
- }
24
- const issuerKever = hby.db.getKever(issuer);
25
- if (!issuerKever) {
26
- throw new ValidationError(`Missing issuer KEL state for ${issuer}.`);
27
- }
28
- messages.push(...hby.db.cloneDelegation(issuerKever));
29
- messages.push(...hby.db.clonePreIter(issuer, 0));
30
- const issuee = credentialIssuee(creder);
31
- if (issuee && issuee !== recipient) {
32
- const issueeKever = hby.db.getKever(issuee);
33
- if (!issueeKever) {
34
- throw new ValidationError(`Missing issuee KEL state for ${issuee}.`);
35
- }
36
- messages.push(...hby.db.cloneDelegation(issueeKever));
37
- messages.push(...hby.db.clonePreIter(issuee, 0));
38
- }
39
- const registry = creder.regid;
40
- if (registry) {
41
- messages.push(...reger.clonePreIter(registry, 0));
42
- }
43
- const said = credentialSaid(creder);
44
- messages.push(...reger.clonePreIter(said, 0));
45
- return messages;
46
- }
47
- /**
48
- * Build the full raw credential stream equivalent of KERIpy `sendCredential`.
49
- *
50
- * IPEX grant sends the support artifacts and recursively chained source
51
- * credentials separately, then embeds the top-level credential in the grant
52
- * EXN. Raw import/export paths can append the top-level credential message too.
53
- */
54
- export function credentialStreamMessages(hby, reger, creder, recipient, gvrsn = Vrsn_1_0) {
55
- return [
56
- ...credentialPresentationSupportMessages(hby, reger, creder, recipient, gvrsn),
57
- credentialExportMessage(reger, credentialSaid(creder)),
58
- ];
59
- }
60
- /** Build the support stream used before sending a credential grant EXN. */
61
- export function credentialPresentationSupportMessages(hby, reger, creder, recipient, gvrsn = Vrsn_1_0) {
62
- const messages = credentialSupportMessages(hby, reger, creder, recipient);
63
- for (const [source, atc] of reger.sources(hby.db, creder, gvrsn)) {
64
- messages.push(...credentialSupportMessages(hby, reger, source, recipient));
65
- messages.push(concatBytes(source.raw, atc));
66
- }
67
- return messages;
68
- }
69
- /** Build grant-embedded `acdc`, `iss`, and `anc` artifacts for one credential. */
70
- export function credentialPresentationArtifacts(hby, reger, credentialSaidValue, gvrsn = Vrsn_1_0) {
71
- const [creder, prefixer, number, diger] = reger.cloneCred(credentialSaidValue);
72
- const acdc = serializeCredential(creder, prefixer, number, diger, gvrsn);
73
- const iss = reger.cloneTvtAt(credentialSaidValue, 0);
74
- const iserder = new SerderKERI({ raw: iss });
75
- if (!iserder.said) {
76
- throw new ValidationError(`Credential TEL message ${credentialSaidValue} is missing SAID.`);
77
- }
78
- if (iserder.pre !== prefixer.qb64 || iserder.snh !== number.numh || iserder.said !== diger.qb64) {
79
- throw new ValidationError(`Credential source seal mismatch for ${credentialSaidValue}.`);
80
- }
81
- const telAnchor = reger.ancs.get(dgKey(credentialSaidValue, iserder.said));
82
- if (!telAnchor) {
83
- throw new ValidationError(`Credential TEL anchor missing for ${credentialSaidValue}.`);
84
- }
85
- const issuer = creder.issuer;
86
- if (!issuer) {
87
- throw new ValidationError(`Credential ${credentialSaidValue} is missing issuer.`);
88
- }
89
- const [anchorNumber, anchorDiger] = telAnchor;
90
- const sn = Number(anchorNumber.num);
91
- if (!Number.isSafeInteger(sn)) {
92
- throw new ValidationError(`Credential anchor sequence is too large for replay: ${anchorNumber.qb64}.`);
93
- }
94
- const replay = acceptedEventReplayMessage(hby, issuer, sn);
95
- if (replay.serder.said !== anchorDiger.qb64) {
96
- throw new ValidationError(`Credential anchor event ${replay.serder.said ?? "<missing>"} did not match ${anchorDiger.qb64}.`);
97
- }
98
- return { acdc, iss, anc: replay.message };
99
- }
100
- /** Build a signed `/ipex/grant` message with embedded credential artifacts. */
101
- export function ipexCredentialGrant(args) {
102
- const [creder] = args.reger.cloneCred(args.credentialSaid);
103
- const gvrsn = args.options?.gvrsn ?? Vrsn_1_0;
104
- const artifacts = credentialPresentationArtifacts(args.hby, args.reger, args.credentialSaid, gvrsn);
105
- const support = credentialPresentationSupportMessages(args.hby, args.reger, creder, args.recipient, gvrsn);
106
- const [grant, attachments] = ipexGrantExn(args.hab, args.recipient, args.message ?? "", artifacts.acdc, {
107
- ...(args.options ?? {}),
108
- iss: artifacts.iss,
109
- anc: artifacts.anc,
110
- agree: args.options?.agree ?? null,
111
- });
112
- return {
113
- grant,
114
- attachments,
115
- wire: args.sign === false ? new Uint8Array() : concatBytes(args.hab.endorse(grant, { pipelined: false, gvrsn }), attachments),
116
- artifacts,
117
- support,
118
- };
119
- }
120
- /** Build a signed `/ipex/admit` response for an accepted grant. */
121
- export function ipexCredentialAdmit(args) {
122
- if (args.grant.route !== IPEX_GRANT_ROUTE) {
123
- throw new ValidationError(`Expected ${IPEX_GRANT_ROUTE} grant, got ${args.grant.route ?? "<none>"}.`);
124
- }
125
- const credentialSaidValue = credentialSaidFromGrant(args.grant);
126
- if (!credentialSaidValue) {
127
- throw new ValidationError("Grant is missing embedded ACDC SAID.");
128
- }
129
- if ((args.options?.requireSaved ?? true) && !args.reger.saved.get([credentialSaidValue])) {
130
- throw new ValidationError(`Credential ${credentialSaidValue} is not saved locally.`);
131
- }
132
- const [admit, attachments] = ipexAdmitExn(args.hab, args.message ?? "", args.grant, args.options ?? {});
133
- return {
134
- admit,
135
- attachments,
136
- wire: concatBytes(args.hab.endorse(admit, { pipelined: false, gvrsn: args.options?.gvrsn ?? undefined }), attachments),
137
- };
138
- }
139
- /** Parse grant-embedded artifacts in KERIpy admit order: `anc`, `iss`, `acdc`. */
140
- export function* processCredentialPresentationArtifacts(reactor, artifacts) {
141
- yield* reactor.processBytes(artifacts.anc);
142
- yield* reactor.processBytes(artifacts.iss);
143
- yield* reactor.processBytes(artifacts.acdc);
144
- yield* reactor.processEscrowsOnce();
145
- }
146
- /** Rebuild grant-embedded `anc`, `iss`, and `acdc` streams from exchange storage. */
147
- export function storedGrantArtifacts(hby, grant) {
148
- if (grant.route !== IPEX_GRANT_ROUTE || !grant.said) {
149
- throw new ValidationError(`Expected stored ${IPEX_GRANT_ROUTE} EXN.`);
150
- }
151
- const embeds = embeddedSection(grant);
152
- if (!embeds) {
153
- throw new ValidationError(`Grant ${grant.said} is missing embedded artifacts.`);
154
- }
155
- return {
156
- anc: concatBytes(keriRaw(embeds.anc, "anc"), pathedAttachment(hby, grant.said, "anc")),
157
- iss: concatBytes(keriRaw(embeds.iss, "iss"), pathedAttachment(hby, grant.said, "iss")),
158
- acdc: concatBytes(acdcRaw(embeds.acdc, "acdc"), pathedAttachment(hby, grant.said, "acdc")),
159
- };
160
- }
161
- /** Extract the embedded credential SAID from an accepted `/ipex/grant`. */
162
- export function credentialSaidFromGrant(grant) {
163
- const embeds = embeddedSection(grant);
164
- const acdc = embeds?.acdc;
165
- if (!acdc || typeof acdc !== "object" || Array.isArray(acdc)) {
166
- return null;
167
- }
168
- const said = acdc.d;
169
- return typeof said === "string" ? said : null;
170
- }
171
- /** Return a raw exported credential message by SAID. */
172
- export function credentialExportMessage(reger, credentialSaidValue) {
173
- return new CredentialWallet(reger).exportCredential(credentialSaidValue);
174
- }
175
- function credentialSaid(creder) {
176
- if (!creder.said) {
177
- throw new ValidationError("Credential is missing SAID.");
178
- }
179
- return creder.said;
180
- }
181
- function credentialIssuee(creder) {
182
- const attrib = creder.attrib;
183
- if (attrib && typeof attrib === "object" && !Array.isArray(attrib)) {
184
- const issuee = attrib.i;
185
- return typeof issuee === "string" ? issuee : null;
186
- }
187
- return null;
188
- }
189
- function embeddedSection(serder) {
190
- const ked = serder.ked;
191
- if (!ked) {
192
- return null;
193
- }
194
- if (ked.e && typeof ked.e === "object" && !Array.isArray(ked.e)) {
195
- return ked.e;
196
- }
197
- const attrs = ked.a;
198
- if (attrs && typeof attrs === "object" && !Array.isArray(attrs)) {
199
- const embeds = attrs.e;
200
- if (embeds && typeof embeds === "object" && !Array.isArray(embeds)) {
201
- return embeds;
202
- }
203
- }
204
- return null;
205
- }
206
- function keriRaw(value, label) {
207
- if (!value || typeof value !== "object" || Array.isArray(value)) {
208
- throw new ValidationError(`Grant embedded ${label} is missing.`);
209
- }
210
- return new SerderKERI({ sad: value }).raw;
211
- }
212
- function acdcRaw(value, label) {
213
- if (!value || typeof value !== "object" || Array.isArray(value)) {
214
- throw new ValidationError(`Grant embedded ${label} is missing.`);
215
- }
216
- return new SerderACDC({ sad: value, verify: false }).raw;
217
- }
218
- function pathedAttachment(hby, said, label) {
219
- const path = `/e/${label}`;
220
- for (const text of hby.db.epath.get([said])) {
221
- const attachment = pathedAttachmentFromRaw(textEncoder.encode(text), path);
222
- if (attachment) {
223
- return attachment;
224
- }
225
- }
226
- return new Uint8Array();
227
- }
228
- function pathedAttachmentFromRaw(raw, path) {
229
- if (raw.length === 0) {
230
- return null;
231
- }
232
- const counter = new Counter({ qb64b: raw });
233
- const body = raw.slice(counter.fullSize);
234
- try {
235
- const pather = parsePather(body, "txt");
236
- if (pather.path === path) {
237
- return body.slice(pather.fullSize);
238
- }
239
- }
240
- catch {
241
- // A multisig wrapper can preserve the grant's own pathed-material group as
242
- // the counted payload. In that case unwrap one group layer and retry.
243
- }
244
- return body[0] === "-".charCodeAt(0) ? pathedAttachmentFromRaw(body, path) : null;
245
- }
@@ -1,317 +0,0 @@
1
- /**
2
- * Group IPEX workflow orchestration.
3
- *
4
- * This module owns multisig coordination around embedded `/ipex/*` messages.
5
- * CLI adapters supply parsed options and output/file handling; this service
6
- * signs, publishes, waits, and sends completed group IPEX messages.
7
- */
8
- import { concatBytes, Diger, makePather, Prefixer, Seqner, SerderKERI, smell, Vrsn_1_0, } from "cesr-ts";
9
- import { action } from "effection";
10
- import { TransIdxSigGroup } from "../core/dispatch.js";
11
- import { ValidationError } from "../core/errors.js";
12
- import { CREDENTIAL_MAILBOX_TOPIC } from "../core/mailbox-topics.js";
13
- import { serializeMessage } from "../core/protocol-exchanging.js";
14
- import { Reger } from "../db/reger.js";
15
- import { processMailboxTurn } from "./agent-runtime.js";
16
- import { groupSigningMembers, localGroupMember } from "./group-members.js";
17
- import { embeddedBusinessExnSAD, MULTISIG_EXN_ROUTE, multisigPathedAttachment } from "./grouping.js";
18
- import { credentialPresentationArtifacts, credentialPresentationSupportMessages, credentialSaidFromGrant, } from "./ipex-credentialing.js";
19
- import { IPEX_GRANT_ROUTE } from "./ipexing.js";
20
- /** Approve one pending multisig wrapper around an embedded IPEX message. */
21
- export function* approveMultisigIpex(hby, runtime, wrapper, embedded, options = {}) {
22
- const group = embedded.pre;
23
- const embeddedSaid = embedded.said;
24
- const wrapperSaid = wrapper.said;
25
- if (!group || !embeddedSaid || !wrapperSaid) {
26
- throw new ValidationError("Multisig IPEX approval requires wrapper, group, and embedded SAIDs.");
27
- }
28
- const groupHab = hby.habs.get(group);
29
- if (!groupHab) {
30
- throw new ValidationError(`Local group ${group} is missing member signing state.`);
31
- }
32
- const peerAttachment = multisigPathedAttachment(hby, wrapperSaid, "exn");
33
- if (peerAttachment.length > 0) {
34
- yield* runtime.reactor.processBytes(concatBytes(embedded.raw, peerAttachment), { local: true });
35
- yield* runtime.reactor.processEscrowsOnce();
36
- }
37
- const approved = groupIpexPartial(hby, groupHab, embedded, wrapperSaid);
38
- yield* runtime.reactor.processBytes(approved, { local: true });
39
- yield* runtime.reactor.processEscrowsOnce();
40
- const deliveries = options.publish ? yield* publishGroupIpexProposal(runtime, groupHab, approved) : [];
41
- if ((options.sendLead ?? true)
42
- && hby.db.exns.get([embeddedSaid])?.said === embeddedSaid
43
- && runtime.reactor.exchanger.lead(groupHab, embeddedSaid)) {
44
- deliveries.push(...(yield* sendCompletedGroupIpex(runtime, groupHab, embedded, options.delivery, options.gvrsn)));
45
- }
46
- return {
47
- accepted: hby.db.exns.get([embeddedSaid])?.said === embeddedSaid,
48
- deliveries,
49
- approved,
50
- };
51
- }
52
- /** Build the locally signed group IPEX partial stream. */
53
- export function groupIpexPartial(hby, groupHab, embedded, wrapperSaid, attachments = new Uint8Array()) {
54
- const group = groupHab.pre;
55
- const groupRecord = hby.db.getHab(group);
56
- const memberPre = groupRecord?.mid;
57
- const memberHab = memberPre ? hby.habs.get(memberPre) : null;
58
- const groupKever = groupHab.kever;
59
- const memberKey = memberHab?.kever?.verfers[0]?.qb64;
60
- if (!group || !groupKever || !memberHab || !memberKey) {
61
- throw new ValidationError(`Local group ${group || "<missing>"} is missing member signing state.`);
62
- }
63
- const groupIndex = groupKever.verfers.findIndex((verfer) => verfer.qb64 === memberKey);
64
- if (groupIndex < 0) {
65
- throw new ValidationError(`Local member ${memberHab.pre} is not a current signer for group ${group}.`);
66
- }
67
- const sigers = memberHab.mgr.sign(embedded.raw, {
68
- pubs: [memberKey],
69
- indexed: true,
70
- indices: [groupIndex],
71
- });
72
- const estSaid = groupKever.lastEst.d || groupKever.said;
73
- const estEvent = estSaid ? hby.db.getEvtSerder(group, estSaid) : null;
74
- const seqner = estEvent?.sner;
75
- if (!estSaid || !seqner) {
76
- throw new ValidationError(`Missing establishment event material for group ${group}.`);
77
- }
78
- const tsg = new TransIdxSigGroup(new Prefixer({ qb64: group }), seqner, new Diger({ qb64: estSaid }), sigers);
79
- const message = concatBytes(serializeMessage(embedded, { tsgs: [tsg], pipelined: false }), attachments);
80
- if (!wrapperSaid) {
81
- return message;
82
- }
83
- return concatBytes(message, multisigPathedAttachment(hby, wrapperSaid, "exn"));
84
- }
85
- /** Publish one group IPEX proposal to remote signing members. */
86
- export function* publishGroupIpexProposal(runtime, groupHab, embedded, delivery) {
87
- const member = localGroupMember(runtime.hby, groupHab.pre);
88
- const deliveries = [];
89
- for (const recipient of groupSigningMembers(runtime.hby, groupHab.pre)) {
90
- if (recipient === member.pre || runtime.hby.habs.has(recipient)) {
91
- continue;
92
- }
93
- const result = yield* runtime.poster.sendExchange(member, {
94
- recipient,
95
- route: MULTISIG_EXN_ROUTE,
96
- payload: { gid: groupHab.pre },
97
- embeds: { exn: embedded },
98
- topic: "multisig",
99
- delivery,
100
- });
101
- deliveries.push(...result.deliveries, ...result.queued);
102
- }
103
- return deliveries;
104
- }
105
- /** Wait for a group IPEX message to become complete while approving stored wrappers. */
106
- export function* waitForMultisigIpexCompletion(hby, runtime, groupHab, embeddedSaid, approvalTimeoutSeconds) {
107
- const member = localGroupMember(hby, groupHab.pre);
108
- const deadline = Date.now() + approvalTimeoutSeconds * 1000;
109
- while (Date.now() <= deadline) {
110
- yield* approveStoredMultisigIpexWrappers(hby, runtime, embeddedSaid);
111
- yield* runtime.reactor.processEscrowsOnce();
112
- if (runtime.reactor.exchanger.complete(embeddedSaid)) {
113
- return true;
114
- }
115
- yield* processMailboxTurn(runtime, { hab: member, budgetMs: 1000 });
116
- yield* approveStoredMultisigIpexWrappers(hby, runtime, embeddedSaid);
117
- yield* runtime.reactor.processEscrowsOnce();
118
- if (runtime.reactor.exchanger.complete(embeddedSaid)) {
119
- return true;
120
- }
121
- yield* sleep(250);
122
- }
123
- return runtime.reactor.exchanger.complete(embeddedSaid);
124
- }
125
- /** Approve all stored multisig wrappers for one embedded IPEX SAID. */
126
- export function* approveStoredMultisigIpexWrappers(hby, runtime, embeddedSaid) {
127
- for (const [, wrapper] of hby.db.exns.getTopItemIter()) {
128
- if (wrapper.route !== MULTISIG_EXN_ROUTE) {
129
- continue;
130
- }
131
- const embeddedSad = embeddedBusinessExnSAD(wrapper);
132
- if (!embeddedSad || embeddedSad.d !== embeddedSaid) {
133
- continue;
134
- }
135
- const embedded = new SerderKERI({ sad: embeddedSad });
136
- yield* approveMultisigIpex(hby, runtime, wrapper, embedded, {
137
- publish: false,
138
- sendLead: false,
139
- });
140
- }
141
- }
142
- /** Poll for the next stored pending multisig IPEX proposal. */
143
- export function* nextPendingMultisigIpex(hby, runtime, options) {
144
- for (let turn = 0; turn < options.pollTurns; turn += 1) {
145
- const found = findPendingMultisigIpex(hby, runtime);
146
- if (found) {
147
- return found;
148
- }
149
- yield* processMailboxTurn(runtime, { hab: options.hab, budgetMs: options.pollBudgetMs });
150
- yield* runtime.reactor.processEscrowsOnce();
151
- const afterPoll = findPendingMultisigIpex(hby, runtime);
152
- if (afterPoll) {
153
- return afterPoll;
154
- }
155
- }
156
- return null;
157
- }
158
- /** Return the first incomplete stored `/multisig/exn` wrapping `/ipex/*`. */
159
- export function findPendingMultisigIpex(hby, runtime) {
160
- for (const [, wrapper] of hby.db.exns.getTopItemIter()) {
161
- if (wrapper.route !== MULTISIG_EXN_ROUTE) {
162
- continue;
163
- }
164
- const embeddedSad = embeddedBusinessExnSAD(wrapper);
165
- if (!embeddedSad || typeof embeddedSad.r !== "string" || !embeddedSad.r.startsWith("/ipex/")) {
166
- continue;
167
- }
168
- const embeddedSaid = embeddedSad.d;
169
- if (typeof embeddedSaid !== "string" || runtime.reactor.exchanger.complete(embeddedSaid)) {
170
- continue;
171
- }
172
- return wrapper;
173
- }
174
- return null;
175
- }
176
- /** Send a completed group IPEX message from the elected local lead. */
177
- export function* sendCompletedGroupIpex(runtime, groupHab, embedded, delivery, gvrsn = Vrsn_1_0) {
178
- if (!embedded.said) {
179
- throw new ValidationError("Completed group IPEX message is missing a SAID.");
180
- }
181
- const recipient = ipexRecipient(embedded);
182
- if (!recipient) {
183
- throw new ValidationError(`Unable to find recipient for ${embedded.route ?? "<unknown>"} ${embedded.said}.`);
184
- }
185
- const messages = [];
186
- let grantPathed;
187
- const reger = runtime.vdr.reger;
188
- if (embedded.route === IPEX_GRANT_ROUTE) {
189
- if (!(reger instanceof Reger)) {
190
- throw new ValidationError("VDR runtime did not open Reger.");
191
- }
192
- const credentialSaid = credentialSaidFromGrant(embedded);
193
- if (credentialSaid) {
194
- const [creder] = reger.cloneCred(credentialSaid);
195
- const artifacts = credentialPresentationArtifacts(runtime.hby, reger, credentialSaid, gvrsn);
196
- grantPathed = grantPathedMaterials(artifacts);
197
- messages.push(...credentialPresentationSupportMessages(runtime.hby, reger, creder, recipient, gvrsn));
198
- }
199
- }
200
- messages.push(storedExchangeMessage(runtime.hby, requireStoredExchange(runtime.hby, embedded.said), gvrsn, grantPathed));
201
- return yield* sendCredentialBytes(runtime, localGroupMember(runtime.hby, groupHab.pre), recipient, messages, delivery);
202
- }
203
- /** Load one accepted stored EXN by SAID. */
204
- export function requireStoredExchange(hby, said) {
205
- const stored = hby.db.exns.get([said]);
206
- if (!stored) {
207
- throw new ValidationError(`Exchange ${said} is not stored as accepted.`);
208
- }
209
- return stored;
210
- }
211
- /** Rebuild a stored EXN wire message with signatures and pathed material. */
212
- export function storedExchangeMessage(hby, serder, gvrsn = Vrsn_1_0, pathedOverride) {
213
- if (!serder.said) {
214
- throw new ValidationError("Exchange message is missing a SAID.");
215
- }
216
- const cigars = hby.db.ecigs.get([serder.said]).map(([, cigar]) => cigar);
217
- return serializeMessage(serder, {
218
- tsgs: rebuildStoredExchangeGroups(hby, serder.said),
219
- cigars,
220
- pathed: pathedOverride ?? hby.db.epath.get([serder.said]),
221
- pipelined: false,
222
- gvrsn,
223
- });
224
- }
225
- /** Send raw credential/IPEX bytes over the credential mailbox topic. */
226
- export function* sendCredentialBytes(runtime, hab, recipient, messages, delivery) {
227
- const sent = [];
228
- for (const message of messages) {
229
- const result = yield* runtime.poster.sendBytes(hab, {
230
- recipient,
231
- message,
232
- topic: CREDENTIAL_MAILBOX_TOPIC,
233
- delivery,
234
- });
235
- sent.push(...result.deliveries, ...result.queued);
236
- }
237
- return sent;
238
- }
239
- function ipexRecipient(exn) {
240
- const rp = exn.ked?.rp;
241
- if (typeof rp === "string" && rp.length > 0) {
242
- return rp;
243
- }
244
- const attrs = exn.ked?.a;
245
- if (isRecord(attrs) && typeof attrs.i === "string" && attrs.i.length > 0) {
246
- return attrs.i;
247
- }
248
- return null;
249
- }
250
- function grantPathedMaterials(artifacts) {
251
- return [
252
- pathedMaterial("anc", artifacts.anc),
253
- pathedMaterial("iss", artifacts.iss),
254
- pathedMaterial("acdc", artifacts.acdc),
255
- ];
256
- }
257
- function pathedMaterial(label, message) {
258
- const { smellage } = smell(message);
259
- const atc = message.slice(smellage.size);
260
- if (atc.length === 0) {
261
- return makePather(["e", label]).qb64b;
262
- }
263
- return concatBytes(makePather(["e", label]).qb64b, atc);
264
- }
265
- function rebuildStoredExchangeGroups(hby, said) {
266
- const groups = [];
267
- let currentKey = null;
268
- let currentSigers = [];
269
- const flush = () => {
270
- if (!currentKey || currentSigers.length === 0) {
271
- return;
272
- }
273
- groups.push(new TransIdxSigGroup(new Prefixer({ qb64: currentKey[0] }), seqnerFromSnh(currentKey[1]), new Diger({ qb64: currentKey[2] }), currentSigers));
274
- currentSigers = [];
275
- };
276
- for (const [keys, siger] of hby.db.esigs.getTopItemIter([said, ""])) {
277
- const groupKey = keys.slice(1);
278
- if (!groupKey[0] || !groupKey[1] || !groupKey[2]) {
279
- continue;
280
- }
281
- if (currentKey
282
- && (currentKey[0] !== groupKey[0] || currentKey[1] !== groupKey[1] || currentKey[2] !== groupKey[2])) {
283
- flush();
284
- }
285
- currentKey = [groupKey[0], groupKey[1], groupKey[2]];
286
- currentSigers.push(siger);
287
- }
288
- flush();
289
- return groups;
290
- }
291
- function seqnerFromSnh(snh) {
292
- return new Seqner({ code: "0A", raw: hexToFixedBytes(snh, 16) });
293
- }
294
- function hexToFixedBytes(hex, size) {
295
- const normalized = hex.length % 2 === 0 ? hex : `0${hex}`;
296
- if (!/^[0-9a-f]+$/i.test(normalized)) {
297
- throw new ValidationError(`Invalid hex ordinal ${hex}`);
298
- }
299
- if (normalized.length > size * 2) {
300
- throw new ValidationError(`Hex ordinal ${hex} exceeds ${size} bytes.`);
301
- }
302
- const raw = new Uint8Array(size);
303
- const padded = normalized.padStart(size * 2, "0");
304
- for (let index = 0; index < size; index += 1) {
305
- raw[index] = Number.parseInt(padded.slice(index * 2, (index * 2) + 2), 16);
306
- }
307
- return raw;
308
- }
309
- function isRecord(value) {
310
- return typeof value === "object" && value !== null && !Array.isArray(value);
311
- }
312
- function* sleep(ms) {
313
- yield* action((resolve) => {
314
- const timeout = setTimeout(resolve, ms);
315
- return () => clearTimeout(timeout);
316
- });
317
- }