//! `MockAiBehavior` trait — type-erased handle for consumers that hold a MockAI
//! reference without depending on the full implementation in mockforge-core.
//!
//! Concrete implementation lives in `mockforge-core::intelligent_behavior::MockAI`.
use crateResult;
use crate;
use async_trait;
/// Trait implemented by MockAI (in `mockforge-core`) to allow type-erased handles.
///
/// Consumers that need to hold a reference to a MockAI instance without depending
/// on the full implementation (e.g., `mockforge-chaos`, `mockforge-openapi`'s
/// route builder) can hold `Arc<RwLock<dyn MockAiBehavior + Send + Sync>>` and
/// dispatch requests through [`process_request`] without pulling in the full
/// MockAI engine.
///
/// [`process_request`]: MockAiBehavior::process_request