UNPKG

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

142 lines 11.6 kB
/** * AI Function Processors Index for Requirements Gathering Agent * * Central export hub for domain-specific AI processors organized by * functional area for better maintainability and modularity. * * @version 2.1.3 * @author Requirements Gathering Agent Team * @created 2024 * @updated June 2025 * * Key Features: * - Domain-separated AI processors for specialized functionality * - Organized exports by functional area (stakeholder, technical, etc.) * - Type-safe processor interfaces and implementations * - Modular architecture for easy extension * - Clean separation of concerns * * @filepath c:\Users\menno\Source\Repos\requirements-gathering-agent\src\modules\ai\processors\index.ts */ import { AIProcessor } from "../AIProcessor.js"; // Import domain-specific processors import { StakeholderProcessor } from "./StakeholderProcessor.js"; import { TechnicalAnalysisProcessor } from "./TechnicalAnalysisProcessor.js"; import { TechnicalRecommendationsProcessor } from "./TechnicalRecommendationsProcessor.js"; import { RequirementsProcessor } from "./RequirementsProcessor.js"; import { PMBOKProcessProcessor } from "./PMBOKProcessProcessor.js"; import { PlanningProcessor } from "./PlanningProcessor.js"; import { WBSProcessor } from "./WBSProcessor.js"; import { ActivityProcessor } from "./ActivityProcessor.js"; import { ScopeManagementProcessor } from "./ScopeManagementProcessor.js"; import { ProjectManagementProcessor } from "./ProjectManagementProcessor.js"; import { StrategicStatementsProcessor } from './StrategicStatementsProcessor.js'; export { BaseAIProcessor } from "./BaseAIProcessor.js"; // Export the ProcessorFactory export { ProcessorFactory } from "./ProcessorFactory.js"; const aiProcessor = AIProcessor.getInstance(); // Use lazy initialization to resolve circular dependency let _contextManager = null; // Lazy initialization function for contextManager async function getContextManager() { if (!_contextManager) { // Import dynamically to avoid circular dependency const { ContextManager } = await import("../../contextManager.js"); _contextManager = new ContextManager(); } return _contextManager; } // Create 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(); const strategicStatementsProcessor = new StrategicStatementsProcessor(); // Helper function to safely handle null returns from processors const safeProcessorCall = async (processorPromise) => { const result = await processorPromise; return result ?? ''; }; const safeProcessorCallSync = (processorFunction, context) => { const result = processorFunction(context); return result ?? ''; }; // Export individual functions - delegate to processors with proper implementations // Core Analysis Documents export const getAiSummaryAndGoals = async (context) => await safeProcessorCall(requirementsProcessor.getSummaryAndGoals(context)); export const getAiUserStories = async (context) => await safeProcessorCall(requirementsProcessor.getUserStories(context)); export const getAiUserPersonas = async (context) => await safeProcessorCall(requirementsProcessor.getUserPersonas(context)); export const getAiKeyRolesAndNeeds = async (context) => await safeProcessorCall(requirementsProcessor.getKeyRolesAndNeeds(context)); export const getAiProjectStatementOfWork = async (context) => await safeProcessorCall(projectManagementProcessor.getProjectStatementOfWork(context)); export const getAiBusinessCase = async (context) => await safeProcessorCall(projectManagementProcessor.getBusinessCase(context)); // Strategic Statements export const getMissionVisionAndCoreValues = async (context) => await safeProcessorCall(strategicStatementsProcessor.getAiMissionVisionAndCoreValues(context)); export const getProjectPurpose = async (context) => await safeProcessorCall(strategicStatementsProcessor.getAiProjectPurpose(context)); // Project Charter export const getAiProjectCharter = async (context) => await safeProcessorCall(pmbokProcessor.getProjectCharter(context)); export const getAiProjectManagementPlan = async (context) => await safeProcessorCall(pmbokProcessor.getProjectManagementPlan(context)); // PMBOK Process Functions export const getAiDirectAndManageProjectWorkProcess = async (context) => await safeProcessorCall(pmbokProcessor.getDirectAndManageProjectWork(context)); export const getAiPerformIntegratedChangeControlProcess = async (context) => await safeProcessorCall(pmbokProcessor.getPerformIntegratedChangeControlProcess(context)); export const getAiCloseProjectOrPhaseProcess = async (context) => await safeProcessorCall(pmbokProcessor.getCloseProjectOrPhaseProcess(context)); export const getAiPlanScopeManagement = async (context) => await safeProcessorCall(scopeProcessor.getPlanScopeManagement(context)); export const getAiRequirementsManagementPlan = async (context) => await safeProcessorCall(requirementsProcessor.getRequirementsManagementPlan(context)); export const getAiCollectRequirementsProcess = async (context) => await safeProcessorCall(requirementsProcessor.getCollectRequirementsProcess(context)); export const getAiRequirementsDocumentation = async (context) => await safeProcessorCall(requirementsProcessor.getRequirementsDocumentation(context)); export const getAiRequirementsTraceabilityMatrix = async (context) => await safeProcessorCall(requirementsProcessor.getRequirementsTraceabilityMatrix(context)); export const getAiDefineScopeProcess = async (context) => await safeProcessorCall(scopeProcessor.getDefineScopeProcess(context)); export const getAiProjectScopeStatement = async (context) => await safeProcessorCall(scopeProcessor.getProjectScopeStatement(context)); export const getAiCreateWbsProcess = async (context) => await safeProcessorCall(wbsProcessor.getCreateWbsProcess(context)); export const getAiScopeBaseline = async (context) => await safeProcessorCall(wbsProcessor.getScopeBaseline(context)); export const getAiValidateScopeProcess = async (context) => await safeProcessorCall(pmbokProcessor.getValidateScopeProcess(context)); export const getAiControlScopeProcess = async (context) => await safeProcessorCall(pmbokProcessor.getControlScopeProcess(context)); export const getAiWorkPerformanceInformationScope = async (context) => await safeProcessorCall(scopeProcessor.getWorkPerformanceInformationScope(context)); // Management Plans export const getAiScopeManagementPlan = async (context) => await safeProcessorCall(scopeProcessor.getScopeManagementPlan(context)); export const getAiRiskManagementPlan = async (context) => await safeProcessorCall(planningProcessor.getRiskManagementPlan(context)); export const getAiCostManagementPlan = async (context) => await safeProcessorCall(planningProcessor.getCostManagementPlan(context)); export const getAiQualityManagementPlan = async (context) => await safeProcessorCall(planningProcessor.getQualityManagementPlan(context)); export const getAiResourceManagementPlan = async (context) => await safeProcessorCall(planningProcessor.getResourceManagementPlan(context)); export const getAiCommunicationManagementPlan = async (context) => await safeProcessorCall(planningProcessor.getCommunicationManagementPlan(context)); export const getAiProcurementManagementPlan = async (context) => await safeProcessorCall(planningProcessor.getProcurementManagementPlan(context)); // Stakeholder Management export const getAiStakeholderEngagementPlan = async (context) => await safeProcessorCall(planningProcessor.getStakeholderEngagementPlan(context)); export const getAiStakeholderRegister = async (context) => await safeProcessorCall(stakeholderProcessor.getStakeholderRegister(context)); export const getAiStakeholderAnalysis = async (context) => await safeProcessorCall(stakeholderProcessor.getStakeholderAnalysis(context)); // Planning Artifacts export const getAiWbs = async (context) => await safeProcessorCall(wbsProcessor.getWorkBreakdownStructure(context)); export const getAiWbsDictionary = async (context) => await safeProcessorCall(wbsProcessor.getWBSDictionary(context)); export const getAiActivityList = async (context) => await safeProcessorCall(activityProcessor.getActivityList(context)); export const getAiActivityDurationEstimates = async (context) => await safeProcessorCall(activityProcessor.getActivityDurationEstimates(context)); export const getAiActivityResourceEstimates = async (context) => await safeProcessorCall(activityProcessor.getActivityResourceEstimates(context)); export const getAiScheduleNetworkDiagram = async (context) => await safeProcessorCall(projectManagementProcessor.getScheduleNetworkDiagram(context)); export const getAiMilestoneList = async (context) => await safeProcessorCall(projectManagementProcessor.getMilestoneList(context)); export const getAiDevelopScheduleInput = async (context) => await safeProcessorCall(activityProcessor.getDevelopScheduleInput(context)); // Technical Analysis export const getAiDataModelSuggestions = async (context) => await safeProcessorCall(technicalProcessor.getDataModelSuggestions(context)); export const getAiTechStackAnalysis = async (context) => await safeProcessorCall(technicalProcessor.getTechStackAnalysis(context)); export const getAiRiskAnalysis = async (context) => await safeProcessorCall(projectManagementProcessor.getRiskAnalysis(context)); export const getAiAcceptanceCriteria = async (context) => await safeProcessorCall(requirementsProcessor.getAcceptanceCriteria(context)); export const getAiComplianceConsiderations = async (context) => await safeProcessorCall(technicalProcessor.getComplianceConsiderations(context)); export const getAiUiUxConsiderations = async (context) => await safeProcessorCall(technicalProcessor.getUiUxConsiderations(context)); // Technical Recommendations export const getAiTechnicalRecommendations = async (context) => await safeProcessorCall(technicalRecommendationsProcessor.getTechnicalRecommendations(context)); export const getAiTechnologySelectionCriteria = async (context) => await safeProcessorCall(technicalRecommendationsProcessor.getTechnologySelectionCriteria(context)); export const getAiTechnicalImplementationRoadmap = async (context) => await safeProcessorCall(technicalRecommendationsProcessor.getTechnicalImplementationRoadmap(context)); export const getAiTechnologyGovernanceFramework = async (context) => await safeProcessorCall(technicalRecommendationsProcessor.getTechnologyGovernanceFramework(context)); // DMBOK Data Management Strategy import { DataManagementStrategyProcessor } from '../../documentTemplates/dmbok/dataManagementStrategyProcessor.js'; const dmbokDataManagementStrategyProcessor = new DataManagementStrategyProcessor(); export const getAiDmbokDataManagementStrategy = async (context) => { // If context is a string, wrap as ProjectContext const projectContext = typeof context === 'string' ? { projectName: context } : context; const output = await dmbokDataManagementStrategyProcessor.process(projectContext); return output.content ?? ''; }; //# sourceMappingURL=index.js.map