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

61 lines (58 loc) 2.26 kB
import { AIProcessor } from '../../ai/AIProcessor.js'; export class CollectRequirementsProcessor { aiProcessor; constructor() { this.aiProcessor = AIProcessor.getInstance(); } async process(context) { try { const prompt = this.createPrompt(context); const content = await this.aiProcessor.makeAICall([ { role: 'system', content: 'You are a business analyst with expertise in requirements gathering and PMBOK processes.' }, { role: 'user', content: prompt } ]).then(res => typeof res === 'string' ? res : res.content); await this.validateOutput(content); return { title: 'Collect Requirements Process', content }; } catch (error) { console.error('Error processing Collect Requirements Process:', error); throw new Error(`Failed to generate Collect Requirements Process: ${error instanceof Error ? error.message : String(error)}`); } } createPrompt(context) { return `Based on the following project context, generate a comprehensive Collect Requirements Process document. Project Context: - Name: ${context.projectName} - Type: ${context.projectType} - Description: ${context.description} This PMBOK process document should include: 1. Process Overview and Purpose 2. Process Inputs 3. Tools and Techniques 4. Process Outputs 5. Requirements Elicitation Methods 6. Requirements Documentation Standards 7. Requirements Traceability Matrix 8. Stakeholder Analysis for Requirements 9. Requirements Validation Process 10. Requirements Management Plan Requirements: 1. Align with PMBOK standards 2. Include elicitation techniques 3. Define documentation standards 4. Provide traceability methods 5. Address validation criteria`; } async validateOutput(content) { if (!content || content.trim().length === 0) { throw new Error('Generated content is empty'); } if (content.length < 500) { console.warn('Generated content seems unusually short for collect requirements process'); } } } //# sourceMappingURL=CollectRequirementsProcessor.js.map