@vybestack/llxprt-code-core 0.7.0-nightly.251208.a6190e71e → 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/prompt-config/defaults/default-prompts.json +1 -1
- package/dist/src/config/profileManager.js +6 -0
- package/dist/src/config/profileManager.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +15 -1
- package/dist/src/core/geminiChat.js +35 -10
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/prompts.js +29 -9
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.js +2 -1
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
- package/dist/src/prompt-config/defaults/core.md +0 -3
- package/dist/src/prompt-config/prompt-installer.d.ts +33 -2
- package/dist/src/prompt-config/prompt-installer.js +163 -31
- package/dist/src/prompt-config/prompt-installer.js.map +1 -1
- package/dist/src/prompt-config/prompt-resolver.js +49 -41
- package/dist/src/prompt-config/prompt-resolver.js.map +1 -1
- package/dist/src/prompt-config/types.d.ts +1 -0
- 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/anthropic/AnthropicProvider.js +164 -145
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/gemini/GeminiProvider.js +91 -30
- package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.d.ts +10 -2
- package/dist/src/providers/openai/OpenAIProvider.js +354 -132
- 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/providers/utils/dumpContext.d.ts +36 -0
- package/dist/src/providers/utils/dumpContext.js +93 -0
- package/dist/src/providers/utils/dumpContext.js.map +1 -0
- package/dist/src/providers/utils/dumpSDKContext.d.ts +13 -0
- package/dist/src/providers/utils/dumpSDKContext.js +39 -0
- package/dist/src/providers/utils/dumpSDKContext.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/settings/types.d.ts +4 -2
- 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/modifiable-tool.js.map +1 -1
- package/dist/src/tools/task.js +14 -2
- package/dist/src/tools/task.js.map +1 -1
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/types/modelParams.d.ts +6 -0
- package/dist/src/utils/generateContentResponseUtilities.js +6 -0
- package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
- package/dist/src/utils/retry.js +1 -0
- package/dist/src/utils/retry.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":"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"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export type DumpMode = 'now' | 'status' | 'on' | 'error' | 'off';
|
|
7
|
+
export interface DumpRequest {
|
|
8
|
+
url: string;
|
|
9
|
+
method: string;
|
|
10
|
+
headers?: Record<string, string>;
|
|
11
|
+
body?: unknown;
|
|
12
|
+
}
|
|
13
|
+
export interface DumpResponse {
|
|
14
|
+
status: number;
|
|
15
|
+
headers?: Record<string, string>;
|
|
16
|
+
body?: unknown;
|
|
17
|
+
}
|
|
18
|
+
export interface DumpData {
|
|
19
|
+
provider: string;
|
|
20
|
+
timestamp: string;
|
|
21
|
+
request: DumpRequest;
|
|
22
|
+
response?: DumpResponse;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Redacts sensitive information from request data
|
|
26
|
+
*/
|
|
27
|
+
export declare function redactSensitiveData(request: DumpRequest): DumpRequest;
|
|
28
|
+
/**
|
|
29
|
+
* Dumps context (request and response) to a file in ~/.llxprt/dumps/
|
|
30
|
+
* Returns the filename of the created dump file
|
|
31
|
+
*/
|
|
32
|
+
export declare function dumpContext(request: DumpRequest, response: DumpResponse | undefined, provider: string): Promise<string>;
|
|
33
|
+
/**
|
|
34
|
+
* Checks if dumping should occur based on mode and error status
|
|
35
|
+
*/
|
|
36
|
+
export declare function shouldDump(mode: DumpMode | undefined, isError: boolean): boolean;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { promises as fs } from 'node:fs';
|
|
7
|
+
import * as path from 'node:path';
|
|
8
|
+
import * as os from 'node:os';
|
|
9
|
+
import { DebugLogger } from '../../debug/index.js';
|
|
10
|
+
const logger = new DebugLogger('llxprt:core:dumpContext');
|
|
11
|
+
/**
|
|
12
|
+
* Redacts sensitive information from request data
|
|
13
|
+
*/
|
|
14
|
+
export function redactSensitiveData(request) {
|
|
15
|
+
const redacted = {
|
|
16
|
+
...request,
|
|
17
|
+
headers: request.headers ? { ...request.headers } : undefined,
|
|
18
|
+
};
|
|
19
|
+
// Redact Authorization header
|
|
20
|
+
if (redacted.headers?.Authorization) {
|
|
21
|
+
redacted.headers.Authorization = '[REDACTED]';
|
|
22
|
+
}
|
|
23
|
+
// Redact x-api-key header
|
|
24
|
+
if (redacted.headers?.['x-api-key']) {
|
|
25
|
+
redacted.headers['x-api-key'] = '[REDACTED]';
|
|
26
|
+
}
|
|
27
|
+
// Redact key query parameter in URL
|
|
28
|
+
if (redacted.url.includes('?')) {
|
|
29
|
+
const [baseUrl, queryString] = redacted.url.split('?');
|
|
30
|
+
const params = new URLSearchParams(queryString);
|
|
31
|
+
if (params.has('key')) {
|
|
32
|
+
params.set('key', '[REDACTED]');
|
|
33
|
+
// Decode the URL to prevent double-encoding of brackets
|
|
34
|
+
redacted.url = decodeURIComponent(`${baseUrl}?${params.toString()}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return redacted;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Generates a unique filename for the dump
|
|
41
|
+
*/
|
|
42
|
+
function generateFilename(provider) {
|
|
43
|
+
const now = new Date();
|
|
44
|
+
const dateStr = now.toISOString().slice(0, 10).replace(/-/g, '');
|
|
45
|
+
const timeStr = now.toISOString().slice(11, 19).replace(/:/g, '');
|
|
46
|
+
const randomStr = Math.random().toString(36).substring(2, 8);
|
|
47
|
+
return `${dateStr}-${timeStr}-${provider}-${randomStr}.json`;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Dumps context (request and response) to a file in ~/.llxprt/dumps/
|
|
51
|
+
* Returns the filename of the created dump file
|
|
52
|
+
*/
|
|
53
|
+
export async function dumpContext(request, response, provider) {
|
|
54
|
+
try {
|
|
55
|
+
const dumpDir = path.join(os.homedir(), '.llxprt', 'dumps');
|
|
56
|
+
await fs.mkdir(dumpDir, { recursive: true });
|
|
57
|
+
const redactedRequest = redactSensitiveData(request);
|
|
58
|
+
const dumpData = {
|
|
59
|
+
provider,
|
|
60
|
+
timestamp: new Date().toISOString(),
|
|
61
|
+
request: redactedRequest,
|
|
62
|
+
response,
|
|
63
|
+
};
|
|
64
|
+
const filename = generateFilename(provider);
|
|
65
|
+
const filepath = path.join(dumpDir, filename);
|
|
66
|
+
await fs.writeFile(filepath, JSON.stringify(dumpData, null, 2), 'utf-8');
|
|
67
|
+
logger.debug(() => `Context dumped to: ${filepath}`);
|
|
68
|
+
return filename;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
logger.error(() => `Failed to dump context: ${error}`);
|
|
72
|
+
throw error;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Checks if dumping should occur based on mode and error status
|
|
77
|
+
*/
|
|
78
|
+
export function shouldDump(mode, isError) {
|
|
79
|
+
if (!mode || mode === 'off' || mode === 'status') {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
if (mode === 'now') {
|
|
83
|
+
return true; // Special case handled by command
|
|
84
|
+
}
|
|
85
|
+
if (mode === 'on') {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
if (mode === 'error' && isError) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=dumpContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dumpContext.js","sourceRoot":"","sources":["../../../../src/providers/utils/dumpContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { shouldDump } from './dumpContext.js';
|
|
7
|
+
/**
|
|
8
|
+
* Dumps SDK-level request/response data by synthesizing HTTP-like structure
|
|
9
|
+
* This captures the actual SDK parameters and responses, which is more useful
|
|
10
|
+
* for debugging than raw HTTP dumps.
|
|
11
|
+
*/
|
|
12
|
+
export declare function dumpSDKContext(providerName: string, endpoint: string, requestParams: unknown, response: unknown, isError: boolean, baseURL?: string): Promise<string>;
|
|
13
|
+
export { shouldDump as shouldDumpSDKContext };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { dumpContext, shouldDump } from './dumpContext.js';
|
|
7
|
+
import { DebugLogger } from '../../debug/index.js';
|
|
8
|
+
const logger = new DebugLogger('llxprt:core:dumpSDKContext');
|
|
9
|
+
/**
|
|
10
|
+
* Dumps SDK-level request/response data by synthesizing HTTP-like structure
|
|
11
|
+
* This captures the actual SDK parameters and responses, which is more useful
|
|
12
|
+
* for debugging than raw HTTP dumps.
|
|
13
|
+
*/
|
|
14
|
+
export async function dumpSDKContext(providerName, endpoint, requestParams, response, isError, baseURL) {
|
|
15
|
+
const url = baseURL
|
|
16
|
+
? `${baseURL}${endpoint}`
|
|
17
|
+
: `https://api.${providerName}.com${endpoint}`;
|
|
18
|
+
const request = {
|
|
19
|
+
url,
|
|
20
|
+
method: 'POST',
|
|
21
|
+
headers: {
|
|
22
|
+
'Content-Type': 'application/json',
|
|
23
|
+
'User-Agent': 'llxprt-code',
|
|
24
|
+
},
|
|
25
|
+
body: requestParams,
|
|
26
|
+
};
|
|
27
|
+
const dumpResponse = {
|
|
28
|
+
status: isError ? 500 : 200,
|
|
29
|
+
headers: {
|
|
30
|
+
'Content-Type': 'application/json',
|
|
31
|
+
},
|
|
32
|
+
body: response,
|
|
33
|
+
};
|
|
34
|
+
logger.debug(() => `Dumping SDK context for ${providerName}: endpoint=${endpoint}, isError=${isError}`);
|
|
35
|
+
return await dumpContext(request, dumpResponse, providerName);
|
|
36
|
+
}
|
|
37
|
+
// Re-export shouldDump as shouldDumpSDKContext for backwards compatibility
|
|
38
|
+
export { shouldDump as shouldDumpSDKContext };
|
|
39
|
+
//# sourceMappingURL=dumpSDKContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dumpSDKContext.js","sourceRoot":"","sources":["../../../../src/providers/utils/dumpSDKContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,4BAA4B,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,YAAoB,EACpB,QAAgB,EAChB,aAAsB,EACtB,QAAiB,EACjB,OAAgB,EAChB,OAAgB;IAEhB,MAAM,GAAG,GAAG,OAAO;QACjB,CAAC,CAAC,GAAG,OAAO,GAAG,QAAQ,EAAE;QACzB,CAAC,CAAC,eAAe,YAAY,OAAO,QAAQ,EAAE,CAAC;IAEjD,MAAM,OAAO,GAAG;QACd,GAAG;QACH,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,aAAa;SAC5B;QACD,IAAI,EAAE,aAAa;KACpB,CAAC;IAEF,MAAM,YAAY,GAAG;QACnB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAC3B,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,QAAQ;KACf,CAAC;IAEF,MAAM,CAAC,KAAK,CACV,GAAG,EAAE,CACH,2BAA2B,YAAY,cAAc,QAAQ,aAAa,OAAO,EAAE,CACtF,CAAC;IAEF,OAAO,MAAM,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AAChE,CAAC;AAED,2EAA2E;AAC3E,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,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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"}
|