{
  "name": "@visulima/storage",
  "version": "2.0.9",
  "description": "Server-side file-storage abstraction - store files in a web-accessible location via a simplified API. Includes S3, Azure, GCS, local filesystem and 20+ other backends with TUS/multipart/REST upload handlers and the most convenient features of each.",
  "keywords": [
    "anolilab",
    "astro",
    "aws",
    "aws-s3",
    "azure",
    "better-upload",
    "better-uploads",
    "chunk",
    "chunked-upload",
    "chunked-uploads",
    "cloudflare-r2",
    "cloudflare-workers",
    "digitalocean-spaces",
    "edge-runtime",
    "elysia",
    "enterprise-security",
    "express",
    "fastify",
    "file",
    "file-upload",
    "files",
    "form",
    "form-data",
    "formdata",
    "framework-agnostic",
    "gcs",
    "google",
    "google-cloud-storage",
    "hetzner",
    "hetzner-object-storage",
    "hono",
    "middleware",
    "minio",
    "multipart",
    "multipart-upload",
    "nextjs",
    "nuxt",
    "post",
    "presigned-urls",
    "react",
    "remix",
    "resumable",
    "s3",
    "serverless",
    "storage",
    "storj",
    "sveltekit",
    "tus",
    "typescript",
    "universal",
    "upload",
    "upload-library",
    "uploads",
    "uploadthing",
    "vercel-edge",
    "visulima"
  ],
  "homepage": "https://visulima.com/packages/storage",
  "repository": {
    "type": "git",
    "url": "https://github.com/visulima/visulima.git",
    "directory": "packages/storage/storage"
  },
  "funding": [
    {
      "type": "github",
      "url": "https://github.com/sponsors/prisis"
    },
    {
      "type": "consulting",
      "url": "https://anolilab.com/support"
    }
  ],
  "license": "MIT",
  "author": {
    "name": "Daniel Bannert",
    "email": "d.bannert@anolilab.de"
  },
  "sideEffects": false,
  "type": "module",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./provider/azure": {
      "types": "./dist/storage/azure/index.d.ts",
      "import": "./dist/storage/azure/index.js"
    },
    "./provider/aws": {
      "types": "./dist/storage/aws/index.d.ts",
      "import": "./dist/storage/aws/index.js"
    },
    "./provider/aws/s3/clients": {
      "types": "./dist/storage/aws/clients/index.d.ts",
      "import": "./dist/storage/aws/clients/index.js"
    },
    "./provider/aws-light": {
      "types": "./dist/storage/aws-light/index.d.ts",
      "import": "./dist/storage/aws-light/index.js"
    },
    "./provider/gcs": {
      "types": "./dist/storage/gcs/index.d.ts",
      "import": "./dist/storage/gcs/index.js"
    },
    "./provider/vercel": {
      "types": "./dist/storage/vercel-blob/index.d.ts",
      "import": "./dist/storage/vercel-blob/index.js"
    },
    "./provider/netlify": {
      "types": "./dist/storage/netlify-blob/index.d.ts",
      "import": "./dist/storage/netlify-blob/index.js"
    },
    "./provider/local": {
      "types": "./dist/storage/local/index.d.ts",
      "import": "./dist/storage/local/index.js"
    },
    "./provider/memory": {
      "types": "./dist/storage/memory/index.d.ts",
      "import": "./dist/storage/memory/index.js"
    },
    "./provider/ftp": {
      "types": "./dist/storage/ftp/index.d.ts",
      "import": "./dist/storage/ftp/index.js"
    },
    "./provider/sftp": {
      "types": "./dist/storage/sftp/index.d.ts",
      "import": "./dist/storage/sftp/index.js"
    },
    "./provider/supabase": {
      "types": "./dist/storage/supabase/index.d.ts",
      "import": "./dist/storage/supabase/index.js"
    },
    "./provider/uploadthing": {
      "types": "./dist/storage/uploadthing/index.d.ts",
      "import": "./dist/storage/uploadthing/index.js"
    },
    "./provider/dropbox": {
      "types": "./dist/storage/dropbox/index.d.ts",
      "import": "./dist/storage/dropbox/index.js"
    },
    "./provider/google-drive": {
      "types": "./dist/storage/google-drive/index.d.ts",
      "import": "./dist/storage/google-drive/index.js"
    },
    "./provider/onedrive": {
      "types": "./dist/storage/onedrive/index.d.ts",
      "import": "./dist/storage/onedrive/index.js"
    },
    "./provider/box": {
      "types": "./dist/storage/box/index.d.ts",
      "import": "./dist/storage/box/index.js"
    },
    "./provider/bun-s3": {
      "types": "./dist/storage/bun-s3/index.d.ts",
      "import": "./dist/storage/bun-s3/index.js"
    },
    "./provider/bunny": {
      "types": "./dist/storage/bunny/index.d.ts",
      "import": "./dist/storage/bunny/index.js"
    },
    "./provider/cloudinary": {
      "types": "./dist/storage/cloudinary/index.d.ts",
      "import": "./dist/storage/cloudinary/index.js"
    },
    "./provider/firebase": {
      "types": "./dist/storage/firebase/index.d.ts",
      "import": "./dist/storage/firebase/index.js"
    },
    "./provider/pocketbase": {
      "types": "./dist/storage/pocketbase/index.d.ts",
      "import": "./dist/storage/pocketbase/index.js"
    },
    "./provider/sharepoint": {
      "types": "./dist/storage/sharepoint/index.d.ts",
      "import": "./dist/storage/sharepoint/index.js"
    },
    "./openapi": {
      "types": "./dist/openapi/index.d.ts",
      "import": "./dist/openapi/index.js"
    },
    "./handler/http/node": {
      "types": "./dist/handler/http/node/index.d.ts",
      "import": "./dist/handler/http/node/index.js"
    },
    "./handler/http/fetch": {
      "types": "./dist/handler/http/fetch/index.d.ts",
      "import": "./dist/handler/http/fetch/index.js"
    },
    "./handler/http/hono": {
      "types": "./dist/handler/http/hono/index.d.ts",
      "import": "./dist/handler/http/hono/index.js"
    },
    "./handler/http/bun": {
      "types": "./dist/handler/http/fetch/index.d.ts",
      "import": "./dist/handler/http/fetch/index.js"
    },
    "./handler/http/cloudflare": {
      "types": "./dist/handler/http/fetch/index.d.ts",
      "import": "./dist/handler/http/fetch/index.js"
    },
    "./handler/http/deno": {
      "types": "./dist/handler/http/fetch/index.d.ts",
      "import": "./dist/handler/http/fetch/index.js"
    },
    "./handler/http/nextjs": {
      "types": "./dist/handler/http/nextjs/index.d.ts",
      "import": "./dist/handler/http/nextjs/index.js"
    },
    "./handler/http/solid-start": {
      "types": "./dist/handler/http/solid-start/index.d.ts",
      "import": "./dist/handler/http/solid-start/index.js"
    },
    "./handler/http/edge": {
      "types": "./dist/handler/http/fetch/index.d.ts",
      "import": "./dist/handler/http/fetch/index.js"
    },
    "./transformer/audio": {
      "types": "./dist/transformer/audio-transformer.d.ts",
      "import": "./dist/transformer/audio-transformer.js"
    },
    "./transformer/video": {
      "types": "./dist/transformer/video-transformer.d.ts",
      "import": "./dist/transformer/video-transformer.js"
    },
    "./transformer/image": {
      "types": "./dist/transformer/image-transformer.d.ts",
      "import": "./dist/transformer/image-transformer.js"
    },
    "./transformer": {
      "types": "./dist/transformer/index.d.ts",
      "import": "./dist/transformer/index.js"
    },
    "./adapter/nuxt": {
      "types": "./dist/adapter/nuxt/module.d.ts",
      "import": "./dist/adapter/nuxt/module.js"
    },
    "./ai/sdk": {
      "types": "./dist/ai/ai-sdk/index.d.ts",
      "import": "./dist/ai/ai-sdk/index.js"
    },
    "./ai/openai": {
      "types": "./dist/ai/openai/index.d.ts",
      "import": "./dist/ai/openai/index.js"
    },
    "./ai/claude": {
      "types": "./dist/ai/claude/index.d.ts",
      "import": "./dist/ai/claude/index.js"
    },
    "./ai/tanstack": {
      "types": "./dist/ai/tanstack/index.d.ts",
      "import": "./dist/ai/tanstack/index.js"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "dist/**",
    "README.md",
    "CHANGELOG.md",
    "LICENSE.md"
  ],
  "dependencies": {
    "@remix-run/multipart-parser": "0.16.3",
    "@sindresorhus/fnv1a": "3.1.0",
    "@visulima/pagination": "7.0.1",
    "file-type": "22.0.1",
    "lru-cache": "11.5.2",
    "mime": "^4.1.0",
    "nanoid": "6.0.1",
    "openapi-types": "^12.1.3",
    "path-to-regexp": "8.4.2",
    "type-is": "^2.1.0",
    "zod": "4.4.3"
  },
  "peerDependencies": {
    "@anthropic-ai/claude-agent-sdk": ">=0.2.0",
    "@aws-sdk/client-s3": ">=3.901.0",
    "@aws-sdk/credential-providers": ">=3.901.0",
    "@aws-sdk/s3-request-presigner": ">=3.901.0",
    "@aws-sdk/signature-v4-crt": ">=3.901.0",
    "@aws-sdk/types": ">=3.930.0",
    "@azure/core-auth": ">=1.9.0",
    "@azure/storage-blob": ">=12.28.0",
    "@bunny.net/storage-sdk": ">=0.3.0",
    "@googleapis/drive": ">=20.0.0",
    "@microsoft/microsoft-graph-client": ">=3.0.0",
    "@netlify/blobs": ">=10.3.1",
    "@nuxt/kit": ">=4.2.1",
    "@openai/agents": ">=0.11.0",
    "@opentelemetry/api": ">=1.9.0",
    "@solidjs/start": ">=1.1.0",
    "@supabase/storage-js": ">=2.105.0",
    "@tanstack/ai": ">=0.16.0",
    "@vercel/blob": ">=2.4.0",
    "ai": ">=5.0.0",
    "aws-crt": ">=1.27.3",
    "aws4fetch": ">=1.0.0",
    "basic-ftp": ">=5.0.0",
    "box-typescript-sdk-gen": ">=1.19.0",
    "cloudinary": ">=2.0.0",
    "dropbox": ">=10.34.0",
    "firebase-admin": ">=10.0.0",
    "gaxios": ">=7.1.2",
    "google-auth-library": ">=10.4.0",
    "hono": ">=4.0.0",
    "mediabunny": ">=1.23.0",
    "next": ">=15",
    "openai": ">=5.0.0",
    "pocketbase": ">=0.23.0",
    "sharp": ">=0.34.5",
    "ssh2-sftp-client": ">=11.0.0",
    "uploadthing": ">=7.0.0"
  },
  "peerDependenciesMeta": {
    "@anthropic-ai/claude-agent-sdk": {
      "optional": true
    },
    "@aws-sdk/client-s3": {
      "optional": true
    },
    "@aws-sdk/credential-providers": {
      "optional": true
    },
    "@aws-sdk/s3-request-presigner": {
      "optional": true
    },
    "@aws-sdk/signature-v4-crt": {
      "optional": true
    },
    "@aws-sdk/types": {
      "optional": true
    },
    "@azure/core-auth": {
      "optional": true
    },
    "@azure/storage-blob": {
      "optional": true
    },
    "@bunny.net/storage-sdk": {
      "optional": true
    },
    "@googleapis/drive": {
      "optional": true
    },
    "@microsoft/microsoft-graph-client": {
      "optional": true
    },
    "@netlify/blobs": {
      "optional": true
    },
    "@nuxt/kit": {
      "optional": true
    },
    "@openai/agents": {
      "optional": true
    },
    "@opentelemetry/api": {
      "optional": true
    },
    "@solidjs/start": {
      "optional": true
    },
    "@supabase/storage-js": {
      "optional": true
    },
    "@tanstack/ai": {
      "optional": true
    },
    "@vercel/blob": {
      "optional": true
    },
    "ai": {
      "optional": true
    },
    "aws-crt": {
      "optional": true
    },
    "aws4fetch": {
      "optional": true
    },
    "basic-ftp": {
      "optional": true
    },
    "box-typescript-sdk-gen": {
      "optional": true
    },
    "cloudinary": {
      "optional": true
    },
    "dropbox": {
      "optional": true
    },
    "firebase-admin": {
      "optional": true
    },
    "gaxios": {
      "optional": true
    },
    "google-auth-library": {
      "optional": true
    },
    "hono": {
      "optional": true
    },
    "mediabunny": {
      "optional": true
    },
    "next": {
      "optional": true
    },
    "openai": {
      "optional": true
    },
    "pocketbase": {
      "optional": true
    },
    "sharp": {
      "optional": true
    },
    "ssh2-sftp-client": {
      "optional": true
    },
    "uploadthing": {
      "optional": true
    }
  },
  "engines": {
    "node": "^22.14.0 || >=24.10.0"
  },
  "publishConfig": {
    "access": "public",
    "provenance": true
  }
}