n8n-nodes-simple 2.5.7 → 2.5.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/nodes/shared/config/constants.d.ts +50 -0
  2. package/dist/nodes/shared/config/constants.js +54 -0
  3. package/dist/nodes/shared/config/constants.js.map +1 -0
  4. package/dist/nodes/shared/config/parameters.d.ts +10 -8
  5. package/dist/nodes/shared/config/parameters.js +23 -13
  6. package/dist/nodes/shared/config/parameters.js.map +1 -1
  7. package/dist/nodes/shared/config/properties/messages.js.map +1 -1
  8. package/dist/nodes/shared/config/properties/options.js +13 -1
  9. package/dist/nodes/shared/config/properties/options.js.map +1 -1
  10. package/dist/nodes/shared/config/properties/output.js +35 -5
  11. package/dist/nodes/shared/config/properties/output.js.map +1 -1
  12. package/dist/nodes/shared/core/execution/executionHelpers.d.ts +11 -0
  13. package/dist/nodes/shared/core/execution/executionHelpers.js +32 -0
  14. package/dist/nodes/shared/core/execution/executionHelpers.js.map +1 -0
  15. package/dist/nodes/shared/core/execution/executionSetup.d.ts +22 -3
  16. package/dist/nodes/shared/core/execution/executionSetup.js +35 -15
  17. package/dist/nodes/shared/core/execution/executionSetup.js.map +1 -1
  18. package/dist/nodes/shared/core/execution/executor.d.ts +2 -2
  19. package/dist/nodes/shared/core/execution/executor.js +26 -86
  20. package/dist/nodes/shared/core/execution/executor.js.map +1 -1
  21. package/dist/nodes/shared/core/execution/modelAttempt.d.ts +23 -0
  22. package/dist/nodes/shared/core/execution/modelAttempt.js +64 -0
  23. package/dist/nodes/shared/core/execution/modelAttempt.js.map +1 -0
  24. package/dist/nodes/shared/core/execution/outputData.js.map +1 -1
  25. package/dist/nodes/shared/core/execution/responseParser.d.ts +1 -1
  26. package/dist/nodes/shared/core/execution/responseParser.js +18 -6
  27. package/dist/nodes/shared/core/execution/responseParser.js.map +1 -1
  28. package/dist/nodes/shared/core/execution/retryHandler.d.ts +2 -2
  29. package/dist/nodes/shared/core/execution/retryHandler.js +23 -17
  30. package/dist/nodes/shared/core/execution/retryHandler.js.map +1 -1
  31. package/dist/nodes/shared/core/request/structuredOutput.d.ts +1 -1
  32. package/dist/nodes/shared/core/request/structuredOutput.js +4 -4
  33. package/dist/nodes/shared/core/request/structuredOutput.js.map +1 -1
  34. package/dist/nodes/shared/core/request/validation.js +4 -4
  35. package/dist/nodes/shared/core/request/validation.js.map +1 -1
  36. package/dist/nodes/shared/core/tools/executor.d.ts +2 -1
  37. package/dist/nodes/shared/core/tools/executor.js +11 -6
  38. package/dist/nodes/shared/core/tools/executor.js.map +1 -1
  39. package/dist/nodes/shared/core/tools/setup.d.ts +5 -4
  40. package/dist/nodes/shared/core/tools/setup.js +3 -1
  41. package/dist/nodes/shared/core/tools/setup.js.map +1 -1
  42. package/dist/package.json +3 -2
  43. package/dist/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +3 -2
@@ -0,0 +1,50 @@
1
+ export declare const RESPONSE_FORMATS: {
2
+ readonly PLAIN_TEXT: "plainText";
3
+ readonly JSON_MODE: "jsonMode";
4
+ readonly STRUCTURED_OUTPUT_SCHEMA: "structuredOutputSchema";
5
+ readonly STRUCTURED_OUTPUT_VISUAL: "structuredOutputVisual";
6
+ };
7
+ export declare const MESSAGE_ROLES: {
8
+ readonly CHAT_MEMORY: "chatMemoryRole";
9
+ };
10
+ export declare const STRUCTURED_OUTPUT_MODES: {
11
+ readonly NATIVE: "native";
12
+ readonly TOOLS: "tools";
13
+ readonly JSON_VALIDATION: "jsonValidation";
14
+ };
15
+ export declare const PARAM_PATHS: {
16
+ readonly MODEL_ID: "modelId";
17
+ readonly AGENT_TYPE: "agentType";
18
+ readonly MESSAGES: "messagesToSend.values";
19
+ readonly RESPONSE_FORMAT: "responseFormat";
20
+ readonly ADD_TO_OUTPUT: "addToOutput";
21
+ readonly OPTIONS: {
22
+ readonly TENACITY_MAX_RETRIES: "options.tenacityMaxRetries";
23
+ readonly MAX_TOOLS_ITERATIONS: "options.maxToolsIterations";
24
+ readonly CUSTOM_PARAMETERS: "options.customParameters";
25
+ readonly FALLBACK_MODEL_ID: "options.fallbackModelId";
26
+ readonly FALLBACK_TENACITY_MAX_RETRIES: "options.fallbackTenacityMaxRetries";
27
+ };
28
+ readonly STRUCTURED_OUTPUT: {
29
+ readonly SCHEMA_DEFINITION: "outputJsonSchemaDefinition";
30
+ readonly PROPERTIES: "structuredOutputProperties.values";
31
+ readonly NAME: "structuredOutputName";
32
+ readonly DESCRIPTION: "structuredOutputDescription";
33
+ readonly IS_ARRAY: "structuredOutputIsArray";
34
+ readonly ARRAY_NAME: "structuredOutputArrayName";
35
+ readonly ARRAY_DESCRIPTION: "structuredOutputArrayDescription";
36
+ readonly MODE: "structuredOutputMode";
37
+ };
38
+ };
39
+ export declare const DEFAULT_VALUES: {
40
+ readonly AGENT_TYPE: "coreAgent";
41
+ readonly TENACITY_MAX_RETRIES: 0;
42
+ readonly MAX_TOOLS_ITERATIONS: 15;
43
+ readonly CUSTOM_PARAMETERS: "{}";
44
+ readonly STRUCTURED_OUTPUT_MODE: "native";
45
+ readonly FALLBACK_RETRIES_NOT_SET: -1;
46
+ };
47
+ export declare const CHAT_MEMORY_DEFAULTS: {
48
+ readonly SAVE_TOOL_CALLS: true;
49
+ readonly LOAD_TOOL_CALLS: true;
50
+ };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CHAT_MEMORY_DEFAULTS = exports.DEFAULT_VALUES = exports.PARAM_PATHS = exports.STRUCTURED_OUTPUT_MODES = exports.MESSAGE_ROLES = exports.RESPONSE_FORMATS = void 0;
4
+ exports.RESPONSE_FORMATS = {
5
+ PLAIN_TEXT: 'plainText',
6
+ JSON_MODE: 'jsonMode',
7
+ STRUCTURED_OUTPUT_SCHEMA: 'structuredOutputSchema',
8
+ STRUCTURED_OUTPUT_VISUAL: 'structuredOutputVisual',
9
+ };
10
+ exports.MESSAGE_ROLES = {
11
+ CHAT_MEMORY: 'chatMemoryRole',
12
+ };
13
+ exports.STRUCTURED_OUTPUT_MODES = {
14
+ NATIVE: 'native',
15
+ TOOLS: 'tools',
16
+ JSON_VALIDATION: 'jsonValidation',
17
+ };
18
+ exports.PARAM_PATHS = {
19
+ MODEL_ID: 'modelId',
20
+ AGENT_TYPE: 'agentType',
21
+ MESSAGES: 'messagesToSend.values',
22
+ RESPONSE_FORMAT: 'responseFormat',
23
+ ADD_TO_OUTPUT: 'addToOutput',
24
+ OPTIONS: {
25
+ TENACITY_MAX_RETRIES: 'options.tenacityMaxRetries',
26
+ MAX_TOOLS_ITERATIONS: 'options.maxToolsIterations',
27
+ CUSTOM_PARAMETERS: 'options.customParameters',
28
+ FALLBACK_MODEL_ID: 'options.fallbackModelId',
29
+ FALLBACK_TENACITY_MAX_RETRIES: 'options.fallbackTenacityMaxRetries',
30
+ },
31
+ STRUCTURED_OUTPUT: {
32
+ SCHEMA_DEFINITION: 'outputJsonSchemaDefinition',
33
+ PROPERTIES: 'structuredOutputProperties.values',
34
+ NAME: 'structuredOutputName',
35
+ DESCRIPTION: 'structuredOutputDescription',
36
+ IS_ARRAY: 'structuredOutputIsArray',
37
+ ARRAY_NAME: 'structuredOutputArrayName',
38
+ ARRAY_DESCRIPTION: 'structuredOutputArrayDescription',
39
+ MODE: 'structuredOutputMode',
40
+ },
41
+ };
42
+ exports.DEFAULT_VALUES = {
43
+ AGENT_TYPE: 'coreAgent',
44
+ TENACITY_MAX_RETRIES: 0,
45
+ MAX_TOOLS_ITERATIONS: 15,
46
+ CUSTOM_PARAMETERS: '{}',
47
+ STRUCTURED_OUTPUT_MODE: 'native',
48
+ FALLBACK_RETRIES_NOT_SET: -1,
49
+ };
50
+ exports.CHAT_MEMORY_DEFAULTS = {
51
+ SAVE_TOOL_CALLS: true,
52
+ LOAD_TOOL_CALLS: true,
53
+ };
54
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../nodes/shared/config/constants.ts"],"names":[],"mappings":";;;AAOa,QAAA,gBAAgB,GAAG;IAC/B,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,wBAAwB,EAAE,wBAAwB;IAClD,wBAAwB,EAAE,wBAAwB;CACzC,CAAC;AAKE,QAAA,aAAa,GAAG;IAC5B,WAAW,EAAE,gBAAgB;CACpB,CAAC;AAKE,QAAA,uBAAuB,GAAG;IACtC,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,gBAAgB;CACxB,CAAC;AAKE,QAAA,WAAW,GAAG;IAC1B,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,uBAAuB;IACjC,eAAe,EAAE,gBAAgB;IACjC,aAAa,EAAE,aAAa;IAC5B,OAAO,EAAE;QACR,oBAAoB,EAAE,4BAA4B;QAClD,oBAAoB,EAAE,4BAA4B;QAClD,iBAAiB,EAAE,0BAA0B;QAC7C,iBAAiB,EAAE,yBAAyB;QAC5C,6BAA6B,EAAE,oCAAoC;KACnE;IACD,iBAAiB,EAAE;QAClB,iBAAiB,EAAE,4BAA4B;QAC/C,UAAU,EAAE,mCAAmC;QAC/C,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,yBAAyB;QACnC,UAAU,EAAE,2BAA2B;QACvC,iBAAiB,EAAE,kCAAkC;QACrD,IAAI,EAAE,sBAAsB;KAC5B;CACQ,CAAC;AAKE,QAAA,cAAc,GAAG;IAC7B,UAAU,EAAE,WAAW;IACvB,oBAAoB,EAAE,CAAC;IACvB,oBAAoB,EAAE,EAAE;IACxB,iBAAiB,EAAE,IAAI;IACvB,sBAAsB,EAAE,QAAQ;IAEhC,wBAAwB,EAAE,CAAC,CAAC;CACnB,CAAC;AAOE,QAAA,oBAAoB,GAAG;IACnC,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,IAAI;CACZ,CAAC"}
@@ -7,17 +7,19 @@ export type ExtractedParameters = {
7
7
  agentType: string;
8
8
  rawMessagesToSend: RawMessage[];
9
9
  responseFormat: string;
10
+ extractFirstObjectOnly?: boolean;
10
11
  addToOutput: string[];
11
- outputJsonSchemaDefinition: string;
12
- structuredOutputMode: string;
12
+ outputJsonSchemaDefinition?: string;
13
+ structuredOutputMode?: string;
13
14
  tenacityMaxRetries: number;
15
+ appendRetryErrorMessages: boolean;
14
16
  fallbackTenacityMaxRetries?: number;
15
- structuredOutputProperties: VisualEditorProperties[];
16
- structuredOutputName: string;
17
- structuredOutputDescription: string;
18
- structuredOutputIsArray: boolean;
19
- structuredOutputArrayName: string;
20
- structuredOutputArrayDescription: string;
17
+ structuredOutputProperties?: VisualEditorProperties[];
18
+ structuredOutputName?: string;
19
+ structuredOutputDescription?: string;
20
+ structuredOutputIsArray?: boolean;
21
+ structuredOutputArrayName?: string;
22
+ structuredOutputArrayDescription?: string;
21
23
  options: IDataObject;
22
24
  maxToolsIterations: number;
23
25
  customParameters: string | IDataObject;
@@ -8,25 +8,18 @@ function extractParameters(executeFunctions, index) {
8
8
  const chatMemoryMessage = rawMessages.find((msg) => msg.role === 'chatMemoryRole');
9
9
  const saveToolCallsInChatMemory = (_a = chatMemoryMessage === null || chatMemoryMessage === void 0 ? void 0 : chatMemoryMessage.saveToolCallsInChatMemory) !== null && _a !== void 0 ? _a : true;
10
10
  const loadToolCallsFromChatMemory = (_b = chatMemoryMessage === null || chatMemoryMessage === void 0 ? void 0 : chatMemoryMessage.loadToolCallsFromChatMemory) !== null && _b !== void 0 ? _b : true;
11
- const fallbackModelRaw = get('options.fallbackModelId', '', { extractValue: true });
12
- const fallbackTenacityMaxRetriesRaw = get('options.fallbackTenacityMaxRetries', -1);
11
+ const responseFormat = get('responseFormat', '');
12
+ const isStructuredOutput = responseFormat === 'structuredOutputVisual' || responseFormat === 'structuredOutputSchema';
13
+ const extractFirstObjectOnly = get('extractFirstObjectOnly', true);
13
14
  const params = {
14
15
  model: get('modelId', '', { extractValue: true }),
15
- fallbackModel: fallbackModelRaw || undefined,
16
16
  agentType: get('agentType', 'coreAgent'),
17
17
  rawMessagesToSend: rawMessages,
18
- responseFormat: get('responseFormat', ''),
18
+ responseFormat,
19
+ extractFirstObjectOnly,
19
20
  addToOutput: get('addToOutput', []),
20
- outputJsonSchemaDefinition: get('outputJsonSchemaDefinition', ''),
21
- structuredOutputMode: get('structuredOutputMode', 'native'),
22
21
  tenacityMaxRetries: get('options.tenacityMaxRetries', 0),
23
- fallbackTenacityMaxRetries: fallbackTenacityMaxRetriesRaw === -1 ? undefined : fallbackTenacityMaxRetriesRaw,
24
- structuredOutputProperties: get('structuredOutputProperties.values', []),
25
- structuredOutputName: get('structuredOutputName', ''),
26
- structuredOutputDescription: get('structuredOutputDescription', ''),
27
- structuredOutputIsArray: get('structuredOutputIsArray', false),
28
- structuredOutputArrayName: get('structuredOutputArrayName', ''),
29
- structuredOutputArrayDescription: get('structuredOutputArrayDescription', ''),
22
+ appendRetryErrorMessages: get('options.appendRetryErrorMessages', false),
30
23
  options: get('options', {}),
31
24
  maxToolsIterations: get('options.maxToolsIterations', 15),
32
25
  customParameters: get('options.customParameters', '{}'),
@@ -34,6 +27,23 @@ function extractParameters(executeFunctions, index) {
34
27
  loadToolCallsFromChatMemory,
35
28
  abortSignal: executeFunctions.getExecutionCancelSignal(),
36
29
  };
30
+ if (isStructuredOutput) {
31
+ params.fallbackModel = get('options.fallbackModelId', '', { extractValue: true }) || undefined;
32
+ const fallbackTenacityMaxRetriesRaw = get('options.fallbackTenacityMaxRetries', -1);
33
+ params.fallbackTenacityMaxRetries = fallbackTenacityMaxRetriesRaw === -1 ? undefined : fallbackTenacityMaxRetriesRaw;
34
+ if (responseFormat === 'structuredOutputSchema') {
35
+ params.outputJsonSchemaDefinition = get('outputJsonSchemaDefinition', '');
36
+ }
37
+ else if (responseFormat === 'structuredOutputVisual') {
38
+ params.structuredOutputProperties = get('structuredOutputProperties.values', []);
39
+ params.structuredOutputName = get('structuredOutputName', '');
40
+ params.structuredOutputDescription = get('structuredOutputDescription', '');
41
+ params.structuredOutputIsArray = get('structuredOutputIsArray', false);
42
+ params.structuredOutputArrayName = get('structuredOutputArrayName', '');
43
+ params.structuredOutputArrayDescription = get('structuredOutputArrayDescription', '');
44
+ }
45
+ params.structuredOutputMode = get('structuredOutputMode', 'native');
46
+ }
37
47
  return params;
38
48
  }
39
49
  //# sourceMappingURL=parameters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../../nodes/shared/config/parameters.ts"],"names":[],"mappings":";;AAgCA,8CA8CC;AA9CD,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,CAAe,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAGnE,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,gBAAgB,GAAG,GAAG,CAAS,yBAAyB,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,MAAM,6BAA6B,GAAG,GAAG,CAAS,oCAAoC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE5F,MAAM,MAAM,GAAwB;QACnC,KAAK,EAAE,GAAG,CAAS,SAAS,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACzD,aAAa,EAAE,gBAAgB,IAAI,SAAS;QAC5C,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,oBAAoB,EAAE,GAAG,CAAS,sBAAsB,EAAE,QAAQ,CAAC;QACnE,kBAAkB,EAAE,GAAG,CAAS,4BAA4B,EAAE,CAAC,CAAC;QAChE,0BAA0B,EAAE,6BAA6B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,6BAA6B;QAC5G,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,CAAuB,0BAA0B,EAAE,IAAI,CAAC;QAC7E,yBAAyB;QACzB,2BAA2B;QAC3B,WAAW,EAAE,gBAAgB,CAAC,wBAAwB,EAAE;KACxD,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../../nodes/shared/config/parameters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../nodes/shared/config/properties/messages.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAsB;IACpD;QACC,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE;YACZ,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE,IAAI;SACpB;QACD,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE;QACtC,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,QAAQ;gBACrB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE;oBACP;wBACC,WAAW,EAAE,MAAM;wBACnB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;wBAEf,OAAO,EAAE;4BACR;gCACC,IAAI,EAAE,cAAc;gCACpB,KAAK,EAAE,WAAW;6BAElB;4BACD;gCACC,IAAI,EAAE,YAAY;gCAClB,KAAK,EAAE,QAAQ;6BACf;4BACD;gCACC,IAAI,EAAE,YAAY;gCAClB,KAAK,EAAE,MAAM;6BACb;4BACD;gCACC,IAAI,EAAE,kBAAkB;gCACxB,KAAK,EAAE,iBAAiB;gCACxB,WAAW,EAAE,yCAAyC;6BACtD;4BACD;gCACC,IAAI,EAAE,gBAAgB;gCACtB,KAAK,EAAE,gBAAgB;gCACvB,WAAW,EAAE,0CAA0C;6BACvD;yBACD;wBACD,OAAO,EAAE,MAAM;qBACf;oBACD;wBACC,WAAW,EAAE,SAAS;wBACtB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,EAAE;wBAEX,WAAW,EACV,oFAAoF;wBACrF,WAAW,EAAE;4BACZ,IAAI,EAAE,CAAC;yBACP;wBACD,cAAc,EAAE;4BACf,IAAI,EAAE;gCACL,IAAI,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;6BAC3C;yBACD;qBACD;oBACD;wBACC,WAAW,EAAE,eAAe;wBAC5B,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,IAAI;wBAEb,WAAW,EACV;;;qOAG8N;wBAC9N,WAAW,EAAE;4BACb,IAAI,EAAE,CAAC;yBACP;wBACD,cAAc,EAAE;4BACf,IAAI,EAAE;gCACL,IAAI,EAAE,CAAC,iBAAiB,CAAC;6BACzB;yBACD;qBACD;oBACD;wBACC,WAAW,EAAE,iBAAiB;wBAC9B,IAAI,EAAE,2BAA2B;wBACjC,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,IAAI;wBAEb,WAAW,EAAE,2CAA2C;wBACxD,cAAc,EAAE;4BACf,IAAI,EAAE;gCACL,IAAI,EAAE,CAAC,gBAAgB,CAAC;6BACxB;yBACD;qBACD;oBACD;wBACC,WAAW,EAAE,iBAAiB;wBAC9B,IAAI,EAAE,6BAA6B;wBACnC,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,IAAI;wBAEb,WAAW,EAAE,6CAA6C;wBAC1D,cAAc,EAAE;4BACf,IAAI,EAAE;gCACL,IAAI,EAAE,CAAC,gBAAgB,CAAC;6BACxB;yBACD;qBACD;iBACD;aACD;SACD;KACD;CACD,CAAC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../nodes/shared/config/properties/messages.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAsB;IACpD;QACC,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE;YACZ,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE,IAAI;SACpB;QACD,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE;QACtC,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,QAAQ;gBACrB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE;oBACP;wBACC,WAAW,EAAE,MAAM;wBACnB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;wBAEf,OAAO,EAAE;4BACR;gCACC,IAAI,EAAE,cAAc;gCACpB,KAAK,EAAE,WAAW;6BAClB;4BACD;gCACC,IAAI,EAAE,YAAY;gCAClB,KAAK,EAAE,QAAQ;6BACf;4BACD;gCACC,IAAI,EAAE,YAAY;gCAClB,KAAK,EAAE,MAAM;6BACb;4BACD;gCACC,IAAI,EAAE,kBAAkB;gCACxB,KAAK,EAAE,iBAAiB;gCACxB,WAAW,EAAE,yCAAyC;6BACtD;4BACD;gCACC,IAAI,EAAE,gBAAgB;gCACtB,KAAK,EAAE,gBAAgB;gCACvB,WAAW,EAAE,0CAA0C;6BACvD;yBACD;wBACD,OAAO,EAAE,MAAM;qBACf;oBACD;wBACC,WAAW,EAAE,SAAS;wBACtB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,EAAE;wBAEX,WAAW,EACV,oFAAoF;wBACrF,WAAW,EAAE;4BACZ,IAAI,EAAE,CAAC;yBACP;wBACD,cAAc,EAAE;4BACf,IAAI,EAAE;gCACL,IAAI,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;6BAC3C;yBACD;qBACD;oBACD;wBACC,WAAW,EAAE,eAAe;wBAC5B,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,IAAI;wBAEb,WAAW,EACV;;;qOAG8N;wBAC9N,WAAW,EAAE;4BACb,IAAI,EAAE,CAAC;yBACP;wBACD,cAAc,EAAE;4BACf,IAAI,EAAE;gCACL,IAAI,EAAE,CAAC,iBAAiB,CAAC;6BACzB;yBACD;qBACD;oBACD;wBACC,WAAW,EAAE,iBAAiB;wBAC9B,IAAI,EAAE,2BAA2B;wBACjC,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,IAAI;wBAEb,WAAW,EAAE,2CAA2C;wBACxD,cAAc,EAAE;4BACf,IAAI,EAAE;gCACL,IAAI,EAAE,CAAC,gBAAgB,CAAC;6BACxB;yBACD;qBACD;oBACD;wBACC,WAAW,EAAE,iBAAiB;wBAC9B,IAAI,EAAE,6BAA6B;wBACnC,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,IAAI;wBAEb,WAAW,EAAE,6CAA6C;wBAC1D,cAAc,EAAE;4BACf,IAAI,EAAE;gCACL,IAAI,EAAE,CAAC,gBAAgB,CAAC;6BACxB;yBACD;qBACD;iBACD;aACD;SACD;KACD;CACD,CAAC"}
@@ -9,6 +9,18 @@ exports.optionsProperties = [
9
9
  type: 'collection',
10
10
  default: {},
11
11
  options: [
12
+ {
13
+ displayName: 'Append Retry Error Messages',
14
+ name: 'appendRetryErrorMessages',
15
+ type: 'boolean',
16
+ default: false,
17
+ description: 'Whether to append validation error messages to the conversation during retries. When enabled, the model sees its previous failed attempt and the validation error in a system message. When disabled, retries use the original context without error feedback.',
18
+ displayOptions: {
19
+ show: {
20
+ '/responseFormat': ['structuredOutputVisual', 'structuredOutputSchema'],
21
+ },
22
+ },
23
+ },
12
24
  {
13
25
  displayName: 'Custom Parameters',
14
26
  name: 'customParameters',
@@ -94,7 +106,7 @@ exports.optionsProperties = [
94
106
  name: 'tenacityMaxRetries',
95
107
  type: 'number',
96
108
  default: 0,
97
- description: 'Maximum number of retry attempts when the LLM output fails JSON schema validation. When validation fails, the error message is appended as a system message and the request is retried after a 3-second delay.',
109
+ description: 'Maximum number of retry attempts when the LLM output fails JSON schema validation. When validation fails, the request is retried after a 3-second delay.',
98
110
  typeOptions: {
99
111
  minValue: 0,
100
112
  maxValue: 10,
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../../nodes/shared/config/properties/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../../nodes/shared/config/properties/options.ts"],"names":[],"mappings":"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"}
@@ -34,24 +34,29 @@ exports.outputProperties = [
34
34
  {
35
35
  displayName: 'Structured Output Mode',
36
36
  name: 'structuredOutputMode',
37
- description: "Mode used to enforce structured output. Tools Mode enables structured output in models that do not support it; the structured output description should be something like: 'Return your response to the user. Usage: Call once, after completing other tool calls, or immediately if none are needed. Never respond with plain text outside this tool.'",
37
+ description: "Mode used to enforce structured output. In Tools Mode, the structured output description should be something like: 'Return your response to the user. Usage: Call once, after completing other tool calls, or immediately if none are needed. Never respond with plain text outside this tool.'",
38
38
  type: 'options',
39
39
  options: [
40
40
  {
41
- name: 'Native',
41
+ name: 'Strict Mode',
42
42
  value: 'native',
43
43
  description: 'Uses json_schema response format',
44
44
  },
45
45
  {
46
- name: 'Tools',
46
+ name: 'Tool Mode',
47
47
  value: 'tools',
48
- description: "Enforces structured output through a tool",
48
+ description: "Uses a tool to produce JSON output that follows a schema",
49
49
  },
50
50
  {
51
- name: 'JSON With Validation',
51
+ name: 'JSON Mode With Validation',
52
52
  value: 'jsonValidation',
53
53
  description: 'Uses JSON Mode with schema validation',
54
54
  },
55
+ {
56
+ name: 'Plain Text With Validation',
57
+ value: 'plainTextValidation',
58
+ description: 'Uses Plain Text with schema validation',
59
+ },
55
60
  ],
56
61
  default: 'native',
57
62
  displayOptions: {
@@ -60,6 +65,31 @@ exports.outputProperties = [
60
65
  },
61
66
  },
62
67
  },
68
+ {
69
+ displayName: 'Extract First Object Only',
70
+ name: 'extractFirstObjectOnly',
71
+ type: 'boolean',
72
+ default: true,
73
+ description: 'Whether to extract the first object. Disable to receive the regular output.',
74
+ displayOptions: {
75
+ show: {
76
+ responseFormat: ['jsonMode'],
77
+ },
78
+ },
79
+ },
80
+ {
81
+ displayName: 'Extract First Object Only',
82
+ name: 'extractFirstObjectOnly',
83
+ type: 'boolean',
84
+ default: true,
85
+ description: 'Whether to extract the first object. Disable to receive the regular output.',
86
+ displayOptions: {
87
+ show: {
88
+ responseFormat: ['structuredOutputVisual', 'structuredOutputSchema'],
89
+ structuredOutputMode: ['jsonValidation'],
90
+ },
91
+ },
92
+ },
63
93
  {
64
94
  displayName: 'JSON Schema',
65
95
  name: 'outputJsonSchemaDefinition',
@@ -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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"}
@@ -0,0 +1,11 @@
1
+ import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
+ import { type AccumulatedUsage } from './usageTracking';
3
+ import { type RetryState } from './retryHandler';
4
+ export declare function getModelFromBody(body: IDataObject): string;
5
+ export declare function trackRequestFailure(usage: AccumulatedUsage, body: IDataObject, errorType: string, errorMessage: string): void;
6
+ export declare function throwOperationError(executeFunctions: IExecuteFunctions, errorData: {
7
+ message: string;
8
+ description?: string;
9
+ }, index: number): never;
10
+ export declare function canRetry(retryState: RetryState): boolean;
11
+ export declare function processRetry(retryState: RetryState, totalUsage: AccumulatedUsage, body: IDataObject, errorType: string, errorMessage: string): RetryState;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getModelFromBody = getModelFromBody;
4
+ exports.trackRequestFailure = trackRequestFailure;
5
+ exports.throwOperationError = throwOperationError;
6
+ exports.canRetry = canRetry;
7
+ exports.processRetry = processRetry;
8
+ const n8n_workflow_1 = require("n8n-workflow");
9
+ const usageTracking_1 = require("./usageTracking");
10
+ const retryHandler_1 = require("./retryHandler");
11
+ function getModelFromBody(body) {
12
+ return body.model || 'unknown';
13
+ }
14
+ function trackRequestFailure(usage, body, errorType, errorMessage) {
15
+ const model = getModelFromBody(body);
16
+ (0, usageTracking_1.trackFailedRequest)(usage, model, `${errorType}: ${errorMessage}`);
17
+ }
18
+ function throwOperationError(executeFunctions, errorData, index) {
19
+ throw new n8n_workflow_1.NodeOperationError(executeFunctions.getNode(), errorData.message, {
20
+ description: errorData.description,
21
+ itemIndex: index,
22
+ });
23
+ }
24
+ function canRetry(retryState) {
25
+ return retryState.retriesRemaining > 0;
26
+ }
27
+ function processRetry(retryState, totalUsage, body, errorType, errorMessage) {
28
+ trackRequestFailure(totalUsage, body, errorType, errorMessage);
29
+ (0, usageTracking_1.incrementRetriedRequests)(totalUsage);
30
+ return (0, retryHandler_1.updateRetryState)(retryState);
31
+ }
32
+ //# sourceMappingURL=executionHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executionHelpers.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/executionHelpers.ts"],"names":[],"mappings":";;AAQA,4CAEC;AAKD,kDAQC;AAKD,kDASC;AAKD,4BAEC;AAKD,oCAUC;AA1DD,+CAAkD;AAClD,mDAAsG;AACtG,iDAAmE;AAKnE,SAAgB,gBAAgB,CAAC,IAAiB;IACjD,OAAQ,IAAI,CAAC,KAAgB,IAAI,SAAS,CAAC;AAC5C,CAAC;AAKD,SAAgB,mBAAmB,CAClC,KAAuB,EACvB,IAAiB,EACjB,SAAiB,EACjB,YAAoB;IAEpB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAA,kCAAkB,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,KAAK,YAAY,EAAE,CAAC,CAAC;AACnE,CAAC;AAKD,SAAgB,mBAAmB,CAClC,gBAAmC,EACnC,SAAoD,EACpD,KAAa;IAEb,MAAM,IAAI,iCAAkB,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE;QAC3E,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,SAAS,EAAE,KAAK;KAChB,CAAC,CAAC;AACJ,CAAC;AAKD,SAAgB,QAAQ,CAAC,UAAsB;IAC9C,OAAO,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC;AACxC,CAAC;AAKD,SAAgB,YAAY,CAC3B,UAAsB,EACtB,UAA4B,EAC5B,IAAiB,EACjB,SAAiB,EACjB,YAAoB;IAEpB,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC/D,IAAA,wCAAwB,EAAC,UAAU,CAAC,CAAC;IACrC,OAAO,IAAA,+BAAgB,EAAC,UAAU,CAAC,CAAC;AACrC,CAAC"}
@@ -1,11 +1,30 @@
1
1
  import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
+ import type { Tool } from '@langchain/core/tools';
2
3
  import type { ExtractedParameters } from '../../config/parameters';
4
+ export declare const STRUCTURED_OUTPUT_MODES: {
5
+ readonly NATIVE: "native";
6
+ readonly TOOLS: "tools";
7
+ readonly JSON_VALIDATION: "jsonValidation";
8
+ readonly PLAIN_TEXT_VALIDATION: "plainTextValidation";
9
+ };
10
+ export interface OpenAITool extends IDataObject {
11
+ type: 'function';
12
+ function: {
13
+ name: string;
14
+ description?: string;
15
+ parameters: IDataObject;
16
+ strict?: boolean;
17
+ };
18
+ }
19
+ export type InvokableTool = Tool | {
20
+ name: string;
21
+ };
3
22
  export interface ExecutionContext {
4
23
  responseFormat?: IDataObject;
5
- tools: any[];
6
- invokableTools: any[];
24
+ tools: OpenAITool[];
25
+ invokableTools: InvokableTool[];
7
26
  tool_choice?: string | IDataObject;
8
- structuredOutputTool?: IDataObject;
27
+ structuredOutputTool?: OpenAITool;
9
28
  validationSchema?: IDataObject;
10
29
  shouldValidate: boolean;
11
30
  }
@@ -1,33 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STRUCTURED_OUTPUT_MODES = void 0;
3
4
  exports.prepareExecutionContext = prepareExecutionContext;
4
5
  const structuredOutput_1 = require("../request/structuredOutput");
5
6
  const setup_1 = require("../tools/setup");
6
- async function prepareExecutionContext(executeFunctions, params) {
7
+ exports.STRUCTURED_OUTPUT_MODES = {
8
+ NATIVE: 'native',
9
+ TOOLS: 'tools',
10
+ JSON_VALIDATION: 'jsonValidation',
11
+ PLAIN_TEXT_VALIDATION: 'plainTextValidation',
12
+ };
13
+ function extractValidationSchema(shouldValidate, structuredOutputMode, responseFormat, structuredOutputTool) {
7
14
  var _a, _b;
8
- let responseFormat = (0, structuredOutput_1.prepareResponseFormatField)(params.responseFormat, params.outputJsonSchemaDefinition, params.structuredOutputName, params.structuredOutputDescription, params.structuredOutputProperties, params.structuredOutputIsArray, params.structuredOutputArrayName, params.structuredOutputArrayDescription);
9
- const { tools, invokableTools, tool_choice, structuredOutputTool } = await (0, setup_1.prepareTools)(executeFunctions, params.structuredOutputMode, params.maxToolsIterations, responseFormat);
10
- const shouldValidate = params.tenacityMaxRetries > 0 &&
11
- (params.responseFormat === 'structuredOutputSchema' || params.responseFormat === 'structuredOutputVisual');
12
- let validationSchema;
13
- if (shouldValidate && (responseFormat === null || responseFormat === void 0 ? void 0 : responseFormat.json_schema)) {
14
- validationSchema = (_a = responseFormat.json_schema) === null || _a === void 0 ? void 0 : _a.schema;
15
+ if (!shouldValidate) {
16
+ return undefined;
17
+ }
18
+ if (structuredOutputMode === exports.STRUCTURED_OUTPUT_MODES.TOOLS && structuredOutputTool) {
19
+ return (_a = structuredOutputTool.function) === null || _a === void 0 ? void 0 : _a.parameters;
20
+ }
21
+ if (responseFormat === null || responseFormat === void 0 ? void 0 : responseFormat.json_schema) {
22
+ return (_b = responseFormat.json_schema) === null || _b === void 0 ? void 0 : _b.schema;
15
23
  }
16
- if (params.structuredOutputMode === 'tools') {
17
- responseFormat = undefined;
24
+ return undefined;
25
+ }
26
+ function modifyResponseFormatByMode(structuredOutputMode, responseFormat) {
27
+ if (structuredOutputMode === exports.STRUCTURED_OUTPUT_MODES.TOOLS) {
28
+ return undefined;
18
29
  }
19
- else if (params.structuredOutputMode === 'jsonValidation') {
20
- responseFormat = { type: 'json_object' };
30
+ if (structuredOutputMode === exports.STRUCTURED_OUTPUT_MODES.JSON_VALIDATION) {
31
+ return { type: 'json_object' };
21
32
  }
22
- if (shouldValidate && params.structuredOutputMode === 'tools' && structuredOutputTool) {
23
- validationSchema = (_b = structuredOutputTool.function) === null || _b === void 0 ? void 0 : _b.parameters;
33
+ if (structuredOutputMode === exports.STRUCTURED_OUTPUT_MODES.PLAIN_TEXT_VALIDATION) {
34
+ return undefined;
24
35
  }
36
+ return responseFormat;
37
+ }
38
+ async function prepareExecutionContext(executeFunctions, params) {
39
+ const initialResponseFormat = (0, structuredOutput_1.prepareResponseFormatField)(params.responseFormat, params.outputJsonSchemaDefinition, params.structuredOutputName, params.structuredOutputDescription, params.structuredOutputProperties, params.structuredOutputIsArray, params.structuredOutputArrayName, params.structuredOutputArrayDescription);
40
+ const { tools, invokableTools, tool_choice, structuredOutputTool } = await (0, setup_1.prepareTools)(executeFunctions, params.structuredOutputMode, params.maxToolsIterations, initialResponseFormat);
41
+ const shouldValidate = params.tenacityMaxRetries > 0 &&
42
+ (params.responseFormat === 'structuredOutputSchema' || params.responseFormat === 'structuredOutputVisual');
43
+ const validationSchema = extractValidationSchema(shouldValidate, params.structuredOutputMode, initialResponseFormat, structuredOutputTool);
44
+ const responseFormat = modifyResponseFormatByMode(params.structuredOutputMode, initialResponseFormat);
25
45
  return {
26
46
  responseFormat,
27
47
  tools,
28
48
  invokableTools,
29
49
  tool_choice,
30
- structuredOutputTool: structuredOutputTool !== null && structuredOutputTool !== void 0 ? structuredOutputTool : undefined,
50
+ structuredOutputTool,
31
51
  validationSchema,
32
52
  shouldValidate,
33
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"executionSetup.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/executionSetup.ts"],"names":[],"mappings":";;AAqBA,0DAqDC;AAxED,kEAAyE;AACzE,0CAA8C;AAkBvC,KAAK,UAAU,uBAAuB,CAC5C,gBAAmC,EACnC,MAA2B;;IAG3B,IAAI,cAAc,GAAG,IAAA,6CAA0B,EAC9C,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,0BAA0B,EACjC,MAAM,CAAC,oBAAoB,EAC3B,MAAM,CAAC,2BAA2B,EAClC,MAAM,CAAC,0BAA0B,EACjC,MAAM,CAAC,uBAAuB,EAC9B,MAAM,CAAC,yBAAyB,EAChC,MAAM,CAAC,gCAAgC,CACvC,CAAC;IAGF,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,GACjE,MAAM,IAAA,oBAAY,EAAC,gBAAgB,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;IAG9G,MAAM,cAAc,GACnB,MAAM,CAAC,kBAAkB,GAAG,CAAC;QAC7B,CAAC,MAAM,CAAC,cAAc,KAAK,wBAAwB,IAAI,MAAM,CAAC,cAAc,KAAK,wBAAwB,CAAC,CAAC;IAG5G,IAAI,gBAAyC,CAAC;IAC9C,IAAI,cAAc,KAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,CAAA,EAAE,CAAC;QACnD,gBAAgB,GAAG,MAAC,cAAc,CAAC,WAA2B,0CAAE,MAAqB,CAAC;IACvF,CAAC;IAGD,IAAI,MAAM,CAAC,oBAAoB,KAAK,OAAO,EAAE,CAAC;QAC7C,cAAc,GAAG,SAAS,CAAC;IAC5B,CAAC;SAAM,IAAI,MAAM,CAAC,oBAAoB,KAAK,gBAAgB,EAAE,CAAC;QAC7D,cAAc,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC1C,CAAC;IAID,IAAI,cAAc,IAAI,MAAM,CAAC,oBAAoB,KAAK,OAAO,IAAI,oBAAoB,EAAE,CAAC;QACvF,gBAAgB,GAAG,MAAC,oBAAoB,CAAC,QAAwB,0CAAE,UAAyB,CAAC;IAC9F,CAAC;IAED,OAAO;QACN,cAAc;QACd,KAAK;QACL,cAAc;QACd,WAAW;QACX,oBAAoB,EAAE,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,SAAS;QACvD,gBAAgB;QAChB,cAAc;KACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"executionSetup.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/executionSetup.ts"],"names":[],"mappings":";;;AAyHA,0DA8CC;AApKD,kEAAyE;AACzE,0CAA8C;AAKjC,QAAA,uBAAuB,GAAG;IACtC,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,gBAAgB;IACjC,qBAAqB,EAAE,qBAAqB;CACnC,CAAC;AAiDX,SAAS,uBAAuB,CAC/B,cAAuB,EACvB,oBAAwC,EACxC,cAA4B,EAC5B,oBAAkC;;IAElC,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IAClB,CAAC;IAGD,IAAI,oBAAoB,KAAK,+BAAuB,CAAC,KAAK,IAAI,oBAAoB,EAAE,CAAC;QACpF,OAAO,MAAC,oBAAoB,CAAC,QAAwB,0CAAE,UAAyB,CAAC;IAClF,CAAC;IAGD,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,EAAE,CAAC;QACjC,OAAO,MAAC,cAAc,CAAC,WAA2B,0CAAE,MAAqB,CAAC;IAC3E,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AASD,SAAS,0BAA0B,CAClC,oBAAwC,EACxC,cAA4B;IAE5B,IAAI,oBAAoB,KAAK,+BAAuB,CAAC,KAAK,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,oBAAoB,KAAK,+BAAuB,CAAC,eAAe,EAAE,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,oBAAoB,KAAK,+BAAuB,CAAC,qBAAqB,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IAClB,CAAC;IAGD,OAAO,cAAc,CAAC;AACvB,CAAC;AAUM,KAAK,UAAU,uBAAuB,CAC5C,gBAAmC,EACnC,MAA2B;IAG3B,MAAM,qBAAqB,GAAG,IAAA,6CAA0B,EACvD,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,0BAA0B,EACjC,MAAM,CAAC,oBAAoB,EAC3B,MAAM,CAAC,2BAA2B,EAClC,MAAM,CAAC,0BAA0B,EACjC,MAAM,CAAC,uBAAuB,EAC9B,MAAM,CAAC,yBAAyB,EAChC,MAAM,CAAC,gCAAgC,CACvC,CAAC;IAIF,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,GACjE,MAAM,IAAA,oBAAY,EAAC,gBAAgB,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;IAGrH,MAAM,cAAc,GACnB,MAAM,CAAC,kBAAkB,GAAG,CAAC;QAC7B,CAAC,MAAM,CAAC,cAAc,KAAK,wBAAwB,IAAI,MAAM,CAAC,cAAc,KAAK,wBAAwB,CAAC,CAAC;IAG5G,MAAM,gBAAgB,GAAG,uBAAuB,CAC/C,cAAc,EACd,MAAM,CAAC,oBAAoB,EAC3B,qBAAqB,EACrB,oBAAoB,CACpB,CAAC;IAGF,MAAM,cAAc,GAAG,0BAA0B,CAAC,MAAM,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IAEtG,OAAO;QACN,cAAc;QACd,KAAK;QACL,cAAc;QACd,WAAW;QACX,oBAAoB;QACpB,gBAAgB;QAChB,cAAc;KACd,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { IExecuteFunctions, INodeExecutionData, IDataObject } from 'n8n-workflow';
2
2
  import type { BufferWindowMemory } from 'langchain/memory';
3
- import { ExtractedParameters } from '../../config/parameters';
4
- export declare function runModel(executeFunctions: IExecuteFunctions, params: ExtractedParameters, messages: IDataObject[], index: number, modelToUse: string, fallbackModelToUse?: string, memory?: BufferWindowMemory): Promise<INodeExecutionData[]>;
3
+ import type { ExtractedParameters } from '../../config/parameters';
4
+ export declare function runModel(executeFunctions: IExecuteFunctions, params: ExtractedParameters, messages: readonly IDataObject[], index: number, modelToUse: string, fallbackModelToUse?: string, memory?: BufferWindowMemory): Promise<INodeExecutionData[]>;