acp_runtime provides supervised, application-facing sessions for coding
agents that speak the Agent Client Protocol (ACP). It builds on
ex_mcp and adds:
- a long-lived session process that survives UI disconnects;
- prompt, cancellation, permission, event, and diagnostic state management;
- an
ExMCP.Transportimplementation backed by a pluggable process runner; - interactive-shell startup isolation for remote execution environments; and
- optional notification and persistence callbacks.
The host application remains responsible for authorization, agent records, credentials, persistence schemas, and presentation.
Add one runtime supervisor to the host application's supervision tree:
{ACPRuntime.Supervisor,
name: MyApp.ACP.RuntimeSupervisor,
registry: MyApp.ACP.Registry,
session_supervisor: MyApp.ACP.SessionSupervisor,
task_supervisor: MyApp.ACP.TaskSupervisor}Start sessions through ACPRuntime.Session or through an application-specific
facade that supplies the callback modules and supervisor names.
The configured runner module starts and controls the process hosting the ACP
agent. See ACPRuntime.ProcessRunner for the required contract. This permits
the same runtime to operate against local ports, containers, VMs, or remote
execution services without depending on their SDKs.
This project is currently consumed as a sibling path-dependency prototype. Public Hex publishing
requires a repository URL, an explicit license decision, package metadata, and
independent CI before the version is changed from 0.1.0-dev.