import { z } from 'zod';

export const ReviewCardSchema = z.object({
  frontText: z.string().min(1).max(500),
  backText: z.string().min(1).max(1000),
  difficulty: z.enum(['easy', 'medium', 'hard']).default('medium'),
  tags: z.array(z.string().max(50)).max(5).default([]),
});

export const ReviewCardGenerationResultSchema = z.object({
  cards: z.array(ReviewCardSchema).min(1).max(20),
  totalCount: z.number().int().min(1).max(20),
});

export type ReviewCardGenerationResult = z.infer<typeof ReviewCardGenerationResultSchema>;

export const REVIEW_CARD_OUTPUT_SCHEMA_DESC = `{
  "cards": [
    {
      "frontText": "什么是主动回忆？请用自己的话解释。",
      "backText": "主动回忆是一种学习策略，指在不看原始材料的情况下，主动从记忆中检索信息。它与被动重读不同，能更有效地强化记忆。",
      "difficulty": "easy",
      "tags": ["学习方法", "记忆"]
    }
  ],
  "totalCount": 5
}`;
