@indigoai-us/hq-cloud 6.15.65 → 6.15.66

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.
@@ -1,4 +1,4 @@
1
- import { type TreeChange } from "../watcher.js";
1
+ import { type TreeChange, type TreeChangeBatch } from "../watcher.js";
2
2
  import { readJournal } from "../journal.js";
3
3
  import type { TelemetryClaims } from "../telemetry-events.js";
4
4
  import type { Direction, RunnerLoopDeps, RunnerPassOutcome } from "./sync-runner.js";
@@ -21,15 +21,37 @@ export declare const EVENT_BATCH_LIMIT_ENV = "HQ_SYNC_EVENT_BATCH_LIMIT";
21
21
  */
22
22
  export declare const FAST_LANE_MAX_FILES_ENV = "HQ_SYNC_FAST_LANE_MAX_FILES";
23
23
  export declare const FAST_LANE_MAX_BYTES_ENV = "HQ_SYNC_FAST_LANE_MAX_BYTES";
24
+ export declare const FAST_LANE_MAX_FILE_BYTES_ENV = "HQ_SYNC_FAST_LANE_MAX_FILE_BYTES";
24
25
  export declare const DEFAULT_FAST_LANE_MAX_FILES = 32;
25
26
  export declare const DEFAULT_FAST_LANE_MAX_BYTES: number;
27
+ /**
28
+ * A per-file ceiling keeps a single medium-sized transfer from consuming the
29
+ * realtime lane even when the batch aggregate is otherwise below its cap.
30
+ * 256 KiB comfortably covers ordinary notes and control-plane artifacts while
31
+ * leaving session logs and other transfer-heavy files in the slow lane.
32
+ */
33
+ export declare const DEFAULT_FAST_LANE_MAX_FILE_BYTES: number;
26
34
  export declare function resolveFastLaneLimits(): {
27
35
  maxFiles: number;
28
36
  maxBytes: number;
37
+ maxFileBytes: number;
38
+ };
39
+ /** One latest-per-path work item selected into the realtime or bulk lane. */
40
+ export interface LanePartition<T> {
41
+ fast: T[];
42
+ slow: T[];
43
+ }
44
+ /**
45
+ * Partition one selected watcher batch. The returned batches retain the same
46
+ * route/filter metadata, but no latest path can appear in both lane maps.
47
+ */
48
+ export declare function partitionLocalBatch(batch: TreeChangeBatch): {
49
+ fast: TreeChangeBatch | null;
50
+ slow: TreeChangeBatch | null;
29
51
  };
30
52
  /** A missing/stat-failed path is never allowed to bypass the slow lane. */
31
53
  export declare function isFastLocalBatch(paths: Iterable<string>, changes?: ReadonlyMap<string, Pick<TreeChange, "kind">>): boolean;
32
- /** Receiver events carry no content length, so only bounded event batches qualify. */
54
+ /** A receiver event needs a known small upsert size before it can go realtime. */
33
55
  export declare function isFastReceiverBatch(eventCount: number): boolean;
34
56
  export declare function resolveEventBatchLimit(env?: Record<string, string | undefined>): number;
35
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner-watch-loop.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-runner-watch-loop.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"AAkBA,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAOL,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;AAsD1B;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAChD,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AACrE,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AACrE,eAAO,MAAM,4BAA4B,qCAAqC,CAAC;AAC/E,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,2BAA2B,QAAkB,CAAC;AAC3D;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,QAAa,CAAC;AAO3D,wBAAgB,qBAAqB,IAAI;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CASA;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,IAAI,EAAE,CAAC,EAAE,CAAC;CACX;AAiDD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG;IAC3D,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;CAC9B,CAgBA;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,GACtD,OAAO,CAyBT;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,sBAAsB,CACpC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,CAMR;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,yBAAyB,EAAE,MAAM,GAAG,SAAqB,CAAC;AAEvE,wBAAgB,sBAAsB,CACpC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,GAAG,SAAS,CAOpB;AAiBD,iFAAiF;AACjF,eAAO,MAAM,4BAA4B,QAAa,CAAC;AACvD,kFAAkF;AAClF,eAAO,MAAM,gCAAgC,QAAc,CAAC;AAE5D;;;;;;;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,CAszDjB"}
@@ -12,7 +12,7 @@ import { PARTIAL_SYNC_EXIT } from "../lib/exit-codes.js";
12
12
  import { getOrCreateMachineId } from "../lib/machine-id.js";
13
13
  import { localPathForVaultKey } from "../local-path-codec.js";
14
14
  import { TreeWatcher, resolveEventDebounceConfig, systemClock, } from "../watcher.js";
15
- import { clearLocalDeleteIntent, markLocalDeleteIntent, PERSONAL_VAULT_JOURNAL_SLUG, openJournalStoreSession, listJournals, readJournal, writeJournal, } from "../journal.js";
15
+ import { clearLocalDeleteIntent, getStateDir, markLocalDeleteIntent, PERSONAL_VAULT_JOURNAL_SLUG, openJournalStoreSession, listJournals, readJournal, writeJournal, } from "../journal.js";
16
16
  import { NoopPushReceiver, } from "../sync/push-receiver.js";
17
17
  import { resolveEventSync, startEventSync as defaultStartEventSync, } from "../sync/event-sync.js";
18
18
  import { buildRoutePullArgv, buildScopedPushArgv, buildScopedDrainPullArgv, buildTargetedPullArgv, isWatchRouteSelected, routeChangeToTarget, routeKey, } from "./sync-runner-watch-routes.js";
@@ -52,8 +52,16 @@ export const EVENT_BATCH_LIMIT_ENV = "HQ_SYNC_EVENT_BATCH_LIMIT";
52
52
  */
53
53
  export const FAST_LANE_MAX_FILES_ENV = "HQ_SYNC_FAST_LANE_MAX_FILES";
54
54
  export const FAST_LANE_MAX_BYTES_ENV = "HQ_SYNC_FAST_LANE_MAX_BYTES";
55
+ export const FAST_LANE_MAX_FILE_BYTES_ENV = "HQ_SYNC_FAST_LANE_MAX_FILE_BYTES";
55
56
  export const DEFAULT_FAST_LANE_MAX_FILES = 32;
56
57
  export const DEFAULT_FAST_LANE_MAX_BYTES = 4 * 1024 * 1024;
58
+ /**
59
+ * A per-file ceiling keeps a single medium-sized transfer from consuming the
60
+ * realtime lane even when the batch aggregate is otherwise below its cap.
61
+ * 256 KiB comfortably covers ordinary notes and control-plane artifacts while
62
+ * leaving session logs and other transfer-heavy files in the slow lane.
63
+ */
64
+ export const DEFAULT_FAST_LANE_MAX_FILE_BYTES = 256 * 1024;
57
65
  function positiveEnvInt(name, fallback) {
58
66
  const value = Number.parseInt(process.env[name] ?? "", 10);
59
67
  return Number.isFinite(value) && value > 0 ? value : fallback;
@@ -62,7 +70,68 @@ export function resolveFastLaneLimits() {
62
70
  return {
63
71
  maxFiles: positiveEnvInt(FAST_LANE_MAX_FILES_ENV, DEFAULT_FAST_LANE_MAX_FILES),
64
72
  maxBytes: positiveEnvInt(FAST_LANE_MAX_BYTES_ENV, DEFAULT_FAST_LANE_MAX_BYTES),
73
+ maxFileBytes: positiveEnvInt(FAST_LANE_MAX_FILE_BYTES_ENV, DEFAULT_FAST_LANE_MAX_FILE_BYTES),
74
+ };
75
+ }
76
+ /**
77
+ * Select a bounded realtime prefix from already coalesced work. A path appears
78
+ * exactly once in this input, so a later change to the same path has already
79
+ * replaced its earlier revision and cannot straddle lanes.
80
+ */
81
+ function partitionByKnownSizes(items, sizeOf) {
82
+ const { maxFiles, maxBytes, maxFileBytes } = resolveFastLaneLimits();
83
+ const fast = [];
84
+ const slow = [];
85
+ let bytes = 0;
86
+ for (const item of items) {
87
+ const size = sizeOf(item);
88
+ if (size === null ||
89
+ size > maxFileBytes ||
90
+ fast.length >= maxFiles ||
91
+ bytes + size > maxBytes) {
92
+ slow.push(item);
93
+ continue;
94
+ }
95
+ fast.push(item);
96
+ bytes += size;
97
+ }
98
+ return { fast, slow };
99
+ }
100
+ function localPathSize(absolutePath, changes) {
101
+ // `unlinkDir` has an unbounded journal expansion; never guess its payload.
102
+ if (changes?.get(absolutePath)?.kind === "unlinkDir")
103
+ return null;
104
+ try {
105
+ const stat = fs.lstatSync(absolutePath);
106
+ if (stat.isDirectory())
107
+ return null;
108
+ return stat.isFile() ? stat.size : 0;
109
+ }
110
+ catch (err) {
111
+ // A missing file is an exact delete and has no content transfer. Any other
112
+ // stat error leaves its payload unknown and therefore slow.
113
+ return err.code === "ENOENT" ? 0 : null;
114
+ }
115
+ }
116
+ /**
117
+ * Partition one selected watcher batch. The returned batches retain the same
118
+ * route/filter metadata, but no latest path can appear in both lane maps.
119
+ */
120
+ export function partitionLocalBatch(batch) {
121
+ const partition = partitionByKnownSizes([...batch.paths.entries()], ([absolutePath]) => localPathSize(absolutePath, batch.changes));
122
+ const makeBatch = (entries) => {
123
+ if (entries.length === 0)
124
+ return null;
125
+ const paths = new Map(entries);
126
+ const changes = new Map();
127
+ for (const [absolutePath] of entries) {
128
+ const change = batch.changes?.get(absolutePath);
129
+ if (change)
130
+ changes.set(absolutePath, change);
131
+ }
132
+ return { ...batch, paths, ...(changes.size > 0 ? { changes } : {}) };
65
133
  };
134
+ return { fast: makeBatch(partition.fast), slow: makeBatch(partition.slow) };
66
135
  }
67
136
  /** A missing/stat-failed path is never allowed to bypass the slow lane. */
68
137
  export function isFastLocalBatch(paths, changes) {
@@ -97,7 +166,7 @@ export function isFastLocalBatch(paths, changes) {
97
166
  }
98
167
  return files > 0;
99
168
  }
100
- /** Receiver events carry no content length, so only bounded event batches qualify. */
169
+ /** A receiver event needs a known small upsert size before it can go realtime. */
101
170
  export function isFastReceiverBatch(eventCount) {
102
171
  return eventCount > 0 && eventCount <= resolveFastLaneLimits().maxFiles;
103
172
  }
@@ -905,6 +974,22 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
905
974
  : relativePath.slice(prefix.length + 1),
906
975
  };
907
976
  };
977
+ /**
978
+ * A receiver event is eligible only when its upsert bytes are known small.
979
+ * Current publishers do not require a size field, so a locally journaled
980
+ * version is the backwards-compatible HEAD-size source. An event with no
981
+ * declared or journal-known size is bulk: guessing would let a large legacy
982
+ * transfer consume the realtime lane.
983
+ */
984
+ const receiverEventSize = (event) => {
985
+ if (event.kind !== "upsert")
986
+ return null;
987
+ const coordinates = journalCoordinates(event.relativePath);
988
+ if (!coordinates)
989
+ return null;
990
+ const size = readJournal(coordinates.slug).files[coordinates.key]?.size;
991
+ return Number.isSafeInteger(size) && size >= 0 ? size : null;
992
+ };
908
993
  const captureLocalDeleteSnapshots = (relativePath, kind) => {
909
994
  const coordinates = journalCoordinates(relativePath);
910
995
  const route = routeChangeToTarget(relativePath);
@@ -1030,6 +1115,27 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
1030
1115
  }
1031
1116
  return paths;
1032
1117
  };
1118
+ const publishedContentHashBaseline = () => {
1119
+ const hashes = {};
1120
+ for (const { slug, journal } of listJournals()) {
1121
+ const isPersonal = slug === PERSONAL_VAULT_JOURNAL_SLUG || slug === "personal";
1122
+ const route = isPersonal
1123
+ ? { kind: "personal" }
1124
+ : { kind: "company", slug };
1125
+ if (!isWatchRouteSelected(route, watchRouteSelection))
1126
+ continue;
1127
+ for (const [key, entry] of Object.entries(journal.files)) {
1128
+ // Tombstones and link records have no live regular-file body for the
1129
+ // PushEventEmitter's SHA-256 comparison, so they must not seed it.
1130
+ if (entry.removedAt !== undefined ||
1131
+ entry.kind === "symlink" ||
1132
+ entry.localDiverges)
1133
+ continue;
1134
+ hashes[isPersonal ? key : `companies/${slug}/${key}`] = `sha256:${entry.hash}`;
1135
+ }
1136
+ }
1137
+ return hashes;
1138
+ };
1033
1139
  const prepareWatcherChanges = (changes) => {
1034
1140
  const journals = new Map();
1035
1141
  const dirty = new Set();
@@ -1342,29 +1448,34 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
1342
1448
  watcher.onChange((changedRelPath, batch) => {
1343
1449
  if (stopped)
1344
1450
  return;
1345
- // A complete, small watcher batch is dispatched immediately while a
1346
- // bulk pass is in flight. Leaving it in the next poll iteration would
1347
- // still make it wait for that pass even though the fast lane exists.
1451
+ // Peel a bounded realtime sub-batch from a mixed watcher batch while a
1452
+ // bulk pass is in flight. The residue enters the ordinary pending drain
1453
+ // immediately; a latest path appears in exactly one of these maps.
1348
1454
  const selectedBatch = batch ? selectWatchBatch(batch) : null;
1349
- if (selectedBatch &&
1350
- !selectedBatch.overflowed &&
1351
- activeSlowPass !== null &&
1352
- isFastLocalBatch(selectedBatch.paths.keys(), selectedBatch.changes)) {
1455
+ const lanes = selectedBatch && !selectedBatch.overflowed
1456
+ ? partitionLocalBatch(selectedBatch)
1457
+ : null;
1458
+ if (lanes?.fast &&
1459
+ activeSlowPass !== null) {
1353
1460
  const generation = ++nextWatcherBatchGeneration;
1354
1461
  // Fast dispatch bypasses the pending-batch ingress, so preserve both
1355
1462
  // of its contracts here: only selected routes may run, and V2 sees
1356
1463
  // the same dirty signal as the compatibility drain.
1357
1464
  realtimeState.scheduler?.signal("watcher");
1358
- void runScopedDrain(selectedBatch, generation, true).then((exit) => {
1465
+ void runScopedDrain(lanes.fast, generation, true).then((exit) => {
1359
1466
  if (exit === 0)
1360
1467
  return;
1361
- restorePendingWatcherPaths(selectedBatch.paths, generation);
1468
+ restorePendingWatcherPaths(lanes.fast.paths, generation);
1362
1469
  interruptWait();
1363
1470
  }).catch((err) => {
1364
- restorePendingWatcherPaths(selectedBatch.paths, generation);
1471
+ restorePendingWatcherPaths(lanes.fast.paths, generation);
1365
1472
  process.stderr.write(`watch fast-lane scoped push failed, will retry next tick: ${describeError(err)}\n`);
1366
1473
  interruptWait();
1367
1474
  });
1475
+ if (lanes.slow && addPendingWatcherChange(undefined, lanes.slow)) {
1476
+ realtimeState.scheduler?.signal("watcher");
1477
+ interruptWait();
1478
+ }
1368
1479
  return;
1369
1480
  }
1370
1481
  if (addPendingWatcherChange(changedRelPath, batch)) {
@@ -1459,32 +1570,39 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
1459
1570
  // so it cannot overlap the pass that may currently own the operation
1460
1571
  // lock.
1461
1572
  interruptWait();
1462
- const pathsByRoute = new Map();
1463
- let eligibleEventCount = 0;
1464
- for (const event of events) {
1465
- const route = routeChangeToTarget(event.relativePath);
1466
- if (!route)
1467
- continue;
1468
- eligibleEventCount += 1;
1469
- const key = routeKey(route);
1470
- const group = pathsByRoute.get(key) ?? { route, paths: [] };
1471
- group.paths.push(event.relativePath);
1472
- pathsByRoute.set(key, group);
1473
- }
1474
- // One receiver delivery can fan out to many routes. Apply the advertised
1475
- // cap to its whole eligible payload, not independently to each route.
1476
- const lane = isFastReceiverBatch(eligibleEventCount)
1477
- ? "fast"
1478
- : "slow";
1479
- for (const { route, paths } of pathsByRoute.values()) {
1480
- // One guarded targeted pass per affected route, with every coalesced
1481
- // path for that route expressed through the watcher's existing argv seam.
1482
- const targetedArgv = buildTargetedPullArgv(route, passArgv, paths);
1483
- const result = await runGuarded(targetedArgv, undefined, lane);
1484
- if (passExitCode(result) !== 0) {
1485
- throw new Error(`targeted pull failed with exit code ${passExitCode(result)}`);
1573
+ // Apply the caps once across the whole delivery, then retain the residue
1574
+ // in the normal lane. The receiver already coalesces to one latest event
1575
+ // per path, so the partition cannot split revisions of one path.
1576
+ const lanes = partitionByKnownSizes(events, receiverEventSize);
1577
+ const drainLane = async (lane, laneEvents) => {
1578
+ const pathsByRoute = new Map();
1579
+ for (const event of laneEvents) {
1580
+ const route = routeChangeToTarget(event.relativePath);
1581
+ if (!route)
1582
+ continue;
1583
+ const key = routeKey(route);
1584
+ const group = pathsByRoute.get(key) ?? { route, paths: [] };
1585
+ group.paths.push(event.relativePath);
1586
+ pathsByRoute.set(key, group);
1486
1587
  }
1487
- }
1588
+ for (const { route, paths } of pathsByRoute.values()) {
1589
+ const targetedArgv = buildTargetedPullArgv(route, passArgv, paths);
1590
+ const result = await runGuarded(targetedArgv, undefined, lane);
1591
+ if (passExitCode(result) !== 0) {
1592
+ throw new Error(`targeted pull failed with exit code ${passExitCode(result)}`);
1593
+ }
1594
+ }
1595
+ };
1596
+ // Dispatch realtime work before awaiting its bulk residue. This lets an
1597
+ // established slow pass continue while the small scoped pull uses its
1598
+ // ref-counted lock carve-out; the residue remains serialized and cannot
1599
+ // starve the slow lane.
1600
+ await drainLane("fast", lanes.fast);
1601
+ await drainLane("slow", lanes.slow);
1602
+ };
1603
+ receiverSyncBatchFn.partition = (events) => {
1604
+ const lanes = partitionByKnownSizes(events, receiverEventSize);
1605
+ return [lanes.fast, lanes.slow].filter((lane) => lane.length > 0);
1488
1606
  };
1489
1607
  const createReceiver = deps.createReceiver ?? (() => new NoopPushReceiver());
1490
1608
  receiver = createReceiver({ syncBatchFn: receiverSyncBatchFn, hqRoot });
@@ -1562,6 +1680,8 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
1562
1680
  log: (m) => process.stderr.write(`${m}\n`),
1563
1681
  telemetryClient: eventSyncClient,
1564
1682
  telemetryClaims: claims,
1683
+ publishedContentHashStateDir: getStateDir(),
1684
+ initialPublishedContentHashes: publishedContentHashBaseline(),
1565
1685
  });
1566
1686
  if (!handles)
1567
1687
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner-watch-loop.js","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-runner-watch-loop.js","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"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"}