n8n-nodes-vercel-ai-sdk-universal-temp 0.2.89 → 0.2.91

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 (51) hide show
  1. package/dist/nodes/UniversalAI/UniversalAI.node.js +49 -475
  2. package/dist/nodes/UniversalAI/UniversalAI.node.js.map +1 -1
  3. package/dist/nodes/UniversalAI/helpers/cacheMetrics.d.ts +3 -0
  4. package/dist/nodes/UniversalAI/helpers/cacheMetrics.js +12 -0
  5. package/dist/nodes/UniversalAI/helpers/cacheMetrics.js.map +1 -0
  6. package/dist/nodes/UniversalAI/helpers/inputBuilder.d.ts +8 -0
  7. package/dist/nodes/UniversalAI/helpers/inputBuilder.js +232 -0
  8. package/dist/nodes/UniversalAI/helpers/inputBuilder.js.map +1 -0
  9. package/dist/nodes/UniversalAI/helpers/responseFormatter.d.ts +7 -0
  10. package/dist/nodes/UniversalAI/helpers/responseFormatter.js +78 -0
  11. package/dist/nodes/UniversalAI/helpers/responseFormatter.js.map +1 -0
  12. package/dist/nodes/UniversalAI/helpers/utils.d.ts +5 -0
  13. package/dist/nodes/UniversalAI/helpers/utils.js +50 -0
  14. package/dist/nodes/UniversalAI/helpers/utils.js.map +1 -0
  15. package/dist/nodes/UniversalAI/providers/google.d.ts +16 -0
  16. package/dist/nodes/UniversalAI/providers/google.js +105 -0
  17. package/dist/nodes/UniversalAI/providers/google.js.map +1 -0
  18. package/dist/nodes/UniversalAI/providers/index.d.ts +3 -0
  19. package/dist/nodes/UniversalAI/providers/index.js +16 -0
  20. package/dist/nodes/UniversalAI/providers/index.js.map +1 -0
  21. package/dist/nodes/UniversalAI/providers/strategy.d.ts +15 -0
  22. package/dist/nodes/UniversalAI/providers/strategy.js +3 -0
  23. package/dist/nodes/UniversalAI/providers/strategy.js.map +1 -0
  24. package/dist/nodes/UniversalAI/providers/types.d.ts +15 -0
  25. package/dist/nodes/UniversalAI/providers/types.js +3 -0
  26. package/dist/nodes/UniversalAI/providers/types.js.map +1 -0
  27. package/dist/nodes/shared/DescriptionBuilder.d.ts +10 -0
  28. package/dist/nodes/shared/DescriptionBuilder.js +46 -0
  29. package/dist/nodes/shared/DescriptionBuilder.js.map +1 -0
  30. package/dist/nodes/shared/cache/cache.d.ts +1 -1
  31. package/dist/nodes/shared/cache/cache.js +4 -4
  32. package/dist/nodes/shared/cache/cache.js.map +1 -1
  33. package/dist/nodes/shared/descriptions.js +74 -271
  34. package/dist/nodes/shared/descriptions.js.map +1 -1
  35. package/dist/nodes/shared/helpers.js +4 -4
  36. package/dist/nodes/shared/helpers.js.map +1 -1
  37. package/dist/nodes/shared/icons/ai-chip.svg +32 -0
  38. package/dist/nodes/shared/icons/anthropic.svg +1 -0
  39. package/dist/nodes/shared/icons/gemini.svg +10 -0
  40. package/dist/nodes/shared/icons/groq.svg +1 -0
  41. package/dist/nodes/shared/icons/openai.svg +1 -0
  42. package/dist/nodes/shared/icons/openrouter.svg +39 -0
  43. package/dist/nodes/shared/icons.d.ts +1 -0
  44. package/dist/nodes/shared/icons.js +14 -0
  45. package/dist/nodes/shared/icons.js.map +1 -0
  46. package/dist/nodes/shared/letta/client.js +25 -12
  47. package/dist/nodes/shared/letta/client.js.map +1 -1
  48. package/dist/nodes/shared/providers.d.ts +7 -0
  49. package/dist/nodes/shared/providers.js +41 -0
  50. package/dist/nodes/shared/providers.js.map +1 -0
  51. package/package.json +7 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../../../nodes/UniversalAI/providers/google.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ProviderStrategy } from './types';
2
+ export declare const providerStrategies: Record<string, ProviderStrategy>;
3
+ export declare function getProviderStrategy(provider: string): ProviderStrategy;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.providerStrategies = void 0;
4
+ exports.getProviderStrategy = getProviderStrategy;
5
+ const google_1 = require("./google");
6
+ exports.providerStrategies = {
7
+ google: new google_1.GoogleProvider(),
8
+ };
9
+ function getProviderStrategy(provider) {
10
+ const strategy = exports.providerStrategies[provider];
11
+ if (!strategy) {
12
+ throw new Error(`Provider "${provider}" is not supported.`);
13
+ }
14
+ return strategy;
15
+ }
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../nodes/UniversalAI/providers/index.ts"],"names":[],"mappings":";;;AAQA,kDAMC;AAdD,qCAA0C;AAG7B,QAAA,kBAAkB,GAAqC;IACnE,MAAM,EAAE,IAAI,uBAAc,EAAE;CAE5B,CAAC;AAEF,SAAgB,mBAAmB,CAAC,QAAgB;IACnD,MAAM,QAAQ,GAAG,0BAAkB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,qBAAqB,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { IExecuteFunctions, IDataObject, INodePropertyOptions } from 'n8n-workflow';
2
+ import { AiSdkMessage, NodeOptions, ProviderInstance } from '../../shared/types';
3
+ import { ApiParams } from './types';
4
+ export interface ProviderStrategy {
5
+ buildApiParams(exec: IExecuteFunctions, index: number, aiProvider: ProviderInstance, model: string, modelSettings: IDataObject, input: {
6
+ prompt?: string;
7
+ system?: string;
8
+ messages?: AiSdkMessage[];
9
+ cacheableContent?: any[];
10
+ }, options: NodeOptions, apiKey: string): Promise<ApiParams>;
11
+ formatResponse(response: any): IDataObject;
12
+ getModels(): Promise<INodePropertyOptions[]>;
13
+ getCacheMetrics(result: any, metadata?: any): IDataObject;
14
+ getModelSettings(exec: IExecuteFunctions, index: number, operation: 'generateText' | 'generateObject'): IDataObject;
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../nodes/UniversalAI/providers/strategy.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { IExecuteFunctions, IDataObject, INodePropertyOptions } from 'n8n-workflow';
2
+ import { AiApiParams, AiSdkMessage, NodeOptions, ProviderInstance } from '../../shared/types';
3
+ export { AiApiParams as ApiParams };
4
+ export interface ProviderStrategy {
5
+ buildApiParams(exec: IExecuteFunctions, index: number, aiProvider: ProviderInstance, model: string, modelSettings: IDataObject, input: {
6
+ prompt?: string;
7
+ system?: string;
8
+ messages?: AiSdkMessage[];
9
+ cacheableContent?: any[];
10
+ }, options: NodeOptions, apiKey: string): Promise<AiApiParams>;
11
+ formatResponse(response: any): IDataObject;
12
+ getModels(): Promise<INodePropertyOptions[]>;
13
+ getCacheMetrics(result: any, metadata?: any): IDataObject;
14
+ getModelSettings(exec: IExecuteFunctions, index: number, operation: 'generateText' | 'generateObject'): IDataObject;
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../nodes/UniversalAI/providers/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { INodeTypeDescription, INodeProperties } from 'n8n-workflow';
2
+ type NodeType = 'text' | 'image' | 'speech' | 'embedding' | 'transcription' | 'agent';
3
+ export declare class DescriptionBuilder {
4
+ private nodeType;
5
+ constructor(nodeType: NodeType);
6
+ build(): INodeTypeDescription;
7
+ addProviderSelector(): INodeProperties;
8
+ buildCredentials(): any[];
9
+ }
10
+ export {};
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DescriptionBuilder = void 0;
4
+ const providers_1 = require("./providers");
5
+ class DescriptionBuilder {
6
+ constructor(nodeType) {
7
+ this.nodeType = nodeType;
8
+ }
9
+ build() {
10
+ throw new Error('Method not implemented.');
11
+ }
12
+ addProviderSelector() {
13
+ const supportedProviders = Object.entries(providers_1.providerRegistry)
14
+ .filter(([_, provider]) => provider.supportedNodes.includes(this.nodeType))
15
+ .map(([value, provider]) => ({
16
+ name: provider.displayName,
17
+ value,
18
+ description: provider.description,
19
+ }));
20
+ return {
21
+ displayName: 'Provider',
22
+ name: 'provider',
23
+ type: 'options',
24
+ required: true,
25
+ noDataExpression: true,
26
+ options: supportedProviders,
27
+ default: supportedProviders.length > 0 ? supportedProviders[0].value : '',
28
+ description: `Choose which AI provider to use for ${this.nodeType} generation`,
29
+ };
30
+ }
31
+ buildCredentials() {
32
+ return Object.entries(providers_1.providerRegistry)
33
+ .filter(([_, provider]) => provider.supportedNodes.includes(this.nodeType))
34
+ .map(([providerKey, provider]) => ({
35
+ name: provider.credentialName,
36
+ required: false,
37
+ displayOptions: {
38
+ show: {
39
+ provider: [providerKey],
40
+ },
41
+ },
42
+ }));
43
+ }
44
+ }
45
+ exports.DescriptionBuilder = DescriptionBuilder;
46
+ //# sourceMappingURL=DescriptionBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DescriptionBuilder.js","sourceRoot":"","sources":["../../../nodes/shared/DescriptionBuilder.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAI/C,MAAa,kBAAkB;IAC9B,YAAoB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAE1C,KAAK;QACJ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,mBAAmB;QAClB,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,4BAAgB,CAAC;aACzD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC1E,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,QAAQ,CAAC,WAAW;YAC1B,KAAK;YACL,WAAW,EAAE,QAAQ,CAAC,WAAW;SACjC,CAAC,CAAC,CAAC;QAEL,OAAO;YACN,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACzE,WAAW,EAAE,uCAAuC,IAAI,CAAC,QAAQ,aAAa;SAC9E,CAAC;IACH,CAAC;IAED,gBAAgB;QACf,OAAO,MAAM,CAAC,OAAO,CAAC,4BAAgB,CAAC;aACrC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC1E,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,QAAQ,CAAC,cAAc;YAC7B,QAAQ,EAAE,KAAK;YACf,cAAc,EAAE;gBACf,IAAI,EAAE;oBACL,QAAQ,EAAE,CAAC,WAAW,CAAC;iBACvB;aACD;SACD,CAAC,CAAC,CAAC;IACN,CAAC;CACD;AAzCD,gDAyCC"}
@@ -31,5 +31,5 @@ export declare class CacheManager {
31
31
  readonly model: LRUCache<INodePropertyOptions[]>;
32
32
  readonly provider: LRUCache<ProviderInstance>;
33
33
  readonly schema: LRUCache<Record<string, any>>;
34
- constructor();
34
+ constructor(ttl?: number);
35
35
  }
@@ -135,10 +135,10 @@ class LRUCache {
135
135
  }
136
136
  exports.LRUCache = LRUCache;
137
137
  class CacheManager {
138
- constructor() {
139
- this.model = new LRUCache(constants_1.CACHE_SIZE.MODEL);
140
- this.provider = new LRUCache(constants_1.CACHE_SIZE.PROVIDER);
141
- this.schema = new LRUCache(constants_1.CACHE_SIZE.SCHEMA);
138
+ constructor(ttl = constants_1.CACHE_TTL.DEFAULT) {
139
+ this.model = new LRUCache(constants_1.CACHE_SIZE.MODEL, ttl);
140
+ this.provider = new LRUCache(constants_1.CACHE_SIZE.PROVIDER, ttl);
141
+ this.schema = new LRUCache(constants_1.CACHE_SIZE.SCHEMA, ttl);
142
142
  }
143
143
  }
144
144
  exports.CacheManager = CacheManager;
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../nodes/shared/cache/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../nodes/shared/cache/cache.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UNIVERSAL_TRANSCRIPTION_DESCRIPTION = exports.UNIVERSAL_AGENT_DESCRIPTION = exports.UNIVERSAL_AI_DESCRIPTION = exports.UNIVERSAL_EMBEDDING_DESCRIPTION = exports.UNIVERSAL_IMAGE_GEN_DESCRIPTION = exports.UNIVERSAL_SPEECH_GEN_DESCRIPTION = void 0;
4
+ const DescriptionBuilder_1 = require("./DescriptionBuilder");
5
+ const icons_1 = require("./icons");
6
+ const universalAiBuilder = new DescriptionBuilder_1.DescriptionBuilder('text');
7
+ const universalSpeechGenBuilder = new DescriptionBuilder_1.DescriptionBuilder('speech');
8
+ const universalImageGenBuilder = new DescriptionBuilder_1.DescriptionBuilder('image');
9
+ const universalEmbeddingBuilder = new DescriptionBuilder_1.DescriptionBuilder('embedding');
10
+ const universalAgentBuilder = new DescriptionBuilder_1.DescriptionBuilder('agent');
11
+ const universalTranscriptionBuilder = new DescriptionBuilder_1.DescriptionBuilder('transcription');
4
12
  exports.UNIVERSAL_SPEECH_GEN_DESCRIPTION = {
5
13
  displayName: 'Universal Speech Generation',
6
14
  name: 'universalSpeechGen',
@@ -14,46 +22,9 @@ exports.UNIVERSAL_SPEECH_GEN_DESCRIPTION = {
14
22
  },
15
23
  inputs: ['main'],
16
24
  outputs: ['main'],
17
- credentials: [
18
- {
19
- name: 'googleGenerativeAIApi',
20
- required: false,
21
- displayOptions: {
22
- show: {
23
- provider: ['google'],
24
- },
25
- },
26
- },
27
- {
28
- name: 'openAiApi',
29
- required: false,
30
- displayOptions: {
31
- show: {
32
- provider: ['openai'],
33
- },
34
- },
35
- },
36
- ],
25
+ credentials: universalSpeechGenBuilder.buildCredentials(),
37
26
  properties: [
38
- {
39
- displayName: 'Provider',
40
- name: 'provider',
41
- type: 'options',
42
- required: true,
43
- noDataExpression: true,
44
- options: [
45
- {
46
- name: 'Google Generative AI',
47
- value: 'google',
48
- },
49
- {
50
- name: 'OpenAI',
51
- value: 'openai',
52
- },
53
- ],
54
- default: 'google',
55
- description: 'Choose which AI provider to use for speech generation',
56
- },
27
+ universalSpeechGenBuilder.addProviderSelector(),
57
28
  {
58
29
  displayName: 'Text',
59
30
  name: 'text',
@@ -149,26 +120,7 @@ exports.UNIVERSAL_IMAGE_GEN_DESCRIPTION = {
149
120
  },
150
121
  inputs: ['main'],
151
122
  outputs: ['main'],
152
- credentials: [
153
- {
154
- name: 'googleGenerativeAIApi',
155
- required: false,
156
- displayOptions: {
157
- show: {
158
- provider: ['google'],
159
- },
160
- },
161
- },
162
- {
163
- name: 'openAiApi',
164
- required: false,
165
- displayOptions: {
166
- show: {
167
- provider: ['openai'],
168
- },
169
- },
170
- },
171
- ],
123
+ credentials: universalImageGenBuilder.buildCredentials(),
172
124
  properties: [
173
125
  {
174
126
  noDataExpression: true,
@@ -185,29 +137,7 @@ exports.UNIVERSAL_IMAGE_GEN_DESCRIPTION = {
185
137
  default: 'imageGen',
186
138
  description: 'The resource to operate on',
187
139
  },
188
- {
189
- displayName: 'Provider',
190
- name: 'provider',
191
- type: 'options',
192
- required: true,
193
- displayOptions: {
194
- show: {
195
- resource: ['imageGen'],
196
- },
197
- },
198
- options: [
199
- {
200
- name: 'Google Generative AI (Imagen)',
201
- value: 'google',
202
- },
203
- {
204
- name: 'OpenAI (DALL-E)',
205
- value: 'openai',
206
- },
207
- ],
208
- default: 'google',
209
- description: 'Choose which AI provider to use for image generation',
210
- },
140
+ universalImageGenBuilder.addProviderSelector(),
211
141
  {
212
142
  displayName: 'Model',
213
143
  name: 'model',
@@ -370,26 +300,7 @@ exports.UNIVERSAL_EMBEDDING_DESCRIPTION = {
370
300
  },
371
301
  inputs: ['main'],
372
302
  outputs: ['main'],
373
- credentials: [
374
- {
375
- name: 'googleGenerativeAIApi',
376
- required: false,
377
- displayOptions: {
378
- show: {
379
- provider: ['google'],
380
- },
381
- },
382
- },
383
- {
384
- name: 'openAiApi',
385
- required: false,
386
- displayOptions: {
387
- show: {
388
- provider: ['openai'],
389
- },
390
- },
391
- },
392
- ],
303
+ credentials: universalEmbeddingBuilder.buildCredentials(),
393
304
  properties: [
394
305
  {
395
306
  noDataExpression: true,
@@ -406,29 +317,7 @@ exports.UNIVERSAL_EMBEDDING_DESCRIPTION = {
406
317
  default: 'embedding',
407
318
  description: 'The resource to operate on',
408
319
  },
409
- {
410
- displayName: 'Provider',
411
- name: 'provider',
412
- type: 'options',
413
- required: true,
414
- displayOptions: {
415
- show: {
416
- resource: ['embedding'],
417
- },
418
- },
419
- options: [
420
- {
421
- name: 'Google Generative AI',
422
- value: 'google',
423
- },
424
- {
425
- name: 'OpenAI',
426
- value: 'openai',
427
- },
428
- ],
429
- default: 'google',
430
- description: 'Choose which AI provider to use for embeddings',
431
- },
320
+ universalEmbeddingBuilder.addProviderSelector(),
432
321
  {
433
322
  displayName: 'Model',
434
323
  name: 'model',
@@ -612,7 +501,7 @@ exports.UNIVERSAL_EMBEDDING_DESCRIPTION = {
612
501
  exports.UNIVERSAL_AI_DESCRIPTION = {
613
502
  displayName: 'Universal AI',
614
503
  name: 'universalAi',
615
- icon: 'file:icons/UniversalAI.svg',
504
+ icon: `={{(${icons_1.iconForProvider})($parameter.provider)}}`,
616
505
  iconColor: 'black',
617
506
  group: ['transform'],
618
507
  version: 2,
@@ -623,44 +512,7 @@ exports.UNIVERSAL_AI_DESCRIPTION = {
623
512
  },
624
513
  inputs: ['main'],
625
514
  outputs: ['main'],
626
- credentials: [
627
- {
628
- name: 'googleGenerativeAIApi',
629
- required: false,
630
- displayOptions: {
631
- show: {
632
- provider: ['google'],
633
- },
634
- },
635
- },
636
- {
637
- name: 'deepSeekApi',
638
- required: false,
639
- displayOptions: {
640
- show: {
641
- provider: ['deepseek'],
642
- },
643
- },
644
- },
645
- {
646
- name: 'groqApi',
647
- required: false,
648
- displayOptions: {
649
- show: {
650
- provider: ['groq'],
651
- },
652
- },
653
- },
654
- {
655
- name: 'openRouterApi',
656
- required: false,
657
- displayOptions: {
658
- show: {
659
- provider: ['openrouter'],
660
- },
661
- },
662
- },
663
- ],
515
+ credentials: universalAiBuilder.buildCredentials(),
664
516
  properties: [
665
517
  {
666
518
  displayName: 'Resource',
@@ -677,47 +529,7 @@ exports.UNIVERSAL_AI_DESCRIPTION = {
677
529
  default: 'ai',
678
530
  description: 'The resource to operate on',
679
531
  },
680
- {
681
- displayName: 'Provider',
682
- name: 'provider',
683
- type: 'options',
684
- required: true,
685
- noDataExpression: true,
686
- displayOptions: {
687
- show: {
688
- resource: ['ai'],
689
- },
690
- },
691
- options: [
692
- {
693
- name: 'Google Generative AI',
694
- value: 'google',
695
- description: 'Google Gemini models with multimodal support',
696
- },
697
- {
698
- name: 'DeepSeek',
699
- value: 'deepseek',
700
- description: 'DeepSeek models with strong reasoning capabilities',
701
- },
702
- {
703
- name: 'Groq',
704
- value: 'groq',
705
- description: 'High-performance models via Groq LPU',
706
- },
707
- {
708
- name: 'OpenRouter',
709
- value: 'openrouter',
710
- description: 'Access multiple models through OpenRouter',
711
- },
712
- {
713
- name: 'Letta AI',
714
- value: 'letta',
715
- description: 'Stateful AI agents with long-term memory',
716
- },
717
- ],
718
- default: 'google',
719
- description: 'Choose which AI provider to use',
720
- },
532
+ universalAiBuilder.addProviderSelector(),
721
533
  {
722
534
  displayName: 'Operation',
723
535
  name: 'operation',
@@ -1409,6 +1221,59 @@ exports.UNIVERSAL_AI_DESCRIPTION = {
1409
1221
  },
1410
1222
  description: 'Enable Google-specific tools for enhanced capabilities',
1411
1223
  },
1224
+ {
1225
+ displayName: 'Custom Tools (Function Calling)',
1226
+ name: 'customTools',
1227
+ type: 'fixedCollection',
1228
+ default: {},
1229
+ typeOptions: {
1230
+ multipleValues: true,
1231
+ },
1232
+ displayOptions: {
1233
+ show: {
1234
+ provider: ['google', 'openai', 'openrouter', 'deepseek', 'groq'],
1235
+ },
1236
+ },
1237
+ description: 'Define custom functions that the model can call.',
1238
+ options: [
1239
+ {
1240
+ name: 'tools',
1241
+ displayName: 'Tool',
1242
+ values: [
1243
+ {
1244
+ displayName: 'Name',
1245
+ name: 'name',
1246
+ type: 'string',
1247
+ required: true,
1248
+ default: '',
1249
+ description: 'A unique name for the function (e.g., "get_weather_forecast").',
1250
+ },
1251
+ {
1252
+ displayName: 'Description',
1253
+ name: 'description',
1254
+ type: 'string',
1255
+ typeOptions: {
1256
+ rows: 2,
1257
+ },
1258
+ required: true,
1259
+ default: '',
1260
+ description: "A clear, detailed explanation of the function's purpose.",
1261
+ },
1262
+ {
1263
+ displayName: 'Parameters (JSON Schema)',
1264
+ name: 'parameters',
1265
+ type: 'json',
1266
+ typeOptions: {
1267
+ rows: 8,
1268
+ },
1269
+ required: true,
1270
+ default: '{\n "type": "object",\n "properties": {},\n "required": []\n}',
1271
+ description: 'JSON schema defining the input parameters for the function.',
1272
+ },
1273
+ ],
1274
+ },
1275
+ ],
1276
+ },
1412
1277
  {
1413
1278
  displayName: 'Enable Streaming',
1414
1279
  name: 'enableStreaming',
@@ -1437,34 +1302,9 @@ exports.UNIVERSAL_AGENT_DESCRIPTION = {
1437
1302
  },
1438
1303
  inputs: ['main'],
1439
1304
  outputs: ['main'],
1440
- credentials: [
1441
- {
1442
- name: 'lettaApi',
1443
- required: false,
1444
- displayOptions: {
1445
- show: {
1446
- provider: ['letta'],
1447
- },
1448
- },
1449
- },
1450
- ],
1305
+ credentials: universalAgentBuilder.buildCredentials(),
1451
1306
  properties: [
1452
- {
1453
- displayName: 'Provider',
1454
- name: 'provider',
1455
- type: 'options',
1456
- required: true,
1457
- noDataExpression: true,
1458
- options: [
1459
- {
1460
- name: 'Letta AI',
1461
- value: 'letta',
1462
- description: 'Stateful AI agents with long-term memory',
1463
- },
1464
- ],
1465
- default: 'letta',
1466
- description: 'Choose which agent provider to use',
1467
- },
1307
+ universalAgentBuilder.addProviderSelector(),
1468
1308
  {
1469
1309
  displayName: 'Operation',
1470
1310
  name: 'operation',
@@ -2403,46 +2243,9 @@ exports.UNIVERSAL_TRANSCRIPTION_DESCRIPTION = {
2403
2243
  },
2404
2244
  inputs: ['main'],
2405
2245
  outputs: ['main'],
2406
- credentials: [
2407
- {
2408
- name: 'googleGenerativeAIApi',
2409
- required: false,
2410
- displayOptions: {
2411
- show: {
2412
- provider: ['google'],
2413
- },
2414
- },
2415
- },
2416
- {
2417
- name: 'openAiApi',
2418
- required: false,
2419
- displayOptions: {
2420
- show: {
2421
- provider: ['openai'],
2422
- },
2423
- },
2424
- },
2425
- ],
2246
+ credentials: universalTranscriptionBuilder.buildCredentials(),
2426
2247
  properties: [
2427
- {
2428
- displayName: 'Provider',
2429
- name: 'provider',
2430
- type: 'options',
2431
- required: true,
2432
- noDataExpression: true,
2433
- options: [
2434
- {
2435
- name: 'Google Generative AI',
2436
- value: 'google',
2437
- },
2438
- {
2439
- name: 'OpenAI (Whisper)',
2440
- value: 'openai',
2441
- },
2442
- ],
2443
- default: 'google',
2444
- description: 'Choose which AI provider to use for transcription',
2445
- },
2248
+ universalTranscriptionBuilder.addProviderSelector(),
2446
2249
  {
2447
2250
  displayName: 'Audio Source',
2448
2251
  name: 'audioSource',