use std::collections::HashMap;
use std::future::Future;
use std::io::Write;
use std::num::NonZeroUsize;
use std::pin::Pin;
use std::sync::atomic::{AtomicU64, Ordering};
use std::sync::{Arc, Mutex};
use base64::Engine as _;
use lash_core::llm::types as core_llm;
use lash_core::{ToolCall, ToolContract, ToolDefinition, ToolManifest, ToolProvider, ToolResult};
use super::*;
include!("core_conversions/triggers.rs");
include!("core_conversions/turn_input.rs");
include!("core_conversions/llm.rs");
include!("core_conversions/turn_result.rs");
include!("core_conversions/observations.rs");
include!("core_conversions/prompt.rs");
include!("core_conversions/tools.rs");
#[cfg(test)]
#[path = "core_conversions_tests.rs"]
mod core_conversions_tests;