pub struct RunConfig {
pub streaming_mode: StreamingMode,
pub tool_confirmation_decisions: HashMap<String, ToolConfirmationDecision>,
pub cached_content: Option<String>,
pub transfer_targets: Vec<String>,
pub parent_agent: Option<String>,
pub auto_cache: bool,
}Expand description
Core traits and types.
Always available regardless of feature flags. Includes:
Fields§
§streaming_mode: StreamingMode§tool_confirmation_decisions: HashMap<String, ToolConfirmationDecision>Optional per-tool confirmation decisions for the current run. Keys are tool names.
cached_content: Option<String>Optional cached content name for automatic prompt caching.
When set by the runner’s cache lifecycle manager, agents should attach
this name to their GenerateContentConfig so the LLM provider can
reuse cached system instructions and tool definitions.
transfer_targets: Vec<String>Valid agent names this agent can transfer to (parent, peers, children).
Set by the runner when invoking agents in a multi-agent tree.
When non-empty, the transfer_to_agent tool is injected and validation
uses this list instead of only checking sub_agents.
parent_agent: Option<String>The name of the parent agent, if this agent was invoked via transfer.
Used by the agent to apply disallow_transfer_to_parent filtering.
auto_cache: boolEnable automatic prompt caching for all providers that support it.
When true (the default), the runner enables provider-level caching:
- Anthropic: sets
prompt_caching = trueon the config - Bedrock: sets
prompt_caching = Some(BedrockCacheConfig::default()) - OpenAI / DeepSeek: no action needed (caching is automatic)
- Gemini: handled separately via
ContextCacheConfig
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RunConfig
impl RefUnwindSafe for RunConfig
impl Send for RunConfig
impl Sync for RunConfig
impl Unpin for RunConfig
impl UnsafeUnpin for RunConfig
impl UnwindSafe for RunConfig
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request