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
JavaScript
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