Spaces:
Sleeping
Sleeping
| import { z } from 'zod' | |
| export const BandSchema = z.enum(['elite', 'high', 'medium', 'low']) | |
| export const MetricsInputSchema = z.object({ | |
| deploymentFrequency: z.enum(['multiple_per_day', 'daily', 'weekly', 'monthly', 'less_than_monthly']), | |
| leadTimeDays: z.number().nonnegative(), | |
| changeFailureRate: z.number().min(0).max(100), | |
| mttrHours: z.number().nonnegative(), | |
| pipelineDurationMinutes: z.number().nonnegative(), | |
| prReviewTimeHours: z.number().nonnegative(), | |
| engineerCount: z.number().int().positive(), | |
| serviceCount: z.number().int().positive(), | |
| }) | |
| export const TeamContextSchema = z.object({ | |
| architecture: z.enum(['monolith', 'microservices', 'hybrid']), | |
| releaseStrategy: z.enum(['continuous', 'scheduled', 'mixed']), | |
| hasComplianceConstraints: z.boolean(), | |
| }) | |
| export const InterpretationReportSchema = z.object({ | |
| deliveryProfile: z.string().min(1), | |
| benchmarkAlignment: z.array(z.object({ | |
| metric: z.string().min(1), | |
| yourValue: z.string().min(1), | |
| typicalRange: z.string().min(1), | |
| band: BandSchema, | |
| })), | |
| likelyBottlenecks: z.array(z.string().min(1)), | |
| improvements: z.array(z.object({ | |
| priority: z.number().int().positive(), | |
| action: z.string().min(1), | |
| rationale: z.string().min(1), | |
| })), | |
| leadershipSummary: z.object({ | |
| deliverySpeed: z.enum(['strong', 'moderate', 'weak']), | |
| reliability: z.enum(['strong', 'moderate', 'weak']), | |
| focusArea: z.string().min(1), | |
| }), | |
| }) | |
| export const BenchmarkTierSchema = z.object({ | |
| elite: z.string(), | |
| high: z.string(), | |
| medium: z.string(), | |
| low: z.string(), | |
| }) | |
| export const BenchmarkPatternSchema = z.object({ | |
| id: z.string(), | |
| signature: z.string(), | |
| interpretation: z.string(), | |
| improvements: z.array(z.string()), | |
| }) | |
| export const BenchmarkDataSchema = z.object({ | |
| deploymentFrequency: BenchmarkTierSchema, | |
| leadTime: BenchmarkTierSchema, | |
| changeFailureRate: BenchmarkTierSchema, | |
| mttr: BenchmarkTierSchema, | |
| patterns: z.array(BenchmarkPatternSchema), | |
| keyInsights: z.array(z.string()), | |
| }) | |