Expand description
Declarative conversation phase management.
A PhaseMachine holds named Phases and evaluates guard-based
transitions. Each phase carries an instruction (static or dynamic),
optional tool filters, and async entry/exit callbacks.
The machine is owned by the control-lane task; no internal locking is
required — &self for reads, &mut self for mutations.
Structs§
- Phase
- A conversation phase with instruction, tools, and transitions.
- Phase
Machine - Evaluates transitions and manages phase entry/exit lifecycle.
- Phase
Preparation - A preparation effect that can materialize state before a phase is entered.
- Phase
Transition - Record of a single phase transition for history/debugging.
- Transition
- A guard-based transition to a named target phase.
- Transition
Result - Result of a phase transition, carrying the resolved instruction and any context to inject.
Enums§
- Instruction
Modifier - A modifier that transforms a phase instruction based on runtime state.
- Phase
Instruction - Instruction source for a phase — either a fixed string or a closure over state.
- Transition
Evaluation - Result of evaluating outbound transitions.
- Transition
Trigger - What caused a phase transition.