mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-25 06:24:56 +00:00
This PR implements the behind-the-scenes subagent execution logic: ### Core subagent execution - Add `Thread::new_subagent()` constructor for creating subagent threads - Implement `SubagentTool::run()` to spawn and manage subagent lifecycle - Add `SubagentContext` for parent-child thread relationship - Implement `submit_user_message()`, `interrupt_for_summary()`, `request_final_summary()` - Add timeout support and context-low detection (25% threshold) - Propagate cancellation from parent to child threads ### Thread management - Add `MAX_SUBAGENT_DEPTH` (4) and `MAX_PARALLEL_SUBAGENTS` (8) limits - Add `register/unregister_running_subagent()` for tracking - Add `restrict_tools()` for allowed_tools filtering - Add `is_subagent()`, `depth()`, `is_turn_complete()` accessors ### Thread changes - Add `ToolCallContent::SubagentThread` variant - Add `ToolCallUpdateSubagentThread` for UI updates - Add `tool_name` field for subagent detection - Add `is_subagent()` method on `ToolCall` - Add image support in `ContentBlock` Release Notes: - N/A --------- Co-authored-by: Amp <amp@ampcode.com> |
||
|---|---|---|
| .. | ||
| docs | ||
| src | ||
| .gitignore | ||
| build.rs | ||
| Cargo.toml | ||
| LICENSE-GPL | ||
| README.md | ||
| runner_settings.json | ||
Eval
This eval assumes the working directory is the root of the repository. Run it with:
cargo run -p eval
The eval will optionally read a .env file in crates/eval if you need it to set environment variables, such as API keys.
Explorer Tool
The explorer tool generates a self-contained HTML view from one or more thread JSON file. It provides a visual interface to explore the agent thread, including tool calls and results. See ./docs/explorer.md for more details.
Usage
cargo run -p eval --bin explorer -- --input <path-to-json-files> --output <output-html-path>
Example:
cargo run -p eval --bin explorer -- --input ./runs/2025-04-23_15-53-30/fastmcp_bugifx/*/last.messages.json --output /tmp/explorer.html