@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
@@ -2129,6 +2129,50 @@ var ScaffoldDecisionEntrySchema = zod.z.object({
2129
2129
  minutes_saved: zod.z.number().int().nonnegative().default(0),
2130
2130
  reason: zod.z.string().min(3)
2131
2131
  });
2132
+ var ZpdVerdictSchema = zod.z.enum(["OK", "TOO_MANY_NEW", "NO_ZPD_BRIDGE"]);
2133
+ var SessionZpdStatusSchema = zod.z.object({
2134
+ verdict: ZpdVerdictSchema,
2135
+ new_concept_count: zod.z.number().int().nonnegative().default(0),
2136
+ known_concept_count: zod.z.number().int().nonnegative().default(0),
2137
+ issues: zod.z.array(zod.z.string()).default([])
2138
+ });
2139
+ var ConceptSpiralEncounterSchema = zod.z.object({
2140
+ concept_code: zod.z.string(),
2141
+ session_id: LessonCodeSchema,
2142
+ encounter_index: zod.z.number().int().positive(),
2143
+ bloom_cap: BloomLevelSchema,
2144
+ depth: DepthLevelSchema
2145
+ });
2146
+ var WalkingSkeletonSchema = zod.z.object({
2147
+ epitome_unit_id: zod.z.string().default("U01"),
2148
+ epitome_deliverables: zod.z.array(zod.z.string()).default([]),
2149
+ elaborations: zod.z.array(zod.z.object({
2150
+ unit_id: zod.z.string(),
2151
+ focus_area: zod.z.string(),
2152
+ elaborates_on: zod.z.array(zod.z.string()).default([])
2153
+ })).default([])
2154
+ });
2155
+ var MasteryGateSchema = zod.z.object({
2156
+ phase_or_unit_id: zod.z.string(),
2157
+ gate_name: zod.z.string(),
2158
+ exit_criteria: zod.z.array(zod.z.string()).min(1),
2159
+ next_unit_id: zod.z.string(),
2160
+ remediation: zod.z.object({
2161
+ trigger: zod.z.literal("FAIL_GATE_CRITERIA"),
2162
+ focus_minutes: zod.z.number().int().default(15),
2163
+ action: zod.z.string()
2164
+ })
2165
+ });
2166
+ var ConceptPrerequisiteEdgeSchema = zod.z.object({
2167
+ concept_code: zod.z.string(),
2168
+ requires: zod.z.string(),
2169
+ source: zod.z.enum(["MASTER_TREE", "INFERRED", "CONCEPT_LEVEL_PREREQ"]).default("CONCEPT_LEVEL_PREREQ"),
2170
+ confidence: zod.z.number().min(0).max(1).default(0.8),
2171
+ rationale: zod.z.string().default(""),
2172
+ structure_supported: zod.z.boolean().default(true),
2173
+ needs_review: zod.z.boolean().default(false),
2174
+ hub: zod.z.boolean().default(false)
2175
+ });
2132
2176
  var SessionPlanSchema = zod.z.object({
2133
2177
  id: LessonCodeSchema,
2134
2178
  unit_id: zod.z.string().regex(/^U\d{2}$/),
@@ -2149,7 +2193,14 @@ var SessionPlanSchema = zod.z.object({
2149
2193
  scaffold_decisions: zod.z.array(ScaffoldDecisionEntrySchema).default([]),
2150
2194
  // What the student can demonstrate after this session — feeds exit tickets.
2151
2195
  exit_evidence: zod.z.array(zod.z.string()).min(1),
2152
- differentiation: zod.z.object({ bronze: zod.z.string(), silver: zod.z.string(), gold: zod.z.string() })
2196
+ differentiation: zod.z.object({ bronze: zod.z.string(), silver: zod.z.string(), gold: zod.z.string() }),
2197
+ // P50: ZPD cognitive load status for this session
2198
+ zpd_status: SessionZpdStatusSchema.default({
2199
+ verdict: "OK",
2200
+ new_concept_count: 0,
2201
+ known_concept_count: 0,
2202
+ issues: []
2203
+ })
2153
2204
  });
2154
2205
  var TranslationPolicySchema = zod.z.object({
2155
2206
  policy: zod.z.enum(["after_artifact", "end_of_unit", "at_publish", "native"]).default("native"),
@@ -2204,6 +2255,11 @@ zod.z.object({
2204
2255
  // [2]
2205
2256
  sessions: zod.z.array(SessionPlanSchema).min(1),
2206
2257
  // [3][4][5][6]
2258
+ // P50: Macro-pedagogical course structures
2259
+ walking_skeleton: WalkingSkeletonSchema.optional(),
2260
+ mastery_gates: zod.z.array(MasteryGateSchema).default([]),
2261
+ concept_spiral_progression: zod.z.array(ConceptSpiralEncounterSchema).default([]),
2262
+ concept_prerequisites: zod.z.array(ConceptPrerequisiteEdgeSchema).default([]),
2207
2263
  glossary_scope: zod.z.array(zod.z.object({
2208
2264
  session_id: LessonCodeSchema,
2209
2265
  terms: zod.z.array(zod.z.string())