n8n-nodes-simple 2.3.0 → 2.4.1

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.
Files changed (189) hide show
  1. package/dist/nodes/CoreAgent/description.js +0 -1
  2. package/dist/nodes/CoreAgent/description.js.map +1 -1
  3. package/dist/nodes/ModelOverview/ModelOverview.node.d.ts +10 -0
  4. package/dist/nodes/ModelOverview/ModelOverview.node.js +220 -0
  5. package/dist/nodes/ModelOverview/ModelOverview.node.js.map +1 -0
  6. package/dist/nodes/shared/config/descriptionGenerator.js +3 -3
  7. package/dist/nodes/shared/config/descriptionGenerator.js.map +1 -1
  8. package/dist/nodes/shared/config/properties/model.js.map +1 -1
  9. package/dist/nodes/shared/config/properties/output.js +14 -7
  10. package/dist/nodes/shared/config/properties/output.js.map +1 -1
  11. package/dist/nodes/shared/core/execution/executor.d.ts +2 -4
  12. package/dist/nodes/shared/core/execution/executor.js +10 -27
  13. package/dist/nodes/shared/core/execution/executor.js.map +1 -1
  14. package/dist/nodes/shared/core/execution/messageOperation.d.ts +1 -1
  15. package/dist/nodes/shared/core/execution/messageOperation.js +4 -4
  16. package/dist/nodes/shared/core/execution/messageOperation.js.map +1 -1
  17. package/dist/nodes/shared/core/execution/outputData.d.ts +1 -2
  18. package/dist/nodes/shared/core/execution/outputData.js +13 -34
  19. package/dist/nodes/shared/core/execution/outputData.js.map +1 -1
  20. package/dist/nodes/shared/core/execution/router.d.ts +1 -1
  21. package/dist/nodes/shared/core/execution/router.js +6 -6
  22. package/dist/nodes/shared/core/execution/router.js.map +1 -1
  23. package/dist/nodes/shared/core/messages/processor.d.ts +1 -1
  24. package/dist/nodes/shared/core/messages/processor.js +1 -6
  25. package/dist/nodes/shared/core/messages/processor.js.map +1 -1
  26. package/dist/nodes/shared/core/tools/connector.js +16 -25
  27. package/dist/nodes/shared/core/tools/connector.js.map +1 -1
  28. package/dist/nodes/shared/core/tools/executor.js +7 -1
  29. package/dist/nodes/shared/core/tools/executor.js.map +1 -1
  30. package/dist/nodes/shared/core/tools/manager.d.ts +0 -2
  31. package/dist/nodes/shared/core/tools/manager.js +0 -49
  32. package/dist/nodes/shared/core/tools/manager.js.map +1 -1
  33. package/dist/nodes/shared/core/tools/n8nTool.js +1 -2
  34. package/dist/nodes/shared/core/tools/n8nTool.js.map +1 -1
  35. package/dist/nodes/shared/core/tools/subagentTool.d.ts +0 -11
  36. package/dist/nodes/shared/core/tools/subagentTool.js +0 -58
  37. package/dist/nodes/shared/core/tools/subagentTool.js.map +1 -1
  38. package/dist/package.json +3 -2
  39. package/dist/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +3 -2
  41. package/dist/nodes/Subagent/Subagent.node.d.ts +0 -11
  42. package/dist/nodes/Subagent/Subagent.node.js +0 -23
  43. package/dist/nodes/Subagent/Subagent.node.js.map +0 -1
  44. package/dist/nodes/Subagent/description.d.ts +0 -2
  45. package/dist/nodes/Subagent/description.js +0 -35
  46. package/dist/nodes/Subagent/description.js.map +0 -1
  47. package/dist/nodes/shared/actions/executor.d.ts +0 -7
  48. package/dist/nodes/shared/actions/executor.js +0 -61
  49. package/dist/nodes/shared/actions/executor.js.map +0 -1
  50. package/dist/nodes/shared/actions/memory.d.ts +0 -5
  51. package/dist/nodes/shared/actions/memory.js +0 -93
  52. package/dist/nodes/shared/actions/memory.js.map +0 -1
  53. package/dist/nodes/shared/actions/message.operation.d.ts +0 -2
  54. package/dist/nodes/shared/actions/message.operation.js +0 -14
  55. package/dist/nodes/shared/actions/message.operation.js.map +0 -1
  56. package/dist/nodes/shared/actions/messageProcessor.d.ts +0 -4
  57. package/dist/nodes/shared/actions/messageProcessor.js +0 -23
  58. package/dist/nodes/shared/actions/messageProcessor.js.map +0 -1
  59. package/dist/nodes/shared/actions/outputProcessor.d.ts +0 -5
  60. package/dist/nodes/shared/actions/outputProcessor.js +0 -112
  61. package/dist/nodes/shared/actions/outputProcessor.js.map +0 -1
  62. package/dist/nodes/shared/actions/parameterParser.d.ts +0 -9
  63. package/dist/nodes/shared/actions/parameterParser.js +0 -96
  64. package/dist/nodes/shared/actions/parameterParser.js.map +0 -1
  65. package/dist/nodes/shared/actions/parameters.d.ts +0 -26
  66. package/dist/nodes/shared/actions/parameters.js +0 -35
  67. package/dist/nodes/shared/actions/parameters.js.map +0 -1
  68. package/dist/nodes/shared/actions/requestBuilder.d.ts +0 -2
  69. package/dist/nodes/shared/actions/requestBuilder.js +0 -38
  70. package/dist/nodes/shared/actions/requestBuilder.js.map +0 -1
  71. package/dist/nodes/shared/actions/responseConfig.d.ts +0 -3
  72. package/dist/nodes/shared/actions/responseConfig.js +0 -26
  73. package/dist/nodes/shared/actions/responseConfig.js.map +0 -1
  74. package/dist/nodes/shared/actions/router.d.ts +0 -2
  75. package/dist/nodes/shared/actions/router.js +0 -117
  76. package/dist/nodes/shared/actions/router.js.map +0 -1
  77. package/dist/nodes/shared/actions/tool.d.ts +0 -2
  78. package/dist/nodes/shared/actions/tool.js +0 -51
  79. package/dist/nodes/shared/actions/tool.js.map +0 -1
  80. package/dist/nodes/shared/actions/toolExecutor.d.ts +0 -6
  81. package/dist/nodes/shared/actions/toolExecutor.js +0 -124
  82. package/dist/nodes/shared/actions/toolExecutor.js.map +0 -1
  83. package/dist/nodes/shared/actions/toolSetup.d.ts +0 -8
  84. package/dist/nodes/shared/actions/toolSetup.js +0 -59
  85. package/dist/nodes/shared/actions/toolSetup.js.map +0 -1
  86. package/dist/nodes/shared/config/properties/memory.d.ts +0 -2
  87. package/dist/nodes/shared/config/properties/memory.js +0 -5
  88. package/dist/nodes/shared/config/properties/memory.js.map +0 -1
  89. package/dist/nodes/shared/config/properties/toolParameters.d.ts +0 -2
  90. package/dist/nodes/shared/config/properties/toolParameters.js +0 -101
  91. package/dist/nodes/shared/config/properties/toolParameters.js.map +0 -1
  92. package/dist/nodes/shared/config/properties/tools.d.ts +0 -2
  93. package/dist/nodes/shared/config/properties/tools.js +0 -5
  94. package/dist/nodes/shared/config/properties/tools.js.map +0 -1
  95. package/dist/nodes/shared/config/responseConfig.d.ts +0 -3
  96. package/dist/nodes/shared/config/responseConfig.js +0 -26
  97. package/dist/nodes/shared/config/responseConfig.js.map +0 -1
  98. package/dist/nodes/shared/core/memory/optimizer.d.ts +0 -3
  99. package/dist/nodes/shared/core/memory/optimizer.js +0 -30
  100. package/dist/nodes/shared/core/memory/optimizer.js.map +0 -1
  101. package/dist/nodes/shared/core/memory/properties.d.ts +0 -2
  102. package/dist/nodes/shared/core/memory/properties.js +0 -5
  103. package/dist/nodes/shared/core/memory/properties.js.map +0 -1
  104. package/dist/nodes/shared/core/memory/supplier.d.ts +0 -2
  105. package/dist/nodes/shared/core/memory/supplier.js +0 -53
  106. package/dist/nodes/shared/core/memory/supplier.js.map +0 -1
  107. package/dist/nodes/shared/core/messages/memoryOptimizer.d.ts +0 -3
  108. package/dist/nodes/shared/core/messages/memoryOptimizer.js +0 -30
  109. package/dist/nodes/shared/core/messages/memoryOptimizer.js.map +0 -1
  110. package/dist/nodes/shared/core/messages/toolExtractor.d.ts +0 -6
  111. package/dist/nodes/shared/core/messages/toolExtractor.js +0 -28
  112. package/dist/nodes/shared/core/messages/toolExtractor.js.map +0 -1
  113. package/dist/nodes/shared/core/output/processor.d.ts +0 -5
  114. package/dist/nodes/shared/core/output/processor.js +0 -108
  115. package/dist/nodes/shared/core/output/processor.js.map +0 -1
  116. package/dist/nodes/shared/core/request/builder.d.ts +0 -2
  117. package/dist/nodes/shared/core/request/builder.js +0 -43
  118. package/dist/nodes/shared/core/request/builder.js.map +0 -1
  119. package/dist/nodes/shared/core/response/config.d.ts +0 -3
  120. package/dist/nodes/shared/core/response/config.js +0 -26
  121. package/dist/nodes/shared/core/response/config.js.map +0 -1
  122. package/dist/nodes/shared/core/schema/visualEditor.d.ts +0 -32
  123. package/dist/nodes/shared/core/schema/visualEditor.js +0 -70
  124. package/dist/nodes/shared/core/schema/visualEditor.js.map +0 -1
  125. package/dist/nodes/shared/descriptionGenerator.d.ts +0 -2
  126. package/dist/nodes/shared/descriptionGenerator.js +0 -36
  127. package/dist/nodes/shared/descriptionGenerator.js.map +0 -1
  128. package/dist/nodes/shared/gradientRobot.svg +0 -11
  129. package/dist/nodes/shared/gradientRobotRed.svg +0 -11
  130. package/dist/nodes/shared/message/chatHistoryProcessor.d.ts +0 -2
  131. package/dist/nodes/shared/message/chatHistoryProcessor.js +0 -63
  132. package/dist/nodes/shared/message/chatHistoryProcessor.js.map +0 -1
  133. package/dist/nodes/shared/message/memoryOptimizer.d.ts +0 -3
  134. package/dist/nodes/shared/message/memoryOptimizer.js +0 -30
  135. package/dist/nodes/shared/message/memoryOptimizer.js.map +0 -1
  136. package/dist/nodes/shared/message/messageConverter.d.ts +0 -4
  137. package/dist/nodes/shared/message/messageConverter.js +0 -76
  138. package/dist/nodes/shared/message/messageConverter.js.map +0 -1
  139. package/dist/nodes/shared/message/processor.d.ts +0 -3
  140. package/dist/nodes/shared/message/processor.js +0 -11
  141. package/dist/nodes/shared/message/processor.js.map +0 -1
  142. package/dist/nodes/shared/message/toolMessageExtractor.d.ts +0 -6
  143. package/dist/nodes/shared/message/toolMessageExtractor.js +0 -28
  144. package/dist/nodes/shared/message/toolMessageExtractor.js.map +0 -1
  145. package/dist/nodes/shared/message/types.d.ts +0 -48
  146. package/dist/nodes/shared/message/types.js +0 -12
  147. package/dist/nodes/shared/message/types.js.map +0 -1
  148. package/dist/nodes/shared/methods/index.d.ts +0 -1
  149. package/dist/nodes/shared/methods/index.js +0 -38
  150. package/dist/nodes/shared/methods/index.js.map +0 -1
  151. package/dist/nodes/shared/processing/memory.d.ts +0 -5
  152. package/dist/nodes/shared/processing/memory.js +0 -93
  153. package/dist/nodes/shared/processing/memory.js.map +0 -1
  154. package/dist/nodes/shared/processing/outputProcessor.d.ts +0 -5
  155. package/dist/nodes/shared/processing/outputProcessor.js +0 -108
  156. package/dist/nodes/shared/processing/outputProcessor.js.map +0 -1
  157. package/dist/nodes/shared/processing/requestBuilder.d.ts +0 -2
  158. package/dist/nodes/shared/processing/requestBuilder.js +0 -43
  159. package/dist/nodes/shared/processing/requestBuilder.js.map +0 -1
  160. package/dist/nodes/shared/processing/visualEditor.d.ts +0 -32
  161. package/dist/nodes/shared/processing/visualEditor.js +0 -70
  162. package/dist/nodes/shared/processing/visualEditor.js.map +0 -1
  163. package/dist/nodes/shared/properties.d.ts +0 -2
  164. package/dist/nodes/shared/properties.js +0 -550
  165. package/dist/nodes/shared/properties.js.map +0 -1
  166. package/dist/nodes/shared/tool/schemaGenerator.d.ts +0 -6
  167. package/dist/nodes/shared/tool/schemaGenerator.js +0 -23
  168. package/dist/nodes/shared/tool/schemaGenerator.js.map +0 -1
  169. package/dist/nodes/shared/tool/subagentTool.d.ts +0 -11
  170. package/dist/nodes/shared/tool/subagentTool.js +0 -60
  171. package/dist/nodes/shared/tool/subagentTool.js.map +0 -1
  172. package/dist/nodes/shared/tool/visualEditor.d.ts +0 -32
  173. package/dist/nodes/shared/tool/visualEditor.js +0 -70
  174. package/dist/nodes/shared/tool/visualEditor.js.map +0 -1
  175. package/dist/nodes/shared/toolManager/getConnectedTools.d.ts +0 -3
  176. package/dist/nodes/shared/toolManager/getConnectedTools.js +0 -37
  177. package/dist/nodes/shared/toolManager/getConnectedTools.js.map +0 -1
  178. package/dist/nodes/shared/toolManager/n8nTool.d.ts +0 -9
  179. package/dist/nodes/shared/toolManager/n8nTool.js +0 -91
  180. package/dist/nodes/shared/toolManager/n8nTool.js.map +0 -1
  181. package/dist/nodes/shared/utils/descriptionGenerator.d.ts +0 -2
  182. package/dist/nodes/shared/utils/descriptionGenerator.js +0 -36
  183. package/dist/nodes/shared/utils/descriptionGenerator.js.map +0 -1
  184. package/dist/nodes/shared/utils/index.d.ts +0 -1
  185. package/dist/nodes/shared/utils/index.js +0 -18
  186. package/dist/nodes/shared/utils/index.js.map +0 -1
  187. package/dist/nodes/shared/utils/listSearch.d.ts +0 -2
  188. package/dist/nodes/shared/utils/listSearch.js +0 -34
  189. package/dist/nodes/shared/utils/listSearch.js.map +0 -1
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractParameters = extractParameters;
4
- function extractParameters(executeFunctions, index) {
5
- var _a, _b;
6
- const get = (path, defaultValue, options) => executeFunctions.getNodeParameter(path, index, defaultValue, options);
7
- const rawMessages = get('messagesToSend.values', []);
8
- const chatMemoryMessage = rawMessages.find((msg) => msg.role === 'chatMemoryRole');
9
- const saveToolCallsInChatMemory = (_a = chatMemoryMessage === null || chatMemoryMessage === void 0 ? void 0 : chatMemoryMessage.saveToolCallsInChatMemory) !== null && _a !== void 0 ? _a : true;
10
- const loadToolCallsFromChatMemory = (_b = chatMemoryMessage === null || chatMemoryMessage === void 0 ? void 0 : chatMemoryMessage.loadToolCallsFromChatMemory) !== null && _b !== void 0 ? _b : true;
11
- const params = {
12
- model: get('modelId', '', { extractValue: true }),
13
- fallbackModel: get('options.fallbackModelId', '', { extractValue: true }),
14
- agentType: get('agentType', 'coreAgent'),
15
- rawMessagesToSend: rawMessages,
16
- responseFormat: get('responseFormat', ''),
17
- addToOutput: get('addToOutput', []),
18
- outputJsonSchemaDefinition: get('outputJsonSchemaDefinition', ''),
19
- structuredOutputToolsMode: get('structuredOutputToolsMode', false),
20
- structuredOutputProperties: get('structuredOutputProperties.values', []),
21
- structuredOutputName: get('structuredOutputName', ''),
22
- structuredOutputDescription: get('structuredOutputDescription', ''),
23
- structuredOutputIsArray: get('structuredOutputIsArray', false),
24
- structuredOutputArrayName: get('structuredOutputArrayName', ''),
25
- structuredOutputArrayDescription: get('structuredOutputArrayDescription', ''),
26
- options: get('options', {}),
27
- maxToolsIterations: get('options.maxToolsIterations', 15),
28
- customParameters: get('options.customParameters', '{}'),
29
- saveToolCallsInChatMemory,
30
- loadToolCallsFromChatMemory,
31
- abortSignal: executeFunctions.getExecutionCancelSignal(),
32
- };
33
- return params;
34
- }
35
- //# sourceMappingURL=parameters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../../nodes/shared/actions/parameters.ts"],"names":[],"mappings":";;AA8BA,8CAyCC;AAzCD,SAAgB,iBAAiB,CAChC,gBAAmC,EACnC,KAAa;;IAEb,MAAM,GAAG,GAAG,CAAI,IAAY,EAAE,YAAe,EAAE,OAAkC,EAAE,EAAE,CACpF,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAM,CAAC;IAE5E,MAAM,WAAW,GAAG,GAAG,CAAY,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAGhE,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;IACnF,MAAM,yBAAyB,GAAG,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,yBAAyB,mCAAI,IAAI,CAAC;IACvF,MAAM,2BAA2B,GAAG,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,2BAA2B,mCAAI,IAAI,CAAC;IAE3F,MAAM,MAAM,GAAwB;QACnC,KAAK,EAAE,GAAG,CAAS,SAAS,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACzD,aAAa,EAAE,GAAG,CAAS,yBAAyB,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACjF,SAAS,EAAE,GAAG,CAAS,WAAW,EAAE,WAAW,CAAC;QAChD,iBAAiB,EAAE,WAAW;QAC9B,cAAc,EAAE,GAAG,CAAS,gBAAgB,EAAE,EAAE,CAAC;QACjD,WAAW,EAAE,GAAG,CAAW,aAAa,EAAE,EAAE,CAAC;QAC7C,0BAA0B,EAAE,GAAG,CAAS,4BAA4B,EAAE,EAAE,CAAC;QACzE,yBAAyB,EAAE,GAAG,CAAU,2BAA2B,EAAE,KAAK,CAAC;QAC3E,0BAA0B,EAAE,GAAG,CAC9B,mCAAmC,EACnC,EAAE,CACF;QACD,oBAAoB,EAAE,GAAG,CAAS,sBAAsB,EAAE,EAAE,CAAC;QAC7D,2BAA2B,EAAE,GAAG,CAAS,6BAA6B,EAAE,EAAE,CAAC;QAC3E,uBAAuB,EAAE,GAAG,CAAU,yBAAyB,EAAE,KAAK,CAAC;QACvE,yBAAyB,EAAE,GAAG,CAAS,2BAA2B,EAAE,EAAE,CAAC;QACvE,gCAAgC,EAAE,GAAG,CAAS,kCAAkC,EAAE,EAAE,CAAC;QACrF,OAAO,EAAE,GAAG,CAAc,SAAS,EAAE,EAAE,CAAC;QACxC,kBAAkB,EAAE,GAAG,CAAS,4BAA4B,EAAE,EAAE,CAAC;QACjE,gBAAgB,EAAE,GAAG,CAAS,0BAA0B,EAAE,IAAI,CAAC;QAC/D,yBAAyB;QACzB,2BAA2B;QAC3B,WAAW,EAAE,gBAAgB,CAAC,wBAAwB,EAAE;KACxD,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -1,2 +0,0 @@
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;
@@ -1,38 +0,0 @@
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("../message/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
@@ -1 +0,0 @@
1
- {"version":3,"file":"requestBuilder.js","sourceRoot":"","sources":["../../../../nodes/shared/actions/requestBuilder.ts"],"names":[],"mappings":";;;;;AAOA,gDAyCC;AA/CD,uDAAgC;AAChC,4CAAkD;AAKlD,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"}
@@ -1,3 +0,0 @@
1
- import type { IDataObject } from 'n8n-workflow';
2
- import { VisualEditorProperties } from '../tool/visualEditor';
3
- export declare function configureResponseFormat(responseFormat: string, outputJsonSchemaDefinition: string, structuredOutputName: string, structuredOutputDescription: string, structuredOutputProperties: VisualEditorProperties[], structuredOutputIsArray: boolean, structuredOutputArrayName: string, structuredOutputArrayDescription: string): IDataObject | undefined;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureResponseFormat = configureResponseFormat;
4
- const visualEditor_1 = require("../tool/visualEditor");
5
- function configureResponseFormat(responseFormat, outputJsonSchemaDefinition, structuredOutputName, structuredOutputDescription, structuredOutputProperties, structuredOutputIsArray, structuredOutputArrayName, structuredOutputArrayDescription) {
6
- let response_format;
7
- if (responseFormat === 'structuredOutputSchema') {
8
- response_format = { type: 'json_schema', json_schema: JSON.parse(outputJsonSchemaDefinition) };
9
- }
10
- else if (responseFormat === 'structuredOutputVisual') {
11
- response_format = {
12
- type: 'json_schema',
13
- json_schema: {
14
- name: structuredOutputName,
15
- ...(structuredOutputDescription.trim() && { description: structuredOutputDescription }),
16
- schema: (0, visualEditor_1.convertVisualEditorToSchema)(structuredOutputProperties, structuredOutputIsArray, structuredOutputArrayName, structuredOutputArrayDescription),
17
- strict: true,
18
- },
19
- };
20
- }
21
- else if (responseFormat === 'jsonMode') {
22
- response_format = { type: 'json_object' };
23
- }
24
- return response_format;
25
- }
26
- //# sourceMappingURL=responseConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"responseConfig.js","sourceRoot":"","sources":["../../../../nodes/shared/actions/responseConfig.ts"],"names":[],"mappings":";;AAMA,0DAiCC;AAtCD,uDAA2F;AAK3F,SAAgB,uBAAuB,CACtC,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,eAAe,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC;IAChG,CAAC;SAAM,IAAI,cAAc,KAAK,wBAAwB,EAAE,CAAC;QACxD,eAAe,GAAG;YACjB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE;gBACZ,IAAI,EAAE,oBAAoB;gBAC1B,GAAG,CAAC,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;gBACvF,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,2 +0,0 @@
1
- import { type IExecuteFunctions, type INodeExecutionData } from 'n8n-workflow';
2
- export declare function router(this: IExecuteFunctions, parentMessageContentStr?: string, parentMessageContentObj?: Record<string, any>): Promise<INodeExecutionData[][]>;
@@ -1,117 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.router = router;
37
- const n8n_workflow_1 = require("n8n-workflow");
38
- const messageOperation = __importStar(require("./message.operation"));
39
- const errorHandling_1 = require("../api/errorHandling");
40
- function isNodeApiError(error) {
41
- return error instanceof n8n_workflow_1.NodeApiError || error.name === 'NodeApiError';
42
- }
43
- function normalizeError(error) {
44
- if (error instanceof Error) {
45
- return error;
46
- }
47
- return new Error(String(error));
48
- }
49
- function initializeRouter(executeFunctions) {
50
- return {
51
- returnData: [],
52
- items: executeFunctions.getInputData(),
53
- execute: messageOperation.execute,
54
- };
55
- }
56
- async function executeItem(execute, executeFunctions, itemIndex, parentMessageContentStr = '', parentMessageContentObj = {}) {
57
- return await execute.call(executeFunctions, itemIndex, parentMessageContentStr, parentMessageContentObj);
58
- }
59
- function handleNodeApiError(error, itemIndex) {
60
- var _a, _b, _c;
61
- const errorCode = (_c = (_b = (_a = error.cause) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.error) === null || _c === void 0 ? void 0 : _c.code;
62
- if (errorCode) {
63
- const customErrorMessage = (0, errorHandling_1.getCustomErrorMessage)(errorCode);
64
- if (customErrorMessage) {
65
- error.message = customErrorMessage;
66
- }
67
- }
68
- error.context = {
69
- itemIndex,
70
- };
71
- console.error(`NodeApiError at item ${itemIndex}: ${error.message}`);
72
- throw error;
73
- }
74
- function handleGenericError(error, executeFunctions, itemIndex) {
75
- console.error(`Generic error at item ${itemIndex}: ${error.message}`);
76
- throw new n8n_workflow_1.NodeOperationError(executeFunctions.getNode(), error, {
77
- itemIndex,
78
- description: error.description,
79
- });
80
- }
81
- function handleError(error, executeFunctions, itemIndex, continueOnFail, returnData) {
82
- const normalizedError = normalizeError(error);
83
- if (continueOnFail) {
84
- returnData.push({
85
- json: { error: normalizedError.message },
86
- pairedItem: { item: itemIndex },
87
- });
88
- return returnData;
89
- }
90
- if (isNodeApiError(normalizedError)) {
91
- return handleNodeApiError(normalizedError, itemIndex);
92
- }
93
- return handleGenericError(normalizedError, executeFunctions, itemIndex);
94
- }
95
- async function processItems(config, executeFunctions, parentMessageContentStr = '', parentMessageContentObj = {}) {
96
- const { returnData, items, execute } = config;
97
- for (let i = 0; i < items.length; i++) {
98
- try {
99
- const responseData = await executeItem(execute, executeFunctions, i, parentMessageContentStr, parentMessageContentObj);
100
- returnData.push(...responseData);
101
- }
102
- catch (error) {
103
- const result = handleError(error, executeFunctions, i, executeFunctions.continueOnFail(), returnData);
104
- if (result) {
105
- console.log(`Continuing after error in item ${i} (0-indexed, out of ${items.length} items)`);
106
- continue;
107
- }
108
- }
109
- }
110
- return returnData;
111
- }
112
- async function router(parentMessageContentStr = '', parentMessageContentObj = {}) {
113
- const config = initializeRouter(this);
114
- const processedData = await processItems(config, this, parentMessageContentStr, parentMessageContentObj);
115
- return [processedData];
116
- }
117
- //# sourceMappingURL=router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../nodes/shared/actions/router.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { type ISupplyDataFunctions, type SupplyData } from 'n8n-workflow';
2
- export declare function executeAsTool(this: ISupplyDataFunctions, itemIndex: number): Promise<SupplyData>;
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.executeAsTool = executeAsTool;
4
- const n8n_workflow_1 = require("n8n-workflow");
5
- const tools_1 = require("@langchain/core/tools");
6
- const subagentTool_1 = require("../tool/subagentTool");
7
- async function executeAsTool(itemIndex) {
8
- const name = this.getNodeParameter('name', itemIndex, 'subagent');
9
- const description = this.getNodeParameter('description', itemIndex, 'Message an AI subagent.');
10
- const toolHandler = async (input) => {
11
- const formattedInput = typeof input === 'string' ? { input } : input;
12
- const { index } = this.addInputData(n8n_workflow_1.NodeConnectionTypes.AiTool, [[{ json: formattedInput }]]);
13
- let response = '';
14
- let executionError;
15
- try {
16
- const subagentTool = new subagentTool_1.SubagentTool(this);
17
- response = await subagentTool._call(input);
18
- }
19
- catch (error) {
20
- executionError = new n8n_workflow_1.NodeOperationError(this.getNode(), error);
21
- response = `There was an error: "${executionError.message}"`;
22
- }
23
- if (typeof response === 'number') {
24
- response = response.toString();
25
- }
26
- if (typeof response !== 'string') {
27
- executionError = new n8n_workflow_1.NodeOperationError(this.getNode(), 'Wrong output type returned', {
28
- description: `The response property should be a string, but it is an ${typeof response}`,
29
- });
30
- response = `There was an error: "${executionError.message}"`;
31
- }
32
- if (executionError) {
33
- void this.addOutputData(n8n_workflow_1.NodeConnectionTypes.AiTool, index, executionError);
34
- }
35
- else {
36
- void this.addOutputData(n8n_workflow_1.NodeConnectionTypes.AiTool, index, [[{ json: { response } }]]);
37
- }
38
- return response;
39
- };
40
- const commonToolOptions = {
41
- name: name,
42
- description: description,
43
- func: toolHandler,
44
- };
45
- let tool = undefined;
46
- tool = new tools_1.DynamicTool(commonToolOptions);
47
- return {
48
- response: tool,
49
- };
50
- }
51
- //# sourceMappingURL=tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../../nodes/shared/actions/tool.ts"],"names":[],"mappings":";;AAaA,sCAmEC;AAhFD,+CAQsB;AACtB,iDAAoD;AAEpD,uDAAoD;AAE7C,KAAK,UAAU,aAAa,CAElC,SAAiB;IAGjB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAW,CAAC;IAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CACxC,aAAa,EACb,SAAS,EACT,yBAAyB,CACf,CAAC;IAEZ,MAAM,WAAW,GAAG,KAAK,EAAE,KAA2B,EAAmB,EAAE;QAC1E,MAAM,cAAc,GAAgB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAGlF,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,kCAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9F,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,IAAI,cAA0C,CAAC;QAG/C,IAAI,CAAC;YACJ,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAC,IAAoC,CAAC,CAAC;YAC5E,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,cAAc,GAAG,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAuB,CAAC,CAAC;YACjF,QAAQ,GAAG,wBAAwB,cAAc,CAAC,OAAO,GAAG,CAAC;QAC9D,CAAC;QAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,QAAQ,GAAI,QAAmB,CAAC,QAAQ,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAElC,cAAc,GAAG,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,4BAA4B,EAAE;gBACrF,WAAW,EAAE,0DAA0D,OAAO,QAAQ,EAAE;aACxF,CAAC,CAAC;YACH,QAAQ,GAAG,wBAAwB,cAAc,CAAC,OAAO,GAAG,CAAC;QAC9D,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,aAAa,CAAC,kCAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACP,KAAK,IAAI,CAAC,aAAa,CAAC,kCAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;IAGF,MAAM,iBAAiB,GAAG;QACzB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;KACjB,CAAC;IAEF,IAAI,IAAI,GAA4B,SAAS,CAAC;IAI9C,IAAI,GAAG,IAAI,mBAAW,CAAC,iBAAiB,CAAC,CAAC;IAE1C,OAAO;QACN,QAAQ,EAAE,IAAI;KACd,CAAC;AACH,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
- import type { ChatCompletion } from '../api/types';
3
- export declare function processToolCalls(executeFunctions: IExecuteFunctions, body: IDataObject, messages: IDataObject[], invokableTools: any[], structuredOutputTool: IDataObject | undefined, maxToolsIterations: number, abortSignal: AbortSignal | undefined): Promise<{
4
- response: ChatCompletion;
5
- output: any;
6
- }>;
@@ -1,124 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processToolCalls = processToolCalls;
4
- const n8n_workflow_1 = require("n8n-workflow");
5
- const openAiApiRequest_1 = require("../api/openAiApiRequest");
6
- async function processToolCalls(executeFunctions, body, messages, invokableTools, structuredOutputTool, maxToolsIterations, abortSignal) {
7
- var _a, _b, _c, _d, _e, _f;
8
- const processedToolCallIds = new Set();
9
- let response = (await openAiApiRequest_1.openAiApiRequest.call(executeFunctions, 'POST', `/chat/completions`, {
10
- body,
11
- }));
12
- if (response === null || response === void 0 ? void 0 : response.error) {
13
- throw new Error(String(response.error));
14
- }
15
- if (!response) {
16
- throw new Error('No response received from OpenAI API');
17
- }
18
- 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;
19
- let currentIteration = 1;
20
- var output = null;
21
- while (toolCalls === null || toolCalls === void 0 ? void 0 : toolCalls.length) {
22
- const shouldMakeFinalCall = maxToolsIterations >= 0 && currentIteration > maxToolsIterations;
23
- if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {
24
- break;
25
- }
26
- if (shouldMakeFinalCall) {
27
- let finalBody;
28
- if (structuredOutputTool && !output) {
29
- finalBody = {
30
- ...body,
31
- messages: messages,
32
- tools: [structuredOutputTool],
33
- tool_choice: 'required',
34
- };
35
- }
36
- else {
37
- finalBody = {
38
- ...body,
39
- messages: messages,
40
- tools: [],
41
- tool_choice: undefined,
42
- };
43
- }
44
- response = (await openAiApiRequest_1.openAiApiRequest.call(executeFunctions, 'POST', `/chat/completions`, {
45
- body: finalBody,
46
- }));
47
- if (structuredOutputTool && !output && ((_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)) {
48
- const finalToolCalls = response.choices[0].message.tool_calls;
49
- for (const toolCall of finalToolCalls) {
50
- if (structuredOutputTool.function.name ===
51
- toolCall.function.name) {
52
- output = (0, n8n_workflow_1.jsonParse)(toolCall.function.arguments);
53
- break;
54
- }
55
- }
56
- }
57
- break;
58
- }
59
- for (const toolCall of toolCalls) {
60
- const calledFunctionName = toolCall.function.name;
61
- const calledFunctionArgs = toolCall.function.arguments;
62
- const toolCallId = toolCall.id;
63
- if (processedToolCallIds.has(toolCallId)) {
64
- console.log(`Skipping duplicate tool call ID: ${toolCallId}`);
65
- continue;
66
- }
67
- processedToolCallIds.add(toolCallId);
68
- let content = null;
69
- let toolFound = false;
70
- try {
71
- for (const invokableTool of invokableTools !== null && invokableTools !== void 0 ? invokableTools : []) {
72
- if (structuredOutputTool &&
73
- structuredOutputTool.function.name === calledFunctionName) {
74
- output = (0, n8n_workflow_1.jsonParse)(calledFunctionArgs);
75
- toolFound = true;
76
- break;
77
- }
78
- if (invokableTool.name === calledFunctionName) {
79
- const parsedArgs = (0, n8n_workflow_1.jsonParse)(calledFunctionArgs);
80
- content = await invokableTool.invoke(parsedArgs);
81
- content =
82
- Array.isArray(content) && typeof ((_f = content[0]) === null || _f === void 0 ? void 0 : _f.text) === 'string'
83
- ? content[0].text
84
- : content;
85
- toolFound = true;
86
- break;
87
- }
88
- }
89
- if (!toolFound) {
90
- content = `Error: Tool '${calledFunctionName}' not found in available tools`;
91
- console.error(`Tool not found: ${calledFunctionName}`);
92
- }
93
- }
94
- catch (error) {
95
- content = `Error executing tool '${calledFunctionName}': ${error instanceof Error ? error.message : String(error)}`;
96
- }
97
- if (output) {
98
- break;
99
- }
100
- if (toolCalls.indexOf(toolCall) === 0) {
101
- messages.push(response.choices[0].message);
102
- }
103
- messages.push({
104
- tool_call_id: toolCallId,
105
- role: 'tool',
106
- content: typeof content === 'string' ? content : JSON.stringify(content),
107
- });
108
- }
109
- if (output) {
110
- break;
111
- }
112
- const nextIterationBody = {
113
- ...body,
114
- messages: messages,
115
- };
116
- response = (await openAiApiRequest_1.openAiApiRequest.call(executeFunctions, 'POST', `/chat/completions`, {
117
- body: nextIterationBody,
118
- }));
119
- toolCalls = response.choices[0].message.tool_calls;
120
- currentIteration += 1;
121
- }
122
- return { response, output };
123
- }
124
- //# sourceMappingURL=toolExecutor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolExecutor.js","sourceRoot":"","sources":["../../../../nodes/shared/actions/toolExecutor.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
- export declare function setupTools(executeFunctions: IExecuteFunctions, structuredOutputToolsMode: boolean, responseFormat: IDataObject | undefined): Promise<{
3
- tools: any[];
4
- invokableTools: any[];
5
- tool_choice: string | undefined;
6
- structuredOutputTool: IDataObject | undefined;
7
- updatedResponseFormat: IDataObject | undefined;
8
- }>;
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setupTools = setupTools;
4
- const getConnectedTools_1 = require("../toolManager/getConnectedTools");
5
- const utils_1 = require("../api/utils");
6
- async function setupTools(executeFunctions, structuredOutputToolsMode, responseFormat) {
7
- let tools = [];
8
- let externalTools = [];
9
- const enforceUniqueNames = true;
10
- let tool_choice = undefined;
11
- let structuredOutputTool = undefined;
12
- let updatedResponseFormat = responseFormat;
13
- try {
14
- externalTools = await (0, getConnectedTools_1.getConnectedTools)(executeFunctions, enforceUniqueNames, false);
15
- }
16
- catch (error) {
17
- console.error('Error getting connected tools:', error);
18
- console.error('Continue execution without tools');
19
- externalTools = [];
20
- }
21
- let invokableTools = [];
22
- if (externalTools.length) {
23
- for (const tool of externalTools) {
24
- if ('tools' in tool && Array.isArray(tool.tools)) {
25
- for (const subTool of tool.tools) {
26
- invokableTools.push(subTool);
27
- }
28
- }
29
- else {
30
- invokableTools.push(tool);
31
- }
32
- }
33
- }
34
- tools = invokableTools.map(utils_1.formatToOpenAITool);
35
- if (structuredOutputToolsMode && responseFormat && responseFormat.json_schema) {
36
- const jsonSchema = responseFormat.json_schema;
37
- structuredOutputTool = {
38
- type: 'function',
39
- function: {
40
- name: jsonSchema.name,
41
- description: jsonSchema.description ||
42
- 'Call this function last, when you are ready to generate the final response to the user',
43
- parameters: jsonSchema.schema,
44
- },
45
- };
46
- tools.push(structuredOutputTool);
47
- invokableTools.push({ name: structuredOutputTool.function.name });
48
- tool_choice = 'required';
49
- updatedResponseFormat = undefined;
50
- }
51
- return {
52
- tools,
53
- invokableTools,
54
- tool_choice,
55
- structuredOutputTool,
56
- updatedResponseFormat,
57
- };
58
- }
59
- //# sourceMappingURL=toolSetup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolSetup.js","sourceRoot":"","sources":["../../../../nodes/shared/actions/toolSetup.ts"],"names":[],"mappings":";;AAQA,gCAsEC;AA5ED,wEAAqE;AACrE,wCAAkD;AAK3C,KAAK,UAAU,UAAU,CAC/B,gBAAmC,EACnC,yBAAkC,EAClC,cAAuC;IAQvC,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;IACrC,IAAI,qBAAqB,GAAG,cAAc,CAAC;IAE3C,IAAI,CAAC;QACJ,aAAa,GAAG,MAAM,IAAA,qCAAiB,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;IAED,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,0BAAkB,CAAC,CAAC;IAE/C,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,wFAAwF;gBACzF,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;QACzB,qBAAqB,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,OAAO;QACN,KAAK;QACL,cAAc;QACd,WAAW;QACX,oBAAoB;QACpB,qBAAqB;KACrB,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { INodeProperties } from 'n8n-workflow';
2
- export declare const memoryProperties: INodeProperties[];
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.memoryProperties = void 0;
4
- exports.memoryProperties = [];
5
- //# sourceMappingURL=memory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../../nodes/shared/config/properties/memory.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAsB,EAGlD,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { INodeProperties } from 'n8n-workflow';
2
- export declare const toolParametersProperties: INodeProperties[];