pub mod auth;
pub mod http;
pub mod llm;
pub mod mcp;
pub mod mcp_dispatch;
pub mod mcp_session;
pub mod mcp_progress;
pub mod mcp_notify;
#[cfg(any(test, feature = "test-support"))]
pub mod test_support;
pub use auth::{AuthConfig, AuthError, AuthenticatedPrincipal};
pub use http::{SoloHttpState, openapi_spec, serve_http};
pub use llm::{SamplingClient, SamplingError, SamplingLlmClient, build_sampling_steward};
pub use mcp::{
ENV_MCP_PRINCIPAL_TOKEN, SoloMcpServer, resolve_mcp_principal, serve_stdio, tool_names,
};
pub use mcp_dispatch::{
JsonRpcErrorBody, JsonRpcErrorResponse, JsonRpcRequest, JsonRpcResponse, JsonRpcSuccess,
McpDispatcher,
};
pub use mcp_session::{
MCP_LAST_EVENT_ID_HEADER, MCP_SESSION_ABSOLUTE_TTL_MS, MCP_SESSION_EVENT_BUFFER_CAPACITY,
MCP_SESSION_EXPIRED_ERROR, MCP_SESSION_ID_HEADER, MCP_SESSION_INACTIVITY_TTL_MS,
MCP_SESSION_SWEEP_INTERVAL_SECS, MCP_STREAM_EVENT_HEARTBEAT_NAME,
MCP_STREAM_EVENT_INIT_NAME, MCP_STREAM_EVENT_LAGGED_NAME, MCP_STREAM_EVENT_MESSAGE_NAME,
MCP_STREAM_EVENT_PROGRESS_NAME, McpEventKind, McpStreamEvent, SessionId, SessionState,
SessionStore, mcp_session_middleware, set_session_id_header,
};
pub use mcp_progress::{
MCP_NOTIFICATION_PROGRESS_METHOD, MCP_REMEMBER_BATCH_PROGRESS_EMIT_EVERY,
MCP_REMEMBER_BATCH_PROGRESS_ITEM_THRESHOLD, MCP_SEARCH_DOCS_PROGRESS_TOP_K_THRESHOLD,
ProgressReporter, ProgressToken, report_if_some,
};
pub use mcp_notify::{
MCP_NOTIFICATION_DATA_CONSOLIDATION_UPDATED, MCP_NOTIFICATION_DATA_DOCUMENTS_UPDATED,
MCP_NOTIFICATION_DATA_GRAPH_UPDATED, MCP_NOTIFICATION_DATA_MEMORIES_UPDATED,
MCP_NOTIFICATION_DATA_MEMORY_UPDATED, MCP_NOTIFICATION_DATA_TENANT_UPDATED,
MCP_NOTIFICATION_MESSAGE_LEVEL, MCP_NOTIFICATION_MESSAGE_LOGGER,
MCP_NOTIFICATION_MESSAGE_METHOD, map_invalidate_to_message, spawn_invalidate_bridge,
};