mirror of
https://github.com/zed-industries/zed.git
synced 2026-06-01 14:20:35 +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> |
||
|---|---|---|
| .. | ||
| examples | ||
| assertions.rs | ||
| eval.rs | ||
| example.rs | ||
| explorer.html | ||
| explorer.rs | ||
| ids.rs | ||
| instance.rs | ||
| judge_diff_prompt.hbs | ||
| judge_thread_prompt.hbs | ||
| tool_metrics.rs | ||