@indigoai-us/hq-cloud 6.15.42 → 6.15.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/bin/sync-runner-company.d.ts +3 -0
  2. package/dist/bin/sync-runner-company.d.ts.map +1 -1
  3. package/dist/bin/sync-runner-company.js +50 -14
  4. package/dist/bin/sync-runner-company.js.map +1 -1
  5. package/dist/bin/sync-runner-company.test.js +135 -0
  6. package/dist/bin/sync-runner-company.test.js.map +1 -1
  7. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
  8. package/dist/bin/sync-runner-watch-loop.js +33 -1
  9. package/dist/bin/sync-runner-watch-loop.js.map +1 -1
  10. package/dist/bin/sync-runner.d.ts +5 -5
  11. package/dist/bin/sync-runner.d.ts.map +1 -1
  12. package/dist/bin/sync-runner.js +3 -0
  13. package/dist/bin/sync-runner.js.map +1 -1
  14. package/dist/bin/sync-runner.test.js +96 -2
  15. package/dist/bin/sync-runner.test.js.map +1 -1
  16. package/dist/cli/share.d.ts +5 -17
  17. package/dist/cli/share.d.ts.map +1 -1
  18. package/dist/cli/share.js +16 -77
  19. package/dist/cli/share.js.map +1 -1
  20. package/dist/cli/share.test.js +48 -99
  21. package/dist/cli/share.test.js.map +1 -1
  22. package/dist/cli/sync.d.ts +16 -18
  23. package/dist/cli/sync.d.ts.map +1 -1
  24. package/dist/cli/sync.js +16 -72
  25. package/dist/cli/sync.js.map +1 -1
  26. package/dist/cli/sync.test.js +40 -59
  27. package/dist/cli/sync.test.js.map +1 -1
  28. package/dist/cli/tombstones.d.ts +23 -8
  29. package/dist/cli/tombstones.d.ts.map +1 -1
  30. package/dist/cli/tombstones.js +63 -33
  31. package/dist/cli/tombstones.js.map +1 -1
  32. package/dist/cli/tombstones.test.d.ts +2 -0
  33. package/dist/cli/tombstones.test.d.ts.map +1 -0
  34. package/dist/cli/tombstones.test.js +27 -0
  35. package/dist/cli/tombstones.test.js.map +1 -0
  36. package/dist/cli/watch-event-push-conflict.test.js +7 -0
  37. package/dist/cli/watch-event-push-conflict.test.js.map +1 -1
  38. package/dist/local-path-codec.test.js +20 -0
  39. package/dist/local-path-codec.test.js.map +1 -1
  40. package/dist/s3.d.ts +1 -1
  41. package/dist/s3.d.ts.map +1 -1
  42. package/dist/s3.js +7 -23
  43. package/dist/s3.js.map +1 -1
  44. package/dist/s3.test.js +13 -20
  45. package/dist/s3.test.js.map +1 -1
  46. package/dist/sync-core.d.ts +16 -0
  47. package/dist/sync-core.d.ts.map +1 -1
  48. package/dist/sync-core.js +38 -0
  49. package/dist/sync-core.js.map +1 -1
  50. package/dist/sync-progress.d.ts +18 -1
  51. package/dist/sync-progress.d.ts.map +1 -1
  52. package/dist/sync-progress.js +113 -7
  53. package/dist/sync-progress.js.map +1 -1
  54. package/dist/sync-progress.test.js +32 -2
  55. package/dist/sync-progress.test.js.map +1 -1
  56. package/dist/watcher.d.ts +37 -8
  57. package/dist/watcher.d.ts.map +1 -1
  58. package/dist/watcher.js +137 -23
  59. package/dist/watcher.js.map +1 -1
  60. package/dist/watcher.test.js +116 -9
  61. package/dist/watcher.test.js.map +1 -1
  62. package/package.json +1 -1
@@ -3,6 +3,7 @@ import type { ShareOptions, ShareResult } from "../cli/share.js";
3
3
  import type { ConflictStrategy } from "../cli/conflict.js";
4
4
  import type { UploadAuthor } from "../s3.js";
5
5
  import type { VaultServiceConfig } from "../index.js";
6
+ import { fetchFileTombstones as defaultFetchFileTombstones } from "../cli/tombstones.js";
6
7
  import { type ScopeInventoryGate } from "../sync/scope-inventory-client.js";
7
8
  import { type CloudTelemetryClient, type TelemetryClaims } from "../telemetry-events.js";
8
9
  import type { DeletePropagationPolicy, Direction, RunnerEvent, VaultClientSurface } from "./sync-runner.js";
@@ -42,6 +43,8 @@ export declare function executeCompanyFanout(options: {
42
43
  onConflict: ConflictStrategy;
43
44
  client: VaultClientSurface;
44
45
  vaultConfig: VaultServiceConfig;
46
+ /** Test seam; production uses the fail-closed FILE_TOMBSTONE reader. */
47
+ fetchFileTombstones?: typeof defaultFetchFileTombstones;
45
48
  uploadAuthor?: UploadAuthor;
46
49
  operationLockAlreadyHeld?: boolean;
47
50
  syncFn: (options: SyncOptions) => Promise<SyncResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner-company.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-company.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-runner-company.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-company.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as fs from "fs";
2
2
  import * as path from "path";
3
3
  import { computePersonalVaultPaths, readCloudBackedSlugsFromManifest, } from "../personal-vault.js";
4
- import { fetchFileTombstones } from "../cli/tombstones.js";
4
+ import { fetchFileTombstones as defaultFetchFileTombstones } from "../cli/tombstones.js";
5
5
  import { resolvePullScope } from "../sync/pull-scope.js";
6
6
  import { allowsLegacyNetwork, } from "../sync/scope-inventory-client.js";
7
7
  import { emitCloudTelemetry, } from "../telemetry-events.js";
@@ -10,6 +10,9 @@ import { describeError } from "../lib/describe-error.js";
10
10
  import { isTransientNetworkError } from "../lib/net-errors.js";
11
11
  import { VaultAuthError } from "../vault-client.js";
12
12
  import { createCompanyState, } from "./sync-runner-rollup.js";
13
+ import { getBandwidthGovernor } from "../bandwidth.js";
14
+ import { TransferSemaphore } from "../sync-core.js";
15
+ import { createFanoutProgressRecorder } from "../sync-progress.js";
13
16
  export async function executeCompanyFanout(options) {
14
17
  const ensureCompanyDir = options.ensureCompanyDir ??
15
18
  ((dir) => {
@@ -24,8 +27,19 @@ export async function executeCompanyFanout(options) {
24
27
  const stateByCompany = new Map();
25
28
  let meaningfulOutcomeCount = 0;
26
29
  const pushPathResults = [];
27
- for (const target of options.plan) {
30
+ // Each engine retains its adaptive local executor, but this one semaphore is
31
+ // shared by every engine in the concurrent fanout. Thus the bandwidth
32
+ // governor's explicit maxConcurrency remains a hard run-wide ceiling.
33
+ const maxTransferConcurrency = getBandwidthGovernor().policy.maxConcurrency;
34
+ const transferSemaphore = maxTransferConcurrency === undefined
35
+ ? undefined
36
+ : new TransferSemaphore(maxTransferConcurrency);
37
+ // The normal direct CLI path still has one recorder per serialized engine.
38
+ // Concurrent fanout instead has exactly one aggregate writer.
39
+ const fanoutProgress = options.plan.length > 1 ? createFanoutProgressRecorder() : undefined;
40
+ const runTarget = async (target) => {
28
41
  const companyLabel = target.slug;
42
+ fanoutProgress?.startTarget(target.uid, target.personalMode === true ? null : companyLabel, doPush && !doPull ? "push" : "pull");
29
43
  const state = createCompanyState(companyLabel);
30
44
  stateByCompany.set(companyLabel, state);
31
45
  let activePhase = doPush && !doPull ? "push" : "pull";
@@ -42,7 +56,8 @@ export async function executeCompanyFanout(options) {
42
56
  path: "(scope)",
43
57
  message,
44
58
  });
45
- continue;
59
+ fanoutProgress?.finishTarget(target.uid);
60
+ return;
46
61
  }
47
62
  }
48
63
  const tagAndEmit = (event) => {
@@ -151,15 +166,6 @@ export async function executeCompanyFanout(options) {
151
166
  ...(event.errorCode ? { errorCode: event.errorCode } : {}),
152
167
  });
153
168
  }
154
- else if (event.type === "skip-invalid-scoped-key-summary") {
155
- options.emit({
156
- type: "skip-invalid-scoped-key-summary",
157
- company: companyLabel,
158
- count: event.count,
159
- samplePaths: event.samplePaths,
160
- errorCode: event.errorCode,
161
- });
162
- }
163
169
  else if (event.type === "skip-junk-key-spelling") {
164
170
  options.emit({
165
171
  type: "skip-junk-key-spelling",
@@ -275,7 +281,7 @@ export async function executeCompanyFanout(options) {
275
281
  // otherwise a delete arriving between two independent reads can be
276
282
  // suppressed by one direction and resurrected by the other.
277
283
  const combinedFileTombstones = doPush && doPull
278
- ? await fetchFileTombstones(options.vaultConfig, target.personalMode === true
284
+ ? await (options.fetchFileTombstones ?? defaultFetchFileTombstones)(options.vaultConfig, target.personalMode === true
279
285
  ? { personal: true }
280
286
  : { companyUid: target.uid })
281
287
  : undefined;
@@ -311,6 +317,12 @@ export async function executeCompanyFanout(options) {
311
317
  // pass; direct/user-named share() calls retain the default error.
312
318
  serverOwnedPathPolicy: "skip",
313
319
  onEvent: tagAndEmit,
320
+ ...(transferSemaphore ? { transferSemaphore } : {}),
321
+ ...(fanoutProgress
322
+ ? {
323
+ progressRecorder: (event) => fanoutProgress.record(target.uid, activePhase, event),
324
+ }
325
+ : {}),
314
326
  ...(options.onHeartbeat ? { onHeartbeat: options.onHeartbeat } : {}),
315
327
  ...(options.uploadAuthor ? { author: options.uploadAuthor } : {}),
316
328
  ...(target.personalMode !== undefined
@@ -394,6 +406,12 @@ export async function executeCompanyFanout(options) {
394
406
  : {}),
395
407
  skipReindex: true,
396
408
  onEvent: tagAndEmit,
409
+ ...(transferSemaphore ? { transferSemaphore } : {}),
410
+ ...(fanoutProgress
411
+ ? {
412
+ progressRecorder: (event) => fanoutProgress.record(target.uid, activePhase, event),
413
+ }
414
+ : {}),
397
415
  ...(options.onHeartbeat ? { onHeartbeat: options.onHeartbeat } : {}),
398
416
  });
399
417
  }
@@ -609,7 +627,25 @@ export async function executeCompanyFanout(options) {
609
627
  },
610
628
  }, { claims: options.telemetryClaims });
611
629
  }
612
- }
630
+ finally {
631
+ fanoutProgress?.finishTarget(target.uid);
632
+ }
633
+ };
634
+ // Every target owns a distinct vault namespace and journal shard. Keeping
635
+ // the fanout serial therefore turns a large personal-vault walk into a
636
+ // head-of-line blocker for every other independent scope — and, conversely,
637
+ // leaves a personal event queued behind all company legs. Journal repair has
638
+ // already completed for every target before this function is called; only
639
+ // the independent transfer legs run together here.
640
+ // Do not let a terminal failure escape while another started leg is still
641
+ // mutating its vault. In particular, the runner's VaultAuthError boundary
642
+ // clears credentials after this function rejects; draining first prevents a
643
+ // concurrent leg from outliving that boundary.
644
+ const outcomes = await Promise.allSettled(options.plan.map((target) => runTarget(target)));
645
+ fanoutProgress?.dispose();
646
+ const rejected = outcomes.find((outcome) => outcome.status === "rejected");
647
+ if (rejected)
648
+ throw rejected.reason;
613
649
  return {
614
650
  stateByCompany,
615
651
  errors,
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner-company.js","sourceRoot":"","sources":["../../src/bin/sync-runner-company.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-runner-company.js","sourceRoot":"","sources":["../../src/bin/sync-runner-company.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,mBAAmB,IAAI,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EACL,mBAAmB,GAEpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQpD,OAAO,EACL,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAqBnE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAqC1C;IACC,MAAM,gBAAgB,GACpB,OAAO,CAAC,gBAAgB;QACxB,CAAC,CAAC,GAAW,EAAE,EAAE;YACf,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,MAAM,MAAM,GACV,OAAO,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,CAAC;IAC/D,MAAM,MAAM,GACV,OAAO,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,CAAC;IAC/D,MAAM,MAAM,GAAgD,EAAE,CAAC;IAC/D,MAAM,eAAe,GAAgD,EAAE,CAAC;IACxE,MAAM,kBAAkB,GAAgD,EAAE,CAAC;IAC3E,MAAM,YAAY,GAIb,EAAE,CAAC;IACR,MAAM,cAAc,GAAG,IAAI,GAAG,EAAwB,CAAC;IACvD,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,MAAM,eAAe,GAA2C,EAAE,CAAC;IACnE,6EAA6E;IAC7E,sEAAsE;IACtE,sEAAsE;IACtE,MAAM,sBAAsB,GAAG,oBAAoB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;IAC5E,MAAM,iBAAiB,GACrB,sBAAsB,KAAK,SAAS;QAClC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;IACpD,2EAA2E;IAC3E,8DAA8D;IAC9D,MAAM,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,MAAM,SAAS,GAAG,KAAK,EAAE,MAAoB,EAAiB,EAAE;QAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;QACjC,cAAc,EAAE,WAAW,CACzB,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAClD,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CACpC,CAAC;QACF,MAAM,KAAK,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC/C,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAExC,IAAI,WAAW,GAAoB,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACvE,IAAI,uBAAuB,GAAG,KAAK,CAAC;QACpC,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,mBAAmB,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,MAAM,qCAAqC,CAAC;gBAC3G,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChD,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,SAAS;oBACf,OAAO;iBACR,CAAC,CAAC;gBACH,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,KAAwB,EAAQ,EAAE;YACpD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,YAAY;oBACrB,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,aAAa,EAAE,KAAK,CAAC,aAAa;iBACnC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;oBAC3B,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;oBACzB,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;oBAC3B,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC;gBACvC,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,SAAS,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;oBACjD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACrD,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC7B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClC,uBAAuB,GAAG,IAAI,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,YAAY;oBACrB,OAAO,EAAE,KAAK,CAAC,IAAI;wBACjB,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE;wBACnC,CAAC,CAAC,KAAK,CAAC,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,YAAY;oBACrB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,YAAY;oBACrB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,sCAAsC,EAAE,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,sCAAsC;oBAC5C,OAAO,EAAE,YAAY;oBACrB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC3B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,YAAY;oBACrB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,YAAY;oBACrB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,yBAAyB;oBAC/B,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3D,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,YAAY,EAAE,KAAK,CAAC,YAAY;iBACjC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,mCAAmC,EAAE,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,mCAAmC;oBACzC,OAAO,EAAE,YAAY;oBACrB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;gBACnD,sEAAsE;gBACtE,gEAAgE;gBAChE,uEAAuE;gBACvE,sEAAsE;gBACtE,uEAAuE;gBACvE,yDAAyD;gBACzD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,UAAU,GAAgB;gBAC5B,aAAa,EAAE,CAAC;gBAChB,aAAa,EAAE,CAAC;gBAChB,YAAY,EAAE,CAAC;gBACf,YAAY,EAAE,CAAC;gBACf,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;gBACpB,sBAAsB,EAAE,EAAE;gBAC1B,0BAA0B,EAAE,CAAC;gBAC7B,qBAAqB,EAAE,CAAC;gBACxB,oBAAoB,EAAE,CAAC;gBACvB,qBAAqB,EAAE,CAAC;gBACxB,gBAAgB,EAAE,EAAE;gBACpB,wBAAwB,EAAE,EAAE;gBAC5B,aAAa,EAAE,EAAE;gBACjB,OAAO,EAAE,KAAK;aACf,CAAC;YACF,IAAI,UAAU,GAAe;gBAC3B,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,aAAa,EAAE,EAAE;gBACjB,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,EAAE;gBACZ,aAAa,EAAE,CAAC;gBAChB,qBAAqB,EAAE,CAAC;gBACxB,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,CAAC;gBAClB,mBAAmB,EAAE,CAAC;gBACtB,mBAAmB,EAAE,CAAC;gBACtB,YAAY,EAAE,EAAE;aACjB,CAAC;YAEF,iEAAiE;YACjE,gCAAgC;YAChC,oEAAoE;YACpE,+DAA+D;YAC/D,oEAAoE;YACpE,mEAAmE;YACnE,mEAAmE;YACnE,mEAAmE;YACnE,uEAAuE;YACvE,8DAA8D;YAC9D,mEAAmE;YACnE,+DAA+D;YAC/D,0BAA0B;YAC1B,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,OAAO,CAAC,IAAI;iBACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC;iBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACtB,CAAC;YACF,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBACjC,KAAK,MAAM,IAAI,IAAI,gCAAgC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GACT,MAAM,CAAC,YAAY,KAAK,IAAI;gBAC1B,CAAC,CAAC,sEAAsE;oBACtE,sEAAsE;oBACtE,wEAAwE;oBACxE,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE;gBAC1C,CAAC,CAAC,MAAM,gBAAgB,CACpB,OAAO,CAAC,MAAM,EACd,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,IAAI,EACX,OAAO,CAAC,MAAM,CACf,CAAC;YAER,qEAAqE;YACrE,wEAAwE;YACxE,mEAAmE;YACnE,4DAA4D;YAC5D,MAAM,sBAAsB,GAC1B,MAAM,IAAI,MAAM;gBACd,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,0BAA0B,CAAC,CAC/D,OAAO,CAAC,WAAW,EACnB,MAAM,CAAC,YAAY,KAAK,IAAI;oBAC1B,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACpB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,CAC/B;gBACH,CAAC,CAAC,SAAS,CAAC;YAEhB,IAAI,MAAM,EAAE,CAAC;gBACX,WAAW,GAAG,MAAM,CAAC;gBACrB,MAAM,aAAa,GAAG,sBAAsB,CAC1C,KAAK,CAAC,SAAS,EACf,OAAO,CAAC,UAAU,IAAI,EAAE,CACzB,CAAC;gBACF,MAAM,SAAS,GACb,MAAM,CAAC,YAAY,KAAK,IAAI;oBAC1B,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,CAAC;oBAChE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5D,MAAM,oBAAoB,GACxB,MAAM,CAAC,YAAY,KAAK,IAAI;oBAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC;oBAChE,CAAC,CAAC,SAAS,CAAC;gBAChB,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;oBACjC,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,MAAM,CAAC,GAAG;oBACnB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,aAAa,EAAE,IAAI;oBACnB,gBAAgB,EAAE,IAAI;oBACtB,qBAAqB,EAAE,OAAO,CAAC,mBAAmB,EAAE;oBACpD,gEAAgE;oBAChE,kEAAkE;oBAClE,mEAAmE;oBACnE,qEAAqE;oBACrE,oEAAoE;oBACpE,gEAAgE;oBAChE,gEAAgE;oBAChE,mEAAmE;oBACnE,qBAAqB,EAAE,MAAM;oBAC7B,kEAAkE;oBAClE,kEAAkE;oBAClE,kEAAkE;oBAClE,qBAAqB,EAAE,MAAM;oBAC7B,OAAO,EAAE,UAAU;oBACnB,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,GAAG,CAAC,cAAc;wBAChB,CAAC,CAAC;4BACE,gBAAgB,EAAE,CAAC,KAAwB,EAAE,EAAE,CAC7C,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC;yBACxD;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjE,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;wBACnC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;wBACvC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;wBAClC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;wBACrC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC;wBACzD,CAAC,CAAC,EAAE,oBAAoB,EAAE;wBAC1B,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,aAAa,KAAK,SAAS;wBAC7B,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE;wBAC9B,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM;wBAClC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;wBAChD,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,sBAAsB;wBACxB,CAAC,CAAC,EAAE,cAAc,EAAE,sBAAsB,EAAE;wBAC5C,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;gBACH,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;oBAClD,eAAe,CAAC,IAAI,CAAC;wBACnB,YAAY,EACV,MAAM,CAAC,YAAY,KAAK,IAAI;4BAC1B,CAAC,CAAC,MAAM,CAAC,IAAI;4BACb,CAAC,CAAC,aAAa,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;wBAC/C,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAClC,WAAW,GAAG,MAAM,CAAC;gBACrB,MAAM,SAAS,GAAc,KAAK,CAAC;gBACnC,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;oBAChC,OAAO,EAAE,MAAM,CAAC,GAAG;oBACnB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,iBAAiB,EAAE,cAAc;oBACjC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,KAAK,SAAS;wBAC7C,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE;wBAC7C,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChF,GAAG,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS;wBACnC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE;wBACpC,CAAC,CAAC,EAAE,CAAC;oBACP,uEAAuE;oBACvE,qEAAqE;oBACrE,gEAAgE;oBAChE,iEAAiE;oBACjE,oEAAoE;oBACpE,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;wBACtC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE;wBAChD,CAAC,CAAC,EAAE,CAAC;oBACP,mEAAmE;oBACnE,oEAAoE;oBACpE,2DAA2D;oBAC3D,oEAAoE;oBACpE,mEAAmE;oBACnE,kEAAkE;oBAClE,gEAAgE;oBAChE,oDAAoD;oBACpD,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM;wBAC5B,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE;wBACtC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;wBACnC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;wBACvC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;wBAClC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;wBACrC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,GAAG,CAAC,OAAO,CAAC,wBAAwB;wBAClC,CAAC,CAAC,EAAE,wBAAwB,EAAE,IAAI,EAAE;wBACpC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,sBAAsB;wBACxB,CAAC,CAAC,EAAE,cAAc,EAAE,sBAAsB,EAAE;wBAC5C,CAAC,CAAC,EAAE,CAAC;oBACP,WAAW,EAAE,IAAI;oBACjB,OAAO,EAAE,UAAU;oBACnB,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,GAAG,CAAC,cAAc;wBAChB,CAAC,CAAC;4BACE,gBAAgB,EAAE,CAAC,KAAwB,EAAE,EAAE,CAC7C,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC;yBACxD;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACrE,CAAC,CAAC;YACL,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC5C,MAAM,mBAAmB,GAAa,EAAE,CAAC;YACzC,KAAK,MAAM,CAAC,IAAI;gBACd,GAAG,UAAU,CAAC,aAAa;gBAC3B,GAAG,UAAU,CAAC,aAAa;aAC5B,EAAE,CAAC;gBACF,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACvC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzB,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;YAEzD,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;YACnD,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;YACnD,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;YACnD,KAAK,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;YAC3D,KAAK,CAAC,YAAY,GAAG,yBAAyB,CAC5C,MAAM,EACN,UAAU,CAAC,YAAY,CACxB,CAAC;YACF,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;YAC/C,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;YAC/C,KAAK,CAAC,MAAM,GAAG,uBAAuB;gBACpC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,UAAU,CAAC;YAEjB,uEAAuE;YACvE,wEAAwE;YACxE,qEAAqE;YACrE,0EAA0E;YAC1E,sEAAsE;YACtE,mEAAmE;YACnE,0EAA0E;YAC1E,uEAAuE;YACvE,0EAA0E;YAC1E,uEAAuE;YACvE,6CAA6C;YAC7C,IACE,MAAM;gBACN,MAAM,CAAC,YAAY,KAAK,IAAI;gBAC5B,KAAK,CAAC,MAAM,KAAK,UAAU,EAC3B,CAAC;gBACD,IAAI,CAAC;oBACH,gBAAgB,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CACpD,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,qEAAqE;oBACrE,kEAAkE;oBAClE,kDAAkD;oBAClD,OAAO,CAAC,IAAI,CACV,mEAAmE,EACnE;wBACE,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACtD,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,YAAY;gBACrB,eAAe,EAAE,UAAU,CAAC,eAAe;gBAC3C,eAAe,EAAE,UAAU,CAAC,eAAe;gBAC3C,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,YAAY,EAAE,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY;gBAC/D,eAAe,EACb,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe;gBACzD,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;gBAC/C,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;gBACzD,qBAAqB,EACnB,UAAU,CAAC,qBAAqB;oBAChC,UAAU,CAAC,qBAAqB;gBAClC,SAAS,EAAE,mBAAmB,CAAC,MAAM;gBACrC,aAAa,EAAE,mBAAmB;gBAClC,OAAO;gBACP,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,eAAe,EAAE,UAAU,CAAC,eAAe;gBAC3C,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;gBACnD,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;aACpD,CAAC,CAAC;YACH,MAAM,eAAe,GACnB,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;YAC1D,MAAM,oBAAoB,GACxB,KAAK,CAAC,MAAM,KAAK,UAAU;gBAC3B,UAAU,CAAC,eAAe,GAAG,CAAC;gBAC9B,UAAU,CAAC,aAAa,GAAG,CAAC;gBAC5B,UAAU,CAAC,YAAY,GAAG,CAAC;gBAC3B,eAAe,GAAG,CAAC;gBACnB,UAAU,CAAC,mBAAmB,GAAG,CAAC;gBAClC,mBAAmB,CAAC,MAAM,GAAG,CAAC;gBAC9B,UAAU,CAAC,iBAAiB,GAAG,CAAC;gBAChC,UAAU,CAAC,mBAAmB,GAAG,CAAC,CAAC;YACrC,IAAI,oBAAoB,EAAE,CAAC;gBACzB,sBAAsB,IAAI,CAAC,CAAC;gBAC5B,KAAK,kBAAkB,CACrB,OAAO,CAAC,eAAe,EACvB;oBACE,SAAS,EAAE,4BAA4B;oBACvC,MAAM,EAAE,aAAa;oBACrB,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,GAAG,CAAC,OAAO,CAAC,kBAAkB;wBAC5B,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,kBAAkB,EAAE;wBAC3C,CAAC,CAAC,EAAE,CAAC;oBACP,UAAU,EAAE;wBACV,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,eAAe,EAAE,UAAU,CAAC,eAAe;wBAC3C,eAAe,EAAE,UAAU,CAAC,eAAe;wBAC3C,aAAa,EAAE,UAAU,CAAC,aAAa;wBACvC,aAAa,EAAE,UAAU,CAAC,aAAa;wBACvC,YAAY,EAAE,UAAU,CAAC,YAAY;wBACrC,eAAe;wBACf,wBAAwB,EAAE,UAAU,CAAC,mBAAmB;wBACxD,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;wBAC/C,wBAAwB,EAAE,UAAU,CAAC,mBAAmB;wBACxD,aAAa,EAAE,mBAAmB,CAAC,MAAM;wBACzC,aAAa,EAAE,UAAU,CAAC,aAAa;qBACxC;iBACF,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE,CACpC,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBACzC,YAAY,CAAC,IAAI,CAAC;oBAChB,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,CAAC;oBACP,SAAS,EAAE,MAAM;iBAClB,CAAC,CAAC;YACL,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBACzC,YAAY,CAAC,IAAI,CAAC;oBAChB,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,CAAC;oBACP,SAAS,EAAE,MAAM;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,GAAG,YAAY,cAAc;gBAAE,MAAM,GAAG,CAAC;YAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;YACtD,wEAAwE;YACxE,yEAAyE;YACzE,iCAAiC;YACjC,MAAM,aAAa,GAAG,gBAAgB,IAAI,CAAC,uBAAuB,CAAC;YACnE,IAAI,gBAAgB,EAAE,CAAC;gBACrB,kBAAkB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC5D,IAAI,aAAa;oBAAE,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChD,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,sBAAsB,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,YAAY;gBACrB,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,YAAY,EAAE,CAAC;gBACf,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;gBACpB,sBAAsB,EAAE,EAAE;gBAC1B,qBAAqB,EAAE,CAAC;gBACxB,SAAS,EAAE,CAAC;gBACZ,aAAa,EAAE,EAAE;gBACjB,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,EAAE;gBACZ,aAAa,EAAE,CAAC;gBAChB,eAAe,EAAE,CAAC;gBAClB,mBAAmB,EAAE,CAAC;gBACtB,mBAAmB,EAAE,CAAC;gBACtB,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC;YACH,IAAI,gBAAgB,EAAE,CAAC;gBACrB,sEAAsE;gBACtE,kEAAkE;gBAClE,uEAAuE;gBACvE,gEAAgE;gBAChE,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,WAAW;oBACjB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,WAAW;oBACjB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YACD,KAAK,kBAAkB,CACrB,OAAO,CAAC,eAAe,EACvB;gBACE,SAAS,EAAE,4BAA4B;gBACvC,MAAM,EAAE,aAAa;gBACrB,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,OAAO,CAAC,kBAAkB;oBAC5B,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,kBAAkB,EAAE;oBAC3C,CAAC,CAAC,EAAE,CAAC;gBACP,UAAU,EAAE;oBACV,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;oBACvD,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,YAAY,EAAE,CAAC;oBACf,eAAe,EAAE,CAAC;oBAClB,wBAAwB,EAAE,CAAC;oBAC3B,iBAAiB,EAAE,CAAC;oBACpB,wBAAwB,EAAE,CAAC;oBAC3B,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,CAAC;iBACjB;aACF,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE,CACpC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC;IAEF,0EAA0E;IAC1E,uEAAuE;IACvE,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,mDAAmD;IACnD,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAChD,CAAC;IACF,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAC5B,CAAC,OAAO,EAAoC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAC7E,CAAC;IACF,IAAI,QAAQ;QAAE,MAAM,QAAQ,CAAC,MAAM,CAAC;IAEpC,OAAO;QACL,cAAc;QACd,MAAM;QACN,eAAe;QACf,kBAAkB;QAClB,sBAAsB;QACtB,YAAY;QACZ,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,YAAqD,EACrD,UAA6B;IAE7B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,YAAY,KAAK,SAAS;YAC/B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1C,iBAAiB,CAAC,CAAC,CAAC;QACpB,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;KACjD,CAAC,CAAC;IACH,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAoB,EACpB,YAAkC;IAElC,MAAM,KAAK,GAAG,YAAY,IAAI,EAAE,CAAC;IACjC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;QACpD,OAAO,aAAa,MAAM,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -3,6 +3,7 @@ import * as fs from "fs";
3
3
  import * as os from "os";
4
4
  import * as path from "path";
5
5
  import { executeCompanyFanout } from "./sync-runner-company.js";
6
+ import { setBandwidthGovernorForTesting } from "../bandwidth.js";
6
7
  describe("executeCompanyFanout realtime inventory gate", () => {
7
8
  it("stops before any legacy push or pull when fresh inventory requires reset", async () => {
8
9
  const syncFn = vi.fn();
@@ -36,6 +37,140 @@ describe("executeCompanyFanout realtime inventory gate", () => {
36
37
  expect(emit).toHaveBeenCalledWith(expect.objectContaining({ type: "error", company: "personal", path: "(scope)" }));
37
38
  });
38
39
  });
40
+ describe("executeCompanyFanout scope fairness", () => {
41
+ it("starts a personal-vault push while a company-vault push is still in flight", async () => {
42
+ const hqRoot = fs.mkdtempSync(path.join(os.tmpdir(), "hq-fanout-fairness-"));
43
+ fs.mkdirSync(path.join(hqRoot, "personal"), { recursive: true });
44
+ fs.mkdirSync(path.join(hqRoot, "companies", "indigo"), { recursive: true });
45
+ fs.writeFileSync(path.join(hqRoot, "personal", "changed.md"), "personal");
46
+ fs.writeFileSync(path.join(hqRoot, "companies", "indigo", "changed.md"), "company");
47
+ let releaseCompanyPush;
48
+ const companyPush = new Promise((resolve) => {
49
+ releaseCompanyPush = resolve;
50
+ });
51
+ let personalPushStarted = false;
52
+ const shareResult = {
53
+ filesUploaded: 0,
54
+ bytesUploaded: 0,
55
+ filesSkipped: 0,
56
+ filesDeleted: 0,
57
+ filesTombstoned: 0,
58
+ filesRefusedStale: 0,
59
+ filesRefusedStalePaths: [],
60
+ filesSuppressedByTombstone: 0,
61
+ filesExcludedByPolicy: 0,
62
+ filesExcludedByScope: 0,
63
+ filesExcludedByIgnore: 0,
64
+ unreachablePaths: [],
65
+ linkedSubtreesNotShipped: [],
66
+ conflictPaths: [],
67
+ aborted: false,
68
+ };
69
+ const shareFn = vi.fn(async (opts) => {
70
+ if (opts.personalMode === true) {
71
+ personalPushStarted = true;
72
+ return shareResult;
73
+ }
74
+ await companyPush;
75
+ return shareResult;
76
+ });
77
+ try {
78
+ const running = executeCompanyFanout({
79
+ plan: [
80
+ { uid: "cmp_indigo", slug: "indigo" },
81
+ {
82
+ uid: "prs_me",
83
+ slug: "personal",
84
+ personalMode: true,
85
+ journalSlug: "__hq_personal_vault__",
86
+ },
87
+ ],
88
+ direction: "push",
89
+ hqRoot,
90
+ onConflict: "abort",
91
+ client: {},
92
+ vaultConfig: { apiUrl: "https://api.example", authToken: "access-token" },
93
+ syncFn: vi.fn(),
94
+ shareFn,
95
+ resolveDeletePolicy: () => "all",
96
+ emit: vi.fn(),
97
+ ensureCompanyDir: vi.fn(),
98
+ telemetryClient: null,
99
+ });
100
+ await Promise.resolve();
101
+ await Promise.resolve();
102
+ expect(personalPushStarted).toBe(true);
103
+ releaseCompanyPush?.();
104
+ await running;
105
+ }
106
+ finally {
107
+ releaseCompanyPush?.();
108
+ fs.rmSync(hqRoot, { recursive: true, force: true });
109
+ }
110
+ });
111
+ });
112
+ describe("executeCompanyFanout transfer ceiling", () => {
113
+ it("keeps concurrent targets at HQ_SYNC_MAX_CONCURRENCY transfers in total", async () => {
114
+ const oldCap = process.env.HQ_SYNC_MAX_CONCURRENCY;
115
+ process.env.HQ_SYNC_MAX_CONCURRENCY = "2";
116
+ setBandwidthGovernorForTesting(null);
117
+ let inFlight = 0;
118
+ let observedMaximum = 0;
119
+ let releaseTransfers;
120
+ const transfersMayFinish = new Promise((resolve) => {
121
+ releaseTransfers = resolve;
122
+ });
123
+ const shareResult = {
124
+ filesUploaded: 0, bytesUploaded: 0, filesSkipped: 0, filesDeleted: 0,
125
+ filesTombstoned: 0, filesRefusedStale: 0, filesRefusedStalePaths: [],
126
+ filesSuppressedByTombstone: 0, filesExcludedByPolicy: 0,
127
+ filesExcludedByScope: 0, filesExcludedByIgnore: 0, unreachablePaths: [],
128
+ linkedSubtreesNotShipped: [], conflictPaths: [], aborted: false,
129
+ };
130
+ const shareFn = vi.fn(async (options) => {
131
+ expect(options.transferSemaphore).toBeDefined();
132
+ await Promise.all(Array.from({ length: 3 }, () => options.transferSemaphore.withPermit(async () => {
133
+ inFlight += 1;
134
+ observedMaximum = Math.max(observedMaximum, inFlight);
135
+ await transfersMayFinish;
136
+ inFlight -= 1;
137
+ })));
138
+ return shareResult;
139
+ });
140
+ try {
141
+ const running = executeCompanyFanout({
142
+ plan: [
143
+ { uid: "cmp_acme", slug: "acme" },
144
+ { uid: "cmp_beta", slug: "beta" },
145
+ ],
146
+ direction: "push",
147
+ hqRoot: "/tmp/global-transfer-cap",
148
+ onConflict: "abort",
149
+ client: {},
150
+ vaultConfig: { apiUrl: "https://api.example", authToken: "access-token" },
151
+ syncFn: vi.fn(),
152
+ shareFn,
153
+ resolveDeletePolicy: () => "all",
154
+ emit: vi.fn(),
155
+ ensureCompanyDir: vi.fn(),
156
+ });
157
+ await Promise.resolve();
158
+ await Promise.resolve();
159
+ expect(observedMaximum).toBe(2);
160
+ releaseTransfers?.();
161
+ await running;
162
+ expect(observedMaximum).toBeLessThanOrEqual(2);
163
+ }
164
+ finally {
165
+ releaseTransfers?.();
166
+ if (oldCap === undefined)
167
+ delete process.env.HQ_SYNC_MAX_CONCURRENCY;
168
+ else
169
+ process.env.HQ_SYNC_MAX_CONCURRENCY = oldCap;
170
+ setBandwidthGovernorForTesting(null);
171
+ }
172
+ });
173
+ });
39
174
  describe("executeCompanyFanout tombstone snapshot", () => {
40
175
  it("shares one personal deletion set between push and pull in a combined pass", async () => {
41
176
  const hqRoot = fs.mkdtempSync(path.join(os.tmpdir(), "hq-fanout-tombstones-"));
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner-company.test.js","sourceRoot":"","sources":["../../src/bin/sync-runner-company.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-runner-company.test.js","sourceRoot":"","sources":["../../src/bin/sync-runner-company.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner-watch-loop.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"AA0BA,OAAO,EAIL,WAAW,EAEZ,MAAM,eAAe,CAAC;AAWvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAY9D,OAAO,KAAK,EACV,SAAS,EAET,cAAc,EACd,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAI1B;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AAEjE,wBAAgB,sBAAsB,CACpC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,CAMR;AAgBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAA+B,EACxC,MAAM,GAAE,MAA8B,GACrC,MAAM,CAKR;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAUxC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC,EAAE,CACnC,QAAQ,EAAE,MAAM,EAAE,KACf,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC;IAC7E,qBAAqB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,GAAG,WAAW,GAC3B,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CASvC;AAWD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oCAAoC,CAClD,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAIT;AAuBD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CA+0CjB"}
1
+ {"version":3,"file":"sync-runner-watch-loop.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"AA0BA,OAAO,EAIL,WAAW,EAEZ,MAAM,eAAe,CAAC;AAWvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAY9D,OAAO,KAAK,EACV,SAAS,EAET,cAAc,EACd,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAI1B;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AAEjE,wBAAgB,sBAAsB,CACpC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,CAMR;AAgBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAA+B,EACxC,MAAM,GAAE,MAA8B,GACrC,MAAM,CAKR;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAUxC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC,EAAE,CACnC,QAAQ,EAAE,MAAM,EAAE,KACf,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC;IAC7E,qBAAqB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,GAAG,WAAW,GAC3B,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CASvC;AAWD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oCAAoC,CAClD,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAIT;AAuBD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CA+2CjB"}
@@ -343,6 +343,7 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
343
343
  bytesProcessed: 0,
344
344
  totalBytes: 0,
345
345
  }) + "\n");
346
+ reportWatcherLiveness();
346
347
  }, idleHeartbeatIntervalMs);
347
348
  heartbeatTimer.unref?.();
348
349
  try {
@@ -421,6 +422,32 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
421
422
  watcherUnavailableWarned = true;
422
423
  process.stderr.write(`hq-sync-runner: WARN event-push watcher unavailable; continuing poll-only: ${reason}\n`);
423
424
  };
425
+ /**
426
+ * Startup logging only proves that discovery completed once. Emit a bounded
427
+ * liveness heartbeat as well so an operator can distinguish a live watcher
428
+ * from a long-running poll-only process without inspecting /proc.
429
+ */
430
+ const reportWatcherLiveness = () => {
431
+ if (!eventPush || watcher === null || stopped)
432
+ return;
433
+ const active = watcher.isWatching?.();
434
+ const watchedPaths = watcher.watchedPathCount?.();
435
+ if (active === false) {
436
+ try {
437
+ watcher.dispose();
438
+ }
439
+ catch {
440
+ /* the WARN below is the actionable signal */
441
+ }
442
+ watcher = null;
443
+ warnWatcherUnavailable("liveness check reported inactive backend");
444
+ return;
445
+ }
446
+ process.stderr.write("hq-sync-runner: event-push watcher liveness " +
447
+ `(state=${active === undefined ? "unknown" : "active"}, ` +
448
+ `mode=${watcher.watchMode?.() ?? "unknown"}, ` +
449
+ `watched-paths=${watchedPaths ?? "unknown"})\n`);
450
+ };
424
451
  const pendingWatcherPaths = new Map();
425
452
  const pendingWatcherChanges = new Map();
426
453
  let pendingWatcherOriginalBatch = null;
@@ -983,7 +1010,12 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
983
1010
  personalMode: true,
984
1011
  includeCompanyPaths: companiesMode || companyMode,
985
1012
  onDegraded: (info) => {
986
- warnWatcherUnavailable(`${info.reason} (watched-paths=${info.watchedPaths}/${info.maxWatchedPaths})`);
1013
+ const action = info.action === "stopped"
1014
+ ? "stopped; continuing cadence-only"
1015
+ : "switching to polling fallback";
1016
+ process.stderr.write("hq-sync-runner: WARN event-push watcher degraded; " +
1017
+ `${action}: ${info.reason} ` +
1018
+ `(watched-paths=${info.watchedPaths}/${info.maxWatchedPaths})\n`);
987
1019
  },
988
1020
  captureLocalDeleteSnapshots,
989
1021
  });