sha256:5896dc2c5d828c58cd22c912cc660df74d55ffc1594bbcbd5a56c9a9f95b1c50
Last pushed
1 day by cdupuis
Type
Sandbox Kit
Manifest digest
sha256:5896dc2c5d828c58cd22c912cc660df74d55ffc1594bbcbd5a56c9a9f95b1c50
schemaVersion: "3"
displayName: Codex ACP adapter
author: Docker, Inc.
description: The Agent Client Protocol adapter for Codex as a mixin — the codex-acp stdio server with its Node runtime in an overlay, bound to the composed codex binary. Layer it onto a base that composes the codex-mixin kit and point an ACP client (such as Zed) at `codex-acp`.
sourceUrl: https://github.com/agentclientprotocol/codex-acp
licenses:
- Apache-2.0
kind: mixin
provides:
- [email protected]
requires:
- codex >= 0.160.1, < 0.165.0
capabilities:
- type: com.docker.sandbox/acp@1
optional: true
config:
agent: codex
command:
- codex-acp
env:
INITIAL_AGENT_MODE: agent-full-access
description: Drive codex sessions over the Agent Client Protocol
- type: com.docker.sandbox/agent-context@1
optional: true
config:
content: |
## Codex ACP adapter
`codex-acp` is installed at `/usr/local/bin/codex-acp`. It is an Agent
Client Protocol (ACP) server on stdio: a client spawns it and drives a
Codex session through the protocol. It is not an interactive command —
with no client on the other end of stdio it sits silent, so do not run it
from this shell to "check" it.
Host tools must attach it to a non-TTY stdin/stdout stream, for example
`sbx exec -i <sandbox> codex-acp`. In Zed, configure an agent server
whose command runs that.
The adapter drives the same `codex` binary this sandbox already has
(`CODEX_PATH=/usr/local/bin/codex`), so authentication is the surface
`codex` uses: the proxy-mediated OpenAI credential behind
`~/.codex/auth.json` and the `~/.codex/config.toml` this composition
seeds. If `codex` works here, the adapter works with no extra setup and
nothing separate to log in to. Sessions created through ACP and
interactive `codex` runs share the same `~/.codex` state, which this
composition keeps in the sandbox filesystem rather than on a volume.
The Kit declares an optional `acp@1` endpoint, so supporting hosts can
find the adapter without hard-coding its command. It starts in
`agent-full-access` mode to match the interactive Codex entrypoint.
Pinned `codex-acp` 2.2.2 handles stdin closure but has no `SIGTERM`
cleanup handler. Cancellation and session flushing on `SIGTERM` have
not been verified against `acp@1`'s shutdown guarantee. Hosts should
close the ACP stdin stream and allow the adapter to finish before
terminating it.
The optional declaration enables discovery; it does not certify full
adapter conformance.
- type: com.docker.sandbox/agent-context@2
optional: true
config:
content: |
## Codex ACP adapter
`codex-acp` is installed at `/usr/local/bin/codex-acp`. It is an Agent
Client Protocol (ACP) server on stdio: a client spawns it and drives a
Codex session through the protocol. It is not an interactive command —
with no client on the other end of stdio it sits silent, so do not run it
from this shell to "check" it.
Host tools must attach it to a non-TTY stdin/stdout stream, for example
`sbx exec -i <sandbox> codex-acp`. In Zed, configure an agent server
whose command runs that.
The adapter drives the same `codex` binary this sandbox already has
(`CODEX_PATH=/usr/local/bin/codex`), so authentication is the surface
`codex` uses: the proxy-mediated OpenAI credential behind
`~/.codex/auth.json` and the `~/.codex/config.toml` this composition
seeds. If `codex` works here, the adapter works with no extra setup and
nothing separate to log in to. Sessions created through ACP and
interactive `codex` runs share the same `~/.codex` state, which this
composition keeps in the sandbox filesystem rather than on a volume.
The Kit declares an optional `acp@1` endpoint, so supporting hosts can
find the adapter without hard-coding its command. It starts in
`agent-full-access` mode to match the interactive Codex entrypoint.
Pinned `codex-acp` 2.2.2 handles stdin closure but has no `SIGTERM`
cleanup handler. Cancellation and session flushing on `SIGTERM` have
not been verified against `acp@1`'s shutdown guarantee. Hosts should
close the ACP stdin stream and allow the adapter to finish before
terminating it.
The optional declaration enables discovery; it does not certify full
adapter conformance.
args:
version:
default: 2.2.2
description: codex-acp release to install
pattern: ^[0-9]+\.[0-9]+\.[0-9]+$
buildArg: ACP_VERSION