@nangohq/runner-sdk 0.70.6 → 0.70.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/dist/action.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { ActionError } from './errors.js';
2
2
  import type { ZodCheckpoint, ZodMetadata } from './types.js';
3
+ import type { UncontrolledFetchOptions } from './uncontrolledFetch.js';
3
4
  import type { Nango } from '@nangohq/node';
4
- import type { ApiKeyCredentials, ApiPublicConnectionFull, AppCredentials, AppStoreCredentials, BasicApiCredentials, BillCredentials, CustomCredentials, EnvironmentVariable, GetPublicConnection, GetPublicIntegration, HTTP_METHOD, InstallPluginCredentials, JwtCredentials, MaybePromise, NangoProps, OAuth1Token, OAuth2ClientCredentials, PostPublicTrigger, SdkLogger, SetMetadata, SignatureCredentials, TbaCredentials, TelemetryBag, TwoStepCredentials, UnauthCredentials, UpdateMetadata, UserLogParameters, UserProvidedProxyConfiguration } from '@nangohq/types';
5
+ import type { ApiKeyCredentials, ApiPublicConnectionFull, AppCredentials, AppStoreCredentials, AwsSigV4Credentials, BasicApiCredentials, BillCredentials, CustomCredentials, EnvironmentVariable, GetPublicConnection, GetPublicIntegration, InstallPluginCredentials, JwtCredentials, MaybePromise, NangoProps, OAuth1Token, OAuth2ClientCredentials, PostPublicTrigger, SdkLogger, SetMetadata, SignatureCredentials, TbaCredentials, TelemetryBag, TwoStepCredentials, UnauthCredentials, UpdateMetadata, UserLogParameters, UserProvidedProxyConfiguration } from '@nangohq/types';
5
6
  import type { AxiosResponse } from 'axios';
6
7
  import type * as z from 'zod';
7
8
  export type ProxyConfiguration = Omit<UserProvidedProxyConfiguration, 'files' | 'providerConfigKey' | 'connectionId'> & {
@@ -53,7 +54,7 @@ export declare abstract class NangoActionBase<TMetadata extends ZodMetadata = ne
53
54
  put<T = any>(config: Omit<ProxyConfiguration, 'method'>): Promise<AxiosResponse<T>>;
54
55
  patch<T = any>(config: Omit<ProxyConfiguration, 'method'>): Promise<AxiosResponse<T>>;
55
56
  delete<T = any>(config: Omit<ProxyConfiguration, 'method'>): Promise<AxiosResponse<T>>;
56
- getToken(): Promise<string | OAuth1Token | OAuth2ClientCredentials | BasicApiCredentials | ApiKeyCredentials | AppCredentials | AppStoreCredentials | UnauthCredentials | CustomCredentials | TbaCredentials | JwtCredentials | BillCredentials | TwoStepCredentials | SignatureCredentials | InstallPluginCredentials>;
57
+ getToken(): Promise<string | OAuth1Token | OAuth2ClientCredentials | BasicApiCredentials | ApiKeyCredentials | AppCredentials | AppStoreCredentials | UnauthCredentials | CustomCredentials | TbaCredentials | JwtCredentials | BillCredentials | TwoStepCredentials | SignatureCredentials | InstallPluginCredentials | AwsSigV4Credentials>;
57
58
  /**
58
59
  * Get current integration
59
60
  */
@@ -120,12 +121,7 @@ export declare abstract class NangoActionBase<TMetadata extends ZodMetadata = ne
120
121
  * Uncontrolled fetch is a regular fetch without retry or credentials injection.
121
122
  * Only use that method when you want to access resources that are unrelated to the current connection/provider.
122
123
  */
123
- uncontrolledFetch(options: {
124
- url: URL;
125
- method?: HTTP_METHOD;
126
- headers?: Record<string, string> | undefined;
127
- body?: string | null;
128
- }): Promise<Response>;
124
+ abstract uncontrolledFetch(options: UncontrolledFetchOptions): Promise<Response>;
129
125
  /**
130
126
  * Try to acquire a lock for a given key.
131
127
  * The lock is acquired if the key does not exist or if it exists but is expired.
package/dist/action.js CHANGED
@@ -1,13 +1,8 @@
1
1
  import { getProvider } from '@nangohq/providers';
2
- import { getBaseUrlOverrideDenylistFromEnv, isBaseUrlOverrideDenied } from './baseUrlOverrideDenylist.js';
3
2
  import { ActionError, ExecutionAbortedSDKError, ExecutionInterruptedSDKError, ExecutionTimeoutSDKError, UnknownProviderSDKError } from './errors.js';
4
3
  import paginateService from './paginate.service.js';
5
4
  const MEMOIZED_CONNECTION_TTL = 60000;
6
5
  const MEMOIZED_INTEGRATION_TTL = 10 * 60 * 1000;
7
- /** Max hops when following redirects manually (denylist checked per hop). */
8
- const UNCONTROLLED_FETCH_MAX_REDIRECTS = 5;
9
- const REDIRECT_STATUS_CODES = new Set([301, 302, 303, 307, 308]);
10
- const ALLOWED_REDIRECT_PROTOCOLS = new Set(['http:', 'https:']);
11
6
  export class NangoActionBase {
12
7
  attributes = {};
13
8
  logger;
@@ -302,102 +297,5 @@ export class NangoActionBase {
302
297
  }
303
298
  return parsedInput;
304
299
  }
305
- /**
306
- * Uncontrolled fetch is a regular fetch without retry or credentials injection.
307
- * Only use that method when you want to access resources that are unrelated to the current connection/provider.
308
- */
309
- async uncontrolledFetch(options) {
310
- const baseUrlOverrideDenylist = getBaseUrlOverrideDenylistFromEnv();
311
- const throwIfDenied = (absoluteUrl) => {
312
- if (baseUrlOverrideDenylist.size > 0 && isBaseUrlOverrideDenied(absoluteUrl, baseUrlOverrideDenylist)) {
313
- throw new this.ActionError({
314
- code: 'url_not_allowed',
315
- message: 'This URL is not allowed by server configuration.'
316
- });
317
- }
318
- };
319
- throwIfDenied(options.url.toString());
320
- let currentUrl = new URL(options.url.href);
321
- let method = options.method || 'GET';
322
- let body = options.body ?? undefined;
323
- const headerBag = new Headers(options.headers);
324
- for (let redirectsFollowed = 0;; redirectsFollowed++) {
325
- const props = {
326
- headers: new Headers(headerBag),
327
- method,
328
- redirect: 'manual'
329
- // TODO: use agent
330
- };
331
- if (body) {
332
- props.body = body;
333
- }
334
- const response = await fetch(currentUrl, props);
335
- if (!REDIRECT_STATUS_CODES.has(response.status)) {
336
- return response;
337
- }
338
- const location = response.headers.get('Location');
339
- if (!location) {
340
- return response;
341
- }
342
- // We're about to follow the redirect; we won't return this response, so cancel its body.
343
- void response.body?.cancel();
344
- if (redirectsFollowed >= UNCONTROLLED_FETCH_MAX_REDIRECTS) {
345
- throw new this.ActionError({
346
- code: 'too_many_redirects',
347
- message: `Exceeded maximum of ${UNCONTROLLED_FETCH_MAX_REDIRECTS} redirects.`
348
- });
349
- }
350
- let nextUrl;
351
- try {
352
- nextUrl = new URL(location, currentUrl);
353
- }
354
- catch {
355
- throw new this.ActionError({
356
- code: 'invalid_redirect',
357
- message: 'Redirect Location could not be parsed as a URL.'
358
- });
359
- }
360
- // Native fetch rejects redirects to non-HTTP(S) schemes.
361
- if (!ALLOWED_REDIRECT_PROTOCOLS.has(nextUrl.protocol)) {
362
- throw new this.ActionError({
363
- code: 'invalid_redirect',
364
- message: 'Redirect Location must use http: or https:.'
365
- });
366
- }
367
- throwIfDenied(nextUrl.toString());
368
- // Native fetch strips sensitive headers when redirecting to a different origin.
369
- // Because we follow redirects manually, we must replicate that to avoid credential leaks.
370
- if (currentUrl.origin !== nextUrl.origin) {
371
- headerBag.delete('authorization');
372
- headerBag.delete('proxy-authorization');
373
- headerBag.delete('cookie');
374
- }
375
- // Match common fetch redirect semantics:
376
- // - 303: switch to GET only if method is neither GET nor HEAD (drop body)
377
- // - 301/302: switch to GET only for POST (preserve PUT/PATCH/DELETE, etc.)
378
- // - 307/308: preserve method and body
379
- const upperMethod = method.toUpperCase();
380
- const shouldSwitchToGet = (response.status === 303 && upperMethod !== 'GET' && upperMethod !== 'HEAD') ||
381
- ((response.status === 301 || response.status === 302) && upperMethod === 'POST');
382
- if (shouldSwitchToGet) {
383
- method = 'GET';
384
- body = undefined;
385
- // When we rewrite to GET, drop request-body specific headers (native fetch does not forward them).
386
- for (const h of [
387
- 'content-length',
388
- 'content-type',
389
- 'content-encoding',
390
- 'content-language',
391
- 'content-location',
392
- 'content-md5',
393
- 'content-range',
394
- 'transfer-encoding'
395
- ]) {
396
- headerBag.delete(h);
397
- }
398
- }
399
- currentUrl = nextUrl;
400
- }
401
- }
402
300
  }
403
301
  //# sourceMappingURL=action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../lib/action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../lib/action.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,19 @@
1
1
  /**
2
- * Hostname form used for denylist matching: lowercase, no bracketed IPv6 wrapper, no trailing FQDN dot.
2
+ * Denylist helpers for runner-sdk sandbox code.
3
3
  *
4
- * Note: WHATWG URL already normalizes IPv4 hostnames to dotted decimal (`127.0.0.1`) for octal,
5
- * hexadecimal, and 32-bit integer spellings. That applies to `new URL(url).hostname` in
6
- * {@link isBaseUrlOverrideDenied}. Bare denylist entries are passed through `new URL('http://…')`
7
- * in {@link normalizeDenylistHost} so they use the same IPv4 rules. IPv6 literals must be bracketed
8
- * when using bare form (`[::1]`), matching URL parsing.
4
+ * Keep aligned with `packages/utils/lib/proxy/baseUrlOverrideDenylist.ts` (canonical for services).
5
+ * runner-sdk cannot depend on other `@nangohq/*` packages, so this module is duplicated in-package.
9
6
  */
7
+ export declare const DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST: readonly ["169.254.169.254", "metadata.google.internal", "localhost", "127.0.0.1", "[::1]", "[::ffff:127.0.0.1]", "[::ffff:169.254.169.254]"];
10
8
  export declare function canonicalizeHostnameForDenylist(host: string): string;
11
- /**
12
- * Normalize a denylist entry to a lowercase hostname for comparison.
13
- * Accepts full URLs (`://` present), or bare hostnames / `host:port` / IPv4 literals — bare forms are
14
- * parsed with `new URL('http://…')` so IPv4 uses the same normalization as {@link isBaseUrlOverrideDenied}.
15
- */
16
9
  export declare function normalizeDenylistHost(entry: string): string;
17
10
  export declare function normalizeDenylist(denylist: string[] | undefined): Set<string>;
18
11
  export declare function isBaseUrlOverrideDenied(overrideUrl: string, denylist: Set<string>): boolean;
12
+ export declare function mergeProxyBaseUrlOverrideDenylist(customEntries: string[]): string[];
13
+ /**
14
+ * Runner-side denylist resolution. Unlike server env parsing, runners always apply secure defaults
15
+ * when the env is unset or empty (`[]` / `''`) so a server-level opt-out is not inherited.
16
+ */
17
+ export declare function resolveProxyBaseUrlOverrideDenylist(raw: string | undefined): string[];
18
+ export declare function isBaseUrlOverridePolicyEnabledFromEnv(): boolean;
19
19
  export declare function getBaseUrlOverrideDenylistFromEnv(): Set<string>;
@@ -1,12 +1,18 @@
1
1
  /**
2
- * Hostname form used for denylist matching: lowercase, no bracketed IPv6 wrapper, no trailing FQDN dot.
2
+ * Denylist helpers for runner-sdk sandbox code.
3
3
  *
4
- * Note: WHATWG URL already normalizes IPv4 hostnames to dotted decimal (`127.0.0.1`) for octal,
5
- * hexadecimal, and 32-bit integer spellings. That applies to `new URL(url).hostname` in
6
- * {@link isBaseUrlOverrideDenied}. Bare denylist entries are passed through `new URL('http://…')`
7
- * in {@link normalizeDenylistHost} so they use the same IPv4 rules. IPv6 literals must be bracketed
8
- * when using bare form (`[::1]`), matching URL parsing.
4
+ * Keep aligned with `packages/utils/lib/proxy/baseUrlOverrideDenylist.ts` (canonical for services).
5
+ * runner-sdk cannot depend on other `@nangohq/*` packages, so this module is duplicated in-package.
9
6
  */
7
+ export const DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST = [
8
+ '169.254.169.254',
9
+ 'metadata.google.internal',
10
+ 'localhost',
11
+ '127.0.0.1',
12
+ '[::1]',
13
+ '[::ffff:127.0.0.1]',
14
+ '[::ffff:169.254.169.254]'
15
+ ];
10
16
  export function canonicalizeHostnameForDenylist(host) {
11
17
  let h = host.trim().toLowerCase();
12
18
  if (h.startsWith('[') && h.endsWith(']')) {
@@ -17,11 +23,6 @@ export function canonicalizeHostnameForDenylist(host) {
17
23
  }
18
24
  return h;
19
25
  }
20
- /**
21
- * Normalize a denylist entry to a lowercase hostname for comparison.
22
- * Accepts full URLs (`://` present), or bare hostnames / `host:port` / IPv4 literals — bare forms are
23
- * parsed with `new URL('http://…')` so IPv4 uses the same normalization as {@link isBaseUrlOverrideDenied}.
24
- */
25
26
  export function normalizeDenylistHost(entry) {
26
27
  const trimmed = entry.trim();
27
28
  if (!trimmed) {
@@ -61,44 +62,63 @@ export function isBaseUrlOverrideDenied(overrideUrl, denylist) {
61
62
  hostname = canonicalizeHostnameForDenylist(new URL(overrideUrl).hostname);
62
63
  }
63
64
  catch {
64
- // Fail closed when a denylist is configured but the URL cannot be parsed.
65
65
  return true;
66
66
  }
67
67
  return denylist.has(hostname);
68
68
  }
69
- let memoizedBaseUrlOverrideDenylist = null;
70
- function parseDenylistEnvValue(raw) {
71
- if (!raw) {
72
- return [];
69
+ export function mergeProxyBaseUrlOverrideDenylist(customEntries) {
70
+ const merged = [...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST, ...customEntries];
71
+ return [...new Set(merged)];
72
+ }
73
+ function isBaseUrlOverrideEnabledFromEnv() {
74
+ const raw = typeof process !== 'undefined' ? process.env['NANGO_PROXY_BASE_URL_OVERRIDE_ENABLED'] : undefined;
75
+ if (raw === undefined) {
76
+ return true;
77
+ }
78
+ const normalized = raw.trim().toLowerCase();
79
+ return normalized !== 'false' && normalized !== '0';
80
+ }
81
+ /**
82
+ * Runner-side denylist resolution. Unlike server env parsing, runners always apply secure defaults
83
+ * when the env is unset or empty (`[]` / `''`) so a server-level opt-out is not inherited.
84
+ */
85
+ export function resolveProxyBaseUrlOverrideDenylist(raw) {
86
+ if (raw === undefined) {
87
+ return [...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST];
73
88
  }
74
89
  const trimmed = raw.trim();
75
- if (!trimmed) {
76
- return [];
90
+ if (trimmed === '') {
91
+ return [...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST];
77
92
  }
78
- // Matches server behavior: env is a JSON array of strings.
79
93
  try {
80
94
  const parsed = JSON.parse(trimmed);
81
95
  if (!Array.isArray(parsed)) {
82
- return [];
96
+ return [...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST];
83
97
  }
84
- return parsed
98
+ if (parsed.length === 0) {
99
+ return [...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST];
100
+ }
101
+ const customEntries = parsed
85
102
  .filter((v) => typeof v === 'string')
86
103
  .map((v) => v.trim())
87
104
  .filter(Boolean);
105
+ return mergeProxyBaseUrlOverrideDenylist(customEntries);
88
106
  }
89
107
  catch {
90
- // If the env is misconfigured, fail open (denylist disabled) rather than breaking user scripts.
91
- return [];
108
+ return [...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST];
92
109
  }
93
110
  }
111
+ let memoizedBaseUrlOverrideDenylist = null;
112
+ export function isBaseUrlOverridePolicyEnabledFromEnv() {
113
+ return isBaseUrlOverrideEnabledFromEnv();
114
+ }
94
115
  export function getBaseUrlOverrideDenylistFromEnv() {
95
116
  if (memoizedBaseUrlOverrideDenylist) {
96
117
  return memoizedBaseUrlOverrideDenylist;
97
118
  }
98
119
  const raw = typeof process !== 'undefined' ? process.env['NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST'] : undefined;
99
- const denylist = normalizeDenylist(parseDenylistEnvValue(raw));
100
- // In AWS Lambda, this env points to the internal runtime API (commonly `127.0.0.1:9001`).
101
- // We always deny it to prevent accidental SSRF access from user-provided overrides.
120
+ const entries = isBaseUrlOverrideEnabledFromEnv() ? resolveProxyBaseUrlOverrideDenylist(raw) : [...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST];
121
+ const denylist = normalizeDenylist(entries);
102
122
  const lambdaRuntimeApi = typeof process !== 'undefined' ? process.env['AWS_LAMBDA_RUNTIME_API'] : undefined;
103
123
  if (lambdaRuntimeApi) {
104
124
  const normalized = normalizeDenylistHost(lambdaRuntimeApi);
@@ -1 +1 @@
1
- {"version":3,"file":"baseUrlOverrideDenylist.js","sourceRoot":"","sources":["../lib/baseUrlOverrideDenylist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseUrlOverrideDenylist.js","sourceRoot":"","sources":["../lib/baseUrlOverrideDenylist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAG;IAC1D,iBAAiB;IACjB,0BAA0B;IAC1B,WAAW;IACX,WAAW;IACX,OAAO;IACP,oBAAoB;IACpB,0BAA0B;CACpB,CAAC;AAEX,MAAM,UAAU,+BAA+B,CAAC,IAAY;IACxD,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,IAAY,CAAC;IACjB,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,GAAG,OAAO,CAAC;QACnB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,GAAG,OAAO,CAAC;QACnB,CAAC;IACL,CAAC;IAED,OAAO,+BAA+B,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA8B;IAC5D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,GAAG,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAmB,EAAE,QAAqB;IAC9E,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACD,QAAQ,GAAG,+BAA+B,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,aAAuB;IACrE,MAAM,MAAM,GAAG,CAAC,GAAG,8CAA8C,EAAE,GAAG,aAAa,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,+BAA+B;IACpC,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9G,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,GAAG,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mCAAmC,CAAC,GAAuB;IACvE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,8CAA8C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,8CAA8C,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,8CAA8C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,8CAA8C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,aAAa,GAAG,MAAM;aACvB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;aACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,iCAAiC,CAAC,aAAa,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,CAAC,GAAG,8CAA8C,CAAC,CAAC;IAC/D,CAAC;AACL,CAAC;AAED,IAAI,+BAA+B,GAAuB,IAAI,CAAC;AAE/D,MAAM,UAAU,qCAAqC;IACjD,OAAO,+BAA+B,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC7C,IAAI,+BAA+B,EAAE,CAAC;QAClC,OAAO,+BAA+B,CAAC;IAC3C,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/G,MAAM,OAAO,GAAG,+BAA+B,EAAE,CAAC,CAAC,CAAC,mCAAmC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,8CAA8C,CAAC,CAAC;IACnJ,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE5C,MAAM,gBAAgB,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,IAAI,gBAAgB,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,UAAU,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,+BAA+B,GAAG,QAAQ,CAAC;IAC3C,OAAO,+BAA+B,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
2
+ import { DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST, canonicalizeHostnameForDenylist, isBaseUrlOverrideDenied, mergeProxyBaseUrlOverrideDenylist, normalizeDenylist, normalizeDenylistHost, resolveProxyBaseUrlOverrideDenylist } from './baseUrlOverrideDenylist.js';
3
+ describe('runner-sdk baseUrlOverrideDenylist', () => {
4
+ beforeEach(() => {
5
+ vi.resetModules();
6
+ vi.unstubAllEnvs();
7
+ });
8
+ afterEach(() => {
9
+ vi.unstubAllEnvs();
10
+ });
11
+ it('matches utils canonicalizeHostnameForDenylist behavior', () => {
12
+ expect(canonicalizeHostnameForDenylist('localhost.')).toBe('localhost');
13
+ expect(canonicalizeHostnameForDenylist('[::1]')).toBe('::1');
14
+ });
15
+ it('matches utils normalizeDenylistHost behavior', () => {
16
+ expect(normalizeDenylistHost('LOCALHOST')).toBe('localhost');
17
+ expect(normalizeDenylistHost('http://169.254.169.254/path')).toBe('169.254.169.254');
18
+ });
19
+ it('matches utils isBaseUrlOverrideDenied behavior', () => {
20
+ expect(isBaseUrlOverrideDenied('http://169.254.169.254/', new Set())).toBe(false);
21
+ expect(isBaseUrlOverrideDenied('http://169.254.169.254/foo', new Set(['169.254.169.254']))).toBe(true);
22
+ });
23
+ it('blocks IPv4-mapped IPv6 loopback with default denylist', () => {
24
+ const list = normalizeDenylist([...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST]);
25
+ expect(isBaseUrlOverrideDenied('http://[::ffff:127.0.0.1]/', list)).toBe(true);
26
+ });
27
+ it('resolveProxyBaseUrlOverrideDenylist returns defaults when unset', () => {
28
+ expect(resolveProxyBaseUrlOverrideDenylist(undefined)).toEqual([...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST]);
29
+ });
30
+ it('resolveProxyBaseUrlOverrideDenylist applies secure defaults for empty env (runner does not inherit server opt-out)', () => {
31
+ expect(resolveProxyBaseUrlOverrideDenylist('[]')).toEqual([...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST]);
32
+ expect(resolveProxyBaseUrlOverrideDenylist('[ ]')).toEqual([...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST]);
33
+ expect(resolveProxyBaseUrlOverrideDenylist('[\n]')).toEqual([...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST]);
34
+ expect(resolveProxyBaseUrlOverrideDenylist('')).toEqual([...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST]);
35
+ });
36
+ it('resolveProxyBaseUrlOverrideDenylist falls back to secure defaults on malformed JSON', () => {
37
+ expect(resolveProxyBaseUrlOverrideDenylist('not-json')).toEqual([...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST]);
38
+ expect(resolveProxyBaseUrlOverrideDenylist('null')).toEqual([...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST]);
39
+ expect(resolveProxyBaseUrlOverrideDenylist('{}')).toEqual([...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST]);
40
+ });
41
+ it('mergeProxyBaseUrlOverrideDenylist merges custom entries with defaults', () => {
42
+ expect(mergeProxyBaseUrlOverrideDenylist(['denylisted-proxy-test.invalid'])).toEqual([
43
+ ...DEFAULT_NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST,
44
+ 'denylisted-proxy-test.invalid'
45
+ ]);
46
+ });
47
+ it('getBaseUrlOverrideDenylistFromEnv applies defaults when env is unset', async () => {
48
+ const { getBaseUrlOverrideDenylistFromEnv: getDenylist } = await import('./baseUrlOverrideDenylist.js');
49
+ const denylist = getDenylist();
50
+ expect(denylist.has('localhost')).toBe(true);
51
+ expect(denylist.has('169.254.169.254')).toBe(true);
52
+ });
53
+ it('getBaseUrlOverrideDenylistFromEnv applies secure defaults when denylist env is empty', async () => {
54
+ vi.stubEnv('NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST', '[]');
55
+ const { getBaseUrlOverrideDenylistFromEnv: getDenylist } = await import('./baseUrlOverrideDenylist.js');
56
+ const denylist = getDenylist();
57
+ expect(denylist.has('localhost')).toBe(true);
58
+ expect(denylist.has('169.254.169.254')).toBe(true);
59
+ });
60
+ it('getBaseUrlOverrideDenylistFromEnv enforces secure defaults when override feature is disabled', async () => {
61
+ vi.stubEnv('NANGO_PROXY_BASE_URL_OVERRIDE_ENABLED', 'false');
62
+ vi.stubEnv('NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST', '[]');
63
+ const { getBaseUrlOverrideDenylistFromEnv: getDenylist } = await import('./baseUrlOverrideDenylist.js');
64
+ const denylist = getDenylist();
65
+ expect(denylist.has('localhost')).toBe(true);
66
+ expect(denylist.has('169.254.169.254')).toBe(true);
67
+ });
68
+ it('getBaseUrlOverrideDenylistFromEnv auto-denies AWS Lambda runtime API host', async () => {
69
+ vi.stubEnv('NANGO_PROXY_BASE_URL_OVERRIDE_DENYLIST', '[]');
70
+ vi.stubEnv('AWS_LAMBDA_RUNTIME_API', '127.0.0.1:9001');
71
+ const { getBaseUrlOverrideDenylistFromEnv: getDenylist } = await import('./baseUrlOverrideDenylist.js');
72
+ const denylist = getDenylist();
73
+ expect(denylist.has('127.0.0.1')).toBe(true);
74
+ });
75
+ });
76
+ //# sourceMappingURL=baseUrlOverrideDenylist.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseUrlOverrideDenylist.unit.test.js","sourceRoot":"","sources":["../lib/baseUrlOverrideDenylist.unit.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,5 +5,8 @@ export * from './errors.js';
5
5
  export * from './sync.js';
6
6
  export * from './scripts.js';
7
7
  export * from './checkpoint.js';
8
+ export { executeUncontrolledFetch } from './uncontrolledFetch.js';
9
+ export type { UncontrolledFetchOptions } from './uncontrolledFetch.js';
10
+ export { isBaseUrlOverridePolicyEnabledFromEnv, resolveProxyBaseUrlOverrideDenylist } from './baseUrlOverrideDenylist.js';
8
11
  import PaginationService from './paginate.service.js';
9
12
  export { PaginationService };
package/dist/index.js CHANGED
@@ -4,6 +4,8 @@ export * from './errors.js';
4
4
  export * from './sync.js';
5
5
  export * from './scripts.js';
6
6
  export * from './checkpoint.js';
7
+ export { executeUncontrolledFetch } from './uncontrolledFetch.js';
8
+ export { isBaseUrlOverridePolicyEnabledFromEnv, resolveProxyBaseUrlOverrideDenylist } from './baseUrlOverrideDenylist.js';
7
9
  import PaginationService from './paginate.service.js';
8
10
  export { PaginationService };
9
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,qCAAqC,EAAE,mCAAmC,EAAE,MAAM,8BAA8B,CAAC;AAC1H,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}