1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
* OpenAI API
*
* The OpenAI REST API. Please see https://platform.openai.com/docs/api-reference for more details.
*
* The version of the OpenAPI document: 2.3.0
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// BetaMultiAgentParam : Configuration for server-hosted multi-agent execution.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
pub struct BetaMultiAgentParam {
/// Whether to enable server-hosted multi-agent execution for this response.
#[serde(rename = "enabled")]
pub enabled: bool,
/// `max_concurrent_subagents` sets the maximum number of subagents that can be active simultaneously across the entire agent tree. It includes all descendants—children, grandchildren, and deeper subagents—but excludes the root agent. The API does not impose a fixed upper bound on this setting. The default is `3`, which is recommended for most workloads. Multi-agent runs also have no fixed limit on tree depth or the total number of subagents created during a run.
#[serde(
rename = "max_concurrent_subagents",
skip_serializing_if = "Option::is_none"
)]
pub max_concurrent_subagents: Option<i32>,
}
impl BetaMultiAgentParam {
/// Configuration for server-hosted multi-agent execution.
pub fn new(enabled: bool) -> BetaMultiAgentParam {
BetaMultiAgentParam {
enabled,
max_concurrent_subagents: None,
}
}
}
impl std::fmt::Display for BetaMultiAgentParam {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match serde_json::to_string(self) {
Ok(s) => write!(f, "{}", s),
Err(_) => Err(std::fmt::Error),
}
}
}