Phase 2 build initial
This commit is contained in:
83
sdks/rust/Cargo.toml
Normal file
83
sdks/rust/Cargo.toml
Normal file
@@ -0,0 +1,83 @@
|
||||
[package]
|
||||
name = "hcfs-sdk"
|
||||
version = "2.0.0"
|
||||
edition = "2021"
|
||||
description = "Rust SDK for the Context-Aware Hierarchical Context File System"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/hcfs/hcfs"
|
||||
homepage = "https://docs.hcfs.dev/sdk/rust"
|
||||
documentation = "https://docs.rs/hcfs-sdk"
|
||||
keywords = ["hcfs", "context", "ai", "search", "embeddings"]
|
||||
categories = ["api-bindings", "web-programming::http-client"]
|
||||
authors = ["HCFS Development Team <dev@hcfs.dev>"]
|
||||
readme = "README.md"
|
||||
rust-version = "1.70"
|
||||
|
||||
[dependencies]
|
||||
# HTTP client
|
||||
reqwest = { version = "0.11", features = ["json", "rustls-tls"], default-features = false }
|
||||
|
||||
# Async runtime
|
||||
tokio = { version = "1.0", features = ["full"] }
|
||||
|
||||
# Serialization
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
|
||||
# Error handling
|
||||
thiserror = "1.0"
|
||||
anyhow = "1.0"
|
||||
|
||||
# Time handling
|
||||
chrono = { version = "0.4", features = ["serde"] }
|
||||
|
||||
# WebSocket support
|
||||
tokio-tungstenite = { version = "0.20", optional = true, features = ["rustls-tls-webpki-roots"] }
|
||||
futures-util = { version = "0.3", optional = true }
|
||||
|
||||
# Caching
|
||||
moka = { version = "0.12", features = ["future"], optional = true }
|
||||
|
||||
# Retry logic
|
||||
backoff = { version = "0.4", optional = true }
|
||||
|
||||
# Rate limiting
|
||||
governor = { version = "0.6", optional = true }
|
||||
|
||||
# Metrics
|
||||
prometheus = { version = "0.13", optional = true }
|
||||
|
||||
# Tracing
|
||||
tracing = { version = "0.1", optional = true }
|
||||
|
||||
# URL handling
|
||||
url = "2.4"
|
||||
|
||||
# UUID for request IDs
|
||||
uuid = { version = "1.0", features = ["v4"] }
|
||||
|
||||
[dev-dependencies]
|
||||
tokio-test = "0.4"
|
||||
wiremock = "0.5"
|
||||
|
||||
[features]
|
||||
default = ["cache", "retry", "rate-limit"]
|
||||
websocket = ["tokio-tungstenite", "futures-util"]
|
||||
cache = ["moka"]
|
||||
retry = ["backoff"]
|
||||
rate-limit = ["governor"]
|
||||
metrics = ["prometheus"]
|
||||
tracing = ["dep:tracing"]
|
||||
full = ["websocket", "cache", "retry", "rate-limit", "metrics", "tracing"]
|
||||
|
||||
[[example]]
|
||||
name = "basic_usage"
|
||||
required-features = ["cache"]
|
||||
|
||||
[[example]]
|
||||
name = "websocket_streaming"
|
||||
required-features = ["websocket"]
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
all-features = true
|
||||
rustdoc-args = ["--cfg", "docsrs"]
|
||||
Reference in New Issue
Block a user