@thanh01.pmt/curriculum-kit 1.4.45 → 1.4.46
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/dist/ai/index.d.cts +77 -77
- package/dist/ai/index.d.ts +77 -77
- package/dist/{gateSettings-oo5tCUS_.d.cts → gateSettings-JoqERuS1.d.cts} +0 -1
- package/dist/{gateSettings-oo5tCUS_.d.ts → gateSettings-JoqERuS1.d.ts} +0 -1
- package/dist/index.cjs +38 -168
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -36
- package/dist/index.d.ts +25 -36
- package/dist/index.mjs +38 -167
- package/dist/index.mjs.map +1 -1
- package/dist/schemas/index.d.cts +1052 -1052
- package/dist/schemas/index.d.ts +1052 -1052
- package/dist/standards/index.d.cts +2 -2
- package/dist/standards/index.d.ts +2 -2
- package/dist/{standardsCoverageGate-CLnq0d0s.d.cts → standardsCoverageGate-49pJq5t8.d.cts} +12 -12
- package/dist/{standardsCoverageGate-CLnq0d0s.d.ts → standardsCoverageGate-49pJq5t8.d.ts} +12 -12
- package/dist/storage/index.cjs +0 -1
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.mjs +0 -1
- package/dist/storage/index.mjs.map +1 -1
- package/dist/workflow/index.cjs +18 -133
- package/dist/workflow/index.cjs.map +1 -1
- package/dist/workflow/index.d.cts +3 -3
- package/dist/workflow/index.d.ts +3 -3
- package/dist/workflow/index.mjs +18 -133
- package/dist/workflow/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/templates/SECTION_LANGUAGE_CONTRACT_template.md +0 -44
- package/docs/refs/templates/SECTION_LANGUAGE_CONTRACT_template.md +0 -44
package/dist/index.mjs
CHANGED
|
@@ -7947,7 +7947,6 @@ var STANDARD_SOT_FILES = [
|
|
|
7947
7947
|
"REFERENCE_PACK.md",
|
|
7948
7948
|
"PROJECT_GRAPH.json",
|
|
7949
7949
|
"HYBRID_GRAPH.json",
|
|
7950
|
-
"SECTION_LANGUAGE_CONTRACT.md",
|
|
7951
7950
|
"CURRICULUM_FRAMEWORK.md",
|
|
7952
7951
|
"CONTENT_STYLE_GUIDE.md",
|
|
7953
7952
|
"ART_DIRECTION.md",
|
|
@@ -9446,17 +9445,6 @@ function buildLanguageDirective(targetLanguage) {
|
|
|
9446
9445
|
${exampleLine}` : ""}
|
|
9447
9446
|
- CJK / NON-LATIN SCRIPT BAN (ABSOLUTE): NEVER output characters from Chinese (\u6C49\u5B57), Japanese (\u304B\u306A/\u6F22\u5B57), or Korean (\uD55C\uAE00) scripts ANYWHERE in the document \u2014 not even a single glyph spliced inside a ${name} sentence. Observed past violations that are STRICTLY forbidden: \u6392\u67E5, \u5305\u542B, \u5BFC\u81F4, \u662F\u591A\u5C11, \u6280\u672F, \u771F\u673A, \u4F11\u606F, \u7EB8\u8D28. To express such meaning write it fully in ${name} or keep the ENGLISH technical term (e.g. write "t\u1EF1 ki\u1EC3m tra l\u1ED7i" / "self-debugging", "bao g\u1ED3m" / "includes"). A mechanical scanner rejects any document containing even one CJK character.`;
|
|
9448
9447
|
}
|
|
9449
|
-
function matchesArtifactType(candidate, target) {
|
|
9450
|
-
const c = candidate.trim().toUpperCase();
|
|
9451
|
-
const t = target.trim().toUpperCase();
|
|
9452
|
-
if (c === t) return true;
|
|
9453
|
-
if (c.startsWith("LESSON") && t.startsWith("LESSON")) return true;
|
|
9454
|
-
if ((c === "CODE" || c === "CODE_LAB") && (t === "CODE" || t === "CODE_LAB")) return true;
|
|
9455
|
-
if ((c === "EXPOSITION" || c === "KNOWLEDGE_EXPOSITION") && (t === "EXPOSITION" || t === "KNOWLEDGE_EXPOSITION")) return true;
|
|
9456
|
-
if ((c === "WKS" || c === "WORKSHEET") && (t === "WKS" || t === "WORKSHEET")) return true;
|
|
9457
|
-
if ((c === "EXT" || c === "EXTENSION") && (t === "EXT" || t === "EXTENSION")) return true;
|
|
9458
|
-
return false;
|
|
9459
|
-
}
|
|
9460
9448
|
var TEMPLATE_BY_TYPE = {
|
|
9461
9449
|
LESSON: "LESSON_5E_template.md",
|
|
9462
9450
|
LESSON_5E: "LESSON_5E_template.md",
|
|
@@ -9465,7 +9453,7 @@ var TEMPLATE_BY_TYPE = {
|
|
|
9465
9453
|
ACT: "ACT_template.md",
|
|
9466
9454
|
CODE: "CODE_template.md",
|
|
9467
9455
|
// JSON-first code lab shares the CODE label set (the serializer renders its
|
|
9468
|
-
// own headings; this lookup only feeds the
|
|
9456
|
+
// own headings; this lookup only feeds the directive fallback path).
|
|
9469
9457
|
CODE_LAB: "CODE_template.md",
|
|
9470
9458
|
QUIZ: "QUIZ_v4.6_template.md",
|
|
9471
9459
|
GUIDE: "GUIDE_template.md",
|
|
@@ -9477,87 +9465,21 @@ var TEMPLATE_BY_TYPE = {
|
|
|
9477
9465
|
LEARNER_PROFILE: "LEARNER_PROFILE_template.md",
|
|
9478
9466
|
PROJECT_BRIEF: "PROJECT_BRIEF_template.md",
|
|
9479
9467
|
CURRICULUM_FRAMEWORK: "CURRICULUM_FRAMEWORK_template.md",
|
|
9480
|
-
CONTENT_STYLE_GUIDE: "CONTENT_STYLE_GUIDE_template.md"
|
|
9481
|
-
SECTION_LANGUAGE_CONTRACT: "SECTION_LANGUAGE_CONTRACT_template.md"
|
|
9468
|
+
CONTENT_STYLE_GUIDE: "CONTENT_STYLE_GUIDE_template.md"
|
|
9482
9469
|
};
|
|
9483
|
-
function
|
|
9470
|
+
function extractSectionHeadings(artifactType, opts) {
|
|
9484
9471
|
const templateFile = TEMPLATE_BY_TYPE[artifactType.trim().toUpperCase()];
|
|
9485
|
-
if (!templateFile) return
|
|
9486
|
-
const resolved = resolveArtifactTemplate(templateFile);
|
|
9487
|
-
if (!resolved) return
|
|
9488
|
-
|
|
9489
|
-
const kept = {};
|
|
9490
|
-
for (const [k, v] of Object.entries(mapping)) {
|
|
9491
|
-
if (contract.has(stripHeadingKey(k))) kept[k] = v;
|
|
9492
|
-
}
|
|
9493
|
-
return kept;
|
|
9494
|
-
}
|
|
9495
|
-
function extractSectionHeadingsFromSLC(slcInput, artifactType, targetLanguage = "vi") {
|
|
9496
|
-
const upperType = artifactType.trim().toUpperCase();
|
|
9497
|
-
const getFallback = () => {
|
|
9498
|
-
const templateFile = TEMPLATE_BY_TYPE[upperType];
|
|
9499
|
-
if (!templateFile) return {};
|
|
9500
|
-
const resolved = resolveArtifactTemplate(templateFile);
|
|
9501
|
-
if (!resolved) return {};
|
|
9502
|
-
return Object.fromEntries(resolved.sections.map((s) => [s, s]));
|
|
9503
|
-
};
|
|
9504
|
-
if (!slcInput) return getFallback();
|
|
9505
|
-
if (typeof slcInput === "object") {
|
|
9506
|
-
if (slcInput[upperType] && Object.keys(slcInput[upperType]).length > 0) {
|
|
9507
|
-
return keepContractEntries(upperType, slcInput[upperType]);
|
|
9508
|
-
}
|
|
9509
|
-
for (const [key, mapping] of Object.entries(slcInput)) {
|
|
9510
|
-
if (matchesArtifactType(key, upperType) && Object.keys(mapping).length > 0) {
|
|
9511
|
-
return keepContractEntries(upperType, mapping);
|
|
9512
|
-
}
|
|
9513
|
-
}
|
|
9514
|
-
return getFallback();
|
|
9515
|
-
}
|
|
9516
|
-
const slcMarkdown = slcInput;
|
|
9517
|
-
const blocks = slcMarkdown.split(/\n(?=#{2,3}\s+[A-Z0-9_]+)/g);
|
|
9518
|
-
for (const block of blocks) {
|
|
9519
|
-
const headerMatch = block.match(/^#{2,3}\s+([A-Z0-9_]+)/);
|
|
9520
|
-
if (!headerMatch) continue;
|
|
9521
|
-
const blockType = headerMatch[1].trim().toUpperCase();
|
|
9522
|
-
if (matchesArtifactType(blockType, upperType)) {
|
|
9523
|
-
const mapping = {};
|
|
9524
|
-
const lines = block.split("\n");
|
|
9525
|
-
for (const line of lines) {
|
|
9526
|
-
const trimmed = line.trim();
|
|
9527
|
-
if (trimmed.startsWith("|") && !trimmed.includes("---")) {
|
|
9528
|
-
const cells = trimmed.split("|").map((c) => c.trim()).filter((_, idx, arr) => idx > 0 && idx < arr.length - 1);
|
|
9529
|
-
if (cells.length >= 2 && !cells[0].toLowerCase().includes("canonical") && !cells[1].toLowerCase().includes("localized")) {
|
|
9530
|
-
mapping[cells[0]] = cells[1];
|
|
9531
|
-
}
|
|
9532
|
-
} else {
|
|
9533
|
-
const bullet = line.match(/^[-*]\s+([^:]+):\s+(.+)$/);
|
|
9534
|
-
if (bullet) {
|
|
9535
|
-
mapping[bullet[1].trim()] = bullet[2].trim();
|
|
9536
|
-
}
|
|
9537
|
-
}
|
|
9538
|
-
}
|
|
9539
|
-
if (Object.keys(mapping).length > 0) return keepContractEntries(upperType, mapping);
|
|
9540
|
-
}
|
|
9541
|
-
}
|
|
9542
|
-
return getFallback();
|
|
9472
|
+
if (!templateFile) return {};
|
|
9473
|
+
const resolved = resolveArtifactTemplate(templateFile, opts);
|
|
9474
|
+
if (!resolved) return {};
|
|
9475
|
+
return Object.fromEntries(resolved.sections.map((s) => [s, s]));
|
|
9543
9476
|
}
|
|
9544
|
-
function buildHeadingDirective(artifactType,
|
|
9545
|
-
const
|
|
9546
|
-
const templateFile = TEMPLATE_BY_TYPE[upperType];
|
|
9547
|
-
const resolved = templateFile ? resolveArtifactTemplate(templateFile, opts) : null;
|
|
9548
|
-
const baked = !!resolved && resolved.declaredLang !== "en";
|
|
9549
|
-
const headings = resolved ? Object.fromEntries(
|
|
9550
|
-
resolved.sections.map((s) => [
|
|
9551
|
-
s,
|
|
9552
|
-
baked ? s : extractSectionHeadingsFromSLC(slcMarkdown, upperType, targetLanguage)[s] || s
|
|
9553
|
-
])
|
|
9554
|
-
) : extractSectionHeadingsFromSLC(baked ? null : slcMarkdown, upperType, targetLanguage);
|
|
9477
|
+
function buildHeadingDirective(artifactType, opts) {
|
|
9478
|
+
const headings = extractSectionHeadings(artifactType, opts);
|
|
9555
9479
|
if (Object.keys(headings).length === 0) {
|
|
9556
9480
|
return "";
|
|
9557
9481
|
}
|
|
9558
|
-
const lines = Object.
|
|
9559
|
-
([heading, display]) => heading === display ? ` - "${display}"` : ` - "${heading}" -> Use Display Heading: "${display}"`
|
|
9560
|
-
);
|
|
9482
|
+
const lines = Object.keys(headings).map((heading) => ` - "${heading}"`);
|
|
9561
9483
|
return `MANDATORY SECTION HEADINGS (SOURCE: RESOLVED ARTIFACT TEMPLATE):
|
|
9562
9484
|
- Copy the template's YAML frontmatter \`template_required_sections\` list VERBATIM into the artifact frontmatter \u2014 never translate, reorder, or invent entries.
|
|
9563
9485
|
- In the markdown body, section headers MUST be exactly the Display Headings below (do NOT translate, paraphrase, or re-marker them):
|
|
@@ -9921,9 +9843,8 @@ function buildSectionAwareExcerpt(markdown, opts = {}) {
|
|
|
9921
9843
|
};
|
|
9922
9844
|
}
|
|
9923
9845
|
const minContentChars = opts.minContentChars !== void 0 ? opts.minContentChars : Math.min(400, source.length);
|
|
9924
|
-
const slcMap = normalizeSlcContract(opts.sectionLanguageContract);
|
|
9925
9846
|
const effectiveArtifactType = opts.artifactType || deriveArtifactTypeFromFileName(opts.fileName);
|
|
9926
|
-
const sections = parseMarkdownSections(source
|
|
9847
|
+
const sections = parseMarkdownSections(source);
|
|
9927
9848
|
const metaBlock = buildMetaBlock(source, effectiveArtifactType);
|
|
9928
9849
|
if (sections.length === 0) {
|
|
9929
9850
|
issues.push("parse:no-sections");
|
|
@@ -10046,48 +9967,16 @@ function buildLessonExcerpt(markdown, opts = {}) {
|
|
|
10046
9967
|
priorities: DEFAULT_LESSON_PRIORITIES
|
|
10047
9968
|
});
|
|
10048
9969
|
}
|
|
10049
|
-
function
|
|
10050
|
-
if (!slc) return void 0;
|
|
10051
|
-
if (typeof slc !== "string") return slc;
|
|
10052
|
-
const out = {};
|
|
10053
|
-
const blocks = slc.split(/\n(?=#{2,3}\s+[A-Z0-9_]+)/g);
|
|
10054
|
-
for (const block of blocks) {
|
|
10055
|
-
const header = block.match(/^#{2,3}\s+([A-Z0-9_]+)/);
|
|
10056
|
-
if (!header?.[1]) continue;
|
|
10057
|
-
const mapping = {};
|
|
10058
|
-
for (const line of block.split("\n")) {
|
|
10059
|
-
const t = line.trim();
|
|
10060
|
-
if (!t.startsWith("|") || t.includes("---")) continue;
|
|
10061
|
-
const cells = t.split("|").map((c) => c.trim()).filter((_, i, a) => i > 0 && i < a.length - 1);
|
|
10062
|
-
const [c0, c1] = cells;
|
|
10063
|
-
if (c0 && c1 && !c0.toLowerCase().includes("canonical") && !c1.toLowerCase().includes("localized")) {
|
|
10064
|
-
mapping[c0] = c1;
|
|
10065
|
-
}
|
|
10066
|
-
}
|
|
10067
|
-
if (Object.keys(mapping).length > 0) out[header[1]] = mapping;
|
|
10068
|
-
}
|
|
10069
|
-
return Object.keys(out).length > 0 ? out : void 0;
|
|
10070
|
-
}
|
|
10071
|
-
function parseMarkdownSections(markdown, slcMap, artifactType) {
|
|
9970
|
+
function parseMarkdownSections(markdown) {
|
|
10072
9971
|
const sections = [];
|
|
10073
9972
|
const lines = markdown.split("\n");
|
|
10074
9973
|
let currentHeading = "";
|
|
10075
9974
|
let currentBody = [];
|
|
10076
|
-
const reverseMap = /* @__PURE__ */ new Map();
|
|
10077
|
-
if (slcMap) {
|
|
10078
|
-
const maps = artifactType && slcMap[artifactType] ? [slcMap[artifactType]] : Object.values(slcMap);
|
|
10079
|
-
for (const m of maps) {
|
|
10080
|
-
for (const [canonical, localized] of Object.entries(m)) {
|
|
10081
|
-
reverseMap.set(normalizeHeading(localized), canonical);
|
|
10082
|
-
reverseMap.set(normalizeHeading(canonical), canonical);
|
|
10083
|
-
}
|
|
10084
|
-
}
|
|
10085
|
-
}
|
|
10086
9975
|
const flush = () => {
|
|
10087
9976
|
if (!currentHeading) return;
|
|
10088
9977
|
const cleanTitle = currentHeading.replace(/^#{1,4}\s+/, "").trim();
|
|
10089
9978
|
const norm2 = normalizeHeading(cleanTitle);
|
|
10090
|
-
const canonicalKey =
|
|
9979
|
+
const canonicalKey = findCanonicalFuzzy(norm2);
|
|
10091
9980
|
sections.push({
|
|
10092
9981
|
rawHeading: currentHeading,
|
|
10093
9982
|
cleanTitle,
|
|
@@ -10186,7 +10075,7 @@ function buildMetaBlock(source, artifactType) {
|
|
|
10186
10075
|
function deriveArtifactTypeFromFileName(fileName) {
|
|
10187
10076
|
if (!fileName) return void 0;
|
|
10188
10077
|
const base = fileName.replace(/\.md$/i, "");
|
|
10189
|
-
const multiWord = base.match(/^(KNOWLEDGE_EXPOSITION|
|
|
10078
|
+
const multiWord = base.match(/^(KNOWLEDGE_EXPOSITION|CONTENT_STYLE_GUIDE|CURRICULUM_FRAMEWORK|LEARNER_PROFILE|PROJECT_BRIEF|REFERENCE_PACK|CURRICULUM_PLAN)/i);
|
|
10190
10079
|
if (multiWord) return multiWord[1].toUpperCase();
|
|
10191
10080
|
const token = base.match(/^([A-Z][A-Z0-9_]*?)(?=_|$)/);
|
|
10192
10081
|
return token ? token[1] : void 0;
|
|
@@ -10413,10 +10302,10 @@ function buildSystemPrompt(targetLanguage = "vi", techStack, hardwarePlatform) {
|
|
|
10413
10302
|
langDirective
|
|
10414
10303
|
].join("\n");
|
|
10415
10304
|
}
|
|
10416
|
-
function buildUserPrompt(session, plan, glossary, targetLanguage = "vi",
|
|
10305
|
+
function buildUserPrompt(session, plan, glossary, targetLanguage = "vi", refPack) {
|
|
10417
10306
|
const depthLines = session.depth_assignments.map((d) => "- " + d.node_id + " [" + d.depth.toUpperCase() + "]: " + DEPTH_RULES[d.depth]).join("\n");
|
|
10418
10307
|
const termLines = glossary.map((g) => "- " + g.term + (g.definition ? " \u2014 " + g.definition : "") + (g.example ? " (example: " + g.example + ")" : "")).join("\n");
|
|
10419
|
-
const headings =
|
|
10308
|
+
const headings = extractSectionHeadings("KNOWLEDGE_EXPOSITION");
|
|
10420
10309
|
const hScope = headings["Session Scope"] || "Session Scope";
|
|
10421
10310
|
const hTerms = headings["Key Terms"] || "Key Terms";
|
|
10422
10311
|
const hNarratives = headings["Concept Narratives"] || "Concept Narratives";
|
|
@@ -10424,7 +10313,7 @@ function buildUserPrompt(session, plan, glossary, targetLanguage = "vi", slcMark
|
|
|
10424
10313
|
const hMistakes = headings["Common Mistakes"] || "Common Mistakes";
|
|
10425
10314
|
const hQuestions = headings["Self-Check Questions"] || "Self-Check Questions";
|
|
10426
10315
|
const skeleton = `## ${hScope} / ## ${hTerms} / ## ${hNarratives} / ## ${hExamples} / ## ${hMistakes} / ## ${hQuestions}`;
|
|
10427
|
-
const headingDirective = buildHeadingDirective("KNOWLEDGE_EXPOSITION"
|
|
10316
|
+
const headingDirective = buildHeadingDirective("KNOWLEDGE_EXPOSITION");
|
|
10428
10317
|
let refPackBlock = "";
|
|
10429
10318
|
if (refPack && refPack.trim()) {
|
|
10430
10319
|
const refExcerpt = buildSectionAwareExcerpt(refPack, {
|
|
@@ -10490,7 +10379,7 @@ async function ensureKnowledgeExposition(options) {
|
|
|
10490
10379
|
skipToolchainList: true
|
|
10491
10380
|
// same RefPack excerpt already in [GROUND TRUTH]
|
|
10492
10381
|
});
|
|
10493
|
-
const originalUserPrompt = buildUserPrompt(session, plan, glossary, targetLanguage,
|
|
10382
|
+
const originalUserPrompt = buildUserPrompt(session, plan, glossary, targetLanguage, refPack) + (productSpecBlock ? "\n\n" + productSpecBlock : "");
|
|
10494
10383
|
const content = (await llmFn(
|
|
10495
10384
|
originalSystemPrompt,
|
|
10496
10385
|
originalUserPrompt
|
|
@@ -10628,7 +10517,6 @@ async function ensureExpositionForLesson(storage, projectId, lessonCode, options
|
|
|
10628
10517
|
plan,
|
|
10629
10518
|
glossary,
|
|
10630
10519
|
targetLanguage: targetLang,
|
|
10631
|
-
slcMarkdown: options.slcMarkdown,
|
|
10632
10520
|
techStack: tech,
|
|
10633
10521
|
hardwarePlatform: hw,
|
|
10634
10522
|
refPack: refPackContent,
|
|
@@ -24997,7 +24885,6 @@ function buildSatelliteContext(input) {
|
|
|
24997
24885
|
lessonContent,
|
|
24998
24886
|
lessonExcerpt,
|
|
24999
24887
|
expositionContent,
|
|
25000
|
-
slcMarkdown,
|
|
25001
24888
|
symbolLedgerBlock,
|
|
25002
24889
|
pedagogyLabel,
|
|
25003
24890
|
lessonEntity,
|
|
@@ -25033,7 +24920,6 @@ ${lessonExcerpt.excerpt}${symbolLedgerBlock}`;
|
|
|
25033
24920
|
const kxExcerpt = buildSectionAwareExcerpt(expositionContent, {
|
|
25034
24921
|
priorities: KX_SLOT_PRIORITIES[type] ?? ["Key Terms", "Concept Narratives", "Worked Micro-Examples"],
|
|
25035
24922
|
budget: 4500,
|
|
25036
|
-
sectionLanguageContract: slcMarkdown,
|
|
25037
24923
|
artifactType: "KNOWLEDGE_EXPOSITION"
|
|
25038
24924
|
});
|
|
25039
24925
|
parts.push(`
|
|
@@ -25065,7 +24951,6 @@ ${slots}`;
|
|
|
25065
24951
|
const excerpt = buildSectionAwareExcerpt(lessonContent, {
|
|
25066
24952
|
priorities: spec.priorities ?? ["Artifact Contract", "A. Lesson Design Plan", "B. Lesson Flow", "Learning Objectives & Evidence", "Activity Sequence"],
|
|
25067
24953
|
budget: spec.budget,
|
|
25068
|
-
sectionLanguageContract: slcMarkdown,
|
|
25069
24954
|
artifactType: "LESSON"
|
|
25070
24955
|
});
|
|
25071
24956
|
const excerptBlock = `
|
|
@@ -25360,7 +25245,7 @@ ${nextRow}`
|
|
|
25360
25245
|
].filter(Boolean);
|
|
25361
25246
|
return parts.join("\n\n") || framework.slice(0, 1500);
|
|
25362
25247
|
}
|
|
25363
|
-
function buildLessonPrompt(pedagogy, lessonCode, unitCode, lessonTitle, concept, bloomLevel, dateStr, targetLanguage = "vi"
|
|
25248
|
+
function buildLessonPrompt(pedagogy, lessonCode, unitCode, lessonTitle, concept, bloomLevel, dateStr, targetLanguage = "vi") {
|
|
25364
25249
|
const templateFile = LESSON_TEMPLATE_BY_PEDAGOGY[pedagogy] ?? "LESSON_5E_template.md";
|
|
25365
25250
|
const artifactType = templateFile.replace("_template.md", "");
|
|
25366
25251
|
const contract = resolveArtifactTemplate(templateFile)?.sections ?? [];
|
|
@@ -25403,9 +25288,7 @@ type: "${artifactType}"
|
|
|
25403
25288
|
${NO_VERBATIM_COPYING}`;
|
|
25404
25289
|
const langDirective = buildLanguageDirective(targetLanguage);
|
|
25405
25290
|
const headingDirective = buildHeadingDirective(
|
|
25406
|
-
pedagogy === "edp" ? "LESSON_EDP" : pedagogy === "general" || pedagogy === "pbl" ? "LESSON_GENERAL" : "LESSON_5E"
|
|
25407
|
-
sectionLanguageContract,
|
|
25408
|
-
targetLanguage
|
|
25291
|
+
pedagogy === "edp" ? "LESSON_EDP" : pedagogy === "general" || pedagogy === "pbl" ? "LESSON_GENERAL" : "LESSON_5E"
|
|
25409
25292
|
);
|
|
25410
25293
|
const body = buildArtifactPrompt({ directive, templateFile });
|
|
25411
25294
|
return `${body}
|
|
@@ -25458,7 +25341,6 @@ async function produceSingleLesson(storage, projectId, lessonId, options = {}) {
|
|
|
25458
25341
|
if (!currentPlanHash || content.includes('plan_hash: "' + currentPlanHash + '"')) return content;
|
|
25459
25342
|
return content + '\n---\nplan_hash: "' + currentPlanHash + '"\n- **Plan reference:** ' + currentPlanHash + "\n";
|
|
25460
25343
|
};
|
|
25461
|
-
const slcMarkdown = options.sectionLanguageContract || await storage.readSotDocument(projectId, "SECTION_LANGUAGE_CONTRACT.md") || "";
|
|
25462
25344
|
let targetLang = options.targetLanguage;
|
|
25463
25345
|
if (!targetLang) {
|
|
25464
25346
|
try {
|
|
@@ -25481,13 +25363,11 @@ async function produceSingleLesson(storage, projectId, lessonId, options = {}) {
|
|
|
25481
25363
|
gates: resolveGateSettings(options.gateSettings),
|
|
25482
25364
|
force: options.force,
|
|
25483
25365
|
targetLanguage: targetLang,
|
|
25484
|
-
slcMarkdown,
|
|
25485
25366
|
customInference: options.customInference
|
|
25486
25367
|
});
|
|
25487
25368
|
if (exposition) {
|
|
25488
25369
|
const expoExcerpt = buildExpositionExcerpt(exposition.rawContent || exposition.context, {
|
|
25489
25370
|
budget: 6e3,
|
|
25490
|
-
sectionLanguageContract: slcMarkdown,
|
|
25491
25371
|
artifactType: "KNOWLEDGE_EXPOSITION"
|
|
25492
25372
|
});
|
|
25493
25373
|
expositionContext = expoExcerpt.excerpt || exposition.context;
|
|
@@ -25696,8 +25576,7 @@ Khi n\u1ED9i dung c\u1EA7n minh h\u1ECDa (diagram quy tr\xECnh, s\u01A1 \u0111\u
|
|
|
25696
25576
|
concept,
|
|
25697
25577
|
bloomLevel,
|
|
25698
25578
|
dateStr,
|
|
25699
|
-
targetLang
|
|
25700
|
-
slcMarkdown
|
|
25579
|
+
targetLang
|
|
25701
25580
|
) + mediaDirective;
|
|
25702
25581
|
const rawLesson = await runCurriculumAIInference(
|
|
25703
25582
|
[{ role: "user", content: lessonPrompt }],
|
|
@@ -25815,7 +25694,7 @@ ${yamlBlock.trim()}
|
|
|
25815
25694
|
});
|
|
25816
25695
|
}
|
|
25817
25696
|
const judgeObjectives = parseLessonObjectives(lessonContent, concept, bloomLevel);
|
|
25818
|
-
const judgeExpositionExcerpt = expositionContext ? buildExpositionExcerpt(expositionContext, { budget: 3e3,
|
|
25697
|
+
const judgeExpositionExcerpt = expositionContext ? buildExpositionExcerpt(expositionContext, { budget: 3e3, artifactType: "KNOWLEDGE_EXPOSITION" }).excerpt : void 0;
|
|
25819
25698
|
const judgeResult = await LLMJudgeEngine.evaluateArtifactWithLLM({
|
|
25820
25699
|
targetArtifactType: "LESSON",
|
|
25821
25700
|
lessonId: lessonCode,
|
|
@@ -25885,7 +25764,6 @@ ${currentContent}` }],
|
|
|
25885
25764
|
const repairedExcerptCheck = buildSectionAwareExcerpt(repairedRaw, {
|
|
25886
25765
|
priorities: DEFAULT_LESSON_PRIORITIES,
|
|
25887
25766
|
budget: 12e3,
|
|
25888
|
-
sectionLanguageContract: slcMarkdown,
|
|
25889
25767
|
artifactType: "LESSON"
|
|
25890
25768
|
});
|
|
25891
25769
|
if (repairedExcerptCheck.issues.includes("parse:no-priority-resolution")) {
|
|
@@ -25916,7 +25794,7 @@ ${currentContent}` }],
|
|
|
25916
25794
|
title: lessonTitle,
|
|
25917
25795
|
frameworkExcerpt: framework ? buildFrameworkExcerptForLesson(framework, lessonId) : void 0,
|
|
25918
25796
|
styleGuideExcerpt: effectiveStyleGuide || void 0,
|
|
25919
|
-
canonicalExposition: expositionContext ? buildExpositionExcerpt(expositionContext, { budget: 3e3,
|
|
25797
|
+
canonicalExposition: expositionContext ? buildExpositionExcerpt(expositionContext, { budget: 3e3, artifactType: "KNOWLEDGE_EXPOSITION" }).excerpt : void 0
|
|
25920
25798
|
}),
|
|
25921
25799
|
standardStatements: Object.keys(standardStatements).length > 0 ? standardStatements : void 0
|
|
25922
25800
|
});
|
|
@@ -26046,7 +25924,6 @@ ${currentContent}` }],
|
|
|
26046
25924
|
const lessonExcerptResult = buildSectionAwareExcerpt(lessonContent, {
|
|
26047
25925
|
priorities: SATELLITE_LESSON_PRIORITIES,
|
|
26048
25926
|
budget: 12e3,
|
|
26049
|
-
sectionLanguageContract: slcMarkdown,
|
|
26050
25927
|
artifactType: "LESSON"
|
|
26051
25928
|
});
|
|
26052
25929
|
const lessonExcerpt = lessonExcerptResult.excerpt;
|
|
@@ -26076,7 +25953,6 @@ ${currentContent}` }],
|
|
|
26076
25953
|
lessonContent,
|
|
26077
25954
|
lessonExcerpt: lessonExcerptResult,
|
|
26078
25955
|
expositionContent: expositionContext,
|
|
26079
|
-
slcMarkdown,
|
|
26080
25956
|
symbolLedgerBlock,
|
|
26081
25957
|
pedagogyLabel,
|
|
26082
25958
|
lessonEntity,
|
|
@@ -26190,7 +26066,7 @@ ${NO_VERBATIM_COPYING}`;
|
|
|
26190
26066
|
|
|
26191
26067
|
${languageDirective}
|
|
26192
26068
|
|
|
26193
|
-
${buildHeadingDirective("ACT"
|
|
26069
|
+
${buildHeadingDirective("ACT")}`;
|
|
26194
26070
|
const rawAct = await runCurriculumAIInference(
|
|
26195
26071
|
[{ role: "user", content: actPrompt }],
|
|
26196
26072
|
satelliteContextFor("ACT"),
|
|
@@ -26261,7 +26137,7 @@ ${NO_VERBATIM_COPYING}`;
|
|
|
26261
26137
|
|
|
26262
26138
|
${languageDirective}
|
|
26263
26139
|
|
|
26264
|
-
${buildHeadingDirective("QUIZ"
|
|
26140
|
+
${buildHeadingDirective("QUIZ")}`;
|
|
26265
26141
|
const rawQuiz = await runCurriculumAIInference(
|
|
26266
26142
|
[{ role: "user", content: quizPrompt }],
|
|
26267
26143
|
satelliteContextFor("QUIZ"),
|
|
@@ -26314,7 +26190,7 @@ ${buildHeadingDirective("QUIZ", slcMarkdown, targetLang)}`;
|
|
|
26314
26190
|
stylePresetId: "blue-professional",
|
|
26315
26191
|
language: targetLang || "Vietnamese",
|
|
26316
26192
|
languageDirective,
|
|
26317
|
-
headingDirective: buildHeadingDirective("SLIDE"
|
|
26193
|
+
headingDirective: buildHeadingDirective("SLIDE"),
|
|
26318
26194
|
groundContext: slideGroundContext,
|
|
26319
26195
|
productSpecBlock: productSpecBlock || void 0,
|
|
26320
26196
|
satelliteContext: satelliteContextFor("SLIDE"),
|
|
@@ -26397,7 +26273,7 @@ footer: "Curriculum OS \u2022 ${lessonCode} (${pedagogyLabel})"
|
|
|
26397
26273
|
lessonCode,
|
|
26398
26274
|
templateScaffold,
|
|
26399
26275
|
languageDirective,
|
|
26400
|
-
headingDirective: buildHeadingDirective("SLIDE"
|
|
26276
|
+
headingDirective: buildHeadingDirective("SLIDE")
|
|
26401
26277
|
});
|
|
26402
26278
|
const rawSlide = await runCurriculumAIInference(
|
|
26403
26279
|
[{ role: "user", content: slidePrompt }],
|
|
@@ -26466,7 +26342,7 @@ ${NO_VERBATIM_COPYING}`;
|
|
|
26466
26342
|
|
|
26467
26343
|
${languageDirective}
|
|
26468
26344
|
|
|
26469
|
-
${buildHeadingDirective("GUIDE"
|
|
26345
|
+
${buildHeadingDirective("GUIDE")}`;
|
|
26470
26346
|
const rawGuide = await runCurriculumAIInference(
|
|
26471
26347
|
[{ role: "user", content: guidePrompt }],
|
|
26472
26348
|
satelliteContextFor("GUIDE"),
|
|
@@ -26522,7 +26398,7 @@ ${NO_VERBATIM_COPYING}`;
|
|
|
26522
26398
|
|
|
26523
26399
|
${languageDirective}
|
|
26524
26400
|
|
|
26525
|
-
${buildHeadingDirective("HANDOUT"
|
|
26401
|
+
${buildHeadingDirective("HANDOUT")}`;
|
|
26526
26402
|
const rawHandout = await runCurriculumAIInference(
|
|
26527
26403
|
[{ role: "user", content: handoutPrompt }],
|
|
26528
26404
|
satelliteContextFor("HANDOUT"),
|
|
@@ -26578,7 +26454,7 @@ ${NO_VERBATIM_COPYING}`;
|
|
|
26578
26454
|
|
|
26579
26455
|
${languageDirective}
|
|
26580
26456
|
|
|
26581
|
-
${buildHeadingDirective("WKS"
|
|
26457
|
+
${buildHeadingDirective("WKS")}`;
|
|
26582
26458
|
const rawWks = await runCurriculumAIInference(
|
|
26583
26459
|
[{ role: "user", content: wksPrompt }],
|
|
26584
26460
|
satelliteContextFor("WKS"),
|
|
@@ -26641,7 +26517,7 @@ ${NO_VERBATIM_COPYING}`;
|
|
|
26641
26517
|
|
|
26642
26518
|
${languageDirective}
|
|
26643
26519
|
|
|
26644
|
-
${buildHeadingDirective("CODE"
|
|
26520
|
+
${buildHeadingDirective("CODE")}`;
|
|
26645
26521
|
const rawCode = await runCurriculumAIInference(
|
|
26646
26522
|
[{ role: "user", content: codePrompt }],
|
|
26647
26523
|
satelliteContextFor("CODE"),
|
|
@@ -26728,7 +26604,7 @@ ${zpdCeilingPrompt}
|
|
|
26728
26604
|
|
|
26729
26605
|
${languageDirective}
|
|
26730
26606
|
|
|
26731
|
-
${buildHeadingDirective("EXT"
|
|
26607
|
+
${buildHeadingDirective("EXT")}`;
|
|
26732
26608
|
const rawExt = await runCurriculumAIInference(
|
|
26733
26609
|
[{ role: "user", content: extPrompt }],
|
|
26734
26610
|
satelliteContextFor("EXT"),
|
|
@@ -27224,11 +27100,7 @@ async function generateSingleArtifact(req) {
|
|
|
27224
27100
|
language.toLowerCase().includes("bilingual") || language.toLowerCase().includes("song");
|
|
27225
27101
|
const targetLang = resolveTargetLanguageCode(language);
|
|
27226
27102
|
const langDirective = buildLanguageDirective(language);
|
|
27227
|
-
const headingDirective = buildHeadingDirective(
|
|
27228
|
-
artifactType.toUpperCase(),
|
|
27229
|
-
req.sectionLanguageContract,
|
|
27230
|
-
targetLang
|
|
27231
|
-
);
|
|
27103
|
+
const headingDirective = buildHeadingDirective(artifactType.toUpperCase());
|
|
27232
27104
|
const availableSources = {
|
|
27233
27105
|
KNOWLEDGE_EXPOSITION: contextSot.exposition || researchContext,
|
|
27234
27106
|
CANONICAL_LESSON: contextSot.lessonPlan,
|
|
@@ -27295,11 +27167,10 @@ ${symbolLedgerPrompt}
|
|
|
27295
27167
|
|
|
27296
27168
|
IMAGE PLANNING (media ledger) \u2014 QUOTA GEN: t\u1ED1i \u0111a ${mediaPolicy.maxGenImagesPerArtifact} \u1EA3nh AI cho artifact n\xE0y (\u1EA3nh search kho kh\xF4ng gi\u1EDBi h\u1EA1n).
|
|
27297
27169
|
Khi n\u1ED9i dung c\u1EA7n minh h\u1ECDa (diagram quy tr\xECnh, s\u01A1 \u0111\u1ED3 kh\xE1i ni\u1EC7m, step-by-step visual), ch\xE8n placeholder \u0111\xFAng format [IMAGE: slug] (slug ch\u1EEF th\u01B0\u1EDDng-g\u1EA1ch ngang, unique trong b\xE0i, vd img-for-loop-diagram) T\u1EA0I \u0110\xDANG CH\u1ED6 c\u1EA7n \u1EA3nh, tr\xEAn d\xF2ng ri\xEAng. KH\xD4NG t\u1EF1 sinh \u1EA3nh, KH\xD4NG d\xF9ng markdown image \u2014 placeholder s\u1EBD \u0111\u01B0\u1EE3c thay b\u1EB1ng \u1EA3nh th\u1EADt sau khi Media Curator duy\u1EC7t. Ch\u1EC9 \u0111\u1EB7t cho \u1EA3nh TH\u1EF0C S\u1EF0 c\u1EA7n thi\u1EBFt.` : ""}`;
|
|
27298
|
-
const
|
|
27299
|
-
const
|
|
27300
|
-
const
|
|
27301
|
-
const
|
|
27302
|
-
const expositionExcerpt = contextSot.exposition ? buildExpositionExcerpt(contextSot.exposition, { budget: 6e3, sectionLanguageContract: slcContract }).excerpt : "";
|
|
27170
|
+
const frameworkExcerpt = contextSot.framework ? buildSectionAwareExcerpt(contextSot.framework, { budget: 2500 }).excerpt : "";
|
|
27171
|
+
const lessonPlanExcerpt = contextSot.lessonPlan ? buildLessonExcerpt(contextSot.lessonPlan, { budget: 8e3, artifactType: "LESSON" }).excerpt : "";
|
|
27172
|
+
const handoutExcerpt = contextSot.handout ? buildSectionAwareExcerpt(contextSot.handout, { budget: 2e3 }).excerpt : "";
|
|
27173
|
+
const expositionExcerpt = contextSot.exposition ? buildExpositionExcerpt(contextSot.exposition, { budget: 6e3 }).excerpt : "";
|
|
27303
27174
|
const userPrompt = `### CONTEXT GROUND TRUTH:
|
|
27304
27175
|
- Topic / Concept Domain: "${topic}"
|
|
27305
27176
|
- Lesson ID: "${lessonId || "ON_DEMAND"}"
|
|
@@ -31643,6 +31514,6 @@ function renderMediaPlaceholder(entry) {
|
|
|
31643
31514
|
return `> \u{1F5BC}\uFE0F [\u1EA2nh \u0111ang ch\u1EDD: ${entry.name} \u2014 s\u1EBD \u0111\u01B0\u1EE3c t\u1EA1o sau khi duy\u1EC7t media]`;
|
|
31644
31515
|
}
|
|
31645
31516
|
|
|
31646
|
-
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,
|
|
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 };
|
|
31647
31518
|
//# sourceMappingURL=index.mjs.map
|
|
31648
31519
|
//# sourceMappingURL=index.mjs.map
|