@interop/wallet-core 0.90.0 → 0.92.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 (96) hide show
  1. package/dist/clientAnnex/grantRevocation.d.ts +9 -4
  2. package/dist/clientAnnex/grantRevocation.d.ts.map +1 -1
  3. package/dist/clientAnnex/grantRevocation.js +8 -4
  4. package/dist/clientAnnex/grantRevocation.js.map +1 -1
  5. package/dist/clientAnnex/index.d.ts +1 -1
  6. package/dist/clientAnnex/index.d.ts.map +1 -1
  7. package/dist/clientAnnex/index.js +1 -1
  8. package/dist/clientAnnex/index.js.map +1 -1
  9. package/dist/clientAnnex/ladder.d.ts +11 -13
  10. package/dist/clientAnnex/ladder.d.ts.map +1 -1
  11. package/dist/clientAnnex/ladder.js +71 -75
  12. package/dist/clientAnnex/ladder.js.map +1 -1
  13. package/dist/clientAnnex/ladderAnchored.d.ts +7 -58
  14. package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
  15. package/dist/clientAnnex/ladderAnchored.js +9 -72
  16. package/dist/clientAnnex/ladderAnchored.js.map +1 -1
  17. package/dist/clientAnnex/log.d.ts +4 -2
  18. package/dist/clientAnnex/log.d.ts.map +1 -1
  19. package/dist/clientAnnex/log.js +12 -2
  20. package/dist/clientAnnex/log.js.map +1 -1
  21. package/dist/clientAnnex/recoveryLadderAnchored.d.ts +53 -17
  22. package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
  23. package/dist/clientAnnex/recoveryLadderAnchored.js +52 -24
  24. package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
  25. package/dist/clientAnnex/selfEnroll.d.ts +3 -8
  26. package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
  27. package/dist/clientAnnex/selfEnroll.js +2 -1
  28. package/dist/clientAnnex/selfEnroll.js.map +1 -1
  29. package/dist/recovery/continuation.d.ts +13 -6
  30. package/dist/recovery/continuation.d.ts.map +1 -1
  31. package/dist/recovery/continuation.js +14 -2
  32. package/dist/recovery/continuation.js.map +1 -1
  33. package/dist/recovery/recoveryWebvh.d.ts +17 -4
  34. package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
  35. package/dist/recovery/recoveryWebvh.js +14 -1
  36. package/dist/recovery/recoveryWebvh.js.map +1 -1
  37. package/dist/space/activity.d.ts +37 -12
  38. package/dist/space/activity.d.ts.map +1 -1
  39. package/dist/space/activity.js +52 -16
  40. package/dist/space/activity.js.map +1 -1
  41. package/dist/space/index.d.ts +1 -1
  42. package/dist/space/index.d.ts.map +1 -1
  43. package/dist/space/index.js +1 -1
  44. package/dist/space/index.js.map +1 -1
  45. package/dist/sync/contactsConflict.d.ts +9 -9
  46. package/dist/sync/contactsConflict.js +9 -9
  47. package/dist/sync/engine.d.ts +3 -3
  48. package/dist/sync/engine.js +3 -3
  49. package/dist/sync/engine.js.map +1 -1
  50. package/dist/sync/index.d.ts +3 -3
  51. package/dist/sync/index.d.ts.map +1 -1
  52. package/dist/sync/index.js +2 -2
  53. package/dist/sync/pull.d.ts +5 -5
  54. package/dist/sync/pull.js +5 -5
  55. package/dist/sync/push.d.ts +7 -6
  56. package/dist/sync/push.d.ts.map +1 -1
  57. package/dist/sync/push.js +65 -59
  58. package/dist/sync/push.js.map +1 -1
  59. package/dist/sync/remint.d.ts +37 -33
  60. package/dist/sync/remint.d.ts.map +1 -1
  61. package/dist/sync/remint.js +70 -64
  62. package/dist/sync/remint.js.map +1 -1
  63. package/dist/sync/types.d.ts +88 -83
  64. package/dist/sync/types.d.ts.map +1 -1
  65. package/dist/sync/types.js +12 -12
  66. package/dist/unlock/standingWebvh.d.ts.map +1 -1
  67. package/dist/unlock/standingWebvh.js +3 -1
  68. package/dist/unlock/standingWebvh.js.map +1 -1
  69. package/dist/webvh/accountEntry.d.ts +10 -1
  70. package/dist/webvh/accountEntry.d.ts.map +1 -1
  71. package/dist/webvh/accountEntry.js +23 -1
  72. package/dist/webvh/accountEntry.js.map +1 -1
  73. package/dist/webvh/builtOnHead.d.ts +79 -0
  74. package/dist/webvh/builtOnHead.d.ts.map +1 -0
  75. package/dist/webvh/builtOnHead.js +77 -0
  76. package/dist/webvh/builtOnHead.js.map +1 -0
  77. package/dist/webvh/didWebvh.d.ts +14 -6
  78. package/dist/webvh/didWebvh.d.ts.map +1 -1
  79. package/dist/webvh/didWebvh.js +5 -2
  80. package/dist/webvh/didWebvh.js.map +1 -1
  81. package/dist/webvh/enrollClient.d.ts +4 -1
  82. package/dist/webvh/enrollClient.d.ts.map +1 -1
  83. package/dist/webvh/enrollClient.js +38 -8
  84. package/dist/webvh/enrollClient.js.map +1 -1
  85. package/dist/webvh/index.d.ts +2 -0
  86. package/dist/webvh/index.d.ts.map +1 -1
  87. package/dist/webvh/index.js +1 -0
  88. package/dist/webvh/index.js.map +1 -1
  89. package/dist/webvh/revokeClient.d.ts.map +1 -1
  90. package/dist/webvh/revokeClient.js +4 -6
  91. package/dist/webvh/revokeClient.js.map +1 -1
  92. package/dist/webvh/verifyLog.d.ts +5 -1
  93. package/dist/webvh/verifyLog.d.ts.map +1 -1
  94. package/dist/webvh/verifyLog.js +4 -2
  95. package/dist/webvh/verifyLog.js.map +1 -1
  96. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import type { DIDDoc, DIDLog } from '@interop/did-method-webvh';
2
2
  import { type UnlockKeyAgreementPublication } from '../unlock/standingWebvh.js';
3
3
  import type { RecoveryLogStore, RecoveryPublicKeys, ReplacementRecoveryPublicKeys } from '../recovery/continuation.js';
4
+ import type { BuiltOnHead } from '../webvh/builtOnHead.js';
4
5
  /**
5
6
  * THE TRANSIENT-RECOVERY CONTINUATION (run by the code-derived client through
6
7
  * the delegated `did.jsonl` PUT, on a non-remembered browser): the
@@ -57,20 +58,28 @@ import type { RecoveryLogStore, RecoveryPublicKeys, ReplacementRecoveryPublicKey
57
58
  * reveal-and-commit entry stands (so a revoked code has already been refused)
58
59
  * and BEFORE the add entry publishes the ladder VM -- the caller durably
59
60
  * writes the replacement code's record and the fresh credential's unlock
60
- * record (the ladder seed inside) there, so a tab death can never publish an
61
- * anchor nobody can derive. It must be idempotent: the conflict retry and a
62
- * resumed run invoke it again. It returns the fresh annex generation's DID,
61
+ * record there, so a tab death can never publish an anchor nobody can
62
+ * derive. The ladder seed that record carries is not new at the seam: the
63
+ * caller persisted it before the reveal entry (see the resume contract
64
+ * below), and the seam is where the unlock record built around it becomes
65
+ * durable. It must be idempotent: the conflict retry and a resumed run
66
+ * invoke it again. It returns the fresh annex generation's DID,
63
67
  * which the add entry then points the `#DelegatedClients` service entry at.
64
68
  *
65
69
  * Resumable from durable state alone, like the enrolled-client continuation: a
66
70
  * completed run is detected by rung 0 already authorized; a torn one by the
67
- * standing commitments. Note what the completion detection is scoped to: a
68
- * caller that mints its ladder seed per call (freewallet's does) can only hit
69
- * the completed branch inside this call's own conflict retry, since a later
70
- * process derives a different rung 0 and re-runs the whole continuation. A
71
- * caller that persists its ladder seed and resumes across processes takes the
72
- * completed branch WITHOUT re-entering `onCommitted`, so it must be able to
73
- * treat an already-complete continuation as success on its own.
71
+ * standing commitments. Both detections are scoped to the ladder seed handed
72
+ * in: the rung pair and the ladder VM derive from it, so a re-run with the
73
+ * SAME seed finds its own reveal entry standing (the rung revealed and every
74
+ * hash committed) and skips it, while a re-run with a freshly minted seed
75
+ * derives a different rung 0 and publishes a second reveal entry that dedups
76
+ * the replacement's hash away (the two-addition shape the readers in
77
+ * `ladder.ts` keep recognizing for logs written that way). A caller
78
+ * therefore persists the fresh ladder seed BEFORE the reveal entry and hands
79
+ * the same seed back on a resume, with the head its persisted state recorded
80
+ * as `resume.builtOnHead`. A resume that meets an already-complete
81
+ * continuation takes the completed branch WITHOUT re-entering `onCommitted`,
82
+ * so the caller must be able to treat it as success on its own.
74
83
  *
75
84
  * A fresh credential whose `keyAgreement` id already stands in the document
76
85
  * (the same passphrase re-typed) is refused before the reveal entry with
@@ -91,7 +100,10 @@ import type { RecoveryLogStore, RecoveryPublicKeys, ReplacementRecoveryPublicKey
91
100
  * @param options.recovery.updateKeyMultibase {string}
92
101
  * @param options.ladderSeed {Uint8Array} the FRESH credential's ladder seed
93
102
  * (recovery binds a fresh passphrase, so the ladder exists at exactly this
94
- * moment); rung 0, rung 1, and the ladder VM all derive from it
103
+ * moment); rung 0, rung 1, and the ladder VM all derive from it. On a
104
+ * resume it is the seed the torn run persisted, verbatim, so the resumed
105
+ * run re-derives the torn run's rung pair and detects its reveal entry as
106
+ * already published rather than minting a second one
95
107
  * @param options.credentialKeyAgreement {UnlockKeyAgreementPublication} the
96
108
  * fresh credential's key-agreement publication (a commitment for a
97
109
  * passphrase-derived key)
@@ -102,11 +114,26 @@ import type { RecoveryLogStore, RecoveryPublicKeys, ReplacementRecoveryPublicKey
102
114
  * @param [options.expectedDid] {string} the account DID the log must resolve
103
115
  * to, where the recovering flow already knows it
104
116
  * @param options.onCommitted {function}
105
- * `() => Promise<{ clientAnnexDid: string }>` -- the persist-before-publish
106
- * seam described above. Both the seam and the annex DID it returns are
117
+ * `(committed: { builtOnHead: { scid, versionId } }) =>
118
+ * Promise<{ clientAnnexDid: string }>` -- the persist-before-publish seam
119
+ * described above. Both the seam and the annex DID it returns are
107
120
  * REQUIRED: the add entry points the `#DelegatedClients` service entry at
108
121
  * it, and a caller that named no generation would republish the stranding
109
- * this ordering exists to prevent
122
+ * this ordering exists to prevent. `builtOnHead` is the head of the log
123
+ * snapshot the add entry is about to be built on (the SCID and the latest
124
+ * entry's `versionId`), which a resume hands back as `resume.builtOnHead`
125
+ * @param [options.resume] {object} `{ builtOnHead: { scid, versionId } }`
126
+ * -- the resume marker the torn run's persisted state recorded, beside the
127
+ * ladder seed handed in as `ladderSeed`. Supplied, each attempt's first read
128
+ * is refused with `BuiltOnHeadNotReachedError` unless the served log carries
129
+ * that SCID and an entry with that `versionId`, as the self-enrollment
130
+ * resume is. The marker guards the head alone: a resume must also pass the
131
+ * SAME `replacement` halves back, since a fresh replacement would publish a
132
+ * reveal entry of its own for the new hash (the abandoned one is struck at
133
+ * the add entry). The chain-head pin cannot stand in for it: a transient visit's
134
+ * pin is in-memory and gone with the tab, so the marker is the only fork
135
+ * guard a resumed spend holds. Both members must be non-empty strings; a
136
+ * malformed marker is refused with a `TypeError` before any read
110
137
  * @returns {Promise<object>} the account DID, the post-continuation
111
138
  * document and log (the rotation's recipient source and anchor), the
112
139
  * `keyAgreement` verification-method ids this entry struck for
@@ -114,8 +141,11 @@ import type { RecoveryLogStore, RecoveryPublicKeys, ReplacementRecoveryPublicKey
114
141
  * (`retiredCredentialVmIds` -- what the caller drops registry entries and
115
142
  * deletes unlock Spaces for; on a resumed run whose add entry already
116
143
  * landed it is derived from the log, so the resume reports the same list
117
- * the first run did), and, when the add entry ran here, the final
118
- * `did.json` projection
144
+ * the first run did), `committed` -- whether THIS call published the add
145
+ * entry (`false` exactly on the completed branch, where a torn earlier run
146
+ * had already published it and `onCommitted` was not entered; a returning
147
+ * call means the continuation stands either way), and, when the add entry
148
+ * ran here, the final `did.json` projection
119
149
  */
120
150
  export declare function recoverWebvhLadderAnchored(options: {
121
151
  store: RecoveryLogStore;
@@ -126,9 +156,14 @@ export declare function recoverWebvhLadderAnchored(options: {
126
156
  credentialKeyAgreement: UnlockKeyAgreementPublication;
127
157
  replacement: ReplacementRecoveryPublicKeys;
128
158
  expectedDid?: string;
129
- onCommitted: () => Promise<{
159
+ onCommitted: (committed: {
160
+ builtOnHead: BuiltOnHead;
161
+ }) => Promise<{
130
162
  clientAnnexDid: string;
131
163
  }>;
164
+ resume?: {
165
+ builtOnHead: BuiltOnHead;
166
+ };
132
167
  }): Promise<{
133
168
  did: string;
134
169
  doc: DIDDoc;
@@ -137,5 +172,6 @@ export declare function recoverWebvhLadderAnchored(options: {
137
172
  struckRungHashes: string[];
138
173
  unclaimedCredentialVmIds: string[];
139
174
  webDoc?: object;
175
+ committed: boolean;
140
176
  }>;
141
177
  //# sourceMappingURL=recoveryLadderAnchored.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recoveryLadderAnchored.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/recoveryLadderAnchored.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAK/D,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,4BAA4B,CAAA;AAMnC,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,6BAA6B,CAAA;AAMpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmHG;AACH,wBAAsB,0BAA0B,CAAC,OAAO,EAAE;IACxD,KAAK,EAAE,gBAAgB,CAAA;IACvB,QAAQ,EAAE,kBAAkB,GAAG;QAAE,UAAU,EAAE,UAAU,CAAA;KAAE,CAAA;IACzD,UAAU,EAAE,UAAU,CAAA;IACtB,sBAAsB,EAAE,6BAA6B,CAAA;IACrD,WAAW,EAAE,6BAA6B,CAAA;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACvD,GAAG,OAAO,CAAC;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,sBAAsB,EAAE,MAAM,EAAE,CAAA;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,wBAAwB,EAAE,MAAM,EAAE,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAC,CA2GD"}
1
+ {"version":3,"file":"recoveryLadderAnchored.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/recoveryLadderAnchored.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAK/D,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,4BAA4B,CAAA;AAMnC,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAM1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgJG;AACH,wBAAsB,0BAA0B,CAAC,OAAO,EAAE;IACxD,KAAK,EAAE,gBAAgB,CAAA;IACvB,QAAQ,EAAE,kBAAkB,GAAG;QAAE,UAAU,EAAE,UAAU,CAAA;KAAE,CAAA;IACzD,UAAU,EAAE,UAAU,CAAA;IACtB,sBAAsB,EAAE,6BAA6B,CAAA;IACrD,WAAW,EAAE,6BAA6B,CAAA;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,CAAC,SAAS,EAAE;QACvB,WAAW,EAAE,WAAW,CAAA;KACzB,KAAK,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzC,MAAM,CAAC,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE,CAAA;CACtC,GAAG,OAAO,CAAC;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,sBAAsB,EAAE,MAAM,EAAE,CAAA;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,wBAAwB,EAAE,MAAM,EAAE,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,CA2GD"}
@@ -75,20 +75,28 @@ import { clientAnnexDidParts, servicesPointedAtClientAnnex } from './log.js';
75
75
  * reveal-and-commit entry stands (so a revoked code has already been refused)
76
76
  * and BEFORE the add entry publishes the ladder VM -- the caller durably
77
77
  * writes the replacement code's record and the fresh credential's unlock
78
- * record (the ladder seed inside) there, so a tab death can never publish an
79
- * anchor nobody can derive. It must be idempotent: the conflict retry and a
80
- * resumed run invoke it again. It returns the fresh annex generation's DID,
78
+ * record there, so a tab death can never publish an anchor nobody can
79
+ * derive. The ladder seed that record carries is not new at the seam: the
80
+ * caller persisted it before the reveal entry (see the resume contract
81
+ * below), and the seam is where the unlock record built around it becomes
82
+ * durable. It must be idempotent: the conflict retry and a resumed run
83
+ * invoke it again. It returns the fresh annex generation's DID,
81
84
  * which the add entry then points the `#DelegatedClients` service entry at.
82
85
  *
83
86
  * Resumable from durable state alone, like the enrolled-client continuation: a
84
87
  * completed run is detected by rung 0 already authorized; a torn one by the
85
- * standing commitments. Note what the completion detection is scoped to: a
86
- * caller that mints its ladder seed per call (freewallet's does) can only hit
87
- * the completed branch inside this call's own conflict retry, since a later
88
- * process derives a different rung 0 and re-runs the whole continuation. A
89
- * caller that persists its ladder seed and resumes across processes takes the
90
- * completed branch WITHOUT re-entering `onCommitted`, so it must be able to
91
- * treat an already-complete continuation as success on its own.
88
+ * standing commitments. Both detections are scoped to the ladder seed handed
89
+ * in: the rung pair and the ladder VM derive from it, so a re-run with the
90
+ * SAME seed finds its own reveal entry standing (the rung revealed and every
91
+ * hash committed) and skips it, while a re-run with a freshly minted seed
92
+ * derives a different rung 0 and publishes a second reveal entry that dedups
93
+ * the replacement's hash away (the two-addition shape the readers in
94
+ * `ladder.ts` keep recognizing for logs written that way). A caller
95
+ * therefore persists the fresh ladder seed BEFORE the reveal entry and hands
96
+ * the same seed back on a resume, with the head its persisted state recorded
97
+ * as `resume.builtOnHead`. A resume that meets an already-complete
98
+ * continuation takes the completed branch WITHOUT re-entering `onCommitted`,
99
+ * so the caller must be able to treat it as success on its own.
92
100
  *
93
101
  * A fresh credential whose `keyAgreement` id already stands in the document
94
102
  * (the same passphrase re-typed) is refused before the reveal entry with
@@ -109,7 +117,10 @@ import { clientAnnexDidParts, servicesPointedAtClientAnnex } from './log.js';
109
117
  * @param options.recovery.updateKeyMultibase {string}
110
118
  * @param options.ladderSeed {Uint8Array} the FRESH credential's ladder seed
111
119
  * (recovery binds a fresh passphrase, so the ladder exists at exactly this
112
- * moment); rung 0, rung 1, and the ladder VM all derive from it
120
+ * moment); rung 0, rung 1, and the ladder VM all derive from it. On a
121
+ * resume it is the seed the torn run persisted, verbatim, so the resumed
122
+ * run re-derives the torn run's rung pair and detects its reveal entry as
123
+ * already published rather than minting a second one
113
124
  * @param options.credentialKeyAgreement {UnlockKeyAgreementPublication} the
114
125
  * fresh credential's key-agreement publication (a commitment for a
115
126
  * passphrase-derived key)
@@ -120,11 +131,26 @@ import { clientAnnexDidParts, servicesPointedAtClientAnnex } from './log.js';
120
131
  * @param [options.expectedDid] {string} the account DID the log must resolve
121
132
  * to, where the recovering flow already knows it
122
133
  * @param options.onCommitted {function}
123
- * `() => Promise<{ clientAnnexDid: string }>` -- the persist-before-publish
124
- * seam described above. Both the seam and the annex DID it returns are
134
+ * `(committed: { builtOnHead: { scid, versionId } }) =>
135
+ * Promise<{ clientAnnexDid: string }>` -- the persist-before-publish seam
136
+ * described above. Both the seam and the annex DID it returns are
125
137
  * REQUIRED: the add entry points the `#DelegatedClients` service entry at
126
138
  * it, and a caller that named no generation would republish the stranding
127
- * this ordering exists to prevent
139
+ * this ordering exists to prevent. `builtOnHead` is the head of the log
140
+ * snapshot the add entry is about to be built on (the SCID and the latest
141
+ * entry's `versionId`), which a resume hands back as `resume.builtOnHead`
142
+ * @param [options.resume] {object} `{ builtOnHead: { scid, versionId } }`
143
+ * -- the resume marker the torn run's persisted state recorded, beside the
144
+ * ladder seed handed in as `ladderSeed`. Supplied, each attempt's first read
145
+ * is refused with `BuiltOnHeadNotReachedError` unless the served log carries
146
+ * that SCID and an entry with that `versionId`, as the self-enrollment
147
+ * resume is. The marker guards the head alone: a resume must also pass the
148
+ * SAME `replacement` halves back, since a fresh replacement would publish a
149
+ * reveal entry of its own for the new hash (the abandoned one is struck at
150
+ * the add entry). The chain-head pin cannot stand in for it: a transient visit's
151
+ * pin is in-memory and gone with the tab, so the marker is the only fork
152
+ * guard a resumed spend holds. Both members must be non-empty strings; a
153
+ * malformed marker is refused with a `TypeError` before any read
128
154
  * @returns {Promise<object>} the account DID, the post-continuation
129
155
  * document and log (the rotation's recipient source and anchor), the
130
156
  * `keyAgreement` verification-method ids this entry struck for
@@ -132,8 +158,11 @@ import { clientAnnexDidParts, servicesPointedAtClientAnnex } from './log.js';
132
158
  * (`retiredCredentialVmIds` -- what the caller drops registry entries and
133
159
  * deletes unlock Spaces for; on a resumed run whose add entry already
134
160
  * landed it is derived from the log, so the resume reports the same list
135
- * the first run did), and, when the add entry ran here, the final
136
- * `did.json` projection
161
+ * the first run did), `committed` -- whether THIS call published the add
162
+ * entry (`false` exactly on the completed branch, where a torn earlier run
163
+ * had already published it and `onCommitted` was not entered; a returning
164
+ * call means the continuation stands either way), and, when the add entry
165
+ * ran here, the final `did.json` projection
137
166
  */
138
167
  export async function recoverWebvhLadderAnchored(options) {
139
168
  // The seam is what makes the fresh credential's and replacement code's
@@ -145,7 +174,7 @@ export async function recoverWebvhLadderAnchored(options) {
145
174
  'code and the fresh credential record must be persisted before the ' +
146
175
  'add entry publishes the ladder VM.');
147
176
  }
148
- const { ladderSeed, credentialKeyAgreement, onCommitted, expectedDid, ...shared } = options;
177
+ const { ladderSeed, credentialKeyAgreement, onCommitted, resume, expectedDid, ...shared } = options;
149
178
  // The fresh ladder: rung 0 is the successor key the add entry authorizes
150
179
  // and signs with, rung 1 its staged partner (the ladder-anchored genesis
151
180
  // configuration), and the VM the stable sibling the entry installs.
@@ -173,9 +202,10 @@ export async function recoverWebvhLadderAnchored(options) {
173
202
  stagedKeyMultibase: rung1.keyMultibase
174
203
  },
175
204
  // The persist-before-publish seam: the replacement code's record and
176
- // the fresh credential's unlock record (the ladder seed inside) become
177
- // durable HERE, before the add entry publishes the ladder VM that seed
178
- // backs.
205
+ // the fresh credential's unlock record become durable HERE, before
206
+ // the add entry publishes the ladder VM. The ladder seed itself was
207
+ // persisted before the reveal entry; the seam hands back the head a
208
+ // resume presents as `resume.builtOnHead`.
179
209
  onCommitted,
180
210
  // A passphrase the account already stands on is refused before the
181
211
  // reveal entry: this continuation retires that credential, and
@@ -221,12 +251,10 @@ export async function recoverWebvhLadderAnchored(options) {
221
251
  })
222
252
  };
223
253
  },
254
+ ...(resume !== undefined ? { builtOnHead: resume.builtOnHead } : {}),
224
255
  ...(expectedDid !== undefined ? { expectedDid } : {}),
225
256
  events
226
257
  })), spendOutcome);
227
- // `committed` is the remembered variant's signal; this one has no
228
- // cross-process resume for it to serve.
229
- const { committed: _committed, ...rest } = outcome;
230
- return rest;
258
+ return outcome;
231
259
  }
232
260
  //# sourceMappingURL=recoveryLadderAnchored.js.map
@@ -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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"}
@@ -46,6 +46,7 @@ import type { ServiceDescription } from '@interop/was-client';
46
46
  import type { UserKey } from '../keys/userKey.js';
47
47
  import type { AccountPointer } from '../keyring/recordEnvelope.js';
48
48
  import type { ClientWebvhUpdateKeys } from '../webvh/didWebvh.js';
49
+ import type { BuiltOnHead } from '../webvh/builtOnHead.js';
49
50
  import type { UnlockLogStore } from '../unlock/standingWebvh.js';
50
51
  import { type CeremonyEmitter } from '../ceremonyEvents.js';
51
52
  /**
@@ -138,20 +139,14 @@ declare function selfEnrollClientBody({ pointer, ladderSeed, credentialKeyAgreem
138
139
  credentialKeyAgreementKey: IKeyAgreementKey;
139
140
  logStore: UnlockLogStore;
140
141
  onCommitted: (committed: {
141
- builtOnHead: {
142
- scid: string;
143
- versionId: string;
144
- };
142
+ builtOnHead: BuiltOnHead;
145
143
  clientSeed: Uint8Array;
146
144
  webvhUpdateKeys: ClientWebvhUpdateKeys;
147
145
  }) => Promise<void>;
148
146
  resume?: {
149
147
  clientSeed: Uint8Array;
150
148
  webvhUpdateKeys: ClientWebvhUpdateKeys;
151
- builtOnHead: {
152
- scid: string;
153
- versionId: string;
154
- };
149
+ builtOnHead: BuiltOnHead;
155
150
  };
156
151
  serviceDescription?: ServiceDescription;
157
152
  events: CeremonyEmitter<SelfEnrollmentEventStage>;
@@ -1 +1 @@
1
- {"version":3,"file":"selfEnroll.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/selfEnroll.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAS7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAOlE,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,sBAAsB,CAAA;AAW7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3E;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,6FAK/B,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAA;AAY/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAClE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAOzC;AAED;;;;;GAKG;AACH,iBAAe,oBAAoB,CAAC,EAClC,OAAO,EACP,UAAU,EACV,yBAAyB,EACzB,QAAQ,EACR,WAAW,EACX,MAAM,EACN,kBAAkB,EAClB,MAAM,EACP,EAAE;IACD,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB,yBAAyB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,EAAE,cAAc,CAAA;IACxB,WAAW,EAAE,CAAC,SAAS,EAAE;QACvB,WAAW,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;QAChD,UAAU,EAAE,UAAU,CAAA;QACtB,eAAe,EAAE,qBAAqB,CAAA;KACvC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnB,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,UAAU,CAAA;QACtB,eAAe,EAAE,qBAAqB,CAAA;QACtC,WAAW,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KACjD,CAAA;IACD,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,MAAM,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAA;CAClD,GAAG,OAAO,CAAC;IACV,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,qBAAqB,CAAA;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,CAkJD"}
1
+ {"version":3,"file":"selfEnroll.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/selfEnroll.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAS7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAOlE,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,sBAAsB,CAAA;AAS7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3E;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,6FAK/B,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAA;AAY/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAClE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAOzC;AAED;;;;;GAKG;AACH,iBAAe,oBAAoB,CAAC,EAClC,OAAO,EACP,UAAU,EACV,yBAAyB,EACzB,QAAQ,EACR,WAAW,EACX,MAAM,EACN,kBAAkB,EAClB,MAAM,EACP,EAAE;IACD,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB,yBAAyB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,EAAE,cAAc,CAAA;IACxB,WAAW,EAAE,CAAC,SAAS,EAAE;QACvB,WAAW,EAAE,WAAW,CAAA;QACxB,UAAU,EAAE,UAAU,CAAA;QACtB,eAAe,EAAE,qBAAqB,CAAA;KACvC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnB,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,UAAU,CAAA;QACtB,eAAe,EAAE,qBAAqB,CAAA;QACtC,WAAW,EAAE,WAAW,CAAA;KACzB,CAAA;IACD,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,MAAM,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAA;CAClD,GAAG,OAAO,CAAC;IACV,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,qBAAqB,CAAA;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,CAkJD"}
@@ -7,7 +7,8 @@ import { webvhResourceLogController } from '../resourceLog/index.js';
7
7
  import { mintClientWebvhUpdateKeys, updateKeyMultibase } from '../webvh/didWebvh.js';
8
8
  import { verifyAccountLog } from '../webvh/verifyLog.js';
9
9
  import { clientSigningKeyMultibase, isWebvhDid, webvhZcapClient } from '../webvh/zcap.js';
10
- import { assertBuiltOnHeadShape, selfEnrollWebvhClient } from './ladderAnchored.js';
10
+ import { selfEnrollWebvhClient } from './ladderAnchored.js';
11
+ import { assertBuiltOnHeadShape } from '../webvh/builtOnHead.js';
11
12
  import { ceremonyEvents } from '../ceremonyEvents.js';
12
13
  import { log } from '../log.js';
13
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"selfEnroll.js","sourceRoot":"","sources":["../../src/clientAnnex/selfEnroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selfEnroll.js","sourceRoot":"","sources":["../../src/clientAnnex/selfEnroll.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { CeremonyEmitter, CeremonyOutcome } from '../ceremonyEvents.js';
2
2
  import type { DIDDoc, DIDLog, ServiceEndpoint, VerificationMethod } from '@interop/did-method-webvh';
3
3
  import type { WebvhIdStore } from '../webvh/didWebvh.js';
4
4
  import type { RelationMembership } from '../webvh/mergeMethods.js';
5
+ import type { BuiltOnHead } from '../webvh/builtOnHead.js';
5
6
  /**
6
7
  * The recovery-code spend's stages on the ceremony event channel, in the
7
8
  * order they land: the reveal-and-commit entry, the caller's
@@ -16,7 +17,8 @@ export type RecoveryCodeSpendStage = (typeof RECOVERY_CODE_SPEND_STAGES)[number]
16
17
  /**
17
18
  * The spend's typed refusals, matched by `err.name`: a code the document no
18
19
  * longer commits (revoked or already spent), a fresh credential the account
19
- * already stands on, and an account with no log to recover.
20
+ * already stands on, a resume whose recorded head the served log never
21
+ * reached, and an account with no log to recover.
20
22
  */
21
23
  export declare const RECOVERY_CODE_SPEND_REFUSALS: string[];
22
24
  /**
@@ -245,13 +247,20 @@ export interface RecoveryContinuationOutcome extends RecoverySpendRetirement {
245
247
  * is refused with {@link RecoveryCredentialStandingError}. The transient
246
248
  * variant supplies its fresh credential's; the remembered variant's new
247
249
  * client publishes a marked pair, which is never credential-class
250
+ * @param [options.builtOnHead] {object} `{ scid, versionId }` -- the resume
251
+ * marker a torn run's persisted state recorded, from an earlier attempt's
252
+ * `onCommitted`. Supplied, each attempt's first read is refused with
253
+ * `BuiltOnHeadNotReachedError` unless the served log carries that SCID and
254
+ * an entry with that `versionId`, before the completion check, so a
255
+ * truncated served log is never read as "not complete yet" and rebuilt
256
+ * over; a malformed marker is refused with a `TypeError` before any read
248
257
  * @param [options.expectedDid] {string}
249
258
  * @param [options.events] {CeremonyEmitter} the running spend's emitter,
250
259
  * which each landed stage reports through. The conflict retry re-enters
251
260
  * this body, and the emitter reports a stage once per run
252
261
  * @returns {Promise<RecoveryContinuationOutcome>}
253
262
  */
254
- export declare function recoveryContinuationOnce<Persisted>({ store, recovery, successor, replacement, onCommitted, added, credentialVmIds, expectedDid, events }: {
263
+ export declare function recoveryContinuationOnce<Persisted>({ store, recovery, successor, replacement, onCommitted, added, credentialVmIds, builtOnHead, expectedDid, events }: {
255
264
  store: RecoveryLogStore;
256
265
  recovery: RecoveryPublicKeys & {
257
266
  updateSeed: Uint8Array;
@@ -263,10 +272,7 @@ export declare function recoveryContinuationOnce<Persisted>({ store, recovery, s
263
272
  };
264
273
  replacement: ReplacementRecoveryPublicKeys;
265
274
  onCommitted: (committed: {
266
- builtOnHead: {
267
- scid: string;
268
- versionId: string;
269
- };
275
+ builtOnHead: BuiltOnHead;
270
276
  }) => Promise<Persisted>;
271
277
  added: (context: {
272
278
  did: string;
@@ -274,6 +280,7 @@ export declare function recoveryContinuationOnce<Persisted>({ store, recovery, s
274
280
  persisted: Persisted;
275
281
  }) => RecoveryAddedInventory;
276
282
  credentialVmIds?: (did: string) => string[];
283
+ builtOnHead?: BuiltOnHead;
277
284
  expectedDid?: string;
278
285
  events?: CeremonyEmitter<RecoveryCodeSpendStage>;
279
286
  }): Promise<RecoveryContinuationOutcome>;
@@ -1 +1 @@
1
- {"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../src/recovery/continuation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../src/recovery/continuation.ts"],"names":[],"mappings":"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"}
@@ -43,11 +43,13 @@ export const RECOVERY_CODE_SPEND_STAGES = [
43
43
  /**
44
44
  * The spend's typed refusals, matched by `err.name`: a code the document no
45
45
  * longer commits (revoked or already spent), a fresh credential the account
46
- * already stands on, and an account with no log to recover.
46
+ * already stands on, a resume whose recorded head the served log never
47
+ * reached, and an account with no log to recover.
47
48
  */
48
49
  export const RECOVERY_CODE_SPEND_REFUSALS = [
49
50
  'RecoveryKeyNotCommittedError',
50
51
  'RecoveryCredentialStandingError',
52
+ 'BuiltOnHeadNotReachedError',
51
53
  'AccountLogMissingError'
52
54
  ];
53
55
  /**
@@ -289,13 +291,20 @@ export class RecoveryCredentialStandingError extends Error {
289
291
  * is refused with {@link RecoveryCredentialStandingError}. The transient
290
292
  * variant supplies its fresh credential's; the remembered variant's new
291
293
  * client publishes a marked pair, which is never credential-class
294
+ * @param [options.builtOnHead] {object} `{ scid, versionId }` -- the resume
295
+ * marker a torn run's persisted state recorded, from an earlier attempt's
296
+ * `onCommitted`. Supplied, each attempt's first read is refused with
297
+ * `BuiltOnHeadNotReachedError` unless the served log carries that SCID and
298
+ * an entry with that `versionId`, before the completion check, so a
299
+ * truncated served log is never read as "not complete yet" and rebuilt
300
+ * over; a malformed marker is refused with a `TypeError` before any read
292
301
  * @param [options.expectedDid] {string}
293
302
  * @param [options.events] {CeremonyEmitter} the running spend's emitter,
294
303
  * which each landed stage reports through. The conflict retry re-enters
295
304
  * this body, and the emitter reports a stage once per run
296
305
  * @returns {Promise<RecoveryContinuationOutcome>}
297
306
  */
298
- export async function recoveryContinuationOnce({ store, recovery, successor, replacement, onCommitted, added, credentialVmIds, expectedDid, events }) {
307
+ export async function recoveryContinuationOnce({ store, recovery, successor, replacement, onCommitted, added, credentialVmIds, builtOnHead, expectedDid, events }) {
299
308
  const pinned = {
300
309
  ...(expectedDid !== undefined ? { expectedDid } : {})
301
310
  };
@@ -327,6 +336,9 @@ export async function recoveryContinuationOnce({ store, recovery, successor, rep
327
336
  missingMessage,
328
337
  verb: 'spending a recovery code',
329
338
  logOnly: true,
339
+ // The resume marker: the preamble refuses a served log that has not
340
+ // reached it, before `skip`'s completion check.
341
+ ...(builtOnHead !== undefined ? { builtOnHead } : {}),
330
342
  skip: read => {
331
343
  // Already complete (a torn earlier run finished the add entry): the
332
344
  // successor key is authorized, which only the add entry writes.
@@ -1 +1 @@
1
- {"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../src/recovery/continuation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAQ7D,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,UAAU,EACX,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EACL,6BAA6B,EAC7B,WAAW,EACX,qBAAqB,EACtB,MAAM,4BAA4B,CAAA;AACnC,wEAAwE;AACxE,wEAAwE;AACxE,4EAA4E;AAC5E,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,0BAA0B,CAAA;AAEjC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,eAAe;IACf,qBAAqB;IACrB,YAAY;CACJ,CAAA;AAOV;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,8BAA8B;IAC9B,iCAAiC;IACjC,wBAAwB;CACzB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,GAAG,EACH,GAAG,EACH,qBAAqB,EACrB,SAAS,EAMV;IACC,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACrC,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CACzD,CAAA;IACD,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,qBAAqB,CAAC;QAC3B,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE,QAAQ;QACjB,GAAG;KACJ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;AACnC,CAAC;AAkBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,EACnD,GAAG,EACH,GAAG,EACH,SAAS,EACT,6BAA6B,EAC7B,6BAA6B,EAO9B;IACC,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC5D,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAChE,CAAA;IACD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,sBAAsB,EAAE,EAAE;YAC1B,gBAAgB,EAAE,EAAE;YACpB,wBAAwB,EAAE,EAAE;SAC7B,CAAA;IACH,CAAC;IACD,MAAM,SAAS,GAAG,YAAY,CAAC;QAC7B,GAAG;QACH,wBAAwB,EAAE,6BAA6B;KACxD,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;QAC3D,GAAG;QACH,GAAG;QACH,qBAAqB,EAAE,SAAS,CAAC,kBAAkB;QACnD,SAAS;KACV,CAAC,CAAA;IACF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/C,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/C,iBAAiB,CAAC,6BAA6B,CAAC;KACjD,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,+BAA+B,CAAC;QACnD,GAAG;QACH,sBAAsB,EAAE,SAAS,CAAC,kBAAkB;QACpD,eAAe,EAAE,sBAAsB;QACvC,eAAe;QACf,aAAa,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC;KAC9C,CAAC,CAAA;IACF,0EAA0E;IAC1E,yEAAyE;IACzE,8DAA8D;IAC9D,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,sBAAsB,CAAC;QACpC,GAAG,EAAE,MAAM;QACX,cAAc,EAAE,SAAS;KAC1B,CAAC,CAAA;IACF,MAAM,iBAAiB,GACrB,MAAM;QACN,CAAC,MAAM,iBAAiB,CAAC;YACvB,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE;YAC1D,IAAI,EAAE,MAAM,CAAC,UAAU;SACxB,CAAC,CAAC,CAAA;IACL,MAAM,SAAS,GAAG,iBAAiB;QACjC,CAAC,CAAC,MAAM,yBAAyB,CAAC;YAC9B,GAAG,EAAE,MAAM;YACX,iBAAiB;YACjB,eAAe;SAChB,CAAC;QACJ,CAAC,CAAC,EAAE,CAAA;IACN,OAAO;QACL,sBAAsB;QACtB,gBAAgB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACtE,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;KAC1D,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB,CAAC,EAC/B,IAAI,EACJ,IAAI,EAIL;IACC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,GAAG,EACH,wBAAwB,EAIzB;IACC,OAAO,GAAG,GAAG,IAAI,wBAAwB,EAAE,CAAA;AAC7C,CAAC;AAyBD;;;;GAIG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrD,YACE,OAAO,GAAG,4DAA4D;QACpE,mDAAmD;QAErD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;IAC5C,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,eAAe,CAAU;IAElC,YAAY,EAAE,eAAe,EAAiC;QAC5D,KAAK,CACH,qEAAqE;YACnE,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC;YACtE,eAAe,CAClB,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAA;QAC7C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;CACF;AAqCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAY,EACxD,KAAK,EACL,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,EACX,KAAK,EACL,eAAe,EACf,WAAW,EACX,MAAM,EAqBP;IACC,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAA;IACD,MAAM,cAAc,GAAG,sDAAsD,CAAA;IAE7E,4EAA4E;IAC5E,4EAA4E;IAC5E,0BAA0B;IAC1B,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,CAAC,GAC9D,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,iBAAiB,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC9C,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/C,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/C,iBAAiB,CAAC,WAAW,CAAC,kBAAkB,CAAC;KAClD,CAAC,CAAA;IACJ,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;IACpE,MAAM,aAAa,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACpD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAClC,YAAY,CAAC;QACX,GAAG;QACH,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;KAC5D,CAAC,CAAA;IACJ,MAAM,QAAQ,GAAG,CAAC,IAAuB,EAAE,EAAE,CAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAExD,uEAAuE;IACvE,4EAA4E;IAC5E,yEAAyE;IACzE,wCAAwC;IACxC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;QACpC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;QAC9D,GAAG,MAAM;QACT,cAAc;QACd,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI,CAAC,EAAE;YACX,oEAAoE;YACpE,gEAAgE;YAChE,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,oEAAoE;YACpE,yDAAyD;YACzD,MAAM,QAAQ,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAC/D,6BAA6B,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAClE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAC3B,CACF,CAAA;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,+BAA+B,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC1E,CAAC;YACD,qEAAqE;YACrE,mDAAmD;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;YACtE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,4BAA4B,EAAE,CAAA;YAC1C,CAAC;YACD,OAAO,CACL,QAAQ;gBACR,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACjE,CAAA;QACH,CAAC;QACD,oEAAoE;QACpE,wEAAwE;QACxE,sEAAsE;QACtE,sCAAsC;QACtC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;KACjD,CAAC,CAAA;IACF,IAAI,SAAS,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IACrD,MAAM,EAAE,KAAK,CAAC,eAAe,EAAE;QAC7B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KAC3C,CAAC,CAAA;IAEF,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,oEAAoE;QACpE,wEAAwE;QACxE,sEAAsE;QACtE,yEAAyE;QACzE,8BAA8B;QAC9B,MAAM,UAAU,GAAG,MAAM,8BAA8B,CAAC;YACtD,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,SAAS,EAAE;gBACT,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;gBAChD,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;aACjD;YACD,6BAA6B,EAAE,WAAW,CAAC,kBAAkB;YAC7D,6BAA6B,EAAE,QAAQ,CAAC,wBAAwB;SACjE,CAAC,CAAA;QACF,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,OAAO;YACL,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,SAAS,EAAE,KAAK;YAChB,GAAG,UAAU;SACd,CAAA;IACH,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACnD,uEAAuE;QACvE,SAAS,GAAG,MAAM,uBAAuB,CAAC;YACxC,OAAO,EAAE,KAAK;YACd,GAAG,MAAM;YACT,WAAW,EAAE,SAAS,CAAC,GAAG;YAC1B,cAAc;SACf,CAAC,CAAA;IACJ,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,4EAA4E;IAC5E,gEAAgE;IAChE,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC;QAClC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;KACvC,CAAC,CAAA;IACF,MAAM,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAEpC,sEAAsE;IACtE,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,wCAAwC;IACxC,IAAI,sBAAsB,GAAa,EAAE,CAAA;IACzC,IAAI,MAAM,GAAgE;QACxE,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,wBAAwB,EAAE,EAAE;KAC7B,CAAA;IACD,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC;QACjC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE;QAC/D,SAAS;QACT,GAAG,MAAM;QACT,WAAW,EAAE,SAAS,CAAC,GAAG;QAC1B,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;YACnC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;YACzB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;YAClC,MAAM,eAAe,GAAG,YAAY,CAAC;gBACnC,GAAG;gBACH,wBAAwB,EAAE,WAAW,CAAC,wBAAwB;aAC/D,CAAC,CAAA;YACF,uEAAuE;YACvE,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,sEAAsE;YACtE,sEAAsE;YACtE,qEAAqE;YACrE,6DAA6D;YAC7D,MAAM,qBAAqB,GAAG,GAAG,GAAG,IAAI,WAAW,CAAC,oBAAoB,EAAE,CAAA;YAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;YAC9C,MAAM,YAAY,GAAyB;gBACzC,GAAG,OAAO,CAAC,OAAO;gBAClB,2BAA2B,CAAC;oBAC1B,GAAG;oBACH,YAAY,EAAE;wBACZ,kBAAkB,EAAE,WAAW,CAAC,wBAAwB;qBACzD;oBACD,gBAAgB,EAAE,eAAe;iBAClC,CAAC;gBACF,wBAAwB,CAAC;oBACvB,UAAU,EAAE,GAAG;oBACf,kBAAkB,EAAE,WAAW,CAAC,oBAAoB;iBACrD,CAAC;aACH,CAAA;YACD,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,uEAAuE;YACvE,oEAAoE;YACpE,iEAAiE;YACjE,+DAA+D;YAC/D,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;YACtC,MAAM,UAAU,GAAG,YAAY;iBAC5B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;iBACxB,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAA;YACvD,MAAM,qBAAqB,GAAG,6BAA6B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;iBACtE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;iBACxB,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;iBACpD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YACzC,sBAAsB,GAAG,qBAAqB,CAAC,MAAM,CACnD,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CACvB,CAAA;YACD,yEAAyE;YACzE,+DAA+D;YAC/D,wEAAwE;YACxE,wEAAwE;YACxE,kEAAkE;YAClE,uEAAuE;YACvE,6CAA6C;YAC7C,MAAM,GAAG,MAAM,+BAA+B,CAAC;gBAC7C,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,eAAe,EAAE,sBAAsB;gBACvC,eAAe;gBACf,aAAa;aACd,CAAC,CAAA;YACF,wEAAwE;YACxE,mEAAmE;YACnE,sEAAsE;YACtE,oEAAoE;YACpE,sEAAsE;YACtE,+DAA+D;YAC/D,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC;gBAChD,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB;gBAC9C,eAAe;aAChB,CAAC,CAAA;YACF,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;aACnE,CAAA;YACD,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;YAC3D,MAAM,MAAM,GAAG,CAAC,EAAU,EAAW,EAAE,CACrC,EAAE,KAAK,SAAS;gBAChB,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACpC,OAAO;gBACL,kEAAkE;gBAClE,8CAA8C;gBAC9C,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAChC,GAAG,CAAC,EAAE,CACJ,GAAG,KAAK,QAAQ,CAAC,kBAAkB;oBACnC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CACnC;gBACD,aAAa,EAAE,yBAAyB,CAAC;oBACvC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CACtC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CACrC;oBACD,QAAQ,EAAE,mCAAmC;iBAC9C,CAAC;gBACF,qEAAqE;gBACrE,oEAAoE;gBACpE,qEAAqE;gBACrE,mDAAmD;gBACnD,GAAG,wBAAwB,CAAC;oBAC1B,GAAG;oBACH,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE;wBACT,cAAc,EAAE,OAAO,CAAC,cAAc;wBACtC,4DAA4D;wBAC5D,+DAA+D;wBAC/D,UAAU;wBACV,eAAe,EAAE;4BACf,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;4BAClC,qBAAqB;yBACtB;wBACD,YAAY,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC;wBAChE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;wBAClD,oBAAoB,EAAE;4BACpB,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,EAAE,CAAC;4BACvC,qBAAqB;yBACtB;qBACF;iBACF,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D,CAAA;QACH,CAAC;KACF,CAAC,CAAA;IACF,mDAAmD;IACnD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAQ,CAAA;IAC5B,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3B,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,sBAAsB;QACtB,gBAAgB,EAAE,MAAM,CAAC,YAAY;QACrC,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;KAC1D,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,SAAS,EACT,wBAAwB,EAIzB;IACC,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;IAC/B,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;AAClD,CAAC"}
1
+ {"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../src/recovery/continuation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAQ7D,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,UAAU,EACX,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAExE,OAAO,EACL,6BAA6B,EAC7B,WAAW,EACX,qBAAqB,EACtB,MAAM,4BAA4B,CAAA;AACnC,wEAAwE;AACxE,wEAAwE;AACxE,4EAA4E;AAC5E,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,0BAA0B,CAAA;AAEjC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,eAAe;IACf,qBAAqB;IACrB,YAAY;CACJ,CAAA;AAOV;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,8BAA8B;IAC9B,iCAAiC;IACjC,4BAA4B;IAC5B,wBAAwB;CACzB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,GAAG,EACH,GAAG,EACH,qBAAqB,EACrB,SAAS,EAMV;IACC,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACrC,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CACzD,CAAA;IACD,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,qBAAqB,CAAC;QAC3B,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE,QAAQ;QACjB,GAAG;KACJ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;AACnC,CAAC;AAkBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,EACnD,GAAG,EACH,GAAG,EACH,SAAS,EACT,6BAA6B,EAC7B,6BAA6B,EAO9B;IACC,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC5D,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAChE,CAAA;IACD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,sBAAsB,EAAE,EAAE;YAC1B,gBAAgB,EAAE,EAAE;YACpB,wBAAwB,EAAE,EAAE;SAC7B,CAAA;IACH,CAAC;IACD,MAAM,SAAS,GAAG,YAAY,CAAC;QAC7B,GAAG;QACH,wBAAwB,EAAE,6BAA6B;KACxD,CAAC,CAAA;IACF,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;QAC3D,GAAG;QACH,GAAG;QACH,qBAAqB,EAAE,SAAS,CAAC,kBAAkB;QACnD,SAAS;KACV,CAAC,CAAA;IACF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/C,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/C,iBAAiB,CAAC,6BAA6B,CAAC;KACjD,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,+BAA+B,CAAC;QACnD,GAAG;QACH,sBAAsB,EAAE,SAAS,CAAC,kBAAkB;QACpD,eAAe,EAAE,sBAAsB;QACvC,eAAe;QACf,aAAa,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC;KAC9C,CAAC,CAAA;IACF,0EAA0E;IAC1E,yEAAyE;IACzE,8DAA8D;IAC9D,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,sBAAsB,CAAC;QACpC,GAAG,EAAE,MAAM;QACX,cAAc,EAAE,SAAS;KAC1B,CAAC,CAAA;IACF,MAAM,iBAAiB,GACrB,MAAM;QACN,CAAC,MAAM,iBAAiB,CAAC;YACvB,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE;YAC1D,IAAI,EAAE,MAAM,CAAC,UAAU;SACxB,CAAC,CAAC,CAAA;IACL,MAAM,SAAS,GAAG,iBAAiB;QACjC,CAAC,CAAC,MAAM,yBAAyB,CAAC;YAC9B,GAAG,EAAE,MAAM;YACX,iBAAiB;YACjB,eAAe;SAChB,CAAC;QACJ,CAAC,CAAC,EAAE,CAAA;IACN,OAAO;QACL,sBAAsB;QACtB,gBAAgB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACtE,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;KAC1D,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB,CAAC,EAC/B,IAAI,EACJ,IAAI,EAIL;IACC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,GAAG,EACH,wBAAwB,EAIzB;IACC,OAAO,GAAG,GAAG,IAAI,wBAAwB,EAAE,CAAA;AAC7C,CAAC;AAyBD;;;;GAIG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrD,YACE,OAAO,GAAG,4DAA4D;QACpE,mDAAmD;QAErD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;IAC5C,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,eAAe,CAAU;IAElC,YAAY,EAAE,eAAe,EAAiC;QAC5D,KAAK,CACH,qEAAqE;YACnE,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC;YACtE,eAAe,CAClB,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAA;QAC7C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;CACF;AAqCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAY,EACxD,KAAK,EACL,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,EACX,KAAK,EACL,eAAe,EACf,WAAW,EACX,WAAW,EACX,MAAM,EAoBP;IACC,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAA;IACD,MAAM,cAAc,GAAG,sDAAsD,CAAA;IAE7E,4EAA4E;IAC5E,4EAA4E;IAC5E,0BAA0B;IAC1B,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,CAAC,GAC9D,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,iBAAiB,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC9C,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/C,iBAAiB,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/C,iBAAiB,CAAC,WAAW,CAAC,kBAAkB,CAAC;KAClD,CAAC,CAAA;IACJ,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;IACpE,MAAM,aAAa,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACpD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAClC,YAAY,CAAC;QACX,GAAG;QACH,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;KAC5D,CAAC,CAAA;IACJ,MAAM,QAAQ,GAAG,CAAC,IAAuB,EAAE,EAAE,CAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IAExD,uEAAuE;IACvE,4EAA4E;IAC5E,yEAAyE;IACzE,wCAAwC;IACxC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;QACpC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;QAC9D,GAAG,MAAM;QACT,cAAc;QACd,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,IAAI;QACb,oEAAoE;QACpE,gDAAgD;QAChD,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,IAAI,EAAE,IAAI,CAAC,EAAE;YACX,oEAAoE;YACpE,gEAAgE;YAChE,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,oEAAoE;YACpE,yDAAyD;YACzD,MAAM,QAAQ,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAC/D,6BAA6B,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAClE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAC3B,CACF,CAAA;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,+BAA+B,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC1E,CAAC;YACD,qEAAqE;YACrE,mDAAmD;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;YACtE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,4BAA4B,EAAE,CAAA;YAC1C,CAAC;YACD,OAAO,CACL,QAAQ;gBACR,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACjE,CAAA;QACH,CAAC;QACD,oEAAoE;QACpE,wEAAwE;QACxE,sEAAsE;QACtE,sCAAsC;QACtC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;KACjD,CAAC,CAAA;IACF,IAAI,SAAS,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IACrD,MAAM,EAAE,KAAK,CAAC,eAAe,EAAE;QAC7B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KAC3C,CAAC,CAAA;IAEF,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,oEAAoE;QACpE,wEAAwE;QACxE,sEAAsE;QACtE,yEAAyE;QACzE,8BAA8B;QAC9B,MAAM,UAAU,GAAG,MAAM,8BAA8B,CAAC;YACtD,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,SAAS,EAAE;gBACT,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;gBAChD,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;aACjD;YACD,6BAA6B,EAAE,WAAW,CAAC,kBAAkB;YAC7D,6BAA6B,EAAE,QAAQ,CAAC,wBAAwB;SACjE,CAAC,CAAA;QACF,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,OAAO;YACL,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,SAAS,EAAE,KAAK;YAChB,GAAG,UAAU;SACd,CAAA;IACH,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACnD,uEAAuE;QACvE,SAAS,GAAG,MAAM,uBAAuB,CAAC;YACxC,OAAO,EAAE,KAAK;YACd,GAAG,MAAM;YACT,WAAW,EAAE,SAAS,CAAC,GAAG;YAC1B,cAAc;SACf,CAAC,CAAA;IACJ,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,4EAA4E;IAC5E,gEAAgE;IAChE,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC;QAClC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;KACvC,CAAC,CAAA;IACF,MAAM,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAEpC,sEAAsE;IACtE,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,wCAAwC;IACxC,IAAI,sBAAsB,GAAa,EAAE,CAAA;IACzC,IAAI,MAAM,GAAgE;QACxE,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,wBAAwB,EAAE,EAAE;KAC7B,CAAA;IACD,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC;QACjC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE;QAC/D,SAAS;QACT,GAAG,MAAM;QACT,WAAW,EAAE,SAAS,CAAC,GAAG;QAC1B,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;YACnC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;YACzB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;YAClC,MAAM,eAAe,GAAG,YAAY,CAAC;gBACnC,GAAG;gBACH,wBAAwB,EAAE,WAAW,CAAC,wBAAwB;aAC/D,CAAC,CAAA;YACF,uEAAuE;YACvE,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,sEAAsE;YACtE,sEAAsE;YACtE,qEAAqE;YACrE,6DAA6D;YAC7D,MAAM,qBAAqB,GAAG,GAAG,GAAG,IAAI,WAAW,CAAC,oBAAoB,EAAE,CAAA;YAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;YAC9C,MAAM,YAAY,GAAyB;gBACzC,GAAG,OAAO,CAAC,OAAO;gBAClB,2BAA2B,CAAC;oBAC1B,GAAG;oBACH,YAAY,EAAE;wBACZ,kBAAkB,EAAE,WAAW,CAAC,wBAAwB;qBACzD;oBACD,gBAAgB,EAAE,eAAe;iBAClC,CAAC;gBACF,wBAAwB,CAAC;oBACvB,UAAU,EAAE,GAAG;oBACf,kBAAkB,EAAE,WAAW,CAAC,oBAAoB;iBACrD,CAAC;aACH,CAAA;YACD,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,uEAAuE;YACvE,oEAAoE;YACpE,iEAAiE;YACjE,+DAA+D;YAC/D,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;YACtC,MAAM,UAAU,GAAG,YAAY;iBAC5B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;iBACxB,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAA;YACvD,MAAM,qBAAqB,GAAG,6BAA6B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;iBACtE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;iBACxB,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;iBACpD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YACzC,sBAAsB,GAAG,qBAAqB,CAAC,MAAM,CACnD,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CACvB,CAAA;YACD,yEAAyE;YACzE,+DAA+D;YAC/D,wEAAwE;YACxE,wEAAwE;YACxE,kEAAkE;YAClE,uEAAuE;YACvE,6CAA6C;YAC7C,MAAM,GAAG,MAAM,+BAA+B,CAAC;gBAC7C,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,eAAe,EAAE,sBAAsB;gBACvC,eAAe;gBACf,aAAa;aACd,CAAC,CAAA;YACF,wEAAwE;YACxE,mEAAmE;YACnE,sEAAsE;YACtE,oEAAoE;YACpE,sEAAsE;YACtE,+DAA+D;YAC/D,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC;gBAChD,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB;gBAC9C,eAAe;aAChB,CAAC,CAAA;YACF,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;aACnE,CAAA;YACD,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;YAC3D,MAAM,MAAM,GAAG,CAAC,EAAU,EAAW,EAAE,CACrC,EAAE,KAAK,SAAS;gBAChB,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACpC,OAAO;gBACL,kEAAkE;gBAClE,8CAA8C;gBAC9C,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAChC,GAAG,CAAC,EAAE,CACJ,GAAG,KAAK,QAAQ,CAAC,kBAAkB;oBACnC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CACnC;gBACD,aAAa,EAAE,yBAAyB,CAAC;oBACvC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CACtC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CACrC;oBACD,QAAQ,EAAE,mCAAmC;iBAC9C,CAAC;gBACF,qEAAqE;gBACrE,oEAAoE;gBACpE,qEAAqE;gBACrE,mDAAmD;gBACnD,GAAG,wBAAwB,CAAC;oBAC1B,GAAG;oBACH,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE;wBACT,cAAc,EAAE,OAAO,CAAC,cAAc;wBACtC,4DAA4D;wBAC5D,+DAA+D;wBAC/D,UAAU;wBACV,eAAe,EAAE;4BACf,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;4BAClC,qBAAqB;yBACtB;wBACD,YAAY,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC;wBAChE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;wBAClD,oBAAoB,EAAE;4BACpB,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,EAAE,CAAC;4BACvC,qBAAqB;yBACtB;qBACF;iBACF,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D,CAAA;QACH,CAAC;KACF,CAAC,CAAA;IACF,mDAAmD;IACnD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAQ,CAAA;IAC5B,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3B,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,sBAAsB;QACtB,gBAAgB,EAAE,MAAM,CAAC,YAAY;QACrC,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;KAC1D,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,SAAS,EACT,wBAAwB,EAIzB;IACC,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;IAC/B,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;AAClD,CAAC"}
@@ -41,6 +41,7 @@ import type { DIDDoc, DIDLog } from '@interop/did-method-webvh';
41
41
  import type { ClientWebvhUpdateKeys, WebvhEnrollmentKeys, WebvhIdStore } from '../webvh/didWebvh.js';
42
42
  import type { UnlockInventoryPart } from '../unlock/standingWebvh.js';
43
43
  import type { AccountLogSigner } from '../webvh/accountEntry.js';
44
+ import type { BuiltOnHead } from '../webvh/builtOnHead.js';
44
45
  import type { RecoveryLogStore, RecoveryPublicKeys, ReplacementRecoveryPublicKeys } from './continuation.js';
45
46
  export { RECOVERY_CODE_SPEND_STAGES, RecoveryCredentialStandingError, RecoveryKeyNotCommittedError, recoveryVmId, retiredCredentialVmIdsFromLog } from './continuation.js';
46
47
  export type { RecoveryCodeSpendStage, RecoveryLogStore, RecoveryPublicKeys, ReplacementRecoveryPublicKeys } from './continuation.js';
@@ -210,6 +211,18 @@ export declare function removeRecoveryKey({ idStore, signer, recovery, ladderSee
210
211
  * never-published CLIENT's committed hashes, inert orphans in
211
212
  * `nextKeyHashes` exactly as on the self-enrollment seam (keys of a lost
212
213
  * random seed; nothing can reveal them)
214
+ * @param [options.resume] {object} `{ builtOnHead: { scid, versionId } }`
215
+ * -- the resume marker the torn run's pending record recorded, the head
216
+ * the seam handed it. Supplied, each attempt's first read is refused with
217
+ * `BuiltOnHeadNotReachedError` unless the served log carries that SCID and
218
+ * an entry with that `versionId`, as the transient continuation's resume
219
+ * is. The chain-head pin covers the same fork only once it has advanced
220
+ * past the reveal entry, and a tab death between the publish and the
221
+ * pin's advance leaves the pin one entry short, so the marker is what
222
+ * refuses a served log truncated to the pre-reveal head, where the
223
+ * completion check would otherwise build a second reveal entry. Both
224
+ * members must be non-empty strings; a malformed marker is refused with a
225
+ * `TypeError` before any read
213
226
  * @param [options.expectedDid] {string} the account DID the log must resolve
214
227
  * to, where the recovering flow already knows it. Every read both entries
215
228
  * are built on is checked against the store's own chain-head pin (a served
@@ -240,11 +253,11 @@ export declare function recoverWebvhClient(options: {
240
253
  newClientUpdateSeeds: ClientWebvhUpdateKeys;
241
254
  replacement: ReplacementRecoveryPublicKeys;
242
255
  onCommitted: (committed: {
243
- builtOnHead: {
244
- scid: string;
245
- versionId: string;
246
- };
256
+ builtOnHead: BuiltOnHead;
247
257
  }) => Promise<void>;
258
+ resume?: {
259
+ builtOnHead: BuiltOnHead;
260
+ };
248
261
  expectedDid?: string;
249
262
  }): Promise<{
250
263
  did: string;
@@ -1 +1 @@
1
- {"version":3,"file":"recoveryWebvh.d.ts","sourceRoot":"","sources":["../../src/recovery/recoveryWebvh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recoveryWebvh.d.ts","sourceRoot":"","sources":["../../src/recovery/recoveryWebvh.ts"],"names":[],"mappings":"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"}