{
  "name": "unifi-protect",
  "type": "module",
  "version": "5.0.0",
  "displayName": "UniFi Protect API",
  "description": "A complete implementation of the UniFi Protect API.",
  "author": {
    "name": "HJD",
    "url": "https://github.com/hjdhjd"
  },
  "homepage": "https://github.com/hjdhjd/unifi-protect#readme",
  "license": "ISC",
  "repository": {
    "type": "git",
    "url": "git://github.com/hjdhjd/unifi-protect.git"
  },
  "bugs": {
    "url": "https://github.com/hjdhjd/unifi-protect/issues"
  },
  "keywords": [
    "api",
    "camera",
    "doorbell",
    "esm",
    "livestream",
    "motion",
    "motion sensor",
    "protect",
    "rtsp",
    "security",
    "typescript",
    "ubiquiti",
    "uck",
    "uck g2",
    "uck g2+",
    "uck gen2",
    "uck gen2+",
    "udm",
    "udm pro",
    "udm-pro",
    "unifi",
    "unifi camera",
    "unifi cloud key",
    "unifi dream machine pro",
    "unifi ffmpeg",
    "unifi nvr",
    "unifi protect",
    "unifi-nvr",
    "unifios",
    "uvc g3 flex",
    "uvc g4 doorbell",
    "uvc g4 pro"
  ],
  "engines": {
    "node": ">=22.20"
  },
  "bin": {
    "ufp": "dist/util/cli/index.js"
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./package.json": "./package.json"
  },
  "scripts": {
    "build": "npm run clean && tsc -p tsconfig.build.json && node -e \"require('node:fs').chmodSync('dist/util/cli/index.js',0o755)\"",
    "build-docs": "node -e \"for(const p of ['docs/classes', 'docs/functions', 'docs/interfaces', 'docs/modules', 'docs/type-aliases', 'docs/variables', 'docs/README.md'])require('node:fs').rmSync(p,{force:true,recursive:true})\" && npx typedoc",
    "clean": "node -e \"require('node:fs').rmSync('dist',{force:true,recursive:true})\"",
    "lint": "eslint --max-warnings=${ESLINT_MAX_WARNINGS:-\"-1\"} eslint.config.mjs \"src/**/*.ts\"",
    "postpublish": "npm run clean",
    "prepublishOnly": "npm run lint && npm run typecheck && npm run build",
    "test": "node --strip-types --test --experimental-test-coverage --test-coverage-include='src/**/*.ts' --test-coverage-exclude='src/**/*.test.ts' --test-coverage-lines=85 --test-coverage-branches=80 --test-coverage-functions=85 --test-timeout=15000 \"src/**/*.test.ts\"",
    "test:watch": "node --strip-types --test --watch \"src/**/*.test.ts\"",
    "typecheck": "tsc --noEmit"
  },
  "devDependencies": {
    "@stylistic/eslint-plugin": "5.10.0",
    "@types/node": "26.1.0",
    "eslint": "9.39.2",
    "homebridge-plugin-utils": "2.0.0",
    "typedoc": "0.28.20",
    "typedoc-plugin-markdown": "4.12.0",
    "typescript": "5.9.3",
    "typescript-eslint": "8.63.0"
  },
  "dependencies": {
    "undici": "8.7.0"
  }
}
