[package]
name = "meerkat-anthropic"
description = "Anthropic (Claude) vertical for Meerkat: LLM client, provider runtime, catalog, capabilities, profile, and OAuth/Bedrock/Vertex/Foundry backends."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
keywords.workspace = true
categories.workspace = true

[dependencies]
meerkat-core = { workspace = true }
meerkat-models = { workspace = true }
meerkat-llm-core = { workspace = true }
# meerkat-auth-core's resolver is wasm-compatible (filesystem/OAuth arms
# are internally cfg-gated). The provider runtime's inline-secret path
# needs it on wasm32 so `populate_realm_from_api_keys` can resolve
# `CredentialSourceSpec::InlineSecret` in the browser.
meerkat-auth-core = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
futures = { workspace = true }
async-trait = { workspace = true }
async-stream = { workspace = true }
chrono = { workspace = true }
tracing = { workspace = true }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { workspace = true }
reqwest = { workspace = true }

[target.'cfg(target_arch = "wasm32")'.dependencies]
tokio_with_wasm = { workspace = true }
reqwest = { version = "0.12", default-features = false, features = ["json", "stream"] }
getrandom = { version = "0.3", features = ["wasm_js"] }

[dev-dependencies]
meerkat-runtime = { workspace = true }
tokio = { workspace = true, features = ["test-util", "macros"] }
meerkat-auth-core = { workspace = true, features = ["oauth"] }
axum = { workspace = true }

[features]
default = ["oauth"]
oauth = ["meerkat-auth-core/oauth"]
bedrock = ["meerkat-auth-core/aws-sigv4"]
vertex = ["meerkat-auth-core/gcp-auth"]
foundry = ["meerkat-auth-core/azure-ad"]
oauth_to_api_key = ["oauth"]

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

[lints]
workspace = true
