mcp-adr-analysis-server
Version:
MCP server for analyzing Architectural Decision Records and project architecture
85 lines • 3.03 kB
JavaScript
/**
* TypeScript interfaces for Reflexion Framework
* Implements Actor-Evaluator-Self-Reflection pattern for continuous learning
*/
import { z } from 'zod';
export const ReflexionConfigSchema = z.object({
memoryEnabled: z.boolean(),
maxMemoryEntries: z.number().min(1).max(1000),
reflectionDepth: z.enum(['basic', 'detailed', 'comprehensive']),
evaluationCriteria: z.array(z.enum([
'task-success',
'quality',
'efficiency',
'accuracy',
'completeness',
'relevance',
'clarity',
'innovation',
])),
learningRate: z.number().min(0).max(1),
memoryRetention: z.number().min(1).max(365),
feedbackIntegration: z.boolean(),
autoCleanup: z.boolean(),
relevanceThreshold: z.number().min(0).max(1),
confidenceThreshold: z.number().min(0).max(1),
});
// ============================================================================
// Export Schemas for Runtime Validation
// ============================================================================
export const TaskAttemptSchema = z.object({
attemptId: z.string(),
taskType: z.string(),
context: z.any(),
action: z.string(),
outcome: z.object({
success: z.boolean(),
result: z.any(),
errors: z.array(z.string()),
warnings: z.array(z.string()),
executionTime: z.number(),
resourcesUsed: z.object({
memoryAccessed: z.number(),
memoryCreated: z.number(),
processingTime: z.number(),
promptTokens: z.number(),
cacheHits: z.number(),
cacheMisses: z.number(),
}),
qualityMetrics: z.object({
accuracy: z.number().min(0).max(1),
completeness: z.number().min(0).max(1),
relevance: z.number().min(0).max(1),
clarity: z.number().min(0).max(1),
innovation: z.number().min(0).max(1),
efficiency: z.number().min(0).max(1),
}),
}),
evaluation: z.object({
overallScore: z.number().min(0).max(1),
criteriaScores: z.record(z.string(), z.number()),
feedback: z.array(z.any()),
strengths: z.array(z.string()),
weaknesses: z.array(z.string()),
improvementAreas: z.array(z.string()),
confidence: z.number().min(0).max(1),
evaluationTime: z.number(),
evaluatorVersion: z.string(),
}),
reflection: z.object({
reflectionId: z.string(),
reflectionText: z.string(),
lessonsLearned: z.array(z.any()),
actionableInsights: z.array(z.any()),
futureStrategies: z.array(z.any()),
knowledgeGaps: z.array(z.any()),
confidenceLevel: z.number().min(0).max(1),
applicability: z.array(z.string()),
reflectionTime: z.number(),
}),
timestamp: z.string(),
metadata: z.any(),
relatedMemories: z.array(z.string()),
generatedMemories: z.array(z.string()),
});
//# sourceMappingURL=reflexion-framework.js.map