#![recursion_limit = "256"]
mod agent;
mod askit;
mod board_agent;
mod config;
mod context;
mod definition;
mod error;
mod id;
mod llm;
mod message;
mod output;
mod registry;
mod runtime;
mod spec;
mod stream;
pub mod tool;
mod value;
#[cfg(feature = "mcp")]
pub mod mcp;
#[cfg(feature = "test-utils")]
pub mod test_utils;
pub use async_trait::async_trait;
#[cfg(feature = "image")]
pub use photon_rs::{self, PhotonImage};
pub extern crate self as agent_stream_kit;
pub use inventory;
pub use fnv;
pub use indexmap;
pub type FnvIndexMap<K, V> = indexmap::IndexMap<K, V, fnv::FnvBuildHasher>;
pub type FnvIndexSet<T> = indexmap::IndexSet<T, fnv::FnvBuildHasher>;
pub use askit_macros::askit_agent;
pub use agent::{Agent, AgentData, AgentStatus, AsAgent, HasAgentData, agent_new, new_agent_boxed};
pub use askit::{ASKit, ASKitEvent};
pub use config::{AgentConfigs, AgentConfigsMap};
pub use context::AgentContext;
pub use definition::{AgentConfigSpec, AgentConfigSpecs, AgentDefinition, AgentDefinitions};
pub use error::AgentError;
pub use llm::{Message, ToolCall, ToolCallFunction};
pub use output::AgentOutput;
pub use registry::AgentRegistration;
pub use spec::{AgentSpec, AgentStreamSpec, AgentStreamSpecs, ChannelSpec};
pub use stream::{AgentStream, AgentStreamInfo, AgentStreams};
pub use value::{AgentValue, AgentValueMap};