antigravity-codes 0.1.10

Typed Rust SDK for the Google Antigravity localharness agent runtime: serde models of its protobuf-JSON WebSocket protocol, the length-prefixed stdio handshake, and an async (Tokio) client with step assembly, tool dispatch, hooks, and policy callbacks.
Documentation
[package]
name = "antigravity-codes"
version = "0.1.10"
edition = "2021"
rust-version = "1.85"
authors = ["Matthew Goodman <d3a6d0cec0c16f3e@inboxnegative.com>"]
description = "Typed Rust SDK for the Google Antigravity localharness agent runtime: serde models of its protobuf-JSON WebSocket protocol, the length-prefixed stdio handshake, and an async (Tokio) client with step assembly, tool dispatch, hooks, and policy callbacks."
documentation = "https://docs.rs/antigravity-codes"
homepage = "https://github.com/meawoppl/rust-code-agent-sdks"
repository = "https://github.com/meawoppl/rust-code-agent-sdks"
license = "Apache-2.0"
readme = "README.md"
keywords = ["antigravity", "agent", "llm", "gemini", "websocket"]
categories = ["api-bindings", "asynchronous", "encoding", "parsing"]
exclude = [
    "tests/schemas/",
    "*.sh",
]

[lints]
workspace = true

[dependencies]
# Core dependencies for the `types` tier (must build on wasm32).
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
base64 = "0.22.1"

# Optional dependencies for the async WebSocket client.
tokio = { workspace = true, optional = true }
tokio-tungstenite = { version = "0.24.0", default-features = false, features = ["connect", "handshake"], optional = true }
futures-util = { version = "0.3.31", default-features = false, features = ["sink", "std"], optional = true }
log = { workspace = true, optional = true }
which = { workspace = true, optional = true }

[features]
default = ["types", "async-client"]
types = []
async-client = [
    "types",
    "dep:tokio",
    "dep:tokio-tungstenite",
    "dep:futures-util",
    "dep:log",
    "dep:which",
]
integration-tests = ["async-client"]

[dev-dependencies]
env_logger = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true }

# Every example drives a live harness, so none of them build on the types tier.
[[example]]
name = "stream_chat"
required-features = ["async-client"]

[[example]]
name = "custom_tool"
required-features = ["async-client"]

[[example]]
name = "capture_frames"
required-features = ["async-client"]