@thanh01.pmt/curriculum-kit 1.4.47 → 1.4.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schemas/lessonPlanSchema.ts","../../src/schemas/activitySchema.ts","../../src/schemas/codeLabSchema.ts","../../src/schemas/worksheetSchema.ts","../../src/schemas/handoutSchema.ts","../../src/schemas/slideDeckSchema.ts","../../src/schemas/teacherGuideSchema.ts","../../src/schemas/extensionSchema.ts","../../src/schemas/judgeSchema.ts","../../src/schemas/projectGraphSchema.ts","../../src/schemas/instructionSchema.ts","../../src/schemas/selfLabSchema.ts","../../src/schemas/diagnosticQuizSchema.ts","../../src/schemas/selfPacedBundleSchema.ts","../../src/schemas/rubricSchema.ts","../../src/schemas/exitTicketSchema.ts","../../src/schemas/tieredPracticeSchema.ts","../../src/schemas/bellRingerSchema.ts","../../src/schemas/glossarySchema.ts","../../src/schemas/choiceBoardSchema.ts","../../src/schemas/graphicOrganizerSchema.ts","../../src/schemas/scienceLabSchema.ts","../../src/schemas/stationRotationSchema.ts","../../src/schemas/taskCardsSchema.ts","../../src/schemas/reviewGameSchema.ts","../../src/schemas/curriculumPlanSchema.ts","../../src/schemas/index.ts"],"names":["z"],"mappings":"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","file":"index.mjs","sourcesContent":["import { z } from 'zod';\n\n// ─── Shared sub-schemas ───────────────────────────────────────────────────────\n\nexport const LearningObjectiveRowSchema = z.object({\n code: z.string().describe('LO code, e.g. \"LO1\"'),\n objective: z.string().describe('Bloom-tagged learning objective'),\n evidence: z.string().describe('Observable student evidence / output'),\n successCriteria: z.string().describe('Measurable pass/fail condition'),\n /**\n * Standards anchors (Phase 1: optional). Format: \"statementId\" or\n * \"packId:statementId\", e.g. \"csta-k12-2017:1B-AP-10\". IDs MUST exist in an\n * adopted Framework Pack — the Standards Coverage Gate resolves and audits them.\n */\n standardRefs: z.array(z.string()).optional().default([]).describe('Anchoring standard statement IDs from adopted Framework Packs'),\n /** Ontora knowledge-tree anchors, e.g. \"ontora:WHILE_LOOP\" (optional, Phase 1). */\n conceptRefs: z.array(z.string()).optional().default([]).describe('Anchoring ontora concept codes, e.g. \"ontora:FOR_LOOP\"'),\n});\n\nexport const ActivitySeqRowSchema = z.object({\n seq: z.coerce.number().int(),\n phase: z.string().describe('EDP or 5E phase label'),\n activityType: z.string().describe('e.g. \"Mini-lecture\", \"Brainstorming\", \"Hands-on Coding\"'),\n actor: z.string().describe('\"Teacher\" | \"Students\" | \"Teacher + Students\"'),\n purpose: z.string().describe('Why this activity is done'),\n studentAction: z.string(),\n teacherMove: z.string(),\n outputEvidence: z.string(),\n lo: z.array(z.string()).describe('e.g. [\"LO1\",\"LO2\"]'),\n durationMinutes: z.coerce.number().default(10),\n artifactContract: z.string().describe('Satellite artifact(s) linked, e.g. \"SLIDE_U03_M01_L13\"'),\n});\n\nexport const ResourceMapRowSchema = z.object({\n resourceType: z.string().describe('\"Slide Deck\" | \"Handout\" | \"Starter Code\" | \"Lab Tools\" | etc.'),\n identifier: z.string(),\n description: z.string(),\n location: z.string().default(''),\n});\n\nexport const AssessmentMapRowSchema = z.object({\n form: z.string().describe('\"Formative Checkpoint\" | \"Summative Assessment\" | \"Peer Feedback\"'),\n when: z.string().describe('When in the sequence this is assessed'),\n tool: z.string().describe('Assessment tool or artifact used'),\n criteria: z.string(),\n performanceLevels: z.string().default(''),\n remediationPath: z.string().default(''),\n});\n\nexport const ArtifactContractRowSchema = z.object({\n artifactId: z.string(),\n artifactType: z.string(),\n description: z.string(),\n requiredSections: z.string().default(''),\n format: z.string().default(''),\n owner: z.string().default(''),\n});\n\nexport const LessonFlowPhaseSchema = z.object({\n phase: z.string().describe('Phase title, e.g. \"ASK\", \"ENGAGE\", \"PLAN\"'),\n durationMinutes: z.coerce.number(),\n content: z.string().describe('Full narrative content of this phase (teacher actions, student actions, code, outputs)'),\n});\n\nexport const TroubleshootingRowSchema = z.object({\n issue: z.string(),\n potentialCause: z.string(),\n solution: z.string(),\n});\n\n// ─── Shared base for both Lesson models ──────────────────────────────────────\n\nconst LessonBaseSchema = z.object({\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n estimatedDuration: z.string().describe('e.g. \"90 minutes\"'),\n projectObjective: z.string(),\n materials: z.string().default(''),\n learningObjectives: z.array(LearningObjectiveRowSchema).min(1),\n activitySequence: z.array(ActivitySeqRowSchema).min(1),\n resourceMap: z.array(ResourceMapRowSchema).default([]),\n assessmentMap: z.array(AssessmentMapRowSchema).default([]),\n artifactContract: z.array(ArtifactContractRowSchema).default([]),\n lessonFlow: z.array(LessonFlowPhaseSchema).min(1),\n teacherNotes: z.string().optional().default(''),\n troubleshooting: z.array(TroubleshootingRowSchema).default([]),\n});\n\n// ─── LESSON_EDP: Engineering Design Process ───────────────────────────────────\n\n/**\n * Lesson Plan Schema — EDP (Engineering Design Process) Model\n * Template: LESSON_EDP_template.md\n * Phases: Ask → Imagine → Plan → Create → Test & Improve → Share & Evaluate\n */\nexport const EDPPhaseEnum = z.enum([\n 'Ask',\n 'Imagine',\n 'Plan',\n 'Create',\n 'Test & Improve',\n 'Share & Evaluate',\n]);\n\nexport const LessonPlanEDPSchema = LessonBaseSchema.extend({\n artifactType: z.literal('LESSON_EDP').default('LESSON_EDP'),\n});\n\nexport type LessonPlanEDP = z.infer<typeof LessonPlanEDPSchema>;\n\n// ─── LESSON_5E: 5E Instructional Model ──────────────────────────────────────\n\n/**\n * Lesson Plan Schema — 5E Instructional Model\n * Template: LESSON_5E_template.md\n * Phases: Engage → Explore → Explain → Elaborate → Evaluate\n */\nexport const FiveEPhaseEnum = z.enum([\n 'Engage',\n 'Explore',\n 'Explain',\n 'Elaborate',\n 'Evaluate',\n]);\n\n/** Additional 5E-specific Lesson Flow fields */\nexport const FiveEFlowPhaseSchema = LessonFlowPhaseSchema.extend({\n hookScenario: z.string().optional().describe('Hook story/roleplay for Engage phase (5E-specific)'),\n openQuestion: z.string().optional().describe('Explicit guiding question posed to class'),\n visualIllustration: z.string().optional().describe('Mermaid diagram, code, or JSON snippet for Explain phase'),\n tieredScaffolding: z.object({\n bronze: z.string().default(''),\n silver: z.string().default(''),\n gold: z.string().default(''),\n }).optional(),\n exitTicketQuestions: z.array(z.string()).optional(),\n});\n\nexport const LessonPlan5ESchema = LessonBaseSchema.extend({\n artifactType: z.literal('LESSON_5E').default('LESSON_5E'),\n lessonFlow: z.array(FiveEFlowPhaseSchema).min(1),\n keywords: z.array(z.string()).default([]),\n}).omit({ lessonFlow: true }).extend({\n lessonFlow: z.array(FiveEFlowPhaseSchema).min(1),\n});\n\nexport type LessonPlan5E = z.infer<typeof LessonPlan5ESchema>;\n\n// ─── Legacy LESSON schema (kept for backward compatibility) ──────────────────\n\nexport const CoreConceptSchema = z.object({\n name: z.string(),\n analogy: z.string().default(''),\n technicalDepth: z.string().default(''),\n comparisonTable: z.object({\n headers: z.array(z.string()),\n rows: z.array(z.array(z.string())),\n }).optional(),\n formulaOrRule: z.string().optional().default(''),\n});\n\nexport const LessonSectionSchema = z.object({\n title: z.string(),\n durationMinutes: z.coerce.number().default(15),\n teacherActions: z.string().default(''),\n studentActions: z.string().default(''),\n analogies: z.array(z.string()).optional().default([]),\n formativeCheck: z.string().optional().default(''),\n});\n\n/**\n * @deprecated Use LessonPlanEDPSchema or LessonPlan5ESchema instead.\n * Kept for backward compatibility with existing data.\n */\nexport const LessonPlanSchema = z.object({\n artifactType: z.literal('LESSON').default('LESSON'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('vi'),\n topic: z.string().default('General Topic'),\n targetGradeOrAudience: z.string().default('Learners'),\n overview: z.string(),\n learningObjectives: z.array(z.object({\n code: z.string().default('LO'),\n name: z.string().optional().default(''),\n description: z.string(),\n bloomLevel: z.string().default('understand'),\n successCriteria: z.string().optional().default(''),\n standardRefs: z.array(z.string()).optional(),\n conceptRefs: z.array(z.string()).optional(),\n })).default([]),\n prerequisites: z.string().optional().default(''),\n materialsSummary: z.string().optional().default(''),\n keywords: z.array(z.string()).optional().default([]),\n hookTitle: z.string().optional().default(''),\n hookScenario: z.string().default(''),\n hookQuestions: z.array(z.string()).optional().default([]),\n coreConcepts: z.array(CoreConceptSchema).optional().default([]),\n guidedPractice: z.object({\n title: z.string().default(''),\n explanation: z.string().default(''),\n codeSnippet: z.string().default(''),\n codeLanguage: z.string().default('typescript'),\n mermaidDiagram: z.string().optional().default(''),\n }).optional(),\n independentPractice: z.object({\n title: z.string().default(''),\n description: z.string().default(''),\n }).optional(),\n differentiation: z.object({\n bronzeTier: z.string().default(''),\n silverTier: z.string().default(''),\n goldTier: z.string().default(''),\n }).default({ bronzeTier: '', silverTier: '', goldTier: '' }),\n sections: z.array(LessonSectionSchema).min(1),\n exitTicket: z.object({\n questionStem: z.string(),\n expectedAnswerOrRubric: z.string().default(''),\n metacognitivePrompt: z.string().default(''),\n }),\n teacherNotes: z.object({\n commonPitfalls: z.array(z.string()).default([]),\n troubleshootingMatrix: z.array(TroubleshootingRowSchema).default([]),\n extensionNotes: z.string().optional().default(''),\n }).optional().default({ commonPitfalls: [], troubleshootingMatrix: [], extensionNotes: '' }),\n});\n\nexport type LessonPlan = z.infer<typeof LessonPlanSchema>;\nexport type CoreConcept = z.infer<typeof CoreConceptSchema>;\nexport type TroubleshootingRow = z.infer<typeof TroubleshootingRowSchema>;\nexport type ActivitySeqRow = z.infer<typeof ActivitySeqRowSchema>;\nexport type LessonFlowPhase = z.infer<typeof LessonFlowPhaseSchema>;\nexport type LearningObjectiveRow = z.infer<typeof LearningObjectiveRowSchema>;\n","import { z } from 'zod';\n\n/**\n * Activity Lab Schema — Hands-on Step-by-Step Inquiry-Based Practical Lab\n * Ported from /Users/tonypham/MEGA/ai-platform/my-mcp/_templates/ACT_template.md\n */\nexport const ActivityStepSchema = z.object({\n stepNumber: z.coerce.number().default(1),\n title: z.string().describe('Short descriptive title of this step'),\n durationMinutes: z.coerce.number().default(10).describe('Estimated duration for this step'),\n teacherInstructions: z.string().default('').describe('Guidance and checkpoint tips for the teacher'),\n studentInstructions: z.string().describe('Direct, clear, actionable step-by-step instructions for students'),\n checkpoint: z.string().optional().default('').describe('Clear observable checkpoint or success indicator for this step'),\n});\n\nexport const ComputationalThinkingSchema = z.object({\n problemStatement: z.string().describe('Tình huống thực tế đầy thách thức cần giải quyết'),\n decomposition: z.array(z.string()).describe('Các bước phân rã bài toán lớn thành các phần nhỏ'),\n algorithmDesign: z.string().describe('Thiết kế luồng thuật toán và xử lý dữ liệu trước khi code'),\n});\n\nexport const ActiveLearningWorkflowSchema = z.object({\n phase1Planning: z.object({\n durationMinutes: z.coerce.number().default(15),\n studentTask: z.string().describe('Vẽ sơ đồ, thiết kế luồng trên giấy/bảng trước khi gõ phím'),\n teacherAction: z.string().describe('Quan sát và đặt câu hỏi gợi mở (Inquiry questions)'),\n inquiryQuestions: z.array(z.string()).default([]),\n }),\n phase2Implementation: z.object({\n durationMinutes: z.coerce.number().default(40),\n studentTask: z.string().describe('Hiện thực hóa giải pháp qua code hoặc lắp ráp phần cứng'),\n teacherAction: z.string().describe('Hỗ trợ khi học sinh bị tắc > 5 phút, tránh làm hộ'),\n codeOrCommands: z.array(z.string()).default([]),\n }),\n phase3Debugging: z.object({\n durationMinutes: z.coerce.number().default(15),\n testingSteps: z.string().describe('Quy trình chạy thử nghiệm và kiểm tra đầu ra'),\n errorAnalysis: z.string().describe('Phân tích mã lỗi và tự gỡ lỗi dựa trên bảng Troubleshooting'),\n }),\n});\n\nexport const ActivityLabSchema = z.object({\n artifactType: z.literal('ACT').default('ACT'),\n lessonId: z.string().describe('Matching lesson identifier'),\n title: z.string().describe('Activity title'),\n language: z.string().default('vi').describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n objective: z.string().describe('Core hands-on objective of the activity'),\n totalDurationMinutes: z.coerce.number().default(60).describe('Total estimated duration of the activity'),\n \n // 1. Computational Thinking Focus\n computationalThinking: ComputationalThinkingSchema.optional(),\n\n // 2. Bill of Materials (BOM)\n materialsBOM: z.object({\n hardware: z.array(z.string()).default([]).describe('Hardware boards, components, sensors, or devices required (bọc trong <!-- [HARDWARE_BOM] -->)'),\n software: z.array(z.string()).default([]).describe('IDE, compilers, browser tools, libraries, or simulators required'),\n consumables: z.array(z.string()).default([]).describe('Paper, pens, wires, or disposable items'),\n otherResources: z.array(z.string()).default([]).describe('Worksheets, handouts, or reference links'),\n }),\n\n // 3. Constraints & Safety\n safetyWarnings: z.array(z.string()).default([]).describe('Essential safety cautions, electrical warnings, or common hazards'),\n designConstraints: z.array(z.string()).default([]).describe('Design constraints to stimulate creative problem solving'),\n teacherTips: z.array(z.string()).default([]).describe('Pedagogical facilitation tips, troubleshooting tricks'),\n\n // 4. Workflow (Phases or Steps)\n activeLearningWorkflow: ActiveLearningWorkflowSchema.optional(),\n steps: z.array(ActivityStepSchema).default([]).describe('Step-by-step procedure of the activity'),\n\n // 5. Differentiation (3-Tier)\n differentiation3Tier: z.object({\n bronzeTier: z.string().default('').describe('Nhiệm vụ nền tảng cơ bản'),\n silverTier: z.string().default('').describe('Nhiệm vụ ứng dụng logic nâng cao'),\n goldTier: z.string().default('').describe('Thử thách sáng tạo mở rộng'),\n }).optional(),\n scaffoldingSupport: z.string().default('').describe('How to simplify for struggling students'),\n levelUpExtension: z.string().default('').describe('Extension task for students who finish early'),\n\n // 6. Reflection\n reflectionQuestion: z.string().optional().default('').describe('Câu hỏi phản tư kích thích tư duy phản biện'),\n});\n\nexport type ActivityLab = z.infer<typeof ActivityLabSchema>;\nexport type ComputationalThinking = z.infer<typeof ComputationalThinkingSchema>;\nexport type ActiveLearningWorkflow = z.infer<typeof ActiveLearningWorkflowSchema>;\n","import { z } from 'zod';\n\n/**\n * Code Lab Schema — Executable Source Code, Starters, Solutions & Test Cases\n * Ported from /Users/tonypham/MEGA/ai-platform/my-mcp/_templates/LAB_TEMPLATE.md\n */\nexport const CodeSnippetSchema = z.object({\n filename: z.string().describe('Filename with extension, e.g. main.py, App.swift, solution.ts'),\n language: z.string().describe('Programming language identifier, e.g. python, swift, typescript, cpp'),\n purpose: z.enum(['starter', 'solution', 'test_runner', 'scaffold']).describe('Role of this code file'),\n content: z.string().describe('Complete, clean, runnable source code with standardized comments and docstrings'),\n explanation: z.string().default('').describe('Explanation of key algorithmic blocks and syntax nuances'),\n});\n\nexport const LabTierTaskSchema = z.object({\n mins: z.coerce.number().default(15),\n objective: z.string().describe('Mục tiêu của tầng nhiệm vụ'),\n task: z.string().describe('Mô tả nhiệm vụ cụ thể'),\n requirement: z.string().describe('Tiêu chí hoàn thành bắt buộc'),\n});\n\nexport const CodeLabSchema = z.object({\n artifactType: z.literal('CODE').default('CODE'),\n lessonId: z.string().describe('Matching lesson identifier'),\n title: z.string().describe('Code Lab title'),\n language: z.string().default('vi').describe('Language code for human explanations, e.g. \"vi\" or \"en\"'),\n techStack: z.array(z.string()).default([]).describe('Technologies used, e.g. [\"Python\", \"PyTorch\"] or [\"Swift\", \"SwiftUI\"]'),\n \n // 1. Environment & Setup\n environmentSetup: z.object({\n languageFramework: z.string().default(''),\n ideEditor: z.string().default(''),\n requiredLibraries: z.array(z.string()).default([]),\n hardwareOrEnvConnection: z.string().optional().default(''),\n }).optional(),\n\n // 2. 3-Tier Differentiation Tasks\n threeTierTasks: z.object({\n bronze: LabTierTaskSchema,\n silver: LabTierTaskSchema,\n gold: LabTierTaskSchema,\n }).optional(),\n\n // 3. Verified Runnable Code Snippets (bọc trong <!-- [SME_MANDATE] -->)\n starterCode: CodeSnippetSchema.describe('Starter code provided to the learner with fill-in markers or skeletons'),\n solutionCode: CodeSnippetSchema.describe('Complete verified reference solution code'),\n testCases: z.array(\n z.object({\n description: z.string().describe('What this test case verifies'),\n input: z.string().optional().default('').describe('Input or mock parameters'),\n expectedOutput: z.string().describe('Expected return value, output, or UI state'),\n })\n ).default([]).describe('Automated verification tests or validation checks'),\n\n // 4. Troubleshooting & Debugging Matrix\n troubleshootingMatrix: z.array(\n z.object({\n issue: z.string().describe('Hiện tượng lỗi runtime/compile'),\n potentialCause: z.string().describe('Nguyên nhân tiềm ẩn'),\n solution: z.string().describe('Giải pháp khắc phục dứt điểm'),\n })\n ).default([]),\n commonBugsAndFixes: z.array(\n z.object({\n bugDescription: z.string().describe('Common error message or logical pitfall'),\n solutionHint: z.string().describe('How to diagnose and fix it'),\n })\n ).default([]),\n\n // 5. Submission Checklist\n submissionChecklist: z.array(z.string()).default([]).describe('Danh mục kiểm tra hoàn thành nộp bài'),\n});\n\nexport type CodeLab = z.infer<typeof CodeLabSchema>;\nexport type CodeSnippet = z.infer<typeof CodeSnippetSchema>;\nexport type LabTierTask = z.infer<typeof LabTierTaskSchema>;\n","import { z } from 'zod';\n\n// ─── Worksheet Item ───────────────────────────────────────────────────────────\n\nexport const WorksheetItemTypeEnum = z.enum([\n 'fill_blank', // Fill in the blanks sentence/table\n 'multiple_choice', // Select the correct option\n 'matching', // Match left column to right column\n 'short_answer', // Open-ended text response\n 'code_trace', // Trace through code and write output\n 'diagram_fill', // Complete a circuit/flow diagram\n 'true_false', // True or False statement\n 'ordering', // Arrange steps/phases in correct order\n]);\n\nexport const WorksheetItemSchema = z.object({\n itemNumber: z.coerce.number().int().default(1),\n itemType: WorksheetItemTypeEnum,\n prompt: z.string().describe('The question, fill-in stem, or task instruction'),\n starterContent: z.string().optional().describe(\n 'Pre-filled content: code with blanks, table skeleton, diagram description, or matching columns'\n ),\n options: z.array(z.string()).optional().describe('Options for multiple_choice / true_false items'),\n answerKey: z.string().optional().describe('Expected answer for teacher use'),\n checkpointRequired: z.boolean().default(false).describe(\n 'If true, student must get teacher sign-off before proceeding'\n ),\n});\n\n// ─── Worksheet Part ───────────────────────────────────────────────────────────\n\nexport const WorksheetPartSchema = z.object({\n partNumber: z.coerce.number().int(),\n partTitle: z.string().describe('e.g. \"Knowledge Check\", \"Guided Practice\", \"Concept Tracing\", \"Reflection\"'),\n objective: z.string().optional().default(''),\n items: z.array(WorksheetItemSchema).min(1),\n checkpointInstruction: z.string().optional().describe(\n 'Instruction shown at the end of this part, e.g. \"☐ Hoàn thành Part 1 — Xin giáo viên kiểm tra\"'\n ),\n});\n\n// ─── Full Worksheet ───────────────────────────────────────────────────────────\n\n/**\n * Worksheet Schema — Student-Facing Guided Practice Document\n * Template: WKS_template.md\n * Sections: Knowledge Check → Guided Practice → Reflection\n * (Actual lessons expand to 4-5 parts with circuit/code tasks)\n */\nexport const WorksheetSchema = z.object({\n artifactType: z.literal('WKS').default('WKS'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n\n // Student header fields\n studentName: z.string().optional().default(''),\n classLabel: z.string().optional().default(''),\n\n // Main content: array of Parts (Part 1: Knowledge Check, Part 2: Guided Practice, etc.)\n parts: z.array(WorksheetPartSchema).min(1),\n\n // Reflection / Computational Thinking prompts (Part 3 in template, standalone)\n reflectionPrompts: z.array(z.string()).default([]),\n});\n\nexport type Worksheet = z.infer<typeof WorksheetSchema>;\nexport type WorksheetPart = z.infer<typeof WorksheetPartSchema>;\nexport type WorksheetItem = z.infer<typeof WorksheetItemSchema>;\n","import { z } from 'zod';\n\n/**\n * Handout Schema — Student-Facing Quick-Reference Cheat Sheet (5-Second Rule)\n * Ported from /Users/tonypham/MEGA/ai-platform/my-mcp/_templates/HANDOUT_template.md\n */\nexport const HandoutSectionSchema = z.object({\n heading: z.string().describe('Short descriptive section heading (Max 3 levels)'),\n summaryPoints: z.array(z.string()).describe('Scannable bullet points in second-person voice (You will...)'),\n codeSnippet: z.string().optional().describe('Essential copy-paste ready syntax or command'),\n tableData: z.object({\n headers: z.array(z.string()),\n rows: z.array(z.array(z.string())),\n }).optional().describe('Structured table for comparisons or hardware pinouts'),\n calloutBox: z.object({\n type: z.string().default('key_formula'),\n title: z.string(),\n content: z.string(),\n }).optional(),\n});\n\nexport const HandoutSchema = z.object({\n artifactType: z.literal('HANDOUT').default('HANDOUT'),\n lessonId: z.string().describe('Matching lesson identifier'),\n title: z.string().describe('Handout title'),\n language: z.string().default('vi').describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n tagline: z.string().default('').describe('1-sentence core takeaway'),\n\n // 1. Core Concepts Summary\n coreConceptsSummary: z.array(\n z.object({\n concept: z.string().describe('Tên khái niệm'),\n definition: z.string().describe('Định nghĩa ngắn gọn, chuẩn 5-second'),\n })\n ).default([]),\n\n // 2. Syntax & Configs Table\n syntaxTable: z.array(\n z.object({\n syntax: z.string().describe('Cú pháp lệnh hoặc tên Node/Config'),\n meaning: z.string().describe('Ý nghĩa & chức năng'),\n example: z.string().describe('Ví dụ code hoặc cấu hình mẫu'),\n })\n ).default([]),\n\n // 3. General 3-Step Problem Solving Procedure\n problemSolvingProcedure: z.object({\n step1Trigger: z.string().default('Xác định input/trigger kích hoạt'),\n step2Logic: z.string().default('Xử lý logic, tính toán hoặc lọc dữ liệu'),\n step3Output: z.string().default('Xuất kết quả, cập nhật trạng thái hoặc gửi cảnh báo'),\n }).optional().default({\n step1Trigger: 'Xác định input/trigger kích hoạt',\n step2Logic: 'Xử lý logic, tính toán hoặc lọc dữ liệu',\n step3Output: 'Xuất kết quả, cập nhật trạng thái hoặc gửi cảnh báo',\n }),\n\n // 4. Pro Tips\n proTips: z.array(z.string()).default([]).describe('Mẹo thực chiến hữu ích'),\n\n // 5. Sections & Glossary (Backward Compatibility)\n sections: z.array(HandoutSectionSchema).default([]).describe('Scannable reference sections'),\n glossary: z.array(\n z.object({\n term: z.string().describe('Technical term or acronym'),\n definition: z.string().describe('Plain, jargon-free explanation'),\n })\n ).default([]).describe('Zero-jargon glossary of terms introduced in this lesson'),\n});\n\nexport type Handout = z.infer<typeof HandoutSchema>;\nexport type HandoutSection = z.infer<typeof HandoutSectionSchema>;\n","import { z } from 'zod';\n\n/**\n * Slide Deck Schema — Dynamic Micro-Pedagogy Marp Presentation Deck\n * Dynamic Sizing: 4-6 slides per core concept + opening/closing anchors (9-25+ slides)\n */\nexport const MarpSlideSchema = z.object({\n slideNumber: z.number().int().min(1).max(60),\n slideType: z.enum([\n 'title',\n 'agenda',\n 'review',\n 'hook',\n 'concept_def',\n 'concept_visual',\n 'concept_compare',\n 'concept_check',\n 'concept_recap',\n 'code_demo',\n 'guided_practice',\n 'activity_intro',\n 'activity_steps',\n 'checkpoint',\n 'exit_ticket',\n 'summary_next',\n 'custom',\n ]),\n title: z.string().describe('Slide title or headline'),\n bloomTag: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create', 'None']).default('None'),\n bulletPoints: z.array(z.string()).max(6).describe('Concise bullet points, max 15 words each'),\n codeSnippet: z.string().optional().describe('Formatted fenced code block for demo'),\n diagramMermaid: z.string().optional().describe('Mermaid diagram definition for visual concepts'),\n presenterNotes: z.string().optional().describe('Teacher speaker notes hidden in presentation mode'),\n});\n\nexport const SlideDeckSchema = z.object({\n artifactType: z.literal('SLIDE').default('SLIDE'),\n lessonId: z.string().describe('Matching lesson identifier'),\n title: z.string().describe('Presentation title'),\n language: z.string().describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n marpTheme: z.string().default('gaia'),\n slides: z.array(MarpSlideSchema).min(6).max(60).describe('Sequential Marp slides scaled dynamically by knowledge volume'),\n});\n\nexport type MarpSlide = z.infer<typeof MarpSlideSchema>;\nexport type SlideDeck = z.infer<typeof SlideDeckSchema>;\n","import { z } from 'zod';\n\n// ─── Teaching Script Phase ────────────────────────────────────────────────────\n\nexport const TeachingScriptPhaseSchema = z.object({\n phase: z.string().describe(\n 'Phase label from GUIDE template: \"Hook / Engage\" | \"Explore / Core Concepts\" | \"Elaborate / Hands-on Activity\" | \"Evaluate / Wrap-up\"'\n ),\n durationRange: z.string().describe('e.g. \"5-10 minutes\"'),\n delivery: z.string().describe('Real-world story, demo, analogy, or inquiry activity'),\n keyPoints: z.string().describe('What to emphasize; what to skip if running late'),\n quickCheckQuestions: z.array(z.string()).default([]).describe('2-3 rapid comprehension check questions'),\n classroomManagement: z.string().optional().describe('Grouping, device management, seating'),\n facilitation: z.string().optional().describe('When to intervene vs. let students struggle productively'),\n proTips: z.string().optional().describe('Experience-based tips for this specific activity'),\n});\n\n// ─── Misconception entry ─────────────────────────────────────────────────────\n\nexport const MisconceptionSchema = z.object({\n misconception: z.string().describe('What students often wrongly assume or confuse'),\n counterStrategy: z.string().describe('How the teacher should explain or demonstrate the truth'),\n});\n\n// ─── Troubleshooting entry ────────────────────────────────────────────────────\n\nexport const TroubleshootingEntrySchema = z.object({\n symptom: z.string().describe('Error message or hardware failure symptom'),\n rootCause: z.string().describe('Why this occurs'),\n solution: z.string().describe('Exact step to fix it'),\n});\n\n// ─── Scoring Rubric row ───────────────────────────────────────────────────────\n\nexport const ScoringRubricRowSchema = z.object({\n criteriaName: z.string(),\n meetsStandard: z.string().describe('Description of acceptable student performance'),\n exceedsStandard: z.string().describe('Description of advanced mastery'),\n});\n\n// ─── Teacher Guide ────────────────────────────────────────────────────────────\n\n/**\n * Teacher Guide Schema — Pedagogical Facilitation Script\n * Template: GUIDE_template.md\n * Sections:\n * 1. Objectives & Preparation\n * 2. Teaching Script & Progression (Hook → Explore → Elaborate → Evaluate)\n * 3. Troubleshooting & FAQs\n * 4. Assessment & Differentiation Tips\n */\nexport const TeacherGuideSchema = z.object({\n artifactType: z.literal('GUIDE').default('GUIDE'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n\n // 1. Objectives & Preparation\n pedagogicalRationale: z.string().describe('The main instructional goal — mindset shift, not just knowledge'),\n commonMisconceptions: z.array(MisconceptionSchema).min(1),\n technicalChecklist: z.array(z.string()).default([]).describe(\n 'Software/hardware to install; links to have open before class'\n ),\n\n // 2. Teaching Script & Progression\n teachingScript: z.array(TeachingScriptPhaseSchema).min(1).describe(\n 'Ordered phases: Hook/Engage → Explore/Core Concepts → Elaborate/Hands-on → Evaluate/Wrap-up'\n ),\n\n // 3. Troubleshooting & FAQs\n troubleshootingGuide: z.array(TroubleshootingEntrySchema).min(1),\n\n // 4. Assessment & Differentiation\n scoringRubric: z.array(ScoringRubricRowSchema).default([]),\n differentiationTips: z.object({\n proficient: z.string().describe('Minimum threshold description for proficiency'),\n advanced: z.string().describe('Extension tasks / Peer mentoring opportunities'),\n enrichmentQuestion: z.string().optional().describe('1-2 deep-thinking questions for gifted students'),\n }).optional(),\n});\n\nexport type TeacherGuide = z.infer<typeof TeacherGuideSchema>;\nexport type TeachingScriptPhase = z.infer<typeof TeachingScriptPhaseSchema>;\nexport type TroubleshootingEntry = z.infer<typeof TroubleshootingEntrySchema>;\nexport type Misconception = z.infer<typeof MisconceptionSchema>;\n","import { z } from 'zod';\n\n/**\n * Extension Schema — Advanced Challenges & Novel Context Problems\n */\nexport const ExtensionChallengeSchema = z.object({\n challengeNumber: z.number().int().min(1),\n title: z.string().describe('Catchy title for the extension project'),\n contextDescription: z.string().describe('Novel real-world context for applying the skill'),\n taskDescription: z.string().describe('Specific goal and requirements of the challenge'),\n expectedDeliverable: z.string().describe('What the student produces (code, prototype, report)'),\n hintOrGuidance: z.string().optional().describe('Open-ended exploration prompt'),\n});\n\nexport const ExtensionSchema = z.object({\n artifactType: z.literal('EXT').default('EXT'),\n lessonId: z.string().describe('Matching lesson identifier'),\n title: z.string().describe('Extension title'),\n language: z.string().describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n coreLearningObjectivePreserved: z.string().describe('The core LO that this challenge extends'),\n challenges: z.array(ExtensionChallengeSchema).min(2).describe('At least 2 diverse extension challenges'),\n});\n\nexport type Extension = z.infer<typeof ExtensionSchema>;\n","import { z } from 'zod';\n\n/**\n * LLM-as-Judge Schema — Pedagogical & Technical Quality Audit Report\n */\nexport const QualityAuditVerdictSchema = z.enum(['PASS', 'NEEDS_REVISION', 'FAIL']);\nexport type QualityAuditVerdict = z.infer<typeof QualityAuditVerdictSchema>;\n\nexport const JudgeCriterionSchema = z.object({\n name: z.string().describe('Criterion name, e.g. Bloom Alignment, Code Validity, Word Count Gate, Language Adherence, Step Incrementality'),\n passed: z.boolean(),\n score: z.number().min(0).max(100).describe('Score out of 100'),\n feedback: z.string().describe('Constructive feedback or citation of issues'),\n});\nexport type JudgeCriterion = z.infer<typeof JudgeCriterionSchema>;\n\n/**\n * Structured Actionable Repair Prescription:\n * Used by the closed-loop autonomous repair pipeline to patch plans deterministically.\n */\nexport const ActionableRepairActionSchema = z.enum([\n 'SPLIT_STEP',\n 'REVISE_PROVISIONING',\n 'INSERT_RECAP',\n 'ADJUST_TIME_BUDGET',\n 'SUBSTITUTE_FALLBACK',\n 'REVISE_EXIT_EVIDENCE',\n]);\nexport type ActionableRepairAction = z.infer<typeof ActionableRepairActionSchema>;\n\nexport const ActionableRepairPromptSchema = z.object({\n action: ActionableRepairActionSchema,\n targetId: z.string().describe('ID of the session, feature, or step requiring repair, e.g. U01_M01_L02 or F1-S3'),\n severity: z.enum(['CRITICAL', 'WARNING', 'INFO']).default('WARNING'),\n rationale: z.string().describe('Pedagogical or technical rationale for why this repair is mandated'),\n instruction: z.string().describe('Exact, actionable text instruction for the planner/generator in the next turn'),\n});\nexport type ActionableRepairPrompt = z.infer<typeof ActionableRepairPromptSchema>;\n\n/**\n * Stage 1: Project Graph Engineering & Toolchain Audit Schema\n */\nexport const ProjectGraphAuditSchema = z.object({\n schema_version: z.number().default(1),\n projectId: z.string(),\n overallVerdict: QualityAuditVerdictSchema,\n totalScore: z.number().min(0).max(100),\n toolchainFeasibility: JudgeCriterionSchema.describe('Installation friction, admin rights, IDE/compiler matrix'),\n provisioningStrategy: JudgeCriterionSchema.describe('Clear model for heavy runtimes: Pre-installed lab, Cloud instance, or Dedicated setup'),\n hardwareRuntimeEnvelope: JudgeCriterionSchema.describe('Memory/Flash limits, pinout conflicts, hardware platform alignment'),\n timeToHelloWorld: JudgeCriterionSchema.describe('Student time to achieve first working feedback loop (target <= 15 mins)'),\n actionableRepairs: z.array(ActionableRepairPromptSchema).default([]),\n});\nexport type ProjectGraphAuditReport = z.infer<typeof ProjectGraphAuditSchema>;\n\n/**\n * Stage 2: Macro-Pedagogical Curriculum Plan Audit Schema\n * Evaluates the full session sequence against real classroom friction and cognitive load.\n */\nexport const MacroPedagogyPlanAuditSchema = z.object({\n schema_version: z.number().default(1),\n planHash: z.string(),\n overallVerdict: QualityAuditVerdictSchema,\n totalScore: z.number().min(0).max(100),\n autoApproved: z.boolean().default(false).describe('True if totalScore >= 85 and overallVerdict is PASS'),\n stepIncrementality: JudgeCriterionSchema.describe('Single leap principle: <= 1 new syntax or 1 new algorithm per step'),\n zpdSaturation: JudgeCriterionSchema.describe('Vygotsky ZPD: <= 2 new concepts per session (K-12) / 3 (Adults), with prior anchor'),\n frictionAdjustedBudget: JudgeCriterionSchema.describe('Student time multiplier (2.5x): total content <= 85% session minutes'),\n epitomeViability: JudgeCriterionSchema.describe('Reigeluth Walking Skeleton: Unit 1 produces an end-to-end runnable MVP'),\n exitEvidenceSpecificity: JudgeCriterionSchema.describe('Tangible, measurable student deliverable for every session'),\n actionableRepairs: z.array(ActionableRepairPromptSchema).default([]),\n summary: z.string().describe('High-level executive evaluation summary'),\n});\nexport type MacroPedagogyPlanAuditReport = z.infer<typeof MacroPedagogyPlanAuditSchema>;\n\n/**\n * Legacy SOT / Lesson Quality Report Schema (Retained for Backward Compatibility)\n */\nexport const CurriculumQualityReportSchema = z.object({\n targetArtifactType: z.string().describe('Type of artifact audited, e.g. LESSON, ACT, CODE, WKS, SLIDE'),\n lessonId: z.string(),\n overallVerdict: QualityAuditVerdictSchema,\n totalScore: z.number().min(0).max(100),\n languageAdherencePassed: z.boolean().describe('True if content strictly matches the requested target language'),\n criteria: z.array(JudgeCriterionSchema).min(3),\n actionableRepairPrompts: z.array(z.string()).default([]).describe('Concrete instruction prompts to fix detected issues in the next repair turn'),\n structuredRepairs: z.array(ActionableRepairPromptSchema).optional(),\n});\nexport type CurriculumQualityReport = z.infer<typeof CurriculumQualityReportSchema>;\n","import { z } from 'zod';\n\n/**\n * Project Profile & General Info\n */\nexport const ProjectProfileSchema = z.object({\n id: z.string().optional(),\n name: z.string(),\n version: z.string().optional(),\n purpose: z.string().optional(),\n project_type: z.string().optional(),\n platform: z.array(z.string()).optional().default([]),\n tech_stack: z.union([z.record(z.array(z.string())), z.array(z.string()), z.record(z.string())]).optional().default([]),\n architecture: z.array(z.string()).optional().default([]),\n source: z.object({\n repository: z.string().optional(),\n commit: z.string().optional(),\n scan_dir: z.string().optional(),\n }).optional(),\n});\n\nexport type ProjectProfile = z.infer<typeof ProjectProfileSchema>;\n\n/**\n * Product Goals & User Journeys\n */\nexport const ProductGoalSchema = z.object({\n id: z.string(),\n description: z.string(),\n});\n\nexport const UserJourneySchema = z.object({\n id: z.string(),\n name: z.string(),\n steps: z.array(z.string()).optional().default([]),\n requirement_ids: z.array(z.string()).optional().default([]),\n});\n\n/**\n * Project Graph Schema — Full knowledge graph of a software/hardware project\n */\nexport const ProjectGraphSchema = z.object({\n schema_version: z.number().optional().default(3),\n project: ProjectProfileSchema,\n product: z.object({\n goals: z.array(ProductGoalSchema).optional().default([]),\n users: z.array(z.any()).optional().default([]),\n journeys: z.array(UserJourneySchema).optional().default([]),\n requirements: z.array(z.any()).optional().default([]),\n }).optional().default({}),\n features: z.array(z.object({\n id: z.string().optional(),\n name: z.string().optional(),\n description: z.string().optional(),\n components: z.array(z.string()).optional().default([]),\n requirements: z.array(z.any()).optional().default([]),\n })).optional().default([]),\n capabilities: z.array(z.any()).optional().default([]),\n architecture: z.any().optional(),\n experience: z.any().optional(),\n data_integration: z.any().optional(),\n implementation: z.object({\n files: z.array(z.any()).optional().default([]),\n symbols: z.array(z.any()).optional().default([]),\n modules: z.array(z.any()).optional().default([]),\n }).optional().default({}),\n validation: z.any().optional(),\n evidence: z.any().optional(),\n});\n\nexport type ProjectGraph = z.infer<typeof ProjectGraphSchema>;\n","import { z } from 'zod';\n\n/**\n * Step schema matching Instructable-style tutorial format from tutorial.md\n */\nexport const InstructionStepSchema = z.object({\n stepNumber: z.string().default('1.1').describe('e.g. \"1.1\", \"1.2\"'),\n actionTitle: z.string().describe('Action verb title, e.g. \"Create Bonjour Discovery Browser\"'),\n explanation: z.string().describe('Explanation of why this action is performed and how it works'),\n targetFile: z.string().optional().default('').describe('Relative path of the target file being created or edited, e.g. \"Sources/WledLib/Discovery/BonjourBrowser.swift\"'),\n codeSnippet: z.string().optional().default('').describe('Complete or focused code snippet following grow-by-step or snippet-per-step style'),\n codeLanguage: z.string().optional().default('swift').describe('Language for syntax highlighting, e.g. \"swift\", \"typescript\", \"cpp\", \"bash\"'),\n tip: z.string().optional().default('').describe('Helpful operational tip or best practice'),\n warning: z.string().optional().default('').describe('Operational gotcha or critical warning'),\n expectedResult: z.string().default('').describe('Explicit observable output or success condition after completing this step'),\n imagePlaceholder: z.string().optional().default('').describe('Description of visual screenshot or diagram placeholder [IMAGE: ...]'),\n});\n\nexport const InstructionSectionSchema = z.object({\n sectionNumber: z.coerce.number().default(1),\n title: z.string().describe('Section title'),\n goal: z.string().describe('What the reader achieves in this section'),\n estimatedMinutes: z.coerce.number().default(15),\n preflightChecks: z.array(z.string()).default([]).describe('Commands or conditions to check before starting this section'),\n steps: z.array(InstructionStepSchema).min(1),\n rollbackOrCleanup: z.string().optional().default('').describe('How to undo or reset state if something fails'),\n});\n\nexport const ProjectInstructionSchema = z.object({\n artifactType: z.literal('INSTRUCTION').default('INSTRUCTION'),\n instructionId: z.string().describe('Milestone or instruction ID, e.g. \"F0-S1\"'),\n title: z.string().describe('Tutorial title'),\n language: z.string().describe('Target language code, e.g. \"vi\" or \"en\"'),\n difficulty: z.string().default('intermediate'),\n estimatedTotalMinutes: z.coerce.number().default(45).describe('Total estimated duration in minutes'),\n scopeMode: z.string().default('milestone'),\n milestoneRef: z.string().optional().default('').describe('Milestone code or ID'),\n featureRef: z.string().optional().default('').describe('Feature ID or name'),\n techStack: z.array(z.string()).default([]).describe('List of tools, SDKs, libraries'),\n prerequisites: z.array(z.string()).default([]).describe('Prerequisites assumed before starting'),\n materialsAndTools: z.array(z.string()).default([]).describe('Required software, SDKs, accounts, or simulators'),\n sections: z.array(InstructionSectionSchema).min(1),\n verificationChecklist: z.array(z.string()).default([]).describe('Final end-to-end verification checklist to confirm working implementation'),\n});\n\nexport type InstructionStep = z.infer<typeof InstructionStepSchema>;\nexport type InstructionSection = z.infer<typeof InstructionSectionSchema>;\nexport type ProjectInstruction = z.infer<typeof ProjectInstructionSchema>;\n","import { z } from 'zod';\n\n/**\n * 3-Level Progressive Hints Schema (Concept -> Skeleton -> Full Solution)\n */\nexport const ProgressiveHintsSchema = z.object({\n hint1Concept: z.string().describe('Level 1: Gợi ý định hướng tư duy / khái niệm cốt lõi'),\n hint2Skeleton: z.string().describe('Level 2: Khung sườn code / method signature mẫu'),\n hint3Solution: z.object({\n code: z.string().describe('Level 3: Lời giải code hoàn chỉnh 100% runnable'),\n explanation: z.string().describe('Phân tích tại sao giải pháp này tối ưu và xử lý được vấn đề'),\n }),\n});\n\n/**\n * Self-Learner Progressive Challenge Schema\n */\nexport const SelfPacedChallengeSchema = z.object({\n tier: z.enum(['bronze', 'silver', 'gold']),\n title: z.string().describe('Tên thử thách'),\n estimatedMinutes: z.coerce.number().default(15),\n objective: z.string().describe('Mục tiêu cụ thể của thử thách'),\n tasks: z.array(z.string()).describe('Danh sách nhiệm vụ từng bước cần làm'),\n verifyCommand: z.string().describe('Lệnh terminal hoặc test runner để tự kiểm chứng (VD: curl... hoặc swift test)'),\n expectedOutput: z.string().describe('Kết quả mong đợi hiển thị trên terminal khi chạy đúng'),\n hints: ProgressiveHintsSchema,\n});\n\nexport const SelfLabSchema = z.object({\n artifactType: z.literal('SELF_LAB').default('SELF_LAB'),\n labId: z.string().describe('Identifier matching milestone (e.g. F0-S1)'),\n title: z.string().describe('Lab title'),\n language: z.string().default('vi').describe('Language code of content, e.g. \"vi\" or \"en\"'),\n difficulty: z.enum(['beginner', 'intermediate', 'advanced']).default('intermediate'),\n estimatedTotalMinutes: z.coerce.number().default(60),\n techStack: z.array(z.string()).default([]),\n \n // Mission Briefing & Preflight\n missionBriefing: z.string().describe('Bối cảnh kịch bản và nhiệm vụ của bài lab'),\n preflightChecklist: z.array(z.string()).default([]).describe('Danh mục kiểm tra môi trường trước khi bắt đầu'),\n\n // 3 Progressive Challenges (Bronze -> Silver -> Gold)\n challenges: z.object({\n bronze: SelfPacedChallengeSchema,\n silver: SelfPacedChallengeSchema,\n gold: SelfPacedChallengeSchema,\n }),\n\n // Troubleshooting Matrix\n troubleshootingMatrix: z.array(\n z.object({\n symptom: z.string().describe('Triệu chứng hoặc thông báo lỗi'),\n rootCause: z.string().describe('Nguyên nhân gốc rễ'),\n exactFix: z.string().describe('Hướng dẫn sửa lỗi chính xác từng bước'),\n })\n ).default([]),\n\n // Final Checklist\n finalSubmissionChecklist: z.array(z.string()).default([]).describe('Danh mục kiểm tra hoàn thành toàn bộ bài lab'),\n});\n\nexport type SelfLab = z.infer<typeof SelfLabSchema>;\nexport type SelfPacedChallenge = z.infer<typeof SelfPacedChallengeSchema>;\nexport type ProgressiveHints = z.infer<typeof ProgressiveHintsSchema>;\n","import { z } from 'zod';\n\n// ─── Quiz Assessment Objective (per template: ## Assessment Objectives) ───────\n\nexport const AssessmentObjectiveSchema = z.object({\n aoCode: z.string().describe('Assessment Objective code, e.g. \"AO1\"'),\n alignedLO: z.string().describe('Matched learning objective code, e.g. \"LO1\"'),\n bloomLevel: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create']),\n objective: z.string().describe('Measurable assessment objective statement'),\n /** Standards anchors: \"statementId\" or \"packId:statementId\" from adopted Framework Packs (Phase 1: optional). */\n standardRefs: z.array(z.string()).optional().default([]).describe('Anchoring standard statement IDs from adopted Framework Packs'),\n});\n\n// ─── Quiz Option ─────────────────────────────────────────────────────────────\n\nexport const QuizOptionSchema = z.object({\n id: z.string().describe('Option label: \"A\" | \"B\" | \"C\" | \"D\"'),\n text: z.string().describe('Full text of the option (may be a table row, code snippet, or sentence)'),\n isCorrect: z.boolean().describe('True if this option is the correct answer'),\n explanation: z.string().describe('Detailed distractor rationale or confirmation why this is correct/incorrect'),\n});\n\n// ─── Individual Question ──────────────────────────────────────────────────────\n\nexport const DiagnosticQuestionSchema = z.object({\n id: z.string().describe('Question ID, e.g. \"Q1\"'),\n alignedAO: z.string().optional().describe('Matched AO code(s), e.g. \"AO1, AO2\"'),\n // Accept both PascalCase (new) and lowercase (legacy) for backward compat\n bloomLevel: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create',\n 'remember', 'understand', 'apply', 'analyze', 'evaluate', 'create']).default('Apply'),\n questionType: z.enum(['multiple_choice', 'code_analysis', 'matching', 'open_ended']).default('multiple_choice'),\n // scenarioOrStem: PRIMARY field — kept for backward compat with evaluators & serializers\n scenarioOrStem: z.string().optional().describe('Legacy combined field. Evaluators read this for stem analysis.'),\n // scenario + stem: richer decomposition for new content (both optional)\n scenario: z.string().optional().describe('Real-world context framing the question'),\n stem: z.string().optional().describe('The core question prompt (new authoring standard)'),\n codeSnippet: z.string().optional().describe('Code block for code analysis questions'),\n codeLanguage: z.string().optional().default('cpp'),\n options: z.array(QuizOptionSchema).min(2).max(6),\n // correctAnswer: optional for backward compat with old fixtures (legacy used isCorrect on options)\n correctAnswer: z.string().optional().describe('Correct option id, e.g. \"A\"'),\n teacherNote: z.string().optional().describe('Pedagogical note for assessor/teacher only'),\n // takeawayMessage: backward-compat alias for teacherNote\n takeawayMessage: z.string().optional().describe('@deprecated — use teacherNote. Kept for serializer backward compat.'),\n});\n\n// ─── 4-Level Competency Rubric (per template: ## Competency Rubric) ──────────\n\nexport const CompetencyRubricRowSchema = z.object({\n competencyDimension: z.string().describe('Competency label with linked LO, e.g. \"C1: Hardware Integration (LO1)\"'),\n developing: z.string().describe('Level 1 — does not meet standard'),\n proficient: z.string().describe('Level 2 — meets standard'),\n advanced: z.string().describe('Level 3 — exceeds standard'),\n exemplary: z.string().describe('Level 4 — outstanding mastery'),\n});\n\n// ─── Full Diagnostic Quiz ─────────────────────────────────────────────────────\n\n/**\n * Diagnostic Quiz Schema — v4.6\n * Template: QUIZ_v4.6_template.md\n * Sections: Metadata → Assessment Objectives → MCQ Bank → Code Analysis → Competency Rubric\n */\nexport const DiagnosticQuizSchema = z.object({\n artifactType: z.literal('QUIZ'),\n quizId: z.string().describe('Matching artifact identifier, e.g. \"QUIZ_U03_M01_L13\"'),\n title: z.string(),\n language: z.string().default('en').describe('\"en\" or \"vi\"'),\n totalQuestions: z.coerce.number().optional().default(5),\n timeAllocationMinutes: z.coerce.number().optional().default(15),\n passingScorePct: z.coerce.number().default(80),\n\n // Assessment Objectives table (## [REQUIRED] Assessment Objectives)\n assessmentObjectives: z.array(AssessmentObjectiveSchema).optional().default([]),\n\n // Question bank (## [REQUIRED] Multiple-Choice + ## [REQUIRED] Code Analysis)\n questions: z.array(DiagnosticQuestionSchema).min(1),\n\n // Competency Rubric (## [REQUIRED] Competency Rubric)\n rubric: z.array(CompetencyRubricRowSchema).optional().default([]),\n});\n\n// Output types (after defaults are applied — for reading/processing parsed data)\nexport type DiagnosticQuiz = z.infer<typeof DiagnosticQuizSchema>;\nexport type DiagnosticQuestion = z.infer<typeof DiagnosticQuestionSchema>;\nexport type QuizOption = z.infer<typeof QuizOptionSchema>;\nexport type AssessmentObjective = z.infer<typeof AssessmentObjectiveSchema>;\nexport type CompetencyRubricRow = z.infer<typeof CompetencyRubricRowSchema>;\n\n// Input types (for writing/authoring — fields with defaults are optional)\nexport type DiagnosticQuizInput = z.input<typeof DiagnosticQuizSchema>;\nexport type DiagnosticQuestionInput = z.input<typeof DiagnosticQuestionSchema>;\n","import { z } from 'zod';\nimport { ProjectInstructionSchema } from './instructionSchema';\nimport { SelfLabSchema } from './selfLabSchema';\nimport { DiagnosticQuizSchema } from './diagnosticQuizSchema';\nimport { HandoutSchema } from './handoutSchema';\nimport { CodeLabSchema } from './codeLabSchema';\n\n/**\n * Self-Paced Learning Bundle Schema — Autonomous Learner Package\n */\nexport const SelfPacedBundleSchema = z.object({\n bundleId: z.string().describe('Milestone identifier (e.g. F0-S1)'),\n title: z.string().describe('Bundle title'),\n language: z.string().default('vi'),\n techStack: z.array(z.string()).default([]),\n instruction: ProjectInstructionSchema.describe('Instructable Step-by-Step Blueprint'),\n selfLab: SelfLabSchema.describe('Self-Paced Lab with Progressive Hints & Verification Commands'),\n quiz: DiagnosticQuizSchema.describe('Diagnostic Quiz Kit with Comprehensive Feedback'),\n cheatSheet: HandoutSchema.describe('5-Second Rule Reference & Syntax Cheat Sheet'),\n codeLab: CodeLabSchema.optional().describe('Code Lab with Starter & Solution Code'),\n});\n\nexport type SelfPacedBundle = z.infer<typeof SelfPacedBundleSchema>;\n","import { z } from 'zod';\n\n// ─── Rubric Criteria Row ──────────────────────────────────────────────────────\n\nexport const RubricCriteriaSchema = z.object({\n criteriaName: z.string().describe('Criteria label, e.g. \"Circuitry\" or \"Code Correctness\"'),\n weightPercent: z.coerce.number().int().min(1).max(100).describe('Relative weight as integer %'),\n excellent: z.string().describe('Level 4 — Excellent performance descriptor'),\n proficient: z.string().describe('Level 3 — Proficient performance descriptor'),\n developing: z.string().describe('Level 2 — Developing performance descriptor'),\n beginning: z.string().describe('Level 1 — Beginning performance descriptor'),\n});\n\n// ─── Exit Ticket (OPTIONAL within RUBRIC) ─────────────────────────────────────\n\nexport const ExitTicketQuickItemSchema = z.object({\n question: z.string(),\n questionType: z.enum(['multiple_choice', 'true_false', 'short_answer', 'open_ended']),\n answerOrScoringGuide: z.string().default(''),\n});\n\n// ─── Full Rubric ──────────────────────────────────────────────────────────────\n\n/**\n * Rubric Schema — Summative / Formative Assessment Scoring Guide\n * Template: RUBRIC_template.md\n * Sections: Assessment Overview → Rubric Table → Exit Ticket → Self-Assessment Checklist\n */\nexport const RubricSchema = z.object({\n artifactType: z.literal('RUBRIC').default('RUBRIC'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n\n // Assessment Overview\n assessmentType: z.enum(['Formative', 'Summative', 'Self-assessment', 'Peer-review']),\n assessmentFormat: z.enum([\n 'Short Exercise',\n 'Exit Ticket',\n 'Practical Product',\n 'Project Presentation',\n ]),\n targetLOs: z.array(z.string()).describe('LO codes being assessed, e.g. [\"LO1\", \"LO2\"]'),\n targetAudience: z.enum(['Teachers', 'Students']).default('Teachers').describe(\n '\"Teachers\" = technical/pedagogical language; \"Students\" = simple \"I can...\" language'\n ),\n\n // Rubric Table (weights should sum to ~100)\n criteria: z.array(RubricCriteriaSchema).min(1),\n\n // Optional quick exit ticket at end of session (≤3 items)\n exitTicket: z.array(ExitTicketQuickItemSchema).max(3).optional(),\n\n // Student self-assessment checklist\n selfAssessmentChecklist: z.array(z.string()).optional(),\n selfAssessmentReflection: z.string().optional().describe(\n 'Open-ended reflection prompt, e.g. \"One thing I am most proud of is:\"'\n ),\n});\n\nexport type Rubric = z.infer<typeof RubricSchema>;\nexport type RubricCriteria = z.infer<typeof RubricCriteriaSchema>;\n","import { z } from 'zod';\n\n// ─── Exit Ticket Parts ────────────────────────────────────────────────────────\n\nexport const ExitTicketRecallPromptSchema = z.object({\n question: z.string().describe('Conceptual scenario or analogy comparison testing core mental model'),\n answerAreaLabel: z.string().default('Write 1-2 concise sentences'),\n});\n\nexport const ExitTicketBugHuntSchema = z.object({\n codeSnippet: z.string().describe('4-8 line realistic code snippet containing exactly 1 bug/missing annotation'),\n codeLanguage: z.string().default('swift'),\n tasks: z.array(z.string()).describe(\n 'Ordered task list, e.g. [\"Identify the Compiler/Runtime Error\", \"Write the corrected line\"]'\n ),\n expectedBugDescription: z.string().describe('The exact error type/message students should identify'),\n correctedLine: z.string().describe('The single corrected line of code'),\n});\n\nexport const ExitTicketMetacognitionSchema = z.object({\n options: z.array(z.object({\n label: z.string().describe('\"🟢 Green\" | \"🟡 Yellow\" | \"🔴 Red\"'),\n description: z.string().describe('e.g. \"I can build and explain to a peer without hints\"'),\n })).default([\n { label: '🟢 Green (Mastered)', description: 'I can build and explain this concept to a peer without any hints.' },\n { label: '🟡 Yellow (Needs Practice)', description: 'I understand the concept but got stuck on syntax or error messages.' },\n { label: '🔴 Red (Blocked)', description: 'I need help understanding why this architecture is used.' },\n ]),\n lingeringQuestion: z.string().default('What is one question you still have before leaving today\\'s lab?'),\n});\n\n// ─── Full Exit Ticket ─────────────────────────────────────────────────────────\n\n/**\n * Exit Ticket Schema — Formative End-of-Session Assessment\n * Template: EXIT_TICKET_template.md\n * Sections:\n * Target LOs\n * Part 1: Recall & Conceptual Anchor\n * Part 2: Application & Bug Hunt\n * Part 3: Metacognitive Reflection & Confidence Check\n * Scoring & Teacher Intervention Trigger\n */\nexport const ExitTicketSchema = z.object({\n artifactType: z.literal('EXIT_TICKET').default('EXIT_TICKET'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n estimatedMinutes: z.coerce.number().default(7),\n\n // Target Learning Objectives\n targetLOs: z.array(z.object({\n code: z.string().describe('LO code, e.g. \"ULO\" or \"LO1\"'),\n loType: z.enum(['ULO', 'CIO', 'SIO']).optional(),\n description: z.string(),\n })),\n\n // Part 1: Recall & Conceptual Anchor\n recallPrompt: ExitTicketRecallPromptSchema,\n\n // Part 2: Application & Bug Hunt\n applicationPrompt: ExitTicketBugHuntSchema,\n\n // Part 3: Metacognitive Reflection\n metacognition: ExitTicketMetacognitionSchema,\n\n // Scoring & Intervention Trigger\n scoringGuide: z.object({\n proficiencyThreshold: z.string().describe('e.g. \"Green/Yellow check + Correct Bug Hunt answer\"'),\n interventionProtocol: z.string().describe('e.g. \"If ≥25% Red, start next session with 5-min Live Debug Warm-up\"'),\n }),\n});\n\nexport type ExitTicket = z.infer<typeof ExitTicketSchema>;\nexport type ExitTicketBugHunt = z.infer<typeof ExitTicketBugHuntSchema>;\n","import { z } from 'zod';\n\n// ─── Tier Definition ──────────────────────────────────────────────────────────\n\nexport const TierLevelEnum = z.enum(['Bronze', 'Silver', 'Gold']);\n\nexport const TierObjectiveSchema = z.object({\n tier: TierLevelEnum,\n bloomTarget: z.string().describe('e.g. \"Remember / Understand\" | \"Apply / Analyze\" | \"Evaluate / Create\"'),\n scaffoldingRatio: z.string().describe('e.g. \"70% Starter Code / 30% Fill-in\"'),\n successCriteria: z.string().describe('Condition that determines tier completion'),\n});\n\n// ─── Bronze Tier ──────────────────────────────────────────────────────────────\n\nexport const BronzeTierSchema = z.object({\n targetAudience: z.string().default('All learners (mandatory milestone)'),\n guidingPrompt: z.string().describe('Clear instruction with references to Handout'),\n starterCode: z.string().default('').describe('Pre-filled boilerplate code with TODO placeholders'),\n codeLanguage: z.string().default('swift'),\n fillInSlots: z.array(z.object({\n todoLabel: z.string().describe('e.g. \"TODO 1 [Bronze]\"'),\n instruction: z.string(),\n })).default([]),\n verificationTest: z.string().default('testBronzeBaseline()'),\n});\n\n// ─── Silver Tier ──────────────────────────────────────────────────────────────\n\nexport const SilverTierSchema = z.object({\n targetAudience: z.string().default('Learners who completed Bronze without mentor intervention'),\n guidingPrompt: z.string(),\n requirements: z.array(z.string()).min(1).describe('Numbered requirements: validation, state logic, user feedback'),\n implementationTarget: z.string().default('').describe('Skeleton or description of what to implement'),\n codeLanguage: z.string().default('swift'),\n verificationTest: z.string().default('testSilverLogicAndValidation()'),\n});\n\n// ─── Gold Tier ────────────────────────────────────────────────────────────────\n\nexport const GoldTierSchema = z.object({\n targetAudience: z.string().default('Advanced learners finished ahead of schedule'),\n architecturalChallenge: z.string().describe('Open-ended architectural task'),\n constraints: z.array(z.string()).min(1).describe('Hard invariants, e.g. \"zero data-race under concurrent mutations\"'),\n verificationTest: z.string().optional().default('testGoldConcurrencySafety()'),\n});\n\n// ─── Mentor Debugging Cheatsheet ─────────────────────────────────────────────\n\nexport const MentorCheatsheetSchema = z.object({\n bronzeStumble: z.string().default('').describe('Most common Bronze mistake'),\n silverStumble: z.string().default('').describe('Most common Silver mistake'),\n goldDiscussionPrompt: z.string().optional().describe('Scaling / architecture discussion question'),\n});\n\n// ─── Full Tiered Practice ─────────────────────────────────────────────────────\n\n/**\n * Tiered Practice Schema — 3-Level Differentiated Practice Lab\n * Template: TIERED_PRACTICE_template.md\n * Sections:\n * Computational Objective & Tier Matrix\n * Bronze Tier (Foundational Scaffolding)\n * Silver Tier (Independent Application)\n * Gold Tier (Enrichment & Optimization)\n * Automated Test Verification Matrix\n * Mentor Debugging Cheatsheet\n */\nexport const TieredPracticeSchema = z.object({\n artifactType: z.literal('TIERED_PRACTICE').default('TIERED_PRACTICE'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n\n // Tier matrix overview\n tierMatrix: z.array(TierObjectiveSchema).length(3).describe('One entry per tier: Bronze, Silver, Gold'),\n\n // Tier content\n bronze: BronzeTierSchema,\n silver: SilverTierSchema,\n gold: GoldTierSchema,\n\n // Test suite reference\n testSuiteClass: z.string().optional().describe('XCTest class name, e.g. \"AlarmSystemTestSuite\"'),\n\n // Mentor hints\n mentorCheatsheet: MentorCheatsheetSchema.optional(),\n});\n\nexport type TieredPractice = z.infer<typeof TieredPracticeSchema>;\nexport type BronzeTier = z.infer<typeof BronzeTierSchema>;\nexport type SilverTier = z.infer<typeof SilverTierSchema>;\nexport type GoldTier = z.infer<typeof GoldTierSchema>;\n","import { z } from 'zod';\n\n// ─── Single Bell Ringer day ───────────────────────────────────────────────────\n\nexport const BellRingerDaySchema = z.object({\n dayLabel: z.string().describe('e.g. \"Day 1 (Monday)\" or \"Day 1\"'),\n bloomLevel: z.enum([\n 'Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create',\n ]).optional(),\n promptType: z.enum([\n 'mental_model_recall',\n 'code_tracing',\n 'bug_hunt',\n 'diagram_tracing',\n 'creative_synthesis',\n 'open_reflection',\n ]).default('open_reflection'),\n prompt: z.string().describe('The warm-up question or task shown on projector'),\n codeSnippet: z.string().optional().describe('Code to trace or debug'),\n codeLanguage: z.string().optional().default('cpp'),\n answerKey: z.string().optional().describe('Teacher-facing expected answer or rubric note'),\n});\n\n// ─── Full Bell Ringer (5-day weekly pack) ────────────────────────────────────\n\n/**\n * Bell Ringer Schema — 5-Day Weekly Warm-Up Pack\n * Template: BELL_RINGER_template.md\n * Sections: Weekly Objective → Day 1-5 prompts → Answer Key\n * Time: 3-5 min each session\n */\nexport const BellRingerSchema = z.object({\n artifactType: z.literal('BELL_RINGER'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n weeklyTheme: z.string().describe('Core concept theme for the week'),\n routineProtocol: z.string().optional().default(\n 'Display prompt on projector as students enter. Students write in Daily Journal before class discussion.'\n ),\n days: z.array(BellRingerDaySchema).min(1).max(7),\n});\n\nexport type BellRinger = z.infer<typeof BellRingerSchema>;\nexport type BellRingerDay = z.infer<typeof BellRingerDaySchema>;\nexport type BellRingerInput = z.input<typeof BellRingerSchema>;\n","import { z } from 'zod';\n\n// ─── Glossary Term ────────────────────────────────────────────────────────────\n\nexport const GlossaryTermSchema = z.object({\n termName: z.string().describe('Term in the target language'),\n termNameEN: z.string().optional().describe('English term (for code/docs reference)'),\n bloomLevel: z.enum(['Remember', 'Understand', 'Apply']).optional(),\n simpleDefinition: z.string().describe('Max 2 sentences, age-appropriate, no jargon'),\n memoryAnalogy: z.string().describe('Analogy: \"This term is like [familiar thing]...\"'),\n realWorldExample: z.string().describe('1-3 line code snippet or 1-sentence real-world use case'),\n codeLanguage: z.string().optional().default(''),\n commonMistake: z.string().optional().describe('What students often confuse this with, and why'),\n seeMore: z.array(z.string()).optional().default([]).describe('Related term names'),\n});\n\n// ─── Quick Reference Row ──────────────────────────────────────────────────────\n\nexport const GlossaryQuickRefRowSchema = z.object({\n termEN: z.string(),\n translation: z.string().optional().default(''),\n bloomLevel: z.enum(['Remember', 'Understand', 'Apply']).optional(),\n mnemonicKeywords: z.string().optional().default(''),\n});\n\n// ─── Standardized Term ────────────────────────────────────────────────────────\n\nexport const StandardizedTermRowSchema = z.object({\n technicalTerm: z.string(),\n note: z.string(),\n doNotUse: z.string().optional().default(''),\n});\n\n// ─── Full Glossary ────────────────────────────────────────────────────────────\n\n/**\n * Glossary Schema — Module Vocabulary Reference\n * Template: GLOSSARY_template.md\n * Sections: Term entries (8-15 per module) → Quick Reference Table → Standardized Terms\n */\nexport const GlossarySchema = z.object({\n artifactType: z.literal('GLOSSARY'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n terms: z.array(GlossaryTermSchema).min(1).describe('Ordered from basic to advanced'),\n quickReferenceTable: z.array(GlossaryQuickRefRowSchema).optional().default([]),\n standardizedTerms: z.array(StandardizedTermRowSchema).optional().default([]),\n});\n\nexport type Glossary = z.infer<typeof GlossarySchema>;\nexport type GlossaryTerm = z.infer<typeof GlossaryTermSchema>;\nexport type GlossaryInput = z.input<typeof GlossarySchema>;\n","import { z } from 'zod';\n\n// ─── 9-Square Choice Activity ─────────────────────────────────────────────────\n\nexport const ChoiceSquareSchema = z.object({\n squareNumber: z.coerce.number().int().min(1).max(9),\n squareLabel: z.string().describe('e.g. \"Square 1: The Bug Hunter\"'),\n category: z.enum(['analytical', 'visual_architecture', 'creative_applied']).optional(),\n points: z.coerce.number().int().default(30),\n isCenterMaster: z.boolean().default(false).describe('True for the mandatory center ⭐ challenge'),\n description: z.string().describe('What the student must do'),\n deliverable: z.string().optional().describe('What to submit, e.g. \"Pull Request diff + clean build\"'),\n acceptanceCriteria: z.array(z.string()).optional().default([]),\n format: z.string().optional().describe('Submission format, e.g. \"Mermaid sequenceDiagram\"'),\n});\n\n// ─── Choice Rule ─────────────────────────────────────────────────────────────\n\nexport const ChoiceRuleSchema = z.object({\n model: z.enum(['tic_tac_toe', 'point_balance', 'custom']).default('tic_tac_toe'),\n description: z.string().describe('How the student wins / completes the board'),\n minimumPoints: z.coerce.number().optional().describe('Minimum points for point_balance model'),\n mandatoryCategories: z.array(z.string()).optional().default([]),\n});\n\n// ─── Rubric Row (reused from choice board context) ────────────────────────────\n\nexport const ChoiceBoardRubricRowSchema = z.object({\n criteriaName: z.string(),\n exemplary: z.string(),\n proficient: z.string(),\n developing: z.string(),\n beginning: z.string(),\n});\n\n// ─── Full Choice Board ────────────────────────────────────────────────────────\n\n/**\n * Choice Board Schema — 9-Square Differentiated Activity Matrix\n * Template: CHOICE_BOARD_template.md\n * Sections: Learning Goals & Rule → 9-Square Matrix → Activity Blueprints → Rubric\n */\nexport const ChoiceBoardSchema = z.object({\n artifactType: z.literal('CHOICE_BOARD'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n coreConceptAnchor: z.string().describe('All options must demonstrate mastery of this invariant'),\n choiceRule: ChoiceRuleSchema,\n squares: z.array(ChoiceSquareSchema).min(1).max(9),\n rubric: z.array(ChoiceBoardRubricRowSchema).optional().default([]),\n});\n\nexport type ChoiceBoard = z.infer<typeof ChoiceBoardSchema>;\nexport type ChoiceSquare = z.infer<typeof ChoiceSquareSchema>;\nexport type ChoiceBoardInput = z.input<typeof ChoiceBoardSchema>;\n","import { z } from 'zod';\n\n// ─── Graphic Organizer Item ───────────────────────────────────────────────────\n\nexport const OrganizerTypeEnum = z.enum([\n 'mermaid_flowchart', // Architectural data flow (graph TD/LR)\n 'mermaid_sequence', // Sequence / message flow diagram\n 'mermaid_state', // State machine / lifecycle diagram\n 'mermaid_er', // Entity-relationship diagram\n 'mermaid_class', // Class / OOP diagram\n 'venn_comparison', // Comparative analysis (2+ sets)\n 'fill_in_text', // ASCII/text fill-in exercise\n 'concept_map', // Node-link concept map (freeform)\n]);\n\nexport const GraphicOrganizerItemSchema = z.object({\n organizerNumber: z.coerce.number().int(),\n organizerTitle: z.string().describe('e.g. \"Architectural Data Flow\" or \"State Machine & Lifecycle\"'),\n organizerType: OrganizerTypeEnum,\n mermaidCode: z.string().optional().describe('Raw Mermaid.js diagram definition'),\n fillInTemplate: z.string().optional().describe('ASCII text fill-in box template'),\n wordBank: z.array(z.string()).optional().default([]).describe('Word bank for fill-in exercises'),\n cognitiveGoal: z.string().optional().describe('Why this diagram helps (Paivio dual-coding, etc.)'),\n requiredLabels: z.array(z.string()).optional().default([]).describe('Items students must correctly label'),\n});\n\n// ─── Full Graphic Organizer ───────────────────────────────────────────────────\n\n/**\n * Graphic Organizer Schema — Visual Diagram-Based Learning Tool\n * Template: GRAPHIC_ORGANIZER_template.md\n * Sections: Visual Paradigm Overview → Organizer 1/2/3 → Student Fill-in Worksheet\n */\nexport const GraphicOrganizerSchema = z.object({\n artifactType: z.literal('GRAPHIC_ORGANIZER'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n cognitivePurpose: z.string().optional().describe(\n 'Cognitive design rationale, e.g. \"Dual-coding theory: spatial + verbal processing\"'\n ),\n organizers: z.array(GraphicOrganizerItemSchema).min(1),\n});\n\nexport type GraphicOrganizer = z.infer<typeof GraphicOrganizerSchema>;\nexport type GraphicOrganizerItem = z.infer<typeof GraphicOrganizerItemSchema>;\nexport type GraphicOrganizerInput = z.input<typeof GraphicOrganizerSchema>;\n","import { z } from 'zod';\n\n// ─── CER (Claim-Evidence-Reasoning) conclusion ───────────────────────────────\n\nexport const CERConclusionSchema = z.object({\n claim: z.string().describe('Direct 1-sentence answer to the driving question'),\n evidence: z.string().describe('Specific quantitative data from the collection table'),\n reasoning: z.string().describe('Connection between evidence and the technical principle'),\n});\n\n// ─── Experimental Variable Design ────────────────────────────────────────────\n\nexport const ExperimentalDesignSchema = z.object({\n hypothesisTemplate: z.string().describe(\n '\"If [action], then [predicted outcome] because [rationale].\"'\n ),\n independentVariable: z.string().describe('The variable being manipulated'),\n dependentVariable: z.string().describe('The variable being measured'),\n controlVariables: z.array(z.string()).optional().default([]).describe('Constants held fixed'),\n});\n\n// ─── Science Lab ─────────────────────────────────────────────────────────────\n\n/**\n * Science Lab (CER Investigation) Schema\n * Template: SCIENCE_LAB_template.md\n * Sections: Guiding Inquiry → Hypothesis & Design → Data Protocol → CER Conclusion → Peer Review\n * Format: STEM/Code Investigation with Claim-Evidence-Reasoning framework\n */\nexport const ScienceLabSchema = z.object({\n artifactType: z.literal('SCIENCE_LAB'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n domain: z.string().optional().describe('e.g. \"Software Engineering / Concurrency\"'),\n\n // Guiding Inquiry\n drivingQuestion: z.string().describe('Real-world engineering driving question'),\n engineeringPhenomenon: z.string().optional().describe('Observed phenomenon requiring explanation'),\n\n // Hypothesis & Experimental Design\n experimentalDesign: ExperimentalDesignSchema,\n\n // Data Collection\n labSetupCode: z.string().optional().describe('Instrumentation / benchmark harness code'),\n labSetupCodeLanguage: z.string().optional().default('cpp'),\n dataCollectionColumns: z.array(z.string()).optional().default([]).describe('Table column headers'),\n trialCount: z.coerce.number().optional().default(4),\n\n // CER Conclusion\n cerTemplates: CERConclusionSchema.optional().describe('Pre-filled example or rubric for CER'),\n\n // Peer Review\n peerReviewProtocol: z.string().optional().describe(\n 'How groups exchange and verify each other\\'s results'\n ),\n reproducibilityTolerancePct: z.coerce.number().optional().default(10),\n});\n\nexport type ScienceLab = z.infer<typeof ScienceLabSchema>;\nexport type ScienceLabInput = z.input<typeof ScienceLabSchema>;\nexport type CERConclusion = z.infer<typeof CERConclusionSchema>;\n","import { z } from 'zod';\n\n// ─── Individual Rotation Station ─────────────────────────────────────────────\n\nexport const StationTypeEnum = z.enum([\n 'teacher_led', // Station 1: Small-group guided inquiry with teacher\n 'pair_lab', // Station 2: Collaborative hands-on pair programming\n 'digital_self_paced', // Station 3: Independent async code lab / LMS\n 'offline_modeling', // Station 4: No-screen diagram / whiteboard activity\n 'custom',\n]);\n\nexport const RotationStationSchema = z.object({\n stationNumber: z.coerce.number().int(),\n stationLabel: z.string().describe('e.g. \"Station 1: Teacher-Led (Guided Inquiry)\"'),\n stationType: StationTypeEnum,\n goal: z.string().describe('What students achieve at this station'),\n durationMinutes: z.coerce.number().optional().default(15),\n teacherScriptOrInquiry: z.string().optional().describe(\n 'Teacher talking points or inquiry prompts (for teacher_led station)'\n ),\n studentInstructions: z.string().optional().describe('Step-by-step student task'),\n materials: z.array(z.string()).optional().default([]),\n successMilestone: z.string().optional().describe('Observable completion criterion'),\n differentiationTrigger: z.string().optional().describe('What to do if students struggle'),\n});\n\n// ─── Recording Sheet Row (Student Passport) ───────────────────────────────────\n\nexport const StationRecordRowSchema = z.object({\n stationNumber: z.coerce.number().int(),\n taskCompleted: z.string(),\n verificationMethod: z.string().describe('Teacher stamp, peer signature, auto-token, etc.'),\n keyInsightPrompt: z.string().optional().default('What did you learn at this station?'),\n});\n\n// ─── Full Station Rotation Pack ───────────────────────────────────────────────\n\n/**\n * Station Rotation Schema — 4-Station Learning Pack\n * Template: STATION_ROTATION_template.md\n * Format: 4 stations × 15 min (60-75 min total) with rotation bell protocol\n * Grouping: Heterogeneous groups of 4-6 students\n */\nexport const StationRotationSchema = z.object({\n artifactType: z.literal('STATION_ROTATION'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n totalDurationMinutes: z.coerce.number().optional().default(60),\n rotationDurationMinutes: z.coerce.number().optional().default(15),\n transitionBufferMinutes: z.coerce.number().optional().default(2),\n groupSize: z.string().optional().default('4-6 students'),\n groupingStrategy: z.string().optional().default('Heterogeneous'),\n stations: z.array(RotationStationSchema).min(2),\n recordingSheet: z.array(StationRecordRowSchema).optional().default([]),\n});\n\nexport type StationRotation = z.infer<typeof StationRotationSchema>;\nexport type RotationStation = z.infer<typeof RotationStationSchema>;\nexport type StationRotationInput = z.input<typeof StationRotationSchema>;\n","import { z } from 'zod';\n\n// ─── Difficulty Tier Enum ─────────────────────────────────────────────────────\n\nexport const CardTierEnum = z.enum(['bronze', 'silver', 'gold']);\n\n// ─── Individual Task Card ─────────────────────────────────────────────────────\n\nexport const TaskCardSchema = z.object({\n cardId: z.string().describe('e.g. \"CARD_01\"'),\n cardNumber: z.coerce.number().int(),\n setLabel: z.string().optional().describe(\n 'e.g. \"Set A: Foundational Concepts\" or \"Set B: Code Diagnosis\"'\n ),\n tier: CardTierEnum.optional().default('bronze'),\n points: z.coerce.number().int().optional().default(1),\n category: z.string().optional().describe(\n 'e.g. \"Vocabulary\", \"Code Tracing\", \"Bug Hunt\", \"Architecture\"'\n ),\n prompt: z.string().describe('The task / question printed on the card'),\n codeSnippet: z.string().optional().describe('Code to trace or debug'),\n codeLanguage: z.string().optional().default('cpp'),\n options: z.array(z.object({\n id: z.string(),\n text: z.string(),\n isCorrect: z.boolean().optional(),\n })).optional().default([]).describe('MCQ options (if applicable)'),\n hint: z.string().optional().describe('Student-facing hint'),\n answerKey: z.string().describe('Teacher-facing correct answer or solution blueprint'),\n answerPoints: z.coerce.number().int().optional().default(1),\n});\n\n// ─── Full Task Cards Deck ─────────────────────────────────────────────────────\n\n/**\n * Task Cards Schema — Printable Task Card Deck\n * Template: TASK_CARDS_template.md\n * Sets: A (Foundational), B (Debugging), C (Application/Synthesis)\n * Usage: Centers, Fast Finishers, Small Group Review, Station 4 Offline Activity\n */\nexport const TaskCardsSchema = z.object({\n artifactType: z.literal('TASK_CARDS'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n targetSkills: z.array(z.string()).optional().default([]).describe(\n 'e.g. [\"Conceptual Understanding\", \"Code Tracing\", \"Bug Hunting\"]'\n ),\n cardFormat: z.string().optional().default('4 cards per A4 page'),\n scoringSystem: z.string().optional().default(\n 'Bronze (1 pt), Silver (2 pts), Gold (3 pts)'\n ),\n cards: z.array(TaskCardSchema).min(1),\n});\n\nexport type TaskCards = z.infer<typeof TaskCardsSchema>;\nexport type TaskCard = z.infer<typeof TaskCardSchema>;\nexport type TaskCardsInput = z.input<typeof TaskCardsSchema>;\n","import { z } from 'zod';\n\n// ─── Game Question / Challenge ────────────────────────────────────────────────\n\nexport const ReviewGameQuestionSchema = z.object({\n questionId: z.string().optional(),\n round: z.coerce.number().int().min(1).max(3).describe('1=Speed, 2=Code Duel, 3=Final Boss'),\n points: z.coerce.number().int(),\n category: z.string().optional().describe('e.g. \"Vocabulary & Syntax\", \"Mental Model\"'),\n prompt: z.string().describe('The question or challenge shown to teams'),\n codeSnippet: z.string().optional(),\n codeLanguage: z.string().optional().default(''),\n options: z.array(z.object({\n id: z.string(),\n text: z.string(),\n isCorrect: z.boolean().optional(),\n })).optional().default([]).describe('MCQ options for Round 1'),\n answerOrExplanation: z.string().describe('Correct answer or winning explanation'),\n timeLimit: z.coerce.number().optional().default(20).describe('Seconds'),\n bonusMechanic: z.string().optional().describe('e.g. \"Teams can wager points\"'),\n});\n\n// ─── Kahoot/Quizizz Export Row ────────────────────────────────────────────────\n\nexport const ReviewGameExportRowSchema = z.object({\n question: z.string(),\n option1: z.string(),\n option2: z.string(),\n option3: z.string().optional().default(''),\n option4: z.string().optional().default(''),\n correctAnswer: z.coerce.number().int().min(1).max(4).describe('1-indexed correct option'),\n timeLimitSec: z.coerce.number().optional().default(20),\n});\n\n// ─── Full Review Game Pack ────────────────────────────────────────────────────\n\n/**\n * Review Game Schema — Interactive Quiz Show Pack\n * Template: REVIEW_GAME_template.md\n * Format: 3 Rounds (Speed → Code Duel → Final Boss Architecture)\n * Compatible with: Kahoot, Quizizz, Jeopardy live classroom format\n */\nexport const ReviewGameSchema = z.object({\n artifactType: z.literal('REVIEW_GAME'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n\n // Setup\n format: z.string().optional().default('3 rounds, progressive difficulty, team buzzers'),\n teamSize: z.string().optional().default('3-5 students'),\n hasBonusWager: z.boolean().optional().default(true).describe('Teams can wager points on Round 3'),\n\n // Questions per round\n questions: z.array(ReviewGameQuestionSchema).min(1),\n\n // Export-ready format for Kahoot / Quizizz\n exportRows: z.array(ReviewGameExportRowSchema).optional().default([]),\n});\n\nexport type ReviewGame = z.infer<typeof ReviewGameSchema>;\nexport type ReviewGameQuestion = z.infer<typeof ReviewGameQuestionSchema>;\nexport type ReviewGameInput = z.input<typeof ReviewGameSchema>;\n","import { z } from 'zod';\n\n/**\n * CurriculumPlan — machine-readable SOT for curriculum planning.\n *\n * Produced by the Curriculum Planner (curriculumPlannerService) from a domain\n * planning graph (CurriculumFeed v2 or raw domain-kit graph shapes) plus\n * course constraints and policy. CURRICULUM_FRAMEWORK.md is a human-readable\n * projection of this plan; LESSON production consumes a session slice of it.\n */\n\n// [7] Canonical decision vocabularies (the ONLY legal values)\n\nexport const PrerequisiteDecisionSchema = z.enum([\n 'mastered_before_course', // entry-level knowledge — referenced, not taught\n 'taught_in_prior_lesson', // formally taught in an earlier session\n 'recap_in_lesson', // re-activated at the start of this session\n 'jit_introduce_in_lesson', // introduced just-in-time inside this session\n 'scaffolded_provide', // not taught — supplied ready-made (scaffold)\n]);\nexport type PrerequisiteDecision = z.infer<typeof PrerequisiteDecisionSchema>;\n\nexport const ScaffoldDecisionSchema = z.enum([\n 'student_builds',\n 'provide_partial',\n 'provide_full',\n 'provide_reference',\n]);\nexport type ScaffoldDecision = z.infer<typeof ScaffoldDecisionSchema>;\n\nexport const DepthLevelSchema = z.enum(['ulo', 'cio', 'sio']);\nexport type DepthLevel = z.infer<typeof DepthLevelSchema>;\n\nexport const BloomLevelSchema = z.enum([\n 'Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create',\n]);\nexport type BloomLevel = z.infer<typeof BloomLevelSchema>;\n\nexport const EntryLevelSchema = z.enum(['beginner', 'intermediate', 'advanced']);\nexport const NodeKindSchema = z.enum(['skill', 'concept', 'product_step']);\n\n// Shared atoms\n\nconst LessonCodeSchema = z.string().regex(/^U\\d{2}_M\\d{2}_L\\d{2}$/, 'lesson code must match UXX_MYY_LZZ');\n\nconst SourceCiteSchema = z.object({\n node_ids: z.array(z.string()).default([]),\n concept_codes: z.array(z.string()).default([]),\n});\n\nexport const CourseObjectiveSchema = z.object({\n id: z.string(),\n statement: z.string().min(8),\n bloom: BloomLevelSchema,\n sources: SourceCiteSchema,\n});\nexport type CourseObjective = z.infer<typeof CourseObjectiveSchema>;\n\nexport const UnitPlanSchema = z.object({\n id: z.string().regex(/^U\\d{2}$/),\n name: z.string().min(3),\n objectives: z.array(CourseObjectiveSchema).min(1),\n node_ids: z.array(z.string()).min(1),\n total_minutes: z.number().int().positive(),\n rationale: z.string().min(3),\n // Phases fully contained in this unit (empty for non-phase plans)\n phase_ids: z.array(z.string()).default([]),\n // Product completion description carried from the domain analysis (optional)\n product_completion: z.string().default(''),\n});\nexport type UnitPlan = z.infer<typeof UnitPlanSchema>;\n\n// Session plan ([3][4][5][6] outputs)\n\nexport const DepthAssignmentSchema = z.object({\n node_id: z.string(),\n depth: DepthLevelSchema,\n source: z.enum(['feed_hint', 'planner', 'escalated']),\n});\nexport type DepthAssignment = z.infer<typeof DepthAssignmentSchema>;\n\nexport const PrerequisiteDecisionEntrySchema = z.object({\n node_id: z.string(),\n decision: PrerequisiteDecisionSchema,\n reason: z.string().min(3),\n});\nexport type PrerequisiteDecisionEntry = z.infer<typeof PrerequisiteDecisionEntrySchema>;\n\nexport const ScaffoldDecisionEntrySchema = z.object({\n item: z.string().min(1),\n decision: ScaffoldDecisionSchema,\n minutes_saved: z.number().int().nonnegative().default(0),\n reason: z.string().min(3),\n});\nexport type ScaffoldDecisionEntry = z.infer<typeof ScaffoldDecisionEntrySchema>;\n\n// P50: Macro-Pedagogical Schemas (ZPD, Bruner Spiral, Walking Skeleton, Mastery Gates)\n\nexport const ZpdVerdictSchema = z.enum(['OK', 'TOO_MANY_NEW', 'NO_ZPD_BRIDGE']);\nexport type ZpdVerdict = z.infer<typeof ZpdVerdictSchema>;\n\nexport const SessionZpdStatusSchema = z.object({\n verdict: ZpdVerdictSchema,\n new_concept_count: z.number().int().nonnegative().default(0),\n known_concept_count: z.number().int().nonnegative().default(0),\n issues: z.array(z.string()).default([]),\n});\nexport type SessionZpdStatus = z.infer<typeof SessionZpdStatusSchema>;\n\nexport const ConceptSpiralEncounterSchema = z.object({\n concept_code: z.string(),\n session_id: LessonCodeSchema,\n encounter_index: z.number().int().positive(),\n bloom_cap: BloomLevelSchema,\n depth: DepthLevelSchema,\n});\nexport type ConceptSpiralEncounter = z.infer<typeof ConceptSpiralEncounterSchema>;\n\nexport const WalkingSkeletonSchema = z.object({\n epitome_unit_id: z.string().default('U01'),\n epitome_deliverables: z.array(z.string()).default([]),\n elaborations: z.array(z.object({\n unit_id: z.string(),\n focus_area: z.string(),\n elaborates_on: z.array(z.string()).default([]),\n })).default([]),\n});\nexport type WalkingSkeleton = z.infer<typeof WalkingSkeletonSchema>;\n\nexport const MasteryGateSchema = z.object({\n phase_or_unit_id: z.string(),\n gate_name: z.string(),\n exit_criteria: z.array(z.string()).min(1),\n next_unit_id: z.string(),\n remediation: z.object({\n trigger: z.literal('FAIL_GATE_CRITERIA'),\n focus_minutes: z.number().int().default(15),\n action: z.string(),\n }),\n});\nexport type MasteryGate = z.infer<typeof MasteryGateSchema>;\n\nexport const ConceptPrerequisiteEdgeSchema = z.object({\n concept_code: z.string(),\n requires: z.string(),\n source: z.enum(['MASTER_TREE', 'INFERRED', 'CONCEPT_LEVEL_PREREQ']).default('CONCEPT_LEVEL_PREREQ'),\n confidence: z.number().min(0).max(1).default(0.8),\n rationale: z.string().default(''),\n structure_supported: z.boolean().default(true),\n needs_review: z.boolean().default(false),\n hub: z.boolean().default(false),\n});\nexport type ConceptPrerequisiteEdge = z.infer<typeof ConceptPrerequisiteEdgeSchema>;\n\nexport const SessionPlanSchema = z.object({\n id: LessonCodeSchema,\n unit_id: z.string().regex(/^U\\d{2}$/),\n order: z.number().int().positive(),\n title: z.string().min(3),\n // [4] Free-text session objective — no ULO/CIO/SIO mapping at this stage.\n prose_objective: z.string().min(10),\n node_ids: z.array(z.string()).min(1),\n // Development phases this session contributes to (empty when the feed has no phases)\n phase_ids: z.array(z.string()).default([]),\n new_keywords: z.array(z.string()).default([]),\n prerequisite_keywords: z.array(z.string()).default([]),\n knowledge_minutes: z.number().int().nonnegative(),\n practice_minutes: z.number().int().nonnegative(),\n overhead_minutes: z.number().int().nonnegative(),\n depth_assignments: z.array(DepthAssignmentSchema).min(1),\n prerequisite_decisions: z.array(PrerequisiteDecisionEntrySchema).default([]),\n scaffold_decisions: z.array(ScaffoldDecisionEntrySchema).default([]),\n // What the student can demonstrate after this session — feeds exit tickets.\n exit_evidence: z.array(z.string()).min(1),\n differentiation: z.object({ bronze: z.string(), silver: z.string(), gold: z.string() }),\n // P50: ZPD cognitive load status for this session\n zpd_status: SessionZpdStatusSchema.default({\n verdict: 'OK',\n new_concept_count: 0,\n known_concept_count: 0,\n issues: [],\n }),\n});\nexport type SessionPlan = z.infer<typeof SessionPlanSchema>;\n\n// Root plan\n\nexport const TranslationPolicySchema = z\n .object({\n policy: z.enum(['after_artifact', 'end_of_unit', 'at_publish', 'native']).default('native'),\n target_language: z.string().nullable().default(null),\n })\n .refine(\n (data) => {\n if (data.policy === 'native') {\n return typeof data.target_language === 'string' && data.target_language.trim().length > 0;\n }\n return true;\n },\n {\n message: \"When translation policy is 'native', target_language must be a non-empty string\",\n path: ['target_language'],\n }\n );\nexport type TranslationPolicy = z.infer<typeof TranslationPolicySchema>;\n\nexport const CoverageReportSchema = z.object({\n assigned_node_ids: z.array(z.string()),\n unassigned_node_ids: z.array(z.string()),\n warnings: z.array(z.string()),\n});\nexport type CoverageReport = z.infer<typeof CoverageReportSchema>;\n\nexport const PlanConstraintsSchema = z.object({\n age_band: z.tuple([z.number().int(), z.number().int()]),\n entry_level: EntryLevelSchema,\n session_duration_minutes: z.number().int().positive(),\n // Overhead (setup/recap/wrap-up) share of a session, 0..0.5.\n overhead_ratio: z.number().min(0).max(0.5).default(0.15),\n total_sessions: z.number().int().positive().nullable().default(null),\n // Keywords the entry level already masters (drives mastered_before_course).\n entry_keywords: z.array(z.string()).default([]),\n course_goals: z.array(z.string()).default([]),\n capstone: z.string().nullable().default(null),\n});\nexport type PlanConstraints = z.infer<typeof PlanConstraintsSchema>;\n\nexport const CurriculumPlanSchema = z.object({\n schema_version: z.literal(1),\n plan_id: z.string(),\n plan_hash: z.string(),\n created_at: z.string(),\n source: z.object({\n graph_type: z.enum(['curriculum_feed', 'project_graph', 'knowledge_graph', 'hybrid_graph']),\n feed_schema_version: z.number().nullable().default(null),\n warnings: z.array(z.string()).default([]),\n hallucination_count: z.number().int().nonnegative().default(0),\n }),\n constraints: PlanConstraintsSchema,\n course: z.object({\n // [1] Course-level objectives, each citing source nodes (anti-fabrication)\n objectives: z.array(CourseObjectiveSchema).min(1),\n capstone_ref: z.string().nullable().default(null),\n }),\n units: z.array(UnitPlanSchema).min(1), // [2]\n sessions: z.array(SessionPlanSchema).min(1), // [3][4][5][6]\n // P50: Macro-pedagogical course structures\n walking_skeleton: WalkingSkeletonSchema.optional(),\n mastery_gates: z.array(MasteryGateSchema).default([]),\n concept_spiral_progression: z.array(ConceptSpiralEncounterSchema).default([]),\n concept_prerequisites: z.array(ConceptPrerequisiteEdgeSchema).default([]),\n glossary_scope: z.array(z.object({\n session_id: LessonCodeSchema,\n terms: z.array(z.string()),\n })),\n translation: TranslationPolicySchema,\n coverage_report: CoverageReportSchema,\n approval: z.object({\n status: z.enum(['draft', 'approved']),\n approved_at: z.string().nullable().default(null),\n // Hash of the plan payload the approval covers — invalidation key for EXPOSITION.\n plan_hash: z.string().nullable().default(null),\n }),\n});\nexport type CurriculumPlan = z.infer<typeof CurriculumPlanSchema>;\n\n// Normalized planning graph (Stage 0 output, internal + feed-facing)\n\nexport const PlanningNodeSchema = z.object({\n id: z.string(),\n kind: NodeKindSchema,\n name: z.string().min(1),\n concept_codes: z.array(z.string()).default([]),\n keywords: z.array(z.string()).default([]),\n new_keywords: z.array(z.string()).default([]),\n prerequisite_keywords: z.array(z.string()).default([]),\n estimated_minutes: z.number().int().nonnegative(),\n bloom_hint: BloomLevelSchema.nullable().default(null),\n depth_hint: DepthLevelSchema.nullable().default(null),\n completion_level: z.enum(['mvp', 'standard', 'stretch']).default('standard'),\n scaffold_candidates: z.array(z.object({\n item: z.string(),\n reason: z.string().default(''),\n minutes_saved: z.number().int().nonnegative().default(0),\n suggest: ScaffoldDecisionSchema.default('provide_full'),\n })).default([]),\n references: z.array(z.object({\n file: z.string(),\n evidence: z.string().default(''),\n })).default([]),\n phase_id: z.string().default(''),\n});\nexport type PlanningNode = z.infer<typeof PlanningNodeSchema>;\n\n/** knowledge = must be understood before; task = needs the source node's output first. */\nexport const DependencyEdgeSchema = z.object({\n from: z.string(),\n to: z.string(),\n kind: z.enum(['knowledge', 'task']),\n reason: z.string().default(''),\n});\nexport type DependencyEdge = z.infer<typeof DependencyEdgeSchema>;\n\nexport const PlanningGraphSchema = z.object({\n graph_type: z.enum(['curriculum_feed', 'project_graph', 'knowledge_graph', 'hybrid_graph']),\n warnings: z.array(z.string()).default([]),\n hallucination_count: z.number().int().nonnegative().default(0),\n nodes: z.array(PlanningNodeSchema).min(1, 'planning graph must contain at least one node'),\n edges: z.array(DependencyEdgeSchema).default([]),\n groupings: z.array(z.object({\n id: z.string(),\n name: z.string(),\n node_ids: z.array(z.string()).min(1),\n rationale: z.string().default(''),\n })).default([]),\n // Progressive completion phases (from CurriculumFeed.phases). When non-empty\n // they define units and the teaching sequence; groupings stay informational.\n phases: z.array(z.object({\n id: z.string(),\n order: z.number().int().positive(),\n name: z.string(),\n product_completion: z.string().default(''),\n node_ids: z.array(z.string()).min(1),\n })).default([]),\n});\nexport type PlanningGraph = z.infer<typeof PlanningGraphSchema>;\nexport type PlanningPhase = PlanningGraph['phases'][number];\n\n// Planner input\n\nexport const PlannerInputSchema = z.object({\n graph: z.unknown(),\n constraints: PlanConstraintsSchema,\n translation: TranslationPolicySchema.default({ policy: 'at_publish', target_language: null }),\n});\nexport type PlannerInput = z.infer<typeof PlannerInputSchema>;\n\n/** Validates a plan and enforces the cross-field budget invariant per session. */\nexport function validateCurriculumPlan(plan: unknown): CurriculumPlan {\n const parsed = CurriculumPlanSchema.parse(plan);\n for (const s of parsed.sessions) {\n const total = s.knowledge_minutes + s.practice_minutes + s.overhead_minutes;\n if (total > parsed.constraints.session_duration_minutes) {\n throw new Error(\n 'Session ' + s.id + ' budget violated: ' + total + ' > ' + parsed.constraints.session_duration_minutes + ' minutes',\n );\n }\n }\n return parsed;\n}\n","import { z } from 'zod';\n\n// ─── Existing schemas ─────────────────────────────────────────────────────────\nexport * from './lessonPlanSchema';\nexport * from './activitySchema';\nexport * from './codeLabSchema';\nexport * from './worksheetSchema';\nexport * from './handoutSchema';\nexport * from './slideDeckSchema';\nexport * from './teacherGuideSchema';\nexport * from './extensionSchema';\nexport * from './judgeSchema';\nexport * from './projectGraphSchema';\nexport * from './instructionSchema';\nexport * from './selfLabSchema';\nexport * from './diagnosticQuizSchema';\nexport * from './selfPacedBundleSchema';\n\n// ─── New schemas (derived from canonical templates) ───────────────────────────\nexport * from './rubricSchema';\nexport * from './exitTicketSchema';\nexport * from './tieredPracticeSchema';\nexport * from './bellRingerSchema';\nexport * from './glossarySchema';\nexport * from './choiceBoardSchema';\nexport * from './graphicOrganizerSchema';\nexport * from './scienceLabSchema';\nexport * from './stationRotationSchema';\nexport * from './taskCardsSchema';\nexport * from './reviewGameSchema';\n\nimport { LessonPlanSchema, LessonPlanEDPSchema, LessonPlan5ESchema } from './lessonPlanSchema';\nimport { ActivityLabSchema } from './activitySchema';\nimport { CodeLabSchema } from './codeLabSchema';\nimport { WorksheetSchema } from './worksheetSchema';\nimport { HandoutSchema } from './handoutSchema';\nimport { SlideDeckSchema } from './slideDeckSchema';\nimport { TeacherGuideSchema } from './teacherGuideSchema';\nimport { ExtensionSchema } from './extensionSchema';\nimport { DiagnosticQuizSchema } from './diagnosticQuizSchema';\nimport { RubricSchema } from './rubricSchema';\nimport { ExitTicketSchema } from './exitTicketSchema';\nimport { TieredPracticeSchema } from './tieredPracticeSchema';\nimport { BellRingerSchema } from './bellRingerSchema';\nimport { GlossarySchema } from './glossarySchema';\nimport { ChoiceBoardSchema } from './choiceBoardSchema';\nimport { GraphicOrganizerSchema } from './graphicOrganizerSchema';\nimport { ScienceLabSchema } from './scienceLabSchema';\nimport { StationRotationSchema } from './stationRotationSchema';\nimport { TaskCardsSchema } from './taskCardsSchema';\nimport { ReviewGameSchema } from './reviewGameSchema';\n\n/**\n * Discriminated Union of all Curriculum Artifacts.\n * Keyed on `artifactType` literal field.\n *\n * Lesson variants:\n * - 'LESSON' → LessonPlanSchema (legacy, deprecated — kept for backward compat)\n * - 'LESSON_EDP' → LessonPlanEDPSchema (Engineering Design Process model)\n * - 'LESSON_5E' → LessonPlan5ESchema (5E Instructional Model)\n */\nexport const CurriculumArtifactSchema = z.discriminatedUnion('artifactType', [\n // ─── Lesson variants ───────────────────────────────────────────\n LessonPlanSchema, // 'LESSON' — legacy (deprecated)\n LessonPlanEDPSchema, // 'LESSON_EDP' — Engineering Design Process\n LessonPlan5ESchema, // 'LESSON_5E' — 5E Instructional Model\n // ─── Activity & Practice ───────────────────────────────────────\n ActivityLabSchema, // 'ACT'\n TieredPracticeSchema, // 'TIERED_PRACTICE'\n BellRingerSchema, // 'BELL_RINGER'\n ChoiceBoardSchema, // 'CHOICE_BOARD'\n // ─── Code ─────────────────────────────────────────────────────\n CodeLabSchema, // 'CODE'\n // ─── Assessment ───────────────────────────────────────────────\n DiagnosticQuizSchema, // 'QUIZ'\n RubricSchema, // 'RUBRIC'\n ExitTicketSchema, // 'EXIT_TICKET'\n // ─── Student-facing resources ──────────────────────────────────\n WorksheetSchema, // 'WKS'\n HandoutSchema, // 'HANDOUT'\n SlideDeckSchema, // 'SLIDE'\n TeacherGuideSchema, // 'GUIDE'\n ExtensionSchema, // 'EXT'\n GlossarySchema, // 'GLOSSARY'\n GraphicOrganizerSchema,// 'GRAPHIC_ORGANIZER'\n ScienceLabSchema, // 'SCIENCE_LAB'\n StationRotationSchema, // 'STATION_ROTATION'\n TaskCardsSchema, // 'TASK_CARDS'\n ReviewGameSchema, // 'REVIEW_GAME'\n]);\n\nexport type CurriculumArtifact = z.infer<typeof CurriculumArtifactSchema>;\n\n/**\n * Basic Learning Objective schema from Knowledge Graph / Tree\n */\nexport const LearningObjectiveInputSchema = z.object({\n code: z.string(),\n name: z.string(),\n description: z.string().optional().default(''),\n lo_type: z.enum(['UNIVERSAL', 'CONCEPTUAL_IMPL', 'SPECIFIC_IMPL', 'ULO', 'CIO', 'SIO']).or(z.string()),\n bloom_level: z.string().optional().default('understand'),\n knowledge_dimension: z.string().optional().default('CONCEPTUAL'),\n assessment: z.string().optional().default('concept-check'),\n keyword: z.string().optional().default(''),\n concept: z.string().optional().default(''),\n concept_code: z.string().optional().default(''),\n concept_name: z.string().optional().default(''),\n});\n\nexport interface LearningObjectiveInput {\n code: string;\n name: string;\n description?: string;\n lo_type?: 'UNIVERSAL' | 'CONCEPTUAL_IMPL' | 'SPECIFIC_IMPL' | 'ULO' | 'CIO' | 'SIO' | string;\n bloom_level?: string;\n knowledge_dimension?: string;\n assessment?: string;\n keyword?: string;\n concept?: string;\n concept_code?: string;\n concept_name?: string;\n}\n\n/**\n * Milestone input schema matching knowledge-tree Roadmap & Learning Path JSON\n */\nexport const MilestoneInputSchema = z.object({\n id: z.string().optional(),\n name: z.string(),\n description: z.string().optional().default(''),\n feature_id: z.string().optional().default('F0'),\n feature_name: z.string().optional().default(''),\n concept_code: z.string().optional().default(''),\n concept_name: z.string().optional().default(''),\n completion_level: z.string().optional().default('base'),\n difficulty: z.string().optional().default('Beginner'),\n bloom_level: z.string().optional().default('Understand'),\n tech_keywords: z.array(z.string()).optional().default([]),\n prerequisite_concept_codes: z.array(z.string()).optional().default([]),\n all_keywords: z.array(z.string()).optional().default([]).describe('All keywords associated with this milestone (aggregated from concepts)'),\n new_keywords: z.array(z.string()).optional().default([]).describe('Keywords introduced for the first time at this milestone'),\n prerequisite_keywords: z.array(z.string()).optional().default([]).describe('Keywords already introduced in earlier milestones'),\n learning_objectives: z.array(LearningObjectiveInputSchema).optional().default([]),\n rationale: z.string().or(z.array(z.string())).optional().default(''),\n instruction_ref: z.string().optional(),\n /** Canonical numeric grade band [min, max] for standards retrieval (Phase 2). */\n grade_band: z.tuple([z.number().int(), z.number().int()]).optional(),\n});\n\nexport interface MilestoneInput {\n id?: string;\n name: string;\n description?: string;\n feature_id?: string;\n feature_name?: string;\n concept_code?: string;\n concept_name?: string;\n completion_level?: string;\n difficulty?: string;\n bloom_level?: string;\n tech_keywords?: string[];\n prerequisite_concept_codes?: string[];\n all_keywords?: string[];\n new_keywords?: string[];\n prerequisite_keywords?: string[];\n learning_objectives?: LearningObjectiveInput[];\n rationale?: string | string[];\n instruction_ref?: string;\n grade_band?: [number, number];\n}\n\n/**\n * Phase input schema\n */\nexport const PhaseInputSchema = z.object({\n phase_id: z.number().or(z.string()),\n title: z.string().optional(),\n phase_name: z.string().optional(),\n description: z.string().optional().default(''),\n target_outcome: z.string().optional(),\n milestones: z.array(MilestoneInputSchema).default([]),\n});\n\nexport type PhaseInput = z.input<typeof PhaseInputSchema>;\n\n/**\n * Full Roadmap input schema\n */\nexport const RoadmapInputSchema = z.object({\n project_brief: z.object({\n name: z.string().optional(),\n title: z.string().optional(),\n goal: z.string().optional(),\n description: z.string().optional().default(''),\n tech_stack: z.array(z.string()).optional().default([]),\n estimated_hours: z.number().optional().default(0),\n estimated_weeks: z.number().optional().default(0),\n target_learner: z.string().optional(),\n audience: z.string().optional(),\n icon: z.string().optional(),\n }),\n phases: z.array(PhaseInputSchema).default([]),\n});\n\nexport type RoadmapInput = z.infer<typeof RoadmapInputSchema>;\n\nexport interface ProjectRoadmap {\n title: string;\n goal?: string;\n topic?: string;\n target_language?: string;\n target_audience?: string;\n tech_stack?: string[];\n milestones: MilestoneInput[];\n}\nexport * from './curriculumPlanSchema';\n"]}
1
+ {"version":3,"sources":["../../src/schemas/lessonPlanSchema.ts","../../src/schemas/activitySchema.ts","../../src/schemas/codeLabSchema.ts","../../src/schemas/worksheetSchema.ts","../../src/schemas/handoutSchema.ts","../../src/schemas/slideDeckSchema.ts","../../src/schemas/teacherGuideSchema.ts","../../src/schemas/extensionSchema.ts","../../src/schemas/judgeSchema.ts","../../src/schemas/projectGraphSchema.ts","../../src/schemas/instructionSchema.ts","../../src/schemas/selfLabSchema.ts","../../src/schemas/diagnosticQuizSchema.ts","../../src/schemas/selfPacedBundleSchema.ts","../../src/schemas/rubricSchema.ts","../../src/schemas/exitTicketSchema.ts","../../src/schemas/tieredPracticeSchema.ts","../../src/schemas/bellRingerSchema.ts","../../src/schemas/glossarySchema.ts","../../src/schemas/choiceBoardSchema.ts","../../src/schemas/graphicOrganizerSchema.ts","../../src/schemas/scienceLabSchema.ts","../../src/schemas/stationRotationSchema.ts","../../src/schemas/taskCardsSchema.ts","../../src/schemas/reviewGameSchema.ts","../../src/schemas/curriculumPlanSchema.ts","../../src/schemas/index.ts"],"names":["z"],"mappings":"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","file":"index.mjs","sourcesContent":["import { z } from 'zod';\n\n// ─── Shared sub-schemas ───────────────────────────────────────────────────────\n\nexport const LearningObjectiveRowSchema = z.object({\n code: z.string().describe('LO code, e.g. \"LO1\"'),\n objective: z.string().describe('Bloom-tagged learning objective'),\n evidence: z.string().describe('Observable student evidence / output'),\n successCriteria: z.string().describe('Measurable pass/fail condition'),\n /**\n * Standards anchors (Phase 1: optional). Format: \"statementId\" or\n * \"packId:statementId\", e.g. \"csta-k12-2017:1B-AP-10\". IDs MUST exist in an\n * adopted Framework Pack — the Standards Coverage Gate resolves and audits them.\n */\n standardRefs: z.array(z.string()).optional().default([]).describe('Anchoring standard statement IDs from adopted Framework Packs'),\n /** Ontora knowledge-tree anchors, e.g. \"ontora:WHILE_LOOP\" (optional, Phase 1). */\n conceptRefs: z.array(z.string()).optional().default([]).describe('Anchoring ontora concept codes, e.g. \"ontora:FOR_LOOP\"'),\n});\n\nexport const ActivitySeqRowSchema = z.object({\n seq: z.coerce.number().int(),\n phase: z.string().describe('EDP or 5E phase label'),\n activityType: z.string().describe('e.g. \"Mini-lecture\", \"Brainstorming\", \"Hands-on Coding\"'),\n actor: z.string().describe('\"Teacher\" | \"Students\" | \"Teacher + Students\"'),\n purpose: z.string().describe('Why this activity is done'),\n studentAction: z.string(),\n teacherMove: z.string(),\n outputEvidence: z.string(),\n lo: z.array(z.string()).describe('e.g. [\"LO1\",\"LO2\"]'),\n durationMinutes: z.coerce.number().default(10),\n artifactContract: z.string().describe('Satellite artifact(s) linked, e.g. \"SLIDE_U03_M01_L13\"'),\n});\n\nexport const ResourceMapRowSchema = z.object({\n resourceType: z.string().describe('\"Slide Deck\" | \"Handout\" | \"Starter Code\" | \"Lab Tools\" | etc.'),\n identifier: z.string(),\n description: z.string(),\n location: z.string().default(''),\n});\n\nexport const AssessmentMapRowSchema = z.object({\n form: z.string().describe('\"Formative Checkpoint\" | \"Summative Assessment\" | \"Peer Feedback\"'),\n when: z.string().describe('When in the sequence this is assessed'),\n tool: z.string().describe('Assessment tool or artifact used'),\n criteria: z.string(),\n performanceLevels: z.string().default(''),\n remediationPath: z.string().default(''),\n});\n\nexport const ArtifactContractRowSchema = z.object({\n artifactId: z.string(),\n artifactType: z.string(),\n description: z.string(),\n requiredSections: z.string().default(''),\n format: z.string().default(''),\n owner: z.string().default(''),\n});\n\nexport const LessonFlowPhaseSchema = z.object({\n phase: z.string().describe('Phase title, e.g. \"ASK\", \"ENGAGE\", \"PLAN\"'),\n durationMinutes: z.coerce.number(),\n content: z.string().describe('Full narrative content of this phase (teacher actions, student actions, code, outputs)'),\n});\n\nexport const TroubleshootingRowSchema = z.object({\n issue: z.string(),\n potentialCause: z.string(),\n solution: z.string(),\n});\n\n// ─── Shared base for both Lesson models ──────────────────────────────────────\n\nconst LessonBaseSchema = z.object({\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n estimatedDuration: z.string().describe('e.g. \"90 minutes\"'),\n projectObjective: z.string(),\n materials: z.string().default(''),\n learningObjectives: z.array(LearningObjectiveRowSchema).min(1),\n activitySequence: z.array(ActivitySeqRowSchema).min(1),\n resourceMap: z.array(ResourceMapRowSchema).default([]),\n assessmentMap: z.array(AssessmentMapRowSchema).default([]),\n artifactContract: z.array(ArtifactContractRowSchema).default([]),\n lessonFlow: z.array(LessonFlowPhaseSchema).min(1),\n teacherNotes: z.string().optional().default(''),\n troubleshooting: z.array(TroubleshootingRowSchema).default([]),\n});\n\n// ─── LESSON_EDP: Engineering Design Process ───────────────────────────────────\n\n/**\n * Lesson Plan Schema — EDP (Engineering Design Process) Model\n * Template: LESSON_EDP_template.md\n * Phases: Ask → Imagine → Plan → Create → Test & Improve → Share & Evaluate\n */\nexport const EDPPhaseEnum = z.enum([\n 'Ask',\n 'Imagine',\n 'Plan',\n 'Create',\n 'Test & Improve',\n 'Share & Evaluate',\n]);\n\nexport const LessonPlanEDPSchema = LessonBaseSchema.extend({\n artifactType: z.literal('LESSON_EDP').default('LESSON_EDP'),\n});\n\nexport type LessonPlanEDP = z.infer<typeof LessonPlanEDPSchema>;\n\n// ─── LESSON_5E: 5E Instructional Model ──────────────────────────────────────\n\n/**\n * Lesson Plan Schema — 5E Instructional Model\n * Template: LESSON_5E_template.md\n * Phases: Engage → Explore → Explain → Elaborate → Evaluate\n */\nexport const FiveEPhaseEnum = z.enum([\n 'Engage',\n 'Explore',\n 'Explain',\n 'Elaborate',\n 'Evaluate',\n]);\n\n/** Additional 5E-specific Lesson Flow fields */\nexport const FiveEFlowPhaseSchema = LessonFlowPhaseSchema.extend({\n hookScenario: z.string().optional().describe('Hook story/roleplay for Engage phase (5E-specific)'),\n openQuestion: z.string().optional().describe('Explicit guiding question posed to class'),\n visualIllustration: z.string().optional().describe('Mermaid diagram, code, or JSON snippet for Explain phase'),\n tieredScaffolding: z.object({\n bronze: z.string().default(''),\n silver: z.string().default(''),\n gold: z.string().default(''),\n }).optional(),\n exitTicketQuestions: z.array(z.string()).optional(),\n});\n\nexport const LessonPlan5ESchema = LessonBaseSchema.extend({\n artifactType: z.literal('LESSON_5E').default('LESSON_5E'),\n lessonFlow: z.array(FiveEFlowPhaseSchema).min(1),\n keywords: z.array(z.string()).default([]),\n}).omit({ lessonFlow: true }).extend({\n lessonFlow: z.array(FiveEFlowPhaseSchema).min(1),\n});\n\nexport type LessonPlan5E = z.infer<typeof LessonPlan5ESchema>;\n\n// ─── Legacy LESSON schema (kept for backward compatibility) ──────────────────\n\nexport const CoreConceptSchema = z.object({\n name: z.string(),\n analogy: z.string().default(''),\n technicalDepth: z.string().default(''),\n comparisonTable: z.object({\n headers: z.array(z.string()),\n rows: z.array(z.array(z.string())),\n }).optional(),\n formulaOrRule: z.string().optional().default(''),\n});\n\nexport const LessonSectionSchema = z.object({\n title: z.string(),\n durationMinutes: z.coerce.number().default(15),\n teacherActions: z.string().default(''),\n studentActions: z.string().default(''),\n analogies: z.array(z.string()).optional().default([]),\n formativeCheck: z.string().optional().default(''),\n});\n\n/**\n * @deprecated Use LessonPlanEDPSchema or LessonPlan5ESchema instead.\n * Kept for backward compatibility with existing data.\n */\nexport const LessonPlanSchema = z.object({\n artifactType: z.literal('LESSON').default('LESSON'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('vi'),\n topic: z.string().default('General Topic'),\n targetGradeOrAudience: z.string().default('Learners'),\n overview: z.string(),\n learningObjectives: z.array(z.object({\n code: z.string().default('LO'),\n name: z.string().optional().default(''),\n description: z.string(),\n bloomLevel: z.string().default('understand'),\n successCriteria: z.string().optional().default(''),\n standardRefs: z.array(z.string()).optional(),\n conceptRefs: z.array(z.string()).optional(),\n })).default([]),\n prerequisites: z.string().optional().default(''),\n materialsSummary: z.string().optional().default(''),\n keywords: z.array(z.string()).optional().default([]),\n hookTitle: z.string().optional().default(''),\n hookScenario: z.string().default(''),\n hookQuestions: z.array(z.string()).optional().default([]),\n coreConcepts: z.array(CoreConceptSchema).optional().default([]),\n guidedPractice: z.object({\n title: z.string().default(''),\n explanation: z.string().default(''),\n codeSnippet: z.string().default(''),\n codeLanguage: z.string().default('typescript'),\n mermaidDiagram: z.string().optional().default(''),\n }).optional(),\n independentPractice: z.object({\n title: z.string().default(''),\n description: z.string().default(''),\n }).optional(),\n differentiation: z.object({\n bronzeTier: z.string().default(''),\n silverTier: z.string().default(''),\n goldTier: z.string().default(''),\n }).default({ bronzeTier: '', silverTier: '', goldTier: '' }),\n sections: z.array(LessonSectionSchema).min(1),\n exitTicket: z.object({\n questionStem: z.string(),\n expectedAnswerOrRubric: z.string().default(''),\n metacognitivePrompt: z.string().default(''),\n }),\n teacherNotes: z.object({\n commonPitfalls: z.array(z.string()).default([]),\n troubleshootingMatrix: z.array(TroubleshootingRowSchema).default([]),\n extensionNotes: z.string().optional().default(''),\n }).optional().default({ commonPitfalls: [], troubleshootingMatrix: [], extensionNotes: '' }),\n});\n\nexport type LessonPlan = z.infer<typeof LessonPlanSchema>;\nexport type CoreConcept = z.infer<typeof CoreConceptSchema>;\nexport type TroubleshootingRow = z.infer<typeof TroubleshootingRowSchema>;\nexport type ActivitySeqRow = z.infer<typeof ActivitySeqRowSchema>;\nexport type LessonFlowPhase = z.infer<typeof LessonFlowPhaseSchema>;\nexport type LearningObjectiveRow = z.infer<typeof LearningObjectiveRowSchema>;\n","import { z } from 'zod';\n\n/**\n * Activity Lab Schema — Hands-on Step-by-Step Inquiry-Based Practical Lab\n * Ported from /Users/tonypham/MEGA/ai-platform/my-mcp/_templates/ACT_template.md\n */\nexport const ActivityStepSchema = z.object({\n stepNumber: z.coerce.number().default(1),\n title: z.string().describe('Short descriptive title of this step'),\n durationMinutes: z.coerce.number().default(10).describe('Estimated duration for this step'),\n teacherInstructions: z.string().default('').describe('Guidance and checkpoint tips for the teacher'),\n studentInstructions: z.string().describe('Direct, clear, actionable step-by-step instructions for students'),\n checkpoint: z.string().optional().default('').describe('Clear observable checkpoint or success indicator for this step'),\n});\n\nexport const ComputationalThinkingSchema = z.object({\n problemStatement: z.string().describe('Tình huống thực tế đầy thách thức cần giải quyết'),\n decomposition: z.array(z.string()).describe('Các bước phân rã bài toán lớn thành các phần nhỏ'),\n algorithmDesign: z.string().describe('Thiết kế luồng thuật toán và xử lý dữ liệu trước khi code'),\n});\n\nexport const ActiveLearningWorkflowSchema = z.object({\n phase1Planning: z.object({\n durationMinutes: z.coerce.number().default(15),\n studentTask: z.string().describe('Vẽ sơ đồ, thiết kế luồng trên giấy/bảng trước khi gõ phím'),\n teacherAction: z.string().describe('Quan sát và đặt câu hỏi gợi mở (Inquiry questions)'),\n inquiryQuestions: z.array(z.string()).default([]),\n }),\n phase2Implementation: z.object({\n durationMinutes: z.coerce.number().default(40),\n studentTask: z.string().describe('Hiện thực hóa giải pháp qua code hoặc lắp ráp phần cứng'),\n teacherAction: z.string().describe('Hỗ trợ khi học sinh bị tắc > 5 phút, tránh làm hộ'),\n codeOrCommands: z.array(z.string()).default([]),\n }),\n phase3Debugging: z.object({\n durationMinutes: z.coerce.number().default(15),\n testingSteps: z.string().describe('Quy trình chạy thử nghiệm và kiểm tra đầu ra'),\n errorAnalysis: z.string().describe('Phân tích mã lỗi và tự gỡ lỗi dựa trên bảng Troubleshooting'),\n }),\n});\n\nexport const ActivityLabSchema = z.object({\n artifactType: z.literal('ACT').default('ACT'),\n lessonId: z.string().describe('Matching lesson identifier'),\n title: z.string().describe('Activity title'),\n language: z.string().default('vi').describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n objective: z.string().describe('Core hands-on objective of the activity'),\n totalDurationMinutes: z.coerce.number().default(60).describe('Total estimated duration of the activity'),\n \n // 1. Computational Thinking Focus\n computationalThinking: ComputationalThinkingSchema.optional(),\n\n // 2. Bill of Materials (BOM)\n materialsBOM: z.object({\n hardware: z.array(z.string()).default([]).describe('Hardware boards, components, sensors, or devices required (bọc trong <!-- [HARDWARE_BOM] -->)'),\n software: z.array(z.string()).default([]).describe('IDE, compilers, browser tools, libraries, or simulators required'),\n consumables: z.array(z.string()).default([]).describe('Paper, pens, wires, or disposable items'),\n otherResources: z.array(z.string()).default([]).describe('Worksheets, handouts, or reference links'),\n }),\n\n // 3. Constraints & Safety\n safetyWarnings: z.array(z.string()).default([]).describe('Essential safety cautions, electrical warnings, or common hazards'),\n designConstraints: z.array(z.string()).default([]).describe('Design constraints to stimulate creative problem solving'),\n teacherTips: z.array(z.string()).default([]).describe('Pedagogical facilitation tips, troubleshooting tricks'),\n\n // 4. Workflow (Phases or Steps)\n activeLearningWorkflow: ActiveLearningWorkflowSchema.optional(),\n steps: z.array(ActivityStepSchema).default([]).describe('Step-by-step procedure of the activity'),\n\n // 5. Differentiation (3-Tier)\n differentiation3Tier: z.object({\n bronzeTier: z.string().default('').describe('Nhiệm vụ nền tảng cơ bản'),\n silverTier: z.string().default('').describe('Nhiệm vụ ứng dụng logic nâng cao'),\n goldTier: z.string().default('').describe('Thử thách sáng tạo mở rộng'),\n }).optional(),\n scaffoldingSupport: z.string().default('').describe('How to simplify for struggling students'),\n levelUpExtension: z.string().default('').describe('Extension task for students who finish early'),\n\n // 6. Reflection\n reflectionQuestion: z.string().optional().default('').describe('Câu hỏi phản tư kích thích tư duy phản biện'),\n});\n\nexport type ActivityLab = z.infer<typeof ActivityLabSchema>;\nexport type ComputationalThinking = z.infer<typeof ComputationalThinkingSchema>;\nexport type ActiveLearningWorkflow = z.infer<typeof ActiveLearningWorkflowSchema>;\n","import { z } from 'zod';\n\n/**\n * Code Lab Schema — Executable Source Code, Starters, Solutions & Test Cases\n * Ported from /Users/tonypham/MEGA/ai-platform/my-mcp/_templates/LAB_TEMPLATE.md\n */\nexport const CodeSnippetSchema = z.object({\n filename: z.string().describe('Filename with extension, e.g. main.py, App.swift, solution.ts'),\n language: z.string().describe('Programming language identifier, e.g. python, swift, typescript, cpp'),\n purpose: z.enum(['starter', 'solution', 'test_runner', 'scaffold']).describe('Role of this code file'),\n content: z.string().describe('Complete, clean, runnable source code with standardized comments and docstrings'),\n explanation: z.string().default('').describe('Explanation of key algorithmic blocks and syntax nuances'),\n});\n\nexport const LabTierTaskSchema = z.object({\n mins: z.coerce.number().default(15),\n objective: z.string().describe('Mục tiêu của tầng nhiệm vụ'),\n task: z.string().describe('Mô tả nhiệm vụ cụ thể'),\n requirement: z.string().describe('Tiêu chí hoàn thành bắt buộc'),\n});\n\nexport const CodeLabSchema = z.object({\n artifactType: z.literal('CODE').default('CODE'),\n lessonId: z.string().describe('Matching lesson identifier'),\n title: z.string().describe('Code Lab title'),\n language: z.string().default('vi').describe('Language code for human explanations, e.g. \"vi\" or \"en\"'),\n techStack: z.array(z.string()).default([]).describe('Technologies used, e.g. [\"Python\", \"PyTorch\"] or [\"Swift\", \"SwiftUI\"]'),\n \n // 1. Environment & Setup\n environmentSetup: z.object({\n languageFramework: z.string().default(''),\n ideEditor: z.string().default(''),\n requiredLibraries: z.array(z.string()).default([]),\n hardwareOrEnvConnection: z.string().optional().default(''),\n }).optional(),\n\n // 2. 3-Tier Differentiation Tasks\n threeTierTasks: z.object({\n bronze: LabTierTaskSchema,\n silver: LabTierTaskSchema,\n gold: LabTierTaskSchema,\n }).optional(),\n\n // 3. Verified Runnable Code Snippets (bọc trong <!-- [SME_MANDATE] -->)\n starterCode: CodeSnippetSchema.describe('Starter code provided to the learner with fill-in markers or skeletons'),\n solutionCode: CodeSnippetSchema.describe('Complete verified reference solution code'),\n testCases: z.array(\n z.object({\n description: z.string().describe('What this test case verifies'),\n input: z.string().optional().default('').describe('Input or mock parameters'),\n expectedOutput: z.string().describe('Expected return value, output, or UI state'),\n })\n ).default([]).describe('Automated verification tests or validation checks'),\n\n // 4. Troubleshooting & Debugging Matrix\n troubleshootingMatrix: z.array(\n z.object({\n issue: z.string().describe('Hiện tượng lỗi runtime/compile'),\n potentialCause: z.string().describe('Nguyên nhân tiềm ẩn'),\n solution: z.string().describe('Giải pháp khắc phục dứt điểm'),\n })\n ).default([]),\n commonBugsAndFixes: z.array(\n z.object({\n bugDescription: z.string().describe('Common error message or logical pitfall'),\n solutionHint: z.string().describe('How to diagnose and fix it'),\n })\n ).default([]),\n\n // 5. Submission Checklist\n submissionChecklist: z.array(z.string()).default([]).describe('Danh mục kiểm tra hoàn thành nộp bài'),\n});\n\nexport type CodeLab = z.infer<typeof CodeLabSchema>;\nexport type CodeSnippet = z.infer<typeof CodeSnippetSchema>;\nexport type LabTierTask = z.infer<typeof LabTierTaskSchema>;\n","import { z } from 'zod';\n\n// ─── Worksheet Item ───────────────────────────────────────────────────────────\n\nexport const WorksheetItemTypeEnum = z.enum([\n 'fill_blank', // Fill in the blanks sentence/table\n 'multiple_choice', // Select the correct option\n 'matching', // Match left column to right column\n 'short_answer', // Open-ended text response\n 'code_trace', // Trace through code and write output\n 'diagram_fill', // Complete a circuit/flow diagram\n 'true_false', // True or False statement\n 'ordering', // Arrange steps/phases in correct order\n]);\n\nexport const WorksheetItemSchema = z.object({\n itemNumber: z.coerce.number().int().default(1),\n itemType: WorksheetItemTypeEnum,\n prompt: z.string().describe('The question, fill-in stem, or task instruction'),\n starterContent: z.string().optional().describe(\n 'Pre-filled content: code with blanks, table skeleton, diagram description, or matching columns'\n ),\n options: z.array(z.string()).optional().describe('Options for multiple_choice / true_false items'),\n answerKey: z.string().optional().describe('Expected answer for teacher use'),\n checkpointRequired: z.boolean().default(false).describe(\n 'If true, student must get teacher sign-off before proceeding'\n ),\n});\n\n// ─── Worksheet Part ───────────────────────────────────────────────────────────\n\nexport const WorksheetPartSchema = z.object({\n partNumber: z.coerce.number().int(),\n partTitle: z.string().describe('e.g. \"Knowledge Check\", \"Guided Practice\", \"Concept Tracing\", \"Reflection\"'),\n objective: z.string().optional().default(''),\n items: z.array(WorksheetItemSchema).min(1),\n checkpointInstruction: z.string().optional().describe(\n 'Instruction shown at the end of this part, e.g. \"☐ Hoàn thành Part 1 — Xin giáo viên kiểm tra\"'\n ),\n});\n\n// ─── Full Worksheet ───────────────────────────────────────────────────────────\n\n/**\n * Worksheet Schema — Student-Facing Guided Practice Document\n * Template: WKS_template.md\n * Sections: Knowledge Check → Guided Practice → Reflection\n * (Actual lessons expand to 4-5 parts with circuit/code tasks)\n */\nexport const WorksheetSchema = z.object({\n artifactType: z.literal('WKS').default('WKS'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n\n // Student header fields\n studentName: z.string().optional().default(''),\n classLabel: z.string().optional().default(''),\n\n // Main content: array of Parts (Part 1: Knowledge Check, Part 2: Guided Practice, etc.)\n parts: z.array(WorksheetPartSchema).min(1),\n\n // Reflection / Computational Thinking prompts (Part 3 in template, standalone)\n reflectionPrompts: z.array(z.string()).default([]),\n});\n\nexport type Worksheet = z.infer<typeof WorksheetSchema>;\nexport type WorksheetPart = z.infer<typeof WorksheetPartSchema>;\nexport type WorksheetItem = z.infer<typeof WorksheetItemSchema>;\n","import { z } from 'zod';\n\n/**\n * Handout Schema — Student-Facing Quick-Reference Cheat Sheet (5-Second Rule)\n * Ported from /Users/tonypham/MEGA/ai-platform/my-mcp/_templates/HANDOUT_template.md\n */\nexport const HandoutSectionSchema = z.object({\n heading: z.string().describe('Short descriptive section heading (Max 3 levels)'),\n summaryPoints: z.array(z.string()).describe('Scannable bullet points in second-person voice (You will...)'),\n codeSnippet: z.string().optional().describe('Essential copy-paste ready syntax or command'),\n tableData: z.object({\n headers: z.array(z.string()),\n rows: z.array(z.array(z.string())),\n }).optional().describe('Structured table for comparisons or hardware pinouts'),\n calloutBox: z.object({\n type: z.string().default('key_formula'),\n title: z.string(),\n content: z.string(),\n }).optional(),\n});\n\nexport const HandoutSchema = z.object({\n artifactType: z.literal('HANDOUT').default('HANDOUT'),\n lessonId: z.string().describe('Matching lesson identifier'),\n title: z.string().describe('Handout title'),\n language: z.string().default('vi').describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n tagline: z.string().default('').describe('1-sentence core takeaway'),\n\n // 1. Core Concepts Summary\n coreConceptsSummary: z.array(\n z.object({\n concept: z.string().describe('Tên khái niệm'),\n definition: z.string().describe('Định nghĩa ngắn gọn, chuẩn 5-second'),\n })\n ).default([]),\n\n // 2. Syntax & Configs Table\n syntaxTable: z.array(\n z.object({\n syntax: z.string().describe('Cú pháp lệnh hoặc tên Node/Config'),\n meaning: z.string().describe('Ý nghĩa & chức năng'),\n example: z.string().describe('Ví dụ code hoặc cấu hình mẫu'),\n })\n ).default([]),\n\n // 3. General 3-Step Problem Solving Procedure\n problemSolvingProcedure: z.object({\n step1Trigger: z.string().default('Xác định input/trigger kích hoạt'),\n step2Logic: z.string().default('Xử lý logic, tính toán hoặc lọc dữ liệu'),\n step3Output: z.string().default('Xuất kết quả, cập nhật trạng thái hoặc gửi cảnh báo'),\n }).optional().default({\n step1Trigger: 'Xác định input/trigger kích hoạt',\n step2Logic: 'Xử lý logic, tính toán hoặc lọc dữ liệu',\n step3Output: 'Xuất kết quả, cập nhật trạng thái hoặc gửi cảnh báo',\n }),\n\n // 4. Pro Tips\n proTips: z.array(z.string()).default([]).describe('Mẹo thực chiến hữu ích'),\n\n // 5. Sections & Glossary (Backward Compatibility)\n sections: z.array(HandoutSectionSchema).default([]).describe('Scannable reference sections'),\n glossary: z.array(\n z.object({\n term: z.string().describe('Technical term or acronym'),\n definition: z.string().describe('Plain, jargon-free explanation'),\n })\n ).default([]).describe('Zero-jargon glossary of terms introduced in this lesson'),\n});\n\nexport type Handout = z.infer<typeof HandoutSchema>;\nexport type HandoutSection = z.infer<typeof HandoutSectionSchema>;\n","import { z } from 'zod';\n\n/**\n * Slide Deck Schema — Dynamic Micro-Pedagogy Marp Presentation Deck\n * Dynamic Sizing: 4-6 slides per core concept + opening/closing anchors (9-25+ slides)\n */\nexport const MarpSlideSchema = z.object({\n slideNumber: z.number().int().min(1).max(60),\n slideType: z.enum([\n 'title',\n 'agenda',\n 'review',\n 'hook',\n 'concept_def',\n 'concept_visual',\n 'concept_compare',\n 'concept_check',\n 'concept_recap',\n 'code_demo',\n 'guided_practice',\n 'activity_intro',\n 'activity_steps',\n 'checkpoint',\n 'exit_ticket',\n 'summary_next',\n 'custom',\n ]),\n title: z.string().describe('Slide title or headline'),\n bloomTag: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create', 'None']).default('None'),\n bulletPoints: z.array(z.string()).max(6).describe('Concise bullet points, max 15 words each'),\n codeSnippet: z.string().optional().describe('Formatted fenced code block for demo'),\n diagramMermaid: z.string().optional().describe('Mermaid diagram definition for visual concepts'),\n presenterNotes: z.string().optional().describe('Teacher speaker notes hidden in presentation mode'),\n});\n\nexport const SlideDeckSchema = z.object({\n artifactType: z.literal('SLIDE').default('SLIDE'),\n lessonId: z.string().describe('Matching lesson identifier'),\n title: z.string().describe('Presentation title'),\n language: z.string().describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n marpTheme: z.string().default('gaia'),\n slides: z.array(MarpSlideSchema).min(6).max(60).describe('Sequential Marp slides scaled dynamically by knowledge volume'),\n});\n\nexport type MarpSlide = z.infer<typeof MarpSlideSchema>;\nexport type SlideDeck = z.infer<typeof SlideDeckSchema>;\n","import { z } from 'zod';\n\n// ─── Teaching Script Phase ────────────────────────────────────────────────────\n\nexport const TeachingScriptPhaseSchema = z.object({\n phase: z.string().describe(\n 'Phase label from GUIDE template: \"Hook / Engage\" | \"Explore / Core Concepts\" | \"Elaborate / Hands-on Activity\" | \"Evaluate / Wrap-up\"'\n ),\n durationRange: z.string().describe('e.g. \"5-10 minutes\"'),\n delivery: z.string().describe('Real-world story, demo, analogy, or inquiry activity'),\n keyPoints: z.string().describe('What to emphasize; what to skip if running late'),\n quickCheckQuestions: z.array(z.string()).default([]).describe('2-3 rapid comprehension check questions'),\n classroomManagement: z.string().optional().describe('Grouping, device management, seating'),\n facilitation: z.string().optional().describe('When to intervene vs. let students struggle productively'),\n proTips: z.string().optional().describe('Experience-based tips for this specific activity'),\n});\n\n// ─── Misconception entry ─────────────────────────────────────────────────────\n\nexport const MisconceptionSchema = z.object({\n misconception: z.string().describe('What students often wrongly assume or confuse'),\n counterStrategy: z.string().describe('How the teacher should explain or demonstrate the truth'),\n});\n\n// ─── Troubleshooting entry ────────────────────────────────────────────────────\n\nexport const TroubleshootingEntrySchema = z.object({\n symptom: z.string().describe('Error message or hardware failure symptom'),\n rootCause: z.string().describe('Why this occurs'),\n solution: z.string().describe('Exact step to fix it'),\n});\n\n// ─── Scoring Rubric row ───────────────────────────────────────────────────────\n\nexport const ScoringRubricRowSchema = z.object({\n criteriaName: z.string(),\n meetsStandard: z.string().describe('Description of acceptable student performance'),\n exceedsStandard: z.string().describe('Description of advanced mastery'),\n});\n\n// ─── Teacher Guide ────────────────────────────────────────────────────────────\n\n/**\n * Teacher Guide Schema — Pedagogical Facilitation Script\n * Template: GUIDE_template.md\n * Sections:\n * 1. Objectives & Preparation\n * 2. Teaching Script & Progression (Hook → Explore → Elaborate → Evaluate)\n * 3. Troubleshooting & FAQs\n * 4. Assessment & Differentiation Tips\n */\nexport const TeacherGuideSchema = z.object({\n artifactType: z.literal('GUIDE').default('GUIDE'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n\n // 1. Objectives & Preparation\n pedagogicalRationale: z.string().describe('The main instructional goal — mindset shift, not just knowledge'),\n commonMisconceptions: z.array(MisconceptionSchema).min(1),\n technicalChecklist: z.array(z.string()).default([]).describe(\n 'Software/hardware to install; links to have open before class'\n ),\n\n // 2. Teaching Script & Progression\n teachingScript: z.array(TeachingScriptPhaseSchema).min(1).describe(\n 'Ordered phases: Hook/Engage → Explore/Core Concepts → Elaborate/Hands-on → Evaluate/Wrap-up'\n ),\n\n // 3. Troubleshooting & FAQs\n troubleshootingGuide: z.array(TroubleshootingEntrySchema).min(1),\n\n // 4. Assessment & Differentiation\n scoringRubric: z.array(ScoringRubricRowSchema).default([]),\n differentiationTips: z.object({\n proficient: z.string().describe('Minimum threshold description for proficiency'),\n advanced: z.string().describe('Extension tasks / Peer mentoring opportunities'),\n enrichmentQuestion: z.string().optional().describe('1-2 deep-thinking questions for gifted students'),\n }).optional(),\n});\n\nexport type TeacherGuide = z.infer<typeof TeacherGuideSchema>;\nexport type TeachingScriptPhase = z.infer<typeof TeachingScriptPhaseSchema>;\nexport type TroubleshootingEntry = z.infer<typeof TroubleshootingEntrySchema>;\nexport type Misconception = z.infer<typeof MisconceptionSchema>;\n","import { z } from 'zod';\n\n/**\n * Extension Schema — Advanced Challenges & Novel Context Problems\n */\nexport const ExtensionChallengeSchema = z.object({\n challengeNumber: z.number().int().min(1),\n title: z.string().describe('Catchy title for the extension project'),\n contextDescription: z.string().describe('Novel real-world context for applying the skill'),\n taskDescription: z.string().describe('Specific goal and requirements of the challenge'),\n expectedDeliverable: z.string().describe('What the student produces (code, prototype, report)'),\n hintOrGuidance: z.string().optional().describe('Open-ended exploration prompt'),\n});\n\nexport const ExtensionSchema = z.object({\n artifactType: z.literal('EXT').default('EXT'),\n lessonId: z.string().describe('Matching lesson identifier'),\n title: z.string().describe('Extension title'),\n language: z.string().describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n coreLearningObjectivePreserved: z.string().describe('The core LO that this challenge extends'),\n challenges: z.array(ExtensionChallengeSchema).min(2).describe('At least 2 diverse extension challenges'),\n});\n\nexport type Extension = z.infer<typeof ExtensionSchema>;\n","import { z } from 'zod';\n\n/**\n * LLM-as-Judge Schema — Pedagogical & Technical Quality Audit Report\n */\nexport const QualityAuditVerdictSchema = z.enum(['PASS', 'NEEDS_REVISION', 'FAIL']);\nexport type QualityAuditVerdict = z.infer<typeof QualityAuditVerdictSchema>;\n\nexport const JudgeCriterionSchema = z.object({\n name: z.string().describe('Criterion name, e.g. Bloom Alignment, Code Validity, Word Count Gate, Language Adherence, Step Incrementality'),\n passed: z.boolean(),\n score: z.number().min(0).max(100).describe('Score out of 100'),\n feedback: z.string().describe('Constructive feedback or citation of issues'),\n});\nexport type JudgeCriterion = z.infer<typeof JudgeCriterionSchema>;\n\n/**\n * Structured Actionable Repair Prescription:\n * Used by the closed-loop autonomous repair pipeline to patch plans deterministically.\n */\nexport const ActionableRepairActionSchema = z.enum([\n 'SPLIT_STEP',\n 'REVISE_PROVISIONING',\n 'INSERT_RECAP',\n 'ADJUST_TIME_BUDGET',\n 'SUBSTITUTE_FALLBACK',\n 'REVISE_EXIT_EVIDENCE',\n]);\nexport type ActionableRepairAction = z.infer<typeof ActionableRepairActionSchema>;\n\nexport const ActionableRepairPromptSchema = z.object({\n action: ActionableRepairActionSchema,\n targetId: z.string().describe('ID of the session, feature, or step requiring repair, e.g. U01_M01_L02 or F1-S3'),\n severity: z.enum(['CRITICAL', 'WARNING', 'INFO']).default('WARNING'),\n rationale: z.string().describe('Pedagogical or technical rationale for why this repair is mandated'),\n instruction: z.string().describe('Exact, actionable text instruction for the planner/generator in the next turn'),\n});\nexport type ActionableRepairPrompt = z.infer<typeof ActionableRepairPromptSchema>;\n\n/**\n * Stage 1: Project Graph Engineering & Toolchain Audit Schema\n */\nexport const ProjectGraphAuditSchema = z.object({\n schema_version: z.number().default(1),\n projectId: z.string(),\n overallVerdict: QualityAuditVerdictSchema,\n totalScore: z.number().min(0).max(100),\n toolchainFeasibility: JudgeCriterionSchema.describe('Installation friction, admin rights, IDE/compiler matrix'),\n provisioningStrategy: JudgeCriterionSchema.describe('Clear model for heavy runtimes: Pre-installed lab, Cloud instance, or Dedicated setup'),\n hardwareRuntimeEnvelope: JudgeCriterionSchema.describe('Memory/Flash limits, pinout conflicts, hardware platform alignment'),\n timeToHelloWorld: JudgeCriterionSchema.describe('Student time to achieve first working feedback loop (target <= 15 mins)'),\n actionableRepairs: z.array(ActionableRepairPromptSchema).default([]),\n});\nexport type ProjectGraphAuditReport = z.infer<typeof ProjectGraphAuditSchema>;\n\n/**\n * Stage 2: Macro-Pedagogical Curriculum Plan Audit Schema\n * Evaluates the full session sequence against real classroom friction and cognitive load.\n */\nexport const MacroPedagogyPlanAuditSchema = z.object({\n schema_version: z.number().default(1),\n planHash: z.string(),\n overallVerdict: QualityAuditVerdictSchema,\n totalScore: z.number().min(0).max(100),\n autoApproved: z.boolean().default(false).describe('True if totalScore >= 85 and overallVerdict is PASS'),\n stepIncrementality: JudgeCriterionSchema.describe('Single leap principle: <= 1 new syntax or 1 new algorithm per step'),\n zpdSaturation: JudgeCriterionSchema.describe('Vygotsky ZPD: <= 2 new concepts per session (K-12) / 3 (Adults), with prior anchor'),\n frictionAdjustedBudget: JudgeCriterionSchema.describe('Student time multiplier (2.5x): total content <= 85% session minutes'),\n epitomeViability: JudgeCriterionSchema.describe('Reigeluth Walking Skeleton: Unit 1 produces an end-to-end runnable MVP'),\n exitEvidenceSpecificity: JudgeCriterionSchema.describe('Tangible, measurable student deliverable for every session'),\n actionableRepairs: z.array(ActionableRepairPromptSchema).default([]),\n summary: z.string().describe('High-level executive evaluation summary'),\n});\nexport type MacroPedagogyPlanAuditReport = z.infer<typeof MacroPedagogyPlanAuditSchema>;\n\n/**\n * Legacy SOT / Lesson Quality Report Schema (Retained for Backward Compatibility)\n */\nexport const CurriculumQualityReportSchema = z.object({\n targetArtifactType: z.string().describe('Type of artifact audited, e.g. LESSON, ACT, CODE, WKS, SLIDE'),\n lessonId: z.string(),\n overallVerdict: QualityAuditVerdictSchema,\n totalScore: z.number().min(0).max(100),\n languageAdherencePassed: z.boolean().describe('True if content strictly matches the requested target language'),\n criteria: z.array(JudgeCriterionSchema).min(3),\n actionableRepairPrompts: z.array(z.string()).default([]).describe('Concrete instruction prompts to fix detected issues in the next repair turn'),\n structuredRepairs: z.array(ActionableRepairPromptSchema).optional(),\n});\nexport type CurriculumQualityReport = z.infer<typeof CurriculumQualityReportSchema>;\n","import { z } from 'zod';\n\n/**\n * Project Profile & General Info\n */\nexport const ProjectProfileSchema = z.object({\n id: z.string().optional(),\n name: z.string(),\n version: z.string().optional(),\n purpose: z.string().optional(),\n project_type: z.string().optional(),\n platform: z.array(z.string()).optional().default([]),\n tech_stack: z.union([z.record(z.array(z.string())), z.array(z.string()), z.record(z.string())]).optional().default([]),\n architecture: z.array(z.string()).optional().default([]),\n source: z.object({\n repository: z.string().optional(),\n commit: z.string().optional(),\n scan_dir: z.string().optional(),\n }).optional(),\n});\n\nexport type ProjectProfile = z.infer<typeof ProjectProfileSchema>;\n\n/**\n * Product Goals & User Journeys\n */\nexport const ProductGoalSchema = z.object({\n id: z.string(),\n description: z.string(),\n});\n\nexport const UserJourneySchema = z.object({\n id: z.string(),\n name: z.string(),\n steps: z.array(z.string()).optional().default([]),\n requirement_ids: z.array(z.string()).optional().default([]),\n});\n\n/**\n * Project Graph Schema — Full knowledge graph of a software/hardware project\n */\nexport const ProjectGraphSchema = z.object({\n schema_version: z.number().optional().default(3),\n project: ProjectProfileSchema,\n product: z.object({\n goals: z.array(ProductGoalSchema).optional().default([]),\n users: z.array(z.any()).optional().default([]),\n journeys: z.array(UserJourneySchema).optional().default([]),\n requirements: z.array(z.any()).optional().default([]),\n }).optional().default({}),\n features: z.array(z.object({\n id: z.string().optional(),\n name: z.string().optional(),\n description: z.string().optional(),\n components: z.array(z.string()).optional().default([]),\n requirements: z.array(z.any()).optional().default([]),\n })).optional().default([]),\n capabilities: z.array(z.any()).optional().default([]),\n architecture: z.any().optional(),\n experience: z.any().optional(),\n data_integration: z.any().optional(),\n implementation: z.object({\n files: z.array(z.any()).optional().default([]),\n symbols: z.array(z.any()).optional().default([]),\n modules: z.array(z.any()).optional().default([]),\n }).optional().default({}),\n validation: z.any().optional(),\n evidence: z.any().optional(),\n});\n\nexport type ProjectGraph = z.infer<typeof ProjectGraphSchema>;\n","import { z } from 'zod';\n\n/**\n * Step schema matching Instructable-style tutorial format from tutorial.md\n */\nexport const InstructionStepSchema = z.object({\n stepNumber: z.string().default('1.1').describe('e.g. \"1.1\", \"1.2\"'),\n actionTitle: z.string().describe('Action verb title, e.g. \"Create Bonjour Discovery Browser\"'),\n explanation: z.string().describe('Explanation of why this action is performed and how it works'),\n targetFile: z.string().optional().default('').describe('Relative path of the target file being created or edited, e.g. \"Sources/WledLib/Discovery/BonjourBrowser.swift\"'),\n codeSnippet: z.string().optional().default('').describe('Complete or focused code snippet following grow-by-step or snippet-per-step style'),\n codeLanguage: z.string().optional().default('swift').describe('Language for syntax highlighting, e.g. \"swift\", \"typescript\", \"cpp\", \"bash\"'),\n tip: z.string().optional().default('').describe('Helpful operational tip or best practice'),\n warning: z.string().optional().default('').describe('Operational gotcha or critical warning'),\n expectedResult: z.string().default('').describe('Explicit observable output or success condition after completing this step'),\n imagePlaceholder: z.string().optional().default('').describe('Description of visual screenshot or diagram placeholder [IMAGE: ...]'),\n});\n\nexport const InstructionSectionSchema = z.object({\n sectionNumber: z.coerce.number().default(1),\n title: z.string().describe('Section title'),\n goal: z.string().describe('What the reader achieves in this section'),\n estimatedMinutes: z.coerce.number().default(15),\n preflightChecks: z.array(z.string()).default([]).describe('Commands or conditions to check before starting this section'),\n steps: z.array(InstructionStepSchema).min(1),\n rollbackOrCleanup: z.string().optional().default('').describe('How to undo or reset state if something fails'),\n});\n\nexport const ProjectInstructionSchema = z.object({\n artifactType: z.literal('INSTRUCTION').default('INSTRUCTION'),\n instructionId: z.string().describe('Milestone or instruction ID, e.g. \"F0-S1\"'),\n title: z.string().describe('Tutorial title'),\n language: z.string().describe('Target language code, e.g. \"vi\" or \"en\"'),\n difficulty: z.string().default('intermediate'),\n estimatedTotalMinutes: z.coerce.number().default(45).describe('Total estimated duration in minutes'),\n scopeMode: z.string().default('milestone'),\n milestoneRef: z.string().optional().default('').describe('Milestone code or ID'),\n featureRef: z.string().optional().default('').describe('Feature ID or name'),\n techStack: z.array(z.string()).default([]).describe('List of tools, SDKs, libraries'),\n prerequisites: z.array(z.string()).default([]).describe('Prerequisites assumed before starting'),\n materialsAndTools: z.array(z.string()).default([]).describe('Required software, SDKs, accounts, or simulators'),\n sections: z.array(InstructionSectionSchema).min(1),\n verificationChecklist: z.array(z.string()).default([]).describe('Final end-to-end verification checklist to confirm working implementation'),\n});\n\nexport type InstructionStep = z.infer<typeof InstructionStepSchema>;\nexport type InstructionSection = z.infer<typeof InstructionSectionSchema>;\nexport type ProjectInstruction = z.infer<typeof ProjectInstructionSchema>;\n","import { z } from 'zod';\n\n/**\n * 3-Level Progressive Hints Schema (Concept -> Skeleton -> Full Solution)\n */\nexport const ProgressiveHintsSchema = z.object({\n hint1Concept: z.string().describe('Level 1: Gợi ý định hướng tư duy / khái niệm cốt lõi'),\n hint2Skeleton: z.string().describe('Level 2: Khung sườn code / method signature mẫu'),\n hint3Solution: z.object({\n code: z.string().describe('Level 3: Lời giải code hoàn chỉnh 100% runnable'),\n explanation: z.string().describe('Phân tích tại sao giải pháp này tối ưu và xử lý được vấn đề'),\n }),\n});\n\n/**\n * Self-Learner Progressive Challenge Schema\n */\nexport const SelfPacedChallengeSchema = z.object({\n tier: z.enum(['bronze', 'silver', 'gold']),\n title: z.string().describe('Tên thử thách'),\n estimatedMinutes: z.coerce.number().default(15),\n objective: z.string().describe('Mục tiêu cụ thể của thử thách'),\n tasks: z.array(z.string()).describe('Danh sách nhiệm vụ từng bước cần làm'),\n verifyCommand: z.string().describe('Lệnh terminal hoặc test runner để tự kiểm chứng (VD: curl... hoặc swift test)'),\n expectedOutput: z.string().describe('Kết quả mong đợi hiển thị trên terminal khi chạy đúng'),\n hints: ProgressiveHintsSchema,\n});\n\nexport const SelfLabSchema = z.object({\n artifactType: z.literal('SELF_LAB').default('SELF_LAB'),\n labId: z.string().describe('Identifier matching milestone (e.g. F0-S1)'),\n title: z.string().describe('Lab title'),\n language: z.string().default('vi').describe('Language code of content, e.g. \"vi\" or \"en\"'),\n difficulty: z.enum(['beginner', 'intermediate', 'advanced']).default('intermediate'),\n estimatedTotalMinutes: z.coerce.number().default(60),\n techStack: z.array(z.string()).default([]),\n \n // Mission Briefing & Preflight\n missionBriefing: z.string().describe('Bối cảnh kịch bản và nhiệm vụ của bài lab'),\n preflightChecklist: z.array(z.string()).default([]).describe('Danh mục kiểm tra môi trường trước khi bắt đầu'),\n\n // 3 Progressive Challenges (Bronze -> Silver -> Gold)\n challenges: z.object({\n bronze: SelfPacedChallengeSchema,\n silver: SelfPacedChallengeSchema,\n gold: SelfPacedChallengeSchema,\n }),\n\n // Troubleshooting Matrix\n troubleshootingMatrix: z.array(\n z.object({\n symptom: z.string().describe('Triệu chứng hoặc thông báo lỗi'),\n rootCause: z.string().describe('Nguyên nhân gốc rễ'),\n exactFix: z.string().describe('Hướng dẫn sửa lỗi chính xác từng bước'),\n })\n ).default([]),\n\n // Final Checklist\n finalSubmissionChecklist: z.array(z.string()).default([]).describe('Danh mục kiểm tra hoàn thành toàn bộ bài lab'),\n});\n\nexport type SelfLab = z.infer<typeof SelfLabSchema>;\nexport type SelfPacedChallenge = z.infer<typeof SelfPacedChallengeSchema>;\nexport type ProgressiveHints = z.infer<typeof ProgressiveHintsSchema>;\n","import { z } from 'zod';\n\n// ─── Quiz Assessment Objective (per template: ## Assessment Objectives) ───────\n\nexport const AssessmentObjectiveSchema = z.object({\n aoCode: z.string().describe('Assessment Objective code, e.g. \"AO1\"'),\n alignedLO: z.string().describe('Matched learning objective code, e.g. \"LO1\"'),\n bloomLevel: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create']),\n objective: z.string().describe('Measurable assessment objective statement'),\n /** Standards anchors: \"statementId\" or \"packId:statementId\" from adopted Framework Packs (Phase 1: optional). */\n standardRefs: z.array(z.string()).optional().default([]).describe('Anchoring standard statement IDs from adopted Framework Packs'),\n});\n\n// ─── Quiz Option ─────────────────────────────────────────────────────────────\n\nexport const QuizOptionSchema = z.object({\n id: z.string().describe('Option label: \"A\" | \"B\" | \"C\" | \"D\"'),\n text: z.string().describe('Full text of the option (may be a table row, code snippet, or sentence)'),\n isCorrect: z.boolean().describe('True if this option is the correct answer'),\n explanation: z.string().describe('Detailed distractor rationale or confirmation why this is correct/incorrect'),\n});\n\n// ─── Individual Question ──────────────────────────────────────────────────────\n\nexport const DiagnosticQuestionSchema = z.object({\n id: z.string().describe('Question ID, e.g. \"Q1\"'),\n alignedAO: z.string().optional().describe('Matched AO code(s), e.g. \"AO1, AO2\"'),\n // Accept both PascalCase (new) and lowercase (legacy) for backward compat\n bloomLevel: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create',\n 'remember', 'understand', 'apply', 'analyze', 'evaluate', 'create']).default('Apply'),\n questionType: z.enum(['multiple_choice', 'code_analysis', 'matching', 'open_ended']).default('multiple_choice'),\n // scenarioOrStem: PRIMARY field — kept for backward compat with evaluators & serializers\n scenarioOrStem: z.string().optional().describe('Legacy combined field. Evaluators read this for stem analysis.'),\n // scenario + stem: richer decomposition for new content (both optional)\n scenario: z.string().optional().describe('Real-world context framing the question'),\n stem: z.string().optional().describe('The core question prompt (new authoring standard)'),\n codeSnippet: z.string().optional().describe('Code block for code analysis questions'),\n codeLanguage: z.string().optional().default('cpp'),\n options: z.array(QuizOptionSchema).min(2).max(6),\n // correctAnswer: optional for backward compat with old fixtures (legacy used isCorrect on options)\n correctAnswer: z.string().optional().describe('Correct option id, e.g. \"A\"'),\n teacherNote: z.string().optional().describe('Pedagogical note for assessor/teacher only'),\n // takeawayMessage: backward-compat alias for teacherNote\n takeawayMessage: z.string().optional().describe('@deprecated — use teacherNote. Kept for serializer backward compat.'),\n});\n\n// ─── 4-Level Competency Rubric (per template: ## Competency Rubric) ──────────\n\nexport const CompetencyRubricRowSchema = z.object({\n competencyDimension: z.string().describe('Competency label with linked LO, e.g. \"C1: Hardware Integration (LO1)\"'),\n developing: z.string().describe('Level 1 — does not meet standard'),\n proficient: z.string().describe('Level 2 — meets standard'),\n advanced: z.string().describe('Level 3 — exceeds standard'),\n exemplary: z.string().describe('Level 4 — outstanding mastery'),\n});\n\n// ─── Full Diagnostic Quiz ─────────────────────────────────────────────────────\n\n/**\n * Diagnostic Quiz Schema — v4.6\n * Template: QUIZ_v4.6_template.md\n * Sections: Metadata → Assessment Objectives → MCQ Bank → Code Analysis → Competency Rubric\n */\nexport const DiagnosticQuizSchema = z.object({\n artifactType: z.literal('QUIZ'),\n quizId: z.string().describe('Matching artifact identifier, e.g. \"QUIZ_U03_M01_L13\"'),\n title: z.string(),\n language: z.string().default('en').describe('\"en\" or \"vi\"'),\n totalQuestions: z.coerce.number().optional().default(5),\n timeAllocationMinutes: z.coerce.number().optional().default(15),\n passingScorePct: z.coerce.number().default(80),\n\n // Assessment Objectives table (## [REQUIRED] Assessment Objectives)\n assessmentObjectives: z.array(AssessmentObjectiveSchema).optional().default([]),\n\n // Question bank (## [REQUIRED] Multiple-Choice + ## [REQUIRED] Code Analysis)\n questions: z.array(DiagnosticQuestionSchema).min(1),\n\n // Competency Rubric (## [REQUIRED] Competency Rubric)\n rubric: z.array(CompetencyRubricRowSchema).optional().default([]),\n});\n\n// Output types (after defaults are applied — for reading/processing parsed data)\nexport type DiagnosticQuiz = z.infer<typeof DiagnosticQuizSchema>;\nexport type DiagnosticQuestion = z.infer<typeof DiagnosticQuestionSchema>;\nexport type QuizOption = z.infer<typeof QuizOptionSchema>;\nexport type AssessmentObjective = z.infer<typeof AssessmentObjectiveSchema>;\nexport type CompetencyRubricRow = z.infer<typeof CompetencyRubricRowSchema>;\n\n// Input types (for writing/authoring — fields with defaults are optional)\nexport type DiagnosticQuizInput = z.input<typeof DiagnosticQuizSchema>;\nexport type DiagnosticQuestionInput = z.input<typeof DiagnosticQuestionSchema>;\n","import { z } from 'zod';\nimport { ProjectInstructionSchema } from './instructionSchema';\nimport { SelfLabSchema } from './selfLabSchema';\nimport { DiagnosticQuizSchema } from './diagnosticQuizSchema';\nimport { HandoutSchema } from './handoutSchema';\nimport { CodeLabSchema } from './codeLabSchema';\n\n/**\n * Self-Paced Learning Bundle Schema — Autonomous Learner Package\n */\nexport const SelfPacedBundleSchema = z.object({\n bundleId: z.string().describe('Milestone identifier (e.g. F0-S1)'),\n title: z.string().describe('Bundle title'),\n language: z.string().default('vi'),\n techStack: z.array(z.string()).default([]),\n instruction: ProjectInstructionSchema.describe('Instructable Step-by-Step Blueprint'),\n selfLab: SelfLabSchema.describe('Self-Paced Lab with Progressive Hints & Verification Commands'),\n quiz: DiagnosticQuizSchema.describe('Diagnostic Quiz Kit with Comprehensive Feedback'),\n cheatSheet: HandoutSchema.describe('5-Second Rule Reference & Syntax Cheat Sheet'),\n codeLab: CodeLabSchema.optional().describe('Code Lab with Starter & Solution Code'),\n});\n\nexport type SelfPacedBundle = z.infer<typeof SelfPacedBundleSchema>;\n","import { z } from 'zod';\n\n// ─── Rubric Criteria Row ──────────────────────────────────────────────────────\n\nexport const RubricCriteriaSchema = z.object({\n criteriaName: z.string().describe('Criteria label, e.g. \"Circuitry\" or \"Code Correctness\"'),\n weightPercent: z.coerce.number().int().min(1).max(100).describe('Relative weight as integer %'),\n excellent: z.string().describe('Level 4 — Excellent performance descriptor'),\n proficient: z.string().describe('Level 3 — Proficient performance descriptor'),\n developing: z.string().describe('Level 2 — Developing performance descriptor'),\n beginning: z.string().describe('Level 1 — Beginning performance descriptor'),\n});\n\n// ─── Exit Ticket (OPTIONAL within RUBRIC) ─────────────────────────────────────\n\nexport const ExitTicketQuickItemSchema = z.object({\n question: z.string(),\n questionType: z.enum(['multiple_choice', 'true_false', 'short_answer', 'open_ended']),\n answerOrScoringGuide: z.string().default(''),\n});\n\n// ─── Full Rubric ──────────────────────────────────────────────────────────────\n\n/**\n * Rubric Schema — Summative / Formative Assessment Scoring Guide\n * Template: RUBRIC_template.md\n * Sections: Assessment Overview → Rubric Table → Exit Ticket → Self-Assessment Checklist\n */\nexport const RubricSchema = z.object({\n artifactType: z.literal('RUBRIC').default('RUBRIC'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n\n // Assessment Overview\n assessmentType: z.enum(['Formative', 'Summative', 'Self-assessment', 'Peer-review']),\n assessmentFormat: z.enum([\n 'Short Exercise',\n 'Exit Ticket',\n 'Practical Product',\n 'Project Presentation',\n ]),\n targetLOs: z.array(z.string()).describe('LO codes being assessed, e.g. [\"LO1\", \"LO2\"]'),\n targetAudience: z.enum(['Teachers', 'Students']).default('Teachers').describe(\n '\"Teachers\" = technical/pedagogical language; \"Students\" = simple \"I can...\" language'\n ),\n\n // Rubric Table (weights should sum to ~100)\n criteria: z.array(RubricCriteriaSchema).min(1),\n\n // Optional quick exit ticket at end of session (≤3 items)\n exitTicket: z.array(ExitTicketQuickItemSchema).max(3).optional(),\n\n // Student self-assessment checklist\n selfAssessmentChecklist: z.array(z.string()).optional(),\n selfAssessmentReflection: z.string().optional().describe(\n 'Open-ended reflection prompt, e.g. \"One thing I am most proud of is:\"'\n ),\n});\n\nexport type Rubric = z.infer<typeof RubricSchema>;\nexport type RubricCriteria = z.infer<typeof RubricCriteriaSchema>;\n","import { z } from 'zod';\n\n// ─── Exit Ticket Parts ────────────────────────────────────────────────────────\n\nexport const ExitTicketRecallPromptSchema = z.object({\n question: z.string().describe('Conceptual scenario or analogy comparison testing core mental model'),\n answerAreaLabel: z.string().default('Write 1-2 concise sentences'),\n});\n\nexport const ExitTicketBugHuntSchema = z.object({\n codeSnippet: z.string().describe('4-8 line realistic code snippet containing exactly 1 bug/missing annotation'),\n codeLanguage: z.string().default('swift'),\n tasks: z.array(z.string()).describe(\n 'Ordered task list, e.g. [\"Identify the Compiler/Runtime Error\", \"Write the corrected line\"]'\n ),\n expectedBugDescription: z.string().describe('The exact error type/message students should identify'),\n correctedLine: z.string().describe('The single corrected line of code'),\n});\n\nexport const ExitTicketMetacognitionSchema = z.object({\n options: z.array(z.object({\n label: z.string().describe('\"🟢 Green\" | \"🟡 Yellow\" | \"🔴 Red\"'),\n description: z.string().describe('e.g. \"I can build and explain to a peer without hints\"'),\n })).default([\n { label: '🟢 Green (Mastered)', description: 'I can build and explain this concept to a peer without any hints.' },\n { label: '🟡 Yellow (Needs Practice)', description: 'I understand the concept but got stuck on syntax or error messages.' },\n { label: '🔴 Red (Blocked)', description: 'I need help understanding why this architecture is used.' },\n ]),\n lingeringQuestion: z.string().default('What is one question you still have before leaving today\\'s lab?'),\n});\n\n// ─── Full Exit Ticket ─────────────────────────────────────────────────────────\n\n/**\n * Exit Ticket Schema — Formative End-of-Session Assessment\n * Template: EXIT_TICKET_template.md\n * Sections:\n * Target LOs\n * Part 1: Recall & Conceptual Anchor\n * Part 2: Application & Bug Hunt\n * Part 3: Metacognitive Reflection & Confidence Check\n * Scoring & Teacher Intervention Trigger\n */\nexport const ExitTicketSchema = z.object({\n artifactType: z.literal('EXIT_TICKET').default('EXIT_TICKET'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n estimatedMinutes: z.coerce.number().default(7),\n\n // Target Learning Objectives\n targetLOs: z.array(z.object({\n code: z.string().describe('LO code, e.g. \"ULO\" or \"LO1\"'),\n loType: z.enum(['ULO', 'CIO', 'SIO']).optional(),\n description: z.string(),\n })),\n\n // Part 1: Recall & Conceptual Anchor\n recallPrompt: ExitTicketRecallPromptSchema,\n\n // Part 2: Application & Bug Hunt\n applicationPrompt: ExitTicketBugHuntSchema,\n\n // Part 3: Metacognitive Reflection\n metacognition: ExitTicketMetacognitionSchema,\n\n // Scoring & Intervention Trigger\n scoringGuide: z.object({\n proficiencyThreshold: z.string().describe('e.g. \"Green/Yellow check + Correct Bug Hunt answer\"'),\n interventionProtocol: z.string().describe('e.g. \"If ≥25% Red, start next session with 5-min Live Debug Warm-up\"'),\n }),\n});\n\nexport type ExitTicket = z.infer<typeof ExitTicketSchema>;\nexport type ExitTicketBugHunt = z.infer<typeof ExitTicketBugHuntSchema>;\n","import { z } from 'zod';\n\n// ─── Tier Definition ──────────────────────────────────────────────────────────\n\nexport const TierLevelEnum = z.enum(['Bronze', 'Silver', 'Gold']);\n\nexport const TierObjectiveSchema = z.object({\n tier: TierLevelEnum,\n bloomTarget: z.string().describe('e.g. \"Remember / Understand\" | \"Apply / Analyze\" | \"Evaluate / Create\"'),\n scaffoldingRatio: z.string().describe('e.g. \"70% Starter Code / 30% Fill-in\"'),\n successCriteria: z.string().describe('Condition that determines tier completion'),\n});\n\n// ─── Bronze Tier ──────────────────────────────────────────────────────────────\n\nexport const BronzeTierSchema = z.object({\n targetAudience: z.string().default('All learners (mandatory milestone)'),\n guidingPrompt: z.string().describe('Clear instruction with references to Handout'),\n starterCode: z.string().default('').describe('Pre-filled boilerplate code with TODO placeholders'),\n codeLanguage: z.string().default('swift'),\n fillInSlots: z.array(z.object({\n todoLabel: z.string().describe('e.g. \"TODO 1 [Bronze]\"'),\n instruction: z.string(),\n })).default([]),\n verificationTest: z.string().default('testBronzeBaseline()'),\n});\n\n// ─── Silver Tier ──────────────────────────────────────────────────────────────\n\nexport const SilverTierSchema = z.object({\n targetAudience: z.string().default('Learners who completed Bronze without mentor intervention'),\n guidingPrompt: z.string(),\n requirements: z.array(z.string()).min(1).describe('Numbered requirements: validation, state logic, user feedback'),\n implementationTarget: z.string().default('').describe('Skeleton or description of what to implement'),\n codeLanguage: z.string().default('swift'),\n verificationTest: z.string().default('testSilverLogicAndValidation()'),\n});\n\n// ─── Gold Tier ────────────────────────────────────────────────────────────────\n\nexport const GoldTierSchema = z.object({\n targetAudience: z.string().default('Advanced learners finished ahead of schedule'),\n architecturalChallenge: z.string().describe('Open-ended architectural task'),\n constraints: z.array(z.string()).min(1).describe('Hard invariants, e.g. \"zero data-race under concurrent mutations\"'),\n verificationTest: z.string().optional().default('testGoldConcurrencySafety()'),\n});\n\n// ─── Mentor Debugging Cheatsheet ─────────────────────────────────────────────\n\nexport const MentorCheatsheetSchema = z.object({\n bronzeStumble: z.string().default('').describe('Most common Bronze mistake'),\n silverStumble: z.string().default('').describe('Most common Silver mistake'),\n goldDiscussionPrompt: z.string().optional().describe('Scaling / architecture discussion question'),\n});\n\n// ─── Full Tiered Practice ─────────────────────────────────────────────────────\n\n/**\n * Tiered Practice Schema — 3-Level Differentiated Practice Lab\n * Template: TIERED_PRACTICE_template.md\n * Sections:\n * Computational Objective & Tier Matrix\n * Bronze Tier (Foundational Scaffolding)\n * Silver Tier (Independent Application)\n * Gold Tier (Enrichment & Optimization)\n * Automated Test Verification Matrix\n * Mentor Debugging Cheatsheet\n */\nexport const TieredPracticeSchema = z.object({\n artifactType: z.literal('TIERED_PRACTICE').default('TIERED_PRACTICE'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().default('en'),\n\n // Tier matrix overview\n tierMatrix: z.array(TierObjectiveSchema).length(3).describe('One entry per tier: Bronze, Silver, Gold'),\n\n // Tier content\n bronze: BronzeTierSchema,\n silver: SilverTierSchema,\n gold: GoldTierSchema,\n\n // Test suite reference\n testSuiteClass: z.string().optional().describe('XCTest class name, e.g. \"AlarmSystemTestSuite\"'),\n\n // Mentor hints\n mentorCheatsheet: MentorCheatsheetSchema.optional(),\n});\n\nexport type TieredPractice = z.infer<typeof TieredPracticeSchema>;\nexport type BronzeTier = z.infer<typeof BronzeTierSchema>;\nexport type SilverTier = z.infer<typeof SilverTierSchema>;\nexport type GoldTier = z.infer<typeof GoldTierSchema>;\n","import { z } from 'zod';\n\n// ─── Single Bell Ringer day ───────────────────────────────────────────────────\n\nexport const BellRingerDaySchema = z.object({\n dayLabel: z.string().describe('e.g. \"Day 1 (Monday)\" or \"Day 1\"'),\n bloomLevel: z.enum([\n 'Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create',\n ]).optional(),\n promptType: z.enum([\n 'mental_model_recall',\n 'code_tracing',\n 'bug_hunt',\n 'diagram_tracing',\n 'creative_synthesis',\n 'open_reflection',\n ]).default('open_reflection'),\n prompt: z.string().describe('The warm-up question or task shown on projector'),\n codeSnippet: z.string().optional().describe('Code to trace or debug'),\n codeLanguage: z.string().optional().default('cpp'),\n answerKey: z.string().optional().describe('Teacher-facing expected answer or rubric note'),\n});\n\n// ─── Full Bell Ringer (5-day weekly pack) ────────────────────────────────────\n\n/**\n * Bell Ringer Schema — 5-Day Weekly Warm-Up Pack\n * Template: BELL_RINGER_template.md\n * Sections: Weekly Objective → Day 1-5 prompts → Answer Key\n * Time: 3-5 min each session\n */\nexport const BellRingerSchema = z.object({\n artifactType: z.literal('BELL_RINGER'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n weeklyTheme: z.string().describe('Core concept theme for the week'),\n routineProtocol: z.string().optional().default(\n 'Display prompt on projector as students enter. Students write in Daily Journal before class discussion.'\n ),\n days: z.array(BellRingerDaySchema).min(1).max(7),\n});\n\nexport type BellRinger = z.infer<typeof BellRingerSchema>;\nexport type BellRingerDay = z.infer<typeof BellRingerDaySchema>;\nexport type BellRingerInput = z.input<typeof BellRingerSchema>;\n","import { z } from 'zod';\n\n// ─── Glossary Term ────────────────────────────────────────────────────────────\n\nexport const GlossaryTermSchema = z.object({\n termName: z.string().describe('Term in the target language'),\n termNameEN: z.string().optional().describe('English term (for code/docs reference)'),\n bloomLevel: z.enum(['Remember', 'Understand', 'Apply']).optional(),\n simpleDefinition: z.string().describe('Max 2 sentences, age-appropriate, no jargon'),\n memoryAnalogy: z.string().describe('Analogy: \"This term is like [familiar thing]...\"'),\n realWorldExample: z.string().describe('1-3 line code snippet or 1-sentence real-world use case'),\n codeLanguage: z.string().optional().default(''),\n commonMistake: z.string().optional().describe('What students often confuse this with, and why'),\n seeMore: z.array(z.string()).optional().default([]).describe('Related term names'),\n});\n\n// ─── Quick Reference Row ──────────────────────────────────────────────────────\n\nexport const GlossaryQuickRefRowSchema = z.object({\n termEN: z.string(),\n translation: z.string().optional().default(''),\n bloomLevel: z.enum(['Remember', 'Understand', 'Apply']).optional(),\n mnemonicKeywords: z.string().optional().default(''),\n});\n\n// ─── Standardized Term ────────────────────────────────────────────────────────\n\nexport const StandardizedTermRowSchema = z.object({\n technicalTerm: z.string(),\n note: z.string(),\n doNotUse: z.string().optional().default(''),\n});\n\n// ─── Full Glossary ────────────────────────────────────────────────────────────\n\n/**\n * Glossary Schema — Module Vocabulary Reference\n * Template: GLOSSARY_template.md\n * Sections: Term entries (8-15 per module) → Quick Reference Table → Standardized Terms\n */\nexport const GlossarySchema = z.object({\n artifactType: z.literal('GLOSSARY'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n terms: z.array(GlossaryTermSchema).min(1).describe('Ordered from basic to advanced'),\n quickReferenceTable: z.array(GlossaryQuickRefRowSchema).optional().default([]),\n standardizedTerms: z.array(StandardizedTermRowSchema).optional().default([]),\n});\n\nexport type Glossary = z.infer<typeof GlossarySchema>;\nexport type GlossaryTerm = z.infer<typeof GlossaryTermSchema>;\nexport type GlossaryInput = z.input<typeof GlossarySchema>;\n","import { z } from 'zod';\n\n// ─── 9-Square Choice Activity ─────────────────────────────────────────────────\n\nexport const ChoiceSquareSchema = z.object({\n squareNumber: z.coerce.number().int().min(1).max(9),\n squareLabel: z.string().describe('e.g. \"Square 1: The Bug Hunter\"'),\n category: z.enum(['analytical', 'visual_architecture', 'creative_applied']).optional(),\n points: z.coerce.number().int().default(30),\n isCenterMaster: z.boolean().default(false).describe('True for the mandatory center ⭐ challenge'),\n description: z.string().describe('What the student must do'),\n deliverable: z.string().optional().describe('What to submit, e.g. \"Pull Request diff + clean build\"'),\n acceptanceCriteria: z.array(z.string()).optional().default([]),\n format: z.string().optional().describe('Submission format, e.g. \"Mermaid sequenceDiagram\"'),\n});\n\n// ─── Choice Rule ─────────────────────────────────────────────────────────────\n\nexport const ChoiceRuleSchema = z.object({\n model: z.enum(['tic_tac_toe', 'point_balance', 'custom']).default('tic_tac_toe'),\n description: z.string().describe('How the student wins / completes the board'),\n minimumPoints: z.coerce.number().optional().describe('Minimum points for point_balance model'),\n mandatoryCategories: z.array(z.string()).optional().default([]),\n});\n\n// ─── Rubric Row (reused from choice board context) ────────────────────────────\n\nexport const ChoiceBoardRubricRowSchema = z.object({\n criteriaName: z.string(),\n exemplary: z.string(),\n proficient: z.string(),\n developing: z.string(),\n beginning: z.string(),\n});\n\n// ─── Full Choice Board ────────────────────────────────────────────────────────\n\n/**\n * Choice Board Schema — 9-Square Differentiated Activity Matrix\n * Template: CHOICE_BOARD_template.md\n * Sections: Learning Goals & Rule → 9-Square Matrix → Activity Blueprints → Rubric\n */\nexport const ChoiceBoardSchema = z.object({\n artifactType: z.literal('CHOICE_BOARD'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n coreConceptAnchor: z.string().describe('All options must demonstrate mastery of this invariant'),\n choiceRule: ChoiceRuleSchema,\n squares: z.array(ChoiceSquareSchema).min(1).max(9),\n rubric: z.array(ChoiceBoardRubricRowSchema).optional().default([]),\n});\n\nexport type ChoiceBoard = z.infer<typeof ChoiceBoardSchema>;\nexport type ChoiceSquare = z.infer<typeof ChoiceSquareSchema>;\nexport type ChoiceBoardInput = z.input<typeof ChoiceBoardSchema>;\n","import { z } from 'zod';\n\n// ─── Graphic Organizer Item ───────────────────────────────────────────────────\n\nexport const OrganizerTypeEnum = z.enum([\n 'mermaid_flowchart', // Architectural data flow (graph TD/LR)\n 'mermaid_sequence', // Sequence / message flow diagram\n 'mermaid_state', // State machine / lifecycle diagram\n 'mermaid_er', // Entity-relationship diagram\n 'mermaid_class', // Class / OOP diagram\n 'venn_comparison', // Comparative analysis (2+ sets)\n 'fill_in_text', // ASCII/text fill-in exercise\n 'concept_map', // Node-link concept map (freeform)\n]);\n\nexport const GraphicOrganizerItemSchema = z.object({\n organizerNumber: z.coerce.number().int(),\n organizerTitle: z.string().describe('e.g. \"Architectural Data Flow\" or \"State Machine & Lifecycle\"'),\n organizerType: OrganizerTypeEnum,\n mermaidCode: z.string().optional().describe('Raw Mermaid.js diagram definition'),\n fillInTemplate: z.string().optional().describe('ASCII text fill-in box template'),\n wordBank: z.array(z.string()).optional().default([]).describe('Word bank for fill-in exercises'),\n cognitiveGoal: z.string().optional().describe('Why this diagram helps (Paivio dual-coding, etc.)'),\n requiredLabels: z.array(z.string()).optional().default([]).describe('Items students must correctly label'),\n});\n\n// ─── Full Graphic Organizer ───────────────────────────────────────────────────\n\n/**\n * Graphic Organizer Schema — Visual Diagram-Based Learning Tool\n * Template: GRAPHIC_ORGANIZER_template.md\n * Sections: Visual Paradigm Overview → Organizer 1/2/3 → Student Fill-in Worksheet\n */\nexport const GraphicOrganizerSchema = z.object({\n artifactType: z.literal('GRAPHIC_ORGANIZER'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n cognitivePurpose: z.string().optional().describe(\n 'Cognitive design rationale, e.g. \"Dual-coding theory: spatial + verbal processing\"'\n ),\n organizers: z.array(GraphicOrganizerItemSchema).min(1),\n});\n\nexport type GraphicOrganizer = z.infer<typeof GraphicOrganizerSchema>;\nexport type GraphicOrganizerItem = z.infer<typeof GraphicOrganizerItemSchema>;\nexport type GraphicOrganizerInput = z.input<typeof GraphicOrganizerSchema>;\n","import { z } from 'zod';\n\n// ─── CER (Claim-Evidence-Reasoning) conclusion ───────────────────────────────\n\nexport const CERConclusionSchema = z.object({\n claim: z.string().describe('Direct 1-sentence answer to the driving question'),\n evidence: z.string().describe('Specific quantitative data from the collection table'),\n reasoning: z.string().describe('Connection between evidence and the technical principle'),\n});\n\n// ─── Experimental Variable Design ────────────────────────────────────────────\n\nexport const ExperimentalDesignSchema = z.object({\n hypothesisTemplate: z.string().describe(\n '\"If [action], then [predicted outcome] because [rationale].\"'\n ),\n independentVariable: z.string().describe('The variable being manipulated'),\n dependentVariable: z.string().describe('The variable being measured'),\n controlVariables: z.array(z.string()).optional().default([]).describe('Constants held fixed'),\n});\n\n// ─── Science Lab ─────────────────────────────────────────────────────────────\n\n/**\n * Science Lab (CER Investigation) Schema\n * Template: SCIENCE_LAB_template.md\n * Sections: Guiding Inquiry → Hypothesis & Design → Data Protocol → CER Conclusion → Peer Review\n * Format: STEM/Code Investigation with Claim-Evidence-Reasoning framework\n */\nexport const ScienceLabSchema = z.object({\n artifactType: z.literal('SCIENCE_LAB'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n domain: z.string().optional().describe('e.g. \"Software Engineering / Concurrency\"'),\n\n // Guiding Inquiry\n drivingQuestion: z.string().describe('Real-world engineering driving question'),\n engineeringPhenomenon: z.string().optional().describe('Observed phenomenon requiring explanation'),\n\n // Hypothesis & Experimental Design\n experimentalDesign: ExperimentalDesignSchema,\n\n // Data Collection\n labSetupCode: z.string().optional().describe('Instrumentation / benchmark harness code'),\n labSetupCodeLanguage: z.string().optional().default('cpp'),\n dataCollectionColumns: z.array(z.string()).optional().default([]).describe('Table column headers'),\n trialCount: z.coerce.number().optional().default(4),\n\n // CER Conclusion\n cerTemplates: CERConclusionSchema.optional().describe('Pre-filled example or rubric for CER'),\n\n // Peer Review\n peerReviewProtocol: z.string().optional().describe(\n 'How groups exchange and verify each other\\'s results'\n ),\n reproducibilityTolerancePct: z.coerce.number().optional().default(10),\n});\n\nexport type ScienceLab = z.infer<typeof ScienceLabSchema>;\nexport type ScienceLabInput = z.input<typeof ScienceLabSchema>;\nexport type CERConclusion = z.infer<typeof CERConclusionSchema>;\n","import { z } from 'zod';\n\n// ─── Individual Rotation Station ─────────────────────────────────────────────\n\nexport const StationTypeEnum = z.enum([\n 'teacher_led', // Station 1: Small-group guided inquiry with teacher\n 'pair_lab', // Station 2: Collaborative hands-on pair programming\n 'digital_self_paced', // Station 3: Independent async code lab / LMS\n 'offline_modeling', // Station 4: No-screen diagram / whiteboard activity\n 'custom',\n]);\n\nexport const RotationStationSchema = z.object({\n stationNumber: z.coerce.number().int(),\n stationLabel: z.string().describe('e.g. \"Station 1: Teacher-Led (Guided Inquiry)\"'),\n stationType: StationTypeEnum,\n goal: z.string().describe('What students achieve at this station'),\n durationMinutes: z.coerce.number().optional().default(15),\n teacherScriptOrInquiry: z.string().optional().describe(\n 'Teacher talking points or inquiry prompts (for teacher_led station)'\n ),\n studentInstructions: z.string().optional().describe('Step-by-step student task'),\n materials: z.array(z.string()).optional().default([]),\n successMilestone: z.string().optional().describe('Observable completion criterion'),\n differentiationTrigger: z.string().optional().describe('What to do if students struggle'),\n});\n\n// ─── Recording Sheet Row (Student Passport) ───────────────────────────────────\n\nexport const StationRecordRowSchema = z.object({\n stationNumber: z.coerce.number().int(),\n taskCompleted: z.string(),\n verificationMethod: z.string().describe('Teacher stamp, peer signature, auto-token, etc.'),\n keyInsightPrompt: z.string().optional().default('What did you learn at this station?'),\n});\n\n// ─── Full Station Rotation Pack ───────────────────────────────────────────────\n\n/**\n * Station Rotation Schema — 4-Station Learning Pack\n * Template: STATION_ROTATION_template.md\n * Format: 4 stations × 15 min (60-75 min total) with rotation bell protocol\n * Grouping: Heterogeneous groups of 4-6 students\n */\nexport const StationRotationSchema = z.object({\n artifactType: z.literal('STATION_ROTATION'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n totalDurationMinutes: z.coerce.number().optional().default(60),\n rotationDurationMinutes: z.coerce.number().optional().default(15),\n transitionBufferMinutes: z.coerce.number().optional().default(2),\n groupSize: z.string().optional().default('4-6 students'),\n groupingStrategy: z.string().optional().default('Heterogeneous'),\n stations: z.array(RotationStationSchema).min(2),\n recordingSheet: z.array(StationRecordRowSchema).optional().default([]),\n});\n\nexport type StationRotation = z.infer<typeof StationRotationSchema>;\nexport type RotationStation = z.infer<typeof RotationStationSchema>;\nexport type StationRotationInput = z.input<typeof StationRotationSchema>;\n","import { z } from 'zod';\n\n// ─── Difficulty Tier Enum ─────────────────────────────────────────────────────\n\nexport const CardTierEnum = z.enum(['bronze', 'silver', 'gold']);\n\n// ─── Individual Task Card ─────────────────────────────────────────────────────\n\nexport const TaskCardSchema = z.object({\n cardId: z.string().describe('e.g. \"CARD_01\"'),\n cardNumber: z.coerce.number().int(),\n setLabel: z.string().optional().describe(\n 'e.g. \"Set A: Foundational Concepts\" or \"Set B: Code Diagnosis\"'\n ),\n tier: CardTierEnum.optional().default('bronze'),\n points: z.coerce.number().int().optional().default(1),\n category: z.string().optional().describe(\n 'e.g. \"Vocabulary\", \"Code Tracing\", \"Bug Hunt\", \"Architecture\"'\n ),\n prompt: z.string().describe('The task / question printed on the card'),\n codeSnippet: z.string().optional().describe('Code to trace or debug'),\n codeLanguage: z.string().optional().default('cpp'),\n options: z.array(z.object({\n id: z.string(),\n text: z.string(),\n isCorrect: z.boolean().optional(),\n })).optional().default([]).describe('MCQ options (if applicable)'),\n hint: z.string().optional().describe('Student-facing hint'),\n answerKey: z.string().describe('Teacher-facing correct answer or solution blueprint'),\n answerPoints: z.coerce.number().int().optional().default(1),\n});\n\n// ─── Full Task Cards Deck ─────────────────────────────────────────────────────\n\n/**\n * Task Cards Schema — Printable Task Card Deck\n * Template: TASK_CARDS_template.md\n * Sets: A (Foundational), B (Debugging), C (Application/Synthesis)\n * Usage: Centers, Fast Finishers, Small Group Review, Station 4 Offline Activity\n */\nexport const TaskCardsSchema = z.object({\n artifactType: z.literal('TASK_CARDS'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n targetSkills: z.array(z.string()).optional().default([]).describe(\n 'e.g. [\"Conceptual Understanding\", \"Code Tracing\", \"Bug Hunting\"]'\n ),\n cardFormat: z.string().optional().default('4 cards per A4 page'),\n scoringSystem: z.string().optional().default(\n 'Bronze (1 pt), Silver (2 pts), Gold (3 pts)'\n ),\n cards: z.array(TaskCardSchema).min(1),\n});\n\nexport type TaskCards = z.infer<typeof TaskCardsSchema>;\nexport type TaskCard = z.infer<typeof TaskCardSchema>;\nexport type TaskCardsInput = z.input<typeof TaskCardsSchema>;\n","import { z } from 'zod';\n\n// ─── Game Question / Challenge ────────────────────────────────────────────────\n\nexport const ReviewGameQuestionSchema = z.object({\n questionId: z.string().optional(),\n round: z.coerce.number().int().min(1).max(3).describe('1=Speed, 2=Code Duel, 3=Final Boss'),\n points: z.coerce.number().int(),\n category: z.string().optional().describe('e.g. \"Vocabulary & Syntax\", \"Mental Model\"'),\n prompt: z.string().describe('The question or challenge shown to teams'),\n codeSnippet: z.string().optional(),\n codeLanguage: z.string().optional().default(''),\n options: z.array(z.object({\n id: z.string(),\n text: z.string(),\n isCorrect: z.boolean().optional(),\n })).optional().default([]).describe('MCQ options for Round 1'),\n answerOrExplanation: z.string().describe('Correct answer or winning explanation'),\n timeLimit: z.coerce.number().optional().default(20).describe('Seconds'),\n bonusMechanic: z.string().optional().describe('e.g. \"Teams can wager points\"'),\n});\n\n// ─── Kahoot/Quizizz Export Row ────────────────────────────────────────────────\n\nexport const ReviewGameExportRowSchema = z.object({\n question: z.string(),\n option1: z.string(),\n option2: z.string(),\n option3: z.string().optional().default(''),\n option4: z.string().optional().default(''),\n correctAnswer: z.coerce.number().int().min(1).max(4).describe('1-indexed correct option'),\n timeLimitSec: z.coerce.number().optional().default(20),\n});\n\n// ─── Full Review Game Pack ────────────────────────────────────────────────────\n\n/**\n * Review Game Schema — Interactive Quiz Show Pack\n * Template: REVIEW_GAME_template.md\n * Format: 3 Rounds (Speed → Code Duel → Final Boss Architecture)\n * Compatible with: Kahoot, Quizizz, Jeopardy live classroom format\n */\nexport const ReviewGameSchema = z.object({\n artifactType: z.literal('REVIEW_GAME'),\n lessonId: z.string(),\n title: z.string(),\n language: z.string().optional().default('en'),\n\n // Setup\n format: z.string().optional().default('3 rounds, progressive difficulty, team buzzers'),\n teamSize: z.string().optional().default('3-5 students'),\n hasBonusWager: z.boolean().optional().default(true).describe('Teams can wager points on Round 3'),\n\n // Questions per round\n questions: z.array(ReviewGameQuestionSchema).min(1),\n\n // Export-ready format for Kahoot / Quizizz\n exportRows: z.array(ReviewGameExportRowSchema).optional().default([]),\n});\n\nexport type ReviewGame = z.infer<typeof ReviewGameSchema>;\nexport type ReviewGameQuestion = z.infer<typeof ReviewGameQuestionSchema>;\nexport type ReviewGameInput = z.input<typeof ReviewGameSchema>;\n","import { z } from 'zod';\n\n/**\n * CurriculumPlan — machine-readable SOT for curriculum planning.\n *\n * Produced by the Curriculum Planner (curriculumPlannerService) from a domain\n * planning graph (CurriculumFeed v2 or raw domain-kit graph shapes) plus\n * course constraints and policy. CURRICULUM_FRAMEWORK.md is a human-readable\n * projection of this plan; LESSON production consumes a session slice of it.\n */\n\n// [7] Canonical decision vocabularies (the ONLY legal values)\n\nexport const PrerequisiteDecisionSchema = z.enum([\n 'mastered_before_course', // entry-level knowledge — referenced, not taught\n 'taught_in_prior_lesson', // formally taught in an earlier session\n 'recap_in_lesson', // re-activated at the start of this session\n 'jit_introduce_in_lesson', // introduced just-in-time inside this session\n 'scaffolded_provide', // not taught — supplied ready-made (scaffold)\n]);\nexport type PrerequisiteDecision = z.infer<typeof PrerequisiteDecisionSchema>;\n\nexport const ScaffoldDecisionSchema = z.enum([\n 'student_builds',\n 'provide_partial',\n 'provide_full',\n 'provide_reference',\n]);\nexport type ScaffoldDecision = z.infer<typeof ScaffoldDecisionSchema>;\n\nexport const DepthLevelSchema = z.enum(['ulo', 'cio', 'sio']);\nexport type DepthLevel = z.infer<typeof DepthLevelSchema>;\n\nexport const BloomLevelSchema = z.enum([\n 'Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create',\n]);\nexport type BloomLevel = z.infer<typeof BloomLevelSchema>;\n\nexport const EntryLevelSchema = z.enum(['beginner', 'intermediate', 'advanced']);\nexport const NodeKindSchema = z.enum(['skill', 'concept', 'product_step']);\n\n// Shared atoms\n\nconst LessonCodeSchema = z.string().regex(/^U\\d{2}_M\\d{2}_L\\d{2}$/, 'lesson code must match UXX_MYY_LZZ');\n\nconst SourceCiteSchema = z.object({\n node_ids: z.array(z.string()).default([]),\n concept_codes: z.array(z.string()).default([]),\n});\n\nexport const CourseObjectiveSchema = z.object({\n id: z.string(),\n statement: z.string().min(8),\n bloom: BloomLevelSchema,\n sources: SourceCiteSchema,\n});\nexport type CourseObjective = z.infer<typeof CourseObjectiveSchema>;\n\nexport const UnitPlanSchema = z.object({\n id: z.string().regex(/^U\\d{2}$/),\n name: z.string().min(3),\n objectives: z.array(CourseObjectiveSchema).min(1),\n node_ids: z.array(z.string()).min(1),\n total_minutes: z.number().int().positive(),\n rationale: z.string().min(3),\n // Phases fully contained in this unit (empty for non-phase plans)\n phase_ids: z.array(z.string()).default([]),\n // Product completion description carried from the domain analysis (optional)\n product_completion: z.string().default(''),\n});\nexport type UnitPlan = z.infer<typeof UnitPlanSchema>;\n\n// Session plan ([3][4][5][6] outputs)\n\nexport const DepthAssignmentSchema = z.object({\n node_id: z.string(),\n depth: DepthLevelSchema,\n source: z.enum(['feed_hint', 'planner', 'escalated']),\n});\nexport type DepthAssignment = z.infer<typeof DepthAssignmentSchema>;\n\nexport const PrerequisiteDecisionEntrySchema = z.object({\n node_id: z.string(),\n decision: PrerequisiteDecisionSchema,\n reason: z.string().min(3),\n});\nexport type PrerequisiteDecisionEntry = z.infer<typeof PrerequisiteDecisionEntrySchema>;\n\nexport const ScaffoldDecisionEntrySchema = z.object({\n item: z.string().min(1),\n decision: ScaffoldDecisionSchema,\n minutes_saved: z.number().int().nonnegative().default(0),\n reason: z.string().min(3),\n});\nexport type ScaffoldDecisionEntry = z.infer<typeof ScaffoldDecisionEntrySchema>;\n\n// P50: Macro-Pedagogical Schemas (ZPD, Bruner Spiral, Walking Skeleton, Mastery Gates)\n\nexport const ZpdVerdictSchema = z.enum(['OK', 'TOO_MANY_NEW', 'NO_ZPD_BRIDGE']);\nexport type ZpdVerdict = z.infer<typeof ZpdVerdictSchema>;\n\nexport const SessionZpdStatusSchema = z.object({\n verdict: ZpdVerdictSchema,\n new_concept_count: z.number().int().nonnegative().default(0),\n known_concept_count: z.number().int().nonnegative().default(0),\n issues: z.array(z.string()).default([]),\n});\nexport type SessionZpdStatus = z.infer<typeof SessionZpdStatusSchema>;\n\nexport const ConceptSpiralEncounterSchema = z.object({\n concept_code: z.string(),\n session_id: LessonCodeSchema,\n encounter_index: z.number().int().positive(),\n bloom_cap: BloomLevelSchema,\n depth: DepthLevelSchema,\n});\nexport type ConceptSpiralEncounter = z.infer<typeof ConceptSpiralEncounterSchema>;\n\nexport const WalkingSkeletonSchema = z.object({\n epitome_unit_id: z.string().default('U01'),\n epitome_deliverables: z.array(z.string()).default([]),\n elaborations: z.array(z.object({\n unit_id: z.string(),\n focus_area: z.string(),\n elaborates_on: z.array(z.string()).default([]),\n })).default([]),\n});\nexport type WalkingSkeleton = z.infer<typeof WalkingSkeletonSchema>;\n\nexport const MasteryGateSchema = z.object({\n phase_or_unit_id: z.string(),\n gate_name: z.string(),\n exit_criteria: z.array(z.string()).min(1),\n next_unit_id: z.string(),\n remediation: z.object({\n trigger: z.literal('FAIL_GATE_CRITERIA'),\n focus_minutes: z.number().int().default(15),\n action: z.string(),\n }),\n});\nexport type MasteryGate = z.infer<typeof MasteryGateSchema>;\n\nexport const ConceptPrerequisiteEdgeSchema = z.object({\n concept_code: z.string(),\n requires: z.string(),\n source: z.enum(['MASTER_TREE', 'INFERRED', 'CONCEPT_LEVEL_PREREQ']).default('CONCEPT_LEVEL_PREREQ'),\n confidence: z.number().min(0).max(1).default(0.8),\n rationale: z.string().default(''),\n structure_supported: z.boolean().default(true),\n needs_review: z.boolean().default(false),\n hub: z.boolean().default(false),\n});\nexport type ConceptPrerequisiteEdge = z.infer<typeof ConceptPrerequisiteEdgeSchema>;\n\nexport const SessionPlanSchema = z.object({\n id: LessonCodeSchema,\n unit_id: z.string().regex(/^U\\d{2}$/),\n order: z.number().int().positive(),\n title: z.string().min(3),\n // [4] Free-text session objective — no ULO/CIO/SIO mapping at this stage.\n prose_objective: z.string().min(10),\n node_ids: z.array(z.string()).min(1),\n // Development phases this session contributes to (empty when the feed has no phases)\n phase_ids: z.array(z.string()).default([]),\n new_keywords: z.array(z.string()).default([]),\n prerequisite_keywords: z.array(z.string()).default([]),\n knowledge_minutes: z.number().int().nonnegative(),\n practice_minutes: z.number().int().nonnegative(),\n overhead_minutes: z.number().int().nonnegative(),\n depth_assignments: z.array(DepthAssignmentSchema).min(1),\n prerequisite_decisions: z.array(PrerequisiteDecisionEntrySchema).default([]),\n scaffold_decisions: z.array(ScaffoldDecisionEntrySchema).default([]),\n // What the student can demonstrate after this session — feeds exit tickets.\n exit_evidence: z.array(z.string()).min(1),\n differentiation: z.object({ bronze: z.string(), silver: z.string(), gold: z.string() }),\n // P50: ZPD cognitive load status for this session\n zpd_status: SessionZpdStatusSchema.default({\n verdict: 'OK',\n new_concept_count: 0,\n known_concept_count: 0,\n issues: [],\n }),\n});\nexport type SessionPlan = z.infer<typeof SessionPlanSchema>;\n\n// Root plan\n\nexport const TranslationPolicySchema = z\n .object({\n policy: z.enum(['after_artifact', 'end_of_unit', 'at_publish', 'native']).default('native'),\n target_language: z.string().nullable().default(null),\n })\n .refine(\n (data) => {\n if (data.policy === 'native') {\n return typeof data.target_language === 'string' && data.target_language.trim().length > 0;\n }\n return true;\n },\n {\n message: \"When translation policy is 'native', target_language must be a non-empty string\",\n path: ['target_language'],\n }\n );\nexport type TranslationPolicy = z.infer<typeof TranslationPolicySchema>;\n\nexport const CoverageReportSchema = z.object({\n assigned_node_ids: z.array(z.string()),\n unassigned_node_ids: z.array(z.string()),\n warnings: z.array(z.string()),\n});\nexport type CoverageReport = z.infer<typeof CoverageReportSchema>;\n\nexport const PlanConstraintsSchema = z.object({\n age_band: z.tuple([z.number().int(), z.number().int()]),\n entry_level: EntryLevelSchema,\n session_duration_minutes: z.number().int().positive(),\n // Overhead (setup/recap/wrap-up) share of a session, 0..0.5.\n overhead_ratio: z.number().min(0).max(0.5).default(0.15),\n total_sessions: z.number().int().positive().nullable().default(null),\n // Keywords the entry level already masters (drives mastered_before_course).\n entry_keywords: z.array(z.string()).default([]),\n course_goals: z.array(z.string()).default([]),\n capstone: z.string().nullable().default(null),\n});\nexport type PlanConstraints = z.infer<typeof PlanConstraintsSchema>;\n\nexport const CurriculumPlanSchema = z.object({\n schema_version: z.literal(1),\n plan_id: z.string(),\n plan_hash: z.string(),\n created_at: z.string(),\n source: z.object({\n graph_type: z.enum(['curriculum_feed', 'project_graph', 'knowledge_graph', 'hybrid_graph']),\n feed_schema_version: z.number().nullable().default(null),\n warnings: z.array(z.string()).default([]),\n hallucination_count: z.number().int().nonnegative().default(0),\n }),\n constraints: PlanConstraintsSchema,\n course: z.object({\n // [1] Course-level objectives, each citing source nodes (anti-fabrication)\n objectives: z.array(CourseObjectiveSchema).min(1),\n capstone_ref: z.string().nullable().default(null),\n }),\n units: z.array(UnitPlanSchema).min(1), // [2]\n sessions: z.array(SessionPlanSchema).min(1), // [3][4][5][6]\n // P50: Macro-pedagogical course structures\n walking_skeleton: WalkingSkeletonSchema.optional(),\n mastery_gates: z.array(MasteryGateSchema).default([]),\n concept_spiral_progression: z.array(ConceptSpiralEncounterSchema).default([]),\n concept_prerequisites: z.array(ConceptPrerequisiteEdgeSchema).default([]),\n glossary_scope: z.array(z.object({\n session_id: LessonCodeSchema,\n terms: z.array(z.string()),\n })),\n translation: TranslationPolicySchema,\n coverage_report: CoverageReportSchema,\n approval: z.object({\n status: z.enum(['draft', 'approved']),\n approved_at: z.string().nullable().default(null),\n // Hash of the plan payload the approval covers — invalidation key for EXPOSITION.\n plan_hash: z.string().nullable().default(null),\n }),\n});\nexport type CurriculumPlan = z.infer<typeof CurriculumPlanSchema>;\n\n// Normalized planning graph (Stage 0 output, internal + feed-facing)\n\nexport const PlanningNodeSchema = z.object({\n id: z.string(),\n kind: NodeKindSchema,\n name: z.string().min(1),\n concept_codes: z.array(z.string()).default([]),\n keywords: z.array(z.string()).default([]),\n new_keywords: z.array(z.string()).default([]),\n prerequisite_keywords: z.array(z.string()).default([]),\n estimated_minutes: z.number().int().nonnegative(),\n bloom_hint: BloomLevelSchema.nullable().default(null),\n depth_hint: DepthLevelSchema.nullable().default(null),\n completion_level: z.enum(['mvp', 'standard', 'stretch']).default('standard'),\n scaffold_candidates: z.array(z.object({\n item: z.string(),\n reason: z.string().default(''),\n minutes_saved: z.number().int().nonnegative().default(0),\n suggest: ScaffoldDecisionSchema.default('provide_full'),\n })).default([]),\n references: z.array(z.object({\n file: z.string(),\n evidence: z.string().default(''),\n })).default([]),\n phase_id: z.string().default(''),\n // P52/T2.1: tangible user-visible outcome projected from the graph step\n // (checkpoint candidate for session cutting). Empty = not a checkpoint.\n user_visible_deliverable: z.string().default(''),\n // P52/T3.1 — depth-reconcile inputs (mirrored from the feed; optional so\n // raw graphs without variants keep planning unchanged):\n // • depth_variants: minutes to teach this node at each depth level (ULO ≤\n // CIO ≤ SIO) — the reconciler's price list for downgrades.\n // • depth_scaffold_candidates: parallel to scaffold_candidates but acting\n // on DEPTH (SIO→CIO, CIO→ULO) instead of lesson time.\n // • is_core: Master-Tree core concept — never downgraded; escalate instead.\n depth_variants: z.object({ ulo: z.number().int().nonnegative(), cio: z.number().int().nonnegative(), sio: z.number().int().nonnegative() }).optional(),\n depth_scaffold_candidates: z.array(z.object({\n from_depth: DepthLevelSchema,\n to_depth: DepthLevelSchema,\n minutes_saved: z.number().int().nonnegative(),\n reason: z.string().default(''),\n })).optional(),\n is_core: z.boolean().default(false),\n});\nexport type PlanningNode = z.infer<typeof PlanningNodeSchema>;\n\n/** knowledge = must be understood before; task = needs the source node's output first. */\nexport const DependencyEdgeSchema = z.object({\n from: z.string(),\n to: z.string(),\n kind: z.enum(['knowledge', 'task']),\n reason: z.string().default(''),\n});\nexport type DependencyEdge = z.infer<typeof DependencyEdgeSchema>;\n\nexport const PlanningGraphSchema = z.object({\n graph_type: z.enum(['curriculum_feed', 'project_graph', 'knowledge_graph', 'hybrid_graph']),\n warnings: z.array(z.string()).default([]),\n hallucination_count: z.number().int().nonnegative().default(0),\n nodes: z.array(PlanningNodeSchema).min(1, 'planning graph must contain at least one node'),\n edges: z.array(DependencyEdgeSchema).default([]),\n groupings: z.array(z.object({\n id: z.string(),\n name: z.string(),\n node_ids: z.array(z.string()).min(1),\n rationale: z.string().default(''),\n })).default([]),\n // Progressive completion phases (from CurriculumFeed.phases). When non-empty\n // they define units and the teaching sequence; groupings stay informational.\n phases: z.array(z.object({\n id: z.string(),\n order: z.number().int().positive(),\n name: z.string(),\n product_completion: z.string().default(''),\n node_ids: z.array(z.string()).min(1),\n })).default([]),\n});\nexport type PlanningGraph = z.infer<typeof PlanningGraphSchema>;\nexport type PlanningPhase = PlanningGraph['phases'][number];\n\n// Planner input\n\nexport const PlannerInputSchema = z.object({\n graph: z.unknown(),\n constraints: PlanConstraintsSchema,\n translation: TranslationPolicySchema.default({ policy: 'at_publish', target_language: null }),\n});\nexport type PlannerInput = z.infer<typeof PlannerInputSchema>;\n\n/** Validates a plan and enforces the cross-field budget invariant per session. */\nexport function validateCurriculumPlan(plan: unknown): CurriculumPlan {\n const parsed = CurriculumPlanSchema.parse(plan);\n for (const s of parsed.sessions) {\n const total = s.knowledge_minutes + s.practice_minutes + s.overhead_minutes;\n if (total > parsed.constraints.session_duration_minutes) {\n throw new Error(\n 'Session ' + s.id + ' budget violated: ' + total + ' > ' + parsed.constraints.session_duration_minutes + ' minutes',\n );\n }\n }\n return parsed;\n}\n","import { z } from 'zod';\n\n// ─── Existing schemas ─────────────────────────────────────────────────────────\nexport * from './lessonPlanSchema';\nexport * from './activitySchema';\nexport * from './codeLabSchema';\nexport * from './worksheetSchema';\nexport * from './handoutSchema';\nexport * from './slideDeckSchema';\nexport * from './teacherGuideSchema';\nexport * from './extensionSchema';\nexport * from './judgeSchema';\nexport * from './projectGraphSchema';\nexport * from './instructionSchema';\nexport * from './selfLabSchema';\nexport * from './diagnosticQuizSchema';\nexport * from './selfPacedBundleSchema';\n\n// ─── New schemas (derived from canonical templates) ───────────────────────────\nexport * from './rubricSchema';\nexport * from './exitTicketSchema';\nexport * from './tieredPracticeSchema';\nexport * from './bellRingerSchema';\nexport * from './glossarySchema';\nexport * from './choiceBoardSchema';\nexport * from './graphicOrganizerSchema';\nexport * from './scienceLabSchema';\nexport * from './stationRotationSchema';\nexport * from './taskCardsSchema';\nexport * from './reviewGameSchema';\n\nimport { LessonPlanSchema, LessonPlanEDPSchema, LessonPlan5ESchema } from './lessonPlanSchema';\nimport { ActivityLabSchema } from './activitySchema';\nimport { CodeLabSchema } from './codeLabSchema';\nimport { WorksheetSchema } from './worksheetSchema';\nimport { HandoutSchema } from './handoutSchema';\nimport { SlideDeckSchema } from './slideDeckSchema';\nimport { TeacherGuideSchema } from './teacherGuideSchema';\nimport { ExtensionSchema } from './extensionSchema';\nimport { DiagnosticQuizSchema } from './diagnosticQuizSchema';\nimport { RubricSchema } from './rubricSchema';\nimport { ExitTicketSchema } from './exitTicketSchema';\nimport { TieredPracticeSchema } from './tieredPracticeSchema';\nimport { BellRingerSchema } from './bellRingerSchema';\nimport { GlossarySchema } from './glossarySchema';\nimport { ChoiceBoardSchema } from './choiceBoardSchema';\nimport { GraphicOrganizerSchema } from './graphicOrganizerSchema';\nimport { ScienceLabSchema } from './scienceLabSchema';\nimport { StationRotationSchema } from './stationRotationSchema';\nimport { TaskCardsSchema } from './taskCardsSchema';\nimport { ReviewGameSchema } from './reviewGameSchema';\n\n/**\n * Discriminated Union of all Curriculum Artifacts.\n * Keyed on `artifactType` literal field.\n *\n * Lesson variants:\n * - 'LESSON' → LessonPlanSchema (legacy, deprecated — kept for backward compat)\n * - 'LESSON_EDP' → LessonPlanEDPSchema (Engineering Design Process model)\n * - 'LESSON_5E' → LessonPlan5ESchema (5E Instructional Model)\n */\nexport const CurriculumArtifactSchema = z.discriminatedUnion('artifactType', [\n // ─── Lesson variants ───────────────────────────────────────────\n LessonPlanSchema, // 'LESSON' — legacy (deprecated)\n LessonPlanEDPSchema, // 'LESSON_EDP' — Engineering Design Process\n LessonPlan5ESchema, // 'LESSON_5E' — 5E Instructional Model\n // ─── Activity & Practice ───────────────────────────────────────\n ActivityLabSchema, // 'ACT'\n TieredPracticeSchema, // 'TIERED_PRACTICE'\n BellRingerSchema, // 'BELL_RINGER'\n ChoiceBoardSchema, // 'CHOICE_BOARD'\n // ─── Code ─────────────────────────────────────────────────────\n CodeLabSchema, // 'CODE'\n // ─── Assessment ───────────────────────────────────────────────\n DiagnosticQuizSchema, // 'QUIZ'\n RubricSchema, // 'RUBRIC'\n ExitTicketSchema, // 'EXIT_TICKET'\n // ─── Student-facing resources ──────────────────────────────────\n WorksheetSchema, // 'WKS'\n HandoutSchema, // 'HANDOUT'\n SlideDeckSchema, // 'SLIDE'\n TeacherGuideSchema, // 'GUIDE'\n ExtensionSchema, // 'EXT'\n GlossarySchema, // 'GLOSSARY'\n GraphicOrganizerSchema,// 'GRAPHIC_ORGANIZER'\n ScienceLabSchema, // 'SCIENCE_LAB'\n StationRotationSchema, // 'STATION_ROTATION'\n TaskCardsSchema, // 'TASK_CARDS'\n ReviewGameSchema, // 'REVIEW_GAME'\n]);\n\nexport type CurriculumArtifact = z.infer<typeof CurriculumArtifactSchema>;\n\n/**\n * Basic Learning Objective schema from Knowledge Graph / Tree\n */\nexport const LearningObjectiveInputSchema = z.object({\n code: z.string(),\n name: z.string(),\n description: z.string().optional().default(''),\n lo_type: z.enum(['UNIVERSAL', 'CONCEPTUAL_IMPL', 'SPECIFIC_IMPL', 'ULO', 'CIO', 'SIO']).or(z.string()),\n bloom_level: z.string().optional().default('understand'),\n knowledge_dimension: z.string().optional().default('CONCEPTUAL'),\n assessment: z.string().optional().default('concept-check'),\n keyword: z.string().optional().default(''),\n concept: z.string().optional().default(''),\n concept_code: z.string().optional().default(''),\n concept_name: z.string().optional().default(''),\n});\n\nexport interface LearningObjectiveInput {\n code: string;\n name: string;\n description?: string;\n lo_type?: 'UNIVERSAL' | 'CONCEPTUAL_IMPL' | 'SPECIFIC_IMPL' | 'ULO' | 'CIO' | 'SIO' | string;\n bloom_level?: string;\n knowledge_dimension?: string;\n assessment?: string;\n keyword?: string;\n concept?: string;\n concept_code?: string;\n concept_name?: string;\n}\n\n/**\n * Milestone input schema matching knowledge-tree Roadmap & Learning Path JSON\n */\nexport const MilestoneInputSchema = z.object({\n id: z.string().optional(),\n name: z.string(),\n description: z.string().optional().default(''),\n feature_id: z.string().optional().default('F0'),\n feature_name: z.string().optional().default(''),\n concept_code: z.string().optional().default(''),\n concept_name: z.string().optional().default(''),\n completion_level: z.string().optional().default('base'),\n difficulty: z.string().optional().default('Beginner'),\n bloom_level: z.string().optional().default('Understand'),\n tech_keywords: z.array(z.string()).optional().default([]),\n prerequisite_concept_codes: z.array(z.string()).optional().default([]),\n all_keywords: z.array(z.string()).optional().default([]).describe('All keywords associated with this milestone (aggregated from concepts)'),\n new_keywords: z.array(z.string()).optional().default([]).describe('Keywords introduced for the first time at this milestone'),\n prerequisite_keywords: z.array(z.string()).optional().default([]).describe('Keywords already introduced in earlier milestones'),\n learning_objectives: z.array(LearningObjectiveInputSchema).optional().default([]),\n rationale: z.string().or(z.array(z.string())).optional().default(''),\n instruction_ref: z.string().optional(),\n /** Canonical numeric grade band [min, max] for standards retrieval (Phase 2). */\n grade_band: z.tuple([z.number().int(), z.number().int()]).optional(),\n});\n\nexport interface MilestoneInput {\n id?: string;\n name: string;\n description?: string;\n feature_id?: string;\n feature_name?: string;\n concept_code?: string;\n concept_name?: string;\n completion_level?: string;\n difficulty?: string;\n bloom_level?: string;\n tech_keywords?: string[];\n prerequisite_concept_codes?: string[];\n all_keywords?: string[];\n new_keywords?: string[];\n prerequisite_keywords?: string[];\n learning_objectives?: LearningObjectiveInput[];\n rationale?: string | string[];\n instruction_ref?: string;\n grade_band?: [number, number];\n}\n\n/**\n * Phase input schema\n */\nexport const PhaseInputSchema = z.object({\n phase_id: z.number().or(z.string()),\n title: z.string().optional(),\n phase_name: z.string().optional(),\n description: z.string().optional().default(''),\n target_outcome: z.string().optional(),\n milestones: z.array(MilestoneInputSchema).default([]),\n});\n\nexport type PhaseInput = z.input<typeof PhaseInputSchema>;\n\n/**\n * Full Roadmap input schema\n */\nexport const RoadmapInputSchema = z.object({\n project_brief: z.object({\n name: z.string().optional(),\n title: z.string().optional(),\n goal: z.string().optional(),\n description: z.string().optional().default(''),\n tech_stack: z.array(z.string()).optional().default([]),\n estimated_hours: z.number().optional().default(0),\n estimated_weeks: z.number().optional().default(0),\n target_learner: z.string().optional(),\n audience: z.string().optional(),\n icon: z.string().optional(),\n }),\n phases: z.array(PhaseInputSchema).default([]),\n});\n\nexport type RoadmapInput = z.infer<typeof RoadmapInputSchema>;\n\nexport interface ProjectRoadmap {\n title: string;\n goal?: string;\n topic?: string;\n target_language?: string;\n target_audience?: string;\n tech_stack?: string[];\n milestones: MilestoneInput[];\n}\nexport * from './curriculumPlanSchema';\n"]}