n8n-nodes-vercel-ai-sdk-universal-temp 0.1.26 → 0.1.28

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.
@@ -51,6 +51,7 @@ class Cache {
51
51
  this.cache = new Map();
52
52
  this.totalHits = 0;
53
53
  this.totalMisses = 0;
54
+ this.totalEvictions = 0;
54
55
  this.maxSize = maxSize;
55
56
  this.ttl = ttl;
56
57
  }
@@ -60,8 +61,10 @@ class Cache {
60
61
  this.totalMisses++;
61
62
  return undefined;
62
63
  }
63
- if (Date.now() - item.timestamp > this.ttl) {
64
+ const now = Date.now();
65
+ if (item.expiresAt && now > item.expiresAt) {
64
66
  this.cache.delete(key);
67
+ this.totalEvictions++;
65
68
  this.totalMisses++;
66
69
  return undefined;
67
70
  }
@@ -69,39 +72,121 @@ class Cache {
69
72
  this.totalHits++;
70
73
  return item.value;
71
74
  }
72
- set(key, value) {
75
+ set(key, value, customTTL) {
76
+ const now = Date.now();
77
+ const expiresAt = customTTL ? now + customTTL : (this.ttl > 0 ? now + this.ttl : undefined);
73
78
  if (this.cache.size >= this.maxSize) {
74
- let minHits = Infinity;
75
- let keyToDelete;
79
+ let oldestKey;
80
+ let oldestTime = now;
76
81
  for (const [k, v] of this.cache.entries()) {
77
- if (v.hits < minHits) {
78
- minHits = v.hits;
79
- keyToDelete = k;
82
+ if (v.timestamp < oldestTime) {
83
+ oldestTime = v.timestamp;
84
+ oldestKey = k;
80
85
  }
81
86
  }
82
- if (keyToDelete) {
83
- this.cache.delete(keyToDelete);
87
+ if (oldestKey) {
88
+ this.cache.delete(oldestKey);
89
+ this.totalEvictions++;
84
90
  }
85
91
  }
86
- this.cache.set(key, { value, timestamp: Date.now(), hits: 0 });
92
+ this.cache.set(key, { value, timestamp: now, hits: 0, expiresAt });
87
93
  }
88
- getStats() {
89
- return {
90
- size: this.cache.size,
91
- hits: this.totalHits,
92
- misses: this.totalMisses,
93
- hitRate: this.totalHits / (this.totalHits + this.totalMisses) || 0
94
- };
94
+ delete(key) {
95
+ return this.cache.delete(key);
95
96
  }
96
97
  clear() {
97
98
  this.cache.clear();
98
99
  this.totalHits = 0;
99
100
  this.totalMisses = 0;
101
+ this.totalEvictions = 0;
102
+ }
103
+ getStats() {
104
+ return {
105
+ size: this.cache.size,
106
+ maxSize: this.maxSize,
107
+ hitRate: this.totalHits / (this.totalHits + this.totalMisses) || 0,
108
+ totalHits: this.totalHits,
109
+ totalMisses: this.totalMisses,
110
+ totalEvictions: this.totalEvictions,
111
+ ttl: this.ttl,
112
+ };
100
113
  }
101
114
  }
102
115
  const modelCache = new Cache(50);
103
116
  const providerCache = new Cache(20);
104
117
  const schemaCache = new Cache(30);
118
+ const responseCache = new Cache(100, 10 * 60 * 1000);
119
+ let googleCacheManager = null;
120
+ const createdCaches = new Map();
121
+ function generateResponseCacheKey(operation, provider, model, params) {
122
+ var _a;
123
+ const keyData = {
124
+ operation,
125
+ provider,
126
+ model,
127
+ prompt: params.prompt,
128
+ system: params.system,
129
+ messages: (_a = params.messages) === null || _a === void 0 ? void 0 : _a.map((m) => ({ role: m.role, content: m.content })),
130
+ temperature: params.temperature,
131
+ maxTokens: params.maxTokens,
132
+ tools: params.tools ? Object.keys(params.tools) : undefined,
133
+ };
134
+ const keyString = JSON.stringify(keyData, Object.keys(keyData).sort());
135
+ const crypto = require('crypto');
136
+ return crypto.createHash('md5').update(keyString).digest('hex');
137
+ }
138
+ async function createGoogleCache(exec, index, apiKey) {
139
+ try {
140
+ if (!googleCacheManager) {
141
+ const { GoogleAICacheManager } = require('@google/generative-ai/server');
142
+ googleCacheManager = new GoogleAICacheManager(apiKey);
143
+ }
144
+ const createCache = exec.getNodeParameter('createCache', index, false);
145
+ if (!createCache) {
146
+ return null;
147
+ }
148
+ const cacheContent = exec.getNodeParameter('cacheContent', index, '');
149
+ if (!cacheContent.trim()) {
150
+ throw new Error('Cache content is required when creating a cache');
151
+ }
152
+ const cacheTTL = exec.getNodeParameter('cacheTTL', index, 60);
153
+ const cacheName = exec.getNodeParameter('cacheName', index, '');
154
+ const finalCacheName = cacheName.trim() || `cache_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
155
+ const ttlSeconds = cacheTTL * 60;
156
+ const cacheKey = `${finalCacheName}:${cacheContent.substring(0, 100)}`;
157
+ const existingCache = createdCaches.get(cacheKey);
158
+ if (existingCache && (Date.now() - existingCache.createdAt) < (ttlSeconds * 1000)) {
159
+ return existingCache.name;
160
+ }
161
+ console.log('UniversalAI: Creating Google cache:', {
162
+ name: finalCacheName,
163
+ contentLength: cacheContent.length,
164
+ ttlSeconds
165
+ });
166
+ const { name: cachedContentName } = await googleCacheManager.create({
167
+ model: 'gemini-2.5-pro',
168
+ contents: [
169
+ {
170
+ role: 'user',
171
+ parts: [{ text: cacheContent }],
172
+ },
173
+ ],
174
+ ttlSeconds,
175
+ displayName: finalCacheName,
176
+ });
177
+ createdCaches.set(cacheKey, {
178
+ name: cachedContentName,
179
+ createdAt: Date.now(),
180
+ ttlSeconds,
181
+ });
182
+ console.log('UniversalAI: Cache created successfully:', cachedContentName);
183
+ return cachedContentName;
184
+ }
185
+ catch (error) {
186
+ console.error('UniversalAI: Failed to create Google cache:', error);
187
+ throw new Error(`Cache creation failed: ${error.message}`);
188
+ }
189
+ }
105
190
  const messageSchema = zod_1.z.object({
106
191
  role: zod_1.z.enum(['system', 'user', 'assistant']),
107
192
  content: zod_1.z.any(),
@@ -254,8 +339,34 @@ async function getBinaryData(fileContentInput, itemBinary, exec, itemIndex) {
254
339
  }
255
340
  return null;
256
341
  }
342
+ function formatTextWithGroundingLinks(text, groundingMetadata) {
343
+ if (!(groundingMetadata === null || groundingMetadata === void 0 ? void 0 : groundingMetadata.groundingSupports) || !(groundingMetadata === null || groundingMetadata === void 0 ? void 0 : groundingMetadata.groundingChunks)) {
344
+ return text;
345
+ }
346
+ let formattedText = text;
347
+ const supports = groundingMetadata.groundingSupports;
348
+ const chunks = groundingMetadata.groundingChunks;
349
+ const sortedSupports = supports
350
+ .filter((support) => { var _a; return ((_a = support.groundingChunkIndices) === null || _a === void 0 ? void 0 : _a.length) > 0; })
351
+ .sort((a, b) => b.segment.startIndex - a.segment.startIndex);
352
+ for (const support of sortedSupports) {
353
+ const segment = support.segment;
354
+ const chunkIndex = support.groundingChunkIndices[0];
355
+ const chunk = chunks[chunkIndex];
356
+ if (chunk === null || chunk === void 0 ? void 0 : chunk.web) {
357
+ const startIndex = segment.startIndex;
358
+ const endIndex = segment.endIndex;
359
+ const segmentText = text.substring(startIndex, endIndex);
360
+ const linkUrl = chunk.web.uri;
361
+ const beforeSegment = formattedText.substring(0, startIndex);
362
+ const afterSegment = formattedText.substring(endIndex);
363
+ formattedText = `${beforeSegment}[${segmentText}](${linkUrl})${afterSegment}`;
364
+ }
365
+ }
366
+ return formattedText;
367
+ }
257
368
  function formatTextResult(result, includeRequestBody, provider) {
258
- var _a, _b, _c;
369
+ var _a, _b, _c, _d;
259
370
  let { text, reasoning } = result;
260
371
  if (provider === 'groq' && text.includes('<think>')) {
261
372
  const thinkMatch = text.match(/<think>(.*?)<\/think>/s);
@@ -283,9 +394,13 @@ function formatTextResult(result, includeRequestBody, provider) {
283
394
  const providerMetadata = result.experimental_providerMetadata;
284
395
  baseResult.groundingMetadata = (_a = providerMetadata === null || providerMetadata === void 0 ? void 0 : providerMetadata.google) === null || _a === void 0 ? void 0 : _a.groundingMetadata;
285
396
  baseResult.safetyRatings = (_b = providerMetadata === null || providerMetadata === void 0 ? void 0 : providerMetadata.google) === null || _b === void 0 ? void 0 : _b.safetyRatings;
397
+ baseResult.urlContextMetadata = (_c = providerMetadata === null || providerMetadata === void 0 ? void 0 : providerMetadata.google) === null || _c === void 0 ? void 0 : _c.urlContextMetadata;
398
+ if (baseResult.groundingMetadata) {
399
+ baseResult.textWithLinks = formatTextWithGroundingLinks(text, baseResult.groundingMetadata);
400
+ }
286
401
  }
287
402
  if (includeRequestBody) {
288
- const requestBody = (_c = result.request) === null || _c === void 0 ? void 0 : _c.body;
403
+ const requestBody = (_d = result.request) === null || _d === void 0 ? void 0 : _d.body;
289
404
  if (requestBody !== undefined) {
290
405
  baseResult.request = { body: requestBody };
291
406
  }
@@ -318,6 +433,12 @@ function formatUsage(result, provider) {
318
433
  if (Object.keys(cacheMetrics).length > 0) {
319
434
  usage.cacheMetrics = cacheMetrics;
320
435
  }
436
+ usage.cacheStats = {
437
+ responseCache: responseCache.getStats(),
438
+ modelCache: modelCache.getStats(),
439
+ providerCache: providerCache.getStats(),
440
+ schemaCache: schemaCache.getStats(),
441
+ };
321
442
  return usage;
322
443
  }
323
444
  function getCacheMetrics(result, provider) {
@@ -488,6 +609,21 @@ async function processItem(exec, index, provider, aiProvider) {
488
609
  const operation = exec.getNodeParameter('operation', index);
489
610
  const model = exec.getNodeParameter('model', index);
490
611
  const options = exec.getNodeParameter('options', index, {});
612
+ if (provider === 'google') {
613
+ const credentials = await exec.getCredentials('googleGenerativeAIApi');
614
+ const apiKey = credentials === null || credentials === void 0 ? void 0 : credentials.apiKey;
615
+ if (apiKey) {
616
+ try {
617
+ const createdCacheName = await createGoogleCache(exec, index, apiKey);
618
+ if (createdCacheName) {
619
+ options.cachedContent = createdCacheName;
620
+ }
621
+ }
622
+ catch (error) {
623
+ console.warn('UniversalAI: Cache creation failed, continuing without cache:', error);
624
+ }
625
+ }
626
+ }
491
627
  const input = await buildInput(exec, index);
492
628
  const modelSettings = getModelSettings(exec, index, provider, operation, options);
493
629
  return operation === 'generateText'
@@ -509,11 +645,6 @@ function getModelSettings(exec, index, provider, operation, options) {
509
645
  }));
510
646
  }
511
647
  settings.structuredOutputs = operation === 'generateObject';
512
- settings.useSearchGrounding = exec.getNodeParameter('useSearchGrounding', index, false);
513
- const cachedContent = exec.getNodeParameter('cachedContent', index, '');
514
- if (cachedContent) {
515
- settings.cachedContent = cachedContent;
516
- }
517
648
  const responseModalities = exec.getNodeParameter('responseModalities', index, []);
518
649
  if (responseModalities.length > 0) {
519
650
  settings.responseModalities = responseModalities;
@@ -521,7 +652,32 @@ function getModelSettings(exec, index, provider, operation, options) {
521
652
  }
522
653
  return settings;
523
654
  }
655
+ function buildGoogleProviderOptions(exec, index) {
656
+ const thinkingBudgetValue = Number(exec.getNodeParameter('thinkingBudget', index, 0));
657
+ const cachedContent = exec.getNodeParameter('cachedContent', index, '');
658
+ const includeThoughts = exec.getNodeParameter('includeThoughts', index, false);
659
+ const options = {};
660
+ if (!Number.isNaN(thinkingBudgetValue)) {
661
+ options.thinkingConfig = {
662
+ thinkingBudget: thinkingBudgetValue,
663
+ includeThoughts,
664
+ };
665
+ }
666
+ if (cachedContent) {
667
+ options.cachedContent = cachedContent;
668
+ }
669
+ return Object.keys(options).length > 0 ? options : undefined;
670
+ }
524
671
  async function generateTextOperation(exec, index, provider, aiProvider, model, modelSettings, input, options) {
672
+ const enableCaching = exec.getNodeParameter('enableCaching', index, true);
673
+ const cacheKey = enableCaching ? generateResponseCacheKey('generateText', provider, model, { ...input, ...options }) : null;
674
+ if (cacheKey) {
675
+ const cachedResult = responseCache.get(cacheKey);
676
+ if (cachedResult) {
677
+ console.log('UniversalAI: Response cache hit for key:', cacheKey.substring(0, 8));
678
+ return [{ json: cachedResult }];
679
+ }
680
+ }
525
681
  const enableStreaming = exec.getNodeParameter('enableStreaming', index, false);
526
682
  const includeRequestBody = options.includeRequestBody;
527
683
  const tools = provider === 'google' ? await buildGoogleTools(exec, index) : undefined;
@@ -530,18 +686,11 @@ async function generateTextOperation(exec, index, provider, aiProvider, model, m
530
686
  ...input,
531
687
  ...(tools && { tools }),
532
688
  };
533
- if (provider === 'google') {
534
- const thinkingBudgetValue = Number(exec.getNodeParameter('thinkingBudget', index, 0));
535
- if (!Number.isNaN(thinkingBudgetValue)) {
536
- params.providerOptions = {
537
- google: {
538
- thinkingConfig: {
539
- thinkingBudget: thinkingBudgetValue,
540
- includeThoughts: exec.getNodeParameter('includeThoughts', index, false),
541
- },
542
- },
543
- };
544
- }
689
+ const googleProviderOptions = buildGoogleProviderOptions(exec, index);
690
+ if (googleProviderOptions) {
691
+ params.providerOptions = {
692
+ google: googleProviderOptions,
693
+ };
545
694
  }
546
695
  const numericOptionKeys = [
547
696
  'maxTokens',
@@ -562,7 +711,11 @@ async function generateTextOperation(exec, index, provider, aiProvider, model, m
562
711
  return await handleStreaming(params, provider, includeRequestBody);
563
712
  }
564
713
  const result = await (0, ai_1.generateText)(params);
565
- return [{ json: formatTextResult(result, includeRequestBody, provider) }];
714
+ const formattedResult = formatTextResult(result, includeRequestBody, provider);
715
+ if (cacheKey) {
716
+ responseCache.set(cacheKey, formattedResult);
717
+ }
718
+ return [{ json: formattedResult }];
566
719
  }
567
720
  async function buildGoogleTools(exec, index) {
568
721
  const googleTools = exec.getNodeParameter('googleTools', index, []);
@@ -585,6 +738,7 @@ async function buildGoogleTools(exec, index) {
585
738
  }
586
739
  async function handleStreaming(params, provider, includeRequestBody) {
587
740
  if (provider === 'google' && params.providerOptions) {
741
+ params.providerOptions.google.streaming = true;
588
742
  }
589
743
  const stream = await (0, ai_1.streamText)(params);
590
744
  const chunks = [];
@@ -613,6 +767,15 @@ async function handleStreaming(params, provider, includeRequestBody) {
613
767
  return chunks;
614
768
  }
615
769
  async function generateObjectOperation(exec, index, provider, aiProvider, model, modelSettings, input, options) {
770
+ const enableCaching = exec.getNodeParameter('enableCaching', index, true);
771
+ const cacheKey = enableCaching ? generateResponseCacheKey('generateObject', provider, model, { ...input, ...options }) : null;
772
+ if (cacheKey) {
773
+ const cachedResult = responseCache.get(cacheKey);
774
+ if (cachedResult) {
775
+ console.log('UniversalAI: Response cache hit for key:', cacheKey.substring(0, 8));
776
+ return [{ json: cachedResult }];
777
+ }
778
+ }
616
779
  const schemaName = exec.getNodeParameter('schemaName', index, '');
617
780
  const schemaDescription = exec.getNodeParameter('schemaDescription', index, '');
618
781
  const rawSchema = exec.getNodeParameter('schema', index);
@@ -624,18 +787,11 @@ async function generateObjectOperation(exec, index, provider, aiProvider, model,
624
787
  schemaDescription,
625
788
  ...input,
626
789
  };
627
- if (provider === 'google') {
628
- const thinkingBudgetValue = Number(exec.getNodeParameter('thinkingBudget', index, 0));
629
- if (!Number.isNaN(thinkingBudgetValue)) {
630
- params.providerOptions = {
631
- google: {
632
- thinkingConfig: {
633
- thinkingBudget: thinkingBudgetValue,
634
- includeThoughts: exec.getNodeParameter('includeThoughts', index, false),
635
- },
636
- },
637
- };
638
- }
790
+ const googleProviderOptions = buildGoogleProviderOptions(exec, index);
791
+ if (googleProviderOptions) {
792
+ params.providerOptions = {
793
+ google: googleProviderOptions,
794
+ };
639
795
  }
640
796
  const numericOptionKeys = [
641
797
  'temperature',
@@ -652,6 +808,10 @@ async function generateObjectOperation(exec, index, provider, aiProvider, model,
652
808
  }
653
809
  }
654
810
  const result = await (0, ai_1.generateObject)(params);
655
- return [{ json: formatObjectResult(result, options.includeRequestBody, provider) }];
811
+ const formattedResult = formatObjectResult(result, options.includeRequestBody, provider);
812
+ if (cacheKey) {
813
+ responseCache.set(cacheKey, formattedResult);
814
+ }
815
+ return [{ json: formattedResult }];
656
816
  }
657
817
  //# sourceMappingURL=UniversalAI.node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalAI.node.js","sourceRoot":"","sources":["../../../nodes/UniversalAI/UniversalAI.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UniversalAI.node.js","sourceRoot":"","sources":["../../../nodes/UniversalAI/UniversalAI.node.ts"],"names":[],"mappings":"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"}
@@ -1228,8 +1228,20 @@ exports.UNIVERSAL_AI_DESCRIPTION = {
1228
1228
  description: 'Set safety categories and thresholds to block or filter certain outputs',
1229
1229
  },
1230
1230
  {
1231
- displayName: 'Use Search Grounding',
1232
- name: 'useSearchGrounding',
1231
+ displayName: 'Cached Content',
1232
+ name: 'cachedContent',
1233
+ type: 'string',
1234
+ default: '',
1235
+ displayOptions: {
1236
+ show: {
1237
+ provider: ['google'],
1238
+ },
1239
+ },
1240
+ description: 'Name of cached content to use (format: cachedContents/{cachedContent}). Reduces costs for repetitive content.',
1241
+ },
1242
+ {
1243
+ displayName: 'Create Cache',
1244
+ name: 'createCache',
1233
1245
  type: 'boolean',
1234
1246
  default: false,
1235
1247
  displayOptions: {
@@ -1237,19 +1249,53 @@ exports.UNIVERSAL_AI_DESCRIPTION = {
1237
1249
  provider: ['google'],
1238
1250
  },
1239
1251
  },
1240
- description: 'Whether to enable real-time or up-to-date information if supported by the model',
1252
+ description: 'Create a new cache for repetitive content to reduce future costs.',
1241
1253
  },
1242
1254
  {
1243
- displayName: 'Cached Content',
1244
- name: 'cachedContent',
1255
+ displayName: 'Cache Content',
1256
+ name: 'cacheContent',
1245
1257
  type: 'string',
1246
1258
  default: '',
1247
1259
  displayOptions: {
1248
1260
  show: {
1249
1261
  provider: ['google'],
1262
+ createCache: [true],
1250
1263
  },
1251
1264
  },
1252
- description: 'Name of cached content to use (format: cachedContents/{cachedContent}). Reduces costs for repetitive content.',
1265
+ description: 'Content to cache for future use. Should contain repetitive text like instructions or context.',
1266
+ typeOptions: {
1267
+ rows: 4,
1268
+ },
1269
+ },
1270
+ {
1271
+ displayName: 'Cache TTL (minutes)',
1272
+ name: 'cacheTTL',
1273
+ type: 'number',
1274
+ default: 60,
1275
+ displayOptions: {
1276
+ show: {
1277
+ provider: ['google'],
1278
+ createCache: [true],
1279
+ },
1280
+ },
1281
+ description: 'Time to live for the cache in minutes (1-1440). Default is 60 minutes.',
1282
+ typeOptions: {
1283
+ minValue: 1,
1284
+ maxValue: 1440,
1285
+ },
1286
+ },
1287
+ {
1288
+ displayName: 'Cache Name',
1289
+ name: 'cacheName',
1290
+ type: 'string',
1291
+ default: '',
1292
+ displayOptions: {
1293
+ show: {
1294
+ provider: ['google'],
1295
+ createCache: [true],
1296
+ },
1297
+ },
1298
+ description: 'Optional name for the cache. If empty, a unique name will be generated.',
1253
1299
  },
1254
1300
  {
1255
1301
  displayName: 'Response Modalities',
@@ -1313,16 +1359,11 @@ exports.UNIVERSAL_AI_DESCRIPTION = {
1313
1359
  description: 'Enable Google-specific tools for enhanced capabilities',
1314
1360
  },
1315
1361
  {
1316
- displayName: 'Enable Streaming',
1317
- name: 'enableStreaming',
1362
+ displayName: 'Enable Caching',
1363
+ name: 'enableCaching',
1318
1364
  type: 'boolean',
1319
- default: false,
1320
- displayOptions: {
1321
- show: {
1322
- operation: ['generateText'],
1323
- },
1324
- },
1325
- description: 'Whether to stream the response in chunks. Output will contain multiple items.',
1365
+ default: true,
1366
+ description: 'Cache responses for identical requests to improve performance and reduce API costs.',
1326
1367
  },
1327
1368
  ],
1328
1369
  };