{
  "name": "@fastybird/smart-panel-backend",
  "version": "0.1.0-alpha.5",
  "description": "Powerful backend for administrating and integrating the FastyBird IoT Smart Panel",
  "keywords": [
    "fastybird",
    "iot",
    "smart-panel",
    "backend",
    "administration",
    "iot-platform",
    "device-management",
    "home-automation",
    "api",
    "websockets",
    "iot-backend",
    "automation",
    "smart-home",
    "fastybird-platform",
    "smart-devices",
    "connected-devices",
    "integration"
  ],
  "homepage": "https://smart-panel.fastybird.com",
  "bugs": "https://github.com/FastyBird/smart-panel/issues",
  "license": "Apache-2.0",
  "author": {
    "name": "Studio81 Labs s.r.o.",
    "email": "dev@studio81.cz",
    "url": "https://www.studio81.cz"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/FastyBird/smart-panel.git"
  },
  "main": "dist/main.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "require": "./dist/index.js"
    }
  },
  "files": [
    "dist/",
    "static/",
    "package.json",
    "README.md",
    "LICENSE.md"
  ],
  "dependencies": {
    "@anthropic-ai/sdk": "^0.78.0",
    "@fastify/multipart": "^9.4.0",
    "@fastify/static": "^9.0.0",
    "@nestjs/cache-manager": "^3.1.0",
    "@nestjs/common": "^11.1.16",
    "@nestjs/config": "^4.0.3",
    "@nestjs/core": "^11.1.16",
    "@nestjs/event-emitter": "^3.0.1",
    "@nestjs/jwt": "^11.0.2",
    "@nestjs/mapped-types": "^2.1.0",
    "@nestjs/platform-express": "^11.1.16",
    "@nestjs/platform-fastify": "^11.1.17",
    "@nestjs/platform-socket.io": "^11.1.16",
    "@nestjs/schedule": "^6.1.1",
    "@nestjs/serve-static": "^5.0.4",
    "@nestjs/swagger": "^11.2.6",
    "@nestjs/typeorm": "^11.0.0",
    "@nestjs/websockets": "^11.1.16",
    "@whiskeysockets/baileys": "7.0.0-rc.9",
    "ajv": "^8.18.0",
    "bcrypt": "^6.0.0",
    "bonjour-service": "^1.3.0",
    "cache-manager": "^7.2.8",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.15.1",
    "cron": "^4.4.0",
    "discord.js": "^14.16.3",
    "dotenv": "^17.3.1",
    "fastify": "~5.8.2",
    "influx": "^5.12.0",
    "inquirer": "^13.3.0",
    "lodash.isundefined": "^3.0.1",
    "lodash.omitby": "^4.6.0",
    "mime-types": "^3.0.2",
    "mqtt": "^5.15.0",
    "nest-commander": "^3.20.1",
    "nestjs-cls": "^6.2.0",
    "openai": "^6.28.0",
    "openweathermap-ts": "^1.2.10",
    "reflect-metadata": "^0.2.2",
    "rxjs": "^7.8.2",
    "shellies": "^1.7.0",
    "shellies-ds9": "github:fastybird/node-shellies-ds9#main",
    "socket.io": "^4.8.3",
    "sqlite3": "^5.1.7",
    "systeminformation": "^5.31.4",
    "telegraf": "^4.16.3",
    "typeorm": "^0.3.28",
    "ulid": "^3.0.2",
    "uuid": "^13.0.0",
    "ws": "^8.19.0",
    "yaml": "^2.8.2",
    "@fastybird/smart-panel-extension-sdk": "0.1.0-alpha.5"
  },
  "devDependencies": {
    "@eslint/eslintrc": "^3.3.5",
    "@eslint/js": "^10.0.1",
    "@nestjs/cli": "^11.0.16",
    "@nestjs/schematics": "^11.0.9",
    "@nestjs/testing": "^11.1.16",
    "@stoplight/spectral-cli": "^6.15.0",
    "@swc/cli": "^0.8.0",
    "@swc/core": "^1.15.18",
    "@trivago/prettier-plugin-sort-imports": "^6.0.2",
    "@types/bcrypt": "^6.0.0",
    "@types/express": "^5.0.6",
    "@types/jest": "^30",
    "@types/lodash.isundefined": "^3.0.9",
    "@types/lodash.omitby": "^4.6.9",
    "@types/md5": "^2.3.6",
    "@types/mime-types": "^3.0.1",
    "@types/node": "^24.12.0",
    "@types/supertest": "^7.2.0",
    "@types/ws": "^8.18.1",
    "@typescript-eslint/eslint-plugin": "latest",
    "@typescript-eslint/parser": "latest",
    "eslint": "^10.0.3",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-prettier": "^5.5.5",
    "globals": "^17.4.0",
    "jest": "^30.3.0",
    "openapi-typescript": "^7.13.0",
    "prettier": "^3.8.1",
    "source-map-support": "^0.5.21",
    "supertest": "^7.2.2",
    "ts-jest": "^29.4.0",
    "ts-loader": "^9.5.4",
    "ts-node": "^10.9.2",
    "tsconfig-paths": "^4.2.0",
    "typescript": "~5.9.3",
    "typescript-eslint": "^8.57.0"
  },
  "engines": {
    "node": ">=20",
    "npm": ">=10"
  },
  "scripts": {
    "build": "nest build",
    "start": "NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start",
    "start:dev": "NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch",
    "start:debug": "NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch",
    "start:prod": "node --disable-warning=DEP0040 dist/main",
    "lint:js": "eslint \"src/**/*.ts\" \"test/**/*.ts\"",
    "lint:js:fix": "eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix",
    "lint:api": "bash ../../bin/lint-api-conventions.sh",
    "lint:openapi:spec": "spectral lint ../../spec/api/v1/openapi.json --fail-severity warn",
    "lint:openapi": "pnpm run generate:openapi && pnpm run lint:openapi:spec",
    "lint:deps": "npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json",
    "pretty": "pnpm pretty:write && pnpm pretty:check",
    "pretty:check": "prettier \"src/**/*.ts\" \"test/**/*.ts\" --check",
    "pretty:write": "prettier \"src/**/*.ts\" \"test/**/*.ts\" --write",
    "test:unit": "jest",
    "test:watch": "jest --watch",
    "test:cov": "jest --coverage",
    "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand",
    "test:e2e": "jest --config ./test/jest-e2e.json",
    "type-check": "tsc --noEmit",
    "typeorm:migration:generate": "ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts",
    "typeorm:migration:run": "ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts",
    "typeorm:migration:revert": "ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts",
    "typeorm:migration:run:prod": "node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js",
    "generate:openapi": "ts-node --project tsconfig.json src/cli.ts openapi:generate",
    "generate:spec": "ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts",
    "cli": "ts-node --project tsconfig.json src/cli.ts",
    "cli:prod": "node dist/cli"
  }
}