@mate-academy/llm-gateway 6.2.0 → 6.3.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 (50) hide show
  1. package/README.md +18 -12
  2. package/dist/LLMService.constants.d.ts +471 -7
  3. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.constants.d.ts +295 -3
  4. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.constants.js +101 -0
  5. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.constants.js.map +1 -1
  6. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.d.ts +6 -2
  7. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.js +4 -0
  8. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.typedefs.js.map +1 -1
  9. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.d.ts +4 -0
  10. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +145 -163
  11. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
  12. package/dist/providers/LLMAPI/LLMAPI.constants.d.ts +3 -3
  13. package/dist/providers/LLMAPI/LLMAPI.constants.js +1 -1
  14. package/dist/providers/LLMAPI/LLMAPI.constants.js.map +1 -1
  15. package/dist/providers/LLMAPI/LLMAPI.entity.js +1 -2
  16. package/dist/providers/LLMAPI/LLMAPI.entity.js.map +1 -1
  17. package/dist/providers/LLMAPI/LLMAPI.typedefs.js.map +1 -1
  18. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.d.ts +5 -2
  19. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +145 -142
  20. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -1
  21. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.d.ts +0 -1
  22. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js +10 -16
  23. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js.map +1 -1
  24. package/dist/providers/LLMAPI/utilities/LLMAPIJsonFixer.js +2 -4
  25. package/dist/providers/LLMAPI/utilities/LLMAPIJsonFixer.js.map +1 -1
  26. package/dist/providers/LLMAPI/utilities/index.d.ts +2 -0
  27. package/dist/providers/LLMAPI/utilities/index.js +5 -1
  28. package/dist/providers/LLMAPI/utilities/index.js.map +1 -1
  29. package/dist/providers/LLMAPI/utilities/parseXmlToolCalls.d.ts +7 -0
  30. package/dist/providers/LLMAPI/utilities/parseXmlToolCalls.js +35 -0
  31. package/dist/providers/LLMAPI/utilities/parseXmlToolCalls.js.map +1 -0
  32. package/dist/providers/LLMAPI/utilities/stripThinkingTags.d.ts +1 -0
  33. package/dist/providers/LLMAPI/utilities/stripThinkingTags.js +7 -0
  34. package/dist/providers/LLMAPI/utilities/stripThinkingTags.js.map +1 -0
  35. package/dist/providers/OpenAI/OpenAI.constants.d.ts +222 -2
  36. package/dist/providers/OpenAI/OpenAI.constants.js +44 -0
  37. package/dist/providers/OpenAI/OpenAI.constants.js.map +1 -1
  38. package/dist/providers/OpenAI/OpenAI.typedefs.d.ts +3 -1
  39. package/dist/providers/OpenAI/OpenAI.typedefs.js +2 -0
  40. package/dist/providers/OpenAI/OpenAI.typedefs.js.map +1 -1
  41. package/dist/providers/OpenAI/services/OpenAIAssistance.service.d.ts +3 -0
  42. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +100 -156
  43. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
  44. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.d.ts +2 -0
  45. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.js +60 -76
  46. package/dist/providers/OpenAICompatible/OpenAICompatibleCompletion.service.js.map +1 -1
  47. package/dist/services/chatState/CompletionsChatState.js.map +1 -1
  48. package/dist/services/fileStorage/fileStorageTools.js +2 -1
  49. package/dist/services/fileStorage/fileStorageTools.js.map +1 -1
  50. package/package.json +3 -3
@@ -205,26 +205,50 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
205
205
  this.responseHistory.delete(chatId);
206
206
  this.chatInstructions.delete(chatId);
207
207
  }
208
+ prepareAssistTools(options) {
209
+ const { message, storageId } = options;
210
+ const customTools = options.tools ?? [];
211
+ const messageInput = this.convertLLMMessageToResponsesInput(message);
212
+ let tools = [];
213
+ if (customTools.length > 0) {
214
+ this.validateToolDefinitions(customTools);
215
+ tools = this.convertCustomToolsToResponsesAPI(customTools);
216
+ }
217
+ if (storageId) {
218
+ tools.push({
219
+ type: 'file_search',
220
+ vector_store_ids: [storageId],
221
+ });
222
+ }
223
+ return { messageInput, tools };
224
+ }
225
+ extractUsageFromResponse(response) {
226
+ return {
227
+ inputTokens: response.usage?.input_tokens ?? 0,
228
+ cachedInputTokens: response.usage
229
+ ?.input_tokens_details
230
+ ?.cached_tokens ?? 0,
231
+ outputTokens: response.usage?.output_tokens ?? 0,
232
+ reasoningTokens: response.usage
233
+ ?.output_tokens_details
234
+ ?.reasoning_tokens ?? 0,
235
+ };
236
+ }
237
+ buildUsageMetrics(usage) {
238
+ return {
239
+ inputTextTokens: usage.inputTokens - usage.cachedInputTokens,
240
+ inputCachedTextTokens: usage.cachedInputTokens,
241
+ outputTextTokens: usage.outputTokens + usage.reasoningTokens,
242
+ };
243
+ }
208
244
  async assistInChatText(options) {
209
- const { model, message, chatId, storageId, abortSignal, reporterContext, } = options;
245
+ const { model, chatId, abortSignal, reporterContext, } = options;
210
246
  const writeMetrics = this.reporter?.initWriter(reporterContext);
211
247
  try {
212
248
  abortSignal?.throwIfAborted();
213
249
  const lastResponseId = this.responseHistory.get(chatId);
214
- const messageInput = this.convertLLMMessageToResponsesInput(message);
250
+ const { messageInput, tools } = this.prepareAssistTools(options);
215
251
  const customTools = options.tools ?? [];
216
- const hasCustomTools = customTools.length > 0;
217
- let tools = [];
218
- if (hasCustomTools) {
219
- this.validateToolDefinitions(customTools);
220
- tools = this.convertCustomToolsToResponsesAPI(customTools);
221
- }
222
- if (storageId) {
223
- tools.push({
224
- type: 'file_search',
225
- vector_store_ids: [storageId],
226
- });
227
- }
228
252
  const initialResponse = await this.instance.responses.create({
229
253
  model: model.name,
230
254
  input: messageInput,
@@ -235,53 +259,23 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
235
259
  instructions: this.chatInstructions.get(chatId),
236
260
  }, { signal: abortSignal });
237
261
  this.responseHistory.set(chatId, initialResponse.id);
238
- let text;
239
- let inputTextTokens;
240
- let inputCachedTextTokens;
241
- let outputTextTokens;
242
- if (hasCustomTools) {
243
- const maxIterations = options.maxToolIterations
244
- ?? LLMService_constants_1.DEFAULT_MAX_TOOL_ITERATIONS;
245
- const { response: finalResponse, totalUsage } = await this.executeToolLoop({
246
- response: initialResponse,
247
- tools: customTools,
248
- model,
249
- chatId,
250
- maxIterations,
251
- abortSignal,
252
- allTools: tools,
253
- });
254
- text = finalResponse.output_text || '';
255
- inputTextTokens = totalUsage.inputTokens
256
- - totalUsage.cachedInputTokens;
257
- inputCachedTextTokens
258
- = totalUsage.cachedInputTokens;
259
- outputTextTokens = totalUsage.outputTokens
260
- + totalUsage.reasoningTokens;
261
- }
262
- else {
263
- text = initialResponse.output_text || '';
264
- const totalInputTokens = initialResponse.usage?.input_tokens ?? 0;
265
- const cachedInputTokens = initialResponse.usage
266
- ?.input_tokens_details?.cached_tokens ?? 0;
267
- const totalOutputTokens = initialResponse.usage?.output_tokens ?? 0;
268
- const reasoningOutputTokens = initialResponse.usage
269
- ?.output_tokens_details
270
- ?.reasoning_tokens ?? 0;
271
- inputTextTokens
272
- = totalInputTokens - cachedInputTokens;
273
- inputCachedTextTokens = cachedInputTokens;
274
- outputTextTokens
275
- = totalOutputTokens + reasoningOutputTokens;
276
- }
262
+ const maxIterations = options.maxToolIterations
263
+ ?? LLMService_constants_1.DEFAULT_MAX_TOOL_ITERATIONS;
264
+ const toolLoopResult = await this.executeToolLoop({
265
+ response: initialResponse,
266
+ tools: customTools,
267
+ model,
268
+ chatId,
269
+ maxIterations,
270
+ abortSignal,
271
+ allTools: tools,
272
+ });
273
+ const { response: finalResponse, totalUsage } = toolLoopResult;
274
+ const text = finalResponse.output_text || '';
277
275
  await this.writeSuccessMetrics({
278
276
  method: this.getMethodName(this.assistInChatText),
279
277
  model,
280
- usage: {
281
- inputTextTokens,
282
- inputCachedTextTokens,
283
- outputTextTokens,
284
- },
278
+ usage: this.buildUsageMetrics(totalUsage),
285
279
  writeMetrics,
286
280
  });
287
281
  return { text };
@@ -299,30 +293,30 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
299
293
  error: (0, serializeError_1.serializeError)(error),
300
294
  options,
301
295
  });
302
- return { error };
296
+ return {
297
+ error: error instanceof Error
298
+ ? error
299
+ : new Error(String(error)),
300
+ };
303
301
  }
304
302
  }
305
303
  async assistInChatStructured(options) {
306
- const { model, message, chatId, storageId, abortSignal, schema, reporterContext, } = options;
304
+ const { model, chatId, abortSignal, schema, reporterContext, } = options;
307
305
  const writeMetrics = this.reporter?.initWriter(reporterContext);
308
306
  try {
309
307
  abortSignal?.throwIfAborted();
310
308
  const lastResponseId = this.responseHistory.get(chatId);
311
- const messageInput = this.convertLLMMessageToResponsesInput(message);
309
+ const { messageInput, tools } = this.prepareAssistTools(options);
312
310
  const customTools = options.tools ?? [];
313
- const hasCustomTools = customTools.length > 0;
314
- let tools = [];
315
- if (hasCustomTools) {
316
- this.validateToolDefinitions(customTools);
317
- tools = this.convertCustomToolsToResponsesAPI(customTools);
318
- }
319
- if (storageId) {
320
- tools.push({
321
- type: 'file_search',
322
- vector_store_ids: [storageId],
323
- });
324
- }
325
311
  const jsonSchema = schema._toProviderSchema(LLMService_typedefs_1.LLMProviders.OpenAI);
312
+ const textFormat = {
313
+ format: {
314
+ type: 'json_schema',
315
+ name: 'structured_response',
316
+ strict: true,
317
+ schema: jsonSchema,
318
+ },
319
+ };
326
320
  const initialResponse = await this.instance.responses.create({
327
321
  model: model.name,
328
322
  input: messageInput,
@@ -331,64 +325,23 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
331
325
  ? tools
332
326
  : undefined,
333
327
  instructions: this.chatInstructions.get(chatId),
334
- text: {
335
- format: {
336
- type: 'json_schema',
337
- name: 'structured_response',
338
- strict: true,
339
- schema: jsonSchema,
340
- },
341
- },
328
+ text: textFormat,
342
329
  }, { signal: abortSignal });
343
330
  this.responseHistory.set(chatId, initialResponse.id);
344
- let content;
345
- let inputTextTokens;
346
- let inputCachedTextTokens;
347
- let outputTextTokens;
348
- if (hasCustomTools) {
349
- const maxIterations = options.maxToolIterations
350
- ?? LLMService_constants_1.DEFAULT_MAX_TOOL_ITERATIONS;
351
- const textFormat = {
352
- format: {
353
- type: 'json_schema',
354
- name: 'structured_response',
355
- strict: true,
356
- schema: jsonSchema,
357
- },
358
- };
359
- const { response: finalResponse, totalUsage } = await this.executeToolLoop({
360
- response: initialResponse,
361
- tools: customTools,
362
- model,
363
- chatId,
364
- maxIterations,
365
- abortSignal,
366
- allTools: tools,
367
- textFormat,
368
- });
369
- content = finalResponse.output_text || '';
370
- inputTextTokens = totalUsage.inputTokens
371
- - totalUsage.cachedInputTokens;
372
- inputCachedTextTokens
373
- = totalUsage.cachedInputTokens;
374
- outputTextTokens = totalUsage.outputTokens
375
- + totalUsage.reasoningTokens;
376
- }
377
- else {
378
- content = initialResponse.output_text || '';
379
- const totalInputTokens = initialResponse.usage?.input_tokens ?? 0;
380
- const cachedInputTokens = initialResponse.usage
381
- ?.input_tokens_details?.cached_tokens ?? 0;
382
- const totalOutputTokens = initialResponse.usage?.output_tokens ?? 0;
383
- const reasoningOutputTokens = initialResponse.usage
384
- ?.output_tokens_details
385
- ?.reasoning_tokens ?? 0;
386
- inputTextTokens
387
- = totalInputTokens - cachedInputTokens;
388
- inputCachedTextTokens = cachedInputTokens;
389
- outputTextTokens
390
- = totalOutputTokens + reasoningOutputTokens;
391
- }
331
+ const maxIterations = options.maxToolIterations
332
+ ?? LLMService_constants_1.DEFAULT_MAX_TOOL_ITERATIONS;
333
+ const toolLoopResult = await this.executeToolLoop({
334
+ response: initialResponse,
335
+ tools: customTools,
336
+ model,
337
+ chatId,
338
+ maxIterations,
339
+ abortSignal,
340
+ allTools: tools,
341
+ textFormat,
342
+ });
343
+ const { response: finalResponse, totalUsage, } = toolLoopResult;
344
+ const content = finalResponse.output_text || '';
392
345
  if (!content) {
393
346
  throw new Error('Empty response from OpenAI Responses API');
394
347
  }
@@ -398,11 +351,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
398
351
  await this.writeSuccessMetrics({
399
352
  method: this.getMethodName(this.assistInChatStructured),
400
353
  model,
401
- usage: {
402
- inputTextTokens,
403
- inputCachedTextTokens,
404
- outputTextTokens,
405
- },
354
+ usage: this.buildUsageMetrics(totalUsage),
406
355
  writeMetrics,
407
356
  });
408
357
  return {
@@ -412,11 +361,14 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
412
361
  };
413
362
  }
414
363
  catch (parseError) {
364
+ const parseErrorMessage = parseError instanceof Error
365
+ ? parseError.message
366
+ : String(parseError);
415
367
  this.logger
416
368
  ?.child(this.getMethodName(this.assistInChatStructured))
417
369
  .warn('Failed to parse JSON response', {
418
370
  content,
419
- parseError: parseError.message,
371
+ parseError: parseErrorMessage,
420
372
  });
421
373
  throw parseError;
422
374
  }
@@ -437,7 +389,9 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
437
389
  });
438
390
  return {
439
391
  text: '',
440
- error,
392
+ error: error instanceof Error
393
+ ? error
394
+ : new Error(String(error)),
441
395
  parseError: 'Failed to get structured response'
442
396
  + ' from OpenAI Responses API',
443
397
  };
@@ -485,16 +439,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
485
439
  async executeToolLoop(parameters) {
486
440
  const { tools, model, chatId, maxIterations, abortSignal, allTools, textFormat, } = parameters;
487
441
  let currentResponse = parameters.response;
488
- const totalUsage = {
489
- inputTokens: currentResponse.usage?.input_tokens ?? 0,
490
- cachedInputTokens: currentResponse.usage
491
- ?.input_tokens_details
492
- ?.cached_tokens ?? 0,
493
- outputTokens: currentResponse.usage?.output_tokens ?? 0,
494
- reasoningTokens: currentResponse.usage
495
- ?.output_tokens_details
496
- ?.reasoning_tokens ?? 0,
497
- };
442
+ const totalUsage = this.extractUsageFromResponse(currentResponse);
498
443
  for (let iteration = 0; iteration < maxIterations; iteration++) {
499
444
  abortSignal?.throwIfAborted();
500
445
  const functionCalls = this.getFunctionCallsFromResponse(currentResponse);
@@ -512,16 +457,15 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
512
457
  ...(textFormat && { text: textFormat }),
513
458
  }, { signal: abortSignal });
514
459
  this.responseHistory.set(chatId, nextResponse.id);
515
- totalUsage.inputTokens
516
- += nextResponse.usage?.input_tokens ?? 0;
517
- totalUsage.cachedInputTokens
518
- += nextResponse.usage?.input_tokens_details
519
- ?.cached_tokens ?? 0;
520
- totalUsage.outputTokens
521
- += nextResponse.usage?.output_tokens ?? 0;
522
- totalUsage.reasoningTokens
523
- += nextResponse.usage?.output_tokens_details
524
- ?.reasoning_tokens ?? 0;
460
+ const iterationUsage = this.extractUsageFromResponse(nextResponse);
461
+ totalUsage.inputTokens +=
462
+ iterationUsage.inputTokens;
463
+ totalUsage.cachedInputTokens +=
464
+ iterationUsage.cachedInputTokens;
465
+ totalUsage.outputTokens +=
466
+ iterationUsage.outputTokens;
467
+ totalUsage.reasoningTokens +=
468
+ iterationUsage.reasoningTokens;
525
469
  currentResponse = nextResponse;
526
470
  }
527
471
  return {
@@ -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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"}
@@ -17,5 +17,7 @@ export declare class OpenAICompatibleCompletionService<Provider extends OpenAICo
17
17
  protected sendStructuredMessage(options: LLMSendMessageOptions<Provider, Reporter> & {
18
18
  schema: LLMSchemaInterface;
19
19
  }): Promise<LLMStructuredResult>;
20
+ private prepareCompletionMessages;
21
+ private extractUsageFromCompletion;
20
22
  }
21
23
  export {};
@@ -24,32 +24,17 @@ class OpenAICompatibleCompletionService extends services_1.LLMCompletionService
24
24
  return countTokensFn(allContents);
25
25
  }
26
26
  async sendTextMessage(options) {
27
- const { model, message, history = [], instructions, abortSignal, reporterContext, } = options;
27
+ const { model, abortSignal, reporterContext, } = options;
28
28
  const writeMetrics = this.reporter?.initWriter(reporterContext);
29
29
  try {
30
30
  abortSignal?.throwIfAborted();
31
- const countTokensFn = OpenAI_entity_1.OpenAIEntity.getCountTokensFn();
32
- const combinedMessages = await OpenAI_entity_1.OpenAIEntity
33
- .combineMessagesWithLimit({
34
- history,
35
- message,
36
- model,
37
- countTokensFn,
38
- instance: this.instance,
39
- logger: this.logger,
40
- });
41
- const chatCompletionMessageParam = OpenAI_entity_1.OpenAIEntity
42
- .getChatCompletionMessageParam(combinedMessages, this.logger);
43
- const systemMessage = instructions
44
- ? [{ role: 'system', content: instructions }]
45
- : [];
31
+ const { systemMessage, chatMessages, } = await this.prepareCompletionMessages(options);
46
32
  abortSignal?.throwIfAborted();
47
- const completion = await this.instance.chat.completions
48
- .create({
33
+ const completion = await this.instance.chat.completions.create({
49
34
  model: model.name,
50
35
  messages: [
51
36
  ...systemMessage,
52
- ...chatCompletionMessageParam,
37
+ ...chatMessages,
53
38
  ],
54
39
  n: 1,
55
40
  ...model.config,
@@ -57,22 +42,11 @@ class OpenAICompatibleCompletionService extends services_1.LLMCompletionService
57
42
  signal: abortSignal,
58
43
  });
59
44
  abortSignal?.throwIfAborted();
60
- const promptTokens = completion.usage?.prompt_tokens ?? 0;
61
- const cachedTokens = completion.usage?.prompt_tokens_details
62
- ?.cached_tokens ?? 0;
63
- const regularInputTokens = promptTokens - cachedTokens;
64
- const outputTokens = completion.usage?.completion_tokens ?? 0;
65
- const reasoningTokens = completion.usage?.completion_tokens_details
66
- ?.reasoning_tokens ?? 0;
45
+ const usage = this.extractUsageFromCompletion(completion);
67
46
  await this.writeSuccessMetrics({
68
47
  method: this.getMethodName(this.sendTextMessage),
69
48
  model,
70
- usage: {
71
- inputTextTokens: regularInputTokens,
72
- inputCachedTextTokens: cachedTokens,
73
- outputTextTokens: outputTokens,
74
- outputReasoningTokens: reasoningTokens,
75
- },
49
+ usage,
76
50
  writeMetrics,
77
51
  });
78
52
  return {
@@ -86,43 +60,31 @@ class OpenAICompatibleCompletionService extends services_1.LLMCompletionService
86
60
  isAborted: abortSignal?.aborted,
87
61
  writeMetrics,
88
62
  });
89
- this.logger
90
- ?.child(this.getMethodName(this.sendTextMessage))
63
+ this.logger?.child(this.getMethodName(this.sendTextMessage))
91
64
  .error('Error sending text message', {
92
65
  error: (0, serializeError_1.serializeError)(error),
93
66
  options,
94
67
  });
95
- return { error };
68
+ return {
69
+ error: error instanceof Error
70
+ ? error
71
+ : new Error(String(error)),
72
+ };
96
73
  }
97
74
  }
98
75
  async sendStructuredMessage(options) {
99
- const { model, message, history = [], instructions, abortSignal, schema, reporterContext, } = options;
76
+ const { model, abortSignal, schema, reporterContext, } = options;
100
77
  const writeMetrics = this.reporter?.initWriter(reporterContext);
101
78
  try {
102
79
  abortSignal?.throwIfAborted();
103
- const countTokensFn = OpenAI_entity_1.OpenAIEntity.getCountTokensFn();
104
- const combinedMessages = await OpenAI_entity_1.OpenAIEntity
105
- .combineMessagesWithLimit({
106
- history,
107
- message,
108
- model,
109
- countTokensFn,
110
- instance: this.instance,
111
- logger: this.logger,
112
- });
113
- const chatCompletionMessageParam = OpenAI_entity_1.OpenAIEntity
114
- .getChatCompletionMessageParam(combinedMessages, this.logger);
115
- const systemMessage = instructions
116
- ? [{ role: 'system', content: instructions }]
117
- : [];
80
+ const { systemMessage, chatMessages, } = await this.prepareCompletionMessages(options);
118
81
  abortSignal?.throwIfAborted();
119
82
  const jsonSchema = schema._toProviderSchema(this.provider);
120
- const completion = await this.instance.chat.completions
121
- .create({
83
+ const completion = await this.instance.chat.completions.create({
122
84
  model: model.name,
123
85
  messages: [
124
86
  ...systemMessage,
125
- ...chatCompletionMessageParam,
87
+ ...chatMessages,
126
88
  ],
127
89
  n: 1,
128
90
  ...model.config,
@@ -145,22 +107,11 @@ class OpenAICompatibleCompletionService extends services_1.LLMCompletionService
145
107
  try {
146
108
  const parsed = JSON.parse(content);
147
109
  const validation = schema._parse(parsed);
148
- const promptTokens = completion.usage?.prompt_tokens ?? 0;
149
- const cachedTokens = completion.usage?.prompt_tokens_details
150
- ?.cached_tokens ?? 0;
151
- const regularInputTokens = promptTokens - cachedTokens;
152
- const outputTokens = completion.usage?.completion_tokens ?? 0;
153
- const reasoningTokens = completion.usage?.completion_tokens_details
154
- ?.reasoning_tokens ?? 0;
110
+ const usage = this.extractUsageFromCompletion(completion);
155
111
  await this.writeSuccessMetrics({
156
112
  method: this.getMethodName(this.sendStructuredMessage),
157
113
  model,
158
- usage: {
159
- inputTextTokens: regularInputTokens,
160
- inputCachedTextTokens: cachedTokens,
161
- outputTextTokens: outputTokens,
162
- outputReasoningTokens: reasoningTokens,
163
- },
114
+ usage,
164
115
  writeMetrics,
165
116
  });
166
117
  return {
@@ -170,11 +121,11 @@ class OpenAICompatibleCompletionService extends services_1.LLMCompletionService
170
121
  };
171
122
  }
172
123
  catch (parseError) {
173
- this.logger
174
- ?.child(this.getMethodName(this.sendStructuredMessage))
175
- .warn('Failed to parse JSON response', {
124
+ this.logger?.child(this.getMethodName(this.sendStructuredMessage)).warn('Failed to parse JSON response', {
176
125
  content,
177
- parseError: parseError.message,
126
+ parseError: parseError instanceof Error
127
+ ? parseError.message
128
+ : String(parseError),
178
129
  });
179
130
  throw parseError;
180
131
  }
@@ -186,19 +137,52 @@ class OpenAICompatibleCompletionService extends services_1.LLMCompletionService
186
137
  isAborted: abortSignal?.aborted,
187
138
  writeMetrics,
188
139
  });
189
- this.logger
190
- ?.child(this.getMethodName(this.sendStructuredMessage))
191
- .error('Error sending structured message', {
140
+ this.logger?.child(this.getMethodName(this.sendStructuredMessage)).error('Error sending structured message', {
192
141
  error: (0, serializeError_1.serializeError)(error),
193
142
  options,
194
143
  });
195
144
  return {
196
145
  text: '',
197
- error,
198
- parseError: `Failed to get structured response from ${this.provider}`,
146
+ error: error instanceof Error
147
+ ? error
148
+ : new Error(String(error)),
149
+ parseError: `Failed to get structured response`
150
+ + ` from ${this.provider}`,
199
151
  };
200
152
  }
201
153
  }
154
+ async prepareCompletionMessages(options) {
155
+ const { message, history = [], instructions, model, } = options;
156
+ const countTokensFn = OpenAI_entity_1.OpenAIEntity.getCountTokensFn();
157
+ const combinedMessages = await OpenAI_entity_1.OpenAIEntity.combineMessagesWithLimit({
158
+ history,
159
+ message,
160
+ model,
161
+ countTokensFn,
162
+ instance: this.instance,
163
+ logger: this.logger,
164
+ });
165
+ const chatMessages = OpenAI_entity_1.OpenAIEntity
166
+ .getChatCompletionMessageParam(combinedMessages, this.logger);
167
+ const systemMessage = instructions
168
+ ? [{ role: 'system', content: instructions }]
169
+ : [];
170
+ return { systemMessage, chatMessages };
171
+ }
172
+ extractUsageFromCompletion(completion) {
173
+ const promptTokens = completion.usage?.prompt_tokens ?? 0;
174
+ const cachedTokens = completion.usage?.prompt_tokens_details
175
+ ?.cached_tokens ?? 0;
176
+ const outputTokens = completion.usage?.completion_tokens ?? 0;
177
+ const reasoningTokens = completion.usage?.completion_tokens_details
178
+ ?.reasoning_tokens ?? 0;
179
+ return {
180
+ inputTextTokens: promptTokens - cachedTokens,
181
+ inputCachedTextTokens: cachedTokens,
182
+ outputTextTokens: outputTokens,
183
+ outputReasoningTokens: reasoningTokens,
184
+ };
185
+ }
202
186
  }
203
187
  exports.OpenAICompatibleCompletionService = OpenAICompatibleCompletionService;
204
188
  //# sourceMappingURL=OpenAICompatibleCompletion.service.js.map