aither 0.4.0

Providing unified trait abstractions for AI models
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 = "aither"
version = "0.4.0"
authors = ["Lexo Liu <me@lexo.cool>"]
build = false
exclude = [
    ".github/",
    ".gitignore",
    "target/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Providing unified trait abstractions for AI models"
documentation = "https://docs.rs/aither"
readme = "README.md"
keywords = [
    "ai",
    "llm",
    "embedding",
    "image-generation",
    "no-std",
]
categories = [
    "api-bindings",
    "no-std",
]
license = "MIT"
repository = "https://github.com/lexoliu/aither"
resolver = "2"

[package.metadata.cargo-machete]
ignored = ["url"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[badges.maintenance]
status = "actively-developed"

[features]
agent = ["aither-agent"]
all-providers = [
    "openai",
    "claude",
    "gemini",
    "llama",
    "ort",
]
all-tools = [
    "browser",
    "websearch",
    "webfetch",
    "search",
    "fs",
    "command",
]
browser = ["aither-browser"]
claude = ["aither-claude"]
command = ["aither-command"]
default = [
    "derive",
    "serde",
]
derive = ["aither-derive"]
fs = ["aither-fs"]
full = [
    "all-providers",
    "all-tools",
    "agent",
    "rag",
    "mem0",
    "skills",
    "mcp",
]
gemini = ["aither-gemini"]
llama = ["aither-llama"]
mcp = ["aither-mcp"]
mem0 = ["aither-mem0"]
openai = ["aither-openai"]
ort = ["aither-ort"]
rag = ["aither-rag"]
search = ["aither-search"]
serde = [
    "serde/derive",
    "url/serde",
]
skills = ["aither-skills"]
webfetch = ["aither-webfetch"]
websearch = ["aither-websearch"]

[lib]
name = "aither"
path = "src/lib.rs"

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

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

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

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

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

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

[dependencies.aither-agent]
version = "0.4.0"
optional = true

[dependencies.aither-browser]
version = "0.4.0"
optional = true

[dependencies.aither-claude]
version = "0.4.0"
optional = true

[dependencies.aither-command]
version = "0.4.0"
optional = true

[dependencies.aither-core]
version = "0.4.0"

[dependencies.aither-derive]
version = "0.4.0"
optional = true

[dependencies.aither-fs]
version = "0.4.0"
optional = true

[dependencies.aither-gemini]
version = "0.4.0"
optional = true

[dependencies.aither-llama]
version = "0.4.0"
optional = true

[dependencies.aither-mcp]
version = "0.4.0"
optional = true

[dependencies.aither-mem0]
version = "0.4.0"
optional = true

[dependencies.aither-openai]
version = "0.4.0"
optional = true

[dependencies.aither-ort]
version = "0.4.0"
optional = true

[dependencies.aither-rag]
version = "0.4.0"
optional = true

[dependencies.aither-search]
version = "0.4.0"
optional = true

[dependencies.aither-skills]
version = "0.4.0"
optional = true

[dependencies.aither-webfetch]
version = "0.4.0"
optional = true

[dependencies.aither-websearch]
version = "0.4.0"
optional = true

[dependencies.anyhow]
version = "1.0"
default-features = false

[dependencies.futures-lite]
version = "2.6"

[dependencies.schemars]
version = "1.2"
default-features = false

[dependencies.serde]
version = "1.0"
default-features = false

[dependencies.serde_json]
version = "1.0"
default-features = false

[dependencies.url]
version = "2.5"
default-features = false

[dev-dependencies.aither-gemini]
version = "0.4.0"

[dev-dependencies.aither-mem0]
version = "0.4.0"

[dev-dependencies.aither-openai]
version = "0.4.0"

[dev-dependencies.aither-rag]
version = "0.4.0"

[dev-dependencies.aither-webfetch]
version = "0.4.0"

[dev-dependencies.crossterm]
version = "0.29"

[dev-dependencies.futures-lite]
version = "2.6"

[dev-dependencies.schemars]
version = "1.2"

[dev-dependencies.serde]
version = "1.0"
features = ["derive"]

[dev-dependencies.tokio]
version = "1.53"
features = [
    "macros",
    "rt",
    "rt-multi-thread",
]

[dev-dependencies.tokio-test]
version = "0.4"

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
    "fmt",
    "env-filter",
]

[lints.clippy]
disallowed_methods = "deny"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.clippy.cargo]
level = "warn"
priority = -1

[lints.clippy.complexity]
level = "warn"
priority = -1

[lints.clippy.correctness]
level = "warn"
priority = -1

[lints.clippy.multiple_crate_versions]
level = "allow"
priority = 1

[lints.clippy.nursery]
level = "warn"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.clippy.perf]
level = "warn"
priority = -1

[lints.clippy.style]
level = "warn"
priority = -1

[lints.clippy.suspicious]
level = "warn"
priority = -1

[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"