{
  "name": "brepjs-cad",
  "version": "0.177.0",
  "description": "Brainstorm → design → author → verify → polish pipeline for parametric brepjs CAD, with the brep CLI",
  "license": "Apache-2.0",
  "type": "module",
  "sideEffects": false,
  "engines": {
    "node": ">=24"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/andymai/brepjs",
    "directory": "packages/brepjs-cad"
  },
  "main": "./dist/brepjs-cad.cjs",
  "module": "./dist/brepjs-cad.js",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "import": {
        "types": "./dist/index.d.ts",
        "default": "./dist/brepjs-cad.js"
      },
      "require": {
        "types": "./dist/index.d.ts",
        "default": "./dist/brepjs-cad.cjs"
      }
    }
  },
  "bin": {
    "brep": "./dist/cli/main.js",
    "brep-mcp": "./dist/mcp/server.js"
  },
  "files": [
    "dist",
    "viewer/dist",
    "reference",
    "CHANGELOG.md",
    "LICENSE",
    "README.md"
  ],
  "scripts": {
    "build": "node scripts/copyReference.mjs && vite build && vite build --config viewer/vite.config.ts && node -e \"require('fs').chmodSync('dist/cli/main.js',0o755);require('fs').chmodSync('dist/cli/main.cjs',0o755);require('fs').chmodSync('dist/mcp/server.js',0o755)\"",
    "typecheck": "tsgo --noEmit && tsgo -p viewer/tsconfig.json --noEmit && tsgo -p bench/tsconfig.json",
    "lint": "eslint src tests viewer bench",
    "test": "vitest run",
    "eval": "tsx bench/run.ts",
    "eval:verify": "tsx bench/verifyEval.ts",
    "eval:live": "tsx bench/live.ts",
    "eval:push": "tsx bench/pushScorecard.ts",
    "eval:combine": "tsx bench/combineShards.ts",
    "eval:dataset:sync": "tsx bench/syncDataset.ts",
    "smoke": "node dist/cli/main.js verify tests/fixtures/validBox.brep.ts | node -e \"const r=JSON.parse(require('fs').readFileSync(0,'utf8'));if(r.ok!==true||!(r.measurements.volume>0))process.exit(1)\"",
    "smoke:standalone": "node scripts/smokeStandalone.mjs",
    "prepack": "npm run build"
  },
  "dependencies": {
    "@modelcontextprotocol/sdk": "1.30.0",
    "brepjs": ">=18.122.0",
    "commander": "^15.0.0",
    "occt-wasm": "^3.0.0 || ^4.0.0",
    "typescript": "^6.0.3"
  },
  "optionalDependencies": {
    "puppeteer": "^25.0.4",
    "rhino3dm": "^8.32.2"
  },
  "devDependencies": {
    "@anthropic-ai/sdk": "0.117.1",
    "@langfuse/client": "5.10.0",
    "@langfuse/otel": "5.10.0",
    "@langfuse/tracing": "5.10.0",
    "@opentelemetry/sdk-node": "0.221.0",
    "@react-three/drei": "10.7.8",
    "@react-three/fiber": "9.7.0",
    "@types/node": "26.2.0",
    "@types/react": "^19.2.15",
    "@types/react-dom": "19.2.4",
    "@types/three": "0.185.4",
    "@vitejs/plugin-react": "6.0.5",
    "brepjs-viewer": "*",
    "eslint": "^10.4.0",
    "jsdom": "^30.0.1",
    "react": "19.2.8",
    "react-dom": "19.2.8",
    "three": "0.185.1",
    "tsx": "4.23.12",
    "vite": "^8.0.0",
    "vite-plugin-dts": "^5.0.1",
    "vitest": "^4.0.0",
    "zod": "4.4.3"
  }
}
