The Gajae-Code SDK WebSocket protocol is the only external machine-control interface. See SDK machine interfaces for the endpoint, authentication, events, state, and action contracts.
| Surface | Entrypoint | Use it when |
|---|---|---|
| SDK WebSocket | A running GJC session's loopback SDK endpoint | A program needs session state, events, actions, or workflow-gate replies. |
| Coordinator MCP | gjc mcp-serve coordinator |
A controller needs multi-session orchestration, durable reports, or worktree-scoped lifecycle operations. |
| ACP | gjc --mode acp or gjc acp |
An editor or ACP-compatible client supplies the session frontend. |
--mode rpc, --mode rpc-ui, and --mode bridge have been removed. Their JSONL, socket, and HTTPS protocols are not supported compatibility interfaces.
The SDK endpoint is loopback-only and is created with the session. It provides the machine interface for state reads, event subscriptions, action resolution, workflow-gate replies, and controlled session operations. Review docs/sdk.md before building an integration.
ACP remains a stdio editor protocol. Its session control uses the SDK adapter internally; it is not a replacement external bot-control protocol.
packages/coding-agent/test/sdk-*.test.tspackages/coding-agent/test/acp-*.test.tspackages/coding-agent/test/workflow-gate-broker.test.tspackages/coding-agent/test/workflow-gate-schema.test.ts