[package] name = "dirigent_tools" version = "0.1.0" edition = "2021" [lib] path = "src/lib.rs" [dependencies] # Policy types from dirigent_fermata dirigent_fermata = { workspace = true } # Async runtime — minimal feature set; no `net` so wasm consumers don't pull mio. tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "sync", "fs", "io-util", "time", "process"] } # Bytes for tool result content bytes = { version = "1", features = ["serde"] } serde_bytes = "0.11" # Async traits (object-safe async fn) async-trait = "0.1" # JSON Schema generation for tool input types schemars = "1.0" # Serialization serde = { version = "1.0", features = ["derive", "rc"] } serde_json = "1.0" # Error handling anyhow = "1.0" thiserror = "2.0" # Logging tracing = "0.1" # Text processing and pattern matching regex = "1.0" globset = "0.4" # Diff generation similar = { version = "2.6", features = ["inline"] } # Path utilities for cross-platform path handling (especially Windows) # Using dunce for reliable Windows path normalization dunce = "1.0" # Directory traversal for glob/search operations walkdir = "2.0" # Lazy static for global state lazy_static = "1.5" # Configuration serialization (for TOML/JSON config support) toml = { version = "0.8", optional = true } [dev-dependencies] # Test dependencies tokio = { version = "1", features = ["full", "test-util"] } tempfile = "3.0" toml = "0.8" [features] default = [] config = ["dep:toml"]