[package]
edition = "2024"
rust-version = "1.97.1"
name = "tea-tools"
version = "0.1.0"
build = false
publish = ["crates-io"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Portable tool specifications and execution contracts for tea-rs"
readme = "README.md"
keywords = [
"agent",
"tools",
"json-schema",
]
categories = [
"asynchronous",
"data-structures",
]
license = "Apache-2.0"
repository = "https://github.com/tea-hq/tea-rs.git"
resolver = "2"
[features]
default = [
"execution",
"model-projection",
]
execution = [
"schema",
"dep:tea-control",
"dep:futures-core",
"dep:futures-util",
]
model-projection = ["dep:tea-model"]
schema = [
"dep:idna",
"dep:jsonschema",
]
[lib]
name = "tea_tools"
path = "src/lib.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[dependencies.futures-core]
version = "=0.3.31"
optional = true
[dependencies.futures-util]
version = "=0.3.31"
features = [
"async-await",
"std",
]
optional = true
default-features = false
[dependencies.idna]
version = "=1.0.3"
optional = true
[dependencies.jsonschema]
version = "=0.26.2"
optional = true
default-features = false
[dependencies.semver]
version = "=1.0.26"
features = ["serde"]
[dependencies.serde]
version = "=1.0.220"
features = ["derive"]
[dependencies.serde_json]
version = "=1.0.140"
[dependencies.tea-control]
version = "=0.1.0"
optional = true
[dependencies.tea-model]
version = "=0.1.0"
optional = true
[dependencies.tea-protocol]
version = "=0.1.0"
[dependencies.thiserror]
version = "=2.0.12"
[dev-dependencies.tokio]
version = "=1.47.1"
features = [
"macros",
"rt",
]
default-features = false
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
unsafe_code = "forbid"