@mate-academy/llm-gateway 7.3.0 → 7.4.0

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 (45) hide show
  1. package/README.md +31 -0
  2. package/dist/LLMService.constants.d.ts +12 -0
  3. package/dist/LLMService.typedefs.d.ts +39 -1
  4. package/dist/LLMService.typedefs.js.map +1 -1
  5. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.constants.d.ts +12 -0
  6. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.constants.js +12 -3
  7. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.constants.js.map +1 -1
  8. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.d.ts +15 -0
  9. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +116 -25
  10. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
  11. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js +2 -3
  12. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js.map +1 -1
  13. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.d.ts +7 -0
  14. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +57 -15
  15. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -1
  16. package/dist/providers/LLMAPI/services/LLMAPISpeechToText.service.d.ts +11 -4
  17. package/dist/providers/LLMAPI/services/LLMAPISpeechToText.service.js +15 -63
  18. package/dist/providers/LLMAPI/services/LLMAPISpeechToText.service.js.map +1 -1
  19. package/dist/providers/LLMAPI/services/LLMAPITextToSpeech.service.d.ts +14 -4
  20. package/dist/providers/LLMAPI/services/LLMAPITextToSpeech.service.js +16 -53
  21. package/dist/providers/LLMAPI/services/LLMAPITextToSpeech.service.js.map +1 -1
  22. package/dist/providers/OpenAI/services/OpenAIAssistance.service.d.ts +1 -0
  23. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +16 -1
  24. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
  25. package/dist/providers/OpenAI/services/OpenAISpeechToText.service.d.ts +11 -4
  26. package/dist/providers/OpenAI/services/OpenAISpeechToText.service.js +24 -71
  27. package/dist/providers/OpenAI/services/OpenAISpeechToText.service.js.map +1 -1
  28. package/dist/providers/OpenAI/services/OpenAITextToSpeech.service.d.ts +7 -4
  29. package/dist/providers/OpenAI/services/OpenAITextToSpeech.service.js +15 -61
  30. package/dist/providers/OpenAI/services/OpenAITextToSpeech.service.js.map +1 -1
  31. package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.d.ts +22 -0
  32. package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.js +79 -0
  33. package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.js.map +1 -0
  34. package/dist/providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service.d.ts +22 -0
  35. package/dist/providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service.js +67 -0
  36. package/dist/providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service.js.map +1 -0
  37. package/dist/utilities/tools/LLMTool.d.ts +2 -2
  38. package/dist/utilities/tools/LLMTool.js.map +1 -1
  39. package/dist/utilities/tools/index.d.ts +1 -0
  40. package/dist/utilities/tools/index.js +3 -1
  41. package/dist/utilities/tools/index.js.map +1 -1
  42. package/dist/utilities/tools/normalizeToolResult.d.ts +15 -0
  43. package/dist/utilities/tools/normalizeToolResult.js +18 -0
  44. package/dist/utilities/tools/normalizeToolResult.js.map +1 -0
  45. package/package.json +1 -1
@@ -6,6 +6,7 @@ const openai_1 = require("openai");
6
6
  const LLMService_typedefs_1 = require("../../../LLMService.typedefs");
7
7
  const LLMService_constants_1 = require("../../../LLMService.constants");
8
8
  const serializeError_1 = require("../../../utilities/serializeError");
9
+ const tools_1 = require("../../../utilities/tools");
9
10
  const services_1 = require("../../../services");
10
11
  const OpenAI_typedefs_1 = require("../../../providers/OpenAI/OpenAI.typedefs");
11
12
  const OpenAI_entity_1 = require("../../../providers/OpenAI/OpenAI.entity");
@@ -421,7 +422,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
421
422
  return {
422
423
  type: 'function_call_output',
423
424
  call_id: call.call_id,
424
- output: result,
425
+ output: this.buildFunctionCallOutput(result),
425
426
  };
426
427
  }
427
428
  catch (error) {
@@ -436,6 +437,20 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
436
437
  };
437
438
  }
438
439
  }
440
+ buildFunctionCallOutput(result) {
441
+ const { content, images } = (0, tools_1.normalizeToolResult)(result);
442
+ if (images.length === 0) {
443
+ return content;
444
+ }
445
+ return [
446
+ { type: 'input_text', text: content },
447
+ ...images.map((image) => ({
448
+ type: 'input_image',
449
+ image_url: image.url,
450
+ detail: image.detail ?? 'auto',
451
+ })),
452
+ ];
453
+ }
439
454
  async executeToolLoop(parameters) {
440
455
  const { tools, model, chatId, maxIterations, abortSignal, allTools, textFormat, } = parameters;
441
456
  let currentResponse = parameters.response;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAIAssistance.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAIAssistance.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,17 @@
1
+ import { type ReadStream } from 'fs';
1
2
  import { OpenAI } from 'openai';
2
- import { LLMProviders, type LLMInstanceOptions, type LLMTranscribeOptions, type LLMTranscribeResult } from '../../../LLMService.typedefs';
3
+ import type { TranscriptionCreateParamsNonStreaming } from 'openai/resources/audio/transcriptions';
4
+ import { LLMProviders, type LLMInstanceOptions, type LLMTranscribeOptions } from '../../../LLMService.typedefs';
3
5
  import { type LLMLoggerInterface } from '../../../utilities/logger';
4
6
  import { type LLMReporterInterface } from '../../../utilities/reporter';
5
- import { LLMSpeechToTextService } from '../../../services';
6
- export declare class OpenAISpeechToTextService<Reporter extends LLMReporterInterface<any> | undefined> extends LLMSpeechToTextService<LLMProviders.OpenAI, Reporter> {
7
+ import { OpenAICompatibleSpeechToTextService } from '../../../providers/OpenAICompatible/OpenAICompatibleSpeechToText.service';
8
+ export declare class OpenAISpeechToTextService<Reporter extends LLMReporterInterface<any> | undefined> extends OpenAICompatibleSpeechToTextService<LLMProviders.OpenAI, Reporter> {
7
9
  constructor(logger: LLMLoggerInterface | undefined, reporter: Reporter, options?: LLMInstanceOptions[LLMProviders.OpenAI]);
8
10
  get instance(): OpenAI;
9
- transcribe(options: LLMTranscribeOptions<typeof this.provider, Reporter>): Promise<LLMTranscribeResult>;
11
+ protected buildTranscriptionParams(options: LLMTranscribeOptions<LLMProviders.OpenAI, Reporter>, audioFileStream: ReadStream): TranscriptionCreateParamsNonStreaming<'json'>;
12
+ protected extractUsage(response: OpenAI.Audio.Transcription): {
13
+ inputTextTokens: number;
14
+ inputAudioTokens: number;
15
+ outputTextTokens: number;
16
+ };
10
17
  }
@@ -1,86 +1,39 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.OpenAISpeechToTextService = void 0;
7
- const fs_1 = require("fs");
8
4
  const openai_1 = require("openai");
9
5
  const LLMService_typedefs_1 = require("../../../LLMService.typedefs");
10
- const serializeError_1 = require("../../../utilities/serializeError");
11
- const services_1 = require("../../../services");
6
+ const OpenAICompatibleSpeechToText_service_1 = require("../../../providers/OpenAICompatible/OpenAICompatibleSpeechToText.service");
12
7
  const OpenAI_entity_1 = require("../../../providers/OpenAI/OpenAI.entity");
13
- const mime_types_1 = __importDefault(require("mime-types"));
14
- class OpenAISpeechToTextService extends services_1.LLMSpeechToTextService {
8
+ class OpenAISpeechToTextService extends OpenAICompatibleSpeechToText_service_1.OpenAICompatibleSpeechToTextService {
15
9
  constructor(logger, reporter, options) {
16
10
  super(LLMService_typedefs_1.LLMProviders.OpenAI, logger, reporter, options);
17
11
  }
18
12
  get instance() {
19
13
  return this.getOrCreateInstance(() => new openai_1.OpenAI(this.options));
20
14
  }
21
- async transcribe(options) {
22
- const { model, pathToAudio, mimeType, instructions, language, abortSignal, reporterContext, } = options;
23
- const writeMetrics = this.reporter?.initWriter(reporterContext);
24
- try {
25
- abortSignal?.throwIfAborted();
26
- const { maxFileSize, supportedMimeTypes, } = OpenAI_entity_1.OpenAIEntity.transcribeLimits;
27
- const fileSize = (0, fs_1.statSync)(pathToAudio).size;
28
- if (fileSize > maxFileSize) {
29
- throw new Error(`File size exceeds the limit of ${maxFileSize} bytes`);
30
- }
31
- const resolvedMimeType = mimeType ?? mime_types_1.default.lookup(pathToAudio);
32
- if (!resolvedMimeType || !supportedMimeTypes.includes(resolvedMimeType)) {
33
- throw new Error(`Unsupported audio file type: ${resolvedMimeType}. Supported types are: ${supportedMimeTypes.join(', ')}`);
34
- }
35
- const audioFileStream = (0, fs_1.createReadStream)(pathToAudio, { signal: abortSignal });
36
- abortSignal?.throwIfAborted();
37
- const response = await this.instance.audio.transcriptions.create({
38
- model: model.name,
39
- file: audioFileStream,
40
- response_format: 'json',
41
- temperature: model.config?.temperature,
42
- prompt: instructions || OpenAI_entity_1.OpenAIEntity.transcribeInstructions,
43
- language,
44
- }, {
45
- signal: abortSignal,
46
- });
47
- abortSignal?.throwIfAborted();
48
- const inputTextTokens = response.usage && 'input_token_details' in response.usage
49
- ? response.usage.input_token_details?.text_tokens ?? 0
50
- : 0;
51
- const inputAudioTokens = response.usage && 'input_token_details' in response.usage
52
- ? response.usage.input_token_details?.audio_tokens ?? 0
53
- : 0;
54
- const outputTextTokens = response.usage && 'output_tokens' in response.usage
55
- ? response.usage.output_tokens
56
- : 0;
57
- await this.writeSuccessMetrics({
58
- method: this.getMethodName(this.transcribe),
59
- model,
60
- usage: {
61
- inputTextTokens,
62
- inputAudioTokens,
63
- outputTextTokens,
64
- },
65
- writeMetrics,
66
- });
67
- return { text: response.text };
68
- }
69
- catch (error) {
70
- await this.writeErrorMetrics({
71
- method: this.getMethodName(this.transcribe),
72
- model,
73
- isAborted: abortSignal?.aborted,
74
- writeMetrics,
75
- });
76
- this.logger
77
- ?.child(this.getMethodName(this.transcribe))
78
- .error('Error transcribing audio', {
79
- error: (0, serializeError_1.serializeError)(error),
80
- options,
81
- });
82
- return { error };
83
- }
15
+ buildTranscriptionParams(options, audioFileStream) {
16
+ return {
17
+ ...super.buildTranscriptionParams(options, audioFileStream),
18
+ temperature: options.model.config?.temperature,
19
+ prompt: options.instructions || OpenAI_entity_1.OpenAIEntity.transcribeInstructions,
20
+ };
21
+ }
22
+ extractUsage(response) {
23
+ const inputTextTokens = response.usage && 'input_token_details' in response.usage
24
+ ? response.usage.input_token_details?.text_tokens ?? 0
25
+ : 0;
26
+ const inputAudioTokens = response.usage && 'input_token_details' in response.usage
27
+ ? response.usage.input_token_details?.audio_tokens ?? 0
28
+ : 0;
29
+ const outputTextTokens = response.usage && 'output_tokens' in response.usage
30
+ ? response.usage.output_tokens
31
+ : 0;
32
+ return {
33
+ inputTextTokens,
34
+ inputAudioTokens,
35
+ outputTextTokens,
36
+ };
84
37
  }
85
38
  }
86
39
  exports.OpenAISpeechToTextService = OpenAISpeechToTextService;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAISpeechToText.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAISpeechToText.service.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAgD;AAChD,mCAAgC;AAChC,+DAK+B;AAG/B,+DAA4D;AAC5D,yCAAoD;AACpD,oEAAgE;AAChE,4DAA8B;AAE9B,MAAa,yBAEX,SAAQ,iCAAqD;IAC7D,YACE,MAAsC,EACtC,QAAkB,EAClB,OAAiD;QAEjD,KAAK,CAAC,kCAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,UAAU,CACd,OAA6D;QAE7D,MAAM,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,eAAe,GAChB,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,EACJ,WAAW,EACX,kBAAkB,GACnB,GAAG,4BAAY,CAAC,gBAAgB,CAAC;YAElC,MAAM,QAAQ,GAAG,IAAA,aAAQ,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAE5C,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,kCAAkC,WAAW,QAAQ,CACtD,CAAC;YACJ,CAAC;YAED,MAAM,gBAAgB,GAAG,QAAQ,IAAI,oBAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAE9D,IAAI,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAuB,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,KAAK,CACb,gCAAgC,gBAAgB,0BAA0B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1G,CAAC;YACJ,CAAC;YAED,MAAM,eAAe,GAAG,IAAA,qBAAgB,EAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAE/E,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC/D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,IAAI,EAAE,eAAe;gBACrB,eAAe,EAAE,MAAM;gBACvB,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW;gBACtC,MAAM,EAAE,YAAY,IAAI,4BAAY,CAAC,sBAAsB;gBAC3D,QAAQ;aACT,EAAE;gBACD,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,IAAI,qBAAqB,IAAI,QAAQ,CAAC,KAAK;gBAC/E,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,EAAE,WAAW,IAAI,CAAC;gBACtD,CAAC,CAAC,CAAC,CAAC;YACN,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,IAAI,qBAAqB,IAAI,QAAQ,CAAC,KAAK;gBAChF,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,EAAE,YAAY,IAAI,CAAC;gBACvD,CAAC,CAAC,CAAC,CAAC;YACN,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,IAAI,eAAe,IAAI,QAAQ,CAAC,KAAK;gBAC1E,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa;gBAC9B,CAAC,CAAC,CAAC,CAAC;YAEN,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK;gBACL,KAAK,EAAE;oBACL,eAAe;oBACf,gBAAgB;oBAChB,gBAAgB;iBACjB;gBACD,YAAY;aACb,CAAC,CAAC;YAEH,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM;gBACT,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC3C,KAAK,CAAC,0BAA0B,EAAE;gBACjC,KAAK,EAAE,IAAA,+BAAc,EAAC,KAAK,CAAC;gBAC5B,OAAO;aACR,CAAC,CAAC;YAEL,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AA/GD,8DA+GC"}
1
+ {"version":3,"file":"OpenAISpeechToText.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAISpeechToText.service.ts"],"names":[],"mappings":";;;AACA,mCAAgC;AAEhC,+DAI+B;AAG/B,4HAE2E;AAC3E,oEAAgE;AAEhE,MAAa,yBAEX,SAAQ,0EAAkE;IAC1E,YACE,MAAsC,EACtC,QAAkB,EAClB,OAAiD;QAEjD,KAAK,CAAC,kCAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAES,wBAAwB,CAChC,OAA4D,EAC5D,eAA2B;QAE3B,OAAO;YACL,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,EAAE,eAAe,CAAC;YAC3D,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW;YAC9C,MAAM,EAAE,OAAO,CAAC,YAAY,IAAI,4BAAY,CAAC,sBAAsB;SACpE,CAAC;IACJ,CAAC;IAES,YAAY,CACpB,QAAoC;QAEpC,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,IAAI,qBAAqB,IAAI,QAAQ,CAAC,KAAK;YAC/E,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,EAAE,WAAW,IAAI,CAAC;YACtD,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,IAAI,qBAAqB,IAAI,QAAQ,CAAC,KAAK;YAChF,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,EAAE,YAAY,IAAI,CAAC;YACvD,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,IAAI,eAAe,IAAI,QAAQ,CAAC,KAAK;YAC1E,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa;YAC9B,CAAC,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,eAAe;YACf,gBAAgB;YAChB,gBAAgB;SACjB,CAAC;IACJ,CAAC;CACF;AA7CD,8DA6CC"}
@@ -1,10 +1,13 @@
1
1
  import { OpenAI } from 'openai';
2
- import { LLMProviders, type LLMCreateSpeechOptions, type LLMCreateSpeechResult, type LLMInstanceOptions } from '../../../LLMService.typedefs';
2
+ import { LLMProviders, type LLMInstanceOptions, type LLMModel } from '../../../LLMService.typedefs';
3
3
  import { type LLMLoggerInterface } from '../../../utilities/logger';
4
4
  import { type LLMReporterInterface } from '../../../utilities/reporter';
5
- import { LLMTextToSpeechService } from '../../../services';
6
- export declare class OpenAITextToSpeechService<Reporter extends LLMReporterInterface<any> | undefined> extends LLMTextToSpeechService<LLMProviders.OpenAI, Reporter> {
5
+ import { OpenAICompatibleTextToSpeechService } from '../../../providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service';
6
+ export declare class OpenAITextToSpeechService<Reporter extends LLMReporterInterface<any> | undefined> extends OpenAICompatibleTextToSpeechService<LLMProviders.OpenAI, Reporter> {
7
7
  constructor(logger: LLMLoggerInterface | undefined, reporter: Reporter, options?: LLMInstanceOptions[LLMProviders.OpenAI]);
8
8
  get instance(): OpenAI;
9
- createSpeech(options: LLMCreateSpeechOptions<typeof this.provider, Reporter>): Promise<LLMCreateSpeechResult>;
9
+ protected extractUsage(audioBuffer: Buffer, text: string, model: LLMModel<LLMProviders.OpenAI>): Promise<{
10
+ inputTextTokens: number;
11
+ outputAudioTokens: number;
12
+ }>;
10
13
  }
@@ -3,75 +3,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OpenAITextToSpeechService = void 0;
4
4
  const openai_1 = require("openai");
5
5
  const LLMService_typedefs_1 = require("../../../LLMService.typedefs");
6
- const serializeError_1 = require("../../../utilities/serializeError");
7
- const services_1 = require("../../../services");
6
+ const OpenAICompatibleTextToSpeech_service_1 = require("../../../providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service");
8
7
  const OpenAI_entity_1 = require("../../../providers/OpenAI/OpenAI.entity");
9
8
  const OpenAI_typedefs_1 = require("../../../providers/OpenAI/OpenAI.typedefs");
10
- class OpenAITextToSpeechService extends services_1.LLMTextToSpeechService {
9
+ class OpenAITextToSpeechService extends OpenAICompatibleTextToSpeech_service_1.OpenAICompatibleTextToSpeechService {
11
10
  constructor(logger, reporter, options) {
12
11
  super(LLMService_typedefs_1.LLMProviders.OpenAI, logger, reporter, options);
13
12
  }
14
13
  get instance() {
15
14
  return this.getOrCreateInstance(() => new openai_1.OpenAI(this.options));
16
15
  }
17
- async createSpeech(options) {
18
- const { text, model, instructions, speechOptions, abortSignal, reporterContext, } = options;
19
- const writeMetrics = this.reporter?.initWriter(reporterContext);
20
- try {
21
- abortSignal?.throwIfAborted();
22
- const audioResponse = await this.instance.audio.speech.create({
23
- model: model.name,
24
- input: text,
25
- instructions,
26
- voice: speechOptions?.voice || 'alloy',
27
- response_format: speechOptions?.response_format,
28
- speed: speechOptions?.speed,
29
- }, {
30
- signal: abortSignal,
31
- });
32
- abortSignal?.throwIfAborted();
33
- const audioArrayBuffer = await audioResponse.arrayBuffer();
34
- const audioBuffer = Buffer.from(audioArrayBuffer);
35
- abortSignal?.throwIfAborted();
36
- const countTokensFn = OpenAI_entity_1.OpenAIEntity.getCountTokensFn();
37
- const inputTextTokens = text.length;
38
- // GPT-4o-mini-TTS bills audio output by tokens
39
- // TTS-1 doesn't bill for audio output separately (included in input character cost)
40
- const outputAudioTokens = model.name === OpenAI_typedefs_1.OpenAIModelNames.TTS_1
41
- ? 0
42
- : await countTokensFn([{
43
- type: LLMService_typedefs_1.LLMMessageContentType.AUDIO_FILE,
44
- buffer: audioBuffer,
45
- }]);
46
- await this.writeSuccessMetrics({
47
- method: this.getMethodName(this.createSpeech),
48
- model,
49
- usage: {
50
- inputTextTokens,
51
- outputAudioTokens,
52
- },
53
- writeMetrics,
54
- });
55
- return {
56
- audio: audioBuffer,
57
- mimeType: audioResponse.headers.get('Content-Type'),
58
- };
59
- }
60
- catch (error) {
61
- await this.writeErrorMetrics({
62
- method: this.getMethodName(this.createSpeech),
63
- model,
64
- isAborted: abortSignal?.aborted,
65
- writeMetrics,
66
- });
67
- this.logger
68
- ?.child(this.getMethodName(this.createSpeech))
69
- .error('Error creating speech', {
70
- error: (0, serializeError_1.serializeError)(error),
71
- options,
72
- });
73
- return { error };
74
- }
16
+ async extractUsage(audioBuffer, text, model) {
17
+ const countTokensFn = OpenAI_entity_1.OpenAIEntity.getCountTokensFn();
18
+ const inputTextTokens = text.length;
19
+ const outputAudioTokens = model.name === OpenAI_typedefs_1.OpenAIModelNames.TTS_1
20
+ ? 0
21
+ : await countTokensFn([{
22
+ type: LLMService_typedefs_1.LLMMessageContentType.AUDIO_FILE,
23
+ buffer: audioBuffer,
24
+ }]);
25
+ return {
26
+ inputTextTokens,
27
+ outputAudioTokens,
28
+ };
75
29
  }
76
30
  }
77
31
  exports.OpenAITextToSpeechService = OpenAITextToSpeechService;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAITextToSpeech.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAITextToSpeech.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAITextToSpeech.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAITextToSpeech.service.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,+DAK+B;AAG/B,4HAE2E;AAC3E,oEAAgE;AAChE,wEAAsE;AAEtE,MAAa,yBAEX,SAAQ,0EAAkE;IAC1E,YACE,MAAsC,EACtC,QAAkB,EAClB,OAAiD;QAEjD,KAAK,CAAC,kCAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,WAAmB,EACnB,IAAY,EACZ,KAAoC;QAEpC,MAAM,aAAa,GAAG,4BAAY,CAAC,gBAAgB,EAAE,CAAC;QAEtD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,KAAK,kCAAgB,CAAC,KAAK;YAC7D,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC;oBACrB,IAAI,EAAE,2CAAqB,CAAC,UAAU;oBACtC,MAAM,EAAE,WAAkC;iBAC3C,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,eAAe;YACf,iBAAiB;SAClB,CAAC;IACJ,CAAC;CACF;AApCD,8DAoCC"}
@@ -0,0 +1,22 @@
1
+ import { type ReadStream } from 'fs';
2
+ import { OpenAI } from 'openai';
3
+ import type { TranscriptionCreateParamsNonStreaming } from 'openai/resources/audio/transcriptions';
4
+ import { type LLMProviders, type LLMFileLimits, type LLMInstanceOptions, type LLMTranscribeOptions, type LLMTranscribeResult } from '../../LLMService.typedefs';
5
+ import { type LLMLoggerInterface } from '../../utilities/logger';
6
+ import { type LLMReporterInterface } from '../../utilities/reporter';
7
+ import { LLMSpeechToTextService } from '../../services';
8
+ type OpenAICompatibleSTTProvider = LLMProviders.OpenAI | LLMProviders.LLMAPI;
9
+ interface TranscriptionUsage {
10
+ inputTextTokens: number;
11
+ inputAudioTokens: number;
12
+ outputTextTokens: number;
13
+ }
14
+ export declare abstract class OpenAICompatibleSpeechToTextService<Provider extends OpenAICompatibleSTTProvider, Reporter extends LLMReporterInterface<any> | undefined> extends LLMSpeechToTextService<Provider, Reporter> {
15
+ constructor(provider: Provider, logger: LLMLoggerInterface | undefined, reporter: Reporter, options?: LLMInstanceOptions[Provider]);
16
+ get instance(): OpenAI;
17
+ protected get transcribeLimits(): LLMFileLimits;
18
+ protected buildTranscriptionParams(options: LLMTranscribeOptions<Provider, Reporter>, audioFileStream: ReadStream): TranscriptionCreateParamsNonStreaming<'json'>;
19
+ protected abstract extractUsage(response: OpenAI.Audio.Transcription, fileSize: number): TranscriptionUsage;
20
+ transcribe(options: LLMTranscribeOptions<typeof this.provider, Reporter>): Promise<LLMTranscribeResult>;
21
+ }
22
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OpenAICompatibleSpeechToTextService = void 0;
7
+ const fs_1 = require("fs");
8
+ const openai_1 = require("openai");
9
+ const serializeError_1 = require("../../utilities/serializeError");
10
+ const services_1 = require("../../services");
11
+ const OpenAI_entity_1 = require("../../providers/OpenAI/OpenAI.entity");
12
+ const mime_types_1 = __importDefault(require("mime-types"));
13
+ class OpenAICompatibleSpeechToTextService extends services_1.LLMSpeechToTextService {
14
+ constructor(provider, logger, reporter, options) {
15
+ super(provider, logger, reporter, options);
16
+ }
17
+ get instance() {
18
+ return this.getOrCreateInstance(() => new openai_1.OpenAI(this.options));
19
+ }
20
+ get transcribeLimits() {
21
+ return OpenAI_entity_1.OpenAIEntity.transcribeLimits;
22
+ }
23
+ buildTranscriptionParams(options, audioFileStream) {
24
+ return {
25
+ model: options.model.name,
26
+ file: audioFileStream,
27
+ response_format: 'json',
28
+ prompt: options.instructions,
29
+ };
30
+ }
31
+ async transcribe(options) {
32
+ const { model, pathToAudio, mimeType, abortSignal, reporterContext, } = options;
33
+ const writeMetrics = this.reporter?.initWriter(reporterContext);
34
+ try {
35
+ abortSignal?.throwIfAborted();
36
+ const { maxFileSize, supportedMimeTypes, } = this.transcribeLimits;
37
+ const fileSize = (0, fs_1.statSync)(pathToAudio).size;
38
+ if (fileSize > maxFileSize) {
39
+ throw new Error(`File size exceeds the limit of ${maxFileSize} bytes`);
40
+ }
41
+ const resolvedMimeType = mimeType ?? mime_types_1.default.lookup(pathToAudio);
42
+ if (!resolvedMimeType || !supportedMimeTypes.includes(resolvedMimeType)) {
43
+ throw new Error(`Unsupported audio file type: ${resolvedMimeType}. Supported types are: ${supportedMimeTypes.join(', ')}`);
44
+ }
45
+ const audioFileStream = (0, fs_1.createReadStream)(pathToAudio, { signal: abortSignal });
46
+ abortSignal?.throwIfAborted();
47
+ const params = this.buildTranscriptionParams(options, audioFileStream);
48
+ const response = await this.instance.audio.transcriptions.create(params, {
49
+ signal: abortSignal,
50
+ });
51
+ abortSignal?.throwIfAborted();
52
+ const usage = this.extractUsage(response, fileSize);
53
+ await this.writeSuccessMetrics({
54
+ method: this.getMethodName(this.transcribe),
55
+ model,
56
+ usage,
57
+ writeMetrics,
58
+ });
59
+ return { text: response.text };
60
+ }
61
+ catch (error) {
62
+ await this.writeErrorMetrics({
63
+ method: this.getMethodName(this.transcribe),
64
+ model,
65
+ isAborted: abortSignal?.aborted,
66
+ writeMetrics,
67
+ });
68
+ this.logger
69
+ ?.child(this.getMethodName(this.transcribe))
70
+ .error('Error transcribing audio', {
71
+ error: (0, serializeError_1.serializeError)(error),
72
+ options,
73
+ });
74
+ return { error };
75
+ }
76
+ }
77
+ }
78
+ exports.OpenAICompatibleSpeechToTextService = OpenAICompatibleSpeechToTextService;
79
+ //# sourceMappingURL=OpenAICompatibleSpeechToText.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAICompatibleSpeechToText.service.js","sourceRoot":"","sources":["../../../src/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { OpenAI } from 'openai';
2
+ import { type LLMProviders, type LLMCreateSpeechOptions, type LLMCreateSpeechResult, type LLMInstanceOptions, type LLMModel } from '../../LLMService.typedefs';
3
+ import { type LLMLoggerInterface } from '../../utilities/logger';
4
+ import { type LLMReporterInterface } from '../../utilities/reporter';
5
+ import { LLMTextToSpeechService } from '../../services';
6
+ type OpenAICompatibleTTSProvider = LLMProviders.OpenAI | LLMProviders.LLMAPI;
7
+ interface SpeechUsage {
8
+ inputTextTokens: number;
9
+ outputAudioTokens: number;
10
+ }
11
+ export declare abstract class OpenAICompatibleTextToSpeechService<Provider extends OpenAICompatibleTTSProvider, Reporter extends LLMReporterInterface<any> | undefined> extends LLMTextToSpeechService<Provider, Reporter> {
12
+ constructor(provider: Provider, logger: LLMLoggerInterface | undefined, reporter: Reporter, options?: LLMInstanceOptions[Provider]);
13
+ get instance(): OpenAI;
14
+ protected getDefaultVoice(_modelName: string): string;
15
+ protected getRequestOptions(abortSignal?: AbortSignal): {
16
+ signal?: AbortSignal;
17
+ headers?: Record<string, string>;
18
+ };
19
+ protected abstract extractUsage(audioBuffer: Buffer, text: string, model: LLMModel<Provider>): Promise<SpeechUsage> | SpeechUsage;
20
+ createSpeech(options: LLMCreateSpeechOptions<typeof this.provider, Reporter>): Promise<LLMCreateSpeechResult>;
21
+ }
22
+ export {};
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenAICompatibleTextToSpeechService = void 0;
4
+ const openai_1 = require("openai");
5
+ const serializeError_1 = require("../../utilities/serializeError");
6
+ const services_1 = require("../../services");
7
+ class OpenAICompatibleTextToSpeechService extends services_1.LLMTextToSpeechService {
8
+ constructor(provider, logger, reporter, options) {
9
+ super(provider, logger, reporter, options);
10
+ }
11
+ get instance() {
12
+ return this.getOrCreateInstance(() => new openai_1.OpenAI(this.options));
13
+ }
14
+ getDefaultVoice(_modelName) {
15
+ return 'alloy';
16
+ }
17
+ getRequestOptions(abortSignal) {
18
+ return { signal: abortSignal };
19
+ }
20
+ async createSpeech(options) {
21
+ const { text, model, instructions, speechOptions, abortSignal, reporterContext, } = options;
22
+ const writeMetrics = this.reporter?.initWriter(reporterContext);
23
+ try {
24
+ abortSignal?.throwIfAborted();
25
+ const audioResponse = await this.instance.audio.speech.create({
26
+ model: model.name,
27
+ input: text,
28
+ instructions,
29
+ voice: speechOptions?.voice ?? this.getDefaultVoice(model.name),
30
+ response_format: speechOptions?.response_format,
31
+ speed: speechOptions?.speed,
32
+ }, this.getRequestOptions(abortSignal));
33
+ abortSignal?.throwIfAborted();
34
+ const audioArrayBuffer = await audioResponse.arrayBuffer();
35
+ const audioBuffer = Buffer.from(audioArrayBuffer);
36
+ abortSignal?.throwIfAborted();
37
+ const usage = await this.extractUsage(audioBuffer, text, model);
38
+ await this.writeSuccessMetrics({
39
+ method: this.getMethodName(this.createSpeech),
40
+ model,
41
+ usage,
42
+ writeMetrics,
43
+ });
44
+ return {
45
+ audio: audioBuffer,
46
+ mimeType: audioResponse.headers.get('Content-Type'),
47
+ };
48
+ }
49
+ catch (error) {
50
+ await this.writeErrorMetrics({
51
+ method: this.getMethodName(this.createSpeech),
52
+ model,
53
+ isAborted: abortSignal?.aborted,
54
+ writeMetrics,
55
+ });
56
+ this.logger
57
+ ?.child(this.getMethodName(this.createSpeech))
58
+ .error('Error creating speech', {
59
+ error: (0, serializeError_1.serializeError)(error),
60
+ options,
61
+ });
62
+ return { error };
63
+ }
64
+ }
65
+ }
66
+ exports.OpenAICompatibleTextToSpeechService = OpenAICompatibleTextToSpeechService;
67
+ //# sourceMappingURL=OpenAICompatibleTextToSpeech.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAICompatibleTextToSpeech.service.js","sourceRoot":"","sources":["../../../src/providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAUhC,+DAA4D;AAC5D,yCAAoD;AASpD,MAAsB,mCAGpB,SAAQ,iCAA0C;IAClD,YACE,QAAkB,EAClB,MAAsC,EACtC,QAAkB,EAClB,OAAsC;QAEtC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,mBAAmB,CAC7B,GAAG,EAAE,CAAC,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAsB,CACpD,CAAC;IACJ,CAAC;IAES,eAAe,CAAC,UAAkB;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,iBAAiB,CAAC,WAAyB;QACnD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;IAQD,KAAK,CAAC,YAAY,CAChB,OAA+D;QAE/D,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,GAChB,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC5D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,KAAK,EAAE,IAAI;gBACX,YAAY;gBACZ,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC/D,eAAe,EAAE,aAAa,EAAE,eAAsB;gBACtD,KAAK,EAAE,aAAa,EAAE,KAAK;aAC5B,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;YAExC,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAElD,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAEhE,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC7C,KAAK;gBACL,KAAK;gBACL,YAAY;aACb,CAAC,CAAC;YAEH,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;aACpD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC7C,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM;gBACT,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC7C,KAAK,CAAC,uBAAuB,EAAE;gBAC9B,KAAK,EAAE,IAAA,+BAAc,EAAC,KAAK,CAAC;gBAC5B,OAAO;aACR,CAAC,CAAC;YAEL,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAjGD,kFAiGC"}
@@ -1,10 +1,10 @@
1
- import { type LLMToolDefinition } from '../../LLMService.typedefs';
1
+ import { type LLMToolDefinition, type LLMToolResult } from '../../LLMService.typedefs';
2
2
  import { type LLMSchemaInterface, type InferSchema } from '../../utilities/schema';
3
3
  export declare class LLMTool {
4
4
  static create<Schema extends LLMSchemaInterface>(config: {
5
5
  name: string;
6
6
  description: string;
7
7
  parameters: Schema;
8
- execute: (args: InferSchema<Schema>) => Promise<string> | string;
8
+ execute: (args: InferSchema<Schema>) => Promise<LLMToolResult> | LLMToolResult;
9
9
  }): LLMToolDefinition<Schema>;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LLMTool.js","sourceRoot":"","sources":["../../../src/utilities/tools/LLMTool.ts"],"names":[],"mappings":";;;AAQA,MAAa,OAAO;IAClB,MAAM,CAAC,MAAM,CAAoC,MAKhD;QACC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AATD,0BASC"}
1
+ {"version":3,"file":"LLMTool.js","sourceRoot":"","sources":["../../../src/utilities/tools/LLMTool.ts"],"names":[],"mappings":";;;AASA,MAAa,OAAO;IAClB,MAAM,CAAC,MAAM,CAAoC,MAOhD;QACC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAXD,0BAWC"}
@@ -1 +1,2 @@
1
1
  export { LLMTool } from './LLMTool';
2
+ export { normalizeToolResult, type NormalizedToolResult, } from './normalizeToolResult';