#!/usr/bin/env bash
set -euo pipefail

root=$(git rev-parse --show-toplevel)
cd "$root"

case "${1:-}" in
  focused)
    (
      cd collector
      bun test src/activity/read.test.ts
    )
    pnpm --dir packages/deck-ui exec vitest run src/TimeSeriesChart.test.tsx
    pnpm --dir apps/web exec vitest run src/components/logs/LogsContent.test.tsx
    ;;
  static)
    (
      cd collector
      bun run typecheck
    )
    pnpm --filter @overdeck/deck-ui typecheck
    pnpm --filter @overdeck/web typecheck
    node --check apps/web/browser-proof/agent-observability-live/browser-proof.mjs
    git diff --check
    ;;
  full)
    (
      cd collector
      bun test --timeout=20000 --parallel=1 --max-concurrency=1
    )
    pnpm --filter @overdeck/deck-ui test
    pnpm --dir apps/web exec vitest run --maxWorkers=1 --no-file-parallelism
    pnpm --filter @overdeck/web build
    ;;
  *)
    printf 'usage: %s focused|static|full\n' "$0" >&2
    exit 64
    ;;
esac
