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
91 lines • 2.95 kB
TypeScript
/**
* Document Validation Processing Factory
*
* Factory pattern implementation for document-specific validation processing.
* Creates specialized validators based on document type and context.
*
* @version 1.0.0
* @author Requirements Gathering Agent Team
* @created June 2025
*/
import { DocumentValidationContext } from './DocumentValidationRegistry';
/**
* Result of document validation processing
*/
export interface ValidationProcessingResult {
score: number;
issues: string[];
strengths: string[];
missingElements: string[];
contextualRelevance: number;
}
/**
* Base abstract validator for all document types
*/
declare abstract class BaseDocumentValidator {
protected context: DocumentValidationContext;
protected content: string;
constructor(context: DocumentValidationContext, content: string);
/**
* Main validation method - template pattern
*/
validate(): Promise<ValidationProcessingResult>;
/**
* Validate contextual relevance - does the document serve its purpose?
*/
protected abstract validateContextualRelevance(): number;
/**
* Validate required elements specific to this document type
*/
protected abstract validateRequiredElements(): {
score: number;
issues: string[];
strengths: string[];
missing: string[];
};
/**
* Validate only the PMBOK aspects relevant to this document type
*/
protected validateRelevantPMBOKAspects(): {
score: number;
issues: string[];
strengths: string[];
};
/**
* Check only the performance domains relevant to this document type
*/
protected checkRelevantPerformanceDomains(): string[];
/**
* Check only the principles relevant to this document type
*/
protected checkRelevantPrinciples(): string[];
/**
* Check if document covers a specific performance domain
*/ protected hasPerformanceDomainCoverage(domain: string): boolean; /**
* Check if document demonstrates a specific PMBOK principle
*/
protected hasPrincipleCoverage(principle: string): boolean;
/**
* Check PMBOK terminology usage
*/
protected checkPMBOKTerminologyUsage(): number;
/**
* Calculate weighted score based on different validation aspects
*/
protected calculateWeightedScore(relevanceScore: number, requiredElementsScore: number, pmbokScore: number): number;
}
/**
* Validation Processing Factory
*/
export declare class ValidationProcessingFactory {
/**
* Create appropriate validator for document type
*/
static createValidator(documentType: string, content: string): BaseDocumentValidator;
/**
* Process validation for a document
*/
static processValidation(documentType: string, content: string): Promise<ValidationProcessingResult>;
}
export {};
//# sourceMappingURL=ValidationProcessingFactory.d.ts.map