@thanh01.pmt/curriculum-kit 1.2.0 → 1.3.0
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.cjs +53 -4
- package/dist/ai/index.cjs.map +1 -1
- package/dist/ai/index.d.cts +11 -1
- package/dist/ai/index.d.ts +11 -1
- package/dist/ai/index.mjs +53 -5
- package/dist/ai/index.mjs.map +1 -1
- package/dist/{gateSettings-Buk_MSML.d.cts → gateSettings-L3FR2-MO.d.cts} +1 -0
- package/dist/{gateSettings-Buk_MSML.d.ts → gateSettings-L3FR2-MO.d.ts} +1 -0
- package/dist/index.cjs +316 -45
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.mjs +316 -46
- package/dist/index.mjs.map +1 -1
- package/dist/pipeline/index.cjs +4 -4
- package/dist/pipeline/index.cjs.map +1 -1
- package/dist/pipeline/index.mjs +4 -4
- package/dist/pipeline/index.mjs.map +1 -1
- package/dist/workflow/index.cjs +22 -4
- package/dist/workflow/index.cjs.map +1 -1
- package/dist/workflow/index.d.cts +2 -2
- package/dist/workflow/index.d.ts +2 -2
- package/dist/workflow/index.mjs +22 -4
- package/dist/workflow/index.mjs.map +1 -1
- package/package.json +2 -1
package/dist/index.d.cts
CHANGED
|
@@ -2,7 +2,7 @@ import { PlanConstraints, TranslationPolicy, CurriculumPlan, PlanningGraph, Plan
|
|
|
2
2
|
export { ActiveLearningWorkflow, ActiveLearningWorkflowSchema, ActivityLabSchema, ActivitySeqRow, ActivitySeqRowSchema, ActivityStepSchema, ArtifactContractRowSchema, AssessmentMapRowSchema, AssessmentObjective, AssessmentObjectiveSchema, BellRinger, BellRingerDay, BellRingerDaySchema, BellRingerInput, BellRingerSchema, BloomLevel, BloomLevelSchema, BronzeTier, BronzeTierSchema, CERConclusion, CERConclusionSchema, CardTierEnum, ChoiceBoard, ChoiceBoardInput, ChoiceBoardRubricRowSchema, ChoiceBoardSchema, ChoiceRuleSchema, ChoiceSquare, ChoiceSquareSchema, CodeLabSchema, CodeSnippet, CodeSnippetSchema, CompetencyRubricRow, CompetencyRubricRowSchema, ComputationalThinking, ComputationalThinkingSchema, CoreConcept, CoreConceptSchema, CourseObjective, CourseObjectiveSchema, CoverageReport, CoverageReportSchema, CurriculumArtifact, CurriculumArtifactSchema, CurriculumPlanSchema, CurriculumQualityReport, CurriculumQualityReportSchema, DependencyEdgeSchema, DepthAssignment, DepthAssignmentSchema, DepthLevel, DepthLevelSchema, DiagnosticQuestion, DiagnosticQuestionInput, DiagnosticQuestionSchema, DiagnosticQuizSchema, EDPPhaseEnum, EntryLevelSchema, ExitTicket, ExitTicketBugHunt, ExitTicketBugHuntSchema, ExitTicketMetacognitionSchema, ExitTicketQuickItemSchema, ExitTicketRecallPromptSchema, ExitTicketSchema, ExperimentalDesignSchema, Extension, ExtensionChallengeSchema, ExtensionSchema, FiveEFlowPhaseSchema, FiveEPhaseEnum, Glossary, GlossaryInput, GlossaryQuickRefRowSchema, GlossarySchema, GlossaryTerm, GlossaryTermSchema, GoldTier, GoldTierSchema, GraphicOrganizer, GraphicOrganizerInput, GraphicOrganizerItem, GraphicOrganizerItemSchema, GraphicOrganizerSchema, Handout, HandoutSchema, HandoutSection, HandoutSectionSchema, InstructionSection, InstructionSectionSchema, InstructionStep, InstructionStepSchema, JudgeCriterionSchema, LabTierTask, LabTierTaskSchema, LearningObjectiveInput, LearningObjectiveInputSchema, LearningObjectiveRow, LearningObjectiveRowSchema, LessonFlowPhase, LessonFlowPhaseSchema, LessonPlan5E, LessonPlan5ESchema, LessonPlanEDP, LessonPlanEDPSchema, LessonPlanSchema, LessonSectionSchema, MarpSlide, MarpSlideSchema, MentorCheatsheetSchema, MilestoneInput, MilestoneInputSchema, Misconception, MisconceptionSchema, NodeKindSchema, OrganizerTypeEnum, PhaseInput, PhaseInputSchema, PlanConstraintsSchema, PlannerInput, PlannerInputSchema, PlanningGraphSchema, PlanningNodeSchema, PlanningPhase, PrerequisiteDecision, PrerequisiteDecisionEntry, PrerequisiteDecisionEntrySchema, PrerequisiteDecisionSchema, ProductGoalSchema, ProgressiveHints, ProgressiveHintsSchema, ProjectGraph, ProjectGraphSchema, ProjectInstruction, ProjectInstructionSchema, ProjectProfile, ProjectProfileSchema, ProjectRoadmap, QualityAuditVerdictSchema, QuizOption, QuizOptionSchema, ResourceMapRowSchema, ReviewGame, ReviewGameExportRowSchema, ReviewGameInput, ReviewGameQuestion, ReviewGameQuestionSchema, ReviewGameSchema, RoadmapInput, RoadmapInputSchema, RotationStation, RotationStationSchema, Rubric, RubricCriteria, RubricCriteriaSchema, RubricSchema, ScaffoldDecision, ScaffoldDecisionEntry, ScaffoldDecisionEntrySchema, ScaffoldDecisionSchema, ScienceLab, ScienceLabInput, ScienceLabSchema, ScoringRubricRowSchema, SelfLab, SelfLabSchema, SelfPacedBundle, SelfPacedBundleSchema, SelfPacedChallenge, SelfPacedChallengeSchema, SessionPlan, SessionPlanSchema, SilverTier, SilverTierSchema, SlideDeckSchema, StandardizedTermRowSchema, StationRecordRowSchema, StationRotation, StationRotationInput, StationRotationSchema, StationTypeEnum, TaskCard, TaskCardSchema, TaskCards, TaskCardsInput, TaskCardsSchema, TeacherGuide, TeacherGuideSchema, TeachingScriptPhase, TeachingScriptPhaseSchema, TierLevelEnum, TierObjectiveSchema, TieredPractice, TieredPracticeSchema, TranslationPolicySchema, TroubleshootingEntry, TroubleshootingEntrySchema, TroubleshootingRow, TroubleshootingRowSchema, UnitPlan, UnitPlanSchema, UserJourneySchema, Worksheet, WorksheetItem, WorksheetItemSchema, WorksheetItemTypeEnum, WorksheetPart, WorksheetPartSchema, WorksheetSchema, validateCurriculumPlan } from './schemas/index.cjs';
|
|
3
3
|
import { A as AIProviderName, M as ModelResolutionOptions } from './provider-factory-DxzOVEmh.cjs';
|
|
4
4
|
export { N as NVIDIA_MODELS, g as getAIModel } from './provider-factory-DxzOVEmh.cjs';
|
|
5
|
-
export { ActivityPromptInput, AggregatedToolCall, AsyncLLMJudgeInput, AuditCurriculumQualityInput, CodeLabPromptInput, DEFAULT_ENABLED_PROVIDERS, DiagnosticQuizPromptInput, ExtensionPromptInput, GenerateActivityInput, GenerateCodeLabInput, GenerateDiagnosticQuizInput, GenerateExtensionInput, GenerateHandoutInput, GenerateLessonMasterInput, GenerateProjectInstructionInput, GenerateSelfLabInput, GenerateSlidesInput, GenerateTeacherGuideInput, GenerateWorksheetInput, HandoutPromptInput, JudgeEvaluationResult, JudgePromptInput, LLMJudgeEngine, LessonPromptInput, MarpMarkdownSlidePromptInput, ModelPolicyResolution, ModelPolicyResolver, ModelProviderKey, MultiProviderPolicyResolution, ProjectInstructionPromptInput, SLIDE_CANONICAL_METHODOLOGY, SelfLabPromptInput, SlidesPromptInput, StreamDiagnosticQuizInput, StreamLessonMasterInput, StreamSelfLabInput, TeacherGuidePromptInput, ToolDefinition, ToolExecutionResult, ToolExecutor, ToolLoopConfig, WorksheetPromptInput, activityTools, analystTools, assessorTools, auditCurriculumQualityFlow, buildActivityPrompt, buildCodeLabPrompt, buildDiagnosticQuizPrompt, buildExtensionPrompt, buildHandoutPrompt, buildJudgePrompt, buildLessonMasterPrompt, buildMarpMarkdownSlidePrompt, buildProjectInstructionPrompt, buildSelfLabPrompt, buildSlidesPrompt, buildTeacherGuidePrompt, buildWorksheetPrompt, contentTools, designerTools, generateActivityFlow, generateCodeLabFlow, generateDiagnosticQuizFlow, generateExtensionFlow, generateHandoutFlow, generateLessonMasterFlow, generateProjectInstructionFlow, generateSelfLabFlow, generateSlidesFlow, generateTeacherGuideFlow, generateWorksheetFlow, illustratorTools, packagerTools, researcherTools, reviewerTools, streamCurriculumAIInferenceWithTools, streamDiagnosticQuizFlow, streamLessonMasterFlow, streamSelfLabFlow, techSmeTools } from './ai/index.cjs';
|
|
5
|
+
export { ActivityPromptInput, AggregatedToolCall, AsyncLLMJudgeInput, AuditCurriculumQualityInput, CodeLabPromptInput, DEFAULT_ENABLED_PROVIDERS, DiagnosticQuizPromptInput, ExtensionPromptInput, GenerateActivityInput, GenerateCodeLabInput, GenerateDiagnosticQuizInput, GenerateExtensionInput, GenerateHandoutInput, GenerateLessonMasterInput, GenerateProjectInstructionInput, GenerateSelfLabInput, GenerateSlidesInput, GenerateTeacherGuideInput, GenerateWorksheetInput, HandoutPromptInput, HtmlDeckSlidePromptInput, JudgeEvaluationResult, JudgePromptInput, LLMJudgeEngine, LessonPromptInput, MarpMarkdownSlidePromptInput, ModelPolicyResolution, ModelPolicyResolver, ModelProviderKey, MultiProviderPolicyResolution, ProjectInstructionPromptInput, SLIDE_CANONICAL_METHODOLOGY, SelfLabPromptInput, SlidesPromptInput, StreamDiagnosticQuizInput, StreamLessonMasterInput, StreamSelfLabInput, TeacherGuidePromptInput, ToolDefinition, ToolExecutionResult, ToolExecutor, ToolLoopConfig, WorksheetPromptInput, activityTools, analystTools, assessorTools, auditCurriculumQualityFlow, buildActivityPrompt, buildCodeLabPrompt, buildDiagnosticQuizPrompt, buildExtensionPrompt, buildHandoutPrompt, buildHtmlDeckSlidePrompt, buildJudgePrompt, buildLessonMasterPrompt, buildMarpMarkdownSlidePrompt, buildProjectInstructionPrompt, buildSelfLabPrompt, buildSlidesPrompt, buildTeacherGuidePrompt, buildWorksheetPrompt, contentTools, designerTools, generateActivityFlow, generateCodeLabFlow, generateDiagnosticQuizFlow, generateExtensionFlow, generateHandoutFlow, generateLessonMasterFlow, generateProjectInstructionFlow, generateSelfLabFlow, generateSlidesFlow, generateTeacherGuideFlow, generateWorksheetFlow, illustratorTools, packagerTools, researcherTools, reviewerTools, streamCurriculumAIInferenceWithTools, streamDiagnosticQuizFlow, streamLessonMasterFlow, streamSelfLabFlow, techSmeTools } from './ai/index.cjs';
|
|
6
6
|
export { C as ChatMessage, c as ChunkType, D as DEFAULT_ARTIFACT_STREAM_IDLE_MS, d as DEFAULT_ARTIFACT_STREAM_TOTAL_MS, F as FallbackTarget, I as IdleAbort, f as StreamAbortController, S as StreamRunnerOptions, j as createIdleAbortController, h as createStreamAbortController, e as extractThoughtAndContent, g as getDesignatedFallbackChain, b as getDesignatedFallbackConfig, a as isModelAllowed, i as isProviderEnabled, r as runCurriculumAIInference, s as streamCurriculumAIInference } from './streamRunner-DtQq0HV_.cjs';
|
|
7
7
|
export { ArtifactLintReport, ConvertedSotBundle, GenerateProjectInstructionOptions, GenerateRoadmapCurriculumOptions, GenerateSelfPacedBundleInput, LintIssue, ProjectInstructionResult, RoadmapCurriculumOutput, SelfPacedBundleOutput, convertRoadmapToFoundationSot, generateProjectInstruction, generateRoadmapCurriculum, generateSelfPacedBundle, importRoadmapToProject, lintAndSanitizeArtifact, serializeActivityToMarkdown, serializeCodeLabToMarkdown, serializeDiagnosticQuizToMarkdown, serializeHandoutToMarkdown, serializeLessonToMarkdown, serializeProjectInstructionToMarkdown, serializeSelfLabToMarkdown, validateMarkdownTables, validateMermaidSyntax } from './pipeline/index.cjs';
|
|
8
8
|
export { A as AutoRepairOptions, a as AutoRepairResult, B as BundleTier, G as GenerateMilestoneBundleOptions, M as MilestoneCurriculumBundle, g as generateMilestoneCurriculumBundle, w as withAutoRepair } from './milestoneBundleGenerator-CzSOeAzU.cjs';
|
|
@@ -11,8 +11,8 @@ export { b as ArtifactLifecycleInfo, A as ArtifactLifecycleState, L as LessonArt
|
|
|
11
11
|
export { FileSystemCurriculumAdapter, FileSystemStorageOptions, STANDARD_SOT_FILES, StorageFactoryOptions, SupabaseCurriculumAdapter, SupabaseStorageConfig, computeContentHash, createCurriculumStorage } from './storage/index.cjs';
|
|
12
12
|
import { F as FrameworkPack } from './standardsCoverageGate-CsUNzv6C.cjs';
|
|
13
13
|
export { B as BloomHintSchema, a as ClassificationSchema, m as CoverageGateInput, C as CoverageGateReport, h as FrameworkMapping, d as FrameworkMappingSchema, f as FrameworkPackManifest, b as FrameworkPackManifestSchema, e as FrameworkPackSchema, g as FrameworkStatement, c as FrameworkStatementSchema, G as GradeBandSchema, i as MappingKind, M as MappingKindSchema, P as PackLintIssue, k as PackValidationResult, j as RecordProvenance, R as RecordProvenanceSchema, S as StatementCoverageRow, n as evaluateStandardsCoverage, l as lintFrameworkPack, v as validateFrameworkPack } from './standardsCoverageGate-CsUNzv6C.cjs';
|
|
14
|
-
import { R as ResolvedGateSettings } from './gateSettings-
|
|
15
|
-
export { A as ArtifactType, b as CurriculumArtifactType, C as CurriculumGateMode, D as DEFAULT_GATE_SETTINGS, G as GateSettings, c as ScaffoldingLevel, S as SingleArtifactRequest, a as SingleArtifactResult, g as gateModeFor, e as generateSingleArtifact, d as getArtifactMetadata, p as parseGateSettings, r as resolveGateSettings } from './gateSettings-
|
|
14
|
+
import { R as ResolvedGateSettings } from './gateSettings-L3FR2-MO.cjs';
|
|
15
|
+
export { A as ArtifactType, b as CurriculumArtifactType, C as CurriculumGateMode, D as DEFAULT_GATE_SETTINGS, G as GateSettings, c as ScaffoldingLevel, S as SingleArtifactRequest, a as SingleArtifactResult, g as gateModeFor, e as generateSingleArtifact, d as getArtifactMetadata, p as parseGateSettings, r as resolveGateSettings } from './gateSettings-L3FR2-MO.cjs';
|
|
16
16
|
export { DeliveryPackResult, JobManifest, LocalWorkspaceManager, ParsedQuizQuestion, buildDeliveryPackages, exportAllProjectQuizzes, formatQuizzesToCsv, parseQuizMarkdown } from './publishers/index.cjs';
|
|
17
17
|
export { G as GitPublishOptions, a as GitPublishResult, S as SupabasePublishOptions, b as SupabasePublishResult, p as publishToGitHub, c as publishToSupabase, u as uploadAssetToBucket } from './supabasePublisher-C627qXFT.cjs';
|
|
18
18
|
export { BUNDLED_STANDARDS_PACK_IDS, HydratedPack, ImportPackResult, SelectedStatement, StandardStackOptions, StandardsRegistryAdapter, StandardsRegistryConfig, StandardsSelectionInput, buildStandardStackMarkdown, buildStandardsContext, buildStandardsContextBlock, resolveStandardsPacks, selectStatementsForLesson } from './standards/index.cjs';
|
|
@@ -134,6 +134,7 @@ interface ProduceLessonOptions {
|
|
|
134
134
|
pedagogy?: PedagogicalModel;
|
|
135
135
|
targetLanguage?: string;
|
|
136
136
|
sectionLanguageContract?: string;
|
|
137
|
+
slidesEngine?: 'html' | 'marp';
|
|
137
138
|
/** Chiến lược batch (chỉ produceBatchLessons dùng). */
|
|
138
139
|
batchStrategy?: 'depth_first_lesson' | 'breadth_first_artifact';
|
|
139
140
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { PlanConstraints, TranslationPolicy, CurriculumPlan, PlanningGraph, Plan
|
|
|
2
2
|
export { ActiveLearningWorkflow, ActiveLearningWorkflowSchema, ActivityLabSchema, ActivitySeqRow, ActivitySeqRowSchema, ActivityStepSchema, ArtifactContractRowSchema, AssessmentMapRowSchema, AssessmentObjective, AssessmentObjectiveSchema, BellRinger, BellRingerDay, BellRingerDaySchema, BellRingerInput, BellRingerSchema, BloomLevel, BloomLevelSchema, BronzeTier, BronzeTierSchema, CERConclusion, CERConclusionSchema, CardTierEnum, ChoiceBoard, ChoiceBoardInput, ChoiceBoardRubricRowSchema, ChoiceBoardSchema, ChoiceRuleSchema, ChoiceSquare, ChoiceSquareSchema, CodeLabSchema, CodeSnippet, CodeSnippetSchema, CompetencyRubricRow, CompetencyRubricRowSchema, ComputationalThinking, ComputationalThinkingSchema, CoreConcept, CoreConceptSchema, CourseObjective, CourseObjectiveSchema, CoverageReport, CoverageReportSchema, CurriculumArtifact, CurriculumArtifactSchema, CurriculumPlanSchema, CurriculumQualityReport, CurriculumQualityReportSchema, DependencyEdgeSchema, DepthAssignment, DepthAssignmentSchema, DepthLevel, DepthLevelSchema, DiagnosticQuestion, DiagnosticQuestionInput, DiagnosticQuestionSchema, DiagnosticQuizSchema, EDPPhaseEnum, EntryLevelSchema, ExitTicket, ExitTicketBugHunt, ExitTicketBugHuntSchema, ExitTicketMetacognitionSchema, ExitTicketQuickItemSchema, ExitTicketRecallPromptSchema, ExitTicketSchema, ExperimentalDesignSchema, Extension, ExtensionChallengeSchema, ExtensionSchema, FiveEFlowPhaseSchema, FiveEPhaseEnum, Glossary, GlossaryInput, GlossaryQuickRefRowSchema, GlossarySchema, GlossaryTerm, GlossaryTermSchema, GoldTier, GoldTierSchema, GraphicOrganizer, GraphicOrganizerInput, GraphicOrganizerItem, GraphicOrganizerItemSchema, GraphicOrganizerSchema, Handout, HandoutSchema, HandoutSection, HandoutSectionSchema, InstructionSection, InstructionSectionSchema, InstructionStep, InstructionStepSchema, JudgeCriterionSchema, LabTierTask, LabTierTaskSchema, LearningObjectiveInput, LearningObjectiveInputSchema, LearningObjectiveRow, LearningObjectiveRowSchema, LessonFlowPhase, LessonFlowPhaseSchema, LessonPlan5E, LessonPlan5ESchema, LessonPlanEDP, LessonPlanEDPSchema, LessonPlanSchema, LessonSectionSchema, MarpSlide, MarpSlideSchema, MentorCheatsheetSchema, MilestoneInput, MilestoneInputSchema, Misconception, MisconceptionSchema, NodeKindSchema, OrganizerTypeEnum, PhaseInput, PhaseInputSchema, PlanConstraintsSchema, PlannerInput, PlannerInputSchema, PlanningGraphSchema, PlanningNodeSchema, PlanningPhase, PrerequisiteDecision, PrerequisiteDecisionEntry, PrerequisiteDecisionEntrySchema, PrerequisiteDecisionSchema, ProductGoalSchema, ProgressiveHints, ProgressiveHintsSchema, ProjectGraph, ProjectGraphSchema, ProjectInstruction, ProjectInstructionSchema, ProjectProfile, ProjectProfileSchema, ProjectRoadmap, QualityAuditVerdictSchema, QuizOption, QuizOptionSchema, ResourceMapRowSchema, ReviewGame, ReviewGameExportRowSchema, ReviewGameInput, ReviewGameQuestion, ReviewGameQuestionSchema, ReviewGameSchema, RoadmapInput, RoadmapInputSchema, RotationStation, RotationStationSchema, Rubric, RubricCriteria, RubricCriteriaSchema, RubricSchema, ScaffoldDecision, ScaffoldDecisionEntry, ScaffoldDecisionEntrySchema, ScaffoldDecisionSchema, ScienceLab, ScienceLabInput, ScienceLabSchema, ScoringRubricRowSchema, SelfLab, SelfLabSchema, SelfPacedBundle, SelfPacedBundleSchema, SelfPacedChallenge, SelfPacedChallengeSchema, SessionPlan, SessionPlanSchema, SilverTier, SilverTierSchema, SlideDeckSchema, StandardizedTermRowSchema, StationRecordRowSchema, StationRotation, StationRotationInput, StationRotationSchema, StationTypeEnum, TaskCard, TaskCardSchema, TaskCards, TaskCardsInput, TaskCardsSchema, TeacherGuide, TeacherGuideSchema, TeachingScriptPhase, TeachingScriptPhaseSchema, TierLevelEnum, TierObjectiveSchema, TieredPractice, TieredPracticeSchema, TranslationPolicySchema, TroubleshootingEntry, TroubleshootingEntrySchema, TroubleshootingRow, TroubleshootingRowSchema, UnitPlan, UnitPlanSchema, UserJourneySchema, Worksheet, WorksheetItem, WorksheetItemSchema, WorksheetItemTypeEnum, WorksheetPart, WorksheetPartSchema, WorksheetSchema, validateCurriculumPlan } from './schemas/index.js';
|
|
3
3
|
import { A as AIProviderName, M as ModelResolutionOptions } from './provider-factory-DxzOVEmh.js';
|
|
4
4
|
export { N as NVIDIA_MODELS, g as getAIModel } from './provider-factory-DxzOVEmh.js';
|
|
5
|
-
export { ActivityPromptInput, AggregatedToolCall, AsyncLLMJudgeInput, AuditCurriculumQualityInput, CodeLabPromptInput, DEFAULT_ENABLED_PROVIDERS, DiagnosticQuizPromptInput, ExtensionPromptInput, GenerateActivityInput, GenerateCodeLabInput, GenerateDiagnosticQuizInput, GenerateExtensionInput, GenerateHandoutInput, GenerateLessonMasterInput, GenerateProjectInstructionInput, GenerateSelfLabInput, GenerateSlidesInput, GenerateTeacherGuideInput, GenerateWorksheetInput, HandoutPromptInput, JudgeEvaluationResult, JudgePromptInput, LLMJudgeEngine, LessonPromptInput, MarpMarkdownSlidePromptInput, ModelPolicyResolution, ModelPolicyResolver, ModelProviderKey, MultiProviderPolicyResolution, ProjectInstructionPromptInput, SLIDE_CANONICAL_METHODOLOGY, SelfLabPromptInput, SlidesPromptInput, StreamDiagnosticQuizInput, StreamLessonMasterInput, StreamSelfLabInput, TeacherGuidePromptInput, ToolDefinition, ToolExecutionResult, ToolExecutor, ToolLoopConfig, WorksheetPromptInput, activityTools, analystTools, assessorTools, auditCurriculumQualityFlow, buildActivityPrompt, buildCodeLabPrompt, buildDiagnosticQuizPrompt, buildExtensionPrompt, buildHandoutPrompt, buildJudgePrompt, buildLessonMasterPrompt, buildMarpMarkdownSlidePrompt, buildProjectInstructionPrompt, buildSelfLabPrompt, buildSlidesPrompt, buildTeacherGuidePrompt, buildWorksheetPrompt, contentTools, designerTools, generateActivityFlow, generateCodeLabFlow, generateDiagnosticQuizFlow, generateExtensionFlow, generateHandoutFlow, generateLessonMasterFlow, generateProjectInstructionFlow, generateSelfLabFlow, generateSlidesFlow, generateTeacherGuideFlow, generateWorksheetFlow, illustratorTools, packagerTools, researcherTools, reviewerTools, streamCurriculumAIInferenceWithTools, streamDiagnosticQuizFlow, streamLessonMasterFlow, streamSelfLabFlow, techSmeTools } from './ai/index.js';
|
|
5
|
+
export { ActivityPromptInput, AggregatedToolCall, AsyncLLMJudgeInput, AuditCurriculumQualityInput, CodeLabPromptInput, DEFAULT_ENABLED_PROVIDERS, DiagnosticQuizPromptInput, ExtensionPromptInput, GenerateActivityInput, GenerateCodeLabInput, GenerateDiagnosticQuizInput, GenerateExtensionInput, GenerateHandoutInput, GenerateLessonMasterInput, GenerateProjectInstructionInput, GenerateSelfLabInput, GenerateSlidesInput, GenerateTeacherGuideInput, GenerateWorksheetInput, HandoutPromptInput, HtmlDeckSlidePromptInput, JudgeEvaluationResult, JudgePromptInput, LLMJudgeEngine, LessonPromptInput, MarpMarkdownSlidePromptInput, ModelPolicyResolution, ModelPolicyResolver, ModelProviderKey, MultiProviderPolicyResolution, ProjectInstructionPromptInput, SLIDE_CANONICAL_METHODOLOGY, SelfLabPromptInput, SlidesPromptInput, StreamDiagnosticQuizInput, StreamLessonMasterInput, StreamSelfLabInput, TeacherGuidePromptInput, ToolDefinition, ToolExecutionResult, ToolExecutor, ToolLoopConfig, WorksheetPromptInput, activityTools, analystTools, assessorTools, auditCurriculumQualityFlow, buildActivityPrompt, buildCodeLabPrompt, buildDiagnosticQuizPrompt, buildExtensionPrompt, buildHandoutPrompt, buildHtmlDeckSlidePrompt, buildJudgePrompt, buildLessonMasterPrompt, buildMarpMarkdownSlidePrompt, buildProjectInstructionPrompt, buildSelfLabPrompt, buildSlidesPrompt, buildTeacherGuidePrompt, buildWorksheetPrompt, contentTools, designerTools, generateActivityFlow, generateCodeLabFlow, generateDiagnosticQuizFlow, generateExtensionFlow, generateHandoutFlow, generateLessonMasterFlow, generateProjectInstructionFlow, generateSelfLabFlow, generateSlidesFlow, generateTeacherGuideFlow, generateWorksheetFlow, illustratorTools, packagerTools, researcherTools, reviewerTools, streamCurriculumAIInferenceWithTools, streamDiagnosticQuizFlow, streamLessonMasterFlow, streamSelfLabFlow, techSmeTools } from './ai/index.js';
|
|
6
6
|
export { C as ChatMessage, c as ChunkType, D as DEFAULT_ARTIFACT_STREAM_IDLE_MS, d as DEFAULT_ARTIFACT_STREAM_TOTAL_MS, F as FallbackTarget, I as IdleAbort, f as StreamAbortController, S as StreamRunnerOptions, j as createIdleAbortController, h as createStreamAbortController, e as extractThoughtAndContent, g as getDesignatedFallbackChain, b as getDesignatedFallbackConfig, a as isModelAllowed, i as isProviderEnabled, r as runCurriculumAIInference, s as streamCurriculumAIInference } from './streamRunner-DtQq0HV_.js';
|
|
7
7
|
export { ArtifactLintReport, ConvertedSotBundle, GenerateProjectInstructionOptions, GenerateRoadmapCurriculumOptions, GenerateSelfPacedBundleInput, LintIssue, ProjectInstructionResult, RoadmapCurriculumOutput, SelfPacedBundleOutput, convertRoadmapToFoundationSot, generateProjectInstruction, generateRoadmapCurriculum, generateSelfPacedBundle, importRoadmapToProject, lintAndSanitizeArtifact, serializeActivityToMarkdown, serializeCodeLabToMarkdown, serializeDiagnosticQuizToMarkdown, serializeHandoutToMarkdown, serializeLessonToMarkdown, serializeProjectInstructionToMarkdown, serializeSelfLabToMarkdown, validateMarkdownTables, validateMermaidSyntax } from './pipeline/index.js';
|
|
8
8
|
export { A as AutoRepairOptions, a as AutoRepairResult, B as BundleTier, G as GenerateMilestoneBundleOptions, M as MilestoneCurriculumBundle, g as generateMilestoneCurriculumBundle, w as withAutoRepair } from './milestoneBundleGenerator-Bkba8OPG.js';
|
|
@@ -11,8 +11,8 @@ export { b as ArtifactLifecycleInfo, A as ArtifactLifecycleState, L as LessonArt
|
|
|
11
11
|
export { FileSystemCurriculumAdapter, FileSystemStorageOptions, STANDARD_SOT_FILES, StorageFactoryOptions, SupabaseCurriculumAdapter, SupabaseStorageConfig, computeContentHash, createCurriculumStorage } from './storage/index.js';
|
|
12
12
|
import { F as FrameworkPack } from './standardsCoverageGate-CsUNzv6C.js';
|
|
13
13
|
export { B as BloomHintSchema, a as ClassificationSchema, m as CoverageGateInput, C as CoverageGateReport, h as FrameworkMapping, d as FrameworkMappingSchema, f as FrameworkPackManifest, b as FrameworkPackManifestSchema, e as FrameworkPackSchema, g as FrameworkStatement, c as FrameworkStatementSchema, G as GradeBandSchema, i as MappingKind, M as MappingKindSchema, P as PackLintIssue, k as PackValidationResult, j as RecordProvenance, R as RecordProvenanceSchema, S as StatementCoverageRow, n as evaluateStandardsCoverage, l as lintFrameworkPack, v as validateFrameworkPack } from './standardsCoverageGate-CsUNzv6C.js';
|
|
14
|
-
import { R as ResolvedGateSettings } from './gateSettings-
|
|
15
|
-
export { A as ArtifactType, b as CurriculumArtifactType, C as CurriculumGateMode, D as DEFAULT_GATE_SETTINGS, G as GateSettings, c as ScaffoldingLevel, S as SingleArtifactRequest, a as SingleArtifactResult, g as gateModeFor, e as generateSingleArtifact, d as getArtifactMetadata, p as parseGateSettings, r as resolveGateSettings } from './gateSettings-
|
|
14
|
+
import { R as ResolvedGateSettings } from './gateSettings-L3FR2-MO.js';
|
|
15
|
+
export { A as ArtifactType, b as CurriculumArtifactType, C as CurriculumGateMode, D as DEFAULT_GATE_SETTINGS, G as GateSettings, c as ScaffoldingLevel, S as SingleArtifactRequest, a as SingleArtifactResult, g as gateModeFor, e as generateSingleArtifact, d as getArtifactMetadata, p as parseGateSettings, r as resolveGateSettings } from './gateSettings-L3FR2-MO.js';
|
|
16
16
|
export { DeliveryPackResult, JobManifest, LocalWorkspaceManager, ParsedQuizQuestion, buildDeliveryPackages, exportAllProjectQuizzes, formatQuizzesToCsv, parseQuizMarkdown } from './publishers/index.js';
|
|
17
17
|
export { G as GitPublishOptions, a as GitPublishResult, S as SupabasePublishOptions, b as SupabasePublishResult, p as publishToGitHub, c as publishToSupabase, u as uploadAssetToBucket } from './supabasePublisher-C627qXFT.js';
|
|
18
18
|
export { BUNDLED_STANDARDS_PACK_IDS, HydratedPack, ImportPackResult, SelectedStatement, StandardStackOptions, StandardsRegistryAdapter, StandardsRegistryConfig, StandardsSelectionInput, buildStandardStackMarkdown, buildStandardsContext, buildStandardsContextBlock, resolveStandardsPacks, selectStatementsForLesson } from './standards/index.js';
|
|
@@ -134,6 +134,7 @@ interface ProduceLessonOptions {
|
|
|
134
134
|
pedagogy?: PedagogicalModel;
|
|
135
135
|
targetLanguage?: string;
|
|
136
136
|
sectionLanguageContract?: string;
|
|
137
|
+
slidesEngine?: 'html' | 'marp';
|
|
137
138
|
/** Chiến lược batch (chỉ produceBatchLessons dùng). */
|
|
138
139
|
batchStrategy?: 'depth_first_lesson' | 'breadth_first_artifact';
|
|
139
140
|
/**
|
package/dist/index.mjs
CHANGED
|
@@ -5421,6 +5421,54 @@ ${input.languageDirective}
|
|
|
5421
5421
|
|
|
5422
5422
|
${input.headingDirective}`.trim();
|
|
5423
5423
|
}
|
|
5424
|
+
function buildHtmlDeckSlidePrompt(input) {
|
|
5425
|
+
const contract = input.customContract || `## HTML SLIDE ENGINE \u2014 AGENT GENERATION CONTRACT
|
|
5426
|
+
You generate structured slide decks for the LearnWell HTML Slide Presentation Engine.
|
|
5427
|
+
Your output MUST be a single, valid JSON object matching the Slide Deck JSON schema below.
|
|
5428
|
+
|
|
5429
|
+
### \u{1F3A8} Available Layout Presets (Use layoutId):
|
|
5430
|
+
1. **hero-cover**: Title/Cover slide with title, subtitle, presenter, date, tag.
|
|
5431
|
+
2. **two-column-split**: Side-by-side comparison (col1Title, col1Items[], col2Title, col2Items[]).
|
|
5432
|
+
3. **code-explainer**: Code walkthrough with filename, language, code, highlightLines, annotations[].
|
|
5433
|
+
4. **metrics-3-card**: 3 key stat cards (card1Title, card1Val, card1Desc, card2..., card3...).
|
|
5434
|
+
5. **process-flow**: Step-by-step pipeline (steps: [{ label, desc, status }]).
|
|
5435
|
+
6. **quiz-checkpoint**: Quick multiple choice question (question, options[], answerIdx, explanation).
|
|
5436
|
+
7. **tiered-practice-3cards**: Differentiated tiers (foundation, standard, challenge cards).
|
|
5437
|
+
8. **takeaways-summary**: Summary review with bullet takeaways.
|
|
5438
|
+
|
|
5439
|
+
### \u{1F399}\uFE0F Mandatory 3-Part Presenter Notes on EVERY slide:
|
|
5440
|
+
Every slide MUST include notes with:
|
|
5441
|
+
- Talk Track: 2-3 sentences speaking script
|
|
5442
|
+
- Cold-Call: 1 check question
|
|
5443
|
+
- Scaffolding Tip: 1 analogy or hint
|
|
5444
|
+
|
|
5445
|
+
### Output JSON Format:
|
|
5446
|
+
\`\`\`json
|
|
5447
|
+
{
|
|
5448
|
+
"title": "${input.lessonTitle}",
|
|
5449
|
+
"theme": "ocean",
|
|
5450
|
+
"slides": [
|
|
5451
|
+
{
|
|
5452
|
+
"layoutId": "hero-cover",
|
|
5453
|
+
"slots": { "title": "${input.lessonTitle}", "subtitle": "..." },
|
|
5454
|
+
"notes": "Talk Track: ...\\nCold-Call: ...\\nScaffolding Tip: ..."
|
|
5455
|
+
}
|
|
5456
|
+
]
|
|
5457
|
+
}
|
|
5458
|
+
\`\`\``;
|
|
5459
|
+
return `You are @illustrator & @content (Interactive HTML Slide Deck Presentation Architects).
|
|
5460
|
+
Based on Master Lesson Plan \`LESSON_${input.lessonCode}.md\`, pedagogical model (${input.pedagogyLabel}), and the HTML SLIDE ENGINE CONTRACT below, author the complete, highly engaging HTML presentation deck in JSON format: \`SLIDE_${input.lessonCode}\`.
|
|
5461
|
+
|
|
5462
|
+
${contract}
|
|
5463
|
+
|
|
5464
|
+
${input.languageDirective}
|
|
5465
|
+
|
|
5466
|
+
${input.headingDirective}${input.glossaryBlock ? `
|
|
5467
|
+
|
|
5468
|
+
${input.glossaryBlock}` : ""}
|
|
5469
|
+
|
|
5470
|
+
Output ONLY the raw JSON object. Do not include extra conversational text or markdown code fences.`.trim();
|
|
5471
|
+
}
|
|
5424
5472
|
|
|
5425
5473
|
// src/ai/prompts/teacherGuidePrompt.ts
|
|
5426
5474
|
function buildTeacherGuidePrompt(input) {
|
|
@@ -5560,13 +5608,13 @@ Evaluate the candidate artifact across these 6 dimensions:
|
|
|
5560
5608
|
- 0 pts: Missing critical sections.
|
|
5561
5609
|
|
|
5562
5610
|
5. **Technical & Conceptual Accuracy (15 pts):**
|
|
5563
|
-
- 15 pts: Code snippets, logic flows, architectural descriptions, and Mermaid diagrams are conceptually sound
|
|
5611
|
+
- 15 pts: Code snippets, logic flows, architectural descriptions, and Mermaid diagrams are conceptually sound and valid. If \`canonicalExposition\` or \`[KNOWLEDGE_EXPOSITION]\` is provided, content strictly adheres to canonical concepts without contradicting definitions or examples.
|
|
5564
5612
|
- 8 pts: Minor syntax inaccuracies or unidiomatic code that does not break core concepts.
|
|
5565
|
-
- 0 pts: Severe technical hallucinations, broken logic, or
|
|
5613
|
+
- 0 pts: Severe technical hallucinations, broken logic, invalid diagrams, or direct contradiction of canonical exposition knowledge.
|
|
5566
5614
|
|
|
5567
5615
|
6. **Contract Consistency & Zero-Drift (10 pts):**
|
|
5568
|
-
- 10 pts: Satellite artifact strictly adheres to the scope, tech stack, and objectives of Lesson ${lessonId} without introducing unrelated topics.
|
|
5569
|
-
- 0-5 pts: Scope drift
|
|
5616
|
+
- 10 pts: Satellite artifact strictly adheres to the scope, tech stack, and objectives of Lesson ${lessonId} without introducing unrelated topics. If \`canonicalLessonExcerpt\` is present in candidate JSON, all satellite phases/activities strictly operationalize the master Lesson Flow and Activity Sequence without inventing divergent timelines.
|
|
5617
|
+
- 0-5 pts: Scope drift, topic divergence, or disjoint activity sequence detected compared to master lesson.
|
|
5570
5618
|
|
|
5571
5619
|
## VERDICT RULES
|
|
5572
5620
|
- **PASS:** Score >= 80 AND Language Adherence = true AND Standards Alignment >= 12 (when STANDARDS GROUND TRUTH is present).
|
|
@@ -11861,11 +11909,42 @@ async function produceSingleLesson(storage, projectId, lessonId, options = {}) {
|
|
|
11861
11909
|
}
|
|
11862
11910
|
const pedagogy = detectProjectPedagogy(framework, styleGuide, options.pedagogy);
|
|
11863
11911
|
const pedagogyLabel = pedagogy.toUpperCase();
|
|
11864
|
-
|
|
11912
|
+
let glossaryContext = "";
|
|
11913
|
+
try {
|
|
11914
|
+
const glossaryRaw = await storage.readArtifact(projectId, "_sot/GLOSSARY.json");
|
|
11915
|
+
if (glossaryRaw) {
|
|
11916
|
+
let allTerms = [];
|
|
11917
|
+
try {
|
|
11918
|
+
allTerms = JSON.parse(glossaryRaw).terms ?? [];
|
|
11919
|
+
} catch {
|
|
11920
|
+
}
|
|
11921
|
+
let scopedTermsSet = null;
|
|
11922
|
+
const planRaw = await storage.readArtifact(projectId, "_sot/CURRICULUM_PLAN.json");
|
|
11923
|
+
if (planRaw) {
|
|
11924
|
+
try {
|
|
11925
|
+
const plan = JSON.parse(planRaw);
|
|
11926
|
+
const sessionScope = plan.glossary_scope?.find((g) => g.session_id === lessonCode);
|
|
11927
|
+
if (sessionScope?.terms?.length) {
|
|
11928
|
+
scopedTermsSet = new Set(sessionScope.terms.map((t) => t.toLowerCase()));
|
|
11929
|
+
}
|
|
11930
|
+
} catch {
|
|
11931
|
+
}
|
|
11932
|
+
}
|
|
11933
|
+
const relevantTerms = scopedTermsSet ? allTerms.filter((g) => scopedTermsSet.has(g.term.toLowerCase())) : allTerms.slice(0, 10);
|
|
11934
|
+
if (relevantTerms.length > 0) {
|
|
11935
|
+
const lines = relevantTerms.map(
|
|
11936
|
+
(t) => `- **${t.term}**: ${t.definition || ""}${t.example ? ` (e.g. \`${t.example}\`)` : ""}`
|
|
11937
|
+
);
|
|
11938
|
+
glossaryContext = buildSectionAwareExcerpt(lines.join("\n"), { budget: 800 }).excerpt;
|
|
11939
|
+
}
|
|
11940
|
+
}
|
|
11941
|
+
} catch {
|
|
11942
|
+
}
|
|
11943
|
+
let effectiveStyleGuide = styleGuide ? buildSectionAwareExcerpt(styleGuide, {
|
|
11865
11944
|
priorities: ["Voice & Tone", "Standard Terminology (Glossary)", "Lesson Content Standards"],
|
|
11866
11945
|
budget: 2e3
|
|
11867
11946
|
}).excerpt : "";
|
|
11868
|
-
|
|
11947
|
+
let effectiveRefPack = refPack ? buildSectionAwareExcerpt(refPack, {
|
|
11869
11948
|
priorities: [
|
|
11870
11949
|
"Technical Overview & Architecture Blueprint",
|
|
11871
11950
|
"Hardware Pinout & Wiring Configuration Matrix",
|
|
@@ -11873,7 +11952,7 @@ async function produceSingleLesson(storage, projectId, lessonId, options = {}) {
|
|
|
11873
11952
|
],
|
|
11874
11953
|
budget: 2500
|
|
11875
11954
|
}).excerpt : "";
|
|
11876
|
-
const
|
|
11955
|
+
const baseContextPrefix = `PROJECT & ACADEMIC CONTEXT:
|
|
11877
11956
|
- Project ID: ${projectId}
|
|
11878
11957
|
- Pedagogical Model: ${pedagogyLabel}
|
|
11879
11958
|
- Lesson Code: ${lessonCode}
|
|
@@ -11883,13 +11962,51 @@ async function produceSingleLesson(storage, projectId, lessonId, options = {}) {
|
|
|
11883
11962
|
- Target Bloom Level: ${bloomLevel}
|
|
11884
11963
|
|
|
11885
11964
|
[CURRICULUM FRAMEWORK EXCERPT]:
|
|
11886
|
-
${buildFrameworkExcerptForLesson(framework, lessonId)}
|
|
11965
|
+
${buildFrameworkExcerptForLesson(framework, lessonId)}`;
|
|
11966
|
+
const glossaryBlock = glossaryContext ? `
|
|
11967
|
+
|
|
11968
|
+
[GLOSSARY TERMS (use these exact definitions)]:
|
|
11969
|
+
${glossaryContext}` : "";
|
|
11970
|
+
const standardsBlock = standardsContext ? `
|
|
11971
|
+
|
|
11972
|
+
${standardsContext}` : "";
|
|
11973
|
+
const expositionBlock = expositionContext ? `
|
|
11974
|
+
|
|
11975
|
+
[KNOWLEDGE_EXPOSITION (CANONICAL KNOWLEDGE \u2014 teach from this, do not contradict)]:
|
|
11976
|
+
${expositionContext}` : "";
|
|
11977
|
+
const sessionSliceBlock = sessionSliceContext ? `
|
|
11978
|
+
|
|
11979
|
+
${sessionSliceContext}` : "";
|
|
11980
|
+
const assembleCommonContext = (ref, sg) => `${baseContextPrefix}
|
|
11887
11981
|
|
|
11888
11982
|
[CONTENT STYLE GUIDE EXCERPT]:
|
|
11889
|
-
${
|
|
11983
|
+
${sg}
|
|
11890
11984
|
|
|
11891
11985
|
[REFERENCE PACK GROUND TRUTH]:
|
|
11892
|
-
${
|
|
11986
|
+
${ref}${standardsBlock}${glossaryBlock}${expositionBlock}${sessionSliceBlock}`;
|
|
11987
|
+
let commonContext = assembleCommonContext(effectiveRefPack, effectiveStyleGuide);
|
|
11988
|
+
const MAX_COMPOSITE_PROMPT_CHARS = 3e4;
|
|
11989
|
+
if (commonContext.length > MAX_COMPOSITE_PROMPT_CHARS && effectiveRefPack.length > 1e3) {
|
|
11990
|
+
effectiveRefPack = buildSectionAwareExcerpt(refPack, {
|
|
11991
|
+
priorities: [
|
|
11992
|
+
"Technical Overview & Architecture Blueprint",
|
|
11993
|
+
"Hardware Pinout & Wiring Configuration Matrix"
|
|
11994
|
+
],
|
|
11995
|
+
budget: 1e3
|
|
11996
|
+
}).excerpt;
|
|
11997
|
+
commonContext = assembleCommonContext(effectiveRefPack, effectiveStyleGuide);
|
|
11998
|
+
}
|
|
11999
|
+
if (commonContext.length > MAX_COMPOSITE_PROMPT_CHARS && effectiveStyleGuide.length > 1e3) {
|
|
12000
|
+
effectiveStyleGuide = buildSectionAwareExcerpt(styleGuide, {
|
|
12001
|
+
priorities: ["Voice & Tone", "Standard Terminology (Glossary)"],
|
|
12002
|
+
budget: 1e3
|
|
12003
|
+
}).excerpt;
|
|
12004
|
+
commonContext = assembleCommonContext(effectiveRefPack, effectiveStyleGuide);
|
|
12005
|
+
}
|
|
12006
|
+
onProgress?.("@content", `[CONTEXT] Composite prompt ready (${commonContext.length} chars, adaptive budget <= ${MAX_COMPOSITE_PROMPT_CHARS})`, {
|
|
12007
|
+
type: "progress",
|
|
12008
|
+
promptChars: commonContext.length
|
|
12009
|
+
});
|
|
11893
12010
|
const producedArtifacts = [];
|
|
11894
12011
|
const lessonRelPath = `_content/${unitCode}/LESSON_${lessonCode}.md`;
|
|
11895
12012
|
const existingLessonContent = await storage.readArtifact(projectId, lessonRelPath);
|
|
@@ -12016,7 +12133,7 @@ ${yamlBlock.trim()}
|
|
|
12016
12133
|
lessonId: lessonCode,
|
|
12017
12134
|
title: lessonTitle,
|
|
12018
12135
|
frameworkExcerpt: framework ? buildFrameworkExcerptForLesson(framework, lessonId) : void 0,
|
|
12019
|
-
styleGuideExcerpt:
|
|
12136
|
+
styleGuideExcerpt: effectiveStyleGuide || void 0,
|
|
12020
12137
|
canonicalExposition: expositionContext ? expositionContext.slice(0, 3e3) : void 0
|
|
12021
12138
|
}),
|
|
12022
12139
|
standardStatements: Object.keys(standardStatements).length > 0 ? standardStatements : void 0
|
|
@@ -12059,7 +12176,7 @@ ${yamlBlock.trim()}
|
|
|
12059
12176
|
onProgress?.("@repair", `\u{1F527} Repair round ${round}/${MAX_REPAIR_ROUNDS} for LESSON_${lessonCode} (judge score ${currentResult.score}/100)...`);
|
|
12060
12177
|
const repairedRaw = await runCurriculumAIInference(
|
|
12061
12178
|
[{ role: "user", content: `You previously authored \`LESSON_${lessonCode}.md\` and the academic Judge REJECTED it with the critique below.
|
|
12062
|
-
Rewrite the COMPLETE corrected document: fix every listed issue,
|
|
12179
|
+
Rewrite the COMPLETE corrected document in language "${targetLang}": fix every listed issue, preserve exact frontmatter and mandatory sections (Objectives, Activity Sequence, Lesson Flow). Output 100% clean Markdown only.
|
|
12063
12180
|
|
|
12064
12181
|
JUDGE CRITIQUE:
|
|
12065
12182
|
${repairFeedback}
|
|
@@ -12077,7 +12194,13 @@ ${currentContent}` }],
|
|
|
12077
12194
|
break;
|
|
12078
12195
|
}
|
|
12079
12196
|
const repairLint = lintAndSanitizeArtifact(repairedRaw, `LESSON_${lessonCode}.md`);
|
|
12080
|
-
|
|
12197
|
+
const candidateContent = repairLint.autoFixedContent || repairedRaw;
|
|
12198
|
+
const hasFrontmatter = /^---\s*\r?\n[\s\S]*?\r?\n---/m.test(candidateContent);
|
|
12199
|
+
if (!hasFrontmatter || candidateContent.length < Math.min(800, currentContent.length * 0.4)) {
|
|
12200
|
+
onProgress?.("@repair", `\u26A0\uFE0F Repair round ${round} dropped critical structure (length or frontmatter missing) \u2014 rejecting repaired draft, retaining previous`);
|
|
12201
|
+
break;
|
|
12202
|
+
}
|
|
12203
|
+
currentContent = candidateContent;
|
|
12081
12204
|
onProgress?.("@reviewer", `\u{1F916} Re-judging repaired LESSON_${lessonCode} (round ${round})...`);
|
|
12082
12205
|
const reJudge = await LLMJudgeEngine.evaluateArtifactWithLLM({
|
|
12083
12206
|
targetArtifactType: "LESSON",
|
|
@@ -12089,7 +12212,7 @@ ${currentContent}` }],
|
|
|
12089
12212
|
lessonId: lessonCode,
|
|
12090
12213
|
title: lessonTitle,
|
|
12091
12214
|
frameworkExcerpt: framework ? buildFrameworkExcerptForLesson(framework, lessonId) : void 0,
|
|
12092
|
-
styleGuideExcerpt:
|
|
12215
|
+
styleGuideExcerpt: effectiveStyleGuide || void 0,
|
|
12093
12216
|
canonicalExposition: expositionContext ? expositionContext.slice(0, 3e3) : void 0
|
|
12094
12217
|
}),
|
|
12095
12218
|
standardStatements: Object.keys(standardStatements).length > 0 ? standardStatements : void 0
|
|
@@ -12376,46 +12499,175 @@ ${buildHeadingDirective("QUIZ", slcMarkdown, targetLang)}`;
|
|
|
12376
12499
|
const slideRelPath = `_content/${unitCode}/SLIDE_${lessonCode}.md`;
|
|
12377
12500
|
if (artifactScope.includes("SLIDE") && (!await storage.readArtifact(projectId, slideRelPath) || force)) {
|
|
12378
12501
|
onProgress?.("@illustrator", `[4/4] Authoring Presentation Slide Deck: \`SLIDE_${lessonCode}.md\`...`);
|
|
12379
|
-
const
|
|
12380
|
-
|
|
12502
|
+
const isHtmlEngine = options.slidesEngine === "html";
|
|
12503
|
+
if (isHtmlEngine) {
|
|
12504
|
+
let presentationKitAi = null;
|
|
12505
|
+
try {
|
|
12506
|
+
presentationKitAi = await import('@thanh01.pmt/presentation-kit/ai');
|
|
12507
|
+
} catch {
|
|
12508
|
+
}
|
|
12509
|
+
const slidePrompt = buildHtmlDeckSlidePrompt({
|
|
12510
|
+
lessonCode,
|
|
12511
|
+
lessonTitle,
|
|
12512
|
+
pedagogyLabel,
|
|
12513
|
+
languageDirective,
|
|
12514
|
+
headingDirective: buildHeadingDirective("SLIDE", slcMarkdown, targetLang),
|
|
12515
|
+
glossaryBlock: glossaryContext ? `[GLOSSARY TERMS (use these exact definitions)]:
|
|
12516
|
+
${glossaryContext}` : void 0,
|
|
12517
|
+
customContract: presentationKitAi?.SLIDE_HTML_PROMPT_CONTRACT
|
|
12518
|
+
});
|
|
12519
|
+
const rawSlide = await runCurriculumAIInference(
|
|
12520
|
+
[{ role: "user", content: slidePrompt }],
|
|
12521
|
+
satelliteContext,
|
|
12522
|
+
{},
|
|
12523
|
+
(chunk, type) => {
|
|
12524
|
+
options.onProgress?.("@illustrator", chunk, { type: type || "content", artifactType: "SLIDE" });
|
|
12525
|
+
}
|
|
12526
|
+
);
|
|
12527
|
+
if (!rawSlide || rawSlide.startsWith("\u26A0\uFE0F") || rawSlide.length < 200) {
|
|
12528
|
+
throw createAiInferenceError({
|
|
12529
|
+
errorCode: "ERR_AI_RESPONSE_MALFORMED",
|
|
12530
|
+
agent: "@illustrator",
|
|
12531
|
+
artifactType: "SLIDE",
|
|
12532
|
+
lessonId: lessonCode,
|
|
12533
|
+
message: `Agent @illustrator failed to author valid HTML Slides for ${lessonCode}.`,
|
|
12534
|
+
rawError: rawSlide || "Empty AI response"
|
|
12535
|
+
});
|
|
12536
|
+
}
|
|
12537
|
+
let deckJson = null;
|
|
12538
|
+
const extractCleanJson = (str) => {
|
|
12539
|
+
const fenceMatch = str.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);
|
|
12540
|
+
const candidate = fenceMatch ? fenceMatch[1] : str;
|
|
12541
|
+
return candidate.trim();
|
|
12542
|
+
};
|
|
12543
|
+
try {
|
|
12544
|
+
deckJson = JSON.parse(extractCleanJson(rawSlide));
|
|
12545
|
+
} catch {
|
|
12546
|
+
try {
|
|
12547
|
+
const { jsonrepair: jsonrepair2 } = await import('jsonrepair');
|
|
12548
|
+
deckJson = JSON.parse(jsonrepair2(extractCleanJson(rawSlide)));
|
|
12549
|
+
} catch {
|
|
12550
|
+
}
|
|
12551
|
+
}
|
|
12552
|
+
let validation = presentationKitAi?.validateHtmlSlideDeck ? presentationKitAi.validateHtmlSlideDeck(deckJson, true) : deckJson && Array.isArray(deckJson.slides) ? { valid: true, score: 95, issues: [], slideCount: deckJson.slides.length, notesCoveragePercent: 100 } : { valid: false, score: 0, issues: [{ message: "Malformed JSON slide deck" }], slideCount: 0, notesCoveragePercent: 0 };
|
|
12553
|
+
if (!validation.valid && presentationKitAi?.validateHtmlSlideDeck) {
|
|
12554
|
+
const repairIssues = (validation.issues || []).map((i) => `- Slide ${i.slideIndex ?? "?"}: ${i.message}`).join("\n");
|
|
12555
|
+
onProgress?.("@illustrator", `\u26A0\uFE0F HTML slide deck failed schema validation \u2014 retrying once with targeted repair feedback...`);
|
|
12556
|
+
const repairPrompt = `Your previous slide deck failed strict schema validation:
|
|
12557
|
+
${repairIssues}
|
|
12558
|
+
|
|
12559
|
+
Fix ALL issues and output the complete corrected JSON object strictly matching the schema:`;
|
|
12560
|
+
const repairedRaw = await runCurriculumAIInference(
|
|
12561
|
+
[{ role: "user", content: repairPrompt }],
|
|
12562
|
+
satelliteContext,
|
|
12563
|
+
{},
|
|
12564
|
+
(chunk, type) => {
|
|
12565
|
+
options.onProgress?.("@illustrator", chunk, { type: type || "content", artifactType: "SLIDE" });
|
|
12566
|
+
}
|
|
12567
|
+
);
|
|
12568
|
+
try {
|
|
12569
|
+
deckJson = JSON.parse(extractCleanJson(repairedRaw));
|
|
12570
|
+
validation = presentationKitAi.validateHtmlSlideDeck(deckJson, true);
|
|
12571
|
+
} catch {
|
|
12572
|
+
try {
|
|
12573
|
+
const { jsonrepair: jsonrepair2 } = await import('jsonrepair');
|
|
12574
|
+
deckJson = JSON.parse(jsonrepair2(extractCleanJson(repairedRaw)));
|
|
12575
|
+
validation = presentationKitAi.validateHtmlSlideDeck(deckJson, true);
|
|
12576
|
+
} catch {
|
|
12577
|
+
}
|
|
12578
|
+
}
|
|
12579
|
+
}
|
|
12580
|
+
const markdownWrapper = `---
|
|
12581
|
+
id: "SLIDE_${lessonCode}"
|
|
12582
|
+
title: "${titleHeader(lessonTitle)}"
|
|
12583
|
+
type: "SLIDE"
|
|
12584
|
+
format: "html-deck"
|
|
12585
|
+
engine: "html"
|
|
12586
|
+
phase: "P2"
|
|
12587
|
+
deliverable: "P2-T09"
|
|
12588
|
+
version: "v1.0"
|
|
12589
|
+
date: "${(/* @__PURE__ */ new Date()).toISOString().split("T")[0]}"
|
|
12590
|
+
---
|
|
12591
|
+
|
|
12592
|
+
\`\`\`json
|
|
12593
|
+
${JSON.stringify(deckJson || {}, null, 2)}
|
|
12594
|
+
\`\`\`
|
|
12595
|
+
`;
|
|
12596
|
+
await storage.saveArtifact(projectId, slideRelPath, markdownWrapper);
|
|
12597
|
+
producedArtifacts.push(`SLIDE_${lessonCode}.md`);
|
|
12598
|
+
if (deckJson) {
|
|
12599
|
+
const deckJsonStr = JSON.stringify(deckJson, null, 2);
|
|
12600
|
+
await storage.saveArtifact(projectId, `_content/${unitCode}/SLIDE_${lessonCode}.deck.json`, deckJsonStr);
|
|
12601
|
+
producedArtifacts.push(`SLIDE_${lessonCode}.deck.json`);
|
|
12602
|
+
if (presentationKitAi?.compileHtmlDeck) {
|
|
12603
|
+
try {
|
|
12604
|
+
const compiled = presentationKitAi.compileHtmlDeck(deckJson);
|
|
12605
|
+
if (compiled?.html) {
|
|
12606
|
+
await storage.saveArtifact(projectId, `_content/${unitCode}/SLIDE_${lessonCode}.html`, compiled.html);
|
|
12607
|
+
producedArtifacts.push(`SLIDE_${lessonCode}.html`);
|
|
12608
|
+
}
|
|
12609
|
+
} catch (compErr) {
|
|
12610
|
+
console.warn(`[produceSingleLesson] Failed compiling HTML deck for ${lessonCode}:`, compErr);
|
|
12611
|
+
}
|
|
12612
|
+
}
|
|
12613
|
+
}
|
|
12614
|
+
const passed = Boolean(validation.valid && (validation.score ?? 100) >= 80);
|
|
12615
|
+
const score = validation.score ?? (passed ? 95 : 50);
|
|
12616
|
+
await storage.updateArtifactState(projectId, lessonCode, "SLIDE", {
|
|
12617
|
+
state: passed ? "approved" : "rejected",
|
|
12618
|
+
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
12619
|
+
contentHash: computeContentHash(markdownWrapper),
|
|
12620
|
+
review: {
|
|
12621
|
+
decision: passed ? "APPROVED" : "NEEDS_REVISION",
|
|
12622
|
+
reviewedBy: "@agent-as-judge",
|
|
12623
|
+
reviewedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
12624
|
+
score,
|
|
12625
|
+
critique: passed ? `HTML Slide Deck passed strict schema validation (${score}/100, ${validation.slideCount ?? deckJson?.slides?.length ?? 0} slides). Auto-approved.` : `HTML Slide Deck failed schema validation: ${(validation.issues || []).map((i) => i.message).join("; ")}`
|
|
12626
|
+
}
|
|
12627
|
+
});
|
|
12628
|
+
onProgress?.("@reviewer", passed ? `\u2705 SLIDE judge PASS (${score}/100) [html-deck schema validated]` : `\u26A0\uFE0F SLIDE judge NEEDS_REVISION (${score}/100) [html-deck schema issues]`);
|
|
12629
|
+
} else {
|
|
12630
|
+
const canonicalSlideTemplate = loadCurriculumTemplate("SLIDE_template.md");
|
|
12631
|
+
const templateScaffold = canonicalSlideTemplate || `---
|
|
12381
12632
|
marp: true
|
|
12382
12633
|
theme: default
|
|
12383
12634
|
paginate: true
|
|
12384
12635
|
header: "${titleHeader(lessonTitle)}"
|
|
12385
12636
|
footer: "Curriculum OS \u2022 ${lessonCode} (${pedagogyLabel})"
|
|
12386
12637
|
---`;
|
|
12387
|
-
|
|
12388
|
-
|
|
12389
|
-
|
|
12390
|
-
|
|
12391
|
-
|
|
12392
|
-
|
|
12393
|
-
|
|
12394
|
-
|
|
12395
|
-
|
|
12396
|
-
|
|
12397
|
-
|
|
12398
|
-
|
|
12638
|
+
const slidePrompt = buildMarpMarkdownSlidePrompt({
|
|
12639
|
+
lessonCode,
|
|
12640
|
+
templateScaffold,
|
|
12641
|
+
languageDirective,
|
|
12642
|
+
headingDirective: buildHeadingDirective("SLIDE", slcMarkdown, targetLang)
|
|
12643
|
+
});
|
|
12644
|
+
const rawSlide = await runCurriculumAIInference(
|
|
12645
|
+
[{ role: "user", content: slidePrompt }],
|
|
12646
|
+
satelliteContext,
|
|
12647
|
+
{},
|
|
12648
|
+
(chunk, type) => {
|
|
12649
|
+
options.onProgress?.("@illustrator", chunk, { type: type || "content", artifactType: "SLIDE" });
|
|
12650
|
+
}
|
|
12651
|
+
);
|
|
12652
|
+
if (!rawSlide || rawSlide.startsWith("\u26A0\uFE0F") || rawSlide.length < 200) {
|
|
12653
|
+
throw createAiInferenceError({
|
|
12654
|
+
errorCode: "ERR_AI_RESPONSE_MALFORMED",
|
|
12655
|
+
agent: "@illustrator",
|
|
12656
|
+
artifactType: "SLIDE",
|
|
12657
|
+
lessonId: lessonCode,
|
|
12658
|
+
message: `Agent @illustrator failed to author valid Slides for ${lessonCode}.`,
|
|
12659
|
+
rawError: rawSlide || "Empty AI response"
|
|
12660
|
+
});
|
|
12399
12661
|
}
|
|
12400
|
-
|
|
12401
|
-
|
|
12402
|
-
|
|
12403
|
-
|
|
12404
|
-
|
|
12405
|
-
artifactType: "SLIDE",
|
|
12406
|
-
lessonId: lessonCode,
|
|
12407
|
-
message: `Agent @illustrator failed to author valid Slides for ${lessonCode}.`,
|
|
12408
|
-
rawError: rawSlide || "Empty AI response"
|
|
12662
|
+
await storage.saveArtifact(projectId, slideRelPath, rawSlide);
|
|
12663
|
+
await storage.updateArtifactState(projectId, lessonCode, "SLIDE", {
|
|
12664
|
+
state: "completed",
|
|
12665
|
+
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
12666
|
+
contentHash: computeContentHash(rawSlide)
|
|
12409
12667
|
});
|
|
12668
|
+
producedArtifacts.push(`SLIDE_${lessonCode}.md`);
|
|
12669
|
+
await judgeSat("SLIDE", rawSlide);
|
|
12410
12670
|
}
|
|
12411
|
-
await storage.saveArtifact(projectId, slideRelPath, rawSlide);
|
|
12412
|
-
await storage.updateArtifactState(projectId, lessonCode, "SLIDE", {
|
|
12413
|
-
state: "completed",
|
|
12414
|
-
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
12415
|
-
contentHash: computeContentHash(rawSlide)
|
|
12416
|
-
});
|
|
12417
|
-
producedArtifacts.push(`SLIDE_${lessonCode}.md`);
|
|
12418
|
-
await judgeSat("SLIDE", rawSlide);
|
|
12419
12671
|
}
|
|
12420
12672
|
const guideRelPath = `_content/${unitCode}/GUIDE_${lessonCode}.md`;
|
|
12421
12673
|
if (artifactScope.includes("GUIDE") && (!await storage.readArtifact(projectId, guideRelPath) || force)) {
|
|
@@ -13358,6 +13610,24 @@ function getArtifactSpecializedInvariants(type, req) {
|
|
|
13358
13610
|
const studentCount = req.studentCount || "25";
|
|
13359
13611
|
switch (type) {
|
|
13360
13612
|
case "slide": {
|
|
13613
|
+
if (req.slidesEngine === "html") {
|
|
13614
|
+
return `
|
|
13615
|
+
### \u{1F3AC} INTERACTIVE HTML SLIDE ENGINE CONTRACT:
|
|
13616
|
+
You generate structured slide decks for the LearnWell HTML Slide Presentation Engine.
|
|
13617
|
+
Output a single valid JSON object matching: { "title": "...", "theme": "ocean", "slides": [{ "layoutId": "hero-cover", "slots": { ... }, "notes": "..." }] }
|
|
13618
|
+
|
|
13619
|
+
Layout Presets available:
|
|
13620
|
+
- hero-cover (title, subtitle, presenter, date, tag)
|
|
13621
|
+
- two-column-split (col1Title, col1Items[], col2Title, col2Items[])
|
|
13622
|
+
- code-explainer (filename, language, code, highlightLines, annotations[])
|
|
13623
|
+
- metrics-3-card (card1Title, card1Val, card1Desc, ...)
|
|
13624
|
+
- process-flow (steps: [{ label, desc, status }])
|
|
13625
|
+
- quiz-checkpoint (question, options[], answerIdx, explanation)
|
|
13626
|
+
- tiered-practice-3cards (foundation, standard, challenge cards)
|
|
13627
|
+
- takeaways-summary (takeaways: bullet points)
|
|
13628
|
+
|
|
13629
|
+
Mandatory Presenter Notes on every slide with Talk Track, Cold-Call, and Scaffolding Tip.`;
|
|
13630
|
+
}
|
|
13361
13631
|
const slideCount = cfg.slideCount || 10;
|
|
13362
13632
|
const presentationStyle = cfg.presentationStyle || "modern";
|
|
13363
13633
|
const presentationDuration = cfg.presentationDuration || 45;
|
|
@@ -17232,6 +17502,6 @@ function renderMediaPlaceholder(entry) {
|
|
|
17232
17502
|
return `> \u{1F5BC}\uFE0F [\u1EA2nh \u0111ang ch\u1EDD: ${entry.name} \u2014 s\u1EBD \u0111\u01B0\u1EE3c t\u1EA1o sau khi duy\u1EC7t media]`;
|
|
17233
17503
|
}
|
|
17234
17504
|
|
|
17235
|
-
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, 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, GlossaryQuickRefRowSchema, GlossarySchema, GlossaryTermSchema, GoldTierSchema, GradeBandSchema, GraphicOrganizerItemSchema, GraphicOrganizerSchema, HANDOUT_TEMPLATE, HandoutSchema, HandoutSectionSchema, InstructionSectionSchema, InstructionStepSchema, JudgeCriterionSchema, 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_SOT_FILES, STATION_ROTATION_TEMPLATE, ScaffoldDecisionEntrySchema, ScaffoldDecisionSchema, ScienceLabSchema, ScoringRubricRowSchema, SelfLabSchema, SelfPacedBundleSchema, SelfPacedChallengeSchema, SessionPlanSchema, SilverTierSchema, 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, 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, exportAllProjectQuizzes, expositionCacheKey, extractScopeSequenceRows, extractSectionHeadingsFromSLC, extractSessionSlice, extractStreamChunk, extractThoughtAndContent, 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 };
|
|
17505
|
+
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, 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, GlossaryQuickRefRowSchema, GlossarySchema, GlossaryTermSchema, GoldTierSchema, GradeBandSchema, GraphicOrganizerItemSchema, GraphicOrganizerSchema, HANDOUT_TEMPLATE, HandoutSchema, HandoutSectionSchema, InstructionSectionSchema, InstructionStepSchema, JudgeCriterionSchema, 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_SOT_FILES, STATION_ROTATION_TEMPLATE, ScaffoldDecisionEntrySchema, ScaffoldDecisionSchema, ScienceLabSchema, ScoringRubricRowSchema, SelfLabSchema, SelfPacedBundleSchema, SelfPacedChallengeSchema, SessionPlanSchema, SilverTierSchema, 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, exportAllProjectQuizzes, expositionCacheKey, extractScopeSequenceRows, extractSectionHeadingsFromSLC, extractSessionSlice, extractStreamChunk, extractThoughtAndContent, 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 };
|
|
17236
17506
|
//# sourceMappingURL=index.mjs.map
|
|
17237
17507
|
//# sourceMappingURL=index.mjs.map
|