{"_id":"@cleancode-id/nestjs-sequelize-auditor","_rev":"15-75b90db736a15684b5bb47aff0267666","name":"@cleancode-id/nestjs-sequelize-auditor","dist-tags":{"latest":"4.1.0"},"versions":{"1.0.0":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"1.0.0","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@1.0.0","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"8e8cfc05e92575f14edba72095117fa482fc739a","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-1.0.0.tgz","fileCount":9,"integrity":"sha512-pcukjf6+lsvN6DXdXa4P3PdqwkdSBMA0uegdf4Id+3v3qKb0s/F1rt/WREGqAV5B4BNZt7F8Pikctgq/xz1CAg==","signatures":[{"sig":"MEYCIQC/F4E09iVN1Yuuv6F3yakHmNsfGL8Jrgzwazcr7Xi6DAIhAN1AksUfKEfz8Cgk4Y/EpoVE0oPrf2eCs/rhtbFatp2M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2549569},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7e56f331d4b95e3aca7988fe91221c724e7b48a9","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_1.0.0_1755202668015_0.6088964531046002","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"1.0.1","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@1.0.1","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"62f0a5a49d7d93f2bb4c2f209429a8083d59f177","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-1.0.1.tgz","fileCount":9,"integrity":"sha512-ZQ6H694+EYzQf0FIN0N1HSMumpa6AonXeGgiIoeEmj2n1NA8t5tIZ/5LoHY/HkDQhJp93HBWrG98/uJ2Vawv+g==","signatures":[{"sig":"MEQCIFAbB1swf/Q88UuCXMGCqjo/jaJazeY1Vi3114+f6JPkAiBlPDeqnCkGHnnNngY83DuqsjTkl51SwX6v1hBpx1vLRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2556436},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7e7cc365007d1e8a4c72fa440211125673ad5515","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_1.0.1_1755236015533_0.6203624914186194","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"1.0.2","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@1.0.2","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"3980584fdca78226a677c5fad113cd2f6a449a8e","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-1.0.2.tgz","fileCount":9,"integrity":"sha512-P5hHSVdCxX19sEEuuDKQgEnM9QdjqxWBakKLDYPJNci939v3fYkx0jpPLm1/umPapQBhM3W+iVwJzkKv3lDg1g==","signatures":[{"sig":"MEYCIQCEmXp+gLyfnr8EEXfB/N+ZNH32lfJhhgIkuW/pmDVjEAIhAJ7QT3VAqP7ZZca2xumRnESsBkJsDiDCK98o4dcvzsTH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2567595},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b5714de8c31db5cfd5899cbc5de86867d2bbe4c1","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_1.0.2_1755332307778_0.626740878353252","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"1.1.0","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@1.1.0","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"2857fc1d279b2f6a3e9723cdb045ad81b95edc98","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-1.1.0.tgz","fileCount":9,"integrity":"sha512-Sy38LFmWQ/zqn2XXigBnEXcY+lLU3E7RtypX6ZjILshucx2u+25CsQsnUkxb6nEDkKOsxlJJ1HS3RzJ0NoMSYQ==","signatures":[{"sig":"MEQCIAMQ1WD4aHmTVudAx/UcGiq7Ti/dnmudKn7ZOGOfrOz0AiBki3NpPvUZsaH4bqyhVmvMERQ37fyB7DSZKs/jwboGdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2578993},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ce7b6e6c3a2b582c5aabf497301b1af8511f0b42","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_1.1.0_1755363796391_0.619788735471704","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"1.1.1","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@1.1.1","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"e5e29934ca937f4e21f56a7400009eaa01543c83","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-1.1.1.tgz","fileCount":9,"integrity":"sha512-UBQYXoZAdkQBJ4RakdXX3OtH4XT+fZB3Em5OBtnxs5yID5Stual0e794XcyPwHqqFEfUeDQ6pA0kmCgJgeVaJg==","signatures":[{"sig":"MEQCIBuGSAOZv9mP2yW9q1v0yKWC1ohy1H3FFdDfdj+qcBagAiBbzCmcu0JUoVM6SYe5c1PnT8n3QPb34CuBhrJF57ggmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2579276},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"758b4bc4405a72b6a896bc2e3c3ea07ea3afc17d","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_1.1.1_1755402561327_0.12560525700056457","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"1.2.0","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@1.2.0","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"0c25c0336b91da7b9e6c2024ae9711f1ada0cbbc","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-1.2.0.tgz","fileCount":9,"integrity":"sha512-GqZ0MtGB/qXTvXoZVB3ybjYONQolQ85VvcDRr6Cn2Egvs8PWkI+XUHZrYMQaw6rW56N4YHNh2J53DYEqL3nifQ==","signatures":[{"sig":"MEYCIQDA0CiwDS5ymEOb37/dJW4H97UOAl6Kh9dNsu28tVSAIwIhAO/GKU/gdyLYXHza1BvElrjSavYju+qmbkJhrZAnNrvI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2585823},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3982ac50124e1b534e609d387aa39ef588dc3f4c","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_1.2.0_1755588700106_0.9398940209838966","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"1.2.1","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@1.2.1","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"7d64d7f3fee7e7b9f626f3cb2bcd0356b009388b","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-1.2.1.tgz","fileCount":9,"integrity":"sha512-QSLrwkCN0QfU0CWSo6pgUzQyqFtzi49vF+RIuQVubBQySzYLtVCfAOr+q+hQgRReVOiXD7lnod5LZN4xLzoNEQ==","signatures":[{"sig":"MEYCIQD604EW+CHiKNaXH4cds0MjgNQGgFwFqRCza4WSZdnZpgIhANiIYJF/qI0kpQC0F9YixRpsgV11Uab1+1ZuAO44RqmB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2590851},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3982ac50124e1b534e609d387aa39ef588dc3f4c","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_1.2.1_1755589865198_0.8209851872334069","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"2.0.0","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@2.0.0","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"42510c525995f04b7b57dee21b51231f8b06ea5c","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-2.0.0.tgz","fileCount":9,"integrity":"sha512-W6irPyIo55w9SQSL3+NeZOYoeYOk1mFs4bb6JHQvOy1Ma4J5CEivQy29cbwgSf+ceNSZVvqL0e9cdORnDdu8jw==","signatures":[{"sig":"MEQCIGgwrwWnm4nq+Zl23fMa2+p5Y+At3Pt15tpJuf/B6NypAiB3b2rok44t2OYL++frFrs9B0EnYa01c01PIpBUca+3ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2635199},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"80b419cbc65c9229f548c84c68c89a2fab056631","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_2.0.0_1755669397599_0.6793360845888725","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"3.0.0","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@3.0.0","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"250b0a20c1f1a57306ee13dae23d09842765986e","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-3.0.0.tgz","fileCount":9,"integrity":"sha512-hA4IYdArtpEuSvW69AtWqf0W6OIISTyz/kEouyMTxc3J/e+IvblSUrXCNR+q7PSLG/K94Fbn3WaCcfr6sCcVSw==","signatures":[{"sig":"MEUCIAa8xDJqG0o6nkbwP94JCEp5e9w+bC4c4ZoojupaYD+LAiEAltiMfVGvk9W1QyW8JavnRnxPPM2GePQ2bUC1yjCiYQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2718051},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"af1ca99c9c011e29fdb0ac99165f187b245667f9","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_3.0.0_1755754831667_0.4708720760960612","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"3.0.1","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@3.0.1","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"a3d16935216d1db33d782baecb552e4e266a93ed","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-3.0.1.tgz","fileCount":9,"integrity":"sha512-ffln1hwl1CHGQrhkhL3kMrrWdZ95p0Z90VZuyZbMV5QM8DMzAhELTcbCaJ/N5ZE8VfVObURm2cvu1g9k8BUY/g==","signatures":[{"sig":"MEYCIQCNkjU5YQygd6XoS+rE8C5nF87NpVeY3DzC5WwWs9NbuAIhAMVD0iuaIoIP704twRl9lZTOfvPI1dagvAfBNCNbfKlS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2718200},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2a4ab5ade1e62a7ff1a8ee78d5916ae2acae8926","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_3.0.1_1756302512444_0.5385236891175464","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"3.0.2","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@3.0.2","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"b120d8287c370f37ecf2ecbdcff9cc36ffad59e9","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-3.0.2.tgz","fileCount":9,"integrity":"sha512-zCPKaN+KQKDb1KazU3kO/rCAKhR656s5prnc20JX3eqTdeG8aowSaAtQmeJnGY5zppFoAPaiOl21Rdns7uuGOA==","signatures":[{"sig":"MEUCIBoTISMKUQ14a62G8Guv29eN0ADaTFx89622Xwgb9WWFAiEAuV5k68Ig7LaSamIjeJhltb6ASemSHQIwquleq2eM7b4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2718216},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2a4ab5ade1e62a7ff1a8ee78d5916ae2acae8926","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_3.0.2_1756303029806_0.8145836869202217","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"3.0.3","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@3.0.3","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"7de2675fae91176addd67b46904a020a6505182e","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-3.0.3.tgz","fileCount":9,"integrity":"sha512-YsctFSpbeueRqlWAbEzS8TwPrS58sJzM/HymHrr55BmYuCm2cxAwO2SBh/q9Vts5l57682cc2I8o+rgkiaqCdw==","signatures":[{"sig":"MEYCIQDfyWmWcX3nqnhniIEqLm/Ct02ELO/W7nxaVB92csA9GAIhAMqg2yPz/mlidUPhioggzl6Y13ydMaxJeAOHDPwtg//i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2719598},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"120491d136bed9515c2bc1993e9877de06eb020c","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_3.0.3_1756314905799_0.08286838187551804","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"3.1.0","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@3.1.0","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"c1f194075d7db4c3526a4eaf6b206150b6284abb","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-3.1.0.tgz","fileCount":9,"integrity":"sha512-y3A6lJsxYnpfL9uPWbhb21WgUMrkoZJdsAMD8D18x0CS9BNDbFuZdk5bU2aBvek7FX8mdpnADwCfM+m5isiX4g==","signatures":[{"sig":"MEYCIQDUCCg6tKXH+E8WhVuZgHXeN/KRnaF4twlMIymdscLGogIhALlOdGDZpL9ek7DH4+DY1m+GO8c0snO6tjLulnKJ7tz2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2727520},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d930d148c789c8e35ce78206a991914ebeb88f2f","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_3.1.0_1756316388410_0.7626622295359557","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"4.0.0","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","_id":"@cleancode-id/nestjs-sequelize-auditor@4.0.0","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"dist":{"shasum":"2e95ebaf62ba26ae1f61fcb7448aa5728325e476","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-4.0.0.tgz","fileCount":9,"integrity":"sha512-fUhjuctmkoMqQHlOyXwYfb1HpvpFy4cNjqZHOk79k7rm+8VT34BfTv9nSYqi/4IzjXnBXsw5lp+UVGRUx/aQOg==","signatures":[{"sig":"MEUCIQCFwYg7/tMWhMLZktKGtGdjlxnQM5E7jxzD69HSy12GCgIgbUYidWqlqS3aSrdoPraeXiJHhn5GMq+tt3pp6RA1Shs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2722638},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d930d148c789c8e35ce78206a991914ebeb88f2f","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint .","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","format":"prettier -w .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"repository":{"url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git","type":"git"},"_npmVersion":"11.4.2","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","ts-node":"^10.9.2","prettier":"^3.6.2","sequelize":"^6.37.7","typescript":"^5.9.2","@types/node":"^24.2.1","@nestjs/core":"^11.1.6","@nestjs/common":"^11.1.6","sequelize-typescript":"^2.1.6","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"peerDependencies":{"sequelize":"^6.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0","sequelize-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-sequelize-auditor_4.0.0_1756349065191_0.19579326934091323","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@cleancode-id/nestjs-sequelize-auditor","version":"4.1.0","description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","type":"module","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts","typecheck":"tsc --noEmit","lint":"eslint .","format":"prettier -w .","test":"vitest","dev":"tsup src/index.ts --format cjs,esm --dts --watch","prepublishOnly":"npm run build"},"keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"author":{"name":"Clean Code Indonesia"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git"},"bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","peerDependencies":{"@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/core":"^10.0.0 || ^11.0.0","sequelize":"^6.0.0","sequelize-typescript":"^2.0.0"},"devDependencies":{"@nestjs/common":"^11.1.6","@nestjs/core":"^11.1.6","@types/node":"^24.2.1","@typescript-eslint/eslint-plugin":"^8.39.1","@typescript-eslint/parser":"^8.39.1","eslint":"^9.33.0","eslint-config-prettier":"^10.1.8","prettier":"^3.6.2","sequelize":"^6.37.7","sequelize-typescript":"^2.1.6","ts-node":"^10.9.2","tsup":"^8.5.0","typescript":"^5.9.2","vitest":"^3.2.4"},"_id":"@cleancode-id/nestjs-sequelize-auditor@4.1.0","gitHead":"770289141a247ad2d845e6dfdb1fedf7b45048ff","_nodeVersion":"24.3.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-wEe4GpLtuI29bxNRFWF+8MzpOIK0IHApWCy0fJW7kjqB1d3xcCVn9sKxXndEmKG+UKQgG8TVJTibMtF/Sfh24A==","shasum":"b91e4373546328e3aa3ef685aed96e1af1d24ed8","tarball":"https://registry.npmjs.org/@cleancode-id/nestjs-sequelize-auditor/-/nestjs-sequelize-auditor-4.1.0.tgz","fileCount":9,"unpackedSize":2686742,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAmH3juRFGLV5Sp0PvTszIDS7wbbliUKTozzxkqaOLu+AiAGLN2ITQrbsZoFwyFl2CKdXk0X9gB5Rt60hmKtTSm0/w=="}]},"_npmUser":{"name":"cleancode.id","email":"cleancode.id@gmail.com"},"directories":{},"maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-sequelize-auditor_4.1.0_1769316670687_0.8963075415817598"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-14T20:17:47.905Z","modified":"2026-01-25T04:51:11.005Z","1.0.0":"2025-08-14T20:17:48.271Z","1.0.1":"2025-08-15T05:33:35.754Z","1.0.2":"2025-08-16T08:18:27.993Z","1.1.0":"2025-08-16T17:03:16.631Z","1.1.1":"2025-08-17T03:49:21.575Z","1.2.0":"2025-08-19T07:31:40.322Z","1.2.1":"2025-08-19T07:51:05.394Z","2.0.0":"2025-08-20T05:56:37.822Z","3.0.0":"2025-08-21T05:40:31.910Z","3.0.1":"2025-08-27T13:48:32.790Z","3.0.2":"2025-08-27T13:57:10.053Z","3.0.3":"2025-08-27T17:15:06.051Z","3.1.0":"2025-08-27T17:39:48.672Z","4.0.0":"2025-08-28T02:44:25.446Z","4.1.0":"2026-01-25T04:51:10.883Z"},"bugs":{"url":"https://github.com/clean-code-id/nest-sequelize-auditor/issues"},"author":{"name":"Clean Code Indonesia"},"license":"MIT","homepage":"https://github.com/clean-code-id/nest-sequelize-auditor#readme","keywords":["nestjs","sequelize","audit","audit-trail","typescript","orm"],"repository":{"type":"git","url":"git+https://github.com/clean-code-id/nest-sequelize-auditor.git"},"description":"Audit trail package for NestJS + Sequelize ORM with AsyncLocalStorage context management","maintainers":[{"name":"cleancode.id","email":"cleancode.id@gmail.com"}],"readme":"# @cleancode-id/nestjs-sequelize-auditor\n\n🔍 **Simple audit trails for NestJS + Sequelize** with zero configuration and automatic relationship tracking.\n\n![npm version](https://img.shields.io/npm/v/@cleancode-id/nestjs-sequelize-auditor) \n![npm_downloads](https://img.shields.io/npm/dm/@cleancode-id/nestjs-sequelize-auditor)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## ✨ Features\n\n- 🎯 **Zero Setup** - Auto-creates audit table and relationships\n- 🔄 **Complete Tracking** - CREATE, UPDATE, DELETE, RESTORE + bulk operations\n- 🧵 **Smart Context** - Captures user, IP, URL from HTTP requests automatically\n- 👤 **Built-in Creator** - `include: [\"creator\"]` works out of the box\n- 🎭 **Multi-Actor Support** - Track different user types (User, Admin, System)\n- 🛡️ **Data Security** - Exclude/mask sensitive fields, filter creator data globally\n- 🗄️ **Multi-DB Support** - PostgreSQL, MySQL with proper indexing\n- 📦 **TypeScript Native** - Full type safety, zero runtime dependencies\n- 🚀 **Production Ready** - Battle-tested with comprehensive test suite\n\n## 🚀 Quick Start\n\n### Installation\n\n```bash\nnpm install @cleancode-id/nestjs-sequelize-auditor\n```\n\n### Module Setup\n\n```typescript\n// app.module.ts\nimport { AuditModule } from '@cleancode-id/nestjs-sequelize-auditor';\n\n@Module({\n  imports: [\n    SequelizeModule.forRoot(/* your db config */),\n    AuditModule.forRoot({\n      autoSync: true,                  // Auto-create audit table\n      actorTypes: ['User', 'Admin'],   // Which models can be actors\n      creatorFields: ['id', 'name'],   // Global: only return safe fields\n      auth: {\n        type: 'passport',              // Use Passport.js\n        userProperty: 'user',          // req.user\n        userIdField: 'id',             // req.user.id\n      },\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n### Model Setup\n\n```typescript\n// user.model.ts\nimport { Auditable, AuditEvent } from '@cleancode-id/nestjs-sequelize-auditor';\n\n@Auditable({\n  exclude: ['password', 'createdAt', 'updatedAt'],\n  auditEvents: [AuditEvent.CREATED, AuditEvent.UPDATED, AuditEvent.DELETED],\n})\n@Table({ tableName: 'users' })\nexport class User extends Model {\n  @Column({ primaryKey: true, autoIncrement: true })\n  id: number;\n\n  @Column\n  name: string;\n\n  @Column\n  email: string;\n  \n  // ✨ Automatically available:\n  // - audits: Audit[] relationship  \n  // - creator: User virtual field (filtered by creatorFields)\n  // - creationAudit: Audit relationship\n}\n```\n\n### Usage Examples\n\n```typescript\n@Injectable()\nexport class UserService {\n  constructor(@InjectModel(User) private userModel: typeof User) {}\n\n  // Get user with creator info (only id + name, no password)\n  async findWithCreator(id: number) {\n    return this.userModel.findByPk(id, {\n      include: ['creator']  // ✨ Automatic, secure creator data\n    });\n  }\n\n  // Pagination with creator\n  async getPaginated(page: number, limit: number) {\n    return this.userModel.findAndCountAll({\n      include: ['creator'],\n      limit,\n      offset: page * limit,\n    });\n  }\n\n  // Get all audit history\n  async getAuditHistory(id: number) {\n    return this.userModel.findByPk(id, {\n      include: ['audits']  // All changes to this user\n    });\n  }\n}\n```\n\n**Example Response:**\n```json\n{\n  \"id\": 123,\n  \"name\": \"John Doe\",\n  \"email\": \"john@example.com\", \n  \"creator\": {\n    \"id\": 456,\n    \"name\": \"Admin User\"\n  }\n}\n```\n\n## 🔧 Configuration\n\n### AuditModule.forRoot() Options\n\n```typescript\ninterface AuditModuleOptions {\n  autoSync?: boolean;           // Auto-create audit table (default: true)\n  actorTypes?: string[];        // Models that can be actors (default: ['User'])\n  creatorFields?: string[];     // Global creator fields (default: ['id', 'name', 'email'])\n  onlyDirty?: boolean;          // Global: only log changed fields (default: false)\n  auth?: {\n    type?: 'passport' | 'custom';  // Auth strategy (default: 'passport')\n    userProperty?: string;         // req[property] (default: 'user') \n    userIdField?: string;          // user[field] (default: 'id')\n  }\n}\n```\n\n### @Auditable() Options\n\n```typescript\ninterface AuditableConfig {\n  exclude?: string[];           // Fields to skip\n  mask?: string[];              // Fields to show as '***MASKED***'\n  auditEvents?: AuditEvent[];   // Which operations to track\n  onlyDirty?: boolean;          // Override global dirty setting\n  verbose?: boolean;            // Enable debug logging\n}\n```\n\n## 🎭 Multi-Actor Support\n\nTrack different types of users automatically:\n\n```typescript\n// Configure multiple actor types\nAuditModule.forRoot({\n  actorTypes: ['User', 'Admin', 'System'],\n  // ...\n})\n\n// Different actors create different audit records\n@Auditable()\nexport class Post extends Model {\n  // Audit records will show:\n  // - actorable_type: \"User\" | \"Admin\" | \"System\"  \n  // - actorable_id: actual ID\n  // - creator field resolves automatically\n}\n```\n\n## 📦 Bulk Operations\n\nAudit system automatically handles bulk operations:\n\n```typescript\n// Bulk create - creates individual audit records\nawait User.bulkCreate([\n  { name: 'John', email: 'john@example.com' },\n  { name: 'Jane', email: 'jane@example.com' },\n]);\n\n// Bulk update - captures old values automatically  \nawait User.update(\n  { status: 'active' },\n  { where: { role: 'member' } }\n);\n\n// Each affected record gets its own audit entry\n```\n\n**⚠️ Performance Note:** Bulk updates/deletes perform additional SELECT queries to capture old values. Use batching for large datasets.\n\n## 🛠️ Advanced Usage\n\n### Manual Context for Background Jobs\n\n```typescript\nimport { RequestContext } from '@cleancode-id/nestjs-sequelize-auditor';\n\n// Background jobs\nawait RequestContext.runWithContext(\n  {\n    actorableType: 'System',\n    actorableId: 'cleanup-job',\n    tags: { jobType: 'data-cleanup' }\n  },\n  async () => {\n    await User.destroy({ where: { inactive: true } });\n  }\n);\n```\n\n### Querying Audit Data\n\n```typescript\n// Get all changes to a user\nconst userAudits = await AuditModel.findAll({\n  where: {\n    auditable_type: 'User',\n    auditable_id: '123'\n  },\n  order: [['created_at', 'DESC']]\n});\n\n// Get all actions by an admin\nconst adminActions = await AuditModel.findAll({\n  where: {\n    actorable_type: 'Admin',\n    actorable_id: '456'\n  }\n});\n```\n\n### Conditional Auditing\n\n```typescript\n// Different auditing per environment\n@Auditable({\n  auditEvents: process.env.NODE_ENV === 'production' \n    ? [AuditEvent.CREATED, AuditEvent.DELETED]      // Skip updates in prod\n    : [AuditEvent.CREATED, AuditEvent.UPDATED, AuditEvent.DELETED]\n})\nexport class User extends Model {}\n\n// Security-sensitive model\n@Auditable({\n  mask: ['password', 'ssn'],\n  auditEvents: [AuditEvent.CREATED, AuditEvent.DELETED], // No update tracking\n})\nexport class PaymentMethod extends Model {}\n```\n\n## 📊 Database Schema\n\nThe audit table is created automatically:\n\n```sql\nCREATE TABLE audits (\n  id BIGINT AUTO_INCREMENT PRIMARY KEY,\n  event ENUM('created', 'updated', 'deleted', 'restored') NOT NULL,\n  \n  -- What was changed\n  auditable_type VARCHAR(255) NOT NULL,  -- \"User\", \"Post\", etc.\n  auditable_id VARCHAR(255) NOT NULL,\n  \n  -- Who made the change  \n  actorable_type VARCHAR(255),           -- \"User\", \"Admin\", \"System\"\n  actorable_id VARCHAR(255),\n  \n  -- Change data\n  old_values JSON,                       -- Previous state\n  new_values JSON,                       -- New state\n  \n  -- Request context\n  ip VARCHAR(45),\n  user_agent TEXT,\n  url VARCHAR(2048),\n  tags JSON,\n  \n  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n  \n  -- Indexes for performance\n  INDEX idx_auditable (auditable_type, auditable_id),\n  INDEX idx_actorable (actorable_type, actorable_id)\n);\n```\n\n## 🚀 Why Choose This Package?\n\n### Simple Setup\n- **One decorator** - just add `@Auditable()` to your models\n- **Auto-initialization** - relationships created automatically  \n- **Zero boilerplate** - no manual service setup required\n\n### Secure by Default\n- **Global creator filtering** - consistent data exposure control\n- **Field masking** - sensitive data protection\n- **Request context** - automatic IP/URL/agent capture\n\n### Production Ready\n- **Battle-tested** - comprehensive test suite\n- **Performance optimized** - efficient queries and indexing  \n- **TypeScript native** - full type safety\n\n## 📋 Requirements\n\n- **Node.js** 16+\n- **NestJS** 10+ or 11+\n- **Sequelize** 6+\n- **sequelize-typescript** 2+\n- **Database**: PostgreSQL or MySQL\n\n## 📝 License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\nBuilt with ❤️ by [Clean Code Indonesia](https://github.com/clean-code-id)","readmeFilename":"README.md"}