haydenbleasel/files-sdk
A unified storage SDK for object and blob backends. One small, honest API. Web-standards I/O.
What it solves
異なるオブジェクト・ブロブストレージバックエンドを扱う際に、プロバイダー固有のコードを書く必要がなくなります。S3、Google Cloud Storage、Azure、Vercel Blob それぞれに別々の統合を管理する代わりに、開発者は単一の統一 API でファイル操作を行えます。
How it works
SDK はアップロード、ダウンロード、削除といった標準的な操作の共通インターフェースを提供します。各ストレージプロバイダー用のアダプタシステムを採用しており、必要なプロバイダーのネイティブ SDK をインストールすれば、files-sdk が一貫した API にラップします。Web 標準の I/O(Blob や ReadableStream など)を使用することで、プロバイダー固有の型がアプリケーションコードに漏れ出さないようにしています。高度なニーズがある場合は、基盤となるネイティブクライアントに直接アクセスできる「raw」エスケープハッチも用意しています。
Who it’s for
ベンダーロックインを避けたい、または複数のストレージバックエンドをサポートしたいが、ストレージロジックを書き直したくないバックエンド・フルスタック開発者向けです。
Highlights
- Unified API: S3、GCS、Azure、Vercel Blob、ローカルファイルシステムすべてで一貫したメソッド(
upload、download、existsなど)を提供。 - AI Tool Integration: Vercel AI SDK、OpenAI の Responses/Agents SDK、Anthropic の Claude Agent SDK 向けに、ストレージ操作をツールとして公開するラッパーを同梱。
- Web-Standard I/O:
Blob、File、ReadableStreamなどの標準型をサポート。 - Tree-shakeable: アダプタは個別のエントリーポイントとなっており、必要なコードだけがバンドルされます。