@cascadeflow/n8n-nodes-cascadeflow 1.0.0 → 1.0.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 (31) hide show
  1. package/dist/credentials/CascadeFlowApi.credentials.d.ts +10 -0
  2. package/dist/credentials/CascadeFlowApi.credentials.d.ts.map +1 -0
  3. package/dist/credentials/CascadeFlowApi.credentials.js +73 -0
  4. package/dist/credentials/CascadeFlowApi.credentials.js.map +1 -0
  5. package/dist/nodes/CascadeFlowAgent/CascadeFlowAgent.node.d.ts +41 -0
  6. package/dist/nodes/CascadeFlowAgent/CascadeFlowAgent.node.d.ts.map +1 -0
  7. package/dist/nodes/CascadeFlowAgent/CascadeFlowAgent.node.js +775 -0
  8. package/dist/nodes/CascadeFlowAgent/CascadeFlowAgent.node.js.map +1 -0
  9. package/dist/nodes/CascadeFlowAgent/__tests__/cascadeflow-agent-executor.test.d.ts +2 -0
  10. package/dist/nodes/CascadeFlowAgent/__tests__/cascadeflow-agent-executor.test.d.ts.map +1 -0
  11. package/dist/nodes/CascadeFlowAgent/__tests__/cascadeflow-agent-executor.test.js +98 -0
  12. package/dist/nodes/CascadeFlowAgent/__tests__/cascadeflow-agent-executor.test.js.map +1 -0
  13. package/dist/nodes/CascadeFlowAgent/cascadeflow.svg +15 -0
  14. package/dist/nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.d.ts +119 -0
  15. package/dist/nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.d.ts.map +1 -0
  16. package/dist/nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.js +1483 -0
  17. package/dist/nodes/LmChatCascadeFlow/LmChatCascadeFlow.node.js.map +1 -0
  18. package/dist/nodes/LmChatCascadeFlow/__tests__/lm-chat-cascadeflow-node.test.d.ts +2 -0
  19. package/dist/nodes/LmChatCascadeFlow/__tests__/lm-chat-cascadeflow-node.test.d.ts.map +1 -0
  20. package/dist/nodes/LmChatCascadeFlow/__tests__/lm-chat-cascadeflow-node.test.js +59 -0
  21. package/dist/nodes/LmChatCascadeFlow/__tests__/lm-chat-cascadeflow-node.test.js.map +1 -0
  22. package/dist/nodes/LmChatCascadeFlow/cascade-metadata.d.ts +27 -0
  23. package/dist/nodes/LmChatCascadeFlow/cascade-metadata.d.ts.map +1 -0
  24. package/dist/nodes/LmChatCascadeFlow/cascade-metadata.js +21 -0
  25. package/dist/nodes/LmChatCascadeFlow/cascade-metadata.js.map +1 -0
  26. package/dist/nodes/LmChatCascadeFlow/cascadeflow.svg +15 -0
  27. package/dist/nodes/LmChatCascadeFlow/config.d.ts +42 -0
  28. package/dist/nodes/LmChatCascadeFlow/config.d.ts.map +1 -0
  29. package/dist/nodes/LmChatCascadeFlow/config.js +87 -0
  30. package/dist/nodes/LmChatCascadeFlow/config.js.map +1 -0
  31. package/package.json +2 -2
@@ -0,0 +1,10 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class CascadeFlowApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
10
+ //# sourceMappingURL=CascadeFlowApi.credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CascadeFlowApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/CascadeFlowApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,qBAAa,cAAe,YAAW,eAAe;IACpD,IAAI,SAAoB;IACxB,WAAW,SAAqB;IAChC,gBAAgB,SAA8C;IAC9D,UAAU,EAAE,eAAe,EAAE,CA8C3B;IAEF,YAAY,EAAE,oBAAoB,CAGhC;IAEF,IAAI,EAAE,sBAAsB,CAS1B;CACH"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CascadeFlowApi = void 0;
4
+ class CascadeFlowApi {
5
+ constructor() {
6
+ this.name = 'cascadeFlowApi';
7
+ this.displayName = 'Cascadeflow API';
8
+ this.documentationUrl = 'https://github.com/lemony-ai/cascadeflow';
9
+ this.properties = [
10
+ {
11
+ displayName: 'OpenAI API Key',
12
+ name: 'openaiApiKey',
13
+ type: 'string',
14
+ typeOptions: { password: true },
15
+ default: '',
16
+ description: 'API key for OpenAI (GPT-4, GPT-4o, etc.)',
17
+ placeholder: 'sk-...',
18
+ },
19
+ {
20
+ displayName: 'Anthropic API Key',
21
+ name: 'anthropicApiKey',
22
+ type: 'string',
23
+ typeOptions: { password: true },
24
+ default: '',
25
+ description: 'API key for Anthropic (Claude models)',
26
+ placeholder: 'sk-ant-...',
27
+ },
28
+ {
29
+ displayName: 'Groq API Key',
30
+ name: 'groqApiKey',
31
+ type: 'string',
32
+ typeOptions: { password: true },
33
+ default: '',
34
+ description: 'API key for Groq (fast Llama inference)',
35
+ placeholder: 'gsk_...',
36
+ },
37
+ {
38
+ displayName: 'Together AI API Key',
39
+ name: 'togetherApiKey',
40
+ type: 'string',
41
+ typeOptions: { password: true },
42
+ default: '',
43
+ description: 'API key for Together AI',
44
+ placeholder: '',
45
+ },
46
+ {
47
+ displayName: 'HuggingFace API Key',
48
+ name: 'huggingfaceApiKey',
49
+ type: 'string',
50
+ typeOptions: { password: true },
51
+ default: '',
52
+ description: 'API key for HuggingFace Inference',
53
+ placeholder: 'hf_...',
54
+ },
55
+ ];
56
+ this.authenticate = {
57
+ type: 'generic',
58
+ properties: {},
59
+ };
60
+ this.test = {
61
+ request: {
62
+ baseURL: 'https://api.openai.com/v1',
63
+ url: '/models',
64
+ method: 'GET',
65
+ headers: {
66
+ Authorization: '=Bearer {{$credentials.openaiApiKey}}',
67
+ },
68
+ },
69
+ };
70
+ }
71
+ }
72
+ exports.CascadeFlowApi = CascadeFlowApi;
73
+ //# sourceMappingURL=CascadeFlowApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CascadeFlowApi.credentials.js","sourceRoot":"","sources":["../../credentials/CascadeFlowApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,cAAc;IAA3B;QACE,SAAI,GAAG,gBAAgB,CAAC;QACxB,gBAAW,GAAG,iBAAiB,CAAC;QAChC,qBAAgB,GAAG,0CAA0C,CAAC;QAC9D,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,0CAA0C;gBACvD,WAAW,EAAE,QAAQ;aACtB;YACD;gBACE,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,uCAAuC;gBACpD,WAAW,EAAE,YAAY;aAC1B;YACD;gBACE,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,yCAAyC;gBACtD,WAAW,EAAE,SAAS;aACvB;YACD;gBACE,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,yBAAyB;gBACtC,WAAW,EAAE,EAAE;aAChB;YACD;gBACE,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,mCAAmC;gBAChD,WAAW,EAAE,QAAQ;aACtB;SACF,CAAC;QAEF,iBAAY,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,SAAI,GAA2B;YAC7B,OAAO,EAAE;gBACP,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,aAAa,EAAE,uCAAuC;iBACvD;aACF;SACF,CAAC;IACJ,CAAC;CAAA;AAnED,wCAmEC"}
@@ -0,0 +1,41 @@
1
+ import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ import { CascadeChatModel } from '../LmChatCascadeFlow/LmChatCascadeFlow.node';
3
+ type ToolRoutingMode = 'cascade' | 'verifier';
4
+ export interface ToolRoutingRule {
5
+ toolName: string;
6
+ routing: ToolRoutingMode;
7
+ }
8
+ export interface ToolLike {
9
+ name?: string;
10
+ description?: string;
11
+ invoke?: (args: any) => Promise<any>;
12
+ call?: (args: any) => Promise<any>;
13
+ run?: (args: any) => Promise<any>;
14
+ }
15
+ export declare class CascadeFlowAgentExecutor {
16
+ private cascadeModel;
17
+ private maxIterations;
18
+ private toolMap;
19
+ private routingRules;
20
+ private enableToolCascadeValidation;
21
+ private toolCascadeValidator;
22
+ constructor(cascadeModel: CascadeChatModel, tools: ToolLike[], routingRules: ToolRoutingRule[], maxIterations: number, enableToolCascadeValidation?: boolean);
23
+ private normalizeMessages;
24
+ private extractToolCalls;
25
+ private executeTool;
26
+ private resolveRouting;
27
+ /**
28
+ * Validate tool calls using ToolCascadeValidator.
29
+ * Returns { valid, score, errors } or null if unavailable.
30
+ */
31
+ private validateToolCalls;
32
+ private buildTraceEntry;
33
+ invoke(input: any, options?: any): Promise<any>;
34
+ stream(input: any, options?: any): AsyncGenerator<any>;
35
+ }
36
+ export declare class CascadeFlowAgent implements INodeType {
37
+ description: INodeTypeDescription;
38
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=CascadeFlowAgent.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CascadeFlowAgent.node.d.ts","sourceRoot":"","sources":["../../../nodes/CascadeFlowAgent/CascadeFlowAgent.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAoB/E,KAAK,eAAe,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAQD,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACnC;AAUD,qBAAa,wBAAwB;IAOjC,OAAO,CAAC,YAAY;IAGpB,OAAO,CAAC,aAAa;IATvB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,2BAA2B,CAAU;IAC7C,OAAO,CAAC,oBAAoB,CAAM;gBAGxB,YAAY,EAAE,gBAAgB,EACtC,KAAK,EAAE,QAAQ,EAAE,EACjB,YAAY,EAAE,eAAe,EAAE,EACvB,aAAa,EAAE,MAAM,EAC7B,2BAA2B,GAAE,OAAe;IAmB9C,OAAO,CAAC,iBAAiB;IA8EzB,OAAO,CAAC,gBAAgB;YA4CV,WAAW;IAqBzB,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,eAAe;IAkBjB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA6F9C,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC;CAc9D;AA2GD,qBAAa,gBAAiB,YAAW,SAAS;IAChD,WAAW,EAAE,oBAAoB,CA4P/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAwLxE"}