infinity-provider-protocol 0.2.0

Extensible model provider abstraction and remote wire protocol for Infinity agents.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"