@thanh01.pmt/curriculum-kit 1.4.34 → 1.4.36

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.
Files changed (36) hide show
  1. package/LICENSE +21 -0
  2. package/dist/ai/index.cjs +57 -1
  3. package/dist/ai/index.cjs.map +1 -1
  4. package/dist/ai/index.d.cts +2 -2
  5. package/dist/ai/index.d.ts +2 -2
  6. package/dist/ai/index.mjs +57 -1
  7. package/dist/ai/index.mjs.map +1 -1
  8. package/dist/{gateSettings-DabOqP6_.d.cts → gateSettings-oo5tCUS_.d.cts} +18 -0
  9. package/dist/{gateSettings-DabOqP6_.d.ts → gateSettings-oo5tCUS_.d.ts} +18 -0
  10. package/dist/index.cjs +764 -70
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.cts +234 -74
  13. package/dist/index.d.ts +234 -74
  14. package/dist/index.mjs +748 -71
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/pipeline/index.cjs +57 -1
  17. package/dist/pipeline/index.cjs.map +1 -1
  18. package/dist/pipeline/index.mjs +57 -1
  19. package/dist/pipeline/index.mjs.map +1 -1
  20. package/dist/schemas/index.cjs +63 -1
  21. package/dist/schemas/index.cjs.map +1 -1
  22. package/dist/schemas/index.d.cts +436 -33
  23. package/dist/schemas/index.d.ts +436 -33
  24. package/dist/schemas/index.mjs +58 -2
  25. package/dist/schemas/index.mjs.map +1 -1
  26. package/dist/standards/index.d.cts +2 -2
  27. package/dist/standards/index.d.ts +2 -2
  28. package/dist/workflow/index.cjs +84 -2
  29. package/dist/workflow/index.cjs.map +1 -1
  30. package/dist/workflow/index.d.cts +3 -3
  31. package/dist/workflow/index.d.ts +3 -3
  32. package/dist/workflow/index.mjs +84 -2
  33. package/dist/workflow/index.mjs.map +1 -1
  34. package/package.json +22 -23
  35. package/dist/{standardsCoverageGate-DR5YTtlt.d.cts → standardsCoverageGate-49pJq5t8.d.cts} +6 -6
  36. package/dist/{standardsCoverageGate-DR5YTtlt.d.ts → standardsCoverageGate-49pJq5t8.d.ts} +6 -6
@@ -2120,6 +2120,50 @@ var ScaffoldDecisionEntrySchema = z.object({
2120
2120
  minutes_saved: z.number().int().nonnegative().default(0),
2121
2121
  reason: z.string().min(3)
2122
2122
  });
2123
+ var ZpdVerdictSchema = z.enum(["OK", "TOO_MANY_NEW", "NO_ZPD_BRIDGE"]);
2124
+ var SessionZpdStatusSchema = z.object({
2125
+ verdict: ZpdVerdictSchema,
2126
+ new_concept_count: z.number().int().nonnegative().default(0),
2127
+ known_concept_count: z.number().int().nonnegative().default(0),
2128
+ issues: z.array(z.string()).default([])
2129
+ });
2130
+ var ConceptSpiralEncounterSchema = z.object({
2131
+ concept_code: z.string(),
2132
+ session_id: LessonCodeSchema,
2133
+ encounter_index: z.number().int().positive(),
2134
+ bloom_cap: BloomLevelSchema,
2135
+ depth: DepthLevelSchema
2136
+ });
2137
+ var WalkingSkeletonSchema = z.object({
2138
+ epitome_unit_id: z.string().default("U01"),
2139
+ epitome_deliverables: z.array(z.string()).default([]),
2140
+ elaborations: z.array(z.object({
2141
+ unit_id: z.string(),
2142
+ focus_area: z.string(),
2143
+ elaborates_on: z.array(z.string()).default([])
2144
+ })).default([])
2145
+ });
2146
+ var MasteryGateSchema = z.object({
2147
+ phase_or_unit_id: z.string(),
2148
+ gate_name: z.string(),
2149
+ exit_criteria: z.array(z.string()).min(1),
2150
+ next_unit_id: z.string(),
2151
+ remediation: z.object({
2152
+ trigger: z.literal("FAIL_GATE_CRITERIA"),
2153
+ focus_minutes: z.number().int().default(15),
2154
+ action: z.string()
2155
+ })
2156
+ });
2157
+ var ConceptPrerequisiteEdgeSchema = z.object({
2158
+ concept_code: z.string(),
2159
+ requires: z.string(),
2160
+ source: z.enum(["MASTER_TREE", "INFERRED", "CONCEPT_LEVEL_PREREQ"]).default("CONCEPT_LEVEL_PREREQ"),
2161
+ confidence: z.number().min(0).max(1).default(0.8),
2162
+ rationale: z.string().default(""),
2163
+ structure_supported: z.boolean().default(true),
2164
+ needs_review: z.boolean().default(false),
2165
+ hub: z.boolean().default(false)
2166
+ });
2123
2167
  var SessionPlanSchema = z.object({
2124
2168
  id: LessonCodeSchema,
2125
2169
  unit_id: z.string().regex(/^U\d{2}$/),
@@ -2140,7 +2184,14 @@ var SessionPlanSchema = z.object({
2140
2184
  scaffold_decisions: z.array(ScaffoldDecisionEntrySchema).default([]),
2141
2185
  // What the student can demonstrate after this session — feeds exit tickets.
2142
2186
  exit_evidence: z.array(z.string()).min(1),
2143
- differentiation: z.object({ bronze: z.string(), silver: z.string(), gold: z.string() })
2187
+ differentiation: z.object({ bronze: z.string(), silver: z.string(), gold: z.string() }),
2188
+ // P50: ZPD cognitive load status for this session
2189
+ zpd_status: SessionZpdStatusSchema.default({
2190
+ verdict: "OK",
2191
+ new_concept_count: 0,
2192
+ known_concept_count: 0,
2193
+ issues: []
2194
+ })
2144
2195
  });
2145
2196
  var TranslationPolicySchema = z.object({
2146
2197
  policy: z.enum(["after_artifact", "end_of_unit", "at_publish", "native"]).default("native"),
@@ -2195,6 +2246,11 @@ z.object({
2195
2246
  // [2]
2196
2247
  sessions: z.array(SessionPlanSchema).min(1),
2197
2248
  // [3][4][5][6]
2249
+ // P50: Macro-pedagogical course structures
2250
+ walking_skeleton: WalkingSkeletonSchema.optional(),
2251
+ mastery_gates: z.array(MasteryGateSchema).default([]),
2252
+ concept_spiral_progression: z.array(ConceptSpiralEncounterSchema).default([]),
2253
+ concept_prerequisites: z.array(ConceptPrerequisiteEdgeSchema).default([]),
2198
2254
  glossary_scope: z.array(z.object({
2199
2255
  session_id: LessonCodeSchema,
2200
2256
  terms: z.array(z.string())