@n8n/ai-utilities 0.31.1 → 0.32.0

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.
@@ -1,5 +1,7 @@
1
1
  export interface FollowRedirectsOptions {
2
- onBeforeHop?: (url: string) => void | Promise<void>;
2
+ onBeforeHop?: (url: string, info: {
3
+ crossedOrigin: boolean;
4
+ }) => void | Promise<void>;
3
5
  maxRedirects?: number;
4
6
  }
5
7
  export declare function fetchFollowingRedirects(fetcher: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>, url: string | URL, init?: RequestInit, options?: FollowRedirectsOptions): Promise<Response>;
@@ -3,15 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchFollowingRedirects = fetchFollowingRedirects;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
5
  const DEFAULT_MAX_REDIRECTS = 20;
6
+ const CREDENTIAL_HEADERS = ['authorization', 'cookie', 'proxy-authorization'];
6
7
  async function fetchFollowingRedirects(fetcher, url, init, options) {
7
8
  const maxRedirects = options?.maxRedirects ?? DEFAULT_MAX_REDIRECTS;
8
9
  let currentInput = url;
9
10
  let currentInit = { ...init };
10
11
  let hops = 0;
12
+ let crossedOrigin = false;
11
13
  while (true) {
12
14
  const currentUrlString = currentInput instanceof URL ? currentInput.href : currentInput;
13
15
  if (options?.onBeforeHop) {
14
- await options.onBeforeHop(currentUrlString);
16
+ await options.onBeforeHop(currentUrlString, { crossedOrigin });
15
17
  }
16
18
  const response = await fetcher(currentInput, {
17
19
  ...currentInit,
@@ -30,6 +32,13 @@ async function fetchFollowingRedirects(fetcher, url, init, options) {
30
32
  }
31
33
  await response.body?.cancel().catch(() => { });
32
34
  currentInput = new URL(location, currentUrlString);
35
+ if (currentInput.origin !== new URL(currentUrlString).origin) {
36
+ crossedOrigin = true;
37
+ const headers = new Headers(currentInit.headers);
38
+ for (const header of CREDENTIAL_HEADERS)
39
+ headers.delete(header);
40
+ currentInit = { ...currentInit, headers };
41
+ }
33
42
  const method = (currentInit.method ?? 'GET').toUpperCase();
34
43
  const isUnsafe = method !== 'GET' && method !== 'HEAD';
35
44
  if (response.status === 303 ||
@@ -1 +1 @@
1
- {"version":3,"file":"follow-redirects.js","sourceRoot":"","sources":["../../../src/utils/follow-redirects.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAEhD,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAY1B,KAAK,kCACX,OAA4E,EAC5E,GAAiB,EACjB,IAAkB,EAClB,OAAgC;IAEhC,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,qBAAqB,CAAC;IACpE,IAAI,YAAY,GAAiB,GAAG,CAAC;IACrC,IAAI,WAAW,GAAgB,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3C,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,gBAAgB,GAAG,YAAY,YAAY,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QACxF,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE;YAC5C,GAAG,WAAW;YACd,QAAQ,EAAE,QAAQ;SAClB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACrD,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,CAAC;QACV,IAAI,IAAI,GAAG,YAAY,EAAE,CAAC;YACzB,MAAM,IAAI,+BAAgB,CAAC,2BAA2B,YAAY,GAAG,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE9C,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEnD,MAAM,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC;QACvD,IACC,QAAQ,CAAC,MAAM,KAAK,GAAG;YACvB,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,QAAQ,CAAC,EACjE,CAAC;YACF,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAClE,CAAC;IACF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"follow-redirects.js","sourceRoot":"","sources":["../../../src/utils/follow-redirects.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAEhD,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAajC,MAAM,kBAAkB,GAAG,CAAC,eAAe,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;AAOvE,KAAK,kCACX,OAA4E,EAC5E,GAAiB,EACjB,IAAkB,EAClB,OAAgC;IAEhC,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,qBAAqB,CAAC;IACpE,IAAI,YAAY,GAAiB,GAAG,CAAC;IACrC,IAAI,WAAW,GAAgB,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,gBAAgB,GAAG,YAAY,YAAY,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QACxF,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE;YAC5C,GAAG,WAAW;YACd,QAAQ,EAAE,QAAQ;SAClB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACrD,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,CAAC;QACV,IAAI,IAAI,GAAG,YAAY,EAAE,CAAC;YACzB,MAAM,IAAI,+BAAgB,CAAC,2BAA2B,YAAY,GAAG,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE9C,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEnD,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;YAC9D,aAAa,GAAG,IAAI,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACjD,KAAK,MAAM,MAAM,IAAI,kBAAkB;gBAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChE,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,CAAC;QAC3C,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC;QACvD,IACC,QAAQ,CAAC,MAAM,KAAK,GAAG;YACvB,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,QAAQ,CAAC,EACjE,CAAC;YACF,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAClE,CAAC;IACF,CAAC;AACF,CAAC"}
@@ -29,9 +29,17 @@ function getProxyAgent(targetUrl, timeoutOptions, lookup = node_dns_1.lookup) {
29
29
  return new undici_1.Agent({ ...agentOptions, connect: { lookup } });
30
30
  }
31
31
  async function proxyFetch({ input, init, timeoutOptions, lookup, }) {
32
- const targetUrl = input instanceof Request ? input.url : input.toString();
32
+ const isRequest = typeof input !== 'string' && !(input instanceof URL);
33
+ const targetUrl = isRequest ? input.url : input.toString();
33
34
  const dispatcher = getProxyAgent(targetUrl, timeoutOptions, lookup);
34
- return (await (0, undici_1.fetch)(input, {
35
+ return (await (0, undici_1.fetch)(targetUrl, {
36
+ ...(isRequest && {
37
+ method: input.method,
38
+ headers: [...input.headers],
39
+ body: input.body === null ? undefined : await input.arrayBuffer(),
40
+ signal: input.signal,
41
+ redirect: input.redirect,
42
+ }),
35
43
  ...init,
36
44
  dispatcher,
37
45
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"http-proxy-agent.js","sourceRoot":"","sources":["../../../src/utils/http-proxy-agent.ts"],"names":[],"mappings":";;;;;AAkBA,sDAAoF;AACpF,uCAAmD;AAInD,mCAAiE;AAejE,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,EAAE,EAAE,CAAC,CAAC;AAMlF,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;AAO7D,IAAI,WAA8B,CAAC;AAkBnC,uBACC,SAAkB,EAClB,cAAoC,EACpC,MAAM,GAAmB,iBAAa;IAEtC,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG;QACpB,cAAc,EAAE,cAAc,EAAE,cAAc,IAAI,eAAe;QACjE,WAAW,EAAE,cAAc,EAAE,WAAW,IAAI,eAAe;QAC3D,GAAG,CAAC,cAAc,EAAE,cAAc,KAAK,SAAS,IAAI;YACnD,cAAc,EAAE,cAAc,CAAC,cAAc;SAC7C,CAAC;KACF,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,mBAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,aAAa,GAClB,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,KAAK,iBAAa,CAAC;IAEhF,IAAI,aAAa,EAAE,CAAC;QACnB,WAAW,KAAK,IAAI,cAAK,CAAC,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,cAAK,CAAC,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC;AAoBM,KAAK,qBAAqB,EAChC,KAAK,EACL,IAAI,EACJ,cAAc,EACd,MAAM,GACa;IACnB,MAAM,SAAS,GAAG,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1E,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAIpE,OAAO,CAAC,MAAM,IAAA,cAAW,EAAC,KAA0C,EAAE;QACrE,GAAI,IAA0C;QAC9C,UAAU;KACV,CAAC,CAAwB,CAAC;AAC5B,CAAC;AAUD,2BAAkC,SAAkB,EAAE,YAA2B;IAChF,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAEnE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,IAAA,6BAAqB,EAAC,SAAS,IAAI,qBAAqB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"http-proxy-agent.js","sourceRoot":"","sources":["../../../src/utils/http-proxy-agent.ts"],"names":[],"mappings":";;;;;AAkBA,sDAAoF;AACpF,uCAAmD;AAInD,mCAAiE;AAejE,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,EAAE,EAAE,CAAC,CAAC;AAMlF,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;AAO7D,IAAI,WAA8B,CAAC;AAkBnC,uBACC,SAAkB,EAClB,cAAoC,EACpC,MAAM,GAAmB,iBAAa;IAEtC,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG;QACpB,cAAc,EAAE,cAAc,EAAE,cAAc,IAAI,eAAe;QACjE,WAAW,EAAE,cAAc,EAAE,WAAW,IAAI,eAAe;QAC3D,GAAG,CAAC,cAAc,EAAE,cAAc,KAAK,SAAS,IAAI;YACnD,cAAc,EAAE,cAAc,CAAC,cAAc;SAC7C,CAAC;KACF,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,mBAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,aAAa,GAClB,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,KAAK,iBAAa,CAAC;IAEhF,IAAI,aAAa,EAAE,CAAC;QACnB,WAAW,KAAK,IAAI,cAAK,CAAC,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,cAAK,CAAC,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC;AAoBM,KAAK,qBAAqB,EAChC,KAAK,EACL,IAAI,EACJ,cAAc,EACd,MAAM,GACa;IAGnB,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAOpE,OAAO,CAAC,MAAM,IAAA,cAAW,EAAC,SAAS,EAAE;QACpC,GAAG,CAAC,SAAS,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YAC3B,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE;YACjE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACxB,CAAC;QACF,GAAI,IAA0C;QAC9C,UAAU;KACV,CAAC,CAAwB,CAAC;AAC5B,CAAC;AAUD,2BAAkC,SAAkB,EAAE,YAA2B;IAChF,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAEnE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,IAAA,6BAAqB,EAAC,SAAS,IAAI,qBAAqB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC1F,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface RefreshingAuthFetchOptions {
2
+ baseFetch: typeof fetch;
3
+ initialHeaders?: HeadersInit;
4
+ refreshHeaders?: (current: Headers) => Promise<HeadersInit | null>;
5
+ shouldRefresh?: () => boolean;
6
+ assertAllowedUrl?: (url: string) => void | Promise<void>;
7
+ }
8
+ export declare function createRefreshingAuthFetch({ baseFetch, initialHeaders, refreshHeaders, shouldRefresh, assertAllowedUrl, }: RefreshingAuthFetchOptions): typeof fetch;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRefreshingAuthFetch = createRefreshingAuthFetch;
4
+ const follow_redirects_1 = require("./follow-redirects");
5
+ function mergeHeaders(requestHeaders, authHeaders) {
6
+ const merged = new Headers(requestHeaders);
7
+ authHeaders.forEach((value, name) => merged.set(name, value));
8
+ return merged;
9
+ }
10
+ function getInputHeaders(input, init) {
11
+ return init?.headers ?? (input instanceof Request ? input.headers : undefined);
12
+ }
13
+ function createRefreshingAuthFetch({ baseFetch, initialHeaders, refreshHeaders, shouldRefresh, assertAllowedUrl, }) {
14
+ let authHeaders = new Headers(initialHeaders);
15
+ let authVersion = 0;
16
+ let refreshInFlight;
17
+ const refresh = async () => {
18
+ refreshInFlight ??= (async () => {
19
+ const refreshed = await refreshHeaders?.(new Headers(authHeaders));
20
+ if (!refreshed)
21
+ return false;
22
+ authHeaders = new Headers(refreshed);
23
+ authVersion += 1;
24
+ return true;
25
+ })();
26
+ try {
27
+ return await refreshInFlight;
28
+ }
29
+ finally {
30
+ refreshInFlight = undefined;
31
+ }
32
+ };
33
+ return async (input, init) => {
34
+ let retried = false;
35
+ let sendAuth = true;
36
+ const authedFetch = async (requestInput, requestInit) => {
37
+ if (sendAuth && refreshHeaders && shouldRefresh?.()) {
38
+ await refresh();
39
+ }
40
+ const requestAuthVersion = authVersion;
41
+ const execute = async () => await baseFetch(requestInput instanceof Request ? requestInput.clone() : requestInput, {
42
+ ...requestInit,
43
+ headers: sendAuth
44
+ ? mergeHeaders(getInputHeaders(requestInput, requestInit), authHeaders)
45
+ : getInputHeaders(requestInput, requestInit),
46
+ });
47
+ const response = await execute();
48
+ if (response.status !== 401 || !refreshHeaders || retried || !sendAuth)
49
+ return response;
50
+ retried = true;
51
+ const canRetry = authVersion !== requestAuthVersion || (await refresh());
52
+ if (!canRetry)
53
+ return response;
54
+ await response.body?.cancel().catch(() => { });
55
+ return await execute();
56
+ };
57
+ if (!assertAllowedUrl)
58
+ return await authedFetch(input, init);
59
+ const startUrl = input instanceof Request ? input.url : input;
60
+ return await (0, follow_redirects_1.fetchFollowingRedirects)(authedFetch, startUrl, init, {
61
+ onBeforeHop: async (hopUrl, { crossedOrigin }) => {
62
+ sendAuth = !crossedOrigin;
63
+ await assertAllowedUrl(hopUrl);
64
+ },
65
+ });
66
+ };
67
+ }
68
+ //# sourceMappingURL=refreshing-auth-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refreshing-auth-fetch.js","sourceRoot":"","sources":["../../../src/utils/refreshing-auth-fetch.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export { getProxyAgent, getNodeProxyAgent, proxyFetch, type AgentTimeoutOptions,
19
19
  export { braveSearch, searxngSearch, type BraveSearchOptions } from './web-search';
20
20
  export type { WebSearchOptions, WebSearchResponse, WebSearchResult } from './web-search';
21
21
  export { fetchFollowingRedirects, type FollowRedirectsOptions, } from './utils/follow-redirects';
22
+ export { createRefreshingAuthFetch, type RefreshingAuthFetchOptions, } from './utils/refreshing-auth-fetch';
22
23
  export { getConnectionHintNoticeField, metadataFilterField, getBatchingOptionFields, getTemplateNoticeField, } from './utils/shared-fields';
23
24
  export { createToolFromNode, createZodSchemaFromArgs, extractFromAIParameters, } from './utils/fromai-tool-factory';
24
25
  export { createVectorStoreNode } from './utils/vector-store/createVectorStoreNode/createVectorStoreNode';
package/dist/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getParametersJsonSchema = exports.processDocument = exports.processDocuments = exports.MemoryVectorStoreManager = exports.createVectorStoreNode = exports.extractFromAIParameters = exports.createZodSchemaFromArgs = exports.createToolFromNode = exports.getTemplateNoticeField = exports.getBatchingOptionFields = exports.metadataFilterField = exports.getConnectionHintNoticeField = exports.fetchFollowingRedirects = exports.searxngSearch = exports.braveSearch = exports.proxyFetch = exports.getNodeProxyAgent = exports.getProxyAgent = exports.makeN8nLlmFailedAttemptHandler = exports.getEncoding = exports.encodingForModel = exports.estimateTextSplitsByTokens = exports.estimateTokensByCharCount = exports.estimateTokensFromStringList = exports.parseStrReplacements = exports.findDivergenceContext = exports.formatTextWithLineNumbers = exports.BatchReplacementError = exports.FileNotFoundError = exports.FileExistsError = exports.InvalidPathError = exports.InvalidViewRangeError = exports.InvalidLineNumberError = exports.MultipleMatchesError = exports.NoMatchFoundError = exports.TextEditorDocument = exports.redactHeaderValues = exports.N8nLlmTracing = exports.N8nPdfLoader = exports.N8nJsonLoader = exports.N8nBinaryLoader = exports.hasLongSequentialRepeat = exports.getMetadataFiltersValues = exports.validateEmbedDocumentsInput = exports.validateEmbedQueryInput = exports.parseSSEStream = exports.redactSecrets = exports.logAiEvent = exports.logWrapper = exports.AI_NODE_SDK_VERSION = void 0;
4
- exports.supplyModel = exports.supplyMemory = exports.WindowedChatMemory = exports.BaseChatMemory = exports.BaseChatHistory = exports.BaseChatModel = exports.LangchainChatModelAdapter = exports.isToolsInstance = exports.isChatInstance = exports.isBaseChatMessageHistory = exports.isBaseChatMemory = exports.fromLcContent = exports.toLcContent = exports.toLcMessage = exports.fromLcMessage = void 0;
3
+ exports.processDocument = exports.processDocuments = exports.MemoryVectorStoreManager = exports.createVectorStoreNode = exports.extractFromAIParameters = exports.createZodSchemaFromArgs = exports.createToolFromNode = exports.getTemplateNoticeField = exports.getBatchingOptionFields = exports.metadataFilterField = exports.getConnectionHintNoticeField = exports.createRefreshingAuthFetch = exports.fetchFollowingRedirects = exports.searxngSearch = exports.braveSearch = exports.proxyFetch = exports.getNodeProxyAgent = exports.getProxyAgent = exports.makeN8nLlmFailedAttemptHandler = exports.getEncoding = exports.encodingForModel = exports.estimateTextSplitsByTokens = exports.estimateTokensByCharCount = exports.estimateTokensFromStringList = exports.parseStrReplacements = exports.findDivergenceContext = exports.formatTextWithLineNumbers = exports.BatchReplacementError = exports.FileNotFoundError = exports.FileExistsError = exports.InvalidPathError = exports.InvalidViewRangeError = exports.InvalidLineNumberError = exports.MultipleMatchesError = exports.NoMatchFoundError = exports.TextEditorDocument = exports.redactHeaderValues = exports.N8nLlmTracing = exports.N8nPdfLoader = exports.N8nJsonLoader = exports.N8nBinaryLoader = exports.hasLongSequentialRepeat = exports.getMetadataFiltersValues = exports.validateEmbedDocumentsInput = exports.validateEmbedQueryInput = exports.parseSSEStream = exports.redactSecrets = exports.logAiEvent = exports.logWrapper = exports.AI_NODE_SDK_VERSION = void 0;
4
+ exports.supplyModel = exports.supplyMemory = exports.WindowedChatMemory = exports.BaseChatMemory = exports.BaseChatHistory = exports.BaseChatModel = exports.LangchainChatModelAdapter = exports.isToolsInstance = exports.isChatInstance = exports.isBaseChatMessageHistory = exports.isBaseChatMemory = exports.fromLcContent = exports.toLcContent = exports.toLcMessage = exports.fromLcMessage = exports.getParametersJsonSchema = void 0;
5
5
  var ai_node_sdk_version_1 = require("./ai-node-sdk-version");
6
6
  Object.defineProperty(exports, "AI_NODE_SDK_VERSION", { enumerable: true, get: function () { return ai_node_sdk_version_1.AI_NODE_SDK_VERSION; } });
7
7
  var log_wrapper_1 = require("./utils/log-wrapper");
@@ -59,6 +59,8 @@ Object.defineProperty(exports, "braveSearch", { enumerable: true, get: function
59
59
  Object.defineProperty(exports, "searxngSearch", { enumerable: true, get: function () { return web_search_1.searxngSearch; } });
60
60
  var follow_redirects_1 = require("./utils/follow-redirects");
61
61
  Object.defineProperty(exports, "fetchFollowingRedirects", { enumerable: true, get: function () { return follow_redirects_1.fetchFollowingRedirects; } });
62
+ var refreshing_auth_fetch_1 = require("./utils/refreshing-auth-fetch");
63
+ Object.defineProperty(exports, "createRefreshingAuthFetch", { enumerable: true, get: function () { return refreshing_auth_fetch_1.createRefreshingAuthFetch; } });
62
64
  var shared_fields_1 = require("./utils/shared-fields");
63
65
  Object.defineProperty(exports, "getConnectionHintNoticeField", { enumerable: true, get: function () { return shared_fields_1.getConnectionHintNoticeField; } });
64
66
  Object.defineProperty(exports, "metadataFilterField", { enumerable: true, get: function () { return shared_fields_1.metadataFilterField; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AACA,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAG5B,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AACnB,qDAAkD;AAAzC,0GAAA,UAAU,OAAA;AACnB,yDAAuD;AAA9C,+GAAA,aAAa,OAAA;AACtB,mCAA6C;AAApC,qGAAA,cAAc,OAAA;AACvB,mFAG6C;AAF5C,sIAAA,uBAAuB,OAAA;AACvB,0IAAA,2BAA2B,OAAA;AAE5B,2CAAoF;AAA3E,mHAAA,wBAAwB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAC1D,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,iEAA8D;AAArD,8GAAA,YAAY,OAAA;AACrB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,yDAA4D;AAAnD,oHAAA,kBAAkB,OAAA;AAC3B,qEAasC;AAZrC,0HAAA,kBAAkB,OAAA;AAClB,yHAAA,iBAAiB,OAAA;AACjB,4HAAA,oBAAoB,OAAA;AACpB,8HAAA,sBAAsB,OAAA;AACtB,6HAAA,qBAAqB,OAAA;AACrB,wHAAA,gBAAgB,OAAA;AAChB,uHAAA,eAAe,OAAA;AACf,yHAAA,iBAAiB,OAAA;AACjB,6HAAA,qBAAqB,OAAA;AACrB,iIAAA,yBAAyB,OAAA;AACzB,6HAAA,qBAAqB,OAAA;AACrB,4HAAA,oBAAoB,OAAA;AAgBrB,qEAI2C;AAH1C,+HAAA,4BAA4B,OAAA;AAC5B,4HAAA,yBAAyB,OAAA;AACzB,6HAAA,0BAA0B,OAAA;AAE3B,uDAA2E;AAAlE,4GAAA,gBAAgB,OAAA;AAAE,uGAAA,WAAW,OAAA;AACtC,wGAA2G;AAAlG,4IAAA,8BAA8B,OAAA;AACvC,6DAMkC;AALjC,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AACjB,8GAAA,UAAU,OAAA;AAIX,2CAAmF;AAA1E,yGAAA,WAAW,OAAA;AAAE,2GAAA,aAAa,OAAA;AAEnC,6DAGkC;AAFjC,2HAAA,uBAAuB,OAAA;AAGxB,uDAK+B;AAJ9B,6HAAA,4BAA4B,OAAA;AAC5B,oHAAA,mBAAmB,OAAA;AACnB,wHAAA,uBAAuB,OAAA;AACvB,uHAAA,sBAAsB,OAAA;AAEvB,mEAIqC;AAHpC,yHAAA,kBAAkB,OAAA;AAClB,8HAAA,uBAAuB,OAAA;AACvB,8HAAA,uBAAuB,OAAA;AAExB,0GAAyG;AAAhG,8HAAA,qBAAqB,OAAA;AAM9B,wGAAuG;AAA9F,oIAAA,wBAAwB,OAAA;AACjC,0EAG+C;AAF9C,oHAAA,gBAAgB,OAAA;AAChB,mHAAA,eAAe,OAAA;AAKhB,0CAA4D;AAAnD,+GAAA,uBAAuB,OAAA;AAChC,gDAA8F;AAArF,wGAAA,aAAa,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA;AAG/D,mCAKkB;AAJjB,0GAAA,gBAAgB,OAAA;AAChB,kHAAA,wBAAwB,OAAA;AACxB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AAsBhB,wEAA4E;AAAnE,iIAAA,yBAAyB,OAAA;AAClC,0CAAkD;AAAzC,qGAAA,aAAa,OAAA;AAGtB,gEAA6D;AAApD,oHAAA,eAAe,OAAA;AACxB,8DAA2D;AAAlD,kHAAA,cAAc,OAAA;AAGvB,sEAAkG;AAAzF,0HAAA,kBAAkB,OAAA;AAG3B,yDAAkF;AAAzE,4GAAA,YAAY,OAAA;AACrB,uDAAiG;AAAxF,0GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AACA,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAG5B,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AACnB,qDAAkD;AAAzC,0GAAA,UAAU,OAAA;AACnB,yDAAuD;AAA9C,+GAAA,aAAa,OAAA;AACtB,mCAA6C;AAApC,qGAAA,cAAc,OAAA;AACvB,mFAG6C;AAF5C,sIAAA,uBAAuB,OAAA;AACvB,0IAAA,2BAA2B,OAAA;AAE5B,2CAAoF;AAA3E,mHAAA,wBAAwB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAC1D,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,iEAA8D;AAArD,8GAAA,YAAY,OAAA;AACrB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,yDAA4D;AAAnD,oHAAA,kBAAkB,OAAA;AAC3B,qEAasC;AAZrC,0HAAA,kBAAkB,OAAA;AAClB,yHAAA,iBAAiB,OAAA;AACjB,4HAAA,oBAAoB,OAAA;AACpB,8HAAA,sBAAsB,OAAA;AACtB,6HAAA,qBAAqB,OAAA;AACrB,wHAAA,gBAAgB,OAAA;AAChB,uHAAA,eAAe,OAAA;AACf,yHAAA,iBAAiB,OAAA;AACjB,6HAAA,qBAAqB,OAAA;AACrB,iIAAA,yBAAyB,OAAA;AACzB,6HAAA,qBAAqB,OAAA;AACrB,4HAAA,oBAAoB,OAAA;AAgBrB,qEAI2C;AAH1C,+HAAA,4BAA4B,OAAA;AAC5B,4HAAA,yBAAyB,OAAA;AACzB,6HAAA,0BAA0B,OAAA;AAE3B,uDAA2E;AAAlE,4GAAA,gBAAgB,OAAA;AAAE,uGAAA,WAAW,OAAA;AACtC,wGAA2G;AAAlG,4IAAA,8BAA8B,OAAA;AACvC,6DAMkC;AALjC,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AACjB,8GAAA,UAAU,OAAA;AAIX,2CAAmF;AAA1E,yGAAA,WAAW,OAAA;AAAE,2GAAA,aAAa,OAAA;AAEnC,6DAGkC;AAFjC,2HAAA,uBAAuB,OAAA;AAGxB,uEAGuC;AAFtC,kIAAA,yBAAyB,OAAA;AAG1B,uDAK+B;AAJ9B,6HAAA,4BAA4B,OAAA;AAC5B,oHAAA,mBAAmB,OAAA;AACnB,wHAAA,uBAAuB,OAAA;AACvB,uHAAA,sBAAsB,OAAA;AAEvB,mEAIqC;AAHpC,yHAAA,kBAAkB,OAAA;AAClB,8HAAA,uBAAuB,OAAA;AACvB,8HAAA,uBAAuB,OAAA;AAExB,0GAAyG;AAAhG,8HAAA,qBAAqB,OAAA;AAM9B,wGAAuG;AAA9F,oIAAA,wBAAwB,OAAA;AACjC,0EAG+C;AAF9C,oHAAA,gBAAgB,OAAA;AAChB,mHAAA,eAAe,OAAA;AAKhB,0CAA4D;AAAnD,+GAAA,uBAAuB,OAAA;AAChC,gDAA8F;AAArF,wGAAA,aAAa,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA;AAG/D,mCAKkB;AAJjB,0GAAA,gBAAgB,OAAA;AAChB,kHAAA,wBAAwB,OAAA;AACxB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AAsBhB,wEAA4E;AAAnE,iIAAA,yBAAyB,OAAA;AAClC,0CAAkD;AAAzC,qGAAA,aAAa,OAAA;AAGtB,gEAA6D;AAApD,oHAAA,eAAe,OAAA;AACxB,8DAA2D;AAAlD,kHAAA,cAAc,OAAA;AAGvB,sEAAkG;AAAzF,0HAAA,kBAAkB,OAAA;AAG3B,yDAAkF;AAAzE,4GAAA,YAAY,OAAA;AACrB,uDAAiG;AAAxF,0GAAA,WAAW,OAAA"}