ai-lib-rust 0.9.6

Protocol Runtime for AI-Protocol - A high-performance Rust reference implementation
# 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 = "2021"
rust-version = "1.75"
name = "ai-lib-rust"
version = "0.9.6"
authors = ["AI-Protocol Team"]
build = false
include = [
    "Cargo.toml",
    "../../README.md",
    "../../README_CN.md",
    "../../docs/ARCHITECTURE.md",
    "../../CHANGELOG.md",
    "../../LICENSE-APACHE",
    "../../LICENSE-MIT",
    "src/**",
    "examples/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Protocol Runtime for AI-Protocol - A high-performance Rust reference implementation"
readme = "README.md"
keywords = [
    "ai",
    "unified",
    "api",
    "llm",
    "multi-provider",
]
categories = [
    "api-bindings",
    "network-programming",
    "asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ailib-official/ai-lib-rust"

[features]
batch = [
    "ai-lib-core/batch",
    "ai-lib-contact/batch",
]
computer_use = ["ai-lib-core/computer_use"]
default = ["keyring"]
embeddings = ["ai-lib-core/embeddings"]
full = [
    "keyring",
    "embeddings",
    "batch",
    "guardrails",
    "tokens",
    "telemetry",
    "routing_mvp",
    "interceptors",
    "mcp",
    "computer_use",
    "multimodal",
    "reasoning",
    "stt",
    "tts",
    "reranking",
]
guardrails = ["ai-lib-contact/guardrails"]
interceptors = ["ai-lib-contact/interceptors"]
keyring = [
    "dep:keyring",
    "ai-lib-core/keyring",
]
mcp = ["ai-lib-core/mcp"]
multimodal = ["ai-lib-core/multimodal"]
reasoning = ["ai-lib-core/reasoning"]
reranking = ["ai-lib-core/reranking"]
routing_mvp = ["ai-lib-contact/routing_mvp"]
stt = ["ai-lib-core/stt"]
telemetry = ["ai-lib-contact/telemetry"]
tokens = ["ai-lib-contact/tokens"]
tts = ["ai-lib-core/tts"]

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

[[bin]]
name = "ai-protocol-cli"
path = "src/bin/ai_protocol_cli.rs"

[[bin]]
name = "validate_protocols"
path = "src/bin/validate_protocols.rs"

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

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

[[example]]
name = "batch_processing"
path = "examples/batch_processing.rs"
required-features = ["batch"]

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

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

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

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

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

[[example]]
name = "embeddings_similarity"
path = "examples/embeddings_similarity.rs"
required-features = ["embeddings"]

[[example]]
name = "guardrails_usage"
path = "examples/guardrails_usage.rs"
required-features = ["guardrails"]

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

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

[[example]]
name = "multi_provider"
path = "examples/multi_provider.rs"
required-features = ["routing_mvp"]

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

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

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

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

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

[dependencies.ai-lib-contact]
version = "0.9.6"
default-features = false

[dependencies.ai-lib-core]
version = "0.9.6"

[dependencies.anyhow]
version = "1.0"

[dependencies.arc-swap]
version = "1.6"

[dependencies.async-recursion]
version = "1.0"

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

[dependencies.base64]
version = "0.22"

[dependencies.bytes]
version = "1.5"

[dependencies.futures]
version = "0.3"
features = ["alloc"]

[dependencies.jsonschema]
version = "0.18"

[dependencies.keyring]
version = "2.0"
optional = true

[dependencies.lru]
version = "0.12"

[dependencies.notify]
version = "6.1"

[dependencies.once_cell]
version = "1.19"

[dependencies.regex]
version = "1.10"

[dependencies.reqwest]
version = "0.11"
features = [
    "json",
    "stream",
    "rustls-tls",
    "blocking",
    "multipart",
]
default-features = false

[dependencies.schemars]
version = "0.8"

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

[dependencies.serde_json]
version = "1.0"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.sha2]
version = "0.10"

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1.0"
features = ["full"]

[dependencies.tokio-stream]
version = "0.1"

[dependencies.tokio-util]
version = "0.7"
features = ["codec"]

[dependencies.tracing]
version = "0.1"

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

[dependencies.url]
version = "2.5"

[dependencies.uuid]
version = "1.6"
features = ["v4"]

[dev-dependencies.criterion]
version = "0.5"
features = ["async_tokio"]

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

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