@mate-academy/llm-gateway 6.1.0 → 6.2.1

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 (75) hide show
  1. package/dist/LLMService.constants.d.ts +291 -1
  2. package/dist/LLMService.constants.js +2 -1
  3. package/dist/LLMService.constants.js.map +1 -1
  4. package/dist/LLMService.typedefs.d.ts +9 -0
  5. package/dist/LLMService.typedefs.js.map +1 -1
  6. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.d.ts +12 -7
  7. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +232 -64
  8. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
  9. package/dist/providers/LLMAPI/LLMAPI.constants.d.ts +293 -4
  10. package/dist/providers/LLMAPI/LLMAPI.constants.js +3 -3
  11. package/dist/providers/LLMAPI/LLMAPI.constants.js.map +1 -1
  12. package/dist/providers/LLMAPI/LLMAPI.entity.d.ts +6 -0
  13. package/dist/providers/LLMAPI/LLMAPI.entity.js +48 -0
  14. package/dist/providers/LLMAPI/LLMAPI.entity.js.map +1 -0
  15. package/dist/providers/LLMAPI/LLMAPI.typedefs.js.map +1 -1
  16. package/dist/providers/LLMAPI/index.d.ts +1 -0
  17. package/dist/providers/LLMAPI/index.js +1 -0
  18. package/dist/providers/LLMAPI/index.js.map +1 -1
  19. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.d.ts +37 -0
  20. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +500 -0
  21. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -0
  22. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.d.ts +2 -1
  23. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js +23 -13
  24. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js.map +1 -1
  25. package/dist/providers/LLMAPI/services/index.d.ts +1 -0
  26. package/dist/providers/LLMAPI/services/index.js +1 -0
  27. package/dist/providers/LLMAPI/services/index.js.map +1 -1
  28. package/dist/providers/LLMAPI/utilities/LLMAPIJsonFixer.js +2 -4
  29. package/dist/providers/LLMAPI/utilities/LLMAPIJsonFixer.js.map +1 -1
  30. package/dist/providers/LLMAPI/utilities/index.d.ts +2 -0
  31. package/dist/providers/LLMAPI/utilities/index.js +5 -1
  32. package/dist/providers/LLMAPI/utilities/index.js.map +1 -1
  33. package/dist/providers/LLMAPI/utilities/parseXmlToolCalls.d.ts +7 -0
  34. package/dist/providers/LLMAPI/utilities/parseXmlToolCalls.js +35 -0
  35. package/dist/providers/LLMAPI/utilities/parseXmlToolCalls.js.map +1 -0
  36. package/dist/providers/LLMAPI/utilities/stripThinkingTags.d.ts +1 -0
  37. package/dist/providers/LLMAPI/utilities/stripThinkingTags.js +7 -0
  38. package/dist/providers/LLMAPI/utilities/stripThinkingTags.js.map +1 -0
  39. package/dist/providers/OpenAI/services/OpenAIAssistance.service.d.ts +12 -7
  40. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +180 -67
  41. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
  42. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.d.ts +2 -0
  43. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.js +60 -76
  44. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.js.map +1 -1
  45. package/dist/services/LLMAssistanceService.abstract.d.ts +8 -6
  46. package/dist/services/LLMAssistanceService.abstract.js +20 -0
  47. package/dist/services/LLMAssistanceService.abstract.js.map +1 -1
  48. package/dist/services/chatState/CompletionsChatState.d.ts +19 -0
  49. package/dist/services/chatState/CompletionsChatState.js +80 -0
  50. package/dist/services/chatState/CompletionsChatState.js.map +1 -0
  51. package/dist/services/chatState/index.d.ts +1 -0
  52. package/dist/services/chatState/index.js +6 -0
  53. package/dist/services/chatState/index.js.map +1 -0
  54. package/dist/services/fileStorage/FileStorageToolExecutor.d.ts +15 -0
  55. package/dist/services/fileStorage/FileStorageToolExecutor.js +172 -0
  56. package/dist/services/fileStorage/FileStorageToolExecutor.js.map +1 -0
  57. package/dist/services/fileStorage/InMemoryFileStorage.d.ts +20 -0
  58. package/dist/services/fileStorage/InMemoryFileStorage.js +67 -0
  59. package/dist/services/fileStorage/InMemoryFileStorage.js.map +1 -0
  60. package/dist/services/fileStorage/fileStorageTools.d.ts +26 -0
  61. package/dist/services/fileStorage/fileStorageTools.js +68 -0
  62. package/dist/services/fileStorage/fileStorageTools.js.map +1 -0
  63. package/dist/services/fileStorage/index.d.ts +4 -0
  64. package/dist/services/fileStorage/index.js +11 -0
  65. package/dist/services/fileStorage/index.js.map +1 -0
  66. package/dist/utilities/index.d.ts +1 -0
  67. package/dist/utilities/index.js +1 -0
  68. package/dist/utilities/index.js.map +1 -1
  69. package/dist/utilities/tools/LLMTool.d.ts +10 -0
  70. package/dist/utilities/tools/LLMTool.js +10 -0
  71. package/dist/utilities/tools/LLMTool.js.map +1 -0
  72. package/dist/utilities/tools/index.d.ts +1 -0
  73. package/dist/utilities/tools/index.js +6 -0
  74. package/dist/utilities/tools/index.js.map +1 -0
  75. package/package.json +1 -1
@@ -9,6 +9,7 @@ const services_1 = require("../../../services");
9
9
  const GoogleGenerativeAI_typedefs_1 = require("../../../providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs");
10
10
  const GoogleGenerativeAI_entity_1 = require("../../../providers/GoogleGenerativeAI/GoogleGenerativeAI.entity");
11
11
  const GoogleGenerativeAI_constants_1 = require("../../../providers/GoogleGenerativeAI/GoogleGenerativeAI.constants");
12
+ const LLMService_constants_1 = require("../../../LLMService.constants");
12
13
  class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceService {
13
14
  cachedContent = new Map();
14
15
  chatSessions = new Map();
@@ -254,12 +255,6 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
254
255
  this.chatInstructions.delete(chatId);
255
256
  return Promise.resolve();
256
257
  }
257
- async assistInChat(options) {
258
- if (options.schema) {
259
- return this.assistInChatStructured(options);
260
- }
261
- return this.assistInChatText(options);
262
- }
263
258
  getStorageFileParts(storageId) {
264
259
  if (!storageId) {
265
260
  return [];
@@ -271,44 +266,45 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
271
266
  return GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.getFileDataParts(uncachedFiles);
272
267
  }
273
268
  async assistInChatText(options) {
274
- const { message, chatId, storageId, model, reporterContext, abortSignal, } = options;
269
+ const { model, reporterContext, abortSignal, } = options;
275
270
  const writeMetrics = this.reporter?.initWriter(reporterContext);
276
271
  try {
277
- const chatSession = this.chatSessions.get(chatId);
278
- if (!chatSession) {
279
- throw new Error('Chat session not found');
280
- }
281
- abortSignal?.throwIfAborted();
282
- const messageContent = await GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.getContent(message, this.instance, this.logger);
283
- abortSignal?.throwIfAborted();
284
- if (!messageContent.parts) {
285
- throw new Error('No message parts available');
286
- }
287
- const storageFileParts = this.getStorageFileParts(storageId);
272
+ const { chatSession, messageParts, sendMessageConfig, } = await this.prepareChatMessage({
273
+ chatId: options.chatId,
274
+ message: options.message,
275
+ storageId: options.storageId,
276
+ tools: options.tools,
277
+ abortSignal,
278
+ });
288
279
  const chatResponse = await chatSession.sendMessage({
289
- message: [...storageFileParts, ...messageContent.parts],
290
- config: {
291
- systemInstruction: this.chatInstructions.get(chatId),
292
- abortSignal,
293
- },
280
+ message: messageParts,
281
+ config: sendMessageConfig,
294
282
  });
295
283
  abortSignal?.throwIfAborted();
296
- const promptTokens = chatResponse.usageMetadata?.promptTokenCount ?? 0;
297
- const cachedTokens = chatResponse.usageMetadata?.cachedContentTokenCount ?? 0;
298
- const regularInputTokens = promptTokens - cachedTokens;
299
- const outputTokens = chatResponse.usageMetadata?.candidatesTokenCount ?? 0;
284
+ const toolLoopResult = await this.executeGoogleToolLoop({
285
+ chatSession,
286
+ response: chatResponse,
287
+ tools: options.tools ?? [],
288
+ maxIterations: options.maxToolIterations
289
+ ?? LLMService_constants_1.DEFAULT_MAX_TOOL_ITERATIONS,
290
+ abortSignal,
291
+ config: sendMessageConfig,
292
+ });
293
+ const responseText = toolLoopResult.response.text ?? '';
294
+ const { totalUsage } = toolLoopResult;
295
+ const regularInputTokens = totalUsage.promptTokens - totalUsage.cachedTokens;
300
296
  await this.writeSuccessMetrics({
301
297
  method: this.getMethodName(this.assistInChatText),
302
298
  model,
303
299
  usage: {
304
300
  inputTextTokens: regularInputTokens,
305
- inputCachedTextTokens: cachedTokens,
306
- outputTextTokens: outputTokens,
301
+ inputCachedTextTokens: totalUsage.cachedTokens,
302
+ outputTextTokens: totalUsage.candidatesTokens,
307
303
  },
308
304
  writeMetrics,
309
305
  });
310
306
  return {
311
- text: chatResponse.text ?? '',
307
+ text: responseText,
312
308
  };
313
309
  }
314
310
  catch (error) {
@@ -328,54 +324,76 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
328
324
  }
329
325
  }
330
326
  async assistInChatStructured(options) {
331
- const { message, chatId, storageId, model, abortSignal, schema, reporterContext, } = options;
327
+ const { model, abortSignal, schema, reporterContext, } = options;
332
328
  const writeMetrics = this.reporter?.initWriter(reporterContext);
333
329
  try {
334
- const chatSession = this.chatSessions.get(chatId);
335
- if (!chatSession) {
336
- throw new Error('Chat session not found');
337
- }
338
- abortSignal?.throwIfAborted();
339
- const messageContent = await GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.getContent(message, this.instance, this.logger);
340
- abortSignal?.throwIfAborted();
341
- if (!messageContent.parts) {
342
- throw new Error('No message parts available');
343
- }
344
- const storageFileParts = this.getStorageFileParts(storageId);
345
330
  const googleSchema = schema._toProviderSchema(LLMService_typedefs_1.LLMProviders.GoogleGenerativeAI);
346
- const chatResponse = await chatSession.sendMessage({
347
- message: [...storageFileParts, ...messageContent.parts],
348
- config: {
349
- systemInstruction: this.chatInstructions.get(chatId),
350
- responseMimeType: 'application/json',
331
+ const { chatSession, messageParts, sendMessageConfig, } = await this.prepareChatMessage({
332
+ chatId: options.chatId,
333
+ message: options.message,
334
+ storageId: options.storageId,
335
+ tools: options.tools,
336
+ abortSignal,
337
+ structuredConfig: {
338
+ ...(!options.tools?.length && {
339
+ responseMimeType: 'application/json',
340
+ }),
351
341
  responseSchema: googleSchema,
352
- abortSignal,
353
342
  },
354
343
  });
344
+ const chatResponse = await chatSession.sendMessage({
345
+ message: messageParts,
346
+ config: sendMessageConfig,
347
+ });
355
348
  abortSignal?.throwIfAborted();
356
- const content = chatResponse.text ?? '';
357
- if (!content) {
358
- throw new Error('Empty response from Google Generative AI Assistant');
349
+ const toolLoopResult = await this.executeGoogleToolLoop({
350
+ chatSession,
351
+ response: chatResponse,
352
+ tools: options.tools ?? [],
353
+ maxIterations: options.maxToolIterations
354
+ ?? LLMService_constants_1.DEFAULT_MAX_TOOL_ITERATIONS,
355
+ abortSignal,
356
+ config: sendMessageConfig,
357
+ });
358
+ let finalResponseText;
359
+ let totalUsage = toolLoopResult.totalUsage;
360
+ if (options.tools?.length) {
361
+ const structuredFollowUp = await this.sendStructuredFollowUp({
362
+ chatSession,
363
+ chatId: options.chatId,
364
+ googleSchema,
365
+ abortSignal,
366
+ });
367
+ finalResponseText =
368
+ structuredFollowUp.text;
369
+ totalUsage =
370
+ this.combineUsage(totalUsage, structuredFollowUp.usage);
371
+ }
372
+ else {
373
+ finalResponseText =
374
+ toolLoopResult.response.text ?? '';
375
+ }
376
+ if (!finalResponseText) {
377
+ throw new Error('Empty response from Google'
378
+ + ' Generative AI Assistant');
359
379
  }
360
380
  try {
361
- const parsed = JSON.parse(content);
381
+ const parsed = JSON.parse(finalResponseText);
362
382
  const validation = schema._parse(parsed);
363
- const promptTokens = chatResponse.usageMetadata?.promptTokenCount ?? 0;
364
- const cachedTokens = chatResponse.usageMetadata?.cachedContentTokenCount ?? 0;
365
- const regularInputTokens = promptTokens - cachedTokens;
366
- const outputTokens = chatResponse.usageMetadata?.candidatesTokenCount ?? 0;
383
+ const regularInputTokens = totalUsage.promptTokens
384
+ - totalUsage.cachedTokens;
367
385
  await this.writeSuccessMetrics({
368
386
  method: this.getMethodName(this.assistInChatStructured),
369
387
  model,
370
388
  usage: {
371
389
  inputTextTokens: regularInputTokens,
372
- inputCachedTextTokens: cachedTokens,
373
- outputTextTokens: outputTokens,
390
+ inputCachedTextTokens: totalUsage.cachedTokens,
391
+ outputTextTokens: totalUsage.candidatesTokens,
374
392
  },
375
393
  writeMetrics,
376
394
  });
377
395
  return {
378
- text: content,
396
+ text: finalResponseText,
379
397
  data: validation.data,
380
398
  parseError: validation.error,
381
399
  };
@@ -384,7 +402,7 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
384
402
  this.logger
385
403
  ?.child(this.getMethodName(this.assistInChatStructured))
386
404
  .warn('Failed to parse JSON response', {
387
- content,
405
+ content: finalResponseText,
388
406
  parseError: parseError.message,
389
407
  });
390
408
  throw parseError;
@@ -399,20 +417,170 @@ class GoogleGenerativeAIAssistanceService extends services_1.LLMAssistanceServic
399
417
  });
400
418
  this.logger
401
419
  ?.child(this.getMethodName(this.assistInChatStructured))
402
- .error('Error assisting in chat with structured output', {
420
+ .error('Error assisting in chat'
421
+ + ' with structured output', {
403
422
  error: (0, serializeError_1.serializeError)(error),
404
423
  options,
405
424
  });
406
425
  return {
407
426
  text: '',
408
427
  error,
409
- parseError: 'Failed to get structured response from Google Generative AI Assistant',
428
+ parseError: 'Failed to get structured response'
429
+ + ' from Google Generative'
430
+ + ' AI Assistant',
410
431
  };
411
432
  }
412
433
  }
434
+ async prepareChatMessage(options) {
435
+ const chatSession = this.chatSessions.get(options.chatId);
436
+ if (!chatSession) {
437
+ throw new Error('Chat session not found');
438
+ }
439
+ options.abortSignal?.throwIfAborted();
440
+ const messageContent = await GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.getContent(options.message, this.instance, this.logger);
441
+ options.abortSignal?.throwIfAborted();
442
+ if (!messageContent.parts) {
443
+ throw new Error('No message parts available');
444
+ }
445
+ const storageFileParts = this.getStorageFileParts(options.storageId);
446
+ if (options.tools?.length) {
447
+ this.validateToolDefinitions(options.tools);
448
+ }
449
+ const googleTools = options.tools?.length
450
+ ? this.convertCustomToolsToGoogle(options.tools)
451
+ : undefined;
452
+ const sendMessageConfig = {
453
+ systemInstruction: this.chatInstructions.get(options.chatId),
454
+ abortSignal: options.abortSignal,
455
+ ...(googleTools && {
456
+ tools: googleTools,
457
+ }),
458
+ ...options.structuredConfig,
459
+ };
460
+ return {
461
+ chatSession,
462
+ messageParts: [
463
+ ...storageFileParts,
464
+ ...messageContent.parts,
465
+ ],
466
+ sendMessageConfig,
467
+ };
468
+ }
469
+ async sendStructuredFollowUp(params) {
470
+ const structuredConfig = {
471
+ systemInstruction: this.chatInstructions.get(params.chatId),
472
+ responseMimeType: 'application/json',
473
+ responseSchema: params.googleSchema,
474
+ abortSignal: params.abortSignal,
475
+ };
476
+ const structuredResponse = await params.chatSession.sendMessage({
477
+ message: [
478
+ {
479
+ text: 'Now respond with the structured'
480
+ + ' JSON output based on the'
481
+ + ' information gathered.',
482
+ },
483
+ ],
484
+ config: structuredConfig,
485
+ });
486
+ return {
487
+ text: structuredResponse.text ?? '',
488
+ usage: this.extractUsageFromResponse(structuredResponse),
489
+ };
490
+ }
491
+ extractUsageFromResponse(response) {
492
+ return {
493
+ promptTokens: response.usageMetadata
494
+ ?.promptTokenCount ?? 0,
495
+ cachedTokens: response.usageMetadata
496
+ ?.cachedContentTokenCount ?? 0,
497
+ candidatesTokens: response.usageMetadata
498
+ ?.candidatesTokenCount ?? 0,
499
+ };
500
+ }
501
+ combineUsage(first, second) {
502
+ return {
503
+ promptTokens: first.promptTokens
504
+ + second.promptTokens,
505
+ cachedTokens: first.cachedTokens
506
+ + second.cachedTokens,
507
+ candidatesTokens: first.candidatesTokens
508
+ + second.candidatesTokens,
509
+ };
510
+ }
511
+ convertCustomToolsToGoogle(tools) {
512
+ const functionDeclarations = tools.map((tool) => ({
513
+ name: tool.name,
514
+ description: tool.description,
515
+ parameters: tool.parameters._toProviderSchema(LLMService_typedefs_1.LLMProviders.GoogleGenerativeAI),
516
+ }));
517
+ return [{ functionDeclarations }];
518
+ }
519
+ async executeGoogleToolLoop(params) {
520
+ const { chatSession, tools, maxIterations, abortSignal, config, } = params;
521
+ let currentResponse = params.response;
522
+ const totalUsage = this.extractUsageFromResponse(currentResponse);
523
+ for (let iteration = 0; iteration < maxIterations; iteration++) {
524
+ const functionCallParts = (currentResponse.candidates?.[0]
525
+ ?.content?.parts ?? []).filter((part) => part.functionCall?.name);
526
+ if (functionCallParts.length === 0) {
527
+ break;
528
+ }
529
+ abortSignal?.throwIfAborted();
530
+ const calls = functionCallParts.map((part) => ({
531
+ name: part.functionCall?.name ?? '',
532
+ args: (part.functionCall?.args ?? {}),
533
+ }));
534
+ const functionResponseParts = await this.executeGoogleFunctionCalls(calls, tools);
535
+ abortSignal?.throwIfAborted();
536
+ currentResponse =
537
+ await chatSession.sendMessage({
538
+ message: functionResponseParts,
539
+ config,
540
+ });
541
+ const iterationUsage = this.extractUsageFromResponse(currentResponse);
542
+ totalUsage.promptTokens +=
543
+ iterationUsage.promptTokens;
544
+ totalUsage.cachedTokens +=
545
+ iterationUsage.cachedTokens;
546
+ totalUsage.candidatesTokens +=
547
+ iterationUsage.candidatesTokens;
548
+ }
549
+ return {
550
+ response: currentResponse,
551
+ totalUsage,
552
+ };
553
+ }
554
+ async executeGoogleFunctionCalls(calls, tools) {
555
+ const results = await Promise.all(calls.map(async (call) => {
556
+ const matchingTool = tools.find((tool) => tool.name === call.name);
557
+ let result;
558
+ if (!matchingTool) {
559
+ result =
560
+ `Error: Unknown tool "${call.name}"`;
561
+ }
562
+ else {
563
+ try {
564
+ result =
565
+ await matchingTool.execute(call.args);
566
+ }
567
+ catch (executionError) {
568
+ result =
569
+ `Error: ${executionError.message}`;
570
+ }
571
+ }
572
+ const responsePart = {
573
+ functionResponse: {
574
+ name: call.name,
575
+ response: { result },
576
+ },
577
+ };
578
+ return responsePart;
579
+ }));
580
+ return results;
581
+ }
413
582
  async countTokens(messages, model) {
414
- const countTokensFn = GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity
415
- .getCountTokensFn(this.instance);
583
+ const countTokensFn = GoogleGenerativeAI_entity_1.GoogleGenerativeAIEntity.getCountTokensFn(this.instance);
416
584
  return countTokensFn(messages, model);
417
585
  }
418
586
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleGenerativeAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleGenerativeAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.ts"],"names":[],"mappings":"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"}