@n8n/ai-utilities 0.33.0 → 0.34.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.
Files changed (69) hide show
  1. package/dist/cjs/index.d.ts +1 -1
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/model-discovery/index.d.ts +2 -2
  4. package/dist/cjs/model-discovery/index.js +3 -1
  5. package/dist/cjs/model-discovery/index.js.map +1 -1
  6. package/dist/cjs/model-discovery/providers/alibaba.d.ts +1 -0
  7. package/dist/cjs/model-discovery/providers/alibaba.js +14 -1
  8. package/dist/cjs/model-discovery/providers/alibaba.js.map +1 -1
  9. package/dist/cjs/model-discovery/providers/google.d.ts +4 -0
  10. package/dist/cjs/model-discovery/providers/google.js +13 -2
  11. package/dist/cjs/model-discovery/providers/google.js.map +1 -1
  12. package/dist/cjs/node-catalog/get.d.ts +1 -0
  13. package/dist/cjs/node-catalog/get.js +10 -0
  14. package/dist/cjs/node-catalog/get.js.map +1 -1
  15. package/dist/cjs/node-catalog/index.d.ts +1 -1
  16. package/dist/cjs/node-catalog/index.js +2 -1
  17. package/dist/cjs/node-catalog/index.js.map +1 -1
  18. package/dist/cjs/suppliers/supplyModel.js +1 -1
  19. package/dist/cjs/suppliers/supplyModel.js.map +1 -1
  20. package/dist/cjs/typecheck.tsbuildinfo +1 -1
  21. package/dist/cjs/utils/credential-description.d.ts +2 -0
  22. package/dist/cjs/utils/credential-description.js +16 -0
  23. package/dist/cjs/utils/credential-description.js.map +1 -0
  24. package/dist/cjs/utils/http-proxy-agent.d.ts +6 -5
  25. package/dist/cjs/utils/http-proxy-agent.js +28 -25
  26. package/dist/cjs/utils/http-proxy-agent.js.map +1 -1
  27. package/dist/cjs/utils/vector-store/createVectorStoreNode/createVectorStoreNode.d.ts +12 -3
  28. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/loadOperation.js +3 -2
  29. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/loadOperation.js.map +1 -1
  30. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js +3 -2
  31. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js.map +1 -1
  32. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js +3 -2
  33. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -1
  34. package/dist/cjs/utils/vector-store/createVectorStoreNode/types.d.ts +3 -12
  35. package/dist/esm/index.d.ts +1 -1
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/model-discovery/index.d.ts +2 -2
  38. package/dist/esm/model-discovery/index.js +3 -1
  39. package/dist/esm/model-discovery/index.js.map +1 -1
  40. package/dist/esm/model-discovery/providers/alibaba.d.ts +1 -0
  41. package/dist/esm/model-discovery/providers/alibaba.js +14 -1
  42. package/dist/esm/model-discovery/providers/alibaba.js.map +1 -1
  43. package/dist/esm/model-discovery/providers/google.d.ts +4 -0
  44. package/dist/esm/model-discovery/providers/google.js +13 -2
  45. package/dist/esm/model-discovery/providers/google.js.map +1 -1
  46. package/dist/esm/node-catalog/get.d.ts +1 -0
  47. package/dist/esm/node-catalog/get.js +10 -0
  48. package/dist/esm/node-catalog/get.js.map +1 -1
  49. package/dist/esm/node-catalog/index.d.ts +1 -1
  50. package/dist/esm/node-catalog/index.js +2 -1
  51. package/dist/esm/node-catalog/index.js.map +1 -1
  52. package/dist/esm/suppliers/supplyModel.js +1 -1
  53. package/dist/esm/suppliers/supplyModel.js.map +1 -1
  54. package/dist/esm/typecheck.tsbuildinfo +1 -1
  55. package/dist/esm/utils/credential-description.d.ts +2 -0
  56. package/dist/esm/utils/credential-description.js +16 -0
  57. package/dist/esm/utils/credential-description.js.map +1 -0
  58. package/dist/esm/utils/http-proxy-agent.d.ts +6 -5
  59. package/dist/esm/utils/http-proxy-agent.js +28 -25
  60. package/dist/esm/utils/http-proxy-agent.js.map +1 -1
  61. package/dist/esm/utils/vector-store/createVectorStoreNode/createVectorStoreNode.d.ts +12 -3
  62. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/loadOperation.js +3 -2
  63. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/loadOperation.js.map +1 -1
  64. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js +3 -2
  65. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js.map +1 -1
  66. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js +3 -2
  67. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -1
  68. package/dist/esm/utils/vector-store/createVectorStoreNode/types.d.ts +3 -12
  69. package/package.json +13 -5
@@ -0,0 +1,2 @@
1
+ export declare const CREDENTIAL_DESCRIPTION_PREVIEW_MAX_LENGTH = 256;
2
+ export declare function getCredentialDescriptionPreview(description: string | null | undefined): string | null;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CREDENTIAL_DESCRIPTION_PREVIEW_MAX_LENGTH = void 0;
4
+ exports.getCredentialDescriptionPreview = getCredentialDescriptionPreview;
5
+ const truncate_1 = require("@n8n/utils/string/truncate");
6
+ exports.CREDENTIAL_DESCRIPTION_PREVIEW_MAX_LENGTH = 256;
7
+ function getCredentialDescriptionPreview(description) {
8
+ if (!description)
9
+ return null;
10
+ if (description.length <= exports.CREDENTIAL_DESCRIPTION_PREVIEW_MAX_LENGTH)
11
+ return description;
12
+ const prefixLength = exports.CREDENTIAL_DESCRIPTION_PREVIEW_MAX_LENGTH - '...'.length;
13
+ const splitsCharacter = (description.codePointAt(prefixLength - 1) ?? 0) > 0xffff;
14
+ return (0, truncate_1.truncate)(description, splitsCharacter ? prefixLength - 1 : prefixLength);
15
+ }
16
+ //# sourceMappingURL=credential-description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-description.js","sourceRoot":"","sources":["../../../src/utils/credential-description.ts"],"names":[],"mappings":";;;;AAAA,yDAAsD;AAGzC,QAAA,yCAAyC,GAAG,GAAG,CAAC;AAE7D,yCACC,WAAsC;IAEtC,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,WAAW,CAAC,MAAM,IAAI,QAAA,yCAAyC;QAAE,OAAO,WAAW,CAAC;IAGxF,MAAM,YAAY,GAAG,QAAA,yCAAyC,GAAG,KAAK,CAAC,MAAM,CAAC;IAE9E,MAAM,eAAe,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;IAClF,OAAO,IAAA,mBAAQ,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AACjF,CAAC"}
@@ -1,17 +1,18 @@
1
+ import { type TransportSsrfPolicy } from '@n8n/backend-network/transport';
1
2
  import type { AgentOptions } from 'node:https';
2
- import type { LookupFunction } from 'node:net';
3
- import { Agent, ProxyAgent } from 'undici';
3
+ import type { Dispatcher } from 'undici';
4
4
  export interface AgentTimeoutOptions {
5
5
  headersTimeout?: number;
6
6
  bodyTimeout?: number;
7
7
  connectTimeout?: number;
8
8
  }
9
- export declare function getProxyAgent(targetUrl?: string, timeoutOptions?: AgentTimeoutOptions, lookup?: LookupFunction): Agent | ProxyAgent;
9
+ export type EgressFilter = TransportSsrfPolicy;
10
+ export declare function getProxyAgent(targetUrl: string | undefined, timeoutOptions: AgentTimeoutOptions | undefined, egressFilter: EgressFilter): Dispatcher;
10
11
  export interface ProxyFetchOptions {
11
12
  input: RequestInfo | URL;
12
13
  init?: RequestInit;
13
14
  timeoutOptions?: AgentTimeoutOptions;
14
- lookup: LookupFunction;
15
+ egressFilter: EgressFilter;
15
16
  }
16
- export declare function proxyFetch({ input, init, timeoutOptions, lookup, }: ProxyFetchOptions): Promise<Response>;
17
+ export declare function proxyFetch({ input, init, timeoutOptions, egressFilter, }: ProxyFetchOptions): Promise<Response>;
17
18
  export declare function getNodeProxyAgent(targetUrl?: string, agentOptions?: AgentOptions): import("https").Agent | undefined;
@@ -3,46 +3,49 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getProxyAgent = getProxyAgent;
4
4
  exports.proxyFetch = proxyFetch;
5
5
  exports.getNodeProxyAgent = getNodeProxyAgent;
6
+ const egress_1 = require("@n8n/backend-network/egress");
6
7
  const proxy_1 = require("@n8n/backend-network/proxy");
7
- const node_dns_1 = require("node:dns");
8
- const undici_1 = require("undici");
8
+ const transport_1 = require("@n8n/backend-network/transport");
9
9
  const DEFAULT_TIMEOUT = parseInt(process.env.N8N_AI_TIMEOUT_MAX ?? '3600000', 10);
10
10
  const PROXY_FALLBACK_TARGET = 'https://example.nonexistent/';
11
- let sharedAgent;
12
- function getProxyAgent(targetUrl, timeoutOptions, lookup = node_dns_1.lookup) {
13
- const proxyUrl = (0, proxy_1.resolveProxyUrl)(targetUrl, PROXY_FALLBACK_TARGET);
14
- const agentOptions = {
11
+ let sharedDispatcher;
12
+ function toSsrfOption(egressFilter) {
13
+ if (egressFilter === egress_1.passthroughEgressFilter) {
14
+ return 'disabled';
15
+ }
16
+ return egressFilter;
17
+ }
18
+ function getProxyAgent(targetUrl, timeoutOptions, egressFilter) {
19
+ const proxyRequired = (0, proxy_1.isProxyRequired)(targetUrl, PROXY_FALLBACK_TARGET);
20
+ const ssrf = toSsrfOption(egressFilter);
21
+ const timeouts = {
15
22
  headersTimeout: timeoutOptions?.headersTimeout ?? DEFAULT_TIMEOUT,
16
23
  bodyTimeout: timeoutOptions?.bodyTimeout ?? DEFAULT_TIMEOUT,
17
24
  ...(timeoutOptions?.connectTimeout !== undefined && {
18
25
  connectTimeout: timeoutOptions.connectTimeout,
19
26
  }),
20
27
  };
21
- if (proxyUrl) {
22
- return new undici_1.ProxyAgent({ uri: proxyUrl, ...agentOptions });
23
- }
24
- const isDefaultCase = !timeoutOptions && !process.env.N8N_AI_TIMEOUT_MAX && lookup === node_dns_1.lookup;
28
+ const isDefaultCase = !proxyRequired && !timeoutOptions && !process.env.N8N_AI_TIMEOUT_MAX && ssrf === 'disabled';
25
29
  if (isDefaultCase) {
26
- sharedAgent ??= new undici_1.Agent({ ...agentOptions, connect: { lookup } });
27
- return sharedAgent;
30
+ sharedDispatcher ??= (0, transport_1.buildDispatcher)(false, 'disabled', { timeouts });
31
+ return sharedDispatcher;
28
32
  }
29
- return new undici_1.Agent({ ...agentOptions, connect: { lookup } });
33
+ return (0, transport_1.buildDispatcher)(proxyRequired ? 'env' : false, ssrf, { timeouts });
30
34
  }
31
- async function proxyFetch({ input, init, timeoutOptions, lookup, }) {
35
+ async function proxyFetch({ input, init, timeoutOptions, egressFilter, }) {
32
36
  const isRequest = typeof input !== 'string' && !(input instanceof URL);
33
37
  const targetUrl = isRequest ? input.url : input.toString();
34
- const dispatcher = getProxyAgent(targetUrl, timeoutOptions, lookup);
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
- }),
38
+ const dispatcher = getProxyAgent(targetUrl, timeoutOptions, egressFilter);
39
+ if (!isRequest)
40
+ return await (0, transport_1.dispatchedFetch)(dispatcher, input, init);
41
+ return await (0, transport_1.dispatchedFetch)(dispatcher, targetUrl, {
42
+ method: input.method,
43
+ headers: [...input.headers],
44
+ body: input.body === null ? undefined : await input.arrayBuffer(),
45
+ signal: input.signal,
46
+ redirect: input.redirect,
43
47
  ...init,
44
- dispatcher,
45
- }));
48
+ });
46
49
  }
47
50
  function getNodeProxyAgent(targetUrl, agentOptions) {
48
51
  const proxyUrl = (0, proxy_1.resolveProxyUrl)(targetUrl, PROXY_FALLBACK_TARGET);
@@ -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;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"}
1
+ {"version":3,"file":"http-proxy-agent.js","sourceRoot":"","sources":["../../../src/utils/http-proxy-agent.ts"],"names":[],"mappings":"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"}
@@ -5,15 +5,24 @@ export declare const createVectorStoreNode: <T extends VectorStore = VectorStore
5
5
  new (): {
6
6
  description: INodeTypeDescription;
7
7
  methods: {
8
+ loadOptions?: {
9
+ [key: string]: (this: import("n8n-workflow").ILoadOptionsFunctions) => Promise<import("n8n-workflow").INodePropertyOptions[]>;
10
+ };
8
11
  listSearch?: {
9
12
  [key: string]: (this: import("n8n-workflow").ILoadOptionsFunctions, filter?: string, paginationToken?: string) => Promise<import("n8n-workflow").INodeListSearchResult>;
10
13
  };
11
- actionHandler?: {
12
- [functionName: string]: (this: import("n8n-workflow").ILoadOptionsFunctions, payload: import("n8n-workflow").IDataObject | string | undefined) => Promise<import("n8n-workflow").NodeParameterValueType>;
13
- };
14
14
  credentialTest?: {
15
15
  [functionName: string]: import("n8n-workflow").ICredentialTestFunction;
16
16
  };
17
+ resourceMapping?: {
18
+ [functionName: string]: (this: import("n8n-workflow").ILoadOptionsFunctions) => Promise<import("n8n-workflow").ResourceMapperFields>;
19
+ };
20
+ localResourceMapping?: {
21
+ [functionName: string]: (this: import("n8n-workflow").ILocalLoadOptionsFunctions) => Promise<import("n8n-workflow").ResourceMapperFields>;
22
+ };
23
+ actionHandler?: {
24
+ [functionName: string]: (this: import("n8n-workflow").ILoadOptionsFunctions, payload: import("n8n-workflow").IDataObject | string | undefined) => Promise<import("n8n-workflow").NodeParameterValueType>;
25
+ };
17
26
  } | undefined;
18
27
  execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
19
28
  supplyData(this: ISupplyDataFunctions, itemIndex: number): Promise<SupplyData>;
@@ -12,8 +12,9 @@ async function handleLoadOperation(context, args, embeddings, itemIndex) {
12
12
  const topK = context.getNodeParameter('topK', itemIndex, 4);
13
13
  const useReranker = context.getNodeParameter('useReranker', itemIndex, false);
14
14
  const includeDocumentMetadata = context.getNodeParameter('includeDocumentMetadata', itemIndex, true);
15
- const embeddedPrompt = await embeddings.embedQuery(prompt);
16
- let docs = await vectorStore.similaritySearchVectorWithScore(embeddedPrompt, topK, filter);
15
+ let docs = args.searchByText === true
16
+ ? await vectorStore.similaritySearchWithScore(prompt, topK, filter)
17
+ : await vectorStore.similaritySearchVectorWithScore(await embeddings.embedQuery(prompt), topK, filter);
17
18
  if (useReranker && docs.length > 0) {
18
19
  const reranker = (await context.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiReranker, 0));
19
20
  const documents = docs.map(([doc]) => doc);
@@ -1 +1 @@
1
- {"version":3,"file":"loadOperation.js","sourceRoot":"","sources":["../../../../../../src/utils/vector-store/createVectorStoreNode/operations/loadOperation.ts"],"names":[],"mappings":";;;AAGA,+CAAmD;AAGnD,8CAA4D;AAC5D,wDAAmD;AAO5C,KAAK,8BACX,OAA0B,EAC1B,IAAuC,EACvC,UAAsB,EACtB,SAAiB;IAEjB,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAClD,OAAO,EAEP,SAAS,EACT,UAAU,EACV,SAAS,CACT,CAAC;IAEF,IAAI,CAAC;QAEJ,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAW,CAAC;QACvE,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAW,CAAC;QACtE,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAY,CAAC;QAEzF,MAAM,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CACvD,yBAAyB,EACzB,SAAS,EACT,IAAI,CACO,CAAC;QAGb,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAG3D,IAAI,IAAI,GAAG,MAAM,WAAW,CAAC,+BAA+B,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAG3F,IAAI,WAAW,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,sBAAsB,CACrD,kCAAmB,CAAC,UAAU,EAC9B,CAAC,CACD,CAA2B,CAAC;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAE3C,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9E,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC3D,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACJ,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAChD,MAAM,QAAQ,GAAG;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D,CAAC;YAEF,OAAO;gBACN,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACzB,UAAU,EAAE;oBACX,IAAI,EAAE,SAAS;iBACf;aACD,CAAC;QACH,CAAC,CAAC,CAAC;QAGH,IAAA,yBAAU,EAAC,OAAO,EAAE,0BAA0B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnE,OAAO,cAAc,CAAC;IACvB,CAAC;YAAS,CAAC;QAEV,IAAI,CAAC,wBAAwB,EAAE,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"loadOperation.js","sourceRoot":"","sources":["../../../../../../src/utils/vector-store/createVectorStoreNode/operations/loadOperation.ts"],"names":[],"mappings":";;;AAGA,+CAAmD;AAGnD,8CAA4D;AAC5D,wDAAmD;AAO5C,KAAK,8BACX,OAA0B,EAC1B,IAAuC,EACvC,UAAsB,EACtB,SAAiB;IAEjB,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAClD,OAAO,EAEP,SAAS,EACT,UAAU,EACV,SAAS,CACT,CAAC;IAEF,IAAI,CAAC;QAEJ,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAW,CAAC;QACvE,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAW,CAAC;QACtE,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAY,CAAC;QAEzF,MAAM,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CACvD,yBAAyB,EACzB,SAAS,EACT,IAAI,CACO,CAAC;QAGb,IAAI,IAAI,GACP,IAAI,CAAC,YAAY,KAAK,IAAI;YACzB,CAAC,CAAC,MAAM,WAAW,CAAC,yBAAyB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;YACnE,CAAC,CAAC,MAAM,WAAW,CAAC,+BAA+B,CACjD,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EACnC,IAAI,EACJ,MAAM,CACN,CAAC;QAGL,IAAI,WAAW,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,sBAAsB,CACrD,kCAAmB,CAAC,UAAU,EAC9B,CAAC,CACD,CAA2B,CAAC;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAE3C,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9E,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC3D,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACJ,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAChD,MAAM,QAAQ,GAAG;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D,CAAC;YAEF,OAAO;gBACN,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACzB,UAAU,EAAE;oBACX,IAAI,EAAE,SAAS;iBACf;aACD,CAAC;QACH,CAAC,CAAC,CAAC;QAGH,IAAA,yBAAU,EAAC,OAAO,EAAE,0BAA0B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnE,OAAO,cAAc,CAAC;IACvB,CAAC;YAAS,CAAC;QAEV,IAAI,CAAC,wBAAwB,EAAE,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;AACF,CAAC"}
@@ -20,8 +20,9 @@ async function handleRetrieveAsToolExecuteOperation(context, args, embeddings, i
20
20
  (0, n8n_workflow_1.assertParamIsBoolean)('useReranker', useReranker, context.getNode());
21
21
  const includeDocumentMetadata = context.getNodeParameter('includeDocumentMetadata', itemIndex, true);
22
22
  (0, n8n_workflow_1.assertParamIsBoolean)('includeDocumentMetadata', includeDocumentMetadata, context.getNode());
23
- const embeddedQuery = await embeddings.embedQuery(query);
24
- let docs = await vectorStore.similaritySearchVectorWithScore(embeddedQuery, topK, filter);
23
+ let docs = args.searchByText === true
24
+ ? await vectorStore.similaritySearchWithScore(query, topK, filter)
25
+ : await vectorStore.similaritySearchVectorWithScore(await embeddings.embedQuery(query), topK, filter);
25
26
  if (useReranker && docs.length > 0) {
26
27
  const reranker = (await context.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiReranker, 0));
27
28
  const documents = docs.map(([doc]) => doc);
@@ -1 +1 @@
1
- {"version":3,"file":"retrieveAsToolExecuteOperation.js","sourceRoot":"","sources":["../../../../../../src/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieveAsToolExecuteOperation.js","sourceRoot":"","sources":["../../../../../../src/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,9 @@ async function handleRetrieveAsToolOperation(context, args, embeddings, itemInde
25
25
  (0, n8n_workflow_1.assert)(typeof queryString === 'string', 'Query must be of type string');
26
26
  const vectorStore = await args.getVectorStoreClient(context, undefined, embeddings, itemIndex);
27
27
  try {
28
- const embeddedPrompt = await embeddings.embedQuery(queryString);
29
- let documents = await vectorStore.similaritySearchVectorWithScore(embeddedPrompt, topK, filter);
28
+ let documents = args.searchByText === true
29
+ ? await vectorStore.similaritySearchWithScore(queryString, topK, filter)
30
+ : await vectorStore.similaritySearchVectorWithScore(await embeddings.embedQuery(queryString), topK, filter);
30
31
  if (useReranker && documents.length > 0) {
31
32
  const reranker = (await context.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiReranker, 0));
32
33
  const docs = documents.map(([doc]) => doc);
@@ -1 +1 @@
1
- {"version":3,"file":"retrieveAsToolOperation.js","sourceRoot":"","sources":["../../../../../../src/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieveAsToolOperation.js","sourceRoot":"","sources":["../../../../../../src/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Document } from '@langchain/core/documents';
2
2
  import type { Embeddings } from '@langchain/core/embeddings';
3
3
  import type { VectorStore } from '@langchain/core/vectorstores';
4
- import type { ICredentialTestFunction, IExecuteFunctions, INodeCredentialDescription, INodeProperties, ILoadOptionsFunctions, INodeListSearchResult, Icon, ISupplyDataFunctions, ThemeIconColor, IDataObject, NodeParameterValueType, IBuilderHint } from 'n8n-workflow';
4
+ import type { IExecuteFunctions, INodeCredentialDescription, INodeProperties, INodeType, Icon, ISupplyDataFunctions, ThemeIconColor, IBuilderHint } from 'n8n-workflow';
5
5
  export type NodeOperationMode = 'insert' | 'load' | 'retrieve' | 'update' | 'retrieve-as-tool';
6
6
  export interface NodeMeta {
7
7
  displayName: string;
@@ -19,23 +19,14 @@ export interface NodeMeta {
19
19
  }
20
20
  export interface VectorStoreNodeConstructorArgs<T extends VectorStore = VectorStore> {
21
21
  meta: NodeMeta;
22
- methods?: {
23
- listSearch?: {
24
- [key: string]: (this: ILoadOptionsFunctions, filter?: string, paginationToken?: string) => Promise<INodeListSearchResult>;
25
- };
26
- actionHandler?: {
27
- [functionName: string]: (this: ILoadOptionsFunctions, payload: IDataObject | string | undefined) => Promise<NodeParameterValueType>;
28
- };
29
- credentialTest?: {
30
- [functionName: string]: ICredentialTestFunction;
31
- };
32
- };
22
+ methods?: INodeType['methods'];
33
23
  sharedFields: INodeProperties[];
34
24
  insertFields?: INodeProperties[];
35
25
  loadFields?: INodeProperties[];
36
26
  retrieveFields?: INodeProperties[];
37
27
  updateFields?: INodeProperties[];
38
28
  hidden?: true;
29
+ searchByText?: true;
39
30
  beforeInsert?: (context: IExecuteFunctions | ISupplyDataFunctions, embeddings: Embeddings, itemIndex: number) => Promise<void>;
40
31
  populateVectorStore: (context: IExecuteFunctions | ISupplyDataFunctions, embeddings: Embeddings, documents: Array<Document<Record<string, unknown>>>, itemIndex: number) => Promise<void>;
41
32
  getVectorStoreClient: (context: IExecuteFunctions | ISupplyDataFunctions, filter: Record<string, never> | undefined, embeddings: Embeddings, itemIndex: number) => Promise<T>;
package/package.json CHANGED
@@ -1,12 +1,15 @@
1
1
  {
2
2
  "name": "@n8n/ai-utilities",
3
- "version": "0.33.0",
3
+ "version": "0.34.0",
4
4
  "description": "Utilities for building AI nodes in n8n",
5
5
  "types": "dist/esm/index.d.ts",
6
6
  "module": "dist/esm/index.js",
7
7
  "main": "dist/cjs/index.js",
8
8
  "typesVersions": {
9
9
  "*": {
10
+ "credential-description": [
11
+ "dist/esm/utils/credential-description.d.ts"
12
+ ],
10
13
  "text-editor": [
11
14
  "dist/esm/utils/workflow-text-editor.d.ts"
12
15
  ],
@@ -43,6 +46,11 @@
43
46
  }
44
47
  },
45
48
  "exports": {
49
+ "./credential-description": {
50
+ "types": "./dist/esm/utils/credential-description.d.ts",
51
+ "import": "./dist/esm/utils/credential-description.js",
52
+ "require": "./dist/cjs/utils/credential-description.js"
53
+ },
46
54
  ".": {
47
55
  "types": "./dist/esm/index.d.ts",
48
56
  "import": "./dist/esm/index.js",
@@ -135,16 +143,16 @@
135
143
  "@langchain/openai": "1.4.4",
136
144
  "langchain": "1.2.30",
137
145
  "lodash": "4.18.1",
138
- "@n8n/api-types": "1.40.0",
139
- "@n8n/backend-network": "1.14.0",
146
+ "@n8n/api-types": "1.41.0",
147
+ "@n8n/backend-network": "1.15.0",
140
148
  "@n8n/typescript-config": "1.12.0",
141
149
  "@n8n/utils": "1.48.0",
142
- "n8n-workflow": "2.40.0",
150
+ "n8n-workflow": "2.41.0",
143
151
  "tmp-promise": "3.0.3",
144
152
  "js-tiktoken": "1.0.21",
145
153
  "@thednp/dommatrix": "^3.1.1",
146
154
  "pdf-parse": "2.4.5",
147
- "undici": "^7.29.0"
155
+ "undici": "^7.29.1"
148
156
  },
149
157
  "license": "SEE LICENSE IN LICENSE.md",
150
158
  "homepage": "https://n8n.io",