adpa-enterprise-framework-automation
Version:
Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe
163 lines • 5.05 kB
TypeScript
/**
* Enhanced Batch Processor for Phase 2
*
* Orchestrates the complete Adobe Creative Suite pipeline for
* batch processing of documents with professional layouts,
* visualizations, and multi-format output.
*/
export interface BatchProcessingRequest {
sourceDirectory: string;
outputDirectory: string;
options: BatchProcessingOptions;
filters?: DocumentFilters;
}
export interface BatchProcessingOptions {
enableInDesignLayouts: boolean;
enableDataVisualization: boolean;
enableImageEnhancement: boolean;
enableMultiFormat: boolean;
outputFormats: string[];
templateSelection: 'auto' | 'manual';
qualityLevel: 'standard' | 'high' | 'premium';
concurrency: number;
skipExisting: boolean;
generatePreviews: boolean;
preserveDirectoryStructure: boolean;
}
export interface DocumentFilters {
includePatterns: string[];
excludePatterns: string[];
documentTypes: string[];
minFileSize?: number;
maxFileSize?: number;
modifiedAfter?: Date;
}
export interface DocumentAnalysis {
filePath: string;
documentType: 'project-charter' | 'requirements-doc' | 'management-plan' | 'technical-spec' | 'unknown';
contentStructure: ContentStructure;
visualizableData: VisualizableData;
images: string[];
complexity: 'simple' | 'moderate' | 'complex';
recommendedTemplate: string;
estimatedProcessingTime: number;
}
export interface ContentStructure {
hasTitle: boolean;
hasTOC: boolean;
sectionCount: number;
tableCount: number;
imageCount: number;
codeBlockCount: number;
listCount: number;
headingLevels: number[];
}
export interface VisualizableData {
timelines: any[];
charts: any[];
processes: any[];
matrices: any[];
}
export interface BatchProcessingResult {
processedFiles: ProcessedDocument[];
summary: ProcessingSummary;
errors: ProcessingError[];
performance: PerformanceMetrics;
}
export interface ProcessedDocument {
sourceFile: string;
analysis: DocumentAnalysis;
outputs: DocumentOutput[];
processingTime: number;
qualityScore: number;
}
export interface DocumentOutput {
type: 'indesign' | 'illustrator' | 'photoshop' | 'pdf' | 'html';
filePath: string;
fileSize: number;
format: string;
metadata: any;
}
export interface ProcessingSummary {
totalFiles: number;
successfullyProcessed: number;
failed: number;
skipped: number;
totalProcessingTime: number;
averageProcessingTime: number;
totalOutputSize: number;
templatesUsed: string[];
visualizationsGenerated: number;
imagesEnhanced: number;
}
export interface ProcessingError {
file: string;
error: string;
stage: 'analysis' | 'template-selection' | 'indesign' | 'illustrator' | 'photoshop' | 'output';
timestamp: Date;
}
export interface PerformanceMetrics {
analysisTime: number;
templateSelectionTime: number;
indesignProcessingTime: number;
illustratorProcessingTime: number;
photoshopProcessingTime: number;
outputGenerationTime: number;
memoryUsage: {
peak: number;
average: number;
};
}
export declare class EnhancedBatchProcessor {
private indesignClient;
private illustratorClient;
private photoshopClient;
private documentGenClient;
constructor();
/**
* Initialize all Adobe Creative Suite clients
*/
initialize(): Promise<void>;
/**
* Process batch of documents with enhanced Adobe Creative Suite pipeline
*/
processBatch(request: BatchProcessingRequest): Promise<BatchProcessingResult>;
/**
* Process a single document through the enhanced pipeline
*/
processDocument(documentPath: string, request: BatchProcessingRequest, performance: PerformanceMetrics): Promise<ProcessedDocument>;
/**
* Analyze document content and structure
*/
analyzeDocument(filePath: string): Promise<DocumentAnalysis>;
/**
* Generate data visualizations from extracted data
*/
generateVisualizations(data: VisualizableData): Promise<any[]>;
/**
* Enhance images for professional presentation
*/
enhanceImages(imagePaths: string[]): Promise<any[]>;
/**
* Generate professional InDesign layout
*/
generateInDesignLayout(documentPath: string, analysis: DocumentAnalysis, template: string): Promise<any>;
private discoverDocuments;
private passesFilters;
private detectDocumentType;
private analyzeContentStructure;
private extractVisualizableData;
private findImages;
private assessComplexity;
private recommendTemplate;
private estimateProcessingTime;
private selectTemplate;
private createOutputStructure;
private generateMultiFormatOutputs;
private calculateQualityScore;
private generateSummary;
private extractTitle;
private convertToSections;
}
export declare const enhancedBatchProcessor: EnhancedBatchProcessor;
//# sourceMappingURL=enhanced-batch-processor.d.ts.map