@interop/wallet-core 0.62.0 → 0.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/README.md +41 -16
  2. package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +46 -26
  3. package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
  4. package/dist/clientAnnex/credentialAnchoredGenesis.js +91 -39
  5. package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
  6. package/dist/clientAnnex/establish.d.ts +55 -34
  7. package/dist/clientAnnex/establish.d.ts.map +1 -1
  8. package/dist/clientAnnex/establish.js +102 -56
  9. package/dist/clientAnnex/establish.js.map +1 -1
  10. package/dist/clientAnnex/forget.d.ts +16 -2
  11. package/dist/clientAnnex/forget.d.ts.map +1 -1
  12. package/dist/clientAnnex/forget.js +11 -9
  13. package/dist/clientAnnex/forget.js.map +1 -1
  14. package/dist/clientAnnex/forgetLast.d.ts +62 -18
  15. package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
  16. package/dist/clientAnnex/forgetLast.js +92 -26
  17. package/dist/clientAnnex/forgetLast.js.map +1 -1
  18. package/dist/clientAnnex/gc.d.ts +3 -2
  19. package/dist/clientAnnex/gc.d.ts.map +1 -1
  20. package/dist/clientAnnex/gc.js +7 -7
  21. package/dist/clientAnnex/gc.js.map +1 -1
  22. package/dist/clientAnnex/heal.d.ts +38 -5
  23. package/dist/clientAnnex/heal.d.ts.map +1 -1
  24. package/dist/clientAnnex/heal.js +346 -236
  25. package/dist/clientAnnex/heal.js.map +1 -1
  26. package/dist/clientAnnex/index.d.ts +21 -5
  27. package/dist/clientAnnex/index.d.ts.map +1 -1
  28. package/dist/clientAnnex/index.js +24 -5
  29. package/dist/clientAnnex/index.js.map +1 -1
  30. package/dist/clientAnnex/ladder.d.ts +58 -0
  31. package/dist/clientAnnex/ladder.d.ts.map +1 -1
  32. package/dist/clientAnnex/ladder.js +222 -33
  33. package/dist/clientAnnex/ladder.js.map +1 -1
  34. package/dist/clientAnnex/ladderAnchored.d.ts +148 -22
  35. package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
  36. package/dist/clientAnnex/ladderAnchored.js +391 -346
  37. package/dist/clientAnnex/ladderAnchored.js.map +1 -1
  38. package/dist/clientAnnex/log.d.ts +162 -43
  39. package/dist/clientAnnex/log.d.ts.map +1 -1
  40. package/dist/clientAnnex/log.js +423 -192
  41. package/dist/clientAnnex/log.js.map +1 -1
  42. package/dist/clientAnnex/mend.d.ts +12 -6
  43. package/dist/clientAnnex/mend.d.ts.map +1 -1
  44. package/dist/clientAnnex/mend.js +26 -12
  45. package/dist/clientAnnex/mend.js.map +1 -1
  46. package/dist/clientAnnex/recoveryLadderAnchored.d.ts +6 -4
  47. package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
  48. package/dist/clientAnnex/recoveryLadderAnchored.js +56 -35
  49. package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
  50. package/dist/clientAnnex/spaceCapability.d.ts +123 -0
  51. package/dist/clientAnnex/spaceCapability.d.ts.map +1 -0
  52. package/dist/clientAnnex/spaceCapability.js +152 -0
  53. package/dist/clientAnnex/spaceCapability.js.map +1 -0
  54. package/dist/clientAnnex/stages.d.ts +63 -0
  55. package/dist/clientAnnex/stages.d.ts.map +1 -0
  56. package/dist/clientAnnex/stages.js +64 -0
  57. package/dist/clientAnnex/stages.js.map +1 -0
  58. package/dist/clientAnnex/zcap.d.ts +1 -1
  59. package/dist/clientAnnex/zcap.d.ts.map +1 -1
  60. package/dist/clientAnnex/zcap.js +42 -35
  61. package/dist/clientAnnex/zcap.js.map +1 -1
  62. package/dist/clients/policy.d.ts +15 -1
  63. package/dist/clients/policy.d.ts.map +1 -1
  64. package/dist/clients/policy.js +12 -6
  65. package/dist/clients/policy.js.map +1 -1
  66. package/dist/clients/revocation.d.ts +18 -10
  67. package/dist/clients/revocation.d.ts.map +1 -1
  68. package/dist/clients/revocation.js +13 -5
  69. package/dist/clients/revocation.js.map +1 -1
  70. package/dist/clients/rosterPolicy.d.ts +10 -2
  71. package/dist/clients/rosterPolicy.d.ts.map +1 -1
  72. package/dist/clients/rosterPolicy.js +41 -24
  73. package/dist/clients/rosterPolicy.js.map +1 -1
  74. package/dist/descriptors/acquire.d.ts.map +1 -1
  75. package/dist/descriptors/acquire.js +6 -23
  76. package/dist/descriptors/acquire.js.map +1 -1
  77. package/dist/descriptors/cipher.d.ts.map +1 -1
  78. package/dist/descriptors/cipher.js +5 -0
  79. package/dist/descriptors/cipher.js.map +1 -1
  80. package/dist/descriptors/errors.d.ts +43 -0
  81. package/dist/descriptors/errors.d.ts.map +1 -0
  82. package/dist/descriptors/errors.js +45 -0
  83. package/dist/descriptors/errors.js.map +1 -0
  84. package/dist/descriptors/index.d.ts +5 -0
  85. package/dist/descriptors/index.d.ts.map +1 -1
  86. package/dist/descriptors/index.js +5 -0
  87. package/dist/descriptors/index.js.map +1 -1
  88. package/dist/enrollment/enrollment.d.ts +37 -10
  89. package/dist/enrollment/enrollment.d.ts.map +1 -1
  90. package/dist/enrollment/enrollment.js +52 -15
  91. package/dist/enrollment/enrollment.js.map +1 -1
  92. package/dist/genesis/accountGenesis.d.ts +42 -11
  93. package/dist/genesis/accountGenesis.d.ts.map +1 -1
  94. package/dist/genesis/accountGenesis.js +80 -22
  95. package/dist/genesis/accountGenesis.js.map +1 -1
  96. package/dist/genesis/index.d.ts +3 -1
  97. package/dist/genesis/index.d.ts.map +1 -1
  98. package/dist/genesis/index.js +3 -1
  99. package/dist/genesis/index.js.map +1 -1
  100. package/dist/identity/agents.d.ts +17 -1
  101. package/dist/identity/agents.d.ts.map +1 -1
  102. package/dist/identity/agents.js +23 -7
  103. package/dist/identity/agents.js.map +1 -1
  104. package/dist/identity/index.d.ts +3 -1
  105. package/dist/identity/index.d.ts.map +1 -1
  106. package/dist/identity/index.js +3 -1
  107. package/dist/identity/index.js.map +1 -1
  108. package/dist/index.d.ts +6 -3
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +6 -3
  111. package/dist/index.js.map +1 -1
  112. package/dist/keyring/index.d.ts +2 -1
  113. package/dist/keyring/index.d.ts.map +1 -1
  114. package/dist/keyring/index.js +2 -1
  115. package/dist/keyring/index.js.map +1 -1
  116. package/dist/keyring/record.d.ts.map +1 -1
  117. package/dist/keyring/record.js +3 -6
  118. package/dist/keyring/record.js.map +1 -1
  119. package/dist/keyring/unlockSpace.d.ts +14 -5
  120. package/dist/keyring/unlockSpace.d.ts.map +1 -1
  121. package/dist/keyring/unlockSpace.js +31 -36
  122. package/dist/keyring/unlockSpace.js.map +1 -1
  123. package/dist/keys/index.d.ts +10 -6
  124. package/dist/keys/index.d.ts.map +1 -1
  125. package/dist/keys/index.js +9 -5
  126. package/dist/keys/index.js.map +1 -1
  127. package/dist/keys/rosterLogStore.d.ts +12 -11
  128. package/dist/keys/rosterLogStore.d.ts.map +1 -1
  129. package/dist/keys/rosterLogStore.js +15 -13
  130. package/dist/keys/rosterLogStore.js.map +1 -1
  131. package/dist/keys/rosterStore.d.ts +3 -6
  132. package/dist/keys/rosterStore.d.ts.map +1 -1
  133. package/dist/keys/rosterStore.js +10 -9
  134. package/dist/keys/rosterStore.js.map +1 -1
  135. package/dist/keys/spaceEpochs.d.ts.map +1 -1
  136. package/dist/keys/spaceEpochs.js +2 -3
  137. package/dist/keys/spaceEpochs.js.map +1 -1
  138. package/dist/keys/userKeyRoster.d.ts +57 -7
  139. package/dist/keys/userKeyRoster.d.ts.map +1 -1
  140. package/dist/keys/userKeyRoster.js +222 -17
  141. package/dist/keys/userKeyRoster.js.map +1 -1
  142. package/dist/keys/userKeyRosterCascade.d.ts +7 -6
  143. package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
  144. package/dist/keys/userKeyRosterCascade.js +7 -6
  145. package/dist/keys/userKeyRosterCascade.js.map +1 -1
  146. package/dist/keys/wasLabelsStore.d.ts +9 -2
  147. package/dist/keys/wasLabelsStore.d.ts.map +1 -1
  148. package/dist/keys/wasLabelsStore.js +14 -6
  149. package/dist/keys/wasLabelsStore.js.map +1 -1
  150. package/dist/log.d.ts +7 -2
  151. package/dist/log.d.ts.map +1 -1
  152. package/dist/log.js +6 -1
  153. package/dist/log.js.map +1 -1
  154. package/dist/recovery/index.d.ts +12 -8
  155. package/dist/recovery/index.d.ts.map +1 -1
  156. package/dist/recovery/index.js +11 -7
  157. package/dist/recovery/index.js.map +1 -1
  158. package/dist/recovery/recoveryCode.d.ts +27 -7
  159. package/dist/recovery/recoveryCode.d.ts.map +1 -1
  160. package/dist/recovery/recoveryCode.js +18 -6
  161. package/dist/recovery/recoveryCode.js.map +1 -1
  162. package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
  163. package/dist/recovery/recoveryDelegation.js +21 -34
  164. package/dist/recovery/recoveryDelegation.js.map +1 -1
  165. package/dist/recovery/recoveryWebvh.d.ts +75 -63
  166. package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
  167. package/dist/recovery/recoveryWebvh.js +127 -116
  168. package/dist/recovery/recoveryWebvh.js.map +1 -1
  169. package/dist/request/classify.d.ts +32 -8
  170. package/dist/request/classify.d.ts.map +1 -1
  171. package/dist/request/classify.js +39 -14
  172. package/dist/request/classify.js.map +1 -1
  173. package/dist/request/ephemeralExchange.d.ts +1 -6
  174. package/dist/request/ephemeralExchange.d.ts.map +1 -1
  175. package/dist/request/ephemeralExchange.js.map +1 -1
  176. package/dist/request/onboarding.d.ts.map +1 -1
  177. package/dist/request/onboarding.js +2 -2
  178. package/dist/request/onboarding.js.map +1 -1
  179. package/dist/request/parse.d.ts.map +1 -1
  180. package/dist/request/parse.js +2 -3
  181. package/dist/request/parse.js.map +1 -1
  182. package/dist/resourceLog/controller.d.ts +34 -12
  183. package/dist/resourceLog/controller.d.ts.map +1 -1
  184. package/dist/resourceLog/controller.js +79 -86
  185. package/dist/resourceLog/controller.js.map +1 -1
  186. package/dist/resourceLog/document.d.ts +182 -0
  187. package/dist/resourceLog/document.d.ts.map +1 -0
  188. package/dist/resourceLog/document.js +159 -0
  189. package/dist/resourceLog/document.js.map +1 -0
  190. package/dist/resourceLog/errors.d.ts +47 -8
  191. package/dist/resourceLog/errors.d.ts.map +1 -1
  192. package/dist/resourceLog/errors.js +54 -8
  193. package/dist/resourceLog/errors.js.map +1 -1
  194. package/dist/resourceLog/index.d.ts +7 -3
  195. package/dist/resourceLog/index.d.ts.map +1 -1
  196. package/dist/resourceLog/index.js +7 -3
  197. package/dist/resourceLog/index.js.map +1 -1
  198. package/dist/resourceLog/ladderRungs.d.ts +35 -0
  199. package/dist/resourceLog/ladderRungs.d.ts.map +1 -0
  200. package/dist/resourceLog/ladderRungs.js +352 -0
  201. package/dist/resourceLog/ladderRungs.js.map +1 -0
  202. package/dist/resourceLog/license.d.ts +42 -17
  203. package/dist/resourceLog/license.d.ts.map +1 -1
  204. package/dist/resourceLog/license.js +38 -24
  205. package/dist/resourceLog/license.js.map +1 -1
  206. package/dist/space/activity.d.ts +15 -15
  207. package/dist/space/activity.d.ts.map +1 -1
  208. package/dist/space/activity.js +15 -15
  209. package/dist/space/activity.js.map +1 -1
  210. package/dist/space/collections.d.ts +11 -0
  211. package/dist/space/collections.d.ts.map +1 -1
  212. package/dist/space/collections.js +13 -0
  213. package/dist/space/collections.js.map +1 -1
  214. package/dist/space/deleteSpace.d.ts +28 -0
  215. package/dist/space/deleteSpace.d.ts.map +1 -0
  216. package/dist/space/deleteSpace.js +44 -0
  217. package/dist/space/deleteSpace.js.map +1 -0
  218. package/dist/space/errors.d.ts.map +1 -1
  219. package/dist/space/errors.js +0 -1
  220. package/dist/space/errors.js.map +1 -1
  221. package/dist/space/index.d.ts +6 -0
  222. package/dist/space/index.d.ts.map +1 -1
  223. package/dist/space/index.js +6 -0
  224. package/dist/space/index.js.map +1 -1
  225. package/dist/space/plaintextCollection.d.ts +43 -0
  226. package/dist/space/plaintextCollection.d.ts.map +1 -0
  227. package/dist/space/plaintextCollection.js +17 -0
  228. package/dist/space/plaintextCollection.js.map +1 -0
  229. package/dist/stages.d.ts +23 -0
  230. package/dist/stages.d.ts.map +1 -0
  231. package/dist/stages.js +23 -0
  232. package/dist/stages.js.map +1 -0
  233. package/dist/sync/index.d.ts +7 -0
  234. package/dist/sync/index.d.ts.map +1 -1
  235. package/dist/sync/index.js +7 -0
  236. package/dist/sync/index.js.map +1 -1
  237. package/dist/sync/push.js +4 -4
  238. package/dist/sync/push.js.map +1 -1
  239. package/dist/sync/remint.js +2 -2
  240. package/dist/sync/remint.js.map +1 -1
  241. package/dist/sync/types.d.ts +41 -1
  242. package/dist/sync/types.d.ts.map +1 -1
  243. package/dist/sync/types.js +47 -1
  244. package/dist/sync/types.js.map +1 -1
  245. package/dist/unlock/index.d.ts +5 -1
  246. package/dist/unlock/index.d.ts.map +1 -1
  247. package/dist/unlock/index.js +5 -1
  248. package/dist/unlock/index.js.map +1 -1
  249. package/dist/unlock/retire.d.ts +35 -7
  250. package/dist/unlock/retire.d.ts.map +1 -1
  251. package/dist/unlock/retire.js +52 -14
  252. package/dist/unlock/retire.js.map +1 -1
  253. package/dist/unlock/standingClient.d.ts.map +1 -1
  254. package/dist/unlock/standingClient.js +5 -1
  255. package/dist/unlock/standingClient.js.map +1 -1
  256. package/dist/unlock/standingWebvh.d.ts +217 -35
  257. package/dist/unlock/standingWebvh.d.ts.map +1 -1
  258. package/dist/unlock/standingWebvh.js +469 -210
  259. package/dist/unlock/standingWebvh.js.map +1 -1
  260. package/dist/webvh/accountEntry.d.ts +146 -0
  261. package/dist/webvh/accountEntry.d.ts.map +1 -0
  262. package/dist/webvh/accountEntry.js +239 -0
  263. package/dist/webvh/accountEntry.js.map +1 -0
  264. package/dist/webvh/didWeb.d.ts +12 -7
  265. package/dist/webvh/didWeb.d.ts.map +1 -1
  266. package/dist/webvh/didWeb.js +2 -2
  267. package/dist/webvh/didWeb.js.map +1 -1
  268. package/dist/webvh/didWebProjection.d.ts +164 -0
  269. package/dist/webvh/didWebProjection.d.ts.map +1 -0
  270. package/dist/webvh/didWebProjection.js +230 -0
  271. package/dist/webvh/didWebProjection.js.map +1 -0
  272. package/dist/webvh/didWebvh.d.ts +275 -136
  273. package/dist/webvh/didWebvh.d.ts.map +1 -1
  274. package/dist/webvh/didWebvh.js +307 -340
  275. package/dist/webvh/didWebvh.js.map +1 -1
  276. package/dist/webvh/enrollClient.d.ts +65 -0
  277. package/dist/webvh/enrollClient.d.ts.map +1 -0
  278. package/dist/webvh/enrollClient.js +172 -0
  279. package/dist/webvh/enrollClient.js.map +1 -0
  280. package/dist/webvh/index.d.ts +37 -12
  281. package/dist/webvh/index.d.ts.map +1 -1
  282. package/dist/webvh/index.js +33 -10
  283. package/dist/webvh/index.js.map +1 -1
  284. package/dist/webvh/listClients.d.ts +1 -35
  285. package/dist/webvh/listClients.d.ts.map +1 -1
  286. package/dist/webvh/listClients.js +2 -30
  287. package/dist/webvh/listClients.js.map +1 -1
  288. package/dist/webvh/revokeClient.d.ts +41 -11
  289. package/dist/webvh/revokeClient.d.ts.map +1 -1
  290. package/dist/webvh/revokeClient.js +99 -48
  291. package/dist/webvh/revokeClient.js.map +1 -1
  292. package/dist/webvh/standingZcap.d.ts +61 -14
  293. package/dist/webvh/standingZcap.d.ts.map +1 -1
  294. package/dist/webvh/standingZcap.js +91 -0
  295. package/dist/webvh/standingZcap.js.map +1 -1
  296. package/dist/webvh/verifyLog.d.ts +59 -5
  297. package/dist/webvh/verifyLog.d.ts.map +1 -1
  298. package/dist/webvh/verifyLog.js +76 -11
  299. package/dist/webvh/verifyLog.js.map +1 -1
  300. package/dist/webvh/wasIdStore.d.ts +8 -8
  301. package/dist/webvh/wasIdStore.d.ts.map +1 -1
  302. package/dist/webvh/wasIdStore.js +39 -14
  303. package/dist/webvh/wasIdStore.js.map +1 -1
  304. package/dist/webvh/zcap.d.ts +14 -1
  305. package/dist/webvh/zcap.d.ts.map +1 -1
  306. package/dist/webvh/zcap.js +3 -27
  307. package/dist/webvh/zcap.js.map +1 -1
  308. package/package.json +2 -2
  309. package/dist/webvh/keyAgreement.d.ts +0 -97
  310. package/dist/webvh/keyAgreement.d.ts.map +0 -1
  311. package/dist/webvh/keyAgreement.js +0 -71
  312. package/dist/webvh/keyAgreement.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"recoveryLadderAnchored.js","sourceRoot":"","sources":["../../src/clientAnnex/recoveryLadderAnchored.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recoveryLadderAnchored.js","sourceRoot":"","sources":["../../src/clientAnnex/recoveryLadderAnchored.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /*!
2
+ * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
+ */
4
+ /**
5
+ * Single-verb Space capabilities: the short-lived children a transient
6
+ * session mints so it can destroy (or probe) a Space it has no root
7
+ * invocation over. Two shapes, one mint, both target-exact:
8
+ *
9
+ * - Three links, over a stored parent. The parent is the management zcap an
10
+ * unlock identity delegated to the account at bind time. The child's
11
+ * `invocationTarget` is the parent's own, copied verbatim from the parent's
12
+ * bytes rather than rebuilt, so a deployment whose stored parent carries a
13
+ * target this client would build differently still lands on the bytes the
14
+ * server checks.
15
+ * - Two links, over a Space's synthesized root. The child's
16
+ * `invocationTarget` is the bare Space URL, built with was-client's path
17
+ * builders so a sub-path deployment keeps its prefix.
18
+ *
19
+ * `allowedAction` is exactly one HTTP verb -- `DELETE` for the deletion
20
+ * child, `GET` for the probe child -- which is what a storage server's
21
+ * admission predicate keys on. The delegatee is the caller's: the ladder
22
+ * VM's bare did:key on a transient session (it re-derives from the ladder
23
+ * seed and resolves from its own bytes, so it outlives the account log it
24
+ * was minted beside), the account did:webvh on a remembered one.
25
+ *
26
+ * Nothing here is stored. A child is minted immediately before its own
27
+ * request and dropped; on a torn run it lapses by its short TTL, so no
28
+ * revocation is owed.
29
+ *
30
+ * Two checks stay with the caller rather than here: that the parent's
31
+ * `controller` is the delegator this client signs as, and that the parent's
32
+ * target names the Space the caller means on the deployment it is talking
33
+ * to. The caller holds the deployment URL and the delegator DID; this module
34
+ * holds neither, and guessing either would rebuild the very bytes the
35
+ * verbatim copy exists to preserve.
36
+ */
37
+ import type { IZcap } from '@interop/data-integrity-core';
38
+ import type { ZcapClient } from '@interop/ezcap';
39
+ /**
40
+ * The single-verb Space capability's lifetime: ten minutes, long enough for
41
+ * the request it is minted for and twice `@interop/zcap`'s 300-second clock
42
+ * skew allowance. A child's `expires` is the earlier of this and its
43
+ * parent's, since the library refuses a child less restrictive than its
44
+ * parent with no skew allowance.
45
+ */
46
+ export declare const DELETION_ZCAP_TTL_MS: number;
47
+ /**
48
+ * The two verbs a single-verb Space capability may carry: the deletion
49
+ * child's `DELETE` and the probe child's `GET`.
50
+ */
51
+ export type SpaceCapabilityVerb = 'DELETE' | 'GET';
52
+ /**
53
+ * The typed refusal of a mint over a parent capability whose own `expires`
54
+ * has already passed: the child would verify nowhere, so nothing is minted
55
+ * and nothing is sent. Matched on `name` -- error classes do not survive
56
+ * crossing package copies. The parent's `expires` and `id` ride the error so
57
+ * a caller can name the lapsed capability in its own copy without re-reading
58
+ * the parent.
59
+ */
60
+ export declare class ExpiredParentCapabilityError extends Error {
61
+ readonly parentExpires: string;
62
+ readonly parentId: string | undefined;
63
+ constructor({ message, parentExpires, parentId }: {
64
+ message: string;
65
+ parentExpires: string;
66
+ parentId: string | undefined;
67
+ });
68
+ }
69
+ /**
70
+ * Mints a single-verb child of a STORED parent capability -- the three-link
71
+ * shape, used on an unlock Space whose management zcap the account already
72
+ * holds. The child's `invocationTarget` is the parent's unchanged.
73
+ *
74
+ * @param options {object}
75
+ * @param options.zcapClient {ZcapClient} the delegating signer (the ladder
76
+ * VM's client on a transient session, an enrolled client's on a remembered
77
+ * one)
78
+ * @param options.parent {IZcap} the stored parent capability
79
+ * @param options.verb {SpaceCapabilityVerb} the child's one allowed action
80
+ * @param options.controller {string} the delegatee DID
81
+ * @param [options.ttlMs] {number} the child's requested lifetime
82
+ * @param [options.now] {number} the clock the child is minted against
83
+ * (epoch milliseconds); a caller holding server-relative time passes it
84
+ * so the proof's `created` and the child's `expires` come off one clock
85
+ * @returns {Promise<IZcap>}
86
+ */
87
+ export declare function mintSpaceVerbCapability({ zcapClient, parent, verb, controller, ttlMs, now }: {
88
+ zcapClient: ZcapClient;
89
+ parent: IZcap;
90
+ verb: SpaceCapabilityVerb;
91
+ controller: string;
92
+ ttlMs?: number;
93
+ now?: number;
94
+ }): Promise<IZcap>;
95
+ /**
96
+ * Mints a single-verb child of a Space's SYNTHESIZED ROOT -- the two-link
97
+ * shape, used on the account Space and an auxiliary annex Space, where the
98
+ * session holds no stored parent. The child's `invocationTarget` is the bare
99
+ * Space URL, with no trailing slash, so the deletion child covers the Space
100
+ * itself rather than its items subtree.
101
+ *
102
+ * @param options {object}
103
+ * @param options.zcapClient {ZcapClient} the delegating signer
104
+ * @param options.storageServerUrl {string} the Space's storage server
105
+ * @param options.spaceId {string}
106
+ * @param options.verb {SpaceCapabilityVerb} the child's one allowed action
107
+ * @param options.controller {string} the delegatee DID
108
+ * @param [options.ttlMs] {number} the child's requested lifetime
109
+ * @param [options.now] {number} the clock the child is minted against
110
+ * (epoch milliseconds); a caller holding server-relative time passes it
111
+ * so the proof's `created` and the child's `expires` come off one clock
112
+ * @returns {Promise<IZcap>}
113
+ */
114
+ export declare function mintSpaceRootVerbCapability({ zcapClient, storageServerUrl, spaceId, verb, controller, ttlMs, now }: {
115
+ zcapClient: ZcapClient;
116
+ storageServerUrl: string;
117
+ spaceId: string;
118
+ verb: SpaceCapabilityVerb;
119
+ controller: string;
120
+ ttlMs?: number;
121
+ now?: number;
122
+ }): Promise<IZcap>;
123
+ //# sourceMappingURL=spaceCapability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spaceCapability.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/spaceCapability.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,QAAiB,CAAA;AAElD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,KAAK,CAAA;AAElD;;;;;;;GAOG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEzB,EACV,OAAO,EACP,aAAa,EACb,QAAQ,EACT,EAAE;QACD,OAAO,EAAE,MAAM,CAAA;QACf,aAAa,EAAE,MAAM,CAAA;QACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;KAC7B;CAMF;AA+ED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,uBAAuB,CAAC,EAC5C,UAAU,EACV,MAAM,EACN,IAAI,EACJ,UAAU,EACV,KAA4B,EAC5B,GAAgB,EACjB,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,KAAK,CAAA;IACb,IAAI,EAAE,mBAAmB,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,KAAK,CAAC,CAkBjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,2BAA2B,CAAC,EAChD,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,IAAI,EACJ,UAAU,EACV,KAA4B,EAC5B,GAAgB,EACjB,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,mBAAmB,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,KAAK,CAAC,CAajB"}
@@ -0,0 +1,152 @@
1
+ import { rootCapabilityId, spacePath, toUrl } from '@interop/was-client/paths';
2
+ /**
3
+ * The single-verb Space capability's lifetime: ten minutes, long enough for
4
+ * the request it is minted for and twice `@interop/zcap`'s 300-second clock
5
+ * skew allowance. A child's `expires` is the earlier of this and its
6
+ * parent's, since the library refuses a child less restrictive than its
7
+ * parent with no skew allowance.
8
+ */
9
+ export const DELETION_ZCAP_TTL_MS = 10 * 60 * 1000;
10
+ /**
11
+ * The typed refusal of a mint over a parent capability whose own `expires`
12
+ * has already passed: the child would verify nowhere, so nothing is minted
13
+ * and nothing is sent. Matched on `name` -- error classes do not survive
14
+ * crossing package copies. The parent's `expires` and `id` ride the error so
15
+ * a caller can name the lapsed capability in its own copy without re-reading
16
+ * the parent.
17
+ */
18
+ export class ExpiredParentCapabilityError extends Error {
19
+ parentExpires;
20
+ parentId;
21
+ constructor({ message, parentExpires, parentId }) {
22
+ super(message);
23
+ this.name = 'ExpiredParentCapabilityError';
24
+ this.parentExpires = parentExpires;
25
+ this.parentId = parentId;
26
+ }
27
+ }
28
+ /**
29
+ * The child's expiry: `min(now + ttlMs, parent.expires)`. A parent already
30
+ * expired is refused rather than minted from, since the child would verify
31
+ * nowhere.
32
+ *
33
+ * @param options {object}
34
+ * @param options.ttlMs {number}
35
+ * @param [options.parent] {IZcap} the stored parent capability, absent on
36
+ * the root-parented shape (a synthesized root has no expiry)
37
+ * @param options.now {number} epoch milliseconds
38
+ * @returns {Date}
39
+ */
40
+ function childExpires({ ttlMs, parent, now }) {
41
+ const requested = now + ttlMs;
42
+ const parentExpires = Date.parse(parent?.expires ?? '');
43
+ if (Number.isNaN(parentExpires)) {
44
+ return new Date(requested);
45
+ }
46
+ if (parentExpires <= now) {
47
+ const expiresIso = new Date(parentExpires).toISOString();
48
+ throw new ExpiredParentCapabilityError({
49
+ message: 'single-verb Space capability: the parent capability expired at ' +
50
+ `${expiresIso}; refusing to mint a child that verifies nowhere.`,
51
+ parentExpires: expiresIso,
52
+ parentId: parent?.id
53
+ });
54
+ }
55
+ return new Date(Math.min(requested, parentExpires));
56
+ }
57
+ /**
58
+ * Refuses a child the parent cannot authorize. A parent's `allowedAction` may
59
+ * be a single string, a list, or absent (which delegates every action), so
60
+ * the check normalizes before asking. Refusing locally is what keeps the
61
+ * failure legible: an unauthorized invocation comes back from the storage
62
+ * server as a 404, indistinguishable from a Space that is simply gone, so a
63
+ * child that verifies nowhere must never be minted and sent.
64
+ *
65
+ * @param options {object}
66
+ * @param options.parent {IZcap}
67
+ * @param options.verb {SpaceCapabilityVerb}
68
+ * @returns {void}
69
+ */
70
+ function assertParentAllows({ parent, verb }) {
71
+ const allowed = parent
72
+ .allowedAction;
73
+ if (allowed === undefined) {
74
+ return;
75
+ }
76
+ const actions = Array.isArray(allowed) ? allowed : [allowed];
77
+ if (actions.length === 0 || actions.includes(verb)) {
78
+ return;
79
+ }
80
+ throw new Error(`single-verb Space capability: the parent capability allows ` +
81
+ `${actions.join(', ')} and not ${verb}; refusing to mint a child that ` +
82
+ 'verifies nowhere.');
83
+ }
84
+ /**
85
+ * Mints a single-verb child of a STORED parent capability -- the three-link
86
+ * shape, used on an unlock Space whose management zcap the account already
87
+ * holds. The child's `invocationTarget` is the parent's unchanged.
88
+ *
89
+ * @param options {object}
90
+ * @param options.zcapClient {ZcapClient} the delegating signer (the ladder
91
+ * VM's client on a transient session, an enrolled client's on a remembered
92
+ * one)
93
+ * @param options.parent {IZcap} the stored parent capability
94
+ * @param options.verb {SpaceCapabilityVerb} the child's one allowed action
95
+ * @param options.controller {string} the delegatee DID
96
+ * @param [options.ttlMs] {number} the child's requested lifetime
97
+ * @param [options.now] {number} the clock the child is minted against
98
+ * (epoch milliseconds); a caller holding server-relative time passes it
99
+ * so the proof's `created` and the child's `expires` come off one clock
100
+ * @returns {Promise<IZcap>}
101
+ */
102
+ export async function mintSpaceVerbCapability({ zcapClient, parent, verb, controller, ttlMs = DELETION_ZCAP_TTL_MS, now = Date.now() }) {
103
+ const invocationTarget = parent
104
+ .invocationTarget;
105
+ if (invocationTarget === undefined) {
106
+ throw new Error('single-verb Space capability: the parent capability names no ' +
107
+ '`invocationTarget`.');
108
+ }
109
+ assertParentAllows({ parent, verb });
110
+ return (await zcapClient.delegate({
111
+ capability: parent,
112
+ invocationTarget,
113
+ controller,
114
+ allowedActions: [verb],
115
+ expires: childExpires({ ttlMs, parent, now }),
116
+ now
117
+ }));
118
+ }
119
+ /**
120
+ * Mints a single-verb child of a Space's SYNTHESIZED ROOT -- the two-link
121
+ * shape, used on the account Space and an auxiliary annex Space, where the
122
+ * session holds no stored parent. The child's `invocationTarget` is the bare
123
+ * Space URL, with no trailing slash, so the deletion child covers the Space
124
+ * itself rather than its items subtree.
125
+ *
126
+ * @param options {object}
127
+ * @param options.zcapClient {ZcapClient} the delegating signer
128
+ * @param options.storageServerUrl {string} the Space's storage server
129
+ * @param options.spaceId {string}
130
+ * @param options.verb {SpaceCapabilityVerb} the child's one allowed action
131
+ * @param options.controller {string} the delegatee DID
132
+ * @param [options.ttlMs] {number} the child's requested lifetime
133
+ * @param [options.now] {number} the clock the child is minted against
134
+ * (epoch milliseconds); a caller holding server-relative time passes it
135
+ * so the proof's `created` and the child's `expires` come off one clock
136
+ * @returns {Promise<IZcap>}
137
+ */
138
+ export async function mintSpaceRootVerbCapability({ zcapClient, storageServerUrl, spaceId, verb, controller, ttlMs = DELETION_ZCAP_TTL_MS, now = Date.now() }) {
139
+ const spaceUrl = toUrl({
140
+ serverUrl: storageServerUrl,
141
+ path: spacePath(spaceId)
142
+ });
143
+ return (await zcapClient.delegate({
144
+ capability: rootCapabilityId(spaceUrl),
145
+ invocationTarget: spaceUrl,
146
+ controller,
147
+ allowedActions: [verb],
148
+ expires: childExpires({ ttlMs, now }),
149
+ now
150
+ }));
151
+ }
152
+ //# sourceMappingURL=spaceCapability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spaceCapability.js","sourceRoot":"","sources":["../../src/clientAnnex/spaceCapability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /*!
2
+ * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
+ */
4
+ /**
5
+ * The stage vocabulary of the credential-anchored ceremonies: the ordered
6
+ * tuples their `onStage` notifiers report from, the aliases, and the union
7
+ * types derived from them. The ceremonies emit from these types, so a
8
+ * mistyped stage name fails the type check, and a consumer's progress
9
+ * display derives its step list from the tuples instead of re-declaring the
10
+ * names as bare strings.
11
+ *
12
+ * The vocabulary sits in a leaf module of its own rather than beside the
13
+ * code that emits it, because a progress display needs the names and none of
14
+ * the ceremony: an app store importing them from `establish.js` would pull
15
+ * that whole module graph into its bundle.
16
+ */
17
+ import { KMS_AUTHENTICATION_STAGE } from '../stages.js';
18
+ export { KMS_AUTHENTICATION_STAGE };
19
+ /**
20
+ * The controller-promotion stage, emitted by the genesis ceremony when it
21
+ * promotes and by the establishment when the promotion is deferred to it.
22
+ * Declared once so the two emitters cannot drift apart.
23
+ */
24
+ export declare const CONTROLLER_PROMOTION_STAGE = "controller-promotion";
25
+ /**
26
+ * The stages `ensureCredentialAnchoredAccountGenesis` reports, in the order
27
+ * they fire, up to but not including the controller promotion (which a
28
+ * caller may defer -- see {@link CONTROLLER_PROMOTION_STAGE}).
29
+ */
30
+ export declare const CREDENTIAL_ANCHORED_GENESIS_STAGES: readonly ["space-provisioning", "kms-authentication", "webvh-genesis", "roster-genesis", "collection-epochs"];
31
+ /**
32
+ * A stage name the credential-anchored genesis may emit.
33
+ */
34
+ export type CredentialAnchoredGenesisStage = (typeof CREDENTIAL_ANCHORED_GENESIS_STAGES)[number] | typeof CONTROLLER_PROMOTION_STAGE;
35
+ /**
36
+ * The establishment's stage names in the order they fire: its own marks with
37
+ * the genesis ceremony's spliced in where that ceremony runs (stage 2).
38
+ *
39
+ * Two kinds of name are absent by construction. The stages whose body is a
40
+ * caller's own closure (`beforePromotion`, `promoteKeystore`) are the
41
+ * caller's to name and mark, since only the caller knows what its closure
42
+ * does; and an alias below fires in place of a listed name rather than
43
+ * beside it.
44
+ */
45
+ export declare const CREDENTIAL_ANCHORED_ESTABLISHMENT_STAGES: readonly ["interim-bind", "space-provisioning", "kms-authentication", "webvh-genesis", "roster-genesis", "collection-epochs", "account-log-read", "annex-generation", "record-rebind", "controller-promotion"];
46
+ /**
47
+ * A stage the establishment reports as a step of its own.
48
+ */
49
+ export type CredentialAnchoredEstablishmentStage = (typeof CREDENTIAL_ANCHORED_ESTABLISHMENT_STAGES)[number];
50
+ /**
51
+ * Stage names that fire in place of a listed stage rather than beside it,
52
+ * and the stage each stands in for. The heal branch delivers the collection
53
+ * epochs off an adopted roster instead of minting them, so its mark closes
54
+ * the boundary `collection-epochs` closes on a fresh run.
55
+ */
56
+ export declare const CREDENTIAL_ANCHORED_ESTABLISHMENT_STAGE_ALIASES: {
57
+ readonly 'roster-delivered-epochs': "collection-epochs";
58
+ };
59
+ /**
60
+ * Every name the establishment may emit: the stages above plus the aliases.
61
+ */
62
+ export type CredentialAnchoredEstablishmentStageName = CredentialAnchoredEstablishmentStage | keyof typeof CREDENTIAL_ANCHORED_ESTABLISHMENT_STAGE_ALIASES;
63
+ //# sourceMappingURL=stages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/stages.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,EAAE,wBAAwB,EAAE,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,yBAAyB,CAAA;AAEhE;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,+GAMrC,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,8BAA8B,GACtC,CAAC,OAAO,kCAAkC,CAAC,CAAC,MAAM,CAAC,GACnD,OAAO,0BAA0B,CAAA;AAErC;;;;;;;;;GASG;AACH,eAAO,MAAM,wCAAwC,gNAO3C,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,oCAAoC,GAC9C,CAAC,OAAO,wCAAwC,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,+CAA+C;;CAEa,CAAA;AAEzE;;GAEG;AACH,MAAM,MAAM,wCAAwC,GAChD,oCAAoC,GACpC,MAAM,OAAO,+CAA+C,CAAA"}
@@ -0,0 +1,64 @@
1
+ /*!
2
+ * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
+ */
4
+ /**
5
+ * The stage vocabulary of the credential-anchored ceremonies: the ordered
6
+ * tuples their `onStage` notifiers report from, the aliases, and the union
7
+ * types derived from them. The ceremonies emit from these types, so a
8
+ * mistyped stage name fails the type check, and a consumer's progress
9
+ * display derives its step list from the tuples instead of re-declaring the
10
+ * names as bare strings.
11
+ *
12
+ * The vocabulary sits in a leaf module of its own rather than beside the
13
+ * code that emits it, because a progress display needs the names and none of
14
+ * the ceremony: an app store importing them from `establish.js` would pull
15
+ * that whole module graph into its bundle.
16
+ */
17
+ import { KMS_AUTHENTICATION_STAGE } from '../stages.js';
18
+ export { KMS_AUTHENTICATION_STAGE };
19
+ /**
20
+ * The controller-promotion stage, emitted by the genesis ceremony when it
21
+ * promotes and by the establishment when the promotion is deferred to it.
22
+ * Declared once so the two emitters cannot drift apart.
23
+ */
24
+ export const CONTROLLER_PROMOTION_STAGE = 'controller-promotion';
25
+ /**
26
+ * The stages `ensureCredentialAnchoredAccountGenesis` reports, in the order
27
+ * they fire, up to but not including the controller promotion (which a
28
+ * caller may defer -- see {@link CONTROLLER_PROMOTION_STAGE}).
29
+ */
30
+ export const CREDENTIAL_ANCHORED_GENESIS_STAGES = [
31
+ 'space-provisioning',
32
+ KMS_AUTHENTICATION_STAGE,
33
+ 'webvh-genesis',
34
+ 'roster-genesis',
35
+ 'collection-epochs'
36
+ ];
37
+ /**
38
+ * The establishment's stage names in the order they fire: its own marks with
39
+ * the genesis ceremony's spliced in where that ceremony runs (stage 2).
40
+ *
41
+ * Two kinds of name are absent by construction. The stages whose body is a
42
+ * caller's own closure (`beforePromotion`, `promoteKeystore`) are the
43
+ * caller's to name and mark, since only the caller knows what its closure
44
+ * does; and an alias below fires in place of a listed name rather than
45
+ * beside it.
46
+ */
47
+ export const CREDENTIAL_ANCHORED_ESTABLISHMENT_STAGES = [
48
+ 'interim-bind',
49
+ ...CREDENTIAL_ANCHORED_GENESIS_STAGES,
50
+ 'account-log-read',
51
+ 'annex-generation',
52
+ 'record-rebind',
53
+ CONTROLLER_PROMOTION_STAGE
54
+ ];
55
+ /**
56
+ * Stage names that fire in place of a listed stage rather than beside it,
57
+ * and the stage each stands in for. The heal branch delivers the collection
58
+ * epochs off an adopted roster instead of minting them, so its mark closes
59
+ * the boundary `collection-epochs` closes on a fresh run.
60
+ */
61
+ export const CREDENTIAL_ANCHORED_ESTABLISHMENT_STAGE_ALIASES = {
62
+ 'roster-delivered-epochs': 'collection-epochs'
63
+ };
64
+ //# sourceMappingURL=stages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stages.js","sourceRoot":"","sources":["../../src/clientAnnex/stages.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,EAAE,wBAAwB,EAAE,CAAA;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAA;AAEhE;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,oBAAoB;IACpB,wBAAwB;IACxB,eAAe;IACf,gBAAgB;IAChB,mBAAmB;CACX,CAAA;AASV;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,cAAc;IACd,GAAG,kCAAkC;IACrC,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,0BAA0B;CAClB,CAAA;AAQV;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAG;IAC7D,yBAAyB,EAAE,mBAAmB;CACyB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { ZcapClient } from '@interop/ezcap';
1
+ import type { ZcapClient } from '@interop/ezcap';
2
2
  import type { ICapabilityAgent } from '../webvh/zcap.js';
3
3
  /**
4
4
  * A ZcapClient signing with the account ladder's document-visible
@@ -1 +1 @@
1
- {"version":3,"file":"zcap.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/zcap.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,UAAU,EACV,UAAU,EACX,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;CACvB,GAAG,OAAO,CAAC,UAAU,CAAC,CAqBtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CAAC,EAClC,UAAU,EACX,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;CACvB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA4B5B"}
1
+ {"version":3,"file":"zcap.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/zcap.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAgDxD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,UAAU,EACV,UAAU,EACX,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;CACvB,GAAG,OAAO,CAAC,UAAU,CAAC,CAGtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CAAC,EAClC,UAAU,EACX,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;CACvB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkB5B"}
@@ -8,10 +8,45 @@
8
8
  * only the credential-anchored flows (a ladder-anchored account, a transient
9
9
  * session holding nothing but the unlock credential) ever sign as the ladder.
10
10
  */
11
- import { EddsaJcs2022 } from '@interop/ed25519-signature/eddsa-jcs-2022';
12
11
  import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
13
- import { ZcapClient } from '@interop/ezcap';
12
+ import { zcapClientForSigner } from '../identity/agents.js';
14
13
  import { ladderVmSeed } from './ladder.js';
14
+ /**
15
+ * The ladder VM's key pair as a signer under the DID it is presented as, the
16
+ * one derivation both entry points below share (`Ed25519VerificationKey`
17
+ * generated over `ladderVmSeed`), so the bare did:key bootstrap identity and
18
+ * the document-published ladder VM are one key. The controller is all the two
19
+ * differ in, and the verification-method id is `<controller>#<multibase>` in
20
+ * both shapes.
21
+ *
22
+ * @param options {object}
23
+ * @param options.ladderSeed {Uint8Array} the credential's ladder seed
24
+ * @param [options.accountDid] {string} the DID the key is presented under;
25
+ * omitted, the key stands under its own bare did:key
26
+ * @returns {Promise<object>} `{ publicKeyMultibase, controller, signer }`
27
+ */
28
+ async function ladderVmSigner({ ladderSeed, accountDid }) {
29
+ const keyPair = await Ed25519VerificationKey.generate({
30
+ seed: ladderVmSeed({ ladderSeed })
31
+ });
32
+ const { publicKeyMultibase } = keyPair;
33
+ const controller = accountDid ?? `did:key:${publicKeyMultibase}`;
34
+ const id = `${controller}#${publicKeyMultibase}`;
35
+ // The key pair refuses to hand out a signer without an id; set the
36
+ // verification-method id before asking.
37
+ keyPair.id = id;
38
+ keyPair.controller = controller;
39
+ const keySigner = keyPair.signer();
40
+ return {
41
+ publicKeyMultibase,
42
+ controller,
43
+ signer: {
44
+ id,
45
+ type: 'Ed25519VerificationKey2020',
46
+ sign: keySigner.sign.bind(keySigner)
47
+ }
48
+ };
49
+ }
15
50
  /**
16
51
  * A ZcapClient signing with the account ladder's document-visible
17
52
  * verification method -- the ladder VM, derived from the credential's ladder
@@ -40,24 +75,8 @@ import { ladderVmSeed } from './ladder.js';
40
75
  * @returns {Promise<ZcapClient>}
41
76
  */
42
77
  export async function ladderVmZcapClient({ accountDid, ladderSeed }) {
43
- const keyPair = await Ed25519VerificationKey.generate({
44
- seed: ladderVmSeed({ ladderSeed })
45
- });
46
- const { publicKeyMultibase } = keyPair;
47
- // The key pair refuses to hand out a signer without an id; set the
48
- // document's verification-method id before asking.
49
- keyPair.id = `${accountDid}#${publicKeyMultibase}`;
50
- const keySigner = keyPair.signer();
51
- const signer = {
52
- id: `${accountDid}#${publicKeyMultibase}`,
53
- type: 'Ed25519VerificationKey2020',
54
- sign: keySigner.sign.bind(keySigner)
55
- };
56
- return new ZcapClient({
57
- SuiteClass: EddsaJcs2022,
58
- invocationSigner: signer,
59
- delegationSigner: signer
60
- });
78
+ const { signer } = await ladderVmSigner({ ladderSeed, accountDid });
79
+ return zcapClientForSigner({ signer });
61
80
  }
62
81
  /**
63
82
  * The account ladder VM's key pair presented as a plain did:key agent -- the
@@ -78,21 +97,9 @@ export async function ladderVmZcapClient({ accountDid, ladderSeed }) {
78
97
  * @returns {Promise<ICapabilityAgent>}
79
98
  */
80
99
  export async function ladderVmAgent({ ladderSeed }) {
81
- const keyPair = await Ed25519VerificationKey.generate({
82
- seed: ladderVmSeed({ ladderSeed })
83
- });
84
- const { publicKeyMultibase } = keyPair;
85
- const did = `did:key:${publicKeyMultibase}`;
86
- // The key pair refuses to hand out a signer without an id; the did:key
87
- // verification-method form is what the server's did:key resolver expects.
88
- keyPair.id = `${did}#${publicKeyMultibase}`;
89
- keyPair.controller = did;
90
- const keySigner = keyPair.signer();
91
- const signer = {
92
- id: `${did}#${publicKeyMultibase}`,
93
- type: 'Ed25519VerificationKey2020',
94
- sign: keySigner.sign.bind(keySigner)
95
- };
100
+ // No account DID: the key stands under its own bare did:key, the
101
+ // verification-method form the server's did:key resolver expects.
102
+ const { publicKeyMultibase, controller: did, signer } = await ladderVmSigner({ ladderSeed });
96
103
  return {
97
104
  id: did,
98
105
  handle: 'ladder-vm',
@@ -1 +1 @@
1
- {"version":3,"file":"zcap.js","sourceRoot":"","sources":["../../src/clientAnnex/zcap.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,UAAU,EACV,UAAU,EAIX;IACC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC;QACpD,IAAI,EAAE,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;KACnC,CAAC,CAAA;IACF,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAA;IACtC,mEAAmE;IACnE,mDAAmD;IACnD,OAAO,CAAC,EAAE,GAAG,GAAG,UAAU,IAAI,kBAAkB,EAAE,CAAA;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;IAClC,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,GAAG,UAAU,IAAI,kBAAkB,EAAE;QACzC,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAEV;KAC1B,CAAA;IACD,OAAO,IAAI,UAAU,CAAC;QACpB,UAAU,EAAE,YAAY;QACxB,gBAAgB,EAAE,MAAM;QACxB,gBAAgB,EAAE,MAAM;KACzB,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,UAAU,EAGX;IACC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC;QACpD,IAAI,EAAE,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;KACnC,CAAC,CAAA;IACF,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAA;IACtC,MAAM,GAAG,GAAG,WAAW,kBAAkB,EAAE,CAAA;IAC3C,uEAAuE;IACvE,0EAA0E;IAC1E,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAC3C,OAAO,CAAC,UAAU,GAAG,GAAG,CAAA;IACxB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;IAClC,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,GAAG,GAAG,IAAI,kBAAkB,EAAE;QAClC,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAEV;KAC1B,CAAA;IACD,OAAO;QACL,EAAE,EAAE,GAAG;QACP,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;QACvB,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7B,IAAI,EAAE,4BAA4B;YAClC,UAAU,EAAE,GAAG;YACf,kBAAkB;SACnB,CAAC;KACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"zcap.js","sourceRoot":"","sources":["../../src/clientAnnex/zcap.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,cAAc,CAAC,EAC5B,UAAU,EACV,UAAU,EAIX;IACC,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC;QACpD,IAAI,EAAE,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;KACnC,CAAC,CAAA;IACF,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAA;IACtC,MAAM,UAAU,GAAG,UAAU,IAAI,WAAW,kBAAkB,EAAE,CAAA;IAChE,MAAM,EAAE,GAAG,GAAG,UAAU,IAAI,kBAAkB,EAAE,CAAA;IAChD,mEAAmE;IACnE,wCAAwC;IACxC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAA;IACf,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;IAClC,OAAO;QACL,kBAAkB;QAClB,UAAU;QACV,MAAM,EAAE;YACN,EAAE;YACF,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAEV;SAC1B;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,UAAU,EACV,UAAU,EAIX;IACC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAA;IACnE,OAAO,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,UAAU,EAGX;IACC,iEAAiE;IACjE,kEAAkE;IAClE,MAAM,EACJ,kBAAkB,EAClB,UAAU,EAAE,GAAG,EACf,MAAM,EACP,GAAG,MAAM,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;IACxC,OAAO;QACL,EAAE,EAAE,GAAG;QACP,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;QACvB,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7B,IAAI,EAAE,4BAA4B;YAClC,UAAU,EAAE,GAAG;YACf,kBAAkB;SACnB,CAAC;KACH,CAAA;AACH,CAAC"}
@@ -21,6 +21,15 @@
21
21
  * different client's authority, so the row is disabled rather than guessed
22
22
  * at.
23
23
  *
24
+ * Two of the three are properties of the acting signer rather than of the
25
+ * account, so they lift on the ladder branch (`decisions/0017`). A standing
26
+ * credential's rung signs the removal entry, so it has no self to refuse, and
27
+ * removing the last client abandons no update authority: the account lands
28
+ * ladder-anchored, the shape a credential-anchored signup produces, and the
29
+ * credential's own ladder extends the log from there. The row's confirm copy
30
+ * states that transition. The unattributed-update-key refusal is a property
31
+ * of the log and stands on both branches.
32
+ *
24
33
  * And one non-failure: a cascade whose collection fan-out left failures
25
34
  * behind is a **resumable success**. The wallet IS disconnected -- the
26
35
  * document edit landed first and is the pull axis everywhere -- and the
@@ -44,11 +53,16 @@ export type DisconnectRefusal = 'self' | 'last-client' | 'unattributed-update-ke
44
53
  * @param options.client {AccountClientView} the row in question
45
54
  * @param options.clients {AccountClientView[]} the whole listing (the
46
55
  * last-client rule is a property of the account, not of the row)
56
+ * @param [options.signerKind] {string} who would sign the removal entry:
57
+ * `'client'` (the default, an enrolled client's update keys) or `'ladder'`
58
+ * (a standing credential's rung), which lifts the self and last-client
59
+ * refusals -- see the module doc
47
60
  * @returns {{ allowed: boolean, refusal?: DisconnectRefusal }}
48
61
  */
49
- export declare function disconnectEligibility({ client, clients }: {
62
+ export declare function disconnectEligibility({ client, clients, signerKind }: {
50
63
  client: AccountClientView;
51
64
  clients: AccountClientView[];
65
+ signerKind?: 'client' | 'ladder';
52
66
  }): {
53
67
  allowed: boolean;
54
68
  refusal?: DisconnectRefusal;
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/clients/policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAC3B,MAAM,GAAG,aAAa,GAAG,yBAAyB,CAAA;AAEpD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,OAAO,EACR,EAAE;IACD,MAAM,EAAE,iBAAiB,CAAA;IACzB,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAC7B,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAWpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACP,EAAE;IACD,MAAM,EAAE,iBAAiB,CAAA;CAC1B,GAAG,iBAAiB,CAWpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,UAAU,EACX,EAAE;IACD,WAAW,EAAE,oBAAoB,CAAA;IACjC,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAC9B,GAAG,UAAU,GAAG,SAAS,CAIzB"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/clients/policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAC3B,MAAM,GAAG,aAAa,GAAG,yBAAyB,CAAA;AAEpD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,OAAO,EACP,UAAqB,EACtB,EAAE;IACD,MAAM,EAAE,iBAAiB,CAAA;IACzB,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CACjC,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAapD;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACP,EAAE;IACD,MAAM,EAAE,iBAAiB,CAAA;CAC1B,GAAG,iBAAiB,CAWpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,UAAU,EACX,EAAE;IACD,WAAW,EAAE,oBAAoB,CAAA;IACjC,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAC9B,GAAG,UAAU,GAAG,SAAS,CAIzB"}