Expose spawn agent types only when roles are configured (#33572)

## Why

The `agent_type` argument is only useful when agent roles are configured. Avoid
advertising an inapplicable override in the model-visible `spawn_agent` schema.

## What changed

- Include `agent_type` in the V1 and V2 spawn tools only when configured roles
  are available.
- Clarify that `agent_type` is an explicit override and document its interaction
  with context forking.
- Remove the unused `agents.support_agent_type` configuration field.

## Testing

- Add coverage for hiding `agent_type` without roles and exposing it when a role
  is configured.

GitOrigin-RevId: 32e0f123b15f317e9cdb71774029375bc073d9ad
This commit is contained in:
jif
2026-07-16 10:28:36 +00:00
committed by copyberry
parent 03bb3b1236
commit 9ff47868eb
14 changed files with 96 additions and 49 deletions
-3
View File
@@ -688,9 +688,6 @@ pub struct AgentsToml {
pub max_concurrent_threads_per_session: Option<usize>,
/// Maximum nesting depth for V1 agent threads. Ignored by V2.
pub max_depth: Option<i32>,
/// Reserved for controlling whether the spawn tool supports agent types.
/// Currently ignored.
pub support_agent_type: Option<bool>,
/// Reserved default model for spawned subagents. Currently ignored.
pub default_subagent_model: Option<String>,
/// Reserved default reasoning effort for spawned subagents. Currently ignored.