@interop/wallet-core 0.53.0 → 0.55.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 (32) hide show
  1. package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +24 -10
  2. package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
  3. package/dist/clientAnnex/credentialAnchoredGenesis.js +42 -13
  4. package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
  5. package/dist/clientAnnex/heal.d.ts +199 -0
  6. package/dist/clientAnnex/heal.d.ts.map +1 -0
  7. package/dist/clientAnnex/heal.js +421 -0
  8. package/dist/clientAnnex/heal.js.map +1 -0
  9. package/dist/clientAnnex/index.d.ts +2 -0
  10. package/dist/clientAnnex/index.d.ts.map +1 -1
  11. package/dist/clientAnnex/index.js +1 -0
  12. package/dist/clientAnnex/index.js.map +1 -1
  13. package/dist/clientAnnex/ladderAnchored.d.ts +15 -2
  14. package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
  15. package/dist/clientAnnex/ladderAnchored.js +30 -4
  16. package/dist/clientAnnex/ladderAnchored.js.map +1 -1
  17. package/dist/clientAnnex/log.d.ts.map +1 -1
  18. package/dist/clientAnnex/log.js +8 -1
  19. package/dist/clientAnnex/log.js.map +1 -1
  20. package/dist/recovery/recoveryWebvh.d.ts +12 -2
  21. package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
  22. package/dist/recovery/recoveryWebvh.js +12 -2
  23. package/dist/recovery/recoveryWebvh.js.map +1 -1
  24. package/dist/unlock/standingWebvh.d.ts +10 -0
  25. package/dist/unlock/standingWebvh.d.ts.map +1 -1
  26. package/dist/unlock/standingWebvh.js +10 -2
  27. package/dist/unlock/standingWebvh.js.map +1 -1
  28. package/dist/webvh/didWebvh.d.ts +23 -2
  29. package/dist/webvh/didWebvh.d.ts.map +1 -1
  30. package/dist/webvh/didWebvh.js +37 -14
  31. package/dist/webvh/didWebvh.js.map +1 -1
  32. package/package.json +2 -2
@@ -0,0 +1,421 @@
1
+ import { WasClient } from '@interop/was-client';
2
+ import { effectiveParameters, readPublishedLog } from '../webvh/didWebvh.js';
3
+ import { delegationKeyInDocument, ladderVmIds } from '../webvh/listClients.js';
4
+ import { delegationProofKeyId, zcapExpiring } from '../webvh/standingZcap.js';
5
+ import { accountLogPinId } from '../webvh/verifyLog.js';
6
+ import { mintSpaceId } from '../genesis/accountGenesis.js';
7
+ import { attributeLadderRung, ladderRung, ladderVmKeyMultibase } from './ladder.js';
8
+ import { ladderVmAgent, ladderVmZcapClient } from './zcap.js';
9
+ import { clientAnnexDidParts, clientAnnexLogPinId, clientAnnexLogStore, delegatedClientsDelegationSpaceId, delegatedClientsPointer, ensureGenerationDelegationCurrent, mintCredentialClientAnnexGeneration, mintDelegatedClientsDelegation, mintGenerationDelegation, setDelegatedClientsPointer } from './log.js';
10
+ /**
11
+ * The typed refusal of {@link ensureCredentialClientAnnexGeneration}: the
12
+ * account is not in a shape this visit can mend, and nothing was written.
13
+ * Matched on `name` -- error classes do not survive crossing package copies.
14
+ */
15
+ export class ClientAnnexGenerationUnavailableError extends Error {
16
+ reason;
17
+ constructor({ reason, message }) {
18
+ super(message);
19
+ this.name = 'ClientAnnexGenerationUnavailableError';
20
+ this.reason = reason;
21
+ }
22
+ }
23
+ /**
24
+ * The ladder-signed generation-delegation minter: the
25
+ * `mintGenerationDelegation` closure shape `ensureGenerationDelegationCurrent`
26
+ * takes, signing with the credential's ladder VM (`ladderVmZcapClient`) --
27
+ * the renewal must not depend on the very delegation it replaces, and on a
28
+ * ladder-anchored account the ladder VM is the one licensed delegator.
29
+ * Exported on its own: the transient App Connect approval's blocking renewal
30
+ * stage consumes the same closure.
31
+ *
32
+ * @param options {object}
33
+ * @param options.accountDid {string} the account did:webvh
34
+ * @param options.ladderSeed {Uint8Array} the credential's ladder seed, from
35
+ * its unlock record
36
+ * @param options.wasServerUrl {string} the ACCOUNT Space's storage server
37
+ * @param options.spaceId {string} the ACCOUNT Space's id (the delegation's
38
+ * target subtree)
39
+ * @param [options.now] {number} epoch milliseconds, for tests
40
+ * @returns {Function} `({ clientAnnexDid }) => Promise<IZcap>`
41
+ */
42
+ export function ladderSignedGenerationDelegationMinter({ accountDid, ladderSeed, wasServerUrl, spaceId, now }) {
43
+ return async ({ clientAnnexDid }) => {
44
+ const zcapClient = await ladderVmZcapClient({ accountDid, ladderSeed });
45
+ return mintGenerationDelegation({
46
+ zcapClient,
47
+ wasServerUrl,
48
+ spaceId,
49
+ clientAnnexDid,
50
+ ...(now !== undefined ? { now } : {})
51
+ });
52
+ };
53
+ }
54
+ /**
55
+ * Ensures a transient visit can reach a live client-annex generation with a
56
+ * current generation delegation and a usable sibling delegation, mending
57
+ * from durable state alone (see the module doc for the states and the stage
58
+ * orders). A healthy account is a pure no-op report.
59
+ *
60
+ * Known residue: the pre-flight rung attribution runs against the SUPPLIED
61
+ * account view, while the pointer entry's own publish re-reads the log. The
62
+ * no-orphan guarantee therefore holds against that view; a concurrent
63
+ * ceremony advancing the rung between the two makes the pointer entry fail
64
+ * loudly AFTER the mint, leaving an inert unpointed generation this ensure
65
+ * does not reuse -- the next run converges on a fresh generation, and the
66
+ * orphan is the standing collect fan-out's to pick up.
67
+ *
68
+ * @param options {object}
69
+ * @param options.wasServerUrl {string} the account pointer's host
70
+ * @param options.spaceId {string} the ACCOUNT Space's id
71
+ * @param options.account {object} the VERIFIED account log view
72
+ * (`{ did, doc, log }` -- the caller's `verifyAccountLog` read; never
73
+ * re-fetched here)
74
+ * @param options.ladderSeed {Uint8Array} the credential's ladder seed, from
75
+ * its unlock record
76
+ * @param options.standingClient {object} the standing-client identity
77
+ * derived from the typed secret: `did` (the sibling delegation's
78
+ * controller) and `zcapClient` (its signer, which invokes annex requests
79
+ * under the sibling capability)
80
+ * @param options.bootstrapWasFor {Function} `({ keyAgent }) => WasClient`
81
+ * -- the storage client for the fresh-Space arm, signing as the ladder
82
+ * VM's bare did:key (the caller wires the transport; the agent is derived
83
+ * here from the ladder seed)
84
+ * @param options.idStore {WebvhIdStore} the ACCOUNT log's store (a
85
+ * bridge-delegated one suffices: pointer entries publish with
86
+ * `logOnly: true`)
87
+ * @param options.onRebindRecord {Function}
88
+ * `({ delegatedClients }) => Promise<void>` -- REQUIRED: re-seals the
89
+ * unlock record with the fresh sibling delegation; called whenever one was
90
+ * minted, after the generation and pointer are durable
91
+ * @param [options.delegatedClients] {IZcap} the record's sibling
92
+ * delegation, when the record carries one
93
+ * @param [options.pinStore] {ResourceLogPinStore} chain-head pins (a
94
+ * transient session passes an in-memory store); slot keys are derived here
95
+ * per log
96
+ * @param [options.now] {number} epoch milliseconds, for tests
97
+ * @returns {Promise<ClientAnnexGenerationEnsureOutcome>}
98
+ */
99
+ export function ensureCredentialClientAnnexGeneration(options) {
100
+ // Refused synchronously, before any read: a fresh sibling nothing re-seals
101
+ // into the record would strand the very credential this ensure serves.
102
+ if (typeof options.onRebindRecord !== 'function') {
103
+ throw new TypeError('ensureCredentialClientAnnexGeneration requires onRebindRecord: a ' +
104
+ 'fresh sibling delegation must be re-sealed into the unlock record.');
105
+ }
106
+ return ensureCredentialClientAnnexGenerationChecked(options);
107
+ }
108
+ /**
109
+ * The checked body of {@link ensureCredentialClientAnnexGeneration}.
110
+ *
111
+ * @param options {object} see {@link ensureCredentialClientAnnexGeneration}
112
+ * @returns {Promise<ClientAnnexGenerationEnsureOutcome>}
113
+ */
114
+ async function ensureCredentialClientAnnexGenerationChecked({ wasServerUrl, spaceId, account, ladderSeed, standingClient, bootstrapWasFor, idStore, onRebindRecord, delegatedClients, pinStore, now }) {
115
+ // The gate: everything below signs as the ladder (the delegations as the
116
+ // ladder VM, the annex entries as its per-generation rung), so unless THIS
117
+ // ladder's VM stands in the document under the ladder-VM relation
118
+ // asymmetry (`capabilityDelegation` without `capabilityInvocation` -- the
119
+ // authority the mends actually exercise, which mere key presence says
120
+ // nothing about), every mend is unverifiable. The honest refusal, before
121
+ // anything is written.
122
+ const vmKey = await ladderVmKeyMultibase({ ladderSeed });
123
+ if (!ladderVmIds({ doc: account.doc }).includes(`${account.did}#${vmKey}`)) {
124
+ throw new ClientAnnexGenerationUnavailableError({
125
+ reason: 'ladder-vm-not-anchored',
126
+ message: "This credential's ladder VM is not a verification method of the " +
127
+ 'account document, so a transient visit cannot mend the client annex.'
128
+ });
129
+ }
130
+ // The annex Space, in the settled resolution order: the document's pointer
131
+ // names it; else the sibling delegation's target does (converging a torn
132
+ // establishment onto its own stranded Space instead of minting another
133
+ // orphan); else a fresh Space is minted below.
134
+ const pointer = delegatedClientsPointer({ doc: account.doc });
135
+ const siblingSpaceId = delegatedClients === undefined
136
+ ? undefined
137
+ : delegatedClientsDelegationSpaceId({ delegation: delegatedClients });
138
+ const annexSpaceId = pointer !== undefined
139
+ ? clientAnnexDidParts({ did: pointer }).spaceId
140
+ : siblingSpaceId;
141
+ const ladderClient = await ladderVmZcapClient({
142
+ accountDid: account.did,
143
+ ladderSeed
144
+ });
145
+ const mintDelegation = ladderSignedGenerationDelegationMinter({
146
+ accountDid: account.did,
147
+ ladderSeed,
148
+ wasServerUrl,
149
+ spaceId,
150
+ ...(now !== undefined ? { now } : {})
151
+ });
152
+ if (annexSpaceId === undefined) {
153
+ // THE FRESH-SPACE ARM: neither the pointer nor a sibling names a Space.
154
+ // The pre-flight attribution runs before anything is minted; the stage
155
+ // order mirrors the credential-anchored genesis exactly.
156
+ const updateKeys = await pointerEntryUpdateKeys({
157
+ ladderSeed,
158
+ log: account.log
159
+ });
160
+ const freshSpaceId = mintSpaceId();
161
+ const keyAgent = await ladderVmAgent({ ladderSeed });
162
+ const bootstrapWas = bootstrapWasFor({ keyAgent });
163
+ const minted = await mintCredentialClientAnnexGeneration({
164
+ was: bootstrapWas,
165
+ wasServerUrl,
166
+ spaceId: freshSpaceId,
167
+ controller: keyAgent.id,
168
+ ladderSeed
169
+ });
170
+ // The delegation embeds while the Space still answers to the bootstrap
171
+ // did:key; the controller flip follows, then the pointer entry.
172
+ const ensured = await ensureGenerationDelegationCurrent({
173
+ store: clientAnnexLogStore({
174
+ was: bootstrapWas,
175
+ spaceId: freshSpaceId,
176
+ generationId: minted.generationId
177
+ }),
178
+ ladderSeed,
179
+ generationId: minted.generationId,
180
+ mintGenerationDelegation: mintDelegation,
181
+ expectedDid: minted.did,
182
+ ...(pinStore !== undefined
183
+ ? {
184
+ pinStore,
185
+ logId: clientAnnexLogPinId({
186
+ spaceId: freshSpaceId,
187
+ generationId: minted.generationId
188
+ })
189
+ }
190
+ : {}),
191
+ ...(now !== undefined ? { now } : {})
192
+ });
193
+ await bootstrapWas
194
+ .space(freshSpaceId)
195
+ .configure({ controller: account.did, force: true });
196
+ await setDelegatedClientsPointer({
197
+ idStore,
198
+ updateKeys,
199
+ clientAnnexDid: minted.did,
200
+ expectedDid: account.did,
201
+ logOnly: true,
202
+ ...(pinStore !== undefined
203
+ ? { pinStore, logId: accountLogPinId({ spaceId }) }
204
+ : {})
205
+ });
206
+ const sibling = await mintDelegatedClientsDelegation({
207
+ zcapClient: ladderClient,
208
+ wasServerUrl,
209
+ clientAnnexSpaceId: freshSpaceId,
210
+ controller: standingClient.did,
211
+ ...(now !== undefined ? { now } : {})
212
+ });
213
+ await onRebindRecord({ delegatedClients: sibling });
214
+ return {
215
+ clientAnnexDid: minted.did,
216
+ generationDelegation: ensured.delegation,
217
+ delegatedClients: sibling,
218
+ generationMinted: true,
219
+ spaceMinted: true,
220
+ delegationRenewed: false,
221
+ siblingReminted: true
222
+ };
223
+ }
224
+ // THE EXISTING-SPACE ARMS. A usable sibling first: absent, targeting a
225
+ // different Space than the resolved one, or stale on either of the
226
+ // standing-zcap axes -- expiry (past, or inside the renewal window) and
227
+ // signer death (its proof key no longer in the verified account document,
228
+ // the current-key-set rule) -- a fresh sibling is minted (local ladder-VM
229
+ // signing, which verifies because the gate above proved the VM a document
230
+ // verification method) so every annex request below can ride it.
231
+ let sibling = delegatedClients;
232
+ let siblingReminted = false;
233
+ const siblingStale = sibling !== undefined &&
234
+ (zcapExpiring({
235
+ ...(sibling.expires !== undefined
236
+ ? { expires: sibling.expires }
237
+ : {}),
238
+ ...(now !== undefined ? { now } : {})
239
+ }) ||
240
+ !delegationKeyInDocument({
241
+ doc: account.doc,
242
+ ...(delegationProofKeyId(sibling) !== undefined
243
+ ? { delegationKeyId: delegationProofKeyId(sibling) }
244
+ : {})
245
+ }));
246
+ if (sibling === undefined ||
247
+ siblingSpaceId !== annexSpaceId ||
248
+ siblingStale) {
249
+ sibling = await mintDelegatedClientsDelegation({
250
+ zcapClient: ladderClient,
251
+ wasServerUrl,
252
+ clientAnnexSpaceId: annexSpaceId,
253
+ controller: standingClient.did,
254
+ ...(now !== undefined ? { now } : {})
255
+ });
256
+ siblingReminted = true;
257
+ }
258
+ const usableSibling = sibling;
259
+ const standingWas = new WasClient({
260
+ serverUrl: wasServerUrl,
261
+ zcapClient: standingClient.zcapClient
262
+ });
263
+ const storeFor = (generationId) => clientAnnexLogStore({
264
+ was: standingWas,
265
+ spaceId: annexSpaceId,
266
+ generationId,
267
+ capability: usableSibling
268
+ });
269
+ const annexPin = (generationId) => pinStore !== undefined
270
+ ? {
271
+ pinStore,
272
+ logId: clientAnnexLogPinId({ spaceId: annexSpaceId, generationId })
273
+ }
274
+ : {};
275
+ // RENEW PRECEDES MINT: a live, verifiable pointed generation is renewed in
276
+ // place; only a rung this generation never committed falls through to the
277
+ // fresh mint (the GC swap's no-committed-survivor escape).
278
+ if (pointer !== undefined) {
279
+ const parts = clientAnnexDidParts({ did: pointer });
280
+ const pointedLog = await readPublishedLog({
281
+ idStore: storeFor(parts.generationId),
282
+ expectedDid: pointer,
283
+ ...annexPin(parts.generationId)
284
+ });
285
+ if (pointedLog !== undefined) {
286
+ try {
287
+ const ensured = await ensureGenerationDelegationCurrent({
288
+ store: storeFor(parts.generationId),
289
+ ladderSeed,
290
+ generationId: parts.generationId,
291
+ mintGenerationDelegation: mintDelegation,
292
+ expectedDid: pointer,
293
+ accountDoc: account.doc,
294
+ ...annexPin(parts.generationId),
295
+ ...(now !== undefined ? { now } : {})
296
+ });
297
+ if (siblingReminted) {
298
+ await onRebindRecord({ delegatedClients: usableSibling });
299
+ }
300
+ return {
301
+ clientAnnexDid: pointer,
302
+ generationDelegation: ensured.delegation,
303
+ delegatedClients: usableSibling,
304
+ generationMinted: false,
305
+ spaceMinted: false,
306
+ delegationRenewed: ensured.renewed,
307
+ siblingReminted
308
+ };
309
+ }
310
+ catch (err) {
311
+ if (err.name !== 'ClientAnnexRungUncommittedError') {
312
+ throw err;
313
+ }
314
+ // This credential's rung was never committed into the pointed
315
+ // generation (bound mid-generation): fall through to the fresh mint,
316
+ // which commits it with the fresh genesis.
317
+ }
318
+ }
319
+ }
320
+ // THE FRESH-GENERATION ARM, existing Space: pre-flight attribution first
321
+ // (never mint a generation the pointer entry cannot then name), then the
322
+ // GC swap's stage order minus its revoke -- mint, install the delegation,
323
+ // re-point. The fresh genesis commits only the acting credential's annex
324
+ // rung; other standing credentials' per-generation rungs are re-committed
325
+ // only by their own later ceremonies (a property of every generation
326
+ // swap).
327
+ const updateKeys = await pointerEntryUpdateKeys({
328
+ ladderSeed,
329
+ log: account.log
330
+ });
331
+ const minted = await mintCredentialClientAnnexGeneration({
332
+ was: standingWas,
333
+ wasServerUrl,
334
+ spaceId: annexSpaceId,
335
+ controller: account.did,
336
+ ladderSeed,
337
+ capability: usableSibling
338
+ });
339
+ const ensured = await ensureGenerationDelegationCurrent({
340
+ store: storeFor(minted.generationId),
341
+ ladderSeed,
342
+ generationId: minted.generationId,
343
+ mintGenerationDelegation: mintDelegation,
344
+ expectedDid: minted.did,
345
+ ...annexPin(minted.generationId),
346
+ ...(now !== undefined ? { now } : {})
347
+ });
348
+ // No revocation of the superseded generation's delegation is attempted:
349
+ // a transient visit has no reach that could invoke it (the standing client
350
+ // is neither the Space controller nor in that delegation's chain). The
351
+ // pointer move itself retires it on a conforming server -- the inspector
352
+ // clause compares the delegation's controller against the document's
353
+ // pointer -- and it otherwise rots on its TTL.
354
+ await setDelegatedClientsPointer({
355
+ idStore,
356
+ updateKeys,
357
+ clientAnnexDid: minted.did,
358
+ expectedDid: account.did,
359
+ logOnly: true,
360
+ ...(pinStore !== undefined
361
+ ? { pinStore, logId: accountLogPinId({ spaceId }) }
362
+ : {})
363
+ });
364
+ if (siblingReminted) {
365
+ await onRebindRecord({ delegatedClients: usableSibling });
366
+ }
367
+ return {
368
+ clientAnnexDid: minted.did,
369
+ generationDelegation: ensured.delegation,
370
+ delegatedClients: usableSibling,
371
+ generationMinted: true,
372
+ spaceMinted: false,
373
+ delegationRenewed: false,
374
+ siblingReminted
375
+ };
376
+ }
377
+ /**
378
+ * The pre-flight rung attribution: the `{ updateSeed, stagedSeed }` pair the
379
+ * pointer entry signs with, recovered from the verified account log's
380
+ * current parameters. The signer must be a REVEALED rung (the entry verifies
381
+ * against the log's `updateKeys`), with the next rung staged per the
382
+ * carry-over convention. No rung of this ladder standing -- or only a
383
+ * committed hash, which cannot sign -- refuses with
384
+ * {@link ClientAnnexGenerationUnavailableError} before anything is minted.
385
+ *
386
+ * @param options {object}
387
+ * @param options.ladderSeed {Uint8Array}
388
+ * @param options.log {DIDLog} the VERIFIED account log
389
+ * @returns {Promise<ClientWebvhUpdateKeys>}
390
+ */
391
+ async function pointerEntryUpdateKeys({ ladderSeed, log }) {
392
+ const params = effectiveParameters(log);
393
+ const current = params[params.length - 1] ?? {
394
+ updateKeys: [],
395
+ nextKeyHashes: []
396
+ };
397
+ const unattributable = () => new ClientAnnexGenerationUnavailableError({
398
+ reason: 'update-key-not-attributable',
399
+ message: "No current account-log update key is a rung of this credential's " +
400
+ 'ladder; the pointer entry could not be signed, so nothing is minted.'
401
+ });
402
+ let attributed;
403
+ try {
404
+ attributed = await attributeLadderRung({ ladderSeed, published: current });
405
+ }
406
+ catch (err) {
407
+ if (err.name === 'LadderAttributionError') {
408
+ throw unattributable();
409
+ }
410
+ throw err;
411
+ }
412
+ if (attributed.state !== 'revealed') {
413
+ throw unattributable();
414
+ }
415
+ const staged = await ladderRung({
416
+ ladderSeed,
417
+ index: attributed.rung.index + 1
418
+ });
419
+ return { updateSeed: attributed.rung.seed, stagedSeed: staged.seed };
420
+ }
421
+ //# sourceMappingURL=heal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heal.js","sourceRoot":"","sources":["../../src/clientAnnex/heal.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,8 @@ export type { ClientAnnexWriteStore } from './log.js';
48
48
  export { clientAnnexGcDue, delegatedClientsPointerEstablishedAt, GENERATION_GC_PERIOD_MS, GENERATION_QUIET_BOUND_MS, GENERATION_QUIET_GRACE_MS, generationQuiet, runClientAnnexGc, swapClientAnnexGeneration } from './gc.js';
49
49
  export type { ClientAnnexGcReport, ClientAnnexGcSwapOutcome } from './gc.js';
50
50
  export { ladderVmAgent, ladderVmZcapClient } from './zcap.js';
51
+ export { ClientAnnexGenerationUnavailableError, ensureCredentialClientAnnexGeneration, ladderSignedGenerationDelegationMinter } from './heal.js';
52
+ export type { ClientAnnexGenerationEnsureOutcome, ClientAnnexGenerationUnavailableReason } from './heal.js';
51
53
  export { BuiltOnHeadNotReachedError, createLadderAnchoredAccountLog, ensureLadderAnchoredDidWebvh, forgetLastWebvhClient, forgetWebvhClient, installLadderVmWebvh, LastDurableClientForgetError, selfEnrollWebvhClient } from './ladderAnchored.js';
52
54
  export { selfEnrollClientCore } from './selfEnroll.js';
53
55
  export { forgetDurableClient } from './forget.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,UAAU,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,qCAAqC,EACrC,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAErD,OAAO,EACL,gBAAgB,EAChB,oCAAoC,EACpC,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAE5E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE7D,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACpC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAOxE,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,UAAU,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,qCAAqC,EACrC,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAErD,OAAO,EACL,gBAAgB,EAChB,oCAAoC,EACpC,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAE5E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE7D,OAAO,EACL,qCAAqC,EACrC,qCAAqC,EACrC,sCAAsC,EACvC,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,kCAAkC,EAClC,sCAAsC,EACvC,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACpC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAOxE,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAA"}
@@ -45,6 +45,7 @@ export { attributeLadderInventory, attributeLadderRung, clientAnnexRung, clientA
45
45
  export { assertGenerationId, clampGrantExpires, CLIENT_ANNEX_SPACE_TYPE, clientAnnexDidParts, clientAnnexLogPinId, clientAnnexLogStore, ClientAnnexRungUncommittedError, commitClientAnnexRung, createClientAnnexLog, DELEGATED_CLIENTS_DELEGATION_ACTIONS, DELEGATED_CLIENTS_DELEGATION_TTL_MS, DELEGATED_CLIENTS_SERVICE_TYPE, delegatedClientsDelegationMinter, delegatedClientsDelegationSpaceId, delegatedClientsPointer, delegatedClientsServiceEntry, embeddedGenerationDelegation, enrollClientAnnexTransientClient, enrollTransientClient, ensureClientAnnexSpace, ensureGenerationDelegationCurrent, GENERATION_DELEGATION_ACTIONS, GENERATION_DELEGATION_SERVICE_TYPE, GENERATION_DELEGATION_TTL_MS, GENERATION_ID_PREFIX, generationDelegationHistory, generationDelegationServiceEntry, mintClientAnnexGeneration, mintCredentialClientAnnexGeneration, mintDelegatedClientsDelegation, mintGenerationDelegation, mintGenerationId, retireClientAnnexRung, revokeTreatingAlreadyRevokedAsSuccess, servicesPointedAtClientAnnex, setDelegatedClientsPointer } from './log.js';
46
46
  export { clientAnnexGcDue, delegatedClientsPointerEstablishedAt, GENERATION_GC_PERIOD_MS, GENERATION_QUIET_BOUND_MS, GENERATION_QUIET_GRACE_MS, generationQuiet, runClientAnnexGc, swapClientAnnexGeneration } from './gc.js';
47
47
  export { ladderVmAgent, ladderVmZcapClient } from './zcap.js';
48
+ export { ClientAnnexGenerationUnavailableError, ensureCredentialClientAnnexGeneration, ladderSignedGenerationDelegationMinter } from './heal.js';
48
49
  export { BuiltOnHeadNotReachedError, createLadderAnchoredAccountLog, ensureLadderAnchoredDidWebvh, forgetLastWebvhClient, forgetWebvhClient, installLadderVmWebvh, LastDurableClientForgetError, selfEnrollWebvhClient } from './ladderAnchored.js';
49
50
  export { selfEnrollClientCore } from './selfEnroll.js';
50
51
  export { forgetDurableClient } from './forget.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAA;AAOpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,qCAAqC,EACrC,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,gBAAgB,EAChB,oCAAoC,EACpC,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE7D,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AAOxB,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACpC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAExE,4EAA4E;AAC5E,qEAAqE;AACrE,6EAA6E;AAC7E,4EAA4E;AAC5E,wBAAwB;AACxB,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAA;AAOpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,qCAAqC,EACrC,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,gBAAgB,EAChB,oCAAoC,EACpC,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE7D,OAAO,EACL,qCAAqC,EACrC,qCAAqC,EACrC,sCAAsC,EACvC,MAAM,WAAW,CAAA;AAMlB,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AAOxB,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACpC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAExE,4EAA4E;AAC5E,qEAAqE;AACrE,6EAA6E;AAC7E,4EAA4E;AAC5E,wBAAwB;AACxB,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { DIDDoc, DIDLog } from '@interop/did-method-webvh';
2
- import type { ClientWebvhUpdateKeys, WebvhEnrollmentKeys, WebvhIdStore } from '../webvh/didWebvh.js';
2
+ import type { ClientWebvhUpdateKeys, DidWebKeyMapV2, WebvhEnrollmentKeys, WebvhIdStore } from '../webvh/didWebvh.js';
3
3
  import type { ResourceLogPinStore } from '@interop/vh-resource-log';
4
4
  import { type RevokedClientKeys } from '../webvh/revokeClient.js';
5
5
  import { type UnlockKeyAgreementPublication, type UnlockLogStore } from '../unlock/standingWebvh.js';
@@ -21,20 +21,28 @@ import { type UnlockKeyAgreementPublication, type UnlockLogStore } from '../unlo
21
21
  * durable self-enrollment ({@link selfEnrollWebvhClient}), whose add entry
22
22
  * atomically publishes the client, retires rung 0, and removes the ladder VM.
23
23
  *
24
+ * When the wallet keeps a KMS, `didWebKeys` folds the KMS-held
25
+ * authentication key into the entry under `authentication` only -- the
26
+ * durable genesis's server-side convenience, with its exclusions intact (no
27
+ * KMS keyAgreement or assertion key).
28
+ *
24
29
  * The caller owns publication (conditional, create-only) and the pointer
25
30
  * write that follows; this assembles and signs the log only.
26
31
  *
27
32
  * @param options {object}
28
33
  * @param options.wasServerUrl {string}
29
34
  * @param options.spaceId {string}
35
+ * @param [options.didWebKeys] {DidWebKeyMapV2} the parsed keys.json, when
36
+ * the wallet keeps a KMS; absent, the genesis is ladder-and-credential-only
30
37
  * @param options.ladderSeed {Uint8Array} the credential's ladder seed
31
38
  * @param options.keyAgreement {UnlockKeyAgreementPublication} the
32
39
  * credential's key-agreement publication (commitment or verbatim)
33
40
  * @returns {Promise<{ log: DIDLog, webDoc: object, did: string }>}
34
41
  */
35
- export declare function createLadderAnchoredAccountLog({ wasServerUrl, spaceId, ladderSeed, keyAgreement }: {
42
+ export declare function createLadderAnchoredAccountLog({ wasServerUrl, spaceId, didWebKeys, ladderSeed, keyAgreement }: {
36
43
  wasServerUrl: string;
37
44
  spaceId: string;
45
+ didWebKeys?: DidWebKeyMapV2;
38
46
  ladderSeed: Uint8Array;
39
47
  keyAgreement: UnlockKeyAgreementPublication;
40
48
  }): Promise<{
@@ -63,6 +71,10 @@ export declare function createLadderAnchoredAccountLog({ wasServerUrl, spaceId,
63
71
  * @param options.idStore {WebvhIdStore}
64
72
  * @param options.wasServerUrl {string}
65
73
  * @param options.spaceId {string}
74
+ * @param [options.didWebKeys] {DidWebKeyMapV2} the parsed keys.json, when
75
+ * the wallet keeps a KMS; folded into the CREATE path only (see the
76
+ * adoption note in the body), which also records the minted DID into
77
+ * keys.json's webvh block as the durable ensure does
66
78
  * @param options.ladderSeed {Uint8Array} the credential's ladder seed
67
79
  * @param options.keyAgreement {UnlockKeyAgreementPublication} the
68
80
  * credential's key-agreement publication (commitment or verbatim)
@@ -78,6 +90,7 @@ export declare function ensureLadderAnchoredDidWebvh(options: {
78
90
  idStore: WebvhIdStore;
79
91
  wasServerUrl: string;
80
92
  spaceId: string;
93
+ didWebKeys?: DidWebKeyMapV2;
81
94
  ladderSeed: Uint8Array;
82
95
  keyAgreement: UnlockKeyAgreementPublication;
83
96
  expectedDid?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ladderAnchored.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/ladderAnchored.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ladderAnchored.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/ladderAnchored.ts"],"names":[],"mappings":"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"}