@juspay/neurolink 13.8.5 → 13.8.7

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,8 +1,13 @@
1
- ## [13.8.5](https://github.com/juspay/neurolink/compare/v13.8.4...v13.8.5) (2026-10-23)
1
+ ## [13.8.7](https://github.com/juspay/neurolink/compare/v13.8.6...v13.8.7) (2026-10-23)
2
2
 
3
3
  ### Bug Fixes
4
4
 
5
- - **(mcp):** stop connected stdio servers when the host exits ([79ed38f](https://github.com/juspay/neurolink/commit/79ed38fea9f133527c46a8233718024ae03fc85c)), closes [#2091](https://github.com/juspay/neurolink/issues/2091)
5
+ - **(mcp):** stop a stdio server whose close is still in flight when the host exits ([ac852dd](https://github.com/juspay/neurolink/commit/ac852dddd72b061331e7b1ab7fa981600a736d5c)), closes [#2093](https://github.com/juspay/neurolink/issues/2093)
6
+ - **(proxy):** honor egress proxy for command requests ([ed63f84](https://github.com/juspay/neurolink/commit/ed63f84a4a6b3241a82dd12e8ee71aab7f38dd1d))
7
+
8
+ ### Performance Improvements
9
+
10
+ - **(proxy):** stop one lost connection from stalling every Anthropic request ([525e03a](https://github.com/juspay/neurolink/commit/525e03a9b447da851b853d8471934552c119fd26))
6
11
 
7
12
  ## [11.2.3](https://github.com/juspay/neurolink/compare/v11.2.2...v11.2.3) (2026-08-19)
8
13
 
@@ -20,6 +20,7 @@ import { OAuthError, OAuthConfigurationError, OAuthTokenExchangeError, OAuthToke
20
20
  import { logger } from "../utils/logger.js";
21
21
  import { withSpan } from "../telemetry/withSpan.js";
22
22
  import { tracers } from "../telemetry/tracers.js";
23
+ import { fetchProxyAware } from "../proxy/proxyFetch.js";
23
24
  /**
24
25
  * HTML-escape a string to prevent XSS when embedding in HTML responses.
25
26
  */
@@ -501,7 +502,7 @@ export class AnthropicOAuth {
501
502
  const controller = new AbortController();
502
503
  const timeoutId = setTimeout(() => controller.abort(), 10_000);
503
504
  try {
504
- const response = await fetch(url, {
505
+ const response = await fetchProxyAware(url, {
505
506
  method: "POST",
506
507
  headers: {
507
508
  "Content-Type": "application/x-www-form-urlencoded",
@@ -596,7 +597,7 @@ export class AnthropicOAuth {
596
597
  const controller = new AbortController();
597
598
  const timeoutId = setTimeout(() => controller.abort(), 10_000);
598
599
  try {
599
- const response = await fetch(url, {
600
+ const response = await fetchProxyAware(url, {
600
601
  method: "POST",
601
602
  headers,
602
603
  body: new URLSearchParams(body).toString(),
@@ -667,7 +668,7 @@ export class AnthropicOAuth {
667
668
  }
668
669
  logger.debug("Validating access token");
669
670
  try {
670
- const response = await fetch(this.validationUrl, {
671
+ const response = await fetchProxyAware(this.validationUrl, {
671
672
  method: "POST",
672
673
  headers: {
673
674
  "Content-Type": "application/x-www-form-urlencoded",
@@ -710,7 +711,7 @@ export class AnthropicOAuth {
710
711
  }
711
712
  logger.debug("Validating access token with details");
712
713
  try {
713
- const response = await fetch(this.validationUrl, {
714
+ const response = await fetchProxyAware(this.validationUrl, {
714
715
  method: "POST",
715
716
  headers: {
716
717
  "Content-Type": "application/x-www-form-urlencoded",
@@ -787,7 +788,7 @@ export class AnthropicOAuth {
787
788
  body.client_secret = this.clientSecret;
788
789
  }
789
790
  try {
790
- const response = await fetch(this.revocationUrl, {
791
+ const response = await fetchProxyAware(this.revocationUrl, {
791
792
  method: "POST",
792
793
  headers: {
793
794
  "Content-Type": "application/x-www-form-urlencoded",
@@ -1088,7 +1089,7 @@ export function buildSubscriptionAuthUrl(params) {
1088
1089
  * entire point: the code alone buys nothing.
1089
1090
  */
1090
1091
  export async function exchangeSubscriptionCode(params) {
1091
- const response = await fetch(ANTHROPIC_TOKEN_URL, {
1092
+ const response = await fetchProxyAware(ANTHROPIC_TOKEN_URL, {
1092
1093
  method: "POST",
1093
1094
  headers: { "Content-Type": "application/json" },
1094
1095
  body: JSON.stringify({
@@ -13,6 +13,7 @@ import { readFile } from "node:fs/promises";
13
13
  import { homedir } from "node:os";
14
14
  import { join } from "node:path";
15
15
  import { logger } from "../utils/logger.js";
16
+ import { fetchProxyAware } from "../proxy/proxyFetch.js";
16
17
  // OAuth client + endpoints (Codex CLI values).
17
18
  export const CODEX_CLIENT_ID = "app_EMoamEEZ73f0CkXaXp7hrann";
18
19
  export const CODEX_AUTH_URL = "https://auth.openai.com/oauth/authorize";
@@ -148,7 +149,7 @@ export async function refreshCodexToken(refreshToken, options = {}) {
148
149
  client_id: CODEX_CLIENT_ID,
149
150
  scope: CODEX_DEFAULT_SCOPES.join(" "),
150
151
  });
151
- const response = await fetch(CODEX_TOKEN_URL, {
152
+ const response = await fetchProxyAware(CODEX_TOKEN_URL, {
152
153
  method: "POST",
153
154
  headers: {
154
155
  "Content-Type": "application/x-www-form-urlencoded",