diff options
| author | anj-s <[email protected]> | 2025-07-11 07:55:03 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-11 14:55:03 +0000 |
| commit | c9e1e6d3bdfe1fa1582f278d6f1a606353313642 (patch) | |
| tree | c6a78c450431d5fca390b1448d0f12e99da13ccc /packages/cli/src/ui/hooks/useGeminiStream.ts | |
| parent | 0151a9e1a3451221faf52e883b2c9d6a49eb1b5c (diff) | |
Add support for specifying maxSessionTurns via the settings configuration (#3507)
Diffstat (limited to 'packages/cli/src/ui/hooks/useGeminiStream.ts')
| -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, ], ); |
