@thanh01.pmt/curriculum-kit 1.4.10 → 1.4.12

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.
@@ -227,32 +227,23 @@ declare function streamLessonMasterFlow(input: StreamLessonMasterInput): Promise
227
227
  lessonId?: string | undefined;
228
228
  title?: string | undefined;
229
229
  language?: string | undefined;
230
+ topic?: string | undefined;
231
+ targetGradeOrAudience?: string | undefined;
232
+ overview?: string | undefined;
230
233
  learningObjectives?: ({
231
234
  code?: string | undefined;
232
- successCriteria?: string | undefined;
233
- description?: string | undefined;
234
235
  name?: string | undefined;
236
+ description?: string | undefined;
235
237
  bloomLevel?: string | undefined;
238
+ successCriteria?: string | undefined;
236
239
  standardRefs?: (string | undefined)[] | undefined;
237
240
  conceptRefs?: (string | undefined)[] | undefined;
238
241
  } | undefined)[] | undefined;
239
- teacherNotes?: {
240
- commonPitfalls?: (string | undefined)[] | undefined;
241
- troubleshootingMatrix?: ({
242
- issue?: string | undefined;
243
- potentialCause?: string | undefined;
244
- solution?: string | undefined;
245
- } | undefined)[] | undefined;
246
- extensionNotes?: string | undefined;
247
- } | undefined;
248
- hookScenario?: string | undefined;
249
- keywords?: (string | undefined)[] | undefined;
250
- topic?: string | undefined;
251
- targetGradeOrAudience?: string | undefined;
252
- overview?: string | undefined;
253
242
  prerequisites?: string | undefined;
254
243
  materialsSummary?: string | undefined;
244
+ keywords?: (string | undefined)[] | undefined;
255
245
  hookTitle?: string | undefined;
246
+ hookScenario?: string | undefined;
256
247
  hookQuestions?: (string | undefined)[] | undefined;
257
248
  coreConcepts?: ({
258
249
  name?: string | undefined;
@@ -270,8 +261,8 @@ declare function streamLessonMasterFlow(input: StreamLessonMasterInput): Promise
270
261
  goldTier?: string | undefined;
271
262
  } | undefined;
272
263
  sections?: ({
273
- durationMinutes?: number | undefined;
274
264
  title?: string | undefined;
265
+ durationMinutes?: number | undefined;
275
266
  teacherActions?: string | undefined;
276
267
  studentActions?: string | undefined;
277
268
  analogies?: (string | undefined)[] | undefined;
@@ -282,6 +273,15 @@ declare function streamLessonMasterFlow(input: StreamLessonMasterInput): Promise
282
273
  expectedAnswerOrRubric?: string | undefined;
283
274
  metacognitivePrompt?: string | undefined;
284
275
  } | undefined;
276
+ teacherNotes?: {
277
+ commonPitfalls?: (string | undefined)[] | undefined;
278
+ troubleshootingMatrix?: ({
279
+ issue?: string | undefined;
280
+ potentialCause?: string | undefined;
281
+ solution?: string | undefined;
282
+ } | undefined)[] | undefined;
283
+ extensionNotes?: string | undefined;
284
+ } | undefined;
285
285
  guidedPractice?: {
286
286
  title?: string | undefined;
287
287
  explanation?: string | undefined;
@@ -290,40 +290,31 @@ declare function streamLessonMasterFlow(input: StreamLessonMasterInput): Promise
290
290
  mermaidDiagram?: string | undefined;
291
291
  } | undefined;
292
292
  independentPractice?: {
293
- description?: string | undefined;
294
293
  title?: string | undefined;
294
+ description?: string | undefined;
295
295
  } | undefined;
296
296
  }, {
297
297
  artifactType: "LESSON";
298
298
  lessonId: string;
299
299
  title: string;
300
300
  language: string;
301
+ topic: string;
302
+ targetGradeOrAudience: string;
303
+ overview: string;
301
304
  learningObjectives: {
302
305
  code: string;
303
- successCriteria: string;
304
- description: string;
305
306
  name: string;
307
+ description: string;
306
308
  bloomLevel: string;
309
+ successCriteria: string;
307
310
  standardRefs?: string[] | undefined;
308
311
  conceptRefs?: string[] | undefined;
309
312
  }[];
310
- teacherNotes: {
311
- commonPitfalls: string[];
312
- troubleshootingMatrix: {
313
- issue: string;
314
- potentialCause: string;
315
- solution: string;
316
- }[];
317
- extensionNotes: string;
318
- };
319
- hookScenario: string;
320
- keywords: string[];
321
- topic: string;
322
- targetGradeOrAudience: string;
323
- overview: string;
324
313
  prerequisites: string;
325
314
  materialsSummary: string;
315
+ keywords: string[];
326
316
  hookTitle: string;
317
+ hookScenario: string;
327
318
  hookQuestions: string[];
328
319
  coreConcepts: {
329
320
  name: string;
@@ -341,8 +332,8 @@ declare function streamLessonMasterFlow(input: StreamLessonMasterInput): Promise
341
332
  goldTier: string;
342
333
  };
343
334
  sections: {
344
- durationMinutes: number;
345
335
  title: string;
336
+ durationMinutes: number;
346
337
  teacherActions: string;
347
338
  studentActions: string;
348
339
  analogies: string[];
@@ -353,6 +344,15 @@ declare function streamLessonMasterFlow(input: StreamLessonMasterInput): Promise
353
344
  expectedAnswerOrRubric: string;
354
345
  metacognitivePrompt: string;
355
346
  };
347
+ teacherNotes: {
348
+ commonPitfalls: string[];
349
+ troubleshootingMatrix: {
350
+ issue: string;
351
+ potentialCause: string;
352
+ solution: string;
353
+ }[];
354
+ extensionNotes: string;
355
+ };
356
356
  guidedPractice?: {
357
357
  title: string;
358
358
  explanation: string;
@@ -361,8 +361,8 @@ declare function streamLessonMasterFlow(input: StreamLessonMasterInput): Promise
361
361
  mermaidDiagram: string;
362
362
  } | undefined;
363
363
  independentPractice?: {
364
- description: string;
365
364
  title: string;
365
+ description: string;
366
366
  } | undefined;
367
367
  }, never>>;
368
368
 
@@ -385,11 +385,11 @@ declare function streamSelfLabFlow(input: StreamSelfLabInput): Promise<ai.Stream
385
385
  techStack?: (string | undefined)[] | undefined;
386
386
  challenges?: {
387
387
  bronze?: {
388
- objective?: string | undefined;
389
388
  title?: string | undefined;
389
+ objective?: string | undefined;
390
+ tier?: "bronze" | "silver" | "gold" | undefined;
390
391
  expectedOutput?: string | undefined;
391
392
  estimatedMinutes?: number | undefined;
392
- tier?: "bronze" | "silver" | "gold" | undefined;
393
393
  tasks?: (string | undefined)[] | undefined;
394
394
  verifyCommand?: string | undefined;
395
395
  hints?: {
@@ -402,11 +402,11 @@ declare function streamSelfLabFlow(input: StreamSelfLabInput): Promise<ai.Stream
402
402
  } | undefined;
403
403
  } | undefined;
404
404
  silver?: {
405
- objective?: string | undefined;
406
405
  title?: string | undefined;
406
+ objective?: string | undefined;
407
+ tier?: "bronze" | "silver" | "gold" | undefined;
407
408
  expectedOutput?: string | undefined;
408
409
  estimatedMinutes?: number | undefined;
409
- tier?: "bronze" | "silver" | "gold" | undefined;
410
410
  tasks?: (string | undefined)[] | undefined;
411
411
  verifyCommand?: string | undefined;
412
412
  hints?: {
@@ -419,11 +419,11 @@ declare function streamSelfLabFlow(input: StreamSelfLabInput): Promise<ai.Stream
419
419
  } | undefined;
420
420
  } | undefined;
421
421
  gold?: {
422
- objective?: string | undefined;
423
422
  title?: string | undefined;
423
+ objective?: string | undefined;
424
+ tier?: "bronze" | "silver" | "gold" | undefined;
424
425
  expectedOutput?: string | undefined;
425
426
  estimatedMinutes?: number | undefined;
426
- tier?: "bronze" | "silver" | "gold" | undefined;
427
427
  tasks?: (string | undefined)[] | undefined;
428
428
  verifyCommand?: string | undefined;
429
429
  hints?: {
@@ -454,11 +454,11 @@ declare function streamSelfLabFlow(input: StreamSelfLabInput): Promise<ai.Stream
454
454
  techStack: string[];
455
455
  challenges: {
456
456
  bronze: {
457
- objective: string;
458
457
  title: string;
458
+ objective: string;
459
+ tier: "bronze" | "silver" | "gold";
459
460
  expectedOutput: string;
460
461
  estimatedMinutes: number;
461
- tier: "bronze" | "silver" | "gold";
462
462
  tasks: string[];
463
463
  verifyCommand: string;
464
464
  hints: {
@@ -471,11 +471,11 @@ declare function streamSelfLabFlow(input: StreamSelfLabInput): Promise<ai.Stream
471
471
  };
472
472
  };
473
473
  silver: {
474
- objective: string;
475
474
  title: string;
475
+ objective: string;
476
+ tier: "bronze" | "silver" | "gold";
476
477
  expectedOutput: string;
477
478
  estimatedMinutes: number;
478
- tier: "bronze" | "silver" | "gold";
479
479
  tasks: string[];
480
480
  verifyCommand: string;
481
481
  hints: {
@@ -488,11 +488,11 @@ declare function streamSelfLabFlow(input: StreamSelfLabInput): Promise<ai.Stream
488
488
  };
489
489
  };
490
490
  gold: {
491
- objective: string;
492
491
  title: string;
492
+ objective: string;
493
+ tier: "bronze" | "silver" | "gold";
493
494
  expectedOutput: string;
494
495
  estimatedMinutes: number;
495
- tier: "bronze" | "silver" | "gold";
496
496
  tasks: string[];
497
497
  verifyCommand: string;
498
498
  hints: {
@@ -524,14 +524,21 @@ declare function streamDiagnosticQuizFlow(input: StreamDiagnosticQuizInput): Pro
524
524
  artifactType?: "QUIZ" | undefined;
525
525
  title?: string | undefined;
526
526
  language?: string | undefined;
527
+ rubric?: ({
528
+ exemplary?: string | undefined;
529
+ proficient?: string | undefined;
530
+ developing?: string | undefined;
531
+ competencyDimension?: string | undefined;
532
+ advanced?: string | undefined;
533
+ } | undefined)[] | undefined;
527
534
  quizId?: string | undefined;
528
535
  totalQuestions?: number | undefined;
529
536
  timeAllocationMinutes?: number | undefined;
530
537
  passingScorePct?: number | undefined;
531
538
  assessmentObjectives?: ({
532
- objective?: string | undefined;
539
+ bloomLevel?: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | undefined;
533
540
  standardRefs?: (string | undefined)[] | undefined;
534
- bloomLevel?: "Create" | "Evaluate" | "Remember" | "Understand" | "Apply" | "Analyze" | undefined;
541
+ objective?: string | undefined;
535
542
  aoCode?: string | undefined;
536
543
  alignedLO?: string | undefined;
537
544
  } | undefined)[] | undefined;
@@ -542,10 +549,10 @@ declare function streamDiagnosticQuizFlow(input: StreamDiagnosticQuizInput): Pro
542
549
  text?: string | undefined;
543
550
  isCorrect?: boolean | undefined;
544
551
  } | undefined)[] | undefined;
545
- bloomLevel?: "create" | "Create" | "Evaluate" | "understand" | "Remember" | "Understand" | "Apply" | "Analyze" | "remember" | "apply" | "analyze" | "evaluate" | undefined;
552
+ bloomLevel?: "understand" | "create" | "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | "remember" | "apply" | "analyze" | "evaluate" | undefined;
546
553
  codeLanguage?: string | undefined;
547
554
  id?: string | undefined;
548
- questionType?: "multiple_choice" | "matching" | "code_analysis" | "open_ended" | undefined;
555
+ questionType?: "multiple_choice" | "code_analysis" | "matching" | "open_ended" | undefined;
549
556
  codeSnippet?: string | undefined;
550
557
  alignedAO?: string | undefined;
551
558
  scenarioOrStem?: string | undefined;
@@ -555,25 +562,25 @@ declare function streamDiagnosticQuizFlow(input: StreamDiagnosticQuizInput): Pro
555
562
  teacherNote?: string | undefined;
556
563
  takeawayMessage?: string | undefined;
557
564
  } | undefined)[] | undefined;
558
- rubric?: ({
559
- proficient?: string | undefined;
560
- advanced?: string | undefined;
561
- competencyDimension?: string | undefined;
562
- developing?: string | undefined;
563
- exemplary?: string | undefined;
564
- } | undefined)[] | undefined;
565
565
  }, {
566
566
  artifactType: "QUIZ";
567
567
  title: string;
568
568
  language: string;
569
+ rubric: {
570
+ exemplary: string;
571
+ proficient: string;
572
+ developing: string;
573
+ competencyDimension: string;
574
+ advanced: string;
575
+ }[];
569
576
  quizId: string;
570
577
  totalQuestions: number;
571
578
  timeAllocationMinutes: number;
572
579
  passingScorePct: number;
573
580
  assessmentObjectives: {
574
- objective: string;
581
+ bloomLevel: "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create";
575
582
  standardRefs: string[];
576
- bloomLevel: "Create" | "Evaluate" | "Remember" | "Understand" | "Apply" | "Analyze";
583
+ objective: string;
577
584
  aoCode: string;
578
585
  alignedLO: string;
579
586
  }[];
@@ -584,10 +591,10 @@ declare function streamDiagnosticQuizFlow(input: StreamDiagnosticQuizInput): Pro
584
591
  text: string;
585
592
  isCorrect: boolean;
586
593
  }[];
587
- bloomLevel: "create" | "Create" | "Evaluate" | "understand" | "Remember" | "Understand" | "Apply" | "Analyze" | "remember" | "apply" | "analyze" | "evaluate";
594
+ bloomLevel: "understand" | "create" | "Remember" | "Understand" | "Apply" | "Analyze" | "Evaluate" | "Create" | "remember" | "apply" | "analyze" | "evaluate";
588
595
  codeLanguage: string;
589
596
  id: string;
590
- questionType: "multiple_choice" | "matching" | "code_analysis" | "open_ended";
597
+ questionType: "multiple_choice" | "code_analysis" | "matching" | "open_ended";
591
598
  codeSnippet?: string | undefined;
592
599
  alignedAO?: string | undefined;
593
600
  scenarioOrStem?: string | undefined;
@@ -597,13 +604,6 @@ declare function streamDiagnosticQuizFlow(input: StreamDiagnosticQuizInput): Pro
597
604
  teacherNote?: string | undefined;
598
605
  takeawayMessage?: string | undefined;
599
606
  }[];
600
- rubric: {
601
- proficient: string;
602
- advanced: string;
603
- competencyDimension: string;
604
- developing: string;
605
- exemplary: string;
606
- }[];
607
607
  }, never>>;
608
608
 
609
609
  /**
@@ -850,7 +850,6 @@ declare const contentTools: {
850
850
  }>, "many">;
851
851
  durationMinutes: z.ZodDefault<z.ZodNumber>;
852
852
  }, "strip", z.ZodTypeAny, {
853
- durationMinutes: number;
854
853
  lessonId: string;
855
854
  title: string;
856
855
  learningObjectives: {
@@ -858,6 +857,7 @@ declare const contentTools: {
858
857
  statement: string;
859
858
  standardRefs?: string[] | undefined;
860
859
  }[];
860
+ durationMinutes: number;
861
861
  }, {
862
862
  lessonId: string;
863
863
  title: string;
@@ -1017,19 +1017,19 @@ declare const assessorTools: {
1017
1017
  levels: Record<string, string>;
1018
1018
  }>, "many">;
1019
1019
  }, "strip", z.ZodTypeAny, {
1020
+ lessonId: string;
1020
1021
  criteria: {
1021
1022
  criterionName: string;
1022
1023
  weight: number;
1023
1024
  levels: Record<string, string>;
1024
1025
  }[];
1025
- lessonId: string;
1026
1026
  }, {
1027
+ lessonId: string;
1027
1028
  criteria: {
1028
1029
  criterionName: string;
1029
1030
  weight: number;
1030
1031
  levels: Record<string, string>;
1031
1032
  }[];
1032
- lessonId: string;
1033
1033
  }>;
1034
1034
  };
1035
1035
  };
@@ -1072,12 +1072,12 @@ declare const techSmeTools: {
1072
1072
  code: z.ZodString;
1073
1073
  expectedOutput: z.ZodOptional<z.ZodString>;
1074
1074
  }, "strip", z.ZodTypeAny, {
1075
- code: string;
1076
1075
  language: "swift" | "python" | "javascript" | "html_css";
1076
+ code: string;
1077
1077
  expectedOutput?: string | undefined;
1078
1078
  }, {
1079
- code: string;
1080
1079
  language: "swift" | "python" | "javascript" | "html_css";
1080
+ code: string;
1081
1081
  expectedOutput?: string | undefined;
1082
1082
  }>;
1083
1083
  };
@@ -1088,11 +1088,11 @@ declare const techSmeTools: {
1088
1088
  language: z.ZodString;
1089
1089
  code: z.ZodString;
1090
1090
  }, "strip", z.ZodTypeAny, {
1091
- code: string;
1092
1091
  language: string;
1093
- }, {
1094
1092
  code: string;
1093
+ }, {
1095
1094
  language: string;
1095
+ code: string;
1096
1096
  }>;
1097
1097
  };
1098
1098
  };
package/dist/ai/index.mjs CHANGED
@@ -1911,6 +1911,11 @@ Every slide MUST include notes with:
1911
1911
  - Cold-Call: 1 check question
1912
1912
  - Scaffolding Tip: 1 analogy or hint
1913
1913
 
1914
+ ### \u26A0\uFE0F STRICT SLIDE FORMATTING INVARIANTS:
1915
+ 1. Every slide MUST store its content fields inside "slots": { ... }. NEVER put "title", "content", or points at the top level of a slide!
1916
+ 2. All code slots MUST contain real, executable, high-fidelity code. Never use placeholders like "<CODE>" or "...".
1917
+ 3. All point and card slots MUST contain concrete, rich pedagogical explanations. Never use placeholder dots or empty cards.
1918
+
1914
1919
  ### Output JSON Format:
1915
1920
  \`\`\`json
1916
1921
  {