@mate-academy/llm-gateway 8.10.0 → 8.11.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 (49) hide show
  1. package/README.md +58 -1
  2. package/dist/LLMService.typedefs.d.ts +69 -1
  3. package/dist/LLMService.typedefs.js +14 -1
  4. package/dist/LLMService.typedefs.js.map +1 -1
  5. package/dist/client/agentRun.typedefs.d.ts +7 -3
  6. package/dist/client/agentRunner.d.ts +2 -2
  7. package/dist/client/agentRunner.js +1 -1
  8. package/dist/client/agentRunner.js.map +1 -1
  9. package/dist/client/llmClient.typedefs.d.ts +14 -1
  10. package/dist/client/llmClient.typedefs.js.map +1 -1
  11. package/dist/client/plainMessages.d.ts +10 -2
  12. package/dist/client/plainMessages.js +25 -0
  13. package/dist/client/plainMessages.js.map +1 -1
  14. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.entity.d.ts +11 -1
  15. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.entity.js +66 -0
  16. package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.entity.js.map +1 -1
  17. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +1 -1
  18. package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
  19. package/dist/providers/LLMAPI/LLMAPI.entity.d.ts +24 -1
  20. package/dist/providers/LLMAPI/LLMAPI.entity.js +128 -0
  21. package/dist/providers/LLMAPI/LLMAPI.entity.js.map +1 -1
  22. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.d.ts +0 -11
  23. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +8 -51
  24. package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -1
  25. package/dist/providers/LLMAPI/utilities/geminiToolHistory.d.ts +17 -0
  26. package/dist/providers/LLMAPI/utilities/geminiToolHistory.js +41 -0
  27. package/dist/providers/LLMAPI/utilities/geminiToolHistory.js.map +1 -0
  28. package/dist/providers/LLMAPI/utilities/index.d.ts +1 -0
  29. package/dist/providers/LLMAPI/utilities/index.js +6 -1
  30. package/dist/providers/LLMAPI/utilities/index.js.map +1 -1
  31. package/dist/providers/OpenAI/services/OpenAIAssistance.service.d.ts +1 -0
  32. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +6 -49
  33. package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
  34. package/dist/providers/OpenAI/services/buildResponsesHistoryInput.d.ts +20 -0
  35. package/dist/providers/OpenAI/services/buildResponsesHistoryInput.js +107 -0
  36. package/dist/providers/OpenAI/services/buildResponsesHistoryInput.js.map +1 -0
  37. package/dist/utilities/history/LLMHistoryEntries.d.ts +34 -0
  38. package/dist/utilities/history/LLMHistoryEntries.js +113 -0
  39. package/dist/utilities/history/LLMHistoryEntries.js.map +1 -0
  40. package/dist/utilities/history/history.constants.d.ts +7 -0
  41. package/dist/utilities/history/history.constants.js +12 -0
  42. package/dist/utilities/history/history.constants.js.map +1 -0
  43. package/dist/utilities/history/index.d.ts +2 -0
  44. package/dist/utilities/history/index.js +19 -0
  45. package/dist/utilities/history/index.js.map +1 -0
  46. package/dist/utilities/index.d.ts +1 -0
  47. package/dist/utilities/index.js +1 -0
  48. package/dist/utilities/index.js.map +1 -1
  49. package/package.json +1 -1
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildSchemaInstruction = exports.buildLLMAPIResponseFormat = exports.validateStructuredResponse = exports.parseXmlToolCalls = exports.stripThinkingTags = void 0;
3
+ exports.buildSchemaInstruction = exports.buildLLMAPIResponseFormat = exports.validateStructuredResponse = exports.parseXmlToolCalls = exports.withThoughtSignatureFallback = exports.shouldSerializeGeminiToolCalls = exports.isGeminiModel = exports.GEMINI_THOUGHT_SIGNATURE_VALIDATOR_BYPASS = exports.stripThinkingTags = void 0;
4
4
  var stripThinkingTags_1 = require("./stripThinkingTags");
5
5
  Object.defineProperty(exports, "stripThinkingTags", { enumerable: true, get: function () { return stripThinkingTags_1.stripThinkingTags; } });
6
+ var geminiToolHistory_1 = require("./geminiToolHistory");
7
+ Object.defineProperty(exports, "GEMINI_THOUGHT_SIGNATURE_VALIDATOR_BYPASS", { enumerable: true, get: function () { return geminiToolHistory_1.GEMINI_THOUGHT_SIGNATURE_VALIDATOR_BYPASS; } });
8
+ Object.defineProperty(exports, "isGeminiModel", { enumerable: true, get: function () { return geminiToolHistory_1.isGeminiModel; } });
9
+ Object.defineProperty(exports, "shouldSerializeGeminiToolCalls", { enumerable: true, get: function () { return geminiToolHistory_1.shouldSerializeGeminiToolCalls; } });
10
+ Object.defineProperty(exports, "withThoughtSignatureFallback", { enumerable: true, get: function () { return geminiToolHistory_1.withThoughtSignatureFallback; } });
6
11
  var parseXmlToolCalls_1 = require("./parseXmlToolCalls");
7
12
  Object.defineProperty(exports, "parseXmlToolCalls", { enumerable: true, get: function () { return parseXmlToolCalls_1.parseXmlToolCalls; } });
8
13
  var validateStructuredResponse_1 = require("./validateStructuredResponse");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/utilities/index.ts"],"names":[],"mappings":";;;AAAA,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,uDAI4B;AAF1B,6HAAA,yBAAyB,OAAA;AACzB,0HAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/LLMAPI/utilities/index.ts"],"names":[],"mappings":";;;AAAA,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,yDAK6B;AAJ3B,8IAAA,yCAAyC,OAAA;AACzC,kHAAA,aAAa,OAAA;AACb,mIAAA,8BAA8B,OAAA;AAC9B,iIAAA,4BAA4B,OAAA;AAE9B,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,uDAI4B;AAF1B,6HAAA,yBAAyB,OAAA;AACzB,0HAAA,sBAAsB,OAAA"}
@@ -37,6 +37,7 @@ export declare class OpenAIAssistanceService<Reporter extends LLMReporterInterfa
37
37
  private executeFunctionCall;
38
38
  private executeToolLoop;
39
39
  private getFunctionCallsFromResponse;
40
+ private convertHistoryToResponsesInput;
40
41
  private convertLLMMessageToResponsesInput;
41
42
  countTokens(messages: LLMAssistanceMessage[]): Promise<number>;
42
43
  }
@@ -8,6 +8,7 @@ const LLMService_constants_1 = require("../../../LLMService.constants");
8
8
  const serializeError_1 = require("../../../utilities/serializeError");
9
9
  const services_1 = require("../../../services");
10
10
  const buildFunctionCallOutput_1 = require("./buildFunctionCallOutput");
11
+ const buildResponsesHistoryInput_1 = require("./buildResponsesHistoryInput");
11
12
  const OpenAI_typedefs_1 = require("../../../providers/OpenAI/OpenAI.typedefs");
12
13
  const OpenAI_entity_1 = require("../../../providers/OpenAI/OpenAI.entity");
13
14
  const uuid_1 = require("uuid");
@@ -147,9 +148,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
147
148
  let inputCachedTextTokens;
148
149
  let outputTextTokens;
149
150
  if (history.length > 0) {
150
- const initialInput = history
151
- .map((msg) => this.convertLLMMessageToResponsesInput(msg))
152
- .flat();
151
+ const initialInput = this.convertHistoryToResponsesInput(history);
153
152
  const tools = [];
154
153
  if (storageId) {
155
154
  tools.push({
@@ -653,53 +652,11 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
653
652
  getFunctionCallsFromResponse(response) {
654
653
  return response.output.filter((item) => item.type === 'function_call');
655
654
  }
655
+ convertHistoryToResponsesInput(history) {
656
+ return (0, buildResponsesHistoryInput_1.buildResponsesHistoryInput)({ history, logger: this.logger });
657
+ }
656
658
  convertLLMMessageToResponsesInput(message) {
657
- const { content, role } = message;
658
- if (role === LLMService_typedefs_1.LLMRoles.Assistant) {
659
- const outputContent = content
660
- .filter((item) => item.type === LLMService_typedefs_1.LLMMessageContentType.TEXT)
661
- .map((item) => ({
662
- type: 'output_text',
663
- text: item.text,
664
- annotations: [],
665
- }));
666
- return [{
667
- id: `msg_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`,
668
- role: OpenAI_typedefs_1.OpenAIRoles.Assistant,
669
- content: outputContent,
670
- status: 'completed',
671
- type: 'message',
672
- }];
673
- }
674
- const messageContent = [];
675
- content.forEach((item) => {
676
- switch (item.type) {
677
- case LLMService_typedefs_1.LLMMessageContentType.TEXT:
678
- messageContent.push({
679
- type: 'input_text',
680
- text: item.text,
681
- });
682
- break;
683
- case LLMService_typedefs_1.LLMMessageContentType.IMAGE_URL:
684
- messageContent.push({
685
- type: 'input_image',
686
- image_url: item.image_url.url,
687
- detail: 'auto',
688
- });
689
- break;
690
- default:
691
- this.logger
692
- ?.child('convertLLMMessageToResponsesInput')
693
- .warn('Unsupported message content type', { item });
694
- break;
695
- }
696
- });
697
- return [{
698
- role: role === LLMService_typedefs_1.LLMRoles.User
699
- ? OpenAI_typedefs_1.OpenAIRoles.User
700
- : OpenAI_typedefs_1.OpenAIRoles.Developer,
701
- content: messageContent,
702
- }];
659
+ return (0, buildResponsesHistoryInput_1.buildMessageInput)(message, this.logger);
703
660
  }
704
661
  async countTokens(messages) {
705
662
  const countTokensFn = OpenAI_entity_1.OpenAIEntity
@@ -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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"}
@@ -0,0 +1,20 @@
1
+ import { type LLMAssistanceMessage, type LLMHistoryEntry } from '../../../LLMService.typedefs';
2
+ import { type ResponseInput } from '../../../providers/OpenAI/OpenAI.typedefs';
3
+ import { type LLMLoggerInterface } from '../../../utilities/logger';
4
+ /**
5
+ * Replays a restored conversation as Responses API input items: a past tool
6
+ * round becomes `function_call` items followed by the `function_call_output`
7
+ * items answering them, and a context entry becomes a developer-role message.
8
+ * A result entry produces no item of its own — it is emitted with the call it
9
+ * answers.
10
+ */
11
+ export declare function buildResponsesHistoryInput(options: {
12
+ history: LLMHistoryEntry[];
13
+ logger?: LLMLoggerInterface;
14
+ }): ResponseInput;
15
+ /**
16
+ * One conversation message as Responses API input. An assistant message is an
17
+ * `output_text` message item; a user message carries `input_text` and
18
+ * `input_image` parts.
19
+ */
20
+ export declare function buildMessageInput(message: LLMAssistanceMessage, logger?: LLMLoggerInterface): ResponseInput;
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildResponsesHistoryInput = buildResponsesHistoryInput;
4
+ exports.buildMessageInput = buildMessageInput;
5
+ const LLMService_typedefs_1 = require("../../../LLMService.typedefs");
6
+ const OpenAI_typedefs_1 = require("../../../providers/OpenAI/OpenAI.typedefs");
7
+ const history_1 = require("../../../utilities/history");
8
+ const buildFunctionCallOutput_1 = require("../../../providers/OpenAI/services/buildFunctionCallOutput");
9
+ /**
10
+ * Replays a restored conversation as Responses API input items: a past tool
11
+ * round becomes `function_call` items followed by the `function_call_output`
12
+ * items answering them, and a context entry becomes a developer-role message.
13
+ * A result entry produces no item of its own — it is emitted with the call it
14
+ * answers.
15
+ */
16
+ function buildResponsesHistoryInput(options) {
17
+ const { history, logger } = options;
18
+ const resultsByCallId = history_1.LLMHistoryEntries.indexResultsByCallId(history);
19
+ return history.flatMap((entry) => {
20
+ if (history_1.LLMHistoryEntries.isToolResult(entry)) {
21
+ return [];
22
+ }
23
+ if (history_1.LLMHistoryEntries.isContext(entry)) {
24
+ return [{
25
+ role: OpenAI_typedefs_1.OpenAIRoles.Developer,
26
+ content: [{ type: 'input_text', text: entry.text }],
27
+ }];
28
+ }
29
+ if (history_1.LLMHistoryEntries.isToolCall(entry)) {
30
+ return buildToolRoundInput(entry, resultsByCallId, logger);
31
+ }
32
+ return buildMessageInput(entry, logger);
33
+ });
34
+ }
35
+ /**
36
+ * One conversation message as Responses API input. An assistant message is an
37
+ * `output_text` message item; a user message carries `input_text` and
38
+ * `input_image` parts.
39
+ */
40
+ function buildMessageInput(message, logger) {
41
+ const { content, role } = message;
42
+ if (role === LLMService_typedefs_1.LLMRoles.Assistant) {
43
+ const outputContent = content
44
+ .filter((item) => item.type === LLMService_typedefs_1.LLMMessageContentType.TEXT)
45
+ .map((item) => ({
46
+ type: 'output_text',
47
+ text: item.text,
48
+ annotations: [],
49
+ }));
50
+ return [{
51
+ id: `msg_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`,
52
+ role: OpenAI_typedefs_1.OpenAIRoles.Assistant,
53
+ content: outputContent,
54
+ status: 'completed',
55
+ type: 'message',
56
+ }];
57
+ }
58
+ const messageContent = content.flatMap((item) => {
59
+ switch (item.type) {
60
+ case LLMService_typedefs_1.LLMMessageContentType.TEXT:
61
+ return [{ type: 'input_text', text: item.text }];
62
+ case LLMService_typedefs_1.LLMMessageContentType.IMAGE_URL:
63
+ return [{
64
+ type: 'input_image',
65
+ image_url: item.image_url.url,
66
+ detail: 'auto',
67
+ }];
68
+ default:
69
+ logger
70
+ ?.child('buildMessageInput')
71
+ .warn('Unsupported message content type', { item });
72
+ return [];
73
+ }
74
+ });
75
+ return [{
76
+ role: role === LLMService_typedefs_1.LLMRoles.User
77
+ ? OpenAI_typedefs_1.OpenAIRoles.User
78
+ : OpenAI_typedefs_1.OpenAIRoles.Developer,
79
+ content: messageContent,
80
+ }];
81
+ }
82
+ function buildToolRoundInput(entry, resultsByCallId, logger) {
83
+ const narration = entry.text?.trim()
84
+ ? buildMessageInput({
85
+ role: LLMService_typedefs_1.LLMRoles.Assistant,
86
+ content: [{ type: LLMService_typedefs_1.LLMMessageContentType.TEXT, text: entry.text }],
87
+ }, logger)
88
+ : [];
89
+ const calls = entry.calls.map((call) => ({
90
+ type: 'function_call',
91
+ call_id: call.id,
92
+ name: call.name,
93
+ arguments: JSON.stringify(call.arguments),
94
+ }));
95
+ const outputs = entry.calls.map((call) => {
96
+ const result = resultsByCallId.get(call.id);
97
+ return {
98
+ type: 'function_call_output',
99
+ call_id: call.id,
100
+ output: result === undefined
101
+ ? history_1.LLM_UNANSWERED_TOOL_CALL_RESULT
102
+ : (0, buildFunctionCallOutput_1.buildFunctionCallOutput)(result),
103
+ };
104
+ });
105
+ return [...narration, ...calls, ...outputs];
106
+ }
107
+ //# sourceMappingURL=buildResponsesHistoryInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildResponsesHistoryInput.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/buildResponsesHistoryInput.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type LLMHistoryContextEntry, type LLMHistoryEntry, type LLMHistoryToolCallEntry, type LLMHistoryToolResultEntry, type LLMAssistanceMessage, type LLMToolResult } from '../../LLMService.typedefs';
2
+ /**
3
+ * The history invariants every provider mapping relies on, established once
4
+ * here instead of in each provider: a tool call is answered exactly once, a
5
+ * result answers a call that was actually made, and an assistant round that
6
+ * called nothing is not a tool round at all.
7
+ */
8
+ export declare class LLMHistoryEntries {
9
+ static isToolCall(entry: LLMHistoryEntry): entry is LLMHistoryToolCallEntry;
10
+ static isToolResult(entry: LLMHistoryEntry): entry is LLMHistoryToolResultEntry;
11
+ static isContext(entry: LLMHistoryEntry): entry is LLMHistoryContextEntry;
12
+ static isMessage(entry: LLMHistoryEntry): entry is LLMAssistanceMessage;
13
+ /**
14
+ * Repairs a restored history into one every provider accepts: an empty tool
15
+ * round is dropped, a result answering no preceding call is dropped, a
16
+ * second result for an already-answered call is dropped, and a call left
17
+ * unanswered gets `LLM_UNANSWERED_TOOL_CALL_RESULT` as a real tool result.
18
+ * Order is preserved; a synthesized result lands directly after the round
19
+ * that needed it.
20
+ */
21
+ static normalize(entries: LLMHistoryEntry[]): LLMHistoryEntry[];
22
+ /**
23
+ * Indexes the repaired history by call id, so a provider mapping emits each
24
+ * call together with its result instead of walking the array twice.
25
+ */
26
+ static indexResultsByCallId(entries: LLMHistoryEntry[]): Map<string, LLMToolResult>;
27
+ /**
28
+ * A result answers a call only when it comes after it: a result standing
29
+ * before the call it names is as unusable to a provider as one naming no
30
+ * call at all, so the call still counts as unanswered.
31
+ */
32
+ private static collectAnsweredCallIds;
33
+ private static buildUnansweredResult;
34
+ }
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LLMHistoryEntries = void 0;
4
+ const LLMService_typedefs_1 = require("../../LLMService.typedefs");
5
+ const history_constants_1 = require("../../utilities/history/history.constants");
6
+ /**
7
+ * The history invariants every provider mapping relies on, established once
8
+ * here instead of in each provider: a tool call is answered exactly once, a
9
+ * result answers a call that was actually made, and an assistant round that
10
+ * called nothing is not a tool round at all.
11
+ */
12
+ class LLMHistoryEntries {
13
+ static isToolCall(entry) {
14
+ return entry.type === LLMService_typedefs_1.LLMHistoryEntryTypes.ToolCall;
15
+ }
16
+ static isToolResult(entry) {
17
+ return entry.type === LLMService_typedefs_1.LLMHistoryEntryTypes.ToolResult;
18
+ }
19
+ static isContext(entry) {
20
+ return entry.type === LLMService_typedefs_1.LLMHistoryEntryTypes.Context;
21
+ }
22
+ static isMessage(entry) {
23
+ return !LLMHistoryEntries.isToolCall(entry)
24
+ && !LLMHistoryEntries.isToolResult(entry)
25
+ && !LLMHistoryEntries.isContext(entry);
26
+ }
27
+ /**
28
+ * Repairs a restored history into one every provider accepts: an empty tool
29
+ * round is dropped, a result answering no preceding call is dropped, a
30
+ * second result for an already-answered call is dropped, and a call left
31
+ * unanswered gets `LLM_UNANSWERED_TOOL_CALL_RESULT` as a real tool result.
32
+ * Order is preserved; a synthesized result lands directly after the round
33
+ * that needed it.
34
+ */
35
+ static normalize(entries) {
36
+ const answeredCallIds = LLMHistoryEntries.collectAnsweredCallIds(entries);
37
+ const calledIds = new Set();
38
+ const emittedResultIds = new Set();
39
+ return entries.flatMap((entry) => {
40
+ if (LLMHistoryEntries.isToolCall(entry)) {
41
+ if (entry.calls.length === 0) {
42
+ return [];
43
+ }
44
+ entry.calls.forEach((call) => calledIds.add(call.id));
45
+ const unanswered = entry.calls.filter((call) => !answeredCallIds.has(call.id));
46
+ unanswered.forEach((call) => emittedResultIds.add(call.id));
47
+ return [
48
+ entry,
49
+ ...unanswered.map((call) => LLMHistoryEntries.buildUnansweredResult(call.id)),
50
+ ];
51
+ }
52
+ if (!LLMHistoryEntries.isToolResult(entry)) {
53
+ return [entry];
54
+ }
55
+ if (!calledIds.has(entry.toolCallId)
56
+ || emittedResultIds.has(entry.toolCallId)) {
57
+ return [];
58
+ }
59
+ emittedResultIds.add(entry.toolCallId);
60
+ return [entry];
61
+ });
62
+ }
63
+ /**
64
+ * Indexes the repaired history by call id, so a provider mapping emits each
65
+ * call together with its result instead of walking the array twice.
66
+ */
67
+ static indexResultsByCallId(entries) {
68
+ const pairs = entries
69
+ .filter(LLMHistoryEntries.isToolResult)
70
+ .map((entry) => [
71
+ entry.toolCallId,
72
+ entry.result,
73
+ ]);
74
+ return new Map(pairs);
75
+ }
76
+ /**
77
+ * A result answers a call only when it comes after it: a result standing
78
+ * before the call it names is as unusable to a provider as one naming no
79
+ * call at all, so the call still counts as unanswered.
80
+ */
81
+ static collectAnsweredCallIds(entries) {
82
+ const callIndexById = new Map();
83
+ entries.forEach((entry, index) => {
84
+ if (!LLMHistoryEntries.isToolCall(entry)) {
85
+ return;
86
+ }
87
+ entry.calls.forEach((call) => {
88
+ if (!callIndexById.has(call.id)) {
89
+ callIndexById.set(call.id, index);
90
+ }
91
+ });
92
+ });
93
+ const answeredIds = entries.flatMap((entry, index) => {
94
+ if (!LLMHistoryEntries.isToolResult(entry)) {
95
+ return [];
96
+ }
97
+ const callIndex = callIndexById.get(entry.toolCallId);
98
+ return callIndex !== undefined && callIndex < index
99
+ ? [entry.toolCallId]
100
+ : [];
101
+ });
102
+ return new Set(answeredIds);
103
+ }
104
+ static buildUnansweredResult(toolCallId) {
105
+ return {
106
+ type: LLMService_typedefs_1.LLMHistoryEntryTypes.ToolResult,
107
+ toolCallId,
108
+ result: history_constants_1.LLM_UNANSWERED_TOOL_CALL_RESULT,
109
+ };
110
+ }
111
+ }
112
+ exports.LLMHistoryEntries = LLMHistoryEntries;
113
+ //# sourceMappingURL=LLMHistoryEntries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMHistoryEntries.js","sourceRoot":"","sources":["../../../src/utilities/history/LLMHistoryEntries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The result a tool call is replayed with when the restored history holds no
3
+ * result for it. Every provider rejects an assistant tool call that no result
4
+ * answers, so the pairing is repaired natively — as a real tool result — rather
5
+ * than left to the caller to fake in prose.
6
+ */
7
+ export declare const LLM_UNANSWERED_TOOL_CALL_RESULT: string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LLM_UNANSWERED_TOOL_CALL_RESULT = void 0;
4
+ /**
5
+ * The result a tool call is replayed with when the restored history holds no
6
+ * result for it. Every provider rejects an assistant tool call that no result
7
+ * answers, so the pairing is repaired natively — as a real tool result — rather
8
+ * than left to the caller to fake in prose.
9
+ */
10
+ exports.LLM_UNANSWERED_TOOL_CALL_RESULT = 'No result was recorded for this tool call: the run ended before it'
11
+ + ' completed.';
12
+ //# sourceMappingURL=history.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.constants.js","sourceRoot":"","sources":["../../../src/utilities/history/history.constants.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,+BAA+B,GAC1C,oEAAoE;MAClE,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './history.constants';
2
+ export * from './LLMHistoryEntries';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./history.constants"), exports);
18
+ __exportStar(require("./LLMHistoryEntries"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/history/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,sDAAoC"}
@@ -1,4 +1,5 @@
1
1
  export * from './functional.utils';
2
+ export * from './history';
2
3
  export * from './llmTracing';
3
4
  export * from './promptBuilder';
4
5
  export * from './calculateCosts';
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./functional.utils"), exports);
18
+ __exportStar(require("./history"), exports);
18
19
  __exportStar(require("./llmTracing"), exports);
19
20
  __exportStar(require("./promptBuilder"), exports);
20
21
  __exportStar(require("./calculateCosts"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,+CAA6B;AAC7B,kDAAgC;AAChC,mDAAiC;AACjC,2CAAyB;AACzB,6CAA2B;AAC3B,2CAAyB;AACzB,mDAAiC;AACjC,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,4CAA0B;AAC1B,+CAA6B;AAC7B,kDAAgC;AAChC,mDAAiC;AACjC,2CAAyB;AACzB,6CAA2B;AAC3B,2CAAyB;AACzB,mDAAiC;AACjC,0CAAwB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mate-academy/llm-gateway",
3
- "version": "8.10.0",
3
+ "version": "8.11.0",
4
4
  "description": "A gateway package for LLM services.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",