FROM oven/bun:1.3.14 AS bun

FROM node:24-bookworm-slim AS build

COPY --from=bun /usr/local/bin/bun /usr/local/bin/bun

WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends \
  ca-certificates \
  g++ \
  make \
  python3 \
  && rm -rf /var/lib/apt/lists/*

COPY . .
RUN bun install --frozen-lockfile
RUN node packages/agents/node_modules/@flue/cli/bin/flue.mjs build --target node --root packages/agents

FROM node:24-bookworm-slim

ENV NODE_OPTIONS=--experimental-specifier-resolution=node

ENV NODE_ENV=production
ENV PORT=3000

WORKDIR /app

COPY --from=build /app /app
EXPOSE 3000

CMD ["node", "packages/agents/dist/server.mjs"]
