import { z } from 'zod'; export const TrendItemSchema = z.object({ metric: z.string().min(1).max(100), direction: z.enum(['improving', 'declining', 'stable']), currentValue: z.string().max(200), previousValue: z.string().max(200).optional(), detail: z.string().max(500), }); export const LearningTrendResultSchema = z.object({ periodSummary: z.string().min(1).max(2000), overallScore: z.number().int().min(0).max(100), overallDirection: z.enum(['improving', 'declining', 'stable']), trends: z.array(TrendItemSchema).max(10).default([]), strengths: z.array(z.string().max(500)).max(10).default([]), weaknesses: z.array(z.string().max(500)).max(10).default([]), recommendations: z.array(z.string().max(500)).max(10).default([]), nextFocusAreas: z.array(z.string().max(200)).max(5).default([]), }); export type LearningTrendResult = z.infer; export const LEARNING_TREND_OUTPUT_SCHEMA_DESC = `{ "periodSummary": "过去7天,你的学习时长为320分钟,完成了45次主动回忆和120张复习卡片。整体掌握水平有所提升。", "overallScore": 72, "overallDirection": "improving", "trends": [ { "metric": "主动回忆平均得分", "direction": "improving", "currentValue": "78分", "previousValue": "65分", "detail": "本周主动回忆得分持续上升,尤其在后半周表现更好" } ], "strengths": ["学习频率保持稳定", "复习完成率高"], "weaknesses": ["主动回忆提交量偏低", "部分知识点反复出错"], "recommendations": ["建议每天至少完成3次主动回忆", "重点关注\"X概念\"的复习"], "nextFocusAreas": ["主动回忆量提升", "薄弱知识点巩固"] }`;