import type { JsonValue } from 'identitydb'; export interface TextGenerationRequest { prompt: string; system?: string | undefined; model?: string | undefined; temperature?: number | undefined; metadata?: Record | undefined; } export interface TextModelAdapter { provider: string; model: string; generateText(request: TextGenerationRequest): Promise; } export interface StructuredGenerationRequest extends TextGenerationRequest { schema?: TSchema | undefined; } export interface StructuredModelAdapter { provider: string; model: string; generateObject(request: StructuredGenerationRequest): Promise; } export interface ImageGenerationRequest { prompt: string; model?: string | undefined; aspectRatio?: 'square' | 'portrait' | 'landscape' | undefined; metadata?: Record | undefined; } export interface ImageGenerationResult { url?: string | undefined; path?: string | undefined; revisedPrompt?: string | undefined; } export interface ImageModelAdapter { provider: string; model: string; generateImage(request: ImageGenerationRequest): Promise; }