UNPKG

cortexweaver

Version:

CortexWeaver is a command-line interface (CLI) tool that orchestrates a swarm of specialized AI agents, powered by Claude Code and Gemini CLI, to assist in software development. It transforms a high-level project plan (plan.md) into a series of coordinate

64 lines 3.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CognitiveCanvasValidators = void 0; class CognitiveCanvasValidators { static validateRequiredFields(data, fields, type) { if (!fields.every(field => data[field] !== undefined && data[field] !== null)) { throw new Error(`Missing required ${type} fields: ${fields.join(', ')}`); } } static validateProjectData(data) { this.validateRequiredFields(data, ['id', 'name', 'description', 'status', 'createdAt'], 'project'); } static validateTaskData(data) { this.validateRequiredFields(data, ['id', 'title', 'description', 'status', 'priority', 'projectId', 'createdAt'], 'task'); } static validateAgentData(data) { this.validateRequiredFields(data, ['id', 'name', 'role', 'capabilities', 'status', 'createdAt'], 'agent'); } static validatePheromoneData(data) { this.validateRequiredFields(data, ['id', 'type', 'strength', 'context', 'metadata', 'createdAt', 'expiresAt'], 'pheromone'); } static validateArchitecturalDecisionData(data) { this.validateRequiredFields(data, ['id', 'title', 'description', 'rationale', 'status', 'projectId', 'createdAt'], 'architectural decision'); } static validateContractData(data) { this.validateRequiredFields(data, ['id', 'name', 'type', 'version', 'specification', 'projectId', 'createdAt'], 'contract'); const validTypes = ['openapi', 'json-schema', 'property-definition']; if (!validTypes.includes(data.type)) { throw new Error(`Invalid contract type: ${data.type}. Must be one of: ${validTypes.join(', ')}`); } } static validateCodeModuleData(data) { this.validateRequiredFields(data, ['id', 'name', 'filePath', 'type', 'language', 'projectId', 'createdAt'], 'code module'); const validTypes = ['function', 'class', 'module', 'component']; if (!validTypes.includes(data.type)) { throw new Error(`Invalid code module type: ${data.type}. Must be one of: ${validTypes.join(', ')}`); } } static validateTestData(data) { this.validateRequiredFields(data, ['id', 'name', 'filePath', 'type', 'framework', 'projectId', 'createdAt'], 'test'); const validTypes = ['unit', 'integration', 'e2e', 'contract']; if (!validTypes.includes(data.type)) { throw new Error(`Invalid test type: ${data.type}. Must be one of: ${validTypes.join(', ')}`); } } static validateArtifactData(data) { this.validateRequiredFields(data, ['id', 'type', 'name', 'data', 'projectId', 'createdAt'], 'artifact'); } static validateFailureData(data) { this.validateRequiredFields(data, ['id', 'message', 'context', 'severity', 'projectId', 'createdAt'], 'failure'); const validSeverities = ['low', 'medium', 'high', 'critical']; if (!validSeverities.includes(data.severity)) { throw new Error(`Invalid failure severity: ${data.severity}. Must be one of: ${validSeverities.join(', ')}`); } } static validateDiagnosticData(data) { this.validateRequiredFields(data, ['id', 'rootCause', 'solution', 'confidence', 'considerations', 'failureId', 'createdAt'], 'diagnostic'); } static validatePatternData(data) { this.validateRequiredFields(data, ['id', 'type', 'pattern', 'context', 'frequency', 'projectId', 'createdAt'], 'pattern'); } } exports.CognitiveCanvasValidators = CognitiveCanvasValidators; //# sourceMappingURL=validators.js.map