{
  "name": "@generazioneai/authz",
  "version": "0.3.8",
  "description": "Agnostic runtime authorization for NestJS + Prisma: CASL scoping, signed inter-service JWTs, and snapshot-based permission propagation over NATS.",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "bin": {
    "authz-check": "dist/codegen/authz-check.js"
  },
  "files": [
    "dist",
    "README.md"
  ],
  "publishConfig": {
    "access": "public"
  },
  "repository": {
    "type": "git",
    "url": "git@github.com:GenerazioneAI-SRL/SKILLERA-AUTHZ-PACKAGES.git",
    "directory": "packages/authz"
  },
  "scripts": {
    "build": "npm run clean && tsc -p tsconfig.json",
    "clean": "rm -rf dist",
    "test": "jest",
    "test:cov": "jest --coverage",
    "lint": "echo 'TODO: lint' && exit 0",
    "authz:genkey": "ts-node scripts/generate-key.ts"
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "default": "./dist/index.js"
    },
    "./nats": {
      "types": "./dist/nats/index.d.ts",
      "default": "./dist/nats/index.js"
    },
    "./nest": {
      "types": "./dist/nest/index.d.ts",
      "default": "./dist/nest/index.js"
    },
    "./snapshot": {
      "types": "./dist/snapshot/index.d.ts",
      "default": "./dist/snapshot/index.js"
    },
    "./enforce": {
      "types": "./dist/enforce/index.d.ts",
      "default": "./dist/enforce/index.js"
    },
    "./codegen": {
      "types": "./dist/codegen/index.d.ts",
      "default": "./dist/codegen/index.js"
    }
  },
  "typesVersions": {
    "*": {
      "nats": [
        "dist/nats/index.d.ts"
      ],
      "nest": [
        "dist/nest/index.d.ts"
      ],
      "snapshot": [
        "dist/snapshot/index.d.ts"
      ],
      "enforce": [
        "dist/enforce/index.d.ts"
      ],
      "codegen": [
        "dist/codegen/index.d.ts"
      ]
    }
  },
  "peerDependencies": {
    "@casl/ability": "^6.7.0",
    "@casl/prisma": "^1.5.0",
    "@nestjs/common": "^11.0.0",
    "@nestjs/core": "^11.0.0",
    "@nestjs/microservices": "^11.0.0",
    "@prisma/client": "^6.0.0 || ^7.0.0",
    "@prisma/internals": ">=6",
    "rxjs": "^7.0.0"
  },
  "peerDependenciesMeta": {
    "@prisma/client": {
      "optional": true
    },
    "@casl/ability": {
      "optional": true
    },
    "@casl/prisma": {
      "optional": true
    },
    "@prisma/internals": {
      "optional": true
    }
  },
  "dependencies": {
    "ioredis": "^5.4.0",
    "jose": "^6.0.10",
    "json-stable-stringify": "^1.1.1",
    "lru-cache": "^10.4.0"
  },
  "devDependencies": {
    "@casl/ability": "^6.7.3",
    "@casl/prisma": "^1.6.2",
    "@nestjs/core": "^11.1.24",
    "@nestjs/microservices": "^11.1.24",
    "@types/json-stable-stringify": "^1.0.36",
    "@types/node": "^22.0.0",
    "rxjs": "^7.8.2",
    "ts-node": "^10.9.2",
    "typescript": "^5.1.3"
  },
  "keywords": [
    "authorization",
    "authz",
    "casl",
    "prisma",
    "nestjs",
    "rbac",
    "abac",
    "multi-tenant",
    "nats",
    "microservices",
    "permissions"
  ],
  "license": "MIT"
}
