UNPKG

@bramato/openrouter-mock-generator

Version:

AI-powered mock data generator using OpenRouter API with JSON mode support

117 lines 3.39 kB
/** * Microservizio per analizzare e determinare il tipo di elaborazione per le immagini */ import { ImageUrlInfo } from './image-url-extractor'; import { ImageDescription } from './description-generator'; export interface ProcessingPlan { imageId: string; processingType: 'generate' | 'resize' | 'crop' | 'reuse'; sourceImageId?: string; targetDimensions: { width: number; height: number; }; cropRegion?: { x: number; y: number; width: number; height: number; }; description: ImageDescription; priority: number; estimatedCost: number; } export interface ProcessingGroup { masterImageId: string; description: ImageDescription; targetDimensions: { width: number; height: number; }; variants: ProcessingPlan[]; totalCost: number; } export interface OptimizationResult { groups: ProcessingGroup[]; totalImages: number; generatedImages: number; resizedImages: number; croppedImages: number; reusedImages: number; estimatedSavings: number; } export declare class ImageProcessingAnalyzer { private static readonly SIMILARITY_THRESHOLD; private static readonly MIN_RESIZE_RATIO; private static readonly MAX_RESIZE_RATIO; private static readonly CROP_EFFICIENCY_THRESHOLD; /** * Analizza e crea un piano di elaborazione ottimizzato */ static createProcessingPlan(images: ImageUrlInfo[], descriptions: Map<string, ImageDescription>): OptimizationResult; /** * Raggruppa immagini per similarità di contenuto */ private static groupBySimilarity; /** * Calcola similarità tra descrizioni */ private static calculateDescriptionSimilarity; /** * Calcola similarità tra contesti */ private static calculateContextSimilarity; /** * Calcola similarità tra stringhe */ private static calculateStringSimilarity; /** * Calcola distanza di Levenshtein */ private static levenshteinDistance; /** * Ottimizza un gruppo di immagini simili */ private static optimizeGroup; /** * Seleziona l'immagine master da un gruppo */ private static selectMasterImage; /** * Crea piano per una variante basata sull'immagine master */ private static createVariantPlan; /** * Verifica se un'immagine può essere ritagliata efficacemente */ private static canCropEfficiently; /** * Calcola ritaglio ottimale */ private static calculateOptimalCrop; /** * Calcola priorità di elaborazione */ private static calculatePriority; /** * Calcola risultato di ottimizzazione */ private static calculateOptimizationResult; /** * Ordina gruppi per priorità di elaborazione */ static sortGroupsByPriority(groups: ProcessingGroup[]): ProcessingGroup[]; /** * Filtra piani per tipo di elaborazione */ static filterPlansByType(groups: ProcessingGroup[], type: ProcessingPlan['processingType']): ProcessingPlan[]; /** * Statistiche di ottimizzazione */ static getOptimizationStats(result: OptimizationResult): { summary: string; breakdown: Record<string, number>; efficiencyScore: number; }; } //# sourceMappingURL=image-processing-analyzer.d.ts.map