@thanh01.pmt/curriculum-kit 1.4.46 → 1.4.48
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.
- package/README.md +23 -0
- package/dist/ai/index.cjs +19 -1
- package/dist/ai/index.cjs.map +1 -1
- package/dist/ai/index.d.cts +77 -77
- package/dist/ai/index.d.ts +77 -77
- package/dist/ai/index.mjs +19 -1
- package/dist/ai/index.mjs.map +1 -1
- package/dist/index.cjs +199 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +98 -13
- package/dist/index.d.ts +98 -13
- package/dist/index.mjs +196 -9
- package/dist/index.mjs.map +1 -1
- package/dist/pipeline/index.cjs +19 -1
- package/dist/pipeline/index.cjs.map +1 -1
- package/dist/pipeline/index.mjs +19 -1
- package/dist/pipeline/index.mjs.map +1 -1
- package/dist/schemas/index.cjs +19 -1
- package/dist/schemas/index.cjs.map +1 -1
- package/dist/schemas/index.d.cts +1193 -1053
- package/dist/schemas/index.d.ts +1193 -1053
- package/dist/schemas/index.mjs +19 -1
- package/dist/schemas/index.mjs.map +1 -1
- package/dist/standards/index.d.cts +2 -2
- package/dist/standards/index.d.ts +2 -2
- package/dist/{standardsCoverageGate-49pJq5t8.d.cts → standardsCoverageGate-CLnq0d0s.d.cts} +12 -12
- package/dist/{standardsCoverageGate-49pJq5t8.d.ts → standardsCoverageGate-CLnq0d0s.d.ts} +12 -12
- package/dist/workflow/index.cjs +19 -1
- package/dist/workflow/index.cjs.map +1 -1
- package/dist/workflow/index.d.cts +1 -1
- package/dist/workflow/index.d.ts +1 -1
- package/dist/workflow/index.mjs +19 -1
- package/dist/workflow/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4007,7 +4007,25 @@ var PlanningNodeSchema = z.object({
|
|
|
4007
4007
|
file: z.string(),
|
|
4008
4008
|
evidence: z.string().default("")
|
|
4009
4009
|
})).default([]),
|
|
4010
|
-
phase_id: z.string().default("")
|
|
4010
|
+
phase_id: z.string().default(""),
|
|
4011
|
+
// P52/T2.1: tangible user-visible outcome projected from the graph step
|
|
4012
|
+
// (checkpoint candidate for session cutting). Empty = not a checkpoint.
|
|
4013
|
+
user_visible_deliverable: z.string().default(""),
|
|
4014
|
+
// P52/T3.1 — depth-reconcile inputs (mirrored from the feed; optional so
|
|
4015
|
+
// raw graphs without variants keep planning unchanged):
|
|
4016
|
+
// • depth_variants: minutes to teach this node at each depth level (ULO ≤
|
|
4017
|
+
// CIO ≤ SIO) — the reconciler's price list for downgrades.
|
|
4018
|
+
// • depth_scaffold_candidates: parallel to scaffold_candidates but acting
|
|
4019
|
+
// on DEPTH (SIO→CIO, CIO→ULO) instead of lesson time.
|
|
4020
|
+
// • is_core: Master-Tree core concept — never downgraded; escalate instead.
|
|
4021
|
+
depth_variants: z.object({ ulo: z.number().int().nonnegative(), cio: z.number().int().nonnegative(), sio: z.number().int().nonnegative() }).optional(),
|
|
4022
|
+
depth_scaffold_candidates: z.array(z.object({
|
|
4023
|
+
from_depth: DepthLevelSchema,
|
|
4024
|
+
to_depth: DepthLevelSchema,
|
|
4025
|
+
minutes_saved: z.number().int().nonnegative(),
|
|
4026
|
+
reason: z.string().default("")
|
|
4027
|
+
})).optional(),
|
|
4028
|
+
is_core: z.boolean().default(false)
|
|
4011
4029
|
});
|
|
4012
4030
|
var DependencyEdgeSchema = z.object({
|
|
4013
4031
|
from: z.string(),
|
|
@@ -5424,6 +5442,7 @@ var MAX_NEW_CONCEPTS_PER_SESSION_K12 = 2;
|
|
|
5424
5442
|
var MAX_NEW_CONCEPTS_PER_SESSION_ADULT = 3;
|
|
5425
5443
|
var DEFAULT_OVERHEAD_RATIO = 0.15;
|
|
5426
5444
|
var MAX_IN_SESSION_SETUP_MINUTES = 15;
|
|
5445
|
+
var SESSION_CUT_TOLERANCE = 0.15;
|
|
5427
5446
|
var ENVIRONMENT_PROVISIONING_MODELS = [
|
|
5428
5447
|
"PRE_INSTALLED_LAB",
|
|
5429
5448
|
"CLOUD_MANAGED",
|
|
@@ -10535,6 +10554,98 @@ async function ensureExpositionForLesson(storage, projectId, lessonCode, options
|
|
|
10535
10554
|
return { relPath: result.relPath, context: buildExpositionContext(result.content), reused: result.reused, rawContent: result.content };
|
|
10536
10555
|
}
|
|
10537
10556
|
init_errors();
|
|
10557
|
+
|
|
10558
|
+
// src/services/depthReconciler.ts
|
|
10559
|
+
function tierOf(node, isLeaf) {
|
|
10560
|
+
if (node.phase_id !== "" && /__ADV\d{2}$/.test(node.id)) return 1;
|
|
10561
|
+
const depth = node.depth_hint ?? "cio";
|
|
10562
|
+
if (depth === "sio") return isLeaf ? 2 : 3;
|
|
10563
|
+
if (depth === "cio") return isLeaf ? 4 : 5;
|
|
10564
|
+
return -1;
|
|
10565
|
+
}
|
|
10566
|
+
function classifyDepthCandidates(nodes, edges) {
|
|
10567
|
+
const baseConcept = (id) => id.replace(/__(ADV|PREV)\d{2}$/, "");
|
|
10568
|
+
const conceptIds = new Set(nodes.filter((n) => n.kind === "concept").map((n) => baseConcept(n.id)));
|
|
10569
|
+
const hasDependent = /* @__PURE__ */ new Set();
|
|
10570
|
+
for (const e of edges) {
|
|
10571
|
+
if (e.kind !== "knowledge") continue;
|
|
10572
|
+
const from = baseConcept(e.from);
|
|
10573
|
+
const to = baseConcept(e.to);
|
|
10574
|
+
if (conceptIds.has(from) && conceptIds.has(to)) hasDependent.add(from);
|
|
10575
|
+
}
|
|
10576
|
+
const isLeaf = /* @__PURE__ */ new Map();
|
|
10577
|
+
for (const n of nodes) {
|
|
10578
|
+
if (n.kind !== "concept") continue;
|
|
10579
|
+
const base = baseConcept(n.id);
|
|
10580
|
+
if (!isLeaf.has(base)) isLeaf.set(base, !hasDependent.has(base));
|
|
10581
|
+
}
|
|
10582
|
+
return isLeaf;
|
|
10583
|
+
}
|
|
10584
|
+
function reconcilePlanDepth(nodes, edges, spec, budgetMinutes) {
|
|
10585
|
+
const MAX_ROUNDS = 5;
|
|
10586
|
+
const total = () => nodes.reduce((acc, n) => acc + n.estimated_minutes, 0);
|
|
10587
|
+
const isLeaf = classifyDepthCandidates(nodes, edges);
|
|
10588
|
+
const baseConcept = (id) => id.replace(/__(ADV|PREV)\d{2}$/, "");
|
|
10589
|
+
const applied = [];
|
|
10590
|
+
const mutated = /* @__PURE__ */ new Set();
|
|
10591
|
+
let rounds = 0;
|
|
10592
|
+
while (total() > budgetMinutes && rounds < MAX_ROUNDS) {
|
|
10593
|
+
rounds++;
|
|
10594
|
+
let overBy = total() - budgetMinutes;
|
|
10595
|
+
const candidates = [];
|
|
10596
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
10597
|
+
const n = nodes[i];
|
|
10598
|
+
if (n.kind !== "concept") continue;
|
|
10599
|
+
if (n.is_core) continue;
|
|
10600
|
+
if (n.depth_hint == null) continue;
|
|
10601
|
+
const base = baseConcept(n.id);
|
|
10602
|
+
const leaf = isLeaf.get(base) ?? true;
|
|
10603
|
+
const tier = tierOf(n, leaf);
|
|
10604
|
+
if (tier < 0) continue;
|
|
10605
|
+
const depth = n.depth_hint ?? "cio";
|
|
10606
|
+
const toDepth = depth === "sio" ? "cio" : "ulo";
|
|
10607
|
+
const variants = n.depth_variants;
|
|
10608
|
+
const target = variants ? variants[toDepth] : Math.max(5, Math.round(n.estimated_minutes * 0.6));
|
|
10609
|
+
const saved = n.estimated_minutes - target;
|
|
10610
|
+
if (saved <= 0) continue;
|
|
10611
|
+
candidates.push({
|
|
10612
|
+
nodeId: n.id,
|
|
10613
|
+
fromDepth: depth,
|
|
10614
|
+
toDepth,
|
|
10615
|
+
minutesSaved: saved,
|
|
10616
|
+
reason: n.depth_scaffold_candidates?.find((c) => c.to_depth === toDepth)?.reason ?? `depth downgrade ${depth}\u2192${toDepth} (tier ${tier}${leaf ? ", leaf" : ""})`,
|
|
10617
|
+
node: n,
|
|
10618
|
+
tier,
|
|
10619
|
+
index: i
|
|
10620
|
+
});
|
|
10621
|
+
}
|
|
10622
|
+
if (candidates.length === 0) break;
|
|
10623
|
+
candidates.sort((a, b) => a.tier - b.tier || b.minutesSaved - a.minutesSaved);
|
|
10624
|
+
for (const c of candidates) {
|
|
10625
|
+
if (overBy <= 0) break;
|
|
10626
|
+
const n = c.node;
|
|
10627
|
+
const target = n.depth_variants ? n.depth_variants[c.toDepth] : Math.max(5, Math.round(n.estimated_minutes * 0.6));
|
|
10628
|
+
const saved = n.estimated_minutes - target;
|
|
10629
|
+
if (saved <= 0) continue;
|
|
10630
|
+
n.estimated_minutes = target;
|
|
10631
|
+
n.depth_hint = c.toDepth;
|
|
10632
|
+
applied.push({ nodeId: n.id, fromDepth: c.fromDepth, toDepth: c.toDepth, minutesSaved: saved, reason: c.reason });
|
|
10633
|
+
mutated.add(n.id);
|
|
10634
|
+
overBy -= saved;
|
|
10635
|
+
}
|
|
10636
|
+
}
|
|
10637
|
+
const finalTotal = total();
|
|
10638
|
+
const deficitMinutes = Math.max(0, finalTotal - budgetMinutes);
|
|
10639
|
+
return {
|
|
10640
|
+
unchanged: applied.length === 0,
|
|
10641
|
+
applied,
|
|
10642
|
+
mutatedNodeIds: [...mutated],
|
|
10643
|
+
escalate: deficitMinutes > 0,
|
|
10644
|
+
deficitMinutes
|
|
10645
|
+
};
|
|
10646
|
+
}
|
|
10647
|
+
|
|
10648
|
+
// src/services/curriculumPlannerService.ts
|
|
10538
10649
|
var asArr = (v) => Array.isArray(v) ? v : [];
|
|
10539
10650
|
var asStr = (v, dflt = "") => typeof v === "string" ? v : dflt;
|
|
10540
10651
|
var asNum = (v, dflt) => typeof v === "number" && Number.isFinite(v) ? v : dflt;
|
|
@@ -10574,7 +10685,20 @@ function normalizePlanningGraph(raw) {
|
|
|
10574
10685
|
suggest: asStr(c.suggest, "provide_full")
|
|
10575
10686
|
})),
|
|
10576
10687
|
references: asArr(n.references).map((ref) => ({ file: asStr(ref.file), evidence: asStr(ref.evidence) })).filter((ref) => ref.file),
|
|
10577
|
-
phase_id: asStr(n.phase_id)
|
|
10688
|
+
phase_id: asStr(n.phase_id),
|
|
10689
|
+
user_visible_deliverable: asStr(n.user_visible_deliverable),
|
|
10690
|
+
depth_variants: (() => {
|
|
10691
|
+
const dv = n.depth_variants;
|
|
10692
|
+
if (!dv) return void 0;
|
|
10693
|
+
return { ulo: Math.max(0, Math.round(asNum(dv.ulo, 0))), cio: Math.max(0, Math.round(asNum(dv.cio, 0))), sio: Math.max(0, Math.round(asNum(dv.sio, 0))) };
|
|
10694
|
+
})(),
|
|
10695
|
+
depth_scaffold_candidates: asArr(n.depth_scaffold_candidates).map((c) => ({
|
|
10696
|
+
from_depth: asStr(c.from_depth, "sio"),
|
|
10697
|
+
to_depth: asStr(c.to_depth, "cio"),
|
|
10698
|
+
minutes_saved: Math.max(0, Math.round(asNum(c.minutes_saved, 0))),
|
|
10699
|
+
reason: asStr(c.reason)
|
|
10700
|
+
})),
|
|
10701
|
+
is_core: n.is_core === true
|
|
10578
10702
|
});
|
|
10579
10703
|
}
|
|
10580
10704
|
for (const e of asArr(r.dependency_edges)) {
|
|
@@ -10618,7 +10742,9 @@ function normalizePlanningGraph(raw) {
|
|
|
10618
10742
|
completion_level: "standard",
|
|
10619
10743
|
scaffold_candidates: [],
|
|
10620
10744
|
references: [],
|
|
10621
|
-
phase_id: ""
|
|
10745
|
+
phase_id: "",
|
|
10746
|
+
user_visible_deliverable: "",
|
|
10747
|
+
is_core: false
|
|
10622
10748
|
});
|
|
10623
10749
|
for (const p of asStrArr(c.prerequisites)) {
|
|
10624
10750
|
edges.push({ from: p, to: asStr(c.id), kind: "knowledge", reason: "concept prerequisite" });
|
|
@@ -10655,7 +10781,9 @@ function normalizePlanningGraph(raw) {
|
|
|
10655
10781
|
completion_level: "standard",
|
|
10656
10782
|
scaffold_candidates: [],
|
|
10657
10783
|
references: [],
|
|
10658
|
-
phase_id: ""
|
|
10784
|
+
phase_id: "",
|
|
10785
|
+
user_visible_deliverable: "",
|
|
10786
|
+
is_core: false
|
|
10659
10787
|
});
|
|
10660
10788
|
if (prev) edges.push({ from: prev, to: id, kind: "task", reason: "roadmap sequence" });
|
|
10661
10789
|
prev = id;
|
|
@@ -10691,13 +10819,15 @@ function normalizePlanningGraph(raw) {
|
|
|
10691
10819
|
completion_level: "standard",
|
|
10692
10820
|
scaffold_candidates: [],
|
|
10693
10821
|
references: [],
|
|
10694
|
-
phase_id: ""
|
|
10822
|
+
phase_id: "",
|
|
10823
|
+
user_visible_deliverable: "",
|
|
10824
|
+
is_core: false
|
|
10695
10825
|
});
|
|
10696
10826
|
if (prev) edges.push({ from: prev, to: id, kind: "task", reason: "feature build order" });
|
|
10697
10827
|
prev = id;
|
|
10698
10828
|
}
|
|
10699
10829
|
if (stepCount === 0 && fid) {
|
|
10700
|
-
nodes.push({ id: fid, kind: "skill", name: asStr(f.name, fid), concept_codes: [], keywords: [], new_keywords: [], prerequisite_keywords: [], estimated_minutes: 45, bloom_hint: "Apply", depth_hint: null, completion_level: "standard", scaffold_candidates: [], references: [], phase_id: "" });
|
|
10830
|
+
nodes.push({ id: fid, kind: "skill", name: asStr(f.name, fid), concept_codes: [], keywords: [], new_keywords: [], prerequisite_keywords: [], estimated_minutes: 45, bloom_hint: "Apply", depth_hint: null, completion_level: "standard", scaffold_candidates: [], references: [], phase_id: "", user_visible_deliverable: "", is_core: false });
|
|
10701
10831
|
}
|
|
10702
10832
|
}
|
|
10703
10833
|
}
|
|
@@ -10859,6 +10989,39 @@ function computePackingSpec(constraints) {
|
|
|
10859
10989
|
sessionDurationMinutes: constraints.session_duration_minutes
|
|
10860
10990
|
};
|
|
10861
10991
|
}
|
|
10992
|
+
var filledOf = (s) => s.knowledgeMinutes + s.practiceMinutes;
|
|
10993
|
+
function cutBackToCheckpoint(current, nodeById, spec, warnings) {
|
|
10994
|
+
const budget = spec.contentBudget;
|
|
10995
|
+
const minFill = budget * (1 - SESSION_CUT_TOLERANCE);
|
|
10996
|
+
const hasPartAfter = new Array(current.entries.length).fill(false);
|
|
10997
|
+
let seenPart = false;
|
|
10998
|
+
for (let i = current.entries.length - 1; i >= 0; i--) {
|
|
10999
|
+
hasPartAfter[i] = seenPart;
|
|
11000
|
+
if (current.entries[i].totalParts > 1) seenPart = true;
|
|
11001
|
+
}
|
|
11002
|
+
let bestIdx = -1;
|
|
11003
|
+
let cumulative = 0;
|
|
11004
|
+
for (let i = 0; i < current.entries.length; i++) {
|
|
11005
|
+
const e = current.entries[i];
|
|
11006
|
+
cumulative += e.minutes;
|
|
11007
|
+
if (hasPartAfter[i] || e.totalParts > 1) continue;
|
|
11008
|
+
const n = nodeById.get(e.id);
|
|
11009
|
+
if (!n || n.user_visible_deliverable.trim().length === 0) continue;
|
|
11010
|
+
if (cumulative > budget || cumulative < minFill) continue;
|
|
11011
|
+
bestIdx = i;
|
|
11012
|
+
}
|
|
11013
|
+
if (bestIdx < 0) {
|
|
11014
|
+
warnings.push("no-checkpoint-within-tolerance: session cut at " + filledOf(current) + "m without a user-visible deliverable");
|
|
11015
|
+
return [];
|
|
11016
|
+
}
|
|
11017
|
+
const displacedEntries = current.entries.splice(bestIdx + 1);
|
|
11018
|
+
for (const e of displacedEntries) {
|
|
11019
|
+
if (nodeById.get(e.id)?.kind === "concept") current.knowledgeMinutes -= e.minutes;
|
|
11020
|
+
else current.practiceMinutes -= e.minutes;
|
|
11021
|
+
}
|
|
11022
|
+
current.nodeIds = current.entries.map((e) => e.id);
|
|
11023
|
+
return displacedEntries.map((e) => nodeById.get(e.id)).filter((n) => n != null);
|
|
11024
|
+
}
|
|
10862
11025
|
function packUnitSessions(group, nodeById, spec, warnings) {
|
|
10863
11026
|
const sessions = [];
|
|
10864
11027
|
const fresh = () => ({ groupId: group.key, nodeIds: [], entries: [], knowledgeMinutes: 0, practiceMinutes: 0, oversized: false });
|
|
@@ -10868,7 +11031,9 @@ function packUnitSessions(group, nodeById, spec, warnings) {
|
|
|
10868
11031
|
current = fresh();
|
|
10869
11032
|
};
|
|
10870
11033
|
const filled = () => current.knowledgeMinutes + current.practiceMinutes;
|
|
10871
|
-
|
|
11034
|
+
const ids = [...group.orderedIds];
|
|
11035
|
+
while (ids.length > 0) {
|
|
11036
|
+
const id = ids.shift();
|
|
10872
11037
|
const node = nodeById.get(id);
|
|
10873
11038
|
const isKnowledge = node.kind === "concept";
|
|
10874
11039
|
if (node.estimated_minutes > spec.contentBudget) {
|
|
@@ -10904,7 +11069,16 @@ function packUnitSessions(group, nodeById, spec, warnings) {
|
|
|
10904
11069
|
continue;
|
|
10905
11070
|
}
|
|
10906
11071
|
const minutes = node.estimated_minutes;
|
|
10907
|
-
if (current.entries.length > 0 && filled() + minutes > spec.contentBudget)
|
|
11072
|
+
if (current.entries.length > 0 && filled() + minutes > spec.contentBudget) {
|
|
11073
|
+
const displaced = cutBackToCheckpoint(current, nodeById, spec, warnings);
|
|
11074
|
+
if (displaced.length > 0) {
|
|
11075
|
+
ids.unshift(id);
|
|
11076
|
+
for (let di = displaced.length - 1; di >= 0; di--) ids.unshift(displaced[di].id);
|
|
11077
|
+
flush();
|
|
11078
|
+
continue;
|
|
11079
|
+
}
|
|
11080
|
+
flush();
|
|
11081
|
+
}
|
|
10908
11082
|
if (isKnowledge) current.knowledgeMinutes += minutes;
|
|
10909
11083
|
else current.practiceMinutes += minutes;
|
|
10910
11084
|
current.entries.push({ id, minutes, part: 1, totalParts: 1 });
|
|
@@ -11214,6 +11388,19 @@ async function buildCurriculumPlan(rawGraph, options) {
|
|
|
11214
11388
|
const graph = normalizePlanningGraph(rawGraph);
|
|
11215
11389
|
warnings.push(...graph.warnings);
|
|
11216
11390
|
assertAcyclic(graph.nodes, graph.edges);
|
|
11391
|
+
let reconcileSummary = null;
|
|
11392
|
+
if (typeof constraints.total_sessions === "number" && constraints.total_sessions > 0) {
|
|
11393
|
+
const spec0 = computePackingSpec(constraints);
|
|
11394
|
+
const budgetMinutes = constraints.total_sessions * spec0.contentBudget;
|
|
11395
|
+
reconcileSummary = reconcilePlanDepth(graph.nodes, graph.edges, spec0, budgetMinutes);
|
|
11396
|
+
if (!reconcileSummary.unchanged) {
|
|
11397
|
+
const saved = reconcileSummary.applied.reduce((a, x) => a + x.minutesSaved, 0);
|
|
11398
|
+
warnings.push(`depth reconcile: ${reconcileSummary.applied.length} downgrade(s), saved ${saved}m across ${reconcileSummary.mutatedNodeIds.length} node(s)`);
|
|
11399
|
+
}
|
|
11400
|
+
if (reconcileSummary.escalate) {
|
|
11401
|
+
warnings.push(`budget_escalation: deficit ${reconcileSummary.deficitMinutes}m after exhausting non-core depth candidates (budget ${constraints.total_sessions * computePackingSpec(constraints).contentBudget}m) \u2014 human review required`);
|
|
11402
|
+
}
|
|
11403
|
+
}
|
|
11217
11404
|
const orderedIds = topoSort(graph.nodes, graph.edges);
|
|
11218
11405
|
const nodeById = new Map(graph.nodes.map((n) => [n.id, n]));
|
|
11219
11406
|
const spec = computePackingSpec(constraints);
|
|
@@ -31514,6 +31701,6 @@ function renderMediaPlaceholder(entry) {
|
|
|
31514
31701
|
return `> \u{1F5BC}\uFE0F [\u1EA2nh \u0111ang ch\u1EDD: ${entry.name} \u2014 s\u1EBD \u0111\u01B0\u1EE3c t\u1EA1o sau khi duy\u1EC7t media]`;
|
|
31515
31702
|
}
|
|
31516
31703
|
|
|
31517
|
-
export { ARTIFACT_DEPENDENCY_ROUTING, ARTIFACT_EXECUTION_ORDER, AcademicAuditor, ActionableRepairActionSchema, ActionableRepairPromptSchema, ActiveLearningWorkflowSchema, ActivityLabSchema, ActivitySeqRowSchema, ActivityStepSchema, ArtifactContractRowSchema, AssessmentMapRowSchema, AssessmentObjectiveSchema, BLOOM_ACTION_VERBS, BUNDLED_STANDARDS_PACK_IDS, BellRingerDaySchema, BellRingerSchema, BloomHintSchema, BloomLevelSchema, BloomTaxonomyEvaluator, BronzeTierSchema, CERConclusionSchema, CURRICULUM_SLASH_COMMANDS, CardTierEnum, ChoiceBoardRubricRowSchema, ChoiceBoardSchema, ChoiceRuleSchema, ChoiceSquareSchema, ClassificationSchema, CodeHardwareFeasibilityEvaluator, CodeLabSchema, CodeSnippetSchema, CompetencyRubricRowSchema, ComputationalThinkingSchema, ConceptPrerequisiteEdgeSchema, ConceptSpiralEncounterSchema, ConstructiveAlignmentEvaluator, CoreConceptSchema, CourseObjectiveSchema, CoverageReportSchema, CrossArtifactDriftEvaluator, CurriculumArtifactSchema, CurriculumError, CurriculumPlanSchema, CurriculumQualityReportSchema, DEFAULT_ARTIFACT_STREAM_IDLE_MS, DEFAULT_ARTIFACT_STREAM_TOTAL_MS, DEFAULT_ENABLED_PROVIDERS, DEFAULT_GATE_SETTINGS, DEFAULT_KX_PRIORITIES, DEFAULT_LESSON_PRIORITIES, DEFAULT_OVERHEAD_RATIO, DEFAULT_STREAM_IDLE_MS, DEFAULT_STREAM_TOTAL_MS, DependencyEdgeSchema, DepthAssignmentSchema, DepthLevelSchema, DeterministicPipelineRunner, DeterministicStructuralLinter, DiagnosticQuestionSchema, DiagnosticQuizSchema, EDPPhaseEnum, ENVIRONMENT_PROVISIONING_MODELS, EXPOSITION_REL, EntryLevelSchema, ExitTicketBugHuntSchema, ExitTicketMetacognitionSchema, ExitTicketQuickItemSchema, ExitTicketRecallPromptSchema, ExitTicketSchema, ExperimentalDesignSchema, ExpositionApprovalError, ExtensionChallengeSchema, ExtensionSchema, FileSystemCurriculumAdapter, FiveEFlowPhaseSchema, FiveEInstructionalEvaluator, FiveEPhaseEnum, FrameworkMappingSchema, FrameworkPackManifestSchema, FrameworkPackSchema, FrameworkStatementSchema, GeneratedSlideArraySchema, GeneratedSlideSchema, GlossaryQuickRefRowSchema, GlossarySchema, GlossaryTermSchema, GoldTierSchema, GradeBandSchema, GraphicOrganizerItemSchema, GraphicOrganizerSchema, HandoutSchema, HandoutSectionSchema, HybridBlueprintArraySchema, HybridBlueprintItemSchema, HybridDeckSlideArraySchema, HybridDeckSlideSchema, HybridPipelineError, InstructionSectionSchema, InstructionStepSchema, JUDGE_AUTO_APPROVE_THRESHOLD, JUDGE_ESCALATE_THRESHOLD, JudgeCriterionSchema, LAYER_IDLE_BUDGET_MS, LAYER_TOTAL_BUDGET_MS, LLMJudgeEngine, LabTierTaskSchema, LearningObjectiveInputSchema, LearningObjectiveRowSchema, LessonEntitySchema, LessonFlowPhaseSchema, LessonPlan5ESchema, LessonPlanEDPSchema, LessonPlanSchema, LessonSectionSchema, LocalWorkspaceManager, MAX_AUTONOMOUS_REPAIR_TURNS, MAX_IN_SESSION_SETUP_MINUTES, MAX_NEW_CONCEPTS_PER_SESSION_ADULT, MAX_NEW_CONCEPTS_PER_SESSION_K12, MacroPedagogyPlanAuditSchema, MappingKindSchema, MarpSlideSchema, MasteryGateSchema, MediaError, MediaLedger, MentorCheatsheetSchema, MilestoneInputSchema, MisconceptionEvaluator, MisconceptionSchema, ModelPolicyResolver, NVIDIA_MODELS, NodeKindSchema, OrganizerTypeEnum, PhaseInputSchema, PlanConstraintsSchema, PlannerInputSchema, PlanningGraphSchema, PlanningNodeSchema, PrerequisiteDecisionEntrySchema, PrerequisiteDecisionSchema, ProductGoalSchema, ProgressiveHintsSchema, ProjectGraphAuditSchema, ProjectGraphSchema, ProjectInstructionSchema, ProjectProfileSchema, QualityAuditVerdictSchema, QuizOptionSchema, RecordProvenanceSchema, ResourceMapRowSchema, ReviewGameExportRowSchema, ReviewGameQuestionSchema, ReviewGameSchema, RoadmapInputSchema, RotationStationSchema, RubricCriteriaSchema, RubricSchema, SATELLITE_LESSON_PRIORITIES, SLIDE_CANONICAL_METHODOLOGY, STANDARD_REF_REGEX, STANDARD_SOT_FILES, STUDENT_FRICTION_MULTIPLIER, ScaffoldDecisionEntrySchema, ScaffoldDecisionSchema, ScienceLabSchema, ScoringRubricRowSchema, SelfLabSchema, SelfPacedBundleSchema, SelfPacedChallengeSchema, SessionPlanSchema, SessionZpdStatusSchema, SilverTierSchema, SlideBlueprintArraySchema, SlideBlueprintItemSchema, SlideDeckSchema, StandardizedTermRowSchema, StandardsRegistryAdapter, StationRecordRowSchema, StationRotationSchema, StationTypeEnum, SupabaseCurriculumAdapter, TaskCardSchema, TaskCardsSchema, TeacherGuideSchema, TeachingScriptPhaseSchema, TierLevelEnum, TierObjectiveSchema, TieredPracticeSchema, TranslationPolicySchema, TroubleshootingEntrySchema, TroubleshootingRowSchema, UnitPlanSchema, UserJourneySchema, WalkingSkeletonSchema, WorksheetItemSchema, WorksheetItemTypeEnum, WorksheetPartSchema, WorksheetSchema, ZpdVerdictSchema, activityTools, analystTools, analyzeProjectCreationIntent, assembleTranslatedTemplate, assertAcyclic, assessorTools, assignDepths, atomicWriteFileSync, auditCurriculumPlanFlow, auditCurriculumQualityFlow, auditProjectGraphFlow, auditQualityReport, buildActivityPrompt, buildArtifactPrompt, buildCodeLabPrompt, buildConceptPrerequisites, buildCurriculumContext, buildCurriculumPlan, buildCurriculumPlanJudgePrompt, buildDeliveryPackages, buildDiagnosticQuizPrompt, buildDomainLexiconGuardrail, buildExpositionContext, buildExpositionExcerpt, buildExtensionPrompt, buildHandoutPrompt, buildHeadingDirective, buildHtmlDeckSlidePrompt, buildImagePrompt, buildJudgePrompt, buildLanguageDirective, buildLessonEntityJson, buildLessonExcerpt, buildLessonMasterPrompt, buildMarpMarkdownSlidePrompt, buildMasteryGates, buildProjectGraphJudgePrompt, buildProjectInstructionPrompt, buildSatelliteContext, buildSectionAwareExcerpt, buildSelfLabPrompt, buildSessionSliceContext, buildSlidesPrompt, buildStandardStackMarkdown, buildStandardsContext, buildStandardsContextBlock, buildTeacherGuidePrompt, buildWalkingSkeleton, buildWorksheetPrompt, checkSessionZpd, closeTruncatedJson, computeConceptSpiralProgression, computeContentHash, computePackingSpec, conductPreliminaryResearch, contentTools, convertRoadmapToFoundationSot, createAiInferenceError, createContextMissingError, createCurriculumStorage, createIdleAbortController, createStreamAbortController, createStreamAbortSignal, createStreamChunkExtractor, curateMediaLedger, designerTools, detectProjectPedagogy, dropCyclicConceptEdges, emitUsage, ensureExpositionForLesson, ensureKnowledgeExposition, entityRowAssignedTo, evaluateActivityAlignment, evaluateStandardsCoverage, executeCurriculumCommand, executeSlideProductionWorkflow, exportAllProjectQuizzes, expositionCacheKey, extractActivityContractRows, extractAssessmentMap, extractConditionalSections, extractCurriculumHorizon, extractDeclaredLanguage, extractEchoSections, extractJsonArray, extractRequiredSections, extractScopeSequenceRows, extractSectionHeadings, extractSessionSlice, extractStandardRefs, extractStreamChunk, extractSymbolLedger, extractThoughtAndContent, extractTieredScaffoldingBlock, findStandardStatement, formatQuizzesToCsv, fulfillMediaLedger, gateModeFor, generateActivityFlow, generateCodeLabFlow, generateDiagnosticQuizFlow, generateEducationalImage, generateExtensionFlow, generateHandoutFlow, generateLessonMasterFlow, generateMilestoneCurriculumBundle, generatePhase1SotArtifacts, generatePhase2SotArtifacts, generateProjectInstruction, generateProjectInstructionFlow, generateRoadmapCurriculum, generateSelfLabFlow, generateSelfPacedBundle, generateSingleArtifact, generateSlidesFlow, generateTeacherGuideFlow, generateWorksheetFlow, getAIModel, getArtifactMetadata, getDesignatedFallbackChain, getDesignatedFallbackConfig, getLessonMetadata, getProjectArtifactScope, getProjectStatusReport, getSmartResumeContext, glossaryTermsForSession, illustratorTools, importRoadmapToProject, ingestProjectGraphIntoProject, initializeProjectInStorage, injectMediaIntoMarkdown, isActivityAlignmentLogOnly, isExpositionFresh, isModelAllowed, isProviderEnabled, isTranslationDue, lintAndSanitizeArtifact, lintCurriculumFramework, lintFrameworkPack, loadAuthoringTemplate, loadCurriculumTemplate, loadSotTemplate, normalizePlanningGraph, packagerTools, parseAllSessions, parseGateSettings, parseQuizMarkdown, parseRoadmapJsonToProjectPayload, produceBatchLessons, produceSingleLesson, publishToGitHub, publishToSupabase, rankGenCandidates, renderAssignedRowsTable, renderEntitySlotsForType, renderFrameworkFromPlan, renderHorizonPromptBlock, renderMediaPlaceholder, researcherTools, resolveApiKey, resolveArtifactTemplate, resolveGateSettings, resolveStandardsPacks, resolveStreamBudget, resolveTargetLanguageCode, resolveTranslationTargets, reviewerTools, runCurriculumAIInference, safeParseJson, searchEducationalImages, searchEducationalVideos, selectStatementsForLesson, serializeActivityToMarkdown, serializeCodeLabToMarkdown, serializeDiagnosticQuizToMarkdown, serializeHandoutToMarkdown, serializeLessonToMarkdown, serializeProjectInstructionToMarkdown, serializeSelfLabToMarkdown, slugifyProjectName, streamCurriculumAIInference, streamCurriculumAIInferenceWithTools, streamDiagnosticQuizFlow, streamLLMWithFallback, streamLayerPrefillWithFallback, streamLessonMasterFlow, streamSelfLabFlow, stripHeadingKey, stripLlmJsonWrappers, stripTemplateFrontmatter, targetLanguageDisplayName, techSmeTools, topoSort, translateTemplate, uploadAssetToBucket, validateArtifactDependencies, validateCurriculumPlan, validateFrameworkPack, validateHorizonCompliance, validateHybridDeckSlides, validateMarkdownTables, validateMermaidSyntax, withAutoRepair };
|
|
31704
|
+
export { ARTIFACT_DEPENDENCY_ROUTING, ARTIFACT_EXECUTION_ORDER, AcademicAuditor, ActionableRepairActionSchema, ActionableRepairPromptSchema, ActiveLearningWorkflowSchema, ActivityLabSchema, ActivitySeqRowSchema, ActivityStepSchema, ArtifactContractRowSchema, AssessmentMapRowSchema, AssessmentObjectiveSchema, BLOOM_ACTION_VERBS, BUNDLED_STANDARDS_PACK_IDS, BellRingerDaySchema, BellRingerSchema, BloomHintSchema, BloomLevelSchema, BloomTaxonomyEvaluator, BronzeTierSchema, CERConclusionSchema, CURRICULUM_SLASH_COMMANDS, CardTierEnum, ChoiceBoardRubricRowSchema, ChoiceBoardSchema, ChoiceRuleSchema, ChoiceSquareSchema, ClassificationSchema, CodeHardwareFeasibilityEvaluator, CodeLabSchema, CodeSnippetSchema, CompetencyRubricRowSchema, ComputationalThinkingSchema, ConceptPrerequisiteEdgeSchema, ConceptSpiralEncounterSchema, ConstructiveAlignmentEvaluator, CoreConceptSchema, CourseObjectiveSchema, CoverageReportSchema, CrossArtifactDriftEvaluator, CurriculumArtifactSchema, CurriculumError, CurriculumPlanSchema, CurriculumQualityReportSchema, DEFAULT_ARTIFACT_STREAM_IDLE_MS, DEFAULT_ARTIFACT_STREAM_TOTAL_MS, DEFAULT_ENABLED_PROVIDERS, DEFAULT_GATE_SETTINGS, DEFAULT_KX_PRIORITIES, DEFAULT_LESSON_PRIORITIES, DEFAULT_OVERHEAD_RATIO, DEFAULT_STREAM_IDLE_MS, DEFAULT_STREAM_TOTAL_MS, DependencyEdgeSchema, DepthAssignmentSchema, DepthLevelSchema, DeterministicPipelineRunner, DeterministicStructuralLinter, DiagnosticQuestionSchema, DiagnosticQuizSchema, EDPPhaseEnum, ENVIRONMENT_PROVISIONING_MODELS, EXPOSITION_REL, EntryLevelSchema, ExitTicketBugHuntSchema, ExitTicketMetacognitionSchema, ExitTicketQuickItemSchema, ExitTicketRecallPromptSchema, ExitTicketSchema, ExperimentalDesignSchema, ExpositionApprovalError, ExtensionChallengeSchema, ExtensionSchema, FileSystemCurriculumAdapter, FiveEFlowPhaseSchema, FiveEInstructionalEvaluator, FiveEPhaseEnum, FrameworkMappingSchema, FrameworkPackManifestSchema, FrameworkPackSchema, FrameworkStatementSchema, GeneratedSlideArraySchema, GeneratedSlideSchema, GlossaryQuickRefRowSchema, GlossarySchema, GlossaryTermSchema, GoldTierSchema, GradeBandSchema, GraphicOrganizerItemSchema, GraphicOrganizerSchema, HandoutSchema, HandoutSectionSchema, HybridBlueprintArraySchema, HybridBlueprintItemSchema, HybridDeckSlideArraySchema, HybridDeckSlideSchema, HybridPipelineError, InstructionSectionSchema, InstructionStepSchema, JUDGE_AUTO_APPROVE_THRESHOLD, JUDGE_ESCALATE_THRESHOLD, JudgeCriterionSchema, LAYER_IDLE_BUDGET_MS, LAYER_TOTAL_BUDGET_MS, LLMJudgeEngine, LabTierTaskSchema, LearningObjectiveInputSchema, LearningObjectiveRowSchema, LessonEntitySchema, LessonFlowPhaseSchema, LessonPlan5ESchema, LessonPlanEDPSchema, LessonPlanSchema, LessonSectionSchema, LocalWorkspaceManager, MAX_AUTONOMOUS_REPAIR_TURNS, MAX_IN_SESSION_SETUP_MINUTES, MAX_NEW_CONCEPTS_PER_SESSION_ADULT, MAX_NEW_CONCEPTS_PER_SESSION_K12, MacroPedagogyPlanAuditSchema, MappingKindSchema, MarpSlideSchema, MasteryGateSchema, MediaError, MediaLedger, MentorCheatsheetSchema, MilestoneInputSchema, MisconceptionEvaluator, MisconceptionSchema, ModelPolicyResolver, NVIDIA_MODELS, NodeKindSchema, OrganizerTypeEnum, PhaseInputSchema, PlanConstraintsSchema, PlannerInputSchema, PlanningGraphSchema, PlanningNodeSchema, PrerequisiteDecisionEntrySchema, PrerequisiteDecisionSchema, ProductGoalSchema, ProgressiveHintsSchema, ProjectGraphAuditSchema, ProjectGraphSchema, ProjectInstructionSchema, ProjectProfileSchema, QualityAuditVerdictSchema, QuizOptionSchema, RecordProvenanceSchema, ResourceMapRowSchema, ReviewGameExportRowSchema, ReviewGameQuestionSchema, ReviewGameSchema, RoadmapInputSchema, RotationStationSchema, RubricCriteriaSchema, RubricSchema, SATELLITE_LESSON_PRIORITIES, SESSION_CUT_TOLERANCE, SLIDE_CANONICAL_METHODOLOGY, STANDARD_REF_REGEX, STANDARD_SOT_FILES, STUDENT_FRICTION_MULTIPLIER, ScaffoldDecisionEntrySchema, ScaffoldDecisionSchema, ScienceLabSchema, ScoringRubricRowSchema, SelfLabSchema, SelfPacedBundleSchema, SelfPacedChallengeSchema, SessionPlanSchema, SessionZpdStatusSchema, SilverTierSchema, SlideBlueprintArraySchema, SlideBlueprintItemSchema, SlideDeckSchema, StandardizedTermRowSchema, StandardsRegistryAdapter, StationRecordRowSchema, StationRotationSchema, StationTypeEnum, SupabaseCurriculumAdapter, TaskCardSchema, TaskCardsSchema, TeacherGuideSchema, TeachingScriptPhaseSchema, TierLevelEnum, TierObjectiveSchema, TieredPracticeSchema, TranslationPolicySchema, TroubleshootingEntrySchema, TroubleshootingRowSchema, UnitPlanSchema, UserJourneySchema, WalkingSkeletonSchema, WorksheetItemSchema, WorksheetItemTypeEnum, WorksheetPartSchema, WorksheetSchema, ZpdVerdictSchema, activityTools, analystTools, analyzeProjectCreationIntent, assembleTranslatedTemplate, assertAcyclic, assessorTools, assignDepths, atomicWriteFileSync, auditCurriculumPlanFlow, auditCurriculumQualityFlow, auditProjectGraphFlow, auditQualityReport, buildActivityPrompt, buildArtifactPrompt, buildCodeLabPrompt, buildConceptPrerequisites, buildCurriculumContext, buildCurriculumPlan, buildCurriculumPlanJudgePrompt, buildDeliveryPackages, buildDiagnosticQuizPrompt, buildDomainLexiconGuardrail, buildExpositionContext, buildExpositionExcerpt, buildExtensionPrompt, buildHandoutPrompt, buildHeadingDirective, buildHtmlDeckSlidePrompt, buildImagePrompt, buildJudgePrompt, buildLanguageDirective, buildLessonEntityJson, buildLessonExcerpt, buildLessonMasterPrompt, buildMarpMarkdownSlidePrompt, buildMasteryGates, buildProjectGraphJudgePrompt, buildProjectInstructionPrompt, buildSatelliteContext, buildSectionAwareExcerpt, buildSelfLabPrompt, buildSessionSliceContext, buildSlidesPrompt, buildStandardStackMarkdown, buildStandardsContext, buildStandardsContextBlock, buildTeacherGuidePrompt, buildWalkingSkeleton, buildWorksheetPrompt, checkSessionZpd, classifyDepthCandidates, closeTruncatedJson, computeConceptSpiralProgression, computeContentHash, computePackingSpec, conductPreliminaryResearch, contentTools, convertRoadmapToFoundationSot, createAiInferenceError, createContextMissingError, createCurriculumStorage, createIdleAbortController, createStreamAbortController, createStreamAbortSignal, createStreamChunkExtractor, curateMediaLedger, designerTools, detectProjectPedagogy, dropCyclicConceptEdges, emitUsage, ensureExpositionForLesson, ensureKnowledgeExposition, entityRowAssignedTo, evaluateActivityAlignment, evaluateStandardsCoverage, executeCurriculumCommand, executeSlideProductionWorkflow, exportAllProjectQuizzes, expositionCacheKey, extractActivityContractRows, extractAssessmentMap, extractConditionalSections, extractCurriculumHorizon, extractDeclaredLanguage, extractEchoSections, extractJsonArray, extractRequiredSections, extractScopeSequenceRows, extractSectionHeadings, extractSessionSlice, extractStandardRefs, extractStreamChunk, extractSymbolLedger, extractThoughtAndContent, extractTieredScaffoldingBlock, findStandardStatement, formatQuizzesToCsv, fulfillMediaLedger, gateModeFor, generateActivityFlow, generateCodeLabFlow, generateDiagnosticQuizFlow, generateEducationalImage, generateExtensionFlow, generateHandoutFlow, generateLessonMasterFlow, generateMilestoneCurriculumBundle, generatePhase1SotArtifacts, generatePhase2SotArtifacts, generateProjectInstruction, generateProjectInstructionFlow, generateRoadmapCurriculum, generateSelfLabFlow, generateSelfPacedBundle, generateSingleArtifact, generateSlidesFlow, generateTeacherGuideFlow, generateWorksheetFlow, getAIModel, getArtifactMetadata, getDesignatedFallbackChain, getDesignatedFallbackConfig, getLessonMetadata, getProjectArtifactScope, getProjectStatusReport, getSmartResumeContext, glossaryTermsForSession, illustratorTools, importRoadmapToProject, ingestProjectGraphIntoProject, initializeProjectInStorage, injectMediaIntoMarkdown, isActivityAlignmentLogOnly, isExpositionFresh, isModelAllowed, isProviderEnabled, isTranslationDue, lintAndSanitizeArtifact, lintCurriculumFramework, lintFrameworkPack, loadAuthoringTemplate, loadCurriculumTemplate, loadSotTemplate, normalizePlanningGraph, packUnitSessions, packagerTools, parseAllSessions, parseGateSettings, parseQuizMarkdown, parseRoadmapJsonToProjectPayload, produceBatchLessons, produceSingleLesson, publishToGitHub, publishToSupabase, rankGenCandidates, reconcilePlanDepth, renderAssignedRowsTable, renderEntitySlotsForType, renderFrameworkFromPlan, renderHorizonPromptBlock, renderMediaPlaceholder, researcherTools, resolveApiKey, resolveArtifactTemplate, resolveGateSettings, resolveStandardsPacks, resolveStreamBudget, resolveTargetLanguageCode, resolveTranslationTargets, reviewerTools, runCurriculumAIInference, safeParseJson, searchEducationalImages, searchEducationalVideos, selectStatementsForLesson, serializeActivityToMarkdown, serializeCodeLabToMarkdown, serializeDiagnosticQuizToMarkdown, serializeHandoutToMarkdown, serializeLessonToMarkdown, serializeProjectInstructionToMarkdown, serializeSelfLabToMarkdown, slugifyProjectName, streamCurriculumAIInference, streamCurriculumAIInferenceWithTools, streamDiagnosticQuizFlow, streamLLMWithFallback, streamLayerPrefillWithFallback, streamLessonMasterFlow, streamSelfLabFlow, stripHeadingKey, stripLlmJsonWrappers, stripTemplateFrontmatter, targetLanguageDisplayName, techSmeTools, topoSort, translateTemplate, uploadAssetToBucket, validateArtifactDependencies, validateCurriculumPlan, validateFrameworkPack, validateHorizonCompliance, validateHybridDeckSlides, validateMarkdownTables, validateMermaidSyntax, withAutoRepair };
|
|
31518
31705
|
//# sourceMappingURL=index.mjs.map
|
|
31519
31706
|
//# sourceMappingURL=index.mjs.map
|