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
@@ -57,6 +57,15 @@ export interface HaberyArgs {
57
57
  algo?: Algos;
58
58
  tier?: Tier;
59
59
  }
60
+ /** A pre-signed inception adopted by `Hab.makeSigned()` / `Habery.makeSignedHab()`. */
61
+ export interface SignedHabArgs {
62
+ /** Inception (`icp` or `dip`) the caller built and signed; it is verified, not trusted. */
63
+ serder: SerderKERI;
64
+ /** Indexed signatures over `serder.raw`; they must satisfy the event's own threshold. */
65
+ sigers: Siger[];
66
+ /** Skip the habitat and name records, as `MakeHabArgs.hidden` does. */
67
+ hidden?: boolean;
68
+ }
60
69
  /** Habitat inception options consumed by the local bootstrap `Hab.make()` flow. */
61
70
  export interface MakeHabArgs {
62
71
  code?: string;
@@ -161,6 +170,11 @@ export declare class Hab {
161
170
  get kevery(): Kevery;
162
171
  /** Return true when this habitat has accepted local key state. */
163
172
  get accepted(): boolean;
173
+ /**
174
+ * Whether the held or stored signing keys currently allow this habitat to sign.
175
+ * False for a keyless habitat (`makeSignedHab`) until the host holds its signer.
176
+ */
177
+ canSign(): boolean;
164
178
  /** Return the live accepted-state `Kever` for this habitat when available. */
165
179
  get kever(): Kever | null;
166
180
  /**
@@ -206,6 +220,32 @@ export declare class Hab {
206
220
  * `states.`/`kels.` directly
207
221
  */
208
222
  make(args?: MakeHabArgs): void;
223
+ /**
224
+ * Admit one signed inception as this habitat's first event: bind `pre`,
225
+ * register the name and habitat records unless `hidden`, and accept the event
226
+ * into the local KEL.
227
+ *
228
+ * Shared tail of `make()` and `makeSigned()`. It writes no keeper state and
229
+ * never signs. On rejection the `prefixes` entry is withdrawn and the error
230
+ * propagates; callers decide what else to undo.
231
+ */
232
+ private admitInception;
233
+ /**
234
+ * Adopt a pre-signed inception this `Habery` did not generate, with no
235
+ * keeper key state for it (KERIpy `SignifyHab.incept` / `makeSignifyHab`).
236
+ *
237
+ * The inception is evaluated first, without mutation, by the same `Kever`
238
+ * decision local acceptance uses: SAID, prefix derivation, key and threshold
239
+ * material, and the signatures against the event's own keys. Anything but an
240
+ * accept (including an escrow for missing signatures) is refused before any
241
+ * record is written. A name or prefix already in use is refused too.
242
+ *
243
+ * Differences from KERIpy: verification precedes persistence instead of
244
+ * following it, a taken name is refused before anything is written (KERIpy
245
+ * pins the habitat record first), and `sign` is not disabled; it succeeds
246
+ * once the host holds the matching signer (`Manager.hold`).
247
+ */
248
+ makeSigned(args: SignedHabArgs): void;
209
249
  /**
210
250
  * Rotate this habitat through the shared accepted-state path.
211
251
  *
@@ -488,11 +528,19 @@ export declare class Habery {
488
528
  constructor(name: string, base: string, temp: boolean, headDirPath: string | undefined, compat: boolean, readonly: boolean, db: Baser, ks: Keeper, mgr: Manager, cf?: Configer, skipSignator?: boolean, opener?: StoreOpener, borrowsStores?: boolean);
489
529
  /** Live config snapshot from the optional config file surface. */
490
530
  get config(): Record<string, unknown>;
531
+ /**
532
+ * Prefixes of habitats whose alias config was not applied at open because they
533
+ * could not sign yet (a keyless habitat before the host holds its signer). The
534
+ * host calls `hab.reconfigure()` after holding; applying config is retried then.
535
+ */
536
+ readonly deferredReconfigure: string[];
491
537
  /**
492
538
  * Populate the in-memory habitat cache from durable `habs.` + `states.` data.
493
539
  *
494
- * Bare metadata records without corresponding accepted key state are skipped
495
- * so `Habery.habs` only contains reopenable local habitats.
540
+ * Like KERIpy `loadHabs`, a local group record is held even while its
541
+ * inception is unaccepted: the `Hab` reads accepted state on demand, so it
542
+ * becomes usable the moment the event is accepted. A non-group record without
543
+ * accepted state is an orphan; `Baser.reloadKevers` already dropped it.
496
544
  */
497
545
  private loadHabs;
498
546
  /**
@@ -523,6 +571,23 @@ export declare class Habery {
523
571
  * - `woobi.` for witness bootstrap URLs
524
572
  */
525
573
  reconfigure(): void;
574
+ /**
575
+ * Adopt an inception the caller built and signed, creating a habitat with no
576
+ * keeper key state (KERIpy `makeSignifyHab`).
577
+ *
578
+ * Contract:
579
+ * - the inception and its signatures are verified before anything is
580
+ * persisted; a bad, under-signed or duplicate inception is refused and
581
+ * leaves no record behind
582
+ * - nothing is written to the keeper, so the hab cannot sign until the host
583
+ * calls `mgr.hold()` with the matching signer(s), cannot rotate, and after
584
+ * reopen is present again with signing unavailable until re-held
585
+ * - hold signers with the encoding the inception's keys use (`D...` for
586
+ * transferable, `B...` for non-transferable)
587
+ * - unlike `makeHab`, bootstrap config replies are not applied, since they
588
+ * need a signing key; the host reconfigures after holding
589
+ */
590
+ makeSignedHab(name: string, ns: string | undefined, args: SignedHabArgs): Hab;
526
591
  /** Creates and caches a new habitat under this habery. */
527
592
  makeHab(name: string, ns?: string, args?: MakeHabArgs): Hab;
528
593
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"habbing.d.ts","sourceRoot":"","sources":["../../../src/app/identity/habbing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"habbing.d.ts","sourceRoot":"","sources":["../../../src/app/identity/habbing.ts"],"names":[],"mappings":"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"}
@@ -228,6 +228,11 @@ export declare class Manager {
228
228
  private encrypter;
229
229
  /** Private box key derived from passcode/seed; required for encrypted reads. */
230
230
  private decrypter;
231
+ /**
232
+ * Borrowed, volatile signers keyed by qualified public key (`hold()`).
233
+ * Never written to the Keeper and never consulted by `Keeper` rows.
234
+ */
235
+ private readonly held;
231
236
  constructor(args: ManagerArgs);
232
237
  get ks(): Keeper;
233
238
  /** Process-local AEID/authentication seed kept only in memory, never persisted in keeper state. */
@@ -309,10 +314,51 @@ export declare class Manager {
309
314
  requireRegistryRootAccess(): void;
310
315
  /** Return the retained Salt128 root; absent reads require no encryption. */
311
316
  getRegistryRoot(aid: string, regid: string): Salter | null;
312
- /** Retain once, returning false for the identical root without replacing ciphertext. */
313
- putRegistryRoot(aid: string, regid: string, root: Salter): boolean;
317
+ /**
318
+ * Retain once, returning false for the identical root without replacing ciphertext. `overwrite` replaces a
319
+ * different held root; only a caller that has shown that root was never used (no update staged or accepted
320
+ * for its registry) may set it.
321
+ */
322
+ putRegistryRoot(aid: string, regid: string, root: Salter, overwrite?: boolean): boolean;
323
+ /** Whether a root is retained for `aid` and `regid`; reads no ciphertext and needs no unlocked Keeper. */
324
+ hasRegistryRoot(aid: string, regid: string): boolean;
314
325
  private signerDecrypter;
315
- /** Load one managed signer seed by its public verifier key. */
326
+ /**
327
+ * Borrow live signers for signing, decryption and ESSR opening without
328
+ * persisting them.
329
+ *
330
+ * Held signers are consulted before stored keys by the one private lookup
331
+ * every `sign`, `decrypt`, `open`, group-member and endpoint-role path
332
+ * resolves through. They live only in this `Manager` instance's memory:
333
+ * nothing is written to any Keeper table, re-encryption by `updateAeid()`
334
+ * neither reads nor changes them, and a new `Manager` over the same Keeper
335
+ * starts with none.
336
+ *
337
+ * Contract:
338
+ * - The table is keyed by `signer.verfer.qb64`. The same raw key encodes
339
+ * differently when transferable (`D...`) and non-transferable (`B...`), so
340
+ * build each `Signer` with the transferability the key list or prefix uses,
341
+ * and hold that encoding. A request for the other encoding does not match.
342
+ * - The host owns each `Signer` and its seed bytes, including zeroing them.
343
+ * This keeps the reference only; it never copies seed bytes and never
344
+ * erases them. Dropping a reference with `release()` does not zero memory.
345
+ * - Holding a pub that is already held replaces the earlier signer. A held
346
+ * signer shadows a stored key with the same public key.
347
+ * - The `pre/path` branch of `sign()` re-derives salty keys from the stored
348
+ * prefix salt and never consults held signers.
349
+ *
350
+ * @param signers Signers to borrow; all are validated before any is held.
351
+ */
352
+ hold(signers: readonly Signer[]): void;
353
+ /**
354
+ * Drop held signer references: all of them, or only those for `pubs`.
355
+ *
356
+ * Unheld pubs are ignored. Afterwards a request for a released key resolves
357
+ * from stored keys only and fails as any missing key does. This drops
358
+ * references; zeroing a signer's seed stays the host's job.
359
+ */
360
+ release(pubs?: readonly string[]): void;
361
+ /** Resolve one signer by qualified public key: held first, then the Keeper's `pris.`. */
316
362
  private getSignerByPub;
317
363
  /** Resolve signers from either explicit public-key text or hydrated verifiers. */
318
364
  private getSigners;
@@ -1 +1 @@
1
- {"version":3,"file":"keeping.d.ts","sourceRoot":"","sources":["../../../src/app/identity/keeping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keeping.d.ts","sourceRoot":"","sources":["../../../src/app/identity/keeping.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Runtime-owned operations for a local group's v2 IPEX messages (first user: a group holder's Admit).
3
+ *
4
+ * A group-authored IPEX message completes only when enough members have contributed a signature, and each member's
5
+ * signature is that member's consent. The runtime owns the rest. This module follows the workflow contract
6
+ * (`app/runtime/workflow-contract.ts`):
7
+ *
8
+ * - {@link proposeGroupAdmit} / {@link proposeGroupIpex} (the proposer) and {@link approveGroupIpex} (every other
9
+ * member) are the explicit consents. Each signs or reuses this member's contribution, accepts it locally, records
10
+ * a live operation and returns without waiting on anyone. {@link groupIpexProposals} lists the stored proposals a
11
+ * member may approve.
12
+ * - `processOnce`, driven by the runtime's owner loop, publishes this member's wrapper to the other members (retrying
13
+ * a member that is briefly offline), collects the other members' stored contributions, and, once the message is
14
+ * accepted, lets the elected lead send the completed message to its recipient. It signs nothing beyond the
15
+ * contribution that the consent recorded.
16
+ * - {@link groupIpexStatus} is a pure read and {@link waitForGroupIpex} only observes.
17
+ *
18
+ * Status is derived from the protocol stores: an accepted message reads `done`; a stored proposal without a live
19
+ * operation reads `awaitingConsent` (a member that reloaded consents again with the same call and reuses its
20
+ * recorded signature). Lost on reload, by design: whether the lead had already delivered the completed message,
21
+ * the `failed` and `abandoned` reasons, and the publication results. The runtime never writes wallet inventory; the
22
+ * embedder reacts to the pushed `{kind: "ipex", id: <message>}` change.
23
+ */
24
+ import { type SerderKERI, type Versionage } from "cesr-ts";
25
+ import type { Operation } from "effection";
26
+ import type { Regery } from "../../acdc/registraring.js";
27
+ import { type RegistryEventRef } from "../credentials/registry-settling.js";
28
+ import type { Poster } from "../delivery/forwarding.js";
29
+ import type { Exchanger } from "../exchanges/exchanging.js";
30
+ import type { Hab, Habery } from "../identity/habbing.js";
31
+ import type { GroupSendResult } from "../multisig/multisig-messaging.js";
32
+ import { type RegistryProposeDeps } from "../multisig/proposing.js";
33
+ import type { ProtocolProcessor } from "../protocol/protocol-processing.js";
34
+ import { RetryBackoff } from "../runtime/retry-backoff.js";
35
+ import type { RuntimeClock } from "../runtime/runtime-clock.js";
36
+ import { type ChangeSink, type WaitResult } from "../runtime/workflow-contract.js";
37
+ /** Milliseconds between collections of the other members' stored contributions. */
38
+ export declare const GROUP_IPEX_COLLECT_MS = 250;
39
+ /** How long delivery failures may last before an operation ends `failed`; a group IPEX message has no deadline. */
40
+ export declare const GROUP_IPEX_RETRY_BOUND_MS = 600000;
41
+ /** Terminal states that are not completion; each carries a reason. */
42
+ export type GroupIpexEndState = "abandoned" | "failed";
43
+ /** Where an active group IPEX message is. */
44
+ export type GroupIpexPhase = "awaitingConsent"
45
+ /** A presentation Grant waits for the group to accept the registry update that carries its proof. */
46
+ | "awaitingRegistryUpdate" | "publishing" | "awaitingMembers" | "delivering";
47
+ /** Status of one group IPEX message, discriminated on `state`. A pure read. */
48
+ export type GroupIpexStatus = {
49
+ state: "active";
50
+ phase: GroupIpexPhase;
51
+ needs?: "approve";
52
+ } | {
53
+ state: "done";
54
+ phase: "accepted";
55
+ } | {
56
+ state: GroupIpexEndState;
57
+ reason: string;
58
+ };
59
+ /** Collaborators; hosts adapt their runtime to this once. No `AgentRuntime`. */
60
+ export interface GroupIpexDeps {
61
+ readonly hby: Habery;
62
+ /** Registry environment; only its public `store` is read. */
63
+ readonly rgy: Pick<Regery, "store">;
64
+ readonly exc: Exchanger;
65
+ readonly protocol: ProtocolProcessor;
66
+ /** Delivery of member wrappers and of the completed message; its worker is run by the host. */
67
+ readonly postman: Poster;
68
+ readonly clock: RuntimeClock;
69
+ readonly changes?: ChangeSink;
70
+ /** Collaborators of a group registry update; a Grant that carries a presentation proof needs them. */
71
+ readonly registry?: RegistryProposeDeps;
72
+ }
73
+ /** A group registry update an operation waits for before its own message can be signed. */
74
+ export interface GroupIpexPrerequisite {
75
+ /** The TEL event and the group anchor that seals it. */
76
+ readonly anchor: RegistryEventRef;
77
+ /** Signs this member's contribution to the message once the update is accepted; returns its accepted wire. */
78
+ readonly proceed: () => Operation<Uint8Array>;
79
+ }
80
+ interface LiveGroupIpex {
81
+ /** SAID of the group-authored IPEX message. */
82
+ readonly said: string;
83
+ readonly group: Hab;
84
+ readonly genus: Versionage;
85
+ phase: GroupIpexPhase;
86
+ /** This member's wire still to publish: the proposer's initial message, or an approver's accepted contribution. */
87
+ outbound: {
88
+ kind: "initial" | "proposal";
89
+ wire: Uint8Array;
90
+ } | null;
91
+ /** A registry update the message waits for; the consent that began the operation covers signing it afterwards. */
92
+ prerequisite: GroupIpexPrerequisite | null;
93
+ publication: GroupSendResult | null;
94
+ /** The completed message has been sent to its recipient (or this member is not the lead). */
95
+ delivered: boolean;
96
+ deliveries: string[];
97
+ readonly retry: RetryBackoff;
98
+ nextCollect: number;
99
+ busy: boolean;
100
+ }
101
+ /** What an accepted operation of this process sent: the member wrappers it published and the completed message's deliveries. */
102
+ export interface GroupIpexOutcome {
103
+ messages: GroupSendResult["messages"];
104
+ /** Destinations that took this member's wrappers. */
105
+ deliveries: string[];
106
+ /** Each other member's outcome; a group IPEX publication retries until every member took it, so all are delivered. */
107
+ members: GroupSendResult["members"];
108
+ /** Destinations that took the completed message; empty unless this member is the elected lead. */
109
+ sent: string[];
110
+ }
111
+ /** What a consent returned. */
112
+ export interface GroupIpexBegun {
113
+ /** SAID of the group-authored IPEX message. */
114
+ said: string;
115
+ }
116
+ /** A stored proposal a member may approve. */
117
+ export interface GroupIpexProposal {
118
+ /** SAID of the group-authored message; the key of every other call. */
119
+ said: string;
120
+ route: string;
121
+ group: string;
122
+ /** SAID of the `/multisig/exn` wrapper that carries it. */
123
+ wrapper: string;
124
+ /** AID of the member that proposed it. */
125
+ proposer: string;
126
+ /** SAID of the exchange the message answers (an Admit's Grant), when it names one. */
127
+ prior?: string;
128
+ /** Whether this member already holds a recorded contribution (approving again reuses it). */
129
+ approved: boolean;
130
+ complete: boolean;
131
+ }
132
+ /** The live table of group IPEX operations and its driver; one per host runtime. */
133
+ export declare class GroupIpexOperations {
134
+ readonly deps: GroupIpexDeps;
135
+ readonly live: Map<string, LiveGroupIpex>;
136
+ readonly ended: Map<string, {
137
+ state: GroupIpexEndState;
138
+ reason: string;
139
+ }>;
140
+ /** What accepted operations published and delivered in this process; not durable. */
141
+ readonly outcomes: Map<string, GroupIpexOutcome>;
142
+ constructor(deps: GroupIpexDeps);
143
+ /** Whether a pass has work. */
144
+ active(): boolean;
145
+ /** Advance every live operation by one pass. */
146
+ processOnce(): Operation<void>;
147
+ /** End a live operation and tell the sink. */
148
+ end(op: LiveGroupIpex, state: GroupIpexEndState, reason: string): void;
149
+ /** Record an operation the user consented to. */
150
+ begin(said: string, group: Hab, genus: Versionage, outbound: LiveGroupIpex["outbound"], deliver?: boolean, prerequisite?: GroupIpexPrerequisite | null): GroupIpexBegun;
151
+ private setPhase;
152
+ /** Run a delivery; a failure keeps the work for a later pass until failures have lasted the bound. */
153
+ private attempt;
154
+ private step;
155
+ }
156
+ /** A group-authored message to propose. */
157
+ export interface GroupIpexProposalInput {
158
+ hab: Hab;
159
+ exn: SerderKERI;
160
+ /** The message's nested evidence, framed as in the candidate wire. */
161
+ nests?: Uint8Array;
162
+ gvrsn?: Versionage;
163
+ /** False when the caller takes the completed message itself (a file) and the lead must not send it. */
164
+ deliver?: boolean;
165
+ }
166
+ /**
167
+ * The proposer's consent to a group-authored v2 IPEX message: signs this member's contribution to the exact
168
+ * `exn` body, accepts it locally and records the operation. Publishing the wrapper to the other members is
169
+ * `processOnce`.
170
+ *
171
+ * @throws ValidationError for a body the group did not author, a non-group identifier, a message awaiting
172
+ * authenticating dependencies, or one already begun.
173
+ */
174
+ export declare function proposeGroupIpex(ops: GroupIpexOperations, { hab, exn, nests, gvrsn, deliver }: GroupIpexProposalInput): Operation<GroupIpexBegun>;
175
+ /** A group-authored message and the registry update it waits for. */
176
+ export interface GroupIpexAfterInput {
177
+ hab: Hab;
178
+ exn: SerderKERI;
179
+ gvrsn?: Versionage;
180
+ /** False when the caller takes the completed message itself and the lead must not send it. */
181
+ deliver?: boolean;
182
+ prerequisite: GroupIpexPrerequisite;
183
+ }
184
+ /**
185
+ * The proposer's consent to a group-authored message that waits for a registry update, as a Grant carrying a
186
+ * presentation proof does: the caller has proposed the update (this member's contribution is its approval) and
187
+ * passes the anchor to wait for. The owner signs the message's contribution, through `prerequisite.proceed`, once
188
+ * the group has accepted the update, under this same consent. Returns after local commit.
189
+ */
190
+ export declare function proposeGroupIpexAfter(ops: GroupIpexOperations, { hab, exn, gvrsn, deliver, prerequisite }: GroupIpexAfterInput): GroupIpexBegun;
191
+ /** An Admit of an accepted Grant a group holder proposes. */
192
+ export interface GroupAdmitInput {
193
+ hab: Hab;
194
+ /** SAID of the accepted Grant. */
195
+ grant: string;
196
+ message?: string;
197
+ gvrsn?: Versionage;
198
+ deliver?: boolean;
199
+ }
200
+ /** A proposed Admit and the Grant it answers. */
201
+ export interface GroupAdmitBegun extends GroupIpexBegun {
202
+ grant: string;
203
+ }
204
+ /**
205
+ * A group holder's consent to admit an accepted Grant: freezes the Admit body (explicit consent, exact prior
206
+ * authentication and current root truth), then proposes it as {@link proposeGroupIpex} does. The other members list
207
+ * the proposal and approve it; nothing here records inventory.
208
+ */
209
+ export declare function proposeGroupAdmit(ops: GroupIpexOperations, { hab, grant, message, gvrsn, deliver }: GroupAdmitInput): Operation<GroupAdmitBegun>;
210
+ /** Stored v2 IPEX proposals of `hab` (or of every local group) that were proposed by a member, newest unordered. */
211
+ export declare function groupIpexProposals(ops: GroupIpexOperations, hab?: Hab): GroupIpexProposal[];
212
+ /** Choices of a member's approval. */
213
+ export interface GroupIpexApproveOptions {
214
+ /** False when the caller takes the completed message itself and the lead must not send it. */
215
+ deliver?: boolean;
216
+ }
217
+ /**
218
+ * A member's consent to a stored group IPEX proposal: verifies the exact stored wrapper, signs or reuses this
219
+ * member's contribution and accepts it locally, and records the operation. Publishing it, collecting the other
220
+ * members' contributions and, for the lead, delivering the completed message are `processOnce`.
221
+ *
222
+ * An accepted message may be approved again: the recorded contribution is reused, and the elected lead delivers the
223
+ * completed message, which a lead that learned of the acceptance from another member's wrapper has not yet done.
224
+ *
225
+ * @throws ValidationError when no v2 proposal is stored for `said`, an operation is already live for it, or this
226
+ * member still lacks the evidence to approve it.
227
+ */
228
+ export declare function approveGroupIpex(ops: GroupIpexOperations, said: string, { deliver }?: GroupIpexApproveOptions): Operation<GroupIpexBegun>;
229
+ /** Local abandon: stop publishing and collecting. Does not undo a recorded contribution or message the peers. */
230
+ export declare function abandonGroupIpex(ops: GroupIpexOperations, said: string, reason?: string): void;
231
+ /**
232
+ * Pure read of one group IPEX message: what ended in this process, the live table, and otherwise what the stores
233
+ * prove (see the module doc).
234
+ *
235
+ * @throws ValidationError when no stored proposal or accepted message of a local group has this SAID.
236
+ */
237
+ export declare function groupIpexStatus(ops: GroupIpexOperations, said: string): GroupIpexStatus;
238
+ /**
239
+ * The member wrappers this process has published for one message: from the live operation once it published, from
240
+ * the outcome after it ended. Empty before publication. A pure read.
241
+ */
242
+ export declare function groupIpexMessages(ops: GroupIpexOperations, said: string): GroupSendResult["messages"];
243
+ /** Options for {@link waitForGroupIpex}. */
244
+ export interface GroupIpexWaitOptions {
245
+ /** Wall-clock budget. */
246
+ timeoutMs: number;
247
+ clock?: RuntimeClock;
248
+ /** Settle on this instead of any non-active state. */
249
+ until?: (status: GroupIpexStatus) => boolean;
250
+ }
251
+ /** Observe until the message is accepted and delivered, or ended, or the budget expires. Starts no worker. */
252
+ export declare function waitForGroupIpex(ops: GroupIpexOperations, said: string, { timeoutMs, clock, until }: GroupIpexWaitOptions): Operation<WaitResult<GroupIpexStatus>>;
253
+ export {};
254
+ //# sourceMappingURL=group-ipex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-ipex.d.ts","sourceRoot":"","sources":["../../../src/app/ipex/group-ipex.ts"],"names":[],"mappings":"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"}