{"_id":"@open-rlb/nestjs-amqp","_rev":"51-4e5fc55bf858d3c87bdcecc333e0198e","name":"@open-rlb/nestjs-amqp","dist-tags":{"latest":"3.1.0"},"versions":{"1.0.0":{"name":"@open-rlb/nestjs-amqp","version":"1.0.0","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.0","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"db42da46d475efce7a2e96075abccdc90748a595","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.0.tgz","fileCount":136,"integrity":"sha512-9JgDwkwrPLzK8w5tNgFebCLMv2qfeM/IqFUIAtE2W2j0uEckiRel5elFEBrGZbxGopj0I1H7ZVGV6t+R9GCZgA==","signatures":[{"sig":"MEUCIE8GUHz0CIwEcYF1ImbSuADL8cqUxPlGCuN1Q0N3KwEnAiEAhOXq1isphcgkgz8/ee4EV2OkWcwqTGUgn1RxkJgYJhw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":503166},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"7467c58387d281952b8b0b3f9dccecd9ef05e071","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.0_1772533697859_0.37806693755033116","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@open-rlb/nestjs-amqp","version":"1.0.1","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.1","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"dab1014fbb9d36389c1e779a6e75f261c0dd64bb","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.1.tgz","fileCount":133,"integrity":"sha512-4IvZHM97gSorcVW8B+H8WG4ZZcOhcnJ+Ea+VuRNjiiSgN4iSlKbq/ORloH951ImCW9EOu8LRrZuuckGF+0hOOw==","signatures":[{"sig":"MEUCIG18Rba8pRvV1NGdWFYSJcWxgiqgu425V+iZosHb2Y08AiEA/rfxUwmovH3EMaKryD6Q4jvV4Plrgcb7hLNwlEKEZAo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501056},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"d1df6ebbcce1f14a43db4179ce7a748622144c0a","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.1_1772612625777_0.4913035517128299","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@open-rlb/nestjs-amqp","version":"1.0.2","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.2","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"e9dd264933f3d28ed980e024ff49f5a93a1a3838","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.2.tgz","fileCount":133,"integrity":"sha512-4AkXi/pTShWEKSydEPEFAJOF34wsc+BiAHCcYOMaQ1JUK6PaTqQfP0TcruL8hNYyTla4V2wwSjh+yxW9JPRh1w==","signatures":[{"sig":"MEUCIEZ8qL2KqUZQtd45RNajKYs3BqY8Eql3x2sVNKpL1qWMAiEAi2CzII06HoF4VoZuGaScAvIJ2K20mW7eMqH6bP66/Dw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501059},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"c39b7812026a0bbaf9860aab207be75ceaf6aed3","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.2_1772615514002_0.5166536023346204","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@open-rlb/nestjs-amqp","version":"1.0.3","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.3","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"3bcf77dd65f49c0e2abd5e34aa8ada3fe2a03a83","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.3.tgz","fileCount":133,"integrity":"sha512-cqbgYGatdI9A/OmUkXl70OlDh8JPzYOoN2ytaIGTgkU2z26j5MaaosMlj11wmAzxScHiDNzyJMkClM7ifYMqkA==","signatures":[{"sig":"MEUCIA4v63pDQ83hArG1QZy++WH97PAWZX8ET0n3wf3TAZgNAiEAmz+TJ6hiGALJRFEp6vYrZjZwt0Enup+/AG/E8mXN2n4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501453},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"f353bc153592e79c63d5f1d7b5ddba61f501bf2e","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.3_1772617739739_0.1888685593071202","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@open-rlb/nestjs-amqp","version":"1.0.4","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.4","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"e9ed228f1a79db7945524da703268e9da859d279","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.4.tgz","fileCount":133,"integrity":"sha512-ZVA+lx1oofIhQjXjFuKoLIEGA2zFbVWqzaLBYuNA1lwbY6afdk5tyvDTl3j3RvVmpLxlscQIPf/41o7HSoKVbQ==","signatures":[{"sig":"MEUCIHZQO9waqfImLFvraIMAOWk4rKb185oPpiaMbYvJjJP7AiEA0OW8AjTqZ8rcY9fOWnsHgZjfVYJwn3JyzSYLvfUQSbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501453},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"f5681b4e0465419549a1dc730883f2f3872e63c2","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.4_1772618499708_0.17156461905998843","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@open-rlb/nestjs-amqp","version":"1.0.5","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.5","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"85d39a9f74a0f4270815f016d006b11d97d54e8d","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.5.tgz","fileCount":130,"integrity":"sha512-u1QsOLTLJ/AZNf0TnNLof9DH0c9JPi0eylH5GecNaFSntbDCiH8G4ocjemXXTpWHKZ6u+ZFdI+7yQM5iFmY0xw==","signatures":[{"sig":"MEYCIQCX3wS2X1LTjQ36w3IHFcUAmYo9ykYFYC/f2OV4t0WjTQIhAPPqIGuO6yC7b4uWKY2g8lXcecf9D7wtRTJpY1XRIK5X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483282},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"78c60a8c4cfc930e49de85d0094e6b96de5defc8","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.5_1772621939578_0.8827469182344545","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@open-rlb/nestjs-amqp","version":"1.0.6","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.6","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"4a751ef27cbf1969e962234f8300b9b7129b8b82","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.6.tgz","fileCount":130,"integrity":"sha512-XqsRLMCNUeslZrPHGGQiPgldOuaGU3QsNMrqgjbUYkNTd84yvx+BTvLv7XPMuQcn5wAr96t059lIyrighPtjaw==","signatures":[{"sig":"MEQCIGgaur4YrIjNzyx4tVXuL2zo8n0BVjbB/irgAuSU+yKdAiBa6PzTMw994/mH9yOJEazqn+/uKR40AexLKq7dKdgh/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483294},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"88f52545c51d20ae6fa230d4a2c7774f740b166b","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.6_1772633288625_0.11493152306781784","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@open-rlb/nestjs-amqp","version":"1.0.7","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.7","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"2b0e07d8580ec27c90a11643f5731a2f40736e5f","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.7.tgz","fileCount":130,"integrity":"sha512-ohV7y8wcDrkiL5XPTzOkutNGTyg+/1pz+1mfoukF3GAMRPDGY9YzehB9peslgbun5O5PBb0dIzYIQ73zMNVSDA==","signatures":[{"sig":"MEUCIHkwEtJg4bZwpKMZnr9BgW3mkxFExvrdNsQmjLa6wX1SAiEAr+12otcX144fpP5NXefZa7JFnG3i3UljWa93UD9Iaf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483387},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"5bc0cfd794c2dff5210b02ed94c1c1358ec4d976","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.7_1772654129519_0.06602084660247365","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@open-rlb/nestjs-amqp","version":"1.0.8","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.8","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"d24b47a9fddcf5c6044fadb722c47df37da416a7","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.8.tgz","fileCount":130,"integrity":"sha512-H4ppE5ckiklhv1IEePrhVZfER+uL8gWbvjFZs3WmT0/W62w/7LobaXxQw1c1w8jY27Cwh0OdNOYcINpjdqSTig==","signatures":[{"sig":"MEQCIDpka9CCQSFePofywUj+iY6GPd2Zl9aAb8sTgyOVagqyAiAKeNDUFdKl7J/fFQqcNE1h9iPXB9dDIEv2s276AVCdtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485498},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"08c0ed5f3437f6c40aef723d207ca78c80072f51","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.8_1772665609574_0.12263522480857025","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@open-rlb/nestjs-amqp","version":"1.0.9","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.9","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"ce1aea18988daeb6b443401249695fa8c2223c8a","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.9.tgz","fileCount":130,"integrity":"sha512-qkigke00XjYoX8GrcGRCVmugf7ezxBpSP4slnlg8/s7puxK/0yMEsnFCm1CXJQqWROgeRmDFmGCXd9FraeERAw==","signatures":[{"sig":"MEYCIQCjeYu2OrlvbBHD7iwBt3nMX9P2U8JMBuRF4b2qnYSRwQIhAKdPNo1SJ1gUcYfSz7OPrHobTD3tNjLpgbapdoxowtwf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485367},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"41af85a832c32636e0e7619a3c4c78a8096017bf","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.9_1772740950477_0.5869068767479795","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@open-rlb/nestjs-amqp","version":"1.0.10","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.10","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"9a8768ec1df60c4a08f68888fc27eee01513889c","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.10.tgz","fileCount":130,"integrity":"sha512-0ol/86eYyvQLNaF0wqLDYM4jKhYnFw4OEsJMm8mKmk2EoJXnyCSjo2v94SAbVwgq99qM1lMBmMsOyh3NZCnQJQ==","signatures":[{"sig":"MEUCIQC2EYNR5F64G98LKCPKUC9XwUNE4xKvceqsZlxK/s2/fAIgBLvo9wEscRq2m45wW7IQ+M3CukjohLZC7P0vluoH+Bg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485116},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"6d9fef74e931a977a097f626249897a6265d8d85","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.10_1772812004628_0.7884889483845159","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@open-rlb/nestjs-amqp","version":"1.0.11","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.11","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"6902028c52c7d6b4f97599ddc2dcaf0f36e0c65e","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.11.tgz","fileCount":130,"integrity":"sha512-TRmPznNBaedeeqXTek44JQ2rCw5IpoIAVJ3fvsx72loLmn86l8OAxmWqgvsjaGkvI7yk8/eChlcbuDt6yjLiQg==","signatures":[{"sig":"MEUCIGrELGngubJO+SMXfyRGKdp0DThowIC6te+/9jkr03rpAiEA3DRon3K1nepfx7ZRW2kAUb3bPXB8rb28exiNDpoHNxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484331},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"458650907309920b757dc92898c04847b53ddc9e","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.11_1772813810152_0.658082807481887","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@open-rlb/nestjs-amqp","version":"1.0.12","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.12","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"49a05a29310f4fe16d5deeaeab0f14a147a9345f","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.12.tgz","fileCount":130,"integrity":"sha512-FTjmWLEGDdg319SMKuyLBNvJ9aAK/Dhg+0V79LZhZRnYcjfduuS4TtppT8mLI9km6Iw5TKYJrkXRbaAxTtLkNg==","signatures":[{"sig":"MEQCIAnprwmgU+naMESdON1Ln1IPyJiqnN2WXePcmQ+nx64qAiAkm5o0LJf6nVCdbn/4JcHvlu1o2vjiHcUscvCAE/7ZCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484101},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"34d1d4c889360065cb398067d44effb368e8f427","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.12_1773014195573_0.9963302900510584","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@open-rlb/nestjs-amqp","version":"1.0.13","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.13","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"150006dd1bc621b9a375e51994303e3aacf3bd9f","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.13.tgz","fileCount":130,"integrity":"sha512-ME69bsPkROMIxiKP2ekr6O2Yp1aDyfMn4hDzOSJ7QUL/emYngzK7J23BUE6CtkUW24blHbJX/92y/1/xACSOIw==","signatures":[{"sig":"MEUCIDdMzlOqFjKsQk5oaA0cCDX1hHEOwQduMUltaZwdqm5NAiEAiflysLDP+nRmNujvAvvbQ/86oflbdlF8qswKnRpcluc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484105},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"5a6953d154e3a49d8b71b58e00a19e6f26736bd3","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.13_1773018668167_0.8642720146443117","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@open-rlb/nestjs-amqp","version":"1.0.14","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.14","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"e29ee3b64f50bf8b5a74b701f7f95ece7fca3c36","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.14.tgz","fileCount":130,"integrity":"sha512-CSpP99a0PWw+FlbFLv7xpKBqN5ZQM8H/QbeutgDc+w3EL38v+beyw0Z0olqWW0lTyodR4M+3t6OU54YT2Yps4Q==","signatures":[{"sig":"MEUCIQCIwivkDTi3rorEmngjFGGPBa7PikC4gXwr53+20P79zAIgNxSsl8bMNt6oZ+SFaVSd+SqUgLcdA3QaYswRxAFVs10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484127},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"0bee1608629c00df0d25526077f5d7477e82c3b8","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","test:cov":"jest --coverage","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.14_1773019508910_0.2499212322103126","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@open-rlb/nestjs-amqp","version":"1.0.15","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.15","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"e849eb439d04a531fc1c61517c48c42bda1ae263","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.15.tgz","fileCount":204,"integrity":"sha512-uCVWEBX9ZDIea8tghrab5QOoOJJ/+1PpwAsz+D0aOxsH3ssXZ0xrRDJ5redX9d/Tlf9mVN8GdHUxec3B5jtTXg==","signatures":[{"sig":"MEYCIQDexII+uGcv1mSoz4+qrL5Cr1dus2MhO5AlCiaokBMZXwIhAOjFIbPXyeoC/xWQTI8UiXtPLVJLS7ggxXp+HbuQx9JM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":647342},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"3ed76d0a649c923250ce4fa4804b6f6f8cd5e154","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.15_1774268729463_0.49404560359073724","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@open-rlb/nestjs-amqp","version":"1.0.16","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.16","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"8bdc954015d194e6eb4dc26776ad94c81a0d1c34","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.16.tgz","fileCount":204,"integrity":"sha512-8MRcJwZnoy2puHgjTsxp9De7Rk14vVqkm1EHnldm+RkT+0fWbMFEYhe7pREjxJEMai9IE+WRo7pGNr1M9ucV6g==","signatures":[{"sig":"MEQCIEbwjQdEstYoHsinb0T7ZVyBvl1X1viF5oIYLSIa9anTAiAKWSXDgZUt5NOfac2N17FCq1b2jNc7qrhDxFNSPQdXIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":647390},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"3e8b5cabf2854b71d75a1e067636add7e82e1ea6","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.16_1774269063349_0.06879049600124532","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@open-rlb/nestjs-amqp","version":"1.0.17","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.17","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"959d353e13dd8a9e3ae09e9d33766da4be075ac8","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.17.tgz","fileCount":204,"integrity":"sha512-bn+InH3N87N+gLNw+mHpwG2XsOtu8SBp2oqs0aMofMqbrCujFAy6aKUpvniRUQrYU7QJd5ZRNp9YaU2ZsZErJw==","signatures":[{"sig":"MEQCIEPDI6j78ci8UI/J6p18X5VSiWO4adKury2FQ6M0LbXcAiAcWlbxbp/sFDIuOTcc04UzWs5WdzkWwOV6tPs+cHci4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642545},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"47f9b75123411114e74bb7708767fc41c342718e","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.17_1774269412387_0.30844485694853385","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@open-rlb/nestjs-amqp","version":"1.0.18","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.18","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"3240f9b7bef9d8495bad3fc70de99c56061868d4","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.18.tgz","fileCount":204,"integrity":"sha512-920MEmvAOy43uQdpU0da+cBH6MhyUxRLm1FzuNPM3ea0/8rXOn7BrB9OGQiGMqPNrtrs1dkVNRUZGl2l2JNYGw==","signatures":[{"sig":"MEUCIHs1PgtakRH4itgY7nDlft96yA7WSa3Ko1haHJiMnaKaAiEApPwMBvSZUy5hvpyxpHkYTLA6nqtz5+ALgTfsadV9Nf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642459},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"96867603e26891760c6d0212791ca4c80c5424c9","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.4","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.18_1774269797218_0.29104555481542826","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@open-rlb/nestjs-amqp","version":"1.0.19","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.19","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"d97b5d794ecb85d1f7e343a559b0288157ff8fa3","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.19.tgz","fileCount":204,"integrity":"sha512-Dzz93i81y5mTU/ELblrcCzcOeHsQT8Wb5hjrZiwT5wQd6LTMQ5W3nWiDOYUPzAZzWLx7cjDbqFzioonsFLF+EQ==","signatures":[{"sig":"MEYCIQCPX2JxaLLrqWLnKJCfApHoGcEWqlNWP3JXfM4qaUHXxwIhAMD/3gkkUD7024hBsJs6s+TVlmJ+vaX7Y58ekWl3Us5t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642700},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"d1c6797a911e7a8f4ae4442a2c4fc90c89f92f32","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.7","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.19_1778842228348_0.3839079110379773","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@open-rlb/nestjs-amqp","version":"1.0.20","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.20","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"edfa61d6b6af247acb448c4a2187ffe4cdd28522","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.20.tgz","fileCount":204,"integrity":"sha512-rOlM7YZqsJmV4JQOjpMjwZOmyGxWxGvvuRGoxmqSvVkNOT97toIeSjRaJwLsfnbIouL18hTB41H1GxJmWhy3gA==","signatures":[{"sig":"MEYCIQCNlwDoABFfrjRyo5cDIJn+nUckVNIDzVZtIaXZ0gxMxwIhAKO7JbjpmicmBP6X6rrDPIm+5eJhfCMo5P1Q9GsxPB4p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643958},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"45212881bae2270e5d21f55ec0afda67de0824f1","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.7","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.20_1779035306085_0.5617395917722607","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@open-rlb/nestjs-amqp","version":"1.0.21","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.21","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"242f11612ef05185283f5e17b029c37ab1627847","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.21.tgz","fileCount":204,"integrity":"sha512-8xdxGC9ONX2SUJhdchu2YF3LchTWoREtrcPCb1Ybn0Kat+J6vPF3U+LI94Evl8dtuj290YZ5xGDNf+1fDglcuw==","signatures":[{"sig":"MEQCIF+yrZqJ6mnh1ElYefMtGjNNb/LZucaxS9BRdKup8JkSAiBQjRrmK7UIMvMJNvkfE1PiFg0TYGd/hqv/LJUoVr02FQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":650395},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"ec77830f689f020ea96b9426cbef7284478743ae","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.7","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.21_1779042581975_0.6960002434109867","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@open-rlb/nestjs-amqp","version":"1.0.22","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.22","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"94ffd4830ad651301416376b04e8c56ea3fba081","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.22.tgz","fileCount":204,"integrity":"sha512-FCg6SqrXB8LVS5XlZ3oMEif6MH35gT92LRIAkfpUUpt/AwYpQGSocapfhX75Ur6Ecja89u9dWPGu3V/eiyA0Jg==","signatures":[{"sig":"MEQCIDnFPwQnwerqOofUhtXqxg+p45R+kdgT+f2LqPSRgC0/AiAlX+6kV8JhAXzwQV8UXXH986e/mIMJmKZeEor25KryEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":650421},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"40f3f6eb3fa1600170c8c8874ebbd66348b5f44c","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.7","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.22_1779085644816_0.12147588253918573","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@open-rlb/nestjs-amqp","version":"1.0.23","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.23","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"1ff6b35c86e819f53882a4f0433a20127cf87fe7","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.23.tgz","fileCount":204,"integrity":"sha512-I/wU75maDJB/eqDoO2FsWTseaYBWvIMtH9DN8lg5sBD46IF+ysMMLywFrcI8MC1Rz2aBYiE40psQiBzVM/xuDQ==","signatures":[{"sig":"MEUCIQC7hisEjeMZMOE0l0N60G9OTmtZvA/lVy6UT+rHSKfxrAIgQUwlNdpRZaPefg8/S+H9Y1qED5YYsf1TiEtl4yMxN0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":649395},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"9eae2bcec1b2a017f168af6a60a8f20c3ca78921","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.7","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.23_1779218622376_0.6698693654192356","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@open-rlb/nestjs-amqp","version":"1.0.24","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.24","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"8af9f320a6b7e6aacf986bbecec6b0fec2159c39","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.24.tgz","fileCount":204,"integrity":"sha512-O7Kjbx3PCRT66adqJCcE4ZuZ3fdf2LMGkmTsJLvPkJ7oaEq9SgtQhsi3EUn6owq5oIwbPjTy7aSF/GxHErvvGQ==","signatures":[{"sig":"MEUCIQCXKLmLukYrgo1IYOKNBzANUo48Xm8m1vg6NwOXkRMe+AIgB/kMuLSUDEmab3PIoyXU+Qodxz2m2ALaTDVOBvBh8+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":654270},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"926a04d804c63250b333c7bfcb6927d81e11538a","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.24_1779273644424_0.05385699356472928","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@open-rlb/nestjs-amqp","version":"1.0.25","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.25","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"3b55868e08ba6a8995880fe73bb88f3dc7aa55f7","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.25.tgz","fileCount":204,"integrity":"sha512-OkcmCDCmhPeUt2O3HN2xc1mcsKO7pL/oZ80MTryFKE0n63yTj2yNMFKm8E863Ja5D9EcoyXWVtvTrcX3uYtS+A==","signatures":[{"sig":"MEQCIHlcXj8w7hMn43aWdGSbe1SgycVzT91Y2+47pwhXyEk0AiAkg4b24fSYCOMMQCuSBlKjYf/1tHT2bT3dvIhui0vDJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":654682},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"3b7e0853ea4f6be81e98b377af5389c87a98104a","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.7","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.25_1779277433870_0.243093197198897","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@open-rlb/nestjs-amqp","version":"1.0.26","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.26","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"b7bd4fe638db9550a9640bc1097110efe7eefe61","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.26.tgz","fileCount":210,"integrity":"sha512-dzgVJqRDUTikc2I4put2nOlOA3QmVV3b2owFbrsjJouBcHWXpUWSmE6cf10dDpn1QopiAySN3IcL/G+qVFicUw==","signatures":[{"sig":"MEQCID6FDzLsSW7/ihR8a77YWXZnCgPzdfSKA/ATwaEOst+CAiBqxbkUZAuHJex2ELLaB9XY34V6I8DRsyt8OHNGXdOJuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":663169},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"134fe33a11cd8c067a8adea0447492bd56898edc","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.7","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.26_1779282628344_0.9036493675630799","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@open-rlb/nestjs-amqp","version":"1.0.27","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.27","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"385722b3632747cbe3a2535d34eee01d08c61f01","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.27.tgz","fileCount":210,"integrity":"sha512-AaeGGySsDx96Yzk086l7WE99E1uub1DisdgBa8tCInDXG4EE9oP2kP5N+U2WEHqplch2dTew+YPQv54p89jlxg==","signatures":[{"sig":"MEUCIB+jcwyV9pYVknkRR8FAizBH+4rsUrRNcqIidHArm1GMAiEAz3qYlnW3rO7JBNtCbUcJV3pk9UWRKdSqioInvPe9ZPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":663240},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"79a37c8c22e55e9483fbc7d6773176194162044a","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.7","description":"Quick guide for using the npm package.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.27_1779284037847_0.1703607943605252","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@open-rlb/nestjs-amqp","version":"1.0.28","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@1.0.28","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"08eb75950d473f660ea21ac4f809d205b475fcb2","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-1.0.28.tgz","fileCount":217,"integrity":"sha512-7RbVO0NAyUD0F47XaSMxe+3axCN9HKGivtKpfU5fE3vawz/gHkFUOeFe6ZDKV4ufLzIHGngETeaxNZsBO59vBQ==","signatures":[{"sig":"MEQCICUldi3R/qHKTa8WD1DPgcLNIaV9PzpKhye9RX4ditpwAiAgqsV0LPIi6VFZ8x1T3ZhqaGWxnkW/48ohdgYYDL03Lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":737577},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"a315c37c07fd1e427cd4e8892a3c4136a8a6bd86","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"Libreria **NestJS** che fornisce un'astrazione di alto livello su **RabbitMQ/AMQP**, più un **API Gateway HTTP/WebSocket** che traduce le richieste esterne in messaggi sul broker.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.19.0","rxjs":"^7.8.2","axios":"^1.13.6","amqplib":"^0.10.9","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.14","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.14","@nestjs/config":"^4.0.3","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.14","@nestjs/platform-ws":"^11.1.14","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.14"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.2.0","eslint":"^10.0.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.8.1","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@nestjs/cli":"^11.0.16","@types/jest":"^30.0.0","@types/node":"^25.3.3","@types/multer":"^2.0.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.14","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.0.9","source-map-support":"^0.5.21","@angular-devkit/core":"^21.2.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.56.1","@angular-devkit/schematics":"^21.2.3","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_1.0.28_1781259437117_0.5666532175297916","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@open-rlb/nestjs-amqp","version":"2.0.1","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.1","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"0bcbdf821161a3a37a33a4bd0b1860702e9c738d","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.1.tgz","fileCount":300,"integrity":"sha512-4GlLvGQaOsi65u3qVlRnDRVDRI2YKtAYC5XtjsX76eFO1BTq4pcv+5LPBvEaCJDaX51uDxMYwsLP3KgABea8Iw==","signatures":[{"sig":"MEUCIHzivr0sX+J80tZnCVKA+Z+OLCY3o5bqa4msofKrhmhlAiEAo/+wDz5/xUqIxrAc2Dhff421opVXgZKtYI9oKX3uUto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":611079},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"7df199ce6cb6ae720cc76dd0670fe285e3839476","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./dist/schematics/collection.json","_npmVersion":"10.9.8","description":"Libreria **NestJS** che fornisce un'astrazione di alto livello su **RabbitMQ/AMQP**, più un **API Gateway HTTP/WebSocket** che traduce le richieste esterne in messaggi sul broker.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/amqplib":"^0.10.8","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.1_1781418780738_0.23414546491388277","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@open-rlb/nestjs-amqp","version":"2.0.2","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.2","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"f7bfd3d416a0e3b5d47fae6ebe388bae66894a92","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.2.tgz","fileCount":300,"integrity":"sha512-64XBI7jBoY2bTcvnP4yprxTrcIyZ7TmqpuX/4c0av4VPDJVc11pTM300q+e5bXDJ1SUbQ04OlxUsfpc8u7CVhQ==","signatures":[{"sig":"MEUCIQCAjsgGsrTCQZ1naKDNyPUkEgwjB4bCHodayMfkZi/qzAIgTubEqZwH9K2oDB0Teq2IqUxyc4htjIxe72ETK22vBRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":611041},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"50747bbb3e762568393b7feccbc37c091769979c","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"Libreria **NestJS** che fornisce un'astrazione di alto livello su **RabbitMQ/AMQP**, più un **API Gateway HTTP/WebSocket** che traduce le richieste esterne in messaggi sul broker.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.2_1781419304679_0.34461892167429253","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@open-rlb/nestjs-amqp","version":"2.0.3","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.3","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"3d3d20dd05ba7099c8af8ab5222ee60516bf8ceb","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.3.tgz","fileCount":315,"integrity":"sha512-k46bV2NjrtRokQ6fgf9oN6TIcmwCI/ozEEp9yCushxwjTEFAZ/7UozuzuXRW01scp6TrjVmLtgfooz4+erqVzQ==","signatures":[{"sig":"MEUCIGb3wJZxLY6NVnvY+Zq7v7yv/fRMsrnpWdORZeDGGrsGAiEA3zfvVJCTkGe4MORou5Hw0YHKVtuUnQkfT2RESLq1THg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672354},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"a3cd6b963a68830d3006cf2018967a3dbcdb3d29","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"Libreria **NestJS** che fornisce un'astrazione di alto livello su **RabbitMQ/AMQP**, più un **API Gateway HTTP/WebSocket** che traduce le richieste esterne in messaggi sul broker.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.3_1781783101115_0.7159965214351587","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@open-rlb/nestjs-amqp","version":"2.0.4","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.4","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"89bbf32c2933c75b6f2d972b2c73376ba80cca6e","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.4.tgz","fileCount":315,"integrity":"sha512-xaWmVvHeJiaO/wpCnue94omAP58aTmC0b/J4btVyKPyl0+Q76lv4xi39GVgo1J/nUDN+J2p5Gsmp+ypW+8lBXg==","signatures":[{"sig":"MEQCIF4mfNdSmsYJ734ojZv4vZ+pnjTjt7qQxE5cfPYfBGggAiA6KClg+B1eYTgTMmDS9G2dy1bzbTerJxUtYe8hqBwPdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":668991},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"c4d7f9b6e15ed3569a1c914b3b69a6092841c4f0","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"Libreria **NestJS** che fornisce un'astrazione di alto livello su **RabbitMQ/AMQP**, più un **API Gateway HTTP/WebSocket** che traduce le richieste esterne in messaggi sul broker.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.4_1781790931141_0.1960200054050265","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@open-rlb/nestjs-amqp","version":"2.0.5","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.5","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"1cac9cb86d6e2f55bc549e6547dae158496ce49e","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.5.tgz","fileCount":322,"integrity":"sha512-A7tOgZ1zzsVKE7hn8yKpnijbW0uoW/L+Gwy7qhIDbniRU4S/6ybD4de68JoCTlG0URk2eUOzeoBJ6ttAmXdvDA==","signatures":[{"sig":"MEQCIHbu/6J6ZyYolpiwqQm50jeuLdDioGJMqeseXp2BsXwIAiBbm1gMVvPt8Ns2Ta6BzcTHRhqkW5Mpxmxuu9s105VEHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781151},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"7fb4eec06d1dc075ae5a1993772b3ca93f5a506b","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.5_1781820762121_0.12662111109050977","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@open-rlb/nestjs-amqp","version":"2.0.6","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.6","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"eb0398ebb45bbb189c9fff80bb1b134b9b03f995","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.6.tgz","fileCount":322,"integrity":"sha512-AdZPz6PrJlp/5eqrHqzYALfATXhqRnhjWCjV/JgxYUI4oXzpB2KPb9Fj02cqVXJ2xYL0gb7xMpfO3yhzxnoevA==","signatures":[{"sig":"MEYCIQDM5rV1c2gBNsDBIupClXXPriTsTk/w2WiWJlI9xHdTugIhAMVe1Sv1Mu/IB1zgXg89FyBObwpWVJoxVfvuhH+1/t4I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":789187},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"bc13813ac7b4c97bafa757565b49f45920515ac7","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.6_1781863240465_0.9113369518384689","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@open-rlb/nestjs-amqp","version":"2.0.7","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.7","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"4f2a535f97dbad5da571e9b8f5d73a4f863d2ccf","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.7.tgz","fileCount":322,"integrity":"sha512-UTTEehnj8pa41QADhtIFcuVrzPQiJ/e/RuVL5xmudRl/d7k4uDehJ6CiRL1wwDSRvjMKrag68zLkAfEqgn3Tvg==","signatures":[{"sig":"MEUCICZy99i9bQ33orHvs9GPXragfC1ulSxcqg9oM42IzBZrAiEAr0ZpO7VLRDyBXi8IHLUkO/7E85I33x+fCZIKYBGg1Iw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":789970},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"2426e9e577229848c6013e0fdb04042dd2724364","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.7_1781874927053_0.4626337646634282","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@open-rlb/nestjs-amqp","version":"2.0.8","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.8","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"8b14bee77e600ce38e8b0dc49e0caaec80f5a772","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.8.tgz","fileCount":322,"integrity":"sha512-0R1a5JoooMTgzRCpJf5R54lQ2r40NpOVxvq1+2roj94CsSuwIbLuFMpJvAqLcRJ4Trert6730Ag3OWpFZOtAhQ==","signatures":[{"sig":"MEUCIQDDQrD3A34bjJZb36sAFU9RJsvOfcF8DMrt8oRCLDELUgIgBMIIsUsGbuhpgQtY0GXHIDMgRTK/e7V6m5zHOl06N4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":789505},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"8e31997d3743d123bfc34659760aa2e811cae663","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.8_1781897752594_0.43930828961636337","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"@open-rlb/nestjs-amqp","version":"2.0.9","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.9","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"3432cfc15356014567947e4723ae503d0a5d7a86","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.9.tgz","fileCount":325,"integrity":"sha512-ayDL7YpO6RLYEhSJQ4UgXahPe5lByqtd8EVNJRrkGw9HnQqYi2XXDzXPRRGhvX0GkXYwTia8/T1x3lA6zRU6PQ==","signatures":[{"sig":"MEQCIEKY6Dgc+XkpffNeGyDB7UJMM+gp5l4DQ9qKOjFvXVE0AiA8GzCmZ72SgS6PiD+sxoo0vVxTGZAuaRp4GhTiJMsqrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":798136},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"07ddc1d8660cfb6dcb89e6aee028e1e1a7113e2f","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.9_1782116908032_0.8901872016590229","host":"s3://npm-registry-packages-npm-production"}},"2.0.10":{"name":"@open-rlb/nestjs-amqp","version":"2.0.10","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.10","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"b0a10d933bb556085b5ea60b654d74c1bcb86584","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.10.tgz","fileCount":340,"integrity":"sha512-TOpUf6Mcy1VT9YasH9jMWulkYuwpzH6g9aDCS0HgFM3gIiUNiTGBUl03cjCf76FXZQf0XAmW8xpQHoqBxwunpg==","signatures":[{"sig":"MEYCIQD/WoYbFGwG9xnQ/KietaQAa11yZ4LfU6knBZd/oNlRHgIhAM/omhE1Pgdo25W5ZCZKDUdOZpVBklgsVb6QTxoRwpvt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":872252},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"7cbe9b3363251cb61d4a653b8643f71f96b3d181","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.10_1782311932568_0.47645947047619575","host":"s3://npm-registry-packages-npm-production"}},"2.0.11":{"name":"@open-rlb/nestjs-amqp","version":"2.0.11","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.11","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"896f7fe9c811de8b279b877222e719f06cf7b732","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.11.tgz","fileCount":340,"integrity":"sha512-MkjTChmJgl4FTlTrFFNOrJu1rxw+UeeIGy1V0ywms8h/miWBMMwGqSAyPpaG/6Ws7vUefJrrfWCLpBBm5TxJFA==","signatures":[{"sig":"MEQCIAk5cpnHGY+GaeRrAR2Zc9GUbZpBocrmzs1Q8yj7/Oe1AiB2d5v2XXVKxXtjFkpTSvtGP7eTZ6CSufpTeItNpwzCEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":872338},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"aa5ccc4cbece9e6e582644ebfbb3afd33ad1b9bc","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.11_1782371075269_0.6226706542327543","host":"s3://npm-registry-packages-npm-production"}},"2.0.12":{"name":"@open-rlb/nestjs-amqp","version":"2.0.12","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.12","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"8fb3b8308eb967d5367078af8b058f6fef9552c4","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.12.tgz","fileCount":343,"integrity":"sha512-OyF4ODEtUEQHbsgcMzYXRHOWems5mkwdTtfwQmoGIUk86PEPQ+6K3wbr7TyFHwGOTrvbGB705j8jtTay9KW1bg==","signatures":[{"sig":"MEUCIQDVxMlewqN5I3AcodiWx7KcyRYREyHmHEgQ6vrPS2x55wIgSc+fN8BUKkAsruaIRGeOwTokqnm06TcKfYm9kvZObhs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":891195},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"b624a9944ca8f053cd6bc4a118e7c9d06e4a82cd","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.23.0","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.12_1782473096796_0.8568359654386186","host":"s3://npm-registry-packages-npm-production"}},"2.0.13":{"name":"@open-rlb/nestjs-amqp","version":"2.0.13","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.13","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"54a6e3047f6c112d8bf5e4ed8dad50f94abf7b6f","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.13.tgz","fileCount":343,"integrity":"sha512-6TDBCFGKSc0OETKEMrfQaGrIMO1egtZaMXHF5nB9GVc+QjT9bpVPanPlFKphA663csoaqRzjo7n0ssasYSuvMA==","signatures":[{"sig":"MEYCIQDrJOP7Cjb+MkGSfo8BapXbcH/fmnvv4E6s3KEQ9neAbQIhAO5SvmMDw4hpVvzqSVVR24kfjDbLh8ggbUsWymO90wHW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":891195},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"231b258180184dc6c9a9ec3210ef13f7f0155924","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.23.0","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.13_1782474692613_0.4516462555092655","host":"s3://npm-registry-packages-npm-production"}},"2.0.14":{"name":"@open-rlb/nestjs-amqp","version":"2.0.14","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.0.14","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"8de16c882e5dab2437d1eca3b5d2d90779eca698","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.0.14.tgz","fileCount":343,"integrity":"sha512-0B0s7zSiKVUoWJHoY8gwfc3vI//sL/4JlAJioSr6n1KrfRb53EZpN6IsDcG0FZi/PWBjNaS/H4ixLtlL7HX/UA==","signatures":[{"sig":"MEUCIFWU583PTI1SM+2ysdHcuTnteWPPoU4aWwZj8OOT3AkIAiEAyDbg/XY5acGwdUB8JHFjF8f2buBJvW2HcOGAZuPQ5F8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":891195},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"985fb7772301d90538ceb0296ec356be202f5a6e","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.23.0","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.0.14_1782568226360_0.68211417058255","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@open-rlb/nestjs-amqp","version":"2.1.0","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.1.0","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"3aef7c522c8f14bc9d9e00721738fd48eb411292","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.1.0.tgz","fileCount":352,"integrity":"sha512-Z2sSe+3mbm4e0llxcKOBvO4YgzLZXJ4npF+/R5LKYY/AIawkDB1+j8lnOTxJcG2jPkURBSMGzk1lL5duMWs3rg==","signatures":[{"sig":"MEYCIQD4SmpyfdRTHtT9UOeaSfOQDBSN9sB7FabKQXOdTzBMQwIhAKYEPY/aQUXKZmRUwpE8vNs/fPfDem9yUcIyDAAS3ZAh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":951805},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"f1de9ad8ad0f53881228ce5d58966cfcd5aa4aea","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.1.0_1783549126426_0.04577423337662334","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@open-rlb/nestjs-amqp","version":"2.1.1","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.1.1","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"b883b66a05d13f2d6a7dfbd696032f71e6a4198c","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.1.1.tgz","fileCount":352,"integrity":"sha512-QpDkjGPHONEibPMde1utFsu9xTdXcxS23gd6wqPhtA5i591/l3EZi66+1ZGzEZHw5G/23szC/nn3UWMryyh7DQ==","signatures":[{"sig":"MEYCIQCNQmFOhf9f4ljzIjrXBVUQRQ0u3FpBm/TGGeHdP87DvwIhAJAomVC/ghThFvZ103oaWTWf15cBKLCMprJ0Oae4U4fQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":951805},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"0ca5505c94dee5e9bcb28a18c087c895822b508d","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.1.1_1783550034231_0.5305663472866236","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@open-rlb/nestjs-amqp","version":"2.2.0","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.2.0","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"ccfa3259e6176c099f9efde786743041c8b14614","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.2.0.tgz","fileCount":537,"integrity":"sha512-JUr2FcCivNmoYhg4S4xgDDM3o0abHezuOBtNxNhWsw+h4Wn84XlRgXRqZ0jBRA7Fd5C+fWIvp7UkFRIgyfLn5Q==","signatures":[{"sig":"MEYCIQDxhz1GExXTXdb2U78hk0DcVPceX9dB3He/YiPEbIO2vwIhALcbjrAa3S8TYHE9gkVg8p5tb8kWh/oqz74McNXQBnDp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1222740},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"c12c232f0d743be796c3ae65e06495ddd8b724e2","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","yaml":"^2.9.0","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.2.0_1783594377061_0.6197885948997208","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@open-rlb/nestjs-amqp","version":"2.2.1","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@2.2.1","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"472321139da6eeb278a9554749042ec9db5acd95","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-2.2.1.tgz","fileCount":537,"integrity":"sha512-9ZsfEHgQVtl6bc0U9EXxPuSIKtEaDIzeoVekjr8OfYaUYnzfktXwNPsfxhi1+HTUVT8+bm+P5Osw9GkyUZmj2A==","signatures":[{"sig":"MEUCIQDb+pKmFq93Z7IqkAuXviGw6GhA7cFsJmQmMVViyEjVJAIgBdkcEAB6koMa7Wio3vhrxMM40LIGOxsxATq5mkCPCKg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1226337},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"317e74ca59ae46e339b640516fcd2ad93becf89c","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","yaml":"^2.9.0","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_2.2.1_1783928258909_0.4608644498651042","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@open-rlb/nestjs-amqp","version":"3.0.0","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","_id":"@open-rlb/nestjs-amqp@3.0.0","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"dist":{"shasum":"669cfadd04e58cc4346844ff724f6c80ba533a19","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-3.0.0.tgz","fileCount":537,"integrity":"sha512-jWGOrPB3Sdporl44WpfX3MlocTq3SmLqlvrS5VksoSX4FXG+WVY+nhtY75cHAC6UR9oVWMQEJcHPqDHsC1GiVA==","signatures":[{"sig":"MEYCIQCaHL5y1LHanBoOkgjQxzvBlL2WtLct/tjwUM2SqTo2NgIhAOuzS7bxmU8HiAptJRx6kxPENT885xtZluSP6XCR3VJ0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1237899},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"types":"./index.d.ts","gitHead":"c9328e1ef735d5b122dc720d29b5bdf4548a8ddc","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","yaml":"^2.9.0","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-amqp_3.0.0_1785844877203_0.8804023039684541","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"_id":"@open-rlb/nestjs-amqp@3.1.0","dist":{"shasum":"2580a71f70452f511fd81f214f651dc11561d741","tarball":"https://registry.npmjs.org/@open-rlb/nestjs-amqp/-/nestjs-amqp-3.1.0.tgz","fileCount":540,"integrity":"sha512-6xmGGlCM7hLYVHJhFgzPjQZ7j9PGsfU5oGooQYUwPRb74oIY0bXzqh4sep4JtZaD6bY+EWm5yZXin8klTQDFiQ==","signatures":[{"sig":"MEUCIAWDkRIr3cj3j0DEjPld6ZHSh65fy7CwzhS+uHwogrOQAiEArfN6ou3HavwKpHmsB9SKP8jxO67v3GWU1S7Yb3H4fK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDTJJ9Y/hs5hOEEVlkdSRLXerstFQUkS0iOuqXPTlfTMQIgYWpTbzZHGpanj8pJZ5+8wOKCVbHqAaFsk0LFafrw5LE="}],"unpackedSize":1245637},"jest":{"roots":["<rootDir>/apps/","<rootDir>/libs/"],"rootDir":".","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","moduleNameMapper":{"^@app/rlb-nestjs-amqp(|/.*)$":"<rootDir>/libs/rlb-nestjs-amqp/src/$1"},"coverageDirectory":"./coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"name":"@open-rlb/nestjs-amqp","types":"./index.d.ts","author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"gitHead":"d7767876f86336e3407541ebc6c237754df1e654","license":"MIT","private":false,"scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest --config ./jest.json","build":"tsc -p ./tsconfig.build.json","start":"nest start","format":"prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"","copy:lib":"cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,files,workspace}/**/\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/{.*,*}\" \"dist/schematics\"","nest-add":"npx schematics ./dist/schematics/collection.json:nest-add project --name=Pet --no-dry-run","postbuild":"npm run copy:collection && npm run copy:lib","start:dev":"nest start --watch","start:prod":"node dist/apps/rlb-nestjs-amqp/main","start:debug":"nest start --debug --watch","sync:skills":"node scripts/sync-skills.js","copy:collection":"cpx \"libs/rlb-nestjs-amqp/src/schematics/collection.json\" \"dist/schematics\" && cpx \"libs/rlb-nestjs-amqp/src/schematics/**/schema.json\" \"dist/schematics\""},"version":"3.1.0","_npmUser":{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"},"overrides":{"ajv":"^8.18.0","braces":"^3.0.3","micromatch":"^4.0.8"},"schematics":"./schematics/collection.json","_npmVersion":"10.9.8","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","directories":{},"maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.21.0","rxjs":"^7.8.2","yaml":"^2.9.0","axios":"^1.17.0","amqplib":"^2.0.1","jwks-rsa":"^4.0.1","@nestjs/core":"^11.1.26","jsonwebtoken":"^9.0.3","@nestjs/axios":"^4.0.1","@nestjs/common":"^11.1.26","@nestjs/config":"^4.0.4","reflect-metadata":"^0.2.2","@inquirer/prompts":"^7.10.1","@nestjs/websockets":"^11.1.26","@nestjs/platform-ws":"^11.1.26","amqp-connection-manager":"^5.0.0","@nestjs/platform-express":"^11.1.26"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","jest":"^30.4.2","eslint":"^10.5.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","mongoose":"^8.19.3","prettier":"^3.8.4","@types/ws":"^8.18.1","supertest":"^7.2.2","ts-loader":"^9.6.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.23","@types/jest":"^30.0.0","@types/node":"^25.9.3","@types/multer":"^2.1.0","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.26","@nestjs/mongoose":"^11.0.4","@types/supertest":"^7.2.0","@nestjs/schematics":"^11.1.0","source-map-support":"^0.5.21","@angular-devkit/core":"^22.0.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@angular-devkit/schematics":"^22.0.1","@typescript-eslint/eslint-plugin":"^8.61.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-amqp_3.1.0_1790593215632_0.49421030989470327"}}},"time":{"created":"2026-03-03T10:28:17.795Z","modified":"2026-09-28T11:00:15.934Z","4.0.0":"2026-02-25T15:52:59.065Z","1.0.0":"2026-03-03T10:28:18.019Z","1.0.1":"2026-03-04T08:23:45.943Z","1.0.2":"2026-03-04T09:11:54.197Z","1.0.3":"2026-03-04T09:48:59.887Z","1.0.4":"2026-03-04T10:01:39.897Z","1.0.5":"2026-03-04T10:58:59.757Z","1.0.6":"2026-03-04T14:08:08.781Z","1.0.7":"2026-03-04T19:55:29.667Z","1.0.8":"2026-03-04T23:06:49.785Z","1.0.9":"2026-03-05T20:02:30.634Z","1.0.10":"2026-03-06T15:46:44.801Z","1.0.11":"2026-03-06T16:16:50.341Z","1.0.12":"2026-03-08T23:56:35.746Z","1.0.13":"2026-03-09T01:11:08.377Z","1.0.14":"2026-03-09T01:25:09.052Z","1.0.15":"2026-03-23T12:25:29.691Z","1.0.16":"2026-03-23T12:31:03.557Z","1.0.17":"2026-03-23T12:36:52.553Z","1.0.18":"2026-03-23T12:43:17.416Z","1.0.19":"2026-05-15T10:50:28.533Z","1.0.20":"2026-05-17T16:28:26.291Z","1.0.21":"2026-05-17T18:29:42.193Z","1.0.22":"2026-05-18T06:27:25.001Z","1.0.23":"2026-05-19T19:23:42.575Z","1.0.24":"2026-05-20T10:40:44.605Z","1.0.25":"2026-05-20T11:43:54.014Z","1.0.26":"2026-05-20T13:10:28.588Z","1.0.27":"2026-05-20T13:33:58.073Z","1.0.28":"2026-06-12T10:17:17.270Z","2.0.1":"2026-06-14T06:33:00.892Z","2.0.2":"2026-06-14T06:41:44.827Z","2.0.3":"2026-06-18T11:45:01.281Z","2.0.4":"2026-06-18T13:55:31.331Z","2.0.5":"2026-06-18T22:12:42.319Z","2.0.6":"2026-06-19T10:00:40.634Z","2.0.7":"2026-06-19T13:15:27.259Z","2.0.8":"2026-06-19T19:35:52.781Z","2.0.9":"2026-06-22T08:28:28.197Z","2.0.10":"2026-06-24T14:38:52.714Z","2.0.11":"2026-06-25T07:04:35.529Z","2.0.12":"2026-06-26T11:24:56.973Z","2.0.13":"2026-06-26T11:51:32.781Z","2.0.14":"2026-06-27T13:50:26.518Z","2.1.0":"2026-07-08T22:18:46.619Z","2.1.1":"2026-07-08T22:33:54.385Z","2.2.0":"2026-07-09T10:52:57.261Z","2.2.1":"2026-07-13T07:37:39.069Z","3.0.0":"2026-08-04T12:01:17.350Z","3.1.0":"2026-09-28T11:00:15.758Z"},"author":{"name":"Giuseppe Riolo","email":"riolo.giuseppe@gmail.com"},"license":"MIT","description":"> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)","maintainers":[{"name":"riolo.giuseppe","email":"riolo.giuseppe@gmail.com"}],"readme":"# @open-rlb/nestjs-amqp\n\n> 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)\n\nLibreria **NestJS** che fornisce un'astrazione di alto livello su **RabbitMQ/AMQP**, più un **API Gateway HTTP/WebSocket** che traduce le richieste esterne in messaggi sul broker.\n\nÈ il cuore di un'architettura a microservizi event-driven: i servizi comunicano tra loro via RabbitMQ con semplici decoratori, e un gateway espone tutto al mondo esterno via HTTP/WS, il tutto guidato dalla configurazione YAML.\n\n```bash\nnpm i @open-rlb/nestjs-amqp\n```\n\n### Installazione automatica (`nest add`)\n\nUno **schematic** wira la libreria nel tuo progetto NestJS: aggiunge i moduli all'`AppModule`, crea il config loader e un `config.yaml`, copia le **skill Claude** in `.claude/skills/` e — in base alla modalità gateway — include o meno la parte HTTP/WebSocket (sia nello YAML sia nella factory dei moduli).\n\n```bash\n# con gateway HTTP/WebSocket (default)\nnest add @open-rlb/nestjs-amqp\n\n# solo microservizio AMQP (niente gateway)\nnest g @open-rlb/nestjs-amqp:nest-add --gateway=false\n```\n\nOpzioni: `--gateway` (on/off, default on), `--module` (default `src/app.module.ts`), `--main` (default `src/main.ts`), `--config` (default `config/config.yaml`), `--skills` (copia le skill, default on), `--skip-install`.\n\nCon `--gateway=false` la factory passa a `BrokerModule` solo `{ options, topics, appOptions }` e non importa `ProxyModule`/`HttpModule`; con il gateway attivo aggiunge `ProxyModule.forRootAsync(...)` (che riceve `authOptions` + `gatewayOptions`), `HttpModule` e il `WsAdapter` in `main.ts`. Lo schematic è idempotente (non tocca un `AppModule` che già importa `BrokerModule`).\n\n> Documentazione completa. Indice:\n> [Architettura](#architettura) ·\n> [Quick start](#quick-start) ·\n> [Configurazione](#configurazione-completa) ·\n> [Scrivere un microservizio (AMQP)](#scrivere-un-microservizio-amqp) ·\n> [Gateway HTTP](#gateway-http) ·\n> [Gateway WebSocket](#gateway-websocket) ·\n> [Remote config](#remote-config) ·\n> [API `BrokerService`](#api-brokerservice) ·\n> [⚠️ Gotcha e casi a rischio bug](#️-gotcha-e-casi-a-rischio-bug) ·\n> [Errori comuni](#errori-comuni)\n\n---\n\n## Architettura\n\nMonorepo NestJS (vedi `nest-cli.json`):\n\n| Progetto               | Tipo        | Descrizione                                    |\n| ---------------------- | ----------- | ---------------------------------------------- |\n| `libs/rlb-nestjs-amqp` | library     | La libreria vera e propria (il prodotto npm)   |\n| `apps/gateway`         | application | App di esempio/riferimento che usa la libreria |\n\n```\n┌─────────────────────────────────────────────────────────┐\n│  Client esterni (HTTP, WebSocket)                        │\n└───────────────┬─────────────────────────────────────────┘\n                │\n        ┌───────▼────────┐   modules/proxy  ── Gateway\n        │ HttpHandler    │   - registra route HTTP dinamiche\n        │ WebSocketSvc   │   - auth (jwt/jwks/basic/str-compare) + ACL/azioni\n        │ JwtService     │   - traduce HTTP/WS → messaggi broker\n        └───────┬────────┘\n                │\n        ┌───────▼────────┐   modules/broker  ── Astrazione AMQP\n        │ BrokerService  │   - rpc / handle / broadcast / event\n        │ MetadataScanner│   - decoratori @BrokerAction / @BrokerParam\n        │ HandlerRegistry│   - auto-discovery dei metodi via reflect-metadata\n        └───────┬────────┘\n                │\n        ┌───────▼────────┐   amqp-lib  ── Driver AMQP a basso livello\n        │ AmqpConnection │   - connessione gestita (riconnessione, canali)\n        │                │   - publish/consume, RPC con correlationId, Nack\n        └───────┬────────┘\n                │\n          ┌─────▼─────┐\n          │ RabbitMQ  │\n          └───────────┘\n```\n\n### I tre strati\n\n1. **`amqp-lib`** — driver a basso livello (`AmqpConnection`): connessione resiliente (`amqp-connection-manager`), canali gestiti, setup di exchange/queue/binding al boot, RPC con `correlationId` + *direct-reply-to*, consumer con gestione errori (`Nack` → ack/reject/requeue), graceful shutdown.\n2. **`modules/broker`** — astrazione di business: `BrokerService`, decoratori `@BrokerAction`/`@BrokerParam`, `MetadataScannerService` (auto-discovery dei metodi decorati e registrazione automatica dei consumer).\n3. **`modules/proxy`** — gateway HTTP/WebSocket: registrazione dinamica di route Express, auth pluggable, ACL/azioni, WebSocket sicuro e scalabile, forwarding webhook.\n\n### Flusso di una richiesta\n\n```\nHTTP/WS request → Gateway → (RPC | event) su RabbitMQ → microservizio (@BrokerAction)\n              → risposta (solo RPC) → HTTP/WS response\n```\n\n---\n\n## Quick start\n\n### 1. `AppModule`\n\n```ts\nimport { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { ConfigModule, ConfigService } from '@nestjs/config';\nimport { AppConfig, BrokerModule, BrokerTopic, GatewayConfig, ProxyModule } from '@open-rlb/nestjs-amqp';\nimport { RabbitMQConfig } from '@open-rlb/nestjs-amqp/amqp-lib/config/rabbitmq.config';\nimport { HandlerAuthConfig } from '@open-rlb/nestjs-amqp/modules/broker/config/handler-auth.config';\nimport yamlConfig from './config/config.loader';\n\n@Module({\n  imports: [\n    ConfigModule.forRoot({ isGlobal: true, load: [yamlConfig] }),\n    BrokerModule.forRootAsync({\n      imports: [ConfigModule],\n      inject: [ConfigService],\n      useFactory: async (config: ConfigService) => ({\n        options: config.get<RabbitMQConfig>('broker'),\n        topics: config.get<BrokerTopic[]>('topics'),\n        appOptions: config.get<AppConfig>('app'),\n      }),\n    }),\n    HttpModule,\n    // auth-providers + gateway config → ProxyModule (non più BrokerModule)\n    ProxyModule.forRootAsync({\n      imports: [ConfigModule],\n      inject: [ConfigService],\n      useFactory: (config: ConfigService) => ({\n        authOptions: config.get<HandlerAuthConfig[]>('auth-providers'),\n        gatewayOptions: config.get<GatewayConfig>('gateway'),\n      }),\n      providers: [\n        // { provide: RLB_GTW_ACL_ROLE_SERVICE, useExisting: AclService }, // solo se usi `actions`\n      ],\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n### 2. Bootstrap (`main.ts`)\n\n```ts\nimport { NestFactory } from '@nestjs/core';\nimport { WsAdapter } from '@nestjs/platform-ws';\nimport { AppModule } from './app.module';\n\nasync function bootstrap() {\n  // rawBody: true è OBBLIGATORIO se usi parseRaw nelle route del gateway\n  const app = await NestFactory.create(AppModule, { rawBody: true });\n  app.useWebSocketAdapter(new WsAdapter(app)); // solo se usi il gateway WebSocket\n  await app.listen(3000, '0.0.0.0');\n}\nbootstrap();\n```\n\n### 3. Config loader (`config/config.loader.ts`)\n\n```ts\nimport { readFileSync } from 'fs';\nimport * as yaml from 'js-yaml';\nimport { join } from 'path';\n\nconst YAML_CONFIG_FILENAME = 'config/config.yaml';\n\nexport default () =>\n  yaml.load(readFileSync(join(process.cwd(), YAML_CONFIG_FILENAME), 'utf8')) as Record<string, any>;\n```\n\n---\n\n## Configurazione completa\n\nIl file `config.yaml` ha cinque sezioni di primo livello: `app`, `broker`, `topics`, `auth-providers`, `gateway`.\n\n### `app`\n\n```yaml\napp:\n  port: 3000\n  host: 0.0.0.0\n  environment: development   # 'development' | 'production' (controlla il dettaglio degli errori esposti)\n```\n\n> In `production` gli errori restituiti dal gateway sono ridotti a `{ message, name }`; in `development` viene incluso lo stack/dettaglio. Vedi `UtilsService.error2Object`.\n\n### `broker`\n\n```yaml\nbroker:\n  name: rabbitmq\n  uri: \"amqp://user:pass@localhost:5672/vhost\"   # stringa o array di URI (failover)\n  prefetchCount: 10\n  defaultRpcTimeout: 10000                        # ms, default per requestData\n  defaultSubscribeErrorBehavior: ack              # ack | reject | requeue (comportamento di default sugli errori consumer)\n\n  connectionManagerOptions:                       # opzioni amqp-connection-manager\n    heartbeatIntervalInSeconds: 60\n    reconnectTimeInSeconds: 60\n    connectionOptions:\n      clientProperties:\n        connection_name: my-service               # OBBLIGATORIO per broadcast e per il gateway WebSocket\n      credentials:\n        mechanism: PLAIN                          # PLAIN | EXTERNAL | AMQPLAIN\n        username: guest\n        password: guest\n\n  exchanges:\n    - name: users-ex\n      type: direct                                # direct | topic | fanout | headers\n      createExchangeIfNotExists: true             # false → checkExchange (deve già esistere)\n      options: { durable: true }\n\n  queues:\n    - name: users-rpc-q\n      exchange: users-ex\n      routingKey: users.rpc                        # string | string[]; OBBLIGATORIO se exchange è di tipo `topic`\n      createQueueIfNotExists: true\n      options: { durable: true }\n\n  replyQueues:                                    # mappa exchange → reply queue per le risposte RPC\n    users-ex: users-reply-q                       # se omesso si usa la direct-reply-to di RabbitMQ\n```\n\n### `topics`\n\nUn topic mappa un nome logico (azione/microservizio) su un percorso AMQP. Il `mode` decide la semantica.\n\n| `mode`      | Quando usarlo                 | Campi richiesti                                    | Semantica                                |\n| ----------- | ----------------------------- | -------------------------------------------------- | ---------------------------------------- |\n| `rpc`       | request/response              | `name`, `queue` (o `exchange`+`routingKey`)        | risposta immediata + timeout             |\n| `handle`    | worker su una coda            | `name`, `queue`                                    | consumer di coda semplice                |\n| `broadcast` | un messaggio a molti consumer | `name`, `exchange`, `routingKey`                   | fanout/topic; richiede `connection_name` |\n| `event`     | publish senza risposta        | `name`, `queue` **oppure** `exchange`+`routingKey` | fire-and-forget                          |\n\n```yaml\ntopics:\n  - name: users-rpc\n    mode: rpc\n    queue: users-rpc-q          # deve esistere in broker.queues[]\n\n  - name: invoice-handle\n    mode: handle\n    queue: invoice-handle-q\n\n  - name: notify-broadcast\n    mode: broadcast\n    exchange: notify-ex\n    routingKey: notify.#\n\n  - name: audit-event\n    mode: event\n    exchange: audit-ex\n    routingKey: audit.created\n```\n\n> `toObservable: true` su un topic `handle` instrada i messaggi su `BrokerService.events$` (Observable RxJS) invece che a un handler registrato.\n\n### `auth-providers`\n\nProvider di autenticazione usati dalle route del gateway (`gateway.paths[].auth`) e dagli eventi WebSocket (`gateway.events[].auth`).\n\n```yaml\nauth-providers:\n  - name: gateway-jwks\n    type: jwks                                    # jwt | jwks | basic | str-compare | none\n    issuer: https://issuer.example.com/realms/main\n    jwksUri: https://issuer.example.com/certs\n    algorithms: [RS256]\n    httpsAllowUnauthorized: false                 # true SOLO per issuer self-signed in dev\n    jwtMap:                                        # claim del token → claim mappato (header-prefixed)\n      - sub:userId\n      - roles:roles\n    headerPrefix: X-GTW-AUTH-                      # prefisso degli header propagati ai microservizi\n    uidClaim: USERID                              # dest (uppercase) usato come user id per l'ACL\n    usernameClaim: USERNAME\n\n  - name: gateway-jwt\n    type: jwt\n    secret: your-jwt-secret\n    issuer: https://issuer.example.com/realms/main\n    audience: your-audience\n    algorithms: [HS256]\n    jwtMap: [sub:userId, roles:roles]\n    headerPrefix: X-GTW-AUTH-\n    uidClaim: USERID\n    usernameClaim: USERNAME\n\n  - name: gateway-basic\n    type: basic\n    clientId: my-user\n    clientSecret: my-pass\n    headerPrefix: X-GTW-AUTH-\n\n  - name: gateway-str\n    type: str-compare\n    secret: your-static-token\n    headerPrefix: Bearer                          # prefisso atteso nell'header Authorization\n```\n\nMapping dei claim: un token con `{ sub: \"u_1\", roles: [...] }` e `jwtMap: [sub:userId]`, `headerPrefix: X-GTW-AUTH-` produce l'header `X-GTW-AUTH-USERID = u_1` propagato al microservizio. Leggilo con `@BrokerParam('header', 'X-GTW-AUTH-USERID')`.\n\n> **Sicurezza dei provider**: `algorithms` è **obbligatorio** per `jwt`/`jwks` (se omesso la verifica è negata → previene l'algorithm-confusion); per `jwks` solo algoritmi asimmetrici (RS\\*/ES\\*/PS\\*), `HS*`/`none` rifiutati. `str-compare` senza `secret` e `basic` senza `clientSecret` fanno **pass-through** (richiesta considerata autenticata — provider di fatto aperto/disabilitato; usalo consapevolmente). Senza `jwtMap` **nessun claim viene inoltrato** (il token resta accettato, `success:true`): il gateway fa fail-safe invece di propagare l'intero payload. Definiscilo sempre per inoltrare gli header identità (es. `X-GTW-AUTH-USERID`).\n\n### `gateway`\n\n```yaml\ngateway:\n  mode: gateway\n  headerPrefix: X-GTW-                            # prefisso per gli header inoltrati (forwardHeaders)\n\n  ws:                                             # opzioni WebSocket — solo livello connessione\n    maxConnections: 5000\n    maxSubscriptionsPerClient: 50\n    heartbeatIntervalMs: 30000\n    # auth/roles/scope sono dichiarati PER-EVENTO (events[].auth/requireAuth/roles/...)\n\n  loadConfig:                                     # caricamento remoto di paths/events via RPC (opzionale)\n    paths: { topic: gtw.config, action: get-paths }\n    events: { topic: gtw.config, action: get-events }\n\n  paths:    [ ... ]                               # vedi \"Gateway HTTP\"\n  events:   [ ... ]                               # vedi \"Gateway WebSocket\"\n```\n\n---\n\n## Scrivere un microservizio (AMQP)\n\n### Handler con i decoratori\n\n```ts\nimport { Injectable } from '@nestjs/common';\nimport { BrokerAction, BrokerParam } from '@open-rlb/nestjs-amqp';\n\n@Injectable()\nexport class UsersActionService {\n  // @BrokerAction(topic, action, type?) — il `type` è documentativo: l'handler è\n  // SEMPRE raggiungibile sia in rpc sia in event (vedi \"Doppio comportamento\").\n  @BrokerAction('users-rpc', 'user.create', 'rpc')\n  async createUser(\n    @BrokerParam('body', 'email') email: string,\n    @BrokerParam('body', 'role') role: string,\n    @BrokerParam('header', 'X-GTW-AUTH-USERID') userId: string,\n  ) {\n    return { id: 'usr_1', email, role, createdBy: userId };\n  }\n}\n```\n\nRegistra il servizio come provider in un modulo NestJS qualunque: il `MetadataScannerService` lo scopre all'avvio e registra automaticamente il consumer per il topic.\n\n#### Sorgenti `@BrokerParam(source, name?)`\n\n| Source      | Valore iniettato                 |\n| ----------- | -------------------------------- |\n| `body`      | `payload[name ?? nomeParametro]` |\n| `body-full` | payload completo                 |\n| `header`    | `headers[name ?? nomeParametro]` |\n| `tag`       | consumer tag AMQP                |\n| `action`    | action del messaggio             |\n| `topic`     | topic corrente                   |\n\n> Se ometti `@BrokerParam` su un parametro, il default è `{ source: 'body' }` con chiave = nome del parametro.\n\n### Doppio comportamento RPC / event\n\nOgni `@BrokerAction` è eseguibile **sia in RPC sia in event**, senza modifiche al servizio. Cambia solo cosa attende il chiamante.\n\n| Modalità | Come si invoca                                    | Cosa si attende                                             |\n| -------- | ------------------------------------------------- | ----------------------------------------------------------- |\n| `rpc`    | `broker.requestData(...)` / path `mode: rpc`      | la **risposta** del metodo (request/response)               |\n| `event`  | `broker.publishMessage(...)` / path `mode: event` | solo che il **broker prenda in carico** (publisher confirm) |\n\n`publishMessage` è `async` e si risolve solo al publisher confirm (rigetta su nack/errore). Sul gateway, una path `mode: event` risponde `202` **dopo** il confirm e `503` se il broker non accetta.\n\n```yaml\n# Lo stesso topic/action esposto nei due modi\ngateway:\n  paths:\n    - { name: users-create-sync,  method: POST, path: /users,       topic: users-rpc, action: user.create, mode: rpc }\n    - { name: users-create-async, method: POST, path: /users/async, topic: users-rpc, action: user.create, mode: event }\n```\n\n### Consumer manuali (senza decoratori)\n\n```ts\n// RPC\nawait broker.registerRpc<{ id: string }, { ok: boolean }>('health-rpc', async (event) => {\n  return { ok: !!event.payload?.id };\n});\n\n// handle / broadcast (gli handler devono restituire void)\nawait broker.registerHandler<{ invoiceId: string }>('invoice-handle', async (event) => {\n  console.log(event.payload.invoiceId);\n});\n```\n\n### Pubblicare / chiamare da codice\n\n```ts\n@Injectable()\nexport class UsersClient {\n  constructor(private readonly broker: BrokerService) {}\n\n  // RPC: attende la risposta\n  createUserRpc() {\n    return this.broker.requestData('users-rpc', 'user.create',\n      { email: 'a@b.c', role: 'admin' }, { 'X-Tenant': 'acme' }, 5000);\n  }\n\n  // Event: attende solo che il broker prenda in carico\n  async emitAudit() {\n    await this.broker.publishMessage('audit-event', 'audit.created', { entity: 'user', id: 'u_1' });\n  }\n}\n```\n\n---\n\n## Gateway HTTP\n\nLe route sono dichiarate in `gateway.paths[]` e registrate dinamicamente su Express al boot.\n\n```yaml\ngateway:\n  paths:\n    - name: users-create\n      method: POST                 # GET | POST | PUT | DELETE | PATCH\n      path: /users/:tenant?        # supporta route param Express\n      dataSource: body             # body | query | params | body-query | query-body\n      topic: users-rpc\n      action: user.create\n      mode: rpc                    # rpc | event\n      timeout: 7000                # solo rpc\n      auth: gateway-jwks           # nome di un auth-provider\n      allowAnonymous: false        # true → consente l'accesso anche senza auth valida\n      roles: [users.create]        # richiede un IAclRoleService registrato\n      successStatusCode: 201\n      binary: false                # true → risposta come Buffer base64-decoded\n      redirect: 302                # se valorizzato, redirect alla URL contenuta nella risposta\n      headers: { Cache-Control: no-store }   # header statici sulla risposta\n      forwardHeaders: { Tenant: x-tenant }   # header della richiesta da inoltrare al microservizio\n      parseRaw: false              # true → inoltra il body raw come $raw (richiede rawBody:true nel bootstrap)\n```\n\n#### Composizione del payload (`dataSource`)\n\n| Valore       | Payload inviato al broker        |\n| ------------ | -------------------------------- |\n| `body`       | `{...params, ...body}`           |\n| `query`      | `{...params, ...query}`          |\n| `params`     | `params`                         |\n| `body-query` | `{...params, ...query, ...body}` |\n| `query-body` | `{...params, ...body, ...query}` |\n\n> I route param (`req.params`) vengono **ri-applicati per ultimi** su `data`: a parità di chiave vincono sempre sul body/query. Gli upload multipart finiscono in `$files`; il body raw (se `parseRaw`) in `$raw`.\n\n#### Mappatura errori → status HTTP\n\nIl `name` dell'errore lanciato dal microservizio determina lo status: `BadRequestError`/`InvalidParamsErrror` → 400, `UnauthorizedError` → 401, `ForbiddenError` → 403, `NotFoundError` → 404, altrimenti → 500. In `mode: event` un confirm fallito → 503.\n\n---\n\n## Gateway WebSocket\n\nIl gateway WebSocket inoltra eventi del broker ai client connessi (o a webhook HTTP), con autenticazione, autorizzazione per evento e funzionamento corretto in **multi-istanza** (fan-out).\n\n### Configurazione\n\n```yaml\ngateway:\n  ws:                                # solo livello connessione\n    maxConnections: 5000             # limite connessioni per istanza\n    maxSubscriptionsPerClient: 50    # limite sottoscrizioni per client\n    heartbeatIntervalMs: 30000       # ping/pong per chiudere le connessioni morte\n    allowedOrigins:                  # allowlist Origin dell'handshake (omessa → tutte)\n      - https://app.example.com\n    maxMessageBytes: 16384           # scarta i frame client più grandi (default 16KB)\n\n  events:\n    - name: orders\n      type: ws                       # ws | http (webhook)\n      exchange: orders-ex\n      routingKey: orders.#\n      auth: gateway-jwks             # provider che verifica il token e mappa i claim PER QUESTO evento\n      requireAuth: true              # default true quando `auth` è impostato; false → auth opzionale\n      roles: [orders.read]           # verifica ACL via IAclRoleService\n      scopeClaim: X-GTW-AUTH-USERID  # inoltra solo i messaggi dell'utente...\n      payloadKey: userId             # ...dove payload.userId === claim dell'utente\n\n    - name: invoices                 # forwarding webhook\n      type: http\n      exchange: inv-ex\n      routingKey: inv.#\n      url: https://hooks.example.com/invoices\n      method: POST\n      timeout: 8000\n```\n\n### Autenticazione (token nel subprotocol)\n\nI browser non possono impostare header custom sull'handshake, quindi il token JWT viaggia nel **subprotocol** (`Sec-WebSocket-Protocol`):\n\n```js\nconst ws = new WebSocket('ws://localhost:3000', [token]); // oppure ['bearer', token]\n```\n\nIl token viene conservato sulla connessione e **verificato al momento del `subscribe` con il provider dichiarato dall'evento** (`events[].auth`), che ne mappa anche i claim. La verifica è memoizzata per provider: lo stesso token è verificato al più una volta per provider. Eventi diversi possono usare provider diversi.\n\n### Protocollo client\n\n```js\nws.send(JSON.stringify({ action: 'subscribe',   topic: 'orders', select: { status: 'open' } }));\nws.send(JSON.stringify({ action: 'unsubscribe', topic: 'orders' }));\n// messaggi in arrivo: { topic: 'onOrders', data: <payload> }\n// errori:            { topic: 'onError',  data: { event, error } }\n```\n\n### Sicurezza e scalabilità\n\n- **Auth per evento**: `events[].auth` indica il provider che verifica il token e mappa i claim per quell'evento; `requireAuth: false` rende l'auth opzionale (anonimi ammessi, claim mappati se il token c'è). Subscribe negato (`onError: unauthorized`) se l'auth è richiesta e il token non è valido.\n- **auth per evento**: `roles` (ACL via `IAclRoleService`) sull'identità ricavata da `auth`.\n- **Scoping per-utente**: `scopeClaim` + `payloadKey` impediscono a un client di ricevere dati altrui tramite un `select` arbitrario (il filtro server-side è intersecato con quello del client, mai allargato). Se `scopeClaim` è impostato senza `payloadKey`, **nega tutto** (safe default).\n- **Sessione limitata dalla scadenza del token**: l'`exp` del JWT viene catturato alla prima verifica e la connessione viene chiusa (`1008 token expired`) appena scade — niente consegne dopo la scadenza.\n- **Origin allowlist**: `gateway.ws.allowedOrigins` rifiuta gli handshake cross-site (se omessa, tutte le origin sono accettate e lo si segnala a boot).\n- **Multi-istanza**: ogni istanza crea una coda AMQP **effimera ed esclusiva** (nome unico per processo) → tutte le repliche ricevono ogni evento e lo inoltrano ai rispettivi client.\n- **Hardening**: heartbeat ping/pong, limiti connessioni/sottoscrizioni, limite dimensione frame (`maxMessageBytes`), cleanup robusto su `close`/`error`.\n\n---\n\n## Remote config\n\n`RemoteConfigService` permette ai microservizi di **registrare le proprie route nel gateway a runtime**, pubblicando le loro `PathDefinition` su un exchange fanout `config.ms`. Il gateway le riceve e chiama `HttpHandlerService.registerPath()` dinamicamente. In alternativa, `gateway.loadConfig` carica paths/events tramite una singola chiamata RPC all'avvio.\n\n---\n\n## Moduli opzionali `AclModule` e `GatewayAdminModule` (persistenza fornita dal consumer)\n\nDue moduli **opzionali** per gestire ACL e configurazione gateway a database. **La lib non dipende da Mongo/Redis**: definisce i servizi/cache + i **contratti repository (classi astratte)** e l'interfaccia `AclCacheStore`; **il consumer fornisce le implementazioni** (es. Mongo + Redis). Esempio completo e funzionante: **[`sample/config-sample/gateway-in-memory`](sample/config-sample/gateway-in-memory)** — per restare autonomo usa **repository in-RAM** (`InMemory*Repository`) e una **cache L2 in-RAM** (`InMemoryAclStore`), così gira solo con RabbitMQ; in produzione si rimpiazzano con implementazioni Mongo/Redis senza toccare la lib.\n\n### `AclModule` — ACL DB-backed con cache 2-livelli\n\nACL (azioni → ruoli → grant per-utente) con un'unica primitiva `checkAction` (action-based, match **esatto** su `(companyId, resourceId)`, niente wildcard) e **cache RAM + L2 pluggable** (TTL diversi) e invalidazione che forza il DB.\n\n```ts\nimport { AclModule, AclService, AclActionRepository, AclRoleRepository, AclGrantRepository,\n         RLB_ACL_CACHE_STORE, RLB_GTW_ACL_ROLE_SERVICE } from '@open-rlb/nestjs-amqp';\n\n@Module({\n  imports: [\n    BrokerModule.forRootAsync({ /* ... */ }),\n    // ProxyModule riceve auth/gateway config e usa AclService come IAclRoleService (AclModule è @Global):\n    ProxyModule.forRootAsync({\n      imports: [ConfigModule],\n      inject: [ConfigService],\n      useFactory: (config: ConfigService) => ({\n        authOptions: config.get<HandlerAuthConfig[]>('auth-providers'),\n        gatewayOptions: config.get<GatewayConfig>('gateway'),\n      }),\n      providers: [{ provide: RLB_GTW_ACL_ROLE_SERVICE, useExisting: AclService }],\n    }),\n    AclModule.forRoot(\n      [\n        ...aclMongoModelProviders,                                   // provider dei model Mongoose\n        { provide: AclActionRepository, useClass: MongoAclActionRepository },\n        { provide: AclRoleRepository,   useClass: MongoAclRoleRepository },\n        { provide: AclGrantRepository,  useClass: MongoAclGrantRepository },\n        InMemoryAclStore,                                            // implementa AclCacheStore\n        { provide: RLB_ACL_CACHE_STORE, useExisting: InMemoryAclStore },// L2 opzionale (omesso → solo RAM)\n      ],\n      { cache: { ramTtlMs: 30000, l2TtlSec: 600 } },\n    ),\n  ],\n})\nexport class AppModule {}\n```\n\n- I handler sono esposti su `BrokerService` con topic **`rlb-acl`** (costante `ACL_TOPIC`): `acl-check-action` (rpc), `acl-grant`/`acl-revoke`, `acl-list-resources-by-user`, `acl-action-*`, `acl-role-*`. Definisci nel tuo `broker.topics` un topic `rlb-acl`. (Il check del gateway è in-process via `IAclRoleService`, quindi gli auth-provider non richiedono più `aclTopic`/`aclAction`.)\n- **Verifica unica action-based** (servita dalla cache 2-tier, miss → DB → ripopola): `checkAction(userId, { companyId?, resourceId? }, action)` — vero se l'utente ha l'`action` (`string | string[]`, semantica OR) tramite un qualsiasi ruolo, su quella **esatta** coppia `(companyId, resourceId)`. Match: `grant.companyId === companyId && grant.resourceId === resourceId` (undefined/null/'' = assenti); unica deroga: entrambi assenti su richiesta **e** grant (grant globale). **Niente wildcard**; `companyId` è parte della decisione. Il gateway la usa in-process via `IAclRoleService.checkAction` su `path.actions`; è esposta anche come RPC `acl-check-action` (`{ userId, action, companyId?, resourceId? }`) per gli altri ms.\n- **grant/revoke sono gated**: il chiamante (header `X-GTW-AUTH-USERID`) deve avere l'azione `role-management` sulla risorsa target `(companyId, resourceId)`, altrimenti `403`. Il record grant è univoco per `(userId, companyId, resourceId)`; il primo `role-management` si fa **seed diretto a DB** (nessun bypass nella lib; azione del gate configurabile con `AclModuleOptions.roleManagementAction`).\n- **Invalidazione**: ogni mutazione (grant/role/action) svuota L1 e L2 → la prossima verifica pesca dal DB. Senza L2, la coerenza multi-istanza è limitata dal `ramTtlMs`.\n- **Cache L2 pluggable**: il consumer fornisce `{ provide: RLB_ACL_CACHE_STORE, useClass/useExisting }` che implementa `AclCacheStore` (`get/set/del/keys`). In `gateway-in-memory` è `InMemoryAclStore` (mock in RAM, nessuna dipendenza esterna); in produzione plugga uno store condiviso (es. Redis).\n\n### `GatewayAdminModule` — CRUD rotte/auth + liste + metriche\n\nCRUD di rotte HTTP e auth-providers (repo forniti dal consumer), con **liste esportabili** per il gateway (in aggiunta allo YAML), **metriche a contatori** e **ordinamento path static-before-param**.\n\n```ts\nimport { GatewayAdminModule, HttpPathRepository, AuthProviderRepository, HttpMetricRepository } from '@open-rlb/nestjs-amqp';\n\nGatewayAdminModule.forRoot([\n  ...gatewayAdminMongoModelProviders,\n  { provide: HttpPathRepository,     useClass: MongoHttpPathRepository },\n  { provide: AuthProviderRepository, useClass: MongoAuthProviderRepository },\n  { provide: HttpMetricRepository,   useClass: MongoHttpMetricRepository },\n]);\n```\n\nHandler su topic **`rlb-gateway-admin`** (`GATEWAY_ADMIN_TOPIC`):\n- CRUD rotte: `gw-path-create/update/delete/get/list`; **`gw-path-export` (rpc)** → tutte le rotte abilitate come `PathDefinition[]` **ordinate** (statiche prima delle parametriche). Punta `gateway.loadConfig.paths` a `{ topic: rlb-gateway-admin, action: gw-path-export }`.\n- CRUD auth: `gw-auth-create/.../list`; **`gw-auth-export` (rpc)** → `HandlerAuthConfig[]` abilitati (per frontend / merge lato gateway).\n- Metriche: **`gw-metrics-track` (event)** incrementa i contatori per `(method, route)`; **`gw-metrics-get` (rpc)** restituisce count/errori/durata media per il frontend.\n\n> **Ordinamento path**: `gw-path-export` usa `orderPaths()` così `resources/path` precede `resources/:varName` — necessario perché Express, registrando prima la rotta parametrica, intercetterebbe il segmento statico.\n\n---\n\n## API `BrokerService`\n\n| Metodo                                                                  | Uso                                              |\n| ----------------------------------------------------------------------- | ------------------------------------------------ |\n| `requestData(topic, action, payload?, headers?, timeout?)`              | RPC request/response (attende la risposta)       |\n| `publishMessage(topic, action, payload, headers?)` → `Promise<boolean>` | event fire-and-forget con publisher confirm      |\n| `registerRpc(topic, handler)`                                           | consumer RPC manuale                             |\n| `registerHandler(topic, handler)`                                       | consumer `handle` / `broadcast` (ritorna void)   |\n| `getRpc(topic)` / `getHandler(topic)`                                   | recupera l'handler registrato                    |\n| `events$` / `getEvents$<T>()`                                           | Observable degli eventi dei topic `toObservable` |\n\n### Decoratori\n\n| Decoratore                                                    | Uso                                    |\n| ------------------------------------------------------------- | -------------------------------------- |\n| `@BrokerAction(topic, action, type?)`                         | lega un metodo a topic/action          |\n| `@BrokerParam(source, name?)`                                 | mappa i parametri dai dati messaggio   |\n| `@BrokerAuth(authName, allowAnonymous?, roles?)`              | metadati di auth (usati dallo scanner) |\n| `@BrokerHTTP(method, path, dataSource?, timeout?, parseRaw?)` | metadati HTTP (usati dallo scanner)    |\n\n### Pipe utility\n\n`BooleanPipe` e `NumberPipe` convertono valori stringa/numerici (es. da query string). Esportate da `@open-rlb/nestjs-amqp`.\n\n---\n\n## ⚠️ Gotcha e casi a rischio bug\n\nQuesti sono i punti che causano più frequentemente bug silenziosi. **Leggili prima di estendere la lib.**\n\n### Decoratori e handler\n\n1. **Niente destructuring nei parametri dell'handler.** `@BrokerParam` associa i parametri leggendo il *source* della funzione con una regex (`getParamNames`). Una firma come `fn({ a, b })` rompe l'allineamento degli indici. Usa parametri semplici.\n2. **Evita i valori di default nei parametri.** C'è uno strip basilare (`removeDefaultsFromParams`), ma default complessi (oggetti, chiamate) disallineano la mappatura. Passa sempre un `name` esplicito a `@BrokerParam`.\n3. **`(topic, action)` deve essere unico.** Tutti gli `@BrokerAction` dello stesso topic condividono **una sola coda/consumer** e vengono smistati per `action`. Due metodi con lo stesso `(topic, action)` → il secondo sovrascrive il primo in silenzio.\n\n### Wiring topic ↔ queue ↔ exchange\n\n4. **Il `name` del topic deve coincidere ovunque**: `@BrokerAction(topic)`, `topics[].name`, `requestData/publishMessage(topic)`, `gateway.paths[].topic`/`events[]`. Un typo → `Topic X not found in configuration`.\n5. **`mode: rpc`/`handle` richiedono che `topics[].queue` esista in `broker.queues[]`**, e che il `queue.exchange` esista in `broker.exchanges[]`. In `handle` un queue mancante causa un NPE all'avvio (`queue.exchange`).\n6. **Exchange `type: topic` → il queue DEVE avere `routingKey`**, altrimenti l'avvio lancia `Queue ... has no routing key`.\n7. **`mode: broadcast` e gateway WebSocket richiedono `connection_name`** (`clientProperties.connection_name`), altrimenti throw.\n\n### RPC / timeout / errori\n\n8. **Reply RPC**: `requestData` risolve `replyTo` da `broker.replyQueues[exchange]`; se assente usa la direct-reply-to di RabbitMQ. Un `replyQueues` con la chiave exchange sbagliata → nessuna risposta → timeout.\n9. **Le eccezioni dell'handler RPC NON propagano come throw lato consumer**: vengono restituite come `{ success: false, error }` e `requestData` rilancia l'errore al chiamante. Sul gateway lo status dipende dal `error.name` (vedi tabella). Dai agli errori un `name` coerente.\n10. **Timeout di default 10s** (o `broker.defaultRpcTimeout`). Per RPC lente imposta `timeout` sulla path o sull'argomento di `requestData`.\n\n### Gateway HTTP\n\n11. **`parseRaw: true` richiede `NestFactory.create(AppModule, { rawBody: true })`**, altrimenti `$raw` è `undefined`.\n12. **I route param vincono sul body/query** (ri-applicati per ultimi). Attento alle collisioni di chiave (`:id` vs `body.id`).\n13. **Gli upload sono in `$files`** (multer `.any()`); i buffer vengono convertiti in stringa binaria — rigestiscili con cura lato consumer.\n\n### Auth / ACL\n\n14. **`actions` su una path richiede un `IAclRoleService`** registrato via `RLB_GTW_ACL_ROLE_SERVICE` in `ProxyModule.forRootAsync({ providers: [...] })`. Il check del gateway è **action-based**: `path.actions` elenca **nomi di azione** e l'utente passa se ne possiede **almeno una** sulla **esatta** coppia `(companyId, resourceId)` della richiesta (`checkAction(userId, ctx, path.actions)`). Il gateway estrae i campi canonici `companyId`/`resourceId` dal payload che inoltra al microservizio (costruito secondo `dataSource`, i parametri del path vincono) e li confronta in modo esatto: un id passato in una sorgente che la route non inoltra (es. in query su una route `dataSource: body`) viene ignorato. I nomi dei due campi si possono rinominare per tutte le route con `gateway.aclContext` (es. `{ resourceId: entityId }`): il payload non viene riscritto e i grant mantengono `companyId`/`resourceId`. L'auth-provider deve definire `uidClaim` (per estrarre lo userId) + `headerPrefix`. Nota: `authOptions`/`gatewayOptions` si passano a `ProxyModule`, non a `BrokerModule`.\n15. **Gli header propagati sono uppercase e prefissati** (`${headerPrefix}${DEST}`): leggi `X-GTW-AUTH-USERID`, non `userId`.\n\n### WebSocket\n\n16. **`scopeClaim` referenzia il claim MAPPATO** (con `headerPrefix`, es. `X-GTW-AUTH-USERID`), non il claim grezzo del token. `payloadKey` è la chiave nel payload dell'evento. Senza `payloadKey`, lo scope nega tutto.\n17. **Non usare code durevoli condivise per gli eventi WS**: la lib crea una coda esclusiva per istanza apposta per il fan-out. Una coda fissa farebbe competere le istanze (i client di un'istanza perderebbero messaggi).\n\n### Publish / event\n\n18. **`publishMessage` è `async`: devi fare `await`** per ottenere la garanzia di publisher confirm e per intercettare i fallimenti. Senza `await` è fire-and-forget senza garanzia.\n19. **Gli handler `handle`/`broadcast` devono restituire `void`**: un valore di ritorno genera un warning (`Subscribe handlers should only return void`).\n\n### TLS / credenziali\n\n20. **JWKS verifica il TLS di default.** Usa `httpsAllowUnauthorized: true` su un provider solo per issuer self-signed in sviluppo.\n21. **`mechanism` credenziali**: `PLAIN` | `EXTERNAL` | `AMQPLAIN` (case-insensitive). Un valore sconosciuto non imposta la `response` → autenticazione fallita.\n\n---\n\n## Errori comuni\n\n- `Topic <name> not found in configuration`: controlla `topics[].name`, `@BrokerAction`, `requestData`/`publishMessage`, `gateway.paths[].topic`.\n- `Queue <name> not found in configuration`: verifica che `topics[].queue` esista in `broker.queues[]`.\n- `Queue <name> has no routing key`: l'exchange è di tipo `topic` ma il queue non ha `routingKey`.\n- `Client name is required ...`: manca `connection_name` (richiesto da broadcast e WebSocket).\n- `ACL Role Service not found`: stai usando `roles` senza aver registrato `RLB_GTW_ACL_ROLE_SERVICE`.\n- `401/403` dal gateway: controlla `auth`, `auth-providers[]`, e l'ACL service quando usi `actions`.\n- Timeout RPC: `replyQueues` errato, `action` non gestita da alcun servizio, o handler troppo lento (`timeout`).\n\n---\n\n## Sviluppo\n\n```bash\nnpm run build        # compila (tsc)\nnpm test             # jest\nnpm run start:dev    # nest start --watch (app gateway di esempio)\n```\n\nLicenza: MIT.\n","readmeFilename":"README.md"}