{
  "name": "psyche-computer-use",
  "$schema": "../../../node_modules/nx/schemas/project-schema.json",
  "sourceRoot": "apps/psyche/computer-use/src",
  "projectType": "application",
  "tags": [
    "scope:psyche",
    "layer:service",
    "type:python",
    "runtime:fastapi",
    "feature:computer-use"
  ],
  "targets": {
    "serve": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "Xvfb :99 -screen 0 1920x1080x24 & DISPLAY=:99 poetry run uvicorn computer_use.main:app --reload --host 0.0.0.0 --port 8005"
      }
    },
    "serve-prod": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "Xvfb :99 -screen 0 1920x1080x24 & DISPLAY=:99 poetry run uvicorn computer_use.main:app --host 0.0.0.0 --port 8005 --workers 1"
      }
    },
    "build": {
      "executor": "nx:run-commands",
      "outputs": ["{projectRoot}/dist"],
      "options": {
        "cwd": "apps/psyche/computer-use",
        "commands": ["poetry build"]
      }
    },
    "install": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "poetry install"
      }
    },
    "install-all": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "poetry install --extras all && poetry run playwright install chromium"
      }
    },
    "install-playwright": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "poetry run playwright install chromium --with-deps"
      }
    },
    "lint": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "commands": ["poetry run ruff check src/", "poetry run mypy src/"]
      }
    },
    "format": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "commands": ["poetry run black src/", "poetry run ruff check --fix src/"]
      }
    },
    "test": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "poetry run pytest"
      }
    },
    "test-unit": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "poetry run pytest -m 'not integration and not benchmark'"
      }
    },
    "test-integration": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "Xvfb :99 -screen 0 1920x1080x24 & DISPLAY=:99 poetry run pytest -m integration"
      }
    },
    "test-cov": {
      "executor": "nx:run-commands",
      "outputs": ["{projectRoot}/htmlcov"],
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "poetry run pytest --cov=computer_use --cov-report=html"
      }
    },
    "benchmark": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "Xvfb :99 -screen 0 1920x1080x24 & DISPLAY=:99 poetry run pytest -m benchmark --benchmark-json=benchmark.json"
      }
    },
    "docker-build": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "docker build -t psyche-computer-use:latest ."
      }
    },
    "docker-run": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "docker run -p 8005:8005 -p 5900:5900 --env-file .env psyche-computer-use:latest"
      }
    },
    "docker-run-vnc": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "apps/psyche/computer-use",
        "command": "docker run -p 8005:8005 -p 5900:5900 -e VNC_ENABLED=true --env-file .env psyche-computer-use:latest"
      }
    }
  }
}
