#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum OuterLoopIterationPhase {
IterationEnter,
PrepareContextDone,
AfterPlannerModel,
ReflectDecided,
ToolsExecute,
}
impl OuterLoopIterationPhase {
pub fn as_str(self) -> &'static str {
match self {
Self::IterationEnter => "iteration_enter",
Self::PrepareContextDone => "prepare_context_done",
Self::AfterPlannerModel => "after_planner_model",
Self::ReflectDecided => "reflect_decided",
Self::ToolsExecute => "tools_execute",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum OuterLoopIterationExit {
ContinueNextIteration,
StopOuterLoop,
}
impl OuterLoopIterationExit {
pub fn as_trace_str(self) -> &'static str {
match self {
Self::ContinueNextIteration => "continue_next_iteration",
Self::StopOuterLoop => "stop_outer_loop",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ReflectBranchCtl {
BreakOuter,
ContinueOuter,
ProceedToTools,
}
impl ReflectBranchCtl {
pub fn as_trace_str(self) -> &'static str {
match self {
Self::BreakOuter => "break_outer",
Self::ContinueOuter => "continue_outer",
Self::ProceedToTools => "proceed_to_tools",
}
}
}