keri-ts 2.1.0 → 2.2.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 (294) hide show
  1. package/README.md +30 -2
  2. package/esm/keri/npm/src/acdc/authoring.js +195 -0
  3. package/esm/keri/npm/src/acdc/custody.js +164 -0
  4. package/esm/keri/npm/src/acdc/dhking.js +244 -32
  5. package/esm/keri/npm/src/acdc/regbasing.js +10 -0
  6. package/esm/keri/npm/src/acdc/salting.js +16 -1
  7. package/esm/keri/npm/src/acdc/scheming.js +93 -54
  8. package/esm/keri/npm/src/acdc/unblinding.js +118 -95
  9. package/esm/keri/npm/src/app/bootstrap/authenticating.js +4 -6
  10. package/esm/keri/npm/src/app/bootstrap/oobi-resolving.js +41 -0
  11. package/esm/keri/npm/src/app/bootstrap/oobiery.js +4 -6
  12. package/esm/keri/npm/src/app/credentials/credential-revoking.js +1 -0
  13. package/esm/keri/npm/src/app/credentials/credential-workflows.js +2 -0
  14. package/esm/keri/npm/src/app/credentials/registry-settling.js +44 -0
  15. package/esm/keri/npm/src/app/credentials/root-replicating.js +68 -60
  16. package/esm/keri/npm/src/app/credentials/root-replicator.js +198 -0
  17. package/esm/keri/npm/src/app/credentials/tel-completion.js +36 -0
  18. package/esm/keri/npm/src/app/delivery/forwarding.js +16 -3
  19. package/esm/keri/npm/src/app/exchanges/exchanging.js +14 -4
  20. package/esm/keri/npm/src/app/identity/challenging.js +50 -0
  21. package/esm/keri/npm/src/app/identity/delegating.js +77 -77
  22. package/esm/keri/npm/src/app/identity/delegation-approval.js +333 -0
  23. package/esm/keri/npm/src/app/identity/event-completion.js +154 -0
  24. package/esm/keri/npm/src/app/identity/habbing.js +129 -6
  25. package/esm/keri/npm/src/app/identity/keeping.js +77 -4
  26. package/esm/keri/npm/src/app/ipex/group-ipex.js +327 -0
  27. package/esm/keri/npm/src/app/ipex/group-issuance.js +902 -0
  28. package/esm/keri/npm/src/app/ipex/ipex-admitting.js +120 -0
  29. package/esm/keri/npm/src/app/ipex/ipex-conversation.js +197 -0
  30. package/esm/keri/npm/src/app/ipex/ipex-discloser.js +591 -0
  31. package/esm/keri/npm/src/app/ipex/ipex-granting.js +93 -0
  32. package/esm/keri/npm/src/app/ipex/ipex-grouping.js +34 -11
  33. package/esm/keri/npm/src/app/ipex/issuance.js +888 -0
  34. package/esm/keri/npm/src/app/ipex/pending-presentations.js +46 -0
  35. package/esm/keri/npm/src/app/ipex/presentation-files.js +200 -0
  36. package/esm/keri/npm/src/app/ipex/presenting.js +401 -0
  37. package/esm/keri/npm/src/app/ipex/receive-issuance.js +86 -0
  38. package/esm/keri/npm/src/app/ipex/unblinding-workflow.js +660 -0
  39. package/esm/keri/npm/src/app/mailbox/ipex-arrival.js +103 -0
  40. package/esm/keri/npm/src/app/mailbox/kel-publisher.js +322 -0
  41. package/esm/keri/npm/src/app/mailbox/kel-publishing.js +65 -0
  42. package/esm/keri/npm/src/app/mailbox/kel-submission.js +24 -0
  43. package/esm/keri/npm/src/app/mailbox/mailbox-admin.js +208 -0
  44. package/esm/keri/npm/src/app/mailbox/mailbox-poller.js +212 -47
  45. package/esm/keri/npm/src/app/mailbox/mailboxing.js +10 -5
  46. package/esm/keri/npm/src/app/multisig/counseling.js +482 -0
  47. package/esm/keri/npm/src/app/multisig/group-members.js +18 -0
  48. package/esm/keri/npm/src/app/multisig/multisig-workflows.js +94 -139
  49. package/esm/keri/npm/src/app/multisig/proposals.js +281 -0
  50. package/esm/keri/npm/src/app/multisig/proposing.js +122 -0
  51. package/esm/keri/npm/src/app/notifications/signaling.js +5 -5
  52. package/esm/keri/npm/src/app/protocol/parsering.js +26 -1
  53. package/esm/keri/npm/src/app/protocol/protocol-processing.js +9 -3
  54. package/esm/keri/npm/src/app/queries/query-workflows.js +98 -0
  55. package/esm/keri/npm/src/app/runtime/agent-runtime.js +106 -55
  56. package/esm/keri/npm/src/app/runtime/cue-runtime.js +3 -6
  57. package/esm/keri/npm/src/app/runtime/delivery-outbox.js +87 -0
  58. package/esm/keri/npm/src/app/runtime/doing.js +17 -0
  59. package/esm/keri/npm/src/app/runtime/ipex-auxiliaries.js +207 -0
  60. package/esm/keri/npm/src/app/runtime/operation-owners.js +151 -0
  61. package/esm/keri/npm/src/app/runtime/retry-backoff.js +93 -0
  62. package/esm/keri/npm/src/app/runtime/workflow-contract.js +80 -0
  63. package/esm/keri/npm/src/app/transport/http-client.js +25 -6
  64. package/esm/keri/npm/src/app/witness/http-endpoints.js +4 -4
  65. package/esm/keri/npm/src/cli/common/event-completion.js +49 -0
  66. package/esm/keri/npm/src/cli/common/runtime-workers.js +23 -0
  67. package/esm/keri/npm/src/cli/credentials/ipex.js +157 -190
  68. package/esm/keri/npm/src/cli/credentials/vc.js +53 -72
  69. package/esm/keri/npm/src/cli/endpoints/did.js +12 -3
  70. package/esm/keri/npm/src/cli/endpoints/oobi.js +10 -13
  71. package/esm/keri/npm/src/cli/identity/challenge.js +8 -34
  72. package/esm/keri/npm/src/cli/identity/delegate.js +81 -258
  73. package/esm/keri/npm/src/cli/identity/incept.js +15 -32
  74. package/esm/keri/npm/src/cli/identity/interact.js +5 -17
  75. package/esm/keri/npm/src/cli/identity/rotate.js +8 -36
  76. package/esm/keri/npm/src/cli/index.js +3 -1
  77. package/esm/keri/npm/src/cli/messaging/group-join.js +79 -0
  78. package/esm/keri/npm/src/cli/messaging/group-wait.js +88 -0
  79. package/esm/keri/npm/src/cli/messaging/multisig.js +163 -284
  80. package/esm/keri/npm/src/cli/messaging/root-copy-lines.js +31 -0
  81. package/esm/keri/npm/src/core/kel/eventing.js +66 -10
  82. package/esm/keri/npm/src/core/mailbox/kram-policy.js +39 -6
  83. package/esm/keri/npm/src/core/mailbox/kraming.js +2 -0
  84. package/esm/keri/npm/src/core/records.js +23 -0
  85. package/esm/keri/npm/src/core/routing.js +13 -0
  86. package/esm/keri/npm/src/db/basing.js +34 -2
  87. package/esm/keri/npm/src/db/core/indexeddb-persistence.js +221 -0
  88. package/esm/keri/npm/src/db/indexeddb.js +98 -0
  89. package/esm/keri/npm/src/db/keeping.js +11 -2
  90. package/esm/keri/npm/src/db/store-lock.js +150 -0
  91. package/esm/keri/npm/src/npm/db-indexeddb.browser.js +2 -0
  92. package/esm/keri/npm/src/npm/db-indexeddb.js +3 -0
  93. package/esm/keri/npm/src/npm/db.browser.js +2 -0
  94. package/esm/keri/npm/src/npm/index.browser.js +9 -0
  95. package/esm/keri/npm/src/npm/runtime-web.browser.js +2 -0
  96. package/esm/keri/npm/src/npm/runtime-web.js +3 -0
  97. package/esm/keri/npm/src/npm/runtime.browser.js +2 -0
  98. package/esm/keri/npm/src/runtime/index.js +51 -4
  99. package/esm/keri/npm/src/runtime/web/output-barrier.js +47 -0
  100. package/esm/keri/npm/src/runtime/web/persistent-storage.js +37 -0
  101. package/esm/keri/npm/src/runtime/web.js +10 -0
  102. package/esm/keri/npm/src/vdr/tel-publication.js +16 -0
  103. package/esm/keri/npm/src/version.js +2 -2
  104. package/package.json +15 -2
  105. package/types/acdc/authoring.d.ts +54 -0
  106. package/types/acdc/authoring.d.ts.map +1 -0
  107. package/types/acdc/custody.d.ts +77 -0
  108. package/types/acdc/custody.d.ts.map +1 -0
  109. package/types/acdc/dhking.d.ts +94 -3
  110. package/types/acdc/dhking.d.ts.map +1 -1
  111. package/types/acdc/regbasing.d.ts +4 -0
  112. package/types/acdc/regbasing.d.ts.map +1 -1
  113. package/types/acdc/salting.d.ts +6 -1
  114. package/types/acdc/salting.d.ts.map +1 -1
  115. package/types/acdc/scheming.d.ts +2 -0
  116. package/types/acdc/scheming.d.ts.map +1 -1
  117. package/types/acdc/unblinding.d.ts +58 -19
  118. package/types/acdc/unblinding.d.ts.map +1 -1
  119. package/types/app/bootstrap/authenticating.d.ts +3 -1
  120. package/types/app/bootstrap/authenticating.d.ts.map +1 -1
  121. package/types/app/bootstrap/oobi-resolving.d.ts +92 -0
  122. package/types/app/bootstrap/oobi-resolving.d.ts.map +1 -0
  123. package/types/app/bootstrap/oobiery.d.ts +3 -1
  124. package/types/app/bootstrap/oobiery.d.ts.map +1 -1
  125. package/types/app/credentials/credential-revoking.d.ts +3 -0
  126. package/types/app/credentials/credential-revoking.d.ts.map +1 -1
  127. package/types/app/credentials/credential-workflows.d.ts +5 -0
  128. package/types/app/credentials/credential-workflows.d.ts.map +1 -1
  129. package/types/app/credentials/registry-settling.d.ts +85 -0
  130. package/types/app/credentials/registry-settling.d.ts.map +1 -0
  131. package/types/app/credentials/root-replicating.d.ts +56 -44
  132. package/types/app/credentials/root-replicating.d.ts.map +1 -1
  133. package/types/app/credentials/root-replicator.d.ts +105 -0
  134. package/types/app/credentials/root-replicator.d.ts.map +1 -0
  135. package/types/app/credentials/tel-completion.d.ts +55 -0
  136. package/types/app/credentials/tel-completion.d.ts.map +1 -0
  137. package/types/app/delivery/forwarding.d.ts +6 -0
  138. package/types/app/delivery/forwarding.d.ts.map +1 -1
  139. package/types/app/exchanges/exchanging.d.ts.map +1 -1
  140. package/types/app/identity/challenging.d.ts +54 -0
  141. package/types/app/identity/challenging.d.ts.map +1 -1
  142. package/types/app/identity/delegating.d.ts +21 -4
  143. package/types/app/identity/delegating.d.ts.map +1 -1
  144. package/types/app/identity/delegation-approval.d.ts +228 -0
  145. package/types/app/identity/delegation-approval.d.ts.map +1 -0
  146. package/types/app/identity/event-completion.d.ts +151 -0
  147. package/types/app/identity/event-completion.d.ts.map +1 -0
  148. package/types/app/identity/habbing.d.ts +67 -2
  149. package/types/app/identity/habbing.d.ts.map +1 -1
  150. package/types/app/identity/keeping.d.ts +49 -3
  151. package/types/app/identity/keeping.d.ts.map +1 -1
  152. package/types/app/ipex/group-ipex.d.ts +247 -0
  153. package/types/app/ipex/group-ipex.d.ts.map +1 -0
  154. package/types/app/ipex/group-issuance.d.ts +281 -0
  155. package/types/app/ipex/group-issuance.d.ts.map +1 -0
  156. package/types/app/ipex/ipex-admitting.d.ts +47 -0
  157. package/types/app/ipex/ipex-admitting.d.ts.map +1 -0
  158. package/types/app/ipex/ipex-conversation.d.ts +195 -0
  159. package/types/app/ipex/ipex-conversation.d.ts.map +1 -0
  160. package/types/app/ipex/ipex-discloser.d.ts +156 -0
  161. package/types/app/ipex/ipex-discloser.d.ts.map +1 -0
  162. package/types/app/ipex/ipex-granting.d.ts +145 -0
  163. package/types/app/ipex/ipex-granting.d.ts.map +1 -0
  164. package/types/app/ipex/ipex-grouping.d.ts +18 -0
  165. package/types/app/ipex/ipex-grouping.d.ts.map +1 -1
  166. package/types/app/ipex/issuance.d.ts +443 -0
  167. package/types/app/ipex/issuance.d.ts.map +1 -0
  168. package/types/app/ipex/pending-presentations.d.ts +25 -0
  169. package/types/app/ipex/pending-presentations.d.ts.map +1 -0
  170. package/types/app/ipex/presentation-files.d.ts +47 -0
  171. package/types/app/ipex/presentation-files.d.ts.map +1 -0
  172. package/types/app/ipex/presenting.d.ts +298 -0
  173. package/types/app/ipex/presenting.d.ts.map +1 -0
  174. package/types/app/ipex/receive-issuance.d.ts +99 -0
  175. package/types/app/ipex/receive-issuance.d.ts.map +1 -0
  176. package/types/app/ipex/unblinding-workflow.d.ts +255 -0
  177. package/types/app/ipex/unblinding-workflow.d.ts.map +1 -0
  178. package/types/app/mailbox/ipex-arrival.d.ts +104 -0
  179. package/types/app/mailbox/ipex-arrival.d.ts.map +1 -0
  180. package/types/app/mailbox/kel-publisher.d.ts +141 -0
  181. package/types/app/mailbox/kel-publisher.d.ts.map +1 -0
  182. package/types/app/mailbox/kel-publishing.d.ts +70 -0
  183. package/types/app/mailbox/kel-publishing.d.ts.map +1 -0
  184. package/types/app/mailbox/kel-submission.d.ts +18 -0
  185. package/types/app/mailbox/kel-submission.d.ts.map +1 -0
  186. package/types/app/mailbox/mailbox-admin.d.ts +113 -0
  187. package/types/app/mailbox/mailbox-admin.d.ts.map +1 -0
  188. package/types/app/mailbox/mailbox-poller.d.ts +92 -3
  189. package/types/app/mailbox/mailbox-poller.d.ts.map +1 -1
  190. package/types/app/mailbox/mailboxing.d.ts +3 -0
  191. package/types/app/mailbox/mailboxing.d.ts.map +1 -1
  192. package/types/app/multisig/counseling.d.ts +196 -0
  193. package/types/app/multisig/counseling.d.ts.map +1 -0
  194. package/types/app/multisig/group-members.d.ts +11 -0
  195. package/types/app/multisig/group-members.d.ts.map +1 -1
  196. package/types/app/multisig/grouping.d.ts +39 -20
  197. package/types/app/multisig/grouping.d.ts.map +1 -1
  198. package/types/app/multisig/multisig-workflows.d.ts +91 -22
  199. package/types/app/multisig/multisig-workflows.d.ts.map +1 -1
  200. package/types/app/multisig/proposals.d.ts +129 -0
  201. package/types/app/multisig/proposals.d.ts.map +1 -0
  202. package/types/app/multisig/proposing.d.ts +125 -0
  203. package/types/app/multisig/proposing.d.ts.map +1 -0
  204. package/types/app/notifications/signaling.d.ts +3 -1
  205. package/types/app/notifications/signaling.d.ts.map +1 -1
  206. package/types/app/protocol/parsering.d.ts +13 -0
  207. package/types/app/protocol/parsering.d.ts.map +1 -1
  208. package/types/app/protocol/protocol-processing.d.ts +7 -1
  209. package/types/app/protocol/protocol-processing.d.ts.map +1 -1
  210. package/types/app/queries/query-workflows.d.ts +98 -0
  211. package/types/app/queries/query-workflows.d.ts.map +1 -0
  212. package/types/app/runtime/agent-runtime.d.ts +72 -25
  213. package/types/app/runtime/agent-runtime.d.ts.map +1 -1
  214. package/types/app/runtime/cue-runtime.d.ts +2 -1
  215. package/types/app/runtime/cue-runtime.d.ts.map +1 -1
  216. package/types/app/runtime/delivery-outbox.d.ts +68 -0
  217. package/types/app/runtime/delivery-outbox.d.ts.map +1 -0
  218. package/types/app/runtime/doing.d.ts +27 -0
  219. package/types/app/runtime/doing.d.ts.map +1 -0
  220. package/types/app/runtime/ipex-auxiliaries.d.ts +74 -0
  221. package/types/app/runtime/ipex-auxiliaries.d.ts.map +1 -0
  222. package/types/app/runtime/operation-owners.d.ts +137 -0
  223. package/types/app/runtime/operation-owners.d.ts.map +1 -0
  224. package/types/app/runtime/retry-backoff.d.ts +49 -0
  225. package/types/app/runtime/retry-backoff.d.ts.map +1 -0
  226. package/types/app/runtime/workflow-contract.d.ts +79 -0
  227. package/types/app/runtime/workflow-contract.d.ts.map +1 -0
  228. package/types/app/transport/http-client.d.ts.map +1 -1
  229. package/types/cli/common/event-completion.d.ts +26 -0
  230. package/types/cli/common/event-completion.d.ts.map +1 -0
  231. package/types/cli/common/runtime-workers.d.ts +23 -0
  232. package/types/cli/common/runtime-workers.d.ts.map +1 -0
  233. package/types/cli/credentials/ipex.d.ts.map +1 -1
  234. package/types/cli/credentials/vc.d.ts +1 -1
  235. package/types/cli/credentials/vc.d.ts.map +1 -1
  236. package/types/cli/endpoints/did.d.ts.map +1 -1
  237. package/types/cli/endpoints/oobi.d.ts +3 -1
  238. package/types/cli/endpoints/oobi.d.ts.map +1 -1
  239. package/types/cli/identity/challenge.d.ts +1 -1
  240. package/types/cli/identity/challenge.d.ts.map +1 -1
  241. package/types/cli/identity/delegate.d.ts +14 -1
  242. package/types/cli/identity/delegate.d.ts.map +1 -1
  243. package/types/cli/identity/incept.d.ts.map +1 -1
  244. package/types/cli/identity/interact.d.ts.map +1 -1
  245. package/types/cli/identity/rotate.d.ts.map +1 -1
  246. package/types/cli/index.d.ts +3 -1
  247. package/types/cli/index.d.ts.map +1 -1
  248. package/types/cli/messaging/group-join.d.ts +53 -0
  249. package/types/cli/messaging/group-join.d.ts.map +1 -0
  250. package/types/cli/messaging/group-wait.d.ts +34 -0
  251. package/types/cli/messaging/group-wait.d.ts.map +1 -0
  252. package/types/cli/messaging/multisig.d.ts +28 -5
  253. package/types/cli/messaging/multisig.d.ts.map +1 -1
  254. package/types/cli/messaging/root-copy-lines.d.ts +39 -0
  255. package/types/cli/messaging/root-copy-lines.d.ts.map +1 -0
  256. package/types/core/cues.d.ts +11 -0
  257. package/types/core/cues.d.ts.map +1 -1
  258. package/types/core/kel/eventing.d.ts.map +1 -1
  259. package/types/core/mailbox/kram-policy.d.ts +14 -0
  260. package/types/core/mailbox/kram-policy.d.ts.map +1 -1
  261. package/types/core/mailbox/kraming.d.ts +1 -1
  262. package/types/core/mailbox/kraming.d.ts.map +1 -1
  263. package/types/core/records.d.ts +61 -0
  264. package/types/core/records.d.ts.map +1 -1
  265. package/types/core/routing.d.ts +6 -0
  266. package/types/core/routing.d.ts.map +1 -1
  267. package/types/db/basing.d.ts +8 -2
  268. package/types/db/basing.d.ts.map +1 -1
  269. package/types/db/core/indexeddb-persistence.d.ts +59 -0
  270. package/types/db/core/indexeddb-persistence.d.ts.map +1 -0
  271. package/types/db/indexeddb.d.ts +37 -0
  272. package/types/db/indexeddb.d.ts.map +1 -0
  273. package/types/db/keeping.d.ts +5 -2
  274. package/types/db/keeping.d.ts.map +1 -1
  275. package/types/db/store-lock.d.ts +72 -0
  276. package/types/db/store-lock.d.ts.map +1 -0
  277. package/types/npm/db-indexeddb.d.ts +4 -0
  278. package/types/npm/db-indexeddb.d.ts.map +1 -0
  279. package/types/npm/runtime-web.d.ts +4 -0
  280. package/types/npm/runtime-web.d.ts.map +1 -0
  281. package/types/runtime/index.d.ts +41 -6
  282. package/types/runtime/index.d.ts.map +1 -1
  283. package/types/runtime/web/output-barrier.d.ts +30 -0
  284. package/types/runtime/web/output-barrier.d.ts.map +1 -0
  285. package/types/runtime/web/persistent-storage.d.ts +36 -0
  286. package/types/runtime/web/persistent-storage.d.ts.map +1 -0
  287. package/types/runtime/web.d.ts +11 -0
  288. package/types/runtime/web.d.ts.map +1 -0
  289. package/types/vdr/tel-publication.d.ts +6 -0
  290. package/types/vdr/tel-publication.d.ts.map +1 -1
  291. package/types/version.d.ts +2 -2
  292. package/esm/keri/npm/src/cli/common/tel-completion.js +0 -24
  293. package/types/cli/common/tel-completion.d.ts +0 -8
  294. package/types/cli/common/tel-completion.d.ts.map +0 -1
@@ -30,6 +30,8 @@ export declare const MULTISIG_RPY_ROUTE = "/multisig/rpy";
30
30
  /** Local v2 coordination profile routes, as in KERIpy core; not upstream KERI or #1740 routes. */
31
31
  export declare const MULTISIG_QRY_ROUTE = "/multisig/qry";
32
32
  export declare const MULTISIG_IPEX_PROOF_ROUTE = "/multisig/ipex-proof";
33
+ /** The routes whose wrapper commits one exact child, as group issuance wraps its Grant, queries, replies and proof. */
34
+ export type MultisigChildRoute = typeof MULTISIG_EXN_ROUTE | typeof MULTISIG_QRY_ROUTE | typeof MULTISIG_RPY_ROUTE | typeof MULTISIG_IPEX_PROOF_ROUTE;
33
35
  /** Ordered route list used for handler registration. */
34
36
  export declare const MULTISIG_ROUTES: readonly ["/multisig/rip", "/multisig/bup", "/multisig/icp", "/multisig/rot", "/multisig/ixn", "/multisig/vcp", "/multisig/iss", "/multisig/rev", "/multisig/exn", "/multisig/rpy", "/multisig/qry", "/multisig/ipex-proof"];
35
37
  export type MultisigRoute = typeof MULTISIG_ROUTES[number];
@@ -115,6 +117,32 @@ export declare function prepareMultisigVdrExn(sender: string, proposal: Multisig
115
117
  interface RawMessage {
116
118
  readonly raw: Uint8Array;
117
119
  }
120
+ /** The signed replay hint of a child whose attachments use a different genus. */
121
+ export interface ChildGenusAttrs {
122
+ cgvrsn?: readonly [number, number];
123
+ }
124
+ /** A child's pathed attachment and the genus to read it with. */
125
+ export interface ChildEvidence {
126
+ attachment: Uint8Array;
127
+ genus: Versionage;
128
+ }
129
+ /** A stored wrapper EXN and the paths of its nested parts. */
130
+ export interface StoredMultisigExn {
131
+ exn: Record<string, unknown>;
132
+ paths: Record<string, string>;
133
+ }
134
+ /** A membership the route's attributes do not decode to. */
135
+ export interface MultisigRejection {
136
+ kind: "reject";
137
+ reason: string;
138
+ }
139
+ /** Owners a `Multiplexor` borrows; each is optional. */
140
+ export interface MultiplexorOptions {
141
+ notifier?: Notifier | null;
142
+ exchanger?: Exchanger;
143
+ registry?: RegistryObserver;
144
+ messageKevery?: Kevery;
145
+ }
118
146
  export interface MultisigBuilderOptions {
119
147
  /** Destination bound into a recipient-specific proposal wrapper. */
120
148
  recipient?: string;
@@ -127,6 +155,10 @@ export interface MultisigBuilderOptions {
127
155
  gvrsn?: Versionage | null;
128
156
  kind?: Kind;
129
157
  }
158
+ /** Builder options of a message whose protocol version the builder fixes (v2). */
159
+ export type MultisigVersionedOptions = Omit<MultisigBuilderOptions, "version" | "pvrsn">;
160
+ /** Builder options of a nested body, whose child genus the child itself carries. */
161
+ export type MultisigBodyOptions = Omit<MultisigBuilderOptions, "childGvrsn">;
130
162
  /** Unsigned wrapper plus supplemental path/child bytes; enclose these with parent signatures when sending v2. */
131
163
  export type MultisigMessage = readonly [serder: SerderKERI, attachments: Uint8Array];
132
164
  export type MultisigDecision = {
@@ -177,7 +209,7 @@ export declare function multisigRpyExn(group: string | Hab, member: Hab, rpy: Ui
177
209
  * KERIpy `multisigQueryExn`: local v2 coordination profile route `/multisig/qry`
178
210
  * whose `a` is `{gid, qry}` and whose single nested substream is the query stream.
179
211
  */
180
- export declare function multisigQueryExn(group: string | Hab, member: Hab, qry: Uint8Array | RawMessage, options?: Omit<MultisigBuilderOptions, "version" | "pvrsn">): Operation<MultisigMessage>;
212
+ export declare function multisigQueryExn(group: string | Hab, member: Hab, qry: Uint8Array | RawMessage, options?: MultisigVersionedOptions): Operation<MultisigMessage>;
181
213
  /**
182
214
  * Share one exact v2 IPEX Grant stream, with its proofs, with group members.
183
215
  *
@@ -185,7 +217,7 @@ export declare function multisigQueryExn(group: string | Hab, member: Hab, qry:
185
217
  * `/multisig/ipex-proof` whose `a` is `{gid, grant}` and whose single nested
186
218
  * substream is the complete Grant stream, authored by or addressed to the group.
187
219
  */
188
- export declare function multisigIpexProofExn(group: string | Hab, member: Hab, grant: Uint8Array | RawMessage, options?: Omit<MultisigBuilderOptions, "version" | "pvrsn">): Operation<MultisigMessage>;
220
+ export declare function multisigIpexProofExn(group: string | Hab, member: Hab, grant: Uint8Array | RawMessage, options?: MultisigVersionedOptions): Operation<MultisigMessage>;
189
221
  /** Wrap one business EXN, such as `/ipex/grant`, for group approval. */
190
222
  export declare function multisigExn(group: string | Hab, member: Hab, exn: Uint8Array | RawMessage, options?: MultisigBuilderOptions): MultisigMessage;
191
223
  /**
@@ -194,11 +226,9 @@ export declare function multisigExn(group: string | Hab, member: Hab, exn: Uint8
194
226
  * it neither authenticates child proofs nor reads, adopts, or disposes any payload.
195
227
  * Callers with a CesrFrame borrow its wire through nestedPayload(frame, Vrsn_2_0).
196
228
  */
197
- export declare function multisigExnBody(sender: string, proposal: MultisigEventProposal, child: SerderKERI, options?: Omit<MultisigBuilderOptions, "childGvrsn">): SerderKERI;
229
+ export declare function multisigExnBody(sender: string, proposal: MultisigEventProposal, child: SerderKERI, options?: MultisigBodyOptions): SerderKERI;
198
230
  /** Signed replay hint for a legacy child whose attachments use a different genus. */
199
- export declare function multisigChildGenusAttrs(child: Serder, genus: Versionage): {
200
- cgvrsn?: readonly [number, number];
201
- };
231
+ export declare function multisigChildGenusAttrs(child: Serder, genus: Versionage): ChildGenusAttrs;
202
232
  /**
203
233
  * Prepare finite child input, construct the parent and serialize its nested evidence.
204
234
  * KEL (icp/rot/ixn) and reply proposals default to KERIpy's form for both v1 and v2
@@ -250,12 +280,7 @@ export declare class Multiplexor {
250
280
  /** Owners sharing one registered wrapper route, keyed by wrapper and nested child route. */
251
281
  private readonly childHandlers;
252
282
  /** Reuse durable group membership and separate child processors without sharing parent proof state. */
253
- constructor(hby: Habery, { notifier, exchanger, registry, messageKevery }?: {
254
- notifier?: Notifier | null;
255
- exchanger?: Exchanger;
256
- registry?: RegistryObserver;
257
- messageKevery?: Kevery;
258
- });
283
+ constructor(hby: Habery, { notifier, exchanger, registry, messageKevery }?: MultiplexorOptions);
259
284
  /**
260
285
  * Delegate one wrapper route's v2 children with route `child` to `handler`.
261
286
  *
@@ -288,10 +313,7 @@ export declare class Multiplexor {
288
313
  /** Check route, child body commitment, and membership without mutating durable state. */
289
314
  private inspect;
290
315
  /** Return all stored wrapper EXNs for one embedded payload SAID. */
291
- get(embeddedSaid: string): Array<{
292
- exn: Record<string, unknown>;
293
- paths: Record<string, string>;
294
- }>;
316
+ get(embeddedSaid: string): StoredMultisigExn[];
295
317
  /** Apply local habitat membership to an already decoded request. */
296
318
  private verifyMembership;
297
319
  private isLocalHab;
@@ -307,10 +329,7 @@ export interface MultisigChild {
307
329
  /** Read one stored v1 child at the wire boundary, without authenticating its independent proof. */
308
330
  export declare function multisigChild(hby: Habery, wrapper: SerderKERI, label: string): MultisigChild | null;
309
331
  /** Resolve the stored proof and signed genus independently of the child protocol. */
310
- export declare function multisigChildEvidence(hby: Habery, wrapper: SerderKERI, label: string, child: Serder): {
311
- attachment: Uint8Array;
312
- genus: Versionage;
313
- };
332
+ export declare function multisigChildEvidence(hby: Habery, wrapper: SerderKERI, label: string, child: Serder): ChildEvidence;
314
333
  /** Extract raw attachment bytes for one label from a stored multisig wrapper. */
315
334
  export declare function multisigPathedAttachment(hby: Habery, wrapperSaid: string, label: string): Uint8Array;
316
335
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../../../src/app/multisig/grouping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../../../src/app/multisig/grouping.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,KAAK,SAAS,EAId,KAAK,IAAI,EAOT,MAAM,EACN,UAAU,EACV,UAAU,EACV,KAAK,UAAU,EAGhB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAA+B,MAAM,2BAA2B,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAU/D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAA0B,MAAM,EAAU,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,KAAK,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAClH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAM9D,uCAAuC;AACvC,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE,uHAAuH;AACvH,MAAM,MAAM,kBAAkB,GAC1B,OAAO,kBAAkB,GACzB,OAAO,kBAAkB,GACzB,OAAO,kBAAkB,GACzB,OAAO,yBAAyB,CAAC;AAErC,wDAAwD;AACxD,eAAO,MAAM,eAAe,8NAalB,CAAC;AAKX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAE3D,6GAA6G;AAC7G,MAAM,MAAM,qBAAqB,GAC7B;IACA,KAAK,EAAE,OAAO,kBAAkB,CAAC;IACjC,KAAK,EAAE;QAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnF,GACC;IACA,KAAK,EAAE,OAAO,kBAAkB,CAAC;IACjC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5E,GACC;IACA,KAAK,EAAE,OAAO,kBAAkB,CAAC;IACjC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CAClD,GACC;IAAE,KAAK,EAAE,OAAO,kBAAkB,CAAC;IAAC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5D;IAAE,KAAK,EAAE,OAAO,kBAAkB,CAAC;IAAC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5D;IAAE,KAAK,EAAE,OAAO,kBAAkB,CAAC;IAAC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5D;IAAE,KAAK,EAAE,OAAO,yBAAyB,CAAC;IAAC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAExE,4FAA4F;AAC5F,MAAM,MAAM,mBAAmB,GAC3B;IACA,KAAK,EAAE,OAAO,kBAAkB,CAAC;IACjC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC3E,MAAM,EAAE;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,CAAC;CAC9C,GACC;IACA,KAAK,EAAE,OAAO,kBAAkB,CAAC;IACjC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC3D,MAAM,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,CAAC;CAChE,GACC;IACA,KAAK,EAAE,OAAO,kBAAkB,CAAC;IACjC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IACzE,MAAM,EAAE;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,CAAC;CAC9C,CAAC;AAEJ,6EAA6E;AAC7E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAEjB;AAED,UAAU,UAAU;IAClB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;CAC1B;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;AAEzF,oFAAoF;AACpF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;AAE7E,iHAAiH;AACjH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAErF,MAAM,MAAM,gBAAgB,GACxB;IACA,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,GACC;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAsBJ,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,sGAAsG;AACtG,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,aAAa,GAAG,IAAI,CAwBrH;AAED,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAKjF;AAED,qGAAqG;AACrG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;;;SAsCnH;AAOD,+FAA+F;AAC/F,wBAAiB,wBAAwB,CACvC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,aAAa,GAAG,IAAI,EAC3B,OAAO,GAAE,sBAA2B,GACnC,SAAS,CAAC,eAAe,CAAC,CAqB5B;AAED,qDAAqD;AACrD,wBAAiB,iBAAiB,CAChC,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EAC/B,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EACzB,OAAO,GAAE,sBAA2B,GACnC,SAAS,CAAC,eAAe,CAAC,CAc5B;AAED,oDAAoD;AACpD,wBAAiB,iBAAiB,CAChC,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,OAAO,GAAE,sBAA2B,GACnC,SAAS,CAAC,eAAe,CAAC,CAc5B;AAED,uDAAuD;AACvD,wBAAiB,mBAAmB,CAClC,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,OAAO,GAAE,sBAA2B,GACnC,SAAS,CAAC,eAAe,CAAC,CAa5B;AAED,sEAAsE;AACtE,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAMjB;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,UAAU,GAAG,UAAU,EAC7B,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAMjB;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAMjB;AAED,oDAAoD;AACpD,wBAAiB,cAAc,CAC7B,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,OAAO,GAAE,sBAA2B,GACnC,SAAS,CAAC,eAAe,CAAC,CAY5B;AAED;;;;;GAKG;AACH,wBAAiB,gBAAgB,CAC/B,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,OAAO,GAAE,wBAA6B,GACrC,SAAS,CAAC,eAAe,CAAC,CAO5B;AAED;;;;;;GAMG;AACH,wBAAiB,oBAAoB,CACnC,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,UAAU,GAAG,UAAU,EAC9B,OAAO,GAAE,wBAA6B,GACrC,SAAS,CAAC,eAAe,CAAC,CAO5B;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,UAAU,GAAG,UAAU,EAC5B,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAOjB;AACD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,mBAAwB,GAChC,UAAU,CAiBZ;AA2BD,qFAAqF;AACrF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,GAChB,eAAe,CAIjB;AACD;;;;;;;;;;;GAWG;AACH,wBAAiB,uBAAuB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,qBAAqB,EAC/B,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,sBAA2B,GACnC,SAAS,CAAC,eAAe,CAAC,CAmC5B;AAeD,+EAA+E;AAC/E,qBAAa,2BAA4B,YAAW,oBAAoB;IACtE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAElC,oEAAoE;gBACxD,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW;IAKrD,kEAAkE;IAClE,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,yBAAyB;IAMnG,wFAAwF;IACvF,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;CAS9E;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,sBAA2B,GACnC,WAAW,CAYb;AACD;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnC,iFAAiF;IACjF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;IAEzE,uGAAuG;gBAErG,GAAG,EAAE,MAAM,EACX,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAE,kBAAuB;IAiB3E;;;;;;;;OAQG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAQlF;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAKrF,4EAA4E;IAC5E,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,GAAE,SAAS,SAAS,EAAO,GAAG,oBAAoB,GAAG,IAAI;IAOlG,6FAA6F;IAC7F,OAAO,CAAC,YAAY;IAUpB,0GAA0G;IACzG,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,GAAE,SAAS,SAAS,EAAO,GAAG,SAAS,CAAC,gBAAgB,CAAC;IAiEvF,0EAA0E;IAC1E,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,GAAE,SAAS,SAAS,EAAO,GAAG,OAAO;IAIrE,oFAAoF;IACpF,OAAO,CAAE,eAAe;IAoBxB,mGAAmG;IACnG,OAAO,CAAE,qBAAqB;IAwB9B,oFAAoF;IACpF,OAAO,CAAC,cAAc;IAiDtB,yFAAyF;IACzF,OAAO,CAAC,OAAO;IA8Ff,oEAAoE;IACpE,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAe9C,oEAAoE;IACpE,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,UAAU;CAGnB;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAIzF;AAED,yGAAyG;AACzG,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;CACnB;AACD,mGAAmG;AACnG,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAOnG;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,aAAa,CAIf;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,UAAU,CASZ"}
@@ -1,32 +1,46 @@
1
1
  /**
2
2
  * Multisig proposal and approval workflows.
3
3
  *
4
- * CLI orchestration owns timed waits, worker lifetimes, prompts and output.
5
4
  * This module publishes proposals and approves stored KEL/RPY/VDR proposals
6
- * without starting or driving background workers.
5
+ * without starting or driving background workers. `approveGroupProposal` is the
6
+ * only caller that approves; it never asks, because calling it is the consent.
7
7
  */
8
8
  import { SerderACDC, SerderKERI, type Versionage } from "cesr-ts";
9
9
  import { type Operation } from "effection";
10
10
  import { type RegistryDisclosure } from "../../acdc/regeventing.js";
11
- import { type AgentRuntime } from "../runtime/agent-runtime.js";
11
+ import { Regery } from "../../vdr/credentialing.js";
12
+ import type { RegistryStore } from "../../acdc/registering.js";
12
13
  import type { Poster } from "../delivery/forwarding.js";
14
+ import type { Exchanger } from "../exchanges/exchanging.js";
13
15
  import type { Hab, Habery } from "../identity/habbing.js";
14
16
  import type { ProtocolProcessor } from "../protocol/protocol-processing.js";
15
- import { MULTISIG_BUP_ROUTE, MULTISIG_ICP_ROUTE, MULTISIG_ISS_ROUTE, MULTISIG_IXN_ROUTE, MULTISIG_REV_ROUTE, MULTISIG_RIP_ROUTE, MULTISIG_ROT_ROUTE, MULTISIG_RPY_ROUTE, MULTISIG_VCP_ROUTE, type MultisigEventProposal, type MultisigMessage } from "./grouping.js";
17
+ import { Reactor } from "../protocol/reactor.js";
18
+ import { MULTISIG_BUP_ROUTE, MULTISIG_ICP_ROUTE, MULTISIG_ISS_ROUTE, MULTISIG_IXN_ROUTE, MULTISIG_REV_ROUTE, MULTISIG_RIP_ROUTE, MULTISIG_ROT_ROUTE, MULTISIG_RPY_ROUTE, MULTISIG_VCP_ROUTE, type MultisigChild, type MultisigEventProposal, type MultisigMessage } from "./grouping.js";
16
19
  import { type GroupSendResult } from "./multisig-messaging.js";
20
+ /** What an ACDC v2 registry approval reuses or discloses. */
21
+ export interface AcdcV2ApprovalOptions {
22
+ anchor?: SerderKERI;
23
+ opening?: RegistryDisclosure;
24
+ resume?: boolean;
25
+ }
17
26
  /** Approve one exact ACDC v2 TEL/anchor through existing member signing and ordinary processors.
18
27
  * A returned wrapper records consent, not quorum/witness/TEL completion; retry the accepted-state owners.
28
+ * `resume` reuses this member's recorded anchor signatures after a crash instead of signing again.
19
29
  */
20
- export declare function approveAcdcV2Registry(hby: Habery, protocol: ProtocolProcessor, group: Hab, event: SerderACDC, { anchor, opening }?: {
21
- anchor?: SerderKERI;
22
- opening?: RegistryDisclosure;
23
- }): Operation<MultisigMessage>;
30
+ export declare function approveAcdcV2Registry(hby: Habery, protocol: ProtocolProcessor, group: Hab, event: SerderACDC, { anchor, opening, resume }?: AcdcV2ApprovalOptions): Operation<MultisigMessage>;
24
31
  /** Publish this member's exact approved TEL/anchor wrapper; the caller runs and joins delivery. */
25
32
  export declare function publishAcdcV2Registry(hby: Habery, postman: Poster, group: Hab, approval: MultisigMessage): Operation<GroupSendResult>;
26
33
  export type MultisigKelRoute = typeof MULTISIG_ICP_ROUTE | typeof MULTISIG_ROT_ROUTE | typeof MULTISIG_IXN_ROUTE;
27
34
  export type MultisigVdrRoute = typeof MULTISIG_VCP_ROUTE | typeof MULTISIG_ISS_ROUTE | typeof MULTISIG_REV_ROUTE;
28
35
  export type MultisigRpyRoute = typeof MULTISIG_RPY_ROUTE;
29
36
  export type MultisigProposalRoute = MultisigKelRoute | MultisigVdrRoute | MultisigRpyRoute | typeof MULTISIG_RIP_ROUTE | typeof MULTISIG_BUP_ROUTE;
37
+ /** Decoded child and membership fields consumed by KEL approval policy; child proofs are verified during intake. */
38
+ export type KelApproval = MultisigChild & {
39
+ group: string;
40
+ proposal: Extract<MultisigEventProposal, {
41
+ route: MultisigKelRoute;
42
+ }>;
43
+ };
30
44
  export interface ApprovalResult extends GroupSendResult {
31
45
  /** Present for VCP/ISS/REV: exact TEL coordinates and local publication, separate from business acceptance and member delivery. */
32
46
  tel?: {
@@ -40,20 +54,21 @@ export interface ApprovalResult extends GroupSendResult {
40
54
  group: string;
41
55
  accepted: boolean;
42
56
  }
43
- export interface ApprovalPromptContext {
44
- route: string;
45
- group: string;
46
- embedded: string;
47
- }
48
- export interface MultisigApprovalCallbacks {
49
- approveProposal(context: ApprovalPromptContext): boolean;
50
- chooseGroupAlias(groupPre: string): string;
51
- chooseRegistryName(regk: string): string;
57
+ /** Collaborators KEL and reply approval need; an `AgentRuntime` fits, and no host is required to have one. */
58
+ export interface ApprovalChannels {
59
+ readonly exc: Exchanger;
60
+ readonly reactor: Reactor;
61
+ readonly protocol: ProtocolProcessor;
62
+ readonly postman: Poster;
52
63
  }
64
+ /** Choices an approval needs; the caller's explicit call is the consent, so nothing here asks. */
53
65
  export interface MultisigApprovalOptions {
54
- group?: string;
55
- said?: string;
56
- callbacks: MultisigApprovalCallbacks;
66
+ /** Reuse this member's recorded event signatures instead of signing again. */
67
+ resume?: boolean;
68
+ /** Local alias for a group not joined yet. */
69
+ groupAlias?: string;
70
+ /** Local name for a registry (`vcp`) proposal. */
71
+ registryName?: string;
57
72
  }
58
73
  /**
59
74
  * Publish a route-correlated event proposal; grouping owns child identity and label derivation.
@@ -81,6 +96,60 @@ export declare function publishProposal(hby: Habery, protocol: ProtocolProcessor
81
96
  export declare function commitAcceptedGroupMembers(hby: Habery, serder: SerderKERI, smids: readonly string[], rmids: readonly string[]): boolean;
82
97
  export declare function eventAccepted(hby: Habery, serder: SerderKERI): boolean;
83
98
  export declare function routeForKelEvent(serder: SerderKERI): MultisigKelRoute | null;
84
- /** Approve matching stored evidence; host progress and deadlines belong to the caller. */
85
- export declare function approvePendingMultisigProposal(hby: Habery, runtime: AgentRuntime, options: MultisigApprovalOptions): Operation<ApprovalResult | null>;
99
+ /** Collaborators the ACDC v2 registry approval adds to the shared channels. */
100
+ export interface RegistryChannels extends ApprovalChannels {
101
+ readonly registryStore: RegistryStore | null;
102
+ }
103
+ /**
104
+ * Approve and publish this member's contribution to one `rip` or `bup` proposal.
105
+ * Null when the proposal is not a well-formed one for a joined group; it then stays inert.
106
+ */
107
+ export declare function approveRegistryV2Proposal(hby: Habery, runtime: RegistryChannels, exn: SerderKERI, route: "/multisig/rip" | "/multisig/bup", options: MultisigApprovalOptions): Operation<ApprovalResult | null>;
108
+ /**
109
+ * Approve and publish a local contribution to one endpoint-role reply proposal.
110
+ * Validate required child evidence before signing, process the local contribution,
111
+ * and await concrete member deliveries. Transmission is not group acceptance.
112
+ *
113
+ * @param hby Borrowed local identities and accepted-state stores.
114
+ * @param runtime Borrowed composed runtime; caller owns its worker and store lifetime.
115
+ * @param exn Stored multisig exchange wrapper.
116
+ * @param route Selected multisig route identifying the proposal kind.
117
+ * @param options Alias and name choices plus `resume`; a proposal that is not well formed is left inert.
118
+ * @returns Approval result with protocol acceptance and deliveries, or null for declined/incomplete input.
119
+ */
120
+ export declare function approveRpyProposal(hby: Habery, runtime: ApprovalChannels, exn: SerderKERI, route: MultisigRpyRoute, options: MultisigApprovalOptions): Operation<ApprovalResult | null>;
121
+ /**
122
+ * Approve and publish a local contribution to one KEL event proposal.
123
+ * Validate required child evidence before signing, process the local contribution,
124
+ * and await concrete member deliveries. Transmission is not group acceptance.
125
+ *
126
+ * @param hby Borrowed local identities and accepted-state stores.
127
+ * @param runtime Borrowed composed runtime; caller owns its worker and store lifetime.
128
+ * @param exn Stored multisig exchange wrapper.
129
+ * @param route Selected multisig route identifying the proposal kind.
130
+ * @param options Alias and name choices plus `resume`; a proposal that is not well formed is left inert.
131
+ * @returns Approval result with protocol acceptance and deliveries, or null for declined/incomplete input.
132
+ */
133
+ export declare function approveKelProposal(hby: Habery, runtime: ApprovalChannels, exn: SerderKERI, route: MultisigKelRoute, options: MultisigApprovalOptions): Operation<ApprovalResult | null>;
134
+ /**
135
+ * Approve and publish a local contribution to one registry/credential TEL proposal.
136
+ * Validate required child evidence before signing, process the local contribution,
137
+ * and await concrete member deliveries. Transmission is not group acceptance.
138
+ *
139
+ * @param hby Borrowed local identities and accepted-state stores.
140
+ * @param rgy Borrowed legacy registry owner, or null; required only after a valid proposal is approved.
141
+ * @param runtime Borrowed composed runtime; caller owns its worker and store lifetime.
142
+ * @param exn Stored multisig exchange wrapper.
143
+ * @param route Selected multisig route identifying the proposal kind.
144
+ * @param options Alias and name choices plus `resume`; a proposal that is not well formed is left inert.
145
+ * @returns Approval result with protocol acceptance and deliveries, or null for declined/incomplete input.
146
+ */
147
+ export declare function approveVdrProposal(hby: Habery, rgy: Regery | null, runtime: ApprovalChannels, exn: SerderKERI, route: MultisigVdrRoute, options: MultisigApprovalOptions): Operation<ApprovalResult | null>;
148
+ /** Preserve the recorded signing/rotation participant order during approval and resume. */
149
+ export declare function kelApprovalMembers({ proposal }: KelApproval): string[];
150
+ /** Decode the fields used by approval, preserving existing missing-embed and member-list behavior. */
151
+ export declare function kelApproval(exn: SerderKERI, route: MultisigKelRoute, child: MultisigChild | null): KelApproval | null;
152
+ export declare function payloadSection(ked: Record<string, unknown>): Record<string, unknown>;
153
+ export declare function isKelRoute(route: string): route is MultisigKelRoute;
154
+ export declare function isVdrRoute(route: string): route is MultisigVdrRoute;
86
155
  //# sourceMappingURL=multisig-workflows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multisig-workflows.d.ts","sourceRoot":"","sources":["../../../src/app/multisig/multisig-workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multisig-workflows.d.ts","sourceRoot":"","sources":["../../../src/app/multisig/multisig-workflows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import type { Operation } from "effection";
2
+ import type { RegistryStore } from "../../acdc/registering.js";
3
+ import type { Regery } from "../../vdr/credentialing.js";
4
+ import type { Exchanger } from "../exchanges/exchanging.js";
5
+ import type { Habery } from "../identity/habbing.js";
6
+ import type { Notifier } from "../notifications/notifying.js";
7
+ import type { CounselInputs, Counselor, GroupEventRef } from "./counseling.js";
8
+ import { type ApprovalChannels, type ApprovalResult } from "./multisig-workflows.js";
9
+ /** Proposal kinds, named by the last segment of their `/multisig/<kind>` route. */
10
+ export type GroupProposalKind = "icp" | "rot" | "ixn" | "rpy" | "rip" | "bup" | "vcp" | "iss" | "rev";
11
+ /** Choices a host must collect from the user before approving. */
12
+ export interface GroupProposalNeeds {
13
+ /** Local alias for a group this member has not joined yet (`icp`, or `rot` of an unjoined group). */
14
+ readonly groupAlias: boolean;
15
+ /** Local name for a registry (`vcp`) this member has not approved yet. */
16
+ readonly registryName: boolean;
17
+ }
18
+ /** One group proposal as stored locally. */
19
+ export interface GroupProposal {
20
+ /** SAID of the stored outer wrapper; the key for approval, lookup and dismissal. */
21
+ readonly said: string;
22
+ readonly kind: GroupProposalKind;
23
+ /** Group prefix. */
24
+ readonly group: string;
25
+ /** SAID of the embedded business event: the KEL event, reply, or TEL event. */
26
+ readonly embedded: string;
27
+ /** Sender of the wrapper. */
28
+ readonly proposer: string;
29
+ /** Signing members named by the proposal, or the group's current signing members where it names none. */
30
+ readonly smids: readonly string[];
31
+ /** Rotation members named by the proposal; empty where it names none. */
32
+ readonly rmids: readonly string[];
33
+ /**
34
+ * Standing of this host's member:
35
+ * - `approved`: its own contribution to this payload is stored.
36
+ * - `inapplicable`: the event is already accepted here and names no local signing member (for example a rotation that only
37
+ * adds this member as a next member), so there is nothing to sign; hosts should not offer it.
38
+ * - `unapproved`: otherwise.
39
+ *
40
+ * A group with several local members is judged by its recorded joining member, or for a group not joined yet by the first
41
+ * local member the proposal names. Approval signs for every local member, so the answer holds for all of them.
42
+ */
43
+ readonly local: "unapproved" | "approved" | "inapplicable";
44
+ /** Choices approval will need; both false once the proposal is locally approved. */
45
+ readonly needs: GroupProposalNeeds;
46
+ /** The group KEL event this proposal sets up, or the anchor that seals its TEL event; absent for replies. */
47
+ readonly event?: GroupEventRef;
48
+ }
49
+ /** Filter for {@link listGroupProposals}. */
50
+ export interface GroupProposalFilter {
51
+ /** Only proposals for this group prefix or local alias. */
52
+ group?: string;
53
+ }
54
+ /** Collaborators for the pure reads. */
55
+ export interface GroupProposalReadDeps {
56
+ readonly hby: Habery;
57
+ /** Authenticates v2 nested children; an `Exchanger` fits. */
58
+ readonly exc: Pick<Exchanger, "verifyAccepted">;
59
+ /** Notice store, or null for a host without one (then nothing is listed). */
60
+ readonly notifier: Pick<Notifier, "list"> | null;
61
+ /** ACDC v2 registry store, or null; without it `rip` and `bup` proposals are not recognised. */
62
+ readonly registryStore: RegistryStore | null;
63
+ }
64
+ /** Collaborators for {@link approveGroupProposal}. */
65
+ export interface GroupApprovalDeps extends ApprovalChannels, Omit<GroupProposalReadDeps, "exc"> {
66
+ /** Legacy credential registry owner; needed to approve `vcp`, `iss` and `rev`. */
67
+ readonly vdr: Regery | null;
68
+ /** Told of the approved group event; only its `start` is used. */
69
+ readonly counselor: Pick<Counselor, "start">;
70
+ }
71
+ /** Choices a user makes when approving; see {@link GroupProposal.needs}. */
72
+ export interface GroupApprovalChoices extends CounselInputs {
73
+ /** Local alias for a group not joined yet. */
74
+ groupAlias?: string;
75
+ /** Local name for a registry proposal. */
76
+ registryName?: string;
77
+ }
78
+ /** Result of {@link approveGroupProposal}. */
79
+ export interface GroupApprovalResult extends ApprovalResult {
80
+ /** The group event now counseled, where the proposal sets one up; read its progress with `counselor.status`. */
81
+ readonly event?: GroupEventRef;
82
+ }
83
+ /** Collaborators for {@link dismissGroupProposal}. */
84
+ export interface GroupProposalDismissDeps {
85
+ readonly hby: Pick<Habery, "db">;
86
+ readonly notifier: Pick<Notifier, "list" | "remove"> | null;
87
+ }
88
+ /**
89
+ * List the proposals the notice store announces, oldest notice first. Pure. Only
90
+ * wrappers that are stored, indexed in `meids.` and well formed are listed, one
91
+ * entry per wrapper; every notice page is read, so nothing hides behind the
92
+ * first 100. A dismissed proposal has no notice and is not listed; it remains
93
+ * available through {@link findGroupProposal}.
94
+ */
95
+ export declare function listGroupProposals(deps: GroupProposalReadDeps, { group }?: GroupProposalFilter): GroupProposal[];
96
+ /**
97
+ * Read one stored proposal by its wrapper SAID, whether or not a notice remains.
98
+ * Pure. Null when no such well-formed proposal is stored.
99
+ */
100
+ export declare function findGroupProposal(deps: GroupProposalReadDeps, said: string): GroupProposal | null;
101
+ /**
102
+ * Dismiss a proposal locally: remove the notices that announce it, including
103
+ * those other members' wrappers of the same payload raised. The stored wrapper
104
+ * and the multisig index stay, so the proposal can still be found and approved
105
+ * by SAID. KERI has no reject message: nothing is sent, and the proposer and the
106
+ * other members learn nothing from a dismissal.
107
+ *
108
+ * @returns Number of notices removed.
109
+ */
110
+ export declare function dismissGroupProposal(deps: GroupProposalDismissDeps, said: string): number;
111
+ /**
112
+ * Approve one proposal, named by its wrapper SAID: sign this member's
113
+ * contribution to the embedded event, send it to the other members and hand the
114
+ * group event to the Counselor. Returns without waiting for other members; read
115
+ * progress with `counselor.status(result.event)`. This is the only call that
116
+ * signs, and it acts on exactly the SAID given: nothing is selected from the
117
+ * notice store, so a proposal the caller did not name cannot be approved.
118
+ *
119
+ * Calling it is the user's consent, so it never prompts. Repeating it after a
120
+ * crash resumes: this member's recorded signatures and stored wrapper are
121
+ * replayed, never replaced, and the group is not joined twice.
122
+ *
123
+ * Supports every proposal kind: KEL (`icp`, `rot`, `ixn`), reply (`rpy`), legacy registry and credential (`vcp`, `iss`, `rev`) and
124
+ * ACDC v2 registry (`rip`, `bup`). For the registry kinds `event` is the group anchor that seals the TEL event.
125
+ *
126
+ * @throws ValidationError for a SAID that is not a stored supported proposal, a missing `groupAlias` when the proposal {@link GroupProposal.needs} one, or a proposal that cannot be approved.
127
+ */
128
+ export declare function approveGroupProposal(deps: GroupApprovalDeps, said: string, choices?: GroupApprovalChoices): Operation<GroupApprovalResult>;
129
+ //# sourceMappingURL=proposals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposals.d.ts","sourceRoot":"","sources":["../../../src/app/multisig/proposals.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Proposing group key events, owned by the library so that every host runs one
3
+ * implementation. Each call creates this member's local event, hands it to the
4
+ * Counselor, publishes the proposal to the other members and returns without
5
+ * waiting for them; observe progress with `counselor.status(result.event)`.
6
+ *
7
+ * Member add or remove is a rotation with new `smids` / `rmids`. A rotation that
8
+ * changes members commits them only once the rotation is accepted: call
9
+ * {@link settleProposedRotation} when the event reads `complete`; it is
10
+ * idempotent. Joiners commit at approval time (`approveGroupProposal`).
11
+ *
12
+ * Dependencies are declared collaborators, not an AgentRuntime (ADR-0013).
13
+ */
14
+ import type { SerderACDC } from "cesr-ts";
15
+ import type { Operation } from "effection";
16
+ import type { RegistryDisclosure } from "../../acdc/regeventing.js";
17
+ import type { RegistryStore } from "../../acdc/registering.js";
18
+ import type { Regery } from "../../vdr/credentialing.js";
19
+ import { type CredentialRevokeOptions, type CredentialRevokeResult } from "../credentials/credential-revoking.js";
20
+ import { type CredentialCreateOptions, type CredentialRegistryInceptOptions, type IssueResult, type RegistryResult } from "../credentials/credential-workflows.js";
21
+ import type { Poster } from "../delivery/forwarding.js";
22
+ import type { Hab, Habery, MakeGroupHabArgs } from "../identity/habbing.js";
23
+ import type { ProtocolProcessor } from "../protocol/protocol-processing.js";
24
+ import type { Reactor } from "../protocol/reactor.js";
25
+ import type { CounselInputs, Counselor, GroupEventRef } from "./counseling.js";
26
+ import { MULTISIG_ICP_ROUTE, MULTISIG_IXN_ROUTE, MULTISIG_ROT_ROUTE } from "./grouping.js";
27
+ import { type GroupSendResult } from "./multisig-messaging.js";
28
+ import { type ApprovalResult } from "./multisig-workflows.js";
29
+ /** Collaborators for proposing; nothing else is reachable from here. */
30
+ export interface GroupProposeDeps {
31
+ readonly hby: Habery;
32
+ readonly protocol: ProtocolProcessor;
33
+ readonly postman: Poster;
34
+ readonly counselor: Pick<Counselor, "start">;
35
+ }
36
+ /** Outcome of proposing a group event. */
37
+ export interface GroupEventResult extends GroupSendResult {
38
+ readonly route: typeof MULTISIG_ICP_ROUTE | typeof MULTISIG_ROT_ROUTE | typeof MULTISIG_IXN_ROUTE;
39
+ readonly group: string;
40
+ /** The counseled event; read progress with `counselor.status`. */
41
+ readonly event: GroupEventRef;
42
+ /** Signing members named by the proposal. */
43
+ readonly smids: readonly string[];
44
+ /** Rotation members named by the proposal. */
45
+ readonly rmids: readonly string[];
46
+ }
47
+ /** Inception choices. */
48
+ export type GroupInceptionSpec = MakeGroupHabArgs & {
49
+ smids: readonly string[];
50
+ rmids?: readonly string[];
51
+ };
52
+ /** Rotation choices; omitted members keep the group's current ones. */
53
+ export interface GroupRotationSpec {
54
+ smids?: readonly string[];
55
+ rmids?: readonly string[];
56
+ isith?: MakeGroupHabArgs["isith"];
57
+ nsith?: MakeGroupHabArgs["nsith"];
58
+ toad?: number;
59
+ cuts?: string[];
60
+ adds?: string[];
61
+ data?: unknown[];
62
+ version?: MakeGroupHabArgs["version"];
63
+ }
64
+ /** Propose a new group: create this member's inception and publish it. */
65
+ export declare function proposeGroupInception(deps: GroupProposeDeps, member: Hab, alias: string, { smids, rmids, ...args }: GroupInceptionSpec, inputs?: CounselInputs): Operation<GroupEventResult>;
66
+ /** Propose a group rotation, including member add or remove through new `smids` / `rmids`. */
67
+ export declare function proposeGroupRotation(deps: GroupProposeDeps, group: Hab, { smids: newSmids, rmids: newRmids, ...args }?: GroupRotationSpec, inputs?: CounselInputs): Operation<GroupEventResult>;
68
+ /** Propose a group interaction event carrying `data`. */
69
+ export declare function proposeGroupInteraction(deps: GroupProposeDeps, group: Hab, data: unknown[], inputs?: CounselInputs, version?: MakeGroupHabArgs["version"]): Operation<GroupEventResult>;
70
+ /**
71
+ * Commit the members a proposed rotation named, once the rotation is accepted and
72
+ * is the group's latest establishment event. Idempotent; false until then, so a
73
+ * proposed newcomer is never adopted early. Other event kinds commit nothing.
74
+ *
75
+ * @throws ValidationError when the event is not an accepted event body held locally.
76
+ */
77
+ export declare function settleProposedRotation(deps: Pick<GroupProposeDeps, "hby">, result: GroupEventResult): boolean;
78
+ /** Collaborators for {@link proposeRegistryEvent}. */
79
+ export interface RegistryProposeDeps extends GroupProposeDeps {
80
+ readonly registryStore: RegistryStore | null;
81
+ }
82
+ /** Outcome of {@link proposeRegistryEvent}. */
83
+ export interface RegistryEventResult extends ApprovalResult {
84
+ /** The group anchor that seals the TEL event, now counseled. */
85
+ readonly event: GroupEventRef;
86
+ }
87
+ /**
88
+ * Propose an ACDC v2 registry event (`rip` or `bup`): author the group anchor
89
+ * that seals it, process this member's own contribution, hand the anchor to the
90
+ * Counselor and publish the proposal. The proposer's contribution is also its
91
+ * approval. Returns without waiting; the anchor's progress is
92
+ * `counselor.status(result.event)`. A `bup` needs its `opening`.
93
+ *
94
+ * @throws ValidationError for a group that is not joined and accepted, or a TEL event the group cannot propose.
95
+ */
96
+ export declare function proposeRegistryEvent(deps: RegistryProposeDeps, group: Hab, event: SerderACDC, opening?: RegistryDisclosure, inputs?: CounselInputs): Operation<RegistryEventResult>;
97
+ /** Collaborators for proposing a legacy (v1) group registry or credential event. */
98
+ export interface CredentialProposeDeps {
99
+ readonly rgy: Regery;
100
+ /** Byte intake that commits each exact local wrapper before it is sent. */
101
+ readonly input: Reactor;
102
+ readonly postman: Poster;
103
+ readonly counselor: Pick<Counselor, "start">;
104
+ }
105
+ /** A result that is known to carry its group coordination, including the anchor the Counselor tracks. */
106
+ type Proposed<T extends {
107
+ group?: unknown;
108
+ }> = T & {
109
+ group: NonNullable<T["group"]>;
110
+ };
111
+ /**
112
+ * Propose a group's legacy credential registry (`vcp`): author the anchoring group event,
113
+ * process this member's contribution, hand the anchor to the Counselor and publish the
114
+ * proposal. Returns without waiting; the anchor's progress is `counselor.status(result.group.event)`
115
+ * and the registry's is `waitForTelEvent`.
116
+ *
117
+ * @throws ValidationError when `group` is not a local group or the registry name is taken.
118
+ */
119
+ export declare function proposeCredentialRegistry(deps: CredentialProposeDeps, group: Hab, options: CredentialRegistryInceptOptions, inputs?: CounselInputs): Operation<Proposed<RegistryResult>>;
120
+ /** Propose a group credential issuance (`iss`) the way {@link proposeCredentialRegistry} proposes a registry. */
121
+ export declare function proposeCredentialIssue(deps: CredentialProposeDeps, options: CredentialCreateOptions, inputs?: CounselInputs): Operation<Proposed<IssueResult>>;
122
+ /** Propose a group credential revocation (`rev`) the way {@link proposeCredentialRegistry} proposes a registry. */
123
+ export declare function proposeCredentialRevocation(deps: CredentialProposeDeps, options: CredentialRevokeOptions, inputs?: CounselInputs): Operation<Proposed<CredentialRevokeResult>>;
124
+ export {};
125
+ //# sourceMappingURL=proposing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposing.d.ts","sourceRoot":"","sources":["../../../src/app/multisig/proposing.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { type Operation } from "effection";
2
+ import { type DoerPacing } from "../runtime/doing.js";
3
+ import { type RuntimeClock } from "../runtime/runtime-clock.js";
2
4
  export type SignalAttrs = Record<string, unknown>;
3
5
  export interface SignalPad<T extends SignalAttrs = SignalAttrs> {
4
6
  i: string;
@@ -63,6 +65,6 @@ export declare class Signaler {
63
65
  clear(): void;
64
66
  /** Stop this producer and discard its queued wakeups. */
65
67
  close(): void;
66
- signalDo(): Operation<never>;
68
+ signalDo(clock?: RuntimeClock, pacing?: Readonly<DoerPacing>): Operation<never>;
67
69
  }
68
70
  //# sourceMappingURL=signaling.d.ts.map