abk 0.1.21

Agent Builder Kit - Modular utilities for building LLM agents (config, observability, CLI, checkpointing, orchestration)
Documentation
[package]
name = "abk"
version = "0.1.21"
edition = "2021"
description = "Agent Builder Kit - Modular utilities for building LLM agents (config, observability, CLI, checkpointing, orchestration)"
license = "MIT OR Apache-2.0"
authors = ["simpaticoder Team"]
keywords = ["agent", "llm", "config", "observability", "cli"]
categories = ["config", "development-tools", "command-line-utilities"]
repository = "https://github.com/podtan/abk"
homepage = "https://abk.podtan.com"
readme = "README.md"

[features]
default = []
config = ["serde", "serde_json", "toml", "anyhow", "chrono", "dotenv"]
observability = ["anyhow", "chrono", "serde_json"]
cli = ["colored", "unicode-width", "clap", "comfy-table", "chrono", "anyhow", "async-trait", "serde", "serde_json", "thiserror", "config", "checkpoint"]
checkpoint = ["serde", "serde_json", "thiserror", "anyhow", "tokio", "chrono", "sha2", "uuid", "toml", "umf", "uname", "hostname"]
provider = ["serde", "serde_json", "anyhow", "async-trait", "wasmtime", "wasmtime-wasi", "reqwest", "futures-util", "umf", "tokio", "config"]
orchestration = ["anyhow", "tokio", "serde_json", "async-trait", "umf", "uuid", "futures-util", "provider"]
all = ["config", "observability", "cli", "checkpoint", "provider", "orchestration"]

[dependencies]
# Config feature dependencies
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
toml = { version = "0.8", optional = true }
anyhow = { version = "1.0", optional = true }
chrono = { version = "0.4", features = ["serde"], optional = true }
dotenv = { version = "0.15", optional = true }

# CLI feature dependencies
colored = { version = "2.0", optional = true }
unicode-width = { version = "0.1", optional = true }
clap = { version = "4.0", features = ["derive"], optional = true }
comfy-table = { version = "7.0", optional = true }

# Checkpoint feature dependencies
thiserror = { version = "1.0", optional = true }
tokio = { version = "1.0", features = ["fs", "io-util", "sync", "time"], optional = true }
sha2 = { version = "0.10", optional = true }
uuid = { version = "1.0", features = ["v4"], optional = true }
umf = { version = "0.1.3", features = ["streaming"], optional = true }
uname = { version = "0.1", optional = true }
hostname = { version = "0.4", optional = true }

# Provider feature dependencies
async-trait = { version = "0.1", optional = true }
wasmtime = { version = "25", optional = true }
wasmtime-wasi = { version = "25", optional = true }
reqwest = { version = "0.11", features = ["stream"], optional = true }
futures-util = { version = "0.3", optional = true }

[dev-dependencies]
tempfile = "3.0"
tokio = { version = "1.0", features = ["macros", "rt", "test-util", "time"] }
tokio-test = "0.4"
serde_json = "1.0"
anyhow = "1.0"
async-trait = "0.1"
umf = { version = "0.1.3", features = ["streaming"] }

[workspace]
# This is a standalone crate, not part of a workspace