[package]
edition = "2024"
rust-version = "1.85"
name = "llm-tool"
version = "0.2.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Framework-agnostic Rust tool definitions for LLM agents"
readme = "README.md"
keywords = [
"llm",
"tool",
"agent",
"function-calling",
]
categories = ["api-bindings"]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/domenukk/llm-tool"
[features]
default = ["std"]
prompt-templates = [
"dep:prompt-templates",
"dep:prompt-templates-macros",
"llm-tool-macros/prompt-templates",
]
std = [
"serde_json/std",
"serde/std",
"schemars/std",
"hashbrown/default",
"prompt-templates?/std",
]
[lib]
name = "llm_tool"
path = "src/lib.rs"
[[test]]
name = "new_attr_names"
path = "tests/new_attr_names.rs"
[[test]]
name = "no_std"
path = "tests/no_std.rs"
[[test]]
name = "response_template"
path = "tests/response_template.rs"
[[test]]
name = "template_description"
path = "tests/template_description.rs"
[[test]]
name = "template_macro"
path = "tests/template_macro.rs"
[[test]]
name = "template_perf"
path = "tests/template_perf.rs"
[[test]]
name = "tool_macro"
path = "tests/tool_macro.rs"
[dependencies.hashbrown]
version = "0.17"
features = [
"allocator-api2",
"default-hasher",
]
default-features = false
[dependencies.llm-tool-macros]
version = "0.2.1"
[dependencies.prompt-templates]
version = "0.2.1"
features = ["serde"]
optional = true
default-features = false
[dependencies.prompt-templates-macros]
version = "0.2.1"
features = ["serde"]
optional = true
default-features = false
[dependencies.schemars]
version = "1"
features = ["derive"]
default-features = false
[dependencies.serde]
version = "1"
features = [
"derive",
"alloc",
]
default-features = false
[dependencies.serde_json]
version = "1"
features = ["alloc"]
default-features = false
[dependencies.spin]
version = "0.12"
features = [
"rwlock",
"lazy",
]
default-features = false
[dependencies.tracing]
version = "0.1"
default-features = false
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"macros",
"time",
"sync",
"fs",
]
[dev-dependencies.trybuild]
version = "1"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.clippy.pedantic]
level = "deny"
priority = -1
[lints.rust]
warnings = "deny"