pub struct SpawnConfig {
pub name: String,
pub prompt: String,
pub model: Option<String>,
pub cwd: Option<PathBuf>,
pub max_turns: Option<i32>,
pub allowed_tools: Vec<String>,
pub permission_mode: Option<String>,
pub reasoning_effort: Option<String>,
pub env: HashMap<String, String>,
pub memory_config: Option<MemoryConfig>,
pub delegations: Vec<CliDelegation>,
}Expand description
Configuration passed to AgentBackend::spawn when creating a new agent session.
Fields§
§name: StringHuman-readable agent name (used for logging and routing).
prompt: StringInitial prompt / system instruction to send to the agent.
model: Option<String>Model override (backend-specific; None = use default).
cwd: Option<PathBuf>Working directory for the agent process.
max_turns: Option<i32>Maximum conversation turns before the agent auto-stops.
allowed_tools: Vec<String>Tools the agent is allowed to use (auto-approval list).
permission_mode: Option<String>Permission mode string (e.g. "default", "plan", "bypassPermissions").
reasoning_effort: Option<String>Reasoning effort level for the model (Codex: "low", "medium", "high", "xhigh").
When None, the backend’s default / global config is used.
env: HashMap<String, String>Extra environment variables passed to the child process.
memory_config: Option<MemoryConfig>Memory configuration for cross-turn context injection.
delegations: Vec<CliDelegation>CLI tools this agent should delegate to via Bash.
Implementations§
Source§impl SpawnConfig
impl SpawnConfig
Sourcepub fn new(name: impl Into<String>, prompt: impl Into<String>) -> Self
pub fn new(name: impl Into<String>, prompt: impl Into<String>) -> Self
Create a minimal spawn config with just a name and prompt.
Sourcepub fn builder(
name: impl Into<String>,
prompt: impl Into<String>,
) -> SpawnConfigBuilder
pub fn builder( name: impl Into<String>, prompt: impl Into<String>, ) -> SpawnConfigBuilder
Start building a spawn config with required fields.
use agent_teams::SpawnConfig;
let config = SpawnConfig::builder("reviewer", "You are a code reviewer")
.model("gemini-2.5-flash")
.max_turns(5)
.build();Trait Implementations§
Source§impl Clone for SpawnConfig
impl Clone for SpawnConfig
Source§fn clone(&self) -> SpawnConfig
fn clone(&self) -> SpawnConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for SpawnConfig
impl RefUnwindSafe for SpawnConfig
impl Send for SpawnConfig
impl Sync for SpawnConfig
impl Unpin for SpawnConfig
impl UnwindSafe for SpawnConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more