@vybestack/llxprt-code-core 0.7.0-nightly.251209.0061bd6bf → 0.7.0-nightly.251211.134f1920b
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.
- package/dist/src/config/profileManager.js +2 -0
- package/dist/src/config/profileManager.js.map +1 -1
- package/dist/src/prompt-config/prompt-resolver.js +4 -0
- package/dist/src/prompt-config/prompt-resolver.js.map +1 -1
- package/dist/src/providers/LoggingProviderWrapper.d.ts +2 -1
- package/dist/src/providers/LoggingProviderWrapper.js +16 -4
- package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
- package/dist/src/providers/ProviderManager.d.ts +6 -3
- package/dist/src/providers/ProviderManager.js +16 -4
- package/dist/src/providers/ProviderManager.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.d.ts +10 -2
- package/dist/src/providers/openai/OpenAIProvider.js +335 -136
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/providers/openai-vercel/OpenAIVercelProvider.d.ts +3 -0
- package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js +255 -22
- package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js.map +1 -1
- package/dist/src/providers/openai-vercel/messageConversion.d.ts +4 -1
- package/dist/src/providers/openai-vercel/messageConversion.js +41 -6
- package/dist/src/providers/openai-vercel/messageConversion.js.map +1 -1
- package/dist/src/providers/reasoning/reasoningUtils.d.ts +26 -1
- package/dist/src/providers/reasoning/reasoningUtils.js +157 -0
- package/dist/src/providers/reasoning/reasoningUtils.js.map +1 -1
- package/dist/src/providers/utils/cacheMetricsExtractor.d.ts +6 -0
- package/dist/src/providers/utils/cacheMetricsExtractor.js +36 -0
- package/dist/src/providers/utils/cacheMetricsExtractor.js.map +1 -0
- package/dist/src/services/history/IContent.d.ts +3 -7
- package/dist/src/services/history/IContent.js.map +1 -1
- package/dist/src/tools/IToolFormatter.d.ts +1 -1
- package/dist/src/tools/ToolIdStrategy.d.ts +25 -0
- package/dist/src/tools/ToolIdStrategy.js +108 -0
- package/dist/src/tools/ToolIdStrategy.js.map +1 -1
- package/dist/src/tools/task.js +14 -2
- package/dist/src/tools/task.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.js +6 -0
- package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { normalizeToHistoryToolId, normalizeToOpenAIToolId, } from './toolIdUtils.js';
|
|
17
17
|
import { buildToolResponsePayload, EMPTY_TOOL_RESULT_PLACEHOLDER, } from '../utils/toolResponsePayload.js';
|
|
18
|
+
import { extractThinkingBlocks, thinkingToReasoningField, cleanKimiTokensFromThinking, } from '../reasoning/reasoningUtils.js';
|
|
18
19
|
function inferMediaEncoding(imageData) {
|
|
19
20
|
const defaultResult = { encoding: 'url', mimeType: 'image/*' };
|
|
20
21
|
if (imageData.startsWith('data:image/') && imageData.includes(';base64,')) {
|
|
@@ -35,8 +36,9 @@ function inferMediaEncoding(imageData) {
|
|
|
35
36
|
* Convert IContent array to Vercel AI SDK CoreMessage array
|
|
36
37
|
* @param contents - The contents to convert
|
|
37
38
|
* @param toolIdMapper - Optional mapper for tool IDs (for Kimi K2 format)
|
|
39
|
+
* @param options - Optional conversion options
|
|
38
40
|
*/
|
|
39
|
-
export function convertToVercelMessages(contents, toolIdMapper) {
|
|
41
|
+
export function convertToVercelMessages(contents, toolIdMapper, options) {
|
|
40
42
|
const messages = [];
|
|
41
43
|
// Helper to resolve tool call IDs based on format
|
|
42
44
|
const resolveToolCallId = (block) => {
|
|
@@ -108,6 +110,7 @@ export function convertToVercelMessages(contents, toolIdMapper) {
|
|
|
108
110
|
// Convert AI messages to assistant messages
|
|
109
111
|
const textBlocks = content.blocks.filter((b) => b.type === 'text');
|
|
110
112
|
const toolCallBlocks = content.blocks.filter((b) => b.type === 'tool_call');
|
|
113
|
+
const thinkingBlocks = extractThinkingBlocks(content);
|
|
111
114
|
const text = textBlocks
|
|
112
115
|
.map((b) => b.text)
|
|
113
116
|
.filter((t) => t.length > 0)
|
|
@@ -127,16 +130,48 @@ export function convertToVercelMessages(contents, toolIdMapper) {
|
|
|
127
130
|
input,
|
|
128
131
|
});
|
|
129
132
|
}
|
|
130
|
-
|
|
133
|
+
const baseMessage = {
|
|
131
134
|
role: 'assistant',
|
|
132
135
|
content: contentParts,
|
|
133
|
-
}
|
|
136
|
+
};
|
|
137
|
+
// Add reasoning_content if includeReasoningInContext is true and thinking blocks exist
|
|
138
|
+
if (options?.includeReasoningInContext && thinkingBlocks.length > 0) {
|
|
139
|
+
const reasoningText = thinkingToReasoningField(thinkingBlocks);
|
|
140
|
+
if (reasoningText) {
|
|
141
|
+
const messageWithReasoning = baseMessage;
|
|
142
|
+
messageWithReasoning.reasoning_content =
|
|
143
|
+
cleanKimiTokensFromThinking(reasoningText);
|
|
144
|
+
messages.push(messageWithReasoning);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
messages.push(baseMessage);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
messages.push(baseMessage);
|
|
152
|
+
}
|
|
134
153
|
}
|
|
135
|
-
else if (text) {
|
|
136
|
-
|
|
154
|
+
else if (text || thinkingBlocks.length > 0) {
|
|
155
|
+
const baseMessage = {
|
|
137
156
|
role: 'assistant',
|
|
138
157
|
content: text,
|
|
139
|
-
}
|
|
158
|
+
};
|
|
159
|
+
// Add reasoning_content if includeReasoningInContext is true and thinking blocks exist
|
|
160
|
+
if (options?.includeReasoningInContext && thinkingBlocks.length > 0) {
|
|
161
|
+
const reasoningText = thinkingToReasoningField(thinkingBlocks);
|
|
162
|
+
if (reasoningText) {
|
|
163
|
+
const messageWithReasoning = baseMessage;
|
|
164
|
+
messageWithReasoning.reasoning_content =
|
|
165
|
+
cleanKimiTokensFromThinking(reasoningText);
|
|
166
|
+
messages.push(messageWithReasoning);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
messages.push(baseMessage);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
else if (text) {
|
|
173
|
+
messages.push(baseMessage);
|
|
174
|
+
}
|
|
140
175
|
}
|
|
141
176
|
}
|
|
142
177
|
else if (content.speaker === 'tool') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageConversion.js","sourceRoot":"","sources":["../../../../src/providers/openai-vercel/messageConversion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messageConversion.js","sourceRoot":"","sources":["../../../../src/providers/openai-vercel/messageConversion.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @plan PLAN-20251202-THINKING.P06
|
|
5
5
|
* @requirement REQ-THINK-002
|
|
6
6
|
*/
|
|
7
|
-
import type { IContent, ThinkingBlock } from '../../services/history/IContent.js';
|
|
7
|
+
import type { IContent, ThinkingBlock, ToolCallBlock } from '../../services/history/IContent.js';
|
|
8
8
|
/** Policy for stripping thinking blocks from context */
|
|
9
9
|
export type StripPolicy = 'all' | 'allButLast' | 'none';
|
|
10
10
|
/**
|
|
@@ -41,3 +41,28 @@ export declare function estimateThinkingTokens(blocks: ThinkingBlock[]): number;
|
|
|
41
41
|
* @plan PLAN-20251202-THINKING.P08
|
|
42
42
|
*/
|
|
43
43
|
export declare function removeThinkingFromContent(content: IContent): IContent;
|
|
44
|
+
/**
|
|
45
|
+
* Extract and remove Kimi K2 tool call special tokens from text.
|
|
46
|
+
* Handles both complete tool call sections and stray/malformed tokens.
|
|
47
|
+
*
|
|
48
|
+
* @param raw - Raw text that may contain Kimi K2 tool call tokens
|
|
49
|
+
* @returns Object with cleanedText (tokens removed) and extracted toolCalls array
|
|
50
|
+
*
|
|
51
|
+
* @issue #722
|
|
52
|
+
* @plan PLAN-20251202-THINKING.P06
|
|
53
|
+
*/
|
|
54
|
+
export declare function extractKimiToolCallsFromText(raw: string): {
|
|
55
|
+
cleanedText: string;
|
|
56
|
+
toolCalls: ToolCallBlock[];
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Clean Kimi K2 tool call tokens from thinking content.
|
|
60
|
+
* Simple wrapper that just returns cleaned text without extracting tool calls.
|
|
61
|
+
*
|
|
62
|
+
* @param thought - Thinking content that may contain Kimi K2 tool call tokens
|
|
63
|
+
* @returns Cleaned text with all K2 tool tokens removed
|
|
64
|
+
*
|
|
65
|
+
* @issue #722
|
|
66
|
+
* @plan PLAN-20251202-THINKING.P06
|
|
67
|
+
*/
|
|
68
|
+
export declare function cleanKimiTokensFromThinking(thought: string): string;
|
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
* @plan PLAN-20251202-THINKING.P06
|
|
5
5
|
* @requirement REQ-THINK-002
|
|
6
6
|
*/
|
|
7
|
+
import { processToolParameters } from '../../tools/doubleEscapeUtils.js';
|
|
8
|
+
import { normalizeToHistoryToolId } from '../openai-vercel/toolIdUtils.js';
|
|
9
|
+
import { DebugLogger } from '../../debug/DebugLogger.js';
|
|
10
|
+
const logger = new DebugLogger('llxprt:provider:reasoning');
|
|
7
11
|
/**
|
|
8
12
|
* Extract all ThinkingBlock instances from an IContent.
|
|
9
13
|
*
|
|
@@ -89,4 +93,157 @@ export function removeThinkingFromContent(content) {
|
|
|
89
93
|
blocks: content.blocks.filter((block) => block.type !== 'thinking'),
|
|
90
94
|
};
|
|
91
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Extract and remove Kimi K2 tool call special tokens from text.
|
|
98
|
+
* Handles both complete tool call sections and stray/malformed tokens.
|
|
99
|
+
*
|
|
100
|
+
* @param raw - Raw text that may contain Kimi K2 tool call tokens
|
|
101
|
+
* @returns Object with cleanedText (tokens removed) and extracted toolCalls array
|
|
102
|
+
*
|
|
103
|
+
* @issue #722
|
|
104
|
+
* @plan PLAN-20251202-THINKING.P06
|
|
105
|
+
*/
|
|
106
|
+
export function extractKimiToolCallsFromText(raw) {
|
|
107
|
+
// Return early only if input is null/undefined/empty
|
|
108
|
+
if (!raw) {
|
|
109
|
+
return { cleanedText: raw, toolCalls: [] };
|
|
110
|
+
}
|
|
111
|
+
const toolCalls = [];
|
|
112
|
+
let text = raw;
|
|
113
|
+
// Extract tool calls from complete sections if present
|
|
114
|
+
if (raw.includes('<|tool_calls_section_begin|>')) {
|
|
115
|
+
const sectionRegex = /<\|tool_calls_section_begin\|>([\s\S]*?)<\|tool_calls_section_end\|>/g;
|
|
116
|
+
text = text.replace(sectionRegex, (_sectionMatch, sectionBody) => {
|
|
117
|
+
try {
|
|
118
|
+
const callRegex = /<\|tool_call_begin\|>\s*([^<]+?)\s*<\|tool_call_argument_begin\|>\s*([\s\S]*?)\s*<\|tool_call_end\|>/g;
|
|
119
|
+
let m;
|
|
120
|
+
while ((m = callRegex.exec(sectionBody)) !== null) {
|
|
121
|
+
const rawId = m[1].trim();
|
|
122
|
+
const rawArgs = m[2].trim();
|
|
123
|
+
// Infer tool name from ID.
|
|
124
|
+
let toolName = '';
|
|
125
|
+
const match = /^functions\.([A-Za-z0-9_]+):\d+/i.exec(rawId) ||
|
|
126
|
+
/^[A-Za-z0-9_]+\.([A-Za-z0-9_]+):\d+/.exec(rawId);
|
|
127
|
+
if (match) {
|
|
128
|
+
toolName = match[1];
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
const colonParts = rawId.split(':');
|
|
132
|
+
const head = colonParts[0] || rawId;
|
|
133
|
+
const dotParts = head.split('.');
|
|
134
|
+
toolName = dotParts[dotParts.length - 1] || head;
|
|
135
|
+
}
|
|
136
|
+
// Normalize tool name (handles Kimi-K2 style prefixes like call_functionsglob7)
|
|
137
|
+
toolName = normalizeToolName(toolName);
|
|
138
|
+
const sanitizedArgs = sanitizeToolArgumentsString(rawArgs);
|
|
139
|
+
const processedParameters = processToolParameters(sanitizedArgs, toolName);
|
|
140
|
+
toolCalls.push({
|
|
141
|
+
type: 'tool_call',
|
|
142
|
+
id: normalizeToHistoryToolId(rawId),
|
|
143
|
+
name: toolName,
|
|
144
|
+
parameters: processedParameters,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
// Log malformed tool sections for debugging, then skip
|
|
150
|
+
logger.debug(() => `Failed to parse K2 tool section: ${err instanceof Error ? err.message : String(err)}`, { sectionPreview: sectionBody.substring(0, 200) });
|
|
151
|
+
}
|
|
152
|
+
// Strip the entire tool section from user-visible text
|
|
153
|
+
return '';
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
// ALWAYS run stray token cleanup, even if no complete sections were found
|
|
157
|
+
// This handles partial sections, malformed tokens, orphaned markers, etc.
|
|
158
|
+
text = text.replace(/<\|tool_call(?:_(?:begin|end|argument_begin))?\|>/g, '');
|
|
159
|
+
text = text.replace(/<\|tool_calls_section_(?:begin|end)\|>/g, '');
|
|
160
|
+
// Don't trim - preserve leading/trailing newlines that are important for formatting
|
|
161
|
+
// (e.g., numbered lists from Kimi K2 that have newlines between items)
|
|
162
|
+
return { cleanedText: text, toolCalls };
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Clean Kimi K2 tool call tokens from thinking content.
|
|
166
|
+
* Simple wrapper that just returns cleaned text without extracting tool calls.
|
|
167
|
+
*
|
|
168
|
+
* @param thought - Thinking content that may contain Kimi K2 tool call tokens
|
|
169
|
+
* @returns Cleaned text with all K2 tool tokens removed
|
|
170
|
+
*
|
|
171
|
+
* @issue #722
|
|
172
|
+
* @plan PLAN-20251202-THINKING.P06
|
|
173
|
+
*/
|
|
174
|
+
export function cleanKimiTokensFromThinking(thought) {
|
|
175
|
+
return extractKimiToolCallsFromText(thought).cleanedText;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Helper: Normalize tool name by stripping Kimi-K2 style prefixes.
|
|
179
|
+
* Handles cases where model concatenates "functions" or "call_functions" with tool name.
|
|
180
|
+
*
|
|
181
|
+
* @internal
|
|
182
|
+
*/
|
|
183
|
+
function normalizeToolName(name) {
|
|
184
|
+
let normalized = (name || '').trim();
|
|
185
|
+
// Strip Kimi-K2 style prefixes where model concatenates "functions" or "call_functions"
|
|
186
|
+
// with the actual tool name (e.g., "functionslist_directory" -> "list_directory")
|
|
187
|
+
// Pattern: (call_)?functions<actual_tool_name><optional_number>
|
|
188
|
+
const kimiPrefixMatch = /^(?:call_)?functions([a-z_]+[a-z])(\d*)$/i.exec(normalized);
|
|
189
|
+
if (kimiPrefixMatch) {
|
|
190
|
+
normalized = kimiPrefixMatch[1];
|
|
191
|
+
}
|
|
192
|
+
return normalized.toLowerCase();
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Helper: Sanitize raw tool argument payloads before JSON parsing.
|
|
196
|
+
* Removes thinking blocks, markdown code fences, and prose wrappers.
|
|
197
|
+
*
|
|
198
|
+
* @internal
|
|
199
|
+
*/
|
|
200
|
+
function sanitizeToolArgumentsString(raw) {
|
|
201
|
+
if (raw === null || raw === undefined) {
|
|
202
|
+
return '{}';
|
|
203
|
+
}
|
|
204
|
+
let text;
|
|
205
|
+
if (typeof raw === 'string') {
|
|
206
|
+
text = raw;
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
try {
|
|
210
|
+
text = JSON.stringify(raw);
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
text = String(raw);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
text = text.trim();
|
|
217
|
+
// Strip fenced code blocks like ```json { ... } ```.
|
|
218
|
+
if (text.startsWith('```')) {
|
|
219
|
+
text = text.replace(/^```[a-zA-Z0-9_-]*\s*/m, '');
|
|
220
|
+
text = text.replace(/```$/m, '');
|
|
221
|
+
text = text.trim();
|
|
222
|
+
}
|
|
223
|
+
// Remove provider reasoning / thinking markup
|
|
224
|
+
text = sanitizeProviderText(text);
|
|
225
|
+
// If provider wrapped JSON in explanation text, try to isolate the object.
|
|
226
|
+
const firstBrace = text.indexOf('{');
|
|
227
|
+
const lastBrace = text.lastIndexOf('}');
|
|
228
|
+
if (firstBrace !== -1 && lastBrace !== -1 && lastBrace > firstBrace) {
|
|
229
|
+
const candidate = text.slice(firstBrace, lastBrace + 1).trim();
|
|
230
|
+
if (candidate.startsWith('{') && candidate.endsWith('}')) {
|
|
231
|
+
return candidate;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
return text.length ? text : '{}';
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Helper: Remove provider-specific thinking/reasoning markup from text.
|
|
238
|
+
*
|
|
239
|
+
* @internal
|
|
240
|
+
*/
|
|
241
|
+
function sanitizeProviderText(text) {
|
|
242
|
+
// Remove <think>...</think> blocks (and variations)
|
|
243
|
+
text = text.replace(/<think>[\s\S]*?<\/think>/gi, '');
|
|
244
|
+
text = text.replace(/<thinking>[\s\S]*?<\/thinking>/gi, '');
|
|
245
|
+
text = text.replace(/<thought>[\s\S]*?<\/thought>/gi, '');
|
|
246
|
+
return text.trim();
|
|
247
|
+
}
|
|
248
|
+
// normalizeToHistoryToolId is imported from toolIdUtils.js
|
|
92
249
|
//# sourceMappingURL=reasoningUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoningUtils.js","sourceRoot":"","sources":["../../../../src/providers/reasoning/reasoningUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"reasoningUtils.js","sourceRoot":"","sources":["../../../../src/providers/reasoning/reasoningUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,2BAA2B,CAAC,CAAC;AAK5D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAiB;IACrD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAsB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAoB,EACpB,MAAmB;IAEnB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACjD,CAAC;IAED,0BAA0B;IAC1B,iDAAiD;IACjD,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;YAC1D,qBAAqB,GAAG,CAAC,CAAC;YAC1B,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,qBAAqB,KAAK,CAAC,CAAC,EAAE,CAAC;QACjC,iCAAiC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACrC,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,CAAC,gCAAgC;QAClD,CAAC;QACD,OAAO,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAuB;IAEvB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAuB;IAC5D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,6CAA6C;QAC7C,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAiB;IACzD,OAAO;QACL,GAAG,OAAO;QACV,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;KACpE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAW;IAItD,qDAAqD;IACrD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,IAAI,IAAI,GAAG,GAAG,CAAC;IAEf,uDAAuD;IACvD,IAAI,GAAG,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;QACjD,MAAM,YAAY,GAChB,uEAAuE,CAAC;QAE1E,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,YAAY,EACZ,CAAC,aAAqB,EAAE,WAAmB,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,SAAS,GACb,uGAAuG,CAAC;gBAE1G,IAAI,CAAyB,CAAC;gBAC9B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAClD,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAE5B,2BAA2B;oBAC3B,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,MAAM,KAAK,GACT,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC;wBAC9C,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACpD,IAAI,KAAK,EAAE,CAAC;wBACV,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACN,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACpC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;wBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACjC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;oBACnD,CAAC;oBAED,gFAAgF;oBAChF,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAEvC,MAAM,aAAa,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;oBAC3D,MAAM,mBAAmB,GAAG,qBAAqB,CAC/C,aAAa,EACb,QAAQ,CACT,CAAC;oBAEF,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,WAAW;wBACjB,EAAE,EAAE,wBAAwB,CAAC,KAAK,CAAC;wBACnC,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,mBAAmB;qBACf,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,uDAAuD;gBACvD,MAAM,CAAC,KAAK,CACV,GAAG,EAAE,CACH,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACxF,EAAE,cAAc,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAClD,CAAC;YACJ,CAAC;YAED,uDAAuD;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,oDAAoD,EAAE,EAAE,CAAC,CAAC;IAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yCAAyC,EAAE,EAAE,CAAC,CAAC;IAEnE,oFAAoF;IACpF,uEAAuE;IACvE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO,4BAA4B,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAErC,wFAAwF;IACxF,kFAAkF;IAClF,gEAAgE;IAChE,MAAM,eAAe,GAAG,2CAA2C,CAAC,IAAI,CACtE,UAAU,CACX,CAAC;IACF,IAAI,eAAe,EAAE,CAAC;QACpB,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAAC,GAAY;IAC/C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAY,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,GAAG,CAAC;IACb,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAEnB,qDAAqD;IACrD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,8CAA8C;IAC9C,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAElC,2EAA2E;IAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACxC,oDAAoD;IACpD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC;IAC5D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;IAE1D,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;AACrB,CAAC;AAED,2DAA2D"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
function toNumber(value) {
|
|
2
|
+
if (typeof value === 'number') {
|
|
3
|
+
return value;
|
|
4
|
+
}
|
|
5
|
+
if (typeof value === 'string') {
|
|
6
|
+
const parsed = Number(value);
|
|
7
|
+
return isNaN(parsed) ? 0 : parsed;
|
|
8
|
+
}
|
|
9
|
+
return 0;
|
|
10
|
+
}
|
|
11
|
+
function hasProperty(obj, key) {
|
|
12
|
+
return typeof obj === 'object' && obj !== null && key in obj;
|
|
13
|
+
}
|
|
14
|
+
export function extractCacheMetrics(usage, headers) {
|
|
15
|
+
const cachedTokens = (hasProperty(usage, 'prompt_tokens_details') &&
|
|
16
|
+
hasProperty(usage.prompt_tokens_details, 'cached_tokens') &&
|
|
17
|
+
toNumber(usage.prompt_tokens_details.cached_tokens)) ||
|
|
18
|
+
(hasProperty(usage, 'cache_read_input_tokens') &&
|
|
19
|
+
toNumber(usage.cache_read_input_tokens)) ||
|
|
20
|
+
(hasProperty(usage, 'prompt_cache_hit_tokens') &&
|
|
21
|
+
toNumber(usage.prompt_cache_hit_tokens)) ||
|
|
22
|
+
(headers && toNumber(headers.get('fireworks-cached-prompt-tokens'))) ||
|
|
23
|
+
0;
|
|
24
|
+
const cacheCreationTokens = (hasProperty(usage, 'cache_creation_input_tokens') &&
|
|
25
|
+
toNumber(usage.cache_creation_input_tokens)) ||
|
|
26
|
+
0;
|
|
27
|
+
const cacheMissTokens = (hasProperty(usage, 'prompt_cache_miss_tokens') &&
|
|
28
|
+
toNumber(usage.prompt_cache_miss_tokens)) ||
|
|
29
|
+
0;
|
|
30
|
+
return {
|
|
31
|
+
cachedTokens,
|
|
32
|
+
cacheCreationTokens,
|
|
33
|
+
cacheMissTokens,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=cacheMetricsExtractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cacheMetricsExtractor.js","sourceRoot":"","sources":["../../../../src/providers/utils/cacheMetricsExtractor.ts"],"names":[],"mappings":"AAMA,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAClB,GAAY,EACZ,GAAM;IAEN,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAc,EACd,OAAiB;IAEjB,MAAM,YAAY,GAChB,CAAC,WAAW,CAAC,KAAK,EAAE,uBAAuB,CAAC;QAC1C,WAAW,CAAC,KAAK,CAAC,qBAAqB,EAAE,eAAe,CAAC;QACzD,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QACtD,CAAC,WAAW,CAAC,KAAK,EAAE,yBAAyB,CAAC;YAC5C,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC1C,CAAC,WAAW,CAAC,KAAK,EAAE,yBAAyB,CAAC;YAC5C,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC1C,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;IAEJ,MAAM,mBAAmB,GACvB,CAAC,WAAW,CAAC,KAAK,EAAE,6BAA6B,CAAC;QAChD,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC,CAAC;IAEJ,MAAM,eAAe,GACnB,CAAC,WAAW,CAAC,KAAK,EAAE,0BAA0B,CAAC;QAC7C,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC,CAAC;IAEJ,OAAO;QACL,YAAY;QACZ,mBAAmB;QACnB,eAAe;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -58,17 +58,13 @@ export interface ContentMetadata {
|
|
|
58
58
|
/** Reason for synthetic content generation */
|
|
59
59
|
reason?: string;
|
|
60
60
|
}
|
|
61
|
-
/**
|
|
62
|
-
* Token usage statistics
|
|
63
|
-
*/
|
|
64
61
|
export interface UsageStats {
|
|
65
62
|
promptTokens: number;
|
|
66
63
|
completionTokens: number;
|
|
67
64
|
totalTokens: number;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
*/
|
|
65
|
+
cachedTokens?: number;
|
|
66
|
+
cacheCreationTokens?: number;
|
|
67
|
+
cacheMissTokens?: number;
|
|
72
68
|
cache_read_input_tokens?: number;
|
|
73
69
|
cache_creation_input_tokens?: number;
|
|
74
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IContent.js","sourceRoot":"","sources":["../../../../src/services/history/IContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"IContent.js","sourceRoot":"","sources":["../../../../src/services/history/IContent.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import { ITool } from '../providers/ITool.js';
|
|
22
22
|
import { ToolCallBlock } from '../services/history/IContent.js';
|
|
23
|
-
export type ToolFormat = 'openai' | 'anthropic' | 'deepseek' | 'qwen' | 'kimi' | 'hermes' | 'xml' | 'llama' | 'gemma';
|
|
23
|
+
export type ToolFormat = 'openai' | 'anthropic' | 'deepseek' | 'qwen' | 'kimi' | 'mistral' | 'hermes' | 'xml' | 'llama' | 'gemma';
|
|
24
24
|
export interface OpenAIFunction {
|
|
25
25
|
name: string;
|
|
26
26
|
description?: string;
|
|
@@ -48,6 +48,20 @@ export interface ToolIdStrategy {
|
|
|
48
48
|
* @returns true if this is a K2 model requiring special ID handling
|
|
49
49
|
*/
|
|
50
50
|
export declare function isKimiModel(model: string): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Checks if a model name indicates a Mistral model that requires
|
|
53
|
+
* the special 9-character alphanumeric ID format.
|
|
54
|
+
*
|
|
55
|
+
* Mistral models (both hosted and self-hosted) enforce a strict tool call ID format:
|
|
56
|
+
* - Exactly 9 characters
|
|
57
|
+
* - Only alphanumeric (a-z, A-Z, 0-9) - no underscores or special characters
|
|
58
|
+
*
|
|
59
|
+
* This applies to mistral, devstral, codestral, and other Mistral model variants.
|
|
60
|
+
*
|
|
61
|
+
* @param model - The model name to check
|
|
62
|
+
* @returns true if this is a Mistral model requiring special ID handling
|
|
63
|
+
*/
|
|
64
|
+
export declare function isMistralModel(model: string): boolean;
|
|
51
65
|
/**
|
|
52
66
|
* Kimi K2 strategy: Generates IDs in the format functions.{toolName}:{globalIndex}
|
|
53
67
|
*
|
|
@@ -63,6 +77,17 @@ export declare const kimiStrategy: ToolIdStrategy;
|
|
|
63
77
|
* It simply normalizes the internal ID format to the OpenAI format.
|
|
64
78
|
*/
|
|
65
79
|
export declare const standardStrategy: ToolIdStrategy;
|
|
80
|
+
/**
|
|
81
|
+
* Mistral strategy: Generates IDs in Mistral's required format
|
|
82
|
+
*
|
|
83
|
+
* Mistral models (both hosted API and self-hosted) require tool call IDs to be:
|
|
84
|
+
* - Exactly 9 characters
|
|
85
|
+
* - Only alphanumeric (a-z, A-Z, 0-9)
|
|
86
|
+
*
|
|
87
|
+
* This strategy maintains a mapping from internal IDs to Mistral-compliant IDs
|
|
88
|
+
* to ensure tool responses can be matched back to their calls.
|
|
89
|
+
*/
|
|
90
|
+
export declare const mistralStrategy: ToolIdStrategy;
|
|
66
91
|
/**
|
|
67
92
|
* Gets the appropriate tool ID strategy for a given tool format
|
|
68
93
|
*
|
|
@@ -27,6 +27,27 @@ export function isKimiModel(model) {
|
|
|
27
27
|
const k2Pattern = /(?:^|[^a-z0-9])k2(?:[^a-z0-9]|$)/;
|
|
28
28
|
return k2Pattern.test(lowerModel);
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Checks if a model name indicates a Mistral model that requires
|
|
32
|
+
* the special 9-character alphanumeric ID format.
|
|
33
|
+
*
|
|
34
|
+
* Mistral models (both hosted and self-hosted) enforce a strict tool call ID format:
|
|
35
|
+
* - Exactly 9 characters
|
|
36
|
+
* - Only alphanumeric (a-z, A-Z, 0-9) - no underscores or special characters
|
|
37
|
+
*
|
|
38
|
+
* This applies to mistral, devstral, codestral, and other Mistral model variants.
|
|
39
|
+
*
|
|
40
|
+
* @param model - The model name to check
|
|
41
|
+
* @returns true if this is a Mistral model requiring special ID handling
|
|
42
|
+
*/
|
|
43
|
+
export function isMistralModel(model) {
|
|
44
|
+
const lowerModel = model.toLowerCase();
|
|
45
|
+
return (lowerModel.includes('mistral') ||
|
|
46
|
+
lowerModel.includes('devstral') ||
|
|
47
|
+
lowerModel.includes('codestral') ||
|
|
48
|
+
lowerModel.includes('pixtral') ||
|
|
49
|
+
lowerModel.includes('ministral'));
|
|
50
|
+
}
|
|
30
51
|
/**
|
|
31
52
|
* Kimi K2 strategy: Generates IDs in the format functions.{toolName}:{globalIndex}
|
|
32
53
|
*
|
|
@@ -86,6 +107,90 @@ export const standardStrategy = {
|
|
|
86
107
|
};
|
|
87
108
|
},
|
|
88
109
|
};
|
|
110
|
+
/**
|
|
111
|
+
* Generates a Mistral-compatible tool call ID.
|
|
112
|
+
*
|
|
113
|
+
* Mistral requires exactly 9 alphanumeric characters (a-z, A-Z, 0-9).
|
|
114
|
+
* No underscores, dashes, or other special characters are allowed.
|
|
115
|
+
*
|
|
116
|
+
* @returns A 9-character alphanumeric string
|
|
117
|
+
*/
|
|
118
|
+
function generateMistralToolId() {
|
|
119
|
+
const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
|
120
|
+
let result = '';
|
|
121
|
+
for (let i = 0; i < 9; i++) {
|
|
122
|
+
result += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
123
|
+
}
|
|
124
|
+
return result;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Converts any tool ID to Mistral's required format.
|
|
128
|
+
*
|
|
129
|
+
* If the ID is already 9 alphanumeric characters, return it as-is.
|
|
130
|
+
* Otherwise, generate a new compliant ID.
|
|
131
|
+
*
|
|
132
|
+
* @param id - The original tool call ID
|
|
133
|
+
* @returns A Mistral-compatible 9-character alphanumeric ID
|
|
134
|
+
*/
|
|
135
|
+
function toMistralToolId(id) {
|
|
136
|
+
// Check if already compliant: exactly 9 alphanumeric characters
|
|
137
|
+
if (/^[a-zA-Z0-9]{9}$/.test(id)) {
|
|
138
|
+
return id;
|
|
139
|
+
}
|
|
140
|
+
// Generate a new compliant ID
|
|
141
|
+
return generateMistralToolId();
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Mistral strategy: Generates IDs in Mistral's required format
|
|
145
|
+
*
|
|
146
|
+
* Mistral models (both hosted API and self-hosted) require tool call IDs to be:
|
|
147
|
+
* - Exactly 9 characters
|
|
148
|
+
* - Only alphanumeric (a-z, A-Z, 0-9)
|
|
149
|
+
*
|
|
150
|
+
* This strategy maintains a mapping from internal IDs to Mistral-compliant IDs
|
|
151
|
+
* to ensure tool responses can be matched back to their calls.
|
|
152
|
+
*/
|
|
153
|
+
export const mistralStrategy = {
|
|
154
|
+
createMapper(contents) {
|
|
155
|
+
// Build a map of internal ID -> Mistral format ID
|
|
156
|
+
const idToMistralId = new Map();
|
|
157
|
+
// Scan all tool calls in the conversation and assign Mistral IDs
|
|
158
|
+
for (const content of contents) {
|
|
159
|
+
if (content.speaker !== 'ai')
|
|
160
|
+
continue;
|
|
161
|
+
for (const block of content.blocks) {
|
|
162
|
+
if (isToolCallBlock(block)) {
|
|
163
|
+
// Check if this ID already has a Mistral mapping
|
|
164
|
+
if (!idToMistralId.has(block.id)) {
|
|
165
|
+
idToMistralId.set(block.id, toMistralToolId(block.id));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return {
|
|
171
|
+
resolveToolCallId(tc) {
|
|
172
|
+
// Return existing mapping or create new one
|
|
173
|
+
let mistralId = idToMistralId.get(tc.id);
|
|
174
|
+
if (!mistralId) {
|
|
175
|
+
mistralId = toMistralToolId(tc.id);
|
|
176
|
+
idToMistralId.set(tc.id, mistralId);
|
|
177
|
+
}
|
|
178
|
+
return mistralId;
|
|
179
|
+
},
|
|
180
|
+
resolveToolResponseId(tr) {
|
|
181
|
+
// Look up the corresponding tool call's Mistral ID
|
|
182
|
+
const mistralId = idToMistralId.get(tr.callId);
|
|
183
|
+
if (mistralId) {
|
|
184
|
+
return mistralId;
|
|
185
|
+
}
|
|
186
|
+
// Fallback: generate a new compliant ID
|
|
187
|
+
const newId = toMistralToolId(tr.callId);
|
|
188
|
+
idToMistralId.set(tr.callId, newId);
|
|
189
|
+
return newId;
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
},
|
|
193
|
+
};
|
|
89
194
|
/**
|
|
90
195
|
* Gets the appropriate tool ID strategy for a given tool format
|
|
91
196
|
*
|
|
@@ -96,6 +201,9 @@ export function getToolIdStrategy(format) {
|
|
|
96
201
|
if (format === 'kimi') {
|
|
97
202
|
return kimiStrategy;
|
|
98
203
|
}
|
|
204
|
+
if (format === 'mistral') {
|
|
205
|
+
return mistralStrategy;
|
|
206
|
+
}
|
|
99
207
|
return standardStrategy;
|
|
100
208
|
}
|
|
101
209
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolIdStrategy.js","sourceRoot":"","sources":["../../../src/tools/ToolIdStrategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AA4BpF;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvC,yBAAyB;IACzB,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mCAAmC;IACnC,6CAA6C;IAC7C,2CAA2C;IAC3C,iEAAiE;IACjE,MAAM,SAAS,GAAG,kCAAkC,CAAC;IACrD,OAAO,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,YAAY,CAAC,QAAoB;QAC/B,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,0CAA0C;QAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI;gBAAE,SAAS;YAEvC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAG,aAAa,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;oBACtD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC7B,WAAW,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,iBAAiB,CAAC,EAAiB;gBACjC,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,IAAI,IAAI,WAAW,EAAE,EAAE,CAAC;YACxE,CAAC;YAED,qBAAqB,CAAC,EAAqB;gBACzC,8CAA8C;gBAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,qDAAqD;gBACrD,mEAAmE;gBACnE,OAAO,aAAa,EAAE,CAAC,QAAQ,IAAI,WAAW,EAAE,EAAE,CAAC;YACrD,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,YAAY,CAAC,SAAqB;QAChC,OAAO;YACL,iBAAiB,CAAC,EAAiB;gBACjC,OAAO,uBAAuB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;YAED,qBAAqB,CAAC,EAAqB;gBACzC,OAAO,uBAAuB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAkB;IAClD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAAmB;IAC1C,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;AACpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ToolIdStrategy.js","sourceRoot":"","sources":["../../../src/tools/ToolIdStrategy.ts"],"names":[],"mappings":"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"}
|