pub struct ReActLoopConfig {
pub buffer: usize,
pub max_iteration: usize,
pub env_watcher: FuneraEnvWatcher,
pub tool_bus: ToolBus,
pub env_state_tx: Sender<EnvStateEvent>,
pub turn_highway_handle: TurnHighWayHandle,
pub session_tx: Option<UnboundedSender<SessionCmd>>,
}Expand description
Configuration for the ReAct loop execution.
Controls buffer sizes, iteration limits, environment watchers, event buses, and optional session integration.
Fields§
§buffer: usizeInternal channel buffer size for event buses (e.g. token stream relay).
max_iteration: usizeMaximum number of ReAct iterations per call (tool-calling cycles).
env_watcher: FuneraEnvWatcherWatcher for dynamic environment changes (client, model, tools, skills, sandbox).
tool_bus: ToolBusChannel for sending tool execution commands to the background executor.
env_state_tx: Sender<EnvStateEvent>Sender for environment state events (session lifecycle, tool changes).
turn_highway_handle: TurnHighWayHandleHandle for the per-turn highway protocol (allocates per-turn event buses).
session_tx: Option<UnboundedSender<SessionCmd>>Optional sender to the session actor — enables message history persistence.
Implementations§
Source§impl ReActLoopConfig
impl ReActLoopConfig
pub fn new( buffer: usize, max_iteration: usize, env_watcher: FuneraEnvWatcher, env_state_tx: Sender<EnvStateEvent>, turn_highway_handle: TurnHighWayHandle, ) -> Self
pub fn with_tool_bus(self, tool_bus: ToolBus) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for ReActLoopConfig
impl !UnwindSafe for ReActLoopConfig
impl Freeze for ReActLoopConfig
impl Send for ReActLoopConfig
impl Sync for ReActLoopConfig
impl Unpin for ReActLoopConfig
impl UnsafeUnpin for ReActLoopConfig
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