ZIm/crates/assistant_tools/src
Agus Zubiaga b103d7621b
Improve handling of large output in embedded terminals (#32416)
#31922 made embedded terminals automatically grow to fit the content. We
since found some issues with large output which this PR addresses by:

- Only shaping / laying out lines that are visible in the viewport
(based on `window.content_mask`)
- Falling back to embedded scrolling after 1K lines. The perf fix above
actually makes it possible to handle a lot of lines, but:
- Alacrity uses a `u16` for rows internally, so we needed a limit to
prevent overflow.
- Scrolling through thousands of lines to get to the other side of a
terminal tool call isn't great UX, so we might as well set the limit
low.
- We can consider raising the limit when we make card headers sticky.

Release Notes:

- Agent: Improve handling of large terminal output
2025-06-09 18:11:31 -03:00
..
copy_path_tool Add copy-path tool (#27371) 2025-03-24 21:21:55 -04:00
create_directory_tool Add Create Directory Tool (#27505) 2025-03-26 11:59:03 -04:00
delete_path_tool Delete tool uses paths instead of globs (#26715) 2025-03-16 11:58:25 +01:00
diagnostics_tool Systematically optimize agentic editing performance (#28961) 2025-04-19 02:47:59 +00:00
edit_agent More resilient eval (#32257) 2025-06-09 18:07:22 +00:00
edit_file_tool Fix agent reading and editing files over SSH (#30144) 2025-05-07 17:07:01 +00:00
fetch_tool assistant_tools: Add fetch tool (#26999) 2025-03-18 16:25:51 +00:00
find_path_tool agent: Improve initial file search quality (#29317) 2025-04-23 21:24:41 -03:00
grep_tool assistant: Partial fix for HTML entities in tools params (#32148) 2025-06-05 10:36:55 +00:00
list_directory_tool agent: Improve initial file search quality (#29317) 2025-04-23 21:24:41 -03:00
move_path_tool Add move_path tool (#27366) 2025-03-24 14:45:19 +00:00
open_tool Add eval for open_tool (#29801) 2025-05-02 15:56:07 +00:00
read_file_tool Systematically optimize agentic editing performance (#28961) 2025-04-19 02:47:59 +00:00
templates agent: Fix creating files with Gemini (#31439) 2025-05-26 16:36:21 +00:00
terminal_tool agent: Discourage long-running commands (#29627) 2025-04-29 19:21:16 -03:00
thinking_tool Add thinking tool (#26675) 2025-03-14 16:26:22 -04:00
ui agent: Display full terminal output without scrolling (#31922) 2025-06-03 10:54:25 -07:00
assistant_tools.rs assistant: Partial fix for HTML entities in tools params (#32148) 2025-06-05 10:36:55 +00:00
copy_path_tool.rs agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00
create_directory_tool.rs agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00
delete_path_tool.rs agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00
diagnostics_tool.rs agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00
edit_agent.rs Replace async-watch with a custom watch (#32245) 2025-06-06 16:00:09 +00:00
edit_file_tool.rs edit_file_tool: Fail when edit location is not unique (#32056) 2025-06-04 13:04:01 +03:00
fetch_tool.rs agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00
find_path_tool.rs agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00
grep_tool.rs Have tools respect private and excluded file settings (#32036) 2025-06-05 10:02:11 +02:00
list_directory_tool.rs Have tools respect private and excluded file settings (#32036) 2025-06-05 10:02:11 +02:00
move_path_tool.rs agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00
now_tool.rs agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00
open_tool.rs agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00
read_file_tool.rs Have tools respect private and excluded file settings (#32036) 2025-06-05 10:02:11 +02:00
schema.rs agent: Improve compatibility when using MCP servers with Gemini models (#28700) 2025-04-14 21:55:25 +02:00
templates.rs Introduce a new StreamingEditFileTool (#29733) 2025-05-01 17:37:43 +02:00
terminal_tool.rs Improve handling of large output in embedded terminals (#32416) 2025-06-09 18:11:31 -03:00
thinking_tool.rs agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00
ui.rs agent: Display full terminal output without scrolling (#31922) 2025-06-03 10:54:25 -07:00
web_search_tool.rs agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00