n8n-nodes-vercel-ai-sdk-universal-temp 0.1.57 → 0.1.58

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.
@@ -122,141 +122,54 @@ async function getGoogleCacheManager(apiKey) {
122
122
  }
123
123
  return client;
124
124
  }
125
- async function createGoogleCache(exec, index, apiKey, cacheContent, tools) {
126
- var _a;
125
+ async function createGoogleCache(exec, index, apiKey, cacheableContent, tools, ttlSeconds) {
127
126
  try {
128
- const useGoogleCache = exec.getNodeParameter('useGoogleCache', index, false);
129
- if (!useGoogleCache) {
130
- return null;
131
- }
132
- const normalizedCacheContent = (_a = cacheContent === null || cacheContent === void 0 ? void 0 : cacheContent.trim()) !== null && _a !== void 0 ? _a : '';
133
- if (!normalizedCacheContent) {
127
+ if (!cacheableContent || cacheableContent.length === 0) {
134
128
  return null;
135
129
  }
136
130
  const googleCacheManager = await getGoogleCacheManager(apiKey);
137
131
  const cacheKeyData = {
138
- content: normalizedCacheContent,
132
+ content: JSON.stringify(cacheableContent),
139
133
  tools: tools ? Object.keys(tools).sort() : [],
140
134
  model: 'gemini-2.0-flash-001',
141
135
  };
142
136
  const cacheKey = JSON.stringify(cacheKeyData, Object.keys(cacheKeyData).sort());
143
137
  const existingCache = googleCachedContexts.get(cacheKey);
144
138
  if (existingCache) {
139
+ console.log(`UniversalAI: Reusing existing cache: ${existingCache.name}`);
145
140
  return existingCache.name;
146
141
  }
147
- const ttlSeconds = 3600;
142
+ const ttl = ttlSeconds || 3600;
148
143
  const displayName = `universal_ai_cache_${Date.now()}`;
149
144
  const cacheConfig = {
150
145
  model: 'gemini-2.0-flash-001',
151
146
  config: {
152
147
  displayName,
153
- ttl: `${ttlSeconds}s`,
154
- contents: [{
155
- role: 'user',
156
- parts: [{ text: normalizedCacheContent }],
157
- }],
148
+ ttl: `${ttl}s`,
149
+ contents: cacheableContent,
158
150
  },
159
151
  };
160
152
  if (tools && Object.keys(tools).length > 0) {
161
153
  cacheConfig.config.tools = Object.values(tools);
162
154
  }
155
+ console.log(`UniversalAI: Creating new cache...`);
163
156
  const result = await googleCacheManager.caches.create(cacheConfig);
164
157
  const cachedContentName = result === null || result === void 0 ? void 0 : result.name;
165
158
  if (!cachedContentName) {
166
159
  throw new Error('Cache creation returned no name identifier');
167
160
  }
168
- googleCachedContexts.set(cacheKey, { name: cachedContentName }, (ttlSeconds - 300) * 1000);
161
+ console.log(`UniversalAI: Cache created successfully: ${cachedContentName}`);
162
+ googleCachedContexts.set(cacheKey, { name: cachedContentName }, (ttl - 300) * 1000);
169
163
  return cachedContentName;
170
164
  }
171
165
  catch (error) {
172
- console.error('UniversalAI: Google cache creation failed:', error);
173
- return null;
174
- }
175
- }
176
- function canUseCache(cacheContent) {
177
- return Boolean(cacheContent && cacheContent.trim().length > 0);
178
- }
179
- function extractTextFromMessageContent(content) {
180
- if (!content) {
181
- return '';
182
- }
183
- if (typeof content === 'string') {
184
- return content;
185
- }
186
- if (Array.isArray(content)) {
187
- return content
188
- .map((part) => {
189
- if (!part)
190
- return '';
191
- if (typeof part === 'string')
192
- return part;
193
- if (typeof part.text === 'string')
194
- return part.text;
195
- return '';
196
- })
197
- .join(' ')
198
- .trim();
199
- }
200
- if (typeof content === 'object' && typeof content.text === 'string') {
201
- return content.text;
202
- }
203
- return '';
204
- }
205
- function resolveCacheContent(input) {
206
- const sections = [];
207
- let hasSystem = false;
208
- let hasMessages = false;
209
- let hasPrompt = false;
210
- if (input.system && input.system.trim()) {
211
- sections.push(`System Instruction:\n${input.system.trim()}`);
212
- hasSystem = true;
213
- }
214
- if (input.messages && input.messages.length > 0) {
215
- const messageSections = [];
216
- for (const message of input.messages) {
217
- const text = extractTextFromMessageContent(message.content);
218
- if (!text.trim())
219
- continue;
220
- if (message.role === 'system') {
221
- if (!hasSystem) {
222
- sections.push(`System Instruction (from messages):\n${text.trim()}`);
223
- hasSystem = true;
224
- }
225
- continue;
226
- }
227
- messageSections.push(`${message.role.toUpperCase()}:\n${text.trim()}`);
166
+ const errorMessage = error instanceof Error ? error.message : String(error);
167
+ console.error('UniversalAI: Google cache creation failed:', errorMessage);
168
+ if (errorMessage.includes('INVALID_ARGUMENT') || errorMessage.includes('minimum')) {
169
+ console.warn('UniversalAI: Content may be below minimum token requirement (1,024 tokens for 2.0 Flash, ~700-800 words)');
228
170
  }
229
- if (messageSections.length > 0) {
230
- sections.push(`Conversation History:\n${messageSections.join('\n\n')}`);
231
- hasMessages = true;
232
- }
233
- }
234
- if (input.prompt && input.prompt.trim()) {
235
- sections.push(`Instruction Template:\n${input.prompt.trim()}`);
236
- hasPrompt = true;
237
- }
238
- const content = sections.join('\n\n').trim();
239
- let source;
240
- const sourceCount = [hasSystem, hasMessages, hasPrompt].filter(Boolean).length;
241
- if (sourceCount > 1) {
242
- source = 'combined';
243
- }
244
- else if (hasSystem) {
245
- source = 'system';
246
- }
247
- else if (hasMessages) {
248
- source = 'messages';
249
- }
250
- else if (hasPrompt) {
251
- source = 'prompt';
171
+ return null;
252
172
  }
253
- return {
254
- content: content || undefined,
255
- hasSystem,
256
- hasMessages,
257
- hasPrompt,
258
- source,
259
- };
260
173
  }
261
174
  const messageSchema = zod_1.z.object({
262
175
  role: zod_1.z.enum(['system', 'user', 'assistant']),
@@ -289,15 +202,33 @@ async function buildInput(exec, itemIndex) {
289
202
  if (inputType === 'prompt') {
290
203
  const promptValue = exec.getNodeParameter('prompt', itemIndex, '');
291
204
  const systemValue = exec.getNodeParameter('system', itemIndex, '');
205
+ const cachePrompt = exec.getNodeParameter('cachePrompt', itemIndex, false);
206
+ const cacheSystemInstruction = exec.getNodeParameter('cacheSystemInstruction', itemIndex, false);
292
207
  const result = {};
208
+ const cacheableContent = [];
209
+ if (cacheSystemInstruction && (systemValue === null || systemValue === void 0 ? void 0 : systemValue.trim())) {
210
+ cacheableContent.push({
211
+ role: 'user',
212
+ parts: [{ text: systemValue.trim() }],
213
+ });
214
+ }
215
+ if (cachePrompt && (promptValue === null || promptValue === void 0 ? void 0 : promptValue.trim())) {
216
+ cacheableContent.push({
217
+ role: 'user',
218
+ parts: [{ text: promptValue.trim() }],
219
+ });
220
+ }
293
221
  const trimmedPrompt = typeof promptValue === 'string' ? promptValue.trim() : '';
294
- if (trimmedPrompt) {
222
+ if (trimmedPrompt && !cachePrompt) {
295
223
  result.prompt = trimmedPrompt;
296
224
  }
297
225
  const trimmedSystem = typeof systemValue === 'string' ? systemValue.trim() : '';
298
- if (trimmedSystem) {
226
+ if (trimmedSystem && !cacheSystemInstruction) {
299
227
  result.system = trimmedSystem;
300
228
  }
229
+ if (cacheableContent.length > 0) {
230
+ result.cacheableContent = cacheableContent;
231
+ }
301
232
  return result;
302
233
  }
303
234
  const messageAsJson = exec.getNodeParameter('messageAsJson', itemIndex, false);
@@ -324,31 +255,55 @@ async function buildMessagesFromUI(exec, itemIndex) {
324
255
  const items = exec.getInputData();
325
256
  const messagesUi = exec.getNodeParameter('messages.messagesUi', itemIndex, []);
326
257
  const builtMessages = [];
258
+ const cacheableContent = [];
327
259
  const itemBinary = items[itemIndex].binary;
328
260
  for (const msg of messagesUi) {
329
261
  const role = msg.role;
262
+ const shouldCache = msg.cacheMessage === true;
330
263
  if (role === 'system') {
331
- builtMessages.push({ role, content: msg.systemContent || '' });
264
+ const systemText = msg.systemContent || '';
265
+ if (shouldCache && systemText.trim()) {
266
+ cacheableContent.push({
267
+ role: 'user',
268
+ parts: [{ text: systemText.trim() }],
269
+ });
270
+ }
271
+ else {
272
+ builtMessages.push({ role, content: systemText });
273
+ }
332
274
  continue;
333
275
  }
334
276
  const attachments = ((_a = msg.attachments) === null || _a === void 0 ? void 0 : _a.attachment) || [];
335
277
  if (attachments.length === 0) {
336
- builtMessages.push({ role, content: msg.content || '' });
278
+ const messageText = msg.content || '';
279
+ if (shouldCache && messageText.trim()) {
280
+ const cacheRole = role === 'assistant' ? 'model' : 'user';
281
+ cacheableContent.push({
282
+ role: cacheRole,
283
+ parts: [{ text: messageText.trim() }],
284
+ });
285
+ }
286
+ else {
287
+ builtMessages.push({ role, content: messageText });
288
+ }
337
289
  }
338
290
  else {
339
- const messageWithAttachments = await buildMessageWithAttachments(role, msg.content, attachments, itemBinary, exec, itemIndex);
291
+ const messageWithAttachments = await buildMessageWithAttachments(role, msg.content, attachments, itemBinary, exec, itemIndex, shouldCache, cacheableContent);
340
292
  if (messageWithAttachments) {
341
293
  builtMessages.push(messageWithAttachments);
342
294
  }
343
295
  }
344
296
  }
345
297
  const convertMessagesToModel = exec.getNodeParameter('convertMessagesToModel', itemIndex, false);
346
- if (convertMessagesToModel) {
347
- return { messages: (0, ai_1.convertToModelMessages)(builtMessages) };
298
+ const result = {
299
+ messages: convertMessagesToModel ? (0, ai_1.convertToModelMessages)(builtMessages) : builtMessages,
300
+ };
301
+ if (cacheableContent.length > 0) {
302
+ result.cacheableContent = cacheableContent;
348
303
  }
349
- return { messages: builtMessages };
304
+ return result;
350
305
  }
351
- async function buildMessageWithAttachments(role, content, attachments, itemBinary, exec, itemIndex) {
306
+ async function buildMessageWithAttachments(role, content, attachments, itemBinary, exec, itemIndex, shouldCacheMessage, cacheableContent) {
352
307
  const parts = [];
353
308
  if (content) {
354
309
  parts.push({ type: 'text', text: content });
@@ -357,7 +312,7 @@ async function buildMessageWithAttachments(role, content, attachments, itemBinar
357
312
  const processedAttachments = [];
358
313
  for (let i = 0; i < attachments.length; i += MAX_CONCURRENT_ATTACHMENTS) {
359
314
  const batch = attachments.slice(i, i + MAX_CONCURRENT_ATTACHMENTS);
360
- const batchPromises = batch.map(attachment => processAttachment(attachment, itemBinary, exec, itemIndex));
315
+ const batchPromises = batch.map(attachment => processAttachment(attachment, itemBinary, exec, itemIndex, shouldCacheMessage, cacheableContent));
361
316
  const batchResults = await Promise.all(batchPromises);
362
317
  processedAttachments.push(...batchResults);
363
318
  }
@@ -368,7 +323,7 @@ async function buildMessageWithAttachments(role, content, attachments, itemBinar
368
323
  }
369
324
  return parts.length > 0 ? { role, content: parts } : null;
370
325
  }
371
- async function processAttachment(attachment, itemBinary, exec, itemIndex) {
326
+ async function processAttachment(attachment, itemBinary, exec, itemIndex, shouldCacheMessage, cacheableContent) {
372
327
  const fileContentInput = attachment.fileContent;
373
328
  if (!fileContentInput || typeof fileContentInput !== 'string')
374
329
  return null;
@@ -376,6 +331,13 @@ async function processAttachment(attachment, itemBinary, exec, itemIndex) {
376
331
  let fileData;
377
332
  if (isUrl(fileContentInput)) {
378
333
  fileData = fileContentInput;
334
+ if (attachment.cacheAttachment === true) {
335
+ cacheableContent.push({
336
+ role: 'user',
337
+ parts: [{ fileUri: fileContentInput, mimeType: mimeType || 'application/octet-stream' }],
338
+ });
339
+ return null;
340
+ }
379
341
  }
380
342
  else {
381
343
  const result = await getBinaryData(fileContentInput, itemBinary, exec, itemIndex);
@@ -490,7 +452,7 @@ function formatUsage(result, provider) {
490
452
  return usage;
491
453
  }
492
454
  function getCacheMetrics(result, provider, metadata) {
493
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
455
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
494
456
  const resolvedMetadata = metadata !== null && metadata !== void 0 ? metadata : result.experimental_providerMetadata;
495
457
  const metrics = {};
496
458
  switch (provider) {
@@ -511,19 +473,29 @@ function getCacheMetrics(result, provider, metadata) {
511
473
  }
512
474
  break;
513
475
  case 'google':
476
+ let cachedTokens;
514
477
  if (((_f = (_e = resolvedMetadata === null || resolvedMetadata === void 0 ? void 0 : resolvedMetadata.google) === null || _e === void 0 ? void 0 : _e.usageMetadata) === null || _f === void 0 ? void 0 : _f.cachedContentTokenCount) !== undefined) {
515
- metrics.cachedContentTokenCount = resolvedMetadata.google.usageMetadata.cachedContentTokenCount;
478
+ cachedTokens = resolvedMetadata.google.usageMetadata.cachedContentTokenCount;
479
+ }
480
+ if (cachedTokens === undefined && ((_h = (_g = result.response) === null || _g === void 0 ? void 0 : _g.usageMetadata) === null || _h === void 0 ? void 0 : _h.cachedContentTokenCount) !== undefined) {
481
+ cachedTokens = result.response.usageMetadata.cachedContentTokenCount;
482
+ }
483
+ if (cachedTokens === undefined && ((_m = (_l = (_k = (_j = resolvedMetadata === null || resolvedMetadata === void 0 ? void 0 : resolvedMetadata.google) === null || _j === void 0 ? void 0 : _j.candidates) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.usageMetadata) === null || _m === void 0 ? void 0 : _m.cachedContentTokenCount) !== undefined) {
484
+ cachedTokens = resolvedMetadata.google.candidates[0].usageMetadata.cachedContentTokenCount;
516
485
  }
517
- if (((_h = (_g = result.response) === null || _g === void 0 ? void 0 : _g.usageMetadata) === null || _h === void 0 ? void 0 : _h.cachedContentTokenCount) !== undefined) {
518
- metrics.cachedContentTokenCount = result.response.usageMetadata.cachedContentTokenCount;
486
+ if (cachedTokens === undefined && ((_q = (_p = (_o = result.providerMetadata) === null || _o === void 0 ? void 0 : _o.google) === null || _p === void 0 ? void 0 : _p.usageMetadata) === null || _q === void 0 ? void 0 : _q.cachedContentTokenCount) !== undefined) {
487
+ cachedTokens = result.providerMetadata.google.usageMetadata.cachedContentTokenCount;
519
488
  }
520
- if (((_m = (_l = (_k = (_j = resolvedMetadata === null || resolvedMetadata === void 0 ? void 0 : resolvedMetadata.google) === null || _j === void 0 ? void 0 : _j.candidates) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.usageMetadata) === null || _m === void 0 ? void 0 : _m.cachedContentTokenCount) !== undefined) {
521
- metrics.cachedContentTokenCount = resolvedMetadata.google.candidates[0].usageMetadata.cachedContentTokenCount;
489
+ if (cachedTokens === undefined && ((_s = (_r = result.rawResponse) === null || _r === void 0 ? void 0 : _r.usageMetadata) === null || _s === void 0 ? void 0 : _s.cachedContentTokenCount) !== undefined) {
490
+ cachedTokens = result.rawResponse.usageMetadata.cachedContentTokenCount;
522
491
  }
523
- if (((_p = (_o = resolvedMetadata === null || resolvedMetadata === void 0 ? void 0 : resolvedMetadata.google) === null || _o === void 0 ? void 0 : _o.usageMetadata) === null || _p === void 0 ? void 0 : _p.thoughtsTokenCount) !== undefined) {
492
+ if (cachedTokens !== undefined) {
493
+ metrics.cachedContentTokenCount = cachedTokens;
494
+ }
495
+ if (((_u = (_t = resolvedMetadata === null || resolvedMetadata === void 0 ? void 0 : resolvedMetadata.google) === null || _t === void 0 ? void 0 : _t.usageMetadata) === null || _u === void 0 ? void 0 : _u.thoughtsTokenCount) !== undefined) {
524
496
  metrics.thoughtsTokenCount = resolvedMetadata.google.usageMetadata.thoughtsTokenCount;
525
497
  }
526
- if (((_r = (_q = resolvedMetadata === null || resolvedMetadata === void 0 ? void 0 : resolvedMetadata.google) === null || _q === void 0 ? void 0 : _q.usageMetadata) === null || _r === void 0 ? void 0 : _r.totalBillableTokenCount) !== undefined) {
498
+ if (((_w = (_v = resolvedMetadata === null || resolvedMetadata === void 0 ? void 0 : resolvedMetadata.google) === null || _v === void 0 ? void 0 : _v.usageMetadata) === null || _w === void 0 ? void 0 : _w.totalBillableTokenCount) !== undefined) {
527
499
  metrics.totalBillableTokenCount = resolvedMetadata.google.usageMetadata.totalBillableTokenCount;
528
500
  }
529
501
  break;
@@ -744,38 +716,30 @@ function getGoogleCustomHeaders(exec, index) {
744
716
  }
745
717
  return Object.keys(headers).length > 0 ? headers : undefined;
746
718
  }
747
- async function prepareGoogleCache(exec, index, apiKey, input, tools, context) {
748
- const useGoogleCache = exec.getNodeParameter('useGoogleCache', index, false);
749
- const cacheContentInfo = resolveCacheContent(input);
750
- let cachedContentName = null;
751
- if (useGoogleCache && canUseCache(cacheContentInfo.content)) {
752
- try {
753
- cachedContentName = await createGoogleCache(exec, index, apiKey, cacheContentInfo.content, tools);
754
- }
755
- catch (error) {
756
- console.warn(`UniversalAI: Cache creation for ${context} generation failed, continuing without cache:`, error);
757
- }
758
- }
759
- const googleProviderOptions = buildGoogleProviderOptions(exec, index, cachedContentName || undefined);
760
- return {
761
- cachedContentName,
762
- cacheContentInfo,
763
- googleProviderOptions,
764
- };
765
- }
766
719
  async function generateTextOperation(exec, index, provider, aiProvider, model, modelSettings, input, options, apiKey) {
767
720
  const enableStreaming = exec.getNodeParameter('enableStreaming', index, false);
768
721
  const includeRequestBody = options.includeRequestBody;
769
722
  const tools = provider === 'google' ? await buildGoogleTools(exec, index) : undefined;
770
723
  let googleProviderOptions;
771
- if (provider === 'google') {
772
- const cacheSetup = await prepareGoogleCache(exec, index, apiKey, input, tools, 'text');
773
- googleProviderOptions = cacheSetup.googleProviderOptions;
724
+ if (provider === 'google' && input.cacheableContent && input.cacheableContent.length > 0) {
725
+ const cacheTTL = exec.getNodeParameter('cacheTTL', index, 3600);
726
+ const cachedContentName = await createGoogleCache(exec, index, apiKey, input.cacheableContent, tools, cacheTTL);
727
+ if (cachedContentName) {
728
+ googleProviderOptions = buildGoogleProviderOptions(exec, index, cachedContentName);
729
+ }
730
+ }
731
+ else if (provider === 'google') {
732
+ googleProviderOptions = buildGoogleProviderOptions(exec, index);
774
733
  }
775
734
  const params = {
776
735
  model: aiProvider(model, modelSettings),
777
- ...input,
778
736
  };
737
+ if (input.prompt)
738
+ params.prompt = input.prompt;
739
+ if (input.system)
740
+ params.system = input.system;
741
+ if (input.messages)
742
+ params.messages = input.messages;
779
743
  if (tools && Object.keys(tools).length > 0) {
780
744
  params.tools = tools;
781
745
  }
@@ -865,17 +829,28 @@ async function generateObjectOperation(exec, index, provider, aiProvider, model,
865
829
  const rawSchema = exec.getNodeParameter('schema', index);
866
830
  const parsedSchema = parseAndValidateSchema(rawSchema, exec);
867
831
  let googleProviderOptions;
868
- if (provider === 'google') {
869
- const cacheSetup = await prepareGoogleCache(exec, index, apiKey, input, undefined, 'object');
870
- googleProviderOptions = cacheSetup.googleProviderOptions;
832
+ if (provider === 'google' && input.cacheableContent && input.cacheableContent.length > 0) {
833
+ const cacheTTL = exec.getNodeParameter('cacheTTL', index, 3600);
834
+ const cachedContentName = await createGoogleCache(exec, index, apiKey, input.cacheableContent, undefined, cacheTTL);
835
+ if (cachedContentName) {
836
+ googleProviderOptions = buildGoogleProviderOptions(exec, index, cachedContentName);
837
+ }
838
+ }
839
+ else if (provider === 'google') {
840
+ googleProviderOptions = buildGoogleProviderOptions(exec, index);
871
841
  }
872
842
  const params = {
873
843
  model: aiProvider(model, modelSettings),
874
844
  schema: (0, ai_1.jsonSchema)(parsedSchema),
875
845
  schemaName,
876
846
  schemaDescription,
877
- ...input,
878
847
  };
848
+ if (input.prompt)
849
+ params.prompt = input.prompt;
850
+ if (input.system)
851
+ params.system = input.system;
852
+ if (input.messages)
853
+ params.messages = input.messages;
879
854
  if (provider === 'google' && googleProviderOptions) {
880
855
  params.providerOptions = {
881
856
  google: googleProviderOptions,
@@ -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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"}