| import { getSupabaseClient } from '../../database/client' | |
| import { isStudioDatabaseReady } from '../../database/config' | |
| import { createLogger } from '../../utils/logger' | |
| import { createInMemoryStudioPersistence } from './in-memory-studio-persistence' | |
| import { createSupabaseStudioPersistence } from './supabase-studio-persistence' | |
| import type { StudioPersistence } from './studio-persistence' | |
| const logger = createLogger('StudioPersistence') | |
| export function createDefaultStudioPersistence(): StudioPersistence { | |
| if (!isStudioDatabaseReady()) { | |
| logger.info('Studio persistence provider: in-memory') | |
| return createInMemoryStudioPersistence() | |
| } | |
| const client = getSupabaseClient() | |
| if (!client) { | |
| logger.warn('Studio DB requested but Supabase client is unavailable, falling back to in-memory persistence') | |
| return createInMemoryStudioPersistence() | |
| } | |
| logger.info('Studio persistence provider: supabase') | |
| return createSupabaseStudioPersistence(client) | |
| } | |