#![forbid(unsafe_code)]
pub use flymcprust_core::{
AppUi, BuildError, CompleteFn, Completion, CompletionRequest, Ctx, Elicitation, ErrorKind,
Extension, IntoContent, IntoPromptResult, IntoResourceContents, IntoToolError, IntoToolResult,
Json, Limits, MIN_REQUEST_STATE_KEY_BYTES, McpError, McpRequest, MirroredParam, ParamKind,
Permission, Principal, Prompt, PromptArguments, PromptDef, Resource, ResourceContents,
ResourceDef, Server, ServerBuilder, State, TokenError, TokenVerifier, Tool, ToolDef, ToolError,
ToolOutput, ToolResult, TransportContext, UriTemplate, UriTemplateError, UriVars, Visibility,
apps, auth, jsonrpc, message, security, spec, transport,
};
#[cfg(feature = "macros")]
pub use flymcprust_macros::{prompt, resource, tool};
#[cfg(feature = "test-client")]
pub use flymcprust_core::testing;
#[cfg(feature = "logging")]
pub mod logging {
pub fn init() {
let level = std::env::var("RUST_LOG")
.ok()
.and_then(|v| {
v.trim()
.parse::<tracing_subscriber::filter::LevelFilter>()
.ok()
})
.unwrap_or(tracing_subscriber::filter::LevelFilter::INFO);
let _ = tracing_subscriber::fmt()
.with_writer(std::io::stderr)
.with_max_level(level)
.with_target(false)
.try_init();
}
}
pub mod prelude {
pub use crate::{Ctx, Json, Server, State, ToolError, message};
#[cfg(feature = "macros")]
pub use crate::{prompt, resource, tool};
}
#[doc(hidden)]
pub mod __private {
pub use ::schemars;
pub use ::serde;
pub use ::serde_json;
pub use serde_json::value::RawValue;
pub use flymcprust_core::{
AppUi, Completion, CompletionRequest, Ctx, IntoPromptResult, IntoResourceContents,
IntoToolResult, Permission, Prompt, PromptArguments, PromptDef, PromptFuture, Resource,
ResourceDef, ResourceFuture, Tool, ToolDef, ToolError, ToolFuture, UriVars, Visibility,
apps, input_schema_for, output_schema_from, parse_arguments, parse_optional_uri_var,
parse_uri_var, spec,
};
#[cfg(feature = "auto-register")]
pub use flymcprust_core::{__inventory as inventory, AutoPrompt, AutoResource, AutoTool};
#[must_use]
pub fn missing_state() -> ToolError {
ToolError::internal(std::io::Error::other("tool state is not registered"))
}
}