@thanh01.pmt/domain-kit 0.1.0 → 0.2.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.
Files changed (81) hide show
  1. package/LICENSE +21 -0
  2. package/dist/chunk-7XGWW6CB.mjs +3 -0
  3. package/dist/{chunk-F4RZNBOE.mjs.map → chunk-7XGWW6CB.mjs.map} +1 -1
  4. package/dist/{chunk-VFART56O.mjs → chunk-BL5NBKPH.mjs} +12 -8
  5. package/dist/chunk-BL5NBKPH.mjs.map +1 -0
  6. package/dist/chunk-IJZUV7N3.mjs +3 -0
  7. package/dist/chunk-IJZUV7N3.mjs.map +1 -0
  8. package/dist/{chunk-3VVPSRAM.mjs → chunk-JE57VFWX.mjs} +1056 -92
  9. package/dist/chunk-JE57VFWX.mjs.map +1 -0
  10. package/dist/{chunk-GEUDHZE7.mjs → chunk-KPZKPNOJ.mjs} +173 -4
  11. package/dist/chunk-KPZKPNOJ.mjs.map +1 -0
  12. package/dist/chunk-R57WTNXW.mjs +3 -0
  13. package/dist/chunk-R57WTNXW.mjs.map +1 -0
  14. package/dist/{chunk-3H2HX7PR.mjs → chunk-RAR5MUUK.mjs} +57 -7
  15. package/dist/chunk-RAR5MUUK.mjs.map +1 -0
  16. package/dist/chunk-T4Y2DE2W.mjs +187 -0
  17. package/dist/chunk-T4Y2DE2W.mjs.map +1 -0
  18. package/dist/{chunk-PM42MMDJ.mjs → chunk-WHBAGJWN.mjs} +48 -3
  19. package/dist/chunk-WHBAGJWN.mjs.map +1 -0
  20. package/dist/chunk-ZKLT27T4.mjs +3 -0
  21. package/dist/chunk-ZKLT27T4.mjs.map +1 -0
  22. package/dist/concepts/index.d.cts +2 -2
  23. package/dist/concepts/index.d.ts +2 -2
  24. package/dist/cpp-CZUPqJt9.d.cts +98 -0
  25. package/dist/cpp-CZUPqJt9.d.ts +98 -0
  26. package/dist/curriculumFeedEmitter-UG664SWY.mjs +4 -0
  27. package/dist/curriculumFeedEmitter-UG664SWY.mjs.map +1 -0
  28. package/dist/detector/index.cjs +10 -6
  29. package/dist/detector/index.cjs.map +1 -1
  30. package/dist/detector/index.d.cts +4 -19
  31. package/dist/detector/index.d.ts +4 -19
  32. package/dist/detector/index.mjs +2 -1
  33. package/dist/domainProfileDetector-DHb1T0zB.d.ts +22 -0
  34. package/dist/domainProfileDetector-bzugdQmS.d.cts +22 -0
  35. package/dist/extractors/index.d.cts +3 -3
  36. package/dist/extractors/index.d.ts +3 -3
  37. package/dist/feed/index.cjs +55 -5
  38. package/dist/feed/index.cjs.map +1 -1
  39. package/dist/feed/index.mjs +2 -1
  40. package/dist/graph/index.cjs +368 -64
  41. package/dist/graph/index.cjs.map +1 -1
  42. package/dist/graph/index.d.cts +7 -67
  43. package/dist/graph/index.d.ts +7 -67
  44. package/dist/graph/index.mjs +3 -2
  45. package/dist/hybridGraphPipeline-DVZYLCAQ.d.ts +159 -0
  46. package/dist/hybridGraphPipeline-DmWRKYXf.d.cts +159 -0
  47. package/dist/index.cjs +1300 -697
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.d.cts +9 -7
  50. package/dist/index.d.ts +9 -7
  51. package/dist/index.mjs +10 -7
  52. package/dist/{keywordExtractor-zPAz2isq.d.cts → keywordExtractor-BxlGRMHC.d.cts} +1 -1
  53. package/dist/{keywordExtractor-CKaXqSku.d.ts → keywordExtractor-DU5XRN8-.d.ts} +1 -1
  54. package/dist/parsers/index.cjs +185 -0
  55. package/dist/parsers/index.cjs.map +1 -1
  56. package/dist/parsers/index.d.cts +2 -98
  57. package/dist/parsers/index.d.ts +2 -98
  58. package/dist/parsers/index.mjs +2 -1
  59. package/dist/pipeline/index.cjs +3140 -6
  60. package/dist/pipeline/index.cjs.map +1 -1
  61. package/dist/pipeline/index.d.cts +87 -4
  62. package/dist/pipeline/index.d.ts +87 -4
  63. package/dist/pipeline/index.mjs +6 -2
  64. package/dist/schemas/index.cjs +51 -0
  65. package/dist/schemas/index.cjs.map +1 -1
  66. package/dist/schemas/index.d.cts +222 -3
  67. package/dist/schemas/index.d.ts +222 -3
  68. package/dist/schemas/index.mjs +1 -1
  69. package/dist/syllabusParser-MSX1fEzW.d.cts +40 -0
  70. package/dist/syllabusParser-MSX1fEzW.d.ts +40 -0
  71. package/package.json +9 -10
  72. package/dist/chunk-3H2HX7PR.mjs.map +0 -1
  73. package/dist/chunk-3VVPSRAM.mjs.map +0 -1
  74. package/dist/chunk-F4RZNBOE.mjs +0 -3
  75. package/dist/chunk-GEUDHZE7.mjs.map +0 -1
  76. package/dist/chunk-MOKNFLUD.mjs +0 -851
  77. package/dist/chunk-MOKNFLUD.mjs.map +0 -1
  78. package/dist/chunk-PM42MMDJ.mjs.map +0 -1
  79. package/dist/chunk-VFART56O.mjs.map +0 -1
  80. package/dist/graphVerifier-DsTP9uAN.d.ts +0 -37
  81. package/dist/graphVerifier-QjgDAJce.d.cts +0 -37
@@ -1,12 +1,17 @@
1
1
  import { u as ProjectGraph } from '../projectGraphSchema-DnD7orZV.cjs';
2
- import { K as Keyword } from '../keywordExtractor-zPAz2isq.cjs';
3
- import { H as Hallucination } from '../graphVerifier-QjgDAJce.cjs';
2
+ import { K as Keyword } from '../keywordExtractor-BxlGRMHC.cjs';
3
+ import { H as Hallucination, K as KnowledgeGraphPipelineOptions, f as KnowledgeGraphVerificationReport, i as HybridGraphPipelineOptions } from '../hybridGraphPipeline-DmWRKYXf.cjs';
4
4
  import { C as ConceptMapping } from '../conceptEscalator-ltRLtPhf.cjs';
5
5
  import { ResolveConceptsResult } from '../concepts/index.cjs';
6
6
  import { AssembledRoadmap } from '../assembly/index.cjs';
7
7
  import { L as LlmClientConfig } from '../llmClient-ysPhLjcH.cjs';
8
+ import { P as ParsedSyllabus } from '../syllabusParser-MSX1fEzW.cjs';
9
+ import { g as KnowledgeGraph, j as HybridGraph } from '../hybridGraphSchema-BCgXicgA.cjs';
10
+ import { g as CurriculumFeed } from '../curriculumFeedSchema-TEeQg2bY.cjs';
11
+ import { D as DetectDomainProfileOptions } from '../domainProfileDetector-bzugdQmS.cjs';
12
+ import { c as DomainProfile, g as GraphType } from '../domainProfileSchema-CwT3Ffsw.cjs';
8
13
  import 'zod';
9
- import '../parsers/index.cjs';
14
+ import '../cpp-CZUPqJt9.cjs';
10
15
 
11
16
  /**
12
17
  * Project Graph Pipeline — full orchestrator.
@@ -42,4 +47,82 @@ interface PipelineResult {
42
47
  */
43
48
  declare function runProjectGraphPipeline(options: PipelineOptions): Promise<PipelineResult>;
44
49
 
45
- export { type PipelineOptions, type PipelineResult, runProjectGraphPipeline };
50
+ /**
51
+ * Knowledge Graph Pipeline Orchestrator.
52
+ *
53
+ * Runs: Syllabus Parsing -> Knowledge Graph Generation -> Verification -> CurriculumFeed v2 Emission.
54
+ */
55
+
56
+ interface KnowledgePipelineOptions extends KnowledgeGraphPipelineOptions {
57
+ }
58
+ interface KnowledgePipelineResult {
59
+ knowledgeGraph: KnowledgeGraph;
60
+ parsedSyllabus?: ParsedSyllabus;
61
+ curriculumFeed: CurriculumFeed;
62
+ verificationReport?: KnowledgeGraphVerificationReport;
63
+ warnings: string[];
64
+ }
65
+ /**
66
+ * Run the full concept-driven knowledge graph pipeline.
67
+ */
68
+ declare function runKnowledgeGraphPipeline(options: KnowledgePipelineOptions): Promise<KnowledgePipelineResult>;
69
+
70
+ /**
71
+ * Hybrid Graph Pipeline Orchestrator.
72
+ *
73
+ * Runs: Hybrid Graph Generation -> CurriculumFeed v2 Emission.
74
+ */
75
+
76
+ interface HybridPipelineOptions extends HybridGraphPipelineOptions {
77
+ }
78
+ interface HybridPipelineResult {
79
+ hybridGraph: HybridGraph;
80
+ curriculumFeed: CurriculumFeed;
81
+ warnings: string[];
82
+ }
83
+ /**
84
+ * Run the hybrid graph generation and feed emission pipeline.
85
+ */
86
+ declare function runHybridGraphPipeline(options: HybridPipelineOptions): Promise<HybridPipelineResult>;
87
+
88
+ /**
89
+ * Unified Domain Pipeline Router.
90
+ *
91
+ * Implements the 3-Layer Architecture from docs/ideas/2026-08-30-domain-detection-and-graph-types.md:
92
+ * Layer 1: DOMAIN DETECTION (detectDomainProfile)
93
+ * Layer 2: GRAPH ROUTER (routeDomain)
94
+ * Layer 3: GRAPH GENERATION (runProjectGraphPipeline | runKnowledgeGraphPipeline | runHybridGraphPipeline)
95
+ * Layer 4: NORMALIZED OUTPUT (CurriculumFeed v2)
96
+ */
97
+
98
+ interface DomainPipelineOptions extends DetectDomainProfileOptions {
99
+ subject?: string;
100
+ llmConfig?: LlmClientConfig;
101
+ onProgress?: (step: string, message: string) => void;
102
+ parsedSyllabus?: ParsedSyllabus;
103
+ knowledgeTreePath?: string;
104
+ proposalsPath?: string;
105
+ embeddings?: Record<string, {
106
+ embedding?: number[];
107
+ name?: string;
108
+ description?: string;
109
+ keywords?: string;
110
+ }>;
111
+ /** Override automatic learning mode detection */
112
+ forcedLearningMode?: 'product' | 'concept' | 'hybrid';
113
+ }
114
+ interface DomainPipelineResult {
115
+ domainProfile: DomainProfile;
116
+ graphType: GraphType;
117
+ curriculumFeed: CurriculumFeed;
118
+ projectResult?: PipelineResult;
119
+ knowledgeResult?: KnowledgePipelineResult;
120
+ hybridResult?: HybridPipelineResult;
121
+ warnings: string[];
122
+ }
123
+ /**
124
+ * Route and execute the appropriate domain pipeline based on input context.
125
+ */
126
+ declare function runDomainPipeline(options: DomainPipelineOptions): Promise<DomainPipelineResult>;
127
+
128
+ export { type DomainPipelineOptions, type DomainPipelineResult, type HybridPipelineOptions, type HybridPipelineResult, type KnowledgePipelineOptions, type KnowledgePipelineResult, type PipelineOptions, type PipelineResult, runDomainPipeline, runHybridGraphPipeline, runKnowledgeGraphPipeline, runProjectGraphPipeline };
@@ -1,12 +1,17 @@
1
1
  import { u as ProjectGraph } from '../projectGraphSchema-DnD7orZV.js';
2
- import { K as Keyword } from '../keywordExtractor-CKaXqSku.js';
3
- import { H as Hallucination } from '../graphVerifier-DsTP9uAN.js';
2
+ import { K as Keyword } from '../keywordExtractor-DU5XRN8-.js';
3
+ import { H as Hallucination, K as KnowledgeGraphPipelineOptions, f as KnowledgeGraphVerificationReport, i as HybridGraphPipelineOptions } from '../hybridGraphPipeline-DVZYLCAQ.js';
4
4
  import { C as ConceptMapping } from '../conceptEscalator-YfMKIKCZ.js';
5
5
  import { ResolveConceptsResult } from '../concepts/index.js';
6
6
  import { AssembledRoadmap } from '../assembly/index.js';
7
7
  import { L as LlmClientConfig } from '../llmClient-ysPhLjcH.js';
8
+ import { P as ParsedSyllabus } from '../syllabusParser-MSX1fEzW.js';
9
+ import { g as KnowledgeGraph, j as HybridGraph } from '../hybridGraphSchema-BCgXicgA.js';
10
+ import { g as CurriculumFeed } from '../curriculumFeedSchema-TEeQg2bY.js';
11
+ import { D as DetectDomainProfileOptions } from '../domainProfileDetector-DHb1T0zB.js';
12
+ import { c as DomainProfile, g as GraphType } from '../domainProfileSchema-CwT3Ffsw.js';
8
13
  import 'zod';
9
- import '../parsers/index.js';
14
+ import '../cpp-CZUPqJt9.js';
10
15
 
11
16
  /**
12
17
  * Project Graph Pipeline — full orchestrator.
@@ -42,4 +47,82 @@ interface PipelineResult {
42
47
  */
43
48
  declare function runProjectGraphPipeline(options: PipelineOptions): Promise<PipelineResult>;
44
49
 
45
- export { type PipelineOptions, type PipelineResult, runProjectGraphPipeline };
50
+ /**
51
+ * Knowledge Graph Pipeline Orchestrator.
52
+ *
53
+ * Runs: Syllabus Parsing -> Knowledge Graph Generation -> Verification -> CurriculumFeed v2 Emission.
54
+ */
55
+
56
+ interface KnowledgePipelineOptions extends KnowledgeGraphPipelineOptions {
57
+ }
58
+ interface KnowledgePipelineResult {
59
+ knowledgeGraph: KnowledgeGraph;
60
+ parsedSyllabus?: ParsedSyllabus;
61
+ curriculumFeed: CurriculumFeed;
62
+ verificationReport?: KnowledgeGraphVerificationReport;
63
+ warnings: string[];
64
+ }
65
+ /**
66
+ * Run the full concept-driven knowledge graph pipeline.
67
+ */
68
+ declare function runKnowledgeGraphPipeline(options: KnowledgePipelineOptions): Promise<KnowledgePipelineResult>;
69
+
70
+ /**
71
+ * Hybrid Graph Pipeline Orchestrator.
72
+ *
73
+ * Runs: Hybrid Graph Generation -> CurriculumFeed v2 Emission.
74
+ */
75
+
76
+ interface HybridPipelineOptions extends HybridGraphPipelineOptions {
77
+ }
78
+ interface HybridPipelineResult {
79
+ hybridGraph: HybridGraph;
80
+ curriculumFeed: CurriculumFeed;
81
+ warnings: string[];
82
+ }
83
+ /**
84
+ * Run the hybrid graph generation and feed emission pipeline.
85
+ */
86
+ declare function runHybridGraphPipeline(options: HybridPipelineOptions): Promise<HybridPipelineResult>;
87
+
88
+ /**
89
+ * Unified Domain Pipeline Router.
90
+ *
91
+ * Implements the 3-Layer Architecture from docs/ideas/2026-08-30-domain-detection-and-graph-types.md:
92
+ * Layer 1: DOMAIN DETECTION (detectDomainProfile)
93
+ * Layer 2: GRAPH ROUTER (routeDomain)
94
+ * Layer 3: GRAPH GENERATION (runProjectGraphPipeline | runKnowledgeGraphPipeline | runHybridGraphPipeline)
95
+ * Layer 4: NORMALIZED OUTPUT (CurriculumFeed v2)
96
+ */
97
+
98
+ interface DomainPipelineOptions extends DetectDomainProfileOptions {
99
+ subject?: string;
100
+ llmConfig?: LlmClientConfig;
101
+ onProgress?: (step: string, message: string) => void;
102
+ parsedSyllabus?: ParsedSyllabus;
103
+ knowledgeTreePath?: string;
104
+ proposalsPath?: string;
105
+ embeddings?: Record<string, {
106
+ embedding?: number[];
107
+ name?: string;
108
+ description?: string;
109
+ keywords?: string;
110
+ }>;
111
+ /** Override automatic learning mode detection */
112
+ forcedLearningMode?: 'product' | 'concept' | 'hybrid';
113
+ }
114
+ interface DomainPipelineResult {
115
+ domainProfile: DomainProfile;
116
+ graphType: GraphType;
117
+ curriculumFeed: CurriculumFeed;
118
+ projectResult?: PipelineResult;
119
+ knowledgeResult?: KnowledgePipelineResult;
120
+ hybridResult?: HybridPipelineResult;
121
+ warnings: string[];
122
+ }
123
+ /**
124
+ * Route and execute the appropriate domain pipeline based on input context.
125
+ */
126
+ declare function runDomainPipeline(options: DomainPipelineOptions): Promise<DomainPipelineResult>;
127
+
128
+ export { type DomainPipelineOptions, type DomainPipelineResult, type HybridPipelineOptions, type HybridPipelineResult, type KnowledgePipelineOptions, type KnowledgePipelineResult, type PipelineOptions, type PipelineResult, runDomainPipeline, runHybridGraphPipeline, runKnowledgeGraphPipeline, runProjectGraphPipeline };
@@ -1,7 +1,11 @@
1
- export { runProjectGraphPipeline } from '../chunk-GEUDHZE7.mjs';
1
+ export { runDomainPipeline, runHybridGraphPipeline, runKnowledgeGraphPipeline, runProjectGraphPipeline } from '../chunk-KPZKPNOJ.mjs';
2
+ import '../chunk-RAR5MUUK.mjs';
3
+ import '../chunk-HH4UX65C.mjs';
2
4
  import '../chunk-DRVOV5ZD.mjs';
3
5
  import '../chunk-XMHKWHVK.mjs';
4
- import '../chunk-MOKNFLUD.mjs';
6
+ import '../chunk-BL5NBKPH.mjs';
7
+ import '../chunk-JE57VFWX.mjs';
8
+ import '../chunk-T4Y2DE2W.mjs';
5
9
  import '../chunk-KNDBODUQ.mjs';
6
10
  import '../chunk-ONQHJ4OH.mjs';
7
11
  //# sourceMappingURL=index.mjs.map
@@ -374,6 +374,51 @@ var ThreeDesignTechStackExtensionSchema = zod.z.object({
374
374
  canvas_size: zod.z.string().optional(),
375
375
  export_formats: zod.z.array(zod.z.string()).optional().default([]).describe("STL, OBJ, STEP")
376
376
  });
377
+ var MathTheoremSchema = zod.z.object({
378
+ name: zod.z.string(),
379
+ statement: zod.z.string(),
380
+ proof_outline: zod.z.string().optional(),
381
+ converse_statement: zod.z.string().optional()
382
+ });
383
+ var MathConceptExtensionSchema = zod.z.object({
384
+ formulas: zod.z.array(zod.z.string()).optional().default([]).describe("Mathematical formulas, e.g. a^2 + b^2 = c^2"),
385
+ theorems: zod.z.array(MathTheoremSchema).optional().default([]),
386
+ constructions: zod.z.array(zod.z.string()).optional().default([]).describe("Compass and ruler constructions, auxiliary lines"),
387
+ visual_aids: zod.z.array(zod.z.string()).optional().default([]).describe("Geometric figures, function graphs"),
388
+ common_mistakes: zod.z.array(zod.z.string()).optional().default([]).describe("False intuitions or algebraic traps")
389
+ });
390
+ var ExperimentProcedureSchema = zod.z.object({
391
+ name: zod.z.string(),
392
+ apparatus: zod.z.array(zod.z.string()).optional().default([]),
393
+ steps: zod.z.array(zod.z.string()).optional().default([]),
394
+ safety_warnings: zod.z.array(zod.z.string()).optional().default([]),
395
+ expected_observation: zod.z.string().optional()
396
+ });
397
+ var ScienceConceptExtensionSchema = zod.z.object({
398
+ experiments: zod.z.array(ExperimentProcedureSchema).optional().default([]),
399
+ instruments: zod.z.array(zod.z.string()).optional().default([]).describe("Lab equipment: microscope, beaker, sensor"),
400
+ variables: zod.z.object({
401
+ independent: zod.z.string().optional(),
402
+ dependent: zod.z.string().optional(),
403
+ controlled: zod.z.array(zod.z.string()).optional().default([])
404
+ }).optional(),
405
+ hypotheses: zod.z.array(zod.z.string()).optional().default([]),
406
+ laws_and_theories: zod.z.array(zod.z.string()).optional().default([])
407
+ });
408
+ var GrammarRuleSchema = zod.z.object({
409
+ rule_name: zod.z.string(),
410
+ pattern: zod.z.string(),
411
+ example_correct: zod.z.string(),
412
+ example_incorrect: zod.z.string().optional(),
413
+ exceptions: zod.z.array(zod.z.string()).optional().default([])
414
+ });
415
+ var LanguageConceptExtensionSchema = zod.z.object({
416
+ reading_genres: zod.z.array(zod.z.string()).optional().default([]).describe("argumentative, narrative, expository"),
417
+ grammar_rules: zod.z.array(GrammarRuleSchema).optional().default([]),
418
+ writing_tasks: zod.z.array(zod.z.string()).optional().default([]),
419
+ lexicon_keywords: zod.z.array(zod.z.string()).optional().default([]),
420
+ rhetorical_devices: zod.z.array(zod.z.string()).optional().default([])
421
+ });
377
422
  var ProjectConceptLinkSchema = zod.z.object({
378
423
  feature_id: zod.z.string().describe("Feature ID from project_graph"),
379
424
  concept_id: zod.z.string().describe("Concept ID from knowledge_graph"),
@@ -623,6 +668,7 @@ exports.DomainCategorySchema = DomainCategorySchema;
623
668
  exports.DomainProfileSchema = DomainProfileSchema;
624
669
  exports.ExperienceComponentSchema = ExperienceComponentSchema;
625
670
  exports.ExperienceSchema = ExperienceSchema;
671
+ exports.ExperimentProcedureSchema = ExperimentProcedureSchema;
626
672
  exports.FeatureSchema = FeatureSchema;
627
673
  exports.FeedEdgeSchema = FeedEdgeSchema;
628
674
  exports.FeedGroupingSchema = FeedGroupingSchema;
@@ -630,6 +676,7 @@ exports.FeedKeywordsSchema = FeedKeywordsSchema;
630
676
  exports.FeedNodeSchema = FeedNodeSchema;
631
677
  exports.FeedPhaseSchema = FeedPhaseSchema;
632
678
  exports.FeedScaffoldCandidateSchema = FeedScaffoldCandidateSchema;
679
+ exports.GrammarRuleSchema = GrammarRuleSchema;
633
680
  exports.GraphTypeSchema = GraphTypeSchema;
634
681
  exports.HardwareFeatureExtensionSchema = HardwareFeatureExtensionSchema;
635
682
  exports.HardwareStepSchema = HardwareStepSchema;
@@ -641,8 +688,11 @@ exports.InputTypeSchema = InputTypeSchema;
641
688
  exports.JourneySchema = JourneySchema;
642
689
  exports.JourneyStepSchema = JourneyStepSchema;
643
690
  exports.KnowledgeGraphSchema = KnowledgeGraphSchema;
691
+ exports.LanguageConceptExtensionSchema = LanguageConceptExtensionSchema;
644
692
  exports.LearningModeSchema = LearningModeSchema;
645
693
  exports.LearningPathStepSchema = LearningPathStepSchema;
694
+ exports.MathConceptExtensionSchema = MathConceptExtensionSchema;
695
+ exports.MathTheoremSchema = MathTheoremSchema;
646
696
  exports.MilestoneDecompositionSchema = MilestoneDecompositionSchema;
647
697
  exports.MissingGapSchema = MissingGapSchema;
648
698
  exports.NavigationSchema = NavigationSchema;
@@ -654,6 +704,7 @@ exports.ProjectConceptLinkSchema = ProjectConceptLinkSchema;
654
704
  exports.ProjectGraphSchema = ProjectGraphSchema;
655
705
  exports.ProjectInfoSchema = ProjectInfoSchema;
656
706
  exports.RequirementSchema = RequirementSchema;
707
+ exports.ScienceConceptExtensionSchema = ScienceConceptExtensionSchema;
657
708
  exports.ScreenSchema = ScreenSchema;
658
709
  exports.ShapeSchema = ShapeSchema;
659
710
  exports.StepEffortSchema = StepEffortSchema;