Context
ACP schema 0.11.2 renamed session/stop → session/close (breaking). Zeph has no explicit session/close handler in zeph-acp — routing currently falls through to the SDK crate.
More critically, Zeph must:
- Handle the
session/close method in the ACP router (terminate the session, cancel in-flight turns, clean up AcpSessionManager state)
- Advertise
session: { close: {} } in the capabilities response (initialize → serverInfo.capabilities) — without this advertisement Zed will not know the capability is present
- Ensure
AcpSessionManager drops the session and cancels any in-flight turn on receipt
Why it matters
Zed IDE calls session/close on thread close (e.g., when the user closes a conversation tab). Without a handler, sessions silently leak in AcpSessionManager. The session/close capability advertisement is also required for ACP Registry inclusion (registry CI checks capabilities).
Acceptance criteria
Related
Context
ACP schema 0.11.2 renamed
session/stop→session/close(breaking). Zeph has no explicitsession/closehandler inzeph-acp— routing currently falls through to the SDK crate.More critically, Zeph must:
session/closemethod in the ACP router (terminate the session, cancel in-flight turns, clean upAcpSessionManagerstate)session: { close: {} }in the capabilities response (initialize→serverInfo.capabilities) — without this advertisement Zed will not know the capability is presentAcpSessionManagerdrops the session and cancels any in-flight turn on receiptWhy it matters
Zed IDE calls
session/closeon thread close (e.g., when the user closes a conversation tab). Without a handler, sessions silently leak inAcpSessionManager. Thesession/closecapability advertisement is also required for ACP Registry inclusion (registry CI checks capabilities).Acceptance criteria
session/closeJSON-RPC method handled inzeph-acp/src/handler.rs(or equivalent router)session: { close: {} }present ininitializeresponse capabilities objectAcpSessionManagerremoves the session from the LRU and sends cancel signal to any running turn actorRelated
protocol_versiontype fix