@mate-academy/llm-gateway 6.1.0 → 6.2.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 (60) 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 +8 -7
  7. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +217 -31
  8. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
  9. package/dist/providers/LLMAPI/LLMAPI.constants.d.ts +292 -3
  10. package/dist/providers/LLMAPI/LLMAPI.constants.js +2 -2
  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 +49 -0
  14. package/dist/providers/LLMAPI/LLMAPI.entity.js.map +1 -0
  15. package/dist/providers/LLMAPI/index.d.ts +1 -0
  16. package/dist/providers/LLMAPI/index.js +1 -0
  17. package/dist/providers/LLMAPI/index.js.map +1 -1
  18. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.d.ts +34 -0
  19. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +497 -0
  20. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -0
  21. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.d.ts +3 -1
  22. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js +18 -2
  23. package/dist/providers/LLMAPI/services/LLMAPICompletion.service.js.map +1 -1
  24. package/dist/providers/LLMAPI/services/index.d.ts +1 -0
  25. package/dist/providers/LLMAPI/services/index.js +1 -0
  26. package/dist/providers/LLMAPI/services/index.js.map +1 -1
  27. package/dist/providers/OpenAI/services/OpenAIAssistance.service.d.ts +9 -7
  28. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +209 -40
  29. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
  30. package/dist/services/LLMAssistanceService.abstract.d.ts +8 -6
  31. package/dist/services/LLMAssistanceService.abstract.js +20 -0
  32. package/dist/services/LLMAssistanceService.abstract.js.map +1 -1
  33. package/dist/services/chatState/CompletionsChatState.d.ts +19 -0
  34. package/dist/services/chatState/CompletionsChatState.js +80 -0
  35. package/dist/services/chatState/CompletionsChatState.js.map +1 -0
  36. package/dist/services/chatState/index.d.ts +1 -0
  37. package/dist/services/chatState/index.js +6 -0
  38. package/dist/services/chatState/index.js.map +1 -0
  39. package/dist/services/fileStorage/FileStorageToolExecutor.d.ts +15 -0
  40. package/dist/services/fileStorage/FileStorageToolExecutor.js +172 -0
  41. package/dist/services/fileStorage/FileStorageToolExecutor.js.map +1 -0
  42. package/dist/services/fileStorage/InMemoryFileStorage.d.ts +20 -0
  43. package/dist/services/fileStorage/InMemoryFileStorage.js +67 -0
  44. package/dist/services/fileStorage/InMemoryFileStorage.js.map +1 -0
  45. package/dist/services/fileStorage/fileStorageTools.d.ts +26 -0
  46. package/dist/services/fileStorage/fileStorageTools.js +67 -0
  47. package/dist/services/fileStorage/fileStorageTools.js.map +1 -0
  48. package/dist/services/fileStorage/index.d.ts +4 -0
  49. package/dist/services/fileStorage/index.js +11 -0
  50. package/dist/services/fileStorage/index.js.map +1 -0
  51. package/dist/utilities/index.d.ts +1 -0
  52. package/dist/utilities/index.js +1 -0
  53. package/dist/utilities/index.js.map +1 -1
  54. package/dist/utilities/tools/LLMTool.d.ts +10 -0
  55. package/dist/utilities/tools/LLMTool.js +10 -0
  56. package/dist/utilities/tools/LLMTool.js.map +1 -0
  57. package/dist/utilities/tools/index.d.ts +1 -0
  58. package/dist/utilities/tools/index.js +6 -0
  59. package/dist/utilities/tools/index.js.map +1 -0
  60. package/package.json +1 -1
@@ -0,0 +1,497 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LLMAPIAssistanceService = void 0;
4
+ const openai_1 = require("openai");
5
+ const uuid_1 = require("uuid");
6
+ const LLMService_typedefs_1 = require("../../../LLMService.typedefs");
7
+ const LLMService_constants_1 = require("../../../LLMService.constants");
8
+ const serializeError_1 = require("../../../utilities/serializeError");
9
+ const services_1 = require("../../../services");
10
+ const LLMAPI_typedefs_1 = require("../../../providers/LLMAPI/LLMAPI.typedefs");
11
+ const LLMAPI_entity_1 = require("../../../providers/LLMAPI/LLMAPI.entity");
12
+ const utilities_1 = require("../../../providers/LLMAPI/utilities");
13
+ const OpenAI_entity_1 = require("../../../providers/OpenAI/OpenAI.entity");
14
+ const fileStorage_1 = require("../../../services/fileStorage");
15
+ const chatState_1 = require("../../../services/chatState");
16
+ const FILE_STORAGE_TOOL_NAMES = Object.values(fileStorage_1.FileStorageToolName);
17
+ class LLMAPIAssistanceService extends services_1.LLMAssistanceService {
18
+ fileStorage = new fileStorage_1.InMemoryFileStorage();
19
+ chatState = new chatState_1.CompletionsChatState();
20
+ toolExecutor = new fileStorage_1.FileStorageToolExecutor(this.fileStorage);
21
+ jsonFixer;
22
+ fileContextInjectedChats = new Set();
23
+ constructor(logger, reporter, options) {
24
+ super(LLMService_typedefs_1.LLMProviders.LLMAPI, logger, reporter, options);
25
+ }
26
+ get instance() {
27
+ return this.getOrCreateInstance(() => new openai_1.OpenAI({
28
+ ...this.options,
29
+ baseURL: LLMAPI_typedefs_1.LLMAPI_BASE_URL,
30
+ }));
31
+ }
32
+ getJsonFixer() {
33
+ if (!this.jsonFixer) {
34
+ this.jsonFixer = new utilities_1.LLMAPIJsonFixer(this.instance, this.logger, this.reporter);
35
+ }
36
+ return this.jsonFixer;
37
+ }
38
+ async uploadFile(fileOptions) {
39
+ const { path, name, mimeType, abortSignal, reporterContext, } = fileOptions;
40
+ const writeMetrics = this.reporter
41
+ ?.initWriter(reporterContext);
42
+ try {
43
+ abortSignal?.throwIfAborted();
44
+ const existingFile = this.fileStorage
45
+ .getFileByPath(path);
46
+ if (existingFile) {
47
+ await this.writeSuccessMetrics({
48
+ method: this.getMethodName(this.uploadFile),
49
+ model: null,
50
+ usage: {},
51
+ writeMetrics,
52
+ });
53
+ return {
54
+ fileId: existingFile.fileId,
55
+ name: existingFile.name,
56
+ path: existingFile.path,
57
+ mimeType: existingFile.mimeType,
58
+ };
59
+ }
60
+ const storedFile = this.fileStorage
61
+ .addFile(path, name, mimeType);
62
+ const uploadedFileInfo = {
63
+ fileId: storedFile.fileId,
64
+ name: storedFile.name,
65
+ path: storedFile.path,
66
+ mimeType: storedFile.mimeType,
67
+ };
68
+ await this.writeSuccessMetrics({
69
+ method: this.getMethodName(this.uploadFile),
70
+ model: null,
71
+ usage: {},
72
+ writeMetrics,
73
+ });
74
+ return uploadedFileInfo;
75
+ }
76
+ catch (error) {
77
+ await this.writeErrorMetrics({
78
+ method: this.getMethodName(this.uploadFile),
79
+ model: null,
80
+ writeMetrics,
81
+ });
82
+ this.logger
83
+ ?.child(this.getMethodName(this.uploadFile))
84
+ .error('Error uploading file', {
85
+ error: (0, serializeError_1.serializeError)(error),
86
+ file: fileOptions,
87
+ });
88
+ return { error };
89
+ }
90
+ }
91
+ async getFile(path) {
92
+ const storedFile = this.fileStorage.getFileByPath(path);
93
+ if (!storedFile) {
94
+ return null;
95
+ }
96
+ return {
97
+ fileId: storedFile.fileId,
98
+ name: storedFile.name,
99
+ path: storedFile.path,
100
+ mimeType: storedFile.mimeType,
101
+ };
102
+ }
103
+ async deleteFile(fileId) {
104
+ this.fileStorage.removeFile(fileId);
105
+ }
106
+ async createFileStorage(options) {
107
+ const { uploadedFiles, abortSignal, reporterContext, } = options;
108
+ const writeMetrics = this.reporter
109
+ ?.initWriter(reporterContext);
110
+ try {
111
+ abortSignal?.throwIfAborted();
112
+ const storageId = this.fileStorage.createStorage(uploadedFiles.map((file) => file.fileId));
113
+ await this.writeSuccessMetrics({
114
+ method: this.getMethodName(this.createFileStorage),
115
+ model: null,
116
+ usage: {},
117
+ writeMetrics,
118
+ });
119
+ return { storageId };
120
+ }
121
+ catch (error) {
122
+ await this.writeErrorMetrics({
123
+ method: this.getMethodName(this.createFileStorage),
124
+ model: null,
125
+ writeMetrics,
126
+ });
127
+ this.logger
128
+ ?.child(this.getMethodName(this.createFileStorage))
129
+ .error('Error creating file storage', {
130
+ error: (0, serializeError_1.serializeError)(error),
131
+ uploadedFiles,
132
+ });
133
+ return { error };
134
+ }
135
+ }
136
+ async deleteFileStorage(storageId) {
137
+ this.fileStorage.removeStorage(storageId);
138
+ }
139
+ async createChat(options) {
140
+ const { instructions, history = [], storageId, abortSignal, reporterContext, } = options;
141
+ const writeMetrics = this.reporter
142
+ ?.initWriter(reporterContext);
143
+ try {
144
+ abortSignal?.throwIfAborted();
145
+ const chatId = (0, uuid_1.v4)();
146
+ const convertedHistory = LLMAPI_entity_1.LLMAPIEntity
147
+ .convertAssistanceHistoryToCompletions(history);
148
+ this.chatState.createChat(chatId, instructions, storageId, convertedHistory);
149
+ await this.writeSuccessMetrics({
150
+ method: this.getMethodName(this.createChat),
151
+ model: null,
152
+ usage: {},
153
+ writeMetrics,
154
+ });
155
+ return { chatId };
156
+ }
157
+ catch (error) {
158
+ await this.writeErrorMetrics({
159
+ method: this.getMethodName(this.createChat),
160
+ model: null,
161
+ writeMetrics,
162
+ });
163
+ this.logger
164
+ ?.child(this.getMethodName(this.createChat))
165
+ .error('Error creating chat', {
166
+ error: (0, serializeError_1.serializeError)(error),
167
+ options,
168
+ });
169
+ return { error };
170
+ }
171
+ }
172
+ async deleteChat(chatId) {
173
+ this.chatState.deleteChat(chatId);
174
+ this.fileContextInjectedChats.delete(chatId);
175
+ }
176
+ async countTokens(messages) {
177
+ const countTokensFn = OpenAI_entity_1.OpenAIEntity
178
+ .getCountTokensFn();
179
+ const messageContents = messages.flatMap((message) => message.content);
180
+ return countTokensFn(messageContents);
181
+ }
182
+ async assistInChatText(options) {
183
+ const { model, message, chatId, storageId: optionsStorageId, abortSignal, reporterContext, tools: customTools, maxToolIterations = LLMService_constants_1.DEFAULT_MAX_TOOL_ITERATIONS, } = options;
184
+ const writeMetrics = this.reporter
185
+ ?.initWriter(reporterContext);
186
+ try {
187
+ const chat = this.chatState.getChat(chatId);
188
+ if (!chat) {
189
+ throw new Error('Chat session not found');
190
+ }
191
+ const storageId = chat.storageId
192
+ ?? optionsStorageId;
193
+ const convertedMessage = LLMAPI_entity_1.LLMAPIEntity
194
+ .convertAssistanceMessageToCompletion(message);
195
+ this.appendConvertedUserMessage(chatId, convertedMessage);
196
+ this.injectFileContext(chatId, storageId);
197
+ const tools = this.buildToolsArray(storageId, customTools);
198
+ const { text: rawText, totalPromptTokens, totalCachedTokens, totalOutputTokens, totalReasoningTokens, } = await this.executeToolLoop({
199
+ chatId,
200
+ model,
201
+ tools,
202
+ storageId,
203
+ customTools,
204
+ maxToolIterations,
205
+ abortSignal,
206
+ });
207
+ const text = this.stripThinkingTags(rawText);
208
+ this.chatState.appendAssistantMessage(chatId, text);
209
+ const regularInputTokens = totalPromptTokens - totalCachedTokens;
210
+ await this.writeSuccessMetrics({
211
+ method: this.getMethodName(this.assistInChatText),
212
+ model,
213
+ usage: {
214
+ inputTextTokens: regularInputTokens,
215
+ inputCachedTextTokens: totalCachedTokens,
216
+ outputTextTokens: totalOutputTokens,
217
+ outputReasoningTokens: totalReasoningTokens,
218
+ },
219
+ writeMetrics,
220
+ });
221
+ return { text };
222
+ }
223
+ catch (error) {
224
+ await this.writeErrorMetrics({
225
+ method: this.getMethodName(this.assistInChatText),
226
+ model,
227
+ isAborted: abortSignal?.aborted,
228
+ writeMetrics,
229
+ });
230
+ this.logger
231
+ ?.child(this.getMethodName(this.assistInChatText))
232
+ .error('Error assisting in chat', {
233
+ error: (0, serializeError_1.serializeError)(error),
234
+ options,
235
+ });
236
+ return { error };
237
+ }
238
+ }
239
+ async assistInChatStructured(options) {
240
+ const { model, message, chatId, storageId: optionsStorageId, abortSignal, schema, reporterContext, tools: customTools, maxToolIterations = LLMService_constants_1.DEFAULT_MAX_TOOL_ITERATIONS, } = options;
241
+ const writeMetrics = this.reporter
242
+ ?.initWriter(reporterContext);
243
+ try {
244
+ const chat = this.chatState.getChat(chatId);
245
+ if (!chat) {
246
+ throw new Error('Chat session not found');
247
+ }
248
+ const storageId = chat.storageId
249
+ ?? optionsStorageId;
250
+ const convertedMessage = LLMAPI_entity_1.LLMAPIEntity
251
+ .convertAssistanceMessageToCompletion(message);
252
+ this.appendConvertedUserMessage(chatId, convertedMessage);
253
+ this.injectFileContext(chatId, storageId);
254
+ const jsonSchema = schema._toProviderSchema(LLMService_typedefs_1.LLMProviders.LLMAPI);
255
+ const schemaInstruction = 'You MUST respond with a valid JSON object'
256
+ + ' matching this JSON schema:\n'
257
+ + JSON.stringify(jsonSchema, null, 2);
258
+ const messages = this.chatState
259
+ .getMessages(chatId);
260
+ const systemMessageIndex = messages.findIndex((msg) => msg.role === 'system');
261
+ let originalSystemMessage;
262
+ if (systemMessageIndex >= 0) {
263
+ originalSystemMessage
264
+ = messages[systemMessageIndex];
265
+ const existingContent = typeof originalSystemMessage.content
266
+ === 'string'
267
+ ? originalSystemMessage.content
268
+ : '';
269
+ messages[systemMessageIndex] = {
270
+ role: 'system',
271
+ content: existingContent
272
+ ? `${existingContent}\n\n${schemaInstruction}`
273
+ : schemaInstruction,
274
+ };
275
+ }
276
+ else {
277
+ messages.unshift({
278
+ role: 'system',
279
+ content: schemaInstruction,
280
+ });
281
+ }
282
+ const tools = this.buildToolsArray(storageId, customTools);
283
+ const { text: rawText, totalPromptTokens, totalCachedTokens, totalOutputTokens, totalReasoningTokens, } = await this.executeToolLoop({
284
+ chatId,
285
+ model,
286
+ tools,
287
+ storageId,
288
+ customTools,
289
+ maxToolIterations,
290
+ abortSignal,
291
+ responseFormat: { type: 'json_object' },
292
+ });
293
+ const text = this.stripThinkingTags(rawText);
294
+ if (originalSystemMessage) {
295
+ messages[systemMessageIndex] =
296
+ originalSystemMessage;
297
+ }
298
+ else {
299
+ messages.shift();
300
+ }
301
+ this.chatState.appendAssistantMessage(chatId, text);
302
+ const regularInputTokens = totalPromptTokens - totalCachedTokens;
303
+ await this.writeSuccessMetrics({
304
+ method: this.getMethodName(this.assistInChatStructured),
305
+ model,
306
+ usage: {
307
+ inputTextTokens: regularInputTokens,
308
+ inputCachedTextTokens: totalCachedTokens,
309
+ outputTextTokens: totalOutputTokens,
310
+ outputReasoningTokens: totalReasoningTokens,
311
+ },
312
+ writeMetrics,
313
+ });
314
+ return this.getJsonFixer()
315
+ .parseStructuredResponse({
316
+ content: text,
317
+ schema,
318
+ jsonSchema,
319
+ reporterContext,
320
+ abortSignal,
321
+ });
322
+ }
323
+ catch (error) {
324
+ await this.writeErrorMetrics({
325
+ method: this.getMethodName(this.assistInChatStructured),
326
+ model,
327
+ isAborted: abortSignal?.aborted,
328
+ writeMetrics,
329
+ });
330
+ this.logger
331
+ ?.child(this.getMethodName(this.assistInChatStructured))
332
+ .error('Error assisting in chat with structured output', {
333
+ error: (0, serializeError_1.serializeError)(error),
334
+ options,
335
+ });
336
+ return {
337
+ text: '',
338
+ error: error instanceof Error
339
+ ? error
340
+ : new Error(String(error)),
341
+ parseError: 'Failed to get structured response'
342
+ + ' from LLMAPI',
343
+ };
344
+ }
345
+ }
346
+ appendConvertedUserMessage(chatId, convertedMessage) {
347
+ const content = convertedMessage.content;
348
+ if (typeof content === 'string') {
349
+ this.chatState.appendUserMessage(chatId, [{ type: 'text', text: content }]);
350
+ return;
351
+ }
352
+ if (Array.isArray(content)) {
353
+ this.chatState.appendUserMessage(chatId, content);
354
+ return;
355
+ }
356
+ this.chatState.appendUserMessage(chatId, [{ type: 'text', text: '' }]);
357
+ }
358
+ stripThinkingTags(text) {
359
+ return text.replace(/<think>[\s\S]*?<\/think>\s*/g, '').trim();
360
+ }
361
+ injectFileContext(chatId, storageId) {
362
+ if (!storageId) {
363
+ return;
364
+ }
365
+ if (this.fileContextInjectedChats.has(chatId)) {
366
+ return;
367
+ }
368
+ const files = this.fileStorage
369
+ .getStorageFiles(storageId);
370
+ if (files.length === 0) {
371
+ return;
372
+ }
373
+ const fileContents = files.map((file) => `--- File: ${file.name} ---\n`
374
+ + file.content
375
+ + '\n--- End of file ---').join('\n\n');
376
+ const fileContext = 'The following files have been uploaded'
377
+ + ' for reference:\n\n'
378
+ + fileContents;
379
+ const messages = this.chatState
380
+ .getMessages(chatId);
381
+ const systemMessage = messages.find((msg) => msg.role === 'system');
382
+ if (systemMessage && 'content' in systemMessage) {
383
+ const existingContent = typeof systemMessage.content === 'string'
384
+ ? systemMessage.content
385
+ : '';
386
+ systemMessage.content = existingContent
387
+ ? `${existingContent}\n\n${fileContext}`
388
+ : fileContext;
389
+ }
390
+ else {
391
+ messages.unshift({
392
+ role: 'system',
393
+ content: fileContext,
394
+ });
395
+ }
396
+ this.fileContextInjectedChats.add(chatId);
397
+ }
398
+ buildToolsArray(storageId, customTools) {
399
+ const tools = [];
400
+ if (customTools?.length) {
401
+ this.validateToolDefinitions(customTools);
402
+ if (storageId) {
403
+ tools.push(...(0, fileStorage_1.getFileStorageToolsForChatCompletions)());
404
+ }
405
+ for (const tool of customTools) {
406
+ tools.push({
407
+ type: 'function',
408
+ function: {
409
+ name: tool.name,
410
+ description: tool.description,
411
+ parameters: tool.parameters
412
+ ._toProviderSchema(LLMService_typedefs_1.LLMProviders.LLMAPI),
413
+ },
414
+ });
415
+ }
416
+ }
417
+ return tools;
418
+ }
419
+ async executeToolLoop(options) {
420
+ const { chatId, model, tools, storageId, customTools, maxToolIterations, abortSignal, responseFormat, } = options;
421
+ let totalPromptTokens = 0;
422
+ let totalCachedTokens = 0;
423
+ let totalOutputTokens = 0;
424
+ let totalReasoningTokens = 0;
425
+ let lastResponseText = '';
426
+ for (let iteration = 0; iteration < maxToolIterations; iteration++) {
427
+ abortSignal?.throwIfAborted();
428
+ const response = await this.instance
429
+ .chat.completions.create({
430
+ model: model.name,
431
+ messages: this.chatState
432
+ .getMessages(chatId),
433
+ ...model.config,
434
+ ...(tools.length > 0 && { tools }),
435
+ ...(responseFormat && {
436
+ response_format: responseFormat,
437
+ }),
438
+ }, { signal: abortSignal });
439
+ const choice = response.choices[0];
440
+ totalPromptTokens
441
+ += response.usage?.prompt_tokens ?? 0;
442
+ totalCachedTokens
443
+ += response.usage?.prompt_tokens_details
444
+ ?.cached_tokens ?? 0;
445
+ totalOutputTokens
446
+ += response.usage?.completion_tokens ?? 0;
447
+ totalReasoningTokens
448
+ += response.usage?.completion_tokens_details
449
+ ?.reasoning_tokens ?? 0;
450
+ const hasToolCalls = choice?.finish_reason === 'tool_calls'
451
+ && choice.message.tool_calls?.length;
452
+ if (!hasToolCalls) {
453
+ lastResponseText
454
+ = choice?.message.content ?? '';
455
+ break;
456
+ }
457
+ const toolCalls = choice.message
458
+ .tool_calls;
459
+ this.chatState.appendToolCallMessages(chatId, toolCalls);
460
+ const results = await Promise.all(toolCalls.map((toolCall) => this.dispatchToolCall(storageId, toolCall, customTools)));
461
+ for (let index = 0; index < toolCalls.length; index++) {
462
+ this.chatState.appendToolResult(chatId, toolCalls[index].id, results[index]);
463
+ }
464
+ }
465
+ return {
466
+ text: lastResponseText,
467
+ totalPromptTokens,
468
+ totalCachedTokens,
469
+ totalOutputTokens,
470
+ totalReasoningTokens,
471
+ };
472
+ }
473
+ async dispatchToolCall(storageId, toolCall, customTools) {
474
+ const toolName = toolCall.function.name;
475
+ const isFileStorageTool = FILE_STORAGE_TOOL_NAMES.includes(toolName);
476
+ if (isFileStorageTool && storageId) {
477
+ return this.toolExecutor.execute(storageId, toolName, toolCall.function.arguments);
478
+ }
479
+ const customTool = customTools?.find((tool) => tool.name === toolName);
480
+ if (!customTool) {
481
+ return `Unknown tool: '${toolName}'`;
482
+ }
483
+ try {
484
+ const parsedArguments = JSON.parse(toolCall.function.arguments);
485
+ return await customTool.execute(parsedArguments);
486
+ }
487
+ catch (error) {
488
+ const errorMessage = error instanceof Error
489
+ ? error.message
490
+ : String(error);
491
+ return `Error executing tool '${toolName}':`
492
+ + ` ${errorMessage}`;
493
+ }
494
+ }
495
+ }
496
+ exports.LLMAPIAssistanceService = LLMAPIAssistanceService;
497
+ //# sourceMappingURL=LLMAPIAssistance.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMAPIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/services/LLMAPIAssistance.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { OpenAI } from 'openai';
2
- import type { LLMInstanceOptions, LLMSendMessageOptions, LLMStructuredResult } from '../../../LLMService.typedefs';
2
+ import type { LLMCompletionResult, LLMInstanceOptions, LLMSendMessageOptions, LLMStructuredResult } from '../../../LLMService.typedefs';
3
3
  import { LLMProviders } from '../../../LLMService.typedefs';
4
4
  import { type LLMLoggerInterface } from '../../../utilities/logger';
5
5
  import { type LLMReporterInterface } from '../../../utilities/reporter';
@@ -10,6 +10,8 @@ export declare class LLMAPICompletionService<Reporter extends LLMReporterInterfa
10
10
  constructor(logger: LLMLoggerInterface | undefined, reporter: Reporter, options?: LLMInstanceOptions[LLMProviders.LLMAPI]);
11
11
  get instance(): OpenAI;
12
12
  private getJsonFixer;
13
+ private stripThinkingTags;
14
+ protected sendTextMessage(options: LLMSendMessageOptions<LLMProviders.LLMAPI, Reporter>): Promise<LLMCompletionResult>;
13
15
  protected sendStructuredMessage(options: LLMSendMessageOptions<LLMProviders.LLMAPI, Reporter> & {
14
16
  schema: LLMSchemaInterface;
15
17
  }): Promise<LLMStructuredResult>;
@@ -25,6 +25,19 @@ class LLMAPICompletionService extends OpenAICompatibleCompletion_service_1.OpenA
25
25
  }
26
26
  return this.jsonFixer;
27
27
  }
28
+ stripThinkingTags(text) {
29
+ return text.replace(/<think>[\s\S]*?<\/think>\s*/g, '').trim();
30
+ }
31
+ async sendTextMessage(options) {
32
+ const result = await super.sendTextMessage(options);
33
+ if ('text' in result && result.text) {
34
+ return {
35
+ ...result,
36
+ text: this.stripThinkingTags(result.text),
37
+ };
38
+ }
39
+ return result;
40
+ }
28
41
  async sendStructuredMessage(options) {
29
42
  const { model, message, history = [], instructions, abortSignal, schema, reporterContext, } = options;
30
43
  const writeMetrics = this.reporter
@@ -66,7 +79,8 @@ class LLMAPICompletionService extends OpenAICompatibleCompletion_service_1.OpenA
66
79
  signal: abortSignal,
67
80
  });
68
81
  abortSignal?.throwIfAborted();
69
- const content = completion.choices[0]?.message.content ?? '';
82
+ const rawContent = completion.choices[0]?.message.content ?? '';
83
+ const content = rawContent.replace(/<think>[\s\S]*?<\/think>\s*/g, '').trim();
70
84
  if (!content) {
71
85
  throw new Error(`Empty response from ${this.provider}`);
72
86
  }
@@ -111,7 +125,9 @@ class LLMAPICompletionService extends OpenAICompatibleCompletion_service_1.OpenA
111
125
  });
112
126
  return {
113
127
  text: '',
114
- error,
128
+ error: error instanceof Error
129
+ ? error
130
+ : new Error(String(error)),
115
131
  parseError: `Failed to get structured response`
116
132
  + ` from ${this.provider}`,
117
133
  };
@@ -1 +1 @@
1
- {"version":3,"file":"LLMAPICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/services/LLMAPICompletion.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LLMAPICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/services/LLMAPICompletion.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export * from './LLMAPICompletion.service';
2
+ export * from './LLMAPIAssistance.service';
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./LLMAPICompletion.service"), exports);
18
+ __exportStar(require("./LLMAPIAssistance.service"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,6DAA2C"}
@@ -3,7 +3,7 @@ import { type LLMAssistanceOptions, type LLMAssistanceResult, type LLMAssistance
3
3
  import { type LLMLoggerInterface } from '../../../utilities/logger';
4
4
  import { type LLMReporterInterface } from '../../../utilities/reporter';
5
5
  import { LLMAssistanceService } from '../../../services';
6
- import { type LLMSchemaInterface, type InferSchema } from '../../../utilities/schema';
6
+ import { type LLMSchemaInterface } from '../../../utilities/schema';
7
7
  export declare class OpenAIAssistanceService<Reporter extends LLMReporterInterface<any> | undefined> extends LLMAssistanceService<LLMProviders.OpenAI, Reporter> {
8
8
  private uploadedFiles;
9
9
  private responseHistory;
@@ -17,12 +17,14 @@ export declare class OpenAIAssistanceService<Reporter extends LLMReporterInterfa
17
17
  deleteFileStorage(fileStorageId: string): Promise<void>;
18
18
  createChat(options: LLMCreateChatOptions<LLMProviders.OpenAI, Reporter>): Promise<LLMCreateChatResult>;
19
19
  deleteChat(chatId: string): Promise<void>;
20
- assistInChat<S extends LLMSchemaInterface>(options: LLMAssistanceOptions<LLMProviders.OpenAI, Reporter> & {
21
- schema: S;
22
- }): Promise<LLMStructuredResult<InferSchema<S>>>;
23
- assistInChat(options: LLMAssistanceOptions<LLMProviders.OpenAI, Reporter>): Promise<LLMAssistanceResult>;
24
- private assistInChatText;
25
- private assistInChatStructured;
20
+ protected assistInChatText(options: LLMAssistanceOptions<LLMProviders.OpenAI, Reporter>): Promise<LLMAssistanceResult>;
21
+ protected assistInChatStructured(options: LLMAssistanceOptions<LLMProviders.OpenAI, Reporter> & {
22
+ schema: LLMSchemaInterface;
23
+ }): Promise<LLMStructuredResult>;
24
+ private convertCustomToolsToResponsesAPI;
25
+ private executeFunctionCall;
26
+ private executeToolLoop;
27
+ private getFunctionCallsFromResponse;
26
28
  private convertLLMMessageToResponsesInput;
27
29
  countTokens(messages: LLMAssistanceMessage[]): Promise<number>;
28
30
  }