{"_id":"@anonhive/sdk","_rev":"9-6a1717f383589b313d95ebad72306b42","name":"@anonhive/sdk","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.1":{"name":"@anonhive/sdk","version":"0.0.1","keywords":["anonhive","upload","file","ephemeral","anonymous","sdk","s3","r2"],"author":{"name":"AnonHive"},"license":"MIT","_id":"@anonhive/sdk@0.0.1","maintainers":[{"name":"alexsan0x","email":"alexsan0x@proton.me"}],"homepage":"https://anonhive.space","bugs":{"url":"https://github.com/anonhive/sdk/issues"},"dist":{"shasum":"81fbf2cba6385789cfa890403bc55e8e4bf032fb","tarball":"https://registry.npmjs.org/@anonhive/sdk/-/sdk-0.0.1.tgz","fileCount":6,"integrity":"sha512-zpL9Rvu9bt9roG2lPoVo1r1LCo7zHv5Ai8k7mCMJDLt+rcHC4v6VnJ8yDUaocZjcDtjyEnVi58UWq2YLFB5/zg==","signatures":[{"sig":"MEQCIFAC/zqBKrqsOxyFAycnuREs4oA7Th/+cbjrHDVR1JpYAiAQJyRI7Ap5WuCytoxY3qQXgI/1N33+hbndWEXYE4G+gA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":352531},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"042bfebc26e3782321b5eda2be14de3f947a7c1b","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch --no-splitting --external @noble/hashes","build":"tsup src/index.ts --format cjs,esm --dts --clean --no-splitting --external @noble/hashes","prepublishOnly":"bun run build"},"_npmUser":{"name":"alexsan0x","email":"alexsan0x@proton.me"},"repository":{"url":"git+https://github.com/anonhive/sdk.git","type":"git"},"_npmVersion":"11.13.0","description":"AnonHive official JavaScript SDK — ephemeral file uploads with expiry, download limits, and password protection.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@noble/hashes":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","typescript":"^5.9.3","@anonhive/shared":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1_1781797685962_0.8150924603599552","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@anonhive/sdk","version":"0.0.2","keywords":["anonhive","upload","file","ephemeral","anonymous","sdk"],"author":{"name":"AnonHive"},"license":"MIT","_id":"@anonhive/sdk@0.0.2","maintainers":[{"name":"alexsan0x","email":"alexsan0x@proton.me"}],"homepage":"https://anonhive.space","bugs":{"url":"https://github.com/anonhive/sdk/issues"},"dist":{"shasum":"83f3fd6b647f65a0881f4b48db792e873098eb39","tarball":"https://registry.npmjs.org/@anonhive/sdk/-/sdk-0.0.2.tgz","fileCount":6,"integrity":"sha512-JrUOgxC32HuMLiKikKlcMqD8ilF611aEAac/zMxOwUbW7Sc7JmCdy2C42R6pqlgbE+CAxQwKasA0RgsuEP2s5w==","signatures":[{"sig":"MEYCIQDwVEgFI0NYygr2wiGTKIZSyFbDMIxtgPVEh2DUHMlm5gIhALJfuGRy3CFiScnEknlUJxbDcB7eVf/sxBZah+zbk9tK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":352531},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"01d571933236c293c2a197fc0491f257fab90462","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch --no-splitting --external @noble/hashes","build":"tsup src/index.ts --format cjs,esm --dts --clean --no-splitting --external @noble/hashes","prepublishOnly":"bun run build"},"_npmUser":{"name":"alexsan0x","email":"alexsan0x@proton.me"},"repository":{"url":"git+https://github.com/anonhive/sdk.git","type":"git"},"_npmVersion":"11.13.0","description":"AnonHive official JavaScript SDK — ephemeral file uploads with expiry, download limits, and password protection.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@noble/hashes":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","typescript":"^5.9.3","@anonhive/shared":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.2_1781800586837_0.9280009125773991","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@anonhive/sdk","version":"0.0.3","keywords":["anonhive","upload","file","ephemeral","anonymous","sdk"],"author":"AnonHive","license":"MIT","_id":"@anonhive/sdk@0.0.3","maintainers":[{"name":"alexsan0x","email":"alexsan0x@proton.me"}],"homepage":"https://anonhive.space","dist":{"shasum":"0b0e1f642cb65610cd14ef11d2eec4775508b576","tarball":"https://registry.npmjs.org/@anonhive/sdk/-/sdk-0.0.3.tgz","fileCount":6,"integrity":"sha512-hRuZonhVKbWO7zZBf6/ieQ1QwJJxSWLFQTT1OwskLgCHfE12As8QGR2vtGMjsx8MnegI6L1oEJAjNisgVV2VRg==","signatures":[{"sig":"MEQCIHTVTqNCkkmPTKYtjcrqt2XtN91XjzC4ls0V4OZKl79HAiB7j5Hzvd6pdge6htOwYlR8Rr+uHB+6XxAGUHRtjzy86A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":357287},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","shasum":"0b0e1f642cb65610cd14ef11d2eec4775508b576","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch --no-splitting --external @noble/hashes","build":"tsup src/index.ts --format cjs,esm --dts --clean --no-splitting --external @noble/hashes","prepublishOnly":"bun run build"},"_npmUser":{"name":"alexsan0x","email":"alexsan0x@proton.me"},"_integrity":"sha512-hRuZonhVKbWO7zZBf6/ieQ1QwJJxSWLFQTT1OwskLgCHfE12As8QGR2vtGMjsx8MnegI6L1oEJAjNisgVV2VRg==","repository":{"url":"git+https://github.com/anonhive/sdk.git","type":"git"},"_npmVersion":"10.8.3","description":"AnonHive official JavaScript SDK — ephemeral file uploads with expiry, download limits, and password protection.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@noble/hashes":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","typescript":"^5.9.3","@anonhive/shared":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.3_1781822737944_0.10798038516744923","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@anonhive/sdk","version":"0.0.4","keywords":["anonhive","upload","file","ephemeral","anonymous","sdk"],"author":{"name":"AnonHive"},"license":"MIT","_id":"@anonhive/sdk@0.0.4","maintainers":[{"name":"alexsan0x","email":"alexsan0x@proton.me"}],"homepage":"https://anonhive.space","bugs":{"url":"https://github.com/anonhive/sdk/issues"},"dist":{"shasum":"383d514a1423684638c339145132ab8c2b6712e3","tarball":"https://registry.npmjs.org/@anonhive/sdk/-/sdk-0.0.4.tgz","fileCount":6,"integrity":"sha512-X+NLj6B1lL/J8QTabNXAhsCQ7wfhKbRswUyp+M3s1nrIWAVZUulMsJikEJ0UQXfuNV+st/SBucSJeSY3vK1e8g==","signatures":[{"sig":"MEUCICR/AZ4tgC3lelubY80D3jsebovtx1xXrlRafFYRT3kcAiEAlBwfwCc+aCNe0cScrOUkXdJBkHE3ybox9ESgv0rEW+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356758},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e04e6ec551ee2034a99031729952c5ada46ea047","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch --no-splitting --external @noble/hashes","build":"tsup src/index.ts --format cjs,esm --dts --clean --no-splitting --external @noble/hashes","prepublishOnly":"bun run build"},"_npmUser":{"name":"alexsan0x","email":"alexsan0x@proton.me"},"repository":{"url":"git+https://github.com/anonhive/sdk.git","type":"git"},"_npmVersion":"11.13.0","description":"AnonHive official JavaScript SDK — ephemeral file uploads with expiry, download limits, and password protection.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@noble/hashes":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","typescript":"^5.9.3","@anonhive/shared":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.4_1781870511786_0.5979024715054038","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@anonhive/sdk","version":"0.0.5","keywords":["anonhive","upload","file","ephemeral","anonymous","sdk"],"author":{"name":"AnonHive"},"license":"MIT","_id":"@anonhive/sdk@0.0.5","maintainers":[{"name":"alexsan0x","email":"alexsan0x@proton.me"}],"homepage":"https://anonhive.space","bugs":{"url":"https://github.com/anonhive/sdk/issues"},"dist":{"shasum":"0f740a4f7e88b70c31649fb235c3f2769d127745","tarball":"https://registry.npmjs.org/@anonhive/sdk/-/sdk-0.0.5.tgz","fileCount":6,"integrity":"sha512-K2yhBXr+LHFARnqVI3xLmMR+2Duvs4Gjs6WNkV+InrzKjy586kGOfIrc7+KK1MLHdDy3ftIsDQtcSiLajowzUg==","signatures":[{"sig":"MEUCIQDbl2ZvLmVKRpXxnti3DJ8o+uHgy4Qdie1CLCAxmCQmPgIgdYDeq3NiY6Bz4gY2zisDn3zrFbHXppkktHQgKERwb5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356682},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7391b9ecf0d7867512fb4a3c6620c41d8f5e8790","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch --no-splitting --external @noble/hashes","build":"tsup src/index.ts --format cjs,esm --dts --clean --no-splitting --external @noble/hashes","prepublishOnly":"bun run build"},"_npmUser":{"name":"alexsan0x","email":"alexsan0x@proton.me"},"repository":{"url":"git+https://github.com/anonhive/sdk.git","type":"git"},"_npmVersion":"11.13.0","description":"AnonHive official JavaScript SDK — ephemeral file uploads with expiry, download limits, and password protection.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@noble/hashes":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","typescript":"^5.9.3","@anonhive/shared":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.5_1781870808028_0.4550841357878779","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@anonhive/sdk","version":"0.0.6","keywords":["anonhive","upload","file","ephemeral","anonymous","sdk"],"author":{"name":"AnonHive"},"license":"MIT","_id":"@anonhive/sdk@0.0.6","maintainers":[{"name":"alexsan0x","email":"alexsan0x@proton.me"}],"homepage":"https://anonhive.space","bugs":{"url":"https://github.com/anonhive/sdk/issues"},"dist":{"shasum":"183b56f0061b638cfa4664557051587407262186","tarball":"https://registry.npmjs.org/@anonhive/sdk/-/sdk-0.0.6.tgz","fileCount":6,"integrity":"sha512-Nlc1DSN1A5JxDRzRV4GyuPzwLBMPNmFnuX6tFvdl0S7/iVYic3hW6WtMhsCjTyhj5nm+04uxgltt2QQvh6QidQ==","signatures":[{"sig":"MEYCIQCtBK+iWA6UfKjVQpFWPjLW0O2BMu2I9a3RHjkbJckYSwIhAOQ2Dm914fsew/mtUIHD1tJe/rsLvrlx6XlU1x4eDUnW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356680},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"95109dcb120f5a9e0485254cc2e9e26edc2384ca","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch --no-splitting --external @noble/hashes","build":"tsup src/index.ts --format cjs,esm --dts --clean --no-splitting --external @noble/hashes","prepublishOnly":"bun run build"},"_npmUser":{"name":"alexsan0x","email":"alexsan0x@proton.me"},"repository":{"url":"git+https://github.com/anonhive/sdk.git","type":"git"},"_npmVersion":"11.13.0","description":"AnonHive official JavaScript SDK — ephemeral file uploads with expiry, download limits, and password protection.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@noble/hashes":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","typescript":"^5.9.3","@anonhive/shared":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.6_1781871189329_0.9615894658120852","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@anonhive/sdk","version":"0.0.7","keywords":["anonhive","upload","file","ephemeral","anonymous","sdk"],"author":{"name":"AnonHive"},"license":"MIT","_id":"@anonhive/sdk@0.0.7","maintainers":[{"name":"alexsan0x","email":"alexsan0x@proton.me"}],"homepage":"https://anonhive.space","bugs":{"url":"https://github.com/anonhive/sdk/issues"},"dist":{"shasum":"d3fd11b598face38c0e18c0936ac1873f770d2cc","tarball":"https://registry.npmjs.org/@anonhive/sdk/-/sdk-0.0.7.tgz","fileCount":6,"integrity":"sha512-LJCQeuClywxNjGGtym3Yv7KpfVIlSz/qajbCCYsWWynAZnm0ywXMF3r9yC3LjmpGk+/a4fwWQYSz9eot0iY7hQ==","signatures":[{"sig":"MEUCIHgFodUJJohcguZdmCcYM6l7BHvrYYOYCX7fK/1pvXQyAiEA3KDGm0pO2wsWJ0wye9p4gZ/VDb6nlWdUdRo8Uv4rZ2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356680},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"73248a8f9e54b32061a084a88e8463bc708d5c9c","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch --no-splitting --external @noble/hashes","build":"tsup src/index.ts --format cjs,esm --dts --clean --no-splitting --external @noble/hashes","prepublishOnly":"bun run build"},"_npmUser":{"name":"alexsan0x","email":"alexsan0x@proton.me"},"repository":{"url":"git+https://github.com/anonhive/sdk.git","type":"git"},"_npmVersion":"11.13.0","description":"AnonHive official JavaScript SDK — ephemeral file uploads with expiry, download limits, and password protection.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@noble/hashes":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","typescript":"^5.9.3","@anonhive/shared":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.7_1781872546275_0.47879528978588115","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@anonhive/sdk","version":"0.0.8","keywords":["anonhive","upload","file","ephemeral","anonymous","sdk"],"author":{"name":"AnonHive"},"license":"MIT","_id":"@anonhive/sdk@0.0.8","maintainers":[{"name":"alexsan0x","email":"alexsan0x@proton.me"}],"homepage":"https://anonhive.space","bugs":{"url":"https://github.com/anonhive/sdk/issues"},"dist":{"shasum":"13312c75d2e82a4c7d11b23d90c07e26fcd78693","tarball":"https://registry.npmjs.org/@anonhive/sdk/-/sdk-0.0.8.tgz","fileCount":6,"integrity":"sha512-o3qHJC6ZuhfQ8Rgi8/Qer9zQgABy9oqp6L+xbskegWzdvesU1UYtHhPPsiakMS6rqYO0jvZTILG4wuWGFaYm5A==","signatures":[{"sig":"MEUCIGH9N/amaNUkP4E0bKljEbTLeZQPKFxUgS2MVR1tzJD2AiEA7zdA4Xc42QhepGYMpwQL7c+XSPgblatp7OQX+rc6mnE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":358082},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7292b4263f781354edfa0eeb5e794219450adbe4","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch --no-splitting --external @noble/hashes","build":"tsup src/index.ts --format cjs,esm --dts --clean --no-splitting --external @noble/hashes","prepublishOnly":"bun run build"},"_npmUser":{"name":"alexsan0x","email":"alexsan0x@proton.me"},"repository":{"url":"git+https://github.com/anonhive/sdk.git","type":"git"},"_npmVersion":"11.13.0","description":"AnonHive official JavaScript SDK — ephemeral file uploads with expiry, download limits, and password protection.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@noble/hashes":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","typescript":"^5.9.3","@anonhive/shared":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.8_1781873150404_0.3751451952668672","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@anonhive/sdk","version":"0.0.9","description":"AnonHive official JavaScript SDK — ephemeral file uploads with expiry, download limits, and password protection.","license":"MIT","author":{"name":"AnonHive"},"homepage":"https://anonhive.space","repository":{"type":"git","url":"git+https://github.com/anonhive/sdk.git"},"keywords":["anonhive","upload","file","ephemeral","anonymous","sdk"],"main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.js","import":"./dist/index.mjs"}},"publishConfig":{"access":"public"},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean --no-splitting --external @noble/hashes","dev":"tsup src/index.ts --format cjs,esm --dts --watch --no-splitting --external @noble/hashes","prepublishOnly":"bun run build"},"dependencies":{"@noble/hashes":"^1.4.0"},"devDependencies":{"@anonhive/shared":"workspace:*","tsup":"^8.1.0","typescript":"^5.9.3"},"gitHead":"103d5efb195fb972c0cceb9a50bc4ec72d6d3387","_id":"@anonhive/sdk@0.0.9","bugs":{"url":"https://github.com/anonhive/sdk/issues"},"_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-K5OZbNxt5qagEon0HA+6QcQIBoEA6n5+eUUMc96iwpPX4t6b9jQZCnF/7ZBmJ00jUqUBhA5Dc0XCCwOOacq6pA==","shasum":"f81dd59803ca46abc26b8b4bbbfbe717ac3283a4","tarball":"https://registry.npmjs.org/@anonhive/sdk/-/sdk-0.0.9.tgz","fileCount":6,"unpackedSize":358614,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDoMXshXo6eyzjP/y4ubD4KBkXI3T791ejqLbixYsz1lQIhANlKvsIR/Ez+7Z7q6AcGHUpL5bG56HpwH6sBRBol6kJ6"}]},"_npmUser":{"name":"alexsan0x","email":"alexsan0x@proton.me"},"directories":{},"maintainers":[{"name":"alexsan0x","email":"alexsan0x@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.0.9_1781888063219_0.7230545120375929"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-18T15:48:05.820Z","modified":"2026-06-19T16:54:23.494Z","0.0.1":"2026-06-18T15:48:06.094Z","0.0.2":"2026-06-18T16:36:26.982Z","0.0.3":"2026-06-18T22:45:38.087Z","0.0.4":"2026-06-19T12:01:51.923Z","0.0.5":"2026-06-19T12:06:48.167Z","0.0.6":"2026-06-19T12:13:09.526Z","0.0.7":"2026-06-19T12:35:46.479Z","0.0.8":"2026-06-19T12:45:50.550Z","0.0.9":"2026-06-19T16:54:23.359Z"},"bugs":{"url":"https://github.com/anonhive/sdk/issues"},"author":{"name":"AnonHive"},"license":"MIT","homepage":"https://anonhive.space","keywords":["anonhive","upload","file","ephemeral","anonymous","sdk"],"repository":{"type":"git","url":"git+https://github.com/anonhive/sdk.git"},"description":"AnonHive official JavaScript SDK — ephemeral file uploads with expiry, download limits, and password protection.","maintainers":[{"name":"alexsan0x","email":"alexsan0x@proton.me"}],"readme":"# @anonhive/sdk\n\n**The official JavaScript SDK for [AnonHive](https://anonhive.space)** — ephemeral file hosting with expiry, download limits, and password protection.\n\n```bash\nnpm install @anonhive/sdk\n# or\nbun add @anonhive/sdk\n# or\npnpm add @anonhive/sdk\n```\n\n---\n\n## Quick Start\n\n```typescript\nimport { AnonHive } from \"@anonhive/sdk\";\n\nconst hive = new AnonHive({ apiKey: \"ah_YOUR_KEY\" });\n\nconst result = await hive.files.upload({\n  file: new Blob([\"Hello world\"], { type: \"text/plain\" }),\n  name: \"hello.txt\",\n  expiresIn: \"24h\",\n  maxDownloads: 5,\n});\n\nconsole.log(result.url); // https://anonhive.space/f/abc123\n```\n\n---\n\n## Server-Side Upload\n\nUse `hive.files.upload()` when uploading from your **backend**. Your API key never touches the client.\n\n```typescript\nimport { AnonHive } from \"@anonhive/sdk\";\nimport fs from \"fs\";\n\nconst hive = new AnonHive({ apiKey: process.env.ANONHIVE_API_KEY! });\n\n// From a File/Blob\nconst file = new Blob([fs.readFileSync(\"./invoice.pdf\")], { type: \"application/pdf\" });\n\nconst result = await hive.files.upload({\n  file,\n  name: \"invoice.pdf\",\n  expiresIn: \"7d\",        // \"1h\" | \"24h\" | \"7d\" | \"30d\" | \"365d\" | \"never\"\n  maxDownloads: 3,        // auto-delete after 3 downloads\n  password: \"secret123\",  // optional password gate\n});\n\nconsole.log(result.shareUrl);   // shareable link\nconsole.log(result.downloadUrl); // direct download URL\nconsole.log(result.deleteToken); // use to delete before expiry\n```\n\n---\n\n## Client-Side Upload (Two-Step)\n\nFor browser uploads, use a **session-based flow** so your API key stays on the server.\n\n### 1. Create a session on your backend\n\n```typescript\n// server.ts (Next.js API route, Express, Fastify, etc.)\nimport { AnonHive } from \"@anonhive/sdk\";\n\nconst hive = new AnonHive({ apiKey: process.env.ANONHIVE_API_KEY! });\n\n// POST /api/upload-session\nexport async function POST(req: Request) {\n  const { name, size, mimeType } = await req.json();\n\n  const session = await hive.files.createClientSession({\n    name,\n    size,\n    mimeType,\n    expiresIn: \"24h\",\n    maxDownloads: 10,\n  });\n\n  return Response.json(session);\n}\n```\n\n### 2. Upload from the browser\n\n```typescript\n// client.ts (React, Vue, vanilla JS, etc.)\nimport { uploadToSession } from \"@anonhive/sdk\";\n\nasync function uploadFile(file: File) {\n  // Fetch session from your backend\n  const session = await fetch(\"/api/upload-session\", {\n    method: \"POST\",\n    headers: { \"Content-Type\": \"application/json\" },\n    body: JSON.stringify({ name: file.name, size: file.size, mimeType: file.type }),\n  }).then((r) => r.json());\n\n  // Upload directly — no API key needed here\n  const result = await uploadToSession(session, file);\n  console.log(result.shareUrl);\n}\n```\n\n---\n\n## API Reference\n\n### `new AnonHive(options)`\n\n| Option   | Type     | Required | Description                                        |\n|----------|----------|----------|----------------------------------------------------|\n| `apiKey` | `string` | ✅        | Your AnonHive API key (`ah_...`)                  |\n| `apiUrl` | `string` | ❌        | Override base URL (default: `https://api.anonhive.space`) |\n\n---\n\n### `hive.files.upload(options)` → `Promise<UploadResult & { url: string }>`\n\n| Option         | Type                | Default  | Description                              |\n|----------------|---------------------|----------|------------------------------------------|\n| `file`         | `File \\| Blob`      | required | The file to upload                       |\n| `name`         | `string`            | `\"upload\"` | File name                              |\n| `expiresIn`    | `LinkExpiryOption`  | `\"never\"`  | When the link expires                    |\n| `maxDownloads` | `number`            | —        | Max downloads before auto-delete         |\n| `password`     | `string`            | —        | Optional password gate                   |\n\n---\n\n### `hive.files.createClientSession(options)` → `Promise<ClientSession>`\n\n| Option         | Type               | Default  | Description                     |\n|----------------|--------------------|----------|---------------------------------|\n| `name`         | `string`           | required | File name                       |\n| `size`         | `number`           | required | File size in bytes               |\n| `mimeType`     | `string`           | required | MIME type                        |\n| `expiresIn`    | `LinkExpiryOption` | `\"never\"`  | When the link expires            |\n| `maxDownloads` | `number`           | —        | Max downloads before auto-delete |\n| `password`     | `string`           | —        | Optional password gate           |\n\n---\n\n### `uploadToSession(session, file)` → `Promise<UploadResult>`\n\nBrowser-safe upload using a session from `createClientSession`. No API key required.\n\n---\n\n### `UploadResult`\n\n```typescript\ninterface UploadResult {\n  publicId: string;\n  shareUrl: string;     // Share page link\n  downloadUrl: string;  // Direct download link\n  deleteToken: string;  // Token to delete the file early\n  status: string;\n}\n```\n\n---\n\n### `LinkExpiryOption`\n\n```typescript\ntype LinkExpiryOption = \"1h\" | \"24h\" | \"7d\" | \"30d\" | \"365d\" | \"never\";\n```\n\n---\n\n## Plans & Limits\n\n| Plan    | Price       | Storage | Bandwidth  | Rate Limit    | Max Retention |\n|---------|-------------|---------|------------|---------------|---------------|\n| Hobby   | Free        | 25 GB   | 250 GB/mo  | 60 req/min    | 30 days       |\n| Pro     | $19.99/mo   | 250 GB  | 2 TB/mo    | 300 req/min   | 1 year        |\n| Scale   | $79.99/mo   | 1 TB    | 10 TB/mo   | 1,000 req/min | Permanent     |\n\n---\n\n## License\n\nMIT © [AnonHive](https://anonhive.space)\n","readmeFilename":"README.md"}