#![deny(missing_docs)]
pub mod builder;
pub mod ctx;
pub mod errors;
pub mod hook;
pub mod locale;
pub mod logging;
pub mod reply;
pub mod runtime;
#[cfg(feature = "admin")]
pub mod admin;
#[cfg(feature = "notifications")]
pub mod notifications;
#[cfg(feature = "events")]
pub mod events;
#[cfg(feature = "stt")]
pub mod stt;
#[cfg(feature = "wizard")]
pub mod wizard;
#[cfg(feature = "voice")]
pub mod voice;
#[cfg(feature = "outbound")]
pub mod outbound;
#[cfg(feature = "plugin")]
pub mod plugin;
#[cfg(feature = "test-harness")]
pub mod test_harness;
pub use builder::{HandlerRegistry, Microapp};
pub use ctx::{HookCtx, ToolCtx};
pub use errors::{Error, Result, ToolError};
pub use hook::{HookHandler, HookOutcome};
pub use locale::{LangCode, Locale, LocaleParseError, RegionCode};
pub use logging::init_logging_from_env;
pub use reply::ToolReply;
pub use runtime::ToolHandler;
#[cfg(feature = "outbound")]
pub use outbound::{DispatchAck, DispatchError, OutboundDispatcher};
#[cfg(feature = "plugin")]
pub use plugin::{
BrokerEventHandler, BrokerSender, LlmCompleteParams, LlmCompleteResult, LlmStream,
PluginAdapter, RpcError, ShutdownHandler, TokenCount,
};
#[cfg(feature = "admin")]
pub use admin::{AdminClient, AdminError, AdminSender, DEFAULT_ADMIN_TIMEOUT};
#[cfg(feature = "test-harness")]
pub use test_harness::{MicroappTestError, MicroappTestHarness, MockBindingContext};