From 738c2692fb9bdeda7c801e7b4e773f81ebc1ded0 Mon Sep 17 00:00:00 2001 From: Taylor Mullen Date: Mon, 21 Apr 2025 14:32:18 -0400 Subject: Fix confirmations. - This fixes what it means to get confirmations in GC. Prior to this they had just been accidentally unwired as part of all of the refactorings to turns + to server/core. - The key piece of this is that we wrap the onConfirm in the gemini stream hook in order to resubmit function responses. This isn't 100% ideal but gets the job done for now. - Fixed history not updating properly with confirmations. Fixes https://b.corp.google.com/issues/412323656 --- packages/cli/src/ui/App.tsx | 70 +++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 40 deletions(-) (limited to 'packages/cli/src/ui/App.tsx') diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx index 42b0ae5b..724036e2 100644 --- a/packages/cli/src/ui/App.tsx +++ b/packages/cli/src/ui/App.tsx @@ -52,15 +52,7 @@ export const App = ({ config }: AppProps) => { [history], ); - const isWaitingForToolConfirmation = history.some( - (item) => - item.type === 'tool_group' && - item.tools.some((tool) => tool.confirmationDetails !== undefined), - ); - const isInputActive = - streamingState === StreamingState.Idle && - !initError && - !isWaitingForToolConfirmation; + const isInputActive = streamingState === StreamingState.Idle && !initError; const { query, handleSubmit: handleHistorySubmit } = useInputHistory({ userMessages, @@ -88,39 +80,37 @@ export const App = ({ config }: AppProps) => { )} - {initError && - streamingState !== StreamingState.Responding && - !isWaitingForToolConfirmation && ( - - {history.find( - (item) => item.type === 'error' && item.text?.includes(initError), - )?.text ? ( + {initError && streamingState !== StreamingState.Responding && ( + + {history.find( + (item) => item.type === 'error' && item.text?.includes(initError), + )?.text ? ( + + { + history.find( + (item) => + item.type === 'error' && item.text?.includes(initError), + )?.text + } + + ) : ( + <> - { - history.find( - (item) => - item.type === 'error' && item.text?.includes(initError), - )?.text - } + Initialization Error: {initError} - ) : ( - <> - - Initialization Error: {initError} - - - {' '} - Please check API key and configuration. - - - )} - - )} + + {' '} + Please check API key and configuration. + + + )} + + )} -- cgit v1.2.3