pub enum LoopAction {
CallLLM {
context: RenderedContext,
tools: Vec<ToolSchema>,
},
ExecuteTools {
calls: Vec<ToolCall>,
},
Done {
result: LoopResult,
},
EvaluateMilestone {
phase_id: String,
criteria: Vec<String>,
verifier: Option<MilestoneVerifier>,
required_evidence: Vec<String>,
},
AwaitingResume,
}Expand description
Actions the state machine outputs — SDK layer executes the I/O.
Variants§
CallLLM
Structured context ready for a provider call.
context.system_text → provider system param.
context.turns → provider messages array (strictly alternating).
tools → tool schemas (skill / memory / knowledge / user tools).
ExecuteTools
Done
Fields
§
result: LoopResultEvaluateMilestone
Kernel requests the SDK to evaluate the current milestone phase.
The SDK should assess criteria against the agent’s output using the
specified verifier, then feed back LoopEvent::MilestoneResult { result }.
Fields
§
verifier: Option<MilestoneVerifier>AwaitingResume
Kernel is suspended — SDK must resolve (e.g. human approval) and feed Resume.
Trait Implementations§
Source§impl Debug for LoopAction
impl Debug for LoopAction
Source§impl From<LoopAction> for KernelAction
impl From<LoopAction> for KernelAction
Source§fn from(action: LoopAction) -> Self
fn from(action: LoopAction) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for LoopAction
impl RefUnwindSafe for LoopAction
impl Send for LoopAction
impl Sync for LoopAction
impl Unpin for LoopAction
impl UnsafeUnpin for LoopAction
impl UnwindSafe for LoopAction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more