@n8n/n8n-nodes-langchain 1.36.4 → 1.37.3
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/build.tsbuildinfo +1 -1
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/execute.d.ts +1 -1
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/execute.js +33 -21
- package/dist/nodes/agents/Agent/agents/ConversationalAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/execute.js +33 -21
- package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/execute.js +33 -21
- package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/ReActAgent/execute.js +33 -21
- package/dist/nodes/agents/Agent/agents/ReActAgent/execute.js.map +1 -1
- package/dist/nodes/agents/Agent/agents/SqlAgent/execute.js +80 -70
- package/dist/nodes/agents/Agent/agents/SqlAgent/execute.js.map +1 -1
- package/dist/nodes/agents/OpenAiAssistant/OpenAiAssistant.node.js +53 -43
- package/dist/nodes/agents/OpenAiAssistant/OpenAiAssistant.node.js.map +1 -1
- package/dist/nodes/chains/ChainLLM/ChainLlm.node.js +54 -44
- package/dist/nodes/chains/ChainLLM/ChainLlm.node.js.map +1 -1
- package/dist/nodes/chains/ChainRetrievalQA/ChainRetrievalQa.node.js +25 -15
- package/dist/nodes/chains/ChainRetrievalQA/ChainRetrievalQa.node.js.map +1 -1
- package/dist/nodes/chains/ChainSummarization/V2/ChainSummarizationV2.node.js +50 -40
- package/dist/nodes/chains/ChainSummarization/V2/ChainSummarizationV2.node.js.map +1 -1
- package/dist/nodes/retrievers/RetrieverWorkflow/RetrieverWorkflow.node.js +2 -2
- package/dist/nodes/retrievers/RetrieverWorkflow/RetrieverWorkflow.node.js.map +1 -1
- package/dist/nodes/tools/ToolWorkflow/ToolWorkflow.node.js +4 -4
- package/dist/nodes/tools/ToolWorkflow/ToolWorkflow.node.js.map +1 -1
- package/dist/nodes/trigger/ChatTrigger/templates.js +3 -2
- package/dist/nodes/trigger/ChatTrigger/templates.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/actions/assistant/message.operation.js +2 -1
- package/dist/nodes/vendors/OpenAi/actions/assistant/message.operation.js.map +1 -1
- package/dist/utils/tracing.d.ts +7 -0
- package/dist/utils/tracing.js +21 -0
- package/dist/utils/tracing.js.map +1 -0
- package/package.json +6 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
|
|
2
2
|
export declare function conversationalAgentExecute(this: IExecuteFunctions, nodeVersion: number): Promise<INodeExecutionData[][]>;
|
|
@@ -6,6 +6,7 @@ const agents_1 = require("langchain/agents");
|
|
|
6
6
|
const prompts_1 = require("@langchain/core/prompts");
|
|
7
7
|
const output_parsers_1 = require("langchain/output_parsers");
|
|
8
8
|
const helpers_1 = require("../../../../../utils/helpers");
|
|
9
|
+
const tracing_1 = require("../../../../../utils/tracing");
|
|
9
10
|
async function conversationalAgentExecute(nodeVersion) {
|
|
10
11
|
var _a;
|
|
11
12
|
this.logger.verbose('Executing Conversational Agent');
|
|
@@ -48,29 +49,40 @@ async function conversationalAgentExecute(nodeVersion) {
|
|
|
48
49
|
}
|
|
49
50
|
const items = this.getInputData();
|
|
50
51
|
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
try {
|
|
53
|
+
let input;
|
|
54
|
+
if (this.getNode().typeVersion <= 1.2) {
|
|
55
|
+
input = this.getNodeParameter('text', itemIndex);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
input = (0, helpers_1.getPromptInputByType)({
|
|
59
|
+
ctx: this,
|
|
60
|
+
i: itemIndex,
|
|
61
|
+
inputKey: 'text',
|
|
62
|
+
promptTypeKey: 'promptType',
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
if (input === undefined) {
|
|
66
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The ‘text parameter is empty.');
|
|
67
|
+
}
|
|
68
|
+
if (prompt) {
|
|
69
|
+
input = (await prompt.invoke({ input })).value;
|
|
70
|
+
}
|
|
71
|
+
let response = await agentExecutor
|
|
72
|
+
.withConfig((0, tracing_1.getTracingConfig)(this))
|
|
73
|
+
.invoke({ input, outputParsers });
|
|
74
|
+
if (outputParser) {
|
|
75
|
+
response = { output: await outputParser.parse(response.output) };
|
|
76
|
+
}
|
|
77
|
+
returnData.push({ json: response });
|
|
54
78
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
if (input === undefined) {
|
|
64
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The ‘text parameter is empty.');
|
|
65
|
-
}
|
|
66
|
-
if (prompt) {
|
|
67
|
-
input = (await prompt.invoke({ input })).value;
|
|
68
|
-
}
|
|
69
|
-
let response = await agentExecutor.call({ input, outputParsers });
|
|
70
|
-
if (outputParser) {
|
|
71
|
-
response = { output: await outputParser.parse(response.output) };
|
|
79
|
+
catch (error) {
|
|
80
|
+
if (this.continueOnFail()) {
|
|
81
|
+
returnData.push({ json: { error: error.message }, pairedItem: { item: itemIndex } });
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
throw error;
|
|
72
85
|
}
|
|
73
|
-
returnData.push({ json: response });
|
|
74
86
|
}
|
|
75
87
|
return await this.prepareOutputData(returnData);
|
|
76
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/agents/Agent/agents/ConversationalAgent/execute.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/agents/Agent/agents/ConversationalAgent/execute.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AAGtE,6CAAsE;AAGtE,qDAAyD;AACzD,6DAAiE;AACjE,0DAKsC;AACtC,0DAAgE;AAEzD,KAAK,UAAU,0BAA0B,CAE/C,WAAmB;;IAEnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,qBAAqC,CAAC,CAAC,CAAC;IAEvF,IAAI,CAAC,IAAA,wBAAc,EAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,0CAA0C,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,sBAAsB,cAA8B,CAAC,CAAC,CAErE,CAAC;IAEb,MAAM,KAAK,GAAG,MAAM,IAAA,2BAAiB,EAAC,IAAI,EAAE,WAAW,IAAI,GAAG,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,MAAM,IAAA,kCAAwB,EAAC,IAAI,CAAC,CAAC;IAG3D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAKrD,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,IAAA,2CAAkC,EAAC,KAAK,EAAE,KAAK,EAAE;QAK5E,SAAS,EAAE,uCAAuC;QAClD,MAAM;QACN,uBAAuB,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,uBAAuB,MAAK,IAAI;QAClE,aAAa,EAAE,MAAA,OAAO,CAAC,aAAa,mCAAI,EAAE;QAC1C,SAAS,EAAE;YACV,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,YAAY,EAAE,OAAO,CAAC,YAAY;SAClC;KACD,CAAC,CAAC;IAEH,MAAM,UAAU,GAAyB,EAAE,CAAC;IAE5C,IAAI,YAA0C,CAAC;IAC/C,IAAI,MAAkC,CAAC;IACvC,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,IAAI,sCAAqB,CAAC,GAAG,aAAa,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,kBAAkB,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC;YAEhE,MAAM,GAAG,IAAI,wBAAc,CAAC;gBAC3B,QAAQ,EAAE,+BAA+B;gBACzC,cAAc,EAAE,CAAC,OAAO,CAAC;gBACzB,gBAAgB,EAAE,EAAE,kBAAkB,EAAE;aACxC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAClC,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;QAC/D,IAAI,CAAC;YACJ,IAAI,KAAK,CAAC;YAEV,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,IAAI,GAAG,EAAE,CAAC;gBACvC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAW,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACP,KAAK,GAAG,IAAA,8BAAoB,EAAC;oBAC5B,GAAG,EAAE,IAAI;oBACT,CAAC,EAAE,SAAS;oBACZ,QAAQ,EAAE,MAAM;oBAChB,aAAa,EAAE,YAAY;iBAC3B,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,+BAA+B,CAAC,CAAC;YAC/E,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACZ,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAChD,CAAC;YAED,IAAI,QAAQ,GAAG,MAAM,aAAa;iBAChC,UAAU,CAAC,IAAA,0BAAgB,EAAC,IAAI,CAAC,CAAC;iBAClC,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YAEnC,IAAI,YAAY,EAAE,CAAC;gBAClB,QAAQ,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAgB,CAAC,EAAE,CAAC;YAC5E,CAAC;YAED,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;gBACrF,SAAS;YACV,CAAC;YAED,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AA3GD,gEA2GC"}
|
|
@@ -8,6 +8,7 @@ const output_parsers_1 = require("langchain/output_parsers");
|
|
|
8
8
|
const memory_1 = require("langchain/memory");
|
|
9
9
|
const openai_1 = require("@langchain/openai");
|
|
10
10
|
const helpers_1 = require("../../../../../utils/helpers");
|
|
11
|
+
const tracing_1 = require("../../../../../utils/tracing");
|
|
11
12
|
async function openAiFunctionsAgentExecute(nodeVersion) {
|
|
12
13
|
var _a;
|
|
13
14
|
this.logger.verbose('Executing OpenAi Functions Agent');
|
|
@@ -50,29 +51,40 @@ async function openAiFunctionsAgentExecute(nodeVersion) {
|
|
|
50
51
|
}
|
|
51
52
|
const items = this.getInputData();
|
|
52
53
|
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
try {
|
|
55
|
+
let input;
|
|
56
|
+
if (this.getNode().typeVersion <= 1.2) {
|
|
57
|
+
input = this.getNodeParameter('text', itemIndex);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
input = (0, helpers_1.getPromptInputByType)({
|
|
61
|
+
ctx: this,
|
|
62
|
+
i: itemIndex,
|
|
63
|
+
inputKey: 'text',
|
|
64
|
+
promptTypeKey: 'promptType',
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
if (input === undefined) {
|
|
68
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The ‘text‘ parameter is empty.');
|
|
69
|
+
}
|
|
70
|
+
if (prompt) {
|
|
71
|
+
input = (await prompt.invoke({ input })).value;
|
|
72
|
+
}
|
|
73
|
+
let response = await agentExecutor
|
|
74
|
+
.withConfig((0, tracing_1.getTracingConfig)(this))
|
|
75
|
+
.invoke({ input, outputParsers });
|
|
76
|
+
if (outputParser) {
|
|
77
|
+
response = { output: await outputParser.parse(response.output) };
|
|
78
|
+
}
|
|
79
|
+
returnData.push({ json: response });
|
|
56
80
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
});
|
|
81
|
+
catch (error) {
|
|
82
|
+
if (this.continueOnFail()) {
|
|
83
|
+
returnData.push({ json: { error: error.message }, pairedItem: { item: itemIndex } });
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
throw error;
|
|
64
87
|
}
|
|
65
|
-
if (input === undefined) {
|
|
66
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The ‘text‘ parameter is empty.');
|
|
67
|
-
}
|
|
68
|
-
if (prompt) {
|
|
69
|
-
input = (await prompt.invoke({ input })).value;
|
|
70
|
-
}
|
|
71
|
-
let response = await agentExecutor.call({ input, outputParsers });
|
|
72
|
-
if (outputParser) {
|
|
73
|
-
response = { output: await outputParser.parse(response.output) };
|
|
74
|
-
}
|
|
75
|
-
returnData.push({ json: response });
|
|
76
88
|
}
|
|
77
89
|
return await this.prepareOutputData(returnData);
|
|
78
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/agents/Agent/agents/OpenAiFunctionsAgent/execute.ts"],"names":[],"mappings":";;;AAAA,+CAKsB;AAGtB,6CAA8D;AAE9D,qDAAyD;AACzD,6DAAiE;AACjE,6CAAqE;AACrE,8CAA+C;AAC/C,0DAIsC;
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/agents/Agent/agents/OpenAiFunctionsAgent/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ const prompts_1 = require("@langchain/core/prompts");
|
|
|
6
6
|
const output_parsers_1 = require("langchain/output_parsers");
|
|
7
7
|
const plan_and_execute_1 = require("langchain/experimental/plan_and_execute");
|
|
8
8
|
const helpers_1 = require("../../../../../utils/helpers");
|
|
9
|
+
const tracing_1 = require("../../../../../utils/tracing");
|
|
9
10
|
async function planAndExecuteAgentExecute(nodeVersion) {
|
|
10
11
|
this.logger.verbose('Executing PlanAndExecute Agent');
|
|
11
12
|
const model = (await this.getInputConnectionData("ai_languageModel", 0));
|
|
@@ -32,29 +33,40 @@ async function planAndExecuteAgentExecute(nodeVersion) {
|
|
|
32
33
|
}
|
|
33
34
|
const items = this.getInputData();
|
|
34
35
|
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
try {
|
|
37
|
+
let input;
|
|
38
|
+
if (this.getNode().typeVersion <= 1.2) {
|
|
39
|
+
input = this.getNodeParameter('text', itemIndex);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
input = (0, helpers_1.getPromptInputByType)({
|
|
43
|
+
ctx: this,
|
|
44
|
+
i: itemIndex,
|
|
45
|
+
inputKey: 'text',
|
|
46
|
+
promptTypeKey: 'promptType',
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
if (input === undefined) {
|
|
50
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The ‘text‘ parameter is empty.');
|
|
51
|
+
}
|
|
52
|
+
if (prompt) {
|
|
53
|
+
input = (await prompt.invoke({ input })).value;
|
|
54
|
+
}
|
|
55
|
+
let response = await agentExecutor
|
|
56
|
+
.withConfig((0, tracing_1.getTracingConfig)(this))
|
|
57
|
+
.invoke({ input, outputParsers });
|
|
58
|
+
if (outputParser) {
|
|
59
|
+
response = { output: await outputParser.parse(response.output) };
|
|
60
|
+
}
|
|
61
|
+
returnData.push({ json: response });
|
|
38
62
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
});
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (this.continueOnFail()) {
|
|
65
|
+
returnData.push({ json: { error: error.message }, pairedItem: { item: itemIndex } });
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
throw error;
|
|
46
69
|
}
|
|
47
|
-
if (input === undefined) {
|
|
48
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The ‘text‘ parameter is empty.');
|
|
49
|
-
}
|
|
50
|
-
if (prompt) {
|
|
51
|
-
input = (await prompt.invoke({ input })).value;
|
|
52
|
-
}
|
|
53
|
-
let response = await agentExecutor.call({ input, outputParsers });
|
|
54
|
-
if (outputParser) {
|
|
55
|
-
response = { output: await outputParser.parse(response.output) };
|
|
56
|
-
}
|
|
57
|
-
returnData.push({ json: response });
|
|
58
70
|
}
|
|
59
71
|
return await this.prepareOutputData(returnData);
|
|
60
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/agents/Agent/agents/PlanAndExecuteAgent/execute.ts"],"names":[],"mappings":";;;AAAA,+CAKsB;AAGtB,qDAAyD;AACzD,6DAAiE;AAEjE,8EAAsF;AACtF,0DAIsC;
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/agents/Agent/agents/PlanAndExecuteAgent/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ const agents_1 = require("langchain/agents");
|
|
|
6
6
|
const prompts_1 = require("@langchain/core/prompts");
|
|
7
7
|
const output_parsers_1 = require("langchain/output_parsers");
|
|
8
8
|
const helpers_1 = require("../../../../../utils/helpers");
|
|
9
|
+
const tracing_1 = require("../../../../../utils/tracing");
|
|
9
10
|
async function reActAgentAgentExecute(nodeVersion) {
|
|
10
11
|
this.logger.verbose('Executing ReAct Agent');
|
|
11
12
|
const model = (await this.getInputConnectionData("ai_languageModel", 0));
|
|
@@ -46,29 +47,40 @@ async function reActAgentAgentExecute(nodeVersion) {
|
|
|
46
47
|
}
|
|
47
48
|
const items = this.getInputData();
|
|
48
49
|
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
try {
|
|
51
|
+
let input;
|
|
52
|
+
if (this.getNode().typeVersion <= 1.2) {
|
|
53
|
+
input = this.getNodeParameter('text', itemIndex);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
input = (0, helpers_1.getPromptInputByType)({
|
|
57
|
+
ctx: this,
|
|
58
|
+
i: itemIndex,
|
|
59
|
+
inputKey: 'text',
|
|
60
|
+
promptTypeKey: 'promptType',
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (input === undefined) {
|
|
64
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The ‘text‘ parameter is empty.');
|
|
65
|
+
}
|
|
66
|
+
if (prompt) {
|
|
67
|
+
input = (await prompt.invoke({ input })).value;
|
|
68
|
+
}
|
|
69
|
+
let response = await agentExecutor
|
|
70
|
+
.withConfig((0, tracing_1.getTracingConfig)(this))
|
|
71
|
+
.invoke({ input, outputParsers });
|
|
72
|
+
if (outputParser) {
|
|
73
|
+
response = { output: await outputParser.parse(response.output) };
|
|
74
|
+
}
|
|
75
|
+
returnData.push({ json: response });
|
|
52
76
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
});
|
|
77
|
+
catch (error) {
|
|
78
|
+
if (this.continueOnFail()) {
|
|
79
|
+
returnData.push({ json: { error: error.message }, pairedItem: { item: itemIndex } });
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
throw error;
|
|
60
83
|
}
|
|
61
|
-
if (input === undefined) {
|
|
62
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The ‘text‘ parameter is empty.');
|
|
63
|
-
}
|
|
64
|
-
if (prompt) {
|
|
65
|
-
input = (await prompt.invoke({ input })).value;
|
|
66
|
-
}
|
|
67
|
-
let response = await agentExecutor.call({ input, outputParsers });
|
|
68
|
-
if (outputParser) {
|
|
69
|
-
response = { output: await outputParser.parse(response.output) };
|
|
70
|
-
}
|
|
71
|
-
returnData.push({ json: response });
|
|
72
84
|
}
|
|
73
85
|
return await this.prepareOutputData(returnData);
|
|
74
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/agents/Agent/agents/ReActAgent/execute.ts"],"names":[],"mappings":";;;AAAA,+CAKsB;AAEtB,6CAA2E;AAG3E,qDAAyD;AACzD,6DAAiE;AAEjE,0DAKsC;
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/agents/Agent/agents/ReActAgent/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ const n8n_workflow_1 = require("n8n-workflow");
|
|
|
5
5
|
const sql_db_1 = require("langchain/sql_db");
|
|
6
6
|
const sql_1 = require("langchain/agents/toolkits/sql");
|
|
7
7
|
const helpers_1 = require("../../../../../utils/helpers");
|
|
8
|
+
const tracing_1 = require("../../../../../utils/tracing");
|
|
8
9
|
const sqlite_1 = require("./other/handlers/sqlite");
|
|
9
10
|
const postgres_1 = require("./other/handlers/postgres");
|
|
10
11
|
const prompts_1 = require("./other/prompts");
|
|
@@ -20,82 +21,91 @@ async function sqlAgentAgentExecute(nodeVersion) {
|
|
|
20
21
|
const items = this.getInputData();
|
|
21
22
|
const returnData = [];
|
|
22
23
|
for (let i = 0; i < items.length; i++) {
|
|
23
|
-
const item = items[i];
|
|
24
|
-
let input;
|
|
25
|
-
if (this.getNode().typeVersion <= 1.2) {
|
|
26
|
-
input = this.getNodeParameter('input', i);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
input = (0, helpers_1.getPromptInputByType)({
|
|
30
|
-
ctx: this,
|
|
31
|
-
i,
|
|
32
|
-
inputKey: 'text',
|
|
33
|
-
promptTypeKey: 'promptType',
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
if (input === undefined) {
|
|
37
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The ‘prompt’ parameter is empty.');
|
|
38
|
-
}
|
|
39
|
-
const options = this.getNodeParameter('options', i, {});
|
|
40
|
-
const selectedDataSource = this.getNodeParameter('dataSource', i, 'sqlite');
|
|
41
|
-
const includedSampleRows = options.includedSampleRows;
|
|
42
|
-
const includedTablesArray = parseTablesString((_a = options.includedTables) !== null && _a !== void 0 ? _a : '');
|
|
43
|
-
const ignoredTablesArray = parseTablesString((_b = options.ignoredTables) !== null && _b !== void 0 ? _b : '');
|
|
44
|
-
let dataSource = null;
|
|
45
|
-
if (selectedDataSource === 'sqlite') {
|
|
46
|
-
if (!item.binary) {
|
|
47
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No binary data found, please connect a binary to the input if you want to use SQLite as data source');
|
|
48
|
-
}
|
|
49
|
-
const binaryPropertyName = this.getNodeParameter('binaryPropertyName', i, 'data');
|
|
50
|
-
dataSource = await sqlite_1.getSqliteDataSource.call(this, item.binary, binaryPropertyName);
|
|
51
|
-
}
|
|
52
|
-
if (selectedDataSource === 'postgres') {
|
|
53
|
-
dataSource = await postgres_1.getPostgresDataSource.call(this);
|
|
54
|
-
}
|
|
55
|
-
if (selectedDataSource === 'mysql') {
|
|
56
|
-
dataSource = await mysql_1.getMysqlDataSource.call(this);
|
|
57
|
-
}
|
|
58
|
-
if (!dataSource) {
|
|
59
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No data source found, please configure data source');
|
|
60
|
-
}
|
|
61
|
-
const agentOptions = {
|
|
62
|
-
topK: (_c = options.topK) !== null && _c !== void 0 ? _c : 10,
|
|
63
|
-
prefix: (_d = options.prefixPrompt) !== null && _d !== void 0 ? _d : prompts_1.SQL_PREFIX,
|
|
64
|
-
suffix: (_e = options.suffixPrompt) !== null && _e !== void 0 ? _e : prompts_1.SQL_SUFFIX,
|
|
65
|
-
inputVariables: ['chatHistory', 'input', 'agent_scratchpad'],
|
|
66
|
-
};
|
|
67
|
-
const dbInstance = await sql_db_1.SqlDatabase.fromDataSourceParams({
|
|
68
|
-
appDataSource: dataSource,
|
|
69
|
-
includesTables: includedTablesArray.length > 0 ? includedTablesArray : undefined,
|
|
70
|
-
ignoreTables: ignoredTablesArray.length > 0 ? ignoredTablesArray : undefined,
|
|
71
|
-
sampleRowsInTableInfo: includedSampleRows !== null && includedSampleRows !== void 0 ? includedSampleRows : 3,
|
|
72
|
-
});
|
|
73
|
-
const toolkit = new sql_1.SqlToolkit(dbInstance, model);
|
|
74
|
-
const agentExecutor = (0, sql_1.createSqlAgent)(model, toolkit, agentOptions);
|
|
75
|
-
const memory = (await this.getInputConnectionData("ai_memory", 0));
|
|
76
|
-
agentExecutor.memory = memory;
|
|
77
|
-
let chatHistory = '';
|
|
78
|
-
if (memory) {
|
|
79
|
-
const messages = await memory.chatHistory.getMessages();
|
|
80
|
-
chatHistory = (0, helpers_1.serializeChatHistory)(messages);
|
|
81
|
-
}
|
|
82
|
-
let response;
|
|
83
24
|
try {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
25
|
+
const item = items[i];
|
|
26
|
+
let input;
|
|
27
|
+
if (this.getNode().typeVersion <= 1.2) {
|
|
28
|
+
input = this.getNodeParameter('input', i);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
input = (0, helpers_1.getPromptInputByType)({
|
|
32
|
+
ctx: this,
|
|
33
|
+
i,
|
|
34
|
+
inputKey: 'text',
|
|
35
|
+
promptTypeKey: 'promptType',
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
if (input === undefined) {
|
|
39
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The ‘prompt’ parameter is empty.');
|
|
40
|
+
}
|
|
41
|
+
const options = this.getNodeParameter('options', i, {});
|
|
42
|
+
const selectedDataSource = this.getNodeParameter('dataSource', i, 'sqlite');
|
|
43
|
+
const includedSampleRows = options.includedSampleRows;
|
|
44
|
+
const includedTablesArray = parseTablesString((_a = options.includedTables) !== null && _a !== void 0 ? _a : '');
|
|
45
|
+
const ignoredTablesArray = parseTablesString((_b = options.ignoredTables) !== null && _b !== void 0 ? _b : '');
|
|
46
|
+
let dataSource = null;
|
|
47
|
+
if (selectedDataSource === 'sqlite') {
|
|
48
|
+
if (!item.binary) {
|
|
49
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No binary data found, please connect a binary to the input if you want to use SQLite as data source');
|
|
50
|
+
}
|
|
51
|
+
const binaryPropertyName = this.getNodeParameter('binaryPropertyName', i, 'data');
|
|
52
|
+
dataSource = await sqlite_1.getSqliteDataSource.call(this, item.binary, binaryPropertyName);
|
|
53
|
+
}
|
|
54
|
+
if (selectedDataSource === 'postgres') {
|
|
55
|
+
dataSource = await postgres_1.getPostgresDataSource.call(this);
|
|
56
|
+
}
|
|
57
|
+
if (selectedDataSource === 'mysql') {
|
|
58
|
+
dataSource = await mysql_1.getMysqlDataSource.call(this);
|
|
59
|
+
}
|
|
60
|
+
if (!dataSource) {
|
|
61
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No data source found, please configure data source');
|
|
62
|
+
}
|
|
63
|
+
const agentOptions = {
|
|
64
|
+
topK: (_c = options.topK) !== null && _c !== void 0 ? _c : 10,
|
|
65
|
+
prefix: (_d = options.prefixPrompt) !== null && _d !== void 0 ? _d : prompts_1.SQL_PREFIX,
|
|
66
|
+
suffix: (_e = options.suffixPrompt) !== null && _e !== void 0 ? _e : prompts_1.SQL_SUFFIX,
|
|
67
|
+
inputVariables: ['chatHistory', 'input', 'agent_scratchpad'],
|
|
68
|
+
};
|
|
69
|
+
const dbInstance = await sql_db_1.SqlDatabase.fromDataSourceParams({
|
|
70
|
+
appDataSource: dataSource,
|
|
71
|
+
includesTables: includedTablesArray.length > 0 ? includedTablesArray : undefined,
|
|
72
|
+
ignoreTables: ignoredTablesArray.length > 0 ? ignoredTablesArray : undefined,
|
|
73
|
+
sampleRowsInTableInfo: includedSampleRows !== null && includedSampleRows !== void 0 ? includedSampleRows : 3,
|
|
88
74
|
});
|
|
75
|
+
const toolkit = new sql_1.SqlToolkit(dbInstance, model);
|
|
76
|
+
const agentExecutor = (0, sql_1.createSqlAgent)(model, toolkit, agentOptions);
|
|
77
|
+
const memory = (await this.getInputConnectionData("ai_memory", 0));
|
|
78
|
+
agentExecutor.memory = memory;
|
|
79
|
+
let chatHistory = '';
|
|
80
|
+
if (memory) {
|
|
81
|
+
const messages = await memory.chatHistory.getMessages();
|
|
82
|
+
chatHistory = (0, helpers_1.serializeChatHistory)(messages);
|
|
83
|
+
}
|
|
84
|
+
let response;
|
|
85
|
+
try {
|
|
86
|
+
response = await agentExecutor.withConfig((0, tracing_1.getTracingConfig)(this)).invoke({
|
|
87
|
+
input,
|
|
88
|
+
signal: this.getExecutionCancelSignal(),
|
|
89
|
+
chatHistory,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
if ((_f = error.message) === null || _f === void 0 ? void 0 : _f.output) {
|
|
94
|
+
response = error.message;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error.message, { itemIndex: i });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
returnData.push({ json: response });
|
|
89
101
|
}
|
|
90
102
|
catch (error) {
|
|
91
|
-
if ((
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
else {
|
|
95
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error.message, { itemIndex: i });
|
|
103
|
+
if (this.continueOnFail()) {
|
|
104
|
+
returnData.push({ json: { error: error.message }, pairedItem: { item: i } });
|
|
105
|
+
continue;
|
|
96
106
|
}
|
|
107
|
+
throw error;
|
|
97
108
|
}
|
|
98
|
-
returnData.push({ json: response });
|
|
99
109
|
}
|
|
100
110
|
return await this.prepareOutputData(returnData);
|
|
101
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/agents/Agent/agents/SqlAgent/execute.ts"],"names":[],"mappings":";;;AAAA,+CAMsB;AAEtB,6CAA+C;AAE/C,uDAA2E;AAK3E,0DAA0F;AAC1F,oDAA8D;AAC9D,wDAAkE;AAClE,6CAAyD;AACzD,kDAA4D;AAE5D,MAAM,iBAAiB,GAAG,CAAC,YAAoB,EAAE,EAAE,CAClD,YAAY;KACV,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEhC,KAAK,UAAU,oBAAoB,CAEzC,WAAmB;;IAEnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE3C,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,sBAAsB,qBAE/C,CAAC,CACD,CAAsB,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAElC,MAAM,UAAU,GAAyB,EAAE,CAAC;IAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../../../nodes/agents/Agent/agents/SqlAgent/execute.ts"],"names":[],"mappings":"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"}
|