agentix 0.22.2

Multi-provider LLM client for Rust — streaming, non-streaming, tool calls, MCP, DeepSeek, OpenAI, Anthropic, Gemini, Mimo
Documentation
[package]
name = "agentix"
version = "0.22.2"
edition = "2024"
description = "Multi-provider LLM client for Rust — streaming, non-streaming, tool calls, MCP, DeepSeek, OpenAI, Anthropic, Gemini, Mimo"
authors = ["ozongzi <ozongzi@icloud.com>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ozongzi/agentix"
readme = "../README.md"
keywords = ["llm", "agent", "ai", "deepseek", "openai"]
categories = ["api-bindings", "web-programming"]

[features]
sensitive-logs = []
mcp = [
    "dep:rmcp",
    "rmcp/client",
    "rmcp/transport-child-process",
    "rmcp/transport-streamable-http-client-reqwest",
]
mcp-server = [
    "dep:rmcp",
    "rmcp/server",
    "rmcp/transport-io",
    "rmcp/transport-streamable-http-server",
    "dep:axum",
    "dep:base64",
]
claude-code = [
    "mcp-server",
    "dep:uuid",
]

[dependencies]
async-stream = "0.3"
async-trait = "0.1"
agentix-macros = { version = "0.5.1", path = "../agentix-macros" }
eventsource-stream = "0.2.3"
futures = "0.3.31"
reqwest = { version = "0.13", features = ["json", "stream"] }
schemars = "0.8"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1.49.0", features = ["full"] }
thiserror = "1.0"
tiktoken-rs = "0.6"

# Tracing for observability and diagnostics
tracing = "0.1"

# Optional: MCP (Model Context Protocol) client / server support
rmcp = { version = "1.1", optional = true }

# Optional: HTTP server for mcp-server feature
axum = { version = "0.8", optional = true, default-features = false, features = ["http1", "tokio"] }

# Optional: base64 encoding for fetched-URL images on mcp-server output
base64 = { version = "0.22", optional = true }
tokio-util = { version = "0.7.18", features = ["net"] }

# Optional: UUID generation for Claude Code session files
uuid = { version = "1", optional = true, features = ["v4"] }

[[example]]
name = "10_claude_code"
required-features = ["claude-code"]

[dev-dependencies]
axum = { version = "0.8", features = ["http1", "tokio"] }
tokio = { version = "1.49.0", features = ["macros", "rt-multi-thread"] }
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
tokio-stream = { version = "0.1", features = ["sync"] }