{"_id":"@airnauts/airside-storage-vercel-blob","_rev":"7-1c2cff593354d9cb13a4b0b4eb58c561","name":"@airnauts/airside-storage-vercel-blob","dist-tags":{"latest":"0.10.1"},"versions":{"0.8.0":{"name":"@airnauts/airside-storage-vercel-blob","version":"0.8.0","keywords":["comments","commenting","annotations","feedback","airnauts","storage","vercel","blob"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-vercel-blob@0.8.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"8478317ea11b7409587c15a02eb0ca2658aa71b9","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-vercel-blob/-/airside-storage-vercel-blob-0.8.0.tgz","fileCount":7,"integrity":"sha512-BHYMSd6n3/gmqCHmbY0V17OFHKmf8WcKwQ+qDztGJzt7uoHjl5983L7QXQE9nV29vat5nUzm3VPEB4SpjCY8rQ==","signatures":[{"sig":"MEQCICBAFr+Ds3HI3rTG/6Sb3HJ5baec9MN9WFCQDnqJlgcKAiAZYn/mzrrxg4SwR08Sf5rjF7ah+AkXyXd3NJ3i3Z7TFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9816},"type":"module","_from":"file:airnauts-airside-storage-vercel-blob-0.8.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/de10b7040815e3ca970066e91f470777/airnauts-airside-storage-vercel-blob-0.8.0.tgz","_integrity":"sha512-BHYMSd6n3/gmqCHmbY0V17OFHKmf8WcKwQ+qDztGJzt7uoHjl5983L7QXQE9nV29vat5nUzm3VPEB4SpjCY8rQ==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/storage-vercel-blob"},"_npmVersion":"10.9.8","description":"Vercel Blob attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@vercel/blob":"^1.1.1","@airnauts/airside-core":"^0.8.0","@airnauts/airside-server":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-vercel-blob_0.8.0_1781601753383_0.6969681031638058","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@airnauts/airside-storage-vercel-blob","version":"0.8.1","keywords":["comments","commenting","annotations","feedback","airnauts","storage","vercel","blob"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-vercel-blob@0.8.1","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"7a49dee19441b911c67e341f5c6a450491618cf1","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-vercel-blob/-/airside-storage-vercel-blob-0.8.1.tgz","fileCount":7,"integrity":"sha512-+wQcdPrC6UsoFRD+Z/G02FlD9bgO7R5UZ6rFJ4ZGgrcjvzmVfP2hyioQuVgmlJoSpZEy1YvlYM0Lph3Snc1r4A==","signatures":[{"sig":"MEQCIF9wSGHF1z1h35W3D3L0WIfOLdanmxJbPAmm6X+NLCJjAiByVwQn0c3cMEdHW8nZjwomueanJVblgNMX2rGFvtuv2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10269},"type":"module","_from":"file:airnauts-airside-storage-vercel-blob-0.8.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/83e541975b4afc6c341fb08c97282166/airnauts-airside-storage-vercel-blob-0.8.1.tgz","_integrity":"sha512-+wQcdPrC6UsoFRD+Z/G02FlD9bgO7R5UZ6rFJ4ZGgrcjvzmVfP2hyioQuVgmlJoSpZEy1YvlYM0Lph3Snc1r4A==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/storage-vercel-blob"},"_npmVersion":"10.9.8","description":"Vercel Blob attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@vercel/blob":"^1.1.1","@airnauts/airside-core":"^0.8.1","@airnauts/airside-server":"^0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-vercel-blob_0.8.1_1781606538416_0.2332023811942312","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@airnauts/airside-storage-vercel-blob","version":"0.8.2","keywords":["comments","commenting","annotations","feedback","airnauts","storage","vercel","blob"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-vercel-blob@0.8.2","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"2113e8e65b40af8f3bdcd748ec4c689e2545a4c2","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-vercel-blob/-/airside-storage-vercel-blob-0.8.2.tgz","fileCount":7,"integrity":"sha512-H2yi+8tJRWeoONnjKdLhz0y/DWfZaLZo1eBbyupo98dqYmf67nPJQPiYh58eYxiI4NnQ0MpNqpwyQ912ab8dbw==","signatures":[{"sig":"MEQCICjJcKHvvCFCmA1i0IWg2DAcWM/CBwxU5fZ2WBjWkX6tAiAEINqWxEssGC3sXu0rrMc1ZpPQm6mUU9X6lgsdV8kpSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10269},"type":"module","_from":"file:airnauts-airside-storage-vercel-blob-0.8.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/3a3fce788bf3d0faae264e022af0f186/airnauts-airside-storage-vercel-blob-0.8.2.tgz","_integrity":"sha512-H2yi+8tJRWeoONnjKdLhz0y/DWfZaLZo1eBbyupo98dqYmf67nPJQPiYh58eYxiI4NnQ0MpNqpwyQ912ab8dbw==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/storage-vercel-blob"},"_npmVersion":"10.9.8","description":"Vercel Blob attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@vercel/blob":"^1.1.1","@airnauts/airside-core":"^0.8.2","@airnauts/airside-server":"^0.8.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-vercel-blob_0.8.2_1781610338639_0.4893506724972152","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@airnauts/airside-storage-vercel-blob","version":"0.9.0","keywords":["comments","commenting","annotations","feedback","airnauts","storage","vercel","blob"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-vercel-blob@0.9.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"7f395cd43d6231bc45e1aebbad73f9ef71a24191","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-vercel-blob/-/airside-storage-vercel-blob-0.9.0.tgz","fileCount":7,"integrity":"sha512-qxLFSNRmq1BzvqXIr5doj5/BKMnW63UDBhrnL6Fk8L5Js9Xg+v/p5Jc2qDD55rehoNkj9yUNqxB4MIeFqUo4TA==","signatures":[{"sig":"MEYCIQDc3ij+hB+S3xBmmK/T1HMFX4Ehi4LYY8GN2h30p8sg/wIhAMyr+nVli8EIE6Nfc71pTG+hQBdOlPL0slb7SFaKMxsK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10269},"type":"module","_from":"file:airnauts-airside-storage-vercel-blob-0.9.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/a74c1c9055c74e1feb03d490882abfe9/airnauts-airside-storage-vercel-blob-0.9.0.tgz","_integrity":"sha512-qxLFSNRmq1BzvqXIr5doj5/BKMnW63UDBhrnL6Fk8L5Js9Xg+v/p5Jc2qDD55rehoNkj9yUNqxB4MIeFqUo4TA==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/storage-vercel-blob"},"_npmVersion":"10.9.8","description":"Vercel Blob attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@vercel/blob":"^1.1.1","@airnauts/airside-core":"^0.9.0","@airnauts/airside-server":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-vercel-blob_0.9.0_1781622017752_0.17335275015755958","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@airnauts/airside-storage-vercel-blob","version":"0.9.1","keywords":["comments","commenting","annotations","feedback","airnauts","storage","vercel","blob"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-vercel-blob@0.9.1","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"47f7c58abefb3e86bde2eb657613d41d7c4fb0fd","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-vercel-blob/-/airside-storage-vercel-blob-0.9.1.tgz","fileCount":7,"integrity":"sha512-INeM6KJYSq7t/8ZKPNTmn9Hb7nn9vFzSLO9u9tf01Cf5sQBoSGtlmCJOGbjQ93gxrQsYbfigaeg6qlE4C2AKPQ==","signatures":[{"sig":"MEQCIEMDMnDKeAmyjc34ebwhCdXELBxQzbbKUkptc0EOzWdrAiAZlREJD+bCosbgZWdXAkHg0Dbr9nE+GnoMHS0PKCspqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10269},"type":"module","_from":"file:airnauts-airside-storage-vercel-blob-0.9.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/67a5fb0bc515e2e358589972d4e1c342/airnauts-airside-storage-vercel-blob-0.9.1.tgz","_integrity":"sha512-INeM6KJYSq7t/8ZKPNTmn9Hb7nn9vFzSLO9u9tf01Cf5sQBoSGtlmCJOGbjQ93gxrQsYbfigaeg6qlE4C2AKPQ==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/storage-vercel-blob"},"_npmVersion":"10.9.8","description":"Vercel Blob attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@vercel/blob":"^1.1.1","@airnauts/airside-core":"^0.9.1","@airnauts/airside-server":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-vercel-blob_0.9.1_1781770415917_0.09333144747314237","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@airnauts/airside-storage-vercel-blob","version":"0.10.0","keywords":["comments","commenting","annotations","feedback","airnauts","storage","vercel","blob"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-storage-vercel-blob@0.10.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"ec38bedadf457f2b71238c3b256cc08996031607","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-vercel-blob/-/airside-storage-vercel-blob-0.10.0.tgz","fileCount":7,"integrity":"sha512-KzCrDJeokm5VVbQ8dh9/fGzBfeJZk7FQa1/4cdoCfj/Bc9++eoOuctx4HIHdQsDVdCZCAthrxG4bTq2JhN7Ojw==","signatures":[{"sig":"MEUCIACXdnTxlSIR+rS4+soaNv8ulhkpca2ZWfMxvRMHq2NuAiEA4yeY8GDcs8+BMLxkh4OwXHxoHwPPKds6n1NomKrATeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10272},"type":"module","_from":"file:airnauts-airside-storage-vercel-blob-0.10.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/383e013f31e084b7a4d3259371ab30e4/airnauts-airside-storage-vercel-blob-0.10.0.tgz","_integrity":"sha512-KzCrDJeokm5VVbQ8dh9/fGzBfeJZk7FQa1/4cdoCfj/Bc9++eoOuctx4HIHdQsDVdCZCAthrxG4bTq2JhN7Ojw==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/storage-vercel-blob"},"_npmVersion":"10.9.8","description":"Vercel Blob attachment-storage adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@vercel/blob":"^1.1.1","@airnauts/airside-core":"^0.10.0","@airnauts/airside-server":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-storage-vercel-blob_0.10.0_1782730558276_0.9053501699589939","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@airnauts/airside-storage-vercel-blob","version":"0.10.1","description":"Vercel Blob attachment-storage adapter for the Airnauts commenting tool server.","keywords":["comments","commenting","annotations","feedback","airnauts","storage","vercel","blob"],"license":"MIT","author":{"name":"Airnauts"},"homepage":"https://github.com/Airnauts/airside#readme","repository":{"type":"git","url":"git+https://github.com/Airnauts/airside.git","directory":"packages/storage-vercel-blob"},"bugs":{"url":"https://github.com/Airnauts/airside/issues"},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public"},"dependencies":{"@vercel/blob":"^1.1.1","@airnauts/airside-server":"^0.10.1","@airnauts/airside-core":"^0.10.1"},"devDependencies":{"@airnauts/airside-test-support":"0.0.0"},"scripts":{"build":"tsup && tsc --build --force","typecheck":"tsc --build","test":"vitest run"},"_id":"@airnauts/airside-storage-vercel-blob@0.10.1","_integrity":"sha512-YqLi33gKjUPQhqvXPy7uwWzH2ExfvRb9/JJR2AFIas63uGfwTojTyRB2xIDla1KWVr48J1YFBARPFgqp1wmLQg==","_resolved":"/tmp/3f2d634663d76646d09b331d0c6d8869/airnauts-airside-storage-vercel-blob-0.10.1.tgz","_from":"file:airnauts-airside-storage-vercel-blob-0.10.1.tgz","_nodeVersion":"22.23.0","_npmVersion":"10.9.8","dist":{"integrity":"sha512-YqLi33gKjUPQhqvXPy7uwWzH2ExfvRb9/JJR2AFIas63uGfwTojTyRB2xIDla1KWVr48J1YFBARPFgqp1wmLQg==","shasum":"0427b72fa51ffd6c9efe7a36715383573d75e3f3","tarball":"https://registry.npmjs.org/@airnauts/airside-storage-vercel-blob/-/airside-storage-vercel-blob-0.10.1.tgz","fileCount":7,"unpackedSize":10272,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB4YsX/Ev00oRfV292gO3JpkoaVZK6V8fSrPB6XXaMNxAiApfHedL4PwMin3fYBjOq3uLGHH34VxP4bPIjPbG/PlmA=="}]},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"directories":{},"maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/airside-storage-vercel-blob_0.10.1_1782737644674_0.024520685662754893"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-16T09:22:33.210Z","modified":"2026-06-29T12:54:04.931Z","0.8.0":"2026-06-16T09:22:33.531Z","0.8.1":"2026-06-16T10:42:18.552Z","0.8.2":"2026-06-16T11:45:38.780Z","0.9.0":"2026-06-16T15:00:17.901Z","0.9.1":"2026-06-18T08:13:36.108Z","0.10.0":"2026-06-29T10:55:58.406Z","0.10.1":"2026-06-29T12:54:04.795Z"},"bugs":{"url":"https://github.com/Airnauts/airside/issues"},"author":{"name":"Airnauts"},"license":"MIT","homepage":"https://github.com/Airnauts/airside#readme","keywords":["comments","commenting","annotations","feedback","airnauts","storage","vercel","blob"],"repository":{"type":"git","url":"git+https://github.com/Airnauts/airside.git","directory":"packages/storage-vercel-blob"},"description":"Vercel Blob attachment-storage adapter for the Airnauts commenting tool server.","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://github.com/Airnauts/airside\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/Airnauts/airside/main/assets/airside-logo-dark.svg\">\n      <img src=\"https://raw.githubusercontent.com/Airnauts/airside/main/assets/airside-logo-light.svg\" alt=\"Airside\" height=\"40\">\n    </picture>\n  </a>\n  <h1 align=\"center\">\nEmbeddable Commenting Tool\n</h1>\n</p>\n\n# @airnauts/airside-storage-vercel-blob\n\nVercel Blob attachment-storage adapter for the [Airside](https://github.com/Airnauts/airside) server. Uploads images to Vercel Blob and returns public CDN URLs.\n\n## Installation\n\n```bash\npnpm add @airnauts/airside-storage-vercel-blob\n```\n\n## Quick start\n\n```ts\nimport { createVercelBlobStorage } from '@airnauts/airside-storage-vercel-blob'\n\nconst storage = createVercelBlobStorage({\n  token: process.env.BLOB_READ_WRITE_TOKEN!,\n})\n```\n\nPass `storage` to `createAirsideServer` from `@airnauts/airside-server` (or to `createAirsideAppRoute` / `createAirsidePagesRoute` from `@airnauts/airside-integration-next`).\n\n## API reference\n\n### `createVercelBlobStorage(opts)`\n\n```ts\ncreateVercelBlobStorage({\n  token: string    // Vercel Blob read-write token (required; never read from process.env automatically)\n  prefix?: string  // Optional key prefix, e.g. \"staging/\" (trailing slash added automatically)\n}): StorageAdapter\n```\n\nEach upload calls `@vercel/blob`'s `put` with `access: \"public\"` and `addRandomSuffix: true`.\n\n### `VercelBlobStorage`\n\nThe underlying class, exported for direct construction:\n\n```ts\nimport { VercelBlobStorage } from '@airnauts/airside-storage-vercel-blob'\n\nconst storage = new VercelBlobStorage({ token: process.env.BLOB_READ_WRITE_TOKEN! })\n```\n\n### `VercelBlobStorageOptions`\n\n```ts\ntype VercelBlobStorageOptions = {\n  token: string\n  prefix?: string\n}\n```\n\n## Configuration / env vars\n\n| Env var | Description |\n|---|---|\n| `BLOB_READ_WRITE_TOKEN` | Vercel Blob token — copy from the Vercel dashboard Storage tab |\n\nThe token is passed explicitly to `createVercelBlobStorage({ token })` — the adapter never reads `process.env` automatically.\n\n## Requirements\n\n- Node.js ≥ 18 (or any fetch-capable runtime)\n- A Vercel project with a Blob store attached\n\n## Related packages\n\n- **`@airnauts/airside-server`** — defines the `StorageAdapter` interface\n- **`@airnauts/airside-storage-fs`** — filesystem alternative for local development\n\n## License\n\nMIT © Airnauts\n","readmeFilename":"README.md"}