UNPKG

mcp-adr-analysis-server

Version:

MCP server for analyzing Architectural Decision Records and project architecture

98 lines 3.17 kB
/** * 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