@vybestack/llxprt-code 0.1.16 → 0.1.17-nightly.250806.56cf0612

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 (64) hide show
  1. package/dist/package.json +3 -3
  2. package/dist/src/config/config.d.ts +2 -2
  3. package/dist/src/config/config.js +20 -7
  4. package/dist/src/config/config.js.map +1 -1
  5. package/dist/src/config/settings.d.ts +2 -0
  6. package/dist/src/config/settings.js +6 -2
  7. package/dist/src/config/settings.js.map +1 -1
  8. package/dist/src/generated/git-commit.d.ts +1 -1
  9. package/dist/src/generated/git-commit.js +2 -2
  10. package/dist/src/generated/git-commit.js.map +1 -1
  11. package/dist/src/ui/App.js +18 -4
  12. package/dist/src/ui/App.js.map +1 -1
  13. package/dist/src/ui/commands/chatCommand.js +5 -3
  14. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  15. package/dist/src/ui/commands/copyCommand.js +10 -1
  16. package/dist/src/ui/commands/copyCommand.js.map +1 -1
  17. package/dist/src/ui/commands/diagnosticsCommand.js +118 -4
  18. package/dist/src/ui/commands/diagnosticsCommand.js.map +1 -1
  19. package/dist/src/ui/commands/directoryCommand.js +21 -1
  20. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  21. package/dist/src/ui/commands/ideCommand.js +26 -11
  22. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  23. package/dist/src/ui/commands/mcpCommand.js +15 -20
  24. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  25. package/dist/src/ui/commands/memoryCommand.js +3 -1
  26. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  27. package/dist/src/ui/commands/modelCommand.js +0 -2
  28. package/dist/src/ui/commands/modelCommand.js.map +1 -1
  29. package/dist/src/ui/commands/profileCommand.js +11 -5
  30. package/dist/src/ui/commands/profileCommand.js.map +1 -1
  31. package/dist/src/ui/commands/setCommand.js +45 -0
  32. package/dist/src/ui/commands/setCommand.js.map +1 -1
  33. package/dist/src/ui/commands/toolsCommand.js +41 -11
  34. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  35. package/dist/src/ui/commands/types.d.ts +2 -1
  36. package/dist/src/ui/commands/types.js.map +1 -1
  37. package/dist/src/ui/components/ToolsDialog.d.ts +16 -0
  38. package/dist/src/ui/components/ToolsDialog.js +48 -0
  39. package/dist/src/ui/components/ToolsDialog.js.map +1 -0
  40. package/dist/src/ui/containers/SessionController.js +3 -1
  41. package/dist/src/ui/containers/SessionController.js.map +1 -1
  42. package/dist/src/ui/hooks/atCommandProcessor.js +11 -4
  43. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  44. package/dist/src/ui/hooks/index.d.ts +1 -0
  45. package/dist/src/ui/hooks/index.js +1 -0
  46. package/dist/src/ui/hooks/index.js.map +1 -1
  47. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +1 -1
  48. package/dist/src/ui/hooks/slashCommandProcessor.js +18 -4
  49. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  50. package/dist/src/ui/hooks/useGeminiStream.js +169 -69
  51. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  52. package/dist/src/ui/hooks/useSlashCompletion.js +10 -8
  53. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  54. package/dist/src/ui/hooks/useToolsDialog.d.ts +27 -0
  55. package/dist/src/ui/hooks/useToolsDialog.js +97 -0
  56. package/dist/src/ui/hooks/useToolsDialog.js.map +1 -0
  57. package/dist/src/ui/reducers/appReducer.d.ts +3 -2
  58. package/dist/src/ui/reducers/appReducer.js +1 -0
  59. package/dist/src/ui/reducers/appReducer.js.map +1 -1
  60. package/dist/src/utils/resolvePath.d.ts +6 -0
  61. package/dist/src/utils/resolvePath.js +21 -0
  62. package/dist/src/utils/resolvePath.js.map +1 -0
  63. package/dist/tsconfig.tsbuildinfo +1 -1
  64. package/package.json +3 -3
@@ -1,3 +1,4 @@
1
1
  export * from './useProviderModelDialog.js';
2
2
  export * from './useProviderDialog.js';
3
+ export * from './useToolsDialog.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
@@ -12,7 +12,7 @@ import { type CommandContext, type SlashCommand } from '../commands/types.js';
12
12
  /**
13
13
  * Hook to define and process slash commands (e.g., /help, /clear).
14
14
  */
15
- export declare const useSlashCommandProcessor: (config: Config | null, settings: LoadedSettings, addItem: UseHistoryManagerReturn["addItem"], clearItems: UseHistoryManagerReturn["clearItems"], loadHistory: UseHistoryManagerReturn["loadHistory"], refreshStatic: () => void, setShowHelp: React.Dispatch<React.SetStateAction<boolean>>, onDebugMessage: (message: string) => void, openThemeDialog: () => void, openAuthDialog: () => void, openEditorDialog: () => void, openProviderDialog: () => void, openProviderModelDialog: () => void, openLoadProfileDialog: () => void, toggleCorgiMode: () => void, setQuittingMessages: (message: HistoryItem[]) => void, openPrivacyNotice: () => void, toggleVimEnabled: () => Promise<boolean>, setIsProcessing: (isProcessing: boolean) => void) => {
15
+ export declare const useSlashCommandProcessor: (config: Config | null, settings: LoadedSettings, addItem: UseHistoryManagerReturn["addItem"], clearItems: UseHistoryManagerReturn["clearItems"], loadHistory: UseHistoryManagerReturn["loadHistory"], refreshStatic: () => void, setShowHelp: React.Dispatch<React.SetStateAction<boolean>>, onDebugMessage: (message: string) => void, openThemeDialog: () => void, openAuthDialog: () => void, openEditorDialog: () => void, openProviderDialog: () => void, openProviderModelDialog: () => void, openLoadProfileDialog: () => void, openToolsDialog: (action: "enable" | "disable") => void, toggleCorgiMode: () => void, setQuittingMessages: (message: HistoryItem[]) => void, openPrivacyNotice: () => void, toggleVimEnabled: () => Promise<boolean>, setIsProcessing: (isProcessing: boolean) => void, setLlxprtMdFileCount: (count: number) => void) => {
16
16
  handleSlashCommand: (rawQuery: PartListUnion, oneTimeShellAllowlist?: Set<string>) => Promise<SlashCommandProcessorResult | false>;
17
17
  slashCommands: readonly SlashCommand[];
18
18
  pendingHistoryItems: HistoryItemWithoutId[];
@@ -17,7 +17,7 @@ import { secureInputHandler } from '../utils/secureInputHandler.js';
17
17
  /**
18
18
  * Hook to define and process slash commands (e.g., /help, /clear).
19
19
  */
20
- export const useSlashCommandProcessor = (config, settings, addItem, clearItems, loadHistory, refreshStatic, setShowHelp, onDebugMessage, openThemeDialog, openAuthDialog, openEditorDialog, openProviderDialog, openProviderModelDialog, openLoadProfileDialog, toggleCorgiMode, setQuittingMessages, openPrivacyNotice, toggleVimEnabled, setIsProcessing) => {
20
+ export const useSlashCommandProcessor = (config, settings, addItem, clearItems, loadHistory, refreshStatic, setShowHelp, onDebugMessage, openThemeDialog, openAuthDialog, openEditorDialog, openProviderDialog, openProviderModelDialog, openLoadProfileDialog, openToolsDialog, toggleCorgiMode, setQuittingMessages, openPrivacyNotice, toggleVimEnabled, setIsProcessing, setLlxprtMdFileCount) => {
21
21
  const session = useSessionStats();
22
22
  const [commands, setCommands] = useState([]);
23
23
  const [shellConfirmationRequest, setShellConfirmationRequest] = useState(null);
@@ -114,6 +114,7 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
114
114
  setPendingItem: setPendingCompressionItem,
115
115
  toggleCorgiMode,
116
116
  toggleVimEnabled,
117
+ setLlxprtMdFileCount,
117
118
  },
118
119
  session: {
119
120
  stats: session.stats,
@@ -135,6 +136,7 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
135
136
  toggleCorgiMode,
136
137
  toggleVimEnabled,
137
138
  sessionShellAllowlist,
139
+ setLlxprtMdFileCount,
138
140
  ]);
139
141
  const ideMode = config?.getIdeMode();
140
142
  useEffect(() => {
@@ -275,19 +277,30 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
275
277
  case 'loadProfile':
276
278
  openLoadProfileDialog();
277
279
  return { type: 'handled' };
280
+ case 'tools': {
281
+ // Extract the subcommand from the original command
282
+ const originalCommand = rawQuery.trim();
283
+ const commandParts = originalCommand.split(/\s+/);
284
+ const subCommand = commandParts[1];
285
+ openToolsDialog(subCommand);
286
+ return { type: 'handled' };
287
+ }
278
288
  default: {
279
289
  const unhandled = result.dialog;
280
290
  throw new Error(`Unhandled slash command result: ${unhandled}`);
281
291
  }
282
292
  }
283
293
  case 'load_history': {
284
- await config
285
- ?.getGeminiClient()
286
- ?.setHistory(result.clientHistory);
294
+ // Always load the UI history first
287
295
  fullCommandContext.ui.clear();
288
296
  result.history.forEach((item, index) => {
289
297
  fullCommandContext.ui.addItem(item, index);
290
298
  });
299
+ // Set the client history - it will be stored for later use if not initialized
300
+ const client = config?.getGeminiClient();
301
+ if (client) {
302
+ await client.setHistory(result.clientHistory);
303
+ }
291
304
  return { type: 'handled' };
292
305
  }
293
306
  case 'quit':
@@ -385,6 +398,7 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
385
398
  openProviderDialog,
386
399
  openProviderModelDialog,
387
400
  openLoadProfileDialog,
401
+ openToolsDialog,
388
402
  setQuittingMessages,
389
403
  setShellConfirmationRequest,
390
404
  setSessionShellAllowlist,
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/slashCommandProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slashCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/slashCommandProcessor.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,8 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
60
60
  const turnCancelledRef = useRef(false);
61
61
  const [isResponding, setIsResponding] = useState(false);
62
62
  const [thought, setThought] = useState(null);
63
+ const queuedToolResponsesRef = useRef([]);
64
+ const handleCompletedToolsRef = useRef(null);
63
65
  const [pendingHistoryItemRef, setPendingHistoryItem] = useStateAndRef(null);
64
66
  const processedMemoryToolsRef = useRef(new Set());
65
67
  // FIX: Use ref to access latest history without causing re-renders
@@ -127,6 +129,8 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
127
129
  }, Date.now());
128
130
  setPendingHistoryItem(null);
129
131
  setIsResponding(false);
132
+ // Clear the queue on cancel - we don't want to process tools after user cancellation
133
+ queuedToolResponsesRef.current = [];
130
134
  }
131
135
  });
132
136
  const prepareQueryForGemini = useCallback(async (query, userMessageTimestamp, abortSignal, prompt_id) => {
@@ -404,7 +408,9 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
404
408
  geminiMessageBuffer = handleContentEvent(event.value, geminiMessageBuffer, userMessageTimestamp);
405
409
  break;
406
410
  case ServerGeminiEventType.ToolCallRequest:
407
- console.log('[DEBUG] ToolCallRequest event:', JSON.stringify(event.value, null, 2));
411
+ if (process.env.DEBUG) {
412
+ console.log('[DEBUG] ToolCallRequest event:', JSON.stringify(event.value, null, 2));
413
+ }
408
414
  toolCallRequests.push(event.value);
409
415
  break;
410
416
  case ServerGeminiEventType.UserCancelled:
@@ -440,7 +446,12 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
440
446
  }
441
447
  }
442
448
  if (toolCallRequests.length > 0) {
443
- console.log('[DEBUG] Scheduling tool calls:', toolCallRequests.map((tc) => ({ name: tc.name, callId: tc.callId })));
449
+ if (process.env.DEBUG) {
450
+ console.log('[DEBUG] Scheduling tool calls:', toolCallRequests.map((tc) => ({
451
+ name: tc.name,
452
+ callId: tc.callId,
453
+ })));
454
+ }
444
455
  scheduleToolCalls(toolCallRequests, signal);
445
456
  }
446
457
  return StreamProcessingStatus.Completed;
@@ -510,6 +521,18 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
510
521
  }
511
522
  finally {
512
523
  setIsResponding(false);
524
+ // Process any queued tool responses after the response completes
525
+ if (queuedToolResponsesRef.current.length > 0) {
526
+ const queuedTools = [...queuedToolResponsesRef.current];
527
+ queuedToolResponsesRef.current = [];
528
+ if (process.env.DEBUG) {
529
+ console.log('[DEBUG] Processing queued tool responses:', queuedTools.map((tc) => tc.request.name));
530
+ }
531
+ // Process the queued tools now that we're not responding
532
+ if (handleCompletedToolsRef.current) {
533
+ await handleCompletedToolsRef.current(queuedTools);
534
+ }
535
+ }
513
536
  }
514
537
  }, [
515
538
  streamingState,
@@ -531,6 +554,14 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
531
554
  ]);
532
555
  const handleCompletedTools = useCallback(async (completedToolCallsFromScheduler) => {
533
556
  if (isResponding) {
557
+ // Queue the tools to be processed after the current response completes
558
+ queuedToolResponsesRef.current = [
559
+ ...queuedToolResponsesRef.current,
560
+ ...completedToolCallsFromScheduler,
561
+ ];
562
+ if (process.env.DEBUG) {
563
+ console.log('[DEBUG] Queuing tool responses while model is responding:', completedToolCallsFromScheduler.map((tc) => tc.request.name));
564
+ }
534
565
  return;
535
566
  }
536
567
  const completedAndReadyToSubmitTools = completedToolCallsFromScheduler.filter((tc) => {
@@ -562,83 +593,149 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
562
593
  if (geminiTools.length === 0) {
563
594
  return;
564
595
  }
565
- // If all the tools were cancelled, don't submit a response to Gemini.
566
- const allToolsCancelled = geminiTools.every((tc) => tc.status === 'cancelled');
567
- if (allToolsCancelled) {
568
- if (geminiClient) {
569
- // We need to manually add the function responses to the history
570
- // so the model knows the tools were cancelled.
571
- const responsesToAdd = geminiTools.flatMap((toolCall) => toolCall.response.responseParts);
596
+ // Group tools by prompt_id to ensure we send all tools from the same turn together
597
+ const toolsByPromptId = new Map();
598
+ geminiTools.forEach((tool) => {
599
+ const promptId = tool.request.prompt_id;
600
+ if (!toolsByPromptId.has(promptId)) {
601
+ toolsByPromptId.set(promptId, []);
602
+ }
603
+ toolsByPromptId.get(promptId).push(tool);
604
+ });
605
+ // Process each prompt_id group
606
+ for (const [promptId, toolsInPrompt] of toolsByPromptId) {
607
+ // Check if we're still waiting for other tools with the same prompt_id
608
+ // Include both global toolCalls and the current batch to ensure we have all tools
609
+ const allToolCallsGlobal = toolCalls.filter((tc) => !tc.request.isClientInitiated && tc.request.prompt_id === promptId);
610
+ // Also check if there are other tools in the current batch that we haven't processed yet
611
+ const allToolsInBatch = geminiTools.filter((tc) => tc.request.prompt_id === promptId);
612
+ const pendingTools = allToolCallsGlobal.filter((tc) => tc.status !== 'success' &&
613
+ tc.status !== 'error' &&
614
+ tc.status !== 'cancelled');
615
+ if (pendingTools.length > 0) {
616
+ // Still waiting for other tools in this turn, skip for now
617
+ if (process.env.DEBUG) {
618
+ console.log(`[DEBUG] Waiting for ${pendingTools.length} more tools to complete for prompt ${promptId}`, pendingTools.map((t) => t.request.name));
619
+ }
620
+ continue;
621
+ }
622
+ // If all tools for this prompt_id in the current batch are complete, use them all
623
+ // This ensures that if multiple tools complete together, they're processed together
624
+ const toolsToProcess = allToolsInBatch.length > 0 ? allToolsInBatch : toolsInPrompt;
625
+ // All tools for this prompt_id are complete, process them
626
+ if (process.env.DEBUG) {
627
+ console.log(`[DEBUG] All tools complete for prompt ${promptId}, sending ${toolsToProcess.length} responses`);
628
+ }
629
+ // If all the tools were cancelled, don't submit a response to Gemini.
630
+ const allToolsCancelled = toolsToProcess.every((tc) => tc.status === 'cancelled');
631
+ if (allToolsCancelled) {
632
+ if (geminiClient) {
633
+ // We need to manually add the function responses to the history
634
+ // so the model knows the tools were cancelled.
635
+ const responsesToAdd = toolsToProcess.flatMap((toolCall) => toolCall.response.responseParts);
636
+ const combinedParts = [];
637
+ for (const response of responsesToAdd) {
638
+ if (Array.isArray(response)) {
639
+ combinedParts.push(...response);
640
+ }
641
+ else if (typeof response === 'string') {
642
+ combinedParts.push({ text: response });
643
+ }
644
+ else {
645
+ combinedParts.push(response);
646
+ }
647
+ }
648
+ geminiClient.addHistory({
649
+ role: 'user',
650
+ parts: combinedParts,
651
+ });
652
+ }
653
+ const callIdsToMarkAsSubmitted = toolsToProcess.map((toolCall) => toolCall.request.callId);
654
+ markToolsAsSubmitted(callIdsToMarkAsSubmitted);
655
+ continue;
656
+ }
657
+ const responsesToSend = toolsToProcess.map((toolCall) => {
658
+ if (process.env.DEBUG) {
659
+ console.log(`[DEBUG] Tool response for ${toolCall.request.name} (${toolCall.request.callId}):`, JSON.stringify(toolCall.response.responseParts, null, 2));
660
+ }
661
+ return toolCall.response.responseParts;
662
+ });
663
+ const callIdsToMarkAsSubmitted = toolsToProcess.map((toolCall) => toolCall.request.callId);
664
+ // Don't mark as submitted yet - wait until after responses are actually sent
665
+ // Don't continue if model was switched due to quota error
666
+ if (modelSwitchedFromQuotaError) {
667
+ return;
668
+ }
669
+ // Debug logging BEFORE merging
670
+ if (process.env.DEBUG) {
671
+ console.log('[DEBUG] responsesToSend before merge:', JSON.stringify(responsesToSend, null, 2));
672
+ console.log('[DEBUG] responsesToSend length:', responsesToSend.length);
673
+ responsesToSend.forEach((resp, idx) => {
674
+ console.log(`[DEBUG] responsesToSend[${idx}] type:`, typeof resp);
675
+ console.log(`[DEBUG] responsesToSend[${idx}] isArray:`, Array.isArray(resp));
676
+ });
677
+ }
678
+ // For Gemini, when there are multiple function responses, each must be sent
679
+ // as a separate user message turn, not as an array in a single turn
680
+ if (responsesToSend.length === 1) {
681
+ // Single response - send as-is
682
+ if (process.env.DEBUG) {
683
+ console.log('[DEBUG] Single function response, sending directly');
684
+ }
685
+ submitQuery(responsesToSend[0], {
686
+ isContinuation: true,
687
+ }, promptId);
688
+ // Mark as submitted after sending
689
+ markToolsAsSubmitted(callIdsToMarkAsSubmitted);
690
+ }
691
+ else {
692
+ // Multiple responses - combine them into a single message with multiple parts
693
+ if (process.env.DEBUG) {
694
+ console.log(`[DEBUG] Multiple function responses (${responsesToSend.length}), combining into single message`);
695
+ }
696
+ // Combine all function responses into a single array of parts
572
697
  const combinedParts = [];
573
- for (const response of responsesToAdd) {
698
+ responsesToSend.forEach((response, index) => {
699
+ if (process.env.DEBUG) {
700
+ console.log(`[DEBUG] Processing function response ${index + 1}/${responsesToSend.length}:`, JSON.stringify(response, null, 2));
701
+ }
702
+ // Each response can be a Part, Part[], or string
574
703
  if (Array.isArray(response)) {
575
- combinedParts.push(...response);
704
+ // Spread array of Parts
705
+ for (const part of response) {
706
+ if (typeof part === 'string') {
707
+ combinedParts.push({ text: part });
708
+ }
709
+ else {
710
+ combinedParts.push(part);
711
+ }
712
+ }
576
713
  }
577
714
  else if (typeof response === 'string') {
715
+ // This shouldn't happen with function responses, but handle it just in case
578
716
  combinedParts.push({ text: response });
579
717
  }
580
- else {
718
+ else if (response && typeof response === 'object') {
719
+ // Single Part object (likely a functionResponse)
581
720
  combinedParts.push(response);
582
721
  }
583
- }
584
- geminiClient.addHistory({
585
- role: 'user',
586
- parts: combinedParts,
587
722
  });
723
+ if (process.env.DEBUG) {
724
+ console.log('[DEBUG] Combined function responses:', JSON.stringify(combinedParts, null, 2));
725
+ }
726
+ // Send all function responses together in a single message
727
+ // For Gemini 2.5 Pro, we need to ensure the parts are sent as individual elements
728
+ // not as a nested array
729
+ if (process.env.DEBUG) {
730
+ console.log('[DEBUG] Submitting combined parts as array of', combinedParts.length, 'parts');
731
+ }
732
+ submitQuery(combinedParts, {
733
+ isContinuation: true,
734
+ }, promptId);
735
+ // Mark all as submitted after sending
736
+ markToolsAsSubmitted(callIdsToMarkAsSubmitted);
588
737
  }
589
- const callIdsToMarkAsSubmitted = geminiTools.map((toolCall) => toolCall.request.callId);
590
- markToolsAsSubmitted(callIdsToMarkAsSubmitted);
591
- return;
592
- }
593
- const responsesToSend = geminiTools.map((toolCall) => {
594
- console.log(`[DEBUG] Tool response for ${toolCall.request.name} (${toolCall.request.callId}):`, JSON.stringify(toolCall.response.responseParts, null, 2));
595
- return toolCall.response.responseParts;
596
- });
597
- const callIdsToMarkAsSubmitted = geminiTools.map((toolCall) => toolCall.request.callId);
598
- const prompt_ids = geminiTools.map((toolCall) => toolCall.request.prompt_id);
599
- // Don't mark as submitted yet - wait until after responses are actually sent
600
- // Don't continue if model was switched due to quota error
601
- if (modelSwitchedFromQuotaError) {
602
- return;
603
- }
604
- // Debug logging BEFORE merging
605
- console.log('[DEBUG] responsesToSend before merge:', JSON.stringify(responsesToSend, null, 2));
606
- console.log('[DEBUG] responsesToSend length:', responsesToSend.length);
607
- responsesToSend.forEach((resp, idx) => {
608
- console.log(`[DEBUG] responsesToSend[${idx}] type:`, typeof resp);
609
- console.log(`[DEBUG] responsesToSend[${idx}] isArray:`, Array.isArray(resp));
610
- });
611
- // For Gemini, when there are multiple function responses, each must be sent
612
- // as a separate user message turn, not as an array in a single turn
613
- if (responsesToSend.length === 1) {
614
- // Single response - send as-is
615
- console.log('[DEBUG] Single function response, sending directly');
616
- submitQuery(responsesToSend[0], {
617
- isContinuation: true,
618
- }, prompt_ids[0]);
619
- // Mark as submitted after sending
620
- markToolsAsSubmitted(callIdsToMarkAsSubmitted);
621
- }
622
- else {
623
- // Multiple responses - send each one individually as separate turns
624
- console.log(`[DEBUG] Multiple function responses (${responsesToSend.length}), sending individually`);
625
- // Send each response as a separate message turn
626
- let submittedCount = 0;
627
- responsesToSend.forEach((response, index) => {
628
- console.log(`[DEBUG] Sending function response ${index + 1}/${responsesToSend.length}:`, JSON.stringify(response, null, 2));
629
- // Use setTimeout to ensure proper ordering and avoid race conditions
630
- setTimeout(() => {
631
- submitQuery(response, {
632
- isContinuation: true,
633
- }, prompt_ids[0]);
634
- // Track submissions and mark all as submitted after the last one
635
- submittedCount++;
636
- if (submittedCount === responsesToSend.length) {
637
- markToolsAsSubmitted(callIdsToMarkAsSubmitted);
638
- }
639
- }, index * 100); // 100ms delay between each message
640
- });
641
- }
738
+ } // End of prompt_id loop
642
739
  }, [
643
740
  isResponding,
644
741
  submitQuery,
@@ -646,7 +743,10 @@ export const useGeminiStream = (geminiClient, history, addItem, setShowHelp, con
646
743
  geminiClient,
647
744
  performMemoryRefresh,
648
745
  modelSwitchedFromQuotaError,
746
+ toolCalls,
649
747
  ]);
748
+ // Assign the function to the ref so submitQuery can access it
749
+ handleCompletedToolsRef.current = handleCompletedTools;
650
750
  const pendingHistoryItems = [
651
751
  pendingHistoryItemRef.current,
652
752
  pendingToolCallGroupDisplay,
@@ -1 +1 @@
1
- {"version":3,"file":"useGeminiStream.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useGeminiStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useGeminiStream.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useGeminiStream.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { useEffect, useCallback, useMemo, useRef } from 'react';
7
7
  import * as fs from 'fs/promises';
8
8
  import * as path from 'path';
9
9
  import { glob } from 'glob';
10
- import { isNodeError, escapePath, unescapePath, getErrorMessage, DEFAULT_FILE_FILTERING_OPTIONS, } from '@vybestack/llxprt-code-core';
10
+ import { isNodeError, escapePath, unescapePath, getErrorMessage, DEFAULT_FILE_FILTERING_OPTIONS, SHELL_SPECIAL_CHARS, } from '@vybestack/llxprt-code-core';
11
11
  import { logicalPosToOffset, } from '../components/shared/text-buffer.js';
12
12
  import { isSlashCommand } from '../utils/commandUtils.js';
13
13
  import { toCodePoints } from '../utils/textUtils.js';
@@ -47,7 +47,7 @@ export function useSlashCompletion(buffer, dirs, cwd, slashCommands, commandCont
47
47
  }, [cursorRow, cursorCol, buffer.lines]);
48
48
  useEffect(() => {
49
49
  if (commandIndex === -1 || reverseSearchActive) {
50
- resetCompletionState();
50
+ setTimeout(resetCompletionState, 0);
51
51
  return;
52
52
  }
53
53
  const currentLine = buffer.lines[cursorRow] || '';
@@ -337,11 +337,14 @@ export function useSlashCompletion(buffer, dirs, cwd, slashCommands, commandCont
337
337
  ...fetchedSuggestionsPerDir,
338
338
  ];
339
339
  }
340
- // Like glob, we always return forwardslashes, even in windows.
340
+ // Like glob, we always return forward slashes for path separators, even on Windows.
341
+ // But preserve backslash escaping for special characters.
342
+ const specialCharsLookahead = `(?![${SHELL_SPECIAL_CHARS.source.slice(1, -1)}])`;
343
+ const pathSeparatorRegex = new RegExp(`\\\\${specialCharsLookahead}`, 'g');
341
344
  fetchedSuggestions = fetchedSuggestions.map((suggestion) => ({
342
345
  ...suggestion,
343
- label: suggestion.label.replace(/\\/g, '/'),
344
- value: suggestion.value.replace(/\\/g, '/'),
346
+ label: suggestion.label.replace(pathSeparatorRegex, '/'),
347
+ value: suggestion.value.replace(pathSeparatorRegex, '/'),
345
348
  }));
346
349
  // Sort by depth, then directories first, then alphabetically
347
350
  fetchedSuggestions.sort((a, b) => {
@@ -428,11 +431,10 @@ export function useSlashCompletion(buffer, dirs, cwd, slashCommands, commandCont
428
431
  (buffer.lines[cursorRow] || '')[completionStart.current - 1] !== ' ') {
429
432
  suggestionText = ' ' + suggestionText;
430
433
  }
431
- suggestionText += ' ';
432
434
  }
435
+ suggestionText += ' ';
433
436
  buffer.replaceRangeByOffset(logicalPosToOffset(buffer.lines, cursorRow, completionStart.current), logicalPosToOffset(buffer.lines, cursorRow, completionEnd.current), suggestionText);
434
- resetCompletionState();
435
- }, [cursorRow, resetCompletionState, buffer, suggestions, commandIndex]);
437
+ }, [cursorRow, buffer, suggestions, commandIndex]);
436
438
  return {
437
439
  suggestions,
438
440
  activeSuggestionIndex,