[package] license = "Apache-2.0" name = "xai-computer-hub-sdk" version = "0.1.0" edition.workspace = true description = "SDK for the xAI Computer Hub: connection pool, transparent reconnect, tool harness, and tool-server runtime." [features] metrics = ["dep:prometheus", "dep:prometheus-parse"] [dependencies] tokio = { workspace = true, features = ["rt", "sync", "time", "macros"] } tokio-tungstenite = { workspace = true, features = ["rustls-tls-native-roots"] } tokio-util = { workspace = true } futures = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } dashmap = { workspace = true } indexmap = { workspace = true } arc-swap = { workspace = true } async-trait = { workspace = true } thiserror = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } url = { workspace = true } http = { workspace = true } prometheus = { workspace = true, optional = true } prometheus-parse = { version = "0.2.5", optional = true } reqwest = { workspace = true } chrono = { workspace = true } parking_lot = { workspace = true } fastrace = { workspace = true } # Trace donation: spans convert via the stock fastrace -> OTel reporter # and ship as standard OTLP payloads. fastrace-opentelemetry = { workspace = true } opentelemetry = { workspace = true } opentelemetry_sdk = { workspace = true } opentelemetry-proto = { workspace = true } prost = { workspace = true } base64 = { workspace = true } xai-tool-protocol = { workspace = true } xai-tool-runtime = { workspace = true } xai-tool-types = { workspace = true } xai-computer-hub-core = { workspace = true } xai-tracing = { workspace = true } # Integration tests that need heavier backend deps live in a separate sibling crate to keep this dev-dep set minimal. [dev-dependencies] tokio = { workspace = true, features = ["full", "test-util"] } axum = { workspace = true, features = ["ws", "macros"] } chrono = { workspace = true } base64 = { workspace = true } schemars = { workspace = true } [lints] workspace = true