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
130 lines • 4.69 kB
JavaScript
/**
* Processor Factory
* Factory class for creating and managing AI processor instances
*
* @class ProcessorFactory
* @description Central factory for managing all AI processor instances
*
* @version 1.0.0
* @since 3.1.0
*/
import { ProjectManagementProcessor } from "./ProjectManagementProcessor.js";
import { PMBOKProcessProcessor } from "./PMBOKProcessProcessor.js";
import { ScopeManagementProcessor } from "./ScopeManagementProcessor.js";
import { StakeholderProcessor } from "./StakeholderProcessor.js";
import { TechnicalAnalysisProcessor } from "./TechnicalAnalysisProcessor.js";
import { TechnicalRecommendationsProcessor } from "./TechnicalRecommendationsProcessor.js";
import { RequirementsProcessor } from "./RequirementsProcessor.js";
import { PlanningProcessor } from "./PlanningProcessor.js";
import { WBSProcessor } from "./WBSProcessor.js";
import { ActivityProcessor } from "./ActivityProcessor.js";
// Create processor instances
const projectManagementProcessor = new ProjectManagementProcessor();
const pmbokProcessor = new PMBOKProcessProcessor();
const scopeProcessor = new ScopeManagementProcessor();
const stakeholderProcessor = new StakeholderProcessor();
const technicalProcessor = new TechnicalAnalysisProcessor();
const technicalRecommendationsProcessor = new TechnicalRecommendationsProcessor();
const requirementsProcessor = new RequirementsProcessor();
const planningProcessor = new PlanningProcessor();
const wbsProcessor = new WBSProcessor();
const activityProcessor = new ActivityProcessor();
export class ProcessorFactory {
/**
* Get Project Management Processor instance
*/
static getProjectManagementProcessor() {
return projectManagementProcessor;
}
/**
* Get PMBOK Process Processor instance
*/
static getPMBOKProcessProcessor() {
return pmbokProcessor;
}
/**
* Get Scope Management Processor instance
*/
static getScopeManagementProcessor() {
return scopeProcessor;
}
/**
* Get Stakeholder Processor instance
*/
static getStakeholderProcessor() {
return stakeholderProcessor;
}
/**
* Get Technical Analysis Processor instance
*/
static getTechnicalAnalysisProcessor() {
return technicalProcessor;
}
/**
* Get Technical Recommendations Processor instance
*/
static getTechnicalRecommendationsProcessor() {
return technicalRecommendationsProcessor;
}
/**
* Get Requirements Processor instance
*/
static getRequirementsProcessor() {
return requirementsProcessor;
}
/**
* Get Planning Processor instance
*/
static getPlanningProcessor() {
return planningProcessor;
}
/**
* Get WBS Processor instance
*/
static getWBSProcessor() {
return wbsProcessor;
} /**
* Get Activity Processor instance
*/
static getActivityProcessor() {
return activityProcessor;
}
/**
* Get processor based on provided configuration
* @param config Configuration for processor initialization
* @returns Appropriate processor instance
*/
static getProcessor(config) {
// For now, return the requirements processor as the default
// This can be extended in the future to return different processors based on config
if (config.type) {
switch (config.type.toLowerCase()) {
case 'project-management':
return projectManagementProcessor;
case 'pmbok':
return pmbokProcessor;
case 'scope':
return scopeProcessor;
case 'stakeholder':
return stakeholderProcessor;
case 'technical':
return technicalProcessor;
case 'technical-recommendations':
return technicalRecommendationsProcessor;
case 'planning':
return planningProcessor;
case 'wbs':
return wbsProcessor;
case 'activity':
return activityProcessor;
case 'requirements':
default:
return requirementsProcessor;
}
}
return requirementsProcessor;
}
}
// Export singleton instances for direct access
export { projectManagementProcessor, pmbokProcessor, scopeProcessor, stakeholderProcessor, technicalProcessor, technicalRecommendationsProcessor, requirementsProcessor, planningProcessor, wbsProcessor, activityProcessor };
//# sourceMappingURL=ProcessorFactory.js.map