Skip to main content

neuron_loop/
config.rs

1//! Configuration types for the agentic loop.
2
3use neuron_types::SystemPrompt;
4
5/// Configuration for the agentic loop.
6#[derive(Debug, Clone)]
7pub struct LoopConfig {
8    /// The system prompt for the LLM provider.
9    pub system_prompt: SystemPrompt,
10    /// Maximum number of turns before the loop terminates.
11    /// `None` means no limit.
12    pub max_turns: Option<usize>,
13    /// Whether to execute tool calls in parallel when multiple are returned.
14    pub parallel_tool_execution: bool,
15}
16
17impl Default for LoopConfig {
18    fn default() -> Self {
19        Self {
20            system_prompt: SystemPrompt::Text(String::new()),
21            max_turns: None,
22            parallel_tool_execution: false,
23        }
24    }
25}