[package]
name = "cersei"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Cersei: A modular Rust SDK for building coding agents"
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "../../README.md"

[dependencies]
cersei-types = { workspace = true }
cersei-provider = { workspace = true }
cersei-tools = { workspace = true }
cersei-tools-derive = { workspace = true }
cersei-agent = { workspace = true }
cersei-memory = { workspace = true }
cersei-hooks = { workspace = true }
cersei-mcp = { workspace = true }
cersei-vms = { workspace = true, optional = true }
cersei-agentlang = { workspace = true, optional = true }
cersei-agentrl = { workspace = true, optional = true }
cersei-workflows = { workspace = true, optional = true }
async-trait = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
schemars = { workspace = true }
tokio = { workspace = true }
anyhow = { workspace = true }
parking_lot = { workspace = true }
which = { workspace = true }
uuid = { workspace = true }
sha2 = { workspace = true }
base64 = { workspace = true }
url = { workspace = true }
reqwest = { workspace = true }
chrono = { workspace = true }
dirs = { workspace = true }
futures = { workspace = true }

[features]
default = ["vms"]
vms = ["dep:cersei-vms", "cersei-tools/vms"]
# AgentTemplate DSL — the programmable sub-agent language.
agentlang = ["dep:cersei-agentlang"]
# AgentRL — the self-evolving orchestration layer (pulls in agentlang + vms).
agentrl = ["dep:cersei-agentrl", "agentlang", "vms"]
# Workflows — the serializable, UI-buildable workflow engine.
workflows = ["dep:cersei-workflows"]

[dev-dependencies]
tokio = { workspace = true }
tempfile = { workspace = true }
tracing-subscriber = { workspace = true }

