name: Enterprise MCP Mock

on:
  pull_request:
    paths:
      - "packages/enterprise-mcp-mock-server/**"
      - "ee/apps/enterprise-mock-lab/**"
      - "evals/flows/enterprise-mock-lab.flow.mjs"
      - "package.json"
      - "pnpm-lock.yaml"
      - "pnpm-workspace.yaml"
      - ".github/workflows/ci-enterprise-mcp-mock.yml"
  push:
    branches: [dev]
    paths:
      - "packages/enterprise-mcp-mock-server/**"
      - "ee/apps/enterprise-mock-lab/**"
      - "evals/flows/enterprise-mock-lab.flow.mjs"
      - "package.json"
      - "pnpm-lock.yaml"
      - "pnpm-workspace.yaml"
      - ".github/workflows/ci-enterprise-mcp-mock.yml"
  workflow_dispatch:

permissions:
  contents: read

jobs:
  check:
    name: Contracts, protocol, security, and lab
    runs-on: blacksmith-4vcpu-ubuntu-2204

    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Setup Node
        uses: actions/setup-node@v6
        with:
          node-version: 24

      - name: Setup pnpm
        uses: pnpm/action-setup@v4
        with:
          version: 11.4.0

      - name: Setup Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: 1.3.10

      - name: Install focused dependencies
        run: >-
          pnpm install --frozen-lockfile --ignore-scripts
          --filter @openwork/enterprise-mcp-mock-server...
          --filter @openwork-ee/enterprise-mock-lab...

      - name: Check browser proof syntax
        run: node --check evals/flows/enterprise-mock-lab.flow.mjs

      - name: Check reusable mock package
        run: pnpm check:enterprise-mcp-mock-server

      - name: Check standalone mock lab
        run: pnpm check:enterprise-mock-lab
