system2 0.1.0

An (unofficial) idiomatic Rust SDK for TypeSafe's System One model, Jev.
Documentation
[package]
name = "system2"
version = "0.1.0"
edition = "2024"
rust-version = "1.88"
description = "An (unofficial) idiomatic Rust SDK for TypeSafe's System One model, Jev."
license = "MIT OR Apache-2.0"
repository = "https://github.com/jhartquist/system2"
readme = "README.md"
keywords = ["jev", "typesafe", "llm", "decision", "classification"]
categories = ["api-bindings", "asynchronous"]

[package.metadata.docs.rs]
all-features = true

[lints]
workspace = true

[features]
image = ["dep:image", "system2-shared/image", "system2-macros/image"]

[dependencies]
base64 = "0.23"
hex = { version = "0.4", features = ["serde"] }
httpdate = "1"
image = { version = "0.25.10", default-features = false, optional = true }
reqwest = { version = "0.13", default-features = false, features = ["rustls"] }
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["raw_value"] }
sha2 = "0.11"
system2-macros = { version = "=0.1.0", path = "../system2-macros" }
system2-shared = { version = "=0.1.0", path = "../system2-shared" }
thiserror = "2"
tokio = { version = "1", features = ["net", "rt-multi-thread", "sync", "time"] }
tracing = { version = "0.1", default-features = false, features = ["std"] }
zstd = "0.14"

[dev-dependencies]
tokio = { version = "1", features = ["io-util", "macros", "net", "rt", "sync", "time"] }
tracing-subscriber = { version = "0.3", default-features = false, features = ["registry"] }
trybuild = "1"
wiremock = "0.6"