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
impl AgentDefinitionBuilder
Sourcepub fn new(id: impl Into<String>, version: impl Into<String>) -> Self
pub fn new(id: impl Into<String>, version: impl Into<String>) -> Self
Start from source-controlled Definition identity.
Sourcepub fn from_env() -> Result<Self, DefinitionBuildError>
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.
Sourcepub fn load_env(self) -> Result<Self, DefinitionBuildError>
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.
Sourcepub fn runtime_type(self, value: impl Into<String>) -> Self
pub fn runtime_type(self, value: impl Into<String>) -> Self
Set the behavior family used by Bootstrap binding validation.
pub fn system_prompt(self, value: impl Into<String>) -> Self
pub fn tool(self, value: Arc<dyn Tool>) -> Self
Sourcepub fn skill(self, value: StaticSkill) -> Self
pub fn skill(self, value: StaticSkill) -> Self
Register one always-available static Skill as a Context Hook.
Sourcepub fn workspace_tools(self, value: WorkspaceToolSet) -> Self
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.
Sourcepub fn context_hook(self, value: Arc<dyn ContextHook>) -> Self
pub fn context_hook(self, value: Arc<dyn ContextHook>) -> Self
Register a dynamic Context Hook for stateful Skills, Memory, or Plan.