@juspay/neurolink 9.59.3 → 9.59.4

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [9.59.4](https://github.com/juspay/neurolink/compare/v9.59.3...v9.59.4) (2026-04-27)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **(proxy):** replace blocking quiet-gate with best-effort wait for auto-updates ([defd6e0](https://github.com/juspay/neurolink/commit/defd6e0f177abea19e490ebe8bd8ea492f6bebca))
6
+
1
7
  ## [9.59.3](https://github.com/juspay/neurolink/compare/v9.59.2...v9.59.3) (2026-04-27)
2
8
 
3
9
  ### Bug Fixes
@@ -1443,27 +1443,32 @@ export const proxyGuardCommand = {
1443
1443
  return;
1444
1444
  }
1445
1445
  logger.always(`[guard] update available: ${runningVersion} → ${result.latestVersion}`);
1446
- // 2. Wait for quiet traffic
1447
- const maxQuietWaitMs = 60 * 60 * 1000; // 1 hour max wait
1446
+ // 2. Best-effort quiet wait — try for a brief window, but proceed
1447
+ // regardless. The install (pnpm add -g) is non-disruptive; only the
1448
+ // restart causes a ~1-3s blip. Blocking updates for hours/days because
1449
+ // traffic never goes silent is worse than a brief interruption.
1450
+ const maxQuietWaitMs = 5 * 60 * 1000; // 5 minutes max, then proceed
1448
1451
  const quietPollMs = 10_000; // check every 10s
1449
1452
  const quietStart = Date.now();
1450
1453
  while (Date.now() - quietStart < maxQuietWaitMs) {
1451
- // Bail out if parent proxy died during the wait
1452
1454
  if (getProcessStatus(parentPid) === "not_running") {
1453
1455
  logger.always(`[guard] parent process died during quiet-wait, aborting update`);
1454
1456
  return;
1455
1457
  }
1456
1458
  const quietStatus = checkTrafficQuiet(QUIET_THRESHOLD_MS);
1457
1459
  if (quietStatus.isQuiet) {
1460
+ logger.always(`[guard] traffic quiet, proceeding with update`);
1458
1461
  break;
1459
1462
  }
1460
1463
  logger.debug(`[guard] traffic active (last activity ${Math.round(quietStatus.silenceDurationMs / 1000)}s ago), waiting...`);
1461
1464
  await new Promise((r) => setTimeout(r, quietPollMs));
1462
1465
  }
1466
+ // Proceed with install regardless — don't block updates indefinitely.
1467
+ // The install itself (pnpm add -g) doesn't affect the running process.
1468
+ // Only the restart afterwards causes a brief interruption.
1463
1469
  const finalQuiet = checkTrafficQuiet(QUIET_THRESHOLD_MS);
1464
1470
  if (!finalQuiet.isQuiet) {
1465
- logger.always(`[guard] traffic didn't quiet down within 1 hour, skipping update cycle`);
1466
- return;
1471
+ logger.always(`[guard] traffic still active after ${Math.round(maxQuietWaitMs / 1000)}s wait, proceeding with update anyway (restart will briefly interrupt in-flight requests)`);
1467
1472
  }
1468
1473
  // 3. Install update (validate version string before passing to shell)
1469
1474
  if (!/^\d+\.\d+\.\d+$/.test(result.latestVersion)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juspay/neurolink",
3
- "version": "9.59.3",
3
+ "version": "9.59.4",
4
4
  "packageManager": "pnpm@10.15.1",
5
5
  "description": "Universal AI Development Platform with working MCP integration, multi-provider support, and professional CLI. Built-in tools operational, 58+ external MCP servers discoverable. Connect to filesystem, GitHub, database operations, and more. Build, test, and deploy AI applications with 13 providers: OpenAI, Anthropic, Google AI, AWS Bedrock, Azure, Hugging Face, Ollama, and Mistral AI.",
6
6
  "author": {