n8n-nodes-simple 2.4.8 → 2.4.10
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/nodes/shared/config/properties/output.js +1 -1
- package/dist/nodes/shared/config/properties/output.js.map +1 -1
- package/dist/nodes/shared/core/execution/executor.d.ts +1 -1
- package/dist/nodes/shared/core/execution/executor.js +48 -9
- package/dist/nodes/shared/core/execution/executor.js.map +1 -1
- package/dist/nodes/shared/core/execution/outputData.d.ts +1 -1
- package/dist/nodes/shared/core/execution/outputData.js +7 -1
- package/dist/nodes/shared/core/execution/outputData.js.map +1 -1
- package/dist/nodes/shared/core/execution/router.js +1 -1
- package/dist/nodes/shared/core/tools/setup.js +1 -1
- package/dist/nodes/shared/core/tools/setup.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -36,7 +36,7 @@ exports.outputProperties = [
|
|
|
36
36
|
name: 'structuredOutputToolsMode',
|
|
37
37
|
type: 'boolean',
|
|
38
38
|
default: false,
|
|
39
|
-
description: "Whether structured output is enforced through a tool. This enables structured output in models that do not support it. The structured output description should be something like: '
|
|
39
|
+
description: "Whether structured output is enforced through a tool. This enables structured output in models that do not support it. The structured output description should be something like: 'Call this tool last, when you are ready to return the final response to the user.'",
|
|
40
40
|
displayOptions: {
|
|
41
41
|
show: {
|
|
42
42
|
responseFormat: ['structuredOutputVisual', 'structuredOutputSchema'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../../nodes/shared/config/properties/output.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAsB;IAClD;QACC,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACV,kcAAkc;QACnc,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,WAAW;aAElB;YACD;gBACC,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,uDAAuD;aACpE;YACD;gBACC,IAAI,EAAE,qCAAqC;gBAC3C,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EAAE,wDAAwD;aACrE;YACD;gBACC,IAAI,EAAE,uCAAuC;gBAC7C,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EAAE,wDAAwD;aACrE;SACD;QACD,OAAO,EAAE,WAAW;KAQpB;IACD;QACC,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EACV,
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../../nodes/shared/config/properties/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IExecuteFunctions, INodeExecutionData, IDataObject } from 'n8n-workflow';
|
|
2
2
|
import type { BufferWindowMemory } from 'langchain/memory';
|
|
3
3
|
import { ExtractedParameters } from '../../config/parameters';
|
|
4
|
-
export declare function runModel(executeFunctions: IExecuteFunctions, params: ExtractedParameters, messages: IDataObject[], index: number, modelToUse: string, memory?: BufferWindowMemory): Promise<INodeExecutionData[]>;
|
|
4
|
+
export declare function runModel(executeFunctions: IExecuteFunctions, params: ExtractedParameters, messages: IDataObject[], index: number, modelToUse: string, memory?: BufferWindowMemory, primaryError?: string): Promise<INodeExecutionData[]>;
|
|
5
5
|
export declare function runModelWithFallback(executeFunctions: IExecuteFunctions, params: ExtractedParameters, messages: IDataObject[], index: number, memory?: BufferWindowMemory): Promise<INodeExecutionData[]>;
|
|
@@ -8,8 +8,8 @@ const body_1 = require("../request/body");
|
|
|
8
8
|
const executor_1 = require("../tools/executor");
|
|
9
9
|
const outputData_1 = require("./outputData");
|
|
10
10
|
const io_1 = require("../memory/io");
|
|
11
|
-
async function runModel(executeFunctions, params, messages, index, modelToUse, memory) {
|
|
12
|
-
var _a, _b;
|
|
11
|
+
async function runModel(executeFunctions, params, messages, index, modelToUse, memory, primaryError) {
|
|
12
|
+
var _a, _b, _c, _d, _e;
|
|
13
13
|
let responseFormat = (0, structuredOutput_1.prepareResponseFormatField)(params.responseFormat, params.outputJsonSchemaDefinition, params.structuredOutputName, params.structuredOutputDescription, params.structuredOutputProperties, params.structuredOutputIsArray, params.structuredOutputArrayName, params.structuredOutputArrayDescription);
|
|
14
14
|
const { tools, invokableTools, tool_choice, structuredOutputTool } = await (0, setup_1.prepareTools)(executeFunctions, params.structuredOutputToolsMode, params.maxToolsIterations, responseFormat);
|
|
15
15
|
if (params.structuredOutputToolsMode) {
|
|
@@ -18,16 +18,37 @@ async function runModel(executeFunctions, params, messages, index, modelToUse, m
|
|
|
18
18
|
;
|
|
19
19
|
const body = (0, body_1.prepareRequestBody)(modelToUse, messages, tools, tool_choice, responseFormat, params.options, params.customParameters);
|
|
20
20
|
const { response, structuredOutputToolResponse } = await (0, executor_1.processToolCalls)(executeFunctions, body, messages, invokableTools, params.maxToolsIterations, structuredOutputTool, params.abortSignal);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
let output;
|
|
22
|
+
try {
|
|
23
|
+
output = JSON.parse(structuredOutputToolResponse)
|
|
24
|
+
|| (params.responseFormat === "plainText"
|
|
25
|
+
? (_a = response === null || response === void 0 ? void 0 : response.choices[0]) === null || _a === void 0 ? void 0 : _a.message.content
|
|
26
|
+
: JSON.parse((_b = response === null || response === void 0 ? void 0 : response.choices[0]) === null || _b === void 0 ? void 0 : _b.message.content));
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
30
|
+
let detailedError = `JSON parse error: ${errorMessage}.`;
|
|
31
|
+
if (structuredOutputToolResponse) {
|
|
32
|
+
detailedError += `Failed to parse structured output tool response. Received: ${structuredOutputToolResponse}`;
|
|
33
|
+
}
|
|
34
|
+
else if (params.responseFormat !== "plainText") {
|
|
35
|
+
detailedError += `Failed to parse assistant message content. Received: ${(_e = (_d = (_c = response === null || response === void 0 ? void 0 : response.choices) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.message) === null || _e === void 0 ? void 0 : _e.content}`;
|
|
36
|
+
}
|
|
37
|
+
throw new Error(detailedError);
|
|
38
|
+
}
|
|
39
|
+
const outputData = await (0, outputData_1.prepareOutputData)(response, output, messages, params.addToOutput, executeFunctions, index, body, primaryError);
|
|
26
40
|
if (memory) {
|
|
27
41
|
await (0, io_1.saveToMemory)(messages, output, params.saveToolCallsInChatMemory, memory);
|
|
28
42
|
}
|
|
29
43
|
return outputData;
|
|
30
44
|
}
|
|
45
|
+
function extractErrorInfo(error) {
|
|
46
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
47
|
+
const description = error.description;
|
|
48
|
+
const requestBody = error.requestBody;
|
|
49
|
+
const httpCode = error.httpCode;
|
|
50
|
+
return { message, description, requestBody, httpCode };
|
|
51
|
+
}
|
|
31
52
|
async function runModelWithFallback(executeFunctions, params, messages, index, memory) {
|
|
32
53
|
var _a, _b;
|
|
33
54
|
try {
|
|
@@ -42,13 +63,31 @@ async function runModelWithFallback(executeFunctions, params, messages, index, m
|
|
|
42
63
|
}
|
|
43
64
|
catch (error) {
|
|
44
65
|
if (params.fallbackModel) {
|
|
66
|
+
const primaryErrorInfo = extractErrorInfo(error);
|
|
67
|
+
let primaryErrorMessage = primaryErrorInfo.message;
|
|
68
|
+
if (primaryErrorInfo.description) {
|
|
69
|
+
primaryErrorMessage += ` (${primaryErrorInfo.description})`;
|
|
70
|
+
}
|
|
45
71
|
try {
|
|
46
72
|
console.error('Running fallback model');
|
|
47
|
-
return await runModel(executeFunctions, params, messages, index, params.fallbackModel, memory);
|
|
73
|
+
return await runModel(executeFunctions, params, messages, index, params.fallbackModel, memory, primaryErrorMessage);
|
|
48
74
|
}
|
|
49
75
|
catch (fallbackError) {
|
|
50
76
|
console.error(`Fallback model ${params.fallbackModel} also failed:`, fallbackError);
|
|
51
|
-
|
|
77
|
+
const fallbackErrorInfo = extractErrorInfo(fallbackError);
|
|
78
|
+
let primaryFullError = primaryErrorInfo.message;
|
|
79
|
+
if (primaryErrorInfo.description) {
|
|
80
|
+
primaryFullError += ` (${primaryErrorInfo.description})`;
|
|
81
|
+
}
|
|
82
|
+
let fallbackFullError = fallbackErrorInfo.message;
|
|
83
|
+
if (fallbackErrorInfo.description) {
|
|
84
|
+
fallbackFullError += ` (${fallbackErrorInfo.description})`;
|
|
85
|
+
}
|
|
86
|
+
const combinedError = new Error(`● [Primary] ${primaryErrorInfo.httpCode} ${primaryFullError} ● [Fallback] ${fallbackErrorInfo.httpCode} ${fallbackFullError}`);
|
|
87
|
+
if (primaryErrorInfo.requestBody || fallbackErrorInfo.requestBody) {
|
|
88
|
+
combinedError.description = `Primary Request Body: ${primaryErrorInfo.requestBody}`;
|
|
89
|
+
}
|
|
90
|
+
throw combinedError;
|
|
52
91
|
}
|
|
53
92
|
}
|
|
54
93
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/executor.ts"],"names":[],"mappings":";;AAaA,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { IExecuteFunctions, INodeExecutionData, IDataObject } from 'n8n-workflow';
|
|
2
2
|
import type { ChatCompletion } from '../../api/types';
|
|
3
|
-
export declare function prepareOutputData(response: ChatCompletion, output: any, messages: IDataObject[], addToOutput: string[], executeFunctions: IExecuteFunctions, index: number, body: IDataObject): Promise<INodeExecutionData[]>;
|
|
3
|
+
export declare function prepareOutputData(response: ChatCompletion, output: any, messages: IDataObject[], addToOutput: string[], executeFunctions: IExecuteFunctions, index: number, body: IDataObject, primaryError?: string): Promise<INodeExecutionData[]>;
|
|
4
4
|
export declare function reorderOutputFields(outputData: INodeExecutionData[]): void;
|
|
@@ -3,9 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.prepareOutputData = prepareOutputData;
|
|
4
4
|
exports.reorderOutputFields = reorderOutputFields;
|
|
5
5
|
const messageExtractor_1 = require("../tools/messageExtractor");
|
|
6
|
-
async function prepareOutputData(response, output, messages, addToOutput, executeFunctions, index, body) {
|
|
6
|
+
async function prepareOutputData(response, output, messages, addToOutput, executeFunctions, index, body, primaryError) {
|
|
7
7
|
const outputData = [];
|
|
8
8
|
outputData.push({ json: { output: output }, pairedItem: { item: index } });
|
|
9
|
+
if (primaryError) {
|
|
10
|
+
outputData.forEach((item) => {
|
|
11
|
+
item.json.error = primaryError;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
9
14
|
if (addToOutput.includes('fullResponse')) {
|
|
10
15
|
outputData.forEach((item) => {
|
|
11
16
|
item.json.response = response;
|
|
@@ -65,6 +70,7 @@ function reorderOutputFields(outputData) {
|
|
|
65
70
|
outputData.forEach((item) => {
|
|
66
71
|
const reordered = {
|
|
67
72
|
output: item.json.output,
|
|
73
|
+
error: item.json.error,
|
|
68
74
|
request: item.json.request,
|
|
69
75
|
tool_calls: item.json.tool_calls,
|
|
70
76
|
response: item.json.response,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputData.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/outputData.ts"],"names":[],"mappings":";;AAYA,
|
|
1
|
+
{"version":3,"file":"outputData.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/outputData.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,7 +76,7 @@ function handleError(error, executeFunctions, itemIndex, continueOnFail, returnD
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
if (nodeApiError.requestBody) {
|
|
79
|
-
nodeApiError.description += ` |
|
|
79
|
+
nodeApiError.description += ` | Request Body: ${nodeApiError.requestBody}`;
|
|
80
80
|
}
|
|
81
81
|
nodeApiError.context = {
|
|
82
82
|
itemIndex,
|
|
@@ -44,7 +44,7 @@ async function prepareTools(executeFunctions, structuredOutputToolsMode, maxTool
|
|
|
44
44
|
function: {
|
|
45
45
|
name: jsonSchema.name,
|
|
46
46
|
description: jsonSchema.description ||
|
|
47
|
-
'Call this
|
|
47
|
+
'Call this tool last, when you are ready to return the final response to the user.',
|
|
48
48
|
parameters: jsonSchema.schema,
|
|
49
49
|
},
|
|
50
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/tools/setup.ts"],"names":[],"mappings":";;AAQA,oCAyEC;AA/ED,2CAAgD;AAChD,2CAAqD;AAK9C,KAAK,UAAU,YAAY,CACjC,gBAAmC,EACnC,yBAAkC,EAClC,kBAA0B,EAC1B,cAA4B;IAO5B,IAAI,KAAK,GAAU,EAAE,CAAC;IACtB,IAAI,aAAa,GAAW,EAAE,CAAC;IAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC;IAChC,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,IAAI,oBAAoB,GAAG,SAAS,CAAC;IAErC,IAAI,CAAC;QACJ,aAAa,GAAG,MAAM,IAAA,6BAAiB,EAAC,gBAAgB,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QAEvD,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,aAAa,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,cAAc,GAAU,EAAE,CAAC;IAE/B,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QAE1B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YAElC,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAClC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,GAAG,EAAE,CAAC;QACX,cAAc,GAAG,EAAE,CAAC;IACrB,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,0BAAkB,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,yBAAyB,IAAI,cAAc,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;QAC/E,MAAM,UAAU,GAAG,cAAc,CAAC,WAA0B,CAAC;QAC7D,oBAAoB,GAAG;YACtB,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACT,IAAI,EAAE,UAAU,CAAC,IAAc;gBAC/B,WAAW,EACT,UAAU,CAAC,WAAsB;oBAClC,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/tools/setup.ts"],"names":[],"mappings":";;AAQA,oCAyEC;AA/ED,2CAAgD;AAChD,2CAAqD;AAK9C,KAAK,UAAU,YAAY,CACjC,gBAAmC,EACnC,yBAAkC,EAClC,kBAA0B,EAC1B,cAA4B;IAO5B,IAAI,KAAK,GAAU,EAAE,CAAC;IACtB,IAAI,aAAa,GAAW,EAAE,CAAC;IAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC;IAChC,IAAI,WAAW,GAAG,SAAS,CAAC;IAC5B,IAAI,oBAAoB,GAAG,SAAS,CAAC;IAErC,IAAI,CAAC;QACJ,aAAa,GAAG,MAAM,IAAA,6BAAiB,EAAC,gBAAgB,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QAEvD,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,aAAa,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,cAAc,GAAU,EAAE,CAAC;IAE/B,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QAE1B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YAElC,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAClC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,GAAG,EAAE,CAAC;QACX,cAAc,GAAG,EAAE,CAAC;IACrB,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,0BAAkB,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,yBAAyB,IAAI,cAAc,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;QAC/E,MAAM,UAAU,GAAG,cAAc,CAAC,WAA0B,CAAC;QAC7D,oBAAoB,GAAG;YACtB,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACT,IAAI,EAAE,UAAU,CAAC,IAAc;gBAC/B,WAAW,EACT,UAAU,CAAC,WAAsB;oBAClC,mFAAmF;gBACpF,UAAU,EAAE,UAAU,CAAC,MAAqB;aAC5C;SACD,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAG,oBAAoB,CAAC,QAAwB,CAAC,IAAc,EAAE,CAAC,CAAC;QAC7F,WAAW,GAAG,UAAU,CAAC;IAC1B,CAAC;IAED,OAAO;QACN,KAAK;QACL,cAAc;QACd,WAAW;QACX,oBAAoB;KACpB,CAAC;AACH,CAAC"}
|