Skip to content
Merged
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [Unreleased]

### Added
- `zeph-acp` crate — ACP (Agent Client Protocol) server for IDE embedding (Zed, JetBrains, Neovim) (#763-#766)
- `--acp` CLI flag to launch Zeph as an ACP stdio server (requires `acp` feature)
- `acp` feature gate in root `Cargo.toml`; included in `full` feature set
- `ZephAcpAgent` implementing SDK `Agent` trait with session lifecycle (new, prompt, cancel, load)
- `loopback_event_to_update` mapping `LoopbackEvent` variants to ACP `SessionUpdate` notifications, with empty chunk filtering
- `serve_stdio()` transport using `AgentSideConnection` over tokio-compat stdio streams
- Stream monitor gated behind `ZEPH_ACP_LOG_MESSAGES` env var for JSON-RPC traffic debugging
- Custom mdBook theme with Zeph brand colors (navy+amber palette from TUI)
- Z-letter favicon SVG for documentation site
- Sidebar logo via inline data URI
Expand Down
70 changes: 70 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 6 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ categories = ["command-line-utilities", "science"]

[workspace.dependencies]
age = { version = "0.11.2", default-features = false }
agent-client-protocol = "0.9"
anyhow = "1.0"
async-trait = "0.1"
axum = "0.8"
base64 = "0.22"
blake3 = "1.8"
Expand Down Expand Up @@ -95,6 +97,7 @@ url = "2.5"
uuid = "1.21"
wiremock = "0.6.5"
zeph-a2a = { path = "crates/zeph-a2a", version = "0.11.6" }
zeph-acp = { path = "crates/zeph-acp", version = "0.11.6" }
zeph-channels = { path = "crates/zeph-channels", version = "0.11.6" }
zeph-core = { path = "crates/zeph-core", version = "0.11.6" }
zeph-gateway = { path = "crates/zeph-gateway", version = "0.11.6" }
Expand Down Expand Up @@ -127,8 +130,9 @@ readme = "README.md"

[features]
default = []
full = ["a2a", "daemon", "discord", "gateway", "index", "mock", "otel", "pdf", "scheduler", "slack", "stt", "tui"]
full = ["a2a", "acp", "daemon", "discord", "gateway", "index", "mock", "otel", "pdf", "scheduler", "slack", "stt", "tui"]
a2a = ["dep:zeph-a2a", "zeph-a2a?/server"]
acp = ["dep:zeph-acp"]
candle = ["zeph-llm/candle", "zeph-core/candle"]
metal = ["zeph-llm/metal", "zeph-core/metal"]
cuda = ["zeph-llm/cuda", "zeph-core/cuda"]
Expand Down Expand Up @@ -158,6 +162,7 @@ opentelemetry_sdk = { workspace = true, optional = true }
opentelemetry-otlp = { workspace = true, optional = true }
tracing-opentelemetry = { workspace = true, optional = true }
zeph-a2a = { workspace = true, optional = true }
zeph-acp = { workspace = true, optional = true }
zeph-channels.workspace = true
zeph-index = { workspace = true, optional = true }
zeph-mcp.workspace = true
Expand Down
26 changes: 26 additions & 0 deletions crates/zeph-acp/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "zeph-acp"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation = "https://docs.rs/zeph-acp"
keywords.workspace = true
categories.workspace = true
description = "ACP (Agent Client Protocol) server for IDE embedding"
readme = "README.md"

[dependencies]
agent-client-protocol.workspace = true
async-trait.workspace = true
thiserror.workspace = true
tokio = { workspace = true, features = ["io-std", "sync", "macros"] }
tokio-util = { workspace = true, features = ["compat"] }
tracing.workspace = true
uuid = { workspace = true, features = ["v4"] }
zeph-core.workspace = true

[lints]
workspace = true
Loading
Loading