trustee 0.2.2

A general-purpose agent that can morph into different specialized agents using WASM lifecycle plugins
[package]
name = "trustee"
version = "0.2.2"
edition = "2021"
description = "A general-purpose agent that can morph into different specialized agents using WASM lifecycle plugins"
license = "MIT OR Apache-2.0"
authors = ["Podtan Team"]
keywords = ["agent", "ai", "llm", "wasm"]
categories = ["command-line-utilities", "development-tools", "wasm"]
repository = "https://github.com/podtan/trustee"
homepage = "https://trustee.podtan.com"
readme = "README.md"

[[bin]]
name = "trustee"
path = "src/main.rs"

[features]
default = []  # No TUI/Web by default - keeps binary small
tui = ["dep:ratatui", "dep:crossterm", "dep:tokio-util", "dep:trustee-tui"]
web = ["dep:trustee-api", "dep:trustee-core", "dep:tracing", "dep:tracing-subscriber"]
wasm = ["abk/wasm"]

[dependencies]
# ABK with registry-mcp for MCP tool aggregation
abk = { version = "0.8.0", features = ["cli", "orchestration", "agent", "observability", "storage-documentdb", "registry-mcp-token"] }
# UMF with MCP support
umf = { version = "0.2.6", features = ["streaming", "mcp"] }
# Layered configuration merging (defaults + user overrides)
figment = { version = "0.10", features = ["toml"] }
toml = "0.8"
# Remote encrypted config/secrets
getmyconfig = "0.1.1"
tokio = { version = "1.0", features = ["full"] }
# Clap for command-line argument parsing in main.rs
clap = { version = "4.6", features = ["derive"] }

# TUI dependencies (optional)
ratatui = { version = "0.30.2", optional = true }
crossterm = { version = "0.29", optional = true }
tokio-util = { version = "0.7", optional = true }
trustee-tui = { version = "0.1.55", path = "crates/trustee-tui", optional = true }
# Web/API dependencies (optional)
trustee-core = { version = "0.1.2", path = "crates/trustee-core", optional = true }
trustee-api = { version = "0.1.2", path = "crates/trustee-api", optional = true }
# Tracing for web server logging (optional, used by trustee-api)
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", optional = true }
# Self-upgrade tool (always enabled — `trustee upgrade` subcommand)
trustee-upgrade = { version = "0.1.2", path = "crates/trustee-upgrade" }

[workspace]
members = ["crates/trustee-api", "crates/trustee-core", "crates/trustee-tui", "crates/trustee-web", "crates/trustee-upgrade"]
resolver = "2"