[package]
edition = "2024"
name = "defect-llm"
version = "0.1.0-alpha.6"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "LLM provider implementations (Anthropic, Bedrock, OpenAI, DeepSeek) for the defect agent."
readme = false
license = "MIT OR Apache-2.0"
repository = "https://github.com/vast-enterprise/defect"
[features]
default = [
"provider-anthropic",
"provider-bedrock",
"provider-openai",
"provider-deepseek",
]
provider-anthropic = []
provider-bedrock = [
"provider-anthropic",
"dep:aws-config",
"dep:aws-sdk-bedrockruntime",
"dep:aws-smithy-runtime-api",
"dep:aws-smithy-types",
]
provider-deepseek = ["provider-openai"]
provider-openai = []
[lib]
name = "defect_llm"
path = "src/lib.rs"
doctest = false
[[example]]
name = "anthropic_smoke"
path = "examples/anthropic_smoke.rs"
[[example]]
name = "bedrock_smoke"
path = "examples/bedrock_smoke.rs"
[[example]]
name = "deepseek_smoke"
path = "examples/deepseek_smoke.rs"
[[example]]
name = "openai_smoke"
path = "examples/openai_smoke.rs"
[[test]]
name = "anthropic_e2e"
path = "tests/anthropic_e2e.rs"
[[test]]
name = "common"
path = "tests/common.rs"
[[test]]
name = "deepseek_e2e"
path = "tests/deepseek_e2e.rs"
[[test]]
name = "openai_e2e"
path = "tests/openai_e2e.rs"
[dependencies.aws-config]
version = "1"
optional = true
[dependencies.aws-sdk-bedrockruntime]
version = "1"
features = [
"default-https-client",
"rt-tokio",
]
optional = true
default-features = false
[dependencies.aws-smithy-runtime-api]
version = "1"
optional = true
[dependencies.aws-smithy-types]
version = "1"
optional = true
[dependencies.bytes]
version = "1"
[dependencies.defect-core]
version = "0.1.0-alpha.6"
[dependencies.defect-http]
version = "0.1.0-alpha.6"
[dependencies.futures]
version = "0.3"
[dependencies.http]
version = "1"
[dependencies.http-body]
version = "1"
[dependencies.http-body-util]
version = "0.1"
[dependencies.hyper]
version = "1"
[dependencies.serde]
version = "1"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1"
[dependencies.sse-stream]
version = "0.2"
[dependencies.thiserror]
version = "2"
[dependencies.toac]
version = "0"
features = ["sse"]
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"io-util",
"io-std",
"sync",
"fs",
"process",
"signal",
"time",
]
[dependencies.tokio-util]
version = "0.7"
default-features = false
[dependencies.tower]
version = "0.5"
features = [
"util",
"timeout",
]
[dependencies.tracing]
version = "0.1"
[dev-dependencies.agent-client-protocol-schema]
version = "=0.13.2"
features = ["tracing"]
[dev-dependencies.defect-agent]
version = "0.1.0-alpha.6"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dev-dependencies.wiremock]
version = "0.6"
[lints.clippy]
too_many_arguments = "deny"