@comis/gateway. ACP connects an editor or other client process to an agent
over a standard protocol.
What is implemented
The gateway package uses@agentclientprotocol/sdk 0.22.1 and exports
createAcpAgent and startAcpServer.
The package also contains redacted activity, plan, and permission-request bridge
components. Permission outcomes are currently emitted and logged but are not
routed back into a server-side approval decision sink. Full approval round-trip
behavior is therefore not complete.
Transport
startAcpServer communicates through newline-delimited JSON on stdin and
stdout. The ACP client starts the process and owns the stdio connection.
All application logging must go to stderr. Writing logs or other text to stdout
corrupts the protocol stream.
Session model
EachnewSession call creates a UUID and maps it to:
channelId: "acp"userId: "ide-user"peerIdset to the ACP session UUID
Integrator example
The current API requires a small Node.js entrypoint that supplies a real Comis agent executor:node. Client
configuration varies, so verify the exact command and protocol capabilities
against that client’s current documentation.
Security boundaries
- Stdio avoids a listening network port, but the spawned process still runs with the operating-system authority of its account.
authenticateis a no-op. The local spawn relationship is the current trust assumption.- All callers currently share the fixed
ide-useridentity and rely on the ACP session UUID for peer scoping. - ACP prompt text is still untrusted input. The injected executor must preserve Comis request context, policy, tool, secret, and output-guard boundaries.
- Activity and plan bridges are designed to send redacted frames. Permission prompts do not yet complete a Comis approval decision round trip.
Current gaps
- no daemon-level entrypoint or
config.yamlsection; - no advertised non-text prompt support;
- empty capability negotiation;
- cancel does not abort active execution;
- incomplete approval-response routing;
- no general claim of tested compatibility across editors or ACP clients.
