[package]
edition = "2024"
name = "zeph"
version = "0.18.4"
authors = ["bug-ops"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Lightweight AI agent with hybrid inference, skills-first architecture, and multi-channel I/O"
homepage = "https://github.com/bug-ops/zeph"
documentation = "https://bug-ops.github.io/zeph/"
readme = "README.md"
keywords = [
"ai",
"agent",
"llm",
"inference",
"skills",
]
categories = [
"command-line-utilities",
"science",
]
license = "MIT"
repository = "https://github.com/bug-ops/zeph"
[features]
a2a = [
"dep:zeph-a2a",
"zeph-a2a?/server",
"zeph-a2a?/ibct",
]
acp = [
"dep:zeph-acp",
"zeph-acp/unstable-session-close",
"zeph-acp/unstable-session-fork",
"zeph-acp/unstable-session-resume",
"zeph-acp/unstable-elicitation",
"zeph-acp/unstable-logout",
]
acp-http = [
"acp",
"dep:axum",
"zeph-acp/acp-http",
]
candle = [
"zeph-llm/candle",
"zeph-core/candle",
]
chat = [
"discord",
"slack",
]
classifiers = [
"candle",
"zeph-llm/classifiers",
"zeph-sanitizer/classifiers",
"zeph-core/classifiers",
]
cuda = [
"candle",
"zeph-llm/cuda",
"zeph-core/cuda",
]
default = [
"scheduler",
"sqlite",
]
desktop = ["tui"]
discord = ["zeph-channels/discord"]
full = [
"desktop",
"ide",
"server",
"chat",
"pdf",
"scheduler",
"classifiers",
]
gateway = ["dep:zeph-gateway"]
ide = [
"acp",
"acp-http",
]
metal = [
"candle",
"zeph-llm/metal",
"zeph-core/metal",
]
ml = [
"candle",
"pdf",
]
otel = [
"dep:opentelemetry",
"dep:opentelemetry_sdk",
"dep:opentelemetry-otlp",
"dep:tracing-opentelemetry",
]
pdf = ["zeph-memory/pdf"]
postgres = [
"zeph-db/postgres",
"zeph-memory/postgres",
]
scheduler = [
"dep:zeph-scheduler",
"dep:cron",
"dep:schemars",
"dep:chrono",
"zeph-core/scheduler",
]
server = [
"gateway",
"a2a",
"otel",
]
slack = ["zeph-channels/slack"]
sqlite = [
"zeph-db/sqlite",
"zeph-memory/sqlite",
]
tui = ["dep:zeph-tui"]
[[bin]]
name = "zeph"
path = "src/main.rs"
[[test]]
name = "gateway_integration"
path = "tests/gateway_integration.rs"
[[test]]
name = "ingest_integration"
path = "tests/ingest_integration.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "orchestration_integration"
path = "tests/orchestration_integration.rs"
[[test]]
name = "performance_agent_integration"
path = "tests/performance_agent_integration.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.chrono]
version = "0.4"
optional = true
default-features = false
[dependencies.clap]
version = "4.6"
features = [
"derive",
"env",
]
[dependencies.cron]
version = "0.16"
optional = true
[dependencies.dialoguer]
version = "0.12"
[dependencies.futures]
version = "0.3"
[dependencies.glob]
version = "0.3.3"
[dependencies.opentelemetry]
version = "0.31"
optional = true
[dependencies.opentelemetry-otlp]
version = "0.31"
optional = true
default-features = false
[dependencies.opentelemetry_sdk]
version = "0.31"
optional = true
default-features = false
[dependencies.reqwest]
version = "0.13"
default-features = false
[dependencies.rmcp]
version = "1.3"
[dependencies.schemars]
version = "1.2"
optional = true
[dependencies.serde]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.similar]
version = "3.0"
[dependencies.tempfile]
version = "3.27"
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"signal",
"sync",
"time",
]
[dependencies.toml]
version = "1.1"
[dependencies.toml_edit]
version = "0.25"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-appender]
version = "0.2"
[dependencies.tracing-opentelemetry]
version = "0.32"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
default-features = false
[dependencies.url]
version = "2.5"
[dependencies.zeph-a2a]
version = "0.18.4"
optional = true
[dependencies.zeph-acp]
version = "0.18.4"
optional = true
[dependencies.zeph-channels]
version = "0.18.4"
[dependencies.zeph-core]
version = "0.18.4"
[dependencies.zeph-db]
version = "0.18.4"
default-features = false
[dependencies.zeph-gateway]
version = "0.18.4"
optional = true
[dependencies.zeph-index]
version = "0.18.4"
[dependencies.zeph-llm]
version = "0.18.4"
[dependencies.zeph-mcp]
version = "0.18.4"
[dependencies.zeph-memory]
version = "0.18.4"
default-features = false
[dependencies.zeph-sanitizer]
version = "0.18.4"
[dependencies.zeph-scheduler]
version = "0.18.4"
optional = true
[dependencies.zeph-skills]
version = "0.18.4"
[dependencies.zeph-tools]
version = "0.18.4"
[dependencies.zeph-tui]
version = "0.18.4"
optional = true
[dev-dependencies.serial_test]
version = "3.4"
[dev-dependencies.sqlx]
version = "0.8"
default-features = false
[dev-dependencies.tempfile]
version = "3.27"
[dev-dependencies.zeph-core]
version = "0.18.4"
[dev-dependencies.zeph-llm]
version = "0.18.4"
[dev-dependencies.zeph-memory]
version = "0.18.4"
default-features = false
[dev-dependencies.zeph-skills]
version = "0.18.4"
[lints.clippy]
all = "warn"
pedantic = "warn"
[lints.rust]
unsafe_code = "deny"
[profile.bench]
debug = 2
[profile.ci]
codegen-units = 16
debug = 0
incremental = false
inherits = "dev"
[profile.dev]
split-debuginfo = "unpacked"
[profile.dev.package."*"]
debug = 0
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true