feat(storage): create public-uploads bucket

Merged
AR
5mo ago
+31-0

Summary

Creates the public-uploads Supabase Storage bucket needed for phase 1 of the Arweave→Supabase upload migration in api (recoupable/api#492). Bucket is public, capped at 25 MiB, with the same MIME allowlist as chat input plus text/plain and application/json for server-internal callers (knowledge files, generated text, NFT contract metadata). Idempotent via ON CONFLICT.

Plan: see PHASE_1_UPLOAD_MIGRATION_PLAN.md in the monorepo root.

Test plan

  • Apply migration to dev Supabase project
  • Confirm in dashboard → Storage → public-uploads exists, marked public, with size + mime limits
  • api PR #492 smoke tests succeed against this bucket

Summary by cubic

Creates the public Supabase Storage bucket public-uploads for phase 1 of the Arweave → Supabase upload migration. The bucket is public, capped at 25 MiB, uses the chat-input MIME allowlist plus text/plain and application/json, and the SQL is idempotent.

  • Migration
    • Apply the SQL migration to the target Supabase project.
    • Verify in Dashboard → Storage that public-uploads exists, is public, and enforces the 25 MiB limit and MIME allowlist.

Summary by CodeRabbit

  • New Features
    • Added a public file upload storage bucket with a 25 MB file size limit.
    • Support for images, PDFs, text documents, JSON, CSV, and audio file formats.