All files / web/src/lib/image-providers index.ts

0% Statements 0/17
0% Branches 0/1
0% Functions 0/1
0% Lines 0/17

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18                                   
import { geminiProvider } from './gemini'
import { openaiProvider } from './openai'
import type { ImageProvider, ImageProviderMeta } from './types'

export type { ImageProvider, ImageProviderMeta, ImageGenerationResult, ImageOptions } from './types'

const providers: ImageProvider[] = [geminiProvider, openaiProvider]

const providerMap = new Map<string, ImageProvider>(providers.map((p) => [p.meta.id, p]))

/** Look up a provider by its id (e.g. 'gemini', 'openai'). */
export function getImageProvider(id: string): ImageProvider | undefined {
  return providerMap.get(id)
}

/** Backward-compatible metadata array used by status routes and UI. */
export const IMAGE_PROVIDERS: readonly ImageProviderMeta[] = providers.map((p) => p.meta)