{
  "name": "extraction-studio",
  "version": "0.1.0",
  "private": true,
  "description": "Deterministic, rules-based extraction of structured financial data from investment-report PDFs",
  "type": "module",
  "engines": {
    "node": ">=20.11.0",
    "pnpm": ">=9"
  },
  "packageManager": "pnpm@11.21.0",
  "scripts": {
    "postinstall": "prisma generate --schema packages/database/prisma/schema.prisma",
    "build": "tsc -b",
    "build:force": "tsc -b --force",
    "clean": "tsc -b --clean && rimraf \"packages/*/dist\" \"apps/*/dist\" \"scripts/dist\" \"**/*.tsbuildinfo\"",
    "typecheck": "tsc -b --force",
    "dev:api": "pnpm --filter @extraction-studio/api dev",
    "dev:worker": "pnpm --filter @extraction-studio/worker dev",
    "dev:web": "pnpm --filter @extraction-studio/web dev",
    "start:api": "pnpm --filter @extraction-studio/api start",
    "start:worker": "pnpm --filter @extraction-studio/worker start",
    "start:web": "pnpm --filter @extraction-studio/web start",
    "build:web": "pnpm --filter @extraction-studio/web build",
    "lint:web": "pnpm --filter @extraction-studio/web lint",
    "typecheck:web": "pnpm --filter @extraction-studio/web typecheck",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:unit": "vitest run --project unit",
    "test:ocr": "vitest run --project ocr",
    "test:integration": "vitest run --project integration",
    "test:regression": "vitest run --project regression",
    "test:coverage": "vitest run --coverage",
    "db:generate": "prisma generate --schema packages/database/prisma/schema.prisma",
    "db:migrate": "prisma migrate dev --schema packages/database/prisma/schema.prisma",
    "db:deploy": "prisma migrate deploy --schema packages/database/prisma/schema.prisma",
    "db:push": "prisma db push --schema packages/database/prisma/schema.prisma",
    "db:studio": "prisma studio --schema packages/database/prisma/schema.prisma",
    "docker:up": "docker compose up -d",
    "docker:down": "docker compose down",
    "docker:logs": "docker compose logs -f",
    "docker:reset": "docker compose down -v && docker compose up -d",
    "check": "pnpm format:check && pnpm lint && pnpm build && pnpm test",
    "evaluate": "tsx scripts/evaluate.ts",
    "key:create": "tsx scripts/api-key.ts create",
    "key:list": "tsx scripts/api-key.ts list",
    "key:revoke": "tsx scripts/api-key.ts revoke",
    "user:create": "tsx scripts/user.ts create",
    "user:list": "tsx scripts/user.ts list",
    "user:password": "tsx scripts/user.ts password",
    "user:disable": "tsx scripts/user.ts disable",
    "user:enable": "tsx scripts/user.ts enable",
    "feedback:export": "tsx scripts/export-feedback.ts export",
    "feedback:patterns": "tsx scripts/export-feedback.ts patterns",
    "feedback:reassess": "tsx scripts/export-feedback.ts reassess",
    "model:train": "tsx scripts/train-model.ts train",
    "model:list": "tsx scripts/train-model.ts list",
    "model:show": "tsx scripts/train-model.ts show",
    "model:activate": "tsx scripts/train-model.ts activate",
    "model:retire": "tsx scripts/train-model.ts retire",
    "holdings": "tsx scripts/extract-holdings.ts",
    "corpus": "tsx scripts/corpus-report.ts"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@extraction-studio/config": "workspace:*",
    "@extraction-studio/database": "workspace:*",
    "@extraction-studio/document-model": "workspace:*",
    "@extraction-studio/financial": "workspace:*",
    "@extraction-studio/layout": "workspace:*",
    "@extraction-studio/learning": "workspace:*",
    "@extraction-studio/ocr": "workspace:*",
    "@extraction-studio/pipeline": "workspace:*",
    "@extraction-studio/profiles": "workspace:*",
    "@extraction-studio/schemas": "workspace:*",
    "@extraction-studio/validation": "workspace:*",
    "@types/node": "^22.10.5",
    "@vitest/coverage-v8": "^3.0.5",
    "eslint": "^10.9.1",
    "eslint-config-prettier": "^10.1.8",
    "prettier": "^3.4.2",
    "prisma": "^6.2.1",
    "rimraf": "^6.0.1",
    "tsx": "^4.19.2",
    "typescript": "^5.7.3",
    "typescript-eslint": "^8.20.0",
    "vitest": "^3.0.5"
  }
}
