#![forbid(unsafe_code)]
#![deny(missing_docs)]
mod audit;
mod effect;
#[cfg(feature = "execution")]
mod executor;
mod invocation;
#[cfg(feature = "execution")]
mod registry;
mod resource;
mod result;
#[cfg(feature = "schema")]
mod schema;
mod source;
mod spec;
pub use audit::{
TOOL_AUDIT_METADATA_NAMESPACE, ToolAuditMetadata, ToolAuditMetadataError, ToolAuditResource,
};
pub use effect::{ToolEffect, ToolEffectParseError};
#[cfg(feature = "execution")]
pub use executor::{
BoxToolExecutionStream, ToolExecutionEvent, ToolExecutionStream, ToolExecutor, ToolProgress,
ToolStreamValidator, ToolStreamViolation,
};
pub use invocation::{ToolInvocation, ToolInvocationError, ValidatedToolInvocation};
#[cfg(all(feature = "execution", feature = "model-projection"))]
pub use registry::ToolRoutePreference;
#[cfg(feature = "execution")]
pub use registry::{ToolBinding, ToolRegistry, ToolRegistryError};
pub use resource::{
ArgumentResourceResolver, MAX_TOOL_RESOURCES, StaticResourceResolver, ToolResource,
ToolResourceAccess, ToolResourceError, ToolResourceResolver,
};
pub use result::{ToolExecutionFailure, ToolExecutionFailureCode, ToolResult, ToolResultError};
#[cfg(feature = "schema")]
pub use schema::{
CompiledToolSchema, MAX_SCHEMA_ERRORS, MAX_TOOL_VALUE_BYTES, MAX_TOOL_VALUE_DEPTH,
SchemaCompilationError, SchemaValidationError, SchemaValidationFailure,
};
pub use source::{ToolSource, ToolSourceError, ToolSourceKind, ToolTrust};
pub use spec::{
SchedulerClass, ToolConcurrency, ToolExecutionSemantics, ToolIdentityParseError, ToolName,
ToolRetrySafety, ToolSpec, ToolSpecError, ToolTimeout, ToolVersion,
};