pub struct SpecBuilder<S: State = Empty> { /* private fields */ }Expand description
Use builder syntax to set the inputs and finish with build().
Implementations§
Source§impl<S: State> SpecBuilder<S>
impl<S: State> SpecBuilder<S>
Sourcepub fn name(self, value: Name) -> SpecBuilder<SetName<S>>where
S::Name: IsUnset,
pub fn name(self, value: Name) -> SpecBuilder<SetName<S>>where
S::Name: IsUnset,
Required.
Stable workflow-facing agent name.
This is an identifier such as manager-daily-brief or booking-triage,
not a human display label. It connects prompt packets, outputs, and audit
evidence back to the spec that constrained the agent run.
Sourcepub fn purpose(self, value: Purpose) -> SpecBuilder<SetPurpose<S>>where
S::Purpose: IsUnset,
pub fn purpose(self, value: Purpose) -> SpecBuilder<SetPurpose<S>>where
S::Purpose: IsUnset,
Required.
Business purpose for the agent’s draft or evidence work.
The purpose should state the resort operation being supported, such as summarizing labor risk, drafting customer-safe follow-up, or routing vaccine-document ambiguity; it does not grant live-action authority.
Sourcepub fn allowed_tools(
self,
value: Vec<ToolName>,
) -> SpecBuilder<SetAllowedTools<S>>where
S::AllowedTools: IsUnset,
pub fn allowed_tools(
self,
value: Vec<ToolName>,
) -> SpecBuilder<SetAllowedTools<S>>where
S::AllowedTools: IsUnset,
Required.
Tool names the runtime may expose to this agent.
These should be read-only, draft-only, or task-creation surfaces scoped to the workflow. They are the positive capability list for context building, not permission to bypass review gates or mutate source systems.
Sourcepub fn forbidden_actions(
self,
value: Vec<ForbiddenAction>,
) -> SpecBuilder<SetForbiddenActions<S>>where
S::ForbiddenActions: IsUnset,
pub fn forbidden_actions(
self,
value: Vec<ForbiddenAction>,
) -> SpecBuilder<SetForbiddenActions<S>>where
S::ForbiddenActions: IsUnset,
Required.
Live or unsafe actions the agent must not perform directly.
Examples include confirming bookings, promising availability, changing labor schedules, waiving deposits, diagnosing pets, or sending customer messages without approval.
Sourcepub fn default_review_gates(
self,
value: Vec<ReviewGate>,
) -> SpecBuilder<SetDefaultReviewGates<S>>where
S::DefaultReviewGates: IsUnset,
pub fn default_review_gates(
self,
value: Vec<ReviewGate>,
) -> SpecBuilder<SetDefaultReviewGates<S>>where
S::DefaultReviewGates: IsUnset,
Required.
Human or deterministic app review gates required for the workflow.
These gates keep manager approval, customer-message approval, medical document review, and similar authority outside the model-generated output.