FROM node:20-slim

WORKDIR /app

# Install pnpm
RUN npm install -g pnpm@10

# Copy package files first for layer caching
COPY package.json pnpm-lock.yaml ./

# Install dependencies
RUN pnpm install --frozen-lockfile

# Copy source code
COPY . .

# LangGraph dev prerequisites
RUN touch .env && mkdir -p .langgraph_api

# Expose port 8080 for Azure auto-detection
EXPOSE 8080

# Start LangGraph.js dev server on port 8080
CMD ["./node_modules/.bin/langgraphjs", "dev", "--host", "0.0.0.0", "--port", "8080", "--no-browser"]
