@bramato/openrouter-mock-generator
Version:
AI-powered mock data generator using OpenRouter API with JSON mode support
118 lines • 3.36 kB
TypeScript
/**
* Servizio coordinatore per il post-processing delle immagini nei dati mock
*/
import { type ExtractionResult } from './image-url-extractor';
import { type DescriptionOptions } from './description-generator';
import { type OptimizationResult } from './image-processing-analyzer';
import { type ReplacementResult, type ReplacementOptions } from './url-replacer';
export interface PostProcessingOptions {
enableImageReplacement?: boolean;
enableOptimization?: boolean;
maxConcurrentGenerations?: number;
descriptionOptions?: DescriptionOptions;
uploadToCloud?: boolean;
onImageProgress?: (current: number, total: number, status?: string) => void;
onUploadProgress?: (current: number, total: number, status?: string) => void;
customDescriptions?: Map<string, any[]>;
storageProvider?: 'aws' | 'digitalocean';
replacementOptions?: ReplacementOptions;
verbose?: boolean;
saveIntermediateResults?: boolean;
logFile?: string;
}
export interface PostProcessingResult {
success: boolean;
originalImageCount: number;
processedImageCount: number;
generatedImageCount: number;
optimizationSavings: number;
processingTimeMs: number;
extraction: ExtractionResult;
optimization: OptimizationResult;
replacement: ReplacementResult;
processedData: any;
errors: string[];
warnings: string[];
}
export interface ProcessingStats {
phase: string;
startTime: number;
endTime?: number;
itemsProcessed: number;
errors: number;
details?: any;
}
export declare class PostProcessingOrchestrator {
private imageGenerator;
private stats;
private pathToUrlMap;
private options;
constructor(huggingfaceApiKey?: string, options?: PostProcessingOptions);
/**
* Esegue il post-processing completo dei dati mock
*/
processData(data: any): Promise<PostProcessingResult>;
/**
* Fase 1: Estrazione URL immagini Picsum
*/
private extractImageUrls;
/**
* Fase 2: Generazione descrizioni contestuali
*/
private generateDescriptions;
/**
* Fase 3: Analisi e ottimizzazione processing
*/
private optimizeProcessing;
/**
* Fase 4: Generazione immagini AI
*/
private generateImages;
/**
* Fase 5: Sostituzione URL nei dati
*/
private replaceUrls;
/**
* Processa un singolo gruppo di immagini
*/
private processGroup;
/**
* Recupera l'URL originale Picsum dal path interno
*/
private getOriginalUrlFromPath;
/**
* Verifica se è disponibile una configurazione cloud storage
*/
private hasCloudStorageConfigured;
/**
* Crea piano base senza ottimizzazioni
*/
private createBasicPlan;
/**
* Crea batch per elaborazione concorrente
*/
private createBatches;
/**
* Gestione fasi di processing
*/
private startPhase;
private endPhase;
/**
* Logging
*/
private log;
private logFinalStats;
/**
* Normalizza opzioni con valori di default
*/
private normalizeOptions;
/**
* Ottieni statistiche complete del processing
*/
getProcessingStats(): ProcessingStats[];
/**
* Reset statistiche
*/
resetStats(): void;
}
//# sourceMappingURL=post-processing-orchestrator.d.ts.map