agentai 0.3.0

AgentAI is a Rust library designed to simplify the creation of AI agents.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.88"
name = "agentai"
version = "0.3.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 = "openrouter"
path = "examples/openrouter.rs"

[[example]]
name = "simple"
path = "examples/simple.rs"

[[example]]
name = "streaming"
path = "examples/streaming.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.3"
optional = true

[dependencies.async-stream]
version = "0.3.6"

[dependencies.async-trait]
version = "0.1.92"

[dependencies.document-features]
version = "0.2"

[dependencies.futures-util]
version = "0.3.34"

[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"]