# Obraz runnera dla pipeline'u agentowego.
# W środowisku regulowanym buduj go u siebie i publikuj do wewnętrznego rejestru -
# job modyfikujący kod nie powinien ciągnąć obrazu z internetu przy każdym uruchomieniu.
FROM python:3.12-slim

ARG APM_VERSION=latest
ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1

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

# APM CLI - dostawca kontekstu agentowego.
# W sieci wewnętrznej podmień na instalację z lustra pakietów (PIP_INDEX_URL).
RUN pip install --no-cache-dir "apm-cli${APM_VERSION:+}" || \
    (echo "Instalacja apm-cli z PyPI nieudana - uzupełnij obraz o lustro wewnętrzne" && exit 1)

WORKDIR /opt/agentic-codemod
COPY pyproject.toml ./
COPY src ./src
RUN pip install --no-cache-dir .

# Runner nie pracuje na koncie root - zmiany w repozytorium mają być zwykłymi plikami.
RUN useradd --create-home --uid 1001 codemod
USER codemod

ENTRYPOINT ["agentic-codemod"]
CMD ["--help"]
