Skip to main content

AgentConfig

Struct AgentConfig 

Source
pub struct AgentConfig {
Show 14 fields pub binary_path: Option<String>, pub gemini_config: GeminiConfig, pub capabilities: CapabilitiesConfig, pub system_instructions: Option<SystemInstructions>, pub save_dir: Option<String>, pub workspaces: Option<Vec<String>>, pub skills_paths: Vec<String>, pub policies: Option<Vec<Policy>>, pub hooks: Vec<Arc<dyn DynHook>>, pub triggers: Vec<Arc<dyn DynTrigger>>, pub tools: Vec<Arc<dyn DynTool>>, pub conversation_id: Option<String>, pub app_data_dir: Option<String>, pub response_schema: Option<String>,
}
Expand description

Configuration settings used to customize the behavior and capabilities of an Agent.

Fields§

§binary_path: Option<String>

Optional path to the localharness binary. If not provided, it will be automatically resolved via standard paths or standard environments.

§gemini_config: GeminiConfig

Gemini LLM configuration details (API key, default models, thinking settings, etc.).

§capabilities: CapabilitiesConfig

Capabilities config specifying enabled/disabled tools and threshold limits.

§system_instructions: Option<SystemInstructions>

Optional system instructions (either appended template sections or fully custom text).

§save_dir: Option<String>

Optional directory to save session state logs.

§workspaces: Option<Vec<String>>

Configured workspaces. If not provided, defaults to the current working directory.

§skills_paths: Vec<String>

Paths to local folders containing custom skill modules.

§policies: Option<Vec<Policy>>

Set of safety policies (e.g., workspace lock, run command approvals) to restrict tool execution.

§hooks: Vec<Arc<dyn DynHook>>

Handlers triggered during agent lifecycle hooks (pre/post tool calls, start session, etc.).

§triggers: Vec<Arc<dyn DynTrigger>>

Custom triggers spawned when the agent starts.

§tools: Vec<Arc<dyn DynTool>>

Custom Rust tools registered to be available for invocation.

§conversation_id: Option<String>

Specific conversation ID to assign or resume.

§app_data_dir: Option<String>

Path to the application data directory where cache/configs are stored.

§response_schema: Option<String>

Optional JSON schema constraining the final structured tool output.

Trait Implementations§

Source§

impl Debug for AgentConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AgentConfig

Source§

fn default() -> AgentConfig

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more