{"_id":"@fastybird/smart-panel-backend","_rev":"98-3c3902af1fa9489a9836691eab2bba23","name":"@fastybird/smart-panel-backend","dist-tags":{"latest":"0.1.0-alpha.5","beta":"1.0.0-beta.3","alpha":"1.1.0-alpha.23"},"versions":{"0.1.0-alpha.5":{"name":"@fastybird/smart-panel-backend","version":"0.1.0-alpha.5","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.1.0-alpha.5","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"056ac8b697a98b796bdd4f6fabd0cb67c331a173","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.1.0-alpha.5.tgz","fileCount":3502,"integrity":"sha512-qKfPh9bSrPZkoO8lA9YUJ6/F6Bn7IHQvUiUIIiN3A0vwXqntk8OTSvAt5RDR1XO7n2ckJz7u5B7nhA1X6IcrzQ==","signatures":[{"sig":"MEUCIEK7F7mPRa8jf8a5QR2WBHyF9u3UZlHkqXKf4QA6SbARAiEAjntvyt3SIRRWb0N3s7cphCUiLW1cI4lkH04AqidMdLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.1.0-alpha.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15126448},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.1.0-alpha.5.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/345a7c6a51c1cf23d67618f1b1cad088/fastybird-smart-panel-backend-0.1.0-alpha.5.tgz","_integrity":"sha512-qKfPh9bSrPZkoO8lA9YUJ6/F6Bn7IHQvUiUIIiN3A0vwXqntk8OTSvAt5RDR1XO7n2ckJz7u5B7nhA1X6IcrzQ==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.1.0-alpha.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.1.0-alpha.5_1774819354659_0.2616043399288983","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.6":{"name":"@fastybird/smart-panel-backend","version":"0.1.0-alpha.6","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.1.0-alpha.6","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"eb9a8f91fa0220c9b1289e782ae3c349214a9ffc","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.1.0-alpha.6.tgz","fileCount":3502,"integrity":"sha512-MlpaAI7HZVhaeQyS17W6OKX5EpmaGT1tOA1e1BE7dPK9SVha1CtIpfz14HVjqAFNqh6KAzFP6zk/9x4NiCHZIQ==","signatures":[{"sig":"MEYCIQCOdeu1jCW/41nZUiPE5vztaMX2gLbHgPGjz3DrDu3ZzgIhANVKubhLVYa/ARyhXKwhR23zwC0n8T9VZRWRZA704+Wi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.1.0-alpha.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15126448},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.1.0-alpha.6.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/bfa7e4ada6fa744746ee53fbd2c4951c/fastybird-smart-panel-backend-0.1.0-alpha.6.tgz","_integrity":"sha512-MlpaAI7HZVhaeQyS17W6OKX5EpmaGT1tOA1e1BE7dPK9SVha1CtIpfz14HVjqAFNqh6KAzFP6zk/9x4NiCHZIQ==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.1.0-alpha.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.1.0-alpha.6_1774820947273_0.29340834049401443","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"0.2.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.2.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"1c713e777391f2af9a4cacee7d8fbc7874352333","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.2.0-alpha.0.tgz","fileCount":3514,"integrity":"sha512-g0bdQLBJrrQlVLfbi68YMcghUMpR16IbjdMMI5R/PgA45IGFNyavm9U4i06rSBCBcVZ1Xlcct3ivp+HMc+CPgw==","signatures":[{"sig":"MEUCIB1Ra40CsA78/6HcCdPiOuhLYyLPNQK0sWl/pREs7hW7AiEAgzPNNCvVoSsZMAFfKxAswBQ4ngGarY0e+2+xuR/hlvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.2.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15221696},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.2.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/9cac1b758e41de481697bbf32ff2fb0c/fastybird-smart-panel-backend-0.2.0-alpha.0.tgz","_integrity":"sha512-g0bdQLBJrrQlVLfbi68YMcghUMpR16IbjdMMI5R/PgA45IGFNyavm9U4i06rSBCBcVZ1Xlcct3ivp+HMc+CPgw==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.2.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.2.0-alpha.0_1774907672283_0.8078428264243587","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"0.3.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.3.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"4ed1f34d3512d48bcd2032596c0b74e6e683b4e5","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.3.0-alpha.0.tgz","fileCount":3514,"integrity":"sha512-jz/6Wf0sRA6YFTSxj2nwxQkFVZd7W0WDzhooTQKMovKoVf0+JC/j5wXokp1gxymVwGeXY27K6x+8m1LhU4QThA==","signatures":[{"sig":"MEQCIC6Z0wnB0/ZY7fUjWgVrFRn/YQAw8xvnn1SVC2jYLKw6AiBPoIzBjiDSOxMJdIaE7UgxKJfDCFnebRON8AywWwn/VA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.3.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15227676},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.3.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/681d8e903a270db89793c4eab6526ee4/fastybird-smart-panel-backend-0.3.0-alpha.0.tgz","_integrity":"sha512-jz/6Wf0sRA6YFTSxj2nwxQkFVZd7W0WDzhooTQKMovKoVf0+JC/j5wXokp1gxymVwGeXY27K6x+8m1LhU4QThA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.3.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.3.0-alpha.0_1774976516547_0.6837974253811825","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"0.4.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.4.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"5e8b1eeec56712e9a59051e48d1faf40c81bbfbd","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.4.0-alpha.0.tgz","fileCount":3517,"integrity":"sha512-CAkcTP9AXLYRLtxHxJnrc7mwXYq4skpt+St+SSgFNtaOa/3rlvXgVz0gMJcdLbMficcnTotIpWPmEqFm0XbHVg==","signatures":[{"sig":"MEQCIBHYZF8aXJ4IUUyHoFl2M5543dFLFQU/Cc0Qm8eoryEFAiAcTb2MsnClq2sujGoXlpe569gCbExA5arHK8GwsZHUuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.4.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15232130},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.4.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/ea2b2c642c2a69a4b7e563c213b7f0c1/fastybird-smart-panel-backend-0.4.0-alpha.0.tgz","_integrity":"sha512-CAkcTP9AXLYRLtxHxJnrc7mwXYq4skpt+St+SSgFNtaOa/3rlvXgVz0gMJcdLbMficcnTotIpWPmEqFm0XbHVg==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.4.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.4.0-alpha.0_1775049805078_0.11477343511650573","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"0.5.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.5.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"f27175d84503d5faa1eb9dd472f155cb89c69afc","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.5.0-alpha.0.tgz","fileCount":3517,"integrity":"sha512-IgeqwHD5jzQrMqgb+uxNN/eKqZyTQwBp5HwK5CiaBJdTMD425Y2f6zOo37OuRG+hQEaue4NdoQUZ8xyCuEK5WQ==","signatures":[{"sig":"MEUCIBIbS1vabrZmRyMEteKPDbFsGKf7zJ6F1WEDmrINGOgXAiEA2glR8NCRwfaNBIwSYRANuer6DG+FZmWp396S6oXCNBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.5.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15233288},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.5.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/df8097d46506c5c03765deffa4b49e74/fastybird-smart-panel-backend-0.5.0-alpha.0.tgz","_integrity":"sha512-IgeqwHD5jzQrMqgb+uxNN/eKqZyTQwBp5HwK5CiaBJdTMD425Y2f6zOo37OuRG+hQEaue4NdoQUZ8xyCuEK5WQ==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.5.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.5.0-alpha.0_1775073304290_0.7162350624409113","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-alpha.1":{"name":"@fastybird/smart-panel-backend","version":"0.5.0-alpha.1","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.5.0-alpha.1","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"3bfc60f7ad10cb6b104aa6b6cc4b3b5837695294","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.5.0-alpha.1.tgz","fileCount":3517,"integrity":"sha512-0L0sM3wjHHMd7tXtuQijNOGA+T91BUyqUizJG5JpiDksY+xOudwxKlmoQdVoh+iz7PkkEpZemIlXqLqmrvge1g==","signatures":[{"sig":"MEUCIQDKCFoysJGFKm5QkD0IzqzTnlB7v2DqvApO2tIxcFbt9QIgSeudyfwsl5vY+6cb21p32srqkaIde9Tjs7rhWgsK/w4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.5.0-alpha.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15233288},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.5.0-alpha.1.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/6e7a6869bcd80441b746348a91e1311f/fastybird-smart-panel-backend-0.5.0-alpha.1.tgz","_integrity":"sha512-0L0sM3wjHHMd7tXtuQijNOGA+T91BUyqUizJG5JpiDksY+xOudwxKlmoQdVoh+iz7PkkEpZemIlXqLqmrvge1g==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.5.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.5.0-alpha.1_1775075266326_0.2068105953182946","host":"s3://npm-registry-packages-npm-production"}},"0.6.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"0.6.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.6.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"783a124d2b581a260da7060c5b10d838b7ad6084","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.6.0-alpha.0.tgz","fileCount":3517,"integrity":"sha512-iC/1E1akUln7EK43cY9LQK/zlXXqCB++Zu//iiF4GJdOoMVsOSHYkkIiFotXiUXr9FHdZ4Ewun8fZNH/98ncAw==","signatures":[{"sig":"MEUCIEjZkRXR3x689JNWv8HIGAe7dccFQRb6nO7wBvZ+1h75AiEAkI7Nu5MPHp7mv3gct5uxBj6UoGWG5qJs4dqCNLw/F6c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.6.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15233288},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.6.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/9ca01a084808cf89f56286048cfcab4f/fastybird-smart-panel-backend-0.6.0-alpha.0.tgz","_integrity":"sha512-iC/1E1akUln7EK43cY9LQK/zlXXqCB++Zu//iiF4GJdOoMVsOSHYkkIiFotXiUXr9FHdZ4Ewun8fZNH/98ncAw==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.6.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.6.0-alpha.0_1775075306410_0.11766298851379853","host":"s3://npm-registry-packages-npm-production"}},"0.7.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"0.7.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.7.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"0cff52bd199b80180cf41c213f26e7b093ea3975","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.7.0-alpha.0.tgz","fileCount":3517,"integrity":"sha512-uBSeHr8lm/L9QREFIW04ovMIRaC3nQCwbVyVd2DBpI55XZkAk3ri6DLOLr00DmzvjvOjWDhQeT9oSI7ShEm3oA==","signatures":[{"sig":"MEQCIDFDjS6Lk8A9zuER8DKtBg3W4RHMqoMTGVizNHq65a8FAiB53QGvrmGB4lB5KLP1yMeNL9hYuZQ8Jd6aQcxUGlAipg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.7.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15233288},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.7.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/7c8ed3022d94bfb2ddf2c8f3b5fca329/fastybird-smart-panel-backend-0.7.0-alpha.0.tgz","_integrity":"sha512-uBSeHr8lm/L9QREFIW04ovMIRaC3nQCwbVyVd2DBpI55XZkAk3ri6DLOLr00DmzvjvOjWDhQeT9oSI7ShEm3oA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.7.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.7.0-alpha.0_1775079953010_0.2780302921625524","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"0.8.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.8.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"e739ac5c917f8b17ee4218aaf6abc5813dc7f6ca","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.8.0-alpha.0.tgz","fileCount":3517,"integrity":"sha512-jtWOeQQ4vw477OHpoZLZ4D85LhaqLHxWwcOVpv7CBj0zGylUPXNi1xhexIPoGr7JAIN2HpchdzICdKxeCTlGVA==","signatures":[{"sig":"MEQCIGfgKJ3XcO+xdgIg5fZ5p7YEemFAXApMB9A1MmoMs8gpAiAyeMWaDsp6g/lrNfuEUgTwz3Aq9lYrNKkZ+tnthNYqrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.8.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15233288},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.8.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/ea00b885a4da78dc9561c3dd35cc198e/fastybird-smart-panel-backend-0.8.0-alpha.0.tgz","_integrity":"sha512-jtWOeQQ4vw477OHpoZLZ4D85LhaqLHxWwcOVpv7CBj0zGylUPXNi1xhexIPoGr7JAIN2HpchdzICdKxeCTlGVA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.8.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.8.0-alpha.0_1775121227842_0.9053253089584556","host":"s3://npm-registry-packages-npm-production"}},"0.9.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"0.9.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.9.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"cb6c72a098da9664ac1eeaa2ec9b522fae5356cb","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.9.0-alpha.0.tgz","fileCount":3517,"integrity":"sha512-0hHIkSohPHEBWmVit7NY4AKbp3cTKakmp8Ae37oW18U2PnUTvGdASjaTpKLZP01zIvYQIoixUOD/zraDRtUkGA==","signatures":[{"sig":"MEUCIE7fPmkEDN2J4O8nw9cp6pDksd7wsXBi3vATpeUC4U3hAiEAlZur0VOYpYCP3Gf/eAxhTwcptJ1kICrMgVc8JoHt1pA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.9.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15233288},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.9.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/3c1cc683d95a8a3fe285c0ffb8a263b4/fastybird-smart-panel-backend-0.9.0-alpha.0.tgz","_integrity":"sha512-0hHIkSohPHEBWmVit7NY4AKbp3cTKakmp8Ae37oW18U2PnUTvGdASjaTpKLZP01zIvYQIoixUOD/zraDRtUkGA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.9.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.9.0-alpha.0_1775123825399_0.4931979017822046","host":"s3://npm-registry-packages-npm-production"}},"0.10.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"0.10.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.10.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"e0b0dc47a23396a651bb3e0bd2be0336156d53c2","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.10.0-alpha.0.tgz","fileCount":3517,"integrity":"sha512-5fqBGYUPpuC/QxdjRmADDyjdJd5BCWSfxX3NsuT4+RPrp37K0PSXJOLLoTa6knfVFXZQCFz5i7B93n5BgOfr9A==","signatures":[{"sig":"MEQCIH9yAwORly3wRzgnG3gjH3vJtrYvehFSlHLUTeGXQRwIAiBcMS42ujNLePH/VTISOhZRY3jm+7hnoZ1sfZZlbe6mMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.10.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15233290},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.10.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/5ccb8f7ae6349dc4b8234833bd87d63d/fastybird-smart-panel-backend-0.10.0-alpha.0.tgz","_integrity":"sha512-5fqBGYUPpuC/QxdjRmADDyjdJd5BCWSfxX3NsuT4+RPrp37K0PSXJOLLoTa6knfVFXZQCFz5i7B93n5BgOfr9A==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.10.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.10.0-alpha.0_1775129793312_0.13701469206351935","host":"s3://npm-registry-packages-npm-production"}},"0.11.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"0.11.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.11.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"0cba13b320c4ad15d7112eba339d686eca7d04ba","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.11.0-alpha.0.tgz","fileCount":3517,"integrity":"sha512-gBxtGBZKFQpBmyCcfL/0KqDpVARMf0xtSFtkPg3/oiIGaIi/YzkGTiDCw2VGK+MeEeKeATq/3WOy8IYIsVvMWw==","signatures":[{"sig":"MEYCIQCjs984ZaKO1B5+8whGZA5NKfq6JM5RAuMjsckny1z7oQIhAIB4pQHau9/rE3NoguR8vrm/E29Tq9RNwHpTgWkHxSBZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.11.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15233290},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.11.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/b5cd62332be2af0e2d7fd7b21c847b65/fastybird-smart-panel-backend-0.11.0-alpha.0.tgz","_integrity":"sha512-gBxtGBZKFQpBmyCcfL/0KqDpVARMf0xtSFtkPg3/oiIGaIi/YzkGTiDCw2VGK+MeEeKeATq/3WOy8IYIsVvMWw==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.11.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.11.0-alpha.0_1775132246910_0.9745599717786286","host":"s3://npm-registry-packages-npm-production"}},"0.12.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"0.12.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.12.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"f7f77487fc36f7a33ffaf61f90f165f47b7dcf10","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.12.0-alpha.0.tgz","fileCount":3517,"integrity":"sha512-HwQHcPmVMtHX3yC7Dqlp/T340Jd+J1tIP69BtY4WD/IJS5r0XirqgWp5aQCTB6vyzy1Z6OZn/tLNYjmCzf+big==","signatures":[{"sig":"MEUCIEaxFKKT+AmkFnUAlFz9h+NKZ85RQcdl8WzeCCTMtQHKAiEAhMsNlZ+v24kGBFfvggBta3pdyedShoIKfWKi+hw2HFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.12.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15234609},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.12.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/e49eae65a6065b08720ddc975b1c17cd/fastybird-smart-panel-backend-0.12.0-alpha.0.tgz","_integrity":"sha512-HwQHcPmVMtHX3yC7Dqlp/T340Jd+J1tIP69BtY4WD/IJS5r0XirqgWp5aQCTB6vyzy1Z6OZn/tLNYjmCzf+big==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.12.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.12.0-alpha.0_1775138559366_0.45972532089017215","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.7":{"name":"@fastybird/smart-panel-backend","version":"0.1.0-alpha.7","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.1.0-alpha.7","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"7a63e9f43f852a9b211d80d7b6af4e3b319e1243","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.1.0-alpha.7.tgz","fileCount":3520,"integrity":"sha512-DxYcnmVHA9iKFnia5n36GLZvWPqIEJA29woi0eYWVbzhAnsMmvfP595pzXB4eEdYzz9S2ZNN24YsLp+fIXFYfw==","signatures":[{"sig":"MEQCIHA9q+cIyijoC59EP0a1tjwtvPC5Amc9BaYaI9uR+ngTAiBw7GXXrUF1IWgtPuc5JP00hoentKxG2V2uRN8Fu5I2Og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.1.0-alpha.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15243077},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.1.0-alpha.7.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/9bf7906f848a3169ca0636b0354cb974/fastybird-smart-panel-backend-0.1.0-alpha.7.tgz","_integrity":"sha512-DxYcnmVHA9iKFnia5n36GLZvWPqIEJA29woi0eYWVbzhAnsMmvfP595pzXB4eEdYzz9S2ZNN24YsLp+fIXFYfw==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.1.0-alpha.7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.1.0-alpha.7_1775154196354_0.0518325820859904","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.8":{"name":"@fastybird/smart-panel-backend","version":"0.1.0-alpha.8","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.1.0-alpha.8","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"68c29b65cf3210f390d44f5d6e718e2cd52e034b","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.1.0-alpha.8.tgz","fileCount":3520,"integrity":"sha512-lnWeT3aopJzalvDpfK5MOdNRP03E8kUpnDuFeXf6cEslG/qqNGuTkb4f37lsqKphhUMUE/vajDtAgrvZY3ph8g==","signatures":[{"sig":"MEUCIHIZHrwQdJQ8GwN/+KwOrJbq06K+5on8EsE1iKCvax7UAiEAtg5BN6vMPtfLdrVd+fW/tCDdYiBiqlB29sBW6jJY2Xs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.1.0-alpha.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15243621},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.1.0-alpha.8.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/38f1ed786843e36140bde86b147d0bfb/fastybird-smart-panel-backend-0.1.0-alpha.8.tgz","_integrity":"sha512-lnWeT3aopJzalvDpfK5MOdNRP03E8kUpnDuFeXf6cEslG/qqNGuTkb4f37lsqKphhUMUE/vajDtAgrvZY3ph8g==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.9.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@fastybird/smart-panel-extension-sdk":"0.1.0-alpha.8"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.1.0-alpha.8_1775160916868_0.6610014831887909","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-alpha.1":{"name":"@fastybird/smart-panel-backend","version":"0.2.0-alpha.1","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.2.0-alpha.1","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"393662afd89effcb5cd380204b2202f6eea2d8e7","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.2.0-alpha.1.tgz","fileCount":3538,"integrity":"sha512-HNaDDJm8BLQAkvTlBiDoe2JzqCbp1tCfRfZIbi5c/brbsvyed+eMrfU3mfiqNAz2alS/+WVSN/NODvGwi9UVLQ==","signatures":[{"sig":"MEQCIGol57lY2MtIysCD5ZsyXDAXu4LnMOJJ5qc+it01ZtYpAiA42jn/qZtXaVCMk4m4MU0Y1/ErC4/CtGvz3ncJ+sYsEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.2.0-alpha.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15301094},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.2.0-alpha.1.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/fde652746b919229844bb6780f7bd783/fastybird-smart-panel-backend-0.2.0-alpha.1.tgz","_integrity":"sha512-HNaDDJm8BLQAkvTlBiDoe2JzqCbp1tCfRfZIbi5c/brbsvyed+eMrfU3mfiqNAz2alS/+WVSN/NODvGwi9UVLQ==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.2.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.2.0-alpha.1_1775239258389_0.19325968559728368","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.1":{"name":"@fastybird/smart-panel-backend","version":"0.3.0-alpha.1","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.3.0-alpha.1","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"a0071e267dcb6971cb10da801d240655d985b851","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.3.0-alpha.1.tgz","fileCount":3539,"integrity":"sha512-QkdoZ/fghdj6MlcmwK2AclmHcgNmTE4fNlIoAlWjUah67xQbKa1b2be43xeyPLKt1dkAkTe9c/vTZklTtpkFzA==","signatures":[{"sig":"MEQCICta4K2o4Vp1PVQXJ78lgi658j+tkH9MNuicSoM0StdvAiAVHM1swK7uvhPmASv3TQ5UDSREPvJUB51oyN+J4MKQ+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.3.0-alpha.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15327831},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.3.0-alpha.1.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/fb1b785f0e25ff312be577f9e58fcdf8/fastybird-smart-panel-backend-0.3.0-alpha.1.tgz","_integrity":"sha512-QkdoZ/fghdj6MlcmwK2AclmHcgNmTE4fNlIoAlWjUah67xQbKa1b2be43xeyPLKt1dkAkTe9c/vTZklTtpkFzA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.3.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.3.0-alpha.1_1775255399426_0.4627278355038189","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-alpha.1":{"name":"@fastybird/smart-panel-backend","version":"0.4.0-alpha.1","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.4.0-alpha.1","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"af7a7a789bb44ea6e09f4c528055166f3f55f2ee","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.4.0-alpha.1.tgz","fileCount":3539,"integrity":"sha512-X5q4mIyc+CEp7Y843WtRXpiJehAVZcl/AdukKRHMsblKGkW4hSrtHGb6B7rsOPOYl6IpvfUoyuBjj7da4mh2SQ==","signatures":[{"sig":"MEQCICiageqDxrYyoXX5oCRYlToFhkcDvrdjhWTL/y5mOW4rAiANqQINrlF4gGdStz65KfZlUD2u8X0XLItYFHVUj88NPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.4.0-alpha.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15331522},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.4.0-alpha.1.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/7b029e26d770d0dbcea52f4cdef295a5/fastybird-smart-panel-backend-0.4.0-alpha.1.tgz","_integrity":"sha512-X5q4mIyc+CEp7Y843WtRXpiJehAVZcl/AdukKRHMsblKGkW4hSrtHGb6B7rsOPOYl6IpvfUoyuBjj7da4mh2SQ==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.4.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.4.0-alpha.1_1775288912376_0.8325080883796541","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.9":{"name":"@fastybird/smart-panel-backend","version":"0.1.0-alpha.9","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.1.0-alpha.9","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"c618b1bdec80d57a62599d7361dcf6963c2ec0a6","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.1.0-alpha.9.tgz","fileCount":3539,"integrity":"sha512-VmuMB6sY89BRpF3jIyIfKmBcEld7mxmSeGi3g7KBnnMzJ8L9m0zNl9UEil/uSnoSQzs227ETcsYeI5PWUA2Nwg==","signatures":[{"sig":"MEUCIQCtXHRhdwhhtbspiqn8emoyxYXfUhcz8wsfigHzxZ5LQgIgPXS/SuicbVhJF5nf9JR1K3rBEoEfRXZAbaxafCdhlPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.1.0-alpha.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15337899},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.1.0-alpha.9.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/bb3d7ec9207aff0b0331f02a19cf2641/fastybird-smart-panel-backend-0.1.0-alpha.9.tgz","_integrity":"sha512-VmuMB6sY89BRpF3jIyIfKmBcEld7mxmSeGi3g7KBnnMzJ8L9m0zNl9UEil/uSnoSQzs227ETcsYeI5PWUA2Nwg==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.1.0-alpha.9"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.1.0-alpha.9_1775333839153_0.17128063746992406","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.10":{"name":"@fastybird/smart-panel-backend","version":"0.1.0-alpha.10","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.1.0-alpha.10","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"f5f82856eb6dd64475ac582df8669ac6167d1d7a","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.1.0-alpha.10.tgz","fileCount":3539,"integrity":"sha512-5NXroDULRjDe5QfOfvV2TFMKc/TVcmGh6enI8dH6nBJkQRuosjA2AbEaF+FkXoSSx8wiCP76JCeT+j0r6zwEkw==","signatures":[{"sig":"MEQCICmp14MulC+KM/L9EjG7oXON0oVe6H9X0Oy8KvBL/q+HAiAWOfGgepvIR+IdgLoQFWnY4bN3TaLqEI3pSevO6DGBbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.1.0-alpha.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15337901},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.1.0-alpha.10.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/6e06b7777af79a97073808a311b1d8e0/fastybird-smart-panel-backend-0.1.0-alpha.10.tgz","_integrity":"sha512-5NXroDULRjDe5QfOfvV2TFMKc/TVcmGh6enI8dH6nBJkQRuosjA2AbEaF+FkXoSSx8wiCP76JCeT+j0r6zwEkw==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.1.0-alpha.10"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.1.0-alpha.10_1775337652679_0.3809162433620237","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.11":{"name":"@fastybird/smart-panel-backend","version":"0.1.0-alpha.11","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.1.0-alpha.11","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"01a108442672f4cc315c433afa624b54d52c06ad","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.1.0-alpha.11.tgz","fileCount":3539,"integrity":"sha512-VO5KEya8Zlw03cFYpCSUcia1KjkXwOPD2NCgfKvcLZSKbzDCnOXtfnBxqZDliTATLY9yPjpMs+fmq9jGAu7s8A==","signatures":[{"sig":"MEQCIGlFXFo5ITM4hEwNvgHuo4KajPRY5Cu2c0DqAAiNPJPiAiBjrbWfaGVn7sTkjs30vE0oGPZUYLyQ6RaFjsKfPbojLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.1.0-alpha.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15337901},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.1.0-alpha.11.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/0b6d48309293f9d118aeebea5d0a3cb7/fastybird-smart-panel-backend-0.1.0-alpha.11.tgz","_integrity":"sha512-VO5KEya8Zlw03cFYpCSUcia1KjkXwOPD2NCgfKvcLZSKbzDCnOXtfnBxqZDliTATLY9yPjpMs+fmq9jGAu7s8A==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.1.0-alpha.11"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.1.0-alpha.11_1775382327350_0.8775902147830974","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-alpha.2":{"name":"@fastybird/smart-panel-backend","version":"0.2.0-alpha.2","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.2.0-alpha.2","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"82ef2ce21486dafe33c3e35e4ff23e1ec55037f2","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.2.0-alpha.2.tgz","fileCount":3542,"integrity":"sha512-nT8TkXLSIdSAThmoa3eWzAGZnBBLnvQrNnXUorxOeQZcJxW92IRYvI87VnhHR+pHJgQQdfrz52kLiPZD8CfTXA==","signatures":[{"sig":"MEYCIQC0VET/cAbgE1GLhqRclL/Zz9WLfDYG9S2hnMZ90iV9SwIhAIZpKWf3I+nSpcg1ZPEyFNMg02/DMT7tLL+wsHnah0Po","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.2.0-alpha.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15343393},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.2.0-alpha.2.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/6e1c9d73ca3dfcacf050073c5aef1630/fastybird-smart-panel-backend-0.2.0-alpha.2.tgz","_integrity":"sha512-nT8TkXLSIdSAThmoa3eWzAGZnBBLnvQrNnXUorxOeQZcJxW92IRYvI87VnhHR+pHJgQQdfrz52kLiPZD8CfTXA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.2.0-alpha.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.2.0-alpha.2_1775489949472_0.2305569306558668","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.2":{"name":"@fastybird/smart-panel-backend","version":"0.3.0-alpha.2","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.3.0-alpha.2","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"7421a5279737b19bb85334521ce2735bf0529074","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.3.0-alpha.2.tgz","fileCount":3542,"integrity":"sha512-7n0EMghCdb5PWgpFbljQNPvpHJyC+lhj0KQMF5OzL0NbVGSNqsFglcTX5XOcsTAoaz1bjmrrLFApT6Jih6rMlw==","signatures":[{"sig":"MEUCIB74LzNg6O0xlxbndPR6L9W+Q34n3TQK/CkP+7hVv6OjAiEAjdFjyhGrzOXgRXIockz6MI24Xelq6W/Btr/1EUAaD9Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.3.0-alpha.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15343847},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.3.0-alpha.2.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/75763440ee75396c105326b418e7d1ad/fastybird-smart-panel-backend-0.3.0-alpha.2.tgz","_integrity":"sha512-7n0EMghCdb5PWgpFbljQNPvpHJyC+lhj0KQMF5OzL0NbVGSNqsFglcTX5XOcsTAoaz1bjmrrLFApT6Jih6rMlw==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.3.0-alpha.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.3.0-alpha.2_1775510317879_0.5426304719016688","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-alpha.2":{"name":"@fastybird/smart-panel-backend","version":"0.4.0-alpha.2","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.4.0-alpha.2","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"c84eccb45a7fb6a9ada585e88576eebecc605170","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.4.0-alpha.2.tgz","fileCount":3548,"integrity":"sha512-kdpiA00xDf/r7eic+pnhtVon5DzV37yCqXOjO+rzcNI7ZW0154SlgOALxOpa4RoX9hVQTI1Uv9TqcsinLi8BWg==","signatures":[{"sig":"MEQCIBRysC2I29RNnDLf87QjwMmfGHbhF05YyCCVNCoizXJnAiAkonC8EXTSSBXFFJsBdEptdLpny3JQ6ACTBH91e5QRIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.4.0-alpha.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15393401},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.4.0-alpha.2.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/266cc1e6607911fbd10337b574f8acbb/fastybird-smart-panel-backend-0.4.0-alpha.2.tgz","_integrity":"sha512-kdpiA00xDf/r7eic+pnhtVon5DzV37yCqXOjO+rzcNI7ZW0154SlgOALxOpa4RoX9hVQTI1Uv9TqcsinLi8BWg==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.4.0-alpha.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.4.0-alpha.2_1775648200834_0.5752920901464205","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-alpha.2":{"name":"@fastybird/smart-panel-backend","version":"0.5.0-alpha.2","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.5.0-alpha.2","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"0df3e57846eb965c6e49a58646068c0eaf80fd2e","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.5.0-alpha.2.tgz","fileCount":3569,"integrity":"sha512-/ooDLBupKTykNZwL5uSifdjuAKss/Wr2gKq4y268G1JGWNTQVlWLkOsb46YzPYLZPCXNGXbl00hu7TfbmgC6kA==","signatures":[{"sig":"MEUCIQCqKQhRMPBm4AAZyJl2eLgTzvoSY1t2LO4ba90FUzb2EgIgHB9vbqHr5FgsaVbzAvWG1H4WPZdSsWLXzEx9ydHj1EU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.5.0-alpha.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15485513},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.5.0-alpha.2.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/fff217d00d83a603b15fd94b0832ac49/fastybird-smart-panel-backend-0.5.0-alpha.2.tgz","_integrity":"sha512-/ooDLBupKTykNZwL5uSifdjuAKss/Wr2gKq4y268G1JGWNTQVlWLkOsb46YzPYLZPCXNGXbl00hu7TfbmgC6kA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.5.0-alpha.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.5.0-alpha.2_1776077650010_0.8150881726748453","host":"s3://npm-registry-packages-npm-production"}},"0.6.0-alpha.1":{"name":"@fastybird/smart-panel-backend","version":"0.6.0-alpha.1","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.6.0-alpha.1","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"1268beed511f1de9a561af749a923ce819bdb1b8","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.6.0-alpha.1.tgz","fileCount":3569,"integrity":"sha512-8ZlHIzkm4CKgo9ig64yCaD0a2N1hvI35E8VY18dCxnvvJHgc2x+QV3wR/G/OZMn8BdopgkVM4yzeHd55cafpAg==","signatures":[{"sig":"MEQCIHTY9tClQ4pZASvMmx3/hnhcuVjIsl5AY/sDZvoeR+4FAiAxI2GO5yAxu6zq9d0OeqdOAL9H6ZWfJp+p8nbmHZDuZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.6.0-alpha.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15485513},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.6.0-alpha.1.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/34a206d6b2c921c82edc9afc27f27aab/fastybird-smart-panel-backend-0.6.0-alpha.1.tgz","_integrity":"sha512-8ZlHIzkm4CKgo9ig64yCaD0a2N1hvI35E8VY18dCxnvvJHgc2x+QV3wR/G/OZMn8BdopgkVM4yzeHd55cafpAg==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.6.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.6.0-alpha.1_1776252243794_0.4647330585040723","host":"s3://npm-registry-packages-npm-production"}},"0.7.0-alpha.1":{"name":"@fastybird/smart-panel-backend","version":"0.7.0-alpha.1","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@0.7.0-alpha.1","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"b24144418f15648f3ef073f89cd66985b79ef62a","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-0.7.0-alpha.1.tgz","fileCount":3569,"integrity":"sha512-JfFrMEabnN9/mvC8t+3nCVzJPiKD7AiCc6gauuO6Yb46YGBTc/x0MougGDxKmnrDSpIxiXx7jWCEmqvB08kFSg==","signatures":[{"sig":"MEYCIQDrk4KKvYXk4im7J30i8s43lBgrbOmPdcNZA5gCgqqVLAIhAOQutCdK758ZItXO5RAk8S4MhUbEbfNPvzn9cuMA+MUF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@0.7.0-alpha.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15486857},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-0.7.0-alpha.1.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/cba43eb3d4dbb9369b3c10eaeab5f956/fastybird-smart-panel-backend-0.7.0-alpha.1.tgz","_integrity":"sha512-JfFrMEabnN9/mvC8t+3nCVzJPiKD7AiCc6gauuO6Yb46YGBTc/x0MougGDxKmnrDSpIxiXx7jWCEmqvB08kFSg==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.11.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"~5.8.2","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^9.0.0","@nestjs/swagger":"^11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc.9","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"0.7.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_0.7.0-alpha.1_1776277062786_0.5026709028795404","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.2":{"name":"@fastybird/smart-panel-backend","version":"1.0.0-beta.2","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.0.0-beta.2","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"3e0f14f13b7bb77723d57b25ba8265e754c757fb","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.0.0-beta.2.tgz","fileCount":3788,"integrity":"sha512-ZUaAR4Wa1znHSAoa12m0nMJODJRhuN6bv79bNsklVUUk9zdxtzgs/g8tEK+0q0PihBxJZeAwH7yB+3qStoQY/Q==","signatures":[{"sig":"MEYCIQCHJstyBmAqLUSOICLIfzEMAA5TgFHG8fM77ECyMzZeKQIhALB1rbGOHh5m1hNgMRnMO0Ng4JqZ7UKgiXe37Qr1KzFg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.0.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16227827},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.0.0-beta.2.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/7aea9c4feb74619f27190f517b251810/fastybird-smart-panel-backend-1.0.0-beta.2.tgz","_integrity":"sha512-ZUaAR4Wa1znHSAoa12m0nMJODJRhuN6bv79bNsklVUUk9zdxtzgs/g8tEK+0q0PihBxJZeAwH7yB+3qStoQY/Q==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.16.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"1.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.0.0-beta.2_1785449379179_0.24530933287643575","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.3":{"name":"@fastybird/smart-panel-backend","version":"1.0.0-beta.3","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.0.0-beta.3","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"01c956229dbab2b033090db7ca53eb4ad7592c46","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.0.0-beta.3.tgz","fileCount":3788,"integrity":"sha512-eQO0OkDV7xB1uwZfG9PY7KgLeADpfFNOVwOZ3iyeNFZv31ruRJhB9uOpE8MLDSEIuHV9ACPXYD9lb9sKDdv/qw==","signatures":[{"sig":"MEQCIAKQet74aj2I2Wz1hr7n+/9qFOxDdubHSY/59l9YoZaYAiBiZmlY/F8DPvd2biVpxC4k11hcivsY+1I5TwIhS50uVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.0.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16235951},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.0.0-beta.3.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","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:generate":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:generate -d ./src/dataSource.ts","typeorm:migration:run:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/941dce3665fec42bd6d33134c4d57666/fastybird-smart-panel-backend-1.0.0-beta.3.tgz","_integrity":"sha512-eQO0OkDV7xB1uwZfG9PY7KgLeADpfFNOVwOZ3iyeNFZv31ruRJhB9uOpE8MLDSEIuHV9ACPXYD9lb9sKDdv/qw==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.16.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@fastybird/smart-panel-extension-sdk":"1.0.0-beta.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.0.0-beta.3_1785505908627_0.5042976630272149","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.0":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.0","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.0","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"b4fb788c025162cb59548d3fd19ab71132a7f1b4","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.0.tgz","fileCount":4951,"integrity":"sha512-RFNHy/5pyvqe7pgOxBNXNvQF6Vw1gapJR19Yhse02Lc2QN2eIRYFimbtHURYkwOCiF3JbwjXIBWGpttKEerVig==","signatures":[{"sig":"MEUCIQDWIxVOWuz/I/LvRDSmHo0derqTJqp+ztancH37F3jU8gIgKlLct+v0l6wE9ebqloAD/EZEcuEqvJorlF4XyKdXrHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21173313},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/a5d9fb428910f842f96fa167d19bcf2b/fastybird-smart-panel-backend-1.1.0-alpha.0.tgz","_integrity":"sha512-RFNHy/5pyvqe7pgOxBNXNvQF6Vw1gapJR19Yhse02Lc2QN2eIRYFimbtHURYkwOCiF3JbwjXIBWGpttKEerVig==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.17.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.0_1788481842395_0.004611217069484752","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.1":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.1","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.1","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"a8a1edbdb988a228e893e8126ba26238b92d8685","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.1.tgz","fileCount":5035,"integrity":"sha512-Dte3KiIurwcr6grCPKYo4ANI7A5W0z5zT7zXgab59v9VZq2cMmU0FJcdxTsiMdveuCnkVswBF7+7TXcT5UNkVA==","signatures":[{"sig":"MEUCIQCRxfdeKRYux/5eiYbrdvKhhWJwxHmJqDNyIk/xB+f2wAIgflEDZvFdlL9HSeZXZcdrNrzO3IQS2xypoqE/sCQ6eMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21535347},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.1.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/f2f1aa14df25b1f33131bc0f93ca1070/fastybird-smart-panel-backend-1.1.0-alpha.1.tgz","_integrity":"sha512-Dte3KiIurwcr6grCPKYo4ANI7A5W0z5zT7zXgab59v9VZq2cMmU0FJcdxTsiMdveuCnkVswBF7+7TXcT5UNkVA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.1_1788708852920_0.12892915095302215","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.2":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.2","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.2","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"04490a49a9531ca081d58c8f2019839c52956795","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.2.tgz","fileCount":5035,"integrity":"sha512-00Z+0C0BBSREsnG/qpTutisdB2wDLzxVxsCK9cAxZtbWWpffB0me2FGBTibwAL/m1wiz5z4JoiV/jQPDdZ3bhA==","signatures":[{"sig":"MEUCIQCXqd2EcmIcYpb7jXAPiO6gCkrEI0YWm9Sx6IXeZRfrgQIgfN2Dtr5MZHMl7mMPwIUe1Eiru1lNvhdbGuHuV/yjTVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21535891},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.2.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/5c6c2c2e0c2c5c3112b58dd82c7d345e/fastybird-smart-panel-backend-1.1.0-alpha.2.tgz","_integrity":"sha512-00Z+0C0BBSREsnG/qpTutisdB2wDLzxVxsCK9cAxZtbWWpffB0me2FGBTibwAL/m1wiz5z4JoiV/jQPDdZ3bhA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.2_1788773080791_0.5396847603501271","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.3":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.3","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.3","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"05bb3e8b945303dfecfc76f4d40ec3df809bf00b","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.3.tgz","fileCount":5035,"integrity":"sha512-jhBuzbWylLngfw7JTCNJoN/+c8ARpIony/lpd06D6rDbewumpzA8M+fkeQxNiCW7Nkaw1VtuR31lrjiwE9UDlw==","signatures":[{"sig":"MEYCIQCTUNl4DLVEKKvGLyFiWwvaowtqRhNv3CA4kOEIkNNYGwIhAL0nJ4lcca88XjDSaiJ5JyV4xMeidpinUkL9RvhH14RQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21545090},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.3.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/2fa9c394cbb0810c45e955f00c943add/fastybird-smart-panel-backend-1.1.0-alpha.3.tgz","_integrity":"sha512-jhBuzbWylLngfw7JTCNJoN/+c8ARpIony/lpd06D6rDbewumpzA8M+fkeQxNiCW7Nkaw1VtuR31lrjiwE9UDlw==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.3_1788791197295_0.5543156160366576","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.4":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.4","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.4","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"d59eb2c8803586c8bac5f332d95799a20a8e4d84","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.4.tgz","fileCount":5044,"integrity":"sha512-8qCDEuIcqK5PqqobFQb2S3rxAVepZ/J4MTWKVVItJ8+Wsrw4JmYDUZAmiQWMrTjgFr6MueKbQ+brraryAbz9Wg==","signatures":[{"sig":"MEUCIQD7tyhZx2gm7MCwkohoeGVw6kCKL2xNgGoe2fw0Rg+QGgIgbv9uMe34lYZWIrJCKXsFjk07kPd4phwhH/XxnVPPMwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21616493},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.4.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/823b4515e690a01f31a4e1833b4235ee/fastybird-smart-panel-backend-1.1.0-alpha.4.tgz","_integrity":"sha512-8qCDEuIcqK5PqqobFQb2S3rxAVepZ/J4MTWKVVItJ8+Wsrw4JmYDUZAmiQWMrTjgFr6MueKbQ+brraryAbz9Wg==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.4_1788852143753_0.8537875306227145","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.5":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.5","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.5","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"8fd53006772d2fca8bcec1098fdaaa6110d32e57","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.5.tgz","fileCount":5044,"integrity":"sha512-GXcInk9o3ZTiw1lieVCA1vTrZZ/Kz1N6Y+F8Jfs9CMxcxHGMB9V3zblS3EYp6nq2GiBiqtxVdkyfbzpA6wk0qQ==","signatures":[{"sig":"MEYCIQD+VWiNfGlzwBWDV4wsNaQImWK9Nef2VmaRQpyPVw8DDQIhAKHS603D9THQPX7uCFR0wp48leM39V3VqWi3zdlTybEB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21622181},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.5.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/1d521e751c6d46997768ea5139f48313/fastybird-smart-panel-backend-1.1.0-alpha.5.tgz","_integrity":"sha512-GXcInk9o3ZTiw1lieVCA1vTrZZ/Kz1N6Y+F8Jfs9CMxcxHGMB9V3zblS3EYp6nq2GiBiqtxVdkyfbzpA6wk0qQ==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.5_1788866532861_0.794151488195401","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.6":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.6","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.6","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"2be93e8a753221c0684da42d30106bc0aab72857","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.6.tgz","fileCount":5102,"integrity":"sha512-R1RbRzc1szsS88BkRl+fKHYa9a5NjsjnocyiKHP4D3AG323Eccljg/WzPB6z9upuJJ9MlpvrAhXOqdHA2sx51w==","signatures":[{"sig":"MEQCIAZZFRHgjlqLMDMD0vdY5NPaSk0X5OkS1niqYF3q97FHAiAA8R5f/UR0vCz2bbeeCVQj1YHbM2hKozhjdc/dhO+cGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21921391},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.6.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/7c8b53d4cd19f17dd5c064275ed26148/fastybird-smart-panel-backend-1.1.0-alpha.6.tgz","_integrity":"sha512-R1RbRzc1szsS88BkRl+fKHYa9a5NjsjnocyiKHP4D3AG323Eccljg/WzPB6z9upuJJ9MlpvrAhXOqdHA2sx51w==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.6_1788983526244_0.6527318576282659","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.7":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.7","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.7","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"a3a9a151c083eb7797f5c29cec73ebf3a6c3dca5","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.7.tgz","fileCount":5105,"integrity":"sha512-pYWIR/4/AL9odo9g3zFxtJdvT0Hm2BTPLHO0lMmxzpcEA1SZFpabjZw1Ew99SHwZ3RFUm3t4zzsOOTvzN2a4IA==","signatures":[{"sig":"MEUCIQCXhsZwcVhp9rSAv6+uRgNaNLAKaUctG6nGRcllKmPhTAIgabSQ90AC4I41IszOnVQf644HnRjX0I9rOZHubty6JD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21977343},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.7.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/ebf71673e54421a5fc8855bfb0d79752/fastybird-smart-panel-backend-1.1.0-alpha.7.tgz","_integrity":"sha512-pYWIR/4/AL9odo9g3zFxtJdvT0Hm2BTPLHO0lMmxzpcEA1SZFpabjZw1Ew99SHwZ3RFUm3t4zzsOOTvzN2a4IA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.7_1789163688868_0.9632271677794875","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.8":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.8","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.8","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"946a50321d4f5132cb53669e52c6fd8b9f177344","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.8.tgz","fileCount":5105,"integrity":"sha512-g4Ttp3NS1dOKY7y7kqZUv+dGyGcqOI1mQc2XkoVbEmvGgKGA5zYkpyEJwJMywMM/iDNRCuD2TP2giKjL/Cbgpw==","signatures":[{"sig":"MEQCIBPwmUnMLLP0V906ROHYkk+x3hGP+VYJimTe0OyY8OTMAiApd6vIilRdL3QpTAgUknmm5L08T6g2CtFTeY2mElp8wA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21977516},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.8.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/b728a32e6983cfada3dada98c27056e3/fastybird-smart-panel-backend-1.1.0-alpha.8.tgz","_integrity":"sha512-g4Ttp3NS1dOKY7y7kqZUv+dGyGcqOI1mQc2XkoVbEmvGgKGA5zYkpyEJwJMywMM/iDNRCuD2TP2giKjL/Cbgpw==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.8"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.8_1789325214750_0.8222483675405567","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.9":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.9","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.9","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"373c3e51754d72d3cb52423553317d094e1dfa45","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.9.tgz","fileCount":5108,"integrity":"sha512-UWm6epnkrl8axzFox3d77dRyCmVjmeerwXtGWdBsjh0UiStvy9yxwxmybb3ihr0uqcxYb3HlYsNdOqolOERcqg==","signatures":[{"sig":"MEQCIDLXszSVENTMTUv0DSG/fHqvjyEMuT2K6tn3efjUUwfdAiBH+GUHuTsj6V/3fLoip7Acs8a/mLOdeB+PmrMUM2upqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22025346},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.9.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/3168d623da4e9678781a97cee6881d27/fastybird-smart-panel-backend-1.1.0-alpha.9.tgz","_integrity":"sha512-UWm6epnkrl8axzFox3d77dRyCmVjmeerwXtGWdBsjh0UiStvy9yxwxmybb3ihr0uqcxYb3HlYsNdOqolOERcqg==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.9"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.9_1789464005311_0.9165203814067822","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.10":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.10","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.10","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"ab751ddd8f094d4c6c6d87eb63bffc6fb46235a9","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.10.tgz","fileCount":5108,"integrity":"sha512-Te6YFbWbbZuxpADSWYcqWU/9Usy6HOEPGCXzdxg04ojKw+LRvuDGjwUYyGx2bB42wD4Hpgs1H0Wd3s7hUaQy+A==","signatures":[{"sig":"MEUCIDcMlIxdlORmMcadUuj+ewt20L4pSpVjBBiAh7UBQQTEAiEA7AZuBpJyofzxj6sfxb7kQ8t6r6ulTuChappn7j4oJkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22026432},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.10.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/c218a4d2c516a7a2a1c45bd411d84caa/fastybird-smart-panel-backend-1.1.0-alpha.10.tgz","_integrity":"sha512-Te6YFbWbbZuxpADSWYcqWU/9Usy6HOEPGCXzdxg04ojKw+LRvuDGjwUYyGx2bB42wD4Hpgs1H0Wd3s7hUaQy+A==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.10"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.10_1789488583356_0.7755767175032298","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.11":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.11","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.11","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"ab5fe38294ec94106aa33dde354358c413b9c4ba","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.11.tgz","fileCount":5111,"integrity":"sha512-G+d4LKiy0DwvTuFFoNFuCk7QJONESYrBgWj0G7V/fCME1Nu8QVWjRVwVtjCN3kulWdGQU9QxbLNWS5Ty+OPXrQ==","signatures":[{"sig":"MEQCIEr0Kwe1aM/Q+av2v5fQivwS0IcC719rQrH/M4I8Yl4iAiAMWcBoF8m8td91vJcDh5OFL7mvo1jvV8WoolOx2cRrpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22050963},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.11.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/b13da60a39d3e8193d739a847cb76e01/fastybird-smart-panel-backend-1.1.0-alpha.11.tgz","_integrity":"sha512-G+d4LKiy0DwvTuFFoNFuCk7QJONESYrBgWj0G7V/fCME1Nu8QVWjRVwVtjCN3kulWdGQU9QxbLNWS5Ty+OPXrQ==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.11"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.11_1789545198967_0.7691030850466691","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.12":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.12","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.12","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"930165bc950cd60352800dfef55159f3c913eff1","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.12.tgz","fileCount":5111,"integrity":"sha512-VbukmfmzgSPwSnfR6LLjiY155jxNtUvHTU+WATMY5FXMrnVwHicOvZw+eN56W0L20IgyDCQBeieDKQAaPB0oEg==","signatures":[{"sig":"MEUCIG68buVknIF+vimNVQszU2okWa5lrimgEbvqw2Bu87OZAiEAt7nwG3rcGzfCTAkeCetcNa6SqeCo3MCmBGwa1ON5Ih8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22070035},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.12.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/2402716e78d36da32db637c7eb6d65a8/fastybird-smart-panel-backend-1.1.0-alpha.12.tgz","_integrity":"sha512-VbukmfmzgSPwSnfR6LLjiY155jxNtUvHTU+WATMY5FXMrnVwHicOvZw+eN56W0L20IgyDCQBeieDKQAaPB0oEg==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.12"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.12_1789557684451_0.3016302880431603","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.13":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.13","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.13","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"3489ceb6e37f44bbae15ce569b44669d6e268213","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.13.tgz","fileCount":5133,"integrity":"sha512-c5bUXvyuZ47XotJjdl2luuzvjUILl+XKhDWVotby7u5h8h2sCF/oHtTQbOERqkGt3JDfBgtUuMPa8rQPGolARg==","signatures":[{"sig":"MEUCIClbSqnCnCW1JzD8HeBmE06QjO6y6L/wC+iO9GkPhQtCAiEAnzgBMJR0OGaDUM1JuxlktPTA8pMyyu14K5mMX6Zt1do=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH/MsF7KiHqrUXTQF7FC/BU7q6ZL3W1T3jnt7PKyUiIGAiEAi1JgKnoNJgacVMw1/tXwHBjGVYy72GK/mxltfrT50IU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22311012},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.13.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/418998a368ba11a0e97afa5a25a44b1a/fastybird-smart-panel-backend-1.1.0-alpha.13.tgz","_integrity":"sha512-c5bUXvyuZ47XotJjdl2luuzvjUILl+XKhDWVotby7u5h8h2sCF/oHtTQbOERqkGt3JDfBgtUuMPa8rQPGolARg==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.13"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.13_1789819546879_0.9170505804230553","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.14":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.14","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.14","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"4687af2f7d9c09b7b522c1f689ea797f794cca6c","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.14.tgz","fileCount":5133,"integrity":"sha512-s2Ad4924QnysaY2pS0S7YuHsnk1pIPOt7JoPuCjNN9kNIKRKuBxLNm9cmkfg/XcGN45O1ziX6OXi9TmuemIc/A==","signatures":[{"sig":"MEUCIQDWLmUk9hG4djt+G9vKxVBAxeAiQsJUzqNLy65TzBF14wIgW7YRuVLNoyZreZQSCALM1Pu7eyjSFa2RVimIQKQpwSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHJsSR4Dax+9PYvSfaHvdRIGTsZWd5KBR9W8jfOcbUTjAiEAgbzC5lgZtRC/xUFhHoLb9dE62AuD/KY5g8n2WQwtQuw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22311012},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.14.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/24c2534ac931650532c195c0d215ec3f/fastybird-smart-panel-backend-1.1.0-alpha.14.tgz","_integrity":"sha512-s2Ad4924QnysaY2pS0S7YuHsnk1pIPOt7JoPuCjNN9kNIKRKuBxLNm9cmkfg/XcGN45O1ziX6OXi9TmuemIc/A==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.14"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.14_1789821662569_0.8558306502264965","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.15":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.15","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.15","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"dae296cbc4527e7d034cda5771859b0d16810a30","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.15.tgz","fileCount":5142,"integrity":"sha512-H7cOaAmHxfYHx7ZemRax+MWvy4CRenNQVpsrCHHXXNCEki91DTmp/VaMabH3ta3BX2ZoWAjENU5sHVhMfxmxWg==","signatures":[{"sig":"MEQCIAQ6o5BV7Lo26sPLQxG4AjnaZe78SE+KpyIA6pdPq4y8AiBbNu+MLKJQ1NfzoS5gyVkKCFG21X8KLaXEw00mrOW1jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCHl5OSAsBX3Ew8+TFhyNOVH3IzSEPbiWUQPhqPQAG+CAIgUS7A2nXbJH/8w2/b6RKFGo8dkrNCYkA8hwF7OuUq6hw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22375107},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.15.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/38689c918c6b03d6ee4d034c127c7c3f/fastybird-smart-panel-backend-1.1.0-alpha.15.tgz","_integrity":"sha512-H7cOaAmHxfYHx7ZemRax+MWvy4CRenNQVpsrCHHXXNCEki91DTmp/VaMabH3ta3BX2ZoWAjENU5sHVhMfxmxWg==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.15"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.15_1789859770592_0.09096337956817502","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.16":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.16","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.16","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"f87e85084300193c47126ed08f4cf8f430a721f1","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.16.tgz","fileCount":5154,"integrity":"sha512-VmFvLQmTvINoQB4vSqixtyYYxbxrZV6PqOGOAzkzVsrnD50u/tzcw941uE7LjPNfvvRSeoDbPgNAHsdrjHcuxA==","signatures":[{"sig":"MEUCIHTdXpcwbM+YYrUadLeupnvSbn1Y1Tql77f5uxOe1W5UAiEAoOxCtPnd6ZdyqhqYMu7qKhZ5ZQtbKPf1o5eq1gm4FVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDcRqq0DNfDc3aSabuVWy6brXUnThdNu7HBQ2gBO/QJuQIgXSVwUXi2/WhpNAlCV1r/LhnwHlsOcJGBoo/rrcE6sqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22456531},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.16.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/d714b29a96b500f40fbb3cdb62e66482/fastybird-smart-panel-backend-1.1.0-alpha.16.tgz","_integrity":"sha512-VmFvLQmTvINoQB4vSqixtyYYxbxrZV6PqOGOAzkzVsrnD50u/tzcw941uE7LjPNfvvRSeoDbPgNAHsdrjHcuxA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.16"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.16_1789913404048_0.5650271010651875","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.17":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.17","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.17","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"a76a42e7b7c6fa66d83a29ca09f11e9005141c02","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.17.tgz","fileCount":5160,"integrity":"sha512-fAke2EmBWAlE+A121sSk/VbuGF7EYMezu0nPW203t2GA37dX0HFNkDu0V5uEkczLHptqRYIe2RMH3x66r4hnsw==","signatures":[{"sig":"MEQCID5teAAM0a4j/b0l2v0RRKhTcPoWGXP64r5txYCRETC5AiAjdA+WPFYI0qbE4nCo5bSzBMma7UK5KR7UHxfO9fJd7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCX6Tr92oEYsjE5erJGcLgJf8fQM/4tPVM5s1nvRv3F1wIhAM5VufADfTal+p+YuKYsoF9W6qitU0qWz+JY9Yb8OUs7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22502298},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.17.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/8c984c7f2f3e9b34c179fcfe2b9a9835/fastybird-smart-panel-backend-1.1.0-alpha.17.tgz","_integrity":"sha512-fAke2EmBWAlE+A121sSk/VbuGF7EYMezu0nPW203t2GA37dX0HFNkDu0V5uEkczLHptqRYIe2RMH3x66r4hnsw==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.17"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.17_1789949139242_0.3477586200992606","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.18":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.18","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.18","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"99274dc5dbc35d97cdf6c788f4554e471565223e","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.18.tgz","fileCount":5160,"integrity":"sha512-3xiNo0LDJz+0k9YQtULBRYx7J+8at3eV/bJ/fqmc5UYYL/6+/1U93cWh5t2UvSDO+KzzeoWa9tOlcoyR6ISaOQ==","signatures":[{"sig":"MEUCIQCPTiJKQIb5xINIB7konFTpV6sSmr/PAnn8cIfAbtJUHgIgBR0NLyw89ElAVTCa5xsNKP9ysuKnqdIACoJup8lEbJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDZAD631AReTNm5+mCfqtfJb88DfVtVXgCd9Rx8atiNbAIhANqX9AlCRh+Ddj0IAG0AWvteA3n4HvtDfgcX1rW0sPyG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22504940},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.18.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/595f339625f117876189998cab54e1dc/fastybird-smart-panel-backend-1.1.0-alpha.18.tgz","_integrity":"sha512-3xiNo0LDJz+0k9YQtULBRYx7J+8at3eV/bJ/fqmc5UYYL/6+/1U93cWh5t2UvSDO+KzzeoWa9tOlcoyR6ISaOQ==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.18"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.18_1790016166697_0.10117532249580252","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.19":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.19","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.19","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"b71a4ab015cbc4dd6171c2c1f40ced8c86cb13b5","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.19.tgz","fileCount":5160,"integrity":"sha512-E/64G/X3zhcbWqMQJvNH/aSf0l+exnlN7wr4ORleNHpdV6qWp7veYgUPp1XGlbgG4jRoQ8tO5orSC46YwMn8GA==","signatures":[{"sig":"MEYCIQCB447IXl2KRsMiAFVpbcSaypf9KFPaHnxeRCl8bpzxJQIhAM7Gqumeseiv4toDSb1NZI9W62BePDAD6rhbroTiU+wM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICPwk8BXqq6kxpi5GtoL0K+NNt5sLWizGW+eJqdfMKfcAiEAlIqrZHpXb7ogD78u+OeVW1ory+apANLfOhaHXTBg1yM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22514440},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.19.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/cd3801c155cab982ee180c31cdccfd77/fastybird-smart-panel-backend-1.1.0-alpha.19.tgz","_integrity":"sha512-E/64G/X3zhcbWqMQJvNH/aSf0l+exnlN7wr4ORleNHpdV6qWp7veYgUPp1XGlbgG4jRoQ8tO5orSC46YwMn8GA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.19"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.19_1790088670449_0.03496455302312551","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.20":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.20","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.20","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"c6ab4049c0e017b7f8f348fa5063534aea50a932","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.20.tgz","fileCount":5160,"integrity":"sha512-mMbpl8UOZMGpguCK1PqxffYAwCT/qsmQFDaMyoS67FDiKgrHnIqLBqSbtM3lsY7Vjhz1X7HWzbeV+hmA/01YDg==","signatures":[{"sig":"MEUCIG597s7Um/pXLUnyKuo+zhSEIwwYHlAc4qCBMjx0vFCxAiEAkY49qNmh64We8xS6lZvEX+vKU+14fNKBTKitQd+4qyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICERz0X5RSNV+AjQ2uw1vuq4gF9JnU3YNwHtVEuTVnrrAiAFxMc5fki93q5RWTt7gJnncoKRYiTdXFDXfWLE3JiYYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22515577},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.20.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/8e0465279c2becbbd186e417cb1eef41/fastybird-smart-panel-backend-1.1.0-alpha.20.tgz","_integrity":"sha512-mMbpl8UOZMGpguCK1PqxffYAwCT/qsmQFDaMyoS67FDiKgrHnIqLBqSbtM3lsY7Vjhz1X7HWzbeV+hmA/01YDg==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.20"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.20_1790107451590_0.1552296909117925","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.21":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.21","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.21","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"3f65f02241c12d485b697e4a95f7dbcb2b25c211","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.21.tgz","fileCount":5160,"integrity":"sha512-61ymtZn+91MviK6A57HbQHk3TVuLeGh55ZFTyn9FVyTZvi1bY5BU+jqmT//vm9g3eReUh/cM0i+QK6ZRuBF6vw==","signatures":[{"sig":"MEUCIQChxfdRRpMK+q9whPM1e0bnxdM8LlfOtO56xwaM3mIBYgIgaC70NeQ1T3MOhHHwFZ2KcLJu+oZZOCtR3XgtweuOUkI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH97vKCBWgSRP0ZBFAJ8iYzYsJmrw1rOfnrdCeHs/4VYAiEAwCUK+4O0U1Md1Bdh3yRGeWJcCXJy9UrksL7dLKwmo7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22528705},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.21.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/6a18508fa9560148cf11705f0cf718bb/fastybird-smart-panel-backend-1.1.0-alpha.21.tgz","_integrity":"sha512-61ymtZn+91MviK6A57HbQHk3TVuLeGh55ZFTyn9FVyTZvi1bY5BU+jqmT//vm9g3eReUh/cM0i+QK6ZRuBF6vw==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.21"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.21_1790195450893_0.5734853634122448","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.22":{"name":"@fastybird/smart-panel-backend","version":"1.1.0-alpha.22","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"],"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","_id":"@fastybird/smart-panel-backend@1.1.0-alpha.22","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"homepage":"https://smart-panel.fastybird.com","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"af81670e17baedb5e6843834820572d04ee4c312","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.22.tgz","fileCount":5160,"integrity":"sha512-29EtUDZ5zj8GBK5CKJC0zE+4s7KJPjD2fsQ+/UFJrGHgeXUzMzwrdA1Rx2uMHvcYqXWbKSACG/MVhqFnHUay7w==","signatures":[{"sig":"MEQCIF369fc1IuuXGVLbiHL5EZmMjBlYGu+4sa83tXuCwfNGAiBdoSD/BQt4A4T2o+IzKlpkxnynt09x5llKI1vbUSOCTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCrdc6Am6MjWyS4QtidD+OEzKTL+CvWWKF49bHhL+atwAIgUju3nh8BhCCzzaB+OYT7oY85NP7DRjfatmVAdbURxFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22528705},"main":"dist/main.js","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.22.tgz","types":"dist/index.d.ts","engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"_resolved":"/tmp/f3898f01f870736b8f44e3cf5e482d87/fastybird-smart-panel-backend-1.1.0-alpha.22.tgz","_integrity":"sha512-29EtUDZ5zj8GBK5CKJC0zE+4s7KJPjD2fsQ+/UFJrGHgeXUzMzwrdA1Rx2uMHvcYqXWbKSACG/MVhqFnHUay7w==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.22"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-panel-backend_1.1.0-alpha.22_1790235944984_0.7340483663398998","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha.23":{"_id":"@fastybird/smart-panel-backend@1.1.0-alpha.23","bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"dist":{"shasum":"8cacd170fc5c6901cbd295b6aa3fc32e9b0836ba","tarball":"https://registry.npmjs.org/@fastybird/smart-panel-backend/-/smart-panel-backend-1.1.0-alpha.23.tgz","fileCount":5160,"integrity":"sha512-xkLxC3aOc2Nkkg3s4159qEA5Ihn4oFzoH74vL9qc82eiXHzumizdtHuhnaUFDD21uIykBGovwwkmTxH2AKicIA==","signatures":[{"sig":"MEUCIQC5661S5Q1haBxqhRT1a2aD077Aan9LYeqrHUIK6z5Z0wIgKH74/P36gRl9rQktP6g3WaT3SVW6ouFOE2rKhniMZD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQClPlUcmy5lAp4wRgPKw1BLOGMOJh26acfCI5eRTPGTEQIgCIXn1eZ2PmcgEIyKgJTLpt1UDTf3XTVhszFQjJ6XIG4="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fastybird%2fsmart-panel-backend@1.1.0-alpha.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22536691},"main":"dist/main.js","name":"@fastybird/smart-panel-backend","_from":"file:fastybird-smart-panel-backend-1.1.0-alpha.23.tgz","types":"dist/index.d.ts","author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"engines":{"npm":">=10","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"license":"Apache-2.0","scripts":{"cli":"ts-node --project tsconfig.json src/cli.ts","build":"nest build","start":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start","pretty":"pnpm pretty:write && pnpm pretty:check","lint:js":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","swagger":"ts-node --project tsconfig.json src/cli.ts swagger:serve","cli:prod":"node dist/cli","lint:api":"bash ../../bin/lint-api-conventions.sh","test:cov":"jest --coverage","test:e2e":"jest --config ./test/jest-e2e.json","lint:deps":"npx madge --circular src --extensions ts,tsx --ts-config tsconfig.json","start:dev":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --watch","test:unit":"jest","start:prod":"node --disable-warning=DEP0040 dist/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/jest/bin/jest --runInBand","test:watch":"jest --watch","type-check":"tsc --noEmit","homey:probe":"ts-node --project tsconfig.json test/support/homey-shs-probe.ts","lint:js:fix":"eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix","start:debug":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --disable-warning=DEP0040\" nest start --debug --watch","lint:openapi":"pnpm run generate:openapi && pnpm run lint:openapi:spec","pretty:check":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --check","pretty:write":"prettier \"src/**/*.ts\" \"test/**/*.ts\" --write","generate:spec":"ts-node ./tools/build_devices_spec.ts && ts-node ./tools/build_channel_spec.ts","generate:openapi":"ts-node --project tsconfig.json src/cli.ts openapi:generate","homey:probe-mdns":"ts-node --project tsconfig.json test/support/homey-shs-mdns-probe.ts","test:homey-spike":"jest --config ./test/jest-homey-spike.json --runInBand","test:oauth-spike":"NODE_OPTIONS=\"${NODE_OPTIONS:-} --experimental-vm-modules\" jest --config ./test/jest-oauth-spike.json --runInBand","lint:openapi:spec":"spectral lint ../../spec/api/v1/openapi.json --fail-severity warn","homey:latency-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-event-command-performance.homey-spike.ts","homey:probe-errors":"ts-node --project tsconfig.json test/support/homey-shs-error-probe.ts","homey:probe-scopes":"ts-node --project tsconfig.json test/support/homey-shs-scope-probe.ts","homey:probe-startup":"ts-node --project tsconfig.json test/support/homey-shs-startup-probe.ts","homey:security-gate":"pnpm run generate:openapi && pnpm run build && HOMEY_SECURITY_REQUIRE_BUILD=1 jest --config ./test/jest-homey-spike.json --runInBand && jest --runInBand src/modules/config/controllers/config.controller.spec.ts src/modules/config/services/config.service.spec.ts src/plugins/devices-homey","homey:probe-realtime":"ts-node --project tsconfig.json test/support/homey-shs-realtime-probe.ts","homey:probe-recovery":"ts-node --project tsconfig.json test/support/homey-shs-recovery-probe.ts","homey:probe-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-lifecycle-probe.ts","typeorm:migration:run":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:run -d ./src/dataSource.ts","homey:performance-gate":"jest --config ./test/jest-homey-spike.json --runInBand test/homey-inventory-performance.homey-spike.ts","homey:promote-fixtures":"ts-node --project tsconfig.json test/support/promote-homey-shs-fixtures.ts","test:buddy-context-soak":"jest --config ./test/jest-buddy-context-soak.json --runInBand","homey:probe-origin-event":"ts-node --project tsconfig.json test/support/homey-shs-origin-event-probe.ts","typeorm:migration:revert":"ts-node-esm --project tsconfig.json --transpile-only ./node_modules/typeorm/cli.js migration:revert -d ./src/dataSource.ts","homey:probe-burst-command":"ts-node --project tsconfig.json test/support/homey-shs-burst-command-probe.ts","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:prod":"node ./node_modules/typeorm/cli.js migration:run -d ./dist/dataSource.js","homey:probe-mapping-control":"ts-node --project tsconfig.json test/support/homey-shs-mapping-control-probe.ts","homey:probe-plugin-lifecycle":"ts-node --project tsconfig.json test/support/homey-shs-plugin-lifecycle-probe.ts","homey:probe-restart-event-flow":"ts-node --project tsconfig.json test/support/homey-shs-restart-event-flow-probe.ts","homey:probe-credential-rotation":"ts-node --project tsconfig.json test/support/homey-shs-credential-rotation-probe.ts","homey:generate-normalized-fixtures":"ts-node --project tsconfig.json test/support/generate-homey-normalized-fixtures.ts"},"version":"1.1.0-alpha.23","_npmUser":{"name":"akadlec","email":"adam.kadlec@fastybird.com"},"homepage":"https://smart-panel.fastybird.com","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"],"_resolved":"/tmp/51b8363f7be2c1d2c9040e48870b0e44/fastybird-smart-panel-backend-1.1.0-alpha.23.tgz","_integrity":"sha512-xkLxC3aOc2Nkkg3s4159qEA5Ihn4oFzoH74vL9qc82eiXHzumizdtHuhnaUFDD21uIykBGovwwkmTxH2AKicIA==","repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"_npmVersion":"11.19.0","description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","directories":{},"maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.19.0","ajv":"^8.18.0","zod":"4.4.3","cron":"^4.4.0","mqtt":"^5.15.0","rxjs":"^7.8.2","ulid":"^3.0.2","uuid":"^13.0.0","yaml":"^2.8.2","bcrypt":"^6.0.0","dotenv":"^17.3.1","influx":"^5.12.0","openai":"^6.28.0","qrcode":"^1.5.4","fastify":"^5.10.0","sqlite3":"^5.1.7","typeorm":"^0.3.28","inquirer":"^13.3.0","shellies":"^1.7.0","telegraf":"^4.16.3","homey-api":"3.19.2","socket.io":"^4.8.3","discord.js":"^14.16.3","mime-types":"^3.0.2","nestjs-cls":"^6.2.0","@nestjs/jwt":"^11.0.2","@nestjs/core":"^11.1.16","shellies-ds9":"github:fastybird/node-shellies-ds9#main","cache-manager":"^7.2.8","lodash.omitby":"^4.6.0","oidc-provider":"9.11.2","@nestjs/common":"^11.1.16","@nestjs/config":"^4.0.3","nest-commander":"^3.20.1","@fastify/helmet":"^13.0.2","@fastify/static":"^10.1.2","@nestjs/swagger":"11.2.6","@nestjs/typeorm":"^11.0.0","bonjour-service":"^1.3.0","class-validator":"^0.15.1","@nestjs/schedule":"^6.1.1","reflect-metadata":"^0.2.2","@anthropic-ai/sdk":"^0.78.0","@nestjs/throttler":"^6.5.0","class-transformer":"^0.5.1","openweathermap-ts":"^1.2.10","systeminformation":"^5.31.4","@fastify/multipart":"^9.4.0","@nestjs/websockets":"^11.1.16","lodash.isundefined":"^3.0.1","@nestjs/mapped-types":"^2.1.0","@nestjs/serve-static":"^5.0.4","@nestjs/cache-manager":"^3.1.0","@nestjs/event-emitter":"^3.0.1","@homebridge/hap-nodejs":"^2.2.3","@whiskeysockets/baileys":"7.0.0-rc12","@nestjs/platform-express":"^11.1.16","@nestjs/platform-fastify":"^11.1.17","@modelcontextprotocol/node":"2.0.0","@nestjs/platform-socket.io":"^11.1.16","@influxdata/influxdb-client":"^1.35.0","@modelcontextprotocol/server":"2.0.0","@fastybird/smart-panel-extension-sdk":"1.1.0-alpha.23"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.3.0","eslint":"^10.0.3","globals":"^17.4.0","ts-jest":"^29.4.0","ts-node":"^10.9.2","@swc/cli":"^0.8.0","prettier":"^3.8.1","@swc/core":"^1.15.18","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","@types/md5":"^2.3.6","typescript":"~5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30","@types/node":"^24.12.0","@types/bcrypt":"^6.0.0","@types/qrcode":"^1.5.5","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.16","@eslint/eslintrc":"^3.3.5","@types/supertest":"^7.2.0","@types/mime-types":"^3.0.1","typescript-eslint":"^8.57.0","@nestjs/schematics":"^11.0.9","openapi-typescript":"^7.13.0","source-map-support":"^0.5.21","@types/lodash.omitby":"^4.6.9","@types/oidc-provider":"9.11.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@stoplight/spectral-cli":"^6.15.0","@types/lodash.isundefined":"^3.0.9","@typescript-eslint/parser":"latest","@modelcontextprotocol/client":"2.0.0","@typescript-eslint/eslint-plugin":"latest","@trivago/prettier-plugin-sort-imports":"^6.0.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/smart-panel-backend_1.1.0-alpha.23_1790347336598_0.36391130527859383"}}},"time":{"created":"2026-03-29T21:22:34.526Z","modified":"2026-09-25T14:42:17.140Z","1.0.0-dev.1":"2025-06-04T21:11:48.356Z","0.0.1-alpha.0":"2025-06-05T07:23:35.970Z","0.0.1-alpha.1":"2025-06-05T08:05:07.881Z","0.0.1-alpha.2":"2025-06-05T08:34:39.150Z","0.0.1-alpha.3":"2025-06-05T09:01:25.582Z","0.0.1-alpha.4":"2025-06-05T09:35:14.900Z","0.0.1-alpha.5":"2025-06-29T21:08:58.747Z","0.0.1-alpha.6":"2025-06-29T21:21:58.715Z","0.0.1-alpha.7":"2025-06-29T21:49:15.843Z","0.0.1-alpha.8":"2025-06-29T22:15:14.524Z","0.0.1-alpha.9":"2025-06-29T22:26:00.435Z","0.0.1-alpha.10":"2025-06-29T22:43:12.262Z","0.0.1-alpha.11":"2025-06-30T07:25:19.715Z","0.0.1-alpha.12":"2025-06-30T09:38:27.611Z","0.0.1-alpha.13":"2025-06-30T11:05:22.748Z","0.0.1-alpha.14":"2025-06-30T12:44:24.179Z","0.0.1-alpha.15":"2025-06-30T15:55:26.922Z","0.0.1-alpha.16":"2025-06-30T18:38:00.707Z","0.0.1-alpha.17":"2025-07-01T15:32:43.715Z","0.0.1-alpha.18":"2025-07-01T15:52:30.310Z","0.0.1-alpha.19":"2025-07-01T16:38:37.984Z","0.0.1-alpha.20":"2025-07-01T17:00:25.049Z","0.0.1-alpha.21":"2025-07-01T18:16:28.453Z","0.0.1-alpha.22":"2025-07-01T18:35:07.915Z","0.0.1-alpha.23":"2025-07-01T19:35:24.051Z","0.0.1-alpha.24":"2025-07-01T20:15:32.023Z","0.0.1-alpha.25":"2025-07-01T20:41:12.207Z","0.0.1-alpha.26":"2025-07-01T21:54:54.733Z","0.0.1-alpha.27":"2025-07-01T22:33:05.619Z","0.0.1-alpha.28":"2025-07-02T21:27:47.410Z","0.0.1-alpha.29":"2025-07-02T22:05:43.619Z","0.0.1-alpha.30":"2025-07-03T07:28:58.630Z","0.0.1-alpha.31":"2025-07-13T10:49:37.702Z","0.1.0-alpha.0":"2026-03-29T11:01:09.918Z","0.1.0-alpha.1":"2026-03-29T11:35:10.622Z","0.1.0-alpha.2":"2026-03-29T11:50:05.758Z","0.1.0-alpha.3":"2026-03-29T11:57:29.861Z","0.1.0-alpha.4":"2026-03-29T12:08:26.208Z","0.1.0-alpha.5":"2026-03-29T21:22:35.045Z","0.1.0-alpha.6":"2026-03-29T21:49:07.546Z","0.2.0-alpha.0":"2026-03-30T21:54:32.558Z","0.3.0-alpha.0":"2026-03-31T17:01:56.856Z","0.4.0-alpha.0":"2026-04-01T13:23:25.375Z","0.5.0-alpha.0":"2026-04-01T19:55:04.688Z","0.5.0-alpha.1":"2026-04-01T20:27:46.695Z","0.6.0-alpha.0":"2026-04-01T20:28:26.732Z","0.7.0-alpha.0":"2026-04-01T21:45:53.341Z","0.8.0-alpha.0":"2026-04-02T09:13:48.106Z","0.9.0-alpha.0":"2026-04-02T09:57:05.650Z","0.10.0-alpha.0":"2026-04-02T11:36:33.624Z","0.11.0-alpha.0":"2026-04-02T12:17:27.155Z","0.12.0-alpha.0":"2026-04-02T14:02:39.692Z","0.1.0-alpha.7":"2026-04-02T18:23:16.692Z","0.1.0-alpha.8":"2026-04-02T20:15:17.181Z","0.2.0-alpha.1":"2026-04-03T18:00:58.750Z","0.3.0-alpha.1":"2026-04-03T22:29:59.701Z","0.4.0-alpha.1":"2026-04-04T07:48:32.646Z","0.1.0-alpha.9":"2026-04-04T20:17:19.475Z","0.1.0-alpha.10":"2026-04-04T21:20:52.992Z","0.1.0-alpha.11":"2026-04-05T09:45:27.634Z","0.2.0-alpha.2":"2026-04-06T15:39:09.758Z","0.3.0-alpha.2":"2026-04-06T21:18:38.156Z","0.4.0-alpha.2":"2026-04-08T11:36:41.100Z","0.5.0-alpha.2":"2026-04-13T10:54:10.274Z","0.6.0-alpha.1":"2026-04-15T11:24:04.090Z","0.7.0-alpha.1":"2026-04-15T18:17:43.154Z","1.0.0-beta.2":"2026-07-30T22:09:39.430Z","1.0.0-beta.3":"2026-07-31T13:51:48.904Z","1.1.0-alpha.0":"2026-09-04T00:30:42.746Z","1.1.0-alpha.1":"2026-09-06T15:34:13.159Z","1.1.0-alpha.2":"2026-09-07T09:24:41.022Z","1.1.0-alpha.3":"2026-09-07T14:26:37.513Z","1.1.0-alpha.4":"2026-09-08T07:22:24.010Z","1.1.0-alpha.5":"2026-09-08T11:22:13.106Z","1.1.0-alpha.6":"2026-09-09T19:52:06.522Z","1.1.0-alpha.7":"2026-09-11T21:54:49.158Z","1.1.0-alpha.8":"2026-09-13T18:46:55.040Z","1.1.0-alpha.9":"2026-09-15T09:20:05.585Z","1.1.0-alpha.10":"2026-09-15T16:09:43.647Z","1.1.0-alpha.11":"2026-09-16T07:53:19.222Z","1.1.0-alpha.12":"2026-09-16T11:21:24.727Z","1.1.0-alpha.13":"2026-09-19T12:05:47.045Z","1.1.0-alpha.14":"2026-09-19T12:41:02.739Z","1.1.0-alpha.15":"2026-09-19T23:16:10.771Z","1.1.0-alpha.16":"2026-09-20T14:10:04.252Z","1.1.0-alpha.17":"2026-09-21T00:05:39.556Z","1.1.0-alpha.18":"2026-09-21T18:42:46.912Z","1.1.0-alpha.19":"2026-09-22T14:51:10.655Z","1.1.0-alpha.20":"2026-09-22T20:04:11.912Z","1.1.0-alpha.21":"2026-09-23T20:30:51.065Z","1.1.0-alpha.22":"2026-09-24T07:45:45.167Z","1.1.0-alpha.23":"2026-09-25T14:42:16.817Z"},"bugs":{"url":"https://github.com/FastyBird/smart-panel/issues"},"author":{"url":"https://www.studio81.cz","name":"Studio81 Labs s.r.o.","email":"dev@studio81.cz"},"license":"Apache-2.0","homepage":"https://smart-panel.fastybird.com","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"],"repository":{"url":"git+https://github.com/FastyBird/smart-panel.git","type":"git"},"description":"Powerful backend for administrating and integrating the FastyBird IoT Smart Panel","maintainers":[{"name":"akadlec","email":"adam.kadlec@fastybird.com"}],"readme":"","readmeFilename":""}