@mate-academy/llm-gateway 7.5.1 → 7.6.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 (29) hide show
  1. package/README.md +26 -0
  2. package/dist/LLMService.constants.d.ts +8930 -6066
  3. package/dist/LLMService.typedefs.d.ts +27 -0
  4. package/dist/LLMService.typedefs.js.map +1 -1
  5. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js +17 -10
  6. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js.map +1 -1
  7. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js +10 -6
  8. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js.map +1 -1
  9. package/dist/providers/LLMAPI/LLMAPI.constants.d.ts +13949 -9653
  10. package/dist/providers/LLMAPI/LLMAPI.constants.js +2778 -2073
  11. package/dist/providers/LLMAPI/LLMAPI.constants.js.map +1 -1
  12. package/dist/providers/LLMAPI/LLMAPI.typedefs.d.ts +96 -39
  13. package/dist/providers/LLMAPI/LLMAPI.typedefs.js +114 -37
  14. package/dist/providers/LLMAPI/LLMAPI.typedefs.js.map +1 -1
  15. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +3 -1
  16. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -1
  17. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js +25 -13
  18. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js.map +1 -1
  19. package/dist/providers/LLMAPI/utilities/LLMAPIJsonFixer.d.ts +2 -0
  20. package/dist/providers/LLMAPI/utilities/LLMAPIJsonFixer.js +15 -7
  21. package/dist/providers/LLMAPI/utilities/LLMAPIJsonFixer.js.map +1 -1
  22. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.js +5 -0
  23. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.js.map +1 -1
  24. package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.js +2 -1
  25. package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.js.map +1 -1
  26. package/dist/utilities/calculateCosts.d.ts +3 -16
  27. package/dist/utilities/calculateCosts.js +20 -0
  28. package/dist/utilities/calculateCosts.js.map +1 -1
  29. package/package.json +1 -1
@@ -228,6 +228,27 @@ export interface LLMAssistanceMessage {
228
228
  * Represents an error that occurred during an LLM request.
229
229
  */
230
230
  export type LLMRequestError = Error;
231
+ /**
232
+ * Token usage reported by an LLM provider for a single call.
233
+ */
234
+ export interface LLMModelUsage {
235
+ inputTextTokens?: number;
236
+ outputTextTokens?: number;
237
+ inputAudioTokens?: number;
238
+ outputAudioTokens?: number;
239
+ inputCachedTextTokens?: number;
240
+ inputCachedAudioTokens?: number;
241
+ outputReasoningTokens?: number;
242
+ }
243
+ /**
244
+ * Absolute USD cost for a single LLM call, derived from usage and model pricing.
245
+ */
246
+ export interface LLMCostsResult {
247
+ input: number;
248
+ output: number;
249
+ total: number;
250
+ currency: string;
251
+ }
231
252
  /**
232
253
  * Generic result type for LLM requests that can either succeed or fail.
233
254
  * @template ResponseType - The type of the successful result
@@ -240,6 +261,8 @@ export type LLMRequestResult<ResponseType> = ResponseType | {
240
261
  */
241
262
  export type LLMCompletionResult = LLMRequestResult<{
242
263
  text: string;
264
+ usage?: LLMModelUsage;
265
+ cost?: LLMCostsResult;
243
266
  }>;
244
267
  /**
245
268
  * Base options for LLM methods that can be extended by specific method options.
@@ -276,6 +299,8 @@ export type LLMStructuredResult<T = any> = LLMRequestResult<{
276
299
  parseError?: string;
277
300
  toolIterationsUsed?: number;
278
301
  toolIterationsExhausted?: true;
302
+ usage?: LLMModelUsage;
303
+ cost?: LLMCostsResult;
279
304
  }>;
280
305
  /**
281
306
  * Limits for files that can be uploaded to LLM services.
@@ -481,6 +506,8 @@ export type LLMTranscribeOptions<Provider extends LLMProviders, Reporter extends
481
506
  */
482
507
  export type LLMTranscribeResult = LLMRequestResult<{
483
508
  text: string;
509
+ usage?: LLMModelUsage;
510
+ cost?: LLMCostsResult;
484
511
  }>;
485
512
  /**
486
513
  * Provider-specific options for creating speech from text.
@@ -1 +1 @@
1
- {"version":3,"file":"LLMService.typedefs.js","sourceRoot":"","sources":["../src/LLMService.typedefs.ts"],"names":[],"mappings":";;;AAkCA;;GAEG;AACH,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,yDAAyC,CAAA;IACzC,iCAAiB,CAAA;AACnB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAoBD;;GAEG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,wCAAyB,CAAA;IACzB,8CAA+B,CAAA;IAC/B,8CAA+B,CAAA;AACjC,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAiLD;;GAEG;AACH,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,mCAAuB,CAAA;AACzB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED;;GAEG;AACH,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,sCAAa,CAAA;IACb,gDAAuB,CAAA;IACvB,kDAAyB,CAAA;AAC3B,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC;AA8HD;;GAEG;AACH,IAAY,sBAeX;AAfD,WAAY,sBAAsB;IAChC,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,iDAAuB,CAAA;IACvB,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,yDAA+B,CAAA;IAC/B,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,oDAA0B,CAAA;IAC1B,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,iDAAuB,CAAA;AACzB,CAAC,EAfW,sBAAsB,sCAAtB,sBAAsB,QAejC"}
1
+ {"version":3,"file":"LLMService.typedefs.js","sourceRoot":"","sources":["../src/LLMService.typedefs.ts"],"names":[],"mappings":";;;AAkCA;;GAEG;AACH,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,yDAAyC,CAAA;IACzC,iCAAiB,CAAA;AACnB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAoBD;;GAEG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,wCAAyB,CAAA;IACzB,8CAA+B,CAAA;IAC/B,8CAA+B,CAAA;AACjC,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAiLD;;GAEG;AACH,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,mCAAuB,CAAA;AACzB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED;;GAEG;AACH,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,sCAAa,CAAA;IACb,gDAAuB,CAAA;IACvB,kDAAyB,CAAA;AAC3B,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC;AAgKD;;GAEG;AACH,IAAY,sBAeX;AAfD,WAAY,sBAAsB;IAChC,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,iDAAuB,CAAA;IACvB,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,yDAA+B,CAAA;IAC/B,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,oDAA0B,CAAA;IAC1B,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,iDAAuB,CAAA;AACzB,CAAC,EAfW,sBAAsB,sCAAtB,sBAAsB,QAejC"}
@@ -4,6 +4,7 @@ exports.GoogleGenerativeAICompletionService = void 0;
4
4
  const genai_1 = require("@google/genai");
5
5
  const LLMService_typedefs_1 = require("../../../LLMService.typedefs");
6
6
  const serializeError_1 = require("../../../utilities/serializeError");
7
+ const utilities_1 = require("../../../utilities");
7
8
  const services_1 = require("../../../services");
8
9
  const GoogleGenerativeAI_entity_1 = require("../../../providers/GoogleGenerativeAI/GoogleGenerativeAI.entity");
9
10
  class GoogleGenerativeAICompletionService extends services_1.LLMCompletionService {
@@ -46,18 +47,21 @@ class GoogleGenerativeAICompletionService extends services_1.LLMCompletionServic
46
47
  const cachedTokens = result.usageMetadata?.cachedContentTokenCount ?? 0;
47
48
  const regularInputTokens = promptTokens - cachedTokens;
48
49
  const outputTokens = result.usageMetadata?.candidatesTokenCount ?? 0;
50
+ const usage = {
51
+ inputTextTokens: regularInputTokens,
52
+ inputCachedTextTokens: cachedTokens,
53
+ outputTextTokens: outputTokens,
54
+ };
49
55
  await this.writeSuccessMetrics({
50
56
  method: this.getMethodName(this.sendTextMessage),
51
57
  model,
52
- usage: {
53
- inputTextTokens: regularInputTokens,
54
- inputCachedTextTokens: cachedTokens,
55
- outputTextTokens: outputTokens,
56
- },
58
+ usage,
57
59
  writeMetrics,
58
60
  });
59
61
  return {
60
62
  text: result.text ?? '',
63
+ usage,
64
+ cost: (0, utilities_1.calculateCosts)(model, usage),
61
65
  };
62
66
  }
63
67
  catch (error) {
@@ -123,20 +127,23 @@ class GoogleGenerativeAICompletionService extends services_1.LLMCompletionServic
123
127
  const cachedTokens = result.usageMetadata?.cachedContentTokenCount ?? 0;
124
128
  const regularInputTokens = promptTokens - cachedTokens;
125
129
  const outputTokens = result.usageMetadata?.candidatesTokenCount ?? 0;
130
+ const usage = {
131
+ inputTextTokens: regularInputTokens,
132
+ inputCachedTextTokens: cachedTokens,
133
+ outputTextTokens: outputTokens,
134
+ };
126
135
  await this.writeSuccessMetrics({
127
136
  method: this.getMethodName(this.sendStructuredMessage),
128
137
  model,
129
- usage: {
130
- inputTextTokens: regularInputTokens,
131
- inputCachedTextTokens: cachedTokens,
132
- outputTextTokens: outputTokens,
133
- },
138
+ usage,
134
139
  writeMetrics,
135
140
  });
136
141
  return {
137
142
  text: content,
138
143
  data: validation.data,
139
144
  parseError: validation.error,
145
+ usage,
146
+ cost: (0, utilities_1.calculateCosts)(model, usage),
140
147
  };
141
148
  }
142
149
  catch (parseError) {
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleGenerativeAICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleGenerativeAICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const fs_1 = require("fs");
8
8
  const genai_1 = require("@google/genai");
9
9
  const LLMService_typedefs_1 = require("../../../LLMService.typedefs");
10
10
  const serializeError_1 = require("../../../utilities/serializeError");
11
+ const utilities_1 = require("../../../utilities");
11
12
  const services_1 = require("../../../services");
12
13
  const GoogleGenerativeAI_entity_1 = require("../../../providers/GoogleGenerativeAI/GoogleGenerativeAI.entity");
13
14
  const mime_types_1 = __importDefault(require("mime-types"));
@@ -78,19 +79,22 @@ class GoogleGenerativeAISpeechToTextService extends services_1.LLMSpeechToTextSe
78
79
  const cachedTokens = response.usageMetadata?.cachedContentTokenCount ?? 0;
79
80
  const regularInputTextTokens = inputTextTokens - cachedTokens;
80
81
  const outputTokens = response.usageMetadata?.candidatesTokenCount ?? 0;
82
+ const usage = {
83
+ inputTextTokens: regularInputTextTokens,
84
+ inputCachedTextTokens: cachedTokens,
85
+ inputAudioTokens,
86
+ outputTextTokens: outputTokens,
87
+ };
81
88
  await this.writeSuccessMetrics({
82
89
  method: this.getMethodName(this.transcribe),
83
90
  model,
84
- usage: {
85
- inputTextTokens: regularInputTextTokens,
86
- inputCachedTextTokens: cachedTokens,
87
- inputAudioTokens,
88
- outputTextTokens: outputTokens,
89
- },
91
+ usage,
90
92
  writeMetrics,
91
93
  });
92
94
  return {
93
95
  text: response.text ?? '',
96
+ usage,
97
+ cost: (0, utilities_1.calculateCosts)(model, usage),
94
98
  };
95
99
  }
96
100
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleGenerativeAISpeechToText.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleGenerativeAISpeechToText.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.ts"],"names":[],"mappings":"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"}