@cascadeflow/n8n-nodes-cascadeflow 0.4.9 → 0.4.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"LmChatCascadeFlow.node.d.ts","sourceRoot":"","sources":["../../../nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACX,MAAM,cAAc,CAAC;AA+DtB,qBAAa,iBAAkB,YAAW,SAAS;IACjD,WAAW,EAAE,oBAAoB,CAyD/B;IAEI,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;CAwClE"}
1
+ {"version":3,"file":"LmChatCascadeFlow.node.d.ts","sourceRoot":"","sources":["../../../nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACX,MAAM,cAAc,CAAC;AA4EtB,qBAAa,iBAAkB,YAAW,SAAS;IACjD,WAAW,EAAE,oBAAoB,CA6H/B;IAEI,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;CAyElE"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LmChatCascadeFlow = void 0;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
5
  const chat_models_1 = require("@langchain/core/language_models/chat_models");
6
+ const openai_1 = require("@langchain/openai");
7
+ const anthropic_1 = require("@langchain/anthropic");
6
8
  /**
7
9
  * Custom CascadeChatModel that wraps two models (drafter and verifier)
8
10
  * and implements cascading logic
@@ -20,7 +22,10 @@ class CascadeChatModel extends chat_models_1.BaseChatModel {
20
22
  async _generate(messages, options, runManager) {
21
23
  try {
22
24
  // Step 1: Try the drafter model
25
+ console.log('🎯 CascadeFlow: Trying drafter model...');
26
+ const drafterStartTime = Date.now();
23
27
  const drafterResult = await this.drafterModel._generate(messages, options, runManager);
28
+ const drafterLatency = Date.now() - drafterStartTime;
24
29
  const drafterMessage = drafterResult.generations[0].message;
25
30
  // Step 2: Simple quality check (can be enhanced)
26
31
  // For now, we'll just check if the response is substantive
@@ -28,29 +33,37 @@ class CascadeChatModel extends chat_models_1.BaseChatModel {
28
33
  const qualityScore = Math.min(responseText.length / 100, 1.0); // Simple heuristic
29
34
  // Step 3: If quality is sufficient, return drafter response
30
35
  if (qualityScore >= this.qualityThreshold) {
36
+ console.log(`✅ CascadeFlow: Drafter accepted (quality: ${qualityScore.toFixed(2)}, latency: ${drafterLatency}ms)`);
31
37
  return drafterResult;
32
38
  }
33
39
  // Step 4: Otherwise, escalate to verifier
40
+ console.log(`⚠️ CascadeFlow: Escalating to verifier (quality: ${qualityScore.toFixed(2)} < threshold: ${this.qualityThreshold})`);
41
+ const verifierStartTime = Date.now();
34
42
  const verifierResult = await this.verifierModel._generate(messages, options, runManager);
43
+ const verifierLatency = Date.now() - verifierStartTime;
44
+ console.log(`✅ CascadeFlow: Verifier completed (latency: ${verifierLatency}ms, total: ${drafterLatency + verifierLatency}ms)`);
35
45
  return verifierResult;
36
46
  }
37
47
  catch (error) {
38
48
  // Fallback to verifier on error
39
- return await this.verifierModel._generate(messages, options, runManager);
49
+ console.log(`❌ CascadeFlow: Drafter failed, falling back to verifier. Error: ${error instanceof Error ? error.message : String(error)}`);
50
+ const verifierResult = await this.verifierModel._generate(messages, options, runManager);
51
+ console.log('✅ CascadeFlow: Verifier fallback completed');
52
+ return verifierResult;
40
53
  }
41
54
  }
42
55
  }
43
56
  class LmChatCascadeFlow {
44
57
  constructor() {
45
58
  this.description = {
46
- displayName: 'CascadeFlow Chat Model',
59
+ displayName: 'CascadeFlow',
47
60
  name: 'lmChatCascadeFlow',
48
61
  icon: 'file:cascadeflow.svg',
49
62
  group: ['transform'],
50
63
  version: 1,
51
- description: 'Smart AI model cascading with 40-85% cost savings. Connects two chat models (drafter and verifier) and intelligently cascades between them.',
64
+ description: 'Smart AI model cascading with 40-85% cost savings. Configure two models (drafter and verifier) and intelligently cascade between them.',
52
65
  defaults: {
53
- name: 'CascadeFlow Chat Model',
66
+ name: 'CascadeFlow',
54
67
  },
55
68
  codex: {
56
69
  categories: ['AI'],
@@ -65,27 +78,93 @@ class LmChatCascadeFlow {
65
78
  ],
66
79
  },
67
80
  },
68
- // Sub-node: no regular inputs, takes AI model connections
81
+ // Sub-node: no inputs
69
82
  // eslint-disable-next-line n8n-nodes-base/node-class-description-inputs-wrong-regular-node
70
- inputs: [
83
+ inputs: [],
84
+ // Outputs an AI model that can be connected to Agent
85
+ // eslint-disable-next-line n8n-nodes-base/node-class-description-outputs-wrong
86
+ outputs: ['ai_languageModel'],
87
+ outputNames: ['Model'],
88
+ credentials: [
89
+ {
90
+ name: 'cascadeFlowApi',
91
+ required: true,
92
+ },
93
+ ],
94
+ properties: [
95
+ // Drafter Model Configuration
71
96
  {
72
97
  displayName: 'Drafter Model',
73
- type: 'ai_languageModel',
74
- maxConnections: 1,
98
+ name: 'drafterModel',
99
+ type: 'string',
100
+ default: 'gpt-4o-mini',
75
101
  required: true,
102
+ description: 'The cheaper model to try first (e.g., gpt-4o-mini, claude-3-5-haiku-20241022)',
103
+ placeholder: 'gpt-4o-mini',
104
+ },
105
+ {
106
+ displayName: 'Drafter Provider',
107
+ name: 'drafterProvider',
108
+ type: 'options',
109
+ default: 'openai',
110
+ required: true,
111
+ options: [
112
+ {
113
+ name: 'OpenAI',
114
+ value: 'openai',
115
+ },
116
+ {
117
+ name: 'Anthropic',
118
+ value: 'anthropic',
119
+ },
120
+ {
121
+ name: 'Groq',
122
+ value: 'groq',
123
+ },
124
+ {
125
+ name: 'Together AI',
126
+ value: 'together',
127
+ },
128
+ ],
129
+ description: 'Provider for the drafter model',
76
130
  },
131
+ // Verifier Model Configuration
77
132
  {
78
133
  displayName: 'Verifier Model',
79
- type: 'ai_languageModel',
80
- maxConnections: 1,
134
+ name: 'verifierModel',
135
+ type: 'string',
136
+ default: 'gpt-4o',
81
137
  required: true,
138
+ description: 'The quality model to escalate to if needed (e.g., gpt-4o, claude-3-5-sonnet-20241022)',
139
+ placeholder: 'gpt-4o',
82
140
  },
83
- ],
84
- // Outputs an AI model that can be connected to Agent
85
- // eslint-disable-next-line n8n-nodes-base/node-class-description-outputs-wrong
86
- outputs: ['ai_languageModel'],
87
- outputNames: ['Model'],
88
- properties: [
141
+ {
142
+ displayName: 'Verifier Provider',
143
+ name: 'verifierProvider',
144
+ type: 'options',
145
+ default: 'openai',
146
+ required: true,
147
+ options: [
148
+ {
149
+ name: 'OpenAI',
150
+ value: 'openai',
151
+ },
152
+ {
153
+ name: 'Anthropic',
154
+ value: 'anthropic',
155
+ },
156
+ {
157
+ name: 'Groq',
158
+ value: 'groq',
159
+ },
160
+ {
161
+ name: 'Together AI',
162
+ value: 'together',
163
+ },
164
+ ],
165
+ description: 'Provider for the verifier model',
166
+ },
167
+ // Quality Threshold
89
168
  {
90
169
  displayName: 'Quality Threshold',
91
170
  name: 'qualityThreshold',
@@ -102,17 +181,52 @@ class LmChatCascadeFlow {
102
181
  };
103
182
  }
104
183
  async supplyData() {
105
- // Get the quality threshold parameter
184
+ // Get credentials
185
+ const credentials = await this.getCredentials('cascadeFlowApi');
186
+ // Get parameters
187
+ const drafterModelName = this.getNodeParameter('drafterModel', 0);
188
+ const drafterProvider = this.getNodeParameter('drafterProvider', 0);
189
+ const verifierModelName = this.getNodeParameter('verifierModel', 0);
190
+ const verifierProvider = this.getNodeParameter('verifierProvider', 0);
106
191
  const qualityThreshold = this.getNodeParameter('qualityThreshold', 0, 0.7);
107
- // Get the connected chat models from inputs
108
- const drafterModel = (await this.getInputConnectionData('ai_languageModel', 0));
109
- const verifierModel = (await this.getInputConnectionData('ai_languageModel', 1));
110
- if (!drafterModel) {
111
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Drafter model is required. Please connect an AI chat model to the "Drafter Model" input.');
112
- }
113
- if (!verifierModel) {
114
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Verifier model is required. Please connect an AI chat model to the "Verifier Model" input.');
115
- }
192
+ // Helper to create model based on provider
193
+ const createModel = (provider, modelName) => {
194
+ const keyMap = {
195
+ openai: 'openaiApiKey',
196
+ anthropic: 'anthropicApiKey',
197
+ groq: 'groqApiKey',
198
+ together: 'togetherApiKey',
199
+ };
200
+ const keyName = keyMap[provider];
201
+ const apiKey = credentials[keyName];
202
+ if (!apiKey) {
203
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `API key for ${provider} not found in credentials. Please configure the CascadeFlow API credentials.`);
204
+ }
205
+ switch (provider) {
206
+ case 'openai':
207
+ case 'groq':
208
+ case 'together':
209
+ return new openai_1.ChatOpenAI({
210
+ modelName,
211
+ apiKey,
212
+ configuration: provider === 'groq' ? {
213
+ baseURL: 'https://api.groq.com/openai/v1',
214
+ } : provider === 'together' ? {
215
+ baseURL: 'https://api.together.xyz/v1',
216
+ } : undefined,
217
+ });
218
+ case 'anthropic':
219
+ return new anthropic_1.ChatAnthropic({
220
+ modelName,
221
+ apiKey,
222
+ });
223
+ default:
224
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unsupported provider: ${provider}`);
225
+ }
226
+ };
227
+ // Create drafter and verifier models
228
+ const drafterModel = createModel(drafterProvider, drafterModelName);
229
+ const verifierModel = createModel(verifierProvider, verifierModelName);
116
230
  // Create and return the cascade model
117
231
  const cascadeModel = new CascadeChatModel(drafterModel, verifierModel, qualityThreshold);
118
232
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"LmChatCascadeFlow.node.js","sourceRoot":"","sources":["../../../nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LmChatCascadeFlow.node.js","sourceRoot":"","sources":["../../../nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cascadeflow/n8n-nodes-cascadeflow",
3
- "version": "0.4.9",
3
+ "version": "0.4.11",
4
4
  "description": "n8n node for cascadeflow - Smart AI model cascading with 40-85% cost savings",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
@@ -52,7 +52,9 @@
52
52
  "openai": "^4.73.1",
53
53
  "@anthropic-ai/sdk": "^0.30.0",
54
54
  "groq-sdk": "^0.5.0",
55
- "@langchain/core": "^0.3.0"
55
+ "@langchain/core": "^0.3.0",
56
+ "@langchain/openai": "^0.3.0",
57
+ "@langchain/anthropic": "^0.3.0"
56
58
  },
57
59
  "scripts": {
58
60
  "build": "tsc && gulp build:icons",