@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.
- package/dist/package.json +3 -3
- package/dist/src/config/config.d.ts +2 -2
- package/dist/src/config/config.js +20 -7
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/settings.d.ts +2 -0
- package/dist/src/config/settings.js +6 -2
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +1 -1
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/ui/App.js +18 -4
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.js +5 -3
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/copyCommand.js +10 -1
- package/dist/src/ui/commands/copyCommand.js.map +1 -1
- package/dist/src/ui/commands/diagnosticsCommand.js +118 -4
- package/dist/src/ui/commands/diagnosticsCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +21 -1
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.js +26 -11
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +15 -20
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.js +3 -1
- package/dist/src/ui/commands/memoryCommand.js.map +1 -1
- package/dist/src/ui/commands/modelCommand.js +0 -2
- package/dist/src/ui/commands/modelCommand.js.map +1 -1
- package/dist/src/ui/commands/profileCommand.js +11 -5
- package/dist/src/ui/commands/profileCommand.js.map +1 -1
- package/dist/src/ui/commands/setCommand.js +45 -0
- package/dist/src/ui/commands/setCommand.js.map +1 -1
- package/dist/src/ui/commands/toolsCommand.js +41 -11
- package/dist/src/ui/commands/toolsCommand.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +2 -1
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/ToolsDialog.d.ts +16 -0
- package/dist/src/ui/components/ToolsDialog.js +48 -0
- package/dist/src/ui/components/ToolsDialog.js.map +1 -0
- package/dist/src/ui/containers/SessionController.js +3 -1
- package/dist/src/ui/containers/SessionController.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +11 -4
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/index.d.ts +1 -0
- package/dist/src/ui/hooks/index.js +1 -0
- package/dist/src/ui/hooks/index.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +18 -4
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +169 -69
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.js +10 -8
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useToolsDialog.d.ts +27 -0
- package/dist/src/ui/hooks/useToolsDialog.js +97 -0
- package/dist/src/ui/hooks/useToolsDialog.js.map +1 -0
- package/dist/src/ui/reducers/appReducer.d.ts +3 -2
- package/dist/src/ui/reducers/appReducer.js +1 -0
- package/dist/src/ui/reducers/appReducer.js.map +1 -1
- package/dist/src/utils/resolvePath.d.ts +6 -0
- package/dist/src/utils/resolvePath.js +21 -0
- package/dist/src/utils/resolvePath.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
//
|
566
|
-
const
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAGL,eAAe,IAAI,qBAAqB,EAMxC,eAAe,EACf,WAAW,EACX,iBAAiB;AAEjB,gEAAgE;AAChE,UAAU,EAGV,iBAAiB,EACjB,0BAA0B,EAC1B,QAAQ,GACT,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAiC,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EACL,cAAc,EAId,WAAW,EAEX,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,YAAY,IAAI,4BAA4B,GAI7C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,UAAU,mBAAmB,CAAC,IAAqB;IACvD,MAAM,WAAW,GAAW,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,oDAAoD;YACpD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,IAAK,sBAIJ;AAJD,WAAK,sBAAsB;IACzB,6EAAS,CAAA;IACT,qFAAa,CAAA;IACb,qEAAK,CAAA;AACP,CAAC,EAJI,sBAAsB,KAAtB,sBAAsB,QAI1B;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,YAA0B,EAC1B,OAAsB,EACtB,OAA2C,EAC3C,WAA0D,EAC1D,MAAc,EACd,cAAyC,EACzC,kBAEiD,EACjD,eAAwB,EACxB,kBAAgD,EAChD,WAAuB,EACvB,oBAAyC,EACzC,2BAAoC,EACpC,8BAA6E,EAC7E,EAAE;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACjE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,GAClD,cAAc,CAA8B,IAAI,CAAC,CAAC;IACpD,MAAM,uBAAuB,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/D,mEAAmE;IACnE,uEAAuE;IACvE,MAAM,UAAU,GAAG,MAAM,CAAgB,OAAO,CAAC,CAAC;IAElD,oDAAoD;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,GACxD,qBAAqB,CACnB,KAAK,EAAE,+BAA+B,EAAE,EAAE;QACxC,iFAAiF;QACjF,IAAI,+BAA+B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,iEAAiE;YACjE,OAAO,CACL,4BAA4B,CAC1B,+BAAoD,CACrD,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YAEF,kEAAkE;YAClE,MAAM,oBAAoB,CACxB,+BAAoD,CACrD,CAAC;QACJ,CAAC;IACH,CAAC,EACD,MAAM,EACN,qBAAqB,EACrB,kBAAkB,CACnB,CAAC;IAEJ,MAAM,2BAA2B,GAAG,OAAO,CACzC,GAAG,EAAE,CACH,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EACxE,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,IAAmB,EAAE,EAAE;QACvD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,IAAI,CAAC;QACX,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,EAAE,kBAAkB,EAAE,GAAG,wBAAwB,CACrD,OAAO,EACP,qBAAqB,EACrB,MAAM,EACN,cAAc,EACd,MAAM,EACN,YAAY,CACb,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,mBAAmB,CAAC,EAAE,CAAC;YAC9D,OAAO,cAAc,CAAC,sBAAsB,CAAC;QAC/C,CAAC;QACD,IACE,YAAY;YACZ,SAAS,CAAC,IAAI,CACZ,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,MAAM,KAAK,WAAW;gBACzB,EAAE,CAAC,MAAM,KAAK,WAAW;gBACzB,EAAE,CAAC,MAAM,KAAK,YAAY;gBAC1B,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS;oBACvB,EAAE,CAAC,MAAM,KAAK,OAAO;oBACrB,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC;oBAC1B,CAAE,EAA0D;yBACzD,yBAAyB,CAAC,CAClC,EACD,CAAC;YACD,OAAO,cAAc,CAAC,UAAU,CAAC;QACnC,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAC;IAC7B,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9B,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,cAAc,KAAK,cAAc,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/D,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;YAChC,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACpC,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;gBAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,CACL;gBACE,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,oBAAoB;aAC3B,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACF,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,WAAW,CACvC,KAAK,EACH,KAAoB,EACpB,oBAA4B,EAC5B,WAAwB,EACxB,SAAiB,EAIhB,EAAE;QACH,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACrD,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,cAAc,CAAC,uDAAuD,CAAC,CAAC;YACxE,4DAA4D;YAC5D,qFAAqF;YACrF,IAAI,QAAQ,GAAG,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ,CAAC;YAC5D,cAAc,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC;YAEnE,kEAAkE;YAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC;oBAC/C,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC;gBACpC,CAAC;qBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;oBACtC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,iCAAiC;gBAC1E,CAAC;gBACD,cAAc,CACZ,gDAAgD,QAAQ,EAAE,CAC3D,CAAC;YACJ,CAAC;YAED,sEAAsE;YACtE,qDAAqD;YACrD,MAAM,eAAe,GAAG,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ,CAAC;YACrE,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACrD,cAAc,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;gBAChE,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,8CAA8C,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAI,wBAAwB,GAAyB,IAAI,CAAC;QAE1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,qDAAqD;YACrD,iBAAiB;YACjB,YAAY;YACZ,yBAAyB;YACzB,2BAA2B;YAC3B,iBAAiB;YACjB,oDAAoD;YACpD,oBAAoB;YACpB,OAAO;YACP,KAAK;YACL,cAAc,CAAC,gBAAgB,YAAY,GAAG,CAAC,CAAC;YAChD,MAAM,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAE/D,gCAAgC;YAChC,MAAM,kBAAkB,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAElE,IAAI,kBAAkB,EAAE,CAAC;gBACvB,QAAQ,kBAAkB,CAAC,IAAI,EAAE,CAAC;oBAChC,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC;wBAClD,MAAM,eAAe,GAAwB;4BAC3C,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;4BAC1E,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,QAAQ;4BACd,iBAAiB,EAAE,IAAI;4BACvB,SAAS;yBACV,CAAC;wBACF,iBAAiB,CAAC,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;wBAClD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;oBACrD,CAAC;oBACD,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,wBAAwB,GAAG,kBAAkB,CAAC,OAAO,CAAC;wBAEtD,OAAO;4BACL,WAAW,EAAE,wBAAwB;4BACrC,aAAa,EAAE,IAAI;yBACpB,CAAC;oBACJ,CAAC;oBACD,KAAK,SAAS,CAAC,CAAC,CAAC;wBACf,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;oBACrD,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;wBACR,MAAM,WAAW,GAAU,kBAAkB,CAAC;wBAC9C,MAAM,IAAI,KAAK,CACb,wCAAwC,WAAW,EAAE,CACtD,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,eAAe,IAAI,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;gBACrE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;YACrD,CAAC;YAED,qDAAqD;YACrD,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9B,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC;oBAC5C,KAAK,EAAE,YAAY;oBACnB,MAAM;oBACN,OAAO;oBACP,cAAc;oBACd,SAAS,EAAE,oBAAoB;oBAC/B,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;oBACnC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;gBACrD,CAAC;gBACD,wBAAwB,GAAG,eAAe,CAAC,cAAc,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,0BAA0B;gBAC1B,OAAO,CACL,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,EAC9C,oBAAoB,CACrB,CAAC;gBACF,wBAAwB,GAAG,YAAY,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,+DAA+D;YAC/D,wBAAwB,GAAG,KAAK,CAAC;QACnC,CAAC;QAED,IAAI,wBAAwB,KAAK,IAAI,EAAE,CAAC;YACtC,cAAc,CACZ,2DAA2D,CAC5D,CAAC;YACF,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACxE,CAAC,EACD;QACE,MAAM;QACN,OAAO;QACP,cAAc;QACd,kBAAkB;QAClB,kBAAkB;QAClB,MAAM;QACN,eAAe;QACf,iBAAiB;QACjB,YAAY;KACb,CACF,CAAC;IAEF,gCAAgC;IAEhC,MAAM,kBAAkB,GAAG,WAAW,CACpC,CACE,UAAiC,EACjC,0BAAkC,EAClC,oBAA4B,EACpB,EAAE;QACV,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,4DAA4D;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,sBAAsB,GAAG,0BAA0B,GAAG,UAAU,CAAC;QAErE,qCAAqC;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE;gBAC9C,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;gBACxC,aAAa,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC3D,SAAS,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;gBACnD,WAAW,EAAE,qBAAqB,CAAC,OAAO,EAAE,IAAI;aACjD,CAAC,CAAC;QACL,CAAC;QAED,IACE,qBAAqB,CAAC,OAAO,EAAE,IAAI,KAAK,QAAQ;YAChD,qBAAqB,CAAC,OAAO,EAAE,IAAI,KAAK,gBAAgB,EACxD,CAAC;YACD,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;gBAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC/D,CAAC;YACD,qBAAqB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACpD,sBAAsB,GAAG,UAAU,CAAC;QACtC,CAAC;QACD,kEAAkE;QAClE,8DAA8D;QAC9D,MAAM,UAAU,GAAG,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;QAClE,IAAI,UAAU,KAAK,sBAAsB,CAAC,MAAM,EAAE,CAAC;YACjD,uDAAuD;YACvD,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,IAAI,EAAE,IAAmC;gBAC/C,IAAI,EAAE,sBAAsB;aAC7B,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,CAAC;YACN,+DAA+D;YAC/D,2EAA2E;YAC3E,0EAA0E;YAC1E,wEAAwE;YACxE,+EAA+E;YAC/E,8EAA8E;YAC9E,8EAA8E;YAC9E,0DAA0D;YAC1D,MAAM,UAAU,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC/D,OAAO,CACL;gBACE,IAAI,EAAE,qBAAqB,CAAC,OAAO,EAAE,IAEjB;gBACpB,IAAI,EAAE,UAAU;aACjB,EACD,oBAAoB,CACrB,CAAC;YACF,qBAAqB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,sBAAsB,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC,EACD,CAAC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CACxD,CAAC;IAEF,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,oBAA4B,EAAE,EAAE;QAC/B,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACxD,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAC1D,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO;oBACtC,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,UAAU;oBACzC,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS;oBACtC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE;oBAC9C,CAAC,CAAC,IAAI,CACX,CAAC;gBACF,MAAM,WAAW,GAAyB;oBACxC,GAAG,qBAAqB,CAAC,OAAO;oBAChC,KAAK,EAAE,YAAY;iBACpB,CAAC;gBACF,OAAO,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC/D,CAAC;YACD,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CACL,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,6BAA6B,EAAE,EAC/D,oBAAoB,CACrB,CAAC;QACF,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,kCAAkC;IACtD,CAAC,EACD,CAAC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,UAAU,CAAC,CACpE,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,UAA+B,EAAE,oBAA4B,EAAE,EAAE;QAChE,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC7D,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CACL;YACE,IAAI,EAAE,WAAW,CAAC,KAAK;YACvB,IAAI,EAAE,sBAAsB,CAC1B,UAAU,CAAC,KAAK,EAChB,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAC5C,SAAS,EACT,MAAM,CAAC,QAAQ,EAAE,EACjB,0BAA0B,CAC3B;SACF,EACD,oBAAoB,CACrB,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,sCAAsC;IAC1D,CAAC,EACD,CAAC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,EAAE,UAAU,CAAC,CAC5E,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,KAAgC,EAAE,oBAA4B,EAAE,EAAE;QACjE,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;QAEjC,MAAM,oBAAoB,GAA6C;YACrE,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,SAAS;YACnD,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS;YAC9B,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,yCAAyC;YACpE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,yCAAyC;YAChE,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,4CAA4C;YACvE,CAAC,YAAY,CAAC,QAAQ,CAAC,EACrB,+CAA+C;YACjD,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,0CAA0C;YACpE,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAC/B,6CAA6C;YAC/C,CAAC,YAAY,CAAC,IAAI,CAAC,EACjB,wEAAwE;YAC1E,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,qCAAqC;YAC3D,CAAC,YAAY,CAAC,uBAAuB,CAAC,EACpC,kDAAkD;YACpD,CAAC,YAAY,CAAC,YAAY,CAAC,EACzB,kDAAkD;YACpD,CAAC,YAAY,CAAC,oBAAoB,CAAC,EACjC,+CAA+C;SAClD,CAAC;QAEF,MAAM,OAAO,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CACL;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO,OAAO,EAAE;aACvB,EACD,oBAAoB,CACrB,CAAC;QACJ,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,0BAA0B,GAAG,WAAW,CAC5C,CAAC,UAAoD,EAAE,EAAE,CACvD,OAAO,CACL;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EACF,qEAAqE,MAAM,CAAC,QAAQ,EAAE,IAAI;YAC1F,0EAA0E;YAC1E,GAAG,UAAU,EAAE,kBAAkB,IAAI,SAAS,MAAM;YACpD,GAAG,UAAU,EAAE,aAAa,IAAI,SAAS,WAAW;KACvD,EACD,IAAI,CAAC,GAAG,EAAE,CACX,EACH,CAAC,OAAO,EAAE,MAAM,CAAC,CAClB,CAAC;IAEF,MAAM,0BAA0B,GAAG,WAAW,CAC5C,GAAG,EAAE,CACH,OAAO,CACL;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EACF,wDAAwD,MAAM,CAAC,kBAAkB,EAAE,IAAI;YACvF,qDAAqD;KACxD,EACD,IAAI,CAAC,GAAG,EAAE,CACX,EACH,CAAC,OAAO,EAAE,MAAM,CAAC,CAClB,CAAC;IAEF,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/C,OAAO,CACL;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,mIAAmI;SAC1I,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,yBAAyB,GAAG,WAAW,CAC3C,KAAK,EACH,MAAkC,EAClC,oBAA4B,EAC5B,MAAmB,EACc,EAAE;QACnC,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAA0B,EAAE,CAAC;QACnD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,qBAAqB,CAAC,OAAO;oBAChC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,qBAAqB,CAAC,OAAO;oBAChC,mBAAmB,GAAG,kBAAkB,CACtC,KAAK,CAAC,KAAK,EACX,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;oBACF,MAAM;gBACR,KAAK,qBAAqB,CAAC,eAAe;oBACxC,OAAO,CAAC,GAAG,CACT,gCAAgC,EAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CACrC,CAAC;oBACF,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM;gBACR,KAAK,qBAAqB,CAAC,aAAa;oBACtC,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,qBAAqB,CAAC,KAAK;oBAC9B,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBACpD,MAAM;gBACR,KAAK,qBAAqB,CAAC,cAAc;oBACvC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxC,MAAM;gBACR,KAAK,qBAAqB,CAAC,oBAAoB,CAAC;gBAChD,KAAK,qBAAqB,CAAC,gBAAgB,CAAC;gBAC5C,KAAK,qBAAqB,CAAC,aAAa;oBACtC,aAAa;oBACb,MAAM;gBACR,KAAK,qBAAqB,CAAC,eAAe;oBACxC,0BAA0B,EAAE,CAAC;oBAC7B,MAAM;gBACR,KAAK,qBAAqB,CAAC,QAAQ;oBACjC,mBAAmB,CACjB,KAAkC,EAClC,oBAAoB,CACrB,CAAC;oBACF,MAAM;gBACR,KAAK,qBAAqB,CAAC,YAAY;oBACrC,kEAAkE;oBAClE,iDAAiD;oBACjD,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC/B,MAAM;gBACR,OAAO,CAAC,CAAC,CAAC;oBACR,kCAAkC;oBAClC,MAAM,WAAW,GAAU,KAAK,CAAC;oBACjC,OAAO,WAAW,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CACT,gCAAgC,EAChC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CACrE,CAAC;YACF,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,sBAAsB,CAAC,SAAS,CAAC;IAC1C,CAAC,EACD;QACE,kBAAkB;QAClB,wBAAwB;QACxB,gBAAgB;QAChB,iBAAiB;QACjB,0BAA0B;QAC1B,mBAAmB;QACnB,0BAA0B;KAC3B,CACF,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EACH,KAAoB,EACpB,OAAqC,EACrC,SAAkB,EAClB,EAAE;QACF,IACE,CAAC,cAAc,KAAK,cAAc,CAAC,UAAU;YAC3C,cAAc,KAAK,cAAc,CAAC,sBAAsB,CAAC;YAC3D,CAAC,OAAO,EAAE,cAAc;YAExB,OAAO;QAET,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEnB,wEAAwE;QACxE,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;YAC7B,8BAA8B,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,kBAAkB,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;QACtD,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;QAEjC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,UAAU,GAAG,cAAc,EAAE,CAAC;QACpE,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM,qBAAqB,CAChE,KAAK,EACL,oBAAoB,EACpB,WAAW,EACX,SAAU,CACX,CAAC;QAEF,IAAI,CAAC,aAAa,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;YAC7B,cAAc,EAAE,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,2CAA2C;QAC/D,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,CAAC;YACH,cAAc,CACZ,uCAAuC,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAC9G,CAAC;YACF,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAC3C,WAAW,EACX,WAAW,EACX,SAAU,CACX,CAAC;YACF,MAAM,gBAAgB,GAAG,MAAM,yBAAyB,CACtD,MAAM,EACN,oBAAoB,EACpB,WAAW,CACZ,CAAC;YAEF,IAAI,gBAAgB,KAAK,sBAAsB,CAAC,aAAa,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;YAED,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;gBAClC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAC7D,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC5B,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;gBAChC,uBAAuB,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;gBACvC,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9D,OAAO,CACL;oBACE,IAAI,EAAE,WAAW,CAAC,KAAK;oBACvB,IAAI,EAAE,sBAAsB,CAC1B,eAAe,CAAC,KAAK,CAAC,IAAI,eAAe,EACzC,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAC5C,SAAS,EACT,MAAM,CAAC,QAAQ,EAAE,EACjB,0BAA0B,CAC3B;iBACF,EACD,oBAAoB,CACrB,CAAC;YACJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EACD;QACE,cAAc;QACd,WAAW;QACX,8BAA8B;QAC9B,qBAAqB;QACrB,yBAAyB;QACzB,qBAAqB;QACrB,OAAO;QACP,qBAAqB;QACrB,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,MAAM;QACN,cAAc;QACd,cAAc;QACd,uBAAuB;QACvB,cAAc;KACf,CACF,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CACtC,KAAK,EAAE,+BAAkD,EAAE,EAAE;QAC3D,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,8BAA8B,GAClC,+BAA+B,CAAC,MAAM,CACpC,CACE,EAAmB,EACwC,EAAE;YAC7D,MAAM,eAAe,GACnB,EAAE,CAAC,MAAM,KAAK,SAAS;gBACvB,EAAE,CAAC,MAAM,KAAK,OAAO;gBACrB,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC;YAE5B,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,wBAAwB,GAAG,EAEL,CAAC;gBAC7B,OAAO,CACL,wBAAwB,CAAC,QAAQ,EAAE,aAAa,KAAK,SAAS,CAC/D,CAAC;YACJ,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;QAEJ,gEAAgE;QAChE,MAAM,WAAW,GAAG,8BAA8B,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CACnC,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,4EAA4E;QAC5E,MAAM,wBAAwB,GAAG,8BAA8B,CAAC,MAAM,CACpE,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa;YAChC,CAAC,CAAC,MAAM,KAAK,SAAS;YACtB,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CACzD,CAAC;QAEF,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,kDAAkD;YAClD,KAAK,oBAAoB,EAAE,CAAC;YAC5B,uEAAuE;YACvE,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACrC,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CACtD,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,8BAA8B,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CACpC,CAAC;QAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,sEAAsE;QACtE,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,CACzC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,WAAW,CAClC,CAAC;QAEF,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,YAAY,EAAE,CAAC;gBACjB,gEAAgE;gBAChE,+CAA+C;gBAC/C,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CACxC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAC9C,CAAC;gBACF,MAAM,aAAa,GAAW,EAAE,CAAC;gBACjC,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;oBACtC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC5B,aAAa,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;oBAClC,CAAC;yBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACxC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACzC,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBACD,YAAY,CAAC,UAAU,CAAC;oBACtB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,aAAa;iBACrB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,wBAAwB,GAAG,WAAW,CAAC,GAAG,CAC9C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CACtC,CAAC;YACF,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAoB,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpE,OAAO,CAAC,GAAG,CACT,6BAA6B,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,EAClF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CACzD,CAAC;YACF,OAAO,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,MAAM,wBAAwB,GAAG,WAAW,CAAC,GAAG,CAC9C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CACtC,CAAC;QAEF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAChC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACzC,CAAC;QAEF,6EAA6E;QAE7E,0DAA0D;QAC1D,IAAI,2BAA2B,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,OAAO,CAAC,GAAG,CACT,uCAAuC,EACvC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CACzC,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QACvE,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACpC,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,SAAS,EAAE,OAAO,IAAI,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CACT,2BAA2B,GAAG,YAAY,EAC1C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,4EAA4E;QAC5E,oEAAoE;QACpE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,+BAA+B;YAC/B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,WAAW,CACT,eAAe,CAAC,CAAC,CAAC,EAClB;gBACE,cAAc,EAAE,IAAI;aACrB,EACD,UAAU,CAAC,CAAC,CAAC,CACd,CAAC;YACF,kCAAkC;YAClC,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,oEAAoE;YACpE,OAAO,CAAC,GAAG,CACT,wCAAwC,eAAe,CAAC,MAAM,yBAAyB,CACxF,CAAC;YAEF,gDAAgD;YAChD,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBAC1C,OAAO,CAAC,GAAG,CACT,qCAAqC,KAAK,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,EAC3E,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAClC,CAAC;gBAEF,qEAAqE;gBACrE,UAAU,CAAC,GAAG,EAAE;oBACd,WAAW,CACT,QAAQ,EACR;wBACE,cAAc,EAAE,IAAI;qBACrB,EACD,UAAU,CAAC,CAAC,CAAC,CACd,CAAC;oBAEF,iEAAiE;oBACjE,cAAc,EAAE,CAAC;oBACjB,IAAI,cAAc,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;wBAC9C,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,mCAAmC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EACD;QACE,YAAY;QACZ,WAAW;QACX,oBAAoB;QACpB,YAAY;QACZ,oBAAoB;QACpB,2BAA2B;KAC5B,CACF,CAAC;IAEF,MAAM,mBAAmB,GAAG;QAC1B,qBAAqB,CAAC,OAAO;QAC7B,2BAA2B;KAC5B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,uBAAuB,GAAG,KAAK,IAAI,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAC1C,CAAC,QAAQ,EAAE,EAAE,CACX,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;gBAClC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC;gBACzC,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAC1C,CAAC;YAEF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,EAAE;oBAC9C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,aAAa,CAAC;oBACtD,CAAC,CAAC,SAAS,CAAC;gBAEd,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACnD,cAAc,CACZ,0CAA0C,eAAe,CAAC,KAAK,CAAC,EAAE,CACnE,CAAC;wBACF,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;oBAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAW,CAAC;oBAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,cAAc,CACZ,2DAA2D,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CACnF,CAAC;wBACF,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC;wBACH,IAAI,UAAU,GAAG,MAAM,UAAU,EAAE,kBAAkB,CACnD,gBAAgB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CACxC,CAAC;wBAEF,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,UAAU,GAAG,MAAM,UAAU,EAAE,oBAAoB,EAAE,CAAC;wBACxD,CAAC;wBAED,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,cAAc,CACZ,iCAAiC,QAAQ,kCAAkC,CAC5E,CAAC;4BACF,SAAS;wBACX,CAAC;wBAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE;6BACzB,WAAW,EAAE;6BACb,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;6BAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;wBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACzC,MAAM,4BAA4B,GAAG,GAAG,SAAS,IAAI,QAAQ,IAAI,QAAQ,OAAO,CAAC;wBACjF,MAAM,aAAa,GAAG,MAAM,YAAY,EAAE,UAAU,EAAE,CAAC;wBACvD,MAAM,4BAA4B,GAAG,IAAI,CAAC,IAAI,CAC5C,aAAa,EACb,4BAA4B,CAC7B,CAAC;wBAEF,MAAM,EAAE,CAAC,SAAS,CAChB,4BAA4B,EAC5B,IAAI,CAAC,SAAS,CACZ;4BACE,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,aAAa;4BACb,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;gCAC3B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;6BAC5B;4BACD,UAAU;4BACV,QAAQ;yBACT,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,cAAc,CACZ,8CAA8C,eAAe,CAC3D,KAAK,CACN,EAAE,CACJ,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,uBAAuB,EAAE,CAAC;QAC1B,qEAAqE;QACrE,+DAA+D;IACjE,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAElE,OAAO;QACL,cAAc;QACd,WAAW;QACX,SAAS;QACT,mBAAmB;QACnB,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
|
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
|
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(
|
344
|
-
value: suggestion.value.replace(
|
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
|
-
|
435
|
-
}, [cursorRow, resetCompletionState, buffer, suggestions, commandIndex]);
|
437
|
+
}, [cursorRow, buffer, suggestions, commandIndex]);
|
436
438
|
return {
|
437
439
|
suggestions,
|
438
440
|
activeSuggestionIndex,
|