FROM docker.io/library/node:22-bookworm-slim

LABEL org.opencontainers.image.source="https://github.com/platform-modules/awp"
LABEL org.opencontainers.image.description="AWP isolated ACP AgentRun workspace runner"

RUN apt-get update \
    && apt-get install -y --no-install-recommends ca-certificates git openssh-client \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /opt/awp-agent-runner
RUN npm init -y >/dev/null \
    && npm install --omit=dev --save-exact \
      @agentclientprotocol/sdk@1.4.0 \
      @agentclientprotocol/codex-acp@1.6.2
COPY infra/agent-runner/runner.mjs /opt/awp-agent-runner/runner.mjs
COPY infra/agent-runner/reviewer.mjs /opt/awp-agent-runner/reviewer.mjs
RUN chmod 0555 /opt/awp-agent-runner/runner.mjs

ENV PATH=/opt/awp-agent-runner/node_modules/.bin:$PATH
USER node
ENTRYPOINT ["node", "/opt/awp-agent-runner/runner.mjs"]
CMD ["serve"]
