@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
@@ -4,6 +4,7 @@ exports.OpenAIAssistanceService = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const openai_1 = require("openai");
6
6
  const LLMService_typedefs_1 = require("../../../LLMService.typedefs");
7
+ const LLMService_constants_1 = require("../../../LLMService.constants");
7
8
  const serializeError_1 = require("../../../utilities/serializeError");
8
9
  const services_1 = require("../../../services");
9
10
  const OpenAI_typedefs_1 = require("../../../providers/OpenAI/OpenAI.typedefs");
@@ -11,9 +12,8 @@ const OpenAI_entity_1 = require("../../../providers/OpenAI/OpenAI.entity");
11
12
  const uuid_1 = require("uuid");
12
13
  class OpenAIAssistanceService extends services_1.LLMAssistanceService {
13
14
  uploadedFiles = new Map();
14
- // Responses API state management
15
- responseHistory = new Map(); // chatId -> last_response_id
16
- chatInstructions = new Map(); // chatId -> instructions
15
+ responseHistory = new Map();
16
+ chatInstructions = new Map();
17
17
  constructor(logger, reporter, options) {
18
18
  super(LLMService_typedefs_1.LLMProviders.OpenAI, logger, reporter, options);
19
19
  }
@@ -205,12 +205,6 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
205
205
  this.responseHistory.delete(chatId);
206
206
  this.chatInstructions.delete(chatId);
207
207
  }
208
- assistInChat(options) {
209
- if (options.schema) {
210
- return this.assistInChatStructured(options);
211
- }
212
- return this.assistInChatText(options);
213
- }
214
208
  async assistInChatText(options) {
215
209
  const { model, message, chatId, storageId, abortSignal, reporterContext, } = options;
216
210
  const writeMetrics = this.reporter?.initWriter(reporterContext);
@@ -218,14 +212,20 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
218
212
  abortSignal?.throwIfAborted();
219
213
  const lastResponseId = this.responseHistory.get(chatId);
220
214
  const messageInput = this.convertLLMMessageToResponsesInput(message);
221
- const tools = [];
215
+ 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
222
  if (storageId) {
223
223
  tools.push({
224
224
  type: 'file_search',
225
225
  vector_store_ids: [storageId],
226
226
  });
227
227
  }
228
- const response = await this.instance.responses.create({
228
+ const initialResponse = await this.instance.responses.create({
229
229
  model: model.name,
230
230
  input: messageInput,
231
231
  previous_response_id: lastResponseId,
@@ -233,22 +233,54 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
233
233
  ? tools
234
234
  : undefined,
235
235
  instructions: this.chatInstructions.get(chatId),
236
- }, {
237
- signal: abortSignal,
238
- });
239
- this.responseHistory.set(chatId, response.id);
240
- const text = response.output_text || '';
241
- const totalInputTokens = response.usage?.input_tokens ?? 0;
242
- const cachedInputTokens = response.usage?.input_tokens_details?.cached_tokens ?? 0;
243
- const totalOutputTokens = response.usage?.output_tokens ?? 0;
244
- const reasoningOutputTokens = response.usage?.output_tokens_details?.reasoning_tokens ?? 0;
236
+ }, { signal: abortSignal });
237
+ 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
+ }
245
277
  await this.writeSuccessMetrics({
246
278
  method: this.getMethodName(this.assistInChatText),
247
279
  model,
248
280
  usage: {
249
- inputTextTokens: totalInputTokens - cachedInputTokens,
250
- inputCachedTextTokens: cachedInputTokens,
251
- outputTextTokens: totalOutputTokens + reasoningOutputTokens,
281
+ inputTextTokens,
282
+ inputCachedTextTokens,
283
+ outputTextTokens,
252
284
  },
253
285
  writeMetrics,
254
286
  });
@@ -277,16 +309,21 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
277
309
  abortSignal?.throwIfAborted();
278
310
  const lastResponseId = this.responseHistory.get(chatId);
279
311
  const messageInput = this.convertLLMMessageToResponsesInput(message);
280
- const tools = [];
312
+ 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
+ }
281
319
  if (storageId) {
282
320
  tools.push({
283
321
  type: 'file_search',
284
322
  vector_store_ids: [storageId],
285
323
  });
286
324
  }
287
- // Convert schema to OpenAI JSON Schema format
288
325
  const jsonSchema = schema._toProviderSchema(LLMService_typedefs_1.LLMProviders.OpenAI);
289
- const response = await this.instance.responses.create({
326
+ const initialResponse = await this.instance.responses.create({
290
327
  model: model.name,
291
328
  input: messageInput,
292
329
  previous_response_id: lastResponseId,
@@ -302,28 +339,69 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
302
339
  schema: jsonSchema,
303
340
  },
304
341
  },
305
- }, {
306
- signal: abortSignal,
307
- });
308
- this.responseHistory.set(chatId, response.id);
309
- const content = response.output_text || '';
342
+ }, { signal: abortSignal });
343
+ 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
+ }
310
392
  if (!content) {
311
393
  throw new Error('Empty response from OpenAI Responses API');
312
394
  }
313
395
  try {
314
396
  const parsed = JSON.parse(content);
315
397
  const validation = schema._parse(parsed);
316
- const totalInputTokens = response.usage?.input_tokens ?? 0;
317
- const cachedInputTokens = response.usage?.input_tokens_details?.cached_tokens ?? 0;
318
- const totalOutputTokens = response.usage?.output_tokens ?? 0;
319
- const reasoningOutputTokens = response.usage?.output_tokens_details?.reasoning_tokens ?? 0;
320
398
  await this.writeSuccessMetrics({
321
399
  method: this.getMethodName(this.assistInChatStructured),
322
400
  model,
323
401
  usage: {
324
- inputTextTokens: totalInputTokens - cachedInputTokens,
325
- inputCachedTextTokens: cachedInputTokens,
326
- outputTextTokens: totalOutputTokens + reasoningOutputTokens,
402
+ inputTextTokens,
403
+ inputCachedTextTokens,
404
+ outputTextTokens,
327
405
  },
328
406
  writeMetrics,
329
407
  });
@@ -352,17 +430,108 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
352
430
  });
353
431
  this.logger
354
432
  ?.child(this.getMethodName(this.assistInChatStructured))
355
- .error('Error assisting in chat with structured output using Responses API', {
433
+ .error('Error assisting in chat with structured'
434
+ + ' output using Responses API', {
356
435
  error: (0, serializeError_1.serializeError)(error),
357
436
  options,
358
437
  });
359
438
  return {
360
439
  text: '',
361
440
  error,
362
- parseError: 'Failed to get structured response from OpenAI Responses API',
441
+ parseError: 'Failed to get structured response'
442
+ + ' from OpenAI Responses API',
443
+ };
444
+ }
445
+ }
446
+ convertCustomToolsToResponsesAPI(tools) {
447
+ return tools.map((tool) => ({
448
+ type: 'function',
449
+ name: tool.name,
450
+ description: tool.description,
451
+ parameters: tool.parameters._toProviderSchema(LLMService_typedefs_1.LLMProviders.OpenAI),
452
+ strict: true,
453
+ }));
454
+ }
455
+ async executeFunctionCall(call, toolDefinitions) {
456
+ const matchingTool = toolDefinitions.find((tool) => tool.name === call.name);
457
+ if (!matchingTool) {
458
+ return {
459
+ type: 'function_call_output',
460
+ call_id: call.call_id,
461
+ output: `Unknown tool: '${call.name}'`,
462
+ };
463
+ }
464
+ try {
465
+ const parsedArguments = JSON.parse(call.arguments);
466
+ const result = await matchingTool.execute(parsedArguments);
467
+ return {
468
+ type: 'function_call_output',
469
+ call_id: call.call_id,
470
+ output: result,
471
+ };
472
+ }
473
+ catch (error) {
474
+ const errorMessage = error instanceof Error
475
+ ? error.message
476
+ : String(error);
477
+ return {
478
+ type: 'function_call_output',
479
+ call_id: call.call_id,
480
+ output: `Error executing tool '${call.name}':`
481
+ + ` ${errorMessage}`,
363
482
  };
364
483
  }
365
484
  }
485
+ async executeToolLoop(parameters) {
486
+ const { tools, model, chatId, maxIterations, abortSignal, allTools, textFormat, } = parameters;
487
+ 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
+ };
498
+ for (let iteration = 0; iteration < maxIterations; iteration++) {
499
+ abortSignal?.throwIfAborted();
500
+ const functionCalls = this.getFunctionCallsFromResponse(currentResponse);
501
+ if (functionCalls.length === 0) {
502
+ break;
503
+ }
504
+ const outputItems = await Promise.all(functionCalls.map((call) => this.executeFunctionCall(call, tools)));
505
+ abortSignal?.throwIfAborted();
506
+ const nextResponse = await this.instance.responses.create({
507
+ model: model.name,
508
+ input: outputItems,
509
+ previous_response_id: currentResponse.id,
510
+ tools: allTools,
511
+ instructions: this.chatInstructions.get(chatId),
512
+ ...(textFormat && { text: textFormat }),
513
+ }, { signal: abortSignal });
514
+ 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;
525
+ currentResponse = nextResponse;
526
+ }
527
+ return {
528
+ response: currentResponse,
529
+ totalUsage,
530
+ };
531
+ }
532
+ getFunctionCallsFromResponse(response) {
533
+ return response.output.filter((item) => item.type === 'function_call');
534
+ }
366
535
  convertLLMMessageToResponsesInput(message) {
367
536
  const { content, role } = message;
368
537
  if (role === LLMService_typedefs_1.LLMRoles.Assistant) {
@@ -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,11 @@
1
- import { type LLMAssistanceOptions, type LLMAssistanceResult, type LLMAssistanceMessage, type LLMCreateChatOptions, type LLMCreateChatResult, type LLMCreateFileStorageOptions, type LLMCreateFileStorageResult, type LLMInstanceOptions, type LLMModel, type LLMProviders, LLMPurposes, type LLMUploadFileOptions, type LLMUploadFileResult, type LLMStructuredResult, type LLMUploadedFile } from '../LLMService.typedefs';
1
+ import { type LLMAssistanceOptions, type LLMAssistanceResult, type LLMAssistanceMessage, type LLMToolDefinition, type LLMCreateChatOptions, type LLMCreateChatResult, type LLMCreateFileStorageOptions, type LLMCreateFileStorageResult, type LLMInstanceOptions, type LLMModel, type LLMProviders, LLMPurposes, type LLMUploadFileOptions, type LLMUploadFileResult, type LLMStructuredResult, type LLMUploadedFile } from '../LLMService.typedefs';
2
2
  import { type LLMLoggerInterface } from '../utilities/logger';
3
3
  import { type LLMReporterInterface } from '../utilities/reporter';
4
4
  import { LLMBaseService } from '../services';
5
5
  import { type LLMSchemaInterface, type InferSchema } from '../utilities/schema';
6
6
  export declare abstract class LLMAssistanceService<Provider extends LLMProviders, Reporter extends LLMReporterInterface<any> | undefined> extends LLMBaseService<LLMPurposes.Assistance, Provider, Reporter> {
7
7
  constructor(provider: Provider, logger: LLMLoggerInterface | undefined, reporter: Reporter, options?: LLMInstanceOptions[Provider]);
8
+ protected validateToolDefinitions(tools: LLMToolDefinition[]): void;
8
9
  abstract uploadFile(options: LLMUploadFileOptions<Reporter>): Promise<LLMUploadFileResult>;
9
10
  abstract getFile(path: string): Promise<LLMUploadedFile | null>;
10
11
  abstract deleteFile(fileId: string): Promise<void>;
@@ -12,12 +13,13 @@ export declare abstract class LLMAssistanceService<Provider extends LLMProviders
12
13
  abstract deleteFileStorage(fileStorageId: string): Promise<void>;
13
14
  abstract createChat(options: LLMCreateChatOptions<Provider, Reporter>): Promise<LLMCreateChatResult>;
14
15
  abstract deleteChat(chatId: string): Promise<void>;
15
- abstract assistInChat<Schema extends LLMSchemaInterface>(options: LLMAssistanceOptions<Provider, Reporter> & {
16
+ assistInChat<Schema extends LLMSchemaInterface>(options: LLMAssistanceOptions<Provider, Reporter> & {
16
17
  schema: Schema;
17
18
  }): Promise<LLMStructuredResult<InferSchema<Schema>>>;
18
- abstract assistInChat(options: LLMAssistanceOptions<Provider, Reporter>): Promise<LLMAssistanceResult>;
19
- abstract assistInChat(options: LLMAssistanceOptions<Provider, Reporter> & {
20
- schema?: LLMSchemaInterface;
21
- }): Promise<LLMAssistanceResult | LLMStructuredResult>;
19
+ assistInChat(options: LLMAssistanceOptions<Provider, Reporter>): Promise<LLMAssistanceResult>;
20
+ protected abstract assistInChatText(options: LLMAssistanceOptions<Provider, Reporter>): Promise<LLMAssistanceResult>;
21
+ protected abstract assistInChatStructured(options: LLMAssistanceOptions<Provider, Reporter> & {
22
+ schema: LLMSchemaInterface;
23
+ }): Promise<LLMStructuredResult>;
22
24
  abstract countTokens(messages: LLMAssistanceMessage[], model: LLMModel<Provider>): Promise<number>;
23
25
  }
@@ -7,6 +7,26 @@ class LLMAssistanceService extends services_1.LLMBaseService {
7
7
  constructor(provider, logger, reporter, options) {
8
8
  super(provider, 'AssistanceService', LLMService_typedefs_1.LLMPurposes.Assistance, logger, reporter, options);
9
9
  }
10
+ validateToolDefinitions(tools) {
11
+ const namePattern = /^[a-zA-Z0-9_-]+$/;
12
+ const names = new Set();
13
+ for (const tool of tools) {
14
+ if (!namePattern.test(tool.name)) {
15
+ throw new Error(`Invalid tool name "${tool.name}":`
16
+ + ' must match [a-zA-Z0-9_-]+');
17
+ }
18
+ if (names.has(tool.name)) {
19
+ throw new Error(`Duplicate tool name "${tool.name}"`);
20
+ }
21
+ names.add(tool.name);
22
+ }
23
+ }
24
+ assistInChat(options) {
25
+ if (options.schema) {
26
+ return this.assistInChatStructured(options);
27
+ }
28
+ return this.assistInChatText(options);
29
+ }
10
30
  }
11
31
  exports.LLMAssistanceService = LLMAssistanceService;
12
32
  //# sourceMappingURL=LLMAssistanceService.abstract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LLMAssistanceService.abstract.js","sourceRoot":"","sources":["../../src/services/LLMAssistanceService.abstract.ts"],"names":[],"mappings":";;;AAAA,+DAgB+B;AAG/B,yCAA4C;AAG5C,MAAsB,oBAGpB,SAAQ,yBAIP;IACD,YACE,QAAkB,EAClB,MAAsC,EACtC,QAAkB,EAClB,OAAsC;QAEtC,KAAK,CACH,QAAQ,EACR,mBAAmB,EACnB,iCAAW,CAAC,UAAU,EACtB,MAAM,EACN,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC;CA+CF;AArED,oDAqEC"}
1
+ {"version":3,"file":"LLMAssistanceService.abstract.js","sourceRoot":"","sources":["../../src/services/LLMAssistanceService.abstract.ts"],"names":[],"mappings":";;;AAAA,+DAiB+B;AAG/B,yCAA4C;AAG5C,MAAsB,oBAGpB,SAAQ,yBAIP;IACD,YACE,QAAkB,EAClB,MAAsC,EACtC,QAAkB,EAClB,OAAsC;QAEtC,KAAK,CACH,QAAQ,EACR,mBAAmB,EACnB,iCAAW,CAAC,UAAU,EACtB,MAAM,EACN,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC;IAES,uBAAuB,CAC/B,KAA0B;QAE1B,MAAM,WAAW,GAAG,kBAAkB,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAC,IAAI,IAAI;sBACjC,4BAA4B,CAC/B,CAAC;YACJ,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,IAAI,GAAG,CACrC,CAAC;YACJ,CAAC;YAED,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAuCD,YAAY,CACV,OACmC;QAEnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,sBAAsB,CAChC,OACkC,CACnC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CAeF;AAhHD,oDAgHC"}
@@ -0,0 +1,19 @@
1
+ import type { ChatCompletionMessageParam, ChatCompletionMessageToolCall } from 'openai/resources/chat';
2
+ import type { ChatCompletionContentPart } from 'openai/resources/chat';
3
+ interface ChatStateEntry {
4
+ instructions: string | undefined;
5
+ storageId: string | undefined;
6
+ messages: ChatCompletionMessageParam[];
7
+ }
8
+ export declare class CompletionsChatState {
9
+ private chats;
10
+ createChat(chatId: string, instructions?: string, storageId?: string, history?: ChatCompletionMessageParam[]): void;
11
+ getChat(chatId: string): ChatStateEntry | null;
12
+ appendUserMessage(chatId: string, content: ChatCompletionContentPart[]): void;
13
+ appendAssistantMessage(chatId: string, content: string): void;
14
+ appendToolCallMessages(chatId: string, toolCalls: ChatCompletionMessageToolCall[]): void;
15
+ appendToolResult(chatId: string, toolCallId: string, content: string): void;
16
+ getMessages(chatId: string): ChatCompletionMessageParam[];
17
+ deleteChat(chatId: string): void;
18
+ }
19
+ export {};
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CompletionsChatState = void 0;
4
+ class CompletionsChatState {
5
+ chats = new Map();
6
+ createChat(chatId, instructions, storageId, history) {
7
+ const messages = [];
8
+ if (instructions) {
9
+ messages.push({
10
+ role: 'system',
11
+ content: instructions,
12
+ });
13
+ }
14
+ if (history) {
15
+ messages.push(...history);
16
+ }
17
+ this.chats.set(chatId, {
18
+ instructions,
19
+ storageId,
20
+ messages,
21
+ });
22
+ }
23
+ getChat(chatId) {
24
+ return this.chats.get(chatId) ?? null;
25
+ }
26
+ appendUserMessage(chatId, content) {
27
+ const chat = this.chats.get(chatId);
28
+ if (!chat) {
29
+ return;
30
+ }
31
+ chat.messages.push({
32
+ role: 'user',
33
+ content,
34
+ });
35
+ }
36
+ appendAssistantMessage(chatId, content) {
37
+ const chat = this.chats.get(chatId);
38
+ if (!chat) {
39
+ return;
40
+ }
41
+ chat.messages.push({
42
+ role: 'assistant',
43
+ content,
44
+ });
45
+ }
46
+ appendToolCallMessages(chatId, toolCalls) {
47
+ const chat = this.chats.get(chatId);
48
+ if (!chat) {
49
+ return;
50
+ }
51
+ chat.messages.push({
52
+ role: 'assistant',
53
+ content: null,
54
+ tool_calls: toolCalls,
55
+ });
56
+ }
57
+ appendToolResult(chatId, toolCallId, content) {
58
+ const chat = this.chats.get(chatId);
59
+ if (!chat) {
60
+ return;
61
+ }
62
+ chat.messages.push({
63
+ role: 'tool',
64
+ tool_call_id: toolCallId,
65
+ content,
66
+ });
67
+ }
68
+ getMessages(chatId) {
69
+ const chat = this.chats.get(chatId);
70
+ if (!chat) {
71
+ return [];
72
+ }
73
+ return chat.messages;
74
+ }
75
+ deleteChat(chatId) {
76
+ this.chats.delete(chatId);
77
+ }
78
+ }
79
+ exports.CompletionsChatState = CompletionsChatState;
80
+ //# sourceMappingURL=CompletionsChatState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompletionsChatState.js","sourceRoot":"","sources":["../../../src/services/chatState/CompletionsChatState.ts"],"names":[],"mappings":";;;AAcA,MAAa,oBAAoB;IACvB,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAElD,UAAU,CACR,MAAc,EACd,YAAqB,EACrB,SAAkB,EAClB,OAAsC;QAEtC,MAAM,QAAQ,GAAiC,EAAE,CAAC;QAElD,IAAI,YAAY,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;YACrB,YAAY;YACZ,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,MAAc;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACxC,CAAC;IAED,iBAAiB,CACf,MAAc,EACd,OAAoC;QAEpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,MAAM;YACZ,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CACpB,MAAc,EACd,OAAe;QAEf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,WAAW;YACjB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CACpB,MAAc,EACd,SAA0C;QAE1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CACd,MAAc,EACd,UAAkB,EAClB,OAAe;QAEf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,UAAU;YACxB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF;AAjHD,oDAiHC"}
@@ -0,0 +1 @@
1
+ export { CompletionsChatState } from './CompletionsChatState';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CompletionsChatState = void 0;
4
+ var CompletionsChatState_1 = require("./CompletionsChatState");
5
+ Object.defineProperty(exports, "CompletionsChatState", { enumerable: true, get: function () { return CompletionsChatState_1.CompletionsChatState; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/chatState/index.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,15 @@
1
+ import { type InMemoryFileStorage } from './InMemoryFileStorage';
2
+ export declare class FileStorageToolExecutor {
3
+ private storage;
4
+ constructor(storage: InMemoryFileStorage);
5
+ execute(storageId: string, toolName: string, rawArguments: string): string;
6
+ private listFiles;
7
+ private searchFiles;
8
+ private mergeContextRanges;
9
+ private readFile;
10
+ private readFileLines;
11
+ private resolveLineRange;
12
+ private findFileByPath;
13
+ private fileNotFoundMessage;
14
+ private formatLinesWithNumbers;
15
+ }