@thanh01.pmt/curriculum-kit 1.4.34 → 1.4.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/LICENSE +21 -0
  2. package/dist/ai/index.cjs +57 -1
  3. package/dist/ai/index.cjs.map +1 -1
  4. package/dist/ai/index.d.cts +2 -2
  5. package/dist/ai/index.d.ts +2 -2
  6. package/dist/ai/index.mjs +57 -1
  7. package/dist/ai/index.mjs.map +1 -1
  8. package/dist/{gateSettings-DabOqP6_.d.cts → gateSettings-oo5tCUS_.d.cts} +18 -0
  9. package/dist/{gateSettings-DabOqP6_.d.ts → gateSettings-oo5tCUS_.d.ts} +18 -0
  10. package/dist/index.cjs +764 -70
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.cts +234 -74
  13. package/dist/index.d.ts +234 -74
  14. package/dist/index.mjs +748 -71
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/pipeline/index.cjs +57 -1
  17. package/dist/pipeline/index.cjs.map +1 -1
  18. package/dist/pipeline/index.mjs +57 -1
  19. package/dist/pipeline/index.mjs.map +1 -1
  20. package/dist/schemas/index.cjs +63 -1
  21. package/dist/schemas/index.cjs.map +1 -1
  22. package/dist/schemas/index.d.cts +436 -33
  23. package/dist/schemas/index.d.ts +436 -33
  24. package/dist/schemas/index.mjs +58 -2
  25. package/dist/schemas/index.mjs.map +1 -1
  26. package/dist/standards/index.d.cts +2 -2
  27. package/dist/standards/index.d.ts +2 -2
  28. package/dist/workflow/index.cjs +84 -2
  29. package/dist/workflow/index.cjs.map +1 -1
  30. package/dist/workflow/index.d.cts +3 -3
  31. package/dist/workflow/index.d.ts +3 -3
  32. package/dist/workflow/index.mjs +84 -2
  33. package/dist/workflow/index.mjs.map +1 -1
  34. package/package.json +22 -23
  35. package/dist/{standardsCoverageGate-DR5YTtlt.d.cts → standardsCoverageGate-49pJq5t8.d.cts} +6 -6
  36. package/dist/{standardsCoverageGate-DR5YTtlt.d.ts → standardsCoverageGate-49pJq5t8.d.ts} +6 -6
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { PlanConstraints, TranslationPolicy, CurriculumPlan, PlanningGraph, PlanningNode, DependencyEdge, LessonPlan, DiagnosticQuizInput, ActivityLab, SlideDeck, CodeLab, DiagnosticQuiz } from './schemas/index.cjs';
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';
1
+ import { PlanConstraints, TranslationPolicy, CurriculumPlan, PlanningGraph, PlanningNode, DependencyEdge, ConceptSpiralEncounter, SessionZpdStatus, PrerequisiteDecision, UnitPlan, WalkingSkeleton, MasteryGate, ConceptPrerequisiteEdge, LessonPlan, DiagnosticQuizInput, ActivityLab, SlideDeck, CodeLab, DiagnosticQuiz } from './schemas/index.cjs';
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, ConceptPrerequisiteEdgeSchema, ConceptSpiralEncounterSchema, 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, MasteryGateSchema, MentorCheatsheetSchema, MilestoneInput, MilestoneInputSchema, Misconception, MisconceptionSchema, NodeKindSchema, OrganizerTypeEnum, PhaseInput, PhaseInputSchema, PlanConstraintsSchema, PlannerInput, PlannerInputSchema, PlanningGraphSchema, PlanningNodeSchema, PlanningPhase, 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, SessionZpdStatusSchema, 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, UnitPlanSchema, UserJourneySchema, WalkingSkeletonSchema, Worksheet, WorksheetItem, WorksheetItemSchema, WorksheetItemTypeEnum, WorksheetPart, WorksheetPartSchema, WorksheetSchema, ZpdVerdict, ZpdVerdictSchema, validateCurriculumPlan } from './schemas/index.cjs';
3
3
  import { A as AIProviderName, M as ModelResolutionOptions } from './provider-factory-Bv-eIkhg.cjs';
4
4
  export { N as NVIDIA_MODELS, g as getAIModel } from './provider-factory-Bv-eIkhg.cjs';
5
5
  export { ActivityPromptInput, 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, 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';
@@ -10,10 +10,10 @@ export { A as AutoRepairOptions, a as AutoRepairResult, B as BundleTier, G as Ge
10
10
  import { I as ICurriculumStorage, P as ProjectStatusReport, S as SmartResumeContext, Q as QualityAuditReport } from './types-Bgk-C4K2.cjs';
11
11
  export { b as ArtifactLifecycleInfo, A as ArtifactLifecycleState, L as LessonArtifactSummary, c as PipelineState, R as ReviewRecord, a as SotDocument, T as TaskLifecycleState } from './types-Bgk-C4K2.cjs';
12
12
  export { FileSystemCurriculumAdapter, FileSystemStorageOptions, STANDARD_SOT_FILES, StorageFactoryOptions, SupabaseCurriculumAdapter, SupabaseStorageConfig, atomicWriteFileSync, computeContentHash, createCurriculumStorage } from './storage/index.cjs';
13
- import { F as FrameworkPack, C as CoverageGateReport } from './standardsCoverageGate-DR5YTtlt.cjs';
14
- export { B as BloomHintSchema, a as ClassificationSchema, m as CoverageGateInput, 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-DR5YTtlt.cjs';
15
- import { R as ResolvedGateSettings } from './gateSettings-DabOqP6_.cjs';
16
- export { A as ArtifactType, B as BoundaryPeek, b as CurriculumArtifactType, C as CurriculumGateMode, h as CurriculumHorizon, D as DEFAULT_GATE_SETTINGS, f as DetailedLessonBridge, E as ExtractCurriculumHorizonOptions, G as GateSettings, H as HorizonSessionSnapshot, i as HorizonValidationResult, c as ScaffoldingLevel, S as SingleArtifactRequest, a as SingleArtifactResult, k as extractCurriculumHorizon, g as gateModeFor, e as generateSingleArtifact, d as getArtifactMetadata, j as parseAllSessions, p as parseGateSettings, l as renderHorizonPromptBlock, r as resolveGateSettings, v as validateHorizonCompliance } from './gateSettings-DabOqP6_.cjs';
13
+ import { F as FrameworkPack, C as CoverageGateReport } from './standardsCoverageGate-49pJq5t8.cjs';
14
+ export { B as BloomHintSchema, a as ClassificationSchema, m as CoverageGateInput, 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-49pJq5t8.cjs';
15
+ import { R as ResolvedGateSettings } from './gateSettings-oo5tCUS_.cjs';
16
+ export { A as ArtifactType, B as BoundaryPeek, b as CurriculumArtifactType, C as CurriculumGateMode, h as CurriculumHorizon, D as DEFAULT_GATE_SETTINGS, f as DetailedLessonBridge, E as ExtractCurriculumHorizonOptions, G as GateSettings, H as HorizonSessionSnapshot, i as HorizonValidationResult, c as ScaffoldingLevel, S as SingleArtifactRequest, a as SingleArtifactResult, k as extractCurriculumHorizon, g as gateModeFor, e as generateSingleArtifact, d as getArtifactMetadata, j as parseAllSessions, p as parseGateSettings, l as renderHorizonPromptBlock, r as resolveGateSettings, v as validateHorizonCompliance } from './gateSettings-oo5tCUS_.cjs';
17
17
  import { z } from 'zod';
18
18
  export { DeliveryPackResult, JobManifest, LocalWorkspaceManager, ParsedQuizQuestion, buildDeliveryPackages, exportAllProjectQuizzes, formatQuizzesToCsv, parseQuizMarkdown } from './publishers/index.cjs';
19
19
  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';
@@ -124,6 +124,145 @@ declare function extractScopeSequenceRows(framework: string): {
124
124
  };
125
125
  declare function lintCurriculumFramework(framework: string, expectedSessions?: number): FrameworkLintReport;
126
126
 
127
+ interface ExcerptOptions {
128
+ /**
129
+ * Canonical (English) section keys to prioritize, in order.
130
+ * Each key's body is included before moving to the next priority.
131
+ */
132
+ priorities?: string[];
133
+ /** Character budget for the excerpt (default 12_000, ~3k tokens). */
134
+ budget?: number;
135
+ /**
136
+ * Section Language Contract mapping (Record or raw contract markdown).
137
+ * Used to resolve localized headings (e.g. Vietnamese) to canonical keys.
138
+ */
139
+ sectionLanguageContract?: Record<string, Record<string, string>> | string;
140
+ /** File name or artifact type hint (e.g. 'LESSON', 'KNOWLEDGE_EXPOSITION'). */
141
+ artifactType?: string;
142
+ /**
143
+ * Source file name (e.g. `LESSON_U03_M01_L06.md`) — artifact type derived
144
+ * from it when `artifactType` is not given. Matches the web app's builder
145
+ * option so both call-sites share one contract.
146
+ */
147
+ fileName?: string;
148
+ /** Min chars below which the excerpt is flagged as insufficient (default 400). */
149
+ minContentChars?: number;
150
+ }
151
+ interface ExcerptResult {
152
+ /** Excerpt markdown safe to inject into prompt context blocks. */
153
+ excerpt: string;
154
+ /** True when the source parsed cleanly, passed sufficiency checks, and resolved priorities. */
155
+ verified: boolean;
156
+ /** True when canonical section resolution matched at least one priority section. */
157
+ sectionAware: boolean;
158
+ /** Canonical section keys included in the excerpt, in order. */
159
+ includedSections: string[];
160
+ /** Warning or error flags explaining why verified === false. */
161
+ issues: string[];
162
+ /** Approximate token count (chars / 4). */
163
+ tokenEstimate: number;
164
+ }
165
+ declare const DEFAULT_LESSON_PRIORITIES: string[];
166
+ /**
167
+ * Priorities for the canonical-lesson excerpt injected into SATELLITE artifact
168
+ * contexts (ACT, QUIZ, SLIDE, ...). Excludes 'Symbol & Identifier Ledger' —
169
+ * the symbol registry is injected as its own dedicated block
170
+ * ([MANDATORY CODE SYMBOL REGISTRY]) to avoid duplicated ground truth.
171
+ */
172
+ declare const SATELLITE_LESSON_PRIORITIES: string[];
173
+ declare const DEFAULT_KX_PRIORITIES: string[];
174
+ declare function buildSectionAwareExcerpt(markdown: string, opts?: ExcerptOptions): ExcerptResult;
175
+ declare function buildExpositionExcerpt(markdown: string, opts?: Omit<ExcerptOptions, 'priorities'>): ExcerptResult;
176
+ declare function buildLessonExcerpt(markdown: string, opts?: Omit<ExcerptOptions, 'priorities'>): ExcerptResult;
177
+ /**
178
+ * Normalizes SLC input into a two-level map: Record<ArtifactType, Record<CanonicalKey, LocalizedLabel>>
179
+ */
180
+ declare function normalizeSlcContract(slc: Record<string, Record<string, string>> | string | undefined): Record<string, Record<string, string>> | undefined;
181
+ /**
182
+ * Extracts code symbol & identifier contracts from LESSON markdown.
183
+ * Provides deterministic symbol names (Primary Struct/Class, Entry File, Key Functions)
184
+ * so all satellite agents (@activity, @illustrator, @assessor) inherit them verbatim.
185
+ */
186
+ interface SymbolLedgerResult {
187
+ primarySymbol?: string;
188
+ entryFileName?: string;
189
+ keySymbols: string[];
190
+ rawBlock: string;
191
+ }
192
+ declare function extractSymbolLedger(lessonMarkdown: string): SymbolLedgerResult;
193
+
194
+ type ContextRoutingMode = 'legacy' | 'hybrid';
195
+ interface SatContextResult {
196
+ /** Full context string to pass as the satellite prompt's user context. */
197
+ context: string;
198
+ /** Context blocks with provenance, for execution-history telemetry. */
199
+ blocks: Array<{
200
+ slot: string;
201
+ source: string;
202
+ chars: number;
203
+ verified: boolean;
204
+ issues: string[];
205
+ }>;
206
+ /** Aggregate — mirrors ExcerptResult semantics for the composite. */
207
+ verified: boolean;
208
+ sectionAware: boolean;
209
+ issues: string[];
210
+ /** Composite token estimate (chars/4). */
211
+ tokenEstimate: number;
212
+ }
213
+ interface SatelliteContextInput {
214
+ /** Artifact type (ACT, QUIZ, SLIDE, GUIDE, HANDOUT, WKS, CODE, EXT, EXIT_TICKET). */
215
+ artifactType: string;
216
+ /**
217
+ * Common context assembled by produceSingleLesson (framework, style guide, ref pack, session slice, standards, guardrails).
218
+ * In hybrid mode pass the KX-FREE composite (assembleCommonContext(sg, false)):
219
+ * the scoped per-type KX excerpt below becomes the single canonical-knowledge
220
+ * block, so KX is never injected twice.
221
+ */
222
+ commonContext: string;
223
+ /** Canonical LESSON markdown. */
224
+ lessonContent: string;
225
+ /** Pre-built full lesson excerpt (SATELLITE_LESSON_PRIORITIES, 12k) — reused for LESSON-primary types when no per-type override needed. */
226
+ lessonExcerpt: ExcerptResult;
227
+ /** KX markdown — the source for the per-type scoped KX excerpt (hybrid mode). */
228
+ expositionContent: string;
229
+ /** Section Language Contract raw markdown (bilingual heading resolution). */
230
+ slcMarkdown?: string;
231
+ /** Symbol ledger block already rendered by the caller (appended to LESSON-primary and CODE contexts). */
232
+ symbolLedgerBlock: string;
233
+ /** Pedagogy label for the legacy composite heading (byte-compat with pre-P49). */
234
+ pedagogyLabel?: string;
235
+ /** 'legacy' = old one-size-fits-all satelliteContext (default). 'hybrid' = per-type slots. */
236
+ mode?: ContextRoutingMode;
237
+ }
238
+ /**
239
+ * Extract ONLY the Activity Sequence rows whose Artifact Contract column
240
+ * assigns work to this artifact (fuzzy match on the last column), plus the
241
+ * table header. Bounded to `maxChars`; keeps first rows (sequence order).
242
+ * Returns '' when no row matches (caller falls back to nothing — the KX
243
+ * excerpt still carries the concept; the prompt text already demands
244
+ * alignment with the lesson's hands-on task).
245
+ */
246
+ declare function extractActivityContractRows(lessonContent: string, artifactType: string, maxChars?: number): string;
247
+ /**
248
+ * Extract the B-flow tiered scaffolding block (Bronze/Silver/Gold) for
249
+ * CODE/EXT — the plan's differentiation is often boilerplate (P49 G0), the
250
+ * LESSON flow tiers are the real per-lesson task ladder.
251
+ */
252
+ declare function extractTieredScaffoldingBlock(lessonContent: string, maxChars?: number): string;
253
+ /**
254
+ * Extract the LESSON 'Assessment Map' subsection (H3 inside 'A. Lesson Design
255
+ * Plan') for QUIZ/WKS — the H2-level excerpt builder cannot select it
256
+ * directly. Mirrors the heading-capture pattern of extractTieredScaffoldingBlock.
257
+ */
258
+ declare function extractAssessmentMap(lessonContent: string, maxChars?: number): string;
259
+ /**
260
+ * Build the satellite context for one artifact type.
261
+ * Returns the legacy composite when mode === 'legacy' (byte-identical to the
262
+ * pre-P49 behaviour) so the flag can shadow-compare safely.
263
+ */
264
+ declare function buildSatelliteContext(input: SatelliteContextInput): SatContextResult;
265
+
127
266
  /**
128
267
  * Resolves and loads official canonical templates from docs/refs/templates or _templates/
129
268
  */
@@ -178,7 +317,20 @@ interface ProduceLessonOptions {
178
317
  studentEquipment?: string;
179
318
  classDynamic?: string;
180
319
  language?: string;
320
+ /** P49 G1.2/G2: pedagogical slots consumed by context routing (age-appropriate language, bridge hints). */
321
+ targetAge?: string;
322
+ targetAgeTier?: string;
323
+ entryBridge?: string;
324
+ assessmentStrategy?: string;
181
325
  };
326
+ /**
327
+ * P49 G2: Micro-Slot context routing mode. 'legacy' (default) = the
328
+ * pre-P49 one-size-fits-all satelliteContext. 'hybrid' = per-artifact
329
+ * whitelisted slots (LESSON-primary scoped excerpts; KX-only types get KX
330
+ * priorities + activity-contract mini-slot). Shadow-compare before
331
+ * flipping the app default.
332
+ */
333
+ contextRoutingMode?: ContextRoutingMode;
182
334
  /**
183
335
  * P46 RC2: host-provided inference override (Vercel AI SDK gateway).
184
336
  * When supplied, ALL lesson/satellite LLM calls route through it — the kit's
@@ -241,73 +393,6 @@ declare function produceBatchLessons(storage: ICurriculumStorage, projectId: str
241
393
  report: ProjectStatusReport;
242
394
  }>;
243
395
 
244
- interface ExcerptOptions {
245
- /**
246
- * Canonical (English) section keys to prioritize, in order.
247
- * Each key's body is included before moving to the next priority.
248
- */
249
- priorities?: string[];
250
- /** Character budget for the excerpt (default 12_000, ~3k tokens). */
251
- budget?: number;
252
- /**
253
- * Section Language Contract mapping (Record or raw contract markdown).
254
- * Used to resolve localized headings (e.g. Vietnamese) to canonical keys.
255
- */
256
- sectionLanguageContract?: Record<string, Record<string, string>> | string;
257
- /** File name or artifact type hint (e.g. 'LESSON', 'KNOWLEDGE_EXPOSITION'). */
258
- artifactType?: string;
259
- /**
260
- * Source file name (e.g. `LESSON_U03_M01_L06.md`) — artifact type derived
261
- * from it when `artifactType` is not given. Matches the web app's builder
262
- * option so both call-sites share one contract.
263
- */
264
- fileName?: string;
265
- /** Min chars below which the excerpt is flagged as insufficient (default 400). */
266
- minContentChars?: number;
267
- }
268
- interface ExcerptResult {
269
- /** Excerpt markdown safe to inject into prompt context blocks. */
270
- excerpt: string;
271
- /** True when the source parsed cleanly, passed sufficiency checks, and resolved priorities. */
272
- verified: boolean;
273
- /** True when canonical section resolution matched at least one priority section. */
274
- sectionAware: boolean;
275
- /** Canonical section keys included in the excerpt, in order. */
276
- includedSections: string[];
277
- /** Warning or error flags explaining why verified === false. */
278
- issues: string[];
279
- /** Approximate token count (chars / 4). */
280
- tokenEstimate: number;
281
- }
282
- declare const DEFAULT_LESSON_PRIORITIES: string[];
283
- /**
284
- * Priorities for the canonical-lesson excerpt injected into SATELLITE artifact
285
- * contexts (ACT, QUIZ, SLIDE, ...). Excludes 'Symbol & Identifier Ledger' —
286
- * the symbol registry is injected as its own dedicated block
287
- * ([MANDATORY CODE SYMBOL REGISTRY]) to avoid duplicated ground truth.
288
- */
289
- declare const SATELLITE_LESSON_PRIORITIES: string[];
290
- declare const DEFAULT_KX_PRIORITIES: string[];
291
- declare function buildSectionAwareExcerpt(markdown: string, opts?: ExcerptOptions): ExcerptResult;
292
- declare function buildExpositionExcerpt(markdown: string, opts?: Omit<ExcerptOptions, 'priorities'>): ExcerptResult;
293
- declare function buildLessonExcerpt(markdown: string, opts?: Omit<ExcerptOptions, 'priorities'>): ExcerptResult;
294
- /**
295
- * Normalizes SLC input into a two-level map: Record<ArtifactType, Record<CanonicalKey, LocalizedLabel>>
296
- */
297
- declare function normalizeSlcContract(slc: Record<string, Record<string, string>> | string | undefined): Record<string, Record<string, string>> | undefined;
298
- /**
299
- * Extracts code symbol & identifier contracts from LESSON markdown.
300
- * Provides deterministic symbol names (Primary Struct/Class, Entry File, Key Functions)
301
- * so all satellite agents (@activity, @illustrator, @assessor) inherit them verbatim.
302
- */
303
- interface SymbolLedgerResult {
304
- primarySymbol?: string;
305
- entryFileName?: string;
306
- keySymbols: string[];
307
- rawBlock: string;
308
- }
309
- declare function extractSymbolLedger(lessonMarkdown: string): SymbolLedgerResult;
310
-
311
396
  interface ProjectCreationPayload {
312
397
  projectName: string;
313
398
  projectCode: string;
@@ -646,6 +731,68 @@ interface PackingSpec {
646
731
  sessionDurationMinutes: number;
647
732
  }
648
733
  declare function computePackingSpec(constraints: PlanConstraints): PackingSpec;
734
+ declare function assignDepths(nodeIds: string[], nodeById: Map<string, PlanningNode>, conceptEncounterMap?: Map<string, number>): CurriculumPlan['sessions'][number]['depth_assignments'];
735
+ /**
736
+ * Bruner's Spiral Curriculum progression tracker across the entire course.
737
+ * Tracks encounter count per concept code:
738
+ * Encounter 1 -> Bloom ceiling: Understand, Depth: CIO
739
+ * Encounter 2 -> Bloom ceiling: Apply, Depth: SIO
740
+ * Encounter 3+ -> Bloom ceiling: Analyze, Depth: SIO
741
+ */
742
+ declare function computeConceptSpiralProgression(sessions: Array<{
743
+ id: string;
744
+ node_ids: string[];
745
+ }>, nodeById: Map<string, PlanningNode>): ConceptSpiralEncounter[];
746
+ /**
747
+ * P50-G1: Vygotsky ZPD & Cognitive Overload Guard.
748
+ * Evaluates session cognitive capacity against the cumulative horizon:
749
+ * - TOO_MANY_NEW: More than 2 new concepts (or >4 new keywords if conceptless) introduced in 1 session
750
+ * - NO_ZPD_BRIDGE: Session index > 0 with >1 new concepts and 0 known concepts from prior sessions
751
+ * Self-healing: If NO_ZPD_BRIDGE, injects a recap anchor into prerequisite decisions.
752
+ */
753
+ declare function checkSessionZpd(sessionIndex: number, nodeIds: string[], nodeById: Map<string, PlanningNode>, allSeenConcepts: Set<string>, allSeenKeywords: Set<string>, entryKw: Set<string>, warnings: string[]): {
754
+ status: SessionZpdStatus;
755
+ bridgeRepair?: {
756
+ node_id: string;
757
+ decision: PrerequisiteDecision;
758
+ reason: string;
759
+ };
760
+ };
761
+ /**
762
+ * P50-G3: Reigeluth Walking Skeleton Validator.
763
+ * Formulates Unit 1 as the Epitome (minimal end-to-end working software slice),
764
+ * and subsequent Units as Elaborations that deepen and expand specific subsystems.
765
+ */
766
+ declare function buildWalkingSkeleton(units: UnitPlan[], sessions: Array<{
767
+ id: string;
768
+ unit_id: string;
769
+ exit_evidence?: string[];
770
+ }>): WalkingSkeleton;
771
+ /**
772
+ * P50-G4: Inter-Phase Mastery Gates & Remediation Sprints.
773
+ * Builds formal competency gates between consecutive units with measurable
774
+ * acceptance criteria and a targeted 15-minute remediation protocol.
775
+ */
776
+ declare function buildMasteryGates(units: UnitPlan[], sessions: Array<{
777
+ id: string;
778
+ unit_id: string;
779
+ exit_evidence?: string[];
780
+ }>): MasteryGate[];
781
+ /**
782
+ * Drops symmetric edges (A->B and B->A) and performs DFS cycle detection
783
+ * to guarantee an acyclic concept prerequisite graph (curriculum_graph.py port).
784
+ */
785
+ declare function dropCyclicConceptEdges(edges: ConceptPrerequisiteEdge[]): ConceptPrerequisiteEdge[];
786
+ /**
787
+ * Gagné Cross-Concept Prerequisite DAG (ADR-0005 & curriculum_graph.py port).
788
+ * Derives cross-concept dependency edges from planning node dependencies,
789
+ * validates structure support (taught earlier in teaching order), flags hubs (fan-out >= 6),
790
+ * and eliminates cycles.
791
+ */
792
+ declare function buildConceptPrerequisites(sessions: Array<{
793
+ id: string;
794
+ node_ids: string[];
795
+ }>, nodeById: Map<string, PlanningNode>, edges: DependencyEdge[]): ConceptPrerequisiteEdge[];
649
796
  declare function buildCurriculumPlan(rawGraph: unknown, options: PlanOptions): Promise<PlanResult>;
650
797
  /** Extract the machine-readable slice the LESSON agent consumes for one session. */
651
798
  declare function extractSessionSlice(plan: CurriculumPlan, lessonCode: string): CurriculumPlan['sessions'][number];
@@ -1237,6 +1384,19 @@ declare class DeterministicStructuralLinter {
1237
1384
  findings: AcademicAuditFinding[];
1238
1385
  strengths: string[];
1239
1386
  };
1387
+ /**
1388
+ * P50: Validates macro-pedagogical invariants across a CurriculumPlan.
1389
+ * Checks:
1390
+ * 1. ZPD violations without self-healing recap (NO_ZPD_BRIDGE)
1391
+ * 2. Walking Skeleton existence (Unit 1 delivers working software)
1392
+ * 3. Inter-unit Mastery Gate presence
1393
+ */
1394
+ static lintPlan(plan: CurriculumPlan): {
1395
+ passed: boolean;
1396
+ score: number;
1397
+ findings: AcademicAuditFinding[];
1398
+ strengths: string[];
1399
+ };
1240
1400
  }
1241
1401
 
1242
1402
  interface AuditBundleInput {
@@ -1469,4 +1629,4 @@ declare function getSlideLayoutPresetById(id: string): SlideLayoutPreset | undef
1469
1629
  */
1470
1630
  declare function getSlideLayoutPresetsByCategory(category: SlideLayoutCategory): SlideLayoutPreset[];
1471
1631
 
1472
- 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, ChunkType, 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 ExtractedJson, type ExtractedStreamChunk, type FindingSeverity, FiveEInstructionalEvaluator, type FrameworkLintFinding, type FrameworkLintReport, FrameworkPack, GLOSSARY_TEMPLATE, GRAPHIC_ORGANIZER_TEMPLATE, type GenerateExpositionOptions, GeneratedSlideArraySchema, GeneratedSlideSchema, HANDOUT_TEMPLATE, HybridBlueprintArraySchema, HybridBlueprintItemSchema, HybridDeckSlideArraySchema, HybridDeckSlideSchema, HybridPipelineError, 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 PrefillProviderEvent, 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, SATELLITE_LESSON_PRIORITIES, SCIENCE_LAB_TEMPLATE, SELF_LAB_TEMPLATE, SLIDE_LAYOUT_PRESETS, SLIDE_TEMPLATE, STATION_ROTATION_TEMPLATE, type SlashCommandDefinition, SlideBlueprintArraySchema, SlideBlueprintItemSchema, SlideDeck, type SlideEngine, 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, emitUsage, ensureExpositionForLesson, ensureKnowledgeExposition, executeCurriculumCommand, executeSlideProductionWorkflow, expositionCacheKey, extractJsonArray, 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, validateHybridDeckSlides };
1632
+ 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, ChunkType, CodeHardwareFeasibilityEvaluator, CodeLab, type ComprehensiveAcademicReport, ConceptPrerequisiteEdge, ConceptSpiralEncounter, ConstructiveAlignmentEvaluator, type ContextInjectionMeta, type ContextRoutingMode, 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 ExtractedJson, type ExtractedStreamChunk, type FindingSeverity, FiveEInstructionalEvaluator, type FrameworkLintFinding, type FrameworkLintReport, FrameworkPack, GLOSSARY_TEMPLATE, GRAPHIC_ORGANIZER_TEMPLATE, type GenerateExpositionOptions, GeneratedSlideArraySchema, GeneratedSlideSchema, HANDOUT_TEMPLATE, HybridBlueprintArraySchema, HybridBlueprintItemSchema, HybridDeckSlideArraySchema, HybridDeckSlideSchema, HybridPipelineError, ICurriculumStorage, LAYER_IDLE_BUDGET_MS, LAYER_TOTAL_BUDGET_MS, LESSON_PLAN_TEMPLATE, type LayerChunkCallback, type LayerPrefillOptions, type LayerPrefillResult, type LayoutBoxConfig, LessonPlan, MasteryGate, MisconceptionEvaluator, ModelResolutionOptions, PROJECT_INSTRUCTION_TEMPLATE, type PackingSpec, type PedagogicalModel, type PipelineExecutionProgress, PlanConstraints, type PlanOptions, type PlanResult, type PlannerLlmFn, PlanningGraph, PlanningNode, type PrefillProviderEvent, type PreliminaryResearchResult, PrerequisiteDecision, type ProduceLessonOptions, type ProduceLessonResult, type ProjectBriefingData, type ProjectClarification, type ProjectCreationPayload, type ProjectIntentAnalysisResult, ProjectStatusReport, type ProjectionMeta, QUIZ_TEMPLATE, QualityAuditReport, REVIEW_GAME_TEMPLATE, RUBRIC_TEMPLATE, ResolvedGateSettings, SATELLITE_LESSON_PRIORITIES, SCIENCE_LAB_TEMPLATE, SELF_LAB_TEMPLATE, SLIDE_LAYOUT_PRESETS, SLIDE_TEMPLATE, STATION_ROTATION_TEMPLATE, type SatContextResult, type SatelliteContextInput, SessionZpdStatus, type SlashCommandDefinition, SlideBlueprintArraySchema, SlideBlueprintItemSchema, SlideDeck, type SlideEngine, 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, UnitPlan, type ValidationOptions, WORKSHEET_TEMPLATE, WalkingSkeleton, analyzeProjectCreationIntent, assertAcyclic, assignDepths, auditQualityReport, buildConceptPrerequisites, buildCurriculumContext, buildCurriculumPlan, buildDomainLexiconGuardrail, buildExpositionContext, buildExpositionExcerpt, buildHeadingDirective, buildLanguageDirective, buildLessonExcerpt, buildMasteryGates, buildSatelliteContext, buildSectionAwareExcerpt, buildSessionSliceContext, buildWalkingSkeleton, checkSessionZpd, closeTruncatedJson, computeConceptSpiralProgression, computePackingSpec, conductPreliminaryResearch, createAiInferenceError, createContextMissingError, createStreamAbortSignal, createStreamChunkExtractor, detectProjectPedagogy, dropCyclicConceptEdges, emitUsage, ensureExpositionForLesson, ensureKnowledgeExposition, executeCurriculumCommand, executeSlideProductionWorkflow, expositionCacheKey, extractActivityContractRows, extractAssessmentMap, extractJsonArray, extractScopeSequenceRows, extractSectionHeadingsFromSLC, extractSessionSlice, extractStreamChunk, extractSymbolLedger, extractTieredScaffoldingBlock, 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, validateHybridDeckSlides };