summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks/useToolScheduler.ts
AgeCommit message (Collapse)Author
2025-06-01refactor: Centralize tool scheduling logic and simplify React hook (#670)N. Taylor Mullen
2025-05-30Rename server->core (#638)Tommaso Sciortino
2025-05-30add flags for markdown rendering and live updating to Tool to avoid ↵Olcan
special-casing shell tool by name, and open door for other tools to specify their rendering/updating (#629)
2025-05-30disable markdown rendering of shell tool output (#625)Olcan
2025-05-30update shell output at an interval to reduce flicker (#614)Olcan
2025-05-29Refactor read-file and support images. (#480)Jacob Richman
2025-05-27feat: Allow cancellation of in-progress Gemini requests and pre-execution checksTaylor Mullen
- Implements cancellation for Gemini requests while they are actively being processed by the model. - Extends cancellation support to the logic within tools. This allows users to cancel operations during the phase where the system is determining if a tool execution requires user confirmation, which can include potentially long-running pre-flight checks or LLM-based corrections. - Underlying LLM calls for edit corrections (within and ) and next speaker checks can now also be cancelled. - Previously, cancellation of the main request was not possible until text started streaming, and pre-execution checks were not cancellable. - This change leverages the updated SDK's ability to accept an abort token and threads s throughout the request, tool execution, and pre-execution check lifecycle. Fixes https://github.com/google-gemini/gemini-cli/issues/531
2025-05-27live output from shell tool (#573)Olcan
2025-05-27fix tool cancellation while executing (#575)Olcan
2025-05-25Fix(cli): Prevent premature input box reactivation during tool confirmationTaylor Mullen
- Introduced a 'validating' state for tool calls to prevent the input box from reappearing while waiting for a tool's `shouldConfirmExecute` method to complete. - When a tool call is initiated, it's now immediately set to a 'validating' status. This ensures the UI remains in a busy/responding state. - `useGeminiStream` now considers the 'validating' state as part of `StreamingState.Responding`. - `useToolScheduler` has been updated to: - Set the initial status of new tool calls to 'validating'. - Asynchronously perform the `shouldConfirmExecute` check. - Transition to 'awaiting_approval' or 'scheduled' based on the check's outcome. - This resolves an issue where a slow `shouldConfirmExecute` could lead to the input prompt becoming active again before the tool call lifecycle was fully determined. While 'validating' is currently treated similarly to 'executing' in the UI, this new state provides a foundation for more customized user experiences during this phase in the future. Fixes https://github.com/google-gemini/gemini-cli/issues/527
2025-05-23feat: add emphasis to tool confirmations (#502)Brandon Keiji
2025-05-22fix: cancel parallel tool calls mid-execution (#489)Brandon Keiji
2025-05-22fix: synchronization between executed tools and turn loops (#488)Brandon Keiji
2025-05-22fix: forward entire tool call confirmation object through useToolScheduler ↵Brandon Keiji
(#481)
2025-05-21feat: create tool scheduler hook (#468)Brandon Keiji