@kolisachint/hoocode-agent 0.4.139 → 0.4.140

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.
@@ -561,10 +561,19 @@ export class InteractiveMode {
561
561
  hasMessages: this.session.state.messages.length > 0,
562
562
  settingsManager: this.settingsManager,
563
563
  });
564
- // Ensure fd and rg are available (downloads if missing, adds to PATH via getBinDir)
565
- // Both are needed: fd for autocomplete, rg for grep tool and bash commands
566
- const [fdPath] = await Promise.all([ensureTool("fd"), ensureTool("rg")]);
567
- this.fdPath = fdPath;
564
+ // Ensure fd and rg are available (downloads if missing, adds to PATH via getBinDir).
565
+ // Both help fd for autocomplete, rg for the grep tool but neither is required
566
+ // to start: resolving them can hit a slow or failing network in restricted
567
+ // environments, and awaiting here froze first paint. Resolve in the background
568
+ // (silently, so download notices never corrupt the TUI) and wire fd in when ready;
569
+ // the grep/find tools resolve rg/fd on demand with a native fallback regardless.
570
+ void Promise.all([ensureTool("fd", true), ensureTool("rg", true)])
571
+ .then(([fdPath]) => {
572
+ this.fdPath = fdPath;
573
+ })
574
+ .catch(() => {
575
+ // Non-fatal: autocomplete simply stays disabled until/unless fd resolves.
576
+ });
568
577
  // Add header container as first child
569
578
  this.ui.addChild(this.headerContainer);
570
579
  // Add header with keybindings from config (unless silenced)