@indigoai-us/hq-cloud 5.9.0 → 5.9.1
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/dist/bin/sync-runner.d.ts +43 -2
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +113 -12
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +136 -2
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/package.json +1 -1
- package/src/bin/sync-runner.test.ts +149 -2
- package/src/bin/sync-runner.ts +174 -12
|
@@ -37,8 +37,19 @@
|
|
|
37
37
|
* of requiring per-event capture calls in the menubar.
|
|
38
38
|
*
|
|
39
39
|
* Exit code:
|
|
40
|
-
* 0 — event stream describes the outcome
|
|
41
|
-
*
|
|
40
|
+
* 0 — event stream describes the outcome. The runner finished its protocol
|
|
41
|
+
* without any company throwing. Includes setup-needed, auth-error, and
|
|
42
|
+
* runs where every company completed OR cleanly returned `aborted: true`
|
|
43
|
+
* (a `--on-conflict abort` policy decision is not an error).
|
|
44
|
+
* 1 — argv parse error or unrecoverable pre-sync failure.
|
|
45
|
+
* 2 — at least one company threw mid-stream (e.g. mid-fanout 401, network
|
|
46
|
+
* reset, S3 5xx after retries). The all-complete event carries
|
|
47
|
+
* `partial: true` and per-company partial counts captured from
|
|
48
|
+
* `progress` events before the throw, so consumers parsing ndjson see
|
|
49
|
+
* what actually transferred. This is distinct from exit 0 with
|
|
50
|
+
* `partial: true` (clean conflict-aborts) — exit 2 is "something
|
|
51
|
+
* unexpected happened", which the Tauri menubar converts to a Sentry
|
|
52
|
+
* alert. Conflict-aborts intentionally do NOT alert.
|
|
42
53
|
*/
|
|
43
54
|
import { type VaultServiceConfig, type Membership, type EntityInfo, type PendingInviteByEmail } from "../index.js";
|
|
44
55
|
import type { SyncOptions, SyncResult, SyncProgressEvent } from "../cli/sync.js";
|
|
@@ -141,6 +152,36 @@ export type RunnerEvent = {
|
|
|
141
152
|
company: string;
|
|
142
153
|
message: string;
|
|
143
154
|
}>;
|
|
155
|
+
/**
|
|
156
|
+
* True when at least one company in the fanout did not complete cleanly
|
|
157
|
+
* — either it returned `aborted: true` (e.g. conflict-abort) or its sync
|
|
158
|
+
* function threw mid-stream (e.g. mid-fanout 401). When `partial: true`,
|
|
159
|
+
* the totals above include partial counts captured from `progress` events
|
|
160
|
+
* before the abort, NOT just companies that emitted a clean `complete`.
|
|
161
|
+
*
|
|
162
|
+
* Automated monitors should check this field — `errors.length > 0` alone
|
|
163
|
+
* isn't sufficient because a `aborted: true` return doesn't push to
|
|
164
|
+
* `errors` (it's a clean conflict-abort, not an exception).
|
|
165
|
+
*/
|
|
166
|
+
partial: boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Per-company breakdown of the fanout. Always present, one entry per
|
|
169
|
+
* planned company, in fanout order. Lets consumers reconcile per-company
|
|
170
|
+
* partial counts with the aggregate without re-walking `complete` /
|
|
171
|
+
* `error` event streams. The `status` field is the canonical signal:
|
|
172
|
+
* - "complete" — sync returned cleanly, `aborted: false`
|
|
173
|
+
* - "aborted" — sync returned cleanly with `aborted: true` (conflict-abort)
|
|
174
|
+
* - "errored" — sync threw mid-stream; counts are sourced from progress
|
|
175
|
+
* events seen before the throw
|
|
176
|
+
*/
|
|
177
|
+
companies: Array<{
|
|
178
|
+
company: string;
|
|
179
|
+
status: "complete" | "aborted" | "errored";
|
|
180
|
+
filesDownloaded: number;
|
|
181
|
+
bytesDownloaded: number;
|
|
182
|
+
filesUploaded: number;
|
|
183
|
+
bytesUploaded: number;
|
|
184
|
+
}>;
|
|
144
185
|
};
|
|
145
186
|
/**
|
|
146
187
|
* The narrow VaultClient surface the runner actually uses. Declared here (not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-runner.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"sync-runner.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/sync-runner.js
CHANGED
|
@@ -37,8 +37,19 @@
|
|
|
37
37
|
* of requiring per-event capture calls in the menubar.
|
|
38
38
|
*
|
|
39
39
|
* Exit code:
|
|
40
|
-
* 0 — event stream describes the outcome
|
|
41
|
-
*
|
|
40
|
+
* 0 — event stream describes the outcome. The runner finished its protocol
|
|
41
|
+
* without any company throwing. Includes setup-needed, auth-error, and
|
|
42
|
+
* runs where every company completed OR cleanly returned `aborted: true`
|
|
43
|
+
* (a `--on-conflict abort` policy decision is not an error).
|
|
44
|
+
* 1 — argv parse error or unrecoverable pre-sync failure.
|
|
45
|
+
* 2 — at least one company threw mid-stream (e.g. mid-fanout 401, network
|
|
46
|
+
* reset, S3 5xx after retries). The all-complete event carries
|
|
47
|
+
* `partial: true` and per-company partial counts captured from
|
|
48
|
+
* `progress` events before the throw, so consumers parsing ndjson see
|
|
49
|
+
* what actually transferred. This is distinct from exit 0 with
|
|
50
|
+
* `partial: true` (clean conflict-aborts) — exit 2 is "something
|
|
51
|
+
* unexpected happened", which the Tauri menubar converts to a Sentry
|
|
52
|
+
* alert. Conflict-aborts intentionally do NOT alert.
|
|
42
53
|
*/
|
|
43
54
|
import * as os from "os";
|
|
44
55
|
import * as path from "path";
|
|
@@ -329,16 +340,31 @@ export async function runRunner(argv, deps = {}) {
|
|
|
329
340
|
const shareFn = deps.share ?? defaultShare;
|
|
330
341
|
const doPush = parsed.direction === "push" || parsed.direction === "both";
|
|
331
342
|
const doPull = parsed.direction === "pull" || parsed.direction === "both";
|
|
332
|
-
let totalDownloaded = 0;
|
|
333
|
-
let totalDownloadedBytes = 0;
|
|
334
|
-
let totalUploaded = 0;
|
|
335
|
-
let totalUploadedBytes = 0;
|
|
336
343
|
const errors = [];
|
|
337
344
|
const allConflicts = [];
|
|
345
|
+
const stateByCompany = new Map();
|
|
338
346
|
for (const target of plan) {
|
|
339
347
|
const companyLabel = target.slug;
|
|
348
|
+
const state = {
|
|
349
|
+
company: companyLabel,
|
|
350
|
+
// Default to "errored" so a throw before any complete-or-clean-abort
|
|
351
|
+
// path (the original bug) leaves the entry flagged as not-clean. The
|
|
352
|
+
// success/clean-abort paths overwrite this before the loop body exits.
|
|
353
|
+
status: "errored",
|
|
354
|
+
filesDownloaded: 0,
|
|
355
|
+
bytesDownloaded: 0,
|
|
356
|
+
filesUploaded: 0,
|
|
357
|
+
bytesUploaded: 0,
|
|
358
|
+
};
|
|
359
|
+
stateByCompany.set(companyLabel, state);
|
|
360
|
+
// Which phase is currently emitting `progress` events. Mutable closure so
|
|
361
|
+
// tagAndEmit (defined once below) reads the latest value when each event
|
|
362
|
+
// fires. "pull" is the default for back-compat with pull-only runs.
|
|
363
|
+
let activePhase = doPush && !doPull ? "push" : "pull";
|
|
340
364
|
// Per-company event tagger — shared by push and pull phases so progress
|
|
341
365
|
// rows land on the right company regardless of which phase emitted them.
|
|
366
|
+
// Also updates `state` for `progress` events so the rollup has accurate
|
|
367
|
+
// partial counts even if the sync function throws before returning.
|
|
342
368
|
const tagAndEmit = (event) => {
|
|
343
369
|
if (event.type === "plan") {
|
|
344
370
|
emit({
|
|
@@ -353,6 +379,14 @@ export async function runRunner(argv, deps = {}) {
|
|
|
353
379
|
});
|
|
354
380
|
}
|
|
355
381
|
else if (event.type === "progress") {
|
|
382
|
+
if (activePhase === "push") {
|
|
383
|
+
state.filesUploaded += 1;
|
|
384
|
+
state.bytesUploaded += event.bytes;
|
|
385
|
+
}
|
|
386
|
+
else {
|
|
387
|
+
state.filesDownloaded += 1;
|
|
388
|
+
state.bytesDownloaded += event.bytes;
|
|
389
|
+
}
|
|
356
390
|
emit({
|
|
357
391
|
type: "progress",
|
|
358
392
|
company: companyLabel,
|
|
@@ -400,6 +434,7 @@ export async function runRunner(argv, deps = {}) {
|
|
|
400
434
|
// point with `skipUnchanged` so we don't re-upload files that haven't
|
|
401
435
|
// changed since the last sync.
|
|
402
436
|
if (doPush) {
|
|
437
|
+
activePhase = "push";
|
|
403
438
|
pushResult = await shareFn({
|
|
404
439
|
paths: [path.join(parsed.hqRoot, "companies", target.slug)],
|
|
405
440
|
company: target.uid,
|
|
@@ -414,6 +449,7 @@ export async function runRunner(argv, deps = {}) {
|
|
|
414
449
|
// the user has local edits + remote drift; blindly pulling would erase
|
|
415
450
|
// whichever side `--on-conflict abort` just protected.
|
|
416
451
|
if (doPull && !pushResult.aborted) {
|
|
452
|
+
activePhase = "pull";
|
|
417
453
|
pullResult = await syncFn({
|
|
418
454
|
company: target.uid,
|
|
419
455
|
vaultConfig,
|
|
@@ -431,6 +467,18 @@ export async function runRunner(argv, deps = {}) {
|
|
|
431
467
|
...pullResult.conflictPaths,
|
|
432
468
|
...pushResult.conflictPaths,
|
|
433
469
|
];
|
|
470
|
+
const aborted = pullResult.aborted || pushResult.aborted;
|
|
471
|
+
// Overwrite the progress-derived counts with the authoritative numbers
|
|
472
|
+
// from the sync/share return values. The `progress` stream over-counts
|
|
473
|
+
// when the inner walker emits a progress row for a file it then skips
|
|
474
|
+
// due to a journal hit — a clean return value is the source of truth.
|
|
475
|
+
// For the throw case below this overwrite never runs, so `state` keeps
|
|
476
|
+
// its progress-derived counts (which is exactly what we want there).
|
|
477
|
+
state.filesDownloaded = pullResult.filesDownloaded;
|
|
478
|
+
state.bytesDownloaded = pullResult.bytesDownloaded;
|
|
479
|
+
state.filesUploaded = pushResult.filesUploaded;
|
|
480
|
+
state.bytesUploaded = pushResult.bytesUploaded;
|
|
481
|
+
state.status = aborted ? "aborted" : "complete";
|
|
434
482
|
emit({
|
|
435
483
|
type: "complete",
|
|
436
484
|
company: companyLabel,
|
|
@@ -448,7 +496,7 @@ export async function runRunner(argv, deps = {}) {
|
|
|
448
496
|
conflictPaths: mergedConflictPaths,
|
|
449
497
|
// Either phase aborting marks the company aborted — the UI treats
|
|
450
498
|
// `aborted: true` as "sync didn't complete cleanly for this company".
|
|
451
|
-
aborted
|
|
499
|
+
aborted,
|
|
452
500
|
});
|
|
453
501
|
for (const p of pullResult.conflictPaths) {
|
|
454
502
|
allConflicts.push({ company: companyLabel, path: p, direction: "pull" });
|
|
@@ -456,14 +504,29 @@ export async function runRunner(argv, deps = {}) {
|
|
|
456
504
|
for (const p of pushResult.conflictPaths) {
|
|
457
505
|
allConflicts.push({ company: companyLabel, path: p, direction: "push" });
|
|
458
506
|
}
|
|
459
|
-
totalDownloaded += pullResult.filesDownloaded;
|
|
460
|
-
totalDownloadedBytes += pullResult.bytesDownloaded;
|
|
461
|
-
totalUploaded += pushResult.filesUploaded;
|
|
462
|
-
totalUploadedBytes += pushResult.bytesUploaded;
|
|
463
507
|
}
|
|
464
508
|
catch (err) {
|
|
465
509
|
const message = err instanceof Error ? err.message : String(err);
|
|
466
510
|
errors.push({ company: companyLabel, message });
|
|
511
|
+
// `state.status` was seeded as "errored" at loop entry — the throw
|
|
512
|
+
// path leaves it there, and `state.files{Down,Up}loaded` reflects the
|
|
513
|
+
// partial counts captured from `progress` events before the throw.
|
|
514
|
+
// Emit a `complete` event with `aborted: true` and those partial
|
|
515
|
+
// counts so consumers walking the `complete` event stream see every
|
|
516
|
+
// company in the fanout uniformly. This is the fix for the misleading
|
|
517
|
+
// rollup — see file header `Exit code: 2` doc.
|
|
518
|
+
emit({
|
|
519
|
+
type: "complete",
|
|
520
|
+
company: companyLabel,
|
|
521
|
+
filesDownloaded: state.filesDownloaded,
|
|
522
|
+
bytesDownloaded: state.bytesDownloaded,
|
|
523
|
+
filesUploaded: state.filesUploaded,
|
|
524
|
+
bytesUploaded: state.bytesUploaded,
|
|
525
|
+
filesSkipped: 0,
|
|
526
|
+
conflicts: 0,
|
|
527
|
+
conflictPaths: [],
|
|
528
|
+
aborted: true,
|
|
529
|
+
});
|
|
467
530
|
emit({
|
|
468
531
|
type: "error",
|
|
469
532
|
company: companyLabel,
|
|
@@ -473,6 +536,37 @@ export async function runRunner(argv, deps = {}) {
|
|
|
473
536
|
// Continue — one company's failure shouldn't abort the whole fanout.
|
|
474
537
|
}
|
|
475
538
|
}
|
|
539
|
+
// Walk every per-company entry — the map holds one row per planned company,
|
|
540
|
+
// including ones that aborted via thrown exception. This is the fix for the
|
|
541
|
+
// bug where `all-complete` reported `filesDownloaded: 0` for an aborted
|
|
542
|
+
// personal-sync that had already emitted thousands of `progress` events:
|
|
543
|
+
// the rollup used to only sum companies that emitted a clean `complete`,
|
|
544
|
+
// which silently dropped partials when the sync function threw.
|
|
545
|
+
let totalDownloaded = 0;
|
|
546
|
+
let totalDownloadedBytes = 0;
|
|
547
|
+
let totalUploaded = 0;
|
|
548
|
+
let totalUploadedBytes = 0;
|
|
549
|
+
let partial = false;
|
|
550
|
+
const companies = [];
|
|
551
|
+
for (const target of plan) {
|
|
552
|
+
const s = stateByCompany.get(target.slug);
|
|
553
|
+
if (!s)
|
|
554
|
+
continue; // unreachable — every plan entry seeds the map
|
|
555
|
+
totalDownloaded += s.filesDownloaded;
|
|
556
|
+
totalDownloadedBytes += s.bytesDownloaded;
|
|
557
|
+
totalUploaded += s.filesUploaded;
|
|
558
|
+
totalUploadedBytes += s.bytesUploaded;
|
|
559
|
+
if (s.status !== "complete")
|
|
560
|
+
partial = true;
|
|
561
|
+
companies.push({
|
|
562
|
+
company: s.company,
|
|
563
|
+
status: s.status,
|
|
564
|
+
filesDownloaded: s.filesDownloaded,
|
|
565
|
+
bytesDownloaded: s.bytesDownloaded,
|
|
566
|
+
filesUploaded: s.filesUploaded,
|
|
567
|
+
bytesUploaded: s.bytesUploaded,
|
|
568
|
+
});
|
|
569
|
+
}
|
|
476
570
|
emit({
|
|
477
571
|
type: "all-complete",
|
|
478
572
|
companiesAttempted: plan.length,
|
|
@@ -482,8 +576,15 @@ export async function runRunner(argv, deps = {}) {
|
|
|
482
576
|
bytesUploaded: totalUploadedBytes,
|
|
483
577
|
conflictPaths: allConflicts,
|
|
484
578
|
errors,
|
|
579
|
+
partial,
|
|
580
|
+
companies,
|
|
485
581
|
});
|
|
486
|
-
|
|
582
|
+
// Exit 2 only when something actually threw (`errors.length > 0`). A clean
|
|
583
|
+
// conflict-abort sets `partial: true` in the JSON but exits 0 — the Tauri
|
|
584
|
+
// menubar's non-zero-exit Sentry capture would otherwise fire for normal
|
|
585
|
+
// user-policy outcomes. Consumers that want to flag any non-clean outcome
|
|
586
|
+
// (clean-abort + thrown-error) read `partial` from the JSON.
|
|
587
|
+
return errors.length > 0 ? 2 : 0;
|
|
487
588
|
}
|
|
488
589
|
// ---------------------------------------------------------------------------
|
|
489
590
|
// Entrypoint — only runs when invoked directly, not when imported for tests
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-runner.js","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-runner.js","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -645,7 +645,10 @@ describe("per-company fanout", () => {
|
|
|
645
645
|
.mockImplementationOnce(async () => defaultSyncResult({ filesDownloaded: 1, bytesDownloaded: 500 })),
|
|
646
646
|
});
|
|
647
647
|
const code = await runRunner(["--companies"], deps);
|
|
648
|
-
|
|
648
|
+
// Exit 2 on partial fanout (one company errored). The fanout completed
|
|
649
|
+
// — beta still synced — but the rollup carries `partial: true` and a
|
|
650
|
+
// non-zero exit signals automated monitors that the run wasn't clean.
|
|
651
|
+
expect(code).toBe(2);
|
|
649
652
|
// Error event for acme (company-level) with path sentinel "(company)"
|
|
650
653
|
// — error-class events route to stderr.
|
|
651
654
|
const companyErr = deps.stderr
|
|
@@ -664,6 +667,83 @@ describe("per-company fanout", () => {
|
|
|
664
667
|
expect(betaComplete).toBeDefined();
|
|
665
668
|
expect(betaComplete?.filesDownloaded).toBe(1);
|
|
666
669
|
});
|
|
670
|
+
/**
|
|
671
|
+
* Regression test for the rollup-bug from the personal-sync 401 incident.
|
|
672
|
+
*
|
|
673
|
+
* Setup: company "personal" has 3 files queued for download. The first two
|
|
674
|
+
* arrive (emitting `progress` events) and then the sync function throws on
|
|
675
|
+
* the third (mid-stream 401). Before the fix, the runner's `all-complete`
|
|
676
|
+
* reported `filesDownloaded: 0` for the whole run because the throwing
|
|
677
|
+
* company never emitted a clean `complete` and the rollup only summed
|
|
678
|
+
* companies that did. The fix: walk every company, sum partial counts
|
|
679
|
+
* captured from progress events, flip `partial: true`, exit non-zero.
|
|
680
|
+
*/
|
|
681
|
+
it("aborted-mid-stream company contributes its partial counts to all-complete", async () => {
|
|
682
|
+
const deps = makeDeps({
|
|
683
|
+
createVaultClient: () => makeVaultStub({
|
|
684
|
+
memberships: [{ companyUid: "cmp_personal" }],
|
|
685
|
+
entityGet: (uid) => Promise.resolve({
|
|
686
|
+
uid,
|
|
687
|
+
slug: "personal",
|
|
688
|
+
}),
|
|
689
|
+
}),
|
|
690
|
+
sync: vi
|
|
691
|
+
.fn()
|
|
692
|
+
.mockImplementationOnce(async (opts) => {
|
|
693
|
+
// Two files land before the throw — these counts must show up in
|
|
694
|
+
// the rollup even though the sync function never returns cleanly.
|
|
695
|
+
opts.onEvent?.({ type: "progress", path: "notes/a.md", bytes: 100 });
|
|
696
|
+
opts.onEvent?.({ type: "progress", path: "notes/b.md", bytes: 250 });
|
|
697
|
+
throw new Error("401 Unauthorized — token expired");
|
|
698
|
+
}),
|
|
699
|
+
});
|
|
700
|
+
const code = await runRunner(["--companies"], deps);
|
|
701
|
+
expect(code).toBe(2);
|
|
702
|
+
// 1) The aborted company emits a `complete` event with aborted=true
|
|
703
|
+
// and the partial counts that the progress stream captured. Without
|
|
704
|
+
// this, consumers walking the `complete` event stream would never
|
|
705
|
+
// see the 350 bytes that hit disk.
|
|
706
|
+
const completeEvents = deps.stdout
|
|
707
|
+
.events()
|
|
708
|
+
.filter((e) => e.type === "complete");
|
|
709
|
+
expect(completeEvents).toHaveLength(1);
|
|
710
|
+
expect(completeEvents[0]).toMatchObject({
|
|
711
|
+
company: "personal",
|
|
712
|
+
filesDownloaded: 2,
|
|
713
|
+
bytesDownloaded: 350,
|
|
714
|
+
filesUploaded: 0,
|
|
715
|
+
bytesUploaded: 0,
|
|
716
|
+
aborted: true,
|
|
717
|
+
});
|
|
718
|
+
// 2) The all-complete rollup includes the partial counts and is flagged
|
|
719
|
+
// `partial: true` with a per-company breakdown. Before the fix this
|
|
720
|
+
// was `filesDownloaded: 0` and there was no `partial` field at all.
|
|
721
|
+
const all = deps.stdout
|
|
722
|
+
.events()
|
|
723
|
+
.find((e) => e.type === "all-complete");
|
|
724
|
+
expect(all).toBeDefined();
|
|
725
|
+
expect(all).toMatchObject({
|
|
726
|
+
companiesAttempted: 1,
|
|
727
|
+
filesDownloaded: 2,
|
|
728
|
+
bytesDownloaded: 350,
|
|
729
|
+
filesUploaded: 0,
|
|
730
|
+
bytesUploaded: 0,
|
|
731
|
+
partial: true,
|
|
732
|
+
errors: [
|
|
733
|
+
{ company: "personal", message: "401 Unauthorized — token expired" },
|
|
734
|
+
],
|
|
735
|
+
});
|
|
736
|
+
expect(all?.companies).toEqual([
|
|
737
|
+
{
|
|
738
|
+
company: "personal",
|
|
739
|
+
status: "errored",
|
|
740
|
+
filesDownloaded: 2,
|
|
741
|
+
bytesDownloaded: 350,
|
|
742
|
+
filesUploaded: 0,
|
|
743
|
+
bytesUploaded: 0,
|
|
744
|
+
},
|
|
745
|
+
]);
|
|
746
|
+
});
|
|
667
747
|
});
|
|
668
748
|
// ---------------------------------------------------------------------------
|
|
669
749
|
// all-complete aggregate
|
|
@@ -695,6 +775,25 @@ describe("all-complete aggregate", () => {
|
|
|
695
775
|
bytesUploaded: 0,
|
|
696
776
|
conflictPaths: [],
|
|
697
777
|
errors: [],
|
|
778
|
+
partial: false,
|
|
779
|
+
companies: [
|
|
780
|
+
{
|
|
781
|
+
company: "acme",
|
|
782
|
+
status: "complete",
|
|
783
|
+
filesDownloaded: 3,
|
|
784
|
+
bytesDownloaded: 100,
|
|
785
|
+
filesUploaded: 0,
|
|
786
|
+
bytesUploaded: 0,
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
company: "beta",
|
|
790
|
+
status: "complete",
|
|
791
|
+
filesDownloaded: 4,
|
|
792
|
+
bytesDownloaded: 250,
|
|
793
|
+
filesUploaded: 0,
|
|
794
|
+
bytesUploaded: 0,
|
|
795
|
+
},
|
|
796
|
+
],
|
|
698
797
|
});
|
|
699
798
|
});
|
|
700
799
|
it("collects company-level errors into the all-complete errors array", async () => {
|
|
@@ -710,7 +809,8 @@ describe("all-complete aggregate", () => {
|
|
|
710
809
|
.mockResolvedValueOnce(defaultSyncResult()),
|
|
711
810
|
});
|
|
712
811
|
const code = await runRunner(["--companies"], deps);
|
|
713
|
-
|
|
812
|
+
// Exit 2 — partial fanout (acme errored, beta clean).
|
|
813
|
+
expect(code).toBe(2);
|
|
714
814
|
const all = deps.stdout
|
|
715
815
|
.events()
|
|
716
816
|
.find((e) => e.type === "all-complete");
|
|
@@ -718,6 +818,7 @@ describe("all-complete aggregate", () => {
|
|
|
718
818
|
expect(all.errors).toEqual([
|
|
719
819
|
{ company: "acme", message: "acme failed" },
|
|
720
820
|
]);
|
|
821
|
+
expect(all.partial).toBe(true);
|
|
721
822
|
});
|
|
722
823
|
});
|
|
723
824
|
// ---------------------------------------------------------------------------
|
|
@@ -842,6 +943,12 @@ describe("--direction", () => {
|
|
|
842
943
|
share: shareSpy,
|
|
843
944
|
});
|
|
844
945
|
const code = await runRunner(["--companies", "--direction", "both"], deps);
|
|
946
|
+
// A clean conflict-abort (push returned aborted: true, no exception)
|
|
947
|
+
// exits 0 — nothing threw, the user's --on-conflict abort policy just
|
|
948
|
+
// decided to skip pull. The all-complete event carries `partial: true`
|
|
949
|
+
// for monitors that want to see "didn't complete cleanly", but the exit
|
|
950
|
+
// code stays 0 so the Tauri menubar's Sentry alert doesn't fire on what
|
|
951
|
+
// is normal user-policy behavior.
|
|
845
952
|
expect(code).toBe(0);
|
|
846
953
|
expect(shareSpy).toHaveBeenCalledTimes(1);
|
|
847
954
|
expect(syncSpy).not.toHaveBeenCalled();
|
|
@@ -849,6 +956,14 @@ describe("--direction", () => {
|
|
|
849
956
|
.events()
|
|
850
957
|
.find((e) => e.type === "complete");
|
|
851
958
|
expect(complete.aborted).toBe(true);
|
|
959
|
+
const all = deps.stdout
|
|
960
|
+
.events()
|
|
961
|
+
.find((e) => e.type === "all-complete");
|
|
962
|
+
expect(all.partial).toBe(true);
|
|
963
|
+
expect(all.companies[0]).toMatchObject({
|
|
964
|
+
company: "acme",
|
|
965
|
+
status: "aborted",
|
|
966
|
+
});
|
|
852
967
|
});
|
|
853
968
|
it("direction=push: passes skipUnchanged and company root path to share()", async () => {
|
|
854
969
|
const shareSpy = vi.fn().mockResolvedValue(defaultShareResult());
|
|
@@ -903,6 +1018,25 @@ describe("--direction", () => {
|
|
|
903
1018
|
bytesUploaded: 125,
|
|
904
1019
|
conflictPaths: [],
|
|
905
1020
|
errors: [],
|
|
1021
|
+
partial: false,
|
|
1022
|
+
companies: [
|
|
1023
|
+
{
|
|
1024
|
+
company: "acme",
|
|
1025
|
+
status: "complete",
|
|
1026
|
+
filesDownloaded: 3,
|
|
1027
|
+
bytesDownloaded: 100,
|
|
1028
|
+
filesUploaded: 1,
|
|
1029
|
+
bytesUploaded: 50,
|
|
1030
|
+
},
|
|
1031
|
+
{
|
|
1032
|
+
company: "beta",
|
|
1033
|
+
status: "complete",
|
|
1034
|
+
filesDownloaded: 4,
|
|
1035
|
+
bytesDownloaded: 250,
|
|
1036
|
+
filesUploaded: 2,
|
|
1037
|
+
bytesUploaded: 75,
|
|
1038
|
+
},
|
|
1039
|
+
],
|
|
906
1040
|
});
|
|
907
1041
|
});
|
|
908
1042
|
it("direction=push: share progress events are tagged with the company slug", async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-runner.test.js","sourceRoot":"","sources":["../../src/bin/sync-runner.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAa7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAapD,SAAS,UAAU;IACjB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,OAAO;QACL,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE;YACvB,GAAG,IAAI,KAAK,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,EAAE,CACX,GAAG;aACA,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAgB,CAAC;QAC7C,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG;KACf,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E,SAAS,iBAAiB,CAAC,YAAiC,EAAE;IAC5D,OAAO;QACL,eAAe,EAAE,CAAC;QAClB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,EAAE;QACjB,OAAO,EAAE,KAAK;QACd,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAkC,EAAE;IAC9D,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,OAAO,EAAE,KAAK;QACd,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CACpB,OAUI,EAAE;IAEN,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;IAC1C,OAAO;QACL,iBAAiB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAA2B,CAAC;QACrE,2BAA2B,EAAE,GAAG,EAAE,CAChC,OAAO,CAAC,OAAO,CAAC,OAA4C,CAAC;QAC/D,0BAA0B,EACxB,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,oBAAoB,EAClB,IAAI,CAAC,YAAY;YACjB,CAAC,GAAG,EAAE,CACJ,OAAO,CAAC,OAAO,CAAC;gBACd,GAAG,EAAE,oBAAoB;gBACzB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,QAAQ;aACQ,CAAC,CAAC;QAChC,MAAM,EAAE;YACN,GAAG,EACD,IAAI,CAAC,SAAS;gBACd,CAAC,CAAC,GAAW,EAAE,EAAE,CACf,OAAO,CAAC,OAAO,CAAC;oBACd,GAAG;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,UAAU,GAAG,EAAE;oBAC3B,MAAM,EAAE,QAAQ;iBACQ,CAAC,CAAC;YAChC,UAAU,EACR,IAAI,CAAC,WAAW;gBAChB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC9B;KACF,CAAC;AACJ,CAAC;AAOD,SAAS,QAAQ,CAAC,YAAiC,EAAE;IACnD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,qEAAqE;IACrE,yEAAyE;IACzE,wEAAwE;IACxE,4EAA4E;IAC5E,0CAA0C;IAC1C,OAAO;QACL,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;QAC9D,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;QACpE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;QACpD,GAAG,SAAS;QACZ,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,CAAC,aAAa,EAAE,eAAe,EAAE,MAAM,CAAC,EACxC,IAAI,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;SAC5D,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,sDAAsD;QACtD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACzE,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,0DAA0D;QAC1D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;YACnC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE;SACpD,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxB,GAAG,aAAa,EAAE;gBAClB,iBAAiB,EAAE,GAAG,EAAE,CACtB,OAAO,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,eAAe,CAAC,CAAC;aACtD,CAAC;SACH,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;YACnC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE;SACjD,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxB,GAAG,aAAa,EAAE;gBAClB,iBAAiB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;aACnE,CAAC;SACH,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,wCAAwC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,MAAM,GAAG;QACb,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,gBAAgB;KACvB,CAAC;IAEF,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC1C,GAAG,EAAE,mBAAmB;YACxB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACtD,wDAAwD;QACxD,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,aAAa,CAAC;YACzB,cAAc,EAAE;gBACd;oBACE,aAAa,EAAE,OAAO;oBACtB,UAAU,EAAE,YAAY;oBACxB,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,WAAW;oBACtB,SAAS,EAAE,sBAAsB;iBAClC;aACF;YACD,YAAY,EAAE,SAAkE;YAChF,KAAK,EAAE,QAAuE;SAC/E,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,GAAG,GAAG,EAAE;YAC5B,SAAS,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAiB,CAAC,CAAC;QACzE,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI;YAC7B,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM;SAC/B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC;YACrC,QAAQ,EAAE,SAAS;YACnB,WAAW,EAAE,gBAAgB;SAC9B,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QAC3D,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,yEAAyE;QACzE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CACtE,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,cAAc,EAAE,EAAE;gBAClB,YAAY,EACV,SAAkE;gBACpE,KAAK,EAAE,QAAuE;aAC/E,CAAC;YACJ,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM;SAC/B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACxC,2EAA2E;QAC3E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;QAC7B,IAAI,CAAC,2BAA2B;YAC9B,UAA0E,CAAC;QAC7E,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI;YAC7B,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI;SAC7B,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,IAAI,GAAG,aAAa,CAAC;YACzB,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,2BAA2B,GAAG,GAAG,EAAE,CACtC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI;YAC7B,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM;SAC/B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,sDAAsD;QACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC1C,GAAG,EAAE,cAAc;YACnB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,cAAc,EAAE;oBACd;wBACE,aAAa,EAAE,OAAO;wBACtB,UAAU,EAAE,OAAO;wBACnB,IAAI,EAAE,OAAO;wBACb,SAAS,EAAE,WAAW;wBACtB,SAAS,EAAE,sBAAsB;qBAClC;iBACF;gBACD,YAAY,EACV,SAAkE;aACrE,CAAC;YACJ,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvB,GAAG,EAAE,SAAS;gBACd,UAAU,EAAE,KAAK;gBACjB,WAAW,EAAE,UAAU;aACxB,CAAC;SACH,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC;YACrC,QAAQ,EAAE,SAAS;YACnB,WAAW,EAAE,cAAc;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QACjE,gDAAgD;QAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxB,GAAG,aAAa,CAAC;oBACf,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;iBAClE,CAAC;gBACF,iBAAiB,EAAE,OAAiD;aACrE,CAAC;SACH,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAI,IAAI,CAAC,IAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAgB,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,SAAS,GAA2B;YACxC,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,MAAM;SACd,CAAC;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBAC/D,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC;oBACd,GAAG;oBACH,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG;iBACH,CAAC;aAC9B,CAAC;SACL,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM;aACrB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAkD,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YAC7B,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;YAC9B,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;gBAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;aAC7D,CAAC;SACL,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM;aACrB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAkD,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBAC/D,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC;oBACd,GAAG;oBACH,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBACvC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;iBACvB,CAAC;aAC9B,CAAC;SACL,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM;aACrB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAkD,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YAC7B,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;YACjD,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;gBAC1C,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAA2B,CAAC;aAC9D,CAAC;SACL,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM;aACrB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAkD,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAiB,EAAE,EAAE;gBAC3D,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;gBACH,OAAO,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM;aAC/B,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,CAAC,EAAmD,EAAE,CAC7D,CAAC,CAAC,IAAI,KAAK,UAAU,CACtB,CAAC;QACJ,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;YAC7B,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;YAClE;gBACE,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,cAAc;aACxB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAiB,EAAE,EAAE;gBAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,EAAE,MAAM;oBACZ,eAAe,EAAE,CAAC;oBAClB,eAAe,EAAE,IAAI;oBACrB,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,CAAC;oBAChB,WAAW,EAAE,CAAC;oBACd,eAAe,EAAE,CAAC;iBACnB,CAAC,CAAC;gBACH,OAAO,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM;aAC3B,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,CAAC,EAA+C,EAAE,CACzD,CAAC,CAAC,IAAI,KAAK,MAAM,CAClB,CAAC;QACJ,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YACzB;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE,CAAC;gBAChB,aAAa,EAAE,CAAC;gBAChB,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE,CAAC;aACnB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAiB,EAAE,EAAE;gBAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAC;gBACH,OAAO,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,6DAA6D;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM;aACrB,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,CAAC,EAAgD,EAAE,CAC1D,CAAC,CAAC,IAAI,KAAK,OAAO,CACnB,CAAC;QACJ,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YACnB;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,eAAe;aACzB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,MAAM,GAAG,iBAAiB,CAAC;YAC/B,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,GAAG;YACpB,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC;SACxC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM;aACzB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAA+C,CAAC;QACpF,wCAAwC;QACxC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YACvB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,MAAM;YACf,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oGAAoG,EAAE,KAAK,IAAI,EAAE;QAClH,qEAAqE;QACrE,yEAAyE;QACzE,wEAAwE;QACxE,mCAAmC;QACnC,MAAM,UAAU,GAAG,iBAAiB,CAAC;YACnC,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,CAAC,iBAAiB,CAAC;YAClC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,kBAAkB,CAAC;YACpC,aAAa,EAAE,CAAC,kBAAkB,CAAC;YACnC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC;YAC3C,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC;SAC7C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EACtC,IAAI,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM;aACzB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAA+C,CAAC;QACpF,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;YACrC,iBAAiB;YACjB,kBAAkB;SACnB,CAAC,CAAC;QACH,iEAAiE;QACjE,oEAAoE;QACpE,qEAAqE;QACrE,0EAA0E;QAC1E,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM;aAC5B,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAmD,CAAC;QAC5F,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;YACxC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE;YAC/D,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE;SACjE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B;YACE,aAAa;YACb,eAAe;YACf,WAAW;YACX,WAAW;YACX,cAAc;SACf,EACD,IAAI,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAgB,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,KAAK,GAA2B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACvE,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBAC/D,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,EAA2B,CAAC;aAC7E,CAAC;YACJ,IAAI,EAAE,EAAE;iBACL,EAAE,EAA8C;iBAChD,sBAAsB,CAAC,KAAK,IAAI,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC,CAAC;iBACD,sBAAsB,CAAC,KAAK,IAAI,EAAE,CACjC,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAChE;SACJ,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;QAErD,sEAAsE;QACtE,wCAAwC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM;aAC3B,MAAM,EAAE;aACR,IAAI,CACH,CAAC,CAAC,EAAgD,EAAE,CAClD,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,CAC7C,CAAC;QACJ,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;YAC/B,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;QACH,8DAA8D;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM;aAC7B,MAAM,EAAE;aACR,IAAI,CACH,CAAC,CAAC,EAAmD,EAAE,CACrD,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,CAChD,CAAC;QACJ,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,KAAK,GAA2B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACvE,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBAC/D,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,EAA2B,CAAC;aAC7E,CAAC;YACJ,IAAI,EAAE,EAAE;iBACL,EAAE,EAA8C;iBAChD,qBAAqB,CACpB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAChE;iBACA,qBAAqB,CACpB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAChE;SACJ,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAmD,CAAC;QAC5F,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,kBAAkB,EAAE,CAAC;YACrB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,GAAG;YACpB,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,EAAE;YACjB,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,KAAK,GAA2B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACvE,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBAC/D,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,EAA2B,CAAC;aAC7E,CAAC;YACJ,IAAI,EAAE,EAAE;iBACL,EAAE,EAA8C;iBAChD,qBAAqB,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;iBAC/C,qBAAqB,CAAC,iBAAiB,EAAE,CAAC;SAC9C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAmD,CAAC;QAC5F,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACzB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAE9E,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAiB,EAAE,EAAE;gBAC3D,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7D,OAAO,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;YACvE,CAAC,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,gCAAgC;QAChC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC/C,CAAC;QACD,gEAAgE;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAiB,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACpB,aAAa;YACb,UAAU;YACV,UAAU;YACV,cAAc;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,CAAC,EAC1C,IAAI,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EACtC,IAAI,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE;YACrD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,OAAO,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE;YACpD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,OAAO,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EACtC,IAAI,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM;aACzB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAA+C,CAAC;QACpF,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC;YAC7B,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,GAAG;YAClB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,GAAG;SACrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,QAAQ,GAAG,EAAE;aAChB,EAAE,EAAE;aACJ,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EACtC,IAAI,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM;aACzB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAA+C,CAAC;QACpF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,MAAM,SAAS,CACb;YACE,aAAa;YACb,aAAa;YACb,MAAM;YACN,WAAW;YACX,cAAc;SACf,EACD,IAAI,CACL,CAAC;QACF,MAAM,IAAI,GAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAoB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,KAAK,GAA2B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACvE,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBAC/D,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,EAA2B,CAAC;aAC7E,CAAC;YACJ,IAAI,EAAE,EAAE;iBACL,EAAE,EAA8C;iBAChD,qBAAqB,CACpB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAChE;iBACA,qBAAqB,CACpB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAChE;YACH,KAAK,EAAE,EAAE;iBACN,EAAE,EAAgD;iBAClD,qBAAqB,CACpB,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAC5D;iBACA,qBAAqB,CACpB,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAC5D;SACJ,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EACtC,IAAI,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAmD,CAAC;QAC5F,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,kBAAkB,EAAE,CAAC;YACrB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,GAAG;YACpB,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,GAAG;YAClB,aAAa,EAAE,EAAE;YACjB,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;aAClE,CAAC;YACJ,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAkB,EAAE,EAAE;gBAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,GAAG;iBACX,CAAC,CAAC;gBACH,OAAO,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;YACtE,CAAC,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM;aACzB,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,CAAC,EAAmD,EAAE,CAC7D,CAAC,CAAC,IAAI,KAAK,UAAU,CACtB,CAAC;QACJ,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YACvB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;SACrE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,MAAM,WAAW,GAAe;QAC9B,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,sBAAsB;QACjC,UAAU,EAAE,oBAAoB;KACR,CAAC;IAE3B,MAAM,WAAW,GAAe;QAC9B,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,sBAAsB;QACjC,UAAU,EAAE,oBAAoB;KACR,CAAC;IAE3B,EAAE,CAAC,oGAAoG,EAAE,KAAK,IAAI,EAAE;QAClH,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;gBACjE,wEAAwE;gBACxE,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;aAC/D,CAAC;SACL,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM;aAC1B,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAkD,CAAC;QAC1F,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAEhC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAE,SAAqC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrF,MAAM,CAAE,SAAqC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,CAAE,SAAqC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACrG,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;gBACjE,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;aAC/D,CAAC;YACJ,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,MAAM,YAAY,GAAI,OAAO,CAAC,IAAI,CAAC,KAA8B,CAAC,IAAI,CACpE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CACxC,CAAC;QACF,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,YAAa,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,iBAAiB,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC;gBACZ,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAA2B,CAAC;gBACjE,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;aAClD,CAAC;YACJ,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,MAAM,YAAY,GAAI,OAAO,CAAC,IAAI,CAAC,KAA8B,CAAC,MAAM,CACtE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CACxC,CAAC;QACF,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E,UAAU,CAAC,GAAG,EAAE;IACd,EAAE,CAAC,aAAa,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"sync-runner.test.js","sourceRoot":"","sources":["../../src/bin/sync-runner.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -794,7 +794,10 @@ describe("per-company fanout", () => {
|
|
|
794
794
|
});
|
|
795
795
|
|
|
796
796
|
const code = await runRunner(["--companies"], deps);
|
|
797
|
-
|
|
797
|
+
// Exit 2 on partial fanout (one company errored). The fanout completed
|
|
798
|
+
// — beta still synced — but the rollup carries `partial: true` and a
|
|
799
|
+
// non-zero exit signals automated monitors that the run wasn't clean.
|
|
800
|
+
expect(code).toBe(2);
|
|
798
801
|
|
|
799
802
|
// Error event for acme (company-level) with path sentinel "(company)"
|
|
800
803
|
// — error-class events route to stderr.
|
|
@@ -820,6 +823,95 @@ describe("per-company fanout", () => {
|
|
|
820
823
|
expect(betaComplete).toBeDefined();
|
|
821
824
|
expect(betaComplete?.filesDownloaded).toBe(1);
|
|
822
825
|
});
|
|
826
|
+
|
|
827
|
+
/**
|
|
828
|
+
* Regression test for the rollup-bug from the personal-sync 401 incident.
|
|
829
|
+
*
|
|
830
|
+
* Setup: company "personal" has 3 files queued for download. The first two
|
|
831
|
+
* arrive (emitting `progress` events) and then the sync function throws on
|
|
832
|
+
* the third (mid-stream 401). Before the fix, the runner's `all-complete`
|
|
833
|
+
* reported `filesDownloaded: 0` for the whole run because the throwing
|
|
834
|
+
* company never emitted a clean `complete` and the rollup only summed
|
|
835
|
+
* companies that did. The fix: walk every company, sum partial counts
|
|
836
|
+
* captured from progress events, flip `partial: true`, exit non-zero.
|
|
837
|
+
*/
|
|
838
|
+
it("aborted-mid-stream company contributes its partial counts to all-complete", async () => {
|
|
839
|
+
const deps = makeDeps({
|
|
840
|
+
createVaultClient: () =>
|
|
841
|
+
makeVaultStub({
|
|
842
|
+
memberships: [{ companyUid: "cmp_personal" }],
|
|
843
|
+
entityGet: (uid: string) =>
|
|
844
|
+
Promise.resolve({
|
|
845
|
+
uid,
|
|
846
|
+
slug: "personal",
|
|
847
|
+
} as unknown as EntityInfo),
|
|
848
|
+
}),
|
|
849
|
+
sync: vi
|
|
850
|
+
.fn<(opts: SyncOptions) => Promise<SyncResult>>()
|
|
851
|
+
.mockImplementationOnce(async (opts: SyncOptions) => {
|
|
852
|
+
// Two files land before the throw — these counts must show up in
|
|
853
|
+
// the rollup even though the sync function never returns cleanly.
|
|
854
|
+
opts.onEvent?.({ type: "progress", path: "notes/a.md", bytes: 100 });
|
|
855
|
+
opts.onEvent?.({ type: "progress", path: "notes/b.md", bytes: 250 });
|
|
856
|
+
throw new Error("401 Unauthorized — token expired");
|
|
857
|
+
}),
|
|
858
|
+
});
|
|
859
|
+
|
|
860
|
+
const code = await runRunner(["--companies"], deps);
|
|
861
|
+
expect(code).toBe(2);
|
|
862
|
+
|
|
863
|
+
// 1) The aborted company emits a `complete` event with aborted=true
|
|
864
|
+
// and the partial counts that the progress stream captured. Without
|
|
865
|
+
// this, consumers walking the `complete` event stream would never
|
|
866
|
+
// see the 350 bytes that hit disk.
|
|
867
|
+
const completeEvents = deps.stdout
|
|
868
|
+
.events()
|
|
869
|
+
.filter(
|
|
870
|
+
(e): e is Extract<RunnerEvent, { type: "complete" }> =>
|
|
871
|
+
e.type === "complete",
|
|
872
|
+
);
|
|
873
|
+
expect(completeEvents).toHaveLength(1);
|
|
874
|
+
expect(completeEvents[0]).toMatchObject({
|
|
875
|
+
company: "personal",
|
|
876
|
+
filesDownloaded: 2,
|
|
877
|
+
bytesDownloaded: 350,
|
|
878
|
+
filesUploaded: 0,
|
|
879
|
+
bytesUploaded: 0,
|
|
880
|
+
aborted: true,
|
|
881
|
+
});
|
|
882
|
+
|
|
883
|
+
// 2) The all-complete rollup includes the partial counts and is flagged
|
|
884
|
+
// `partial: true` with a per-company breakdown. Before the fix this
|
|
885
|
+
// was `filesDownloaded: 0` and there was no `partial` field at all.
|
|
886
|
+
const all = deps.stdout
|
|
887
|
+
.events()
|
|
888
|
+
.find(
|
|
889
|
+
(e): e is Extract<RunnerEvent, { type: "all-complete" }> =>
|
|
890
|
+
e.type === "all-complete",
|
|
891
|
+
);
|
|
892
|
+
expect(all).toBeDefined();
|
|
893
|
+
expect(all).toMatchObject({
|
|
894
|
+
companiesAttempted: 1,
|
|
895
|
+
filesDownloaded: 2,
|
|
896
|
+
bytesDownloaded: 350,
|
|
897
|
+
filesUploaded: 0,
|
|
898
|
+
bytesUploaded: 0,
|
|
899
|
+
partial: true,
|
|
900
|
+
errors: [
|
|
901
|
+
{ company: "personal", message: "401 Unauthorized — token expired" },
|
|
902
|
+
],
|
|
903
|
+
});
|
|
904
|
+
expect(all?.companies).toEqual([
|
|
905
|
+
{
|
|
906
|
+
company: "personal",
|
|
907
|
+
status: "errored",
|
|
908
|
+
filesDownloaded: 2,
|
|
909
|
+
bytesDownloaded: 350,
|
|
910
|
+
filesUploaded: 0,
|
|
911
|
+
bytesUploaded: 0,
|
|
912
|
+
},
|
|
913
|
+
]);
|
|
914
|
+
});
|
|
823
915
|
});
|
|
824
916
|
|
|
825
917
|
// ---------------------------------------------------------------------------
|
|
@@ -860,6 +952,25 @@ describe("all-complete aggregate", () => {
|
|
|
860
952
|
bytesUploaded: 0,
|
|
861
953
|
conflictPaths: [],
|
|
862
954
|
errors: [],
|
|
955
|
+
partial: false,
|
|
956
|
+
companies: [
|
|
957
|
+
{
|
|
958
|
+
company: "acme",
|
|
959
|
+
status: "complete",
|
|
960
|
+
filesDownloaded: 3,
|
|
961
|
+
bytesDownloaded: 100,
|
|
962
|
+
filesUploaded: 0,
|
|
963
|
+
bytesUploaded: 0,
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
company: "beta",
|
|
967
|
+
status: "complete",
|
|
968
|
+
filesDownloaded: 4,
|
|
969
|
+
bytesDownloaded: 250,
|
|
970
|
+
filesUploaded: 0,
|
|
971
|
+
bytesUploaded: 0,
|
|
972
|
+
},
|
|
973
|
+
],
|
|
863
974
|
});
|
|
864
975
|
});
|
|
865
976
|
|
|
@@ -879,7 +990,8 @@ describe("all-complete aggregate", () => {
|
|
|
879
990
|
});
|
|
880
991
|
|
|
881
992
|
const code = await runRunner(["--companies"], deps);
|
|
882
|
-
|
|
993
|
+
// Exit 2 — partial fanout (acme errored, beta clean).
|
|
994
|
+
expect(code).toBe(2);
|
|
883
995
|
const all = deps.stdout
|
|
884
996
|
.events()
|
|
885
997
|
.find((e) => e.type === "all-complete") as Extract<RunnerEvent, { type: "all-complete" }>;
|
|
@@ -887,6 +999,7 @@ describe("all-complete aggregate", () => {
|
|
|
887
999
|
expect(all.errors).toEqual([
|
|
888
1000
|
{ company: "acme", message: "acme failed" },
|
|
889
1001
|
]);
|
|
1002
|
+
expect(all.partial).toBe(true);
|
|
890
1003
|
});
|
|
891
1004
|
});
|
|
892
1005
|
|
|
@@ -1047,6 +1160,12 @@ describe("--direction", () => {
|
|
|
1047
1160
|
["--companies", "--direction", "both"],
|
|
1048
1161
|
deps,
|
|
1049
1162
|
);
|
|
1163
|
+
// A clean conflict-abort (push returned aborted: true, no exception)
|
|
1164
|
+
// exits 0 — nothing threw, the user's --on-conflict abort policy just
|
|
1165
|
+
// decided to skip pull. The all-complete event carries `partial: true`
|
|
1166
|
+
// for monitors that want to see "didn't complete cleanly", but the exit
|
|
1167
|
+
// code stays 0 so the Tauri menubar's Sentry alert doesn't fire on what
|
|
1168
|
+
// is normal user-policy behavior.
|
|
1050
1169
|
expect(code).toBe(0);
|
|
1051
1170
|
expect(shareSpy).toHaveBeenCalledTimes(1);
|
|
1052
1171
|
expect(syncSpy).not.toHaveBeenCalled();
|
|
@@ -1055,6 +1174,15 @@ describe("--direction", () => {
|
|
|
1055
1174
|
.events()
|
|
1056
1175
|
.find((e) => e.type === "complete") as Extract<RunnerEvent, { type: "complete" }>;
|
|
1057
1176
|
expect(complete.aborted).toBe(true);
|
|
1177
|
+
|
|
1178
|
+
const all = deps.stdout
|
|
1179
|
+
.events()
|
|
1180
|
+
.find((e) => e.type === "all-complete") as Extract<RunnerEvent, { type: "all-complete" }>;
|
|
1181
|
+
expect(all.partial).toBe(true);
|
|
1182
|
+
expect(all.companies[0]).toMatchObject({
|
|
1183
|
+
company: "acme",
|
|
1184
|
+
status: "aborted",
|
|
1185
|
+
});
|
|
1058
1186
|
});
|
|
1059
1187
|
|
|
1060
1188
|
it("direction=push: passes skipUnchanged and company root path to share()", async () => {
|
|
@@ -1131,6 +1259,25 @@ describe("--direction", () => {
|
|
|
1131
1259
|
bytesUploaded: 125,
|
|
1132
1260
|
conflictPaths: [],
|
|
1133
1261
|
errors: [],
|
|
1262
|
+
partial: false,
|
|
1263
|
+
companies: [
|
|
1264
|
+
{
|
|
1265
|
+
company: "acme",
|
|
1266
|
+
status: "complete",
|
|
1267
|
+
filesDownloaded: 3,
|
|
1268
|
+
bytesDownloaded: 100,
|
|
1269
|
+
filesUploaded: 1,
|
|
1270
|
+
bytesUploaded: 50,
|
|
1271
|
+
},
|
|
1272
|
+
{
|
|
1273
|
+
company: "beta",
|
|
1274
|
+
status: "complete",
|
|
1275
|
+
filesDownloaded: 4,
|
|
1276
|
+
bytesDownloaded: 250,
|
|
1277
|
+
filesUploaded: 2,
|
|
1278
|
+
bytesUploaded: 75,
|
|
1279
|
+
},
|
|
1280
|
+
],
|
|
1134
1281
|
});
|
|
1135
1282
|
});
|
|
1136
1283
|
|
package/src/bin/sync-runner.ts
CHANGED
|
@@ -37,8 +37,19 @@
|
|
|
37
37
|
* of requiring per-event capture calls in the menubar.
|
|
38
38
|
*
|
|
39
39
|
* Exit code:
|
|
40
|
-
* 0 — event stream describes the outcome
|
|
41
|
-
*
|
|
40
|
+
* 0 — event stream describes the outcome. The runner finished its protocol
|
|
41
|
+
* without any company throwing. Includes setup-needed, auth-error, and
|
|
42
|
+
* runs where every company completed OR cleanly returned `aborted: true`
|
|
43
|
+
* (a `--on-conflict abort` policy decision is not an error).
|
|
44
|
+
* 1 — argv parse error or unrecoverable pre-sync failure.
|
|
45
|
+
* 2 — at least one company threw mid-stream (e.g. mid-fanout 401, network
|
|
46
|
+
* reset, S3 5xx after retries). The all-complete event carries
|
|
47
|
+
* `partial: true` and per-company partial counts captured from
|
|
48
|
+
* `progress` events before the throw, so consumers parsing ndjson see
|
|
49
|
+
* what actually transferred. This is distinct from exit 0 with
|
|
50
|
+
* `partial: true` (clean conflict-aborts) — exit 2 is "something
|
|
51
|
+
* unexpected happened", which the Tauri menubar converts to a Sentry
|
|
52
|
+
* alert. Conflict-aborts intentionally do NOT alert.
|
|
42
53
|
*/
|
|
43
54
|
|
|
44
55
|
import * as os from "os";
|
|
@@ -168,6 +179,36 @@ export type RunnerEvent =
|
|
|
168
179
|
*/
|
|
169
180
|
conflictPaths: Array<{ company: string; path: string; direction: "pull" | "push" }>;
|
|
170
181
|
errors: Array<{ company: string; message: string }>;
|
|
182
|
+
/**
|
|
183
|
+
* True when at least one company in the fanout did not complete cleanly
|
|
184
|
+
* — either it returned `aborted: true` (e.g. conflict-abort) or its sync
|
|
185
|
+
* function threw mid-stream (e.g. mid-fanout 401). When `partial: true`,
|
|
186
|
+
* the totals above include partial counts captured from `progress` events
|
|
187
|
+
* before the abort, NOT just companies that emitted a clean `complete`.
|
|
188
|
+
*
|
|
189
|
+
* Automated monitors should check this field — `errors.length > 0` alone
|
|
190
|
+
* isn't sufficient because a `aborted: true` return doesn't push to
|
|
191
|
+
* `errors` (it's a clean conflict-abort, not an exception).
|
|
192
|
+
*/
|
|
193
|
+
partial: boolean;
|
|
194
|
+
/**
|
|
195
|
+
* Per-company breakdown of the fanout. Always present, one entry per
|
|
196
|
+
* planned company, in fanout order. Lets consumers reconcile per-company
|
|
197
|
+
* partial counts with the aggregate without re-walking `complete` /
|
|
198
|
+
* `error` event streams. The `status` field is the canonical signal:
|
|
199
|
+
* - "complete" — sync returned cleanly, `aborted: false`
|
|
200
|
+
* - "aborted" — sync returned cleanly with `aborted: true` (conflict-abort)
|
|
201
|
+
* - "errored" — sync threw mid-stream; counts are sourced from progress
|
|
202
|
+
* events seen before the throw
|
|
203
|
+
*/
|
|
204
|
+
companies: Array<{
|
|
205
|
+
company: string;
|
|
206
|
+
status: "complete" | "aborted" | "errored";
|
|
207
|
+
filesDownloaded: number;
|
|
208
|
+
bytesDownloaded: number;
|
|
209
|
+
filesUploaded: number;
|
|
210
|
+
bytesUploaded: number;
|
|
211
|
+
}>;
|
|
171
212
|
};
|
|
172
213
|
|
|
173
214
|
/**
|
|
@@ -533,17 +574,56 @@ export async function runRunner(
|
|
|
533
574
|
const shareFn = deps.share ?? defaultShare;
|
|
534
575
|
const doPush = parsed.direction === "push" || parsed.direction === "both";
|
|
535
576
|
const doPull = parsed.direction === "pull" || parsed.direction === "both";
|
|
536
|
-
let totalDownloaded = 0;
|
|
537
|
-
let totalDownloadedBytes = 0;
|
|
538
|
-
let totalUploaded = 0;
|
|
539
|
-
let totalUploadedBytes = 0;
|
|
540
577
|
const errors: Array<{ company: string; message: string }> = [];
|
|
541
578
|
const allConflicts: Array<{ company: string; path: string; direction: "pull" | "push" }> = [];
|
|
542
579
|
|
|
580
|
+
// Per-company state, keyed by the company label (slug or UID-fallback) so
|
|
581
|
+
// both `progress` (which streams) and `complete`/throw (which lands once)
|
|
582
|
+
// can update the same row. The rollup at the bottom of the function walks
|
|
583
|
+
// every entry — this is the source of truth that closes the bug where an
|
|
584
|
+
// aborted company's partial counts were dropped from `all-complete`.
|
|
585
|
+
//
|
|
586
|
+
// We seed `direction` from the parsed flag so we know whether a `progress`
|
|
587
|
+
// event without a clear phase should bump downloaded or uploaded counters.
|
|
588
|
+
// For `direction: "both"` runs we lean on the path of the in-flight phase
|
|
589
|
+
// — push runs first and sets `phaseRef.current = "push"` while shareFn runs,
|
|
590
|
+
// pull sets it to "pull". The closure shared by tagAndEmit reads `.current`
|
|
591
|
+
// at event time, so progress events route to the right column.
|
|
592
|
+
type CompanyStatus = "complete" | "aborted" | "errored";
|
|
593
|
+
interface CompanyState {
|
|
594
|
+
company: string;
|
|
595
|
+
status: CompanyStatus;
|
|
596
|
+
filesDownloaded: number;
|
|
597
|
+
bytesDownloaded: number;
|
|
598
|
+
filesUploaded: number;
|
|
599
|
+
bytesUploaded: number;
|
|
600
|
+
}
|
|
601
|
+
const stateByCompany = new Map<string, CompanyState>();
|
|
602
|
+
|
|
543
603
|
for (const target of plan) {
|
|
544
604
|
const companyLabel = target.slug;
|
|
605
|
+
const state: CompanyState = {
|
|
606
|
+
company: companyLabel,
|
|
607
|
+
// Default to "errored" so a throw before any complete-or-clean-abort
|
|
608
|
+
// path (the original bug) leaves the entry flagged as not-clean. The
|
|
609
|
+
// success/clean-abort paths overwrite this before the loop body exits.
|
|
610
|
+
status: "errored",
|
|
611
|
+
filesDownloaded: 0,
|
|
612
|
+
bytesDownloaded: 0,
|
|
613
|
+
filesUploaded: 0,
|
|
614
|
+
bytesUploaded: 0,
|
|
615
|
+
};
|
|
616
|
+
stateByCompany.set(companyLabel, state);
|
|
617
|
+
|
|
618
|
+
// Which phase is currently emitting `progress` events. Mutable closure so
|
|
619
|
+
// tagAndEmit (defined once below) reads the latest value when each event
|
|
620
|
+
// fires. "pull" is the default for back-compat with pull-only runs.
|
|
621
|
+
let activePhase: "pull" | "push" = doPush && !doPull ? "push" : "pull";
|
|
622
|
+
|
|
545
623
|
// Per-company event tagger — shared by push and pull phases so progress
|
|
546
624
|
// rows land on the right company regardless of which phase emitted them.
|
|
625
|
+
// Also updates `state` for `progress` events so the rollup has accurate
|
|
626
|
+
// partial counts even if the sync function throws before returning.
|
|
547
627
|
const tagAndEmit = (event: SyncProgressEvent): void => {
|
|
548
628
|
if (event.type === "plan") {
|
|
549
629
|
emit({
|
|
@@ -557,6 +637,13 @@ export async function runRunner(
|
|
|
557
637
|
filesToConflict: event.filesToConflict,
|
|
558
638
|
});
|
|
559
639
|
} else if (event.type === "progress") {
|
|
640
|
+
if (activePhase === "push") {
|
|
641
|
+
state.filesUploaded += 1;
|
|
642
|
+
state.bytesUploaded += event.bytes;
|
|
643
|
+
} else {
|
|
644
|
+
state.filesDownloaded += 1;
|
|
645
|
+
state.bytesDownloaded += event.bytes;
|
|
646
|
+
}
|
|
560
647
|
emit({
|
|
561
648
|
type: "progress",
|
|
562
649
|
company: companyLabel,
|
|
@@ -604,6 +691,7 @@ export async function runRunner(
|
|
|
604
691
|
// point with `skipUnchanged` so we don't re-upload files that haven't
|
|
605
692
|
// changed since the last sync.
|
|
606
693
|
if (doPush) {
|
|
694
|
+
activePhase = "push";
|
|
607
695
|
pushResult = await shareFn({
|
|
608
696
|
paths: [path.join(parsed.hqRoot, "companies", target.slug)],
|
|
609
697
|
company: target.uid,
|
|
@@ -619,6 +707,7 @@ export async function runRunner(
|
|
|
619
707
|
// the user has local edits + remote drift; blindly pulling would erase
|
|
620
708
|
// whichever side `--on-conflict abort` just protected.
|
|
621
709
|
if (doPull && !pushResult.aborted) {
|
|
710
|
+
activePhase = "pull";
|
|
622
711
|
pullResult = await syncFn({
|
|
623
712
|
company: target.uid,
|
|
624
713
|
vaultConfig,
|
|
@@ -637,6 +726,20 @@ export async function runRunner(
|
|
|
637
726
|
...pullResult.conflictPaths,
|
|
638
727
|
...pushResult.conflictPaths,
|
|
639
728
|
];
|
|
729
|
+
const aborted = pullResult.aborted || pushResult.aborted;
|
|
730
|
+
|
|
731
|
+
// Overwrite the progress-derived counts with the authoritative numbers
|
|
732
|
+
// from the sync/share return values. The `progress` stream over-counts
|
|
733
|
+
// when the inner walker emits a progress row for a file it then skips
|
|
734
|
+
// due to a journal hit — a clean return value is the source of truth.
|
|
735
|
+
// For the throw case below this overwrite never runs, so `state` keeps
|
|
736
|
+
// its progress-derived counts (which is exactly what we want there).
|
|
737
|
+
state.filesDownloaded = pullResult.filesDownloaded;
|
|
738
|
+
state.bytesDownloaded = pullResult.bytesDownloaded;
|
|
739
|
+
state.filesUploaded = pushResult.filesUploaded;
|
|
740
|
+
state.bytesUploaded = pushResult.bytesUploaded;
|
|
741
|
+
state.status = aborted ? "aborted" : "complete";
|
|
742
|
+
|
|
640
743
|
emit({
|
|
641
744
|
type: "complete",
|
|
642
745
|
company: companyLabel,
|
|
@@ -654,7 +757,7 @@ export async function runRunner(
|
|
|
654
757
|
conflictPaths: mergedConflictPaths,
|
|
655
758
|
// Either phase aborting marks the company aborted — the UI treats
|
|
656
759
|
// `aborted: true` as "sync didn't complete cleanly for this company".
|
|
657
|
-
aborted
|
|
760
|
+
aborted,
|
|
658
761
|
});
|
|
659
762
|
for (const p of pullResult.conflictPaths) {
|
|
660
763
|
allConflicts.push({ company: companyLabel, path: p, direction: "pull" });
|
|
@@ -662,13 +765,28 @@ export async function runRunner(
|
|
|
662
765
|
for (const p of pushResult.conflictPaths) {
|
|
663
766
|
allConflicts.push({ company: companyLabel, path: p, direction: "push" });
|
|
664
767
|
}
|
|
665
|
-
totalDownloaded += pullResult.filesDownloaded;
|
|
666
|
-
totalDownloadedBytes += pullResult.bytesDownloaded;
|
|
667
|
-
totalUploaded += pushResult.filesUploaded;
|
|
668
|
-
totalUploadedBytes += pushResult.bytesUploaded;
|
|
669
768
|
} catch (err) {
|
|
670
769
|
const message = err instanceof Error ? err.message : String(err);
|
|
671
770
|
errors.push({ company: companyLabel, message });
|
|
771
|
+
// `state.status` was seeded as "errored" at loop entry — the throw
|
|
772
|
+
// path leaves it there, and `state.files{Down,Up}loaded` reflects the
|
|
773
|
+
// partial counts captured from `progress` events before the throw.
|
|
774
|
+
// Emit a `complete` event with `aborted: true` and those partial
|
|
775
|
+
// counts so consumers walking the `complete` event stream see every
|
|
776
|
+
// company in the fanout uniformly. This is the fix for the misleading
|
|
777
|
+
// rollup — see file header `Exit code: 2` doc.
|
|
778
|
+
emit({
|
|
779
|
+
type: "complete",
|
|
780
|
+
company: companyLabel,
|
|
781
|
+
filesDownloaded: state.filesDownloaded,
|
|
782
|
+
bytesDownloaded: state.bytesDownloaded,
|
|
783
|
+
filesUploaded: state.filesUploaded,
|
|
784
|
+
bytesUploaded: state.bytesUploaded,
|
|
785
|
+
filesSkipped: 0,
|
|
786
|
+
conflicts: 0,
|
|
787
|
+
conflictPaths: [],
|
|
788
|
+
aborted: true,
|
|
789
|
+
});
|
|
672
790
|
emit({
|
|
673
791
|
type: "error",
|
|
674
792
|
company: companyLabel,
|
|
@@ -679,6 +797,43 @@ export async function runRunner(
|
|
|
679
797
|
}
|
|
680
798
|
}
|
|
681
799
|
|
|
800
|
+
// Walk every per-company entry — the map holds one row per planned company,
|
|
801
|
+
// including ones that aborted via thrown exception. This is the fix for the
|
|
802
|
+
// bug where `all-complete` reported `filesDownloaded: 0` for an aborted
|
|
803
|
+
// personal-sync that had already emitted thousands of `progress` events:
|
|
804
|
+
// the rollup used to only sum companies that emitted a clean `complete`,
|
|
805
|
+
// which silently dropped partials when the sync function threw.
|
|
806
|
+
let totalDownloaded = 0;
|
|
807
|
+
let totalDownloadedBytes = 0;
|
|
808
|
+
let totalUploaded = 0;
|
|
809
|
+
let totalUploadedBytes = 0;
|
|
810
|
+
let partial = false;
|
|
811
|
+
const companies: Array<{
|
|
812
|
+
company: string;
|
|
813
|
+
status: CompanyStatus;
|
|
814
|
+
filesDownloaded: number;
|
|
815
|
+
bytesDownloaded: number;
|
|
816
|
+
filesUploaded: number;
|
|
817
|
+
bytesUploaded: number;
|
|
818
|
+
}> = [];
|
|
819
|
+
for (const target of plan) {
|
|
820
|
+
const s = stateByCompany.get(target.slug);
|
|
821
|
+
if (!s) continue; // unreachable — every plan entry seeds the map
|
|
822
|
+
totalDownloaded += s.filesDownloaded;
|
|
823
|
+
totalDownloadedBytes += s.bytesDownloaded;
|
|
824
|
+
totalUploaded += s.filesUploaded;
|
|
825
|
+
totalUploadedBytes += s.bytesUploaded;
|
|
826
|
+
if (s.status !== "complete") partial = true;
|
|
827
|
+
companies.push({
|
|
828
|
+
company: s.company,
|
|
829
|
+
status: s.status,
|
|
830
|
+
filesDownloaded: s.filesDownloaded,
|
|
831
|
+
bytesDownloaded: s.bytesDownloaded,
|
|
832
|
+
filesUploaded: s.filesUploaded,
|
|
833
|
+
bytesUploaded: s.bytesUploaded,
|
|
834
|
+
});
|
|
835
|
+
}
|
|
836
|
+
|
|
682
837
|
emit({
|
|
683
838
|
type: "all-complete",
|
|
684
839
|
companiesAttempted: plan.length,
|
|
@@ -688,8 +843,15 @@ export async function runRunner(
|
|
|
688
843
|
bytesUploaded: totalUploadedBytes,
|
|
689
844
|
conflictPaths: allConflicts,
|
|
690
845
|
errors,
|
|
846
|
+
partial,
|
|
847
|
+
companies,
|
|
691
848
|
});
|
|
692
|
-
|
|
849
|
+
// Exit 2 only when something actually threw (`errors.length > 0`). A clean
|
|
850
|
+
// conflict-abort sets `partial: true` in the JSON but exits 0 — the Tauri
|
|
851
|
+
// menubar's non-zero-exit Sentry capture would otherwise fire for normal
|
|
852
|
+
// user-policy outcomes. Consumers that want to flag any non-clean outcome
|
|
853
|
+
// (clean-abort + thrown-error) read `partial` from the JSON.
|
|
854
|
+
return errors.length > 0 ? 2 : 0;
|
|
693
855
|
}
|
|
694
856
|
|
|
695
857
|
// ---------------------------------------------------------------------------
|