tinyagents 0.1.0

A Rust LLM orchestration library inspired by LangChain and LangGraph.
Documentation
[package]
name = "tinyagents"
version = "0.1.0"
edition = "2024"
license = "GPL-3.0-only"
description = "A Rust LLM orchestration library inspired by LangChain and LangGraph."
repository = "https://github.com/tinyhumansai/rustagents"
readme = "README.md"
keywords = ["llm", "agents", "graph", "langchain", "langgraph"]
categories = ["asynchronous", "api-bindings"]

[dependencies]
async-trait = "0.1"
# Runtime-agnostic future combinators (`join_all` for concurrent supersteps).
# Default features only; the library must not depend on tokio at runtime.
futures = "0.3"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"

# Optional HTTP client, pulled in only by hosted-provider features.
reqwest = { version = "0.12", default-features = false, features = [
    "json",
    "rustls-tls",
], optional = true }

[features]
default = []
# Hosted OpenAI Chat Completions provider (`harness::providers::openai`).
openai = ["dep:reqwest"]

[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread", "time"] }
# `.env` loading for the runnable examples.
dotenvy = "0.15"

# --- OpenAI-backed examples (require a network call + OPENAI_API_KEY) ---
# Gated behind the `openai` feature so the default build/test stays offline.
[[example]]
name = "openai_chat"
required-features = ["openai"]

[[example]]
name = "openai_tools"
required-features = ["openai"]

[[example]]
name = "openai_structured"
required-features = ["openai"]

[[example]]
name = "openai_graph_agent"
required-features = ["openai"]

[[example]]
name = "openai_self_blueprint"
required-features = ["openai"]