Skip to main content

AgentDefinitionBuilder

Struct AgentDefinitionBuilder 

Source
pub struct AgentDefinitionBuilder { /* private fields */ }
Expand description

Fluent builder for one immutable AgentDefinition.

The builder is intentionally additive: a developer may register only a custom Tool, only a Skill, a Skill plus standard Workspace Tools, or any combination of Tool/Hook/Guard/Observer. No hidden default Tool or network capability is added.

Implementations§

Source§

impl AgentDefinitionBuilder

Source

pub fn new(id: impl Into<String>, version: impl Into<String>) -> Self

Start from source-controlled Definition identity.

Source

pub fn from_env() -> Result<Self, DefinitionBuildError>

Start from the complete AGENT_DEFINITION_* environment identity.

Prefer this constructor in a generic Runtime distribution whose exact Definition identity is deployment-owned. A checked-in Agent may instead use Self::new followed by Self::load_env to make environment override support explicit while retaining source defaults.

Source

pub fn load_env(self) -> Result<Self, DefinitionBuildError>

Explicitly apply a complete Definition identity from the environment.

If none of the three variables is set, the source identity is retained. A partial environment is always an error. This method never reads Infra IDs, model selection, workspace binding, URLs, or credentials.

Source

pub fn runtime_type(self, value: impl Into<String>) -> Self

Set the behavior family used by Bootstrap binding validation.

Source

pub fn system_prompt(self, value: impl Into<String>) -> Self

Source

pub fn tool(self, value: Arc<dyn Tool>) -> Self

Source

pub fn skill(self, value: StaticSkill) -> Self

Register one always-available static Skill as a Context Hook.

Source

pub fn workspace_tools(self, value: WorkspaceToolSet) -> Self

Register a standard set of capability-scoped Workspace Tools.

The tools operate exclusively through ToolContext.workspace; no local path, endpoint, credential, or concrete Infra SDK client is exposed.

Source

pub fn context_hook(self, value: Arc<dyn ContextHook>) -> Self

Register a dynamic Context Hook for stateful Skills, Memory, or Plan.

Source

pub fn guard(self, value: Arc<dyn Guard>) -> Self

Source

pub fn observer(self, value: Arc<dyn Observer>) -> Self

Source

pub fn completion_mode(self, value: CompletionMode) -> Self

Source

pub fn build(self) -> Result<Arc<AgentDefinition>, DefinitionBuildError>

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, 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.