{
  "name": "switchboard-app",
  "version": "0.9.33",
  "description": "Switchboard — intelligent model routing dashboard",
  "private": true,
  "engines": {
    "node": ">=20.9.0"
  },
  "scripts": {
    "dev": "node scripts/launch.mjs next dev --webpack",
    "build": "npm run build:claude-tls && next build --webpack && node scripts/copy-custom-server.mjs",
    "start": "node scripts/launch.mjs next start",
    "dev:bun": "node scripts/launch.mjs bun --bun next dev --webpack",
    "build:claude-tls": "node scripts/build-claude-tls-helper.mjs",
    "build:bun": "npm run build:claude-tls && bun --bun next build --webpack && node scripts/copy-custom-server.mjs",
    "start:bun": "node scripts/start-standalone.mjs --runtime bun",
    "start:standalone": "node scripts/start-standalone.mjs",
    "check:i18n": "node scripts/i18n-parity-check.mjs",
    "catalog:refresh": "node scripts/fetch-model-catalog.mjs",
    "identity:refresh": "node scripts/refresh-identity-versions.mjs",
    "generate:providers": "node scripts/generate-provider-registry.mjs",
    "check:providers": "node scripts/generate-provider-registry.mjs --check",
    "check:versions": "node scripts/assert-release-version.mjs",
    "lint": "eslint .",
    "cli:pack": "npm --prefix cli run pack:cli",
    "cli:publish": "npm --prefix cli run publish:cli",
    "preflight": "npm run lint && npm run check:i18n && npm run check:providers && npm run check:versions",
    "test": "cd tests && ./node_modules/.bin/vitest run",
    "clean": "rm -rf .next .next-cli-build out build cli/.build-home cli/app/dist"
  },
  "dependencies": {
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/modifiers": "^9.0.0",
    "@dnd-kit/sortable": "^10.0.0",
    "@dnd-kit/utilities": "^3.2.2",
    "@monaco-editor/react": "^4.7.0",
    "@tanstack/react-query": "^5.101.2",
    "@xyflow/react": "^12.10.1",
    "chalk": "^5.6.2",
    "chalk-animation": "^2.0.3",
    "confbox": "^0.2.4",
    "figlet": "^1.11.0",
    "gradient-string": "^3.0.0",
    "impit": "^0.14.3",
    "jose": "^6.1.3",
    "jsonc-parser": "3.3.1",
    "marked": "^18.0.1",
    "material-symbols": "^0.45.6",
    "monaco-editor": "^0.55.1",
    "next": "^16.2.10",
    "node-forge": "^1.3.3",
    "node-machine-id": "^1.1.12",
    "open": "^11.0.0",
    "ora": "^9.1.0",
    "prop-types": "^15.8.1",
    "react": "^19.2.7",
    "react-dom": "^19.2.7",
    "react-is": "^19.2.7",
    "recharts": "^3.7.0",
    "sql.js": "^1.14.1",
    "undici": "^8.7.0",
    "uuid": "^14.0.1",
    "yaml": "2.9.0",
    "zustand": "^5.0.10"
  },
  "optionalDependencies": {
    "better-sqlite3": "^12.6.2"
  },
  "comment_better_sqlite3": "kept in optionalDependencies so npm install doesn't fail on systems without build tools — sql.js is used as fallback at runtime",
  "devDependencies": {
    "@tailwindcss/postcss": "^4.1.18",
    "eslint": "^9.39.4",
    "eslint-config-next": "^16.2.10",
    "postcss": "8.5.26",
    "tailwindcss": "^4"
  },
  "overrides": {
    "dompurify": "3.4.11",
    "postcss": "$postcss"
  }
}
