Files
PaperClipAI/docker/agent-runtime/Dockerfile.pi
T
Harold KimandPaperclip 98df214917 fix: fail closed on unusable Codex auth during sandbox auth merge
When reusing a Codex sandbox, the workspace-restore step now performs
an auth-merge check before adopting the sandbox's auth.json. The merge
fails closed when:

- host or sandbox Codex auth is unusable (missing token or account)
- the subscription payload shapes differ between host and sandbox
- subscription account identities do not match

Additional hardening: node absence on PATH during the embedded decision
script now exits non-zero instead of silently falling through. Co-change
comments link parseAuth (the embedded script) to hasUsableAuthPayload
(codex-home.ts) so a future auth-format change cannot silently diverge
between the two implementations.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-09 10:08:57 +00:00

16 lines
581 B
Docker

# syntax=docker/dockerfile:1.6
ARG BASE_TAG=dev
FROM paperclipai/agent-runtime-base:${BASE_TAG}
USER root
# pi is the multi-provider Pi coding-agent router. Verified npm package:
# @mariozechner/pi-coding-agent (binary 'pi' → dist/cli.js). Same package
# is used by SANDBOX_INSTALL_COMMAND in pi-local/src/index.ts.
RUN npm install -g @mariozechner/pi-coding-agent@latest \
&& { chown -R 1000:1000 /usr/lib/node_modules || true; }
USER 1000:1000
# Verify the CLI is on PATH for the shim's exec.LookPath
RUN command -v pi >/dev/null 2>&1 || (echo "pi not on PATH"; exit 1)