@interop/wallet-core 0.61.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 (313) 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 +126 -35
  15. package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
  16. package/dist/clientAnnex/forgetLast.js +208 -60
  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 +101 -33
  23. package/dist/clientAnnex/heal.d.ts.map +1 -1
  24. package/dist/clientAnnex/heal.js +559 -212
  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 +304 -18
  31. package/dist/clientAnnex/ladder.d.ts.map +1 -1
  32. package/dist/clientAnnex/ladder.js +942 -64
  33. package/dist/clientAnnex/ladder.js.map +1 -1
  34. package/dist/clientAnnex/ladderAnchored.d.ts +261 -28
  35. package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
  36. package/dist/clientAnnex/ladderAnchored.js +521 -295
  37. package/dist/clientAnnex/ladderAnchored.js.map +1 -1
  38. package/dist/clientAnnex/log.d.ts +193 -38
  39. package/dist/clientAnnex/log.d.ts.map +1 -1
  40. package/dist/clientAnnex/log.js +445 -190
  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 +38 -11
  47. package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
  48. package/dist/clientAnnex/recoveryLadderAnchored.js +177 -55
  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 +24 -8
  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 +89 -9
  139. package/dist/keys/userKeyRoster.d.ts.map +1 -1
  140. package/dist/keys/userKeyRoster.js +262 -19
  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 +4 -1
  163. package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
  164. package/dist/recovery/recoveryDelegation.js +25 -36
  165. package/dist/recovery/recoveryDelegation.js.map +1 -1
  166. package/dist/recovery/recoveryWebvh.d.ts +117 -65
  167. package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
  168. package/dist/recovery/recoveryWebvh.js +279 -126
  169. package/dist/recovery/recoveryWebvh.js.map +1 -1
  170. package/dist/request/classify.d.ts +32 -8
  171. package/dist/request/classify.d.ts.map +1 -1
  172. package/dist/request/classify.js +39 -14
  173. package/dist/request/classify.js.map +1 -1
  174. package/dist/request/ephemeralExchange.d.ts +1 -6
  175. package/dist/request/ephemeralExchange.d.ts.map +1 -1
  176. package/dist/request/ephemeralExchange.js.map +1 -1
  177. package/dist/request/onboarding.d.ts.map +1 -1
  178. package/dist/request/onboarding.js +2 -2
  179. package/dist/request/onboarding.js.map +1 -1
  180. package/dist/request/parse.d.ts.map +1 -1
  181. package/dist/request/parse.js +2 -3
  182. package/dist/request/parse.js.map +1 -1
  183. package/dist/resourceLog/controller.d.ts +34 -12
  184. package/dist/resourceLog/controller.d.ts.map +1 -1
  185. package/dist/resourceLog/controller.js +79 -86
  186. package/dist/resourceLog/controller.js.map +1 -1
  187. package/dist/resourceLog/document.d.ts +182 -0
  188. package/dist/resourceLog/document.d.ts.map +1 -0
  189. package/dist/resourceLog/document.js +159 -0
  190. package/dist/resourceLog/document.js.map +1 -0
  191. package/dist/resourceLog/errors.d.ts +47 -8
  192. package/dist/resourceLog/errors.d.ts.map +1 -1
  193. package/dist/resourceLog/errors.js +54 -8
  194. package/dist/resourceLog/errors.js.map +1 -1
  195. package/dist/resourceLog/index.d.ts +7 -3
  196. package/dist/resourceLog/index.d.ts.map +1 -1
  197. package/dist/resourceLog/index.js +7 -3
  198. package/dist/resourceLog/index.js.map +1 -1
  199. package/dist/resourceLog/ladderRungs.d.ts +35 -0
  200. package/dist/resourceLog/ladderRungs.d.ts.map +1 -0
  201. package/dist/resourceLog/ladderRungs.js +352 -0
  202. package/dist/resourceLog/ladderRungs.js.map +1 -0
  203. package/dist/resourceLog/license.d.ts +42 -17
  204. package/dist/resourceLog/license.d.ts.map +1 -1
  205. package/dist/resourceLog/license.js +38 -24
  206. package/dist/resourceLog/license.js.map +1 -1
  207. package/dist/space/activity.d.ts +15 -15
  208. package/dist/space/activity.d.ts.map +1 -1
  209. package/dist/space/activity.js +15 -15
  210. package/dist/space/activity.js.map +1 -1
  211. package/dist/space/collections.d.ts +11 -0
  212. package/dist/space/collections.d.ts.map +1 -1
  213. package/dist/space/collections.js +13 -0
  214. package/dist/space/collections.js.map +1 -1
  215. package/dist/space/deleteSpace.d.ts +28 -0
  216. package/dist/space/deleteSpace.d.ts.map +1 -0
  217. package/dist/space/deleteSpace.js +44 -0
  218. package/dist/space/deleteSpace.js.map +1 -0
  219. package/dist/space/errors.d.ts.map +1 -1
  220. package/dist/space/errors.js +0 -1
  221. package/dist/space/errors.js.map +1 -1
  222. package/dist/space/index.d.ts +6 -0
  223. package/dist/space/index.d.ts.map +1 -1
  224. package/dist/space/index.js +6 -0
  225. package/dist/space/index.js.map +1 -1
  226. package/dist/space/plaintextCollection.d.ts +43 -0
  227. package/dist/space/plaintextCollection.d.ts.map +1 -0
  228. package/dist/space/plaintextCollection.js +17 -0
  229. package/dist/space/plaintextCollection.js.map +1 -0
  230. package/dist/stages.d.ts +23 -0
  231. package/dist/stages.d.ts.map +1 -0
  232. package/dist/stages.js +23 -0
  233. package/dist/stages.js.map +1 -0
  234. package/dist/sync/index.d.ts +7 -0
  235. package/dist/sync/index.d.ts.map +1 -1
  236. package/dist/sync/index.js +7 -0
  237. package/dist/sync/index.js.map +1 -1
  238. package/dist/sync/push.js +4 -4
  239. package/dist/sync/push.js.map +1 -1
  240. package/dist/sync/remint.js +2 -2
  241. package/dist/sync/remint.js.map +1 -1
  242. package/dist/sync/types.d.ts +41 -1
  243. package/dist/sync/types.d.ts.map +1 -1
  244. package/dist/sync/types.js +47 -1
  245. package/dist/sync/types.js.map +1 -1
  246. package/dist/unlock/index.d.ts +6 -2
  247. package/dist/unlock/index.d.ts.map +1 -1
  248. package/dist/unlock/index.js +5 -1
  249. package/dist/unlock/index.js.map +1 -1
  250. package/dist/unlock/retire.d.ts +95 -14
  251. package/dist/unlock/retire.d.ts.map +1 -1
  252. package/dist/unlock/retire.js +102 -10
  253. package/dist/unlock/retire.js.map +1 -1
  254. package/dist/unlock/standingClient.d.ts.map +1 -1
  255. package/dist/unlock/standingClient.js +5 -1
  256. package/dist/unlock/standingClient.js.map +1 -1
  257. package/dist/unlock/standingWebvh.d.ts +341 -49
  258. package/dist/unlock/standingWebvh.d.ts.map +1 -1
  259. package/dist/unlock/standingWebvh.js +608 -164
  260. package/dist/unlock/standingWebvh.js.map +1 -1
  261. package/dist/webvh/accountEntry.d.ts +146 -0
  262. package/dist/webvh/accountEntry.d.ts.map +1 -0
  263. package/dist/webvh/accountEntry.js +239 -0
  264. package/dist/webvh/accountEntry.js.map +1 -0
  265. package/dist/webvh/didWeb.d.ts +12 -7
  266. package/dist/webvh/didWeb.d.ts.map +1 -1
  267. package/dist/webvh/didWeb.js +2 -2
  268. package/dist/webvh/didWeb.js.map +1 -1
  269. package/dist/webvh/didWebProjection.d.ts +164 -0
  270. package/dist/webvh/didWebProjection.d.ts.map +1 -0
  271. package/dist/webvh/didWebProjection.js +230 -0
  272. package/dist/webvh/didWebProjection.js.map +1 -0
  273. package/dist/webvh/didWebvh.d.ts +278 -138
  274. package/dist/webvh/didWebvh.d.ts.map +1 -1
  275. package/dist/webvh/didWebvh.js +314 -345
  276. package/dist/webvh/didWebvh.js.map +1 -1
  277. package/dist/webvh/enrollClient.d.ts +65 -0
  278. package/dist/webvh/enrollClient.d.ts.map +1 -0
  279. package/dist/webvh/enrollClient.js +172 -0
  280. package/dist/webvh/enrollClient.js.map +1 -0
  281. package/dist/webvh/index.d.ts +37 -12
  282. package/dist/webvh/index.d.ts.map +1 -1
  283. package/dist/webvh/index.js +33 -10
  284. package/dist/webvh/index.js.map +1 -1
  285. package/dist/webvh/listClients.d.ts +1 -33
  286. package/dist/webvh/listClients.d.ts.map +1 -1
  287. package/dist/webvh/listClients.js +2 -28
  288. package/dist/webvh/listClients.js.map +1 -1
  289. package/dist/webvh/revokeClient.d.ts +89 -11
  290. package/dist/webvh/revokeClient.d.ts.map +1 -1
  291. package/dist/webvh/revokeClient.js +182 -47
  292. package/dist/webvh/revokeClient.js.map +1 -1
  293. package/dist/webvh/standingZcap.d.ts +61 -14
  294. package/dist/webvh/standingZcap.d.ts.map +1 -1
  295. package/dist/webvh/standingZcap.js +91 -0
  296. package/dist/webvh/standingZcap.js.map +1 -1
  297. package/dist/webvh/verifyLog.d.ts +59 -5
  298. package/dist/webvh/verifyLog.d.ts.map +1 -1
  299. package/dist/webvh/verifyLog.js +76 -11
  300. package/dist/webvh/verifyLog.js.map +1 -1
  301. package/dist/webvh/wasIdStore.d.ts +8 -8
  302. package/dist/webvh/wasIdStore.d.ts.map +1 -1
  303. package/dist/webvh/wasIdStore.js +39 -14
  304. package/dist/webvh/wasIdStore.js.map +1 -1
  305. package/dist/webvh/zcap.d.ts +14 -1
  306. package/dist/webvh/zcap.d.ts.map +1 -1
  307. package/dist/webvh/zcap.js +3 -27
  308. package/dist/webvh/zcap.js.map +1 -1
  309. package/package.json +5 -5
  310. package/dist/webvh/keyAgreement.d.ts +0 -72
  311. package/dist/webvh/keyAgreement.d.ts.map +0 -1
  312. package/dist/webvh/keyAgreement.js +0 -47
  313. package/dist/webvh/keyAgreement.js.map +0 -1
@@ -1,6 +1,8 @@
1
1
  import type { DIDDoc, DIDLog, VerificationMethod } from '@interop/did-method-webvh';
2
- import type { ClientWebvhUpdateKeys, PublishedWebvhLog, WebvhIdStore } from '../webvh/didWebvh.js';
2
+ import type { AccountLogSigner } from '../webvh/accountEntry.js';
3
+ import type { WebvhIdStore } from '../webvh/didWebvh.js';
3
4
  import type { ResourceLogPinStore } from '@interop/vh-resource-log';
5
+ import { type LadderStandingInventory } from '../clientAnnex/ladder.js';
4
6
  /**
5
7
  * The narrow store seam the self-enrolling and delegated-bridge ceremonies
6
8
  * write through: a public read of the log and the delegated `did.jsonl` PUT.
@@ -8,6 +10,87 @@ import type { ResourceLogPinStore } from '@interop/vh-resource-log';
8
10
  * it too.
9
11
  */
10
12
  export type UnlockLogStore = Pick<WebvhIdStore, 'getIdResourceRaw' | 'putIdResource'>;
13
+ /**
14
+ * Which half of a credential's inventory one bind entry carries. `'all'` is
15
+ * the merged entry: the `keyAgreement` member, the update-key commitment, and
16
+ * the ladder VM together. The split halves exist for a ceremony that must
17
+ * land the credential's decryption material before its authority: `'key'`
18
+ * publishes the `keyAgreement` member alone, `'authority'` installs the
19
+ * ladder VM and commits the rung-0 hash.
20
+ */
21
+ export type UnlockInventoryPart = 'all' | 'key' | 'authority';
22
+ /**
23
+ * The ladder inventory the removal edit resolved from the log diverges from
24
+ * what the caller was told one read earlier. A ceremony that names its
25
+ * expected ladder VM ids (the retirement's stage 0, which hands the same list
26
+ * to the dependent-record re-mint pass) gets this refusal BEFORE the edit is
27
+ * published, so a concurrent ceremony -- or a host serving different log
28
+ * versions to the two reads -- cannot make the strike diverge from what the
29
+ * re-mint pass acted on. Nothing is written. Matched on `name` (the error
30
+ * crosses app-injected seams that may resolve to another copy of this
31
+ * package).
32
+ */
33
+ export declare class LadderInventoryDriftError extends Error {
34
+ readonly expected: string[];
35
+ readonly attributed: string[];
36
+ constructor({ expected, attributed }: {
37
+ expected: string[];
38
+ attributed: string[];
39
+ });
40
+ }
41
+ /**
42
+ * A retirement whose ladder attribution could not claim the retired
43
+ * credential's ladder VM, refused with nothing written. The shape is the
44
+ * seedless strike claiming nothing: the credential still stands in the
45
+ * document, the walk struck no ladder VM, and ladder VMs stand there that it
46
+ * could not claim. A leftover VM would keep the retired credential's
47
+ * delegation authority alive -- under `capabilityDelegation` it can still
48
+ * sign a DELETE-only capability on the account Space -- and nothing
49
+ * downstream can tell such a leftover from a sibling credential's standing
50
+ * VM, so the retirement is the one place the state can be closed
51
+ * (`decisions/0015`).
52
+ *
53
+ * `unclaimedLadderVmIds` names every ladder VM the walk left unclaimed, and
54
+ * `anchorKeyMultibase` the update key the walk was anchored on (a recovery
55
+ * code's revocation anchors on the rung-0 multibase the registry recorded at
56
+ * issuance). On a
57
+ * multi-credential account that list carries the siblings' VMs beside the
58
+ * retired credential's, since telling them apart is exactly what the walk
59
+ * could not do. `retryableWithLadderSeed` says whether a retry supplying the
60
+ * credential's ladder seed can let attribution succeed. The gate raises this
61
+ * error only from a seedless claim (a seeded one either strikes the derived
62
+ * VM or proves there is none), so the hint is `true` from this library; the
63
+ * member is the wallets' read for the retry they offer.
64
+ * Matched on `name` (the error crosses app-injected seams that may resolve
65
+ * to another copy of this package).
66
+ */
67
+ export declare class UnclaimedLadderVmRetirementError extends Error {
68
+ readonly unclaimedLadderVmIds: string[];
69
+ readonly retryableWithLadderSeed: boolean;
70
+ readonly anchorKeyMultibase?: string;
71
+ constructor({ unclaimedLadderVmIds, retryableWithLadderSeed, anchorKeyMultibase }: {
72
+ unclaimedLadderVmIds: string[];
73
+ retryableWithLadderSeed: boolean;
74
+ anchorKeyMultibase?: string;
75
+ });
76
+ }
77
+ /**
78
+ * What the removal edit says about ladder VMs: `struck`, the ids this entry
79
+ * removed from the document, and `unclaimed`, the ladder VMs still standing
80
+ * afterwards that this credential's attribution could not claim.
81
+ *
82
+ * `unclaimed` is information, and the caller cannot read an orphan out of it
83
+ * by subtraction alone: a VM standing here may perfectly well be a SIBLING
84
+ * credential's, which this ladder has no business claiming. The gate that
85
+ * refuses the seedless strike claiming nothing is narrower
86
+ * ({@link assertLadderVmClaimed}): it reads `struck` empty beside a
87
+ * non-empty `unclaimed` while the credential itself still stands, and it
88
+ * runs only for a credential that carries a ladder.
89
+ */
90
+ export interface LadderVmRemovalReport {
91
+ struck: string[];
92
+ unclaimed: string[];
93
+ }
11
94
  /**
12
95
  * How a credential's key-agreement key is published in the document: the key
13
96
  * verbatim (a high-entropy credential -- passkey PRF, recovery code), or its
@@ -23,7 +106,7 @@ export type UnlockKeyAgreementPublication = {
23
106
  /**
24
107
  * A standing credential's public inventory as the document and log carry it:
25
108
  * its key-agreement publication and the update key whose hash stands in
26
- * `nextKeyHashes` (ladder rung 0 at bind time; a code's single derived key).
109
+ * `nextKeyHashes` (ladder rung 0 at bind time, for every credential kind).
27
110
  */
28
111
  export interface StandingUnlockKeys {
29
112
  keyAgreement: UnlockKeyAgreementPublication;
@@ -44,6 +127,161 @@ export declare function unlockKeyVmId({ did, keyAgreement }: {
44
127
  did: string;
45
128
  keyAgreement: UnlockKeyAgreementPublication;
46
129
  }): string;
130
+ /**
131
+ * What of a standing credential's ladder currently stands in the published
132
+ * log, resolved with the recorded update key as ANCHOR and the credential's
133
+ * own key-agreement id as the attribution's second arm. The removal edit uses
134
+ * it to know what to strike; the retirement ceremony uses it one stage
135
+ * earlier, to name the ladder VM it is about to strike to the pass that
136
+ * re-mints whatever that VM signed for other credentials.
137
+ *
138
+ * It lives here rather than in the ceremony because this module is the one
139
+ * base-side holder of the annex attribution helpers (the pinned lint
140
+ * exception).
141
+ *
142
+ * @param options {object}
143
+ * @param options.log {DIDLog} a resolved, caller-verified log
144
+ * @param options.did {string} the account DID the log resolves to
145
+ * @param options.unlockKeys {StandingUnlockKeys} the credential's recorded
146
+ * public inventory
147
+ * @param [options.ladderSeed] {Uint8Array} the credential's ladder seed,
148
+ * when the ceremony holds it
149
+ * @returns {Promise<LadderStandingInventory>}
150
+ */
151
+ export declare function attributeUnlockLadderInventory({ log, did, unlockKeys, ladderSeed }: {
152
+ log: DIDLog;
153
+ did: string;
154
+ unlockKeys: StandingUnlockKeys;
155
+ ladderSeed?: Uint8Array;
156
+ }): Promise<LadderStandingInventory>;
157
+ /**
158
+ * What of the document's ladder VMs a credential's attribution claims: the
159
+ * VM its seed derives (when the ceremony holds one), plus every VM the log
160
+ * attributes to its ladder. Resolved once here and shared by the removal
161
+ * edit, the retirement ceremony's pre-edit stage, and the read-only
162
+ * pre-flight, so the three agree on what is struck and what is left.
163
+ *
164
+ * `struck` is what the removal edit strikes: the derived id when it stands,
165
+ * and the attributed ids. `unclaimed` is every ladder VM standing in the
166
+ * document that neither the seed nor the attribution claims -- on a
167
+ * multi-credential account, the siblings' VMs at least. A supplied seed also
168
+ * cross-checks the attribution: a log attributing a VM the seed does not
169
+ * derive refuses with {@link LadderAttributionError}.
170
+ *
171
+ * @param options {object}
172
+ * @param options.doc {DIDDoc} the document the attribution ran over
173
+ * @param options.did {string} the account DID
174
+ * @param options.inventory {LadderStandingInventory} the credential's
175
+ * attributed ladder inventory ({@link attributeUnlockLadderInventory})
176
+ * @param [options.ladderSeed] {Uint8Array} the credential's ladder seed
177
+ * @returns {Promise<{ ladderVmId?: string, struck: string[], unclaimed:
178
+ * string[] }>} the seed-derived VM id when a seed was held
179
+ */
180
+ export declare function ladderVmClaimOf({ doc, did, inventory, ladderSeed }: {
181
+ doc: DIDDoc;
182
+ did: string;
183
+ inventory: LadderStandingInventory;
184
+ ladderSeed?: Uint8Array;
185
+ }): Promise<{
186
+ ladderVmId?: string;
187
+ struck: string[];
188
+ unclaimed: string[];
189
+ }>;
190
+ /**
191
+ * The retirement gate (`decisions/0015`): refuses, with
192
+ * {@link UnclaimedLadderVmRetirementError}, a retirement of a
193
+ * ladder-carrying credential whose SEEDLESS claim struck nothing while a
194
+ * ladder VM that COULD BE THIS CREDENTIAL'S stands unclaimed and the
195
+ * credential itself still stands in the document. Deliberately narrower than
196
+ * "`unclaimed` is non-empty", which every retirement on a healthy
197
+ * multi-credential account produces, and narrower again than the standing
198
+ * unclaimed set: a sibling credential's VM is nothing this retirement could
199
+ * leave behind.
200
+ *
201
+ * Which unclaimed VMs are candidates is
202
+ * {@link ladderVmIdsIntroducedWithCredential}'s question, read off the log's
203
+ * entry shapes rather than off an attribution that has already refused: a VM
204
+ * introduced by the entry that introduced this credential's `keyAgreement`
205
+ * member, or by the entry that committed or authorized its anchor (the split
206
+ * bind, whose key and authority entries sit two versions apart). None, and
207
+ * the credential never had a VM to leave standing, so the retirement
208
+ * completes and strikes what it can. That is the torn issuance's orphan -- a
209
+ * credential with a `keyAgreement` member, no ladder VM, and no committed
210
+ * rung -- which previously could never be removed at all, since a sibling's
211
+ * standing VM refused it forever.
212
+ *
213
+ * Two shapes pass ahead of that. A credential whose `keyAgreement` member is
214
+ * already gone is a completed retirement re-running. And a claim resolved
215
+ * WITH the seed never refuses: the derived VM is either standing (and
216
+ * struck) or absent, and an absent derived VM is proof the credential has
217
+ * nothing to claim -- the last-client transition torn between its strike and
218
+ * reinstall entries leaves exactly that, and a seeded retirement there must
219
+ * complete rather than wait on the transition's re-run. So the error's retry
220
+ * hint is `true` whenever this gate raises it.
221
+ *
222
+ * The caller decides whether the credential carries a ladder.
223
+ *
224
+ * @param options {object}
225
+ * @param options.log {DIDLog} the verified log the claim was resolved over
226
+ * @param options.doc {DIDDoc} the document the claim was resolved over
227
+ * @param options.credentialVmId {string} the credential's `keyAgreement`
228
+ * verification-method id ({@link unlockKeyVmId})
229
+ * @param options.claim {{ ladderVmId?: string, struck: string[], unclaimed:
230
+ * string[] }} from {@link ladderVmClaimOf}
231
+ * @param [options.anchorKeyMultibase] {string} the update key the walk was
232
+ * anchored on: the candidate reading's second anchor form, and named in
233
+ * the refusal
234
+ * @returns {Promise<void>}
235
+ */
236
+ export declare function assertLadderVmClaimed({ log, doc, credentialVmId, claim, anchorKeyMultibase }: {
237
+ log: DIDLog;
238
+ doc: DIDDoc;
239
+ credentialVmId: string;
240
+ claim: {
241
+ ladderVmId?: string;
242
+ struck: string[];
243
+ unclaimed: string[];
244
+ };
245
+ anchorKeyMultibase?: string;
246
+ }): Promise<void>;
247
+ /**
248
+ * The retirement gate run read-only, before anything is written: one pinned
249
+ * read of the account log, the credential's ladder attribution, and
250
+ * {@link assertLadderVmClaimed} over the result. A caller that establishes a
251
+ * replacement credential before it retires the old one (a passphrase change,
252
+ * a tap-confirmed passkey removal) runs this first, so a gate refusal lands
253
+ * the way an invalid-input check does -- nothing established, no
254
+ * pending-shaped registry entry written -- rather than after establishment,
255
+ * where the refusal would leave a torn state no seedless repair can clear.
256
+ * The in-ceremony gate stays as defense in depth, and it is what answers a
257
+ * log entry landing between the pre-flight and the retirement: the
258
+ * pre-flight's verdict holds for the head it read, and nothing binds the two
259
+ * reads.
260
+ *
261
+ * @param options {object}
262
+ * @param options.idStore {UnlockLogStore} the account's `id` collection
263
+ * read side
264
+ * @param options.unlockKeys {StandingUnlockKeys} the credential's recorded
265
+ * public inventory
266
+ * @param [options.ladderSeed] {Uint8Array} the credential's ladder seed,
267
+ * when the caller holds it
268
+ * @param [options.expectedDid] {string} the account DID the log must
269
+ * resolve to
270
+ * @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
271
+ * pins
272
+ * @param [options.logId] {string} the account log's pin slot; required
273
+ * whenever a `pinStore` is supplied
274
+ * @returns {Promise<LadderVmRemovalReport>} what the retirement would
275
+ * strike and what it would leave unclaimed
276
+ */
277
+ export declare function preflightUnlockCredentialRetirement({ idStore, unlockKeys, ladderSeed, expectedDid, pinStore, logId }: {
278
+ idStore: Pick<WebvhIdStore, 'getIdResourceRaw'>;
279
+ unlockKeys: StandingUnlockKeys;
280
+ ladderSeed?: Uint8Array;
281
+ expectedDid?: string;
282
+ pinStore?: ResourceLogPinStore;
283
+ logId?: string;
284
+ }): Promise<LadderVmRemovalReport>;
47
285
  /**
48
286
  * The credential's `keyAgreement` verification method: an ordinary unmarked
49
287
  * entry carrying either the key verbatim (a `Multikey` with
@@ -64,43 +302,46 @@ export declare function unlockKeyVerificationMethod({ did, keyAgreement }: {
64
302
  did: string;
65
303
  keyAgreement: UnlockKeyAgreementPublication;
66
304
  }): VerificationMethod;
67
- /**
68
- * Reads and resolves the published log through the narrow store seam.
69
- *
70
- * @param options {object}
71
- * @param options.store {UnlockLogStore}
72
- * @param [options.expectedDid] {string} the account DID the log must resolve
73
- * to, where the caller holds one
74
- * @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
75
- * pins; a served log that is a rollback, a fork, or an identity switch
76
- * against the pinned head is refused (`ResourceLogContinuityError`)
77
- * @param [options.logId] {string} the account log's pin slot
78
- * (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
79
- * supplied
80
- * @returns {Promise<PublishedWebvhLog>}
81
- */
82
- export declare function readLogOrThrow({ store, expectedDid, pinStore, logId }: {
83
- store: UnlockLogStore;
84
- expectedDid?: string;
85
- pinStore?: ResourceLogPinStore;
86
- logId?: string;
87
- }): Promise<PublishedWebvhLog>;
88
305
  /**
89
306
  * BIND (run by an enrolled client, root authority): publishes a standing
90
307
  * credential's split configuration into the document -- one entry adding the
91
- * credential's `keyAgreement` entry (verbatim or commitment) and committing
92
- * its current update key's hash in `nextKeyHashes`. The update key joins
93
- * `updateKeys` nowhere. Idempotent: an inventory already published is a no-op,
94
- * so re-running a torn bind converges. The entry publishes conditionally on
95
- * the log this call read; a race lost to a concurrent ceremony re-runs and
96
- * rebases on the new head.
308
+ * credential's `keyAgreement` entry (verbatim or commitment), committing its
309
+ * current update key's hash in `nextKeyHashes`, and installing its LADDER VM
310
+ * under `assertionMethod` and `capabilityDelegation`, and under no other
311
+ * relation -- the asymmetry that recognizes it. The update key joins `updateKeys` nowhere.
312
+ * One entry for the whole inventory: a separate install would open a window
313
+ * in which the credential stands without the key it signs with.
314
+ *
315
+ * The ladder seed is the CALLER's to mint and to have already written
316
+ * durably. This function never mints one, so a torn bind's re-run tests
317
+ * idempotence against the SAME seed, finds the completed stage and publishes
318
+ * nothing -- where a mint-when-absent would publish a second VM that no
319
+ * anchored attribution could later strike. A credential with no ladder at all
320
+ * passes `null` and gets no VM.
321
+ *
322
+ * `part` splits the bind across two entries where a ceremony needs the
323
+ * credential's decryption material to precede its authority: `'key'`
324
+ * publishes the `keyAgreement` member alone, `'authority'` installs the
325
+ * ladder VM and commits the rung-0 hash, and `'all'` (the default) is the one
326
+ * merged entry every other caller writes.
327
+ *
328
+ * Idempotent: an inventory already published is a no-op, so re-running a torn
329
+ * bind converges. The entry publishes conditionally on the log this call
330
+ * read; a race lost to a concurrent ceremony re-runs and rebases on the new
331
+ * head.
97
332
  *
98
333
  * @param options {object}
99
334
  * @param options.idStore {WebvhIdStore}
100
- * @param options.updateKeys {ClientWebvhUpdateKeys} the BINDING client's own
101
- * did:webvh update-key seeds
335
+ * @param options.signer {AccountLogSigner} who signs the entry: the BINDING
336
+ * client's own did:webvh update-key seeds, or the acting credential's
337
+ * ladder seed
102
338
  * @param options.unlockKeys {StandingUnlockKeys} the credential's public
103
339
  * inventory
340
+ * @param options.ladderSeed {Uint8Array | null} the credential's ladder
341
+ * seed, whose VM this entry installs; `null` for a credential that carries
342
+ * no ladder
343
+ * @param [options.part] {string} `'all'` (the default), `'key'`, or
344
+ * `'authority'` -- see above
104
345
  * @param [options.expectedDid] {string} the account DID the log must resolve
105
346
  * to, from the caller's stored account pointer
106
347
  * @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
@@ -118,8 +359,10 @@ export declare function readLogOrThrow({ store, expectedDid, pinStore, logId }:
118
359
  */
119
360
  export declare function publishUnlockKey(options: {
120
361
  idStore: WebvhIdStore;
121
- updateKeys: ClientWebvhUpdateKeys;
362
+ signer: AccountLogSigner;
122
363
  unlockKeys: StandingUnlockKeys;
364
+ ladderSeed: Uint8Array | null;
365
+ part?: UnlockInventoryPart;
123
366
  expectedDid?: string;
124
367
  pinStore?: ResourceLogPinStore;
125
368
  logId?: string;
@@ -146,31 +389,79 @@ export declare function publishUnlockKey(options: {
146
389
  * rung key still sitting in `updateKeys` (plus the never-claimed hashes its
147
390
  * reveal entry committed). Trusting the recorded multibase alone would leave
148
391
  * the live rung commitment standing: a latent re-seizure credential via the
149
- * reveal mechanism. A supplied `ladderSeed` strengthens the attribution (every
150
- * rung known a priori, independent of the anchor's staleness); without it the
151
- * log walk alone resolves the inventory. For a single-key credential (a
392
+ * reveal mechanism. The seedless walk recovers the rungs BEHIND the anchor
393
+ * too, reading the log's positional rules backwards, so an anchor advanced by
394
+ * a self-enrollment resolves the same inventory a bind-time anchor does
395
+ * wherever each rung's hash was committed by an entry that also revealed the
396
+ * previous rung, or by a handover. One reachable shape falls outside that: a
397
+ * ladder VM the last-client transition reinstalled, whose acting rung a later
398
+ * self-enrollment then spends. That reveal-and-commit entry authorizes no key,
399
+ * so the backward walk cannot name the rung that signed it, and the VM stays
400
+ * standing as `unclaimed` (WC-158). A supplied `ladderSeed` is then a shortcut
401
+ * and a cross-check rather than a requirement (every rung known outright, no
402
+ * backward walk). For a
403
+ * single-key credential (a
152
404
  * recovery code, a never-self-enrolled bind) the resolution degenerates to
153
405
  * exactly the recorded key's hash, as before.
154
406
  *
155
- * The seed also names the credential's LADDER VM -- the stable sibling a
156
- * last-client forget's install entry publishes under `assertionMethod` and
157
- * `capabilityDelegation`, left standing by a forget torn after that entry --
158
- * and the removal strikes it in the same entry, so a retired seed no longer
159
- * signs governed-log appends or account delegations. The sibling is derived
160
- * from the seed alone, with nothing in the log attributing it to a ladder, so
161
- * a removal without the seed leaves it: rotation is the remedy for a leaked
162
- * seed exactly when the ceremony holds the credential.
163
- *
164
- * @param options {object} see {@link publishUnlockKey}, plus
165
- * `[ladderSeed]` -- the retired credential's ladder seed, when in hand
166
- * @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>} see
167
- * {@link publishUnlockKey}
407
+ * The credential's LADDER VM goes in the same entry, so a retired credential
408
+ * no longer signs governed-log appends or account delegations. This is the
409
+ * sole remover, and it needs no seed to do it: the VM is attributed from the
410
+ * log on any of three arms ({@link attributeLadderInventory}). The SIGNER
411
+ * arm claims a VM whose publishing entry a ladder rung signed. The
412
+ * CO-INTRODUCTION arm claims one whose publishing entry also introduced this
413
+ * credential's own `keyAgreement` member, which is what reaches a bind entry
414
+ * an enrolled client signed; it fires only when that entry introduced exactly
415
+ * one credential-class key-agreement member and exactly one ladder VM. The
416
+ * COMMITMENT arm claims one whose publishing entry committed a hash this
417
+ * ladder knows a priori and introduced no other credential's member, which is
418
+ * what reaches a reinstall for a credential whose member already stands. A VM
419
+ * no arm claims is left standing rather than struck -- on an account
420
+ * with several standing credentials, striking an unattributed key would take
421
+ * out a survivor's. With the seed in hand the derived id is struck too, and
422
+ * an attribution naming any OTHER VM refuses with
423
+ * {@link LadderAttributionError} rather than acting on a ladder the seed and
424
+ * the recorded anchor disagree about.
425
+ *
426
+ * @param options {object} see {@link publishUnlockKey}, plus:
427
+ * @param [options.ladderSeed] {Uint8Array} the retired credential's ladder
428
+ * seed, when in hand
429
+ * @param [options.projectionStore] {object} an `id`-collection store the
430
+ * caller may write through (a transient session's, bound to its generation
431
+ * delegation; an enrolled client's own root-invoking store). Supplied, the
432
+ * post-strike `did:web` projection is PUT through it immediately BEFORE
433
+ * this entry publishes, which is what keeps a ladder-signed removal from
434
+ * leaving `did.json` naming the retired credential. Best-effort: a failed
435
+ * PUT is warned and the removal proceeds. Omitted, the ladder arm leaves
436
+ * the projection to the next visit's `ensureDidWebProjection` and the
437
+ * client arm publishes it after the entry, as before
438
+ * @param [options.expectedLadderVmIds] {string[]} the ladder VM ids the
439
+ * caller already resolved for this credential, from its own read of the
440
+ * log. Supplied, this edit's own attribution must match them as a set --
441
+ * after the seed cross-check above -- or the edit refuses with
442
+ * {@link LadderInventoryDriftError} before writing anything. That is what
443
+ * ties the retirement's stage-0 read (whose list the dependent-record
444
+ * re-mint pass acted on) to this one, which is otherwise independent
445
+ * @param [options.requireLadderVmClaim] {boolean} the credential carries a
446
+ * ladder, so its VM must be claimed: the edit refuses with
447
+ * {@link UnclaimedLadderVmRetirementError} before writing when the claim
448
+ * struck nothing while ladder VMs stand unclaimed and the credential still
449
+ * stands ({@link assertLadderVmClaimed}). The retirement ceremony sets it,
450
+ * and so does a recovery code's removal, whose inventory carries the code's
451
+ * own ladder VM. The refusal names the recorded update key the walk was
452
+ * anchored on
453
+ * @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog, ladderVm:
454
+ * LadderVmRemovalReport }>} see {@link publishUnlockKey}, plus the ladder
455
+ * VM report: what this entry struck, and what stands unclaimed after it
168
456
  */
169
457
  export declare function removeUnlockKey(options: {
170
458
  idStore: WebvhIdStore;
171
- updateKeys: ClientWebvhUpdateKeys;
459
+ signer: AccountLogSigner;
460
+ projectionStore?: Pick<WebvhIdStore, 'getIdResourceRaw' | 'putIdResource'>;
172
461
  unlockKeys: StandingUnlockKeys;
173
462
  ladderSeed?: Uint8Array;
463
+ expectedLadderVmIds?: string[];
464
+ requireLadderVmClaim?: boolean;
174
465
  expectedDid?: string;
175
466
  pinStore?: ResourceLogPinStore;
176
467
  logId?: string;
@@ -179,5 +470,6 @@ export declare function removeUnlockKey(options: {
179
470
  did: string;
180
471
  doc: DIDDoc;
181
472
  log: DIDLog;
473
+ ladderVm: LadderVmRemovalReport;
182
474
  }>;
183
475
  //# sourceMappingURL=standingWebvh.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"standingWebvh.d.ts","sourceRoot":"","sources":["../../src/unlock/standingWebvh.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EACN,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAalC,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAYnE;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACZ,kBAAkB,GAAG,eAAe,CACrC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,6BAA6B,GACvC;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AAEzD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,6BAA6B,CAAA;IAC3C,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAC5B,GAAG,EACH,YAAY,EACb,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,6BAA6B,CAAA;CAC5C,GAAG,MAAM,CAMT;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,GAAG,EACH,YAAY,EACb,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,6BAA6B,CAAA;CAC5C,GAAG,kBAAkB,CAgBrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,EACnC,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACN,EAAE;IACD,KAAK,EAAE,cAAc,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAY7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,OAAO,EAAE,YAAY,CAAA;IACrB,UAAU,EAAE,qBAAqB,CAAA;IACjC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAIrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,OAAO,EAAE,YAAY,CAAA;IACrB,UAAU,EAAE,qBAAqB,CAAA;IACjC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAIrD"}
1
+ {"version":3,"file":"standingWebvh.d.ts","sourceRoot":"","sources":["../../src/unlock/standingWebvh.ts"],"names":[],"mappings":"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"}