{
  "name": "dbis-core-banking-system",
  "version": "1.0.0",
  "description": "DBIS Core Banking System - Sovereign-grade financial infrastructure",
  "main": "dist/index.js",
  "scripts": {
    "build": "tsc",
    "dev": "ts-node-dev --respawn --transpile-only src/index.ts",
    "start": "node dist/index.js",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:coverage": "jest --coverage",
    "test:iru-marketplace": "jest src/__tests__/iru/marketplace.service.test.ts src/__tests__/integration/api/iru-marketplace-http.integration.test.ts --forceExit --no-cache",
    "test:gateway": "jest src/__tests__/unit/core/gateway --forceExit --no-cache && jest --config jest.gateway-http.config.js --forceExit --no-cache",
    "seed:gateway-provider": "ts-node -r tsconfig-paths/register scripts/seed-solacenet-gateway-provider.ts",
    "prisma:generate": "prisma generate",
    "prisma:migrate": "prisma migrate dev",
    "prisma:studio": "prisma studio",
    "lint": "eslint src --ext .ts",
    "format": "prettier --write \"src/**/*.ts\"",
    "prepare": "husky install",
    "worker:dual-ledger-outbox": "ts-node src/workers/run-dual-ledger-outbox.ts",
    "worker:gateway-outbox": "ts-node -r tsconfig-paths/register src/workers/run-gateway-outbox-worker.ts",
    "db:verify-columns": "psql $DATABASE_URL -f scripts/verify-column-names.sql",
    "db:audit-balances": "psql $DATABASE_URL -f scripts/audit-balances.sql",
    "db:run-migrations": "./scripts/run-migrations.sh",
    "db:monitor-outbox": "./scripts/monitor-outbox.sh"
  },
  "keywords": [
    "banking",
    "core-banking",
    "sovereign",
    "ledger",
    "fx",
    "cbdc",
    "iso20022"
  ],
  "author": "DBIS",
  "license": "UNLICENSED",
  "dependencies": {
    "@aws-sdk/client-ses": "^3.980.0",
    "@grpc/grpc-js": "^1.9.14",
    "@grpc/proto-loader": "^0.7.10",
    "@prisma/client": "^5.7.1",
    "@types/nodemailer": "^7.0.9",
    "ajv": "^8.17.1",
    "ajv-formats": "^3.0.1",
    "amqplib": "^0.10.3",
    "axios": "^1.13.4",
    "bcryptjs": "^2.4.3",
    "cors": "^2.8.5",
    "crypto": "^1.0.1",
    "date-fns": "^3.0.6",
    "decimal.js": "^10.4.3",
    "dotenv": "^16.3.1",
    "ethers": "^6.13.5",
    "express": "^4.18.2",
    "express-rate-limit": "^7.1.5",
    "helmet": "^7.1.0",
    "jsonwebtoken": "^9.0.2",
    "kafkajs": "^2.2.4",
    "nodemailer": "^7.0.13",
    "swagger-jsdoc": "^6.2.8",
    "swagger-ui-express": "^5.0.0",
    "uuid": "^9.0.1",
    "winston": "^3.11.0",
    "ws": "^8.19.0",
    "xml2js": "^0.6.2",
    "zod": "^3.22.4"
  },
  "devDependencies": {
    "@types/bcryptjs": "^2.4.6",
    "@types/cors": "^2.8.17",
    "@types/express": "^4.17.21",
    "@types/jest": "^29.5.11",
    "@types/jsonwebtoken": "^9.0.5",
    "@types/node": "^20.10.5",
    "@types/supertest": "^6.0.2",
    "@types/swagger-jsdoc": "^6.0.4",
    "@types/swagger-ui-express": "^4.1.6",
    "@types/uuid": "^9.0.7",
    "@types/ws": "^8.18.1",
    "@types/xml2js": "^0.4.14",
    "@typescript-eslint/eslint-plugin": "^6.17.0",
    "@typescript-eslint/parser": "^6.17.0",
    "eslint": "^8.56.0",
    "husky": "^8.0.3",
    "jest": "^29.7.0",
    "lint-staged": "^15.2.0",
    "prettier": "^3.1.1",
    "prisma": "^5.7.1",
    "supertest": "^6.3.3",
    "ts-jest": "^29.1.1",
    "ts-node-dev": "^2.0.0",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.3.3"
  }
}
