n8n-nodes-simple 2.0.1 → 2.2.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/credentials/SimpleOpenAiApi.credentials.js +1 -1
- package/dist/credentials/SimpleOpenAiApi.credentials.js.map +1 -1
- package/dist/nodes/CoreAgent/CoreAgent.node.d.ts +3 -2
- package/dist/nodes/CoreAgent/CoreAgent.node.js +3 -3
- package/dist/nodes/CoreAgent/CoreAgent.node.js.map +1 -1
- package/dist/nodes/CoreAgent/description.js +15 -3
- package/dist/nodes/CoreAgent/description.js.map +1 -1
- package/dist/nodes/Subagent/Subagent.node.d.ts +3 -2
- package/dist/nodes/Subagent/Subagent.node.js +5 -5
- package/dist/nodes/Subagent/Subagent.node.js.map +1 -1
- package/dist/nodes/Subagent/description.js +16 -3
- package/dist/nodes/Subagent/description.js.map +1 -1
- package/dist/nodes/shared/actions/executor.js +1 -1
- package/dist/nodes/shared/actions/executor.js.map +1 -1
- package/dist/nodes/shared/actions/memory.d.ts +1 -1
- package/dist/nodes/shared/actions/memory.js +71 -19
- package/dist/nodes/shared/actions/memory.js.map +1 -1
- package/dist/nodes/shared/actions/message.operation.js +1 -1
- package/dist/nodes/shared/actions/message.operation.js.map +1 -1
- package/dist/nodes/shared/actions/messageProcessor.d.ts +1 -1
- package/dist/nodes/shared/actions/messageProcessor.js +9 -7
- package/dist/nodes/shared/actions/messageProcessor.js.map +1 -1
- package/dist/nodes/shared/actions/outputProcessor.js +29 -21
- package/dist/nodes/shared/actions/outputProcessor.js.map +1 -1
- package/dist/nodes/shared/actions/parameters.d.ts +2 -0
- package/dist/nodes/shared/actions/parameters.js +8 -1
- package/dist/nodes/shared/actions/parameters.js.map +1 -1
- package/dist/nodes/shared/actions/requestBuilder.js +2 -2
- package/dist/nodes/shared/actions/requestBuilder.js.map +1 -1
- package/dist/nodes/shared/actions/responseConfig.js +2 -2
- package/dist/nodes/shared/actions/responseConfig.js.map +1 -1
- package/dist/nodes/shared/actions/router.js +2 -2
- package/dist/nodes/shared/actions/router.js.map +1 -1
- package/dist/nodes/shared/actions/tool.js.map +1 -1
- package/dist/nodes/shared/actions/toolExecutor.js +78 -21
- package/dist/nodes/shared/actions/toolExecutor.js.map +1 -1
- package/dist/nodes/shared/actions/toolSetup.js +6 -5
- package/dist/nodes/shared/actions/toolSetup.js.map +1 -1
- package/dist/nodes/shared/api/openAiApiRequest.js.map +1 -1
- package/dist/nodes/shared/api/types.d.ts +2 -0
- package/dist/nodes/shared/api/utils.js.map +1 -1
- package/dist/nodes/shared/assets/gradientRobot.svg +11 -0
- package/dist/nodes/shared/assets/gradientRobotRed.svg +11 -0
- package/dist/nodes/shared/config/descriptionGenerator.d.ts +2 -0
- package/dist/nodes/shared/config/descriptionGenerator.js +36 -0
- package/dist/nodes/shared/config/descriptionGenerator.js.map +1 -0
- package/dist/nodes/shared/config/parameters.d.ts +26 -0
- package/dist/nodes/shared/config/parameters.js +35 -0
- package/dist/nodes/shared/config/parameters.js.map +1 -0
- package/dist/nodes/shared/config/properties/index.d.ts +2 -0
- package/dist/nodes/shared/config/properties/index.js +16 -0
- package/dist/nodes/shared/config/properties/index.js.map +1 -0
- package/dist/nodes/shared/config/properties/memory.d.ts +2 -0
- package/dist/nodes/shared/config/properties/memory.js +5 -0
- package/dist/nodes/shared/config/properties/memory.js.map +1 -0
- package/dist/nodes/shared/config/properties/messages.d.ts +2 -0
- package/dist/nodes/shared/config/properties/messages.js +109 -0
- package/dist/nodes/shared/config/properties/messages.js.map +1 -0
- package/dist/nodes/shared/config/properties/model.d.ts +2 -0
- package/dist/nodes/shared/config/properties/model.js +30 -0
- package/dist/nodes/shared/config/properties/model.js.map +1 -0
- package/dist/nodes/shared/config/properties/options.d.ts +2 -0
- package/dist/nodes/shared/config/properties/options.js +105 -0
- package/dist/nodes/shared/config/properties/options.js.map +1 -0
- package/dist/nodes/shared/config/properties/output.d.ts +2 -0
- package/dist/nodes/shared/config/properties/output.js +322 -0
- package/dist/nodes/shared/config/properties/output.js.map +1 -0
- package/dist/nodes/shared/config/properties/tools.d.ts +2 -0
- package/dist/nodes/shared/config/properties/tools.js +5 -0
- package/dist/nodes/shared/config/properties/tools.js.map +1 -0
- package/dist/nodes/shared/config/responseConfig.d.ts +3 -0
- package/dist/nodes/shared/config/responseConfig.js +26 -0
- package/dist/nodes/shared/config/responseConfig.js.map +1 -0
- package/dist/nodes/shared/core/execution/executor.d.ts +7 -0
- package/dist/nodes/shared/core/execution/executor.js +61 -0
- package/dist/nodes/shared/core/execution/executor.js.map +1 -0
- package/dist/nodes/shared/core/execution/messageOperation.d.ts +2 -0
- package/dist/nodes/shared/core/execution/messageOperation.js +14 -0
- package/dist/nodes/shared/core/execution/messageOperation.js.map +1 -0
- package/dist/nodes/shared/core/execution/router.d.ts +2 -0
- package/dist/nodes/shared/core/execution/router.js +117 -0
- package/dist/nodes/shared/core/execution/router.js.map +1 -0
- package/dist/nodes/shared/core/memory/index.d.ts +2 -0
- package/dist/nodes/shared/core/memory/index.js +19 -0
- package/dist/nodes/shared/core/memory/index.js.map +1 -0
- package/dist/nodes/shared/core/memory/io.d.ts +5 -0
- package/dist/nodes/shared/core/memory/io.js +93 -0
- package/dist/nodes/shared/core/memory/io.js.map +1 -0
- package/dist/nodes/shared/core/memory/optimizer.d.ts +3 -0
- package/dist/nodes/shared/core/memory/optimizer.js +30 -0
- package/dist/nodes/shared/core/memory/optimizer.js.map +1 -0
- package/dist/nodes/shared/core/memory/properties.d.ts +2 -0
- package/dist/nodes/shared/core/memory/properties.js +5 -0
- package/dist/nodes/shared/core/memory/properties.js.map +1 -0
- package/dist/nodes/shared/core/messages/chatHistory.d.ts +2 -0
- package/dist/nodes/shared/core/messages/chatHistory.js +63 -0
- package/dist/nodes/shared/core/messages/chatHistory.js.map +1 -0
- package/dist/nodes/shared/core/messages/converter.d.ts +4 -0
- package/dist/nodes/shared/core/messages/converter.js +76 -0
- package/dist/nodes/shared/core/messages/converter.js.map +1 -0
- package/dist/nodes/shared/core/messages/memoryOptimizer.d.ts +3 -0
- package/dist/nodes/shared/core/messages/memoryOptimizer.js +30 -0
- package/dist/nodes/shared/core/messages/memoryOptimizer.js.map +1 -0
- package/dist/nodes/shared/core/messages/processor.d.ts +4 -0
- package/dist/nodes/shared/core/messages/processor.js +23 -0
- package/dist/nodes/shared/core/messages/processor.js.map +1 -0
- package/dist/nodes/shared/core/messages/toolExtractor.d.ts +6 -0
- package/dist/nodes/shared/core/messages/toolExtractor.js +28 -0
- package/dist/nodes/shared/core/messages/toolExtractor.js.map +1 -0
- package/dist/nodes/shared/core/messages/types.d.ts +48 -0
- package/dist/nodes/shared/core/messages/types.js +12 -0
- package/dist/nodes/shared/core/messages/types.js.map +1 -0
- package/dist/nodes/shared/core/tools/connector.d.ts +3 -0
- package/dist/nodes/shared/core/tools/connector.js +37 -0
- package/dist/nodes/shared/core/tools/connector.js.map +1 -0
- package/dist/nodes/shared/core/tools/executor.d.ts +6 -0
- package/dist/nodes/shared/core/tools/executor.js +124 -0
- package/dist/nodes/shared/core/tools/executor.js.map +1 -0
- package/dist/nodes/shared/core/tools/manager.d.ts +2 -0
- package/dist/nodes/shared/core/tools/manager.js +51 -0
- package/dist/nodes/shared/core/tools/manager.js.map +1 -0
- package/dist/nodes/shared/core/tools/messageExtractor.d.ts +6 -0
- package/dist/nodes/shared/core/tools/messageExtractor.js +28 -0
- package/dist/nodes/shared/core/tools/messageExtractor.js.map +1 -0
- package/dist/nodes/shared/core/tools/n8nTool.d.ts +9 -0
- package/dist/nodes/shared/core/tools/n8nTool.js +91 -0
- package/dist/nodes/shared/core/tools/n8nTool.js.map +1 -0
- package/dist/nodes/shared/core/tools/schemaGenerator.d.ts +6 -0
- package/dist/nodes/shared/core/tools/schemaGenerator.js +23 -0
- package/dist/nodes/shared/core/tools/schemaGenerator.js.map +1 -0
- package/dist/nodes/shared/core/tools/setup.d.ts +8 -0
- package/dist/nodes/shared/core/tools/setup.js +59 -0
- package/dist/nodes/shared/core/tools/setup.js.map +1 -0
- package/dist/nodes/shared/core/tools/subagentTool.d.ts +11 -0
- package/dist/nodes/shared/core/tools/subagentTool.js +60 -0
- package/dist/nodes/shared/core/tools/subagentTool.js.map +1 -0
- package/dist/nodes/shared/descriptionGenerator.js +3 -7
- package/dist/nodes/shared/descriptionGenerator.js.map +1 -1
- package/dist/nodes/shared/message/chatHistoryProcessor.d.ts +2 -0
- package/dist/nodes/shared/message/chatHistoryProcessor.js +63 -0
- package/dist/nodes/shared/message/chatHistoryProcessor.js.map +1 -0
- package/dist/nodes/shared/message/memoryOptimizer.d.ts +3 -0
- package/dist/nodes/shared/message/memoryOptimizer.js +30 -0
- package/dist/nodes/shared/message/memoryOptimizer.js.map +1 -0
- package/dist/nodes/shared/message/messageConverter.d.ts +4 -0
- package/dist/nodes/shared/message/messageConverter.js +76 -0
- package/dist/nodes/shared/message/messageConverter.js.map +1 -0
- package/dist/nodes/shared/message/processor.d.ts +3 -7
- package/dist/nodes/shared/message/processor.js +8 -83
- package/dist/nodes/shared/message/processor.js.map +1 -1
- package/dist/nodes/shared/message/toolMessageExtractor.d.ts +6 -0
- package/dist/nodes/shared/message/toolMessageExtractor.js +28 -0
- package/dist/nodes/shared/message/toolMessageExtractor.js.map +1 -0
- package/dist/nodes/shared/message/types.d.ts +2 -0
- package/dist/nodes/shared/message/types.js +5 -5
- package/dist/nodes/shared/message/types.js.map +1 -1
- package/dist/nodes/shared/methods/index.d.ts +1 -1
- package/dist/nodes/shared/methods/index.js +1 -1
- package/dist/nodes/shared/methods/index.js.map +1 -1
- package/dist/nodes/shared/methods/listSearch.d.ts +3 -0
- package/dist/nodes/shared/methods/listSearch.js +4 -0
- package/dist/nodes/shared/methods/listSearch.js.map +1 -1
- package/dist/nodes/shared/processing/memory.d.ts +5 -0
- package/dist/nodes/shared/processing/memory.js +93 -0
- package/dist/nodes/shared/processing/memory.js.map +1 -0
- package/dist/nodes/shared/processing/outputProcessor.d.ts +5 -0
- package/dist/nodes/shared/processing/outputProcessor.js +112 -0
- package/dist/nodes/shared/processing/outputProcessor.js.map +1 -0
- package/dist/nodes/shared/processing/requestBuilder.d.ts +2 -0
- package/dist/nodes/shared/processing/requestBuilder.js +38 -0
- package/dist/nodes/shared/processing/requestBuilder.js.map +1 -0
- package/dist/nodes/shared/processing/visualEditor.d.ts +32 -0
- package/dist/nodes/shared/processing/visualEditor.js +70 -0
- package/dist/nodes/shared/processing/visualEditor.js.map +1 -0
- package/dist/nodes/shared/properties.js +75 -41
- package/dist/nodes/shared/properties.js.map +1 -1
- package/dist/nodes/shared/tool/subagentTool.d.ts +1 -1
- package/dist/nodes/shared/tool/subagentTool.js +4 -4
- package/dist/nodes/shared/tool/subagentTool.js.map +1 -1
- package/dist/nodes/shared/tool/visualEditor.d.ts +1 -1
- package/dist/nodes/shared/tool/visualEditor.js +20 -16
- package/dist/nodes/shared/tool/visualEditor.js.map +1 -1
- package/dist/nodes/shared/toolManager/getConnectedTools.js.map +1 -1
- package/dist/nodes/shared/toolManager/n8nTool.js.map +1 -1
- package/dist/nodes/shared/utils/descriptionGenerator.d.ts +2 -0
- package/dist/nodes/shared/utils/descriptionGenerator.js +36 -0
- package/dist/nodes/shared/utils/descriptionGenerator.js.map +1 -0
- package/dist/nodes/shared/utils/index.d.ts +1 -0
- package/dist/nodes/shared/utils/index.js +18 -0
- package/dist/nodes/shared/utils/index.js.map +1 -0
- package/dist/nodes/shared/utils/listSearch.d.ts +2 -0
- package/dist/nodes/shared/utils/listSearch.js +34 -0
- package/dist/nodes/shared/utils/listSearch.js.map +1 -0
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
|
|
2
|
+
import type { BaseChatMemory } from 'langchain/memory';
|
|
3
|
+
import type { ChatCompletion } from '../api/types';
|
|
4
|
+
export declare function getMemoryFromInput(executeFunctions: IExecuteFunctions): Promise<BaseChatMemory | undefined>;
|
|
5
|
+
export declare function saveToMemory(memory: BaseChatMemory | undefined, messages: IDataObject[], response: ChatCompletion, outputStringified: string, saveToolCallsInChatMemory: boolean, originalMessagesLength?: number): Promise<void>;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMemoryFromInput = getMemoryFromInput;
|
|
4
|
+
exports.saveToMemory = saveToMemory;
|
|
5
|
+
const messages_1 = require("@langchain/core/messages");
|
|
6
|
+
async function getMemoryFromInput(executeFunctions) {
|
|
7
|
+
let memoryInput;
|
|
8
|
+
try {
|
|
9
|
+
memoryInput = (await executeFunctions.getInputConnectionData('ai_memory', 0, undefined));
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
memoryInput = undefined;
|
|
13
|
+
}
|
|
14
|
+
return Array.isArray(memoryInput) ? memoryInput[0] : memoryInput;
|
|
15
|
+
}
|
|
16
|
+
async function saveToMemory(memory, messages, response, outputStringified, saveToolCallsInChatMemory, originalMessagesLength = 0) {
|
|
17
|
+
var _a, _b, _c, _d, _e;
|
|
18
|
+
if (!memory || !((_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)) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (!saveToolCallsInChatMemory) {
|
|
22
|
+
const lastUserMessageContent = ((_c = [...messages].reverse().find((msg) => msg.role === 'user')) === null || _c === void 0 ? void 0 : _c.content) || '';
|
|
23
|
+
let assistantContent = outputStringified;
|
|
24
|
+
if (!assistantContent || assistantContent === 'null' || assistantContent === 'undefined') {
|
|
25
|
+
assistantContent = response.choices[0].message.content || '';
|
|
26
|
+
if (!assistantContent && ((_d = response.choices[0].message.tool_calls) === null || _d === void 0 ? void 0 : _d.length)) {
|
|
27
|
+
assistantContent =
|
|
28
|
+
'Used tools: ' +
|
|
29
|
+
response.choices[0].message.tool_calls.map((tc) => tc.function.name).join(', ');
|
|
30
|
+
}
|
|
31
|
+
else if (!assistantContent) {
|
|
32
|
+
assistantContent = '[No response content available]';
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (typeof assistantContent !== 'string') {
|
|
36
|
+
assistantContent = JSON.stringify(assistantContent);
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
await memory.saveContext({ input: lastUserMessageContent }, { output: assistantContent });
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error('Error saving messages to memory:', error);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
try {
|
|
47
|
+
const lastUserMessage = [...messages].reverse().find((msg) => msg.role === 'user');
|
|
48
|
+
if (lastUserMessage === null || lastUserMessage === void 0 ? void 0 : lastUserMessage.content) {
|
|
49
|
+
const humanMessage = new messages_1.HumanMessage(lastUserMessage.content);
|
|
50
|
+
await memory.chatHistory.addMessage(humanMessage);
|
|
51
|
+
}
|
|
52
|
+
const conversationMessages = [];
|
|
53
|
+
for (let i = originalMessagesLength; i < messages.length; i++) {
|
|
54
|
+
const msg = messages[i];
|
|
55
|
+
if (msg.role === 'assistant' || msg.role === 'tool') {
|
|
56
|
+
conversationMessages.push({
|
|
57
|
+
role: msg.role,
|
|
58
|
+
content: msg.content || '',
|
|
59
|
+
...(msg.tool_calls && { tool_calls: msg.tool_calls }),
|
|
60
|
+
...(msg.tool_call_id && { tool_call_id: msg.tool_call_id }),
|
|
61
|
+
...(msg.refusal && { refusal: msg.refusal }),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
let finalContent = outputStringified;
|
|
66
|
+
if (!finalContent || finalContent === 'null' || finalContent === 'undefined') {
|
|
67
|
+
finalContent = response.choices[0].message.content || '';
|
|
68
|
+
if (!finalContent && ((_e = response.choices[0].message.tool_calls) === null || _e === void 0 ? void 0 : _e.length)) {
|
|
69
|
+
finalContent =
|
|
70
|
+
'Used tools: ' +
|
|
71
|
+
response.choices[0].message.tool_calls.map((tc) => tc.function.name).join(', ');
|
|
72
|
+
}
|
|
73
|
+
else if (!finalContent) {
|
|
74
|
+
finalContent = '[No response content available]';
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (typeof finalContent !== 'string') {
|
|
78
|
+
finalContent = JSON.stringify(finalContent);
|
|
79
|
+
}
|
|
80
|
+
const aiMessage = new messages_1.AIMessage({
|
|
81
|
+
content: finalContent,
|
|
82
|
+
tool_calls: conversationMessages,
|
|
83
|
+
additional_kwargs: {},
|
|
84
|
+
response_metadata: {},
|
|
85
|
+
});
|
|
86
|
+
await memory.chatHistory.addMessage(aiMessage);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
console.error('Error saving messages with tool calls to memory:', error);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../nodes/shared/processing/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
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[], originalMessagesLength: number, addToOutput: string[], agentType: string, executeFunctions: IExecuteFunctions, index: number, body: IDataObject, model: string, parentMessageContentStr: string): Promise<INodeExecutionData[]>;
|
|
4
|
+
export declare function addModelOverview(executeFunctions: IExecuteFunctions, model: string, outputData: INodeExecutionData[]): Promise<void>;
|
|
5
|
+
export declare function reorderOutputFields(outputData: INodeExecutionData[]): void;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.prepareOutputData = prepareOutputData;
|
|
4
|
+
exports.addModelOverview = addModelOverview;
|
|
5
|
+
exports.reorderOutputFields = reorderOutputFields;
|
|
6
|
+
const messageExtractor_1 = require("../core/tools/messageExtractor");
|
|
7
|
+
async function prepareOutputData(response, output, messages, originalMessagesLength, addToOutput, agentType, executeFunctions, index, body, model, parentMessageContentStr) {
|
|
8
|
+
const outputData = [];
|
|
9
|
+
if (agentType == 'subAgent' && parentMessageContentStr !== '') {
|
|
10
|
+
outputData.push({
|
|
11
|
+
json: { response: response },
|
|
12
|
+
pairedItem: { item: 0 },
|
|
13
|
+
});
|
|
14
|
+
return outputData;
|
|
15
|
+
}
|
|
16
|
+
if (body.response_format) {
|
|
17
|
+
response.choices = response.choices.map((choice) => {
|
|
18
|
+
try {
|
|
19
|
+
choice.message.content = JSON.parse(choice.message.content);
|
|
20
|
+
}
|
|
21
|
+
catch (error) { }
|
|
22
|
+
return choice;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
output = output ? output : response.choices[0].message.content;
|
|
26
|
+
var outputStringified = typeof output === 'string' ? output : JSON.stringify(output);
|
|
27
|
+
outputData.push({ json: { output: output }, pairedItem: { item: index } });
|
|
28
|
+
if (addToOutput.includes('fullResponse') || agentType === 'subAgent') {
|
|
29
|
+
outputData.forEach((item) => {
|
|
30
|
+
item.json.response = response;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const newMessages = messages.slice(originalMessagesLength);
|
|
34
|
+
if (addToOutput.includes('tool_calls')) {
|
|
35
|
+
outputData.forEach((item) => {
|
|
36
|
+
item.json.tool_calls = (0, messageExtractor_1.extractToolMessages)(newMessages);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (addToOutput.includes('chatHistory')) {
|
|
40
|
+
const includeToolCallsInChatHistory = executeFunctions.getNodeParameter('includeToolCallsInChatHistory', index, true);
|
|
41
|
+
const includeSystemMessagesInChatHistory = executeFunctions.getNodeParameter('includeSystemMessagesInChatHistory', index, true);
|
|
42
|
+
const includeReasoningInChatHistory = executeFunctions.getNodeParameter('includeReasoningInChatHistory', index, false);
|
|
43
|
+
let chatHistoryMessages = structuredClone(messages);
|
|
44
|
+
if (!includeToolCallsInChatHistory) {
|
|
45
|
+
chatHistoryMessages = chatHistoryMessages
|
|
46
|
+
.filter((msg) => msg.content !== null && msg.role !== 'tool')
|
|
47
|
+
.map(({ role, content }) => ({ role, content }));
|
|
48
|
+
}
|
|
49
|
+
if (!includeSystemMessagesInChatHistory) {
|
|
50
|
+
chatHistoryMessages = chatHistoryMessages.filter((msg) => msg.role !== 'system');
|
|
51
|
+
}
|
|
52
|
+
const finalMessage = response === null || response === void 0 ? void 0 : response.choices[0].message;
|
|
53
|
+
if (finalMessage) {
|
|
54
|
+
let rootMessage = {
|
|
55
|
+
role: finalMessage.role,
|
|
56
|
+
content: outputStringified,
|
|
57
|
+
};
|
|
58
|
+
chatHistoryMessages.push(rootMessage);
|
|
59
|
+
}
|
|
60
|
+
for (let i = 0; i < chatHistoryMessages.length; i++) {
|
|
61
|
+
const msg = chatHistoryMessages[i];
|
|
62
|
+
if (msg.role === 'assistant') {
|
|
63
|
+
delete msg.reasoning_details;
|
|
64
|
+
if (!includeReasoningInChatHistory) {
|
|
65
|
+
delete msg.reasoning;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
outputData.forEach((item) => {
|
|
70
|
+
item.json.chat_history = chatHistoryMessages;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (addToOutput.includes('request')) {
|
|
74
|
+
outputData.forEach((item) => {
|
|
75
|
+
item.json.request = body;
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
if (addToOutput.includes('modelOverview') && model.includes('/')) {
|
|
79
|
+
await addModelOverview(executeFunctions, model, outputData);
|
|
80
|
+
}
|
|
81
|
+
reorderOutputFields(outputData);
|
|
82
|
+
return outputData;
|
|
83
|
+
}
|
|
84
|
+
async function addModelOverview(executeFunctions, model, outputData) {
|
|
85
|
+
const requestOptions = {
|
|
86
|
+
method: 'GET',
|
|
87
|
+
url: `https://openrouter.ai/api/v1/models/${model}/endpoints`,
|
|
88
|
+
};
|
|
89
|
+
for (const item of outputData) {
|
|
90
|
+
try {
|
|
91
|
+
const modelOverviewResponse = await executeFunctions.helpers.httpRequest(requestOptions);
|
|
92
|
+
item.json.model_overview = modelOverviewResponse;
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
console.error('Error fetching model endpoints:', error);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function reorderOutputFields(outputData) {
|
|
100
|
+
outputData.forEach((item) => {
|
|
101
|
+
const reordered = {
|
|
102
|
+
output: item.json.output,
|
|
103
|
+
request: item.json.request,
|
|
104
|
+
tool_calls: item.json.tool_calls,
|
|
105
|
+
response: item.json.response,
|
|
106
|
+
chat_history: item.json.chat_history,
|
|
107
|
+
model_overview: item.json.model_overview,
|
|
108
|
+
};
|
|
109
|
+
item.json = Object.fromEntries(Object.entries(reordered).filter(([_, value]) => value !== undefined));
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=outputProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outputProcessor.js","sourceRoot":"","sources":["../../../../nodes/shared/processing/outputProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { IDataObject } from 'n8n-workflow';
|
|
2
|
+
export declare function prepareRequestBody(model: string, messages: IDataObject[], tools: any[], tool_choice: string | undefined, response_format: IDataObject | undefined, options: IDataObject, customParameters: string): IDataObject;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.prepareRequestBody = prepareRequestBody;
|
|
7
|
+
const omit_1 = __importDefault(require("lodash/omit"));
|
|
8
|
+
const types_1 = require("../core/messages/types");
|
|
9
|
+
function prepareRequestBody(model, messages, tools, tool_choice, response_format, options, customParameters) {
|
|
10
|
+
let customParamsObj = {};
|
|
11
|
+
if (customParameters && customParameters.trim()) {
|
|
12
|
+
try {
|
|
13
|
+
customParamsObj = JSON.parse(customParameters);
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
throw new Error('Invalid JSON in customParameters');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const cleanOptions = (0, omit_1.default)(options, [
|
|
20
|
+
'customParameters',
|
|
21
|
+
'fallbackModelId',
|
|
22
|
+
'maxToolsIterations',
|
|
23
|
+
]);
|
|
24
|
+
const body = {
|
|
25
|
+
model,
|
|
26
|
+
messages,
|
|
27
|
+
...(tools.length > 0 ? { tools } : {}),
|
|
28
|
+
tool_choice,
|
|
29
|
+
response_format,
|
|
30
|
+
...cleanOptions,
|
|
31
|
+
...customParamsObj,
|
|
32
|
+
};
|
|
33
|
+
if (!Array.isArray(messages) || !messages.every(types_1.isValidMessage)) {
|
|
34
|
+
throw new Error("Invalid or missing 'messages' in the request body.");
|
|
35
|
+
}
|
|
36
|
+
return body;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=requestBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestBuilder.js","sourceRoot":"","sources":["../../../../nodes/shared/processing/requestBuilder.ts"],"names":[],"mappings":";;;;;AAOA,gDAyCC;AA/CD,uDAAgC;AAChC,kDAAwD;AAKxD,SAAgB,kBAAkB,CACjC,KAAa,EACb,QAAuB,EACvB,KAAY,EACZ,WAA+B,EAC/B,eAAwC,EACxC,OAAoB,EACpB,gBAAwB;IAExB,IAAI,eAAe,GAAgB,EAAE,CAAC;IACtC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,IAAI,CAAC;YACJ,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAgB,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrD,CAAC;IACF,CAAC;IAGD,MAAM,YAAY,GAAG,IAAA,cAAK,EAAC,OAAO,EAAE;QACnC,kBAAkB;QAClB,iBAAiB;QACjB,oBAAoB;KACpB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAgB;QACzB,KAAK;QACL,QAAQ;QACR,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,WAAW;QACX,eAAe;QACf,GAAG,YAAY;QACf,GAAG,eAAe;KAClB,CAAC;IAGF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,sBAAc,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export type VisualEditorProperties = {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
description: string;
|
|
5
|
+
isEnum: boolean;
|
|
6
|
+
enumValues?: string[];
|
|
7
|
+
elementDescription?: string;
|
|
8
|
+
isOptional: boolean;
|
|
9
|
+
};
|
|
10
|
+
type SchemaProperty = {
|
|
11
|
+
name?: string;
|
|
12
|
+
type?: string | string[];
|
|
13
|
+
enum?: string[];
|
|
14
|
+
description?: string;
|
|
15
|
+
items?: SchemaProperty | RefProperty;
|
|
16
|
+
properties?: Record<string, SchemaProperty>;
|
|
17
|
+
$ref?: string;
|
|
18
|
+
required?: string[];
|
|
19
|
+
additionalProperties?: boolean;
|
|
20
|
+
};
|
|
21
|
+
type RefProperty = {
|
|
22
|
+
$ref: string;
|
|
23
|
+
};
|
|
24
|
+
type Schema = {
|
|
25
|
+
type: 'object';
|
|
26
|
+
properties: Record<string, SchemaProperty>;
|
|
27
|
+
required: string[];
|
|
28
|
+
additionalProperties: false;
|
|
29
|
+
$defs?: Record<string, Schema>;
|
|
30
|
+
};
|
|
31
|
+
export declare function convertVisualEditorToSchema(visualEditorProperties: VisualEditorProperties[], structuredOutputIsArray?: boolean, structuredOutputArrayName?: string, structuredOutputArrayDescription?: string): Schema;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertVisualEditorToSchema = convertVisualEditorToSchema;
|
|
4
|
+
function convertVisualEditorToSchema(visualEditorProperties, structuredOutputIsArray = false, structuredOutputArrayName = '', structuredOutputArrayDescription = '') {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
const properties = {};
|
|
7
|
+
const required = [];
|
|
8
|
+
for (var visualProperty of visualEditorProperties) {
|
|
9
|
+
var propertyIsArray = visualProperty.type === 'stringArray';
|
|
10
|
+
var baseType = propertyIsArray ? 'string' : visualProperty.type;
|
|
11
|
+
var property = {
|
|
12
|
+
type: visualProperty.isOptional ? [baseType, 'null'] : baseType,
|
|
13
|
+
};
|
|
14
|
+
if (propertyIsArray && visualProperty.description.trim()) {
|
|
15
|
+
property.description = visualProperty.elementDescription;
|
|
16
|
+
}
|
|
17
|
+
if (!propertyIsArray && visualProperty.description.trim()) {
|
|
18
|
+
property.description = visualProperty.description;
|
|
19
|
+
}
|
|
20
|
+
if (visualProperty.isEnum) {
|
|
21
|
+
property.enum = visualProperty.enumValues;
|
|
22
|
+
}
|
|
23
|
+
if (propertyIsArray) {
|
|
24
|
+
const arrayProperty = {
|
|
25
|
+
type: visualProperty.isOptional ? ['array', 'null'] : 'array',
|
|
26
|
+
...(((_a = visualProperty.description) === null || _a === void 0 ? void 0 : _a.trim()) && { description: visualProperty.description }),
|
|
27
|
+
items: {
|
|
28
|
+
type: baseType,
|
|
29
|
+
...(((_b = visualProperty.elementDescription) === null || _b === void 0 ? void 0 : _b.trim()) && {
|
|
30
|
+
description: visualProperty.elementDescription,
|
|
31
|
+
}),
|
|
32
|
+
...(visualProperty.isEnum && { enum: visualProperty.enumValues }),
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
properties[visualProperty.name] = arrayProperty;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
properties[visualProperty.name] = property;
|
|
39
|
+
}
|
|
40
|
+
required.push(visualProperty.name);
|
|
41
|
+
}
|
|
42
|
+
if (structuredOutputIsArray) {
|
|
43
|
+
return {
|
|
44
|
+
type: 'object',
|
|
45
|
+
properties: {
|
|
46
|
+
[structuredOutputArrayName]: {
|
|
47
|
+
type: 'array',
|
|
48
|
+
...(structuredOutputArrayDescription.trim() && {
|
|
49
|
+
description: structuredOutputArrayDescription,
|
|
50
|
+
}),
|
|
51
|
+
items: {
|
|
52
|
+
type: 'object',
|
|
53
|
+
properties,
|
|
54
|
+
required,
|
|
55
|
+
additionalProperties: false,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
required: [structuredOutputArrayName],
|
|
60
|
+
additionalProperties: false,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
type: 'object',
|
|
65
|
+
properties,
|
|
66
|
+
required,
|
|
67
|
+
additionalProperties: false,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=visualEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visualEditor.js","sourceRoot":"","sources":["../../../../nodes/shared/processing/visualEditor.ts"],"names":[],"mappings":";;AAmCA,kEA+EC;AA/ED,SAAgB,2BAA2B,CAC1C,sBAAgD,EAChD,0BAAmC,KAAK,EACxC,4BAAoC,EAAE,EACtC,mCAA2C,EAAE;;IAE7C,MAAM,UAAU,GAAmC,EAAE,CAAC;IACtD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,IAAI,cAAc,IAAI,sBAAsB,EAAE,CAAC;QACnD,IAAI,eAAe,GAAY,cAAc,CAAC,IAAI,KAAK,aAAa,CAAC;QAErE,IAAI,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC;QAChE,IAAI,QAAQ,GAAmB;YAC9B,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ;SAC/D,CAAC;QAEF,IAAI,eAAe,IAAI,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1D,QAAQ,CAAC,WAAW,GAAG,cAAc,CAAC,kBAAkB,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,eAAe,IAAI,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3D,QAAQ,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;QACnD,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC;QAC3C,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACrB,MAAM,aAAa,GAAmB;gBACrC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;gBAC7D,GAAG,CAAC,CAAA,MAAA,cAAc,CAAC,WAAW,0CAAE,IAAI,EAAE,KAAI,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC;gBACtF,KAAK,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,GAAG,CAAC,CAAA,MAAA,cAAc,CAAC,kBAAkB,0CAAE,IAAI,EAAE,KAAI;wBAChD,WAAW,EAAE,cAAc,CAAC,kBAAkB;qBAC9C,CAAC;oBACF,GAAG,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC;iBACjE;aACD,CAAC;YACF,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;QACjD,CAAC;aAAM,CAAC;YACP,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAC5C,CAAC;QAID,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,uBAAuB,EAAE,CAAC;QAC7B,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACX,CAAC,yBAAyB,CAAC,EAAE;oBAC5B,IAAI,EAAE,OAAO;oBACb,GAAG,CAAC,gCAAgC,CAAC,IAAI,EAAE,IAAI;wBAC9C,WAAW,EAAE,gCAAgC;qBAC7C,CAAC;oBACF,KAAK,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,UAAU;wBACV,QAAQ;wBACR,oBAAoB,EAAE,KAAK;qBAC3B;iBACD;aACD;YACD,QAAQ,EAAE,CAAC,yBAAyB,CAAC;YACrC,oBAAoB,EAAE,KAAK;SAC3B,CAAC;IACH,CAAC;IAED,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,UAAU;QACV,QAAQ;QACR,oBAAoB,EAAE,KAAK;KAC3B,CAAC;AACH,CAAC"}
|