[package]
edition = "2024"
rust-version = "1.88"
name = "agentai"
version = "0.2.0"
authors = ["Adam Strojek <adam@strojek.info>"]
build = false
exclude = [
"release-plz.toml",
".github",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "AgentAI is a Rust library designed to simplify the creation of AI agents."
readme = "README.md"
keywords = [
"generative-ai",
"openai",
"chatgpt",
"gemini",
"agent",
]
categories = ["text-processing"]
license = "MIT"
repository = "https://github.com/AdamStrojek/rust-agentai"
[package.metadata.docs.rs]
cargo-args = [
"-Zunstable-options",
"-Zrustdoc-scrape-examples",
]
[features]
default = [
"mcp-client",
"macros",
"tools-buildin",
"tools-web",
]
macros = ["agentai-macros"]
mcp-client = [
"dep:rmcp",
"dep:tokio",
]
tools-buildin = [
"macros",
"time",
"time-tz",
]
tools-web = ["macros"]
[lib]
name = "agentai"
path = "src/lib.rs"
[[example]]
name = "genai_custom"
path = "examples/genai_custom.rs"
[[example]]
name = "openrouter"
path = "examples/openrouter.rs"
[[example]]
name = "simple"
path = "examples/simple.rs"
[[example]]
name = "struct_output"
path = "examples/struct_output.rs"
[[example]]
name = "tools_custom"
path = "examples/tools_custom.rs"
[[example]]
name = "tools_mcp"
path = "examples/tools_mcp.rs"
[[example]]
name = "tools_web"
path = "examples/tools_web.rs"
[[test]]
name = "toolbox_attributes"
path = "tests/toolbox_attributes.rs"
[dependencies.agentai-macros]
version = "0.2"
optional = true
[dependencies.async-trait]
version = "0.1.92"
[dependencies.document-features]
version = "0.2"
[dependencies.genai]
version = "0.7"
[dependencies.log]
version = "0.4.34"
[dependencies.reqwest]
version = "0.13.5"
features = [
"json",
"query",
]
[dependencies.rmcp]
version = "3.6"
features = [
"client",
"transport-child-process",
"transport-streamable-http-client-reqwest",
"reqwest",
]
optional = true
default-features = false
[dependencies.schemars]
version = "1.2"
features = ["derive"]
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.154"
[dependencies.thiserror]
version = "2.0.21"
[dependencies.time]
version = "0.3"
features = [
"serde",
"formatting",
"parsing",
"local-offset",
"macros",
]
optional = true
[dependencies.time-tz]
version = "2.0.0"
optional = true
[dependencies.tokio]
version = "1.54.0"
features = ["process"]
optional = true
[dev-dependencies.anyhow]
version = "1.0.104"
[dev-dependencies.simplelog]
version = "0.12.2"
[dev-dependencies.tokio]
version = "1.54.0"
features = ["full"]