swarm-deploy 0.3.1 → 0.4.2
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.
- package/CHANGELOG.md +65 -0
- package/README.md +89 -1257
- package/RELEASING.md +15 -8
- package/dist/cli.d.ts +7 -0
- package/dist/cli.js +127 -2
- package/dist/cli.js.map +1 -1
- package/dist/hooks-module.d.ts +3 -2
- package/dist/hooks-module.js +4 -4
- package/dist/hooks-module.js.map +1 -1
- package/dist/hooks.d.ts +75 -2
- package/dist/hooks.js +57 -3
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +58 -8
- package/dist/server.js +287 -57
- package/dist/server.js.map +1 -1
- package/dist/storage/layout.d.ts +29 -0
- package/dist/storage/layout.js +53 -4
- package/dist/storage/layout.js.map +1 -1
- package/dist/storage/link-store.d.ts +48 -7
- package/dist/storage/link-store.js +119 -11
- package/dist/storage/link-store.js.map +1 -1
- package/dist/storage/reset.d.ts +95 -0
- package/dist/storage/reset.js +667 -0
- package/dist/storage/reset.js.map +1 -0
- package/package.json +1 -1
|
@@ -13,12 +13,21 @@ const errors_js_1 = require("../errors.js");
|
|
|
13
13
|
const files_js_1 = require("../files.js");
|
|
14
14
|
const hash_js_1 = require("../tar-protocol/hash.js");
|
|
15
15
|
const atomic_file_js_1 = require("./atomic-file.js");
|
|
16
|
+
const commit_journal_js_1 = require("./commit-journal.js");
|
|
16
17
|
const layout_js_1 = require("./layout.js");
|
|
17
18
|
const tree_fs_js_1 = require("./tree-fs.js");
|
|
18
19
|
const MAX_LINK_RECORD_BYTES = 4 * 1024;
|
|
19
20
|
const RECORD_FILENAME = /^[0-9a-f]{64}\.json$/;
|
|
20
21
|
const V1_RECORD_KEYS = 'name,target,targetKind,transferId,version';
|
|
21
22
|
const V2_RECORD_KEYS = 'mode,name,target,targetKind,transferId,version';
|
|
23
|
+
function identityOf(stat) {
|
|
24
|
+
try {
|
|
25
|
+
return (0, commit_journal_js_1.fileIdentity)(stat);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
22
31
|
function conflict(message) {
|
|
23
32
|
return new errors_js_1.SwarmDeployError(errors_js_1.ERRORS.LINK_CONFLICT, message);
|
|
24
33
|
}
|
|
@@ -104,12 +113,21 @@ async function syncDirectory(directory, storage) {
|
|
|
104
113
|
/**
|
|
105
114
|
* Owns every server-managed symlink in the storage root.
|
|
106
115
|
*
|
|
107
|
-
*
|
|
108
|
-
* visible destination is a symbolic link, and
|
|
109
|
-
* recorded target or the desired target. Anything
|
|
110
|
-
* untouched and the operation fails closed.
|
|
111
|
-
*
|
|
112
|
-
*
|
|
116
|
+
* Automatic reconciliation and every recorded link are replaceable only when a
|
|
117
|
+
* valid ownership record exists, the visible destination is a symbolic link, and
|
|
118
|
+
* `readlink()` returns either the recorded target or the desired target. Anything
|
|
119
|
+
* else is unmanaged: it is left untouched and the operation fails closed.
|
|
120
|
+
*
|
|
121
|
+
* The one exception is an explicit, authenticated manual request (`linkManual`)
|
|
122
|
+
* whose target has passed every policy check: a symlink at the requested name
|
|
123
|
+
* that has no ownership record at all is taken over by atomic replacement plus a
|
|
124
|
+
* manual record, whatever its old literal says. Regular files and directories,
|
|
125
|
+
* automatic, version 1, malformed, or foreign records, and a recorded link that
|
|
126
|
+
* changed externally are still never touched, and automatic reconciliation never
|
|
127
|
+
* takes anything over.
|
|
128
|
+
*
|
|
129
|
+
* A link target is always exactly a sibling basename, and `readlink()` output is
|
|
130
|
+
* only ever compared, never used to build a path or followed.
|
|
113
131
|
*/
|
|
114
132
|
class LinkStore {
|
|
115
133
|
layout;
|
|
@@ -192,7 +210,11 @@ class LinkStore {
|
|
|
192
210
|
}
|
|
193
211
|
if (!stat.isSymbolicLink())
|
|
194
212
|
return { state: 'UNMANAGED' };
|
|
195
|
-
return {
|
|
213
|
+
return {
|
|
214
|
+
state: 'SYMLINK',
|
|
215
|
+
target: await this.storage.readlink(finalPath),
|
|
216
|
+
identity: identityOf(stat)
|
|
217
|
+
};
|
|
196
218
|
});
|
|
197
219
|
}
|
|
198
220
|
async writeRecord(link, mode) {
|
|
@@ -253,12 +275,17 @@ class LinkStore {
|
|
|
253
275
|
await this.storage.unlink(temporary);
|
|
254
276
|
}).catch(() => { });
|
|
255
277
|
}
|
|
256
|
-
/**
|
|
257
|
-
|
|
278
|
+
/**
|
|
279
|
+
* Atomically swaps a link by renaming a private temporary link over it.
|
|
280
|
+
* `beforeSwap` runs immediately before the rename, so a caller that does not
|
|
281
|
+
* yet own the destination can re-prove what it saw and fail closed.
|
|
282
|
+
*/
|
|
283
|
+
async replaceLink(link, mode, beforeSwap) {
|
|
258
284
|
const temporary = _path_1.default.join(this.layout.publications, `.link-${randomSuffix()}`);
|
|
259
285
|
try {
|
|
260
286
|
await (0, layout_js_1.withSafeDirectoryIdentity)(this.layout.publications, this.storage, () => this.storage.symlink(link.target, temporary));
|
|
261
287
|
await (0, layout_js_1.withSafeDirectoryIdentity)(this.layout.publications, this.storage, () => syncDirectory(this.layout.publications, this.storage));
|
|
288
|
+
await beforeSwap?.();
|
|
262
289
|
await (0, layout_js_1.withSafeDirectoryIdentity)(this.layout.root, this.storage, () => (0, layout_js_1.withSafeDirectoryIdentity)(this.layout.publications, this.storage, () => this.storage.rename(temporary, this.finalPath(link.name))));
|
|
263
290
|
await (0, layout_js_1.withSafeDirectoryIdentity)(this.layout.root, this.storage, () => syncDirectory(this.layout.root, this.storage));
|
|
264
291
|
await this.writeRecord(link, mode);
|
|
@@ -389,11 +416,82 @@ class LinkStore {
|
|
|
389
416
|
}
|
|
390
417
|
return result;
|
|
391
418
|
}
|
|
419
|
+
/** A visible entry's identity, `'missing'` when absent, or `null` when the adapter reports none. */
|
|
420
|
+
entryIdentity(name) {
|
|
421
|
+
return (0, layout_js_1.withSafeDirectoryIdentity)(this.layout.root, this.storage, async () => {
|
|
422
|
+
try {
|
|
423
|
+
return identityOf(await this.storage.lstat(this.finalPath(name)));
|
|
424
|
+
}
|
|
425
|
+
catch (error) {
|
|
426
|
+
if ((0, error_code_js_1.isMissing)(error))
|
|
427
|
+
return 'missing';
|
|
428
|
+
throw error;
|
|
429
|
+
}
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Re-proves, immediately before a takeover swap, that the destination is still
|
|
434
|
+
* the unrecorded symlink that was inspected: same literal, same inode when the
|
|
435
|
+
* adapter reports one, and still no ownership record. Anything else (a file, a
|
|
436
|
+
* directory, another symlink, a new record) fails closed. The old literal is
|
|
437
|
+
* only compared as text, never resolved.
|
|
438
|
+
*
|
|
439
|
+
* Records are keyed by the exact spelling of a name, but on a case-insensitive
|
|
440
|
+
* volume `Latest` and `latest` are one directory entry, so a request for one
|
|
441
|
+
* spelling would otherwise miss the record of the other and replace a link that
|
|
442
|
+
* is recorded. Two filesystem-aware checks close that: the entry must be listed
|
|
443
|
+
* in the root under exactly the requested spelling, and no protected name that
|
|
444
|
+
* differs only in case may resolve to the same entry. Protected names are every
|
|
445
|
+
* recorded name (so an externally case-renamed recorded link is caught) and the
|
|
446
|
+
* configured automatic link names and managed artifact names passed in, which
|
|
447
|
+
* are reserved even before they have a record. Names that are genuinely distinct
|
|
448
|
+
* on a case-sensitive volume, including a recorded `latest` beside an unrecorded
|
|
449
|
+
* `Latest`, stay independent. If the adapter reports no inode identity and a
|
|
450
|
+
* protected case variant exists, independence cannot be proven and the request
|
|
451
|
+
* fails closed.
|
|
452
|
+
*
|
|
453
|
+
* This narrows the window but cannot close it: the adapter has no
|
|
454
|
+
* compare-and-swap rename, so a writer outside this process that changes the
|
|
455
|
+
* path between this check and the rename can still be replaced.
|
|
456
|
+
*/
|
|
457
|
+
async assertTakeoverStillSafe(name, seen, reserved) {
|
|
458
|
+
if (seen.state !== 'SYMLINK')
|
|
459
|
+
throw failure('Invalid takeover state');
|
|
460
|
+
const now = await this.classify(name);
|
|
461
|
+
if (now.state !== 'SYMLINK' ||
|
|
462
|
+
now.target !== seen.target ||
|
|
463
|
+
(seen.identity !== null &&
|
|
464
|
+
now.identity !== null &&
|
|
465
|
+
!(0, commit_journal_js_1.identitiesEqual)(seen.identity, now.identity)) ||
|
|
466
|
+
(await this.readRecord(name)) !== null) {
|
|
467
|
+
throw conflict('Existing symlink changed while it was being taken over');
|
|
468
|
+
}
|
|
469
|
+
const entries = await (0, layout_js_1.withSafeDirectoryIdentity)(this.layout.root, this.storage, () => this.storage.readdir(this.layout.root));
|
|
470
|
+
if (!entries.includes(name)) {
|
|
471
|
+
throw conflict('Existing symlink is another spelling of a different directory entry');
|
|
472
|
+
}
|
|
473
|
+
const protectedNames = new Set(reserved);
|
|
474
|
+
for (const record of await this.listRecords())
|
|
475
|
+
protectedNames.add(record.name);
|
|
476
|
+
const folded = name.toLowerCase();
|
|
477
|
+
for (const other of protectedNames) {
|
|
478
|
+
if (other === name || other.toLowerCase() !== folded)
|
|
479
|
+
continue;
|
|
480
|
+
const identity = await this.entryIdentity(other);
|
|
481
|
+
if (identity === 'missing')
|
|
482
|
+
continue;
|
|
483
|
+
if (identity === null || now.identity === null || (0, commit_journal_js_1.identitiesEqual)(identity, now.identity)) {
|
|
484
|
+
throw conflict('Existing symlink is a case variant of a protected managed name');
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}
|
|
392
488
|
async convergeManual(link, { managedArtifactNames, automaticLinkNames }) {
|
|
393
489
|
if (!managedArtifactNames ||
|
|
394
490
|
typeof managedArtifactNames.has !== 'function' ||
|
|
491
|
+
typeof managedArtifactNames[Symbol.iterator] !== 'function' ||
|
|
395
492
|
!automaticLinkNames ||
|
|
396
|
-
typeof automaticLinkNames.has !== 'function'
|
|
493
|
+
typeof automaticLinkNames.has !== 'function' ||
|
|
494
|
+
typeof automaticLinkNames[Symbol.iterator] !== 'function') {
|
|
397
495
|
throw failure('Invalid manual link options');
|
|
398
496
|
}
|
|
399
497
|
assertSafeName(link.name, 'Invalid managed link name');
|
|
@@ -424,7 +522,17 @@ class LinkStore {
|
|
|
424
522
|
return { status: 'LINKED' };
|
|
425
523
|
}
|
|
426
524
|
if (record === null) {
|
|
427
|
-
|
|
525
|
+
// An explicit manual request, whose target has passed every check above, takes
|
|
526
|
+
// over a symlink that has no ownership record: it is replaced atomically by the
|
|
527
|
+
// requested link and then recorded. The old link is never followed, so whatever
|
|
528
|
+
// it pointed at (a legacy directory, a dangling or foreign path) is left alone and
|
|
529
|
+
// never imported. Even a link that already reads as the target is replaced, so the
|
|
530
|
+
// visible text and the record agree for every later comparison. The swap comes
|
|
531
|
+
// first and the record second: a crash between them leaves a symlink at the
|
|
532
|
+
// requested target that this same request takes over again on retry.
|
|
533
|
+
const reserved = [...automaticLinkNames, ...managedArtifactNames];
|
|
534
|
+
await this.replaceLink(link, 'manual', () => this.assertTakeoverStillSafe(link.name, destination, reserved));
|
|
535
|
+
return { status: 'LINKED' };
|
|
428
536
|
}
|
|
429
537
|
if (destination.target !== record.target && destination.target !== link.target) {
|
|
430
538
|
throw conflict('Managed link does not match its ownership record');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-store.js","sourceRoot":"","sources":["../../src/storage/link-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"link-store.js","sourceRoot":"","sources":["../../src/storage/link-store.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAqB;AACrB,oDAAuD;AACvD,8CAAoB;AACpB,kDAAwB;AACxB,kEAAkC;AAClC,4CAAuD;AACvD,0CAAqE;AACrE,qDAAsD;AAGtD,qDAA6E;AAC7E,2DAAmE;AACnE,2CAAuD;AACvD,6CAAmD;AAGnD,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAA;AACtC,MAAM,eAAe,GAAG,sBAAsB,CAAA;AAC9C,MAAM,cAAc,GAAG,2CAA2C,CAAA;AAClE,MAAM,cAAc,GAAG,gDAAgD,CAAA;AAkDvE,SAAS,UAAU,CAAC,IAAkB;IACpC,IAAI,CAAC;QACH,OAAO,IAAA,gCAAY,EAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe;IAC/B,OAAO,IAAI,4BAAgB,CAAC,kBAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;AAC5D,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,KAAK,GAAY,IAAI;IACrD,OAAO,IAAI,4BAAgB,CAAC,kBAAM,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AACjE,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAc;IACjC,IACE,KAAK,YAAY,4BAAgB;QACjC,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAM,CAAC,aAAa;YAClC,KAAK,CAAC,IAAI,KAAK,kBAAM,CAAC,WAAW;YACjC,KAAK,CAAC,IAAI,KAAK,kBAAM,CAAC,mBAAmB,CAAC,EAC5C,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,OAAO,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;AACxD,CAAC;AAED,8FAA8F;AAC9F,SAAS,cAAc,CAAC,KAAc,EAAE,OAAe;IACrD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxB,KAAK,KAAK,GAAG;QACb,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,eAAe,EACzB,CAAC;QACD,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;IACD,IAAI,CAAC;QACH,IAAA,2BAAgB,EAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;IACD,IAAI,IAAA,gCAAqB,EAAC,KAAK,CAAC;QAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACxD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,YAAoB;IACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,SAAS,GAAG,KAAgC,CAAA;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,KAAK,cAAc,CAAA;IAC7D,MAAM,EAAE,GACN,SAAS,CAAC,OAAO,KAAK,CAAC;QACvB,IAAI,KAAK,cAAc;QACvB,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;IACjE,IACE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACZ,SAAS,CAAC,IAAI,KAAK,YAAY;QAC/B,CAAC,SAAS,CAAC,UAAU,KAAK,MAAM,IAAI,SAAS,CAAC,UAAU,KAAK,WAAW,CAAC;QACzE,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ;QACxC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAC5C,CAAC;QACD,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAA;IAC1E,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAA;IAC9E,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAgB;QACnC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,SAAS,CAAC,IAA0B;QAC9D,IAAI;QACJ,MAAM;QACN,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,UAAU,EAAE,SAAS,CAAC,UAAU;KACjC,CAAA;AACH,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,KAAK,GAAG,aAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACjC,uBAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC7B,OAAO,aAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,OAA8B;IAC5E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IACrB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH;IACW,MAAM,CAAe;IACrB,OAAO,CAAuB;IAEvC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,aAAE,CAAC,QAAQ,EAAoB;QAC7D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAA;QAClF,IAAA,iCAAoB,EAAC,OAAO,CAAC,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAO,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,aAAG,CAAC,QAAQ,CAAC,IAAA,sBAAY,EAAC,aAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAClG,CAAC;IAEO,SAAS,CAAC,IAAY;QAC5B,OAAO,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAA;QACjF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,WAAW,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACjC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,WAAW,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,IAAY;QACnC,IAAI,CAAC;YACH,OAAO,YAAY,CACjB,MAAM,IAAA,yBAAQ,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAC1E,IAAI,CACL,CAAA;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,IAAA,yBAAS,EAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YACjC,IAAI,KAAK,YAAY,oCAAmB,EAAE,CAAC;gBACzC,MAAM,OAAO,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;YACvD,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,SAAS,GAAG,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACtF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CACxC,CAAA;QACD,MAAM,OAAO,GAA2B,EAAE,CAAA;QAC1C,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,SAAQ;YAC7C,IAAI,MAA+B,CAAA;YACnC,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAA,yBAAQ,EACrB,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,EACtC,IAAI,CAAC,OAAO,EACZ,qBAAqB,CACtB,CAAA;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,OAAO,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;YACvD,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACvF,IAAI,eAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC7D,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAA;YAC9C,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,QAAQ,CAAC,IAAY;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACtC,OAAO,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YAC1E,IAAI,IAAkB,CAAA;YACtB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC5C,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,IAAA,yBAAS,EAAC,KAAK,CAAC;oBAAE,OAAO,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAA;gBAC1D,MAAM,KAAK,CAAA;YACb,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,WAAoB,EAAE,CAAA;YAClE,OAAO;gBACL,KAAK,EAAE,SAAkB;gBACzB,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC9C,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;aAC3B,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAiB,EAAE,IAAuB;QAClE,MAAM,MAAM,GAAyB;YACnC,OAAO,EAAE,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAA;QACD,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,IAAA,4BAAW,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,aAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/F,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAY;QACrC,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YAC1E,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;YAClD,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAA,yBAAS,EAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAA;YACpC,CAAC;QACH,CAAC,CAAC,CAAA;QACF,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACpE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAC/C,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,UAAU,CAAC,IAAiB,EAAE,IAAuB;QACjE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC;YACH,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACnE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAA;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAClD,IAAI,IAAA,yBAAS,EAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,QAAQ,CAAC,kDAAkD,CAAC,CAAA;YACpE,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;QACD,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACnE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9C,CAAA;IACH,CAAC;IAED,sFAAsF;IAC9E,KAAK,CAAC,eAAe,CAAC,SAAiB;QAC7C,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YACjF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACrC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,IAAA,yBAAS,EAAC,KAAK,CAAC;oBAAE,OAAM;gBAC5B,MAAM,KAAK,CAAA;YACb,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACtC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,WAAW,CACvB,IAAiB,EACjB,IAAuB,EACvB,UAAgC;QAEhC,MAAM,SAAS,GAAG,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,YAAY,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC;YACH,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAC3E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAC7C,CAAA;YACD,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAC3E,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CACtD,CAAA;YACD,MAAM,UAAU,EAAE,EAAE,CAAA;YACpB,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACnE,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACrE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC1D,CACF,CAAA;YACD,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACnE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9C,CAAA;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACpC,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAA4B,EAAE,aAAsB;QAC3E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QACxC,IAAI,aAAa;YAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAC7C,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACnE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACjD,CAAA;YACD,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACnE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9C,CAAA;QACH,CAAC;aAAM,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,QAAQ,CAAC,+CAA+C,CAAC,CAAA;QACjE,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CACb,OAA+B,EAC/B,SAA8B,EAC9B,OAAO,GAAyB,EAAE;QAElC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,WAAW,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,IAAiB,EAAE,OAA0B;QAC5D,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACjD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,WAAW,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,KAAK,GAAG,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACzF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAC/C,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAQ;YACjD,MAAM,IAAI,CAAC,eAAe,CAAC,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,OAA+B,EAC/B,SAA8B,EAC9B,EAAE,oBAAoB,EAAE,GAAyB,EAAE;QAEnD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAChC,MAAM,MAAM,GAAwB,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;QAC5F,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QACvE,KAAK,MAAM,MAAM,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAQ;YACtC,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBACpD,MAAM,aAAa,GACjB,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;wBACrE,CAAC,CAAC,WAAW,CAAC,MAAM;wBACpB,CAAC,CAAC,SAAS,CAAA;oBACf,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;oBAC5C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAClC,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACpD,IAAI,aAAiC,CAAA;YACrC,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC5E,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC9C,IAAI,OAAO;oBAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAA;qBACtC,IAAI,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvD,aAAa,GAAG,WAAW,CAAC,MAAM,CAAA;gBACpC,CAAC;YACH,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;YAC5C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,MAAM,OAAO,CAAC,uCAAuC,CAAC,CAAA;YACrF,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAA;YACtD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAA;YAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI;gBAAE,MAAM,OAAO,CAAC,mCAAmC,CAAC,CAAA;YACjF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClD,IAAI,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,QAAQ,CAAC,yDAAyD,CAAC,CAAA;YAC3E,CAAC;YACD,IAAI,WAAW,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBACtC,MAAM,QAAQ,CAAC,kDAAkD,CAAC,CAAA;YACpE,CAAC;YACD,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC9B,SAAQ;YACV,CAAC;YACD,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,QAAQ,CAAC,sDAAsD,CAAC,CAAA;YAC3F,sEAAsE;YACtE,uEAAuE;YACvE,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC/E,MAAM,QAAQ,CAAC,kDAAkD,CAAC,CAAA;YACpE,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvC,IACE,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;oBAC7B,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU;oBACrC,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EACrC,CAAC;oBACD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAChC,SAAQ;gBACV,CAAC;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;gBACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC9B,SAAQ;YACV,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;YACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,oGAAoG;IAC5F,aAAa,CAAC,IAAY;QAChC,OAAO,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YAC1E,IAAI,CAAC;gBACH,OAAO,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnE,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,IAAA,yBAAS,EAAC,KAAK,CAAC;oBAAE,OAAO,SAAkB,CAAA;gBAC/C,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACK,KAAK,CAAC,uBAAuB,CACnC,IAAY,EACZ,IAAiB,EACjB,QAA0B;QAE1B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAA;QACrE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACrC,IACE,GAAG,CAAC,KAAK,KAAK,SAAS;YACvB,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YAC1B,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI;gBACrB,GAAG,CAAC,QAAQ,KAAK,IAAI;gBACrB,CAAC,IAAA,mCAAe,EAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EACtC,CAAC;YACD,MAAM,QAAQ,CAAC,wDAAwD,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACnF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CACvC,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,CAAC,qEAAqE,CAAC,CAAA;QACvF,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;QACxC,KAAK,MAAM,MAAM,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE;YAAE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACjC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM;gBAAE,SAAQ;YAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YAChD,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAQ;YACpC,IAAI,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAA,mCAAe,EAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1F,MAAM,QAAQ,CAAC,gEAAgE,CAAC,CAAA;YAClF,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,IAAiB,EACjB,EAAE,oBAAoB,EAAE,kBAAkB,EAAqB;QAE/D,IACE,CAAC,oBAAoB;YACrB,OAAO,oBAAoB,CAAC,GAAG,KAAK,UAAU;YAC9C,OAAO,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU;YAC3D,CAAC,kBAAkB;YACnB,OAAO,kBAAkB,CAAC,GAAG,KAAK,UAAU;YAC5C,OAAO,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,EACzD,CAAC;YACD,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAA;QAC9C,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAA;QACtD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAA;QAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI;YAAE,MAAM,OAAO,CAAC,mCAAmC,CAAC,CAAA;QACjF,IACE,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC;YAC/D,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EACvC,CAAC;YACD,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,QAAQ,CAAC,sDAAsD,CAAC,CAAA;QACxE,CAAC;QACD,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7E,MAAM,QAAQ,CAAC,sCAAsC,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,QAAQ,CAAC,wDAAwD,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClD,IAAI,WAAW,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACtC,MAAM,QAAQ,CAAC,gDAAgD,CAAC,CAAA;QAClE,CAAC;QACD,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC7B,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,+EAA+E;YAC/E,gFAAgF;YAChF,gFAAgF;YAChF,mFAAmF;YACnF,mFAAmF;YACnF,+EAA+E;YAC/E,4EAA4E;YAC5E,qEAAqE;YACrE,MAAM,QAAQ,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,oBAAoB,CAAC,CAAA;YACjE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAC1C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAC/D,CAAA;YACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC7B,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/E,MAAM,QAAQ,CAAC,kDAAkD,CAAC,CAAA;QACpE,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;gBAChC,CAAC;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBACtC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;YAChC,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACtC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC7B,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACtC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { StorageAdapter } from './types.js';
|
|
2
|
+
/** Every private metadata directory a reset archives, in archive order. */
|
|
3
|
+
export declare const METADATA_DIRECTORIES: readonly ['staging', 'sessions', 'commits', 'journals', 'publications', 'links', 'trash'];
|
|
4
|
+
export type MetadataDirectoryName = (typeof METADATA_DIRECTORIES)[number];
|
|
5
|
+
export declare const ARCHIVE_DIRECTORY_NAME = "archive";
|
|
6
|
+
export declare const ARCHIVE_MARKER_NAME = "reset.json";
|
|
7
|
+
/** Verbatim copy of a version 1 marker, kept when a retry upgrades it to the bounded format. */
|
|
8
|
+
export declare const ARCHIVE_LEGACY_MARKER_NAME = "reset.v1.json";
|
|
9
|
+
export interface StorageResetOptions {
|
|
10
|
+
storageDir: string;
|
|
11
|
+
/** Archive the metadata. Without it the reset is a read-only preview. */
|
|
12
|
+
apply?: boolean;
|
|
13
|
+
/** Milliseconds to keep polling a live lock before failing closed. */
|
|
14
|
+
wait?: number;
|
|
15
|
+
storage?: StorageAdapter;
|
|
16
|
+
isProcessAlive?: (pid: number) => boolean;
|
|
17
|
+
clock?: {
|
|
18
|
+
now(): number;
|
|
19
|
+
};
|
|
20
|
+
pid?: number;
|
|
21
|
+
pollInterval?: number;
|
|
22
|
+
sleep?: (ms: number) => Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
export type ResetLockState = {
|
|
25
|
+
status: 'free';
|
|
26
|
+
} | {
|
|
27
|
+
status: 'held';
|
|
28
|
+
pid: number;
|
|
29
|
+
ageMs: number;
|
|
30
|
+
} | {
|
|
31
|
+
status: 'stale';
|
|
32
|
+
pid: number;
|
|
33
|
+
ageMs: number;
|
|
34
|
+
} | {
|
|
35
|
+
status: 'malformed';
|
|
36
|
+
} | {
|
|
37
|
+
status: 'unsafe';
|
|
38
|
+
};
|
|
39
|
+
/** What an archive physically holds. Lock residue is counted; its names stay in `locks/`. */
|
|
40
|
+
export interface ArchiveHoldings {
|
|
41
|
+
directories: string[];
|
|
42
|
+
lockEntries: number;
|
|
43
|
+
}
|
|
44
|
+
export interface ArchiveSummary {
|
|
45
|
+
name: string;
|
|
46
|
+
path: string;
|
|
47
|
+
/** What the marker claims; an `in-progress` marker can lag the archive after a hard stop. */
|
|
48
|
+
status: 'completed' | 'in-progress' | 'unknown';
|
|
49
|
+
/** What the archive physically holds, read from the filesystem rather than the marker. */
|
|
50
|
+
held: ArchiveHoldings;
|
|
51
|
+
}
|
|
52
|
+
export interface StorageResetReport {
|
|
53
|
+
root: string;
|
|
54
|
+
applied: boolean;
|
|
55
|
+
lock: ResetLockState;
|
|
56
|
+
/** Entry counts per private metadata directory before the reset. */
|
|
57
|
+
metadata: Record<MetadataDirectoryName, number>;
|
|
58
|
+
commits: {
|
|
59
|
+
records: number;
|
|
60
|
+
missingPayloads: string[];
|
|
61
|
+
invalid: number;
|
|
62
|
+
};
|
|
63
|
+
links: {
|
|
64
|
+
records: number;
|
|
65
|
+
invalid: number;
|
|
66
|
+
};
|
|
67
|
+
obsoleteLocks: number;
|
|
68
|
+
/** Entries in the internal directory the reset does not recognise and leaves alone. */
|
|
69
|
+
unknownInternal: string[];
|
|
70
|
+
archives: ArchiveSummary[];
|
|
71
|
+
/** Visible root entries the reset never touches; they stay after the reset. */
|
|
72
|
+
remaining: {
|
|
73
|
+
payloads: string[];
|
|
74
|
+
symlinks: string[];
|
|
75
|
+
other: string[];
|
|
76
|
+
};
|
|
77
|
+
/** True only when nothing visible remains, so the next server really starts empty. */
|
|
78
|
+
freshStart: boolean;
|
|
79
|
+
resetPending: boolean;
|
|
80
|
+
/** The archive an interrupted reset left pending, which the next apply resumes. */
|
|
81
|
+
pendingArchive: string | null;
|
|
82
|
+
/** The archive this run created or resumed, when applied. */
|
|
83
|
+
archive: string | null;
|
|
84
|
+
/** What a resumed archive already held before this run; null when a new archive was made. */
|
|
85
|
+
resumed: ArchiveHoldings | null;
|
|
86
|
+
}
|
|
87
|
+
/** Read-only inspection of a storage root: never creates, moves, or locks anything. */
|
|
88
|
+
export declare function inspectStorageReset(options: StorageResetOptions): Promise<StorageResetReport>;
|
|
89
|
+
/**
|
|
90
|
+
* Archives every private metadata directory of a storage root into
|
|
91
|
+
* `.swarm-deploy/archive/<reset-stamp>/` and recreates them empty, under the
|
|
92
|
+
* storage lock. Visible payloads and symlinks in the root are never touched,
|
|
93
|
+
* and nothing is deleted: the archive is restorable by moving it back.
|
|
94
|
+
*/
|
|
95
|
+
export declare function resetStorage(options: StorageResetOptions): Promise<StorageResetReport>;
|