n8n-nodes-simple 2.5.5 → 2.5.7

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 (60) hide show
  1. package/dist/nodes/shared/api/types.d.ts +4 -0
  2. package/dist/nodes/shared/config/parameters.d.ts +3 -1
  3. package/dist/nodes/shared/config/parameters.js +5 -1
  4. package/dist/nodes/shared/config/parameters.js.map +1 -1
  5. package/dist/nodes/shared/config/properties/options.js +45 -0
  6. package/dist/nodes/shared/config/properties/options.js.map +1 -1
  7. package/dist/nodes/shared/config/properties/output.js +22 -5
  8. package/dist/nodes/shared/config/properties/output.js.map +1 -1
  9. package/dist/nodes/shared/core/execution/errors.js +7 -2
  10. package/dist/nodes/shared/core/execution/errors.js.map +1 -1
  11. package/dist/nodes/shared/core/execution/executionSetup.d.ts +12 -0
  12. package/dist/nodes/shared/core/execution/executionSetup.js +35 -0
  13. package/dist/nodes/shared/core/execution/executionSetup.js.map +1 -0
  14. package/dist/nodes/shared/core/execution/executor.d.ts +1 -1
  15. package/dist/nodes/shared/core/execution/executor.js +87 -104
  16. package/dist/nodes/shared/core/execution/executor.js.map +1 -1
  17. package/dist/nodes/shared/core/execution/messageOperation.js +1 -1
  18. package/dist/nodes/shared/core/execution/messageOperation.js.map +1 -1
  19. package/dist/nodes/shared/core/execution/modelConfig.d.ts +5 -0
  20. package/dist/nodes/shared/core/execution/modelConfig.js +16 -0
  21. package/dist/nodes/shared/core/execution/modelConfig.js.map +1 -0
  22. package/dist/nodes/shared/core/execution/responseParser.d.ts +6 -0
  23. package/dist/nodes/shared/core/execution/responseParser.js +24 -0
  24. package/dist/nodes/shared/core/execution/responseParser.js.map +1 -0
  25. package/dist/nodes/shared/core/execution/retryHandler.d.ts +2 -2
  26. package/dist/nodes/shared/core/execution/retryHandler.js +6 -6
  27. package/dist/nodes/shared/core/execution/retryHandler.js.map +1 -1
  28. package/dist/nodes/shared/core/execution/usageTracking.d.ts +16 -0
  29. package/dist/nodes/shared/core/execution/usageTracking.js +43 -0
  30. package/dist/nodes/shared/core/execution/usageTracking.js.map +1 -0
  31. package/dist/nodes/shared/core/request/body.js +3 -1
  32. package/dist/nodes/shared/core/request/body.js.map +1 -1
  33. package/dist/nodes/shared/core/request/validation.d.ts +1 -1
  34. package/dist/nodes/shared/core/request/validation.js +2 -2
  35. package/dist/nodes/shared/core/request/validation.js.map +1 -1
  36. package/dist/nodes/shared/core/tools/executor.js +44 -18
  37. package/dist/nodes/shared/core/tools/executor.js.map +1 -1
  38. package/dist/nodes/shared/core/tools/setup.d.ts +1 -1
  39. package/dist/nodes/shared/core/tools/setup.js +2 -2
  40. package/dist/nodes/shared/core/tools/setup.js.map +1 -1
  41. package/dist/package.json +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +1 -1
  44. package/dist/credentials/GlobalConstantsApi.credentials.d.ts +0 -11
  45. package/dist/credentials/GlobalConstantsApi.credentials.js +0 -83
  46. package/dist/credentials/GlobalConstantsApi.credentials.js.map +0 -1
  47. package/dist/credentials/globalConstants.svg +0 -31
  48. package/dist/nodes/GlobalConstants/GlobalConstants.node.d.ts +0 -5
  49. package/dist/nodes/GlobalConstants/GlobalConstants.node.js +0 -212
  50. package/dist/nodes/GlobalConstants/GlobalConstants.node.js.map +0 -1
  51. package/dist/nodes/GlobalConstants/globalConstants.svg +0 -31
  52. package/dist/nodes/shared/api/errors.d.ts +0 -45
  53. package/dist/nodes/shared/api/errors.js +0 -134
  54. package/dist/nodes/shared/api/errors.js.map +0 -1
  55. package/dist/nodes/shared/core/tools/manager.d.ts +0 -0
  56. package/dist/nodes/shared/core/tools/manager.js +0 -2
  57. package/dist/nodes/shared/core/tools/manager.js.map +0 -1
  58. package/dist/nodes/shared/core/tools/subagentTool.d.ts +0 -0
  59. package/dist/nodes/shared/core/tools/subagentTool.js +0 -2
  60. package/dist/nodes/shared/core/tools/subagentTool.js.map +0 -1
@@ -55,6 +55,10 @@ export type AccumulatedUsage = {
55
55
  total_tokens: number;
56
56
  total_requests: number;
57
57
  retried_requests: number;
58
+ failed_requests?: Array<{
59
+ model: string;
60
+ error: string;
61
+ }>;
58
62
  cost?: number;
59
63
  is_byok?: boolean;
60
64
  prompt_tokens_details?: {
@@ -3,13 +3,15 @@ import { VisualEditorProperties } from '../core/request/visualEditor';
3
3
  import { RawMessage } from '../core/messages/types';
4
4
  export type ExtractedParameters = {
5
5
  model: string;
6
+ fallbackModel?: string;
6
7
  agentType: string;
7
8
  rawMessagesToSend: RawMessage[];
8
9
  responseFormat: string;
9
10
  addToOutput: string[];
10
11
  outputJsonSchemaDefinition: string;
11
- structuredOutputToolsMode: boolean;
12
+ structuredOutputMode: string;
12
13
  tenacityMaxRetries: number;
14
+ fallbackTenacityMaxRetries?: number;
13
15
  structuredOutputProperties: VisualEditorProperties[];
14
16
  structuredOutputName: string;
15
17
  structuredOutputDescription: string;
@@ -8,15 +8,19 @@ 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
13
  const params = {
12
14
  model: get('modelId', '', { extractValue: true }),
15
+ fallbackModel: fallbackModelRaw || undefined,
13
16
  agentType: get('agentType', 'coreAgent'),
14
17
  rawMessagesToSend: rawMessages,
15
18
  responseFormat: get('responseFormat', ''),
16
19
  addToOutput: get('addToOutput', []),
17
20
  outputJsonSchemaDefinition: get('outputJsonSchemaDefinition', ''),
18
- structuredOutputToolsMode: get('structuredOutputToolsMode', false),
21
+ structuredOutputMode: get('structuredOutputMode', 'native'),
19
22
  tenacityMaxRetries: get('options.tenacityMaxRetries', 0),
23
+ fallbackTenacityMaxRetries: fallbackTenacityMaxRetriesRaw === -1 ? undefined : fallbackTenacityMaxRetriesRaw,
20
24
  structuredOutputProperties: get('structuredOutputProperties.values', []),
21
25
  structuredOutputName: get('structuredOutputName', ''),
22
26
  structuredOutputDescription: get('structuredOutputDescription', ''),
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../../nodes/shared/config/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,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,MAAM,GAAwB;QACnC,KAAK,EAAE,GAAG,CAAS,SAAS,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACzD,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,kBAAkB,EAAE,GAAG,CAAS,4BAA4B,EAAE,CAAC,CAAC;QAChE,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":";;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"}
@@ -19,6 +19,51 @@ exports.optionsProperties = [
19
19
  validateType: 'object',
20
20
  ignoreValidationDuringExecution: true,
21
21
  },
22
+ {
23
+ displayName: 'Fallback Max Validation Retries',
24
+ name: 'fallbackTenacityMaxRetries',
25
+ type: 'number',
26
+ default: -1,
27
+ description: 'Maximum validation retries for the fallback model. Use -1 to inherit the primary model\'s retry count, or specify a different value (0-10).',
28
+ typeOptions: {
29
+ minValue: -1,
30
+ maxValue: 10,
31
+ },
32
+ displayOptions: {
33
+ show: {
34
+ '/responseFormat': ['structuredOutputVisual', 'structuredOutputSchema'],
35
+ },
36
+ },
37
+ },
38
+ {
39
+ displayName: 'Fallback Model',
40
+ name: 'fallbackModelId',
41
+ type: 'resourceLocator',
42
+ default: { mode: 'list', value: '' },
43
+ description: 'Model to use if the primary model fails all validation retries. If specified, this fallback model will be tried after the primary model exhausts its retries.',
44
+ modes: [
45
+ {
46
+ displayName: 'From List',
47
+ name: 'list',
48
+ type: 'list',
49
+ typeOptions: {
50
+ searchListMethod: 'modelSearch',
51
+ searchable: true,
52
+ },
53
+ },
54
+ {
55
+ displayName: 'ID',
56
+ name: 'id',
57
+ type: 'string',
58
+ placeholder: 'e.g., gpt-4',
59
+ },
60
+ ],
61
+ displayOptions: {
62
+ show: {
63
+ '/responseFormat': ['structuredOutputVisual', 'structuredOutputSchema'],
64
+ },
65
+ },
66
+ },
22
67
  {
23
68
  displayName: 'Frequency Penalty',
24
69
  name: 'frequency_penalty',
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../../nodes/shared/config/properties/options.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAsB;IACnD;QACC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,IAAI;gBACb,WAAW,EACV,uQAAuQ;gBACxQ,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;gBACxB,YAAY,EAAE,QAAQ;gBACtB,+BAA+B,EAAE,IAAI;aACrC;YACD;gBACC,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE;gBAC9D,WAAW,EACV,8JAA8J;gBAC/J,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,4DAA4D;gBACzE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,KAAK;iBACf;aACD;YACD;gBACC,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EACV,0MAA0M;aAC3M;YACD;gBACC,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,WAAW,EACV,gNAAgN;gBACjN,WAAW,EAAE;oBACZ,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,EAAE;iBACZ;gBACD,cAAc,EAAE;oBACf,IAAI,EAAE;wBACL,iBAAiB,EAAE,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;qBACvE;iBACD;aACD;YACD;gBACC,WAAW,EAAE,uBAAuB;gBACpC,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,CAAC;gBACV,WAAW,EACV,4UAA4U;gBAC7U,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE;gBAC9D,WAAW,EACV,iJAAiJ;gBAClJ,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,WAAW,EAAE,aAAa;gBAC1B,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE;gBAC7D,WAAW,EACV,2SAA2S;gBAC5S,IAAI,EAAE,QAAQ;aACd;YACD;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE;gBAC7D,WAAW,EACV,6OAA6O;gBAC9O,IAAI,EAAE,QAAQ;aACd;SACD;KACD;CACD,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../../nodes/shared/config/properties/options.ts"],"names":[],"mappings":"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"}
@@ -32,11 +32,28 @@ exports.outputProperties = [
32
32
  default: 'plainText',
33
33
  },
34
34
  {
35
- displayName: 'Tools Mode',
36
- name: 'structuredOutputToolsMode',
37
- type: 'boolean',
38
- default: false,
39
- description: "Whether structured output is enforced through a tool. This enables structured output in models that do not support it. The structured output description should be something like: '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.'",
35
+ displayName: 'Structured Output Mode',
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.'",
38
+ type: 'options',
39
+ options: [
40
+ {
41
+ name: 'Native',
42
+ value: 'native',
43
+ description: 'Uses json_schema response format',
44
+ },
45
+ {
46
+ name: 'Tools',
47
+ value: 'tools',
48
+ description: "Enforces structured output through a tool",
49
+ },
50
+ {
51
+ name: 'JSON With Validation',
52
+ value: 'jsonValidation',
53
+ description: 'Uses JSON Mode with schema validation',
54
+ },
55
+ ],
56
+ default: 'native',
40
57
  displayOptions: {
41
58
  show: {
42
59
  responseFormat: ['structuredOutputVisual', 'structuredOutputSchema'],
@@ -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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"}
@@ -18,8 +18,13 @@ function normalizeError(error) {
18
18
  return new Error(String(error));
19
19
  }
20
20
  function customizeNodeApiError(nodeApiError) {
21
- var _a, _b, _c;
22
- const errorCode = (_c = (_b = (_a = nodeApiError.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;
21
+ var _a, _b, _c, _d;
22
+ const cause = nodeApiError.cause;
23
+ const errorCode = ((_b = (_a = cause === null || cause === void 0 ? void 0 : cause.error) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.code) ||
24
+ ((_c = cause === null || cause === void 0 ? void 0 : cause.error) === null || _c === void 0 ? void 0 : _c.code) ||
25
+ (cause === null || cause === void 0 ? void 0 : cause.code) ||
26
+ ((_d = cause === null || cause === void 0 ? void 0 : cause.error) === null || _d === void 0 ? void 0 : _d.type) ||
27
+ (cause === null || cause === void 0 ? void 0 : cause.type);
23
28
  if (errorCode) {
24
29
  const customErrorMessage = (0, errorHandling_1.getCustomErrorMessage)(errorCode);
25
30
  if (customErrorMessage) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
+ import type { ExtractedParameters } from '../../config/parameters';
3
+ export interface ExecutionContext {
4
+ responseFormat?: IDataObject;
5
+ tools: any[];
6
+ invokableTools: any[];
7
+ tool_choice?: string | IDataObject;
8
+ structuredOutputTool?: IDataObject;
9
+ validationSchema?: IDataObject;
10
+ shouldValidate: boolean;
11
+ }
12
+ export declare function prepareExecutionContext(executeFunctions: IExecuteFunctions, params: ExtractedParameters): Promise<ExecutionContext>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareExecutionContext = prepareExecutionContext;
4
+ const structuredOutput_1 = require("../request/structuredOutput");
5
+ const setup_1 = require("../tools/setup");
6
+ async function prepareExecutionContext(executeFunctions, params) {
7
+ 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
+ }
16
+ if (params.structuredOutputMode === 'tools') {
17
+ responseFormat = undefined;
18
+ }
19
+ else if (params.structuredOutputMode === 'jsonValidation') {
20
+ responseFormat = { type: 'json_object' };
21
+ }
22
+ if (shouldValidate && params.structuredOutputMode === 'tools' && structuredOutputTool) {
23
+ validationSchema = (_b = structuredOutputTool.function) === null || _b === void 0 ? void 0 : _b.parameters;
24
+ }
25
+ return {
26
+ responseFormat,
27
+ tools,
28
+ invokableTools,
29
+ tool_choice,
30
+ structuredOutputTool: structuredOutputTool !== null && structuredOutputTool !== void 0 ? structuredOutputTool : undefined,
31
+ validationSchema,
32
+ shouldValidate,
33
+ };
34
+ }
35
+ //# sourceMappingURL=executionSetup.js.map
@@ -0,0 +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,4 +1,4 @@
1
1
  import type { IExecuteFunctions, INodeExecutionData, IDataObject } from 'n8n-workflow';
2
2
  import type { BufferWindowMemory } from 'langchain/memory';
3
3
  import { ExtractedParameters } from '../../config/parameters';
4
- export declare function runModel(executeFunctions: IExecuteFunctions, params: ExtractedParameters, messages: IDataObject[], index: number, modelToUse: string, memory?: BufferWindowMemory): Promise<INodeExecutionData[]>;
4
+ export declare function runModel(executeFunctions: IExecuteFunctions, params: ExtractedParameters, messages: IDataObject[], index: number, modelToUse: string, fallbackModelToUse?: string, memory?: BufferWindowMemory): Promise<INodeExecutionData[]>;
@@ -2,8 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runModel = runModel;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
- const structuredOutput_1 = require("../request/structuredOutput");
6
- const setup_1 = require("../tools/setup");
7
5
  const body_1 = require("../request/body");
8
6
  const executor_1 = require("../tools/executor");
9
7
  const outputData_1 = require("./outputData");
@@ -11,117 +9,102 @@ const io_1 = require("../memory/io");
11
9
  const validation_1 = require("../request/validation");
12
10
  const errors_1 = require("./errors");
13
11
  const retryHandler_1 = require("./retryHandler");
14
- async function runModel(executeFunctions, params, messages, index, modelToUse, memory) {
15
- var _a, _b, _c, _d;
16
- let responseFormat = (0, structuredOutput_1.prepareResponseFormatField)(params.responseFormat, params.outputJsonSchemaDefinition, params.structuredOutputName, params.structuredOutputDescription, params.structuredOutputProperties, params.structuredOutputIsArray, params.structuredOutputArrayName, params.structuredOutputArrayDescription);
17
- const { tools, invokableTools, tool_choice, structuredOutputTool } = await (0, setup_1.prepareTools)(executeFunctions, params.structuredOutputToolsMode, params.maxToolsIterations, responseFormat);
18
- if (params.structuredOutputToolsMode) {
19
- responseFormat = undefined;
20
- }
21
- ;
22
- const shouldValidate = params.tenacityMaxRetries > 0 &&
23
- (params.responseFormat === 'structuredOutputSchema' || params.responseFormat === 'structuredOutputVisual');
24
- let validationSchema;
25
- if (shouldValidate) {
26
- if (params.structuredOutputToolsMode && structuredOutputTool) {
27
- validationSchema = (_a = structuredOutputTool.function) === null || _a === void 0 ? void 0 : _a.parameters;
28
- }
29
- else if (responseFormat === null || responseFormat === void 0 ? void 0 : responseFormat.json_schema) {
30
- validationSchema = (_b = responseFormat.json_schema) === null || _b === void 0 ? void 0 : _b.schema;
31
- }
32
- }
33
- let retryState = {
34
- retriesRemaining: params.tenacityMaxRetries,
35
- attemptNumber: 1,
36
- };
37
- let messagesBeforeRetries = messages.length;
38
- let currentIteration = 1;
39
- let totalAccumulatedUsage = {
40
- prompt_tokens: 0,
41
- completion_tokens: 0,
42
- total_tokens: 0,
43
- total_requests: 0,
44
- retried_requests: 0,
45
- };
46
- while (true) {
47
- let body = (0, body_1.prepareRequestBody)(modelToUse, messages, tools, tool_choice, responseFormat, params.options, params.customParameters);
48
- const { response, structuredOutputToolResponse, finalIteration, finalBody, accumulatedUsage } = await (0, executor_1.processToolCalls)(executeFunctions, body, messages, invokableTools, params.maxToolsIterations, structuredOutputTool, params.abortSignal, currentIteration);
49
- const mergeUsage = (target, source) => {
50
- for (const key in source) {
51
- if (typeof source[key] === 'number') {
52
- target[key] = (target[key] || 0) + source[key];
12
+ const usageTracking_1 = require("./usageTracking");
13
+ const modelConfig_1 = require("./modelConfig");
14
+ const responseParser_1 = require("./responseParser");
15
+ const executionSetup_1 = require("./executionSetup");
16
+ async function runModel(executeFunctions, params, messages, index, modelToUse, fallbackModelToUse, memory) {
17
+ const context = await (0, executionSetup_1.prepareExecutionContext)(executeFunctions, params);
18
+ const { responseFormat, tools, invokableTools, tool_choice, structuredOutputTool, validationSchema, shouldValidate } = context;
19
+ const modelsToTry = (0, modelConfig_1.buildModelsToTry)(modelToUse, fallbackModelToUse, params.tenacityMaxRetries, params.fallbackTenacityMaxRetries);
20
+ const totalAccumulatedUsage = (0, usageTracking_1.initializeAccumulatedUsage)();
21
+ let lastError = null;
22
+ for (let modelIndex = 0; modelIndex < modelsToTry.length; modelIndex++) {
23
+ const { model: currentModel, maxRetries } = modelsToTry[modelIndex];
24
+ const isLastModel = modelIndex === modelsToTry.length - 1;
25
+ try {
26
+ const messagesForThisModel = [...messages];
27
+ let retryState = {
28
+ retriesRemaining: maxRetries,
29
+ attemptNumber: 1,
30
+ };
31
+ let messagesBeforeRetries = messagesForThisModel.length;
32
+ let currentIteration = 1;
33
+ while (true) {
34
+ let body = (0, body_1.prepareRequestBody)(currentModel, messagesForThisModel, tools, tool_choice, responseFormat, params.options, params.customParameters);
35
+ const { response, structuredOutputToolResponse, finalIteration, finalBody, accumulatedUsage } = await (0, executor_1.processToolCalls)(executeFunctions, body, messagesForThisModel, invokableTools, params.maxToolsIterations, structuredOutputTool, params.abortSignal, currentIteration);
36
+ (0, usageTracking_1.mergeUsageData)(totalAccumulatedUsage, accumulatedUsage);
37
+ currentIteration = finalIteration;
38
+ body = finalBody;
39
+ if (retryState.attemptNumber === 1) {
40
+ messagesBeforeRetries = messagesForThisModel.length;
53
41
  }
54
- else if (typeof source[key] === 'boolean') {
55
- target[key] = target[key] || source[key];
42
+ const parseResult = (0, responseParser_1.parseAssistantResponse)(response, structuredOutputToolResponse, params.responseFormat);
43
+ let output;
44
+ let parseError = null;
45
+ if (!parseResult.success) {
46
+ if (shouldValidate && retryState.retriesRemaining > 0) {
47
+ parseError = parseResult.error;
48
+ }
49
+ else {
50
+ const errorData = (0, errors_1.buildDetailedParseError)(parseResult.error, response, structuredOutputToolResponse, body, totalAccumulatedUsage);
51
+ throw new n8n_workflow_1.NodeOperationError(executeFunctions.getNode(), errorData.message, {
52
+ description: errorData.description,
53
+ itemIndex: index,
54
+ });
55
+ }
56
56
  }
57
- else if (typeof source[key] === 'object' && source[key] !== null) {
58
- target[key] = target[key] || {};
59
- mergeUsage(target[key], source[key]);
57
+ else {
58
+ output = parseResult.output;
60
59
  }
61
- else if (target[key] === undefined) {
62
- target[key] = source[key];
60
+ if (parseError) {
61
+ const shouldRetry = await (0, retryHandler_1.handleParseError)(parseError, response, messagesForThisModel, retryState, params.structuredOutputMode, structuredOutputTool, params.structuredOutputName, tools, validationSchema);
62
+ if (shouldRetry) {
63
+ const model = body.model || 'unknown';
64
+ (0, usageTracking_1.trackFailedRequest)(totalAccumulatedUsage, model, `JSON parse error: ${parseError}`);
65
+ retryState = (0, retryHandler_1.updateRetryState)(retryState);
66
+ (0, usageTracking_1.incrementRetriedRequests)(totalAccumulatedUsage);
67
+ continue;
68
+ }
63
69
  }
64
- }
65
- };
66
- mergeUsage(totalAccumulatedUsage, accumulatedUsage);
67
- currentIteration = finalIteration;
68
- body = finalBody;
69
- if (retryState.attemptNumber === 1) {
70
- messagesBeforeRetries = messages.length;
71
- }
72
- let output;
73
- let parseError = null;
74
- try {
75
- output = JSON.parse(structuredOutputToolResponse)
76
- || (params.responseFormat === "plainText"
77
- ? (_c = response === null || response === void 0 ? void 0 : response.choices[0]) === null || _c === void 0 ? void 0 : _c.message.content
78
- : JSON.parse((_d = response === null || response === void 0 ? void 0 : response.choices[0]) === null || _d === void 0 ? void 0 : _d.message.content));
79
- }
80
- catch (error) {
81
- const simpleErrorMessage = error instanceof Error ? error.message : String(error);
82
- if (shouldValidate && retryState.retriesRemaining > 0) {
83
- parseError = simpleErrorMessage;
84
- }
85
- else {
86
- const errorData = (0, errors_1.buildDetailedParseError)(simpleErrorMessage, response, structuredOutputToolResponse, body, totalAccumulatedUsage);
87
- throw new n8n_workflow_1.NodeOperationError(executeFunctions.getNode(), errorData.message, {
88
- description: errorData.description,
89
- itemIndex: index,
90
- });
91
- }
92
- }
93
- if (parseError) {
94
- const shouldRetry = await (0, retryHandler_1.handleParseError)(parseError, response, messages, retryState, params.structuredOutputToolsMode, structuredOutputTool, params.structuredOutputName, tools, validationSchema);
95
- if (shouldRetry) {
96
- retryState = (0, retryHandler_1.updateRetryState)(retryState);
97
- totalAccumulatedUsage.retried_requests++;
98
- continue;
99
- }
100
- }
101
- if (shouldValidate) {
102
- const validationResult = (0, validation_1.validateStructuredOutput)(validationSchema, output);
103
- if (!validationResult.isValid) {
104
- const validationError = validationResult.error || 'Unknown validation error';
105
- const shouldRetry = await (0, retryHandler_1.handleValidationError)(validationError, output, response, messages, retryState, params.structuredOutputToolsMode, structuredOutputTool, params.structuredOutputName);
106
- if (shouldRetry) {
107
- retryState = (0, retryHandler_1.updateRetryState)(retryState);
108
- totalAccumulatedUsage.retried_requests++;
109
- continue;
70
+ if (shouldValidate) {
71
+ const validationResult = (0, validation_1.validateStructuredOutput)(validationSchema, output);
72
+ if (!validationResult.isValid) {
73
+ const validationError = validationResult.error || 'Unknown validation error';
74
+ const shouldRetry = await (0, retryHandler_1.handleValidationError)(validationError, output, response, messagesForThisModel, retryState, params.structuredOutputMode, structuredOutputTool, params.structuredOutputName);
75
+ if (shouldRetry) {
76
+ const model = body.model || 'unknown';
77
+ (0, usageTracking_1.trackFailedRequest)(totalAccumulatedUsage, model, `Validation error: ${validationError}`);
78
+ retryState = (0, retryHandler_1.updateRetryState)(retryState);
79
+ (0, usageTracking_1.incrementRetriedRequests)(totalAccumulatedUsage);
80
+ continue;
81
+ }
82
+ else {
83
+ const errorData = (0, errors_1.buildValidationError)(maxRetries, validationError, output, body, response, totalAccumulatedUsage);
84
+ throw new n8n_workflow_1.NodeOperationError(executeFunctions.getNode(), errorData.message, {
85
+ description: errorData.description,
86
+ itemIndex: index,
87
+ });
88
+ }
89
+ }
110
90
  }
111
- else {
112
- const errorData = (0, errors_1.buildValidationError)(params.tenacityMaxRetries, validationError, output, body, response, totalAccumulatedUsage);
113
- throw new n8n_workflow_1.NodeOperationError(executeFunctions.getNode(), errorData.message, {
114
- description: errorData.description,
115
- itemIndex: index,
116
- });
91
+ const outputData = await (0, outputData_1.prepareOutputData)(response, output, messagesForThisModel, messagesBeforeRetries, params.addToOutput, executeFunctions, index, body, totalAccumulatedUsage);
92
+ if (memory) {
93
+ await (0, io_1.saveToMemory)(messagesForThisModel, output, params.saveToolCallsInChatMemory, memory);
117
94
  }
95
+ return outputData;
118
96
  }
119
97
  }
120
- const outputData = await (0, outputData_1.prepareOutputData)(response, output, messages, messagesBeforeRetries, params.addToOutput, executeFunctions, index, body, totalAccumulatedUsage);
121
- if (memory) {
122
- await (0, io_1.saveToMemory)(messages, output, params.saveToolCallsInChatMemory, memory);
98
+ catch (error) {
99
+ lastError = error;
100
+ const errorMessage = error instanceof Error ? error.message : String(error);
101
+ (0, usageTracking_1.trackFailedRequest)(totalAccumulatedUsage, currentModel, errorMessage);
102
+ if (isLastModel) {
103
+ throw error;
104
+ }
105
+ await (0, retryHandler_1.waitBeforeRetry)();
123
106
  }
124
- return outputData;
125
107
  }
108
+ throw lastError || new Error('All models failed');
126
109
  }
127
110
  //# sourceMappingURL=executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/executor.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,6 @@ async function execute(i) {
9
9
  const params = (0, parameters_1.extractParameters)(this, i);
10
10
  const memory = await (0, io_1.getOptionalMemory)(this);
11
11
  const messages = await (0, chatHistory_1.unpackChatHistoryAndMemory)(params.rawMessagesToSend, params.loadToolCallsFromChatMemory, memory);
12
- return await (0, executor_1.runModel)(this, params, messages, i, params.model, memory);
12
+ return await (0, executor_1.runModel)(this, params, messages, i, params.model, params.fallbackModel, memory);
13
13
  }
14
14
  //# sourceMappingURL=messageOperation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messageOperation.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/messageOperation.ts"],"names":[],"mappings":";;AAUA,0BA0BC;AAlCD,wDAA4D;AAC5D,qCAAiD;AACjD,yDAAqE;AACrE,yCAAsC;AAK/B,KAAK,UAAU,OAAO,CAE5B,CAAS;IAGT,MAAM,MAAM,GAAG,IAAA,8BAAiB,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAG1C,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAiB,EAAC,IAAI,CAAC,CAAC;IAG7C,MAAM,QAAQ,GAAG,MAAM,IAAA,wCAA0B,EAChD,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,2BAA2B,EAClC,MAAM,CACN,CAAC;IAGF,OAAO,MAAM,IAAA,mBAAQ,EACpB,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,CAAC,EACD,MAAM,CAAC,KAAK,EACZ,MAAM,CACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"messageOperation.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/messageOperation.ts"],"names":[],"mappings":";;AAUA,0BA2BC;AAnCD,wDAA4D;AAC5D,qCAAiD;AACjD,yDAAqE;AACrE,yCAAsC;AAK/B,KAAK,UAAU,OAAO,CAE5B,CAAS;IAGT,MAAM,MAAM,GAAG,IAAA,8BAAiB,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAG1C,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAiB,EAAC,IAAI,CAAC,CAAC;IAG7C,MAAM,QAAQ,GAAG,MAAM,IAAA,wCAA0B,EAChD,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,2BAA2B,EAClC,MAAM,CACN,CAAC;IAGF,OAAO,MAAM,IAAA,mBAAQ,EACpB,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,CAAC,EACD,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,aAAa,EACpB,MAAM,CACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface ModelConfig {
2
+ model: string;
3
+ maxRetries: number;
4
+ }
5
+ export declare function buildModelsToTry(primaryModel: string, fallbackModel: string | undefined, tenacityMaxRetries: number, fallbackTenacityMaxRetries: number | undefined): ModelConfig[];
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildModelsToTry = buildModelsToTry;
4
+ function buildModelsToTry(primaryModel, fallbackModel, tenacityMaxRetries, fallbackTenacityMaxRetries) {
5
+ const modelsToTry = [
6
+ { model: primaryModel, maxRetries: tenacityMaxRetries }
7
+ ];
8
+ if (fallbackModel) {
9
+ modelsToTry.push({
10
+ model: fallbackModel,
11
+ maxRetries: fallbackTenacityMaxRetries !== null && fallbackTenacityMaxRetries !== void 0 ? fallbackTenacityMaxRetries : tenacityMaxRetries
12
+ });
13
+ }
14
+ return modelsToTry;
15
+ }
16
+ //# sourceMappingURL=modelConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelConfig.js","sourceRoot":"","sources":["../../../../../nodes/shared/core/execution/modelConfig.ts"],"names":[],"mappings":";;AAYA,4CAkBC;AAlBD,SAAgB,gBAAgB,CAC/B,YAAoB,EACpB,aAAiC,EACjC,kBAA0B,EAC1B,0BAA8C;IAE9C,MAAM,WAAW,GAAkB;QAClC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE;KACvD,CAAC;IAEF,IAAI,aAAa,EAAE,CAAC;QACnB,WAAW,CAAC,IAAI,CAAC;YAChB,KAAK,EAAE,aAAa;YACpB,UAAU,EAAE,0BAA0B,aAA1B,0BAA0B,cAA1B,0BAA0B,GAAI,kBAAkB;SAC5D,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface ParseResult {
2
+ success: boolean;
3
+ output?: any;
4
+ error?: string;
5
+ }
6
+ export declare function parseAssistantResponse(response: any, structuredOutputToolResponse: any, responseFormat: string): ParseResult;