@vybestack/llxprt-code-core 0.8.0-nightly.260112.d9cf7fbc6 → 0.8.0-nightly.260113.cd34be5f1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/src/config/config.d.ts +4 -0
  2. package/dist/src/config/config.js +7 -0
  3. package/dist/src/config/config.js.map +1 -1
  4. package/dist/src/config/schedulerSingleton.d.ts +24 -0
  5. package/dist/src/config/schedulerSingleton.js +189 -0
  6. package/dist/src/config/schedulerSingleton.js.map +1 -0
  7. package/dist/src/core/client.js +2 -1
  8. package/dist/src/core/client.js.map +1 -1
  9. package/dist/src/core/coreToolScheduler.d.ts +3 -3
  10. package/dist/src/core/coreToolScheduler.js +36 -32
  11. package/dist/src/core/coreToolScheduler.js.map +1 -1
  12. package/dist/src/core/geminiChat.js +98 -42
  13. package/dist/src/core/geminiChat.js.map +1 -1
  14. package/dist/src/core/nonInteractiveToolExecutor.d.ts +18 -2
  15. package/dist/src/core/nonInteractiveToolExecutor.js +21 -190
  16. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  17. package/dist/src/core/subagent.js +37 -13
  18. package/dist/src/core/subagent.js.map +1 -1
  19. package/dist/src/core/subagentScheduler.d.ts +1 -0
  20. package/dist/src/debug/FileOutput.js +10 -2
  21. package/dist/src/debug/FileOutput.js.map +1 -1
  22. package/dist/src/index.d.ts +4 -3
  23. package/dist/src/index.js +4 -4
  24. package/dist/src/index.js.map +1 -1
  25. package/dist/src/mcp/token-storage/keychain-token-storage.js +23 -4
  26. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
  27. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +5 -9
  28. package/dist/src/providers/anthropic/AnthropicProvider.js +38 -30
  29. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  30. package/dist/src/providers/openai/OpenAIProvider.js +11 -26
  31. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  32. package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js +13 -21
  33. package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js.map +1 -1
  34. package/dist/src/providers/openai-vercel/toolIdUtils.d.ts +1 -4
  35. package/dist/src/providers/openai-vercel/toolIdUtils.js +27 -68
  36. package/dist/src/providers/openai-vercel/toolIdUtils.js.map +1 -1
  37. package/dist/src/providers/utils/toolIdNormalization.d.ts +0 -13
  38. package/dist/src/providers/utils/toolIdNormalization.js +9 -52
  39. package/dist/src/providers/utils/toolIdNormalization.js.map +1 -1
  40. package/dist/src/services/history/ContentConverters.d.ts +1 -2
  41. package/dist/src/services/history/ContentConverters.js +42 -61
  42. package/dist/src/services/history/ContentConverters.js.map +1 -1
  43. package/dist/src/services/history/HistoryService.d.ts +12 -5
  44. package/dist/src/services/history/HistoryService.js +43 -20
  45. package/dist/src/services/history/HistoryService.js.map +1 -1
  46. package/dist/src/services/history/IContent.d.ts +10 -32
  47. package/dist/src/services/history/IContent.js +47 -75
  48. package/dist/src/services/history/IContent.js.map +1 -1
  49. package/dist/src/services/history/canonicalToolIds.d.ts +24 -0
  50. package/dist/src/services/history/canonicalToolIds.js +76 -0
  51. package/dist/src/services/history/canonicalToolIds.js.map +1 -0
  52. package/dist/src/telemetry/loggers.js +10 -10
  53. package/dist/src/telemetry/loggers.js.map +1 -1
  54. package/dist/src/test-utils/mock-tool.js +1 -1
  55. package/dist/src/test-utils/mock-tool.js.map +1 -1
  56. package/dist/src/tools/ToolIdStrategy.js +38 -26
  57. package/dist/src/tools/ToolIdStrategy.js.map +1 -1
  58. package/dist/src/tools/read-many-files.js +8 -19
  59. package/dist/src/tools/read-many-files.js.map +1 -1
  60. package/package.json +3 -3
@@ -13,52 +13,14 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import { randomUUID } from 'crypto';
16
17
  import { DebugLogger } from '../../debug/index.js';
18
+ import { canonicalizeToolCallId, canonicalizeToolResponseId, } from './canonicalToolIds.js';
17
19
  /**
18
20
  * Converts between Gemini Content format and IContent format
19
21
  */
20
22
  export class ContentConverters {
21
23
  static logger = new DebugLogger('llxprt:content:converters');
22
- static normalizeToHistoryId(id) {
23
- if (!id)
24
- return undefined;
25
- if (id.startsWith('hist_tool_'))
26
- return id;
27
- let candidate = id;
28
- let didStrip = true;
29
- while (didStrip) {
30
- didStrip = false;
31
- if (candidate.startsWith('call_')) {
32
- candidate = candidate.substring('call_'.length);
33
- didStrip = true;
34
- continue;
35
- }
36
- if (candidate.startsWith('toolu_')) {
37
- candidate = candidate.substring('toolu_'.length);
38
- didStrip = true;
39
- continue;
40
- }
41
- // Some systems can produce malformed OpenAI-style call ids:
42
- // - missing underscore: "call3or3..."
43
- // - double-prefixed: "call_call3or3..." or "call_call_3or3..."
44
- //
45
- // When we see a "call" prefix without the underscore, strip it
46
- // if the suffix looks like a real OpenAI call id token.
47
- if (candidate.startsWith('call') && !candidate.startsWith('call_')) {
48
- const suffix = candidate.substring('call'.length);
49
- const looksLikeToken = suffix.length >= 8 && /^[a-zA-Z0-9]+$/.test(suffix);
50
- if (looksLikeToken) {
51
- candidate = suffix;
52
- didStrip = true;
53
- continue;
54
- }
55
- }
56
- }
57
- if (!candidate)
58
- return undefined;
59
- // Unknown provider format: preserve suffix, add history prefix
60
- return `hist_tool_${candidate}`;
61
- }
62
24
  /**
63
25
  * Convert IContent to Gemini Content format
64
26
  */
@@ -182,7 +144,7 @@ export class ContentConverters {
182
144
  /**
183
145
  * Convert Gemini Content to IContent format
184
146
  */
185
- static toIContent(content, generateIdCb, getNextUnmatchedToolCall) {
147
+ static toIContent(content, generateIdCb, getNextUnmatchedToolCall, turnKeyOverride) {
186
148
  this.logger.debug('Converting Gemini Content to IContent:', {
187
149
  role: content.role,
188
150
  partCount: content.parts?.length || 0,
@@ -207,6 +169,11 @@ export class ContentConverters {
207
169
  });
208
170
  const speaker = content.role === 'user' ? 'human' : 'ai';
209
171
  const blocks = [];
172
+ const metadata = {};
173
+ const turnKey = turnKeyOverride ?? generateTurnKey();
174
+ const providerName = 'gemini';
175
+ let callIndex = 0;
176
+ let responseIndex = 0;
210
177
  // Handle empty parts array explicitly
211
178
  if (!content.parts || content.parts.length === 0) {
212
179
  // Empty content - keep it empty
@@ -231,31 +198,47 @@ export class ContentConverters {
231
198
  }
232
199
  }
233
200
  else if ('functionCall' in part && part.functionCall) {
234
- // Preserve original ID by normalizing prefix; generate only if missing.
235
- const normalized = this.normalizeToHistoryId(part.functionCall.id);
236
- const finalId = normalized ?? (generateIdCb ? generateIdCb() : generateId());
201
+ const toolName = part.functionCall.name || '';
202
+ const rawId = part.functionCall.id;
203
+ const generatedId = !rawId && generateIdCb ? generateIdCb() : undefined;
204
+ const finalId = generatedId
205
+ ? generatedId
206
+ : canonicalizeToolCallId({
207
+ providerName,
208
+ rawId,
209
+ toolName,
210
+ turnKey,
211
+ callIndex,
212
+ });
237
213
  this.logger.debug('Converting functionCall to tool_call block:', {
238
214
  originalId: part.functionCall.id,
239
215
  finalId,
240
216
  name: part.functionCall.name,
241
- usedCallback: !!generateIdCb && !normalized,
217
+ usedCallback: !!generatedId,
242
218
  });
243
219
  blocks.push({
244
220
  type: 'tool_call',
245
221
  id: finalId,
246
- name: part.functionCall.name || '',
222
+ name: toolName,
247
223
  parameters: part.functionCall.args || {},
248
224
  });
225
+ callIndex += 1;
249
226
  }
250
227
  else if ('functionResponse' in part && part.functionResponse) {
251
- // Prefer provided ID (normalized). If absent, use positional matcher; else generate.
252
- const normalized = this.normalizeToHistoryId(part.functionResponse.id);
253
- const matched = !normalized
254
- ? getNextUnmatchedToolCall?.()
255
- : undefined;
256
- const callId = normalized ??
257
- matched?.historyId ??
258
- (generateIdCb ? generateIdCb() : generateId());
228
+ const toolName = part.functionResponse.name || '';
229
+ const rawId = part.functionResponse.id;
230
+ const matched = !rawId ? getNextUnmatchedToolCall?.() : undefined;
231
+ const generatedId = !rawId && !matched && generateIdCb ? generateIdCb() : undefined;
232
+ const callId = matched?.historyId
233
+ ? matched.historyId
234
+ : (generatedId ??
235
+ canonicalizeToolResponseId({
236
+ providerName,
237
+ rawId,
238
+ toolName,
239
+ turnKey,
240
+ callIndex: responseIndex,
241
+ }));
259
242
  this.logger.debug('Converting functionResponse to tool_response block:', {
260
243
  originalId: part.functionResponse.id,
261
244
  finalId: callId,
@@ -309,6 +292,7 @@ export class ContentConverters {
309
292
  ''),
310
293
  result,
311
294
  });
295
+ responseIndex += 1;
312
296
  }
313
297
  else if ('inlineData' in part && part.inlineData) {
314
298
  // Handle inline data (media)
@@ -326,10 +310,11 @@ export class ContentConverters {
326
310
  // Check if ANY block is a tool_response (not just if ALL are)
327
311
  const hasToolResponse = blocks.some((b) => b.type === 'tool_response');
328
312
  const finalSpeaker = content.role === 'user' && hasToolResponse ? 'tool' : speaker;
313
+ metadata.turnId = turnKey;
329
314
  const result = {
330
315
  speaker: finalSpeaker,
331
316
  blocks,
332
- metadata: {},
317
+ metadata,
333
318
  };
334
319
  this.logger.debug('Converted to IContent:', {
335
320
  originalRole: content.role,
@@ -380,11 +365,7 @@ export class ContentConverters {
380
365
  return results;
381
366
  }
382
367
  }
383
- /**
384
- * Generate a unique ID for tool calls
385
- */
386
- function generateId() {
387
- // Use normalized history ID prefix; providers convert prefixes as needed.
388
- return `hist_tool_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
368
+ function generateTurnKey() {
369
+ return `turn_${randomUUID()}`;
389
370
  }
390
371
  //# sourceMappingURL=ContentConverters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentConverters.js","sourceRoot":"","sources":["../../../../src/services/history/ContentConverters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContentConverters.js","sourceRoot":"","sources":["../../../../src/services/history/ContentConverters.ts"],"names":[],"mappings":"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"}
@@ -52,15 +52,16 @@ export declare class HistoryService extends EventEmitter implements HistoryServi
52
52
  */
53
53
  private getTokenizerForModel;
54
54
  /**
55
- * Generate a new normalized history tool ID.
56
- * Format: hist_tool_<uuid-v4>
55
+ * Generate a new canonical history tool ID.
56
+ * Format: hist_tool_<hash>
57
57
  */
58
- generateHistoryId(): string;
58
+ generateHistoryId(turnKey: string, callIndex: number, providerName?: string, rawId?: string, toolName?: string): string;
59
59
  /**
60
60
  * Get a callback suitable for passing into converters
61
61
  * which will generate normalized history IDs on demand.
62
62
  */
63
- getIdGeneratorCallback(): () => string;
63
+ getIdGeneratorCallback(turnKey?: string): () => string;
64
+ generateTurnKey(): string;
64
65
  /**
65
66
  * Get the current total token count
66
67
  */
@@ -181,7 +182,9 @@ export declare class HistoryService extends EventEmitter implements HistoryServi
181
182
  * Get curated history with circular references removed for providers.
182
183
  * This ensures the history can be safely serialized and sent to providers.
183
184
  */
184
- getCuratedForProvider(tailContents?: IContent[]): IContent[];
185
+ getCuratedForProvider(tailContents?: IContent[], options?: {
186
+ strictToolAdjacency?: boolean;
187
+ }): IContent[];
185
188
  /**
186
189
  * Providers expect tool calls to come from the assistant and tool results to
187
190
  * come from the tool role. If history corruption produces a single "tool"
@@ -204,6 +207,10 @@ export declare class HistoryService extends EventEmitter implements HistoryServi
204
207
  * For provider-visible payloads, synthesize a minimal "cancelled" tool result
205
208
  * so the transcript remains structurally valid.
206
209
  *
210
+ * When strictToolAdjacency is true, synthesize tool responses for all orphaned
211
+ * tool calls regardless of whether a later non-tool message exists. This is
212
+ * required for providers like Anthropic that enforce strict tool-use/tool-result pairing.
213
+ *
207
214
  * This is intentionally non-mutating: it does not modify the stored history,
208
215
  * only the provider-facing view.
209
216
  */
@@ -19,6 +19,7 @@ import { OpenAITokenizer } from '../../providers/tokenizers/OpenAITokenizer.js';
19
19
  import { AnthropicTokenizer } from '../../providers/tokenizers/AnthropicTokenizer.js';
20
20
  import { DebugLogger } from '../../debug/index.js';
21
21
  import { randomUUID } from 'crypto';
22
+ import { canonicalizeToolCallId } from './canonicalToolIds.js';
22
23
  import { estimateTokens as estimateTextTokens } from '../../utils/toolOutputLimiter.js';
23
24
  /**
24
25
  * Service for managing conversation history in a provider-agnostic way.
@@ -60,18 +61,29 @@ export class HistoryService extends EventEmitter {
60
61
  return tokenizer;
61
62
  }
62
63
  /**
63
- * Generate a new normalized history tool ID.
64
- * Format: hist_tool_<uuid-v4>
64
+ * Generate a new canonical history tool ID.
65
+ * Format: hist_tool_<hash>
65
66
  */
66
- generateHistoryId() {
67
- return `hist_tool_${randomUUID()}`;
67
+ generateHistoryId(turnKey, callIndex, providerName, rawId, toolName) {
68
+ return canonicalizeToolCallId({
69
+ providerName,
70
+ rawId,
71
+ toolName,
72
+ turnKey,
73
+ callIndex,
74
+ });
68
75
  }
69
76
  /**
70
77
  * Get a callback suitable for passing into converters
71
78
  * which will generate normalized history IDs on demand.
72
79
  */
73
- getIdGeneratorCallback() {
74
- return () => this.generateHistoryId();
80
+ getIdGeneratorCallback(turnKey) {
81
+ let callIndex = 0;
82
+ const stableTurnKey = turnKey ?? this.generateTurnKey();
83
+ return () => this.generateHistoryId(stableTurnKey, callIndex++);
84
+ }
85
+ generateTurnKey() {
86
+ return `turn_${randomUUID()}`;
75
87
  }
76
88
  /**
77
89
  * Get the current total token count
@@ -702,7 +714,8 @@ export class HistoryService extends EventEmitter {
702
714
  * Get curated history with circular references removed for providers.
703
715
  * This ensures the history can be safely serialized and sent to providers.
704
716
  */
705
- getCuratedForProvider(tailContents = []) {
717
+ getCuratedForProvider(tailContents = [], options) {
718
+ const strictToolAdjacency = options?.strictToolAdjacency ?? false;
706
719
  // Get the curated history
707
720
  const curated = this.getCurated();
708
721
  const combined = tailContents.length > 0 ? [...curated, ...tailContents] : curated;
@@ -715,7 +728,7 @@ export class HistoryService extends EventEmitter {
715
728
  const normalized = this.ensureToolCallContinuity(split);
716
729
  // Ensure every tool call has some corresponding tool response in provider
717
730
  // payloads, even if the tool execution was interrupted or cancelled.
718
- const completed = this.ensureToolResponseCompleteness(normalized);
731
+ const completed = this.ensureToolResponseCompleteness(normalized, strictToolAdjacency);
719
732
  // Providers like OpenAI Chat and Anthropic require strict tool adjacency:
720
733
  // tool results must appear directly after the assistant tool call message.
721
734
  // Corrupted histories can contain duplicate or out-of-order tool results,
@@ -821,10 +834,14 @@ export class HistoryService extends EventEmitter {
821
834
  * For provider-visible payloads, synthesize a minimal "cancelled" tool result
822
835
  * so the transcript remains structurally valid.
823
836
  *
837
+ * When strictToolAdjacency is true, synthesize tool responses for all orphaned
838
+ * tool calls regardless of whether a later non-tool message exists. This is
839
+ * required for providers like Anthropic that enforce strict tool-use/tool-result pairing.
840
+ *
824
841
  * This is intentionally non-mutating: it does not modify the stored history,
825
842
  * only the provider-facing view.
826
843
  */
827
- ensureToolResponseCompleteness(contents) {
844
+ ensureToolResponseCompleteness(contents, strictToolAdjacency = false) {
828
845
  const respondedCallIds = new Set();
829
846
  for (const content of contents) {
830
847
  if (!content.blocks?.length)
@@ -838,12 +855,16 @@ export class HistoryService extends EventEmitter {
838
855
  }
839
856
  }
840
857
  }
841
- const hasLaterNonToolMessageByIndex = new Array(contents.length).fill(false);
842
- let seenNonToolAfter = false;
843
- for (let i = contents.length - 1; i >= 0; i--) {
844
- hasLaterNonToolMessageByIndex[i] = seenNonToolAfter;
845
- if (contents[i]?.speaker !== 'tool') {
846
- seenNonToolAfter = true;
858
+ const hasLaterNonToolMessageByIndex = strictToolAdjacency
859
+ ? []
860
+ : new Array(contents.length).fill(false);
861
+ if (!strictToolAdjacency) {
862
+ let seenNonToolAfter = false;
863
+ for (let i = contents.length - 1; i >= 0; i--) {
864
+ hasLaterNonToolMessageByIndex[i] = seenNonToolAfter;
865
+ if (contents[i]?.speaker !== 'tool') {
866
+ seenNonToolAfter = true;
867
+ }
847
868
  }
848
869
  }
849
870
  const result = [];
@@ -858,12 +879,14 @@ export class HistoryService extends EventEmitter {
858
879
  const missing = toolCalls.filter((tc) => tc.id && !respondedCallIds.has(tc.id));
859
880
  if (missing.length === 0)
860
881
  continue;
861
- // If the conversation hasn't advanced past this tool call yet (e.g., tool
862
- // execution is still in-flight), do not synthesize tool responses. This
863
- // preserves the "pending tool call" state for callers like the UI while
864
- // still allowing us to fix truly orphaned tool calls for provider payloads.
865
- if (!hasLaterNonToolMessageByIndex[i])
882
+ // In strict mode or when the conversation has advanced past this tool call,
883
+ // synthesize tool responses for orphaned tool calls.
884
+ // Strict mode (e.g., for Anthropic): always synthesize tool responses.
885
+ // Non-strict mode: only synthesize if there's a later non-tool message.
886
+ // This preserves "pending tool call" state for UI while fixing orphaned calls.
887
+ if (!strictToolAdjacency && !hasLaterNonToolMessageByIndex[i]) {
866
888
  continue;
889
+ }
867
890
  result.push({
868
891
  speaker: 'tool',
869
892
  blocks: missing.map((tc) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"HistoryService.js","sourceRoot":"","sources":["../../../../src/services/history/HistoryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HistoryService.js","sourceRoot":"","sources":["../../../../src/services/history/HistoryService.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,8 @@ export interface ContentMetadata {
57
57
  synthetic?: boolean;
58
58
  /** Reason for synthetic content generation */
59
59
  reason?: string;
60
+ /** Stable identifier for a conversation turn */
61
+ turnId?: string;
60
62
  }
61
63
  export interface UsageStats {
62
64
  promptTokens: number;
@@ -150,42 +152,18 @@ export interface CodeBlock {
150
152
  code: string;
151
153
  /** Programming language for syntax highlighting */
152
154
  language?: string;
153
- /** Optional filename this code is from/for */
154
- filename?: string;
155
- /** Whether this code was executed */
156
- executed?: boolean;
157
- /** Execution result if executed */
158
- executionResult?: unknown;
159
155
  }
160
156
  /**
161
- * Helper type guards for content blocks
162
- */
163
- export declare const ContentBlockGuards: {
164
- isTextBlock: (block: ContentBlock) => block is TextBlock;
165
- isToolCallBlock: (block: ContentBlock) => block is ToolCallBlock;
166
- isToolResponseBlock: (block: ContentBlock) => block is ToolResponseBlock;
167
- isMediaBlock: (block: ContentBlock) => block is MediaBlock;
168
- isThinkingBlock: (block: ContentBlock) => block is ThinkingBlock;
169
- isCodeBlock: (block: ContentBlock) => block is CodeBlock;
170
- };
171
- /**
172
- * Helper to create IContent instances
173
- */
174
- export declare const ContentFactory: {
175
- createUserMessage: (text: string, metadata?: ContentMetadata) => IContent;
176
- createAIMessage: (blocks: ContentBlock[], metadata?: ContentMetadata) => IContent;
177
- createToolResponse: (callId: string, toolName: string, result: unknown, error?: string, metadata?: ContentMetadata) => IContent;
178
- };
179
- /**
180
- * Validation helpers
157
+ * Utility class for content validation operations
181
158
  */
182
159
  export declare const ContentValidation: {
183
160
  /**
184
- * Check if content has meaningful content (not empty)
185
- */
186
- hasContent: (content: IContent) => boolean;
187
- /**
188
- * Check if content is valid for inclusion in history
161
+ * Check if IContent has valid content (non-empty blocks, at least one block with actual content)
189
162
  */
190
- isValid: (content: IContent) => boolean;
163
+ hasContent(content: IContent): boolean;
191
164
  };
165
+ export declare function createUserMessage(text: string, metadata?: {
166
+ timestamp?: number;
167
+ provider?: string;
168
+ }): IContent;
169
+ export declare function createToolResponse(callId: string, toolName: string, result: unknown, error?: string): IContent;