Crate tool_useful

Crate tool_useful 

Source
Expand description

ยงtool-useful

A high-performance, type-safe function calling and tool orchestration framework for Rust AI applications.

ยงPerformance Features

  • โšก Parallel execution with configurable concurrency
  • ๐Ÿ”„ Advanced retry policies with exponential backoff & jitter
  • โฑ๏ธ Circuit breakers to prevent cascading failures
  • ๐Ÿ“Š Built-in metrics and tracing
  • ๐Ÿš€ Zero-cost abstractions

ยงSecurity Features

  • ๐Ÿ”’ Permission system (network, filesystem)
  • ๐Ÿ“ Resource limits (memory, CPU time)
  • ๐Ÿ›ก๏ธ Rate limiting
  • ๐Ÿ” Sandboxing support

ยงAdvanced Features

  • ๐Ÿ“ก Streaming tool execution
  • ๐Ÿ“ฆ Batch processing
  • ๐ŸŒ Multi-provider schema export (OpenAI, Anthropic, Gemini)

Re-exportsยง

pub use error::ErrorKind;
pub use error::ToolError;
pub use error::ToolResult;
pub use executor::CircuitBreaker;
pub use executor::ExecutionContext;
pub use executor::Executor;
pub use executor::ExecutorBuilder;
pub use executor::ExecutorMetrics;
pub use executor::RetryPolicy;
pub use executor::RetryStrategy;
pub use executor::ToolExecutor;
pub use registry::Provider;
pub use registry::ToolRegistry;
pub use schema::ParameterSchema;
pub use schema::ProviderSchema;
pub use schema::ToolSchema;
pub use security::FileSystemPermission;
pub use security::NetworkPermission;
pub use security::Permissions;
pub use security::PermissionsBuilder;
pub use security::RateLimiter;
pub use security::ResourceTracker;
pub use streaming::collect_stream;
pub use streaming::StreamingToolExecutor;
pub use tool::FromToolCall;
pub use tool::Tool;
pub use tool::ToolMetadata;
pub use types::ToolCall;
pub use types::ToolOutput;

Modulesยง

error
Error types for tool execution.
executor
High-performance tool execution engine with retry, timeout, and resource management.
prelude
Prelude for convenient imports
registry
Tool registry and discovery system.
schema
Schema generation and provider-specific formats.
security
Security primitives: permissions, resource limits, and sandboxing.
streaming
Streaming tool execution for handling large outputs.
tool
Core tool trait and metadata.
types
Common types used throughout the framework.