#![warn(missing_docs)]
#![warn(clippy::all)]
#![warn(clippy::pedantic)]
#![allow(clippy::module_name_repetitions)]
#[cfg(feature = "introspection")]
pub mod introspection;
#[cfg(feature = "runtime")]
pub mod runtime;
#[cfg(feature = "codegen")]
pub mod codegen;
#[cfg(feature = "schema")]
pub mod schema;
pub mod adapters;
pub mod config;
pub mod error;
pub mod proxy;
#[cfg(feature = "runtime")]
#[cfg_attr(docsrs, doc(cfg(feature = "runtime")))]
pub mod tower;
#[cfg(feature = "cli")]
pub mod cli;
pub use error::{ProxyError, ProxyResult};
pub mod prelude {
pub use crate::config::{BackendConfig, FrontendType};
pub use crate::error::{ProxyError, ProxyResult};
#[cfg(feature = "introspection")]
pub use crate::introspection::{
McpBackend, McpIntrospector, PromptSpec, ResourceSpec, ServerSpec, StdioBackend, ToolSpec,
};
#[cfg(feature = "runtime")]
pub use crate::runtime::{RuntimeProxy, RuntimeProxyBuilder};
#[cfg(feature = "codegen")]
pub use crate::codegen::RustCodeGenerator;
#[cfg(feature = "rest")]
pub use crate::adapters::rest::{RestAdapter, RestAdapterConfig};
#[cfg(feature = "graphql")]
pub use crate::adapters::graphql::{GraphQLAdapter, GraphQLAdapterConfig};
pub use crate::proxy::{
AtomicMetrics, BackendConnector, BackendTransport, IdTranslator, ProxyMetrics, ProxyService,
};
pub use crate::proxy::frontends::{TcpFrontend, TcpFrontendConfig};
#[cfg(unix)]
pub use crate::proxy::frontends::{UnixFrontend, UnixFrontendConfig};
}
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub const MCP_PROTOCOL_VERSION: &str = "2025-11-25";