wesichain-graph 0.3.0

Rust-native LLM agents & chains with resumable ReAct workflows
Documentation
use wesichain_graph::{ExecutionConfig, ExecutionOptions};

#[test]
fn execution_config_defaults_and_merge() {
    let defaults = ExecutionConfig::default();
    assert_eq!(defaults.max_steps, Some(50));
    assert!(defaults.cycle_detection);
    assert_eq!(defaults.cycle_window, 20);

    let overrides = ExecutionOptions {
        max_steps: Some(5),
        cycle_detection: Some(false),
        cycle_window: Some(3),
        ..ExecutionOptions::default()
    };
    let merged = defaults.merge(&overrides);
    assert_eq!(merged.max_steps, Some(5));
    assert!(!merged.cycle_detection);
    assert_eq!(merged.cycle_window, 3);

    let merged_empty = defaults.merge(&ExecutionOptions::default());
    assert_eq!(merged_empty.max_steps, Some(50));
    assert!(merged_empty.cycle_detection);
    assert_eq!(merged_empty.cycle_window, 20);
}