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
93 lines • 2.6 kB
TypeScript
import { DocumentConversionRequest, BatchConversionRequest, ProcessingStatus, OutputFormat } from '../types/api.js';
/**
* Document Processing Service
*
* Handles the core document conversion logic, integrating with
* existing ADPA document processing capabilities and Adobe services.
*/
export declare class DocumentProcessor {
private activeJobs;
private activeBatches;
/**
* Start a single document conversion
*/
startConversion(request: DocumentConversionRequest): Promise<DocumentJob>;
/**
* Start batch document conversion
*/
startBatchConversion(request: BatchConversionRequest): Promise<BatchJob>;
/**
* Process a single document conversion
*/
private processDocument;
/**
* Process batch conversion
*/
private processBatch;
/**
* Perform the actual document conversion
*/
private performConversion;
/**
* Get conversion job by ID
*/
getJob(jobId: string): DocumentJob | undefined;
/**
* Get batch by ID
*/
getBatch(batchId: string): BatchJob | undefined;
/**
* Utility method for delays
*/
private delay;
}
/**
* Individual document conversion job
*/
export declare class DocumentJob {
id: string;
request: DocumentConversionRequest;
status: ProcessingStatus;
progress: number;
createdAt: Date;
completedAt?: Date;
estimatedCompletion?: Date;
downloadUrl?: string;
fileSize?: number;
processingDuration?: number;
originalFilename?: string;
generatedFilename?: string;
outputFormat: OutputFormat;
error?: {
code: string;
message: string;
retryable: boolean;
};
logs: string[];
constructor(id: string, request: DocumentConversionRequest);
updateStatus(status: ProcessingStatus): void;
updateProgress(progress: number): void;
complete(downloadUrl: string, fileSize: number, filename: string): void;
fail(message: string, retryable?: boolean): void;
}
/**
* Batch conversion job
*/
export declare class BatchJob {
id: string;
request: BatchConversionRequest;
jobs: DocumentJob[];
status: ProcessingStatus;
progress: number;
successCount: number;
failureCount: number;
createdAt: Date;
completedAt?: Date;
totalDuration?: number;
constructor(id: string, request: BatchConversionRequest);
updateStatus(status: ProcessingStatus): void;
updateProgress(progress: number): void;
complete(): void;
fail(message: string): void;
}
//# sourceMappingURL=DocumentProcessor.d.ts.map