#![deny(unsafe_code)]
#![warn(missing_docs, missing_debug_implementations)]
mod command;
mod confinement;
mod error;
mod path;
mod redact;
mod server_config;
mod types;
pub mod cli;
pub mod metadata;
pub mod provenance;
pub mod untrusted;
pub use error::{Error, ResourceKind, Result};
pub use types::{
MAX_SERVER_ID_LENGTH, ServerId, ServerIdError, ServerIdSlugError, ToolName, ToolNameError,
validate_server_id_slug,
};
pub use server_config::{ServerConfig, ServerConfigBuilder, Transport};
pub use command::{
MAX_ARG_COUNT, MAX_ARG_LEN, MAX_ENV_COUNT, MAX_ENV_VALUE_LEN, MAX_HEADER_COUNT,
MAX_HEADER_VALUE_LEN, MAX_URL_LEN, env_name_charset_desc, env_name_charset_pattern,
forbidden_chars, forbidden_env_names, forbidden_env_prefix, validate_server_config,
validate_url_scheme,
};
pub use path::{
contains_parent_dir, first_disallowed_identifier_char, sanitize_path_for_error,
validate_path_segment,
};
pub use confinement::{
ConfinementError, ConfinementTarget, open_confined_write, resolve_confined_path,
write_confined_file,
};
pub use redact::{
REDACTED_PLACEHOLDER, RedactedItems, RedactedMapValues, RedactedUrl, redact_urls_in_text,
};