@n8n/n8n-nodes-langchain 2.25.0 → 2.26.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.
- package/dist/known/credentials.json +1 -0
- package/dist/known/nodes.json +4 -0
- package/dist/node-definitions/.nodes-hash +1 -1
- package/dist/node-definitions/index.ts +4 -4
- package/dist/node-definitions/nodes/n8n-nodes-langchain/embeddingsAwsBedrock/v1.schema.js +1 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/embeddingsAwsBedrock/v1.ts +2 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/embeddingsNvidia/index.ts +12 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/embeddingsNvidia/v1.schema.js +25 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/embeddingsNvidia/v1.ts +51 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAwsBedrock/v1.schema.js +1 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAwsBedrock/v1.ts +2 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAwsBedrock/v11.schema.js +1 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatAwsBedrock/v11.ts +2 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatNvidia/v1.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-langchain/lmChatNvidia/v1.ts +1 -1
- package/dist/nodes/Guardrails/helpers/model.js +3 -2
- package/dist/nodes/Guardrails/helpers/model.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/execute.js +7 -2
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ReActAgent/execute.js +7 -2
- package/dist/nodes/agents/Agent/agents/ReActAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ToolsAgent/V1/execute.js +4 -2
- package/dist/nodes/agents/Agent/agents/ToolsAgent/V1/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ToolsAgent/V2/execute.js +2 -1
- package/dist/nodes/agents/Agent/agents/ToolsAgent/V2/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/executeBatch.js +2 -1
- package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/executeBatch.js.map +1 -1
- package/dist/nodes/chains/InformationExtractor/InformationExtractor.node.js +9 -4
- package/dist/nodes/chains/InformationExtractor/InformationExtractor.node.js.map +1 -1
- package/dist/nodes/chains/InformationExtractor/processItem.js +7 -1
- package/dist/nodes/chains/InformationExtractor/processItem.js.map +1 -1
- package/dist/nodes/chains/TextClassifier/TextClassifier.node.js +6 -4
- package/dist/nodes/chains/TextClassifier/TextClassifier.node.js.map +1 -1
- package/dist/nodes/chains/TextClassifier/processItem.js +7 -1
- package/dist/nodes/chains/TextClassifier/processItem.js.map +1 -1
- package/dist/nodes/code/Code.node.js +1 -0
- package/dist/nodes/code/Code.node.js.map +1 -1
- package/dist/nodes/embeddings/EmbeddingsAwsBedrock/EmbeddingsAwsBedrock.node.js +11 -15
- package/dist/nodes/embeddings/EmbeddingsAwsBedrock/EmbeddingsAwsBedrock.node.js.map +1 -1
- package/dist/nodes/embeddings/EmbeddingsNvidia/EmbeddingsNvidia.node.d.ts +11 -0
- package/dist/nodes/embeddings/EmbeddingsNvidia/EmbeddingsNvidia.node.js +150 -0
- package/dist/nodes/embeddings/EmbeddingsNvidia/EmbeddingsNvidia.node.js.map +1 -0
- package/dist/nodes/embeddings/EmbeddingsNvidia/helpers.d.ts +7 -0
- package/dist/nodes/embeddings/EmbeddingsNvidia/helpers.js +45 -0
- package/dist/nodes/embeddings/EmbeddingsNvidia/helpers.js.map +1 -0
- package/dist/nodes/embeddings/EmbeddingsNvidia/methods/searchModels.d.ts +4 -0
- package/dist/nodes/embeddings/EmbeddingsNvidia/methods/searchModels.js +28 -0
- package/dist/nodes/embeddings/EmbeddingsNvidia/methods/searchModels.js.map +1 -0
- package/dist/nodes/embeddings/EmbeddingsNvidia/nvidia.dark.svg +1 -0
- package/dist/nodes/embeddings/EmbeddingsNvidia/nvidia.svg +1 -0
- package/dist/nodes/llms/LmChatAwsBedrock/LmChatAwsBedrock.node.js +9 -14
- package/dist/nodes/llms/LmChatAwsBedrock/LmChatAwsBedrock.node.js.map +1 -1
- package/dist/nodes/llms/LmChatNvidia/LmChatNvidia.node.js +10 -7
- package/dist/nodes/llms/LmChatNvidia/LmChatNvidia.node.js.map +1 -1
- package/dist/nodes/mcp/McpClient/McpClient.node.js +1 -0
- package/dist/nodes/mcp/McpClient/McpClient.node.js.map +1 -1
- package/dist/nodes/mcp/shared/runtime.js +1 -0
- package/dist/nodes/mcp/shared/runtime.js.map +1 -1
- package/dist/nodes/mcp/shared/utils.d.ts +6 -1
- package/dist/nodes/mcp/shared/utils.js +57 -1
- package/dist/nodes/mcp/shared/utils.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/helpers/binary-data.d.ts +1 -1
- package/dist/typecheck.tsbuildinfo +1 -1
- package/dist/types/credentials.json +1 -1
- package/dist/types/nodes.json +5 -4
- package/dist/utils/aws/resolveAwsCredentials.d.ts +8 -0
- package/dist/utils/aws/resolveAwsCredentials.js +78 -0
- package/dist/utils/aws/resolveAwsCredentials.js.map +1 -0
- package/dist/utils/output_parsers/N8nStructuredOutputParser.js +3 -2
- package/dist/utils/output_parsers/N8nStructuredOutputParser.js.map +1 -1
- package/dist/utils/output_parsers/langchainParserError.d.ts +5 -0
- package/dist/utils/output_parsers/langchainParserError.js +50 -0
- package/dist/utils/output_parsers/langchainParserError.js.map +1 -0
- package/package.json +20 -15
- package/dist/node-definitions/nodes/n8n-nodes-langchain/code/index.ts +0 -12
- package/dist/node-definitions/nodes/n8n-nodes-langchain/code/v1.schema.js +0 -39
- package/dist/node-definitions/nodes/n8n-nodes-langchain/code/v1.ts +0 -82
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveAwsCredentials = resolveAwsCredentials;
|
|
4
|
+
const ai_utilities_1 = require("@n8n/ai-utilities");
|
|
5
|
+
const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
6
|
+
const node_http_handler_1 = require("@smithy/node-http-handler");
|
|
7
|
+
const system_credentials_utils_1 = require("n8n-nodes-base/dist/credentials/common/aws/system-credentials-utils");
|
|
8
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
9
|
+
async function resolveAwsCredentials(context, itemIndex = 0) {
|
|
10
|
+
const authentication = context.getNodeParameter('authentication', itemIndex, 'iam');
|
|
11
|
+
if (authentication !== 'assumeRole') {
|
|
12
|
+
const creds = (await context.getCredentials('aws'));
|
|
13
|
+
const identity = {
|
|
14
|
+
accessKeyId: creds.accessKeyId,
|
|
15
|
+
secretAccessKey: creds.secretAccessKey,
|
|
16
|
+
...(creds.temporaryCredentials && creds.sessionToken
|
|
17
|
+
? { sessionToken: creds.sessionToken }
|
|
18
|
+
: {}),
|
|
19
|
+
};
|
|
20
|
+
return { region: creds.region, credentials: identity };
|
|
21
|
+
}
|
|
22
|
+
const creds = (await context.getCredentials('awsAssumeRole'));
|
|
23
|
+
if (!creds.roleArn || creds.roleArn.trim() === '') {
|
|
24
|
+
throw new n8n_workflow_1.UserError('Role ARN is required when assuming a role.');
|
|
25
|
+
}
|
|
26
|
+
if (!creds.externalId || creds.externalId.trim() === '') {
|
|
27
|
+
throw new n8n_workflow_1.UserError('External ID is required when assuming a role.');
|
|
28
|
+
}
|
|
29
|
+
if (!creds.roleSessionName || creds.roleSessionName.trim() === '') {
|
|
30
|
+
throw new n8n_workflow_1.UserError('Role Session Name is required when assuming a role.');
|
|
31
|
+
}
|
|
32
|
+
let masterCredentials;
|
|
33
|
+
if (creds.useSystemCredentialsForRole) {
|
|
34
|
+
masterCredentials = async () => {
|
|
35
|
+
const sys = await (0, system_credentials_utils_1.getSystemCredentials)();
|
|
36
|
+
if (!sys) {
|
|
37
|
+
throw new n8n_workflow_1.UserError('System AWS credentials are required for role assumption. Please ensure AWS credentials are available via environment variables, instance metadata, or container role.');
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
accessKeyId: sys.accessKeyId,
|
|
41
|
+
secretAccessKey: sys.secretAccessKey,
|
|
42
|
+
...(sys.sessionToken ? { sessionToken: sys.sessionToken } : {}),
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
if (!creds.stsAccessKeyId || creds.stsAccessKeyId.trim() === '') {
|
|
48
|
+
throw new n8n_workflow_1.UserError('STS Access Key ID is required when not using system credentials.');
|
|
49
|
+
}
|
|
50
|
+
if (!creds.stsSecretAccessKey || creds.stsSecretAccessKey.trim() === '') {
|
|
51
|
+
throw new n8n_workflow_1.UserError('STS Secret Access Key is required when not using system credentials.');
|
|
52
|
+
}
|
|
53
|
+
masterCredentials = {
|
|
54
|
+
accessKeyId: creds.stsAccessKeyId.trim(),
|
|
55
|
+
secretAccessKey: creds.stsSecretAccessKey.trim(),
|
|
56
|
+
...(creds.stsSessionToken?.trim() ? { sessionToken: creds.stsSessionToken.trim() } : {}),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
const stsTarget = `https://sts.${creds.region}.amazonaws.com`;
|
|
60
|
+
const proxyAgent = (0, ai_utilities_1.getNodeProxyAgent)(stsTarget);
|
|
61
|
+
const requestHandler = proxyAgent
|
|
62
|
+
? new node_http_handler_1.NodeHttpHandler({ httpAgent: proxyAgent, httpsAgent: proxyAgent })
|
|
63
|
+
: undefined;
|
|
64
|
+
const provider = (0, credential_providers_1.fromTemporaryCredentials)({
|
|
65
|
+
params: {
|
|
66
|
+
RoleArn: creds.roleArn.trim(),
|
|
67
|
+
RoleSessionName: creds.roleSessionName.trim(),
|
|
68
|
+
ExternalId: creds.externalId.trim(),
|
|
69
|
+
},
|
|
70
|
+
masterCredentials,
|
|
71
|
+
clientConfig: {
|
|
72
|
+
region: creds.region,
|
|
73
|
+
...(requestHandler ? { requestHandler } : {}),
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
return { region: creds.region, credentials: provider };
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=resolveAwsCredentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveAwsCredentials.js","sourceRoot":"","sources":["../../../utils/aws/resolveAwsCredentials.ts"],"names":[],"mappings":";;AAiBA,sDAiFC;AAlGD,oDAAsD;AACtD,wEAAyE;AACzE,iEAA4D;AAO5D,kHAA2G;AAC3G,+CAAoE;AAO7D,KAAK,UAAU,qBAAqB,CAC1C,OAA6B,EAC7B,SAAS,GAAG,CAAC;IAEb,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,SAAS,EAAE,KAAK,CAEnE,CAAC;IAEhB,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAA0B,CAAC;QAC7E,MAAM,QAAQ,GAA0B;YACvC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,YAAY;gBACnD,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;SACN,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAiC,CAAC;IAE9F,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,wBAAS,CAAC,4CAA4C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,MAAM,IAAI,wBAAS,CAAC,+CAA+C,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACnE,MAAM,IAAI,wBAAS,CAAC,qDAAqD,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,iBAAwE,CAAC;IAC7E,IAAI,KAAK,CAAC,2BAA2B,EAAE,CAAC;QACvC,iBAAiB,GAAG,KAAK,IAAI,EAAE;YAC9B,MAAM,GAAG,GAAG,MAAM,IAAA,+CAAoB,GAAE,CAAC;YACzC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,MAAM,IAAI,wBAAS,CAClB,uKAAuK,CACvK,CAAC;YACH,CAAC;YACD,OAAO;gBACN,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC;QACH,CAAC,CAAC;IACH,CAAC;SAAM,CAAC;QACP,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjE,MAAM,IAAI,wBAAS,CAAC,kEAAkE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACzE,MAAM,IAAI,wBAAS,CAAC,sEAAsE,CAAC,CAAC;QAC7F,CAAC;QACD,iBAAiB,GAAG;YACnB,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE;YACxC,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE;YAChD,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxF,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,KAAK,CAAC,MAAM,gBAAgB,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAA,gCAAiB,EAAC,SAAS,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,UAAU;QAChC,CAAC,CAAC,IAAI,mCAAe,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QACxE,CAAC,CAAC,SAAS,CAAC;IAEb,MAAM,QAAQ,GAAG,IAAA,+CAAwB,EAAC;QACzC,MAAM,EAAE;YACP,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;YAC7B,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE;YAC7C,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;SACnC;QACD,iBAAiB;QACjB,YAAY,EAAE;YACb,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C;KACD,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACxD,CAAC"}
|
|
@@ -10,6 +10,7 @@ const n8n_workflow_1 = require("n8n-workflow");
|
|
|
10
10
|
const zod_1 = require("zod");
|
|
11
11
|
const ai_utilities_1 = require("@n8n/ai-utilities");
|
|
12
12
|
const helpers_1 = require("../helpers");
|
|
13
|
+
const langchainParserError_1 = require("./langchainParserError");
|
|
13
14
|
const STRUCTURED_OUTPUT_KEY = '__structured__output';
|
|
14
15
|
const STRUCTURED_OUTPUT_OBJECT_KEY = '__structured__output__object';
|
|
15
16
|
const STRUCTURED_OUTPUT_ARRAY_KEY = '__structured__output__array';
|
|
@@ -64,10 +65,10 @@ class N8nStructuredOutputParser extends output_parsers_1.StructuredOutputParser
|
|
|
64
65
|
e.issues?.[0].received === 'undefined');
|
|
65
66
|
const nodeError = new n8n_workflow_1.NodeOperationError(this.context.getNode(), isEmptyOutput
|
|
66
67
|
? 'The AI model returned an empty response to the Structured Output Parser'
|
|
67
|
-
:
|
|
68
|
+
: langchainParserError_1.MODEL_OUTPUT_PARSER_ERROR_MESSAGE, {
|
|
68
69
|
description: isEmptyOutput
|
|
69
70
|
? "This usually happens when the model runs out of tokens before it can generate the structured output. Try reducing the prompt length, increasing the model's max output tokens, or simplifying the output schema. To continue the execution when this happens, change the 'On Error' parameter in the root node's settings."
|
|
70
|
-
:
|
|
71
|
+
: langchainParserError_1.MODEL_OUTPUT_PARSER_ERROR_DESCRIPTION,
|
|
71
72
|
});
|
|
72
73
|
if (e instanceof SyntaxError) {
|
|
73
74
|
nodeError.context.outputParserFailReason = 'Invalid JSON in model output';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"N8nStructuredOutputParser.js","sourceRoot":"","sources":["../../../utils/output_parsers/N8nStructuredOutputParser.ts"],"names":[],"mappings":";;;;;;AACA,sEAA2E;AAC3E,qDAA6B;AAE7B,+CAAuE;AACvE,6BAAwB;AAExB,oDAA+C;AAC/C,wCAAgD;
|
|
1
|
+
{"version":3,"file":"N8nStructuredOutputParser.js","sourceRoot":"","sources":["../../../utils/output_parsers/N8nStructuredOutputParser.ts"],"names":[],"mappings":";;;;;;AACA,sEAA2E;AAC3E,qDAA6B;AAE7B,+CAAuE;AACvE,6BAAwB;AAExB,oDAA+C;AAC/C,wCAAgD;AAChD,iEAGgC;AAEhC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AACrD,MAAM,4BAA4B,GAAG,8BAA8B,CAAC;AACpE,MAAM,2BAA2B,GAAG,6BAA6B,CAAC;AAElE,MAAa,yBAA0B,SAAQ,uCAE9C;IACA,YACS,OAA6B,EACrC,SAA8B;QAE9B,KAAK,CAAC,SAAS,CAAC,CAAC;QAHT,YAAO,GAAP,OAAO,CAAsB;QAMtC,iBAAY,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAF7D,CAAC;IAID,KAAK,CAAC,KAAK,CACV,IAAY,EACZ,UAAsB,EACtB,WAAqC;QAErC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,kCAAmB,CAAC,cAAc,EAAE;YAC/E,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC;YAGJ,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAG7B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;YAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEpC,IAAI,eAAe,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACnE,eAAe,GAAG,CAAC,CAAC;gBACrB,CAAC;qBAAM,IAAI,eAAe,KAAK,CAAC,CAAC,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBAE5D,aAAa,GAAG,CAAC,CAAC;oBAClB,MAAM;gBACP,CAAC;YACF,CAAC;YAGD,IAAI,eAAe,KAAK,CAAC,CAAC,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpD,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAElD,IAAI,MAAM,GAAG,CAAC,IAAA,aAAG,EAAC,MAAM,EAAE,CAAC,qBAAqB,EAAE,4BAA4B,CAAC,CAAC;gBAC/E,IAAA,aAAG,EAAC,MAAM,EAAE,CAAC,qBAAqB,EAAE,2BAA2B,CAAC,CAAC;gBACjE,IAAA,aAAG,EAAC,MAAM,EAAE,qBAAqB,CAAC;gBAClC,MAAM,CAA4B,CAAC;YAGpC,MAAM,GAAG,IAAA,4BAAkB,EAAC,MAAM,CAAC,CAAC;YAEpC,IAAA,yBAAU,EAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,kCAAmB,CAAC,cAAc,EAAE,KAAK,EAAE;gBACrE,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;aACjD,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,aAAa,GAClB,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC;gBAClD,CAAC,CAAC,YAAY,OAAC,CAAC,QAAQ;oBACvB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACb,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc;oBACrC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ;oBACpC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ;oBACnC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;YAE1C,MAAM,SAAS,GAAG,IAAI,iCAAkB,CACvC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EACtB,aAAa;gBACZ,CAAC,CAAC,yEAAyE;gBAC3E,CAAC,CAAC,wDAAiC,EACpC;gBACC,WAAW,EAAE,aAAa;oBACzB,CAAC,CAAC,4TAA4T;oBAC9T,CAAC,CAAC,4DAAqC;aACxC,CACD,CAAC;YAGF,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC;gBAC9B,SAAS,CAAC,OAAO,CAAC,sBAAsB,GAAG,8BAA8B,CAAC;YAC3E,CAAC;iBAAM,IAAI,aAAa,EAAE,CAAC;gBAC1B,SAAS,CAAC,OAAO,CAAC,sBAAsB,GAAG,yCAAyC,CAAC;YACtF,CAAC;iBAAM,IAAI,CAAC,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;gBACpC,SAAS,CAAC,OAAO,CAAC,sBAAsB;oBACvC,iDAAiD,CAAC;YACpD,CAAC;YAED,IAAA,yBAAU,EAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE;gBAC5C,IAAI;gBACJ,QAAQ,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,kCAAmB,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACjF,IAAI,WAAW,EAAE,CAAC;gBACjB,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;YAED,MAAM,SAAS,CAAC;QACjB,CAAC;IACF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC7B,SAA8B,EAC9B,WAAmB,EACnB,OAA6B;QAE7B,IAAI,YAAqD,CAAC;QAC1D,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACvB,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;gBACvB,CAAC,qBAAqB,CAAC,EAAE,OAAC;qBACxB,MAAM,CAAC;oBACP,CAAC,4BAA4B,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE;oBACpD,CAAC,2BAA2B,CAAC,EAAE,OAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;iBAC5D,CAAC;qBACD,QAAQ,CACR,uDAAuD,4BAA4B,OAAO,2BAA2B,kBAAkB,CACvI;qBACA,MAAM,CACN,CAAC,IAAI,EAAE,EAAE;oBAER,OAAO,CACN,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;wBAC3C,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAC1C,CAAC;gBACH,CAAC,EACD;oBACC,OAAO,EACN,qGAAqG;oBACtG,IAAI,EAAE,CAAC,qBAAqB,CAAC;iBAC7B,CACD;aACF,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;YAC9B,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;gBACvB,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE;aAC5B,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;gBACvB,MAAM,EAAE,SAAS;aACjB,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,yBAAyB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD;AA/JD,8DA+JC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { INode } from 'n8n-workflow';
|
|
2
|
+
export declare const MODEL_OUTPUT_PARSER_ERROR_MESSAGE = "Model output doesn't fit required format";
|
|
3
|
+
export declare const MODEL_OUTPUT_PARSER_ERROR_DESCRIPTION = "To continue the execution when this happens, change the 'On Error' parameter in the root node's settings";
|
|
4
|
+
export declare function isLangChainParserError(error: unknown): boolean;
|
|
5
|
+
export declare function wrapLangChainParserError(error: unknown, node: INode, itemIndex?: number): Error;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MODEL_OUTPUT_PARSER_ERROR_DESCRIPTION = exports.MODEL_OUTPUT_PARSER_ERROR_MESSAGE = void 0;
|
|
4
|
+
exports.isLangChainParserError = isLangChainParserError;
|
|
5
|
+
exports.wrapLangChainParserError = wrapLangChainParserError;
|
|
6
|
+
const output_parsers_1 = require("@langchain/core/output_parsers");
|
|
7
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
8
|
+
exports.MODEL_OUTPUT_PARSER_ERROR_MESSAGE = "Model output doesn't fit required format";
|
|
9
|
+
exports.MODEL_OUTPUT_PARSER_ERROR_DESCRIPTION = "To continue the execution when this happens, change the 'On Error' parameter in the root node's settings";
|
|
10
|
+
const LANGCHAIN_PARSER_ERROR_MESSAGES = ['Failed to parse. Text:', 'Unable to parse JSON response'];
|
|
11
|
+
function getErrorProperty(error, property) {
|
|
12
|
+
if (error instanceof Error)
|
|
13
|
+
return error[property];
|
|
14
|
+
if (typeof error !== 'object' || error === null || !(property in error))
|
|
15
|
+
return undefined;
|
|
16
|
+
const value = error[property];
|
|
17
|
+
return typeof value === 'string' ? value : undefined;
|
|
18
|
+
}
|
|
19
|
+
function getErrorName(error) {
|
|
20
|
+
const errorName = getErrorProperty(error, 'name');
|
|
21
|
+
if (errorName)
|
|
22
|
+
return errorName;
|
|
23
|
+
return error instanceof Error ? error.constructor.name : undefined;
|
|
24
|
+
}
|
|
25
|
+
function hasLangChainParserMessage(error) {
|
|
26
|
+
const errorMessage = getErrorProperty(error, 'message');
|
|
27
|
+
if (!errorMessage)
|
|
28
|
+
return false;
|
|
29
|
+
return LANGCHAIN_PARSER_ERROR_MESSAGES.some((message) => errorMessage.includes(message));
|
|
30
|
+
}
|
|
31
|
+
function isLangChainParserError(error) {
|
|
32
|
+
return (error instanceof output_parsers_1.OutputParserException ||
|
|
33
|
+
getErrorName(error) === 'OutputParserException' ||
|
|
34
|
+
hasLangChainParserMessage(error));
|
|
35
|
+
}
|
|
36
|
+
function wrapLangChainParserError(error, node, itemIndex) {
|
|
37
|
+
if (!isLangChainParserError(error)) {
|
|
38
|
+
return error instanceof Error
|
|
39
|
+
? error
|
|
40
|
+
: new Error(getErrorProperty(error, 'message') ?? String(error));
|
|
41
|
+
}
|
|
42
|
+
const options = {
|
|
43
|
+
description: exports.MODEL_OUTPUT_PARSER_ERROR_DESCRIPTION,
|
|
44
|
+
...(itemIndex !== undefined ? { itemIndex } : {}),
|
|
45
|
+
};
|
|
46
|
+
const nodeError = new n8n_workflow_1.NodeOperationError(node, exports.MODEL_OUTPUT_PARSER_ERROR_MESSAGE, options);
|
|
47
|
+
nodeError.context.outputParserFailReason = 'Model output does not match the expected schema';
|
|
48
|
+
return nodeError;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=langchainParserError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langchainParserError.js","sourceRoot":"","sources":["../../../utils/output_parsers/langchainParserError.ts"],"names":[],"mappings":";;;AAgCA,wDAMC;AAED,4DAgBC;AAxDD,mEAAuE;AAEvE,+CAAkD;AAErC,QAAA,iCAAiC,GAAG,0CAA0C,CAAC;AAC/E,QAAA,qCAAqC,GACjD,0GAA0G,CAAC;AAE5G,MAAM,+BAA+B,GAAG,CAAC,wBAAwB,EAAE,+BAA+B,CAAC,CAAC;AAEpG,SAAS,gBAAgB,CAAC,KAAc,EAAE,QAA4B;IACrE,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1F,MAAM,KAAK,GAAI,KAAiC,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IACnC,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAChD,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAEhC,OAAO,+BAA+B,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAc;IACpD,OAAO,CACN,KAAK,YAAY,sCAAqB;QACtC,YAAY,CAAC,KAAK,CAAC,KAAK,uBAAuB;QAC/C,yBAAyB,CAAC,KAAK,CAAC,CAChC,CAAC;AACH,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAAc,EAAE,IAAW,EAAE,SAAkB;IACvF,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,YAAY,KAAK;YAC5B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG;QACf,WAAW,EAAE,6CAAqC;QAClD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjD,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,iCAAkB,CAAC,IAAI,EAAE,yCAAiC,EAAE,OAAO,CAAC,CAAC;IAC3F,SAAS,CAAC,OAAO,CAAC,sBAAsB,GAAG,iDAAiD,CAAC;IAE7F,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/n8n-nodes-langchain",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.26.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"exports": {
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
},
|
|
26
26
|
"files": [
|
|
27
27
|
"dist",
|
|
28
|
-
"
|
|
29
|
-
"
|
|
28
|
+
"LICENSE.md",
|
|
29
|
+
"LICENSE_EE.md"
|
|
30
30
|
],
|
|
31
31
|
"n8n": {
|
|
32
32
|
"n8nNodesApiVersion": 1,
|
|
@@ -104,6 +104,7 @@
|
|
|
104
104
|
"dist/nodes/embeddings/EmbeddingsLemonade/EmbeddingsLemonade.node.js",
|
|
105
105
|
"dist/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.js",
|
|
106
106
|
"dist/nodes/embeddings/EmbeddingsOracleDB/EmbeddingsOracleDb.node.js",
|
|
107
|
+
"dist/nodes/embeddings/EmbeddingsNvidia/EmbeddingsNvidia.node.js",
|
|
107
108
|
"dist/nodes/llms/LmChatAlibabaCloud/LmChatAlibabaCloud.node.js",
|
|
108
109
|
"dist/nodes/llms/LMChatAnthropic/LmChatAnthropic.node.js",
|
|
109
110
|
"dist/nodes/llms/LmChatAzureOpenAi/LmChatAzureOpenAi.node.js",
|
|
@@ -207,12 +208,14 @@
|
|
|
207
208
|
"fast-glob": "3.2.12",
|
|
208
209
|
"vitest": "^4.1.1",
|
|
209
210
|
"vitest-mock-extended": "^3.1.0",
|
|
210
|
-
"@n8n/eslint-plugin-community-nodes": "0.
|
|
211
|
-
"@n8n/vitest-config": "1.
|
|
212
|
-
"n8n-core": "2.
|
|
211
|
+
"@n8n/eslint-plugin-community-nodes": "0.20.0",
|
|
212
|
+
"@n8n/vitest-config": "1.14.0",
|
|
213
|
+
"n8n-core": "2.26.0"
|
|
213
214
|
},
|
|
214
215
|
"dependencies": {
|
|
216
|
+
"@aws-sdk/client-bedrock-runtime": "3.938.0",
|
|
215
217
|
"@aws-sdk/client-sso-oidc": "3.808.0",
|
|
218
|
+
"@aws-sdk/credential-providers": "3.808.0",
|
|
216
219
|
"@azure/identity": "4.13.0",
|
|
217
220
|
"@azure/search-documents": "12.1.0",
|
|
218
221
|
"@getzep/zep-cloud": "1.0.6",
|
|
@@ -253,6 +256,7 @@
|
|
|
253
256
|
"@oracle/langchain-oracledb": "0.2.0",
|
|
254
257
|
"@pinecone-database/pinecone": "^5.0.2",
|
|
255
258
|
"@qdrant/js-client-rest": "^1.16.2",
|
|
259
|
+
"@smithy/node-http-handler": "4.5.0",
|
|
256
260
|
"@supabase/supabase-js": "2.50.0",
|
|
257
261
|
"@xata.io/client": "0.28.4",
|
|
258
262
|
"@zilliz/milvus2-sdk-node": "^2.5.7",
|
|
@@ -284,15 +288,15 @@
|
|
|
284
288
|
"weaviate-client": "3.9.0",
|
|
285
289
|
"zod": "3.25.67",
|
|
286
290
|
"zod-to-json-schema": "3.23.3",
|
|
287
|
-
"@n8n/
|
|
288
|
-
"@n8n/
|
|
289
|
-
"@n8n/
|
|
290
|
-
"@n8n/
|
|
291
|
-
"@n8n/
|
|
292
|
-
"n8n-
|
|
293
|
-
"n8n-
|
|
294
|
-
"
|
|
295
|
-
"
|
|
291
|
+
"@n8n/client-oauth2": "1.8.0",
|
|
292
|
+
"@n8n/config": "2.24.0",
|
|
293
|
+
"@n8n/di": "0.13.0",
|
|
294
|
+
"@n8n/errors": "0.9.0",
|
|
295
|
+
"@n8n/ai-utilities": "0.19.0",
|
|
296
|
+
"@n8n/json-schema-to-zod": "1.10.0",
|
|
297
|
+
"@n8n/typescript-config": "1.5.0",
|
|
298
|
+
"n8n-nodes-base": "2.26.0",
|
|
299
|
+
"n8n-workflow": "2.26.0"
|
|
296
300
|
},
|
|
297
301
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
298
302
|
"homepage": "https://n8n.io",
|
|
@@ -310,6 +314,7 @@
|
|
|
310
314
|
"typecheck": "tsc --noEmit",
|
|
311
315
|
"copy-nodes-json": "node ../../nodes-base/scripts/copy-nodes-json.js .",
|
|
312
316
|
"build": "tsc --build tsconfig.build.json && pnpm copy-nodes-json && tsc-alias -p tsconfig.build.json && pnpm n8n-copy-static-files && pnpm n8n-generate-metadata && pnpm n8n-generate-node-defs",
|
|
317
|
+
"build:unchecked": "tsc --build tsconfig.build.json --noCheck && pnpm copy-nodes-json && tsc-alias -p tsconfig.build.json && pnpm n8n-copy-static-files && pnpm n8n-generate-metadata && pnpm n8n-generate-node-defs",
|
|
313
318
|
"format": "biome format --write .",
|
|
314
319
|
"format:check": "biome ci .",
|
|
315
320
|
"lint": "eslint nodes credentials utils --quiet",
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LangChain Code Node Types
|
|
3
|
-
*
|
|
4
|
-
* Re-exports all version-specific types and provides combined union type.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import type { LcCodeV1Node } from './v1';
|
|
8
|
-
|
|
9
|
-
export * from './v1';
|
|
10
|
-
|
|
11
|
-
// Combined union type for all versions
|
|
12
|
-
export type LcCodeNode = LcCodeV1Node;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LangChain Code Node - Version 1 - Zod Validation Schemas
|
|
3
|
-
*
|
|
4
|
-
* These schemas validate node configuration at runtime.
|
|
5
|
-
* Use .parse() for strict validation or .safeParse() for error handling.
|
|
6
|
-
*
|
|
7
|
-
* Schema helpers (z, expressionSchema, etc.) are passed as parameters
|
|
8
|
-
* by the schema-validator, not imported from external files.
|
|
9
|
-
*
|
|
10
|
-
* @generated - CommonJS JavaScript for runtime loading
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
module.exports = function getSchema({ parameters, z, expressionSchema, stringOrExpression, numberOrExpression, booleanOrExpression, resourceLocatorValueSchema, resourceMapperValueSchema, filterValueSchema, assignmentCollectionValueSchema, iDataObjectSchema, documentLoaderInstanceSchema, embeddingInstanceSchema, languageModelInstanceSchema, memoryInstanceSchema, outputParserInstanceSchema, textSplitterInstanceSchema, toolInstanceSchema, vectorStoreInstanceSchema }) {
|
|
14
|
-
|
|
15
|
-
// Static subnode schema
|
|
16
|
-
const subnodesSchema = z.object({
|
|
17
|
-
documentLoader: z.union([documentLoaderInstanceSchema, z.array(documentLoaderInstanceSchema)]).optional(),
|
|
18
|
-
embedding: z.union([embeddingInstanceSchema, z.array(embeddingInstanceSchema)]).optional(),
|
|
19
|
-
model: z.union([languageModelInstanceSchema, z.array(languageModelInstanceSchema)]).optional(),
|
|
20
|
-
memory: memoryInstanceSchema.optional(),
|
|
21
|
-
outputParser: outputParserInstanceSchema.optional(),
|
|
22
|
-
textSplitter: textSplitterInstanceSchema.optional(),
|
|
23
|
-
tools: z.array(toolInstanceSchema).optional(),
|
|
24
|
-
vectorStore: vectorStoreInstanceSchema.optional(),
|
|
25
|
-
}).strict();
|
|
26
|
-
|
|
27
|
-
// Parameters schema
|
|
28
|
-
const parametersSchema = z.object({
|
|
29
|
-
code: z.object({ execute: z.object({ code: z.string().optional() }).optional(), supplyData: z.object({ code: z.string().optional() }).optional() }).optional(),
|
|
30
|
-
inputs: z.object({ input: z.array(z.object({ type: z.union([z.literal('ai_chain'), z.literal('ai_document'), z.literal('ai_embedding'), z.literal('ai_languageModel'), z.literal('ai_memory'), z.literal('ai_outputParser'), z.literal('ai_textSplitter'), z.literal('ai_tool'), z.literal('ai_vectorStore'), z.literal('main')]).optional(), maxConnections: z.number().optional(), required: z.boolean().optional() })).optional() }).optional(),
|
|
31
|
-
outputs: z.object({ output: z.array(z.object({ type: z.union([z.literal('ai_chain'), z.literal('ai_document'), z.literal('ai_embedding'), z.literal('ai_languageModel'), z.literal('ai_memory'), z.literal('ai_outputParser'), z.literal('ai_textSplitter'), z.literal('ai_tool'), z.literal('ai_vectorStore'), z.literal('main')]).optional() })).optional() }).optional(),
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
// Return combined config schema
|
|
35
|
-
return z.object({
|
|
36
|
-
parameters: parametersSchema.nullable().optional(),
|
|
37
|
-
subnodes: subnodesSchema.optional(),
|
|
38
|
-
});
|
|
39
|
-
};
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LangChain Code Node - Version 1
|
|
3
|
-
* LangChain Code Node
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export interface LcCodeV1Params {
|
|
8
|
-
code?: {
|
|
9
|
-
/** Execute
|
|
10
|
-
*/
|
|
11
|
-
execute?: {
|
|
12
|
-
/** JavaScript - Execute
|
|
13
|
-
* @hint This code will only run and return data if a "Main" input & output got created.
|
|
14
|
-
*/
|
|
15
|
-
code?: string;
|
|
16
|
-
};
|
|
17
|
-
/** Supply Data
|
|
18
|
-
*/
|
|
19
|
-
supplyData?: {
|
|
20
|
-
/** JavaScript - Supply Data
|
|
21
|
-
* @hint This code will only run and return data if an output got created which is not "Main".
|
|
22
|
-
*/
|
|
23
|
-
code?: string;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* The input to add
|
|
28
|
-
* @default {}
|
|
29
|
-
*/
|
|
30
|
-
inputs?: {
|
|
31
|
-
/** Input
|
|
32
|
-
*/
|
|
33
|
-
input?: Array<{
|
|
34
|
-
/** The type of the input
|
|
35
|
-
*/
|
|
36
|
-
type?: 'ai_chain' | 'ai_document' | 'ai_embedding' | 'ai_languageModel' | 'ai_memory' | 'ai_outputParser' | 'ai_textSplitter' | 'ai_tool' | 'ai_vectorStore' | 'main';
|
|
37
|
-
/** How many nodes of this type are allowed to be connected. Set it to -1 for unlimited.
|
|
38
|
-
* @default -1
|
|
39
|
-
*/
|
|
40
|
-
maxConnections?: number;
|
|
41
|
-
/** Whether the input needs a connection
|
|
42
|
-
* @default false
|
|
43
|
-
*/
|
|
44
|
-
required?: boolean;
|
|
45
|
-
}>;
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* The output to add
|
|
49
|
-
* @default {}
|
|
50
|
-
*/
|
|
51
|
-
outputs?: {
|
|
52
|
-
/** Output
|
|
53
|
-
*/
|
|
54
|
-
output?: Array<{
|
|
55
|
-
/** The type of the input
|
|
56
|
-
*/
|
|
57
|
-
type?: 'ai_chain' | 'ai_document' | 'ai_embedding' | 'ai_languageModel' | 'ai_memory' | 'ai_outputParser' | 'ai_textSplitter' | 'ai_tool' | 'ai_vectorStore' | 'main';
|
|
58
|
-
}>;
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export interface LcCodeV1SubnodeConfig {
|
|
63
|
-
documentLoader?: DocumentLoaderInstance | DocumentLoaderInstance[];
|
|
64
|
-
embedding?: EmbeddingInstance | EmbeddingInstance[];
|
|
65
|
-
model?: LanguageModelInstance | LanguageModelInstance[];
|
|
66
|
-
memory?: MemoryInstance;
|
|
67
|
-
outputParser?: OutputParserInstance;
|
|
68
|
-
textSplitter?: TextSplitterInstance;
|
|
69
|
-
tools?: ToolInstance[];
|
|
70
|
-
vectorStore?: VectorStoreInstance;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
interface LcCodeV1NodeBase {
|
|
74
|
-
type: '@n8n/n8n-nodes-langchain.code';
|
|
75
|
-
version: 1;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export type LcCodeV1ParamsNode = LcCodeV1NodeBase & {
|
|
79
|
-
config: NodeConfig<LcCodeV1Params> & { subnodes?: LcCodeV1SubnodeConfig };
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
export type LcCodeV1Node = LcCodeV1ParamsNode;
|