keri-ts 2.1.0 → 2.2.1

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 (300) 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 +187 -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 +341 -0
  27. package/esm/keri/npm/src/app/ipex/group-issuance.js +905 -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 +50 -19
  33. package/esm/keri/npm/src/app/ipex/ipex-node-authentication.js +42 -18
  34. package/esm/keri/npm/src/app/ipex/issuance.js +896 -0
  35. package/esm/keri/npm/src/app/ipex/pending-presentations.js +46 -0
  36. package/esm/keri/npm/src/app/ipex/presentation-files.js +200 -0
  37. package/esm/keri/npm/src/app/ipex/presenting.js +408 -0
  38. package/esm/keri/npm/src/app/ipex/receive-issuance.js +86 -0
  39. package/esm/keri/npm/src/app/ipex/unblinding-workflow.js +667 -0
  40. package/esm/keri/npm/src/app/mailbox/ipex-arrival.js +103 -0
  41. package/esm/keri/npm/src/app/mailbox/kel-publisher.js +322 -0
  42. package/esm/keri/npm/src/app/mailbox/kel-publishing.js +65 -0
  43. package/esm/keri/npm/src/app/mailbox/kel-submission.js +24 -0
  44. package/esm/keri/npm/src/app/mailbox/mailbox-admin.js +208 -0
  45. package/esm/keri/npm/src/app/mailbox/mailbox-poller.js +212 -47
  46. package/esm/keri/npm/src/app/mailbox/mailboxing.js +10 -5
  47. package/esm/keri/npm/src/app/multisig/counseling.js +488 -0
  48. package/esm/keri/npm/src/app/multisig/group-members.js +18 -0
  49. package/esm/keri/npm/src/app/multisig/multisig-messaging.js +33 -6
  50. package/esm/keri/npm/src/app/multisig/multisig-workflows.js +98 -147
  51. package/esm/keri/npm/src/app/multisig/proposals.js +281 -0
  52. package/esm/keri/npm/src/app/multisig/proposing.js +122 -0
  53. package/esm/keri/npm/src/app/notifications/signaling.js +5 -5
  54. package/esm/keri/npm/src/app/protocol/parsering.js +26 -1
  55. package/esm/keri/npm/src/app/protocol/protocol-processing.js +9 -3
  56. package/esm/keri/npm/src/app/queries/query-workflows.js +98 -0
  57. package/esm/keri/npm/src/app/runtime/agent-runtime.js +106 -55
  58. package/esm/keri/npm/src/app/runtime/cue-runtime.js +3 -6
  59. package/esm/keri/npm/src/app/runtime/delivery-outbox.js +87 -0
  60. package/esm/keri/npm/src/app/runtime/doing.js +17 -0
  61. package/esm/keri/npm/src/app/runtime/ipex-auxiliaries.js +207 -0
  62. package/esm/keri/npm/src/app/runtime/operation-owners.js +151 -0
  63. package/esm/keri/npm/src/app/runtime/retry-backoff.js +93 -0
  64. package/esm/keri/npm/src/app/runtime/workflow-contract.js +80 -0
  65. package/esm/keri/npm/src/app/transport/http-client.js +25 -6
  66. package/esm/keri/npm/src/app/witness/http-endpoints.js +4 -4
  67. package/esm/keri/npm/src/cli/common/event-completion.js +49 -0
  68. package/esm/keri/npm/src/cli/common/runtime-workers.js +23 -0
  69. package/esm/keri/npm/src/cli/credentials/ipex.js +164 -191
  70. package/esm/keri/npm/src/cli/credentials/vc.js +53 -72
  71. package/esm/keri/npm/src/cli/endpoints/did.js +12 -3
  72. package/esm/keri/npm/src/cli/endpoints/oobi.js +10 -13
  73. package/esm/keri/npm/src/cli/identity/challenge.js +8 -34
  74. package/esm/keri/npm/src/cli/identity/delegate.js +81 -258
  75. package/esm/keri/npm/src/cli/identity/incept.js +15 -32
  76. package/esm/keri/npm/src/cli/identity/interact.js +5 -17
  77. package/esm/keri/npm/src/cli/identity/rotate.js +8 -36
  78. package/esm/keri/npm/src/cli/index.js +3 -1
  79. package/esm/keri/npm/src/cli/messaging/group-join.js +83 -0
  80. package/esm/keri/npm/src/cli/messaging/group-wait.js +88 -0
  81. package/esm/keri/npm/src/cli/messaging/multisig.js +190 -285
  82. package/esm/keri/npm/src/cli/messaging/root-copy-lines.js +31 -0
  83. package/esm/keri/npm/src/core/kel/eventing.js +66 -10
  84. package/esm/keri/npm/src/core/mailbox/kram-policy.js +39 -6
  85. package/esm/keri/npm/src/core/mailbox/kraming.js +2 -0
  86. package/esm/keri/npm/src/core/records.js +23 -0
  87. package/esm/keri/npm/src/core/routing.js +13 -0
  88. package/esm/keri/npm/src/db/basing.js +34 -2
  89. package/esm/keri/npm/src/db/core/indexeddb-persistence.js +221 -0
  90. package/esm/keri/npm/src/db/indexeddb.js +98 -0
  91. package/esm/keri/npm/src/db/keeping.js +11 -2
  92. package/esm/keri/npm/src/db/store-lock.js +150 -0
  93. package/esm/keri/npm/src/npm/db-indexeddb.browser.js +2 -0
  94. package/esm/keri/npm/src/npm/db-indexeddb.js +3 -0
  95. package/esm/keri/npm/src/npm/db.browser.js +2 -0
  96. package/esm/keri/npm/src/npm/index.browser.js +9 -0
  97. package/esm/keri/npm/src/npm/runtime-web.browser.js +2 -0
  98. package/esm/keri/npm/src/npm/runtime-web.js +3 -0
  99. package/esm/keri/npm/src/npm/runtime.browser.js +2 -0
  100. package/esm/keri/npm/src/runtime/index.js +51 -4
  101. package/esm/keri/npm/src/runtime/web/output-barrier.js +47 -0
  102. package/esm/keri/npm/src/runtime/web/persistent-storage.js +37 -0
  103. package/esm/keri/npm/src/runtime/web.js +10 -0
  104. package/esm/keri/npm/src/vdr/tel-publication.js +16 -0
  105. package/esm/keri/npm/src/version.js +2 -2
  106. package/package.json +15 -2
  107. package/types/acdc/authoring.d.ts +54 -0
  108. package/types/acdc/authoring.d.ts.map +1 -0
  109. package/types/acdc/custody.d.ts +84 -0
  110. package/types/acdc/custody.d.ts.map +1 -0
  111. package/types/acdc/dhking.d.ts +94 -3
  112. package/types/acdc/dhking.d.ts.map +1 -1
  113. package/types/acdc/regbasing.d.ts +4 -0
  114. package/types/acdc/regbasing.d.ts.map +1 -1
  115. package/types/acdc/salting.d.ts +6 -1
  116. package/types/acdc/salting.d.ts.map +1 -1
  117. package/types/acdc/scheming.d.ts +2 -0
  118. package/types/acdc/scheming.d.ts.map +1 -1
  119. package/types/acdc/unblinding.d.ts +58 -19
  120. package/types/acdc/unblinding.d.ts.map +1 -1
  121. package/types/app/bootstrap/authenticating.d.ts +3 -1
  122. package/types/app/bootstrap/authenticating.d.ts.map +1 -1
  123. package/types/app/bootstrap/oobi-resolving.d.ts +92 -0
  124. package/types/app/bootstrap/oobi-resolving.d.ts.map +1 -0
  125. package/types/app/bootstrap/oobiery.d.ts +3 -1
  126. package/types/app/bootstrap/oobiery.d.ts.map +1 -1
  127. package/types/app/credentials/credential-revoking.d.ts +3 -0
  128. package/types/app/credentials/credential-revoking.d.ts.map +1 -1
  129. package/types/app/credentials/credential-workflows.d.ts +5 -0
  130. package/types/app/credentials/credential-workflows.d.ts.map +1 -1
  131. package/types/app/credentials/registry-settling.d.ts +85 -0
  132. package/types/app/credentials/registry-settling.d.ts.map +1 -0
  133. package/types/app/credentials/root-replicating.d.ts +56 -44
  134. package/types/app/credentials/root-replicating.d.ts.map +1 -1
  135. package/types/app/credentials/root-replicator.d.ts +105 -0
  136. package/types/app/credentials/root-replicator.d.ts.map +1 -0
  137. package/types/app/credentials/tel-completion.d.ts +55 -0
  138. package/types/app/credentials/tel-completion.d.ts.map +1 -0
  139. package/types/app/delivery/forwarding.d.ts +6 -0
  140. package/types/app/delivery/forwarding.d.ts.map +1 -1
  141. package/types/app/exchanges/exchanging.d.ts.map +1 -1
  142. package/types/app/identity/challenging.d.ts +54 -0
  143. package/types/app/identity/challenging.d.ts.map +1 -1
  144. package/types/app/identity/delegating.d.ts +21 -4
  145. package/types/app/identity/delegating.d.ts.map +1 -1
  146. package/types/app/identity/delegation-approval.d.ts +228 -0
  147. package/types/app/identity/delegation-approval.d.ts.map +1 -0
  148. package/types/app/identity/event-completion.d.ts +151 -0
  149. package/types/app/identity/event-completion.d.ts.map +1 -0
  150. package/types/app/identity/habbing.d.ts +67 -2
  151. package/types/app/identity/habbing.d.ts.map +1 -1
  152. package/types/app/identity/keeping.d.ts +49 -3
  153. package/types/app/identity/keeping.d.ts.map +1 -1
  154. package/types/app/ipex/group-ipex.d.ts +254 -0
  155. package/types/app/ipex/group-ipex.d.ts.map +1 -0
  156. package/types/app/ipex/group-issuance.d.ts +281 -0
  157. package/types/app/ipex/group-issuance.d.ts.map +1 -0
  158. package/types/app/ipex/ipex-admitting.d.ts +47 -0
  159. package/types/app/ipex/ipex-admitting.d.ts.map +1 -0
  160. package/types/app/ipex/ipex-conversation.d.ts +195 -0
  161. package/types/app/ipex/ipex-conversation.d.ts.map +1 -0
  162. package/types/app/ipex/ipex-discloser.d.ts +156 -0
  163. package/types/app/ipex/ipex-discloser.d.ts.map +1 -0
  164. package/types/app/ipex/ipex-granting.d.ts +145 -0
  165. package/types/app/ipex/ipex-granting.d.ts.map +1 -0
  166. package/types/app/ipex/ipex-grouping.d.ts +18 -0
  167. package/types/app/ipex/ipex-grouping.d.ts.map +1 -1
  168. package/types/app/ipex/ipex-node-authentication.d.ts +9 -1
  169. package/types/app/ipex/ipex-node-authentication.d.ts.map +1 -1
  170. package/types/app/ipex/issuance.d.ts +445 -0
  171. package/types/app/ipex/issuance.d.ts.map +1 -0
  172. package/types/app/ipex/pending-presentations.d.ts +25 -0
  173. package/types/app/ipex/pending-presentations.d.ts.map +1 -0
  174. package/types/app/ipex/presentation-files.d.ts +47 -0
  175. package/types/app/ipex/presentation-files.d.ts.map +1 -0
  176. package/types/app/ipex/presenting.d.ts +300 -0
  177. package/types/app/ipex/presenting.d.ts.map +1 -0
  178. package/types/app/ipex/receive-issuance.d.ts +99 -0
  179. package/types/app/ipex/receive-issuance.d.ts.map +1 -0
  180. package/types/app/ipex/unblinding-workflow.d.ts +257 -0
  181. package/types/app/ipex/unblinding-workflow.d.ts.map +1 -0
  182. package/types/app/mailbox/ipex-arrival.d.ts +104 -0
  183. package/types/app/mailbox/ipex-arrival.d.ts.map +1 -0
  184. package/types/app/mailbox/kel-publisher.d.ts +141 -0
  185. package/types/app/mailbox/kel-publisher.d.ts.map +1 -0
  186. package/types/app/mailbox/kel-publishing.d.ts +70 -0
  187. package/types/app/mailbox/kel-publishing.d.ts.map +1 -0
  188. package/types/app/mailbox/kel-submission.d.ts +18 -0
  189. package/types/app/mailbox/kel-submission.d.ts.map +1 -0
  190. package/types/app/mailbox/mailbox-admin.d.ts +113 -0
  191. package/types/app/mailbox/mailbox-admin.d.ts.map +1 -0
  192. package/types/app/mailbox/mailbox-poller.d.ts +92 -3
  193. package/types/app/mailbox/mailbox-poller.d.ts.map +1 -1
  194. package/types/app/mailbox/mailboxing.d.ts +3 -0
  195. package/types/app/mailbox/mailboxing.d.ts.map +1 -1
  196. package/types/app/multisig/counseling.d.ts +196 -0
  197. package/types/app/multisig/counseling.d.ts.map +1 -0
  198. package/types/app/multisig/group-members.d.ts +11 -0
  199. package/types/app/multisig/group-members.d.ts.map +1 -1
  200. package/types/app/multisig/grouping.d.ts +39 -20
  201. package/types/app/multisig/grouping.d.ts.map +1 -1
  202. package/types/app/multisig/multisig-messaging.d.ts +23 -6
  203. package/types/app/multisig/multisig-messaging.d.ts.map +1 -1
  204. package/types/app/multisig/multisig-workflows.d.ts +91 -22
  205. package/types/app/multisig/multisig-workflows.d.ts.map +1 -1
  206. package/types/app/multisig/proposals.d.ts +129 -0
  207. package/types/app/multisig/proposals.d.ts.map +1 -0
  208. package/types/app/multisig/proposing.d.ts +125 -0
  209. package/types/app/multisig/proposing.d.ts.map +1 -0
  210. package/types/app/notifications/signaling.d.ts +3 -1
  211. package/types/app/notifications/signaling.d.ts.map +1 -1
  212. package/types/app/protocol/parsering.d.ts +13 -0
  213. package/types/app/protocol/parsering.d.ts.map +1 -1
  214. package/types/app/protocol/protocol-processing.d.ts +7 -1
  215. package/types/app/protocol/protocol-processing.d.ts.map +1 -1
  216. package/types/app/queries/query-workflows.d.ts +98 -0
  217. package/types/app/queries/query-workflows.d.ts.map +1 -0
  218. package/types/app/runtime/agent-runtime.d.ts +72 -25
  219. package/types/app/runtime/agent-runtime.d.ts.map +1 -1
  220. package/types/app/runtime/cue-runtime.d.ts +2 -1
  221. package/types/app/runtime/cue-runtime.d.ts.map +1 -1
  222. package/types/app/runtime/delivery-outbox.d.ts +68 -0
  223. package/types/app/runtime/delivery-outbox.d.ts.map +1 -0
  224. package/types/app/runtime/doing.d.ts +27 -0
  225. package/types/app/runtime/doing.d.ts.map +1 -0
  226. package/types/app/runtime/ipex-auxiliaries.d.ts +74 -0
  227. package/types/app/runtime/ipex-auxiliaries.d.ts.map +1 -0
  228. package/types/app/runtime/operation-owners.d.ts +137 -0
  229. package/types/app/runtime/operation-owners.d.ts.map +1 -0
  230. package/types/app/runtime/retry-backoff.d.ts +49 -0
  231. package/types/app/runtime/retry-backoff.d.ts.map +1 -0
  232. package/types/app/runtime/workflow-contract.d.ts +79 -0
  233. package/types/app/runtime/workflow-contract.d.ts.map +1 -0
  234. package/types/app/transport/http-client.d.ts.map +1 -1
  235. package/types/cli/common/event-completion.d.ts +26 -0
  236. package/types/cli/common/event-completion.d.ts.map +1 -0
  237. package/types/cli/common/runtime-workers.d.ts +23 -0
  238. package/types/cli/common/runtime-workers.d.ts.map +1 -0
  239. package/types/cli/credentials/ipex.d.ts.map +1 -1
  240. package/types/cli/credentials/vc.d.ts +1 -1
  241. package/types/cli/credentials/vc.d.ts.map +1 -1
  242. package/types/cli/endpoints/did.d.ts.map +1 -1
  243. package/types/cli/endpoints/oobi.d.ts +3 -1
  244. package/types/cli/endpoints/oobi.d.ts.map +1 -1
  245. package/types/cli/identity/challenge.d.ts +1 -1
  246. package/types/cli/identity/challenge.d.ts.map +1 -1
  247. package/types/cli/identity/delegate.d.ts +14 -1
  248. package/types/cli/identity/delegate.d.ts.map +1 -1
  249. package/types/cli/identity/incept.d.ts.map +1 -1
  250. package/types/cli/identity/interact.d.ts.map +1 -1
  251. package/types/cli/identity/rotate.d.ts.map +1 -1
  252. package/types/cli/index.d.ts +3 -1
  253. package/types/cli/index.d.ts.map +1 -1
  254. package/types/cli/messaging/group-join.d.ts +56 -0
  255. package/types/cli/messaging/group-join.d.ts.map +1 -0
  256. package/types/cli/messaging/group-wait.d.ts +34 -0
  257. package/types/cli/messaging/group-wait.d.ts.map +1 -0
  258. package/types/cli/messaging/multisig.d.ts +29 -5
  259. package/types/cli/messaging/multisig.d.ts.map +1 -1
  260. package/types/cli/messaging/root-copy-lines.d.ts +39 -0
  261. package/types/cli/messaging/root-copy-lines.d.ts.map +1 -0
  262. package/types/core/cues.d.ts +11 -0
  263. package/types/core/cues.d.ts.map +1 -1
  264. package/types/core/kel/eventing.d.ts.map +1 -1
  265. package/types/core/mailbox/kram-policy.d.ts +14 -0
  266. package/types/core/mailbox/kram-policy.d.ts.map +1 -1
  267. package/types/core/mailbox/kraming.d.ts +1 -1
  268. package/types/core/mailbox/kraming.d.ts.map +1 -1
  269. package/types/core/records.d.ts +61 -0
  270. package/types/core/records.d.ts.map +1 -1
  271. package/types/core/routing.d.ts +6 -0
  272. package/types/core/routing.d.ts.map +1 -1
  273. package/types/db/basing.d.ts +8 -2
  274. package/types/db/basing.d.ts.map +1 -1
  275. package/types/db/core/indexeddb-persistence.d.ts +59 -0
  276. package/types/db/core/indexeddb-persistence.d.ts.map +1 -0
  277. package/types/db/indexeddb.d.ts +37 -0
  278. package/types/db/indexeddb.d.ts.map +1 -0
  279. package/types/db/keeping.d.ts +5 -2
  280. package/types/db/keeping.d.ts.map +1 -1
  281. package/types/db/store-lock.d.ts +72 -0
  282. package/types/db/store-lock.d.ts.map +1 -0
  283. package/types/npm/db-indexeddb.d.ts +4 -0
  284. package/types/npm/db-indexeddb.d.ts.map +1 -0
  285. package/types/npm/runtime-web.d.ts +4 -0
  286. package/types/npm/runtime-web.d.ts.map +1 -0
  287. package/types/runtime/index.d.ts +42 -7
  288. package/types/runtime/index.d.ts.map +1 -1
  289. package/types/runtime/web/output-barrier.d.ts +30 -0
  290. package/types/runtime/web/output-barrier.d.ts.map +1 -0
  291. package/types/runtime/web/persistent-storage.d.ts +36 -0
  292. package/types/runtime/web/persistent-storage.d.ts.map +1 -0
  293. package/types/runtime/web.d.ts +11 -0
  294. package/types/runtime/web.d.ts.map +1 -0
  295. package/types/vdr/tel-publication.d.ts +6 -0
  296. package/types/vdr/tel-publication.d.ts.map +1 -1
  297. package/types/version.d.ts +2 -2
  298. package/esm/keri/npm/src/cli/common/tel-completion.js +0 -24
  299. package/types/cli/common/tel-completion.d.ts +0 -8
  300. package/types/cli/common/tel-completion.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tel-completion.d.ts","sourceRoot":"","sources":["../../../src/app/credentials/tel-completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAEhF,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC;CAClE;AAED,mDAAmD;AACnD,MAAM,MAAM,QAAQ,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,qBAAqB,GACrB,wBAAwB,CAAC;AAE7B,sFAAsF;AACtF,MAAM,MAAM,cAAc,GACtB;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GACpC;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,GACrB;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC;AAEhD,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE7E,2GAA2G;AAC3G,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;CACnC;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,SAAI,GAAG,cAAc,CAI3F;AAED,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAM5F;AAeD,gGAAgG;AAChG,wBAAiB,eAAe,CAC9B,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,cAAc,GACtB,SAAS,CAAC,aAAa,CAAC,CAE1B;AAED,yGAAyG;AACzG,wBAAiB,uBAAuB,CACtC,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,GACtB,SAAS,CAAC,aAAa,CAAC,CAE1B"}
@@ -211,6 +211,12 @@ export declare class Poster {
211
211
  * @returns Ordered role groups; no eligible role returns an empty array.
212
212
  */
213
213
  private findBytesRoutes;
214
+ /**
215
+ * Whether `src` has any eligible role (controller, agent, mailbox or witness) from which to reach `dest`, as
216
+ * delivery would find it now. A pure read of accepted endpoint state: it says nothing about whether the
217
+ * endpoint answers. A proposer uses it to refuse before it creates anything it could not publish.
218
+ */
219
+ canReach(src: string, dest: string, topic?: string): boolean;
214
220
  /**
215
221
  * Prepare a target using the supplied wire and selected endpoint.
216
222
  *
@@ -1 +1 @@
1
- {"version":3,"file":"forwarding.d.ts","sourceRoot":"","sources":["../../../src/app/delivery/forwarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forwarding.d.ts","sourceRoot":"","sources":["../../../src/app/delivery/forwarding.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exchanging.d.ts","sourceRoot":"","sources":["../../../src/app/exchanges/exchanging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exchanging.d.ts","sourceRoot":"","sources":["../../../src/app/exchanges/exchanging.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
1
  import { type SerderKERI } from "cesr-ts";
2
+ import type { Operation } from "effection";
2
3
  import type { Baser } from "../../db/basing.js";
3
4
  import type { ExchangeAttachment, ExchangeRouteHandler } from "../exchanges/exchanging.js";
4
5
  import type { Exchanger } from "../exchanges/exchanging.js";
6
+ import { type RuntimeClock } from "../runtime/runtime-clock.js";
7
+ import { type WaitResult } from "../runtime/workflow-contract.js";
8
+ import type { HttpClient } from "../transport/http-client.js";
9
+ import type { Hab, Habery } from "./habbing.js";
5
10
  /** Built-in challenge route; the EXN sender is the authenticated responder. */
6
11
  export declare const CHALLENGE_RESPONSE_ROUTE = "/challenge/response";
7
12
  /** Known challenge content; EXN recipient projection is separate wire metadata. */
@@ -44,6 +49,55 @@ export declare class ChallengeHandler implements ExchangeRouteHandler {
44
49
  }
45
50
  /** Return one accepted challenge-response exchange message whose words match `expected`. */
46
51
  export declare function findVerifiedChallengeResponse(db: Baser, signer: string, expected: readonly string[]): SerderKERI | null;
52
+ /** Collaborators for sending a challenge response. */
53
+ export interface ChallengeRespondDeps {
54
+ /** Borrowed identities and stores. */
55
+ readonly hby: Habery;
56
+ /** Borrowed HTTP implementation used to deliver the message. */
57
+ readonly http: HttpClient;
58
+ /** Borrowed clock for network deadlines. */
59
+ readonly clock: RuntimeClock;
60
+ }
61
+ /**
62
+ * Respond to a challenge: sign and send a `/challenge/response` exchange message
63
+ * carrying `words` to `recipient`. Each call authors a new message (the exchange
64
+ * carries a timestamp); the verifier's matching is idempotent over repeats.
65
+ *
66
+ * @returns The signed exchange message that was sent.
67
+ * @throws ValidationError for a group habitat or empty words; send failures propagate.
68
+ */
69
+ export declare function respondToChallenge(deps: ChallengeRespondDeps, hab: Hab, recipient: string, words: readonly string[]): Operation<SerderKERI>;
70
+ /**
71
+ * Status of one expected challenge from one signer, derived from stored exchange
72
+ * messages: `waiting` until an accepted response with exactly these words exists,
73
+ * `received` once it does, `verified` after the verifier recorded it in `chas.`.
74
+ */
75
+ export type ChallengeStatus = {
76
+ state: "waiting";
77
+ } | {
78
+ state: "received" | "verified";
79
+ response: SerderKERI;
80
+ };
81
+ /** Read the status of `words` from `signer`; mutates nothing. */
82
+ export declare function challengeStatus(deps: {
83
+ readonly db: Baser;
84
+ }, signer: string, words: readonly string[]): ChallengeStatus;
85
+ /** Choices for `waitForChallengeResponse`. */
86
+ export interface WaitForChallengeOptions {
87
+ /** Wall-clock budget in milliseconds; zero reads once. */
88
+ timeoutMs: number;
89
+ /** Elapsed milliseconds between reads. */
90
+ pollMs?: number;
91
+ clock?: RuntimeClock;
92
+ }
93
+ /**
94
+ * Observe stored exchange messages until a response with the expected words from
95
+ * `signer` arrives or the budget expires. Starts no worker: the host's runtime
96
+ * (mailbox polling, exchange intake) is what stores the response.
97
+ */
98
+ export declare function waitForChallengeResponse(deps: {
99
+ readonly db: Baser;
100
+ }, signer: string, words: readonly string[], { timeoutMs, pollMs, clock }: WaitForChallengeOptions): Operation<WaitResult<ChallengeStatus>>;
47
101
  /** Persist one verifier-confirmed challenge response in `chas.`. */
48
102
  export declare function markChallengeVerified(db: Baser, signer: string, serder: SerderKERI): void;
49
103
  /** Parse CLI input into challenge words from JSON-array or whitespace-separated text. */
@@ -1 +1 @@
1
- {"version":3,"file":"challenging.d.ts","sourceRoot":"","sources":["../../../src/app/identity/challenging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAuB5D,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAE9D,mFAAmF;AACnF,MAAM,MAAM,wBAAwB,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE3D,qDAAqD;AACrD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,KAAK,EACT,SAAS,EAAE,SAAS,GACnB,IAAI,CAEN;AAED;;;;;;;;;;GAUG;AACH,qBAAa,gBAAiB,YAAW,oBAAoB;IAC3D,MAAM,CAAC,QAAQ,CAAC,QAAQ,yBAA4B;IACpD,QAAQ,CAAC,QAAQ,yBAA6B;IAC9C,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;gBAEP,EAAE,EAAE,KAAK;IAIrB,MAAM,CAAC,IAAI,EAAE;QACX,MAAM,EAAE,UAAU,CAAC;QACnB,WAAW,EAAE,kBAAkB,EAAE,CAAC;KACnC,GAAG,OAAO;IAKX,MAAM,CAAC,IAAI,EAAE;QACX,MAAM,EAAE,UAAU,CAAC;KACpB,GAAG,IAAI;CAQT;AAED,4FAA4F;AAC5F,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,KAAK,EACT,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,UAAU,GAAG,IAAI,CAYnB;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,KAAK,EACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,GACjB,IAAI,CAKN;AAED,yFAAyF;AACzF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAW3D;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,GAAG,EAAE,eAAe,GACnB,MAAM,CAUR;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,SAAM,GAAG,MAAM,EAAE,CAe/D"}
1
+ {"version":3,"file":"challenging.d.ts","sourceRoot":"","sources":["../../../src/app/identity/challenging.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,8 @@ export interface DelegationWorkflowStatus {
57
57
  proxyDependent: boolean;
58
58
  complete: boolean;
59
59
  }
60
+ /** Persist the delegator event seal that authorizes one delegated event. */
61
+ export declare function pinAuthorizingSeal(hby: Habery, delegated: SerderKERI, delegating: SerderKERI): void;
60
62
  export declare function resolveDelegationCommunicationHab(hby: Habery, alias?: string): Hab | undefined;
61
63
  /** Install delegation-specific EXN handlers into one exchange router. */
62
64
  export declare function loadDelegationHandlers(hby: Habery, exchanger: Exchanger, notifier?: Notifier | null): void;
@@ -95,6 +97,23 @@ export declare class DelegateRequestHandler implements ExchangeRouteHandler {
95
97
  attachments: ExchangeAttachment[];
96
98
  }): void;
97
99
  }
100
+ /** What delegator-anchor discovery needs; the Anchorer and the group Counselor share it. */
101
+ export interface AnchorQueryDeps {
102
+ readonly hby: Habery;
103
+ /** Query producer port; composition owns the consuming coordinator. */
104
+ readonly querying: {
105
+ enqueue(request: QueryRequest): void;
106
+ };
107
+ /** Retry-pass bookkeeping per `<pre>:<snh>`; owned by the caller, one map per owner. */
108
+ readonly retryPasses: Map<string, number>;
109
+ }
110
+ /**
111
+ * Publish the initial delegator-witness anchor query and seed the retry-pass
112
+ * bookkeeping so the first retry starts the backoff window instead of querying again.
113
+ */
114
+ export declare function queueDelegatorWitnessQuery(deps: AnchorQueryDeps, serder: SerderKERI, communicationHab: Hab): void;
115
+ /** Retry bounded delegator-witness queries while waiting for the anchor; returns why the wait continues. */
116
+ export declare function retryDelegatorWitnessQuery(deps: AnchorQueryDeps, serder: SerderKERI, communicationHab: Hab): string;
98
117
  /**
99
118
  * Delegation workflow coordinator for delegated inception and rotation events.
100
119
  *
@@ -149,6 +168,8 @@ export declare class Anchorer {
149
168
  readonly communicationHabPins: Map<string, string>;
150
169
  /** Existing query retry-pass bookkeeping; independent of Poster delivery retry. */
151
170
  readonly anchorQueryRetryPasses: Map<string, number>;
171
+ /** Shared anchor-discovery inputs over this owner's collaborators and retry bookkeeping. */
172
+ private readonly anchorQuery;
152
173
  /**
153
174
  * Bind delivery/query/protocol collaborators from the same accepted-state domain; acquire no stores.
154
175
  *
@@ -192,10 +213,6 @@ export declare class Anchorer {
192
213
  private processWitnessPublication;
193
214
  /** Use the pinned proxy for inception or the existing delegate for rotation; never guess an inception signer. */
194
215
  private communicationHab;
195
- /** Publish the initial anchor query after successful sending and seed the existing retry-pass bookkeeping. */
196
- private queueDelegatorWitnessQueryNow;
197
- /** Retry bounded delegator-witness queries while waiting for the anchor. */
198
- private retryDelegatorWitnessQuery;
199
216
  /** Retire only this event's process-local signer and query bookkeeping. */
200
217
  private clearWorkflowPins;
201
218
  /** Choose the pinned proxy, local group member or existing communication habitat for publication. */
@@ -1 +1 @@
1
- {"version":3,"file":"delegating.d.ts","sourceRoot":"","sources":["../../../src/app/identity/delegating.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegating.d.ts","sourceRoot":"","sources":["../../../src/app/identity/delegating.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Delegator-side approval of pending delegated events, owned by the library so
3
+ * that every host (CLI, wallet, service) runs one implementation.
4
+ *
5
+ * A delegate's `dip` or `drt` reaches the delegator's `delegables.` escrow. The
6
+ * delegator approves it by anchoring the event seal in its own KEL, then lets
7
+ * the delegate's event reach local state. Operations follow the workflow
8
+ * contract (`app/runtime/workflow-contract.ts`):
9
+ * - `listPendingDelegations` and `delegationApprovalStatus` are pure reads of
10
+ * durable state.
11
+ * - `approveDelegation` is the only operation that signs. It returns after the
12
+ * anchor is committed locally and the follow-up requests are sent.
13
+ * - `waitForPendingDelegation`, `waitForDelegationAnchor` and `waitForDelegationApproval`
14
+ * only observe, each on the one thing asked for; the host's runtime workers make the
15
+ * request and the delegate's event arrive.
16
+ * - `dismissDelegation` removes the local controller notice only.
17
+ *
18
+ * Idempotence evidence: the anchor is the seal `{i, s, d}` of the delegated event
19
+ * inside the delegator's own KEL. That KEL entry is durable the moment signing
20
+ * commits, so a repeated approval after a crash finds it and never anchors twice.
21
+ * Witness receipts are not part of the test on purpose: the sealing-event lookup
22
+ * of `Baser` requires them, which would re-anchor in the window between signing
23
+ * and receipting.
24
+ *
25
+ * - A group delegator's anchor is a group interaction: `proposeGroupDelegationApproval`
26
+ * proposes it, the other members approve it with `approveGroupProposal`, and the
27
+ * Counselor receipts it. `requestDelegatedEvent` then asks for the delegate's event.
28
+ *
29
+ * Boundaries:
30
+ * - Dependencies are declared collaborators, not an AgentRuntime (ADR-0013).
31
+ * - `approveDelegation` serves single-signature delegators and rejects a group.
32
+ * - Witness authorization codes arrive resolved. Prompting is a host concern.
33
+ */
34
+ import { type SerderKERI } from "cesr-ts";
35
+ import type { Operation } from "effection";
36
+ import type { QueryRequest } from "../../core/cues.js";
37
+ import type { Baser } from "../../db/basing.js";
38
+ import type { CounselInputs } from "../multisig/counseling.js";
39
+ import { type GroupEventResult, type GroupProposeDeps } from "../multisig/proposing.js";
40
+ import type { Notifier } from "../notifications/notifying.js";
41
+ import type { WitnessInquisitor } from "../queries/witness-inquisitor.js";
42
+ import { type ChangeSink, type WaitResult } from "../runtime/workflow-contract.js";
43
+ import type { WitnessAuthMap } from "../witness/receipting.js";
44
+ import { type ReceiptingDeps } from "./event-completion.js";
45
+ import type { Hab, Habery } from "./habbing.js";
46
+ /** How long the CLI-compatible wait for the delegate's event lasts. */
47
+ export declare const DELEGATION_APPROVAL_TIMEOUT_MS = 30000;
48
+ /** Identity of one delegated event a delegator is asked to approve. */
49
+ export interface DelegationRequest {
50
+ /** Delegate prefix. */
51
+ readonly delegate: string;
52
+ /** Sequence number of the delegated event. */
53
+ readonly sn: number;
54
+ /** SAID of the delegated event. */
55
+ readonly said: string;
56
+ /** Delegated inception or rotation. */
57
+ readonly ilk: "dip" | "drt";
58
+ /** Local delegator prefix that must anchor it. */
59
+ readonly delegator: string;
60
+ }
61
+ /** One entry of {@link listPendingDelegations}. */
62
+ export interface PendingDelegation extends DelegationRequest {
63
+ /** True when the delegator's KEL already holds the anchor, for example after a crash. */
64
+ readonly anchored: boolean;
65
+ }
66
+ /** Filter for {@link listPendingDelegations}. */
67
+ export interface PendingDelegationFilter {
68
+ /** Only requests for this delegator prefix. */
69
+ delegator?: string;
70
+ }
71
+ /** Collaborator for the pure reads: the event stores. A `Habery` fits. */
72
+ export interface DelegationApprovalReadDeps {
73
+ readonly db: Baser;
74
+ }
75
+ /** Collaborators for `approveDelegation`; nothing else is reachable from here. */
76
+ export interface DelegationApprovalDeps extends ReceiptingDeps {
77
+ /** Query sender; only its enqueueing entry is used. */
78
+ readonly querying: Pick<WitnessInquisitor, "enqueue">;
79
+ }
80
+ /** Collaborators for the observe-only wait. */
81
+ export interface DelegationApprovalWaitDeps extends DelegationApprovalReadDeps {
82
+ /**
83
+ * Host hook run before each read, normally `() => settleDelegationApproval(deps, request)`.
84
+ * It is local and idempotent. Omitted: the wait only reads.
85
+ */
86
+ readonly settle?: () => void;
87
+ /** Optional sink told `{kind:"delegation", id:"<delegate>:<sn>"}` when the wait settles. */
88
+ readonly changes?: ChangeSink;
89
+ }
90
+ /** Collaborator for `dismissDelegation`: the controller notice store. */
91
+ export interface DelegationDismissDeps {
92
+ readonly notifier: Pick<Notifier, "list" | "remove">;
93
+ }
94
+ /** Choices for `approveDelegation`. */
95
+ export interface ApproveDelegationOptions {
96
+ /**
97
+ * Event that carries the anchor. KERIpy permits either; a rotation also
98
+ * changes the delegator's keys, so the caller must choose it explicitly.
99
+ */
100
+ event: "ixn" | "rot";
101
+ /** Resolved witness Authorization values for receipting the anchoring event. */
102
+ auths?: WitnessAuthMap;
103
+ }
104
+ /** Choices for `waitForDelegationApproval`. */
105
+ export interface WaitForDelegationApprovalOptions {
106
+ /** Wall-clock budget; defaults to {@link DELEGATION_APPROVAL_TIMEOUT_MS}. */
107
+ timeoutMs?: number;
108
+ }
109
+ /** Position of the delegator's anchoring event. */
110
+ export interface DelegationAnchor {
111
+ readonly sn: number;
112
+ readonly said: string;
113
+ }
114
+ /**
115
+ * Durable state of one request.
116
+ * - `awaiting-approval`: the delegator has not anchored the event.
117
+ * - `anchored`: the anchor is in the delegator's KEL; the delegate's event is not accepted yet.
118
+ * `receipted` is false while the anchoring event lacks its witness receipts.
119
+ * - `approved`: anchored and the delegate's event is accepted.
120
+ * - `unknown`: no such delegated event is held locally.
121
+ */
122
+ export type DelegationApprovalStatus = {
123
+ state: "awaiting-approval";
124
+ } | {
125
+ state: "anchored";
126
+ anchor: DelegationAnchor;
127
+ receipted: boolean;
128
+ } | {
129
+ state: "approved";
130
+ anchor: DelegationAnchor;
131
+ } | {
132
+ state: "unknown";
133
+ reason: "no-local-event";
134
+ };
135
+ /** Outcome of a wait; `settled` means `approved`, `timed-out` carries the last status read. */
136
+ export type DelegationApprovalWaitResult = WaitResult<DelegationApprovalStatus>;
137
+ /** Outcome of {@link waitForPendingDelegation}; `settled` carries the pending requests, `timed-out` the (empty) last read. */
138
+ export type PendingDelegationWaitResult = WaitResult<PendingDelegation[]>;
139
+ /** Project a delegated event into the seal the approving event embeds. */
140
+ export declare function delegationSeal(serder: SerderKERI): {
141
+ i: string;
142
+ s: string;
143
+ d: string;
144
+ };
145
+ /** True once the delegated event has left escrow and reached local state. */
146
+ export declare function delegateCommitted(db: Baser, delegate: string, sn: number): boolean;
147
+ /** Witnesses of the delegate after the delegated event: `backs` of a `dip`, current witnesses otherwise. */
148
+ export declare function delegateWitnesses(db: Baser, serder: SerderKERI): string[];
149
+ /** Build the logs query that pulls the delegated event's replay from one delegate witness. */
150
+ export declare function delegateWitnessLogsQuery(signer: string, serder: SerderKERI, witness: string): QueryRequest;
151
+ /** Record the approving seal for the delegated event and let the delegator's escrow promote it. */
152
+ export declare function pinApprovalSeal(hby: Habery, hab: Hab, delegated: SerderKERI, approving: SerderKERI): void;
153
+ /**
154
+ * List delegated events awaiting approval, oldest sequence first. Reads every
155
+ * `delegables.` row, with no cap, and skips rows whose delegated event already
156
+ * reached local state. Pure.
157
+ */
158
+ export declare function listPendingDelegations(deps: DelegationApprovalReadDeps, { delegator }?: PendingDelegationFilter): PendingDelegation[];
159
+ /** Read the durable status of one request; mutates nothing. */
160
+ export declare function delegationApprovalStatus(deps: DelegationApprovalReadDeps, request: DelegationRequest): DelegationApprovalStatus;
161
+ /**
162
+ * Local step after anchoring: record the approving seal and process the
163
+ * `delegables.` escrow. Idempotent, sends nothing and signs nothing. It does
164
+ * nothing until the anchor exists and, for a delegate with witnesses, until the
165
+ * delegate's event has arrived through the witness replay, because pinning
166
+ * earlier would make local state look approved while incomplete.
167
+ */
168
+ export declare function settleDelegationApproval(deps: Pick<DelegationApprovalDeps, "hby">, request: DelegationRequest): void;
169
+ /**
170
+ * Approve one delegated event: anchor its seal in the delegator's KEL unless
171
+ * the KEL already holds it, obtain witness receipts for the anchoring event and
172
+ * ask the delegate's witness for the delegated event. Returns without waiting
173
+ * for the delegate; use {@link waitForDelegationApproval}.
174
+ *
175
+ * Repeating the call after a failure resumes at the first step not yet done.
176
+ *
177
+ * @throws ValidationError for a request not held locally, a delegator that is not a local single-signature identifier, or an anchor that cannot be read back.
178
+ */
179
+ export declare function approveDelegation(deps: DelegationApprovalDeps, request: DelegationRequest, { event, auths }: ApproveDelegationOptions): Operation<DelegationApprovalStatus>;
180
+ /**
181
+ * After the anchor exists: record the approving seal and ask the delegate's witness
182
+ * for the delegated event unless it already arrived. `signer` is the local identifier
183
+ * that sends the query: the delegator, or a group delegator's local member. Idempotent.
184
+ */
185
+ export declare function requestDelegatedEvent(deps: Pick<DelegationApprovalDeps, "hby" | "querying" | "changes">, request: DelegationRequest, signer: string): void;
186
+ /**
187
+ * Propose a group delegator's anchoring interaction for one request: the group
188
+ * interaction that seals the delegated event, published to the other members.
189
+ * Returns without waiting; the other members approve it with `approveGroupProposal`
190
+ * and the Counselor receipts it, so read progress with `delegationApprovalStatus`
191
+ * and `counselor.status(result.event)`.
192
+ *
193
+ * Idempotent: null when the group's KEL already holds the anchor, so a repeat
194
+ * never anchors twice.
195
+ *
196
+ * @throws ValidationError for a request not held locally or a delegator that is not a local group.
197
+ */
198
+ export declare function proposeGroupDelegationApproval(deps: GroupProposeDeps, request: DelegationRequest, inputs?: CounselInputs): Operation<GroupEventResult | null>;
199
+ /**
200
+ * Observe until at least one delegated event awaits the delegator, or the budget
201
+ * expires. Waits on the delegator's own `delegables.` escrow only: unrelated
202
+ * group proposals, queries or OOBIs never hold it open. Starts no worker; the
203
+ * host's runtime brings the request in through its mailbox or witness polling.
204
+ *
205
+ * `timed-out` means no request reached local state in the budget, which is also
206
+ * what a request that was already approved and committed looks like.
207
+ */
208
+ export declare function waitForPendingDelegation(deps: DelegationApprovalWaitDeps, filter?: PendingDelegationFilter, { timeoutMs }?: WaitForDelegationApprovalOptions): Operation<PendingDelegationWaitResult>;
209
+ /**
210
+ * Observe a group delegator's request until its anchor is in the group's KEL and
211
+ * receipted by witnesses, or the delegate's event is already accepted. This is
212
+ * the point where {@link requestDelegatedEvent} can ask for the delegate's event.
213
+ */
214
+ export declare function waitForDelegationAnchor(deps: DelegationApprovalWaitDeps, request: DelegationRequest, { timeoutMs }?: WaitForDelegationApprovalOptions): Operation<DelegationApprovalWaitResult>;
215
+ /**
216
+ * Observe the request until it is `approved` or the budget expires. Starts no
217
+ * worker; the host's runtime brings the delegate's event in.
218
+ */
219
+ export declare function waitForDelegationApproval(deps: DelegationApprovalWaitDeps, request: DelegationRequest, { timeoutMs }?: WaitForDelegationApprovalOptions): Operation<DelegationApprovalWaitResult>;
220
+ /**
221
+ * Remove the controller notices (`/delegate/request`) that announced this
222
+ * request. Local only: the delegated event stays in escrow and the delegate is
223
+ * told nothing, so the request can still be approved or listed later.
224
+ *
225
+ * @returns Number of notices removed.
226
+ */
227
+ export declare function dismissDelegation(deps: DelegationDismissDeps, request: DelegationRequest): number;
228
+ //# sourceMappingURL=delegation-approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-approval.d.ts","sourceRoot":"","sources":["../../../src/app/identity/delegation-approval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import type { Operation } from "effection";
2
+ import type { RotatedCue } from "../../core/cues.js";
3
+ import type { Baser } from "../../db/basing.js";
4
+ import type { ProtocolProcessor } from "../protocol/protocol-processing.js";
5
+ import type { RuntimeClock } from "../runtime/runtime-clock.js";
6
+ import { type ChangeSink, type WaitResult } from "../runtime/workflow-contract.js";
7
+ import type { HttpClient } from "../transport/http-client.js";
8
+ import { type WitnessAuthMap } from "../witness/receipting.js";
9
+ import type { Anchorer, DelegationWorkflowStatus } from "./delegating.js";
10
+ import type { Hab, Habery } from "./habbing.js";
11
+ /** How long the CLI-compatible wait for a delegator's anchor lasts. */
12
+ export declare const DELEGATION_WAIT_TIMEOUT_MS = 120000;
13
+ /** Collaborators witness receipting needs; nothing else is reachable from here. */
14
+ export interface ReceiptingDeps {
15
+ /** Borrowed identities and accepted-state stores. */
16
+ readonly hby: Habery;
17
+ /** Receive processing over the same database as `hby`. */
18
+ readonly protocol: ProtocolProcessor;
19
+ /** Borrowed HTTP implementation. */
20
+ readonly http: HttpClient;
21
+ /** Borrowed clock for network deadlines. */
22
+ readonly clock: RuntimeClock;
23
+ /** Optional sink told `{kind:"event", id:"<pre>:<sn>"}` after receipting. */
24
+ readonly changes?: ChangeSink;
25
+ }
26
+ /**
27
+ * Delegation collaborator: the durable workflow owner. Waiting observes its
28
+ * reads; progress comes from workers the host already runs.
29
+ */
30
+ export interface DelegationCollaborator {
31
+ /** Durable delegating workflow (begin, status, completion reads). */
32
+ readonly anchorer: Pick<Anchorer, "beginLatest" | "workflowStatus" | "complete">;
33
+ /** Optional sink told `{kind:"delegation", id:"<pre>:<sn>"}` on begin and completion. */
34
+ readonly changes?: ChangeSink;
35
+ }
36
+ /** Everything `completeEvent` needs. */
37
+ export interface EventCompletionDeps extends ReceiptingDeps {
38
+ /**
39
+ * Lend the delegation collaborator for one scope. The host creates it on entry
40
+ * and releases it on exit, success or failure. A one-shot host also runs the
41
+ * workers (signing as `hab`) for that scope. Called only for delegated events.
42
+ */
43
+ withDelegation<T>(hab: Hab, use: (delegation: DelegationCollaborator) => Operation<T>): Operation<T>;
44
+ /** Where a completed rotation is announced; the runtime's `kelPublisher.rotated` fits. */
45
+ readonly rotated?: {
46
+ push(cue: RotatedCue): unknown;
47
+ };
48
+ }
49
+ /** Witness receipting choices for one event. */
50
+ export interface ReceiptOptions {
51
+ /** Event sequence number; defaults to the latest accepted event. */
52
+ sn?: number;
53
+ /** Resolved witness Authorization values. */
54
+ auths?: WitnessAuthMap;
55
+ /** Use the explicit receipt endpoint (HTTP only) instead of generic submission. */
56
+ endpoint?: boolean;
57
+ /** Generic submission only: resubmit even when receipts are already complete. */
58
+ force?: boolean;
59
+ }
60
+ /**
61
+ * Obtain witness receipts for an accepted local event. No-op when the
62
+ * identifier has no accepted key state yet (a delegated inception awaiting
63
+ * approval) or its current key state has no witnesses.
64
+ *
65
+ * @throws Receipt failures from the witness receiptor propagate.
66
+ */
67
+ export declare function receiptEvent(deps: ReceiptingDeps, pre: string, { sn, auths, endpoint, force }?: ReceiptOptions): Operation<void>;
68
+ /**
69
+ * Put one delegated event into the durable delegating workflow. Returns at once;
70
+ * progress needs the host's runtime workers, and `delegationStatus` reports it.
71
+ *
72
+ * @param communicationHab Optional local proxy that signs delegation traffic.
73
+ */
74
+ export declare function beginDelegation(delegation: DelegationCollaborator, pre: string, sn: number, communicationHab?: Hab): void;
75
+ /** Read the durable workflow state for one delegated event; mutates nothing. */
76
+ export declare function delegationStatus(delegation: DelegationCollaborator, pre: string, sn: number): DelegationWorkflowStatus;
77
+ /** Outcome of waiting for a delegator's anchor. */
78
+ export type DelegationWaitResult = WaitResult<DelegationWorkflowStatus>;
79
+ /**
80
+ * Observe the delegated event until the delegator's anchor is learned or the
81
+ * deadline passes. Starts no worker.
82
+ */
83
+ export declare function waitForDelegation(delegation: DelegationCollaborator, hab: Hab, sn: number, { timeoutMs }?: {
84
+ timeoutMs?: number;
85
+ }): Operation<DelegationWaitResult>;
86
+ /** Delegation choices for `completeEvent`; present only for delegated events. */
87
+ export interface DelegationOptions {
88
+ /**
89
+ * Resolve the proxy after receipting and before the delegation scope opens.
90
+ * May throw to reject a missing or invalid proxy.
91
+ */
92
+ communicationHab?: () => Hab | undefined;
93
+ /** Wait limit; defaults to `DELEGATION_WAIT_TIMEOUT_MS`. */
94
+ timeoutMs?: number;
95
+ }
96
+ /** Options for `completeEvent`. */
97
+ export interface CompleteEventOptions extends ReceiptOptions {
98
+ /** Set for delegated events to begin delegation and wait for the anchor. */
99
+ delegation?: DelegationOptions;
100
+ }
101
+ /**
102
+ * What completion observed. `status` is the {@link EventStatus} read at return;
103
+ * a delegation wait that expires is `timed-out`, not an exception.
104
+ * `delegationPhase` is the delegating workflow phase after waiting, null when not
105
+ * delegated or finished.
106
+ */
107
+ export type EventCompletion = WaitResult<EventStatus> & {
108
+ readonly delegationPhase: DelegationWorkflowStatus["phase"] | null;
109
+ };
110
+ /**
111
+ * Complete a freshly authored event: witness receipts, then, for delegated
112
+ * events, delegation begin and wait.
113
+ *
114
+ * @param sn Sequence number of the event just authored.
115
+ */
116
+ export declare function completeEvent(deps: EventCompletionDeps, hab: Hab, sn: number, { delegation, ...receipt }?: CompleteEventOptions): Operation<EventCompletion>;
117
+ /** Collaborators for the pure event status read. */
118
+ export interface EventStatusDeps {
119
+ /** Accepted KELs, witness receipts and witness sets. A `Habery` fits. */
120
+ readonly db: Baser;
121
+ /** Delegating workflow owner; omit for hosts that never delegate. */
122
+ readonly anchorer?: Pick<Anchorer, "workflowStatus" | "complete">;
123
+ }
124
+ /** Steps an accepted single-signature event can be waiting on. */
125
+ export type EventPhase = DelegationWorkflowStatus["phase"] & string;
126
+ /** Status of one local event after authoring; see {@link eventStatus}. */
127
+ export type EventStatus = {
128
+ state: "active";
129
+ phase: EventPhase;
130
+ /** Missing input: witness receipts held versus the size of that event's witness set. */
131
+ blocked?: {
132
+ missing: "witnessReceipts";
133
+ have: number;
134
+ of: number;
135
+ };
136
+ } | {
137
+ state: "complete";
138
+ } | {
139
+ state: "unknown";
140
+ reason: "no-accepted-event";
141
+ };
142
+ /**
143
+ * Pure synchronous status of the event `pre` at `sn`, derived from durable state.
144
+ *
145
+ * Receipts are judged against the witness set of THAT event (not the current
146
+ * key state) via stored `wigs`. A delegating-workflow escrow phase takes
147
+ * precedence; a delegated event with no escrow and no anchor yet reads as
148
+ * waiting for the delegator's anchor. Group events are not covered.
149
+ */
150
+ export declare function eventStatus(deps: EventStatusDeps, pre: string, sn: number): EventStatus;
151
+ //# sourceMappingURL=event-completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-completion.d.ts","sourceRoot":"","sources":["../../../src/app/identity/event-completion.ts"],"names":[],"mappings":"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"}