Skip to main content

Agent

Struct Agent 

Source
pub struct Agent {
    pub name: Option<String>,
    pub instruction: Option<String>,
    pub prompt: Option<String>,
    pub inline_skills: Vec<InlineSkill>,
    pub preflight: Preflight,
    pub wake_on: Option<Vec<WakeEvent>>,
    pub on_workflow_finished: OnWorkflowFinished,
    pub tools: AgentTools,
    pub max_parallel_turns: Option<u32>,
    pub conversation_budget: Option<Budget>,
    pub ask_human_fallback: AskHumanFallback,
    pub approval: Approval,
}

Fields§

§name: Option<String>§instruction: Option<String>

Static text, or a single-token URI a configured MCP server serves (read + subscribed) — one field, with the shape deciding which.

§prompt: Option<String>

A one-shot task (--prompt). With no workflows configured this is what the generated run executes, while instruction stays the standing policy (it becomes the run’s system prompt). Given alone, the prompt is the whole job — agentd --prompt "…" --intelligence … runs it once and exits with the answer on stdout.

§inline_skills: Vec<InlineSkill>

Skills defined by :::skill directives in the instruction — DERIVED (never a config key): Settings::from_document extracts them, the runtime feeds them to the catalogue. In the struct so a reload diff sees an edited inline skill as an agent change.

§preflight: Preflight§wake_on: Option<Vec<WakeEvent>>§on_workflow_finished: OnWorkflowFinished§tools: AgentTools§max_parallel_turns: Option<u32>§conversation_budget: Option<Budget>§ask_human_fallback: AskHumanFallback

What ask_human does when NO human channel can answer — the interface is disabled — and, for auto, when a gate times out unanswered fail (default; the ask errors immediately), wait (park until the ask timeout), or auto (an LLM judge answers on the operator’s behalf, conservatively, marked as auto).

§approval: Approval

What a gate does when a human COULD answer.

ask_human_fallback governs the case where nobody can answer; this governs whether to ask at all. They are separate because they are separate questions: “there is no channel” is a fact about deployment, “do not interrupt me” is a policy about attention.

Implementations§

Source§

impl Agent

Source

pub fn wake_on(&self) -> Vec<WakeEvent>

The wake set used when the operator declares none: the events that carry information the agent cannot get any other way. A finished workflow is deliberately absent — success needs no attention.

Source

pub fn max_parallel_turns(&self) -> u32

Source

pub fn instruction_is_uri(&self) -> bool

Whether the instruction is a resource reference (a single-token URI).

Trait Implementations§

Source§

impl Clone for Agent

Source§

fn clone(&self) -> Agent

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Agent

Source§

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

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

impl Default for Agent

Source§

fn default() -> Agent

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

impl<'de> Deserialize<'de> for Agent
where Agent: Default,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Agent

Source§

fn eq(&self, other: &Agent) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Agent

Auto Trait Implementations§

§

impl Freeze for Agent

§

impl RefUnwindSafe for Agent

§

impl Send for Agent

§

impl Sync for Agent

§

impl Unpin for Agent

§

impl UnsafeUnpin for Agent

§

impl UnwindSafe for Agent

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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, <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<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