{"_id":"@atcute/bluesky-moderation","_rev":"14-0ff638c2d3453823f1c75f2054749201","name":"@atcute/bluesky-moderation","dist-tags":{"latest":"4.2.2"},"versions":{"1.0.1":{"name":"@atcute/bluesky-moderation","version":"1.0.1","license":"MIT","_id":"@atcute/bluesky-moderation@1.0.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"b7586732e60ff138a016a4a2304b6905ba7f1655","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-1.0.1.tgz","fileCount":55,"integrity":"sha512-nvnyhHnqKXL96n2T04CFOOu62mJ5TnRpAtSU4nPY2Bl8abLRXAVknkPIN1qcz0JkQ4kRVa8T2IV0ACOFh46Vcw==","signatures":[{"sig":"MEYCIQCbVdaSID68/EcXxWDvtOr/KLNpMzJ/BmhFK/maK+ApQQIhAI5hI3evY+2BdI2hdsE17qvcErvhkjI6/MCF0u4/qDZc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136929},"type":"module","_from":"file:atcute-bluesky-moderation-1.0.1.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/eca26a6707a43e5ff85d818758ebdf73/atcute-bluesky-moderation-1.0.1.tgz","_integrity":"sha512-nvnyhHnqKXL96n2T04CFOOu62mJ5TnRpAtSU4nPY2Bl8abLRXAVknkPIN1qcz0JkQ4kRVa8T2IV0ACOFh46Vcw==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/moderation"},"_npmVersion":"10.9.2","description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.4","@types/bun":"^1.2.1","@atcute/client":"^3.0.1","@atcute/bluesky":"^2.0.3"},"peerDependencies":{"@atcute/client":"^3.0.0","@atcute/bluesky":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_1.0.1_1745926076789_0.3002248529887197","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@atcute/bluesky-moderation","version":"1.0.2","license":"MIT","_id":"@atcute/bluesky-moderation@1.0.2","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"a556b7a88f218c6adbba443c3ce9ac1b826b4261","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-1.0.2.tgz","fileCount":55,"integrity":"sha512-WrD0TcAYpUy8PZ+9PBmNlzUAYwqDozqVbqJac6E8wbzchIFlCGvoNuTrVGZiAtgYCC1KzNreiaGpmTGnA8bM4A==","signatures":[{"sig":"MEYCIQCRiCEPGWnU4uvwm7+olYyIJKMUjaLT7jFBgqNlh769UwIhAKMk8NnlwbUWmfkb8CzEgQf23dPNaEM8b4SaC9lzayN1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136929},"type":"module","_from":"file:atcute-bluesky-moderation-1.0.2.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/ba357c519e1bf6a5fd3b8e873ba8f356/atcute-bluesky-moderation-1.0.2.tgz","_integrity":"sha512-WrD0TcAYpUy8PZ+9PBmNlzUAYwqDozqVbqJac6E8wbzchIFlCGvoNuTrVGZiAtgYCC1KzNreiaGpmTGnA8bM4A==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/moderation"},"_npmVersion":"10.9.2","description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.4","@types/bun":"^1.2.1","@atcute/client":"^3.0.1","@atcute/bluesky":"^2.1.0"},"peerDependencies":{"@atcute/client":"^3.0.0","@atcute/bluesky":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_1.0.2_1746020314647_0.04100524463923061","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@atcute/bluesky-moderation","version":"2.0.0","license":"MIT","_id":"@atcute/bluesky-moderation@2.0.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"1a3123c5873352c00604228c0c426691a755a0a9","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-2.0.0.tgz","fileCount":55,"integrity":"sha512-VHEfFokg5oxsOGu1DS5bwXk6YcfXSTYGpEdXKtMBZ8G4SsNhNiG6s9IvH6RB3uuW68LzDizus+tZzcgLPqD9dA==","signatures":[{"sig":"MEQCIBxCpIMCd65PVN5yXA8o3xUxnd5hTsv5HybkpTl86XngAiB5mx4AJtDWmSLPIZt4WaGhrvzFDx0zsu+VkXerIzCzgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137097},"type":"module","_from":"file:atcute-bluesky-moderation-2.0.0.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/1193420552822fdfb6e7ee248549c883/atcute-bluesky-moderation-2.0.0.tgz","_integrity":"sha512-VHEfFokg5oxsOGu1DS5bwXk6YcfXSTYGpEdXKtMBZ8G4SsNhNiG6s9IvH6RB3uuW68LzDizus+tZzcgLPqD9dA==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/moderation"},"_npmVersion":"11.3.0","description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"24.0.1","dependencies":{"@atcute/lexicons":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.3","@types/bun":"^1.2.13","@atcute/atproto":"^3.0.0","@atcute/bluesky":"^3.0.0"},"peerDependencies":{"@atcute/atproto":"^3.0.0","@atcute/bluesky":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_2.0.0_1747186977706_0.4696830083475454","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@atcute/bluesky-moderation","version":"2.0.1","license":"MIT","_id":"@atcute/bluesky-moderation@2.0.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"e476674d8df531748a5c20955d519e47a17b15b8","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-2.0.1.tgz","fileCount":55,"integrity":"sha512-UCgnv1uvluNbHoZWJCh9lPUyw0yRCg0EV7FS0pnl1sVCI7UiOl0GmOKmm+7Zt6lBYTFpTX/tXIeuwU/aCz+zmQ==","signatures":[{"sig":"MEUCIQCpVok27fHOICzluzawVPR4f4poiuRroTR56yfZggzJ0wIgA3YcnfrKwX+LsJZj7o258aLiWdaqW03RT8/dHeBC2CM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137097},"type":"module","_from":"file:atcute-bluesky-moderation-2.0.1.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/a41c0a67e12788abe389c10d23a7efbf/atcute-bluesky-moderation-2.0.1.tgz","_integrity":"sha512-UCgnv1uvluNbHoZWJCh9lPUyw0yRCg0EV7FS0pnl1sVCI7UiOl0GmOKmm+7Zt6lBYTFpTX/tXIeuwU/aCz+zmQ==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/moderation"},"_npmVersion":"11.3.0","description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"24.0.1","dependencies":{"@atcute/lexicons":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.3","@types/bun":"^1.2.13","@atcute/atproto":"^3.0.1","@atcute/bluesky":"^3.0.1"},"peerDependencies":{"@atcute/atproto":"^3.0.0","@atcute/bluesky":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_2.0.1_1747444122960_0.5440006064595491","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@atcute/bluesky-moderation","version":"2.0.2","license":"MIT","_id":"@atcute/bluesky-moderation@2.0.2","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"0ecd825e2fa2d383263ce9d68404aeb7af6520dd","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-2.0.2.tgz","fileCount":55,"integrity":"sha512-4HCxjsVltYtisfS0bFx2mfxTfDUjqHtUDmR5sqt21vJA9TFcfueHDi3AnxHiR6iXZclNWChflGfdYYmrLiMpJA==","signatures":[{"sig":"MEUCIQCMfUE2gQzkqDfBjOot2oD8JPvViyx1DWkjA69/efWV7wIgByJyxUO2CxkTXPz+7WLiDnMnXBi+IjsTznpqy2Xse4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137097},"type":"module","_from":"file:atcute-bluesky-moderation-2.0.2.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/c7f73c7931c1bb888d0a2dc742758f76/atcute-bluesky-moderation-2.0.2.tgz","_integrity":"sha512-4HCxjsVltYtisfS0bFx2mfxTfDUjqHtUDmR5sqt21vJA9TFcfueHDi3AnxHiR6iXZclNWChflGfdYYmrLiMpJA==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/moderation"},"_npmVersion":"11.3.0","description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"24.0.1","dependencies":{"@atcute/lexicons":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.3","@types/bun":"^1.2.13","@atcute/atproto":"^3.0.2","@atcute/bluesky":"^3.0.2"},"peerDependencies":{"@atcute/atproto":"^3.0.0","@atcute/bluesky":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_2.0.2_1747715709336_0.6651828542266409","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@atcute/bluesky-moderation","version":"2.0.3","license":"0BSD","_id":"@atcute/bluesky-moderation@2.0.3","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"23ec8b452caa096f8ddfcaa04ce09e0e1a643b76","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-2.0.3.tgz","fileCount":55,"integrity":"sha512-PdQhmArYZ/yL6rFmy6TUygwpH+dfgWbdEiqr3rXXDEFx4Su8XkqtvTv6IsQGfs5C1TJp/EQrza3a8PpNl16TXw==","signatures":[{"sig":"MEUCIQCpcdm1KwfLCv8wI+h6Uo9dONf31bVPn1uOdST0o8odcQIgBm2lkXILsao5lrKG9m9jKHzk0K0q5v0qIpCVcEU8cSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136577},"type":"module","_from":"file:atcute-bluesky-moderation-2.0.3.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/911104fb82a3841d217ab5bd7d4df88e/atcute-bluesky-moderation-2.0.3.tgz","_integrity":"sha512-PdQhmArYZ/yL6rFmy6TUygwpH+dfgWbdEiqr3rXXDEFx4Su8XkqtvTv6IsQGfs5C1TJp/EQrza3a8PpNl16TXw==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/moderation"},"_npmVersion":"10.9.2","description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{"@atcute/lexicons":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/bun":"^1.2.21","@atcute/atproto":"^3.1.4","@atcute/bluesky":"^3.2.2"},"peerDependencies":{"@atcute/atproto":"^3.0.0","@atcute/bluesky":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_2.0.3_1758501003817_0.22920302917214452","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@atcute/bluesky-moderation","version":"2.0.4","license":"0BSD","_id":"@atcute/bluesky-moderation@2.0.4","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"24703a8336bfc17e5c1644fb2f90022f98ab99fa","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-2.0.4.tgz","fileCount":68,"integrity":"sha512-rlXfHZNublG/1VnabqK8k7sKFKcqbCC4wiYLiv8LD5ioJYALT5goce0joRgaPouPwHD6BMRL9i9wuuXZay/Xlg==","signatures":[{"sig":"MEUCIGiUcijmNW4w8RzaeUvOedwOMKOMY27NlqzBMs57iUGPAiEAuc+ZpmfjWCkRw3WX0g70U2T/AsZTJhdXrRzAolnF7Nk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148619},"type":"module","_from":"file:atcute-bluesky-moderation-2.0.4.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/30df41cf9df8b40957db84c4087977b0/atcute-bluesky-moderation-2.0.4.tgz","_integrity":"sha512-rlXfHZNublG/1VnabqK8k7sKFKcqbCC4wiYLiv8LD5ioJYALT5goce0joRgaPouPwHD6BMRL9i9wuuXZay/Xlg==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/moderation"},"_npmVersion":"10.9.2","description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{"@atcute/lexicons":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","@types/bun":"^1.2.21","@atcute/atproto":"^3.1.6","@atcute/bluesky":"^3.2.5"},"peerDependencies":{"@atcute/atproto":"^3.0.0","@atcute/bluesky":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_2.0.4_1760012866876_0.543906447459735","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@atcute/bluesky-moderation","version":"3.0.0","license":"0BSD","_id":"@atcute/bluesky-moderation@3.0.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"623898f5bf34a5abb226ec0eb051ca89de6c3f54","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-3.0.0.tgz","fileCount":78,"integrity":"sha512-wnat/57mj1dK/4SJ/oZN55ig6v9N9NXv1ePi7hCQWGXEKi355WWyvWbWhpIKMOXW/Y3bfyhFoVZUKAM5UsrsUQ==","signatures":[{"sig":"MEUCIQDfoNWMh3ZlnFCzjU4wEKYbsWOic5NnY7Ss0LnOiiJXlQIgZJx/0sHHqrhfNXl2mGMwSV9DUVDoAEZ0YH8iFLZC0TM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":335287},"type":"module","_from":"file:atcute-bluesky-moderation-3.0.0.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsgo --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/61e9059e32b06e5a509a6593b7135af7/atcute-bluesky-moderation-3.0.0.tgz","_integrity":"sha512-wnat/57mj1dK/4SJ/oZN55ig6v9N9NXv1ePi7hCQWGXEKi355WWyvWbWhpIKMOXW/Y3bfyhFoVZUKAM5UsrsUQ==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/moderation"},"_npmVersion":"11.9.0","description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@atcute/lexicons":"^1.2.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","@atcute/atproto":"^3.1.10","@atcute/bluesky":"^3.2.20"},"peerDependencies":{"@atcute/atproto":"^3.0.0","@atcute/bluesky":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_3.0.0_1772529548062_0.5213595736799994","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@atcute/bluesky-moderation","version":"3.0.1","license":"0BSD","_id":"@atcute/bluesky-moderation@3.0.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"d9795694fede114e862b663761a6d0a4c4cc0dfa","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-3.0.1.tgz","fileCount":78,"integrity":"sha512-iPkpQ6M9r1ZP8B6aKRGNkNlxnYOcwrCunOLWb4hu5L+0wPGItlShazoWqr7jPWSLXGYgJbK1S9ZRkwMxZzU4xQ==","signatures":[{"sig":"MEYCIQCkKcSxN5BA7H1CM2tai1URbuKrcJ+tdjtCUZBF6lGn6AIhAJjjdT6KCsH/Mm/UFwQZ/ipL3fQDzytlHFXWR4l05IFI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190191},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/bluesky/moderation"},"description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@atcute/lexicons":"^1.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.5","@atcute/atproto":"^3.1.12","@atcute/bluesky":"^3.3.4"},"peerDependencies":{"@atcute/atproto":"^3.0.0","@atcute/bluesky":"^3.0.0","@atcute/lexicons":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_3.0.1_1778205608571_0.6107683243017725","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@atcute/bluesky-moderation","version":"4.0.0","license":"0BSD","_id":"@atcute/bluesky-moderation@4.0.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"c60b9be4e3813d76b0d26b84fd9647836fde8fc6","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-4.0.0.tgz","fileCount":78,"integrity":"sha512-IcQ6aEhfKY1SkLE0MblDsJ45V5eh0dc6vdj19rVZYbGWd8JrjRo1xuWGY7lGR09Ri52mbZr3laka670f08sJSA==","signatures":[{"sig":"MEYCIQCxWhDfWAvIKhoBDTuSx5ZsmBDHMeYQIzwfvJAsoM83swIhAOiE+AVA0iJ32k3q3gK53fVNn3G0K0kojdjAgMcaTxpf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189772},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/bluesky/moderation"},"description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@atcute/lexicons":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.5","@atcute/atproto":"^4.0.0","@atcute/bluesky":"^4.0.0"},"peerDependencies":{"@atcute/atproto":"^4.0.0","@atcute/bluesky":"^4.0.0","@atcute/lexicons":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_4.0.0_1778312803522_0.03967164438365556","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@atcute/bluesky-moderation","version":"4.1.0","license":"0BSD","_id":"@atcute/bluesky-moderation@4.1.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"f5261f64c42d77c09ecfb4ad4ebb5fd1afb297c6","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-4.1.0.tgz","fileCount":83,"integrity":"sha512-Cp+FwTR767Sr9/+lxkA7pcQo2g971nc6znbbgnw7ZsjVpjjzQOMP7LmbujsFIPk/6H584RGoDYaij42PgHizcg==","signatures":[{"sig":"MEUCIGirlZ21vBzvmY9BFu8jWx1rWWI+X+/8WVJ0XEs0OrTQAiEAvm8+fP9l6ypUAyMq+wZGgk4tJoiiGEjwhlnw36B740M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197385},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/bluesky/moderation"},"description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@atcute/lexicons":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6","@atcute/atproto":"^4.0.1","@atcute/bluesky":"^4.0.4"},"peerDependencies":{"@atcute/atproto":"^4.0.0","@atcute/bluesky":"^4.0.0","@atcute/lexicons":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_4.1.0_1780213512320_0.2793856063202549","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@atcute/bluesky-moderation","version":"4.2.0","license":"0BSD","_id":"@atcute/bluesky-moderation@4.2.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"da143182edc4f1233aa1e44aa2f107f4d4db2986","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-4.2.0.tgz","fileCount":83,"integrity":"sha512-qF0wzW76Kk7wnZLu7BH5C8csmwllfQN0hwBNxY5vdlibFXiOp5bdHBPnTl2xYgcVM/hT+ZAE4reWQxWAS7l6Tw==","signatures":[{"sig":"MEUCICgQ7Nm5RecMTYe4mdgGW+HhRt4d7Gw6FKoOXfmbeg8TAiEAuHT5ndU50p/lEjZO1d4cuClsnjpe+N6+mNevBlWlOYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197454},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/bluesky/moderation"},"description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@atcute/lexicons":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6","@atcute/atproto":"^4.0.1","@atcute/bluesky":"^4.0.4"},"peerDependencies":{"@atcute/atproto":"^4.0.0","@atcute/bluesky":"^4.0.0","@atcute/lexicons":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_4.2.0_1780214960616_0.5715128994789658","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"@atcute/bluesky-moderation","version":"4.2.1","license":"0BSD","_id":"@atcute/bluesky-moderation@4.2.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"ba39c677ed6628844ad278469b0f244ef0addc73","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-4.2.1.tgz","fileCount":35,"integrity":"sha512-8cRZqEQ19wnLJdrqomOPses74ohtpvEn3OpegZCuTiyVWakuJSG2HjX45znm6H6zuw7UTWAf73e1JQ/MWgr1Ag==","signatures":[{"sig":"MEQCIHKaNkfnuJPo49UdvjzQDXGYzQoX/D6ZfuIwM9VXz7oHAiB4px/vjYJR9B2d+nlpFQt+A8HFfXvfjYkSMWV2aattXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77609},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/bluesky/moderation"},"description":"interprets Bluesky's content moderation labels","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@atcute/lexicons":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9","@atcute/atproto":"^4.0.3","@atcute/bluesky":"^4.0.12"},"peerDependencies":{"@atcute/atproto":"^4.0.0","@atcute/bluesky":"^4.0.0","@atcute/lexicons":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-moderation_4.2.1_1782777127127_0.5104513466748613","host":"s3://npm-registry-packages-npm-production"}},"4.2.2":{"name":"@atcute/bluesky-moderation","version":"4.2.2","description":"interprets Bluesky's content moderation labels","license":"0BSD","repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/bluesky/moderation"},"type":"module","sideEffects":false,"exports":{".":"./dist/index.js"},"publishConfig":{"access":"public"},"dependencies":{"@atcute/lexicons":"^2.0.3"},"devDependencies":{"vitest":"^4.1.10","@atcute/atproto":"^4.0.3","@atcute/bluesky":"^4.0.14"},"peerDependencies":{"@atcute/atproto":"^4.0.0","@atcute/bluesky":"^4.0.0","@atcute/lexicons":"^2.0.0"},"scripts":{"build":"tsc","test":"vitest","prepublish":"rm -rf dist; pnpm run build"},"_nodeVersion":"26.0.0","_id":"@atcute/bluesky-moderation@4.2.2","dist":{"integrity":"sha512-rNJeIDZkkSDK6Zs00RFw1iQ+OSvewaU/3VddfdSHuB14kztTNrVKfx7xCqTqtO1FdA7UCJGVTDwJKJQnyfXkfA==","shasum":"3c07dbd2588eb4b21d14e8776895907cee009e1a","tarball":"https://registry.npmjs.org/@atcute/bluesky-moderation/-/bluesky-moderation-4.2.2.tgz","fileCount":35,"unpackedSize":78234,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEYywCpGl+/i16J2ZLa5BMu5r9OKz9VHgKYkbM149n/3AiAyLaD6fPNrMSxW4YAwT3GB7iRLh7XFgvaTsgUyhtayIg=="}]},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"directories":{},"maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bluesky-moderation_4.2.2_1784160616670_0.8575457298566784"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-29T11:27:56.664Z","modified":"2026-07-16T00:10:16.976Z","1.0.1":"2025-04-29T11:27:56.960Z","1.0.2":"2025-04-30T13:38:34.885Z","2.0.0":"2025-05-14T01:42:57.894Z","2.0.1":"2025-05-17T01:08:43.150Z","2.0.2":"2025-05-20T04:35:09.563Z","2.0.3":"2025-09-22T00:30:04.029Z","2.0.4":"2025-10-09T12:27:47.079Z","3.0.0":"2026-03-03T09:19:08.200Z","3.0.1":"2026-05-08T02:00:08.712Z","4.0.0":"2026-05-09T07:46:43.671Z","4.1.0":"2026-05-31T07:45:12.477Z","4.2.0":"2026-05-31T08:09:20.755Z","4.2.1":"2026-06-29T23:52:07.311Z","4.2.2":"2026-07-16T00:10:16.821Z"},"license":"0BSD","repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/bluesky/moderation"},"description":"interprets Bluesky's content moderation labels","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"readme":"# @atcute/bluesky-moderation\n\ninterpret Bluesky content moderation labels and user preferences.\n\n```sh\nnpm install @atcute/bluesky-moderation\n```\n\nevaluates posts, profiles, lists, and other content against moderation labels, mutes, blocks, and\nkeyword filters to determine how they should be displayed.\n\n## usage\n\n### basic flow\n\n1. fetch user preferences and labeler definitions\n2. run moderation functions on content\n3. get display restrictions for your UI context\n\n```ts\nimport {\n\tDisplayContext,\n\tgetDisplayRestrictions,\n\tinterpretLabelerDefinitions,\n\tmoderatePost,\n\ttype ModerationPreferences,\n} from '@atcute/bluesky-moderation';\n\n// 1. set up preferences (see \"loading preferences\" below)\nconst prefs: ModerationPreferences = { ... };\nconst labelDefs = interpretLabelerDefinitions(labelers);\n\n// 2. moderate content\nconst decision = moderatePost(post, {\n\tviewerDid: 'did:plc:...',\n\tprefs,\n\tlabelDefs,\n});\n\n// 3. get display restrictions for your context\nconst ui = getDisplayRestrictions(decision, DisplayContext.ContentList);\n\nif (ui.filters.length > 0) {\n\t// don't show this post in feeds\n}\n\nif (ui.blurs.length > 0) {\n\t// hide behind a content warning\n\n\tif (ui.noOverride) {\n\t\t// don't allow user to reveal\n\t}\n}\n\nif (ui.alerts.length > 0 || ui.informs.length > 0) {\n\t// show warning badges\n}\n```\n\n### display contexts\n\nuse different contexts depending on where content appears:\n\n```ts\n// content in feeds/lists\ngetDisplayRestrictions(decision, DisplayContext.ContentList);\n\n// content in expanded view\ngetDisplayRestrictions(decision, DisplayContext.ContentView);\n\n// images/videos in content\ngetDisplayRestrictions(decision, DisplayContext.ContentMedia);\n\n// profile in lists\ngetDisplayRestrictions(decision, DisplayContext.ProfileList);\n\n// profile in expanded view\ngetDisplayRestrictions(decision, DisplayContext.ProfileView);\n\n// profile avatar/banner\ngetDisplayRestrictions(decision, DisplayContext.ProfileMedia);\n\n// profile display name/description\ngetDisplayRestrictions(decision, DisplayContext.ProfileBio);\n```\n\n### loading preferences\n\n```ts\nimport {\n\tinterpretLabelerDefinitions,\n\tinterpretMutedWordPreferences,\n\tLabelPreference,\n\ttype ModerationPreferences,\n} from '@atcute/bluesky-moderation';\n\n// fetch user preferences\nconst { data } = await rpc.get('app.bsky.actor.getPreferences', {});\n\nconst prefs: ModerationPreferences = {\n\tadultContentEnabled: false,\n\tglobalLabelPrefs: {},\n\tprefsByLabelers: {},\n\tkeywordFilters: [],\n\thiddenPosts: [],\n\ttemporaryMutes: [],\n};\n\nfor (const pref of data.preferences) {\n\tswitch (pref.$type) {\n\t\tcase 'app.bsky.actor.defs#adultContentPref':\n\t\t\tprefs.adultContentEnabled = pref.enabled;\n\t\t\tbreak;\n\n\t\tcase 'app.bsky.actor.defs#contentLabelPref':\n\t\t\t// map visibility to LabelPreference\n\t\t\tconst labelPref =\n\t\t\t\tpref.visibility === 'hide'\n\t\t\t\t\t? LabelPreference.Hide\n\t\t\t\t\t: pref.visibility === 'warn'\n\t\t\t\t\t\t? LabelPreference.Warn\n\t\t\t\t\t\t: LabelPreference.Ignore;\n\n\t\t\tif (pref.labelerDid) {\n\t\t\t\tprefs.prefsByLabelers[pref.labelerDid] ??= { labelPrefs: {} };\n\t\t\t\tprefs.prefsByLabelers[pref.labelerDid].labelPrefs[pref.label] = labelPref;\n\t\t\t} else {\n\t\t\t\tprefs.globalLabelPrefs[pref.label] = labelPref;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'app.bsky.actor.defs#mutedWordsPref':\n\t\t\tprefs.keywordFilters = interpretMutedWordPreferences(pref);\n\t\t\tbreak;\n\n\t\tcase 'app.bsky.actor.defs#hiddenPostsPref':\n\t\t\tprefs.hiddenPosts = pref.items;\n\t\t\tbreak;\n\t}\n}\n\n// fetch labeler definitions\nconst { data: labelerData } = await rpc.get('app.bsky.labeler.getServices', {\n\tparams: { dids: [...labelerDids], detailed: true },\n});\n\nconst labelDefs = interpretLabelerDefinitions(\n\tlabelerData.views.filter((v) => v.$type === 'app.bsky.labeler.defs#labelerViewDetailed'),\n);\n```\n\n### moderating different content types\n\n```ts\nimport {\n\tmoderateFeedGenerator,\n\tmoderateList,\n\tmoderateNotification,\n\tmoderatePost,\n\tmoderateProfile,\n} from '@atcute/bluesky-moderation';\n\nconst postDecision = moderatePost(post, opts);\nconst profileDecision = moderateProfile(profile, opts);\nconst listDecision = moderateList(list, opts);\nconst feedDecision = moderateFeedGenerator(feed, opts);\nconst notifDecision = moderateNotification(notification, opts);\n```\n","readmeFilename":""}