haydenbleasel/files-sdk

A unified storage SDK for object and blob backends. One small, honest API. Web-standards I/O.

What it solves

다양한 객체 및 Blob 스토리지 백엔드를 사용할 때 공급자별 코드를 작성할 필요가 없어집니다. 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: 어댑터가 별도 엔트리 포인트로 제공되어 필요한 코드만 번들링됩니다.