feat: implement curriculum management system including automated generation, enrichment, and versioning workflows
This commit is contained in:
@@ -30,6 +30,29 @@ export const extractionResultSchema = z.object({
|
||||
relations: z.array(extractionRelationSchema),
|
||||
});
|
||||
|
||||
const curriculumWeekSchema = z.object({
|
||||
week_number: z.number().int().min(1).max(26),
|
||||
theme: z.string().min(1),
|
||||
topic_ids: z.array(z.string().min(1)).min(1),
|
||||
estimated_duration: z.number().int().min(15).max(45),
|
||||
week_rationale: z.string().min(1),
|
||||
});
|
||||
|
||||
export const curriculumScheduleSchema = z.object({
|
||||
weeks: z.array(curriculumWeekSchema).length(26),
|
||||
});
|
||||
|
||||
const topicEnrichmentSchemaDef = z.object({
|
||||
id: z.string().min(1),
|
||||
theme: z.string().min(1),
|
||||
complexity_weight: z.number().int().min(1).max(5),
|
||||
difficulty: z.enum(['introductory', 'intermediate', 'advanced']),
|
||||
});
|
||||
|
||||
export const topicEnrichmentSchema = z.object({
|
||||
topics: z.array(topicEnrichmentSchemaDef).min(1),
|
||||
});
|
||||
|
||||
|
||||
const articleSectionSchema = z.object({
|
||||
heading: z.string().min(1),
|
||||
@@ -185,6 +208,8 @@ export const replaceTakeawaysPatchSchema = z.object({
|
||||
*/
|
||||
export const toolSchemaRegistry = {
|
||||
emit_knowledge_graph: extractionResultSchema,
|
||||
emit_curriculum_schedule: curriculumScheduleSchema,
|
||||
emit_topic_enrichment: topicEnrichmentSchema,
|
||||
emit_learning_article: learningArticleSchema,
|
||||
emit_learning_slides: learningSlidesSchema,
|
||||
emit_learning_infographic: learningInfographicSchema,
|
||||
|
||||
Reference in New Issue
Block a user