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}