erio-tools 0.1.0

Tool registry and execution for Erio
Documentation
# erio-tools

`erio-tools` defines the tool execution layer for Erio: a `Tool` trait,
JSON-schema-like input modeling, result types, and an in-memory registry.

Use it when you want an agent to discover tools, validate parameters, and invoke
tool implementations consistently.

## Quickstart

```rust,no_run
use erio_tools::{PropertyType, ToolRegistry, ToolResult, ToolSchema};

let mut _registry = ToolRegistry::new();

let _schema = ToolSchema::builder()
    .property("query", PropertyType::String, "Search query", true)
    .build();

let _ok = ToolResult::success("done");
```

## API tour

- Key types: `Tool`, `ToolRegistry`, `ToolResult`
- Schema helpers: `ToolSchema`, `ToolSchemaBuilder`, `PropertyType`
- Error re-export: `ToolError` (from `erio-core`)

## Related crates

- Built on `erio-core` for shared error/message contracts.
- Commonly paired with `erio-llm-client` to expose tools to LLM providers.
- Docs: <https://docs.rs/erio-tools>
- Source: <https://github.com/NomanworkGroup/erio/tree/main/crates/tools>

## Compatibility

- MSRV: Rust 1.93
- License: Apache-2.0