{
  "name": "@rainmanhhh/pi-web",
  "version": "0.15.33",
  "description": "Web UI for the pi coding agent (fork of @agegr/pi-web)",
  "homepage": "https://gitee.com/dsxbygzzl/pi-web#readme",
  "repository": {
    "type": "git",
    "url": "git+https://gitee.com/dsxbygzzl/pi-web.git"
  },
  "bugs": {
    "url": "https://gitee.com/dsxbygzzl/pi-web/issues"
  },
  "author": "rainmanhhh",
  "license": "MIT",
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org"
  },
  "engines": {
    "node": ">=24.0.0"
  },
  "files": [
    "dist",
    "public",
    "extensions",
    "package.json"
  ],
  "bin": {
    "pi-web": "dist/server.mjs"
  },
  "dependencies": {
    "@codemirror/commands": "^6.11.0",
    "@codemirror/lang-css": "^6.3.1",
    "@codemirror/lang-html": "^6.4.12",
    "@codemirror/lang-javascript": "^6.2.5",
    "@codemirror/lang-json": "^6.0.2",
    "@codemirror/lang-markdown": "^6.5.2",
    "@codemirror/lang-yaml": "^6.1.3",
    "@codemirror/language": "^6.12.4",
    "@codemirror/state": "^6.7.1",
    "@codemirror/theme-one-dark": "^6.1.3",
    "@codemirror/view": "^6.43.9",
    "@earendil-works/pi-agent-core": "0.85.1",
    "@earendil-works/pi-ai": "0.85.1",
    "@earendil-works/pi-coding-agent": "0.85.1",
    "@earendil-works/pi-tui": "0.85.1",
    "@hono/node-server": "^2.1.1",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "codemirror": "^6.0.2",
    "hono": "^4.13.5",
    "lucide-react": "^1.37.0",
    "p-defer": "^4.0.1",
    "pointrix": "^1.1.0",
    "proper-lockfile": "4.1.2",
    "radix-ui": "^1.6.7",
    "react": "^19.2.8",
    "react-dom": "^19.2.8",
    "shadcn": "^4.19.0",
    "streamdown": "2.6.0",
    "tailwind-merge": "^3.6.0",
    "tw-animate-css": "^1.4.0",
    "virtua": "^0.50.6",
    "ws": "^8.21.3"
  },
  "devDependencies": {
    "@biomejs/biome": "^2.5.13",
    "@lobehub/icons": "^5.16.0",
    "@playwright/test": "^1.62.1",
    "@tailwindcss/postcss": "^4.3.3",
    "@testing-library/dom": "^10.4.1",
    "@testing-library/react": "^16.3.3",
    "@types/node": "^25.9.5",
    "@types/proper-lockfile": "4.1.4",
    "@types/react": "^19.2.18",
    "@types/react-dom": "^19.2.5",
    "@types/react-resizable": "^4.0.0",
    "@types/react-syntax-highlighter": "^15.5.13",
    "@types/ws": "^8.18.1",
    "@vitejs/plugin-react": "^6.1.1",
    "commander": "^15.0.0",
    "cross-env": "^10.1.0",
    "fta-cli": "^3.0.1",
    "husky": "^9.1.7",
    "jiti": "^2.7.0",
    "jscpd": "^5.1.0",
    "jsdom": "^30.0.1",
    "katex": "^0.18.4",
    "lint-staged": "^17.4.1",
    "mammoth": "^1.12.2",
    "mermaid": "^11.17.2",
    "oxlint": "^1.80.0",
    "postcss": "^8.5.26",
    "react-markdown": "^10.1.0",
    "react-syntax-highlighter": "^16.1.1",
    "rehype-katex": "^7.0.1",
    "rehype-raw": "^7.0.0",
    "rehype-sanitize": "^6.0.0",
    "remark-gfm": "^4.0.1",
    "remark-math": "^6.0.0",
    "tailwindcss": "^4.3.3",
    "typescript": "^7.0.2",
    "vite": "^8.2.2",
    "vite-plugin-remove-console": "^2.2.0",
    "vite-plugin-svgr": "^5.2.0",
    "vitest": "^4.1.11"
  },
  "type": "module",
  "overrides": {
    "katex": "^0.18.4"
  },
  "scripts": {
    "dev": "vite",
    "dev:lan": "vite --host 0.0.0.0",
    "mb": "bun run --env-file=.env.manual api",
    "mf": "bun run --env-file=.env.manual dev -- --port 3001",
    "api": "bun run server/main.ts",
    "api:node": "bun run build:server && node dist/server.mjs",
    "build:server": "bun build server/main.ts --target node --outfile dist/server.mjs --minify --external \"@earendil-works/*\" --define \"process.env.PI_WEB_PACKAGED=1\"",
    "e2e:stop": "bun run scripts/e2e-stop.mjs",
    "build": "vite build && bun run scripts/prune-fonts.mjs",
    "build:analyze": "vite build --config scripts/analyze-bundle.config.ts && bun run scripts/prune-fonts.mjs",
    "lint": "oxlint --fix",
    "fta": "bun scripts/fta-gate.mjs . --output-limit 15",
    "jscpd": "jscpd --config .jscpd.json",
    "check": "tsc --noEmit",
    "format": "biome check --write .",
    "test:e2e": "cross-env CODEBUDDY_SAFE_DELETE_ENABLED=0 playwright test",
    "test:unit": "vitest run",
    "test:unit:bun": "bun --bun run test:unit"
  }
}