{"_id":"@zuzjs/flare-admin","_rev":"26-020ff6724350d681287fceeae233d4ce","name":"@zuzjs/flare-admin","dist-tags":{"latest":"0.1.27"},"versions":{"0.1.1":{"name":"@zuzjs/flare-admin","version":"0.1.1","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.1","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"cb30c7ac93f1e7d0020f2293f73871b3ff542b82","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.1.tgz","fileCount":17,"integrity":"sha512-Ey3HgNAssUtLDmWhT+jr+OJFljOs53l7LHmHWkRbhtIurs1w/6PvfOfeX5bz47WbhaZkolhF8nldqX/5toNtrw==","signatures":[{"sig":"MEYCIQDPfgX5po8gdHz5uuzCOFCBQS7znwRJPMif1nIN7+kgXgIhAIA+qWYCuDmS1IFTJBnCt8YY7bRrmlzt9/qytq9abxcf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138383},"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":"596d748989781739f44966ff1b8abaaeb5a4bdf5","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Server-side admin SDK for FlareServer — mint custom auth tokens from your backend (like firebase-admin)","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.1_1775914836868_0.5289886652048841","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@zuzjs/flare-admin","version":"0.1.2","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.2","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"cd38aa06adb9741945bfcde37a7db92ab30db7b5","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.2.tgz","fileCount":18,"integrity":"sha512-ar3cqj67i5+b427uCsTY0Fda+U9nHEOPz4HecOTzPAV4Dju5Pjd5/6vwXeVV0nLPpz2RvHFaH2vzf79T0aq/4g==","signatures":[{"sig":"MEUCIQCM8824UOaLr6Bd1aVzGbgkep5P0JpwNY7RAzEJ6BwuvAIgZ5X2T1Kt8WIEStakSoJW5IgfSKNFeF0ao6a7Czd4rvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142533},"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":"0e10baf090dde637bdda2e514b9abee471dbafd1","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Server-side admin SDK for FlareServer — mint custom auth tokens from your backend (like firebase-admin)","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.2_1775943307443_0.7953956574438705","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@zuzjs/flare-admin","version":"0.1.3","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.3","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"83660b99367584afd70c4c22956660663651fb4a","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.3.tgz","fileCount":18,"integrity":"sha512-wbpTU8RrB2wRsoWUhoEpxs+/EYlAkbBXRCnngk0bfKuxZMN0ukpLItA2ZndCnVWyXLZccOpg22znbmf6jn7jiQ==","signatures":[{"sig":"MEUCIQDrIEC1q/QmqYz4vhBj17gIx6AV30aad3rk12/jA1mziAIgEK8/KCJNTCBXSq29YVZuFZhvYRju+XfnmqAB/I2/Wic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147332},"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":"7074c8e7ab10b7f31c4a0597a7ceec1da47b1cc4","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.3_1776272810648_0.14998300040349388","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@zuzjs/flare-admin","version":"0.1.4","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.4","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"1632df15c984b3c4472752307614b6df53d70c20","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.4.tgz","fileCount":18,"integrity":"sha512-/yUwvKntBGsIHeDTEP/FAp0ZX/jh/CDnp/iWUm2wU9xACNJ4baQ6R9QptXDdFljk06+g95jkQgBc+/Wg4oLhcg==","signatures":[{"sig":"MEYCIQDATB8ikdO4zczOIOQRgXAINU/W2Q4+H7lGUMCuVp7/kQIhANtJWSad/TEXYyyApuUXO5nDLNwMvk28ysgxwYYyE9yc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147332},"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":"56a7cae68b40165ba8113b201107bc8988724695","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.4_1777361987122_0.41449875926933744","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@zuzjs/flare-admin","version":"0.1.5","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.5","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"705856a84e46b7da67e17af23570565080fbbe26","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.5.tgz","fileCount":26,"integrity":"sha512-pwS/2XgJVD54jK5jBRVbolb4S6UF9eYcVuSHwBAV+7ovOoTwuvOLqmwsdLi4Jsfo4G3CORmH8IqhCv8ML4ciRg==","signatures":[{"sig":"MEYCIQDIzWL6KwfaRZ9NMGge6Im7y4QPSWtijK2Pe6m0Ybbf2wIhANxUQanfDKUXNOdq0BN45trlBUU2V7/JDrxZ8WM46opn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232222},"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":"ccb6b50d7b63cacaf15d78f3de4ea4e7b014ac1d","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.5_1777899697290_0.31598749915971913","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@zuzjs/flare-admin","version":"0.1.6","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.6","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"04b41615852d3732a7c728c6f2a65a68634c084c","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.6.tgz","fileCount":27,"integrity":"sha512-khnJEvTSvD91dl/j+ypP8j/7RYiEOt97uCS/q6A03NVoFQglkGVBw+VI0viWnUDXstL/E+8kHLlhaqFZlc1NtQ==","signatures":[{"sig":"MEQCIH9pGWFN32rWEMRMVyNrqN5WtNYCAGAKFZ4LRgG1Yk5JAiB5HDyZfxguDmXm+X5Rf5rb8Nh+f78pSFwzQ0n4mY8eVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243824},"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":"049a7acc2c70b48632d27f5c22dfaa7d5e4fe71f","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.6_1778088653830_0.43171619503433933","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@zuzjs/flare-admin","version":"0.1.7","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.7","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"e8fb6ec0cce647e598f85cf0a3e634b4ee4436f5","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.7.tgz","fileCount":27,"integrity":"sha512-GQ5GOv8gIspp0j8ifmMmtYRp0BCWwM5TPM22f1nAJphtpcangKDLFBmU/sUH1U1gH0K7kWy7G/6vF/milj/Bwg==","signatures":[{"sig":"MEUCIG6FIFbPNVXNMyljdBtOdQoxDXO8igYIH+vCjZgwLM7xAiEA8aCojwS6qMLkZS483X5L3w5J2GgvMUEOoK/8YdvkLxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255039},"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":"c8f4451e17a9580a8aee6cdfe82c55fb1aa519e9","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.7_1778761100071_0.18066756449198418","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@zuzjs/flare-admin","version":"0.1.8","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.8","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"62f2645a041560144956713946528e1c62c1779d","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.8.tgz","fileCount":27,"integrity":"sha512-AFhs/qwuCeTZHMW9qmAdnzTjyiXdKyCt11m4G5AOMwzKxWw5o30jDbtSXhfBzJE4c9kCR8yCV0wdzkCz/afUeQ==","signatures":[{"sig":"MEQCHwyC2URSY2TTbauctSZR9FF0XC9YtdbpAJPHMOGPIx4CIQDVb/xmtzx8e2B1Sh0nUOKCmBfIY6ocM/dtF95xj9peYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255700},"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":"f2318edf5115fce16396e2737cb728636944e181","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.8_1778761844720_0.7073592225928065","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@zuzjs/flare-admin","version":"0.1.9","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.9","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"69358ac6cd757b3dc0a0f8f2e63ab30f4d4f6c73","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.9.tgz","fileCount":27,"integrity":"sha512-+9eWpEypOlr/8M4ODL5ZpjzuvRWlppXWa0Ebeuk4nGJE2rBetSBF494s4m10towFeBXz4xl9xD8rWff0H2638w==","signatures":[{"sig":"MEQCIAFXkvCuWsB8JDHK591Wesx/IXhj35/lWazEBGiIvlkQAiABqJia2kPYOKF8VmRabALr/uQQqXqWxN+ebfZ2v3qFDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257544},"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":"537a8829cf105c3ee7a4bc44ec38e126bc2bf948","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.9_1778767917131_0.18483316824246177","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@zuzjs/flare-admin","version":"0.1.10","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.10","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"011fc8f14e6d287e2c1e908537abceb509176d7e","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.10.tgz","fileCount":28,"integrity":"sha512-rZsUzix3+xq1FYCYTiehdS1dIbBJ/yyyqExBYByM/4sA40nRB6MnD4/n+DHhNAPSIVzv4dDkZS5Lp5mK5g9DKw==","signatures":[{"sig":"MEUCIQDJp9ZFfFnABnRQA6mhd9e6L50ehLDFJwn+uZC8DIxZ3gIgaBSNag78MQSYOrHI7eZg/lgUnYchSgCPsOGPd8PYdVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277348},"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":"4bbd1eaaeb197ab9549da2ecbf0fd307a95bc31a","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.10_1780690030423_0.018075181312420474","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@zuzjs/flare-admin","version":"0.1.11","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.11","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"71462d1647b4468364246e7fc540f066944914de","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.11.tgz","fileCount":29,"integrity":"sha512-YZLElQ/Nc8xUHPvzzYLOedD0ES6WZTB16ICjHgSQn6KcBPnL5nkihByG+0qlof22icBhNKnZRzG//sXhGkXaaw==","signatures":[{"sig":"MEUCIGFe2d2y8IuIqTWTxZlggOweDA0VbtkO09qc+rriPkpLAiEAq8tTCd0y4armM9jg8EV+g6nqKjS2N4wpGt7+EEZ9eWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285032},"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":"25548ef53ff7b1c22eab196da008fca047cef871","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.11_1780858196823_0.8689573979685514","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@zuzjs/flare-admin","version":"0.1.12","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.12","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"75ddf9b0d85c5df12cb2919f5bec676f390ca4c1","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.12.tgz","fileCount":29,"integrity":"sha512-sfDAQVxe1dM3598kFdHkKDMOgrxMVcCM33bzo/62SU85tzarYMEc59rye331mu2JR7CnghhfqGWf7YAp9R289w==","signatures":[{"sig":"MEUCIEPRgI1lM2l9thXRslqj3mURSP2OCAEoPhxZyhUWvGQDAiEAy1KNlLOcS+OA+3JCGeQ+zS/3mG/Ste41bS50D2UfMZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286229},"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":"6ba9e719ed5272bbcb866f3cf7ea8731d9cab2c2","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.12_1780949920092_0.8400255946075073","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@zuzjs/flare-admin","version":"0.1.13","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.13","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"6bf8a8991f48eaabf69a1f0098d21ab539fd207f","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.13.tgz","fileCount":29,"integrity":"sha512-vdwVI+ekB35fBZZa+YVImZdnwuKOxtNXvr4F6kZ/VZMyrKdQBobWaU4LimanlQq1XuEMlTRazOAgXbsFnTjC3g==","signatures":[{"sig":"MEYCIQC67+OCvm418tsA2ZazO3oCcgzJCnhenYwEX25TLyFTNwIhAP+9bYtgFWaCe1qiCqZA23V6QrV/RXmTh4pRwEj5/Sgu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":287681},"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":"82a246aca2132787ecd3816c78a7b9f9842ad9ad","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.13_1781041118968_0.36091285782260263","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@zuzjs/flare-admin","version":"0.1.14","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.14","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"26e059669ad2b0b7a0e7dcedd7016b8266d2edae","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.14.tgz","fileCount":29,"integrity":"sha512-BrOXRfI4pTWFump98XuZJe8BB6YaCX63wSSaUi4sW7BlKclSE3XlX1WYdiM+eEjB0wkU/RN7OnoWptdQqxwJ8g==","signatures":[{"sig":"MEQCICc89gxXJSXstnuLXybg1UWiL4wwDLRidSpWgb7akD0KAiBC3Mu+08KEYPFtlBARrcczRaky9piRpBQ7qP/KS5Hf9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":287649},"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":"80b3468cbf71a9888ae224c17107f390aee522f4","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.14_1781124606603_0.9710416459351232","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@zuzjs/flare-admin","version":"0.1.15","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.15","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"d60381c761026d79b0972d6a7413d9d52b54b73a","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.15.tgz","fileCount":29,"integrity":"sha512-HJ0R873znc9Vk+vbJekbzkOeiNjj9X1ySFwkprYRs7qRb+lVjJrNMRIKVjOWsaQeCpV+s0rcwqjY1Uf8c51TCg==","signatures":[{"sig":"MEUCIFWLia50crmhqCuIkX/rg0WPpkRVlVekWpS0tDd2kFvZAiEA8qRG2V1AkQdeFCIIvtkxRREfI9nC2mzSZhNXLsFMnNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":287727},"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":"f3d1250d0e52b5eaad2620c171f77712b426ee17","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.15_1781204958606_0.09123568373449209","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@zuzjs/flare-admin","version":"0.1.16","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.16","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"fddd63627855555ef712386695274be3722b1fc2","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.16.tgz","fileCount":30,"integrity":"sha512-NbqhlFReEOwWQm6SqwJ/aC+15HF7OTPvydDvX+BkoVtvhpUGA0x1fovJeGxPYV7j8MVXKw+4gVMKh9NVbKIQQw==","signatures":[{"sig":"MEQCIEByce4xK76yfbU9Zj5Fh1fw4nt8qZsftz91fSuRCJY8AiBPVClNcchTU6tJl/Fqb3AMIW5RmdirTLSnUF81uE7pQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288469},"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":"232f5e087409c755dbc2514e5c70f3e25495de08","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.16_1781354226150_0.3190673433729607","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@zuzjs/flare-admin","version":"0.1.17","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.17","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"5b4ff29a21ac5d49916d486dcdd3b53544dd11e1","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.17.tgz","fileCount":30,"integrity":"sha512-lsPDLQqsURRrm4LjxCm6XNbzKTwWxNo4UM+MmN3rvK17wp3u4Of3d0NCOHMKugwfM7ODGrCsGwRGlphocc4dXQ==","signatures":[{"sig":"MEQCIGZwpOwUIZIMxZo5mIFQ1oTvmPHSn712IGfoiSHnz8khAiBRsmzEdfCCoB6iBEOqMUK27FdAIa6nlYIDjrQQ/hEpaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288973},"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":"10ca16a6a57f52140ec24cad4774f66ae6a531bb","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.17_1781905898450_0.27366479072894956","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@zuzjs/flare-admin","version":"0.1.18","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.18","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://www.zedgon.io","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"ccae57806236b1f7986c2a2c6b9812a2929cd957","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.18.tgz","fileCount":30,"integrity":"sha512-rY2By+a1EeUcwrTUq2r9fplKhlymoSNuHAU9gXDo3NCZsYoKTtl2ECsisfrJcjDZ8vgchljNnoAIw7OEafIjyQ==","signatures":[{"sig":"MEQCICDN/8ZNGyQlEYM7OqE8XOzLb1lKAPO9WuLXWQQfUmbiAiB9f4gTCCdLcLiKcwwVvjn1Q6/1BRpFMowZDP8ynXDvjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289051},"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":"9640b8dd28333542e9617327e63ace2e25806a5a","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.18_1782150118308_0.31480204673018664","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@zuzjs/flare-admin","version":"0.1.20","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.20","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"b3b201cd739a9d5580d22753fbda048145e7ab2c","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.20.tgz","fileCount":30,"integrity":"sha512-Qt3Hvu+KuUILYtyfl7dyQOzUNDkdZYs6eEArylZNdyef/Zh6xblpoJh53bKYK8J/UD0AryHhB0vhp9zHSGS6TQ==","signatures":[{"sig":"MEUCIFOUOuVYFGvOFA/8/xktqcuvhvi4TnjQNqdiwrsj4GDIAiEAlHvkZtmgymkzx+xSiGG6+Rwqh8fvxPikY+D+NMVBm+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289166},"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":"ba032d0bc973a86e9c40cba0de0182da057a841c","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.20_1788643308308_0.6379715103313655","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"@zuzjs/flare-admin","version":"0.1.21","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.21","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"472d964bd7d8e39e513537a57345b1243fdb1e6e","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.21.tgz","fileCount":30,"integrity":"sha512-w7MJ5DmjIrhRH8oOX7tt/Al5JIqBndaa3P/esX8Fpag/KschOeCw4nUayT+/tza5URf8F/BzH/uM0W20hwexRg==","signatures":[{"sig":"MEUCIDuWsB0yEYDSNSzHv4INg3j8/nEUB9WiCHAJflYvxHDWAiEA9snPlkpd2yxOBBVqS4EuL/GxLg2vkOabMI/jP/UYyJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHeFf9Ju3DRNiAYYQaQZKZsklaLofmj3/Y4sduPdPq2WAiAaSzfFNucmhAs/4YxQ6pwJp6T+0YLFoqbblqUO61zl8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289786},"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":"d10cfd41cc3f88cf69915db06e3b209374c1c6e7","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.21_1789655550460_0.6283183158936139","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@zuzjs/flare-admin","version":"0.1.22","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.22","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"4f2720e5987b7ccb9cd03fb91e646cbe1b87ca6d","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.22.tgz","fileCount":30,"integrity":"sha512-y7H9IY9M0CQ5I/qAmQzbNM9myqhwNc/MihoXAp74OmMPMXEsUueYT8NjiyFxv5jUQe1Dzm6RjZTAms6v4cLWFg==","signatures":[{"sig":"MEUCIErw4nzMn/WTLl9SI/yxbhMjnGPmkXgWUxu/HDug+Pb0AiEAntHL+QjS272A/8EmLQTx7cNP1ihqpW0L8IPJhYlcvjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDCxMVCPe1neuk0u+HsKSnqmmrGO3b/DsT9AIrmERjYlQIhAPoyY9qBtZY6hKl73XrVLxWAoexGWyzN6lzkgdIU8zPr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293397},"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":"9e571781ba0d999dab2c9d40b4fd67a30d65069b","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.22_1789712284894_0.7903696070461133","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"@zuzjs/flare-admin","version":"0.1.23","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.23","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"14ff1f625f7573134d47bb9322ebb745cf0c6a98","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.23.tgz","fileCount":32,"integrity":"sha512-sJUrifwzM/TAehPRr+U4JvrH1UjKI0x9pPqBxjs0ATJrxs0lK8aPl07vslra83svwMrOJno6DlsqSgFxvFctpw==","signatures":[{"sig":"MEUCIBCfQEeP00+Xgww3HMnY+FuZruIeyUoMbfpZSDsa1VFBAiEA2Swn+z8UZTV2yHM+gHNtn72xhqMTCJ40BKs9SJ1cM2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC5A0oZxwKAeOPyiK/Ft4WwvR9Vd4rvKpgv1l4SSrINggIgZFil9/lJZWQR3TuucN4MiOEKGiKnwCPWPF2yGKC9DQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299736},"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":"a6ea5ecd90ddbbb4a2e93469e5a24a4a3ecdd63b","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.23_1789714131850_0.1439261568360375","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"@zuzjs/flare-admin","version":"0.1.24","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.24","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"7298b664951cead3aa9c7ffa31cf9c4f23c42aa1","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.24.tgz","fileCount":32,"integrity":"sha512-qzw7guED0jzzWzOTSKvaMbh9SlSyowjb/xwGHH1OlU8p/wYp0FnUvYbn8PTvQTiVM8cu1yplyLShvceY9uLTOg==","signatures":[{"sig":"MEUCIQCAcAFpOfKq4LXNdKLuUgE6dWfDMdWzwwRv7urIvbNaFQIgb7dlQJz+Zf0odWJ+mX066XY2+mAE449zqqbJ0W7dxMw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHJ2b1qLpKJawDK/+0/jU7xOWJQs1AvGtmA9vD9HVaELAiEAnN1X5GGDMa/WdzTH6tspCSgh5Ya+Ru+cJVAwLaGC/3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303089},"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":"9f78a4ed504558a45f315bb15e423ceb7dc54420","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.24_1789714722997_0.5377387981951518","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"@zuzjs/flare-admin","version":"0.1.25","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.25","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"27319f012b8f4cbdbb7c2b10d282a83feb921904","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.25.tgz","fileCount":32,"integrity":"sha512-VBLtNL6Z8t49LPU69ktkHE0gIZCMA7xWSlwnb4F2D4/nvkDzZlPOSaQzvdtKxmnBrBVSmjxAD0cj8ht3p/kNEg==","signatures":[{"sig":"MEUCIQDnTy1VJIqvFDTjL9ACcdoEAPYNlkVAFmqVZnC997MU9QIgBPn9hYeLN3GlzzjvRZMN1lEkOTvUxDI2qVcnxq+nhnM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEZcqAcSfEHMLRGRbvE4EB4gQueefrCRn5ocpEzesOrNAiBNn1qqKvi/2VHKO5MvIspswMbfEJwad+za/9ozRMrG2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305901},"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":"990a9e4636464e868721b329fc8495b1de5dcfbd","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.25_1789761258131_0.2588372342583176","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"@zuzjs/flare-admin","version":"0.1.26","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","_id":"@zuzjs/flare-admin@0.1.26","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"homepage":"https://flare.zuz.com.pk","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"1bd1c5053a3f6b869a52be8a81fc9b82cd8735a5","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.26.tgz","fileCount":32,"integrity":"sha512-n2DaLNSqbk6ipW0kVz5jwVgdpEJ7T7+a6MRhJeTzTt71ZrN9lqH6Mth8eX62wpAnkFb7AIBh8TuGFuNvQ81X/w==","signatures":[{"sig":"MEYCIQDoteCXRv09sarSkEN6ZyjoXhgM957dN9O3mBScjiyrTwIhAOiq0LwFUMO4pZ8LLJB6Kdvz53blqJ3L0nwpRHJA3ieo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDJu+jC0B7CH78NrS6wU7A9rJica2RXkZotpA4HcQJBDQIgbyinrUIqWu+0qwW0eOcPXmIMjDkXunTAJIpa+kn6/U8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305901},"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":"4b40e9da7f676ebe33c576674bf60dfd08d34d2f","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flare-admin_0.1.26_1789997369579_0.9690712454437351","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"_id":"@zuzjs/flare-admin@0.1.27","bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"dist":{"shasum":"5f4d6222c587444d4ca306bd8cae0cafbd133ade","tarball":"https://registry.npmjs.org/@zuzjs/flare-admin/-/flare-admin-0.1.27.tgz","fileCount":32,"integrity":"sha512-UpPPKqMjABEzrwNSrQ9gj+moCTk1AoVSzoVtk98wZ61Qlj4kObdRd9YTek6pzrmqOUMWnp2BSTF0Tc58CpKq+A==","signatures":[{"sig":"MEUCIQD98kvKfvKlW3RFuyq9xWxMCMm0dxBtrUBX2cRfM6rwAgIgQWK1wv1y5I5Zk3kJ9wwxU9HS2Kmg2vA1chwICVQXRGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCgTO8KE1PsZJGAprn0d8JkEsa6iKauljUPmTVmJMlxtQIhAISORX1f/2WbIg+JMDxjUDmJUcchuZhGbNEftUXD630c"}],"unpackedSize":306926},"main":"./dist/index.cjs","name":"@zuzjs/flare-admin","type":"module","types":"./dist/index.d.ts","author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"03a4fae5f3a9f28e7a0fcaaedae0e4c29e9be8da","license":"MIT","version":"0.1.27","_npmUser":{"name":"zuzpk","email":"kamranwajdani@gmail.com"},"homepage":"https://flare.zuz.com.pk","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"_npmVersion":"11.4.2","description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","directories":{},"maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.19.0","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/flare-admin_0.1.27_1789997473857_0.45569639956090313"}}},"time":{"created":"2026-04-11T13:40:36.805Z","modified":"2026-09-21T13:31:14.223Z","0.1.1":"2026-04-11T13:40:36.998Z","0.1.2":"2026-04-11T21:35:07.587Z","0.1.3":"2026-04-15T17:06:50.840Z","0.1.4":"2026-04-28T07:39:47.251Z","0.1.5":"2026-05-04T13:01:37.445Z","0.1.6":"2026-05-06T17:30:53.976Z","0.1.7":"2026-05-14T12:18:20.216Z","0.1.8":"2026-05-14T12:30:44.881Z","0.1.9":"2026-05-14T14:11:57.329Z","0.1.10":"2026-06-05T20:07:10.583Z","0.1.11":"2026-06-07T18:49:56.961Z","0.1.12":"2026-06-08T20:18:40.242Z","0.1.13":"2026-06-09T21:38:39.103Z","0.1.14":"2026-06-10T20:50:06.750Z","0.1.15":"2026-06-11T19:09:18.742Z","0.1.16":"2026-06-13T12:37:06.302Z","0.1.17":"2026-06-19T21:51:38.611Z","0.1.18":"2026-06-22T17:41:58.453Z","0.1.20":"2026-09-05T21:21:48.461Z","0.1.21":"2026-09-17T14:32:30.542Z","0.1.22":"2026-09-18T06:18:04.989Z","0.1.23":"2026-09-18T06:48:51.945Z","0.1.24":"2026-09-18T06:58:43.102Z","0.1.25":"2026-09-18T19:54:18.222Z","0.1.26":"2026-09-21T13:29:29.672Z","0.1.27":"2026-09-21T13:31:13.936Z"},"bugs":{"url":"https://github.com/zuzjs/flare-admin/issues"},"author":{"name":"Zuz.js Team","email":"support@zuz.com.pk"},"license":"MIT","homepage":"https://flare.zuz.com.pk","keywords":["flare","flare-admin","zuzjs","auth","realtime","websocket"],"repository":{"url":"git+https://github.com/zuzjs/flare-admin.git","type":"git"},"description":"Privileged server-side access for Flare. Designed for secure environments to perform administrative tasks, manage user identities at scale, and orchestrate system-wide notifications with full bypass of client-side security rules.","maintainers":[{"name":"zuzpk","email":"kamranwajdani@gmail.com"}],"readme":"# @zuzjs/flare-admin\n\n> Server-side admin SDK for [FlareServer](https://flare.zuz.com.pk) — the self-hosted Firebase alternative.  \n> Works like `firebase-admin`: runs **only on your backend**, never in a browser.\n\n---\n\n## How it works\n\n```\nYour Express app          HTTP REST            FlareServer\n──────────────────        ──────────►          ─────────────────────\nconnectApp({           POST /admin/token     Validates adminKey\n  serverUrl,              { uid, role, claims } Signs JWT w/ jwtSecret\n  appId,              ◄────────────────         Returns { token }\n  adminKey,\n})\n\nadmin.auth()\n  .createCustomToken(uid)\n  → Promise<string>  ──────────────────────►  client: flare.auth(token)\n                                               socket elevated ✓\n```\n\n**No MongoDB URI is ever shared.** The SDK talks to FlareServer's `/admin/token` REST endpoint using only the `adminKey`.\n\n---\n\n## Installation\n\n```bash\nnpm install @zuzjs/flare-admin\n# or\npnpm add @zuzjs/flare-admin\n```\n\n---\n\n## Quick start\n\n### 1. Get your keys\n\n```bash\nflare app create my-app\n```\n\n| Config | Safe for... |\n|---|---|\n| `apiKey` | Browser / client-side |\n| `adminKey` | Server-side only — never expose to browser |\n\n### 2. Set environment variables\n\n```bash\n# .env (server-side only)\nFLARE_URL=https://flare.zuzcdn.net\nFLARE_APP_ID=my-app\nFLARE_ADMIN_KEY=FA_ADMIN_xxxxxxxxxxxx\n```\n\n### 3. Initialize once at boot\n\n```typescript\nimport { connectApp } from \"@zuzjs/flare-admin\";\n\nconst admin = connectApp({\n  serverUrl: process.env.FLARE_URL!,\n  appId:     process.env.FLARE_APP_ID!,\n  adminKey:  process.env.FLARE_ADMIN_KEY!,\n});\n```\n\n### 4. Mint a token in your login route\n\n```typescript\nimport { getApp } from \"@zuzjs/flare-admin\";\n\napp.post(\"/login\", async (req, res) => {\n  const user = await myAuthLogic(req.body);\n  if (!user) return res.status(401).json({ error: \"invalid credentials\" });\n\n  const flareToken = await getApp().auth().createCustomToken(user.id, {\n    role:   user.isAdmin ? \"admin\" : \"user\",\n    claims: { email: user.email, plan: user.plan },\n  });\n\n  res.json({ user, flareToken });\n});\n```\n\n### 5. Authenticate the Flare client\n\n```typescript\n// Browser / React Native\nimport FlareClient from \"@zuzjs/flare\";\n\nconst flare = new FlareClient({\n  endpoint: \"https://flare.zuzcdn.net\",\n  appId:    \"my-app\",\n  apiKey:   \"FA_xxxxxxxx\",\n});\n\nflare.connect();\n\nconst { flareToken } = await fetch(\"/login\", { method: \"POST\", body: ... }).then(r => r.json());\nawait flare.auth(flareToken);\n// ✅ Socket is now elevated — auth.uid and auth.role are set\n```\n\n---\n\n## API\n\n### `connectApp(config, name?)`\n\nInitialize a FlareAdmin app. Idempotent — safe to call at module scope.\n\n```typescript\nconst admin = connectApp({\n  serverUrl:   string;   // FlareServer base URL\n  appId:       string;   // App ID from `flare app create`\n  adminKey:    string;   // Admin key — server-side only\n  httpBase?:   string;   // Override base URL for all admin HTTP APIs (e.g. proxy)\n  defaultTtl?: string;   // Default token TTL, e.g. \"24h\" (default)\n  dataMapper?: Record<string, (row: any) => any>; // Per-collection response mappers\n});\n```\n\n`httpBase` routes all admin HTTP traffic through a different base URL (useful for proxies or gateways). When set, it replaces `serverUrl` as the base for every `/admin/*` HTTP request. Trailing slashes are normalized automatically.\n\n### `getApp(name?)`\n\nRetrieve an already-initialized app instance. Throws if not initialized.\n\n### `disconnectApp(name?)`\n\nDisconnect and remove an app from the registry. Returns `true` if the app existed.\n\n```typescript\ndisconnectApp();        // default app\ndisconnectApp(\"app-a\"); // named app\n```\n\n### `disconnectAllApps()`\n\nDisconnect and clear every initialized app.\n\n```typescript\ndisconnectAllApps();\n```\n\n### `app.disconnect()`\n\nClose the WebSocket connection on a specific app instance. Safe to call multiple times.\n\n```typescript\nadmin.disconnect();\n```\n\n---\n\n## Auth\n\n### `admin.auth().createCustomToken(uid, opts?)`\n\nMint a custom auth token for use by the browser client.\n\n```typescript\nconst token = await admin.auth().createCustomToken(uid, {\n  role?:   \"user\" | \"admin\" | \"anon\",  // default: \"user\"\n  claims?: Record<string, unknown>,\n  ttl?:   string,                      // e.g. \"1h\", \"7d\"\n});\n```\n\n### `admin.auth().getTicket(uid, opts?)`\n\nMint a one-time ticket for WebSocket auth flows.\n\n```typescript\nconst ticket = await admin.auth().getTicket(uid, {\n  role?:       \"user\" | \"admin\" | \"anon\",\n  email?:      string,\n  sid?:        string,\n  ttlSeconds?: number,\n  ip?:         string,\n});\n\n// ticket shape:\n// {\n//   ticket: \"websocket:550e8400-...\",\n//   tag: \"websocket\",\n//   uuid: \"550e8400-...\",\n//   expires_at: \"2026-04-15T12:34:56Z\",\n//   one_time: true,\n//   uid: \"user_123\",\n//   role: \"user\",\n//   ip: \"203.0.113.20\"\n// }\n```\n\n---\n\n## Database\n\n```typescript\n// One-shot queries (bypasses security rules)\nconst users = await admin.db().collection(\"users\").get();\n\nawait admin.db().collection(\"users\").doc(\"alice\").set({ name: \"Alice\" });\nawait admin.db().collection(\"users\").update(\"alice\", { plan: \"pro\" });\nawait admin.db().collection(\"users\").doc(\"alice\").update({ plan: \"pro\" });\nawait admin.db().collection(\"users\").doc(\"alice\").delete();\n\n// Rich queries\nconst seniors = await admin.db()\n  .collection(\"users\")\n  .where({ age: \">= 60\" })\n  .orderBy(\"name\")\n  .limit(10)\n  .get();\n```\n\n### Query Builder\n\n`admin.db().collection(...)` supports the full structured query API:\n\n**Filters:** `where`, `and`, `or`, `in`, `andIn`, `orIn`, `notIn`, `andNotIn`, `orNotIn`, `arrayContains`, `andArrayContains`, `orArrayContains`, `arrayContainsAny`, `andArrayContainsAny`, `orArrayContainsAny`, `some`, `andSome`, `orSome`, `like`, `andLike`, `orLike`, `notLike`, `andNotLike`, `orNotLike`, `exists`, `andExists`, `orExists`, `notExists`, `andNotExists`, `orNotExists`\n\n**Sort / cursor / aggregate:** `latest`, `newest`, `oldest`, `orderBy`, `limit`, `offset`, `startAt`, `startAfter`, `endAt`, `endBefore`, `count`, `sum`, `avg`, `min`, `max`, `distinct`, `groupBy`, `having`, `select`, `distinctField`, `vectorSearch`\n\n**Joins:** `join`, `Join`, `joinNested`, `JoinNested`, `withRelation`\n\n```typescript\nconst rows = await admin.db()\n  .collection(\"boards\")\n  .where({ uid: userId })\n  .orSome(\"team\", { uid: userId })\n  .join(\"lists\",   { source: \"id\",       target: \"boardId\", as: \"lists\" })\n  .join(\"users\",   { source: \"team.uid\", target: \"id\",      as: \"teamMembers\" })\n  .joinNested(\"lists\", \"cards\", { source: \"id\", target: \"listId\", as: \"cards\" })\n  .withRelation(\"team.uid->users.id as collaborators\")\n  .orderBy(\"updatedAt\", \"desc\")\n  .limit(20)\n  .get();\n```\n\n### Bulk Writes (Memory Efficient)\n\n`addMany`, `updateMany`, and id-based `deleteMany` run in bounded chunks so large datasets can be processed with controlled memory usage.\n\n```typescript\nconst users = admin.db().collection<{ name: string; plan?: string }>(\"users\");\n\nconst addResult = await users.addMany(\n  [{ name: \"Alice\" }, { name: \"Bob\" }],\n  {\n    batchSize: 500,\n    concurrency: 8,\n    onProgress: (p) => {\n      console.log(\"addMany\", p.processed, p.total, p.percent);\n    },\n  },\n);\n\nconst updateResult = await users.updateMany(\n  [\n    { id: \"user_1\", data: { plan: \"pro\" } },\n    { id: \"user_2\", data: { plan: \"team\" } },\n  ],\n  { continueOnError: true },\n);\n\n// Delete specific ids with progress\nconst deleteByIdsResult = await users.deleteMany([\"user_3\", \"user_4\"], {\n  onProgress: (p) => console.log(\"deleteMany(ids)\", p.processed, p.total),\n});\n\n// Existing query-based deleteMany remains available\nconst deletedByQueryCount = await admin.db()\n  .collection(\"users\")\n  .where({ plan: \"free\" })\n  .deleteMany();\n\nconsole.log({ addResult, updateResult, deleteByIdsResult, deletedByQueryCount });\n```\n\n```typescript\n// Stream input from an async source (best for huge datasets)\nasync function* rows() {\n  for (let i = 0; i < 1_000_000; i += 1) {\n    yield { name: `user-${i}` };\n  }\n}\n\nawait admin.db().collection(\"users\").addMany(rows(), { batchSize: 1000, concurrency: 4 });\n```\n\n### `allowSensitiveAuthUserFields(false)`\n\nAuth-user joins default to full fields. Pass `false` to restrict to public-profile-only output:\n\n```typescript\nconst safeBoards = await admin.db()\n  .collection(\"boards\")\n  .join(\"users\", { source: \"team.uid\", target: \"id\", as: \"team\" })\n  .allowSensitiveAuthUserFields(false)\n  .get();\n```\n\n### `getRawQuery()`\n\nInspect the structured query that will be sent:\n\n```typescript\nconst raw = admin.db()\n  .collection(\"boards\")\n  .where({ uid: userId })\n  .getRawQuery();\n\nconsole.log(raw.collection, raw.query);\n```\n\n---\n\n## Realtime\n\n### `admin.live().collection(...).onSnapshot(cb)`\n\nSingle-snapshot subscription — fires once on the initial data load, then auto-unsubscribes:\n\n```typescript\nconst unsub = admin.live()\n  .collection(\"orders\")\n  .where({ status: \"pending\" })\n  .orderBy(\"createdAt\", \"desc\")\n  .onSnapshot((snap) => {\n    console.log(snap.type, snap.data);\n  });\n```\n\n### `.stream(options?)` — live batched stream\n\nReturns a long-lived `AdminCollectionStream<T>` that maintains a local snapshot and fans out batched change events to listeners.\n\n```typescript\nconst stream = admin.live()\n  .collection(\"orders\")\n  .where({ status: \"pending\" })\n  .stream({\n    flushMs?:      number,                   // batch flush delay in ms (default: 24)\n    maxBatchSize?: number,                   // max changes per flush (default: 200)\n    insertAt?:     \"start\" | \"end\",          // where new docs land (default: \"end\")\n    maxDocs?:      number,                   // cap the local snapshot size\n    sort?:         (a: T, b: T) => number,   // comparator applied after each flush\n    idField?:      string,                   // identity field name (default: \"id\")\n    getId?:        (doc: T) => string,       // custom id extractor\n  });\n\n// Subscribe to changes\nconst off = stream.listen((docs, meta) => {\n  console.log(meta.reason, meta.version, docs.length);\n  // meta.reason: \"snapshot\" | \"change-batch\"\n  // meta.ready:  true after the first snapshot arrives\n});\n\n// Read the current snapshot without subscribing\nconst current = stream.getSnapshot();\n\n// Remove a specific listener (does not close the stream)\noff();\n\n// Close the stream and release the WebSocket subscription\nstream.close();\n```\n\n### `.asStore(options?)` — framework-agnostic external store\n\nReturns an `AdminCollectionExternalStore<T>` compatible with React `useSyncExternalStore` or any subscribe/getSnapshot pattern:\n\n```typescript\nconst store = admin.live()\n  .collection(\"orders\")\n  .asStore({ flushMs: 50 });\n\n// React\nimport { useSyncExternalStore } from \"react\";\nconst orders = useSyncExternalStore(store.subscribe, store.getSnapshot);\n\n// Or directly\nconst unsub = store.subscribe(() => {\n  console.log(store.getSnapshot());\n});\n\nstore.close(); // release when done\n```\n\n### Realtime query builder parity\n\nThe same query builder surface (`where`, `orderBy`, `join`, `limit`, etc.) is available on `admin.live().collection(...)` just like on `admin.db().collection(...)`.\n\n---\n\n## Security rules\n\nOnce a client calls `flare.auth(token)`, the FlareServer socket has:\n\n```\nauth.uid   = the uid you passed to createCustomToken()\nauth.role  = \"user\" | \"admin\" | \"anon\"\n```\n\n```json\n{\n  \"users\":    { \".read\": \"auth != null\",          \".write\": \"auth.uid == $docId\" },\n  \"posts\":    { \".read\": \"true\",                  \".write\": \"auth != null\" },\n  \"settings\": { \".read\": \"auth != null\",          \".write\": \"auth.role == 'admin'\" },\n  \"*\":        { \".read\": \"false\",                 \".write\": \"false\" }\n}\n```\n\n---\n\n## Multi-tenant / multiple apps\n\n```typescript\nconst adminA = connectApp({ serverUrl, appId: \"app-a\", adminKey: \"...\" }, \"a\");\nconst adminB = connectApp({ serverUrl, appId: \"app-b\", adminKey: \"...\" }, \"b\");\n\nconst tokenA = await getApp(\"a\").auth().createCustomToken(userId);\nconst tokenB = await getApp(\"b\").auth().createCustomToken(userId);\n\ndisconnectAllApps();\n```\n\n---\n\n## Data Mapper\n\nPass `dataMapper` in `connectApp(...)` to shape inbound data. Keys match collection names or join aliases (`as`).\n\n```typescript\nconst admin = connectApp({\n  serverUrl: process.env.FLARE_URL!,\n  appId:     process.env.FLARE_APP_ID!,\n  adminKey:  process.env.FLARE_ADMIN_KEY!,\n  dataMapper: {\n    boards: (row) => ({\n      id:        row.id,\n      name:      row.name,\n      createdAt: new Date(row.createdAt ?? row.created_at),\n    }),\n    team: (row) => ({\n      id:    row.id,\n      name:  row.authMeta?.additionalParams?.name || \"Unknown\",\n      email: row.email,\n    }),\n  },\n});\n```\n\nFor `join(..., { as: \"team\" })`, define `dataMapper.team`.\n\n---\n\n## Storage API (S3-like)\n\n```typescript\nimport { connectApp, AdminStorageSignedAction } from \"@zuzjs/flare-admin\";\n\nconst storage = admin.storage();\n\nawait storage.createBucket(\"reports\");\n\nawait storage.putObject({\n  bucket:      \"reports\",\n  key:         \"weekly/summary.json\",\n  body:        Buffer.from(JSON.stringify({ ok: true })),\n  contentType: \"application/json\",\n  access:      \"public\",\n  // encrypt defaults to false when omitted\n});\n\nconst uploaded = await storage.putObject({\n  bucket:      \"reports\",\n  key:         \"weekly/private-summary.json\",\n  body:        Buffer.from(JSON.stringify({ ok: true, scope: \"internal\" })),\n  contentType: \"application/json\",\n  access:      \"private\",\n  encrypt:     true,\n});\n\nconsole.log(uploaded.key);\nconsole.log(uploaded.access);\nconsole.log(uploaded.url);\n\nconst meta       = await storage.headObject({ bucket: \"reports\", key: \"weekly/summary.json\" });\nconsole.log(meta.access, meta.url);\n\nconst downloaded = await storage.getObject({ bucket: \"reports\", key: \"weekly/summary.json\", decrypt: true });\n\nconst listed = await storage.listObjects({ bucket: \"reports\", prefix: \"weekly/\" });\nconsole.log(listed.objects[0]?.access, listed.objects[0]?.url);\n\nawait storage.deleteObjects({ bucket: \"reports\", keys: [\"weekly/summary.json\"] });\n```\n\n### Signed URLs\n\n```typescript\nconst signedUpload = await admin.createSignedUrl({\n  bucket:           \"reports\",\n  key:              \"uploads/big-video.mp4\",\n  action:           AdminStorageSignedAction.Upload,\n  expiresInSeconds: 300,\n  contentType:      \"video/mp4\",\n  access:           \"private\",\n  encrypt:          true,\n});\n\nawait fetch(signedUpload.url, {\n  method:  signedUpload.method,\n  headers: { \"Content-Type\": \"video/mp4\" },\n  body:    videoBuffer,\n});\n\nconst signedDownload = await admin.createSignedUrl({\n  bucket:           \"reports\",\n  key:              \"uploads/big-video.mp4\",\n  action:           AdminStorageSignedAction.Download,\n  expiresInSeconds: 300,\n  decrypt:          true,\n  allowedOrigins:   [\"https://app.example.com\"],\n});\n```\n\nNotes:\n- `putObject()` defaults to `encrypt: false` and `access: \"public\"`.\n- Upload, head, and list responses all surface `access` and `url` so you can carry public/private intent alongside the object key.\n- `forceDownload` and `embedOnly` are mutually exclusive.\n- `allowedOrigins` defaults to `['*']` if omitted.\n\n### Direct download helpers\n\n```typescript\nconst directUrl = await admin.getObjectUrl({\n  bucket:           \"reports\",\n  key:              \"weekly/summary.json\",\n  expiresInSeconds: 120,\n  allowedOrigins:   [\"*\"],\n});\n\nconst triggered = await admin.downloadObject({\n  bucket:         \"reports\",\n  key:            \"weekly/summary.json\",\n  filename:       \"summary.json\",\n  forceDownload:  true,\n  allowedOrigins: [\"https://app.example.com\"],\n});\n```\n\n### Storage rules\n\n```txt\nservice zuz.storage {\n  match /storage/{bucket}/objects {\n    match /{document=**} {\n      allow read: if auth != null;\n\n      allow write: if auth != null\n        && requestData.storage.usage.storageBytes + requestData.size\n           <= requestData.storage.plan.storageBytes;\n\n      allow delete: if auth != null;\n    }\n  }\n}\n```\n\n### External AWS SDK from Flare `/aws` config\n\n```typescript\nimport { S3Client, PutObjectCommand } from \"@aws-sdk/client-s3\";\n\nconst aws = await admin.storage().awsConfig(\"storage-server-id\");\n\nconst s3 = new S3Client({\n  endpoint:       aws.endpoint,\n  region:         aws.region,\n  forcePathStyle: Boolean(aws.forcePathStyle),\n  credentials: {\n    accessKeyId:     aws.accessKeyId,\n    secretAccessKey: aws.secretAccessKey,\n  },\n});\n\nawait s3.send(new PutObjectCommand({\n  Bucket:      aws.bucket,\n  Key:         `${aws.prefix ?? \"\"}manual/test.txt`,\n  Body:        \"hello\",\n  ContentType: \"text/plain\",\n}));\n```\n\n---\n\n## Push Notifications\n\n```typescript\nawait admin.notifications().send({\n  uid:   \"user_123\",\n  title: \"Hello\",\n  body:  \"Your order shipped!\",\n  data:  { orderId: \"abc\" },\n});\n```\n","readmeFilename":"README.md"}