opencode-sdk 0.1.6

Rust SDK for OpenCode (HTTP-first hybrid with SSE streaming)
Documentation
[package]
name = "opencode-sdk"
version = "0.1.6"
edition = "2024"
authors = ["Allison Durham"]
description = "Rust SDK for OpenCode (HTTP-first hybrid with SSE streaming)"
repository = "https://github.com/allisoneer/agentic_auxilary"
homepage = "https://github.com/allisoneer/agentic_auxilary"
documentation = "https://docs.rs/opencode-rs-sdk"
license = "Apache-2.0"
keywords = ["opencode", "sdk", "http", "sse", "streaming"]
categories = ["api-bindings", "asynchronous", "development-tools"]

[features]
default = ["http", "sse"]
http = ["dep:reqwest", "dep:serde_json"]
sse = ["dep:reqwest-eventsource", "dep:backon"]
server = ["tokio/process", "dep:portpicker"]
cli = ["tokio/process"]
full = ["http", "sse", "server", "cli"]

[dependencies]
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls"], optional = true }
reqwest-eventsource = { version = "0.6", optional = true }
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time"] }
tokio-util = "0.7"
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", optional = true }
thiserror = "2"
url = "2"
http = "1"
backon = { version = "1", features = ["tokio-sleep"], optional = true }
tracing = "0.1"
chrono = { version = "0.4", features = ["serde"] }
portpicker = { version = "0.1", optional = true }
futures = "0.3"
urlencoding = "2"
uuid = { version = "1", features = ["serde", "v4"] }

[dev-dependencies]
wiremock = "0.6"
tokio-test = "0.4"
anyhow = "1"
tracing-subscriber = "0.3"

# Examples with feature requirements
[[example]]
name = "basic"
required-features = ["http", "sse"]

[[example]]
name = "streaming"
required-features = ["http", "sse"]

[[example]]
name = "managed_server"
required-features = ["http", "sse", "server"]

[[example]]
name = "cli_runner"
required-features = ["cli"]

[[example]]
name = "full_workflow"
required-features = ["http", "sse"]

[package.metadata.repo]
role = "lib"
family = "services"

[package.metadata.repo.integrations]
mcp = false
logging = false
napi = false