diff options
Diffstat (limited to 'packages/cli/src/ui/hooks')
| -rw-r--r-- | packages/cli/src/ui/hooks/useGeminiStream.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/cli/src/ui/hooks/useGeminiStream.ts b/packages/cli/src/ui/hooks/useGeminiStream.ts index b82b0cb2..a9326528 100644 --- a/packages/cli/src/ui/hooks/useGeminiStream.ts +++ b/packages/cli/src/ui/hooks/useGeminiStream.ts @@ -431,6 +431,20 @@ export const useGeminiStream = ( [addItem, config], ); + const handleMaxSessionTurnsEvent = useCallback( + () => + addItem( + { + type: 'info', + text: + `The session has reached the maximum number of turns: ${config.getMaxSessionTurns()}. ` + + `Please update this limit in your setting.json file.`, + }, + Date.now(), + ), + [addItem, config], + ); + const processGeminiStreamEvents = useCallback( async ( stream: AsyncIterable<GeminiEvent>, @@ -467,6 +481,9 @@ export const useGeminiStream = ( case ServerGeminiEventType.ToolCallResponse: // do nothing break; + case ServerGeminiEventType.MaxSessionTurns: + handleMaxSessionTurnsEvent(); + break; default: { // enforces exhaustive switch-case const unreachable: never = event; @@ -485,6 +502,7 @@ export const useGeminiStream = ( handleErrorEvent, scheduleToolCalls, handleChatCompressionEvent, + handleMaxSessionTurnsEvent, ], ); |
