summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks/useGeminiStream.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/hooks/useGeminiStream.ts')
-rw-r--r--packages/cli/src/ui/hooks/useGeminiStream.ts13
1 files changed, 12 insertions, 1 deletions
diff --git a/packages/cli/src/ui/hooks/useGeminiStream.ts b/packages/cli/src/ui/hooks/useGeminiStream.ts
index dbcb4e64..7ab30463 100644
--- a/packages/cli/src/ui/hooks/useGeminiStream.ts
+++ b/packages/cli/src/ui/hooks/useGeminiStream.ts
@@ -323,6 +323,18 @@ export const useGeminiStream = (
);
setStreamingState(StreamingState.Idle);
return; // Stop processing the stream
+ } else if (event.type === ServerGeminiEventType.Error) {
+ // Flush out existing pending history item.
+ if (pendingHistoryItemRef.current) {
+ addItem(pendingHistoryItemRef.current, userMessageTimestamp);
+ setPendingHistoryItem(null);
+ }
+ addItem(
+ { type: 'error', text: `[API Error: ${event.value.message}]` },
+ userMessageTimestamp,
+ );
+ setStreamingState(StreamingState.Idle);
+ // Allow stream to end naturally
}
} // End stream loop
@@ -335,7 +347,6 @@ export const useGeminiStream = (
setStreamingState(StreamingState.Idle);
} catch (error: unknown) {
if (!isNodeError(error) || error.name !== 'AbortError') {
- console.error('Error processing stream or executing tool:', error);
addItem(
{
type: 'error',