[dependencies.aisdk-macros]
version = "0.2.0"
[dependencies.async-openai]
optional = true
version = "0.29.3"
[dependencies.async-trait]
version = "0.1.88"
[dependencies.derive_builder]
version = "0.20.2"
[dependencies.futures]
version = "0.3"
[dependencies.glob]
optional = true
version = "0.3"
[dependencies.log]
version = "0.4"
[dependencies.reqwest]
features = ["json", "stream"]
optional = true
version = "0.12"
[dependencies.schemars]
version = "1.0.4"
[dependencies.serde]
features = ["derive"]
version = "1.0.219"
[dependencies.serde_json]
version = "1.0"
[dependencies.tera]
optional = true
version = "1"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tokio]
features = ["rt-multi-thread", "macros"]
version = "1.0"
[dev-dependencies.cargo-husky]
features = ["precommit-hook", "run-cargo-test", "run-cargo-clippy", "run-cargo-fmt"]
version = "1"
[dev-dependencies.dotenv]
version = "0.15.0"
[dev-dependencies.tempfile]
version = "3.10.1"
[dev-dependencies.tokio]
features = ["full"]
version = "1.46.1"
[features]
anthropic = ["reqwest"]
full = ["prompt", "openai", "anthropic", "groq"]
groq = ["openai"]
openai = ["async-openai"]
prompt = ["tera", "glob"]
test-access = []
[lib]
name = "aisdk"
path = "src/lib.rs"
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["api-bindings", "asynchronous"]
description = "An open-source Rust library for building AI-powered applications, inspired by the Vercel AI SDK. It provides a robust, type-safe, and easy-to-use interface for interacting with various Large Language Models (LLMs)."
edition = "2024"
homepage = "https://github.com/lazy-hq/aisdk"
keywords = ["ai", "sdk", "aisdk", "ai-sdk-rs", "openai"]
license = "MIT"
name = "aisdk"
readme = "README.md"
repository = "https://github.com/lazy-hq/aisdk"
version = "0.2.0"
[package.metadata.release]
pre-release-commit-message = "chore: release {{version}}"
[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
replace = "{{version}}"
search = "Unreleased"
[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = "...{{tag_name}}"
search = '\.\.\.HEAD'
[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
replace = "{{date}}"
search = "ReleaseDate"
[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = """
<!-- next-header -->
## [Unreleased] - ReleaseDate"""
search = "<!-- next-header -->"
[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = """
<!-- next-url -->
[Unreleased]: https://github.com/lazy-hq/aisdk/compare/{{tag_name}}...HEAD"""
search = "<!-- next-url -->"
[[test]]
name = "anthropic_tests"
path = "tests/provider/anthropic_tests.rs"
required-features = ["anthropic", "test-access"]
[[test]]
name = "groq_tests"
path = "tests/provider/groq_tests.rs"
required-features = ["groq", "test-access"]
[[test]]
name = "openai_tests"
path = "tests/provider/openai_tests.rs"
required-features = ["openai", "test-access"]