{
  "name": "zevairouter",
  "version": "1.1.9",
  "description": "Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard",
  "bin": {
    "zevai": "cli/cli.js"
  },
  "files": [
    "cli/cli.js",
    "cli/app/",
    "cli/hooks/",
    "cli/src/",
    "cli/package.json",
    "cli/README.md",
    "cli/LICENSE",
    "scripts/start-standalone.mjs",
    "README.md",
    "README.zh-CN.md",
    "DOCKER.md",
    "LICENSE",
    "CHANGELOG.md"
  ],
  "scripts": {
    "dev": "next dev --webpack --port 1997",
    "build": "node scripts/build-app.mjs",
    "start": "node ./scripts/start-standalone.mjs",
    "dev:bun": "bun --bun next dev --webpack --port 1997",
    "build:bun": "bun --bun next build --webpack",
    "start:bun": "bun ./.next/standalone/server.js",
    "lint": "eslint .",
    "test": "vitest run --config tests/vitest.config.js",
    "build:cli": "node cli/scripts/build-cli.js",
    "audit:package": "node cli/scripts/audit-package.mjs",
    "smoke:package": "node cli/scripts/smoke-package.mjs",
    "verify:mobile-scroll": "node cli/scripts/verify-dashboard-mobile-scroll.mjs",
    "candidate:build": "node cli/scripts/local-candidate.mjs build",
    "candidate:install": "node cli/scripts/local-candidate.mjs install",
    "candidate:status": "node cli/scripts/local-candidate.mjs status",
    "candidate:rollback": "node cli/scripts/local-candidate.mjs rollback",
    "release": "node cli/scripts/release.js",
    "prepack": "npm run build:cli && npm run audit:package",
    "postinstall": "node cli/hooks/postinstall.js"
  },
  "dependencies": {
    "@node-saml/node-saml": "5.1.0",
    "next": "16.2.12",
    "node-machine-id": "1.1.12",
    "react": "19.2.4",
    "react-dom": "19.2.4",
    "sql.js": "1.14.1",
    "yaml": "2.9.0"
  },
  "comment_optional_runtime": "Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.",
  "overrides": {
    "body-parser": "^2.3.0",
    "brace-expansion": "5.0.9",
    "dompurify": "^3.4.12",
    "ip-address": "^10.4.0",
    "nanoid": "^3.3.18",
    "postcss": "^8.5.10",
    "sharp": "^0.35.0"
  },
  "comment_overrides": "Security floors for transitive dependencies. ESLint's legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch and nanoid use fixed floors directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.",
  "devDependencies": {
    "@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",
    "@tailwindcss/postcss": "^4.1.18",
    "@xterm/addon-fit": "^0.11.0",
    "@xterm/addon-web-links": "^0.12.0",
    "@xterm/xterm": "^6.0.0",
    "@xyflow/react": "^12.10.1",
    "bcryptjs": "^3.0.3",
    "better-sqlite3": "^12.6.2",
    "chalk": "^4.1.2",
    "confbox": "^0.2.4",
    "dompurify": "^3.4.12",
    "esbuild": "^0.28.1",
    "eslint": "^9",
    "eslint-config-next": "16.2.9",
    "express": "^5.2.1",
    "http-proxy-middleware": "^3.0.7",
    "jose": "^6.1.3",
    "marked": "^18.0.1",
    "material-symbols": "^0.45.1",
    "minimatch": "file:vendor/minimatch3-secure",
    "monaco-editor": "^0.55.1",
    "node-forge": "^1.3.3",
    "open": "^11.0.0",
    "ora": "^9.1.0",
    "postcss": "^8.5.10",
    "prop-types": "^15.8.1",
    "react-is": "^19.2.7",
    "recharts": "^3.7.0",
    "selfsigned": "^5.5.0",
    "socks": "^2.8.9",
    "socks-proxy-agent": "^10.1.0",
    "tailwindcss": "^4",
    "undici": "^8.10.0",
    "uuid": "^14.0.1",
    "vitest": "^4.1.10",
    "zustand": "^5.0.10"
  },
  "engines": {
    "node": ">=22.5.0"
  },
  "keywords": [
    "zevairouter",
    "zevai",
    "ai",
    "router",
    "proxy",
    "kiro",
    "codebuddy",
    "claude",
    "openai",
    "api",
    "quota",
    "automation"
  ],
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Verifiedlabs/zevairouter.git"
  },
  "bugs": {
    "url": "https://github.com/Verifiedlabs/zevairouter/issues"
  },
  "homepage": "https://github.com/Verifiedlabs/zevairouter"
}
