@thanh01.pmt/curriculum-kit 1.4.16 → 1.4.18
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/LICENSE +21 -0
- package/dist/index.cjs +181 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +18 -1
- package/dist/index.d.ts +18 -1
- package/dist/index.mjs +180 -13
- package/dist/index.mjs.map +1 -1
- package/dist/workflow/index.cjs +87 -1
- package/dist/workflow/index.cjs.map +1 -1
- package/dist/workflow/index.mjs +87 -1
- package/dist/workflow/index.mjs.map +1 -1
- package/package.json +22 -23
package/dist/index.d.cts
CHANGED
|
@@ -571,6 +571,7 @@ declare class ExpositionApprovalError extends Error {
|
|
|
571
571
|
}
|
|
572
572
|
/** Determine whether an existing EXPOSITION can be reused for this lesson. */
|
|
573
573
|
declare function isExpositionFresh(existing: string | null, plan: CurriculumPlan, lessonCode: string): boolean;
|
|
574
|
+
declare function buildDomainLexiconGuardrail(techStack?: string, hardwarePlatform?: string): string;
|
|
574
575
|
interface GenerateExpositionOptions {
|
|
575
576
|
projectId: string;
|
|
576
577
|
lessonCode: string;
|
|
@@ -585,6 +586,8 @@ interface GenerateExpositionOptions {
|
|
|
585
586
|
gates?: ResolvedGateSettings;
|
|
586
587
|
targetLanguage?: string;
|
|
587
588
|
slcMarkdown?: Record<string, Record<string, string>> | string | null;
|
|
589
|
+
techStack?: string;
|
|
590
|
+
hardwarePlatform?: string;
|
|
588
591
|
}
|
|
589
592
|
interface ExpositionResult {
|
|
590
593
|
relPath: string;
|
|
@@ -615,6 +618,8 @@ declare function ensureExpositionForLesson(storage: ICurriculumStorage, projectI
|
|
|
615
618
|
targetLanguage?: string;
|
|
616
619
|
slcMarkdown?: Record<string, Record<string, string>> | string | null;
|
|
617
620
|
customInference?: StreamRunnerOptions['customInference'];
|
|
621
|
+
techStack?: string;
|
|
622
|
+
hardwarePlatform?: string;
|
|
618
623
|
}): Promise<{
|
|
619
624
|
relPath: string;
|
|
620
625
|
context: string;
|
|
@@ -711,6 +716,18 @@ declare function buildLessonExcerpt(markdown: string, opts?: Omit<ExcerptOptions
|
|
|
711
716
|
* Normalizes SLC input into a two-level map: Record<ArtifactType, Record<CanonicalKey, LocalizedLabel>>
|
|
712
717
|
*/
|
|
713
718
|
declare function normalizeSlcContract(slc: Record<string, Record<string, string>> | string | undefined): Record<string, Record<string, string>> | undefined;
|
|
719
|
+
/**
|
|
720
|
+
* Extracts code symbol & identifier contracts from LESSON markdown.
|
|
721
|
+
* Provides deterministic symbol names (Primary Struct/Class, Entry File, Key Functions)
|
|
722
|
+
* so all satellite agents (@activity, @illustrator, @assessor) inherit them verbatim.
|
|
723
|
+
*/
|
|
724
|
+
interface SymbolLedgerResult {
|
|
725
|
+
primarySymbol?: string;
|
|
726
|
+
entryFileName?: string;
|
|
727
|
+
keySymbols: string[];
|
|
728
|
+
rawBlock: string;
|
|
729
|
+
}
|
|
730
|
+
declare function extractSymbolLedger(lessonMarkdown: string): SymbolLedgerResult;
|
|
714
731
|
|
|
715
732
|
/**
|
|
716
733
|
* Curriculum OS - Standardized Error Taxonomy & Traceability System
|
|
@@ -1230,4 +1247,4 @@ declare function getSlideLayoutPresetById(id: string): SlideLayoutPreset | undef
|
|
|
1230
1247
|
*/
|
|
1231
1248
|
declare function getSlideLayoutPresetsByCategory(category: SlideLayoutCategory): SlideLayoutPreset[];
|
|
1232
1249
|
|
|
1233
|
-
export { ACT_TEMPLATE, AIProviderName, ARTIFACT_DEPENDENCY_ROUTING, ARTIFACT_EXECUTION_ORDER, type AcademicAuditFinding, AcademicAuditor, type AcademicDimension, ActivityLab, type ArtifactDependencyRule, type ArtifactProductionSpec, type AuditBundleInput, BELL_RINGER_TEMPLATE, BLOOM_ACTION_VERBS, BOM_TEMPLATE, BloomTaxonomyEvaluator, type BuildContextOptions, CHOICE_BOARD_TEMPLATE, CODE_LAB_TEMPLATE, CURRICULUM_SLASH_COMMANDS, CodeHardwareFeasibilityEvaluator, CodeLab, type ComprehensiveAcademicReport, ConstructiveAlignmentEvaluator, type ContextInjectionMeta, type ContextSourceKey, CoverageGateReport, CrossArtifactDriftEvaluator, CurriculumError, type CurriculumErrorCode, type CurriculumErrorDetail, CurriculumPlan, DEFAULT_KX_PRIORITIES, DEFAULT_LESSON_PRIORITIES, DEFAULT_STREAM_IDLE_MS, DEFAULT_STREAM_TOTAL_MS, DEFAULT_VIETNAMESE_SECTION_HEADINGS, DependencyEdge, type DependencyValidationResult, DeterministicPipelineRunner, DeterministicStructuralLinter, DiagnosticQuiz, DiagnosticQuizInput, type DimensionScore, EXIT_TICKET_TEMPLATE, EXPOSITION_REL, EXT_TEMPLATE, type ExcerptOptions, type ExcerptResult, type ExecuteCommandResult, ExpositionApprovalError, type ExpositionLlmFn, type ExpositionResult, type ExpositionStorage, type ExtractedStreamChunk, type FindingSeverity, FiveEInstructionalEvaluator, type FrameworkLintFinding, type FrameworkLintReport, FrameworkPack, GLOSSARY_TEMPLATE, GRAPHIC_ORGANIZER_TEMPLATE, type GenerateExpositionOptions, GeneratedSlideArraySchema, GeneratedSlideSchema, HANDOUT_TEMPLATE, ICurriculumStorage, LAYER_IDLE_BUDGET_MS, LAYER_TOTAL_BUDGET_MS, LESSON_PLAN_TEMPLATE, type LayerChunkCallback, type LayerPrefillOptions, type LayerPrefillResult, type LayoutBoxConfig, LessonPlan, MisconceptionEvaluator, ModelResolutionOptions, PROJECT_INSTRUCTION_TEMPLATE, type PackingSpec, type PedagogicalModel, type PipelineExecutionProgress, PlanConstraints, type PlanOptions, type PlanResult, type PlannerLlmFn, PlanningGraph, PlanningNode, type PreliminaryResearchResult, type ProduceLessonOptions, type ProduceLessonResult, type ProjectBriefingData, type ProjectClarification, type ProjectCreationPayload, type ProjectIntentAnalysisResult, ProjectStatusReport, type ProjectionMeta, QUIZ_TEMPLATE, QualityAuditReport, REVIEW_GAME_TEMPLATE, RUBRIC_TEMPLATE, ResolvedGateSettings, SCIENCE_LAB_TEMPLATE, SELF_LAB_TEMPLATE, SLIDE_LAYOUT_PRESETS, SLIDE_TEMPLATE, STATION_ROTATION_TEMPLATE, type SlashCommandDefinition, SlideBlueprintArraySchema, SlideBlueprintItemSchema, SlideDeck, type SlideLayoutCategory, type SlideLayoutData, type SlideLayoutPreset, type SlideProductionWorkflowOptions, type SlideProductionWorkflowResult, SmartResumeContext, type StreamAbortHandle, type StreamBudget, type StreamChunkExtractor, StreamRunnerOptions, TASK_CARDS_TEMPLATE, TEACHER_GUIDE_TEMPLATE, TIERED_PRACTICE_TEMPLATE, TranslationPolicy, type TranslationTarget, type TranslationTrigger, type ValidationOptions, WORKSHEET_TEMPLATE, analyzeProjectCreationIntent, assertAcyclic, auditQualityReport, buildCurriculumContext, buildCurriculumPlan, buildExpositionContext, buildExpositionExcerpt, buildHeadingDirective, buildLanguageDirective, buildLessonExcerpt, buildSectionAwareExcerpt, buildSessionSliceContext, closeTruncatedJson, computePackingSpec, conductPreliminaryResearch, createAiInferenceError, createContextMissingError, createStreamAbortSignal, createStreamChunkExtractor, detectProjectPedagogy, ensureExpositionForLesson, ensureKnowledgeExposition, executeCurriculumCommand, executeSlideProductionWorkflow, expositionCacheKey, extractScopeSequenceRows, extractSectionHeadingsFromSLC, extractSessionSlice, extractStreamChunk, generatePhase1SotArtifacts, generatePhase2SotArtifacts, getLessonMetadata, getProjectArtifactScope, getProjectStatusReport, getSlideLayoutPresetById, getSlideLayoutPresetsByCategory, getSmartResumeContext, glossaryTermsForSession, ingestProjectGraphIntoProject, initializeProjectInStorage, isExpositionFresh, isTranslationDue, lintCurriculumFramework, loadCurriculumTemplate, loadSotTemplate, normalizePlanningGraph, normalizeSlcContract, parseRoadmapJsonToProjectPayload, produceBatchLessons, produceSingleLesson, renderFrameworkFromPlan, resolveStreamBudget, resolveTargetLanguageCode, resolveTranslationTargets, safeParseJson, slugifyProjectName, streamLLMWithFallback, streamLayerPrefillWithFallback, stripLlmJsonWrappers, targetLanguageDisplayName, topoSort, validateArtifactDependencies };
|
|
1250
|
+
export { ACT_TEMPLATE, AIProviderName, ARTIFACT_DEPENDENCY_ROUTING, ARTIFACT_EXECUTION_ORDER, type AcademicAuditFinding, AcademicAuditor, type AcademicDimension, ActivityLab, type ArtifactDependencyRule, type ArtifactProductionSpec, type AuditBundleInput, BELL_RINGER_TEMPLATE, BLOOM_ACTION_VERBS, BOM_TEMPLATE, BloomTaxonomyEvaluator, type BuildContextOptions, CHOICE_BOARD_TEMPLATE, CODE_LAB_TEMPLATE, CURRICULUM_SLASH_COMMANDS, CodeHardwareFeasibilityEvaluator, CodeLab, type ComprehensiveAcademicReport, ConstructiveAlignmentEvaluator, type ContextInjectionMeta, type ContextSourceKey, CoverageGateReport, CrossArtifactDriftEvaluator, CurriculumError, type CurriculumErrorCode, type CurriculumErrorDetail, CurriculumPlan, DEFAULT_KX_PRIORITIES, DEFAULT_LESSON_PRIORITIES, DEFAULT_STREAM_IDLE_MS, DEFAULT_STREAM_TOTAL_MS, DEFAULT_VIETNAMESE_SECTION_HEADINGS, DependencyEdge, type DependencyValidationResult, DeterministicPipelineRunner, DeterministicStructuralLinter, DiagnosticQuiz, DiagnosticQuizInput, type DimensionScore, EXIT_TICKET_TEMPLATE, EXPOSITION_REL, EXT_TEMPLATE, type ExcerptOptions, type ExcerptResult, type ExecuteCommandResult, ExpositionApprovalError, type ExpositionLlmFn, type ExpositionResult, type ExpositionStorage, type ExtractedStreamChunk, type FindingSeverity, FiveEInstructionalEvaluator, type FrameworkLintFinding, type FrameworkLintReport, FrameworkPack, GLOSSARY_TEMPLATE, GRAPHIC_ORGANIZER_TEMPLATE, type GenerateExpositionOptions, GeneratedSlideArraySchema, GeneratedSlideSchema, HANDOUT_TEMPLATE, ICurriculumStorage, LAYER_IDLE_BUDGET_MS, LAYER_TOTAL_BUDGET_MS, LESSON_PLAN_TEMPLATE, type LayerChunkCallback, type LayerPrefillOptions, type LayerPrefillResult, type LayoutBoxConfig, LessonPlan, MisconceptionEvaluator, ModelResolutionOptions, PROJECT_INSTRUCTION_TEMPLATE, type PackingSpec, type PedagogicalModel, type PipelineExecutionProgress, PlanConstraints, type PlanOptions, type PlanResult, type PlannerLlmFn, PlanningGraph, PlanningNode, type PreliminaryResearchResult, type ProduceLessonOptions, type ProduceLessonResult, type ProjectBriefingData, type ProjectClarification, type ProjectCreationPayload, type ProjectIntentAnalysisResult, ProjectStatusReport, type ProjectionMeta, QUIZ_TEMPLATE, QualityAuditReport, REVIEW_GAME_TEMPLATE, RUBRIC_TEMPLATE, ResolvedGateSettings, SCIENCE_LAB_TEMPLATE, SELF_LAB_TEMPLATE, SLIDE_LAYOUT_PRESETS, SLIDE_TEMPLATE, STATION_ROTATION_TEMPLATE, type SlashCommandDefinition, SlideBlueprintArraySchema, SlideBlueprintItemSchema, SlideDeck, type SlideLayoutCategory, type SlideLayoutData, type SlideLayoutPreset, type SlideProductionWorkflowOptions, type SlideProductionWorkflowResult, SmartResumeContext, type StreamAbortHandle, type StreamBudget, type StreamChunkExtractor, StreamRunnerOptions, type SymbolLedgerResult, TASK_CARDS_TEMPLATE, TEACHER_GUIDE_TEMPLATE, TIERED_PRACTICE_TEMPLATE, TranslationPolicy, type TranslationTarget, type TranslationTrigger, type ValidationOptions, WORKSHEET_TEMPLATE, analyzeProjectCreationIntent, assertAcyclic, auditQualityReport, buildCurriculumContext, buildCurriculumPlan, buildDomainLexiconGuardrail, buildExpositionContext, buildExpositionExcerpt, buildHeadingDirective, buildLanguageDirective, buildLessonExcerpt, buildSectionAwareExcerpt, buildSessionSliceContext, closeTruncatedJson, computePackingSpec, conductPreliminaryResearch, createAiInferenceError, createContextMissingError, createStreamAbortSignal, createStreamChunkExtractor, detectProjectPedagogy, ensureExpositionForLesson, ensureKnowledgeExposition, executeCurriculumCommand, executeSlideProductionWorkflow, expositionCacheKey, extractScopeSequenceRows, extractSectionHeadingsFromSLC, extractSessionSlice, extractStreamChunk, extractSymbolLedger, generatePhase1SotArtifacts, generatePhase2SotArtifacts, getLessonMetadata, getProjectArtifactScope, getProjectStatusReport, getSlideLayoutPresetById, getSlideLayoutPresetsByCategory, getSmartResumeContext, glossaryTermsForSession, ingestProjectGraphIntoProject, initializeProjectInStorage, isExpositionFresh, isTranslationDue, lintCurriculumFramework, loadCurriculumTemplate, loadSotTemplate, normalizePlanningGraph, normalizeSlcContract, parseRoadmapJsonToProjectPayload, produceBatchLessons, produceSingleLesson, renderFrameworkFromPlan, resolveStreamBudget, resolveTargetLanguageCode, resolveTranslationTargets, safeParseJson, slugifyProjectName, streamLLMWithFallback, streamLayerPrefillWithFallback, stripLlmJsonWrappers, targetLanguageDisplayName, topoSort, validateArtifactDependencies };
|
package/dist/index.d.ts
CHANGED
|
@@ -571,6 +571,7 @@ declare class ExpositionApprovalError extends Error {
|
|
|
571
571
|
}
|
|
572
572
|
/** Determine whether an existing EXPOSITION can be reused for this lesson. */
|
|
573
573
|
declare function isExpositionFresh(existing: string | null, plan: CurriculumPlan, lessonCode: string): boolean;
|
|
574
|
+
declare function buildDomainLexiconGuardrail(techStack?: string, hardwarePlatform?: string): string;
|
|
574
575
|
interface GenerateExpositionOptions {
|
|
575
576
|
projectId: string;
|
|
576
577
|
lessonCode: string;
|
|
@@ -585,6 +586,8 @@ interface GenerateExpositionOptions {
|
|
|
585
586
|
gates?: ResolvedGateSettings;
|
|
586
587
|
targetLanguage?: string;
|
|
587
588
|
slcMarkdown?: Record<string, Record<string, string>> | string | null;
|
|
589
|
+
techStack?: string;
|
|
590
|
+
hardwarePlatform?: string;
|
|
588
591
|
}
|
|
589
592
|
interface ExpositionResult {
|
|
590
593
|
relPath: string;
|
|
@@ -615,6 +618,8 @@ declare function ensureExpositionForLesson(storage: ICurriculumStorage, projectI
|
|
|
615
618
|
targetLanguage?: string;
|
|
616
619
|
slcMarkdown?: Record<string, Record<string, string>> | string | null;
|
|
617
620
|
customInference?: StreamRunnerOptions['customInference'];
|
|
621
|
+
techStack?: string;
|
|
622
|
+
hardwarePlatform?: string;
|
|
618
623
|
}): Promise<{
|
|
619
624
|
relPath: string;
|
|
620
625
|
context: string;
|
|
@@ -711,6 +716,18 @@ declare function buildLessonExcerpt(markdown: string, opts?: Omit<ExcerptOptions
|
|
|
711
716
|
* Normalizes SLC input into a two-level map: Record<ArtifactType, Record<CanonicalKey, LocalizedLabel>>
|
|
712
717
|
*/
|
|
713
718
|
declare function normalizeSlcContract(slc: Record<string, Record<string, string>> | string | undefined): Record<string, Record<string, string>> | undefined;
|
|
719
|
+
/**
|
|
720
|
+
* Extracts code symbol & identifier contracts from LESSON markdown.
|
|
721
|
+
* Provides deterministic symbol names (Primary Struct/Class, Entry File, Key Functions)
|
|
722
|
+
* so all satellite agents (@activity, @illustrator, @assessor) inherit them verbatim.
|
|
723
|
+
*/
|
|
724
|
+
interface SymbolLedgerResult {
|
|
725
|
+
primarySymbol?: string;
|
|
726
|
+
entryFileName?: string;
|
|
727
|
+
keySymbols: string[];
|
|
728
|
+
rawBlock: string;
|
|
729
|
+
}
|
|
730
|
+
declare function extractSymbolLedger(lessonMarkdown: string): SymbolLedgerResult;
|
|
714
731
|
|
|
715
732
|
/**
|
|
716
733
|
* Curriculum OS - Standardized Error Taxonomy & Traceability System
|
|
@@ -1230,4 +1247,4 @@ declare function getSlideLayoutPresetById(id: string): SlideLayoutPreset | undef
|
|
|
1230
1247
|
*/
|
|
1231
1248
|
declare function getSlideLayoutPresetsByCategory(category: SlideLayoutCategory): SlideLayoutPreset[];
|
|
1232
1249
|
|
|
1233
|
-
export { ACT_TEMPLATE, AIProviderName, ARTIFACT_DEPENDENCY_ROUTING, ARTIFACT_EXECUTION_ORDER, type AcademicAuditFinding, AcademicAuditor, type AcademicDimension, ActivityLab, type ArtifactDependencyRule, type ArtifactProductionSpec, type AuditBundleInput, BELL_RINGER_TEMPLATE, BLOOM_ACTION_VERBS, BOM_TEMPLATE, BloomTaxonomyEvaluator, type BuildContextOptions, CHOICE_BOARD_TEMPLATE, CODE_LAB_TEMPLATE, CURRICULUM_SLASH_COMMANDS, CodeHardwareFeasibilityEvaluator, CodeLab, type ComprehensiveAcademicReport, ConstructiveAlignmentEvaluator, type ContextInjectionMeta, type ContextSourceKey, CoverageGateReport, CrossArtifactDriftEvaluator, CurriculumError, type CurriculumErrorCode, type CurriculumErrorDetail, CurriculumPlan, DEFAULT_KX_PRIORITIES, DEFAULT_LESSON_PRIORITIES, DEFAULT_STREAM_IDLE_MS, DEFAULT_STREAM_TOTAL_MS, DEFAULT_VIETNAMESE_SECTION_HEADINGS, DependencyEdge, type DependencyValidationResult, DeterministicPipelineRunner, DeterministicStructuralLinter, DiagnosticQuiz, DiagnosticQuizInput, type DimensionScore, EXIT_TICKET_TEMPLATE, EXPOSITION_REL, EXT_TEMPLATE, type ExcerptOptions, type ExcerptResult, type ExecuteCommandResult, ExpositionApprovalError, type ExpositionLlmFn, type ExpositionResult, type ExpositionStorage, type ExtractedStreamChunk, type FindingSeverity, FiveEInstructionalEvaluator, type FrameworkLintFinding, type FrameworkLintReport, FrameworkPack, GLOSSARY_TEMPLATE, GRAPHIC_ORGANIZER_TEMPLATE, type GenerateExpositionOptions, GeneratedSlideArraySchema, GeneratedSlideSchema, HANDOUT_TEMPLATE, ICurriculumStorage, LAYER_IDLE_BUDGET_MS, LAYER_TOTAL_BUDGET_MS, LESSON_PLAN_TEMPLATE, type LayerChunkCallback, type LayerPrefillOptions, type LayerPrefillResult, type LayoutBoxConfig, LessonPlan, MisconceptionEvaluator, ModelResolutionOptions, PROJECT_INSTRUCTION_TEMPLATE, type PackingSpec, type PedagogicalModel, type PipelineExecutionProgress, PlanConstraints, type PlanOptions, type PlanResult, type PlannerLlmFn, PlanningGraph, PlanningNode, type PreliminaryResearchResult, type ProduceLessonOptions, type ProduceLessonResult, type ProjectBriefingData, type ProjectClarification, type ProjectCreationPayload, type ProjectIntentAnalysisResult, ProjectStatusReport, type ProjectionMeta, QUIZ_TEMPLATE, QualityAuditReport, REVIEW_GAME_TEMPLATE, RUBRIC_TEMPLATE, ResolvedGateSettings, SCIENCE_LAB_TEMPLATE, SELF_LAB_TEMPLATE, SLIDE_LAYOUT_PRESETS, SLIDE_TEMPLATE, STATION_ROTATION_TEMPLATE, type SlashCommandDefinition, SlideBlueprintArraySchema, SlideBlueprintItemSchema, SlideDeck, type SlideLayoutCategory, type SlideLayoutData, type SlideLayoutPreset, type SlideProductionWorkflowOptions, type SlideProductionWorkflowResult, SmartResumeContext, type StreamAbortHandle, type StreamBudget, type StreamChunkExtractor, StreamRunnerOptions, TASK_CARDS_TEMPLATE, TEACHER_GUIDE_TEMPLATE, TIERED_PRACTICE_TEMPLATE, TranslationPolicy, type TranslationTarget, type TranslationTrigger, type ValidationOptions, WORKSHEET_TEMPLATE, analyzeProjectCreationIntent, assertAcyclic, auditQualityReport, buildCurriculumContext, buildCurriculumPlan, buildExpositionContext, buildExpositionExcerpt, buildHeadingDirective, buildLanguageDirective, buildLessonExcerpt, buildSectionAwareExcerpt, buildSessionSliceContext, closeTruncatedJson, computePackingSpec, conductPreliminaryResearch, createAiInferenceError, createContextMissingError, createStreamAbortSignal, createStreamChunkExtractor, detectProjectPedagogy, ensureExpositionForLesson, ensureKnowledgeExposition, executeCurriculumCommand, executeSlideProductionWorkflow, expositionCacheKey, extractScopeSequenceRows, extractSectionHeadingsFromSLC, extractSessionSlice, extractStreamChunk, generatePhase1SotArtifacts, generatePhase2SotArtifacts, getLessonMetadata, getProjectArtifactScope, getProjectStatusReport, getSlideLayoutPresetById, getSlideLayoutPresetsByCategory, getSmartResumeContext, glossaryTermsForSession, ingestProjectGraphIntoProject, initializeProjectInStorage, isExpositionFresh, isTranslationDue, lintCurriculumFramework, loadCurriculumTemplate, loadSotTemplate, normalizePlanningGraph, normalizeSlcContract, parseRoadmapJsonToProjectPayload, produceBatchLessons, produceSingleLesson, renderFrameworkFromPlan, resolveStreamBudget, resolveTargetLanguageCode, resolveTranslationTargets, safeParseJson, slugifyProjectName, streamLLMWithFallback, streamLayerPrefillWithFallback, stripLlmJsonWrappers, targetLanguageDisplayName, topoSort, validateArtifactDependencies };
|
|
1250
|
+
export { ACT_TEMPLATE, AIProviderName, ARTIFACT_DEPENDENCY_ROUTING, ARTIFACT_EXECUTION_ORDER, type AcademicAuditFinding, AcademicAuditor, type AcademicDimension, ActivityLab, type ArtifactDependencyRule, type ArtifactProductionSpec, type AuditBundleInput, BELL_RINGER_TEMPLATE, BLOOM_ACTION_VERBS, BOM_TEMPLATE, BloomTaxonomyEvaluator, type BuildContextOptions, CHOICE_BOARD_TEMPLATE, CODE_LAB_TEMPLATE, CURRICULUM_SLASH_COMMANDS, CodeHardwareFeasibilityEvaluator, CodeLab, type ComprehensiveAcademicReport, ConstructiveAlignmentEvaluator, type ContextInjectionMeta, type ContextSourceKey, CoverageGateReport, CrossArtifactDriftEvaluator, CurriculumError, type CurriculumErrorCode, type CurriculumErrorDetail, CurriculumPlan, DEFAULT_KX_PRIORITIES, DEFAULT_LESSON_PRIORITIES, DEFAULT_STREAM_IDLE_MS, DEFAULT_STREAM_TOTAL_MS, DEFAULT_VIETNAMESE_SECTION_HEADINGS, DependencyEdge, type DependencyValidationResult, DeterministicPipelineRunner, DeterministicStructuralLinter, DiagnosticQuiz, DiagnosticQuizInput, type DimensionScore, EXIT_TICKET_TEMPLATE, EXPOSITION_REL, EXT_TEMPLATE, type ExcerptOptions, type ExcerptResult, type ExecuteCommandResult, ExpositionApprovalError, type ExpositionLlmFn, type ExpositionResult, type ExpositionStorage, type ExtractedStreamChunk, type FindingSeverity, FiveEInstructionalEvaluator, type FrameworkLintFinding, type FrameworkLintReport, FrameworkPack, GLOSSARY_TEMPLATE, GRAPHIC_ORGANIZER_TEMPLATE, type GenerateExpositionOptions, GeneratedSlideArraySchema, GeneratedSlideSchema, HANDOUT_TEMPLATE, ICurriculumStorage, LAYER_IDLE_BUDGET_MS, LAYER_TOTAL_BUDGET_MS, LESSON_PLAN_TEMPLATE, type LayerChunkCallback, type LayerPrefillOptions, type LayerPrefillResult, type LayoutBoxConfig, LessonPlan, MisconceptionEvaluator, ModelResolutionOptions, PROJECT_INSTRUCTION_TEMPLATE, type PackingSpec, type PedagogicalModel, type PipelineExecutionProgress, PlanConstraints, type PlanOptions, type PlanResult, type PlannerLlmFn, PlanningGraph, PlanningNode, type PreliminaryResearchResult, type ProduceLessonOptions, type ProduceLessonResult, type ProjectBriefingData, type ProjectClarification, type ProjectCreationPayload, type ProjectIntentAnalysisResult, ProjectStatusReport, type ProjectionMeta, QUIZ_TEMPLATE, QualityAuditReport, REVIEW_GAME_TEMPLATE, RUBRIC_TEMPLATE, ResolvedGateSettings, SCIENCE_LAB_TEMPLATE, SELF_LAB_TEMPLATE, SLIDE_LAYOUT_PRESETS, SLIDE_TEMPLATE, STATION_ROTATION_TEMPLATE, type SlashCommandDefinition, SlideBlueprintArraySchema, SlideBlueprintItemSchema, SlideDeck, type SlideLayoutCategory, type SlideLayoutData, type SlideLayoutPreset, type SlideProductionWorkflowOptions, type SlideProductionWorkflowResult, SmartResumeContext, type StreamAbortHandle, type StreamBudget, type StreamChunkExtractor, StreamRunnerOptions, type SymbolLedgerResult, TASK_CARDS_TEMPLATE, TEACHER_GUIDE_TEMPLATE, TIERED_PRACTICE_TEMPLATE, TranslationPolicy, type TranslationTarget, type TranslationTrigger, type ValidationOptions, WORKSHEET_TEMPLATE, analyzeProjectCreationIntent, assertAcyclic, auditQualityReport, buildCurriculumContext, buildCurriculumPlan, buildDomainLexiconGuardrail, buildExpositionContext, buildExpositionExcerpt, buildHeadingDirective, buildLanguageDirective, buildLessonExcerpt, buildSectionAwareExcerpt, buildSessionSliceContext, closeTruncatedJson, computePackingSpec, conductPreliminaryResearch, createAiInferenceError, createContextMissingError, createStreamAbortSignal, createStreamChunkExtractor, detectProjectPedagogy, ensureExpositionForLesson, ensureKnowledgeExposition, executeCurriculumCommand, executeSlideProductionWorkflow, expositionCacheKey, extractScopeSequenceRows, extractSectionHeadingsFromSLC, extractSessionSlice, extractStreamChunk, extractSymbolLedger, generatePhase1SotArtifacts, generatePhase2SotArtifacts, getLessonMetadata, getProjectArtifactScope, getProjectStatusReport, getSlideLayoutPresetById, getSlideLayoutPresetsByCategory, getSmartResumeContext, glossaryTermsForSession, ingestProjectGraphIntoProject, initializeProjectInStorage, isExpositionFresh, isTranslationDue, lintCurriculumFramework, loadCurriculumTemplate, loadSotTemplate, normalizePlanningGraph, normalizeSlcContract, parseRoadmapJsonToProjectPayload, produceBatchLessons, produceSingleLesson, renderFrameworkFromPlan, resolveStreamBudget, resolveTargetLanguageCode, resolveTranslationTargets, safeParseJson, slugifyProjectName, streamLLMWithFallback, streamLayerPrefillWithFallback, stripLlmJsonWrappers, targetLanguageDisplayName, topoSort, validateArtifactDependencies };
|
package/dist/index.mjs
CHANGED
|
@@ -10678,6 +10678,8 @@ ${lines.join("\n")}
|
|
|
10678
10678
|
|
|
10679
10679
|
// src/services/contextBuilder.ts
|
|
10680
10680
|
var DEFAULT_LESSON_PRIORITIES = [
|
|
10681
|
+
"Symbol & Identifier Ledger",
|
|
10682
|
+
"Artifact Contract",
|
|
10681
10683
|
"A. Lesson Design Plan",
|
|
10682
10684
|
"B. Lesson Flow",
|
|
10683
10685
|
"Learning Objectives & Evidence",
|
|
@@ -10896,6 +10898,12 @@ function normalizeHeading(str) {
|
|
|
10896
10898
|
return str.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[^\w\s]/g, " ").replace(/\s+/g, " ").trim();
|
|
10897
10899
|
}
|
|
10898
10900
|
function findCanonicalFuzzy(norm) {
|
|
10901
|
+
if (norm.includes("symbol") || norm.includes("identifier ledger") || norm.includes("dinh danh")) {
|
|
10902
|
+
return "Symbol & Identifier Ledger";
|
|
10903
|
+
}
|
|
10904
|
+
if (norm.includes("artifact contract") || norm.includes("hop dong hoc lieu")) {
|
|
10905
|
+
return "Artifact Contract";
|
|
10906
|
+
}
|
|
10899
10907
|
if (norm.includes("lesson design plan") || norm.includes("ke hoach thiet ke")) {
|
|
10900
10908
|
return "A. Lesson Design Plan";
|
|
10901
10909
|
}
|
|
@@ -10946,6 +10954,39 @@ function deriveArtifactTypeFromFileName(fileName) {
|
|
|
10946
10954
|
const token = base.match(/^([A-Z][A-Z0-9_]*?)(?=_|$)/);
|
|
10947
10955
|
return token ? token[1] : void 0;
|
|
10948
10956
|
}
|
|
10957
|
+
function extractSymbolLedger(lessonMarkdown) {
|
|
10958
|
+
const result = {
|
|
10959
|
+
keySymbols: [],
|
|
10960
|
+
rawBlock: ""
|
|
10961
|
+
};
|
|
10962
|
+
if (!lessonMarkdown) return result;
|
|
10963
|
+
const ledgerMatch = lessonMarkdown.match(/###?\s*(?:Symbol & Identifier Ledger|Bảng Định Danh|Artifact Contract)[\s\S]*?(?=\n##|\n---|$)/i);
|
|
10964
|
+
if (ledgerMatch) {
|
|
10965
|
+
result.rawBlock = ledgerMatch[0].trim();
|
|
10966
|
+
}
|
|
10967
|
+
const structMatch = lessonMarkdown.match(/(?:Primary Struct|Primary Class|Primary Function|Main Component|Primary Module|Struct chính|Class chính|Hàm chính)[:\s*`]+([A-Za-z0-9_]+)/i);
|
|
10968
|
+
if (structMatch) {
|
|
10969
|
+
result.primarySymbol = structMatch[1];
|
|
10970
|
+
result.keySymbols.push(structMatch[1]);
|
|
10971
|
+
} else {
|
|
10972
|
+
const codeStructMatch = lessonMarkdown.match(/(?:struct|class|interface|type|def|function)\s+([A-Za-z0-9_]+)/);
|
|
10973
|
+
if (codeStructMatch) {
|
|
10974
|
+
const sym = codeStructMatch[1];
|
|
10975
|
+
result.primarySymbol = sym;
|
|
10976
|
+
result.keySymbols.push(sym);
|
|
10977
|
+
}
|
|
10978
|
+
}
|
|
10979
|
+
const fileMatch = lessonMarkdown.match(/(?:Entry File|Source File|Target File|Tên file mã nguồn)[:\s*`]+([A-Za-z0-9_\-\.]+\.[a-z0-9_]+)/i);
|
|
10980
|
+
if (fileMatch) {
|
|
10981
|
+
result.entryFileName = fileMatch[1];
|
|
10982
|
+
} else {
|
|
10983
|
+
const codeFileComment = lessonMarkdown.match(/(?:\/\/\s*|#\s*|\/\*\s*)([A-Za-z0-9_\-]+\.[a-zA-Z0-9]+)/);
|
|
10984
|
+
if (codeFileComment) {
|
|
10985
|
+
result.entryFileName = codeFileComment[1];
|
|
10986
|
+
}
|
|
10987
|
+
}
|
|
10988
|
+
return result;
|
|
10989
|
+
}
|
|
10949
10990
|
|
|
10950
10991
|
// src/services/knowledgeExpositionService.ts
|
|
10951
10992
|
var EXPOSITION_REL = (lessonCode) => "_sot/expositions/" + lessonCode + ".md";
|
|
@@ -10965,8 +11006,22 @@ var DEPTH_RULES = {
|
|
|
10965
11006
|
cio: "Write WHAT + WHY + HOW: include the mechanism, step by step, still technology-independent.",
|
|
10966
11007
|
sio: "Write WHAT + WHY + HOW + SPECIFIC: include concrete implementations and how the real project keywords are used."
|
|
10967
11008
|
};
|
|
10968
|
-
function
|
|
11009
|
+
function buildDomainLexiconGuardrail(techStack, hardwarePlatform) {
|
|
11010
|
+
const targetTech = (techStack || "").trim();
|
|
11011
|
+
const targetHw = (hardwarePlatform || "").trim();
|
|
11012
|
+
const platformAnchor = [targetTech, targetHw].filter(Boolean).join(" | ");
|
|
11013
|
+
if (!platformAnchor) {
|
|
11014
|
+
return `- \u{1F512} TECHNICAL DOMAIN ANCHOR: Strictly adhere to the declared curriculum domain. Use ONLY native, standard, idiomatic syntax and mechanisms. Strictly FORBIDDEN from using foreign paradigms, cross-domain jargon, or hallucinated APIs.`;
|
|
11015
|
+
}
|
|
11016
|
+
return `- \u{1F512} STRICT DOMAIN & TECHNICAL PLATFORM ANCHOR:
|
|
11017
|
+
\u2022 Declared Platform: "${platformAnchor}"
|
|
11018
|
+
\u2022 NATIVE PARADIGM ONLY: You MUST strictly use standard, idiomatic syntax, conventions, naming patterns, and mental models of "${platformAnchor}".
|
|
11019
|
+
\u2022 ANTI-CONTAMINATION INVARIANT: Strictly FORBIDDEN from importing or using syntax, units, keywords, tags, or concepts from unrelated/foreign ecosystems (e.g., do NOT leak Web/HTML/CSS tags or units into native mobile/embedded stacks, do NOT leak dynamic scripting into statically typed systems, do NOT use hardware/circuit terminology in pure-software courses).
|
|
11020
|
+
\u2022 REAL APIS ONLY: Every method, modifier, property, and API referenced must exist in the standard SDK of "${platformAnchor}".`;
|
|
11021
|
+
}
|
|
11022
|
+
function buildSystemPrompt(targetLanguage = "vi", techStack, hardwarePlatform) {
|
|
10969
11023
|
const langDirective = buildLanguageDirective(targetLanguage);
|
|
11024
|
+
const domainGuardrails = buildDomainLexiconGuardrail(techStack, hardwarePlatform);
|
|
10970
11025
|
return [
|
|
10971
11026
|
"You write KNOWLEDGE_EXPOSITION: self-study reading material for a student in a teacherless program.",
|
|
10972
11027
|
"Rules:",
|
|
@@ -10975,6 +11030,7 @@ function buildSystemPrompt(targetLanguage = "vi") {
|
|
|
10975
11030
|
"3. Respect each concept depth target (ULO/CIO/SIO) \u2014 do not overshoot.",
|
|
10976
11031
|
"4. Student-facing only: no teacher instructions, no classroom management text.",
|
|
10977
11032
|
"5. Output the full markdown document following the provided section skeleton exactly (headers and placeholders preserved).",
|
|
11033
|
+
domainGuardrails,
|
|
10978
11034
|
langDirective
|
|
10979
11035
|
].join("\n");
|
|
10980
11036
|
}
|
|
@@ -11011,7 +11067,7 @@ function buildUserPrompt(session, plan, glossary, targetLanguage = "vi", slcMark
|
|
|
11011
11067
|
].filter(Boolean).join("\n");
|
|
11012
11068
|
}
|
|
11013
11069
|
async function ensureKnowledgeExposition(options) {
|
|
11014
|
-
const { projectId, lessonCode, plan, glossary, llmFn, storage } = options;
|
|
11070
|
+
const { projectId, lessonCode, plan, glossary, llmFn, storage, techStack, hardwarePlatform } = options;
|
|
11015
11071
|
const session = plan.sessions.find((s) => s.id === lessonCode);
|
|
11016
11072
|
if (!session) throw new Error("Session " + lessonCode + " not found in plan " + plan.plan_id);
|
|
11017
11073
|
const existing = await storage.readArtifact(projectId, EXPOSITION_REL(lessonCode));
|
|
@@ -11026,7 +11082,7 @@ async function ensureKnowledgeExposition(options) {
|
|
|
11026
11082
|
}
|
|
11027
11083
|
const targetLanguage = options.targetLanguage || plan.translation?.target_language || "vi";
|
|
11028
11084
|
const content = (await llmFn(
|
|
11029
|
-
buildSystemPrompt(targetLanguage),
|
|
11085
|
+
buildSystemPrompt(targetLanguage, techStack, hardwarePlatform),
|
|
11030
11086
|
buildUserPrompt(session, plan, glossary, targetLanguage, options.slcMarkdown)
|
|
11031
11087
|
)).trim();
|
|
11032
11088
|
if (content.length < 200) {
|
|
@@ -11096,6 +11152,18 @@ async function ensureExpositionForLesson(storage, projectId, lessonCode, options
|
|
|
11096
11152
|
}
|
|
11097
11153
|
const scopedTerms = new Set(plan.glossary_scope.find((g) => g.session_id === lessonCode)?.terms ?? []);
|
|
11098
11154
|
glossary = glossary.filter((g) => scopedTerms.has(g.term));
|
|
11155
|
+
let hw = options.hardwarePlatform;
|
|
11156
|
+
let tech = options.techStack;
|
|
11157
|
+
if (!hw || !tech) {
|
|
11158
|
+
try {
|
|
11159
|
+
const lpRaw = await storage.readSotDocument(projectId, "LEARNER_PROFILE.md");
|
|
11160
|
+
if (lpRaw) {
|
|
11161
|
+
const hwMatch = lpRaw.match(/(?:Student Equipment|Hardware|Platform|Thiết bị)[:\s*`]+([^\n\r]+)/i);
|
|
11162
|
+
if (hwMatch && !hw) hw = hwMatch[1].trim();
|
|
11163
|
+
}
|
|
11164
|
+
} catch {
|
|
11165
|
+
}
|
|
11166
|
+
}
|
|
11099
11167
|
const { runCurriculumAIInference: runCurriculumAIInference2 } = await Promise.resolve().then(() => (init_streamRunner(), streamRunner_exports));
|
|
11100
11168
|
const targetLang = options.targetLanguage || plan.translation?.target_language || "vi";
|
|
11101
11169
|
const result = await ensureKnowledgeExposition({
|
|
@@ -11105,6 +11173,8 @@ async function ensureExpositionForLesson(storage, projectId, lessonCode, options
|
|
|
11105
11173
|
glossary,
|
|
11106
11174
|
targetLanguage: targetLang,
|
|
11107
11175
|
slcMarkdown: options.slcMarkdown,
|
|
11176
|
+
techStack: tech,
|
|
11177
|
+
hardwarePlatform: hw,
|
|
11108
11178
|
llmFn: async (systemPrompt, userPrompt) => {
|
|
11109
11179
|
const runnerOpts = options.customInference ? { customInference: options.customInference } : {};
|
|
11110
11180
|
const out = await runCurriculumAIInference2(
|
|
@@ -11457,6 +11527,17 @@ function packUnitSessions(group, nodeById, spec, warnings) {
|
|
|
11457
11527
|
const node = nodeById.get(id);
|
|
11458
11528
|
const isKnowledge = node.kind === "concept";
|
|
11459
11529
|
if (node.estimated_minutes > spec.contentBudget) {
|
|
11530
|
+
if (node.estimated_minutes <= spec.sessionDurationMinutes || node.estimated_minutes <= spec.contentBudget * 1.25) {
|
|
11531
|
+
if (current.entries.length > 0) flush();
|
|
11532
|
+
const entry = { id, minutes: spec.contentBudget, part: 1, totalParts: 1 };
|
|
11533
|
+
if (isKnowledge) current.knowledgeMinutes += entry.minutes;
|
|
11534
|
+
else current.practiceMinutes += entry.minutes;
|
|
11535
|
+
current.entries.push(entry);
|
|
11536
|
+
current.nodeIds.push(id);
|
|
11537
|
+
current.oversized = false;
|
|
11538
|
+
flush();
|
|
11539
|
+
continue;
|
|
11540
|
+
}
|
|
11460
11541
|
const parts = [];
|
|
11461
11542
|
let remaining = node.estimated_minutes;
|
|
11462
11543
|
while (remaining > 0) {
|
|
@@ -11625,6 +11706,35 @@ async function buildCurriculumPlan(rawGraph, options) {
|
|
|
11625
11706
|
const unitIndexByGroup = new Map(groups.map((g, i) => [g.key, i]));
|
|
11626
11707
|
const packed = [];
|
|
11627
11708
|
for (const g of groups) packed.push(...packUnitSessions(g, nodeById, spec, warnings));
|
|
11709
|
+
if (constraints.total_sessions && packed.length > constraints.total_sessions) {
|
|
11710
|
+
warnings.push(`Initial packing produced ${packed.length} sessions, coalescing to satisfy total_sessions constraint (${constraints.total_sessions})`);
|
|
11711
|
+
for (let i = 0; i < packed.length - 1 && packed.length > constraints.total_sessions; i++) {
|
|
11712
|
+
const curr = packed[i];
|
|
11713
|
+
const next = packed[i + 1];
|
|
11714
|
+
if (curr.groupId === next.groupId) {
|
|
11715
|
+
const currMins = curr.knowledgeMinutes + curr.practiceMinutes;
|
|
11716
|
+
const nextMins = next.knowledgeMinutes + next.practiceMinutes;
|
|
11717
|
+
const totalContent = currMins + nextMins;
|
|
11718
|
+
if (currMins <= 45 || nextMins <= 45 || totalContent <= spec.contentBudget * 1.5) {
|
|
11719
|
+
const scale = totalContent > spec.contentBudget ? spec.contentBudget / totalContent : 1;
|
|
11720
|
+
curr.nodeIds.push(...next.nodeIds);
|
|
11721
|
+
for (const e of next.entries) {
|
|
11722
|
+
e.minutes = Math.max(5, Math.round(e.minutes * scale));
|
|
11723
|
+
curr.entries.push(e);
|
|
11724
|
+
}
|
|
11725
|
+
for (const e of curr.entries) {
|
|
11726
|
+
e.minutes = Math.max(5, Math.round(e.minutes * scale));
|
|
11727
|
+
}
|
|
11728
|
+
const scaledKnowledge = Math.round((curr.knowledgeMinutes + next.knowledgeMinutes) * scale);
|
|
11729
|
+
curr.knowledgeMinutes = scaledKnowledge;
|
|
11730
|
+
curr.practiceMinutes = Math.max(0, spec.contentBudget - scaledKnowledge);
|
|
11731
|
+
curr.oversized = false;
|
|
11732
|
+
packed.splice(i + 1, 1);
|
|
11733
|
+
i--;
|
|
11734
|
+
}
|
|
11735
|
+
}
|
|
11736
|
+
}
|
|
11737
|
+
}
|
|
11628
11738
|
packed.map(
|
|
11629
11739
|
(_, i) => "U" + pad2(Math.min(units.length, 99)).replace("U", "U")
|
|
11630
11740
|
/* placeholder replaced below */
|
|
@@ -25091,7 +25201,11 @@ type: "LESSON_EDP"
|
|
|
25091
25201
|
|
|
25092
25202
|
### 3. Resource Map (Slide, Handout, Starter Code, Lab Tools)
|
|
25093
25203
|
### 4. Assessment Map (Rubric criteria, formative checkpoints, remediation paths)
|
|
25094
|
-
### 5. Artifact Contract
|
|
25204
|
+
### 5. Artifact Contract & Code Symbol Ledger
|
|
25205
|
+
- **Primary Struct / Class / Component:** [Explicit canonical identifier e.g. ProfileCardView]
|
|
25206
|
+
- **Entry Source File:** [Explicit file name e.g. ProfileCardView.swift]
|
|
25207
|
+
- **Key Functions & State Variables:** [Canonical identifiers used across all student activities]
|
|
25208
|
+
- **Artifact Specifications:** [Deliverable requirements for ACT, SLIDE, QUIZ, GUIDE, WKS, CODE, EXT]
|
|
25095
25209
|
|
|
25096
25210
|
---
|
|
25097
25211
|
|
|
@@ -25141,7 +25255,11 @@ type: "LESSON_GENERAL"
|
|
|
25141
25255
|
|
|
25142
25256
|
### 3. Resource Map
|
|
25143
25257
|
### 4. Assessment Map
|
|
25144
|
-
### 5. Artifact Contract
|
|
25258
|
+
### 5. Artifact Contract & Code Symbol Ledger
|
|
25259
|
+
- **Primary Struct / Class / Component:** [Explicit canonical identifier e.g. MainComponent]
|
|
25260
|
+
- **Entry Source File:** [Explicit file name e.g. MainComponent.ext]
|
|
25261
|
+
- **Key Functions & State Variables:** [Canonical identifiers used across all student activities]
|
|
25262
|
+
- **Artifact Specifications:** [Deliverable requirements for ACT, SLIDE, QUIZ, GUIDE, WKS, CODE, EXT]
|
|
25145
25263
|
|
|
25146
25264
|
---
|
|
25147
25265
|
|
|
@@ -25189,7 +25307,11 @@ type: "LESSON_5E"
|
|
|
25189
25307
|
|
|
25190
25308
|
### 3. Resource Map
|
|
25191
25309
|
### 4. Assessment Map
|
|
25192
|
-
### 5. Artifact Contract
|
|
25310
|
+
### 5. Artifact Contract & Code Symbol Ledger
|
|
25311
|
+
- **Primary Struct / Class / Component:** [Explicit canonical identifier e.g. MainComponent]
|
|
25312
|
+
- **Entry Source File:** [Explicit file name e.g. MainComponent.ext]
|
|
25313
|
+
- **Key Functions & State Variables:** [Canonical identifiers used across all student activities]
|
|
25314
|
+
- **Artifact Specifications:** [Deliverable requirements for ACT, SLIDE, QUIZ, GUIDE, WKS, CODE, EXT]
|
|
25193
25315
|
|
|
25194
25316
|
---
|
|
25195
25317
|
|
|
@@ -25764,17 +25886,23 @@ ${currentContent}` }],
|
|
|
25764
25886
|
artifactType: "LESSON"
|
|
25765
25887
|
});
|
|
25766
25888
|
const lessonExcerpt = lessonExcerptResult.excerpt;
|
|
25767
|
-
|
|
25768
|
-
source: "LESSON",
|
|
25889
|
+
({
|
|
25769
25890
|
verified: lessonExcerptResult.verified,
|
|
25770
25891
|
sectionAware: lessonExcerptResult.sectionAware,
|
|
25771
25892
|
issues: lessonExcerptResult.issues
|
|
25772
|
-
};
|
|
25773
|
-
|
|
25893
|
+
});
|
|
25894
|
+
const symbolLedger = extractSymbolLedger(lessonContent);
|
|
25895
|
+
const symbolLedgerBlock = symbolLedger.primarySymbol ? `
|
|
25896
|
+
|
|
25897
|
+
[MANDATORY CODE SYMBOL REGISTRY (Inherited from LESSON Plan)]:
|
|
25898
|
+
- Primary Struct / Class / Component: \`${symbolLedger.primarySymbol}\`
|
|
25899
|
+
- Entry Source File: \`${symbolLedger.entryFileName || symbolLedger.primarySymbol}\`
|
|
25900
|
+
- Key Identifiers to inherit verbatim: ${symbolLedger.keySymbols.map((s) => `\`${s}\``).join(", ")}
|
|
25901
|
+
- INVARIANT: You MUST use these exact identifier names in all code examples, exercises, and test assertions. Do NOT invent new struct/class names!` : "";
|
|
25774
25902
|
const satelliteContext = `${commonContext}
|
|
25775
25903
|
|
|
25776
25904
|
[CANONICAL LESSON PLAN (${pedagogyLabel})]:
|
|
25777
|
-
${lessonExcerpt}`;
|
|
25905
|
+
${lessonExcerpt}${symbolLedgerBlock}`;
|
|
25778
25906
|
const judgeSat = (sat, content) => {
|
|
25779
25907
|
if (gateModeFor(gates, sat) !== "LLM_JUDGE") return Promise.resolve();
|
|
25780
25908
|
return judgeSatelliteArtifact({
|
|
@@ -26277,6 +26405,14 @@ ${buildHeadingDirective("CODE", slcMarkdown, targetLang)}`;
|
|
|
26277
26405
|
c3: "### Challenge 3: [Name] (Difficulty: \u2B50\u2B50\u2B50\u2B50\u2B50) \u2014 Extension Milestones (Level 1: Ninja \u2192 Level 2: Guru \u2192 Level 3: Master)",
|
|
26278
26406
|
meta: "## [REQUIRED] Metacognitive Deep Dive & Engineering Trade-offs"
|
|
26279
26407
|
};
|
|
26408
|
+
const lessonIdxMatch = lessonCode.match(/L0*(\d+)/i);
|
|
26409
|
+
const lessonIdx = lessonIdxMatch ? parseInt(lessonIdxMatch[1], 10) : 1;
|
|
26410
|
+
const isEarlyLesson = lessonIdx <= 4;
|
|
26411
|
+
const zpdCeilingPrompt = isEarlyLesson ? `
|
|
26412
|
+
4. CRITICAL ZPD SCOPE LOCK (LESSON #${lessonIdx} - FOUNDATIONAL):
|
|
26413
|
+
- This is an early foundational lesson. The extension challenge MUST focus on creative design variations, parameterization, or edge cases of the current lesson concepts ONLY.
|
|
26414
|
+
- STRICTLY FORBIDDEN: NEVER introduce advanced mechanisms from future lessons (No complex event buses, No remote network/API calls, No persistent databases, No async concurrency, No out-of-scope hardware/sensors).` : `
|
|
26415
|
+
4. ZPD SCOPE: Focus on architectural edge cases, algorithmic optimization, and synthesis of learned concepts up to Lesson #${lessonIdx}.`;
|
|
26280
26416
|
const extPrompt = `You are @activity (Lead STEM Specialist & Differentiated Extension Designer).
|
|
26281
26417
|
Based on Master Lesson Plan \`LESSON_${lessonCode}.md\`, author the advanced extension challenge: \`EXT_${lessonCode}.md\`.
|
|
26282
26418
|
|
|
@@ -26308,6 +26444,7 @@ ${extHeadings.sub}
|
|
|
26308
26444
|
- ${extHeadings.c3}
|
|
26309
26445
|
- ${extHeadings.meta}
|
|
26310
26446
|
3. Output 100% clean Markdown directly \u2014 NO code fences around the document.
|
|
26447
|
+
${zpdCeilingPrompt}
|
|
26311
26448
|
|
|
26312
26449
|
${languageDirective}
|
|
26313
26450
|
|
|
@@ -26838,6 +26975,15 @@ async function generateSingleArtifact(req) {
|
|
|
26838
26975
|
const artifactSpecializedPrompt = getArtifactSpecializedInvariants(artifactType, {
|
|
26839
26976
|
...req,
|
|
26840
26977
|
studentCount});
|
|
26978
|
+
const techStack = req.config?.techStack || req.hardwarePlatform?.[0] || "Declared Technical Domain";
|
|
26979
|
+
const domainGuardrail = buildDomainLexiconGuardrail(techStack, hwStr);
|
|
26980
|
+
const symbolLedger = contextSot.lessonPlan ? extractSymbolLedger(contextSot.lessonPlan) : null;
|
|
26981
|
+
const symbolLedgerPrompt = symbolLedger?.primarySymbol ? `
|
|
26982
|
+
7. MANDATORY CODE SYMBOL REGISTRY (Inherited from Canonical LESSON):
|
|
26983
|
+
- Primary Struct / Class: \`${symbolLedger.primarySymbol}\`
|
|
26984
|
+
- Entry Source File: \`${symbolLedger.entryFileName || symbolLedger.primarySymbol + ".swift"}\`
|
|
26985
|
+
- Key Identifiers to inherit: ${symbolLedger.keySymbols.map((s) => `\`${s}\``).join(", ")}
|
|
26986
|
+
- INVARIANT: You MUST use these exact identifier names in all code examples, exercises, and starter templates. Do NOT invent conflicting struct or class names.` : "";
|
|
26841
26987
|
const systemPrompt = `You are ${meta.persona}, an expert Curriculum & Pedagogical Specialist in the Curriculum OS Multi-Agent Team.
|
|
26842
26988
|
Your task is to author a canonical, publication-grade learning artifact of type "${artifactType.toUpperCase()}".
|
|
26843
26989
|
|
|
@@ -26848,7 +26994,10 @@ ${headingDirective}
|
|
|
26848
26994
|
3. PEDAGOGICAL GROUNDING: Strictly align with the ${pedagogy.toUpperCase()} model, Bloom's Revised Taxonomy, and IEEE/ACM CS2023 guidelines.
|
|
26849
26995
|
4. SCAFFOLDING LEVEL: "${scaffoldingLevel.toUpperCase()}".${scaffoldingRule}
|
|
26850
26996
|
5. TARGET AUDIENCE: ${gradeLevel ? `Grade ${gradeLevel}, ` : ""}${targetAge} on ${hwStr}.${deviceRule}${classDynamicsRule}${extraContextRule}
|
|
26851
|
-
6.
|
|
26997
|
+
6. DOMAIN & TECH STACK GUARDRAILS:
|
|
26998
|
+
${domainGuardrail}
|
|
26999
|
+
${symbolLedgerPrompt}
|
|
27000
|
+
8. OUTPUT INTEGRITY: Output clean Markdown starting directly with YAML frontmatter. Do not wrap entire response in triple backticks.${artifactSpecializedPrompt}${mediaPolicy ? `
|
|
26852
27001
|
|
|
26853
27002
|
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).
|
|
26854
27003
|
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.` : ""}`;
|
|
@@ -27328,6 +27477,24 @@ ${includeUnitTests ? "- Unit Testing: Provide automated assertions or test runne
|
|
|
27328
27477
|
1. **CLASS-SCALED INVENTORY FOR ${studentCount} STUDENTS**:
|
|
27329
27478
|
- Exact quantities calculated for ${studentCount} students.
|
|
27330
27479
|
- Component specifications, estimated unit cost, and affordable alternatives.`;
|
|
27480
|
+
case "ext": {
|
|
27481
|
+
const lessonIdxMatch = (req.lessonId || "").match(/L0*(\d+)/i);
|
|
27482
|
+
const lessonIdx = lessonIdxMatch ? parseInt(lessonIdxMatch[1], 10) : 1;
|
|
27483
|
+
const isEarlyLesson = lessonIdx <= 4;
|
|
27484
|
+
const zpdCeilingRule = isEarlyLesson ? `- \u{1F6D1} ZPD COMPLEXITY CEILING (FOUNDATIONAL LESSON #${lessonIdx}):
|
|
27485
|
+
\u2022 SCOPE LOCK: This is an early foundational lesson. The extension challenge MUST focus on creative design variations, parameterization, or edge cases of the current lesson concepts ONLY.
|
|
27486
|
+
\u2022 STRICTLY FORBIDDEN: NEVER introduce advanced mechanisms from future lessons (No complex event buses, No remote network/API calls, No persistent databases, No async concurrency, No out-of-scope hardware/sensors).` : `- \u{1F680} ZPD ADVANCED CHALLENGE (LESSON #${lessonIdx}):
|
|
27487
|
+
\u2022 Focus on architectural edge cases, algorithmic optimization, and synthesis of learned concepts up to Lesson #${lessonIdx}.`;
|
|
27488
|
+
return `
|
|
27489
|
+
### \u{1F680} EXTENSION CHALLENGE ARCHITECTURE INVARIANTS:
|
|
27490
|
+
${zpdCeilingRule}
|
|
27491
|
+
1. **STRUCTURED 3-TIER CHALLENGES**:
|
|
27492
|
+
- Challenge 1 (Mission Briefing): High-stakes real-world scenario applying today's concepts.
|
|
27493
|
+
- Challenge 2 (Architectural Constraints & Edge Cases): Deeper technical rules without violating prerequisite boundaries.
|
|
27494
|
+
- Challenge 3 (Extension Milestones): Progressive milestones (Level 1: Novice \u2192 Level 2: Advanced \u2192 Level 3: Master).
|
|
27495
|
+
2. **METACOGNITIVE & ENGINEERING TRADE-OFFS**:
|
|
27496
|
+
- Explicit reflection prompts evaluating architectural choices, code maintainability, and design patterns.`;
|
|
27497
|
+
}
|
|
27331
27498
|
case "lesson": {
|
|
27332
27499
|
const lessonDuration = cfg.lessonDuration || 90;
|
|
27333
27500
|
const pedagogicalModel = cfg.pedagogicalModel || req.pedagogy || "5e";
|
|
@@ -30948,6 +31115,6 @@ function renderMediaPlaceholder(entry) {
|
|
|
30948
31115
|
return `> \u{1F5BC}\uFE0F [\u1EA2nh \u0111ang ch\u1EDD: ${entry.name} \u2014 s\u1EBD \u0111\u01B0\u1EE3c t\u1EA1o sau khi duy\u1EC7t media]`;
|
|
30949
31116
|
}
|
|
30950
31117
|
|
|
30951
|
-
export { ACT_TEMPLATE, ARTIFACT_DEPENDENCY_ROUTING, ARTIFACT_EXECUTION_ORDER, AcademicAuditor, ActiveLearningWorkflowSchema, ActivityLabSchema, ActivitySeqRowSchema, ActivityStepSchema, ArtifactContractRowSchema, AssessmentMapRowSchema, AssessmentObjectiveSchema, BELL_RINGER_TEMPLATE, BLOOM_ACTION_VERBS, BOM_TEMPLATE, BUNDLED_STANDARDS_PACK_IDS, BellRingerDaySchema, BellRingerSchema, BloomHintSchema, BloomLevelSchema, BloomTaxonomyEvaluator, BronzeTierSchema, CERConclusionSchema, CHOICE_BOARD_TEMPLATE, CODE_LAB_TEMPLATE, CURRICULUM_SLASH_COMMANDS, CardTierEnum, ChoiceBoardRubricRowSchema, ChoiceBoardSchema, ChoiceRuleSchema, ChoiceSquareSchema, ClassificationSchema, CodeHardwareFeasibilityEvaluator, CodeLabSchema, CodeSnippetSchema, CompetencyRubricRowSchema, ComputationalThinkingSchema, 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_STREAM_IDLE_MS, DEFAULT_STREAM_TOTAL_MS, DEFAULT_VIETNAMESE_SECTION_HEADINGS, DependencyEdgeSchema, DepthAssignmentSchema, DepthLevelSchema, DeterministicPipelineRunner, DeterministicStructuralLinter, DiagnosticQuestionSchema, DiagnosticQuizSchema, EDPPhaseEnum, EXIT_TICKET_TEMPLATE, EXPOSITION_REL, EXT_TEMPLATE, EntryLevelSchema, ExitTicketBugHuntSchema, ExitTicketMetacognitionSchema, ExitTicketQuickItemSchema, ExitTicketRecallPromptSchema, ExitTicketSchema, ExperimentalDesignSchema, ExpositionApprovalError, ExtensionChallengeSchema, ExtensionSchema, FileSystemCurriculumAdapter, FiveEFlowPhaseSchema, FiveEInstructionalEvaluator, FiveEPhaseEnum, FrameworkMappingSchema, FrameworkPackManifestSchema, FrameworkPackSchema, FrameworkStatementSchema, GLOSSARY_TEMPLATE, GRAPHIC_ORGANIZER_TEMPLATE, GeneratedSlideArraySchema, GeneratedSlideSchema, GlossaryQuickRefRowSchema, GlossarySchema, GlossaryTermSchema, GoldTierSchema, GradeBandSchema, GraphicOrganizerItemSchema, GraphicOrganizerSchema, HANDOUT_TEMPLATE, HandoutSchema, HandoutSectionSchema, InstructionSectionSchema, InstructionStepSchema, JudgeCriterionSchema, LAYER_IDLE_BUDGET_MS, LAYER_TOTAL_BUDGET_MS, LESSON_PLAN_TEMPLATE, LLMJudgeEngine, LabTierTaskSchema, LearningObjectiveInputSchema, LearningObjectiveRowSchema, LessonFlowPhaseSchema, LessonPlan5ESchema, LessonPlanEDPSchema, LessonPlanSchema, LessonSectionSchema, LocalWorkspaceManager, MappingKindSchema, MarpSlideSchema, MediaError, MediaLedger, MentorCheatsheetSchema, MilestoneInputSchema, MisconceptionEvaluator, MisconceptionSchema, ModelPolicyResolver, NVIDIA_MODELS, NodeKindSchema, OrganizerTypeEnum, PROJECT_INSTRUCTION_TEMPLATE, PhaseInputSchema, PlanConstraintsSchema, PlannerInputSchema, PlanningGraphSchema, PlanningNodeSchema, PrerequisiteDecisionEntrySchema, PrerequisiteDecisionSchema, ProductGoalSchema, ProgressiveHintsSchema, ProjectGraphSchema, ProjectInstructionSchema, ProjectProfileSchema, QUIZ_TEMPLATE, QualityAuditVerdictSchema, QuizOptionSchema, REVIEW_GAME_TEMPLATE, RUBRIC_TEMPLATE, RecordProvenanceSchema, ResourceMapRowSchema, ReviewGameExportRowSchema, ReviewGameQuestionSchema, ReviewGameSchema, RoadmapInputSchema, RotationStationSchema, RubricCriteriaSchema, RubricSchema, SCIENCE_LAB_TEMPLATE, SELF_LAB_TEMPLATE, SLIDE_CANONICAL_METHODOLOGY, SLIDE_LAYOUT_PRESETS, SLIDE_TEMPLATE, STANDARD_REF_REGEX, STANDARD_SOT_FILES, STATION_ROTATION_TEMPLATE, ScaffoldDecisionEntrySchema, ScaffoldDecisionSchema, ScienceLabSchema, ScoringRubricRowSchema, SelfLabSchema, SelfPacedBundleSchema, SelfPacedChallengeSchema, SessionPlanSchema, SilverTierSchema, SlideBlueprintArraySchema, SlideBlueprintItemSchema, SlideDeckSchema, StandardizedTermRowSchema, StandardsRegistryAdapter, StationRecordRowSchema, StationRotationSchema, StationTypeEnum, SupabaseCurriculumAdapter, TASK_CARDS_TEMPLATE, TEACHER_GUIDE_TEMPLATE, TIERED_PRACTICE_TEMPLATE, TaskCardSchema, TaskCardsSchema, TeacherGuideSchema, TeachingScriptPhaseSchema, TierLevelEnum, TierObjectiveSchema, TieredPracticeSchema, TranslationPolicySchema, TroubleshootingEntrySchema, TroubleshootingRowSchema, UnitPlanSchema, UserJourneySchema, WORKSHEET_TEMPLATE, WorksheetItemSchema, WorksheetItemTypeEnum, WorksheetPartSchema, WorksheetSchema, activityTools, analystTools, analyzeProjectCreationIntent, assertAcyclic, assessorTools, auditCurriculumQualityFlow, auditQualityReport, buildActivityPrompt, buildCodeLabPrompt, buildCurriculumContext, buildCurriculumPlan, buildDeliveryPackages, buildDiagnosticQuizPrompt, buildExpositionContext, buildExpositionExcerpt, buildExtensionPrompt, buildHandoutPrompt, buildHeadingDirective, buildHtmlDeckSlidePrompt, buildImagePrompt, buildJudgePrompt, buildLanguageDirective, buildLessonExcerpt, buildLessonMasterPrompt, buildMarpMarkdownSlidePrompt, buildProjectInstructionPrompt, buildSectionAwareExcerpt, buildSelfLabPrompt, buildSessionSliceContext, buildSlidesPrompt, buildStandardStackMarkdown, buildStandardsContext, buildStandardsContextBlock, buildTeacherGuidePrompt, buildWorksheetPrompt, closeTruncatedJson, computeContentHash, computePackingSpec, conductPreliminaryResearch, contentTools, convertRoadmapToFoundationSot, createAiInferenceError, createContextMissingError, createCurriculumStorage, createIdleAbortController, createStreamAbortController, createStreamAbortSignal, createStreamChunkExtractor, curateMediaLedger, designerTools, detectProjectPedagogy, ensureExpositionForLesson, ensureKnowledgeExposition, evaluateStandardsCoverage, executeCurriculumCommand, executeSlideProductionWorkflow, exportAllProjectQuizzes, expositionCacheKey, extractScopeSequenceRows, extractSectionHeadingsFromSLC, extractSessionSlice, extractStandardRefs, extractStreamChunk, extractThoughtAndContent, 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, getSlideLayoutPresetById, getSlideLayoutPresetsByCategory, getSmartResumeContext, glossaryTermsForSession, illustratorTools, importRoadmapToProject, ingestProjectGraphIntoProject, initializeProjectInStorage, injectMediaIntoMarkdown, isExpositionFresh, isModelAllowed, isProviderEnabled, isTranslationDue, lintAndSanitizeArtifact, lintCurriculumFramework, lintFrameworkPack, loadCurriculumTemplate, loadSotTemplate, normalizePlanningGraph, normalizeSlcContract, packagerTools, parseGateSettings, parseQuizMarkdown, parseRoadmapJsonToProjectPayload, produceBatchLessons, produceSingleLesson, publishToGitHub, publishToSupabase, rankGenCandidates, renderFrameworkFromPlan, renderMediaPlaceholder, researcherTools, 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, stripLlmJsonWrappers, targetLanguageDisplayName, techSmeTools, topoSort, uploadAssetToBucket, validateArtifactDependencies, validateCurriculumPlan, validateFrameworkPack, validateMarkdownTables, validateMermaidSyntax, withAutoRepair };
|
|
31118
|
+
export { ACT_TEMPLATE, ARTIFACT_DEPENDENCY_ROUTING, ARTIFACT_EXECUTION_ORDER, AcademicAuditor, ActiveLearningWorkflowSchema, ActivityLabSchema, ActivitySeqRowSchema, ActivityStepSchema, ArtifactContractRowSchema, AssessmentMapRowSchema, AssessmentObjectiveSchema, BELL_RINGER_TEMPLATE, BLOOM_ACTION_VERBS, BOM_TEMPLATE, BUNDLED_STANDARDS_PACK_IDS, BellRingerDaySchema, BellRingerSchema, BloomHintSchema, BloomLevelSchema, BloomTaxonomyEvaluator, BronzeTierSchema, CERConclusionSchema, CHOICE_BOARD_TEMPLATE, CODE_LAB_TEMPLATE, CURRICULUM_SLASH_COMMANDS, CardTierEnum, ChoiceBoardRubricRowSchema, ChoiceBoardSchema, ChoiceRuleSchema, ChoiceSquareSchema, ClassificationSchema, CodeHardwareFeasibilityEvaluator, CodeLabSchema, CodeSnippetSchema, CompetencyRubricRowSchema, ComputationalThinkingSchema, 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_STREAM_IDLE_MS, DEFAULT_STREAM_TOTAL_MS, DEFAULT_VIETNAMESE_SECTION_HEADINGS, DependencyEdgeSchema, DepthAssignmentSchema, DepthLevelSchema, DeterministicPipelineRunner, DeterministicStructuralLinter, DiagnosticQuestionSchema, DiagnosticQuizSchema, EDPPhaseEnum, EXIT_TICKET_TEMPLATE, EXPOSITION_REL, EXT_TEMPLATE, EntryLevelSchema, ExitTicketBugHuntSchema, ExitTicketMetacognitionSchema, ExitTicketQuickItemSchema, ExitTicketRecallPromptSchema, ExitTicketSchema, ExperimentalDesignSchema, ExpositionApprovalError, ExtensionChallengeSchema, ExtensionSchema, FileSystemCurriculumAdapter, FiveEFlowPhaseSchema, FiveEInstructionalEvaluator, FiveEPhaseEnum, FrameworkMappingSchema, FrameworkPackManifestSchema, FrameworkPackSchema, FrameworkStatementSchema, GLOSSARY_TEMPLATE, GRAPHIC_ORGANIZER_TEMPLATE, GeneratedSlideArraySchema, GeneratedSlideSchema, GlossaryQuickRefRowSchema, GlossarySchema, GlossaryTermSchema, GoldTierSchema, GradeBandSchema, GraphicOrganizerItemSchema, GraphicOrganizerSchema, HANDOUT_TEMPLATE, HandoutSchema, HandoutSectionSchema, InstructionSectionSchema, InstructionStepSchema, JudgeCriterionSchema, LAYER_IDLE_BUDGET_MS, LAYER_TOTAL_BUDGET_MS, LESSON_PLAN_TEMPLATE, LLMJudgeEngine, LabTierTaskSchema, LearningObjectiveInputSchema, LearningObjectiveRowSchema, LessonFlowPhaseSchema, LessonPlan5ESchema, LessonPlanEDPSchema, LessonPlanSchema, LessonSectionSchema, LocalWorkspaceManager, MappingKindSchema, MarpSlideSchema, MediaError, MediaLedger, MentorCheatsheetSchema, MilestoneInputSchema, MisconceptionEvaluator, MisconceptionSchema, ModelPolicyResolver, NVIDIA_MODELS, NodeKindSchema, OrganizerTypeEnum, PROJECT_INSTRUCTION_TEMPLATE, PhaseInputSchema, PlanConstraintsSchema, PlannerInputSchema, PlanningGraphSchema, PlanningNodeSchema, PrerequisiteDecisionEntrySchema, PrerequisiteDecisionSchema, ProductGoalSchema, ProgressiveHintsSchema, ProjectGraphSchema, ProjectInstructionSchema, ProjectProfileSchema, QUIZ_TEMPLATE, QualityAuditVerdictSchema, QuizOptionSchema, REVIEW_GAME_TEMPLATE, RUBRIC_TEMPLATE, RecordProvenanceSchema, ResourceMapRowSchema, ReviewGameExportRowSchema, ReviewGameQuestionSchema, ReviewGameSchema, RoadmapInputSchema, RotationStationSchema, RubricCriteriaSchema, RubricSchema, SCIENCE_LAB_TEMPLATE, SELF_LAB_TEMPLATE, SLIDE_CANONICAL_METHODOLOGY, SLIDE_LAYOUT_PRESETS, SLIDE_TEMPLATE, STANDARD_REF_REGEX, STANDARD_SOT_FILES, STATION_ROTATION_TEMPLATE, ScaffoldDecisionEntrySchema, ScaffoldDecisionSchema, ScienceLabSchema, ScoringRubricRowSchema, SelfLabSchema, SelfPacedBundleSchema, SelfPacedChallengeSchema, SessionPlanSchema, SilverTierSchema, SlideBlueprintArraySchema, SlideBlueprintItemSchema, SlideDeckSchema, StandardizedTermRowSchema, StandardsRegistryAdapter, StationRecordRowSchema, StationRotationSchema, StationTypeEnum, SupabaseCurriculumAdapter, TASK_CARDS_TEMPLATE, TEACHER_GUIDE_TEMPLATE, TIERED_PRACTICE_TEMPLATE, TaskCardSchema, TaskCardsSchema, TeacherGuideSchema, TeachingScriptPhaseSchema, TierLevelEnum, TierObjectiveSchema, TieredPracticeSchema, TranslationPolicySchema, TroubleshootingEntrySchema, TroubleshootingRowSchema, UnitPlanSchema, UserJourneySchema, WORKSHEET_TEMPLATE, WorksheetItemSchema, WorksheetItemTypeEnum, WorksheetPartSchema, WorksheetSchema, activityTools, analystTools, analyzeProjectCreationIntent, assertAcyclic, assessorTools, auditCurriculumQualityFlow, auditQualityReport, buildActivityPrompt, buildCodeLabPrompt, buildCurriculumContext, buildCurriculumPlan, buildDeliveryPackages, buildDiagnosticQuizPrompt, buildDomainLexiconGuardrail, buildExpositionContext, buildExpositionExcerpt, buildExtensionPrompt, buildHandoutPrompt, buildHeadingDirective, buildHtmlDeckSlidePrompt, buildImagePrompt, buildJudgePrompt, buildLanguageDirective, buildLessonExcerpt, buildLessonMasterPrompt, buildMarpMarkdownSlidePrompt, buildProjectInstructionPrompt, buildSectionAwareExcerpt, buildSelfLabPrompt, buildSessionSliceContext, buildSlidesPrompt, buildStandardStackMarkdown, buildStandardsContext, buildStandardsContextBlock, buildTeacherGuidePrompt, buildWorksheetPrompt, closeTruncatedJson, computeContentHash, computePackingSpec, conductPreliminaryResearch, contentTools, convertRoadmapToFoundationSot, createAiInferenceError, createContextMissingError, createCurriculumStorage, createIdleAbortController, createStreamAbortController, createStreamAbortSignal, createStreamChunkExtractor, curateMediaLedger, designerTools, detectProjectPedagogy, ensureExpositionForLesson, ensureKnowledgeExposition, evaluateStandardsCoverage, executeCurriculumCommand, executeSlideProductionWorkflow, exportAllProjectQuizzes, expositionCacheKey, extractScopeSequenceRows, extractSectionHeadingsFromSLC, extractSessionSlice, extractStandardRefs, extractStreamChunk, extractSymbolLedger, extractThoughtAndContent, 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, getSlideLayoutPresetById, getSlideLayoutPresetsByCategory, getSmartResumeContext, glossaryTermsForSession, illustratorTools, importRoadmapToProject, ingestProjectGraphIntoProject, initializeProjectInStorage, injectMediaIntoMarkdown, isExpositionFresh, isModelAllowed, isProviderEnabled, isTranslationDue, lintAndSanitizeArtifact, lintCurriculumFramework, lintFrameworkPack, loadCurriculumTemplate, loadSotTemplate, normalizePlanningGraph, normalizeSlcContract, packagerTools, parseGateSettings, parseQuizMarkdown, parseRoadmapJsonToProjectPayload, produceBatchLessons, produceSingleLesson, publishToGitHub, publishToSupabase, rankGenCandidates, renderFrameworkFromPlan, renderMediaPlaceholder, researcherTools, 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, stripLlmJsonWrappers, targetLanguageDisplayName, techSmeTools, topoSort, uploadAssetToBucket, validateArtifactDependencies, validateCurriculumPlan, validateFrameworkPack, validateMarkdownTables, validateMermaidSyntax, withAutoRepair };
|
|
30952
31119
|
//# sourceMappingURL=index.mjs.map
|
|
30953
31120
|
//# sourceMappingURL=index.mjs.map
|