@indigoai-us/hq-cloud 6.15.43 → 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.
package/dist/watcher.js CHANGED
@@ -329,7 +329,7 @@ function errorPath(err) {
329
329
  function supportsRecursiveWatch() {
330
330
  return process.platform === "darwin" || process.platform === "win32";
331
331
  }
332
- function startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded) {
332
+ function startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded, forcePolling = false) {
333
333
  const budget = new ChokidarWatchBudget(maxWatchedPaths, onWatchBudgetExceeded);
334
334
  let cw;
335
335
  let ready = false;
@@ -340,6 +340,9 @@ function startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatched
340
340
  // The predicate therefore enforces both scope and the hard per-runner cap.
341
341
  ignored: toChokidarIgnored(shouldEmit, hqRoot, budget),
342
342
  persistent: true,
343
+ // If inotify discovery cannot initialize, retain event-driven delivery
344
+ // through chokidar polling instead of abandoning the watcher entirely.
345
+ usePolling: forcePolling,
343
346
  ignoreInitial: true,
344
347
  awaitWriteFinish: {
345
348
  stabilityThreshold: 500,
@@ -353,6 +356,7 @@ function startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatched
353
356
  onError(err);
354
357
  return {
355
358
  close: () => { },
359
+ mode: forcePolling ? "polling" : "chokidar",
356
360
  needsKnownKinds: false,
357
361
  watchedPathCount: () => budget.count(),
358
362
  };
@@ -373,6 +377,7 @@ function startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatched
373
377
  close: () => {
374
378
  void cw.close();
375
379
  },
380
+ mode: forcePolling ? "polling" : "chokidar",
376
381
  needsKnownKinds: false,
377
382
  watchedPathCount: () => budget.count(),
378
383
  onReady: (listener) => {
@@ -648,6 +653,7 @@ export function startScopedRecursiveWatch(hqRoot, shouldEmit, onEvent, onError,
648
653
  recursiveRoots.clear();
649
654
  recursiveFlag.clear();
650
655
  },
656
+ mode: "native",
651
657
  needsKnownKinds: true,
652
658
  seededKnownKinds: onDirectorySeen !== undefined,
653
659
  watchedPathCount: () => watchers.size,
@@ -674,8 +680,8 @@ export function startScopedRecursiveWatch(hqRoot, shouldEmit, onEvent, onError,
674
680
  * ancestor-descent pruning that the chokidar backend needs
675
681
  * {@link toChokidarIgnored} to avoid.
676
682
  */
677
- function startTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded, onDirectorySeen) {
678
- if (supportsRecursiveWatch()) {
683
+ function startTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded, onDirectorySeen, forcePolling = false) {
684
+ if (!forcePolling && supportsRecursiveWatch()) {
679
685
  try {
680
686
  const scoped = startScopedRecursiveWatch(hqRoot, shouldEmit, onEvent, onError, onDirectorySeen);
681
687
  // Partial coverage is worse than a different backend: a planned root we
@@ -693,7 +699,7 @@ function startTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, o
693
699
  onError(err);
694
700
  }
695
701
  }
696
- return startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded);
702
+ return startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded, forcePolling);
697
703
  }
698
704
  /**
699
705
  * Build the composite emit-decision predicate. Returns true when a change to
@@ -814,6 +820,8 @@ export function createWatchPathFilter(hqRoot, personalMode = false, options = {}
814
820
  }
815
821
  export const DEFAULT_TREE_WATCHER_MAX_PENDING_PATHS = 4096;
816
822
  export const DEFAULT_TREE_WATCHER_MAX_PENDING_BYTES = 1024 * 1024;
823
+ /** Chokidar discovery is asynchronous; never leave a runner silently pending forever. */
824
+ export const DEFAULT_TREE_WATCHER_DISCOVERY_TIMEOUT_MS = 60_000;
817
825
  /**
818
826
  * Cap on distinct dropped-route hints tracked through one overflow episode.
819
827
  * More distinct routes than this in a single burst means something is walking
@@ -833,6 +841,7 @@ export class TreeWatcher {
833
841
  maxPendingPaths;
834
842
  maxPendingBytes;
835
843
  maxWatchedPaths;
844
+ discoveryTimeoutMs;
836
845
  onBacklogOverflow;
837
846
  onDegraded;
838
847
  telemetryClient;
@@ -842,6 +851,7 @@ export class TreeWatcher {
842
851
  backend = null;
843
852
  ready = false;
844
853
  detachBackendReady = null;
854
+ discoveryTimer = null;
845
855
  readyListeners = new Set();
846
856
  timer = null;
847
857
  listeners = new Set();
@@ -859,6 +869,7 @@ export class TreeWatcher {
859
869
  /** True when at least one drop carried no usable route evidence. */
860
870
  droppedRoutesUnknown = false;
861
871
  degraded = false;
872
+ pollingFallback = false;
862
873
  disposed = false;
863
874
  constructor(opts) {
864
875
  this.hqRoot = opts.hqRoot;
@@ -875,6 +886,7 @@ export class TreeWatcher {
875
886
  this.maxPendingPaths = Math.max(1, opts.maxPendingPaths ?? DEFAULT_TREE_WATCHER_MAX_PENDING_PATHS);
876
887
  this.maxPendingBytes = Math.max(1, opts.maxPendingBytes ?? DEFAULT_TREE_WATCHER_MAX_PENDING_BYTES);
877
888
  this.maxWatchedPaths = resolveMaxWatchedPaths(opts.maxWatchedPaths);
889
+ this.discoveryTimeoutMs = Math.max(1, opts.discoveryTimeoutMs ?? DEFAULT_TREE_WATCHER_DISCOVERY_TIMEOUT_MS);
878
890
  this.onBacklogOverflow =
879
891
  opts.onBacklogOverflow ??
880
892
  ((info) => {
@@ -883,7 +895,8 @@ export class TreeWatcher {
883
895
  this.onDegraded =
884
896
  opts.onDegraded ??
885
897
  ((info) => {
886
- console.error(JSON.stringify({ event: "watcher.degraded", ...info }));
898
+ console.warn(`TreeWatcher WARN watcher degraded: reason=${info.reason} ` +
899
+ `watched-paths=${info.watchedPaths}/${info.maxWatchedPaths}`);
887
900
  });
888
901
  this.telemetryClient = opts.telemetryClient;
889
902
  this.telemetryClaims = opts.telemetryClaims;
@@ -913,6 +926,9 @@ export class TreeWatcher {
913
926
  start() {
914
927
  if (this.disposed || this.degraded || this.backend)
915
928
  return;
929
+ this.startBackend(false);
930
+ }
931
+ startBackend(forcePolling) {
916
932
  const backendOpts = {
917
933
  hqRoot: this.hqRoot,
918
934
  shouldEmit: this.shouldEmit,
@@ -927,10 +943,11 @@ export class TreeWatcher {
927
943
  offendingTopLevel: this.topLevelForTelemetry(info.offendingPath),
928
944
  }),
929
945
  onDirectorySeen: (absolutePath) => this.knownKinds.set(path.resolve(absolutePath), "directory"),
946
+ forcePolling,
930
947
  };
931
948
  const backend = this.backendFactory
932
949
  ? this.backendFactory(backendOpts)
933
- : startTreeWatch(backendOpts.hqRoot, backendOpts.shouldEmit, backendOpts.onEvent, backendOpts.onError, backendOpts.maxWatchedPaths, backendOpts.onWatchBudgetExceeded, backendOpts.onDirectorySeen);
950
+ : startTreeWatch(backendOpts.hqRoot, backendOpts.shouldEmit, backendOpts.onEvent, backendOpts.onError, backendOpts.maxWatchedPaths, backendOpts.onWatchBudgetExceeded, backendOpts.onDirectorySeen, forcePolling);
934
951
  // A test backend (or a future eager backend) can discover exhaustion while
935
952
  // it is being constructed. Never retain that just-created handle after the
936
953
  // degradation path has deliberately disabled event watching.
@@ -938,12 +955,33 @@ export class TreeWatcher {
938
955
  backend.close();
939
956
  return;
940
957
  }
958
+ this.installBackend(backend);
959
+ console.info(`TreeWatcher started (${backend.mode ?? "unknown"}): watched paths ${backend.watchedPathCount()} / budget ${this.maxWatchedPaths}`);
960
+ }
961
+ installBackend(backend) {
941
962
  this.backend = backend;
942
- console.info(`TreeWatcher started: watched paths ${backend.watchedPathCount()} / budget ${this.maxWatchedPaths}`);
943
963
  this.ready = false;
944
964
  this.detachBackendReady = backend.onReady
945
965
  ? backend.onReady(() => this.markReady())
946
966
  : null;
967
+ if (backend.onReady) {
968
+ this.discoveryTimer = this.clock.setTimeout(() => {
969
+ if (this.ready || this.backend !== backend || this.disposed)
970
+ return;
971
+ const info = {
972
+ reason: "initial_discovery_timeout",
973
+ maxWatchedPaths: this.maxWatchedPaths,
974
+ watchedPaths: backend.watchedPathCount(),
975
+ };
976
+ // A polling backend is the last event-delivery fallback. If it also
977
+ // cannot complete discovery, explicitly close it and surface a WARN
978
+ // instead of leaving a permanently non-ready watcher marked active.
979
+ if (this.pollingFallback)
980
+ this.degrade(info);
981
+ else
982
+ this.fallbackToPolling(info);
983
+ }, this.discoveryTimeoutMs);
984
+ }
947
985
  // The scoped backend already indexed every in-scope directory while
948
986
  // planning its watch roots — walking the tree again here would double a
949
987
  // multi-second startup cost for an identical result.
@@ -965,6 +1003,7 @@ export class TreeWatcher {
965
1003
  markReady() {
966
1004
  if (this.ready || this.disposed || this.backend === null)
967
1005
  return;
1006
+ this.clearDiscoveryTimer();
968
1007
  this.ready = true;
969
1008
  for (const listener of this.readyListeners) {
970
1009
  try {
@@ -979,7 +1018,7 @@ export class TreeWatcher {
979
1018
  handleBackendError(err) {
980
1019
  if (isInotifyLimitError(err)) {
981
1020
  const offendingPath = errorPath(err);
982
- this.degrade({
1021
+ const info = {
983
1022
  reason: "inotify_enospc",
984
1023
  maxWatchedPaths: this.maxWatchedPaths,
985
1024
  watchedPaths: this.backend?.watchedPathCount() ?? 0,
@@ -988,7 +1027,16 @@ export class TreeWatcher {
988
1027
  ? this.topLevelForTelemetry(offendingPath)
989
1028
  : undefined,
990
1029
  errorCode: "ENOSPC",
991
- });
1030
+ };
1031
+ // ENOSPC from one asynchronous chokidar add used to close every watch
1032
+ // immediately. Retain event delivery through chokidar polling instead;
1033
+ // only a failure of that fallback stands the watcher down.
1034
+ if (!this.pollingFallback) {
1035
+ queueMicrotask(() => this.fallbackToPolling(info));
1036
+ }
1037
+ else {
1038
+ this.degrade(info);
1039
+ }
992
1040
  return;
993
1041
  }
994
1042
  console.error("TreeWatcher error:", err);
@@ -1003,10 +1051,40 @@ export class TreeWatcher {
1003
1051
  if (this.disposed || this.degraded)
1004
1052
  return;
1005
1053
  this.degraded = true;
1054
+ this.clearDiscoveryTimer();
1006
1055
  // Closing synchronously prevents further directory admissions while
1007
1056
  // chokidar's initial walk is still in flight.
1008
1057
  this.backend?.close();
1009
1058
  this.backend = null;
1059
+ this.reportDegradation({ ...info, action: "stopped" });
1060
+ // The existing overflow/resync batch causes the runner to use its scoped
1061
+ // drain while the cadence poll continues covering everything else.
1062
+ this.signalBackendResync();
1063
+ }
1064
+ fallbackToPolling(info) {
1065
+ if (this.disposed || this.degraded || this.pollingFallback)
1066
+ return;
1067
+ this.pollingFallback = true;
1068
+ this.clearDiscoveryTimer();
1069
+ this.detachBackendReady?.();
1070
+ this.detachBackendReady = null;
1071
+ this.backend?.close();
1072
+ this.backend = null;
1073
+ this.ready = false;
1074
+ this.reportDegradation({ ...info, action: "polling_fallback" });
1075
+ this.signalBackendResync();
1076
+ try {
1077
+ this.startBackend(true);
1078
+ }
1079
+ catch (err) {
1080
+ console.error("TreeWatcher polling fallback failed:", err);
1081
+ this.degrade({
1082
+ ...info,
1083
+ watchedPaths: 0,
1084
+ });
1085
+ }
1086
+ }
1087
+ reportDegradation(info) {
1010
1088
  try {
1011
1089
  this.onDegraded(info);
1012
1090
  }
@@ -1025,9 +1103,12 @@ export class TreeWatcher {
1025
1103
  : {}),
1026
1104
  },
1027
1105
  }, { claims: this.telemetryClaims });
1028
- // The existing overflow/resync batch causes the runner to use its scoped
1029
- // drain while the cadence poll continues covering everything else.
1030
- this.signalBackendResync();
1106
+ }
1107
+ clearDiscoveryTimer() {
1108
+ if (this.discoveryTimer === null)
1109
+ return;
1110
+ this.clock.clearTimeout(this.discoveryTimer);
1111
+ this.discoveryTimer = null;
1031
1112
  }
1032
1113
  signalBackendResync() {
1033
1114
  if (this.disposed)
@@ -1277,6 +1358,10 @@ export class TreeWatcher {
1277
1358
  watchedPathCount() {
1278
1359
  return this.backend?.watchedPathCount() ?? 0;
1279
1360
  }
1361
+ /** Active backend mode, including the no-inotify polling fallback. */
1362
+ watchMode() {
1363
+ return this.backend?.mode ?? (this.backend ? "unknown" : "inactive");
1364
+ }
1280
1365
  /** Number of pending debounce timers — a leak check for tests. */
1281
1366
  pendingTimerCount() {
1282
1367
  return this.timer === null ? 0 : 1;
@@ -1294,6 +1379,7 @@ export class TreeWatcher {
1294
1379
  this.detachBackendReady?.();
1295
1380
  this.detachBackendReady = null;
1296
1381
  this.ready = false;
1382
+ this.clearDiscoveryTimer();
1297
1383
  if (this.timer !== null) {
1298
1384
  this.clock.clearTimeout(this.timer);
1299
1385
  this.timer = null;
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}
@@ -723,7 +723,7 @@ describe("US-002: TreeWatcher — debounce coalesce (FakeClock seam)", () => {
723
723
  fs.rmSync(dir, { recursive: true, force: true });
724
724
  }
725
725
  });
726
- it("degrades instead of dying when chokidar emits runtime ENOSPC", () => {
726
+ it("keeps event watching through polling when chokidar emits runtime ENOSPC", () => {
727
727
  const clock = new FakeClock();
728
728
  const degraded = vi.fn();
729
729
  const changed = vi.fn();
@@ -741,18 +741,21 @@ describe("US-002: TreeWatcher — debounce coalesce (FakeClock seam)", () => {
741
741
  debounceMs: DEBOUNCE,
742
742
  onDegraded: degraded,
743
743
  telemetryClient,
744
- backendFactory: ({ onError }) => {
744
+ backendFactory: ({ forcePolling, onError }) => {
745
745
  const backend = {
746
746
  close: () => {
747
747
  closeCalls += 1;
748
748
  },
749
749
  needsKnownKinds: false,
750
- watchedPathCount: () => 0,
750
+ mode: forcePolling ? "polling" : "chokidar",
751
+ watchedPathCount: () => forcePolling ? 200 : 0,
751
752
  };
752
- queueMicrotask(() => onError(Object.assign(new Error("inotify limit"), {
753
- code: "ENOSPC",
754
- path: path.join(ROOT, "companies", "acme", "knowledge"),
755
- })));
753
+ if (!forcePolling) {
754
+ queueMicrotask(() => onError(Object.assign(new Error("inotify limit"), {
755
+ code: "ENOSPC",
756
+ path: path.join(ROOT, "companies", "acme", "knowledge"),
757
+ })));
758
+ }
756
759
  return backend;
757
760
  },
758
761
  });
@@ -760,7 +763,9 @@ describe("US-002: TreeWatcher — debounce coalesce (FakeClock seam)", () => {
760
763
  watcher.start();
761
764
  return new Promise((resolve) => queueMicrotask(resolve)).then(() => {
762
765
  expect(closeCalls).toBe(1);
763
- expect(watcher.isWatching()).toBe(false);
766
+ expect(watcher.isWatching()).toBe(true);
767
+ expect(watcher.watchMode()).toBe("polling");
768
+ expect(watcher.watchedPathCount()).toBe(200);
764
769
  expect(degraded).toHaveBeenCalledWith(expect.objectContaining({
765
770
  reason: "inotify_enospc",
766
771
  errorCode: "ENOSPC",
@@ -784,6 +789,64 @@ describe("US-002: TreeWatcher — debounce coalesce (FakeClock seam)", () => {
784
789
  expect(changed).toHaveBeenCalledWith(undefined, expect.objectContaining({ overflowed: true }));
785
790
  });
786
791
  });
792
+ it("keeps a large synthetic watch set alive across multiple debounced passes", () => {
793
+ const clock = new FakeClock();
794
+ const changed = vi.fn();
795
+ const handles = new Set(Array.from({ length: 20_000 }, (_, i) => `dir-${i}`));
796
+ const watcher = new TreeWatcher({
797
+ hqRoot: ROOT,
798
+ clock,
799
+ debounceMs: DEBOUNCE,
800
+ backendFactory: () => ({
801
+ close: () => handles.clear(),
802
+ mode: "chokidar",
803
+ needsKnownKinds: false,
804
+ watchedPathCount: () => handles.size,
805
+ }),
806
+ });
807
+ watcher.onChange(changed);
808
+ watcher.start();
809
+ for (let pass = 0; pass < 3; pass += 1) {
810
+ watcher.handleEvent(path.join(ROOT, "personal", `change-${pass}.md`));
811
+ clock.advance(DEBOUNCE);
812
+ expect(watcher.isWatching()).toBe(true);
813
+ expect(watcher.watchedPathCount()).toBe(20_000);
814
+ }
815
+ expect(changed).toHaveBeenCalledTimes(3);
816
+ watcher.dispose();
817
+ });
818
+ it("stands down loudly when polling discovery also times out", () => {
819
+ const clock = new FakeClock();
820
+ const degraded = vi.fn();
821
+ let closeCalls = 0;
822
+ const watcher = new TreeWatcher({
823
+ hqRoot: ROOT,
824
+ clock,
825
+ discoveryTimeoutMs: 100,
826
+ onDegraded: degraded,
827
+ backendFactory: ({ forcePolling }) => ({
828
+ close: () => { closeCalls += 1; },
829
+ mode: forcePolling ? "polling" : "chokidar",
830
+ needsKnownKinds: false,
831
+ watchedPathCount: () => forcePolling ? 20 : 10,
832
+ // Deliberately never invokes its listener: this simulates discovery
833
+ // that hangs before chokidar can report ready.
834
+ onReady: () => () => { },
835
+ }),
836
+ });
837
+ watcher.start();
838
+ clock.advance(100);
839
+ expect(watcher.isWatching()).toBe(true);
840
+ expect(watcher.watchMode()).toBe("polling");
841
+ clock.advance(100);
842
+ expect(watcher.isWatching()).toBe(false);
843
+ expect(closeCalls).toBe(2);
844
+ expect(degraded).toHaveBeenLastCalledWith(expect.objectContaining({
845
+ reason: "initial_discovery_timeout",
846
+ action: "stopped",
847
+ watchedPaths: 20,
848
+ }));
849
+ });
787
850
  it("does not retain one rename-kind entry for every changed file", () => {
788
851
  const clock = new FakeClock();
789
852
  const watcher = new TreeWatcher({