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
@@ -12,16 +12,19 @@
12
12
  * and the delegator's own KEL state
13
13
  */
14
14
  import { Diger } from "cesr-ts";
15
- import { spawn } from "effection";
15
+ import { call, race, sleep, spawn } from "effection";
16
+ import { runAgentRuntime } from "../../app/runtime/agent-runtime.js";
16
17
  import { ValidationError } from "../../core/errors.js";
17
18
  import { dgKey } from "../../db/core/keys.js";
18
- import { runAgentRuntime } from "../agent-runtime.js";
19
- import { groupSigningMembers, isLocalGroupHab, localGroupMember } from "../endpoint-roleing.js";
20
- import { MULTISIG_IXN_ROUTE } from "../grouping.js";
21
- import { runtimeTurn } from "../runtime-turn.js";
22
- import { WitnessReceiptor } from "../witnessing.js";
23
- import { withHabAndAgentRuntime } from "./common/context.js";
24
- import { resolveWitnessAuths } from "./common/witness-auth.js";
19
+ import { parseBooleanOption, parseStringListOption, parseStringOption } from "../common/parsing.js";
20
+ import { createExchangeMessage } from "../../app/exchanges/exchange-messaging.js";
21
+ import { groupSigningMembers, isLocalGroupHab, localGroupMember } from "../../app/identity/endpoint-roleing.js";
22
+ import { MULTISIG_IXN_ROUTE } from "../../app/multisig/grouping.js";
23
+ import { SeqNoQuerier } from "../../app/queries/querying.js";
24
+ import { runtimeTurn } from "../../app/runtime/runtime-turn.js";
25
+ import { WitnessReceiptor } from "../../app/witness/receipting.js";
26
+ import { withHabAndAgentRuntime } from "../common/context.js";
27
+ import { resolveWitnessAuths } from "../common/witness-auth.js";
25
28
  /** Return pending delegated events for one local delegator, oldest first. */
26
29
  function pendingDelegations(hby, delegatorPre) {
27
30
  const pending = [];
@@ -96,6 +99,15 @@ function delegateWitnessLogsQuery(hab, serder, witness) {
96
99
  wits: [witness],
97
100
  };
98
101
  }
102
+ /**
103
+ * Publish group delegation approval to remote signing members before advancing the workflow.
104
+ *
105
+ * @param runtime Borrowed composed runtime; caller owns its worker and store lifetime.
106
+ * @param hby Borrowed local identities and accepted-state stores.
107
+ * @param groupHab Group approving habitat.
108
+ * @param message Signed approving interaction to embed for remote members.
109
+ * @returns Successful delivery URLs after each concrete Poster outcome.
110
+ */
99
111
  function* publishGroupDelegationApproval(runtime, hby, groupHab, message) {
100
112
  const member = localGroupMember(hby, groupHab.pre);
101
113
  const smids = groupSigningMembers(hby, groupHab.pre);
@@ -104,13 +116,17 @@ function* publishGroupDelegationApproval(runtime, hby, groupHab, message) {
104
116
  if (recipient === member.pre || hby.habs.has(recipient)) {
105
117
  continue;
106
118
  }
107
- const result = yield* runtime.poster.sendExchange(member, {
108
- recipient,
119
+ const { msg } = createExchangeMessage(member, {
120
+ dest: recipient,
109
121
  route: MULTISIG_IXN_ROUTE,
110
122
  payload: { gid: groupHab.pre, smids },
111
123
  embeds: { ixn: message },
112
- topic: "multisig",
113
124
  });
125
+ const postman = runtime.postman;
126
+ const evt = postman.send({ src: member.pre, dest: recipient, topic: "multisig", msg }, { notify: true });
127
+ const result = yield* postman.wait(evt);
128
+ if (result.kin === "failed")
129
+ throw result.error;
114
130
  deliveries.push(...result.deliveries);
115
131
  }
116
132
  return deliveries;
@@ -138,7 +154,14 @@ function* waitForDelegation(done, timeoutMs) {
138
154
  yield* runtimeTurn();
139
155
  }
140
156
  }
141
- /** Approve pending events without starting or serially driving background workers. */
157
+ /**
158
+ * Approve pending events without starting or serially driving background workers.
159
+ *
160
+ * @param hby Borrowed local identities and accepted-state stores.
161
+ * @param hab Approving local habitat.
162
+ * @param runtime Borrowed composed runtime; caller owns its worker and store lifetime.
163
+ * @param confirmArgs Command approval choices/callback inputs.
164
+ */
142
165
  function* performDelegationApproval(hby, hab, runtime, confirmArgs) {
143
166
  const interactionApproval = confirmArgs.interact ?? false;
144
167
  yield* waitForDelegation(() => pendingDelegations(hby, hab.pre).length > 0, 15_000);
@@ -203,7 +226,7 @@ function* performDelegationApproval(hby, hab, runtime, confirmArgs) {
203
226
  hab.rotate({ data: [anchor] });
204
227
  }
205
228
  if (hab.kever?.wits.length) {
206
- const witDoer = new WitnessReceiptor(hby, { reactor: runtime.reactor, services: runtime.services });
229
+ const witDoer = new WitnessReceiptor(hby, runtime.protocol, runtime.http, runtime.clock);
207
230
  yield* witDoer.submit(hab.pre, {
208
231
  sn: hab.kever.sn,
209
232
  auths,
@@ -223,12 +246,24 @@ function* performDelegationApproval(hby, hab, runtime, confirmArgs) {
223
246
  yield* waitForDelegation(() => delegateCommitted(hby, serder), 30_000);
224
247
  }
225
248
  else {
226
- const querier = runtime.querying.watchSeqNo(serder.pre, serder.sn ?? 0, { signer: hab.pre });
227
249
  // No delegate witness exists to query. Process the local delegable
228
250
  // after the delegator has anchored approval; the delegate still
229
251
  // discovers approval through its own delegator-KEL query path.
230
252
  pinApprovalSeal(hby, hab, serder, approving);
231
- yield* waitForDelegation(() => querier.done, 30_000);
253
+ const observed = yield* race([
254
+ call(function* () {
255
+ yield* new SeqNoQuerier(hby.db, runtime.querying, serder.pre, serder.sn ?? 0, {
256
+ signer: hab.pre,
257
+ }).queryDo();
258
+ return true;
259
+ }),
260
+ call(function* () {
261
+ yield* sleep(30_000);
262
+ return false;
263
+ }),
264
+ ]);
265
+ if (!observed)
266
+ throw new Error("Runtime did not converge within 30000ms.");
232
267
  }
233
268
  // Match KERIpy sequencing: only record the approving seal and retry
234
269
  // delegated unescrow after the delegate event has been observed as
@@ -248,17 +283,17 @@ function* performDelegationApproval(hby, hab, runtime, confirmArgs) {
248
283
  /** Approve pending delegated events for the selected local delegator habitat. */
249
284
  export function* delegateConfirmCommand(args) {
250
285
  const confirmArgs = {
251
- name: args.name,
252
- base: args.base,
253
- headDirPath: args.headDirPath,
254
- passcode: args.passcode,
255
- alias: args.alias,
256
- compat: args.compat,
257
- interact: args.interact,
258
- auto: args.auto,
259
- authenticate: args.authenticate,
260
- code: args.code,
261
- codeTime: args.codeTime,
286
+ name: parseStringOption(args.name, "name"),
287
+ base: parseStringOption(args.base, "base"),
288
+ headDirPath: parseStringOption(args.headDirPath, "headDirPath"),
289
+ passcode: parseStringOption(args.passcode, "passcode"),
290
+ alias: parseStringOption(args.alias, "alias"),
291
+ compat: parseBooleanOption(args.compat, "compat"),
292
+ interact: parseBooleanOption(args.interact, "interact"),
293
+ auto: parseBooleanOption(args.auto, "auto"),
294
+ authenticate: parseBooleanOption(args.authenticate, "authenticate"),
295
+ code: parseStringListOption(args.code, "code"),
296
+ codeTime: parseStringOption(args.codeTime, "codeTime"),
262
297
  };
263
298
  if (!confirmArgs.name) {
264
299
  throw new ValidationError("Name is required and cannot be empty");
@@ -1,6 +1,7 @@
1
1
  import { ValidationError } from "../../core/errors.js";
2
2
  import { dgKey } from "../../db/core/keys.js";
3
- import { withExistingHab } from "./common/context.js";
3
+ import { withExistingHab } from "../common/context.js";
4
+ import { parseBooleanOption, parseStringOption } from "../common/parsing.js";
4
5
  /**
5
6
  * Implements `tufa export`.
6
7
  *
@@ -8,13 +9,13 @@ import { withExistingHab } from "./common/context.js";
8
9
  */
9
10
  export function* exportCommand(args) {
10
11
  const exportArgs = {
11
- name: args.name,
12
- base: args.base,
13
- headDirPath: args.headDirPath,
14
- passcode: args.passcode,
15
- alias: args.alias,
16
- files: args.files,
17
- ends: args.ends,
12
+ name: parseStringOption(args.name, "name"),
13
+ base: parseStringOption(args.base, "base"),
14
+ headDirPath: parseStringOption(args.headDirPath, "headDirPath"),
15
+ passcode: parseStringOption(args.passcode, "passcode"),
16
+ alias: parseStringOption(args.alias, "alias"),
17
+ files: parseBooleanOption(args.files, "files"),
18
+ ends: parseBooleanOption(args.ends, "ends"),
18
19
  };
19
20
  if (!exportArgs.name) {
20
21
  throw new ValidationError("Name is required and cannot be empty");
@@ -0,0 +1,181 @@
1
+ import { call } from "effection";
2
+ import { resolveBootstrap } from "../../app/bootstrap/bootstrapping.js";
3
+ import { createProtocolProcessor } from "../../app/protocol/protocol-processing.js";
4
+ import { createAgentRuntime, runAgentRuntimeUntil, } from "../../app/runtime/agent-runtime.js";
5
+ import { systemClock } from "../../app/runtime/runtime-clock.js";
6
+ import { FetchHttpClient } from "../../app/transport/http-client.js";
7
+ import { ValidationError } from "../../core/errors.js";
8
+ import { assertBootstrapComplete } from "../common/bootstrap.js";
9
+ import { createConfiger } from "../../app/identity/configing.js";
10
+ import { resolveDelegationCommunicationHab } from "../../app/identity/delegating.js";
11
+ import { Receiptor, WitnessReceiptor } from "../../app/witness/receipting.js";
12
+ import { setupHby } from "../common/existing.js";
13
+ import { loadInceptFileOptions, parseBooleanOption, parseCountOption, parseDataItems, parseKeriVersionOption, parseStringListOption, parseStringOption, parseThresholdOption, } from "../common/parsing.js";
14
+ /**
15
+ * Loads incept options from a file and overlays explicit CLI values.
16
+ */
17
+ function mergeWithFile(args) {
18
+ let opts = {};
19
+ if (args.file && args.file !== "") {
20
+ opts = loadInceptFileOptions(args.file);
21
+ }
22
+ if (args.transferable !== undefined)
23
+ opts.transferable = args.transferable;
24
+ if (args.wits !== undefined)
25
+ opts.wits = args.wits;
26
+ if (args.icount !== undefined)
27
+ opts.icount = args.icount;
28
+ if (args.isith !== undefined)
29
+ opts.isith = args.isith;
30
+ if (args.ncount !== undefined)
31
+ opts.ncount = args.ncount;
32
+ if (args.nsith !== undefined)
33
+ opts.nsith = args.nsith;
34
+ if (args.toad !== undefined)
35
+ opts.toad = args.toad;
36
+ if (args.estOnly !== undefined)
37
+ opts.estOnly = args.estOnly;
38
+ if (args.delpre !== undefined)
39
+ opts.delpre = args.delpre;
40
+ if (args.data !== undefined)
41
+ opts.data = parseDataItems(args.data);
42
+ return opts;
43
+ }
44
+ /**
45
+ * Implements `tufa incept`.
46
+ *
47
+ * Creates a single-sig identifier locally.
48
+ *
49
+ * @param args Parsed command flags and positionals; required identifiers and policy values are validated before effects.
50
+ */
51
+ export function* inceptCommand(args) {
52
+ // Select one HTTP implementation for all work owned by this command.
53
+ const http = new FetchHttpClient();
54
+ const inceptArgs = {
55
+ name: parseStringOption(args.name, "name"),
56
+ base: parseStringOption(args.base, "base"),
57
+ headDirPath: parseStringOption(args.headDirPath, "headDirPath"),
58
+ temp: parseBooleanOption(args.temp, "temp"),
59
+ passcode: parseStringOption(args.passcode, "passcode"),
60
+ alias: parseStringOption(args.alias, "alias"),
61
+ configDir: parseStringOption(args.configDir, "configDir"),
62
+ configFile: parseStringOption(args.configFile, "configFile"),
63
+ endpoint: parseBooleanOption(args.endpoint, "endpoint"),
64
+ proxy: parseStringOption(args.proxy, "proxy"),
65
+ file: parseStringOption(args.file, "file"),
66
+ transferable: parseBooleanOption(args.transferable, "transferable"),
67
+ wits: parseStringListOption(args.wits, "wits"),
68
+ toad: parseCountOption(args.toad, "toad"),
69
+ icount: parseCountOption(args.icount, "icount"),
70
+ isith: parseThresholdOption(args.isith),
71
+ ncount: parseCountOption(args.ncount, "ncount"),
72
+ nsith: parseThresholdOption(args.nsith),
73
+ estOnly: parseBooleanOption(args.estOnly, "estOnly"),
74
+ data: parseStringListOption(args.data, "data"),
75
+ delpre: parseStringOption(args.delpre, "delpre"),
76
+ version: parseKeriVersionOption(args.version),
77
+ };
78
+ if (!inceptArgs.name) {
79
+ throw new ValidationError("Name is required and cannot be empty");
80
+ }
81
+ if (!inceptArgs.alias) {
82
+ throw new ValidationError("Alias is required and cannot be empty");
83
+ }
84
+ const opts = mergeWithFile(inceptArgs);
85
+ if (opts.icount === 0)
86
+ throw new ValidationError("icount must be positive");
87
+ // A command-local scope owns acquisition and teardown; there is no independent child consumer.
88
+ const result = yield* call(function* () {
89
+ const cf = inceptArgs.configFile
90
+ ? (yield* createConfiger({
91
+ name: inceptArgs.configFile,
92
+ base: "",
93
+ temp: false,
94
+ headDirPath: inceptArgs.configDir,
95
+ reopen: true,
96
+ clear: false,
97
+ }))
98
+ : undefined;
99
+ const hby = yield* setupHby(inceptArgs.name, inceptArgs.base ?? "", inceptArgs.passcode, inceptArgs.temp ?? false, inceptArgs.headDirPath, {
100
+ readonly: false,
101
+ cf,
102
+ skipConfig: !cf,
103
+ skipSignator: true,
104
+ });
105
+ let failure;
106
+ try {
107
+ if (hby.habByName(inceptArgs.alias)) {
108
+ throw new ValidationError(`Alias ${inceptArgs.alias} already exists; inception requires an unused alias.`);
109
+ }
110
+ assertBootstrapComplete(yield* resolveBootstrap(hby, http));
111
+ const hab = hby.makeHab(inceptArgs.alias, undefined, {
112
+ transferable: opts.transferable ?? false,
113
+ wits: opts.wits ?? [],
114
+ toad: opts.toad ?? 0,
115
+ icount: opts.icount ?? 1,
116
+ isith: opts.isith,
117
+ ncount: opts.ncount ?? 1,
118
+ nsith: opts.nsith,
119
+ estOnly: opts.estOnly ?? false,
120
+ data: opts.data ?? [],
121
+ delpre: opts.delpre,
122
+ version: inceptArgs.version,
123
+ });
124
+ if (hab.kever?.wits.length) {
125
+ if (inceptArgs.endpoint) {
126
+ const receiptor = new Receiptor(hby, createProtocolProcessor(hby), http, systemClock);
127
+ yield* receiptor.receipt(hab.pre, { sn: 0 });
128
+ }
129
+ else {
130
+ const witDoer = new WitnessReceiptor(hby, createProtocolProcessor(hby), http, systemClock);
131
+ yield* witDoer.submit(hab.pre, { sn: 0 });
132
+ }
133
+ }
134
+ let delegationPhase = null;
135
+ if (opts.delpre) {
136
+ const communicationHab = resolveDelegationCommunicationHab(hby, inceptArgs.proxy);
137
+ if (!communicationHab) {
138
+ throw new ValidationError(`Delegated inception for ${hab.pre} requires --proxy <alias>.`);
139
+ }
140
+ const runtime = yield* createAgentRuntime(hby, http, systemClock);
141
+ try {
142
+ runtime.delegating.beginLatest(hab.pre, 0, {
143
+ communicationHab,
144
+ });
145
+ yield* runAgentRuntimeUntil(runtime, () => runtime.delegating.complete(hab.pre, 0), { hab, timeoutMs: 120_000, pollMailbox: true });
146
+ delegationPhase = runtime.delegating.workflowStatus(hab.pre, "0").phase;
147
+ }
148
+ finally {
149
+ yield* runtime.close();
150
+ }
151
+ }
152
+ const state = hby.db.getState(hab.pre);
153
+ return { prefix: hab.pre, keys: state?.k ?? [], delegationPhase };
154
+ }
155
+ catch (error) {
156
+ failure = { error };
157
+ throw error;
158
+ }
159
+ finally {
160
+ try {
161
+ yield* hby.close();
162
+ }
163
+ catch (error) {
164
+ if (failure) {
165
+ // deno-lint-ignore no-unsafe-finally -- Preserve inception and shutdown failures.
166
+ throw new AggregateError([failure.error, error], "Inception and database close failed", {
167
+ cause: failure.error,
168
+ });
169
+ }
170
+ // deno-lint-ignore no-unsafe-finally -- Final success requires resource closure.
171
+ throw error;
172
+ }
173
+ }
174
+ });
175
+ console.log(`Prefix ${result.prefix}`);
176
+ for (const [idx, key] of result.keys.entries())
177
+ console.log(`\tPublic key ${idx + 1}: ${key}`);
178
+ if (result.delegationPhase)
179
+ console.log(`Delegation status ${result.delegationPhase}`);
180
+ console.log("");
181
+ }
@@ -0,0 +1,153 @@
1
+ import { Encrypter } from "cesr-ts";
2
+ import { resolveBootstrap } from "../../app/bootstrap/bootstrapping.js";
3
+ import { createConfiger } from "../../app/identity/configing.js";
4
+ import { branToSeedAeid, createHabery } from "../../app/identity/habbing.js";
5
+ import { FetchHttpClient } from "../../app/transport/http-client.js";
6
+ import { ValidationError } from "../../core/errors.js";
7
+ import { assertBootstrapComplete } from "../common/bootstrap.js";
8
+ import { parseBooleanOption, parseStringOption } from "../common/parsing.js";
9
+ import { readPasscode } from "../common/passcode.js";
10
+ /**
11
+ * Implements `tufa init`.
12
+ *
13
+ * Creates/open a habery keystore and database.
14
+ *
15
+ * @param args Parsed command flags and positionals; required identifiers and policy values are validated before effects.
16
+ */
17
+ export function* initCommand(args) {
18
+ // Extract values from args
19
+ const initArgs = {
20
+ name: parseStringOption(args.name, "--name"),
21
+ base: parseStringOption(args.base, "--base"),
22
+ headDirPath: parseStringOption(args.headDirPath, "--head-dir"),
23
+ temp: parseBooleanOption(args.temp, "--temp") ?? false,
24
+ salt: parseStringOption(args.salt, "--salt"),
25
+ configDir: parseStringOption(args.configDir, "--config-dir"),
26
+ configFile: parseStringOption(args.configFile, "--config-file"),
27
+ passcode: parseStringOption(args.passcode, "--passcode"),
28
+ nopasscode: parseBooleanOption(args.nopasscode, "--nopasscode") ?? false,
29
+ aeid: parseStringOption(args.aeid, "--aeid"),
30
+ seed: parseStringOption(args.seed, "--seed"),
31
+ };
32
+ const name = initArgs.name;
33
+ if (!name || name.trim().length === 0) {
34
+ throw new ValidationError("Name is required and cannot be empty");
35
+ }
36
+ let credentials = resolveCredentials(initArgs);
37
+ if (credentials.kind === "prompt") {
38
+ const passcode = yield* readPasscode("Passcode:");
39
+ requirePasscode(passcode);
40
+ const retry = yield* readPasscode("Re-enter passcode:");
41
+ requirePasscode(retry);
42
+ if (passcode !== retry)
43
+ throw new ValidationError("Passcodes do not match");
44
+ credentials = passcodeCredentials(passcode);
45
+ }
46
+ const cf = initArgs.configFile
47
+ ? (yield* createConfiger({
48
+ name: initArgs.configFile,
49
+ base: "",
50
+ temp: false,
51
+ headDirPath: initArgs.configDir,
52
+ reopen: true,
53
+ clear: false,
54
+ }))
55
+ : undefined;
56
+ let hby;
57
+ let created;
58
+ let failure;
59
+ try {
60
+ let seed;
61
+ let aeid;
62
+ if (credentials.kind === "encrypted") {
63
+ seed = credentials.seed;
64
+ aeid = credentials.aeid;
65
+ }
66
+ hby = yield* createHabery({
67
+ name,
68
+ base: initArgs.base ?? "",
69
+ headDirPath: initArgs.headDirPath,
70
+ temp: initArgs.temp ?? false,
71
+ cf,
72
+ skipConfig: !cf,
73
+ skipSignator: true,
74
+ aeid,
75
+ seed,
76
+ salt: initArgs.salt,
77
+ });
78
+ assertBootstrapComplete(yield* resolveBootstrap(hby, new FetchHttpClient()));
79
+ created = { keystore: hby.ks.path, database: hby.db.path, aeid: hby.mgr.aeid };
80
+ }
81
+ catch (error) {
82
+ failure = { error };
83
+ throw error;
84
+ }
85
+ finally {
86
+ try {
87
+ if (hby)
88
+ yield* hby.close();
89
+ else if (cf)
90
+ yield* cf.close();
91
+ }
92
+ catch (error) {
93
+ if (failure) {
94
+ // deno-lint-ignore no-unsafe-finally -- Preserve initialization and shutdown failures.
95
+ throw new AggregateError([failure.error, error], "Initialization and database close failed", {
96
+ cause: failure.error,
97
+ });
98
+ }
99
+ // deno-lint-ignore no-unsafe-finally -- Final success requires resource closure.
100
+ throw error;
101
+ }
102
+ }
103
+ console.log("KERI Keystore created at:", created.keystore);
104
+ console.log("KERI Database created at:", created.database);
105
+ if (created.aeid)
106
+ console.log("\taeid:", created.aeid);
107
+ }
108
+ /** Refuse empty secrets without changing passcode normalization or derivation. */
109
+ function requirePasscode(passcode) {
110
+ if (passcode.trim().length === 0)
111
+ throw new ValidationError("Passcode cannot be empty");
112
+ if (passcode.length < 21)
113
+ throw new ValidationError("Passcode must contain at least 21 characters");
114
+ }
115
+ /** Derive once through the same primitive path used for encrypted Habery reopen. */
116
+ function passcodeCredentials(passcode) {
117
+ requirePasscode(passcode);
118
+ return { kind: "encrypted", ...branToSeedAeid(passcode) };
119
+ }
120
+ /** Validate one explicit encryption method, including a matching AEID/seed pair. */
121
+ function resolveCredentials(args) {
122
+ const passcodeProvided = args.passcode !== undefined;
123
+ const aeidProvided = args.aeid !== undefined;
124
+ const seedProvided = args.seed !== undefined;
125
+ if (args.nopasscode) {
126
+ if (passcodeProvided || aeidProvided || seedProvided) {
127
+ throw new ValidationError("--nopasscode cannot be combined with --passcode, --aeid or --seed");
128
+ }
129
+ return { kind: "plaintext" };
130
+ }
131
+ if (passcodeProvided) {
132
+ if (aeidProvided || seedProvided) {
133
+ throw new ValidationError("Choose either --passcode or --aeid with --seed");
134
+ }
135
+ return passcodeCredentials(args.passcode);
136
+ }
137
+ if (aeidProvided || seedProvided) {
138
+ if (!args.aeid || !args.seed)
139
+ throw new ValidationError("--aeid and --seed must be supplied together");
140
+ try {
141
+ if (!new Encrypter({ verkey: args.aeid }).verifySeed(args.seed)) {
142
+ throw new ValidationError("Seed is not associated with the supplied AEID");
143
+ }
144
+ }
145
+ catch (cause) {
146
+ if (cause instanceof ValidationError)
147
+ throw cause;
148
+ throw new ValidationError("Invalid AEID/seed credentials", { cause });
149
+ }
150
+ return { kind: "encrypted", aeid: args.aeid, seed: args.seed };
151
+ }
152
+ return { kind: "prompt" };
153
+ }
@@ -0,0 +1,84 @@
1
+ import { createProtocolProcessor } from "../../app/protocol/protocol-processing.js";
2
+ import { systemClock } from "../../app/runtime/runtime-clock.js";
3
+ import { FetchHttpClient } from "../../app/transport/http-client.js";
4
+ import { isLocalGroupHab } from "../../app/multisig/group-members.js";
5
+ import { Receiptor, WitnessReceiptor } from "../../app/witness/receipting.js";
6
+ import { ValidationError } from "../../core/errors.js";
7
+ import { withExistingHab } from "../common/context.js";
8
+ import { parseBooleanOption, parseDataItems, parseKeriVersionOption, parseStringListOption, parseStringOption, } from "../common/parsing.js";
9
+ import { resolveWitnessAuths } from "../common/witness-auth.js";
10
+ /**
11
+ * Create one local interaction event and optionally converge witness receipts.
12
+ *
13
+ * Maintainer boundary:
14
+ * - CLI concerns stop at argument parsing, witness-auth capture, and success
15
+ * output
16
+ * - interaction event authoring and local acceptance live in `Hab.interact(...)`
17
+ *
18
+ * @param args Parsed command flags and positionals; required identifiers and policy values are validated before effects.
19
+ */
20
+ export function* interactCommand(args) {
21
+ // Select one HTTP implementation for all work owned by this command.
22
+ const http = new FetchHttpClient();
23
+ const interactArgs = {
24
+ name: parseStringOption(args.name, "name"),
25
+ base: parseStringOption(args.base, "base"),
26
+ headDirPath: parseStringOption(args.headDirPath, "headDirPath"),
27
+ passcode: parseStringOption(args.passcode, "passcode"),
28
+ alias: parseStringOption(args.alias, "alias"),
29
+ compat: parseBooleanOption(args.compat, "compat"),
30
+ endpoint: parseBooleanOption(args.endpoint, "endpoint"),
31
+ authenticate: parseBooleanOption(args.authenticate, "authenticate"),
32
+ code: parseStringListOption(args.code, "code"),
33
+ codeTime: parseStringOption(args.codeTime, "codeTime"),
34
+ data: parseStringListOption(args.data, "data"),
35
+ version: parseKeriVersionOption(args.version),
36
+ };
37
+ if (!interactArgs.name) {
38
+ throw new ValidationError("Name is required and cannot be empty");
39
+ }
40
+ if (!interactArgs.alias) {
41
+ throw new ValidationError("Alias is required and cannot be empty");
42
+ }
43
+ const data = parseDataItems(interactArgs.data);
44
+ yield* withExistingHab(interactArgs, interactArgs.alias, {
45
+ compat: interactArgs.compat ?? false,
46
+ readonly: false,
47
+ skipConfig: true,
48
+ skipSignator: true,
49
+ }, function* ({ hby, hab }) {
50
+ if (isLocalGroupHab(hby, hab)) {
51
+ throw new ValidationError("Group aliases require tufa multisig interact so member approval and fanout are coordinated.");
52
+ }
53
+ if (!hab.kever) {
54
+ throw new ValidationError(`Missing accepted key state for ${hab.pre}.`);
55
+ }
56
+ hab.interact({ data, version: interactArgs.version });
57
+ if (hab.kever?.wits.length) {
58
+ const auths = resolveWitnessAuths(hab.kever.wits, interactArgs.code ?? [], {
59
+ codeTime: interactArgs.codeTime,
60
+ promptMissing: interactArgs.authenticate ?? false,
61
+ });
62
+ if (interactArgs.endpoint) {
63
+ const receiptor = new Receiptor(hby, createProtocolProcessor(hby), http, systemClock);
64
+ yield* receiptor.receipt(hab.pre, {
65
+ sn: hab.kever.sn,
66
+ auths,
67
+ });
68
+ }
69
+ else {
70
+ const witDoer = new WitnessReceiptor(hby, createProtocolProcessor(hby), http, systemClock);
71
+ yield* witDoer.submit(hab.pre, {
72
+ sn: hab.kever.sn,
73
+ auths,
74
+ });
75
+ }
76
+ }
77
+ const state = hby.db.getState(hab.pre);
78
+ console.log(`Prefix ${hab.pre}`);
79
+ console.log(`New Sequence No. ${hab.kever?.sn ?? state?.s ?? ""}`);
80
+ for (const [idx, key] of (state?.k ?? []).entries()) {
81
+ console.log(`\tPublic key ${idx + 1}: ${key}`);
82
+ }
83
+ });
84
+ }
@@ -1,13 +1,14 @@
1
1
  import { ValidationError } from "../../core/errors.js";
2
- import { withExistingHabery } from "./common/context.js";
2
+ import { withExistingHabery } from "../common/context.js";
3
+ import { parseBooleanOption, parseStringOption } from "../common/parsing.js";
3
4
  /** Implements `tufa list`. */
4
5
  export function* listCommand(args) {
5
6
  const listArgs = {
6
- name: args.name,
7
- base: args.base,
8
- headDirPath: args.headDirPath,
9
- passcode: args.passcode,
10
- compat: args.compat,
7
+ name: parseStringOption(args.name, "name"),
8
+ base: parseStringOption(args.base, "base"),
9
+ headDirPath: parseStringOption(args.headDirPath, "headDirPath"),
10
+ passcode: parseStringOption(args.passcode, "passcode"),
11
+ compat: parseBooleanOption(args.compat, "compat"),
11
12
  };
12
13
  if (!listArgs.name) {
13
14
  throw new ValidationError("Name is required and cannot be empty");