@thanh01.pmt/curriculum-kit 1.4.35 → 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 +730 -50
  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 +714 -51
  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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Tony Pham
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/ai/index.cjs CHANGED
@@ -3819,6 +3819,50 @@ var ScaffoldDecisionEntrySchema = zod.z.object({
3819
3819
  minutes_saved: zod.z.number().int().nonnegative().default(0),
3820
3820
  reason: zod.z.string().min(3)
3821
3821
  });
3822
+ var ZpdVerdictSchema = zod.z.enum(["OK", "TOO_MANY_NEW", "NO_ZPD_BRIDGE"]);
3823
+ var SessionZpdStatusSchema = zod.z.object({
3824
+ verdict: ZpdVerdictSchema,
3825
+ new_concept_count: zod.z.number().int().nonnegative().default(0),
3826
+ known_concept_count: zod.z.number().int().nonnegative().default(0),
3827
+ issues: zod.z.array(zod.z.string()).default([])
3828
+ });
3829
+ var ConceptSpiralEncounterSchema = zod.z.object({
3830
+ concept_code: zod.z.string(),
3831
+ session_id: LessonCodeSchema,
3832
+ encounter_index: zod.z.number().int().positive(),
3833
+ bloom_cap: BloomLevelSchema,
3834
+ depth: DepthLevelSchema
3835
+ });
3836
+ var WalkingSkeletonSchema = zod.z.object({
3837
+ epitome_unit_id: zod.z.string().default("U01"),
3838
+ epitome_deliverables: zod.z.array(zod.z.string()).default([]),
3839
+ elaborations: zod.z.array(zod.z.object({
3840
+ unit_id: zod.z.string(),
3841
+ focus_area: zod.z.string(),
3842
+ elaborates_on: zod.z.array(zod.z.string()).default([])
3843
+ })).default([])
3844
+ });
3845
+ var MasteryGateSchema = zod.z.object({
3846
+ phase_or_unit_id: zod.z.string(),
3847
+ gate_name: zod.z.string(),
3848
+ exit_criteria: zod.z.array(zod.z.string()).min(1),
3849
+ next_unit_id: zod.z.string(),
3850
+ remediation: zod.z.object({
3851
+ trigger: zod.z.literal("FAIL_GATE_CRITERIA"),
3852
+ focus_minutes: zod.z.number().int().default(15),
3853
+ action: zod.z.string()
3854
+ })
3855
+ });
3856
+ var ConceptPrerequisiteEdgeSchema = zod.z.object({
3857
+ concept_code: zod.z.string(),
3858
+ requires: zod.z.string(),
3859
+ source: zod.z.enum(["MASTER_TREE", "INFERRED", "CONCEPT_LEVEL_PREREQ"]).default("CONCEPT_LEVEL_PREREQ"),
3860
+ confidence: zod.z.number().min(0).max(1).default(0.8),
3861
+ rationale: zod.z.string().default(""),
3862
+ structure_supported: zod.z.boolean().default(true),
3863
+ needs_review: zod.z.boolean().default(false),
3864
+ hub: zod.z.boolean().default(false)
3865
+ });
3822
3866
  var SessionPlanSchema = zod.z.object({
3823
3867
  id: LessonCodeSchema,
3824
3868
  unit_id: zod.z.string().regex(/^U\d{2}$/),
@@ -3839,7 +3883,14 @@ var SessionPlanSchema = zod.z.object({
3839
3883
  scaffold_decisions: zod.z.array(ScaffoldDecisionEntrySchema).default([]),
3840
3884
  // What the student can demonstrate after this session — feeds exit tickets.
3841
3885
  exit_evidence: zod.z.array(zod.z.string()).min(1),
3842
- differentiation: zod.z.object({ bronze: zod.z.string(), silver: zod.z.string(), gold: zod.z.string() })
3886
+ differentiation: zod.z.object({ bronze: zod.z.string(), silver: zod.z.string(), gold: zod.z.string() }),
3887
+ // P50: ZPD cognitive load status for this session
3888
+ zpd_status: SessionZpdStatusSchema.default({
3889
+ verdict: "OK",
3890
+ new_concept_count: 0,
3891
+ known_concept_count: 0,
3892
+ issues: []
3893
+ })
3843
3894
  });
3844
3895
  var TranslationPolicySchema = zod.z.object({
3845
3896
  policy: zod.z.enum(["after_artifact", "end_of_unit", "at_publish", "native"]).default("native"),
@@ -3894,6 +3945,11 @@ zod.z.object({
3894
3945
  // [2]
3895
3946
  sessions: zod.z.array(SessionPlanSchema).min(1),
3896
3947
  // [3][4][5][6]
3948
+ // P50: Macro-pedagogical course structures
3949
+ walking_skeleton: WalkingSkeletonSchema.optional(),
3950
+ mastery_gates: zod.z.array(MasteryGateSchema).default([]),
3951
+ concept_spiral_progression: zod.z.array(ConceptSpiralEncounterSchema).default([]),
3952
+ concept_prerequisites: zod.z.array(ConceptPrerequisiteEdgeSchema).default([]),
3897
3953
  glossary_scope: zod.z.array(zod.z.object({
3898
3954
  session_id: LessonCodeSchema,
3899
3955
  terms: zod.z.array(zod.z.string())