Async client over reqwest+tokio with builder-pattern Client, serde RunRequest/RunResult/FileToken/AppToken types, thiserror Error enum, streaming multipart upload via tokio::fs::File, and 14 wiremock-backed integration tests covering healthz, run-success-json, run-success-text, run-502, run-with-files, file-upload, token mint/list/revoke, auth failure, missing-token short-circuit, transport timeout, and builder validation. Doc-tested. cargo test, cargo clippy --all-targets -D warnings, and cargo build --examples all clean.
29 lines
928 B
TOML
29 lines
928 B
TOML
[package]
|
|
name = "clawdforge"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
license = "MIT"
|
|
description = "Async Rust client for the clawdforge HTTP service (a LAN bearer-token-gated wrapper around `claude -p`)."
|
|
repository = "https://gitea.sulkta.com/Sulkta-Coop/clawdforge"
|
|
readme = "README.md"
|
|
keywords = ["claude", "http-client", "sdk", "async"]
|
|
categories = ["api-bindings", "asynchronous"]
|
|
|
|
[dependencies]
|
|
reqwest = { version = "0.12", default-features = false, features = ["json", "multipart", "stream", "rustls-tls"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
thiserror = "1"
|
|
tokio = { version = "1", features = ["fs", "io-util"] }
|
|
tokio-util = { version = "0.7", features = ["io"] }
|
|
url = "2"
|
|
bytes = "1"
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1", features = ["macros", "rt-multi-thread", "fs", "io-util", "time"] }
|
|
wiremock = "0.6"
|
|
tempfile = "3"
|
|
|
|
[[example]]
|
|
name = "basic"
|
|
path = "examples/basic.rs"
|