Sign inSign up

docker/sbx-kit-codex-acp:latest

Multi-platform
Manifest digest

sha256:5896dc2c5d828c58cd22c912cc660df74d55ffc1594bbcbd5a56c9a9f95b1c50

Last pushed

about 15 hours by cdupuis

Type

Sandbox Kit

Manifest digest

sha256:5896dc2c5d828c58cd22c912cc660df74d55ffc1594bbcbd5a56c9a9f95b1c50

yaml
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