goose/crates/goose-providers/Cargo.toml

69 lines
2.4 KiB
TOML

[package]
name = "goose-providers"
version = "0.1.0-alpha.0"
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description.workspace = true
[lints]
workspace = true
[features]
default = []
local-inference = ["dep:goose-local-inference"]
cuda = ["local-inference", "goose-local-inference/cuda"]
vulkan = ["local-inference", "goose-local-inference/vulkan"]
mlx = ["local-inference", "goose-local-inference/mlx"]
rustls-tls = [
"reqwest/rustls",
"rmcp/reqwest",
]
native-tls = [
"dep:pem",
"dep:pkcs1",
"dep:pkcs8",
"dep:sec1",
"reqwest/native-tls",
"rmcp/reqwest-native-tls",
]
[dependencies]
anyhow = { workspace = true }
async-stream = { workspace = true }
chrono = { workspace = true }
futures = { workspace = true }
goose-provider-types = { version = "0.1.0-alpha.0", path = "../goose-provider-types", default-features = false }
goose-local-inference = { version = "0.1.0-alpha.0", path = "../goose-local-inference", default-features = false, optional = true }
reqwest = { workspace = true }
rmcp = { workspace = true, features = ["server", "macros"] }
serde = { workspace = true }
serde_json = { workspace = true }
tracing = { workspace = true }
utoipa = { workspace = true, features = ["chrono"] }
async-trait = { workspace = true }
tokio = { workspace = true }
tokio-stream = { workspace = true, features = ["io-util"] }
tokio-util = { workspace = true, features = ["compat"] }
url = { workspace = true }
urlencoding = { workspace = true }
pem = { version = "3.0.2", default-features = false, features = ["std"], optional = true }
pkcs1 = { version = "0.7.5", default-features = false, features = ["pkcs8", "std"], optional = true }
# v0.10 matches the der/const-oid series used by sec1 v0.7 and pkcs1 v0.7; upgrading to v0.11 causes type mismatches across those crates.
pkcs8 = { version = "0.10", default-features = false, features = ["alloc", "std"], optional = true }
sec1 = { version = "0.7", default-features = false, features = ["der", "pkcs8", "std"], optional = true }
include_dir = { workspace = true }
[dev-dependencies]
test-case = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread"] }
tokio-stream = { workspace = true }
env-lock = { workspace = true }
wiremock.workspace = true
[[example]]
name = "streaming"
required-features = ["rustls-tls"]