n8n-nodes-vercel-ai-sdk-universal-temp 0.1.67 → 0.1.69

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.
@@ -42,135 +42,8 @@ const ai_1 = require("ai");
42
42
  const zod_1 = require("zod");
43
43
  const ajv_1 = __importDefault(require("ajv"));
44
44
  const descriptions_1 = require("../shared/descriptions");
45
- class Cache {
46
- constructor(maxSize = 100, ttl = 5 * 60 * 1000) {
47
- this.cache = new Map();
48
- this.totalHits = 0;
49
- this.totalMisses = 0;
50
- this.totalEvictions = 0;
51
- this.maxSize = maxSize;
52
- this.ttl = ttl;
53
- }
54
- get(key) {
55
- const item = this.cache.get(key);
56
- if (!item) {
57
- this.totalMisses++;
58
- return undefined;
59
- }
60
- const now = Date.now();
61
- if (item.expiresAt && now > item.expiresAt) {
62
- this.cache.delete(key);
63
- this.totalEvictions++;
64
- this.totalMisses++;
65
- return undefined;
66
- }
67
- item.hits++;
68
- this.totalHits++;
69
- return item.value;
70
- }
71
- set(key, value, customTTL) {
72
- const now = Date.now();
73
- const expiresAt = customTTL ? now + customTTL : (this.ttl > 0 ? now + this.ttl : undefined);
74
- if (this.cache.size >= this.maxSize) {
75
- let oldestKey;
76
- let oldestTime = now;
77
- for (const [k, v] of this.cache.entries()) {
78
- if (v.timestamp < oldestTime) {
79
- oldestTime = v.timestamp;
80
- oldestKey = k;
81
- }
82
- }
83
- if (oldestKey) {
84
- this.cache.delete(oldestKey);
85
- this.totalEvictions++;
86
- }
87
- }
88
- this.cache.set(key, { value, timestamp: now, hits: 0, expiresAt });
89
- }
90
- delete(key) {
91
- return this.cache.delete(key);
92
- }
93
- clear() {
94
- this.cache.clear();
95
- this.totalHits = 0;
96
- this.totalMisses = 0;
97
- this.totalEvictions = 0;
98
- }
99
- getStats() {
100
- return {
101
- size: this.cache.size,
102
- maxSize: this.maxSize,
103
- hitRate: this.totalHits / (this.totalHits + this.totalMisses) || 0,
104
- totalHits: this.totalHits,
105
- totalMisses: this.totalMisses,
106
- totalEvictions: this.totalEvictions,
107
- ttl: this.ttl,
108
- };
109
- }
110
- }
111
- const modelCache = new Cache(50);
112
- const providerCache = new Cache(20);
113
- const schemaCache = new Cache(30);
114
- const googleCacheClients = new Cache(10, 60 * 60 * 1000);
115
- const googleCachedContexts = new Cache(50, 55 * 60 * 1000);
116
- async function getGoogleCacheManager(apiKey) {
117
- let client = googleCacheClients.get(apiKey);
118
- if (!client) {
119
- const { GoogleGenAI } = await Promise.resolve().then(() => __importStar(require('@google/genai')));
120
- client = new GoogleGenAI({ apiKey });
121
- googleCacheClients.set(apiKey, client);
122
- }
123
- return client;
124
- }
125
- async function createGoogleCache(exec, index, apiKey, cacheableContent, modelId, thinkingBudgetValue, includeThoughts, tools, ttlSeconds) {
126
- try {
127
- if (!cacheableContent || cacheableContent.length === 0) {
128
- return null;
129
- }
130
- const googleCacheManager = await getGoogleCacheManager(apiKey);
131
- const cacheKeyData = {
132
- content: JSON.stringify(cacheableContent),
133
- tools: tools ? Object.keys(tools).sort() : [],
134
- model: modelId,
135
- };
136
- const cacheKey = JSON.stringify(cacheKeyData, Object.keys(cacheKeyData).sort());
137
- const existingCache = googleCachedContexts.get(cacheKey);
138
- if (existingCache) {
139
- console.log(`UniversalAI: Reusing existing cache: ${existingCache.name}`);
140
- return existingCache.name;
141
- }
142
- const ttl = ttlSeconds || 3600;
143
- const displayName = `universal_ai_cache_${Date.now()}`;
144
- const cacheConfig = {
145
- model: modelId,
146
- config: {
147
- displayName,
148
- ttl: `${ttl}s`,
149
- contents: cacheableContent,
150
- },
151
- };
152
- if (tools && Object.keys(tools).length > 0) {
153
- cacheConfig.config.tools = Object.values(tools);
154
- }
155
- console.log(`UniversalAI: Creating new cache...`);
156
- const result = await googleCacheManager.caches.create(cacheConfig);
157
- const cachedContentName = result === null || result === void 0 ? void 0 : result.name;
158
- if (!cachedContentName) {
159
- throw new Error('Cache creation returned no name identifier');
160
- }
161
- console.log(`UniversalAI: Cache created successfully: ${cachedContentName}`);
162
- googleCachedContexts.set(cacheKey, { name: cachedContentName }, (ttl - 300) * 1000);
163
- return cachedContentName;
164
- }
165
- catch (error) {
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)');
170
- }
171
- return null;
172
- }
173
- }
45
+ const helpers_1 = require("../shared/helpers");
46
+ const constants_1 = require("../shared/constants");
174
47
  const messageSchema = zod_1.z.object({
175
48
  role: zod_1.z.enum(['system', 'user', 'assistant']),
176
49
  content: zod_1.z.any(),
@@ -308,10 +181,9 @@ async function buildMessageWithAttachments(role, content, attachments, itemBinar
308
181
  if (content) {
309
182
  parts.push({ type: 'text', text: content });
310
183
  }
311
- const MAX_CONCURRENT_ATTACHMENTS = 3;
312
184
  const processedAttachments = [];
313
- for (let i = 0; i < attachments.length; i += MAX_CONCURRENT_ATTACHMENTS) {
314
- const batch = attachments.slice(i, i + MAX_CONCURRENT_ATTACHMENTS);
185
+ for (let i = 0; i < attachments.length; i += constants_1.PROCESSING.MAX_CONCURRENT_ATTACHMENTS) {
186
+ const batch = attachments.slice(i, i + constants_1.PROCESSING.MAX_CONCURRENT_ATTACHMENTS);
315
187
  const batchPromises = batch.map(attachment => processAttachment(attachment, itemBinary, exec, itemIndex, shouldCacheMessage, cacheableContent));
316
188
  const batchResults = await Promise.all(batchPromises);
317
189
  processedAttachments.push(...batchResults);
@@ -371,7 +243,7 @@ async function getBinaryData(fileContentInput, itemBinary, exec, itemIndex) {
371
243
  try {
372
244
  if (isLikelyBase64(fileContentInput)) {
373
245
  const buffer = Buffer.from(fileContentInput, 'base64');
374
- if (buffer.length > 0 && buffer.length < 50 * 1024 * 1024) {
246
+ if (buffer.length > 0 && buffer.length < constants_1.PROCESSING.MAX_BASE64_SIZE) {
375
247
  return { data: buffer, mimeType: undefined };
376
248
  }
377
249
  }
@@ -511,52 +383,9 @@ function formatResponse(result) {
511
383
  headers: (_d = result.response) === null || _d === void 0 ? void 0 : _d.headers,
512
384
  };
513
385
  }
514
- async function getProvider(provider, apiKey, baseURL, customHeaders) {
515
- const headersKey = customHeaders
516
- ? JSON.stringify(Object.keys(customHeaders)
517
- .sort()
518
- .map((key) => [key, customHeaders[key]]))
519
- : '';
520
- const cacheKey = `${provider}:${apiKey}:${baseURL || ''}:${headersKey}`;
521
- const cached = providerCache.get(cacheKey);
522
- if (cached)
523
- return cached;
524
- let providerInstance;
525
- try {
526
- switch (provider) {
527
- case 'google':
528
- const { createGoogleGenerativeAI } = await Promise.resolve().then(() => __importStar(require('@ai-sdk/google')));
529
- providerInstance = createGoogleGenerativeAI({
530
- apiKey,
531
- ...(baseURL && { baseURL }),
532
- ...(customHeaders && Object.keys(customHeaders).length > 0 && { headers: customHeaders }),
533
- });
534
- break;
535
- case 'deepseek':
536
- const { createDeepSeek } = await Promise.resolve().then(() => __importStar(require('@ai-sdk/deepseek')));
537
- providerInstance = createDeepSeek({ apiKey, ...(baseURL && { baseURL }) });
538
- break;
539
- case 'groq':
540
- const { createGroq } = await Promise.resolve().then(() => __importStar(require('@ai-sdk/groq')));
541
- providerInstance = createGroq({ apiKey, ...(baseURL && { baseURL }) });
542
- break;
543
- case 'openrouter':
544
- const { createOpenRouter } = await Promise.resolve().then(() => __importStar(require('@openrouter/ai-sdk-provider')));
545
- providerInstance = createOpenRouter({ apiKey, ...(baseURL && { baseURL }) });
546
- break;
547
- default:
548
- throw new Error(`Unsupported provider: ${provider}`);
549
- }
550
- providerCache.set(cacheKey, providerInstance);
551
- return providerInstance;
552
- }
553
- catch (error) {
554
- throw new Error(`Failed to initialize ${provider} provider: ${error.message}`);
555
- }
556
- }
557
386
  function parseAndValidateSchema(rawSchema, exec) {
558
387
  const cacheKey = `schema:${Buffer.from(rawSchema).toString('base64').substring(0, 50)}`;
559
- const cached = schemaCache.get(cacheKey);
388
+ const cached = helpers_1.schemaCache.get(cacheKey);
560
389
  if (cached)
561
390
  return cached;
562
391
  let parsedSchema;
@@ -569,7 +398,7 @@ function parseAndValidateSchema(rawSchema, exec) {
569
398
  if (!ajv.validateSchema(parsedSchema)) {
570
399
  throw new n8n_workflow_1.NodeOperationError(exec.getNode(), `Invalid JSON Schema: ${ajv.errorsText(ajv.errors)}`);
571
400
  }
572
- schemaCache.set(cacheKey, parsedSchema);
401
+ helpers_1.schemaCache.set(cacheKey, parsedSchema);
573
402
  return parsedSchema;
574
403
  }
575
404
  function parseStopSequences(stopSequencesStr) {
@@ -593,17 +422,17 @@ class UniversalAI {
593
422
  async getModels() {
594
423
  const provider = this.getCurrentNodeParameter('provider');
595
424
  const cacheKey = `models:${provider}`;
596
- const cached = modelCache.get(cacheKey);
425
+ const cached = helpers_1.modelCache.get(cacheKey);
597
426
  if (cached)
598
427
  return cached;
599
- const { OPENROUTER_MODELS, GOOGLE_GEMINI_MODELS, DEEPSEEK_MODELS, GROQ_MODELS } = await Promise.resolve().then(() => __importStar(require('./model-lists')));
428
+ const { OPENROUTER_MODELS, GOOGLE_GEMINI_MODELS, DEEPSEEK_MODELS, GROQ_MODELS } = await Promise.resolve().then(() => __importStar(require('../shared//model-lists')));
600
429
  const models = {
601
430
  google: GOOGLE_GEMINI_MODELS,
602
431
  deepseek: DEEPSEEK_MODELS,
603
432
  groq: GROQ_MODELS,
604
433
  openrouter: OPENROUTER_MODELS,
605
434
  }[provider] || [];
606
- modelCache.set(cacheKey, models);
435
+ helpers_1.modelCache.set(cacheKey, models);
607
436
  return models;
608
437
  },
609
438
  },
@@ -613,25 +442,13 @@ class UniversalAI {
613
442
  const items = this.getInputData();
614
443
  const returnData = [];
615
444
  const provider = this.getNodeParameter('provider', 0);
616
- const credentialType = {
617
- google: 'googleGenerativeAIApi',
618
- deepseek: 'deepSeekApi',
619
- groq: 'groqApi',
620
- openrouter: 'openRouterApi',
621
- }[provider];
622
- if (!credentialType) {
623
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unsupported provider: ${provider}`);
624
- }
625
- const credentials = await this.getCredentials(credentialType);
626
- if (!(credentials === null || credentials === void 0 ? void 0 : credentials.apiKey)) {
627
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No API key provided in credentials');
628
- }
445
+ const { apiKey, baseUrl } = await (0, helpers_1.getCredentials)(this, provider);
629
446
  const customHeaders = provider === 'google' ? getGoogleCustomHeaders(this, 0) : undefined;
630
- const aiProvider = await getProvider(provider, credentials.apiKey, credentials.baseUrl, customHeaders);
447
+ const aiProvider = await (0, helpers_1.getProvider)(this, provider, apiKey, baseUrl, customHeaders);
631
448
  for (let i = 0; i < items.length; i++) {
632
449
  if (this.continueOnFail()) {
633
450
  try {
634
- const result = await processItem(this, i, provider, aiProvider, credentials.apiKey);
451
+ const result = await processItem(this, i, provider, aiProvider, apiKey);
635
452
  returnData.push(...result);
636
453
  }
637
454
  catch (error) {
@@ -643,7 +460,7 @@ class UniversalAI {
643
460
  }
644
461
  }
645
462
  else {
646
- const result = await processItem(this, i, provider, aiProvider, credentials.apiKey);
463
+ const result = await processItem(this, i, provider, aiProvider, apiKey);
647
464
  returnData.push(...result);
648
465
  }
649
466
  }
@@ -683,21 +500,6 @@ function getModelSettings(exec, index, provider, operation, options) {
683
500
  }
684
501
  return settings;
685
502
  }
686
- function buildGoogleProviderOptions(exec, index, cachedContentName, thinkingBudgetOverride, includeThoughtsOverride) {
687
- const thinkingBudgetValue = thinkingBudgetOverride !== null && thinkingBudgetOverride !== void 0 ? thinkingBudgetOverride : Number(exec.getNodeParameter('thinkingBudget', index, -1));
688
- const includeThoughts = includeThoughtsOverride !== null && includeThoughtsOverride !== void 0 ? includeThoughtsOverride : exec.getNodeParameter('includeThoughts', index, false);
689
- const options = {};
690
- if (!Number.isNaN(thinkingBudgetValue) && thinkingBudgetValue > -1) {
691
- options.thinkingConfig = {
692
- thinkingBudget: Math.max(0, thinkingBudgetValue),
693
- includeThoughts,
694
- };
695
- }
696
- if (cachedContentName) {
697
- options.cachedContent = cachedContentName;
698
- }
699
- return Object.keys(options).length > 0 ? options : undefined;
700
- }
701
503
  function getGoogleCustomHeaders(exec, index) {
702
504
  var _a, _b;
703
505
  const headersCollection = exec.getNodeParameter('customHeaders', index, {});
@@ -719,29 +521,9 @@ function getGoogleCustomHeaders(exec, index) {
719
521
  async function generateTextOperation(exec, index, provider, aiProvider, model, modelSettings, input, options, apiKey) {
720
522
  const enableStreaming = exec.getNodeParameter('enableStreaming', index, false);
721
523
  const includeRequestBody = options.includeRequestBody;
722
- const tools = provider === 'google' ? await buildGoogleTools(exec, index) : undefined;
723
- let googleProviderOptions;
724
- let thinkingBudgetValue;
725
- let includeThoughts;
726
- if (provider === 'google') {
727
- thinkingBudgetValue = Number(exec.getNodeParameter('thinkingBudget', index, -1));
728
- includeThoughts = exec.getNodeParameter('includeThoughts', index, false);
729
- }
730
- if (provider === 'google' &&
731
- input.cacheableContent &&
732
- input.cacheableContent.length > 0) {
733
- const cacheTTL = exec.getNodeParameter('cacheTTL', index, 3600);
734
- const cachedContentName = await createGoogleCache(exec, index, apiKey, input.cacheableContent, model, thinkingBudgetValue !== null && thinkingBudgetValue !== void 0 ? thinkingBudgetValue : -1, includeThoughts !== null && includeThoughts !== void 0 ? includeThoughts : false, tools, cacheTTL);
735
- if (cachedContentName) {
736
- googleProviderOptions = buildGoogleProviderOptions(exec, index, cachedContentName, thinkingBudgetValue, includeThoughts);
737
- }
738
- else {
739
- console.log('UniversalAI: Cache creation failed, falling back to regular content');
740
- }
741
- }
742
- else if (provider === 'google') {
743
- googleProviderOptions = buildGoogleProviderOptions(exec, index, undefined, thinkingBudgetValue, includeThoughts);
744
- }
524
+ const googleProviderOptions = provider === 'google'
525
+ ? await (0, helpers_1.setupGoogleProviderOptions)(exec, index, input, model, apiKey)
526
+ : undefined;
745
527
  const params = {
746
528
  model: aiProvider(model, modelSettings),
747
529
  };
@@ -751,50 +533,13 @@ async function generateTextOperation(exec, index, provider, aiProvider, model, m
751
533
  params.system = input.system;
752
534
  if (input.messages)
753
535
  params.messages = input.messages;
754
- if (tools && Object.keys(tools).length > 0) {
755
- params.tools = tools;
756
- }
757
536
  if (provider === 'google' && googleProviderOptions) {
758
537
  params.providerOptions = {
759
538
  google: googleProviderOptions,
760
539
  };
761
540
  }
762
- if (provider === 'google' &&
763
- input.cacheableContent &&
764
- input.cacheableContent.length > 0 &&
765
- !(googleProviderOptions === null || googleProviderOptions === void 0 ? void 0 : googleProviderOptions.cachedContent)) {
766
- if (input.messages && input.messages.length > 0) {
767
- const fallbackMessages = input.cacheableContent.map(content => {
768
- const role = content.role === 'model' ? 'assistant' : (content.role === 'user' ? 'user' : 'system');
769
- const textParts = content.parts
770
- .filter(part => 'text' in part)
771
- .map(part => part.text);
772
- return {
773
- role: role,
774
- content: textParts.join('\n')
775
- };
776
- });
777
- params.messages = [...fallbackMessages, ...(params.messages || [])];
778
- }
779
- else {
780
- for (const content of input.cacheableContent) {
781
- const textParts = content.parts
782
- .filter(part => 'text' in part)
783
- .map(part => part.text)
784
- .join('\n');
785
- if (textParts.trim()) {
786
- if (!params.system) {
787
- params.system = textParts.trim();
788
- }
789
- else if (!params.prompt) {
790
- params.prompt = textParts.trim();
791
- }
792
- else {
793
- params.prompt = params.prompt + '\n\n' + textParts.trim();
794
- }
795
- }
796
- }
797
- }
541
+ if (provider === 'google' && !(googleProviderOptions === null || googleProviderOptions === void 0 ? void 0 : googleProviderOptions.cachedContent)) {
542
+ (0, helpers_1.restoreCacheableContent)(params, input);
798
543
  }
799
544
  const textNumericKeys = [
800
545
  'maxTokens',
@@ -813,25 +558,6 @@ async function generateTextOperation(exec, index, provider, aiProvider, model, m
813
558
  const formattedResult = formatTextResult(result, includeRequestBody, provider);
814
559
  return [{ json: formattedResult }];
815
560
  }
816
- async function buildGoogleTools(exec, index) {
817
- const googleTools = exec.getNodeParameter('googleTools', index, []);
818
- if (!googleTools || googleTools.length === 0) {
819
- return undefined;
820
- }
821
- const tools = {};
822
- const { google } = await Promise.resolve().then(() => __importStar(require('@ai-sdk/google')));
823
- const toolSet = new Set(googleTools);
824
- if (toolSet.has('google_search')) {
825
- tools.google_search = google.tools.googleSearch({});
826
- }
827
- if (toolSet.has('url_context')) {
828
- tools.url_context = google.tools.urlContext({});
829
- }
830
- if (toolSet.has('code_execution')) {
831
- tools.code_execution = google.tools.codeExecution({});
832
- }
833
- return tools;
834
- }
835
561
  async function handleStreaming(params, provider, includeRequestBody) {
836
562
  const stream = await (0, ai_1.streamText)(params);
837
563
  const chunks = [];
@@ -876,28 +602,9 @@ async function generateObjectOperation(exec, index, provider, aiProvider, model,
876
602
  const schemaDescription = exec.getNodeParameter('schemaDescription', index, '');
877
603
  const rawSchema = exec.getNodeParameter('schema', index);
878
604
  const parsedSchema = parseAndValidateSchema(rawSchema, exec);
879
- let googleProviderOptions;
880
- let thinkingBudgetValue;
881
- let includeThoughts;
882
- if (provider === 'google') {
883
- thinkingBudgetValue = Number(exec.getNodeParameter('thinkingBudget', index, -1));
884
- includeThoughts = exec.getNodeParameter('includeThoughts', index, false);
885
- }
886
- if (provider === 'google' &&
887
- input.cacheableContent &&
888
- input.cacheableContent.length > 0) {
889
- const cacheTTL = exec.getNodeParameter('cacheTTL', index, 3600);
890
- const cachedContentName = await createGoogleCache(exec, index, apiKey, input.cacheableContent, model, thinkingBudgetValue !== null && thinkingBudgetValue !== void 0 ? thinkingBudgetValue : -1, includeThoughts !== null && includeThoughts !== void 0 ? includeThoughts : false, undefined, cacheTTL);
891
- if (cachedContentName) {
892
- googleProviderOptions = buildGoogleProviderOptions(exec, index, cachedContentName, thinkingBudgetValue, includeThoughts);
893
- }
894
- else {
895
- console.log('UniversalAI: Cache creation failed, falling back to regular content');
896
- }
897
- }
898
- else if (provider === 'google') {
899
- googleProviderOptions = buildGoogleProviderOptions(exec, index, undefined, thinkingBudgetValue, includeThoughts);
900
- }
605
+ const googleProviderOptions = provider === 'google'
606
+ ? await (0, helpers_1.setupGoogleProviderOptions)(exec, index, input, model, apiKey)
607
+ : undefined;
901
608
  const params = {
902
609
  model: aiProvider(model, modelSettings),
903
610
  schema: (0, ai_1.jsonSchema)(parsedSchema),
@@ -915,42 +622,8 @@ async function generateObjectOperation(exec, index, provider, aiProvider, model,
915
622
  google: googleProviderOptions,
916
623
  };
917
624
  }
918
- if (provider === 'google' &&
919
- input.cacheableContent &&
920
- input.cacheableContent.length > 0 &&
921
- !(googleProviderOptions === null || googleProviderOptions === void 0 ? void 0 : googleProviderOptions.cachedContent)) {
922
- if (input.messages && input.messages.length > 0) {
923
- const fallbackMessages = input.cacheableContent.map(content => {
924
- const role = content.role === 'model' ? 'assistant' : (content.role === 'user' ? 'user' : 'system');
925
- const textParts = content.parts
926
- .filter(part => 'text' in part)
927
- .map(part => part.text);
928
- return {
929
- role: role,
930
- content: textParts.join('\n')
931
- };
932
- });
933
- params.messages = [...fallbackMessages, ...(params.messages || [])];
934
- }
935
- else {
936
- for (const content of input.cacheableContent) {
937
- const textParts = content.parts
938
- .filter(part => 'text' in part)
939
- .map(part => part.text)
940
- .join('\n');
941
- if (textParts.trim()) {
942
- if (!params.system) {
943
- params.system = textParts.trim();
944
- }
945
- else if (!params.prompt) {
946
- params.prompt = textParts.trim();
947
- }
948
- else {
949
- params.prompt = params.prompt + '\n\n' + textParts.trim();
950
- }
951
- }
952
- }
953
- }
625
+ if (provider === 'google' && !(googleProviderOptions === null || googleProviderOptions === void 0 ? void 0 : googleProviderOptions.cachedContent)) {
626
+ (0, helpers_1.restoreCacheableContent)(params, input);
954
627
  }
955
628
  const objectNumericKeys = [
956
629
  'temperature',
@@ -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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"}