mcp-adr-analysis-server
Version:
MCP server for analyzing Architectural Decision Records and project architecture
98 lines • 3.17 kB
JavaScript
/**
* TypeScript interfaces for Automatic Prompt Engineer (APE) Framework
* Implements automatic prompt generation, evaluation, and optimization
*/
import { z } from 'zod';
export const APEConfigSchema = z.object({
candidateCount: z.number().min(1).max(20),
evaluationCriteria: z.array(z.enum([
'task-completion',
'clarity',
'specificity',
'robustness',
'efficiency',
'context-awareness'
])),
optimizationRounds: z.number().min(1).max(10),
selectionStrategy: z.enum([
'highest-score',
'multi-criteria',
'ensemble',
'context-aware',
'balanced'
]),
cacheEnabled: z.boolean(),
performanceTracking: z.boolean(),
maxOptimizationTime: z.number().min(1000),
qualityThreshold: z.number().min(0).max(1),
diversityWeight: z.number().min(0).max(1),
});
// ============================================================================
// Export Schemas for Runtime Validation
// ============================================================================
export const PromptCandidateSchema = z.object({
id: z.string(),
prompt: z.string(),
instructions: z.string(),
context: z.any(),
generationStrategy: z.enum([
'template-variation',
'semantic-variation',
'style-variation',
'length-variation',
'structure-variation',
'hybrid-approach'
]),
metadata: z.object({
generatedAt: z.string(),
generationTime: z.number(),
strategy: z.string(),
templateUsed: z.string().optional(),
variationApplied: z.array(z.string()).optional(),
complexity: z.number().min(0).max(1),
estimatedQuality: z.number().min(0).max(1),
tokens: z.number()
}),
parentId: z.string().optional(),
generation: z.number()
});
export const OptimizationResultSchema = z.object({
optimizedPrompt: z.object({
prompt: z.string(),
instructions: z.string(),
context: z.any()
}),
originalPrompt: z.object({
prompt: z.string(),
instructions: z.string(),
context: z.any()
}),
improvementScore: z.number().min(0).max(1),
optimizationRounds: z.number(),
candidatesEvaluated: z.number(),
totalOptimizationTime: z.number(),
cacheKey: z.string(),
metadata: z.object({
optimizedAt: z.string(),
apeVersion: z.string(),
configUsed: APEConfigSchema,
strategiesApplied: z.array(z.string()),
evaluationCriteria: z.array(z.string()),
selectionStrategy: z.string(),
qualityImprovement: z.number().min(0).max(1),
convergenceRound: z.number()
}),
performanceMetrics: z.object({
generationTime: z.number(),
evaluationTime: z.number(),
selectionTime: z.number(),
totalTime: z.number(),
candidatesGenerated: z.number(),
candidatesEvaluated: z.number(),
cacheHits: z.number(),
cacheMisses: z.number(),
memoryUsage: z.number(),
successRate: z.number().min(0).max(1)
})
});
//# sourceMappingURL=ape-framework.js.map