@atomoz/workflows-nodes 0.1.13 → 0.1.15

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 (196) hide show
  1. package/package.json +49 -51
  2. package/src/index.d.ts +0 -2
  3. package/src/index.d.ts.map +0 -1
  4. package/src/index.js +0 -1
  5. package/src/nodes/consts/index.d.ts +0 -3
  6. package/src/nodes/consts/index.d.ts.map +0 -1
  7. package/src/nodes/consts/index.js +0 -2
  8. package/src/nodes/consts/node-colors.d.ts +0 -7
  9. package/src/nodes/consts/node-colors.d.ts.map +0 -1
  10. package/src/nodes/consts/node-colors.js +0 -6
  11. package/src/nodes/consts/node-functions.d.ts +0 -20
  12. package/src/nodes/consts/node-functions.d.ts.map +0 -1
  13. package/src/nodes/consts/node-functions.js +0 -29
  14. package/src/nodes/consts/nodes.d.ts +0 -3
  15. package/src/nodes/consts/nodes.d.ts.map +0 -1
  16. package/src/nodes/consts/nodes.js +0 -30
  17. package/src/nodes/consts/schemas.d.ts +0 -30
  18. package/src/nodes/consts/schemas.d.ts.map +0 -1
  19. package/src/nodes/consts/schemas.js +0 -7
  20. package/src/nodes/ia/agent/data.d.ts +0 -11
  21. package/src/nodes/ia/agent/data.d.ts.map +0 -1
  22. package/src/nodes/ia/agent/data.js +0 -111
  23. package/src/nodes/ia/agent/function.d.ts +0 -2
  24. package/src/nodes/ia/agent/function.d.ts.map +0 -1
  25. package/src/nodes/ia/agent/function.js +0 -90
  26. package/src/nodes/ia/agent/index.d.ts +0 -3
  27. package/src/nodes/ia/agent/index.d.ts.map +0 -1
  28. package/src/nodes/ia/agent/index.js +0 -2
  29. package/src/nodes/ia/index.d.ts +0 -5
  30. package/src/nodes/ia/index.d.ts.map +0 -1
  31. package/src/nodes/ia/index.js +0 -4
  32. package/src/nodes/ia/message/index.d.ts +0 -2
  33. package/src/nodes/ia/message/index.d.ts.map +0 -1
  34. package/src/nodes/ia/message/index.js +0 -1
  35. package/src/nodes/ia/message/message.d.ts +0 -10
  36. package/src/nodes/ia/message/message.d.ts.map +0 -1
  37. package/src/nodes/ia/message/message.js +0 -118
  38. package/src/nodes/ia/supervisor/data.d.ts +0 -10
  39. package/src/nodes/ia/supervisor/data.d.ts.map +0 -1
  40. package/src/nodes/ia/supervisor/data.js +0 -84
  41. package/src/nodes/ia/supervisor/function.d.ts +0 -2
  42. package/src/nodes/ia/supervisor/function.d.ts.map +0 -1
  43. package/src/nodes/ia/supervisor/function.js +0 -227
  44. package/src/nodes/ia/supervisor/index.d.ts +0 -3
  45. package/src/nodes/ia/supervisor/index.d.ts.map +0 -1
  46. package/src/nodes/ia/supervisor/index.js +0 -2
  47. package/src/nodes/ia/tool/data.d.ts +0 -16
  48. package/src/nodes/ia/tool/data.d.ts.map +0 -1
  49. package/src/nodes/ia/tool/data.js +0 -70
  50. package/src/nodes/ia/tool/function.d.ts +0 -4
  51. package/src/nodes/ia/tool/function.d.ts.map +0 -1
  52. package/src/nodes/ia/tool/function.js +0 -36
  53. package/src/nodes/ia/tool/index.d.ts +0 -3
  54. package/src/nodes/ia/tool/index.d.ts.map +0 -1
  55. package/src/nodes/ia/tool/index.js +0 -2
  56. package/src/nodes/index.d.ts +0 -9
  57. package/src/nodes/index.d.ts.map +0 -1
  58. package/src/nodes/index.js +0 -8
  59. package/src/nodes/inputs/chat/chat.d.ts +0 -4
  60. package/src/nodes/inputs/chat/chat.d.ts.map +0 -1
  61. package/src/nodes/inputs/chat/chat.js +0 -51
  62. package/src/nodes/inputs/http/delete/data.d.ts +0 -3
  63. package/src/nodes/inputs/http/delete/data.d.ts.map +0 -1
  64. package/src/nodes/inputs/http/delete/data.js +0 -57
  65. package/src/nodes/inputs/http/delete/function.d.ts +0 -2
  66. package/src/nodes/inputs/http/delete/function.d.ts.map +0 -1
  67. package/src/nodes/inputs/http/delete/function.js +0 -28
  68. package/src/nodes/inputs/http/delete/index.d.ts +0 -4
  69. package/src/nodes/inputs/http/delete/index.d.ts.map +0 -1
  70. package/src/nodes/inputs/http/delete/index.js +0 -3
  71. package/src/nodes/inputs/http/delete/schema.d.ts +0 -16
  72. package/src/nodes/inputs/http/delete/schema.d.ts.map +0 -1
  73. package/src/nodes/inputs/http/delete/schema.js +0 -7
  74. package/src/nodes/inputs/http/get/data.d.ts +0 -3
  75. package/src/nodes/inputs/http/get/data.d.ts.map +0 -1
  76. package/src/nodes/inputs/http/get/data.js +0 -58
  77. package/src/nodes/inputs/http/get/function.d.ts +0 -2
  78. package/src/nodes/inputs/http/get/function.d.ts.map +0 -1
  79. package/src/nodes/inputs/http/get/function.js +0 -25
  80. package/src/nodes/inputs/http/get/index.d.ts +0 -4
  81. package/src/nodes/inputs/http/get/index.d.ts.map +0 -1
  82. package/src/nodes/inputs/http/get/index.js +0 -3
  83. package/src/nodes/inputs/http/get/schema.d.ts +0 -16
  84. package/src/nodes/inputs/http/get/schema.d.ts.map +0 -1
  85. package/src/nodes/inputs/http/get/schema.js +0 -7
  86. package/src/nodes/inputs/http/index.d.ts +0 -8
  87. package/src/nodes/inputs/http/index.d.ts.map +0 -1
  88. package/src/nodes/inputs/http/index.js +0 -10
  89. package/src/nodes/inputs/http/patch/data.d.ts +0 -3
  90. package/src/nodes/inputs/http/patch/data.d.ts.map +0 -1
  91. package/src/nodes/inputs/http/patch/data.js +0 -70
  92. package/src/nodes/inputs/http/patch/function.d.ts +0 -2
  93. package/src/nodes/inputs/http/patch/function.d.ts.map +0 -1
  94. package/src/nodes/inputs/http/patch/function.js +0 -36
  95. package/src/nodes/inputs/http/patch/index.d.ts +0 -4
  96. package/src/nodes/inputs/http/patch/index.d.ts.map +0 -1
  97. package/src/nodes/inputs/http/patch/index.js +0 -3
  98. package/src/nodes/inputs/http/patch/schema.d.ts +0 -21
  99. package/src/nodes/inputs/http/patch/schema.d.ts.map +0 -1
  100. package/src/nodes/inputs/http/patch/schema.js +0 -8
  101. package/src/nodes/inputs/http/post/data.d.ts +0 -3
  102. package/src/nodes/inputs/http/post/data.d.ts.map +0 -1
  103. package/src/nodes/inputs/http/post/data.js +0 -70
  104. package/src/nodes/inputs/http/post/function.d.ts +0 -2
  105. package/src/nodes/inputs/http/post/function.d.ts.map +0 -1
  106. package/src/nodes/inputs/http/post/function.js +0 -36
  107. package/src/nodes/inputs/http/post/index.d.ts +0 -4
  108. package/src/nodes/inputs/http/post/index.d.ts.map +0 -1
  109. package/src/nodes/inputs/http/post/index.js +0 -3
  110. package/src/nodes/inputs/http/post/schema.d.ts +0 -21
  111. package/src/nodes/inputs/http/post/schema.d.ts.map +0 -1
  112. package/src/nodes/inputs/http/post/schema.js +0 -8
  113. package/src/nodes/inputs/http/put/data.d.ts +0 -3
  114. package/src/nodes/inputs/http/put/data.d.ts.map +0 -1
  115. package/src/nodes/inputs/http/put/data.js +0 -70
  116. package/src/nodes/inputs/http/put/function.d.ts +0 -2
  117. package/src/nodes/inputs/http/put/function.d.ts.map +0 -1
  118. package/src/nodes/inputs/http/put/function.js +0 -36
  119. package/src/nodes/inputs/http/put/index.d.ts +0 -4
  120. package/src/nodes/inputs/http/put/index.d.ts.map +0 -1
  121. package/src/nodes/inputs/http/put/index.js +0 -3
  122. package/src/nodes/inputs/http/put/schema.d.ts +0 -21
  123. package/src/nodes/inputs/http/put/schema.d.ts.map +0 -1
  124. package/src/nodes/inputs/http/put/schema.js +0 -8
  125. package/src/nodes/inputs/http/schemas.d.ts +0 -18
  126. package/src/nodes/inputs/http/schemas.d.ts.map +0 -1
  127. package/src/nodes/inputs/http/schemas.js +0 -17
  128. package/src/nodes/inputs/http/utils.d.ts +0 -21
  129. package/src/nodes/inputs/http/utils.d.ts.map +0 -1
  130. package/src/nodes/inputs/http/utils.js +0 -63
  131. package/src/nodes/inputs/index.d.ts +0 -5
  132. package/src/nodes/inputs/index.d.ts.map +0 -1
  133. package/src/nodes/inputs/index.js +0 -4
  134. package/src/nodes/inputs/manual/trigger.d.ts +0 -4
  135. package/src/nodes/inputs/manual/trigger.d.ts.map +0 -1
  136. package/src/nodes/inputs/manual/trigger.js +0 -39
  137. package/src/nodes/output-node/index.d.ts +0 -4
  138. package/src/nodes/output-node/index.d.ts.map +0 -1
  139. package/src/nodes/output-node/index.js +0 -123
  140. package/src/nodes/outputs/chat/output.d.ts +0 -4
  141. package/src/nodes/outputs/chat/output.d.ts.map +0 -1
  142. package/src/nodes/outputs/chat/output.js +0 -48
  143. package/src/nodes/outputs/http-output.d.ts +0 -4
  144. package/src/nodes/outputs/http-output.d.ts.map +0 -1
  145. package/src/nodes/outputs/http-output.js +0 -76
  146. package/src/nodes/processors/concat.d.ts +0 -9
  147. package/src/nodes/processors/concat.d.ts.map +0 -1
  148. package/src/nodes/processors/concat.js +0 -68
  149. package/src/nodes/processors/custom-code.d.ts +0 -4
  150. package/src/nodes/processors/custom-code.d.ts.map +0 -1
  151. package/src/nodes/processors/custom-code.js +0 -54
  152. package/src/nodes/processors/index.d.ts +0 -2
  153. package/src/nodes/processors/index.d.ts.map +0 -1
  154. package/src/nodes/processors/index.js +0 -1
  155. package/src/nodes/processors/transform.d.ts +0 -3
  156. package/src/nodes/processors/transform.d.ts.map +0 -1
  157. package/src/nodes/processors/transform.js +0 -48
  158. package/src/nodes/social/index.d.ts +0 -2
  159. package/src/nodes/social/index.d.ts.map +0 -1
  160. package/src/nodes/social/index.js +0 -1
  161. package/src/nodes/social/whatsapp/index.d.ts +0 -4
  162. package/src/nodes/social/whatsapp/index.d.ts.map +0 -1
  163. package/src/nodes/social/whatsapp/index.js +0 -3
  164. package/src/nodes/social/whatsapp/message-trigger/data.d.ts +0 -3
  165. package/src/nodes/social/whatsapp/message-trigger/data.d.ts.map +0 -1
  166. package/src/nodes/social/whatsapp/message-trigger/data.js +0 -55
  167. package/src/nodes/social/whatsapp/message-trigger/index.d.ts +0 -2
  168. package/src/nodes/social/whatsapp/message-trigger/index.d.ts.map +0 -1
  169. package/src/nodes/social/whatsapp/message-trigger/index.js +0 -1
  170. package/src/nodes/social/whatsapp/send-message/data.d.ts +0 -8
  171. package/src/nodes/social/whatsapp/send-message/data.d.ts.map +0 -1
  172. package/src/nodes/social/whatsapp/send-message/data.js +0 -46
  173. package/src/nodes/social/whatsapp/send-message/functions.d.ts +0 -3
  174. package/src/nodes/social/whatsapp/send-message/functions.d.ts.map +0 -1
  175. package/src/nodes/social/whatsapp/send-message/functions.js +0 -32
  176. package/src/nodes/social/whatsapp/send-message/index.d.ts +0 -3
  177. package/src/nodes/social/whatsapp/send-message/index.d.ts.map +0 -1
  178. package/src/nodes/social/whatsapp/send-message/index.js +0 -2
  179. package/src/nodes/social/whatsapp/send-template/data.d.ts +0 -8
  180. package/src/nodes/social/whatsapp/send-template/data.d.ts.map +0 -1
  181. package/src/nodes/social/whatsapp/send-template/data.js +0 -42
  182. package/src/nodes/social/whatsapp/send-template/functions.d.ts +0 -5
  183. package/src/nodes/social/whatsapp/send-template/functions.d.ts.map +0 -1
  184. package/src/nodes/social/whatsapp/send-template/functions.js +0 -60
  185. package/src/nodes/social/whatsapp/send-template/index.d.ts +0 -3
  186. package/src/nodes/social/whatsapp/send-template/index.d.ts.map +0 -1
  187. package/src/nodes/social/whatsapp/send-template/index.js +0 -2
  188. package/src/nodes/types/base-node.d.ts +0 -17
  189. package/src/nodes/types/base-node.d.ts.map +0 -1
  190. package/src/nodes/types/base-node.js +0 -1
  191. package/src/nodes/types/base-node.types.d.ts +0 -144
  192. package/src/nodes/types/base-node.types.d.ts.map +0 -1
  193. package/src/nodes/types/base-node.types.js +0 -1
  194. package/src/utils/llm-factory.d.ts +0 -16
  195. package/src/utils/llm-factory.d.ts.map +0 -1
  196. package/src/utils/llm-factory.js +0 -110
@@ -1,60 +0,0 @@
1
- const BUSINESS_ACCOUNT_ID = "1079341674316936";
2
- const NUMBER_ID = "700207253183039";
3
- const TOKEN = 'EAAUuy5eznhEBPQUOoF07SUTSVjgNIX9eZCWSKPYQhzHiXeEp4Qj3g47bZAPcZAgs8P2B5cZBH9YJjzq0HKNXfA14kaK5Cp2DZCmxzV60MgWlsY1yKavb2qXAQcydoHTTLKcWO53w6ZB7JNzZBeIpZBTb9cB0teRzfX3kjrZBc7utyKq2ZCZCCOQ74pZA28gnmQYzp24oZBQpf7BmuNHgndFVlTba5drxgcpERyNl1dUIDhky7NIruggZDZD';
4
- const WhatsappStartChatFunction = async (fieldValues) => {
5
- const { phoneNumber, template } = fieldValues;
6
- const response = await fetch(`https://graph.facebook.com/v23.0/${NUMBER_ID}/messages`, {
7
- method: 'POST',
8
- headers: {
9
- 'Authorization': `Bearer ${TOKEN}`,
10
- 'Content-Type': 'application/json'
11
- },
12
- body: JSON.stringify({
13
- messaging_product: 'whatsapp',
14
- to: phoneNumber,
15
- type: 'template',
16
- template: {
17
- name: template,
18
- language: {
19
- code: 'pt_BR'
20
- }
21
- }
22
- })
23
- });
24
- const data = await response.json();
25
- if (!response.ok) {
26
- throw new Error(`Failed to start chat: ${response.statusText}`);
27
- }
28
- return data;
29
- };
30
- const getMessageTemplates = async () => {
31
- const response = await fetch(`https://graph.facebook.com/v23.0/${BUSINESS_ACCOUNT_ID}/message_templates`, {
32
- method: 'GET',
33
- headers: {
34
- 'Authorization': `Bearer ${TOKEN}`,
35
- }
36
- });
37
- const data = await response.json();
38
- return data;
39
- };
40
- const createMessageTemplate = async (payload) => {
41
- const response = await fetch(`https://graph.facebook.com/v23.0/${BUSINESS_ACCOUNT_ID}/message_templates`, {
42
- method: 'POST',
43
- headers: {
44
- 'Authorization': `Bearer ${TOKEN}`,
45
- 'Content-Type': 'application/json'
46
- },
47
- body: JSON.stringify(payload)
48
- });
49
- const data = (await response.json());
50
- if (!response.ok) {
51
- const errObj = data.error;
52
- const msg = errObj?.message || response.statusText;
53
- const enriched = new Error(`Failed to create template: ${msg}`);
54
- enriched.details = data;
55
- enriched.status = response.status;
56
- throw enriched;
57
- }
58
- return data;
59
- };
60
- export { WhatsappStartChatFunction, getMessageTemplates, createMessageTemplate };
@@ -1,3 +0,0 @@
1
- export * from './data';
2
- export * from './functions';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/nodes/src/nodes/social/whatsapp/send-template/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAe,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './data';
2
- export * from './functions';
@@ -1,17 +0,0 @@
1
- import { NodeField, NodeTags } from './base-node.types';
2
- export type NodeData = {
3
- nodeId?: string;
4
- label: string;
5
- type: string;
6
- icon?: string;
7
- category: string;
8
- description?: string;
9
- toolable?: boolean;
10
- tags?: NodeTags;
11
- fields?: NodeField[];
12
- value?: any;
13
- friendlyId?: string;
14
- data?: any;
15
- group?: string;
16
- };
17
- //# sourceMappingURL=base-node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-node.d.ts","sourceRoot":"","sources":["../../../../../../libs/nodes/src/nodes/types/base-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,MAAM,QAAQ,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAA"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,144 +0,0 @@
1
- import { NodeData } from "./base-node";
2
- export interface NodeHandle {
3
- type: 'input' | 'output';
4
- label: string;
5
- name: string;
6
- fieldType: string;
7
- required?: boolean;
8
- acceptTypes?: string[];
9
- rejectTypes?: string[];
10
- maxConnections?: number;
11
- }
12
- export interface NodeField {
13
- id?: string;
14
- name?: string;
15
- label: string;
16
- toolField?: boolean;
17
- typeable?: boolean;
18
- type: 'text' | 'textarea' | 'number' | 'boolean' | 'select' | 'json' | 'string' | 'object' | 'HttpOutput' | 'route' | 'code' | 'keyValue' | 'any' | 'llm' | 'function' | 'agent' | 'tool' | 'model' | 'supervisor';
19
- required?: boolean;
20
- placeholder?: string;
21
- defaultValue?: any;
22
- value?: any;
23
- options?: Array<{
24
- label: string;
25
- value: any;
26
- }>;
27
- optionsSource?: {
28
- provider: string;
29
- params?: Record<string, any>;
30
- };
31
- min?: number;
32
- max?: number;
33
- handle?: NodeHandle;
34
- }
35
- export interface NodeInput {
36
- id: string;
37
- label: string;
38
- type: 'text' | 'textarea' | 'number' | 'boolean' | 'select' | 'json' | 'keyValue';
39
- required?: boolean;
40
- placeholder?: string;
41
- defaultValue?: any;
42
- options?: Array<{
43
- label: string;
44
- value: any;
45
- }>;
46
- min?: number;
47
- max?: number;
48
- }
49
- export interface NodeOutput {
50
- type: string;
51
- structure: Array<{
52
- label: string;
53
- name: string;
54
- type: string;
55
- required: boolean;
56
- }>;
57
- }
58
- export interface HttpOutput {
59
- status: number;
60
- statusText: string;
61
- headers: Record<string, string>;
62
- data: any;
63
- url: string;
64
- method: string;
65
- responseTime?: number;
66
- }
67
- export interface BaseNodeType {
68
- label: string;
69
- type: string;
70
- description: string;
71
- isInput?: boolean;
72
- isOutput?: boolean;
73
- category?: 'input' | 'transform' | 'output' | 'api' | 'custom';
74
- icon?: string;
75
- color?: string;
76
- handles?: NodeHandle[];
77
- fields?: NodeField[];
78
- inputs?: NodeInput[];
79
- output?: NodeOutput;
80
- config?: Record<string, any>;
81
- }
82
- export interface NodeLogicFunction {
83
- (node: any, inputValue?: string | string[], context?: NodeExecutionContext): any;
84
- }
85
- export interface NodeExecutionContext {
86
- outputs?: Record<string, any>;
87
- nodeId: string;
88
- workflowId?: string;
89
- timestamp: number;
90
- }
91
- export interface NodeDefinition {
92
- type: string;
93
- name: string;
94
- description: string;
95
- logic: (node: any, inputValue?: string | string[]) => any;
96
- style: NodeStyle;
97
- fields: NodeField[];
98
- inputs: NodeInput[];
99
- validate?: (node: any) => string[];
100
- sanitize?: (node: any) => any;
101
- }
102
- export type NodeInputValue = string | number | boolean | object | any[];
103
- export type NodeOutputValue = string | number | boolean | object | any[];
104
- export interface NodeValidation {
105
- required?: boolean;
106
- minLength?: number;
107
- maxLength?: number;
108
- pattern?: RegExp;
109
- custom?: (value: any) => boolean;
110
- message?: string;
111
- }
112
- export interface NodeTransformation {
113
- input?: (value: any) => any;
114
- output?: (value: any) => any;
115
- }
116
- export interface NodeExecutionConfig {
117
- async?: boolean;
118
- timeout?: number;
119
- retries?: number;
120
- fallback?: any;
121
- }
122
- export interface NodeStyle {
123
- icon: string;
124
- color: string;
125
- bgColor: string;
126
- borderColor?: string;
127
- }
128
- export interface ExecutionStep {
129
- nodeId: string;
130
- nodeData: NodeData;
131
- nextSteps: ExecutionStep[];
132
- fieldConnections?: {
133
- [sourceHandleId: string]: {
134
- targetNodeId: string;
135
- targetFieldId: string;
136
- }[];
137
- };
138
- }
139
- export type NodeExecution = 'sync' | 'async';
140
- export interface NodeTags {
141
- execution: NodeExecution[] | NodeExecution;
142
- group: 'IA' | 'HTTP' | 'Data Transformation' | 'Custom' | 'Social';
143
- }
144
- //# sourceMappingURL=base-node.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-node.types.d.ts","sourceRoot":"","sources":["../../../../../../libs/nodes/src/nodes/types/base-node.types.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,16 +0,0 @@
1
- interface ModelConfig {
2
- model: string;
3
- integrationId: string;
4
- }
5
- /**
6
- * Cria uma instância de LLM baseada no modelo e integração fornecidos.
7
- * Busca as credenciais via GraphQL e instancia o provider apropriado.
8
- *
9
- * @param modelConfig - Configuração contendo model e integrationId
10
- * @param authToken - Token de autenticação para a API GraphQL
11
- * @param streaming - Habilita streaming (opcional, padrão: false)
12
- * @returns Instância configurada da LLM
13
- */
14
- export declare function createLLMFromModel(modelConfig: ModelConfig | any, authToken: string, streaming?: boolean): Promise<any>;
15
- export {};
16
- //# sourceMappingURL=llm-factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"llm-factory.d.ts","sourceRoot":"","sources":["../../../../../libs/nodes/src/utils/llm-factory.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACzB;AAqCD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACpC,WAAW,EAAE,WAAW,GAAG,GAAG,EAC9B,SAAS,EAAE,MAAM,EACjB,SAAS,UAAQ,GAClB,OAAO,CAAC,GAAG,CAAC,CAuFd"}
@@ -1,110 +0,0 @@
1
- "use server";
2
- import { GraphQLClient, gql } from 'graphql-request';
3
- import { ChatGoogle } from "@langchain/google-gauth";
4
- import { ChatOpenAI } from "@langchain/openai";
5
- const GRAPHQL_ENDPOINT = process.env['GRAPHQL_URL'] || 'http://localhost:3001/graphql';
6
- const GET_INTEGRATIONS_QUERY = gql `
7
- query GetIntegrations($where: IntegrationWhereInput) {
8
- getIntegrations(where: $where) {
9
- status
10
- message
11
- data {
12
- id
13
- status
14
- data
15
- }
16
- }
17
- }
18
- `;
19
- /**
20
- * Cria uma instância de LLM baseada no modelo e integração fornecidos.
21
- * Busca as credenciais via GraphQL e instancia o provider apropriado.
22
- *
23
- * @param modelConfig - Configuração contendo model e integrationId
24
- * @param authToken - Token de autenticação para a API GraphQL
25
- * @param streaming - Habilita streaming (opcional, padrão: false)
26
- * @returns Instância configurada da LLM
27
- */
28
- export async function createLLMFromModel(modelConfig, authToken, streaming = false) {
29
- // Se já é uma instância de LLM, retorna direto
30
- if (modelConfig?.invoke || modelConfig?.call) {
31
- return modelConfig;
32
- }
33
- // Validar se é um objeto com model e integrationId
34
- if (!modelConfig?.model || !modelConfig?.integrationId) {
35
- throw new Error('Model config deve conter "model" e "integrationId"');
36
- }
37
- const { model, integrationId } = modelConfig;
38
- // Buscar integração via GraphQL
39
- const client = new GraphQLClient(GRAPHQL_ENDPOINT, {
40
- headers: {
41
- Authorization: `Bearer ${authToken}`,
42
- 'x-tenant-id': '65d62c52-0c09-473a-8895-359afbed3f5a',
43
- },
44
- });
45
- let integrationData;
46
- try {
47
- const response = await client.request(GET_INTEGRATIONS_QUERY, {
48
- where: {
49
- id: {
50
- eq: integrationId,
51
- },
52
- },
53
- });
54
- if (!response.getIntegrations?.data?.[0]) {
55
- throw new Error(`Integração ${integrationId} não encontrada`);
56
- }
57
- integrationData = response.getIntegrations.data[0];
58
- }
59
- catch (error) {
60
- console.error('Erro ao buscar integração:', error);
61
- throw new Error(`Falha ao buscar integração: ${error instanceof Error ? error.message : 'Erro desconhecido'}`);
62
- }
63
- // Extrair apiKey do campo data
64
- const apiKey = integrationData.data?.['token'] || integrationData.data?.['token'];
65
- if (!apiKey) {
66
- throw new Error(`API Key não encontrada na integração ${integrationId}`);
67
- }
68
- // Identificar provider
69
- const provider = integrationData.data?.provider?.toLowerCase() || inferProviderFromModel(model);
70
- // Instanciar LLM baseado no provider
71
- switch (provider) {
72
- case 'gemini':
73
- return new ChatGoogle({
74
- model: 'gemini-flash-latest',
75
- apiKey: apiKey,
76
- streaming: streaming,
77
- });
78
- case 'openai':
79
- return new ChatOpenAI({
80
- model: model,
81
- openAIApiKey: apiKey,
82
- streaming: streaming,
83
- });
84
- case 'openrouter':
85
- return new ChatOpenAI({
86
- model: model,
87
- openAIApiKey: apiKey,
88
- configuration: {
89
- baseURL: 'https://openrouter.ai/api/v1',
90
- },
91
- streaming: streaming,
92
- });
93
- default:
94
- throw new Error(`Provider "${provider}" não suportado. Providers disponíveis: gemini, openai, openrouter`);
95
- }
96
- }
97
- /**
98
- * Inferir o provider baseado no nome do modelo
99
- */
100
- function inferProviderFromModel(model) {
101
- const modelLower = model.toLowerCase();
102
- if (modelLower.includes('gemini') || modelLower.includes('palm')) {
103
- return 'gemini';
104
- }
105
- if (modelLower.includes('gpt') || modelLower.includes('o1') || modelLower.includes('o3')) {
106
- return 'openai';
107
- }
108
- // Padrão para openrouter se não identificado
109
- return 'openrouter';
110
- }