n8n-nodes-simple 2.5.3 → 2.5.5
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/api/types.d.ts +45 -0
- package/dist/nodes/shared/config/properties/output.js +5 -0
- package/dist/nodes/shared/config/properties/output.js.map +1 -1
- package/dist/nodes/shared/core/execution/errors.d.ts +3 -2
- package/dist/nodes/shared/core/execution/errors.js +17 -9
- package/dist/nodes/shared/core/execution/errors.js.map +1 -1
- package/dist/nodes/shared/core/execution/executor.js +31 -4
- package/dist/nodes/shared/core/execution/executor.js.map +1 -1
- package/dist/nodes/shared/core/execution/outputData.d.ts +2 -2
- 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/request/constants.d.ts +2 -0
- package/dist/nodes/shared/core/request/constants.js +6 -0
- package/dist/nodes/shared/core/request/constants.js.map +1 -0
- package/dist/nodes/shared/core/request/structuredOutput.js +3 -2
- package/dist/nodes/shared/core/request/structuredOutput.js.map +1 -1
- package/dist/nodes/shared/core/tools/executor.d.ts +2 -1
- package/dist/nodes/shared/core/tools/executor.js +77 -1
- package/dist/nodes/shared/core/tools/executor.js.map +1 -1
- package/dist/nodes/shared/core/tools/setup.js +7 -2
- 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
|
@@ -26,10 +26,55 @@ export type ChatCompletion = {
|
|
|
26
26
|
prompt_tokens: number;
|
|
27
27
|
completion_tokens: number;
|
|
28
28
|
total_tokens: number;
|
|
29
|
+
cost?: number;
|
|
30
|
+
is_byok?: boolean;
|
|
31
|
+
prompt_tokens_details?: {
|
|
32
|
+
cached_tokens?: number;
|
|
33
|
+
audio_tokens?: number;
|
|
34
|
+
[key: string]: any;
|
|
35
|
+
};
|
|
36
|
+
cost_details?: {
|
|
37
|
+
upstream_inference_cost?: number | null;
|
|
38
|
+
upstream_inference_prompt_cost?: number;
|
|
39
|
+
upstream_inference_completions_cost?: number;
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
};
|
|
42
|
+
completion_tokens_details?: {
|
|
43
|
+
reasoning_tokens?: number;
|
|
44
|
+
image_tokens?: number;
|
|
45
|
+
[key: string]: any;
|
|
46
|
+
};
|
|
47
|
+
[key: string]: any;
|
|
29
48
|
};
|
|
30
49
|
system_fingerprint: string;
|
|
31
50
|
error?: object;
|
|
32
51
|
};
|
|
52
|
+
export type AccumulatedUsage = {
|
|
53
|
+
prompt_tokens: number;
|
|
54
|
+
completion_tokens: number;
|
|
55
|
+
total_tokens: number;
|
|
56
|
+
total_requests: number;
|
|
57
|
+
retried_requests: number;
|
|
58
|
+
cost?: number;
|
|
59
|
+
is_byok?: boolean;
|
|
60
|
+
prompt_tokens_details?: {
|
|
61
|
+
cached_tokens?: number;
|
|
62
|
+
audio_tokens?: number;
|
|
63
|
+
[key: string]: any;
|
|
64
|
+
};
|
|
65
|
+
cost_details?: {
|
|
66
|
+
upstream_inference_cost?: number | null;
|
|
67
|
+
upstream_inference_prompt_cost?: number;
|
|
68
|
+
upstream_inference_completions_cost?: number;
|
|
69
|
+
[key: string]: any;
|
|
70
|
+
};
|
|
71
|
+
completion_tokens_details?: {
|
|
72
|
+
reasoning_tokens?: number;
|
|
73
|
+
image_tokens?: number;
|
|
74
|
+
[key: string]: any;
|
|
75
|
+
};
|
|
76
|
+
[key: string]: any;
|
|
77
|
+
};
|
|
33
78
|
export type ExternalApiCallOptions = {
|
|
34
79
|
callExternalApi: boolean;
|
|
35
80
|
url: string;
|
|
@@ -269,6 +269,11 @@ exports.outputProperties = [
|
|
|
269
269
|
value: 'fullResponse',
|
|
270
270
|
description: 'The final HTTP response from the model',
|
|
271
271
|
},
|
|
272
|
+
{
|
|
273
|
+
name: 'Usage',
|
|
274
|
+
value: 'totalUsage',
|
|
275
|
+
description: 'The total usage information',
|
|
276
|
+
},
|
|
272
277
|
],
|
|
273
278
|
default: [],
|
|
274
279
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../../nodes/shared/config/properties/output.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../../nodes/shared/config/properties/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { IDataObject } from 'n8n-workflow';
|
|
2
2
|
import { NodeApiError } from 'n8n-workflow';
|
|
3
|
+
import type { AccumulatedUsage } from '../../api/types';
|
|
3
4
|
export interface ErrorInfo {
|
|
4
5
|
message: string;
|
|
5
6
|
description?: string;
|
|
@@ -10,5 +11,5 @@ export declare function isNodeApiError(error: any): error is NodeApiError;
|
|
|
10
11
|
export declare function normalizeError(error: unknown): Error;
|
|
11
12
|
export declare function customizeNodeApiError(nodeApiError: NodeApiError): NodeApiError;
|
|
12
13
|
export declare function showValue(val: unknown): string;
|
|
13
|
-
export declare function buildDetailedParseError(simpleErrorMessage: string, response: any, structuredOutputToolResponse: any, body: IDataObject): ErrorInfo;
|
|
14
|
-
export declare function buildValidationError(maxRetries: number, validationError: string, output: any, body: IDataObject, response: any): ErrorInfo;
|
|
14
|
+
export declare function buildDetailedParseError(simpleErrorMessage: string, response: any, structuredOutputToolResponse: any, body: IDataObject, accumulatedUsage?: AccumulatedUsage): ErrorInfo;
|
|
15
|
+
export declare function buildValidationError(maxRetries: number, validationError: string, output: any, body: IDataObject, response: any, accumulatedUsage?: AccumulatedUsage): ErrorInfo;
|
|
@@ -43,22 +43,30 @@ function showValue(val) {
|
|
|
43
43
|
return '<empty string>';
|
|
44
44
|
return String(val);
|
|
45
45
|
}
|
|
46
|
-
function buildDetailedParseError(simpleErrorMessage, response, structuredOutputToolResponse, body) {
|
|
46
|
+
function buildDetailedParseError(simpleErrorMessage, response, structuredOutputToolResponse, body, accumulatedUsage) {
|
|
47
47
|
var _a, _b, _c;
|
|
48
|
+
let description = `● Assistant message content: \`${showValue((_c = (_b = (_a = response === null || response === void 0 ? void 0 : response.choices) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) === null || _c === void 0 ? void 0 : _c.content)}\`` +
|
|
49
|
+
`\n ● Structured Output tool: \`${showValue(structuredOutputToolResponse)}\`` +
|
|
50
|
+
`\n ● Request: ${JSON.stringify(body, null, 2)}` +
|
|
51
|
+
`\n ● Response: ${JSON.stringify(response, null, 2)}`;
|
|
52
|
+
if (accumulatedUsage) {
|
|
53
|
+
description += `\n ● Total usage: ${JSON.stringify(accumulatedUsage, null, 2)}`;
|
|
54
|
+
}
|
|
48
55
|
return {
|
|
49
56
|
message: `JSON parse error: ${simpleErrorMessage}`,
|
|
50
|
-
description
|
|
51
|
-
`\n ● Structured Output tool response: ${showValue(structuredOutputToolResponse)}` +
|
|
52
|
-
`\n ● Request body: ${JSON.stringify(body, null, 2)}` +
|
|
53
|
-
`\n ● Full response: ${JSON.stringify(response, null, 2)}`
|
|
57
|
+
description
|
|
54
58
|
};
|
|
55
59
|
}
|
|
56
|
-
function buildValidationError(maxRetries, validationError, output, body, response) {
|
|
60
|
+
function buildValidationError(maxRetries, validationError, output, body, response, accumulatedUsage) {
|
|
61
|
+
let description = `● Failed output: \`${JSON.stringify(output, null, 2)}\`` +
|
|
62
|
+
`\n ● Request: ${JSON.stringify(body, null, 2)}` +
|
|
63
|
+
`\n ● Response: ${JSON.stringify(response, null, 2)}`;
|
|
64
|
+
if (accumulatedUsage) {
|
|
65
|
+
description += `\n ● Total usage: ${JSON.stringify(accumulatedUsage, null, 2)}`;
|
|
66
|
+
}
|
|
57
67
|
return {
|
|
58
68
|
message: `Structured Output validation failed after ${maxRetries + 1} attempts: ${validationError}`,
|
|
59
|
-
description
|
|
60
|
-
`\n ● Request body: ${JSON.stringify(body, null, 2)}` +
|
|
61
|
-
`\n ● Full response: ${JSON.stringify(response, null, 2)}`
|
|
69
|
+
description
|
|
62
70
|
};
|
|
63
71
|
}
|
|
64
72
|
;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/errors.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,9 +36,34 @@ async function runModel(executeFunctions, params, messages, index, modelToUse, m
|
|
|
36
36
|
};
|
|
37
37
|
let messagesBeforeRetries = messages.length;
|
|
38
38
|
let currentIteration = 1;
|
|
39
|
+
let totalAccumulatedUsage = {
|
|
40
|
+
prompt_tokens: 0,
|
|
41
|
+
completion_tokens: 0,
|
|
42
|
+
total_tokens: 0,
|
|
43
|
+
total_requests: 0,
|
|
44
|
+
retried_requests: 0,
|
|
45
|
+
};
|
|
39
46
|
while (true) {
|
|
40
47
|
let body = (0, body_1.prepareRequestBody)(modelToUse, messages, tools, tool_choice, responseFormat, params.options, params.customParameters);
|
|
41
|
-
const { response, structuredOutputToolResponse, finalIteration, finalBody } = await (0, executor_1.processToolCalls)(executeFunctions, body, messages, invokableTools, params.maxToolsIterations, structuredOutputTool, params.abortSignal, currentIteration);
|
|
48
|
+
const { response, structuredOutputToolResponse, finalIteration, finalBody, accumulatedUsage } = await (0, executor_1.processToolCalls)(executeFunctions, body, messages, invokableTools, params.maxToolsIterations, structuredOutputTool, params.abortSignal, currentIteration);
|
|
49
|
+
const mergeUsage = (target, source) => {
|
|
50
|
+
for (const key in source) {
|
|
51
|
+
if (typeof source[key] === 'number') {
|
|
52
|
+
target[key] = (target[key] || 0) + source[key];
|
|
53
|
+
}
|
|
54
|
+
else if (typeof source[key] === 'boolean') {
|
|
55
|
+
target[key] = target[key] || source[key];
|
|
56
|
+
}
|
|
57
|
+
else if (typeof source[key] === 'object' && source[key] !== null) {
|
|
58
|
+
target[key] = target[key] || {};
|
|
59
|
+
mergeUsage(target[key], source[key]);
|
|
60
|
+
}
|
|
61
|
+
else if (target[key] === undefined) {
|
|
62
|
+
target[key] = source[key];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
mergeUsage(totalAccumulatedUsage, accumulatedUsage);
|
|
42
67
|
currentIteration = finalIteration;
|
|
43
68
|
body = finalBody;
|
|
44
69
|
if (retryState.attemptNumber === 1) {
|
|
@@ -58,7 +83,7 @@ async function runModel(executeFunctions, params, messages, index, modelToUse, m
|
|
|
58
83
|
parseError = simpleErrorMessage;
|
|
59
84
|
}
|
|
60
85
|
else {
|
|
61
|
-
const errorData = (0, errors_1.buildDetailedParseError)(simpleErrorMessage, response, structuredOutputToolResponse, body);
|
|
86
|
+
const errorData = (0, errors_1.buildDetailedParseError)(simpleErrorMessage, response, structuredOutputToolResponse, body, totalAccumulatedUsage);
|
|
62
87
|
throw new n8n_workflow_1.NodeOperationError(executeFunctions.getNode(), errorData.message, {
|
|
63
88
|
description: errorData.description,
|
|
64
89
|
itemIndex: index,
|
|
@@ -69,6 +94,7 @@ async function runModel(executeFunctions, params, messages, index, modelToUse, m
|
|
|
69
94
|
const shouldRetry = await (0, retryHandler_1.handleParseError)(parseError, response, messages, retryState, params.structuredOutputToolsMode, structuredOutputTool, params.structuredOutputName, tools, validationSchema);
|
|
70
95
|
if (shouldRetry) {
|
|
71
96
|
retryState = (0, retryHandler_1.updateRetryState)(retryState);
|
|
97
|
+
totalAccumulatedUsage.retried_requests++;
|
|
72
98
|
continue;
|
|
73
99
|
}
|
|
74
100
|
}
|
|
@@ -79,10 +105,11 @@ async function runModel(executeFunctions, params, messages, index, modelToUse, m
|
|
|
79
105
|
const shouldRetry = await (0, retryHandler_1.handleValidationError)(validationError, output, response, messages, retryState, params.structuredOutputToolsMode, structuredOutputTool, params.structuredOutputName);
|
|
80
106
|
if (shouldRetry) {
|
|
81
107
|
retryState = (0, retryHandler_1.updateRetryState)(retryState);
|
|
108
|
+
totalAccumulatedUsage.retried_requests++;
|
|
82
109
|
continue;
|
|
83
110
|
}
|
|
84
111
|
else {
|
|
85
|
-
const errorData = (0, errors_1.buildValidationError)(params.tenacityMaxRetries, validationError, output, body, response);
|
|
112
|
+
const errorData = (0, errors_1.buildValidationError)(params.tenacityMaxRetries, validationError, output, body, response, totalAccumulatedUsage);
|
|
86
113
|
throw new n8n_workflow_1.NodeOperationError(executeFunctions.getNode(), errorData.message, {
|
|
87
114
|
description: errorData.description,
|
|
88
115
|
itemIndex: index,
|
|
@@ -90,7 +117,7 @@ async function runModel(executeFunctions, params, messages, index, modelToUse, m
|
|
|
90
117
|
}
|
|
91
118
|
}
|
|
92
119
|
}
|
|
93
|
-
const outputData = await (0, outputData_1.prepareOutputData)(response, output, messages, messagesBeforeRetries, params.addToOutput, executeFunctions, index, body);
|
|
120
|
+
const outputData = await (0, outputData_1.prepareOutputData)(response, output, messages, messagesBeforeRetries, params.addToOutput, executeFunctions, index, body, totalAccumulatedUsage);
|
|
94
121
|
if (memory) {
|
|
95
122
|
await (0, io_1.saveToMemory)(messages, output, params.saveToolCallsInChatMemory, memory);
|
|
96
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/executor.ts"],"names":[],"mappings":";;AAiBA,
|
|
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
|
-
import type { ChatCompletion } from '../../api/types';
|
|
3
|
-
export declare function prepareOutputData(response: ChatCompletion, output: any, messages: IDataObject[], messagesBeforeRetries: number, addToOutput: string[], executeFunctions: IExecuteFunctions, index: number, body: IDataObject): Promise<INodeExecutionData[]>;
|
|
2
|
+
import type { ChatCompletion, AccumulatedUsage } from '../../api/types';
|
|
3
|
+
export declare function prepareOutputData(response: ChatCompletion, output: any, messages: IDataObject[], messagesBeforeRetries: number, addToOutput: string[], executeFunctions: IExecuteFunctions, index: number, body: IDataObject, accumulatedUsage?: AccumulatedUsage): Promise<INodeExecutionData[]>;
|
|
4
4
|
export declare function reorderOutputFields(outputData: INodeExecutionData[]): void;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.prepareOutputData = prepareOutputData;
|
|
4
4
|
exports.reorderOutputFields = reorderOutputFields;
|
|
5
|
-
async function prepareOutputData(response, output, messages, messagesBeforeRetries, addToOutput, executeFunctions, index, body) {
|
|
5
|
+
async function prepareOutputData(response, output, messages, messagesBeforeRetries, addToOutput, executeFunctions, index, body, accumulatedUsage) {
|
|
6
6
|
const outputData = [];
|
|
7
7
|
outputData.push({ json: { output: output }, pairedItem: { item: index } });
|
|
8
8
|
if (addToOutput.includes('fullResponse')) {
|
|
@@ -49,6 +49,11 @@ async function prepareOutputData(response, output, messages, messagesBeforeRetri
|
|
|
49
49
|
item.json.request = body;
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
|
+
if (addToOutput.includes('totalUsage') && accumulatedUsage) {
|
|
53
|
+
outputData.forEach((item) => {
|
|
54
|
+
item.json.total_usage = accumulatedUsage;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
52
57
|
reorderOutputFields(outputData);
|
|
53
58
|
return outputData;
|
|
54
59
|
}
|
|
@@ -59,6 +64,7 @@ function reorderOutputFields(outputData) {
|
|
|
59
64
|
error: item.json.error,
|
|
60
65
|
request: item.json.request,
|
|
61
66
|
response: item.json.response,
|
|
67
|
+
total_usage: item.json.total_usage,
|
|
62
68
|
chat_history: item.json.chat_history,
|
|
63
69
|
};
|
|
64
70
|
item.json = Object.fromEntries(Object.entries(reordered).filter(([_, value]) => value !== undefined));
|
|
@@ -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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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const DEFAULT_STRUCTURED_OUTPUT_DESCRIPTION = "Return valid JSON matching this schema.";
|
|
2
|
+
export declare const DEFAULT_STRUCTURED_OUTPUT_TOOL_DESCRIPTION = "Return your response to the user.\n\nUsage:\n- Call once, after completing other tool calls, or immediately if none are needed\n- Never respond with plain text outside this tool";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_STRUCTURED_OUTPUT_TOOL_DESCRIPTION = exports.DEFAULT_STRUCTURED_OUTPUT_DESCRIPTION = void 0;
|
|
4
|
+
exports.DEFAULT_STRUCTURED_OUTPUT_DESCRIPTION = 'Return valid JSON matching this schema.';
|
|
5
|
+
exports.DEFAULT_STRUCTURED_OUTPUT_TOOL_DESCRIPTION = 'Return your response to the user.\n\nUsage:\n- Call once, after completing other tool calls, or immediately if none are needed\n- Never respond with plain text outside this tool';
|
|
6
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/request/constants.ts"],"names":[],"mappings":";;;AAQa,QAAA,qCAAqC,GAAG,yCAAyC,CAAC;AAMlF,QAAA,0CAA0C,GACtD,mLAAmL,CAAC"}
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.prepareResponseFormatField = prepareResponseFormatField;
|
|
4
4
|
const visualEditor_1 = require("./visualEditor");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
5
6
|
function prepareResponseFormatField(responseFormat, outputJsonSchemaDefinition, structuredOutputName, structuredOutputDescription, structuredOutputProperties, structuredOutputIsArray, structuredOutputArrayName, structuredOutputArrayDescription) {
|
|
6
7
|
let response_format;
|
|
7
8
|
if (responseFormat === 'structuredOutputSchema') {
|
|
8
9
|
const jsonSchema = JSON.parse(outputJsonSchemaDefinition);
|
|
9
10
|
if (!jsonSchema.description) {
|
|
10
|
-
jsonSchema.description =
|
|
11
|
+
jsonSchema.description = constants_1.DEFAULT_STRUCTURED_OUTPUT_DESCRIPTION;
|
|
11
12
|
}
|
|
12
13
|
response_format = { type: 'json_schema', json_schema: jsonSchema };
|
|
13
14
|
}
|
|
@@ -16,7 +17,7 @@ function prepareResponseFormatField(responseFormat, outputJsonSchemaDefinition,
|
|
|
16
17
|
type: 'json_schema',
|
|
17
18
|
json_schema: {
|
|
18
19
|
name: structuredOutputName,
|
|
19
|
-
description: structuredOutputDescription.trim() ||
|
|
20
|
+
description: structuredOutputDescription.trim() || constants_1.DEFAULT_STRUCTURED_OUTPUT_DESCRIPTION,
|
|
20
21
|
schema: (0, visualEditor_1.convertVisualEditorToSchema)(structuredOutputProperties, structuredOutputIsArray, structuredOutputArrayName, structuredOutputArrayDescription),
|
|
21
22
|
strict: true,
|
|
22
23
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structuredOutput.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/request/structuredOutput.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"structuredOutput.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/request/structuredOutput.ts"],"names":[],"mappings":";;AAOA,gEAsCC;AA5CD,iDAAqF;AACrF,2CAAoE;AAKpE,SAAgB,0BAA0B,CACzC,cAAsB,EACtB,0BAAkC,EAClC,oBAA4B,EAC5B,2BAAmC,EACnC,0BAAoD,EACpD,uBAAgC,EAChC,yBAAiC,EACjC,gCAAwC;IAExC,IAAI,eAAe,CAAC;IACpB,IAAI,cAAc,KAAK,wBAAwB,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE1D,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC7B,UAAU,CAAC,WAAW,GAAG,iDAAqC,CAAC;QAChE,CAAC;QACD,eAAe,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IACpE,CAAC;SAAM,IAAI,cAAc,KAAK,wBAAwB,EAAE,CAAC;QACxD,eAAe,GAAG;YACjB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE;gBACZ,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,2BAA2B,CAAC,IAAI,EAAE,IAAI,iDAAqC;gBACxF,MAAM,EAAE,IAAA,0CAA2B,EAClC,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,gCAAgC,CAChC;gBACD,MAAM,EAAE,IAAI;aACZ;SACD,CAAC;IACH,CAAC;SAAM,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAC1C,eAAe,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,eAAe,CAAC;AACxB,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
|
|
2
|
-
import type { ChatCompletion } from '../../api/types';
|
|
2
|
+
import type { ChatCompletion, AccumulatedUsage } from '../../api/types';
|
|
3
3
|
export declare function processToolCalls(executeFunctions: IExecuteFunctions, body: IDataObject, messages: IDataObject[], invokableTools: any[], maxToolsIterations: number, structuredOutputTool?: IDataObject, abortSignal?: AbortSignal, startingIteration?: number): Promise<{
|
|
4
4
|
response: ChatCompletion;
|
|
5
5
|
structuredOutputToolResponse: any;
|
|
6
6
|
finalIteration: number;
|
|
7
7
|
finalBody: IDataObject;
|
|
8
|
+
accumulatedUsage: AccumulatedUsage;
|
|
8
9
|
}>;
|
|
@@ -3,12 +3,80 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.processToolCalls = processToolCalls;
|
|
4
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
5
|
const openAiApiRequest_1 = require("../../api/openAiApiRequest");
|
|
6
|
+
function accumulateUsage(accumulated, newUsage) {
|
|
7
|
+
const mergeObjects = (target, source) => {
|
|
8
|
+
if (!source)
|
|
9
|
+
return;
|
|
10
|
+
for (const key in source) {
|
|
11
|
+
if (typeof source[key] === 'number') {
|
|
12
|
+
target[key] = (target[key] || 0) + source[key];
|
|
13
|
+
}
|
|
14
|
+
else if (source[key] === null) {
|
|
15
|
+
target[key] = null;
|
|
16
|
+
}
|
|
17
|
+
else if (typeof source[key] === 'boolean') {
|
|
18
|
+
target[key] = target[key] || source[key];
|
|
19
|
+
}
|
|
20
|
+
else if (typeof source[key] === 'object' && source[key] !== null) {
|
|
21
|
+
target[key] = target[key] || {};
|
|
22
|
+
mergeObjects(target[key], source[key]);
|
|
23
|
+
}
|
|
24
|
+
else if (target[key] === undefined) {
|
|
25
|
+
target[key] = source[key];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
accumulated.prompt_tokens += newUsage.prompt_tokens || 0;
|
|
30
|
+
accumulated.completion_tokens += newUsage.completion_tokens || 0;
|
|
31
|
+
accumulated.total_tokens += newUsage.total_tokens || 0;
|
|
32
|
+
if (newUsage.cost !== undefined) {
|
|
33
|
+
accumulated.cost = (accumulated.cost || 0) + newUsage.cost;
|
|
34
|
+
}
|
|
35
|
+
if (newUsage.is_byok !== undefined) {
|
|
36
|
+
accumulated.is_byok = accumulated.is_byok || newUsage.is_byok;
|
|
37
|
+
}
|
|
38
|
+
if (newUsage.prompt_tokens_details) {
|
|
39
|
+
accumulated.prompt_tokens_details = accumulated.prompt_tokens_details || {};
|
|
40
|
+
mergeObjects(accumulated.prompt_tokens_details, newUsage.prompt_tokens_details);
|
|
41
|
+
}
|
|
42
|
+
if (newUsage.cost_details) {
|
|
43
|
+
accumulated.cost_details = accumulated.cost_details || {};
|
|
44
|
+
mergeObjects(accumulated.cost_details, newUsage.cost_details);
|
|
45
|
+
}
|
|
46
|
+
if (newUsage.completion_tokens_details) {
|
|
47
|
+
accumulated.completion_tokens_details = accumulated.completion_tokens_details || {};
|
|
48
|
+
mergeObjects(accumulated.completion_tokens_details, newUsage.completion_tokens_details);
|
|
49
|
+
}
|
|
50
|
+
for (const key in newUsage) {
|
|
51
|
+
if (!['prompt_tokens', 'completion_tokens', 'total_tokens', 'cost', 'is_byok',
|
|
52
|
+
'prompt_tokens_details', 'cost_details', 'completion_tokens_details'].includes(key)) {
|
|
53
|
+
if (typeof newUsage[key] === 'number') {
|
|
54
|
+
accumulated[key] = (accumulated[key] || 0) + newUsage[key];
|
|
55
|
+
}
|
|
56
|
+
else if (accumulated[key] === undefined) {
|
|
57
|
+
accumulated[key] = newUsage[key];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return accumulated;
|
|
62
|
+
}
|
|
6
63
|
async function processToolCalls(executeFunctions, body, messages, invokableTools, maxToolsIterations, structuredOutputTool, abortSignal, startingIteration = 1) {
|
|
7
64
|
var _a, _b, _c, _d, _e, _f;
|
|
65
|
+
const accumulatedUsage = {
|
|
66
|
+
prompt_tokens: 0,
|
|
67
|
+
completion_tokens: 0,
|
|
68
|
+
total_tokens: 0,
|
|
69
|
+
total_requests: 0,
|
|
70
|
+
retried_requests: 0,
|
|
71
|
+
};
|
|
8
72
|
let finalBody = body;
|
|
9
73
|
let response = (await openAiApiRequest_1.openAiApiRequest.call(executeFunctions, 'POST', `/chat/completions`, {
|
|
10
74
|
body: finalBody,
|
|
11
75
|
}));
|
|
76
|
+
if (response.usage) {
|
|
77
|
+
accumulateUsage(accumulatedUsage, response.usage);
|
|
78
|
+
accumulatedUsage.total_requests++;
|
|
79
|
+
}
|
|
12
80
|
let toolCalls = (_b = (_a = response === null || response === void 0 ? void 0 : response.choices[0]) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.tool_calls;
|
|
13
81
|
let currentIteration = startingIteration;
|
|
14
82
|
var structuredOutputToolResponse = null;
|
|
@@ -41,6 +109,10 @@ async function processToolCalls(executeFunctions, body, messages, invokableTools
|
|
|
41
109
|
response = (await openAiApiRequest_1.openAiApiRequest.call(executeFunctions, 'POST', `/chat/completions`, {
|
|
42
110
|
body: finalBody,
|
|
43
111
|
}));
|
|
112
|
+
if (response.usage) {
|
|
113
|
+
accumulateUsage(accumulatedUsage, response.usage);
|
|
114
|
+
accumulatedUsage.total_requests++;
|
|
115
|
+
}
|
|
44
116
|
if (structuredOutputTool && !structuredOutputToolResponse && ((_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.tool_calls)) {
|
|
45
117
|
const finalToolCalls = response.choices[0].message.tool_calls;
|
|
46
118
|
for (const toolCall of finalToolCalls) {
|
|
@@ -119,9 +191,13 @@ async function processToolCalls(executeFunctions, body, messages, invokableTools
|
|
|
119
191
|
response = (await openAiApiRequest_1.openAiApiRequest.call(executeFunctions, 'POST', `/chat/completions`, {
|
|
120
192
|
body: finalBody,
|
|
121
193
|
}));
|
|
194
|
+
if (response.usage) {
|
|
195
|
+
accumulateUsage(accumulatedUsage, response.usage);
|
|
196
|
+
accumulatedUsage.total_requests++;
|
|
197
|
+
}
|
|
122
198
|
toolCalls = response.choices[0].message.tool_calls;
|
|
123
199
|
currentIteration += 1;
|
|
124
200
|
}
|
|
125
|
-
return { response, structuredOutputToolResponse, finalIteration: currentIteration, finalBody };
|
|
201
|
+
return { response, structuredOutputToolResponse, finalIteration: currentIteration, finalBody, accumulatedUsage };
|
|
126
202
|
}
|
|
127
203
|
//# sourceMappingURL=executor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/tools/executor.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/tools/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.prepareTools = prepareTools;
|
|
4
4
|
const connector_1 = require("./connector");
|
|
5
5
|
const utils_1 = require("../../api/utils");
|
|
6
|
+
const constants_1 = require("../request/constants");
|
|
6
7
|
async function prepareTools(executeFunctions, structuredOutputToolsMode, maxToolsIterations, responseFormat) {
|
|
7
8
|
let tools = [];
|
|
8
9
|
let externalTools = [];
|
|
@@ -39,12 +40,16 @@ async function prepareTools(executeFunctions, structuredOutputToolsMode, maxTool
|
|
|
39
40
|
}
|
|
40
41
|
if (structuredOutputToolsMode && responseFormat && responseFormat.json_schema) {
|
|
41
42
|
const jsonSchema = responseFormat.json_schema;
|
|
43
|
+
const userDescription = jsonSchema.description;
|
|
44
|
+
const shouldUseToolDescription = !userDescription ||
|
|
45
|
+
userDescription === constants_1.DEFAULT_STRUCTURED_OUTPUT_DESCRIPTION;
|
|
42
46
|
structuredOutputTool = {
|
|
43
47
|
type: 'function',
|
|
44
48
|
function: {
|
|
45
49
|
name: jsonSchema.name,
|
|
46
|
-
description:
|
|
47
|
-
|
|
50
|
+
description: shouldUseToolDescription
|
|
51
|
+
? constants_1.DEFAULT_STRUCTURED_OUTPUT_TOOL_DESCRIPTION
|
|
52
|
+
: userDescription,
|
|
48
53
|
parameters: jsonSchema.schema,
|
|
49
54
|
strict: true,
|
|
50
55
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/tools/setup.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/tools/setup.ts"],"names":[],"mappings":";;AASA,oCAmFC;AA1FD,2CAAgD;AAChD,2CAAqD;AACrD,oDAAyH;AAKlH,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,GAAqC,SAAS,CAAC;IAC9D,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,MAAM,eAAe,GAAG,UAAU,CAAC,WAAqB,CAAC;QAKzD,MAAM,wBAAwB,GAC7B,CAAC,eAAe;YAChB,eAAe,KAAK,iDAAqC,CAAC;QAE3D,oBAAoB,GAAG;YACtB,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACT,IAAI,EAAE,UAAU,CAAC,IAAc;gBAC/B,WAAW,EAAE,wBAAwB;oBACpC,CAAC,CAAC,sDAA0C;oBAC5C,CAAC,CAAC,eAAe;gBAClB,UAAU,EAAE,UAAU,CAAC,MAAqB;gBAC5C,MAAM,EAAE,IAAI;aACZ;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"}
|