{
  "name": "genshin-artifact-assistant",
  "version": "0.1.0",
  "private": true,
  "description": "Local Windows assistant for scanning Genshin artifacts and suggesting no-brainer builds.",
  "main": "dist-electron/electron/main.js",
  "type": "module",
  "scripts": {
    "predev": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\kill-stale-instances.ps1 && tsc -p tsconfig.electron.json && copy electron\\preload.cjs dist-electron\\electron\\preload.cjs",
    "dev": "concurrently -k \"vite --host 127.0.0.1\" \"wait-on tcp:5173 && cross-env VITE_DEV_SERVER_URL=http://127.0.0.1:5173 electron .\"",
    "dev:web": "vite --host 127.0.0.1",
    "dev:admin": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\dev-admin.ps1 -ProjectRoot .",
    "build": "tsc && vite build && tsc -p tsconfig.electron.json && copy electron\\\\preload.cjs dist-electron\\\\electron\\\\preload.cjs",
    "preview": "vite preview --host 127.0.0.1",
    "start": "electron .",
    "lint": "tsc --noEmit",
    "test": "vitest run",
    "eval": "vitest run src/eval/ocrEval.test.ts",
    "eval:review-candidates": "node scripts/export-review-eval-candidates.cjs",
    "eval:prepare-confirmed": "node scripts/prepare-confirmed-review-case.cjs",
    "scan:soak": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\live-soak.ps1",
    "scan:goal": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\live-soak.ps1 -GoalRun",
    "scan:goal:validated": "npm run scan:live:preflight && npm run scan:goal && npm run scan:assessment:validate -- --latest --summary",
    "scan:goal:validated:wait": "npm run scan:live:preflight:wait && npm run scan:goal && npm run scan:assessment:validate -- --latest --summary",
    "scan:iterate": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\live-soak.ps1 -Limits 20 -BenchmarkOcr",
    "scan:iterate:validated": "npm run scan:live:preflight && npm run scan:iterate && npm run scan:assessment:validate -- --latest --summary --limit=20",
    "scan:iterate:validated:wait": "npm run scan:live:preflight:wait && npm run scan:iterate && npm run scan:assessment:validate -- --latest --summary --limit=20",
    "scan:repeatability": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\live-soak.ps1 -RepeatabilityRun -ScanEngine current",
    "scan:repeatability:wait": "npm run scan:live:preflight:wait && npm run scan:repeatability && npm run scan:assessment:validate -- --latest --summary --limit=100 --expect-winner=current",
    "scan:live:preflight": "node scripts/live-preflight.cjs",
    "scan:live:preflight:wait": "node scripts/live-preflight.cjs --wait=120",
    "scan:assessment:test": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\live-soak.ps1 -SelfTestAssessment",
    "scan:assessment:validate": "node scripts/validate-scan-assessment.cjs",
    "scan:native:smoke": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\native-live-smoke.ps1",
    "scan:native:smoke:5": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\native-live-smoke.ps1 -Limit 5",
    "helper:build": "dotnet publish native/input-helper/InputHelper.csproj -c Release -o native/input-helper/bin/publish",
    "data:genshin": "node scripts/generate-genshin-data.cjs"
  },
  "dependencies": {
    "@vitejs/plugin-react": "^4.3.4",
    "electron": "33.2.1",
    "genshin-db": "^5.2.12",
    "lucide-react": "^0.468.0",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "tesseract.js": "^7.0.0",
    "vite": "^6.0.3"
  },
  "devDependencies": {
    "@types/node": "^22.10.2",
    "@types/react": "^18.3.17",
    "@types/react-dom": "^18.3.5",
    "concurrently": "^9.1.0",
    "cross-env": "^7.0.3",
    "typescript": "^5.7.2",
    "vitest": "^2.1.8",
    "wait-on": "^8.0.1"
  },
  "build": {
    "appId": "local.genshin.artifact-assistant",
    "productName": "Genshin Artifact Assistant",
    "directories": {
      "output": "outputs/dist"
    },
    "files": [
      "dist/**/*",
      "dist-electron/**/*",
      "package.json"
    ],
    "extraResources": [
      {
        "from": "native/input-helper/bin/publish",
        "to": "input-helper",
        "filter": [
          "**/*"
        ]
      },
      {
        "from": "data/ik-inventorylists",
        "to": "ik-inventorylists",
        "filter": [
          "**/*"
        ]
      }
    ],
    "win": {
      "target": "nsis",
      "requestedExecutionLevel": "requireAdministrator"
    }
  }
}
