[package]
edition = "2024"
name = "infinity-provider-protocol"
version = "0.2.0"
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Extensible model provider abstraction and remote wire protocol for Infinity agents."
documentation = "https://docs.rs/infinity-provider-protocol/"
readme = false
license = "Apache-2.0"
repository = "https://github.com/hydro-project/infinity"
resolver = "2"
[features]
mock = [
"dep:tokio",
"dep:async-stream",
]
remote = [
"dep:tokio",
"tokio/net",
"tokio/rt",
"tokio/time",
"dep:tokio-util",
"dep:uuid",
"dep:async-stream",
"dep:tracing",
"futures-util/sink",
]
[lib]
name = "infinity_provider_protocol"
path = "src/lib.rs"
[dependencies.async-stream]
version = "0.3"
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.futures-util]
version = "0.3"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"macros",
"sync",
]
optional = true
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.uuid]
version = "1"
features = ["v4"]
optional = true
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"sync",
"macros",
"rt-multi-thread",
]
[lints.clippy]
alloc_instead_of_core = "warn"
allow_attributes = "warn"
allow_attributes_without_reason = "warn"
double_must_use = "allow"
explicit_into_iter_loop = "warn"
let_and_return = "allow"
manual_is_variant_and = "warn"
manual_let_else = "warn"
redundant_clone = "warn"
self_named_module_files = "warn"
str_to_string = "warn"
try_err = "warn"
uninlined_format_args = "allow"
unused_async = "warn"
unwrap_used = "warn"
[lints.rust]
impl_trait_overcaptures = "warn"
missing_unsafe_on_extern = "deny"
unsafe_attr_outside_unsafe = "deny"
unused_qualifications = "warn"