@thanh01.pmt/domain-kit 0.2.0 → 0.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/{chunk-RAR5MUUK.mjs → chunk-LKSVTRQE.mjs} +76 -6
- package/dist/chunk-LKSVTRQE.mjs.map +1 -0
- package/dist/{chunk-KPZKPNOJ.mjs → chunk-MCHHEBH3.mjs} +5 -5
- package/dist/{chunk-KPZKPNOJ.mjs.map → chunk-MCHHEBH3.mjs.map} +1 -1
- package/dist/{chunk-HH4UX65C.mjs → chunk-MSRKUZLY.mjs} +21 -4
- package/dist/chunk-MSRKUZLY.mjs.map +1 -0
- package/dist/{chunk-WHBAGJWN.mjs → chunk-VCPIWJ7R.mjs} +4 -4
- package/dist/chunk-VCPIWJ7R.mjs.map +1 -0
- package/dist/{chunk-JE57VFWX.mjs → chunk-Y7MRFFDJ.mjs} +33 -9
- package/dist/chunk-Y7MRFFDJ.mjs.map +1 -0
- package/dist/curriculumFeedEmitter-FYAWMPE6.mjs +4 -0
- package/dist/{curriculumFeedEmitter-UG664SWY.mjs.map → curriculumFeedEmitter-FYAWMPE6.mjs.map} +1 -1
- package/dist/{curriculumFeedSchema-TEeQg2bY.d.ts → curriculumFeedSchema-C8ZP3XMi.d.cts} +8 -8
- package/dist/{curriculumFeedSchema-TEeQg2bY.d.cts → curriculumFeedSchema-C8ZP3XMi.d.ts} +8 -8
- package/dist/feed/index.cjs +92 -5
- package/dist/feed/index.cjs.map +1 -1
- package/dist/feed/index.d.cts +1 -1
- package/dist/feed/index.d.ts +1 -1
- package/dist/feed/index.mjs +2 -2
- package/dist/graph/index.cjs +31 -7
- package/dist/graph/index.cjs.map +1 -1
- package/dist/graph/index.d.cts +2 -2
- package/dist/graph/index.d.ts +2 -2
- package/dist/graph/index.mjs +1 -1
- package/dist/{hybridGraphPipeline-DmWRKYXf.d.cts → hybridGraphPipeline-BhFyh3cm.d.cts} +1 -1
- package/dist/{hybridGraphPipeline-DVZYLCAQ.d.ts → hybridGraphPipeline-NZAWAPt_.d.ts} +1 -1
- package/dist/{hybridGraphSchema-BCgXicgA.d.ts → hybridGraphSchema-nrUeSwpU.d.cts} +15 -15
- package/dist/{hybridGraphSchema-BCgXicgA.d.cts → hybridGraphSchema-nrUeSwpU.d.ts} +15 -15
- package/dist/index.cjs +125 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.mjs +5 -5
- package/dist/pipeline/index.cjs +123 -12
- package/dist/pipeline/index.cjs.map +1 -1
- package/dist/pipeline/index.d.cts +3 -3
- package/dist/pipeline/index.d.ts +3 -3
- package/dist/pipeline/index.mjs +4 -4
- package/dist/schemas/index.cjs +21 -4
- package/dist/schemas/index.cjs.map +1 -1
- package/dist/schemas/index.d.cts +2 -2
- package/dist/schemas/index.d.ts +2 -2
- package/dist/schemas/index.mjs +2 -2
- package/package.json +10 -9
- package/LICENSE +0 -21
- package/dist/chunk-HH4UX65C.mjs.map +0 -1
- package/dist/chunk-JE57VFWX.mjs.map +0 -1
- package/dist/chunk-RAR5MUUK.mjs.map +0 -1
- package/dist/chunk-WHBAGJWN.mjs.map +0 -1
- package/dist/curriculumFeedEmitter-UG664SWY.mjs +0 -4
package/dist/index.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { i as ArchEdgeSchema, A as ArchNodeSchema, x as ArchitectureDetail, j as ArchitectureDetailSchema, w as Capability, C as CapabilitySchema, z as DataIntegration, m as DataIntegrationSchema, G as Decomposition, s as DecompositionSchema, D as DevelopmentStageSchema, y as Experience, E as ExperienceComponentSchema, l as ExperienceSchema, d as Feature, F as FeatureSchema, B as Implementation, I as ImplementationSchema, e as JourneySchema, J as JourneyStepSchema, r as MilestoneDecompositionSchema, M as MissingGapSchema, N as NavigationSchema, v as Product, P as ProductGoalSchema, g as ProductSchema, f as ProductUserSchema, u as ProjectGraph, t as ProjectGraphSchema, h as ProjectInfoSchema, R as RequirementSchema, k as ScreenSchema, c as Step, S as StepEffortSchema, a as StepOutcomeSchema, b as StepSchema, n as TaskEffortSchema, o as TaskOutcomeSchema, p as TaskSchema, q as TechDebtSchema, T as TechStackSchema, U as UiStateSchema } from './projectGraphSchema-DnD7orZV.cjs';
|
|
2
|
-
export { b as Concept, d as ConceptCategory, c as ConceptCategorySchema, m as ConceptIntroduction, i as ConceptIntroductionSchema, C as ConceptSchema, l as DevelopmentPhase, D as DevelopmentPhaseSchema, j as HybridGraph, H as HybridGraphSchema, g as KnowledgeGraph, K as KnowledgeGraphSchema, f as LearningPathStep, L as LearningPathStepSchema, a as ProblemType, P as ProblemTypeSchema, k as ProjectConceptLink, h as ProjectConceptLinkSchema, e as SubjectInfo, S as SubjectInfoSchema } from './hybridGraphSchema-
|
|
2
|
+
export { b as Concept, d as ConceptCategory, c as ConceptCategorySchema, m as ConceptIntroduction, i as ConceptIntroductionSchema, C as ConceptSchema, l as DevelopmentPhase, D as DevelopmentPhaseSchema, j as HybridGraph, H as HybridGraphSchema, g as KnowledgeGraph, K as KnowledgeGraphSchema, f as LearningPathStep, L as LearningPathStepSchema, a as ProblemType, P as ProblemTypeSchema, k as ProjectConceptLink, h as ProjectConceptLinkSchema, e as SubjectInfo, S as SubjectInfoSchema } from './hybridGraphSchema-nrUeSwpU.cjs';
|
|
3
3
|
export { ExperimentProcedureSchema, GrammarRuleSchema, HardwareFeatureExtensionSchema, HardwareStepSchema, HardwareTaskExtensionSchema, HardwareTechStackExtensionSchema, LanguageConceptExtension, LanguageConceptExtensionSchema, MathConceptExtension, MathConceptExtensionSchema, MathTheoremSchema, ScienceConceptExtension, ScienceConceptExtensionSchema, ShapeSchema, ThreeDesignFeatureExtensionSchema, ThreeDesignTaskExtensionSchema, ThreeDesignTechStackExtensionSchema, WiringSchema } from './schemas/index.cjs';
|
|
4
4
|
export { a as DetectionConfidenceSchema, e as DomainCategory, D as DomainCategorySchema, c as DomainProfile, b as DomainProfileSchema, g as GraphType, G as GraphTypeSchema, d as InputType, I as InputTypeSchema, f as LearningMode, L as LearningModeSchema } from './domainProfileSchema-CwT3Ffsw.cjs';
|
|
5
|
-
export { g as CurriculumFeed, C as CurriculumFeedSchema, i as FeedEdge, c as FeedEdgeSchema, j as FeedGrouping, d as FeedGroupingSchema, F as FeedKeywordsSchema, h as FeedNode, b as FeedNodeSchema, f as FeedPhase, e as FeedPhaseSchema, a as FeedScaffoldCandidateSchema, v as validateCurriculumFeed } from './curriculumFeedSchema-
|
|
5
|
+
export { g as CurriculumFeed, C as CurriculumFeedSchema, i as FeedEdge, c as FeedEdgeSchema, j as FeedGrouping, d as FeedGroupingSchema, F as FeedKeywordsSchema, h as FeedNode, b as FeedNodeSchema, f as FeedPhase, e as FeedPhaseSchema, a as FeedScaffoldCandidateSchema, v as validateCurriculumFeed } from './curriculumFeedSchema-C8ZP3XMi.cjs';
|
|
6
6
|
export { C as CppParseResult, P as PythonParseResult, S as SwiftParseResult, T as TsParseResult, f as mergeCppResults, d as mergePythonResults, m as mergeSwiftResults, b as mergeTsResults, e as parseCppFile, c as parsePythonFile, p as parseSwiftFile, a as parseTsFile } from './cpp-CZUPqJt9.cjs';
|
|
7
7
|
export { P as ParsedSyllabus, a as SyllabusTopic, S as SyllabusUnit, p as parseSyllabus } from './syllabusParser-MSX1fEzW.cjs';
|
|
8
8
|
export { K as Keyword, S as SourceContext, e as extractKeywords } from './keywordExtractor-BxlGRMHC.cjs';
|
|
@@ -10,7 +10,7 @@ export { FileRelevanceScore, scoreByContent, scoreByPath, scoreFiles, selectRele
|
|
|
10
10
|
export { DetectDomainOptions, DetectInputTypeOptions, DetectLearningModeOptions, DomainDetectionResult, InputTypeDetectionResult, LearningModeDetectionResult, detectDomain, detectInputType, detectLearningMode } from './detector/index.cjs';
|
|
11
11
|
export { D as DetectDomainProfileOptions, d as detectDomainProfile } from './domainProfileDetector-bzugdQmS.cjs';
|
|
12
12
|
export { CIO_CODE_RE, CONCEPT_CODE_RE, DepthLayerAudit, ExtractOverviewOptions, ExtractScaffoldOptions, ExtractStepsOptions, LEARNER_CLAUSE, SIO_CODE_RE, ULO_CODE_RE, assignConceptCodes, auditDepthLayers, cioActionSlug, cioCode, conceptCodeFromName, extractFeatureSteps, extractFeatureStepsBatched, extractProjectOverview, extractScaffold, sioCode, standardStatement, techTagFor, uloCode } from './graph/index.cjs';
|
|
13
|
-
export { H as Hallucination, i as HybridGraphPipelineOptions, j as HybridGraphPipelineResult, K as KnowledgeGraphPipelineOptions, a as KnowledgeGraphPipelineResult, f as KnowledgeGraphVerificationReport, V as VerifyOptions, e as auditSyllabusCoverage, c as breakPrerequisiteCycles, d as detectPrerequisiteCycles, h as generateHybridGraph, g as generateKnowledgeGraph, b as verifyKnowledgeGraph, v as verifyProjectGraph } from './hybridGraphPipeline-
|
|
13
|
+
export { H as Hallucination, i as HybridGraphPipelineOptions, j as HybridGraphPipelineResult, K as KnowledgeGraphPipelineOptions, a as KnowledgeGraphPipelineResult, f as KnowledgeGraphVerificationReport, V as VerifyOptions, e as auditSyllabusCoverage, c as breakPrerequisiteCycles, d as detectPrerequisiteCycles, h as generateHybridGraph, g as generateKnowledgeGraph, b as verifyKnowledgeGraph, v as verifyProjectGraph } from './hybridGraphPipeline-BhFyh3cm.cjs';
|
|
14
14
|
export { C as ConceptMapping, E as EscalateOptions, e as escalateAndMapConcepts } from './conceptEscalator-ltRLtPhf.cjs';
|
|
15
15
|
export { ConceptMatch, ProposedConcept, ResolveConceptsOptions, ResolveConceptsResult, ResolvedConcept, resolveConcepts } from './concepts/index.cjs';
|
|
16
16
|
export { AssembleOptions, AssembledMilestone, AssembledPhase, AssembledRoadmap, assembleRoadmap } from './assembly/index.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { i as ArchEdgeSchema, A as ArchNodeSchema, x as ArchitectureDetail, j as ArchitectureDetailSchema, w as Capability, C as CapabilitySchema, z as DataIntegration, m as DataIntegrationSchema, G as Decomposition, s as DecompositionSchema, D as DevelopmentStageSchema, y as Experience, E as ExperienceComponentSchema, l as ExperienceSchema, d as Feature, F as FeatureSchema, B as Implementation, I as ImplementationSchema, e as JourneySchema, J as JourneyStepSchema, r as MilestoneDecompositionSchema, M as MissingGapSchema, N as NavigationSchema, v as Product, P as ProductGoalSchema, g as ProductSchema, f as ProductUserSchema, u as ProjectGraph, t as ProjectGraphSchema, h as ProjectInfoSchema, R as RequirementSchema, k as ScreenSchema, c as Step, S as StepEffortSchema, a as StepOutcomeSchema, b as StepSchema, n as TaskEffortSchema, o as TaskOutcomeSchema, p as TaskSchema, q as TechDebtSchema, T as TechStackSchema, U as UiStateSchema } from './projectGraphSchema-DnD7orZV.js';
|
|
2
|
-
export { b as Concept, d as ConceptCategory, c as ConceptCategorySchema, m as ConceptIntroduction, i as ConceptIntroductionSchema, C as ConceptSchema, l as DevelopmentPhase, D as DevelopmentPhaseSchema, j as HybridGraph, H as HybridGraphSchema, g as KnowledgeGraph, K as KnowledgeGraphSchema, f as LearningPathStep, L as LearningPathStepSchema, a as ProblemType, P as ProblemTypeSchema, k as ProjectConceptLink, h as ProjectConceptLinkSchema, e as SubjectInfo, S as SubjectInfoSchema } from './hybridGraphSchema-
|
|
2
|
+
export { b as Concept, d as ConceptCategory, c as ConceptCategorySchema, m as ConceptIntroduction, i as ConceptIntroductionSchema, C as ConceptSchema, l as DevelopmentPhase, D as DevelopmentPhaseSchema, j as HybridGraph, H as HybridGraphSchema, g as KnowledgeGraph, K as KnowledgeGraphSchema, f as LearningPathStep, L as LearningPathStepSchema, a as ProblemType, P as ProblemTypeSchema, k as ProjectConceptLink, h as ProjectConceptLinkSchema, e as SubjectInfo, S as SubjectInfoSchema } from './hybridGraphSchema-nrUeSwpU.js';
|
|
3
3
|
export { ExperimentProcedureSchema, GrammarRuleSchema, HardwareFeatureExtensionSchema, HardwareStepSchema, HardwareTaskExtensionSchema, HardwareTechStackExtensionSchema, LanguageConceptExtension, LanguageConceptExtensionSchema, MathConceptExtension, MathConceptExtensionSchema, MathTheoremSchema, ScienceConceptExtension, ScienceConceptExtensionSchema, ShapeSchema, ThreeDesignFeatureExtensionSchema, ThreeDesignTaskExtensionSchema, ThreeDesignTechStackExtensionSchema, WiringSchema } from './schemas/index.js';
|
|
4
4
|
export { a as DetectionConfidenceSchema, e as DomainCategory, D as DomainCategorySchema, c as DomainProfile, b as DomainProfileSchema, g as GraphType, G as GraphTypeSchema, d as InputType, I as InputTypeSchema, f as LearningMode, L as LearningModeSchema } from './domainProfileSchema-CwT3Ffsw.js';
|
|
5
|
-
export { g as CurriculumFeed, C as CurriculumFeedSchema, i as FeedEdge, c as FeedEdgeSchema, j as FeedGrouping, d as FeedGroupingSchema, F as FeedKeywordsSchema, h as FeedNode, b as FeedNodeSchema, f as FeedPhase, e as FeedPhaseSchema, a as FeedScaffoldCandidateSchema, v as validateCurriculumFeed } from './curriculumFeedSchema-
|
|
5
|
+
export { g as CurriculumFeed, C as CurriculumFeedSchema, i as FeedEdge, c as FeedEdgeSchema, j as FeedGrouping, d as FeedGroupingSchema, F as FeedKeywordsSchema, h as FeedNode, b as FeedNodeSchema, f as FeedPhase, e as FeedPhaseSchema, a as FeedScaffoldCandidateSchema, v as validateCurriculumFeed } from './curriculumFeedSchema-C8ZP3XMi.js';
|
|
6
6
|
export { C as CppParseResult, P as PythonParseResult, S as SwiftParseResult, T as TsParseResult, f as mergeCppResults, d as mergePythonResults, m as mergeSwiftResults, b as mergeTsResults, e as parseCppFile, c as parsePythonFile, p as parseSwiftFile, a as parseTsFile } from './cpp-CZUPqJt9.js';
|
|
7
7
|
export { P as ParsedSyllabus, a as SyllabusTopic, S as SyllabusUnit, p as parseSyllabus } from './syllabusParser-MSX1fEzW.js';
|
|
8
8
|
export { K as Keyword, S as SourceContext, e as extractKeywords } from './keywordExtractor-DU5XRN8-.js';
|
|
@@ -10,7 +10,7 @@ export { FileRelevanceScore, scoreByContent, scoreByPath, scoreFiles, selectRele
|
|
|
10
10
|
export { DetectDomainOptions, DetectInputTypeOptions, DetectLearningModeOptions, DomainDetectionResult, InputTypeDetectionResult, LearningModeDetectionResult, detectDomain, detectInputType, detectLearningMode } from './detector/index.js';
|
|
11
11
|
export { D as DetectDomainProfileOptions, d as detectDomainProfile } from './domainProfileDetector-DHb1T0zB.js';
|
|
12
12
|
export { CIO_CODE_RE, CONCEPT_CODE_RE, DepthLayerAudit, ExtractOverviewOptions, ExtractScaffoldOptions, ExtractStepsOptions, LEARNER_CLAUSE, SIO_CODE_RE, ULO_CODE_RE, assignConceptCodes, auditDepthLayers, cioActionSlug, cioCode, conceptCodeFromName, extractFeatureSteps, extractFeatureStepsBatched, extractProjectOverview, extractScaffold, sioCode, standardStatement, techTagFor, uloCode } from './graph/index.js';
|
|
13
|
-
export { H as Hallucination, i as HybridGraphPipelineOptions, j as HybridGraphPipelineResult, K as KnowledgeGraphPipelineOptions, a as KnowledgeGraphPipelineResult, f as KnowledgeGraphVerificationReport, V as VerifyOptions, e as auditSyllabusCoverage, c as breakPrerequisiteCycles, d as detectPrerequisiteCycles, h as generateHybridGraph, g as generateKnowledgeGraph, b as verifyKnowledgeGraph, v as verifyProjectGraph } from './hybridGraphPipeline-
|
|
13
|
+
export { H as Hallucination, i as HybridGraphPipelineOptions, j as HybridGraphPipelineResult, K as KnowledgeGraphPipelineOptions, a as KnowledgeGraphPipelineResult, f as KnowledgeGraphVerificationReport, V as VerifyOptions, e as auditSyllabusCoverage, c as breakPrerequisiteCycles, d as detectPrerequisiteCycles, h as generateHybridGraph, g as generateKnowledgeGraph, b as verifyKnowledgeGraph, v as verifyProjectGraph } from './hybridGraphPipeline-NZAWAPt_.js';
|
|
14
14
|
export { C as ConceptMapping, E as EscalateOptions, e as escalateAndMapConcepts } from './conceptEscalator-YfMKIKCZ.js';
|
|
15
15
|
export { ConceptMatch, ProposedConcept, ResolveConceptsOptions, ResolveConceptsResult, ResolvedConcept, resolveConcepts } from './concepts/index.js';
|
|
16
16
|
export { AssembleOptions, AssembledMilestone, AssembledPhase, AssembledRoadmap, assembleRoadmap } from './assembly/index.js';
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import './chunk-R57WTNXW.mjs';
|
|
2
|
-
export { runDomainPipeline, runHybridGraphPipeline, runKnowledgeGraphPipeline, runProjectGraphPipeline } from './chunk-
|
|
3
|
-
export { emitCurriculumFeed } from './chunk-
|
|
4
|
-
export { ArchEdgeSchema, ArchNodeSchema, ArchitectureDetailSchema, CapabilitySchema, ConceptCategorySchema, ConceptIntroductionSchema, ConceptSchema, DataIntegrationSchema, DecompositionSchema, DetectionConfidenceSchema, DevelopmentPhaseSchema, DevelopmentStageSchema, DomainCategorySchema, DomainProfileSchema, ExperienceComponentSchema, ExperienceSchema, ExperimentProcedureSchema, FeatureSchema, GrammarRuleSchema, GraphTypeSchema, HardwareFeatureExtensionSchema, HardwareStepSchema, HardwareTaskExtensionSchema, HardwareTechStackExtensionSchema, HybridGraphSchema, ImplementationSchema, InputTypeSchema, JourneySchema, JourneyStepSchema, KnowledgeGraphSchema, LanguageConceptExtensionSchema, LearningModeSchema, LearningPathStepSchema, MathConceptExtensionSchema, MathTheoremSchema, MilestoneDecompositionSchema, MissingGapSchema, NavigationSchema, ProblemTypeSchema, ProductGoalSchema, ProductSchema, ProductUserSchema, ProjectConceptLinkSchema, ProjectGraphSchema, ProjectInfoSchema, RequirementSchema, ScienceConceptExtensionSchema, ScreenSchema, ShapeSchema, StepEffortSchema, StepOutcomeSchema, StepSchema, SubjectInfoSchema, TaskEffortSchema, TaskOutcomeSchema, TaskSchema, TechDebtSchema, TechStackSchema, ThreeDesignFeatureExtensionSchema, ThreeDesignTaskExtensionSchema, ThreeDesignTechStackExtensionSchema, UiStateSchema, WiringSchema } from './chunk-
|
|
5
|
-
export { CurriculumFeedSchema, FeedEdgeSchema, FeedGroupingSchema, FeedKeywordsSchema, FeedNodeSchema, FeedPhaseSchema, FeedScaffoldCandidateSchema, validateCurriculumFeed } from './chunk-
|
|
2
|
+
export { runDomainPipeline, runHybridGraphPipeline, runKnowledgeGraphPipeline, runProjectGraphPipeline } from './chunk-MCHHEBH3.mjs';
|
|
3
|
+
export { emitCurriculumFeed } from './chunk-LKSVTRQE.mjs';
|
|
4
|
+
export { ArchEdgeSchema, ArchNodeSchema, ArchitectureDetailSchema, CapabilitySchema, ConceptCategorySchema, ConceptIntroductionSchema, ConceptSchema, DataIntegrationSchema, DecompositionSchema, DetectionConfidenceSchema, DevelopmentPhaseSchema, DevelopmentStageSchema, DomainCategorySchema, DomainProfileSchema, ExperienceComponentSchema, ExperienceSchema, ExperimentProcedureSchema, FeatureSchema, GrammarRuleSchema, GraphTypeSchema, HardwareFeatureExtensionSchema, HardwareStepSchema, HardwareTaskExtensionSchema, HardwareTechStackExtensionSchema, HybridGraphSchema, ImplementationSchema, InputTypeSchema, JourneySchema, JourneyStepSchema, KnowledgeGraphSchema, LanguageConceptExtensionSchema, LearningModeSchema, LearningPathStepSchema, MathConceptExtensionSchema, MathTheoremSchema, MilestoneDecompositionSchema, MissingGapSchema, NavigationSchema, ProblemTypeSchema, ProductGoalSchema, ProductSchema, ProductUserSchema, ProjectConceptLinkSchema, ProjectGraphSchema, ProjectInfoSchema, RequirementSchema, ScienceConceptExtensionSchema, ScreenSchema, ShapeSchema, StepEffortSchema, StepOutcomeSchema, StepSchema, SubjectInfoSchema, TaskEffortSchema, TaskOutcomeSchema, TaskSchema, TechDebtSchema, TechStackSchema, ThreeDesignFeatureExtensionSchema, ThreeDesignTaskExtensionSchema, ThreeDesignTechStackExtensionSchema, UiStateSchema, WiringSchema } from './chunk-VCPIWJ7R.mjs';
|
|
5
|
+
export { CurriculumFeedSchema, FeedEdgeSchema, FeedGroupingSchema, FeedKeywordsSchema, FeedNodeSchema, FeedPhaseSchema, FeedScaffoldCandidateSchema, validateCurriculumFeed } from './chunk-MSRKUZLY.mjs';
|
|
6
6
|
import './chunk-IJZUV7N3.mjs';
|
|
7
7
|
export { mergeCppResults, mergePythonResults, mergeSwiftResults, mergeTsResults, parseCppFile, parsePythonFile, parseSwiftFile, parseTsFile } from './chunk-DRVOV5ZD.mjs';
|
|
8
8
|
export { scoreByContent, scoreByPath, scoreFiles, selectRelevantFiles } from './chunk-RKRNOVKO.mjs';
|
|
@@ -10,7 +10,7 @@ export { extractKeywords } from './chunk-XMHKWHVK.mjs';
|
|
|
10
10
|
import './chunk-7XGWW6CB.mjs';
|
|
11
11
|
export { detectDomain, detectDomainProfile, detectInputType, detectLearningMode } from './chunk-BL5NBKPH.mjs';
|
|
12
12
|
import './chunk-ZKLT27T4.mjs';
|
|
13
|
-
export { CIO_CODE_RE, CONCEPT_CODE_RE, LEARNER_CLAUSE, SIO_CODE_RE, ULO_CODE_RE, assignConceptCodes, auditDepthLayers, auditSyllabusCoverage, breakPrerequisiteCycles, cioActionSlug, cioCode, conceptCodeFromName, detectPrerequisiteCycles, escalateAndMapConcepts, extractFeatureSteps, extractFeatureStepsBatched, extractProjectOverview, extractScaffold, generateHybridGraph, generateKnowledgeGraph, sioCode, standardStatement, techTagFor, uloCode, verifyKnowledgeGraph, verifyProjectGraph } from './chunk-
|
|
13
|
+
export { CIO_CODE_RE, CONCEPT_CODE_RE, LEARNER_CLAUSE, SIO_CODE_RE, ULO_CODE_RE, assignConceptCodes, auditDepthLayers, auditSyllabusCoverage, breakPrerequisiteCycles, cioActionSlug, cioCode, conceptCodeFromName, detectPrerequisiteCycles, escalateAndMapConcepts, extractFeatureSteps, extractFeatureStepsBatched, extractProjectOverview, extractScaffold, generateHybridGraph, generateKnowledgeGraph, sioCode, standardStatement, techTagFor, uloCode, verifyKnowledgeGraph, verifyProjectGraph } from './chunk-Y7MRFFDJ.mjs';
|
|
14
14
|
export { parseSyllabus } from './chunk-T4Y2DE2W.mjs';
|
|
15
15
|
import './chunk-KMYENICQ.mjs';
|
|
16
16
|
export { resolveConcepts } from './chunk-KNDBODUQ.mjs';
|
package/dist/pipeline/index.cjs
CHANGED
|
@@ -39,6 +39,22 @@ function validateCurriculumFeed(feed) {
|
|
|
39
39
|
}
|
|
40
40
|
const phaseIds = parsed.phases.map((p) => p.id);
|
|
41
41
|
if (new Set(phaseIds).size !== phaseIds.length) throw new Error("curriculum feed contains duplicate phase ids");
|
|
42
|
+
if (parsed.phases.length > 0) {
|
|
43
|
+
const phaseIndexOf = /* @__PURE__ */ new Map();
|
|
44
|
+
parsed.phases.forEach((p, i) => {
|
|
45
|
+
for (const id of p.node_ids) phaseIndexOf.set(id, i);
|
|
46
|
+
});
|
|
47
|
+
for (const e of parsed.dependency_edges) {
|
|
48
|
+
const fromIdx = phaseIndexOf.get(e.from);
|
|
49
|
+
const toIdx = phaseIndexOf.get(e.to);
|
|
50
|
+
if (fromIdx === void 0 || toIdx === void 0) continue;
|
|
51
|
+
if (fromIdx > toIdx) {
|
|
52
|
+
throw new Error(
|
|
53
|
+
"curriculum feed teaching-order violation: prerequisite " + e.from + " (phase " + (fromIdx + 1) + ") is scheduled AFTER its consumer " + e.to + " (phase " + (toIdx + 1) + ")"
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
42
58
|
return parsed;
|
|
43
59
|
}
|
|
44
60
|
var FeedKeywordsSchema, FeedScaffoldCandidateSchema, FeedNodeSchema, FeedEdgeSchema, FeedGroupingSchema, FeedPhaseSchema, CurriculumFeedSchema;
|
|
@@ -74,9 +90,10 @@ var init_curriculumFeedSchema = __esm({
|
|
|
74
90
|
concept_ref: zod.z.string().nullable().default(null),
|
|
75
91
|
// Progressive-completion bookkeeping (feed v2, additive):
|
|
76
92
|
// phase_id = development phase that introduces/uses this node;
|
|
77
|
-
// introduce_aspect = how the phase teaches a concept node (first intro
|
|
93
|
+
// introduce_aspect = how the phase teaches a concept node (first intro, advanced
|
|
94
|
+
// revisit, or preview — a light ULO awareness pass that is NOT the introduction).
|
|
78
95
|
phase_id: zod.z.string().default(""),
|
|
79
|
-
introduce_aspect: zod.z.enum(["new", "advanced"]).nullable().default(null)
|
|
96
|
+
introduce_aspect: zod.z.enum(["new", "advanced", "preview"]).nullable().default(null)
|
|
80
97
|
});
|
|
81
98
|
FeedEdgeSchema = zod.z.object({
|
|
82
99
|
from: zod.z.string().min(1),
|
|
@@ -123,6 +140,9 @@ function stepMinutes(step) {
|
|
|
123
140
|
const effort = step.effort ?? {};
|
|
124
141
|
return Math.max(0, Math.round(num(effort.estimated_minutes, num(step.estimated_minutes, 45))));
|
|
125
142
|
}
|
|
143
|
+
function pushWarning(opts, message) {
|
|
144
|
+
(opts.warnings ?? (opts.warnings = [])).push(message);
|
|
145
|
+
}
|
|
126
146
|
function newKeywordsInOrder(nodes) {
|
|
127
147
|
const seen = /* @__PURE__ */ new Set();
|
|
128
148
|
for (const n of nodes) {
|
|
@@ -188,13 +208,13 @@ function feedNodeFromConcept(concept) {
|
|
|
188
208
|
name: str(concept.name, id),
|
|
189
209
|
concept_codes: [str(concept.code) || id].filter(Boolean),
|
|
190
210
|
keywords: { all: strs(concept.keywords), new: [], prerequisite: [] },
|
|
191
|
-
estimated_minutes: Math.max(0, Math.round(num(concept.estimated_minutes,
|
|
211
|
+
estimated_minutes: Math.max(0, Math.round(num(concept.estimated_minutes, 15))),
|
|
192
212
|
bloom_hint: topBloom,
|
|
193
213
|
depth_hint: deriveConceptDepthHint(concept),
|
|
194
214
|
completion_level: "standard",
|
|
195
215
|
scaffolding: {
|
|
196
216
|
scaffold_candidates: problemScaffolds,
|
|
197
|
-
core_value_minutes: Math.max(0, Math.round(num(concept.estimated_minutes,
|
|
217
|
+
core_value_minutes: Math.max(0, Math.round(num(concept.estimated_minutes, 15)))
|
|
198
218
|
},
|
|
199
219
|
references,
|
|
200
220
|
feature_id: null,
|
|
@@ -259,6 +279,7 @@ function emitFromHybrid(hybrid, opts) {
|
|
|
259
279
|
}
|
|
260
280
|
const emitCtx = [];
|
|
261
281
|
const emittedConcepts = /* @__PURE__ */ new Set();
|
|
282
|
+
const previewsEmitted = /* @__PURE__ */ new Set();
|
|
262
283
|
const linkList = arr(hybrid.links);
|
|
263
284
|
for (const rp of rawPhases) {
|
|
264
285
|
const pid = str(rp.id);
|
|
@@ -267,7 +288,8 @@ function emitFromHybrid(hybrid, opts) {
|
|
|
267
288
|
const intros = arr(rp.introduces);
|
|
268
289
|
const news = intros.filter((i) => str(i.aspect, "new") === "new");
|
|
269
290
|
const advanced = intros.filter((i) => str(i.aspect) === "advanced");
|
|
270
|
-
|
|
291
|
+
const previews = intros.filter((i) => str(i.aspect) === "preview");
|
|
292
|
+
for (const intro of [...news, ...advanced, ...previews]) {
|
|
271
293
|
const cid = str(intro.concept_id);
|
|
272
294
|
const c = conceptById.get(cid);
|
|
273
295
|
if (!c) {
|
|
@@ -276,6 +298,37 @@ function emitFromHybrid(hybrid, opts) {
|
|
|
276
298
|
if (str(intro.aspect, "new") === "advanced" && !emittedConcepts.has(cid)) {
|
|
277
299
|
throw new Error("Phase " + pid + " advanced-revisits concept " + cid + " that was never emitted - fail-closed");
|
|
278
300
|
}
|
|
301
|
+
if (str(intro.aspect, "new") === "preview") {
|
|
302
|
+
if (emittedConcepts.has(cid)) {
|
|
303
|
+
throw new Error("Phase " + pid + " previews concept " + cid + " that was already introduced - preview must precede the anchor teach - fail-closed");
|
|
304
|
+
}
|
|
305
|
+
if (previewsEmitted.has(cid)) {
|
|
306
|
+
throw new Error("Phase " + pid + " duplicate preview of concept " + cid + " - fail-closed");
|
|
307
|
+
}
|
|
308
|
+
const pidIdx = rawPhases.findIndex((rp2) => str(rp2.id) === pid);
|
|
309
|
+
const anchorIdx = rawPhases.findIndex((rp2) => arr(rp2.introduces).some((i2) => str(i2.concept_id) === cid && str(i2.aspect, "new") !== "preview"));
|
|
310
|
+
if (anchorIdx < 0) {
|
|
311
|
+
throw new Error("Phase " + pid + " previews concept " + cid + " that is never fully introduced in any phase - fail-closed");
|
|
312
|
+
}
|
|
313
|
+
if (pidIdx >= anchorIdx) {
|
|
314
|
+
throw new Error("Phase " + pid + " previews concept " + cid + " whose anchor introduction is not in a LATER phase - fail-closed");
|
|
315
|
+
}
|
|
316
|
+
previewsEmitted.add(cid);
|
|
317
|
+
const prevNode = feedNodeFromConcept(c);
|
|
318
|
+
prevNode.id = cid + "__PREV" + pad22(order);
|
|
319
|
+
prevNode.name = str(c.name, cid) + " (preview)";
|
|
320
|
+
prevNode.phase_id = pid;
|
|
321
|
+
prevNode.introduce_aspect = "preview";
|
|
322
|
+
prevNode.estimated_minutes = Math.max(5, Math.round(prevNode.estimated_minutes * 0.25));
|
|
323
|
+
prevNode.depth_hint = "ulo";
|
|
324
|
+
prevNode.bloom_hint = "Understand";
|
|
325
|
+
prevNode.concept_codes = [str(c.code) || cid];
|
|
326
|
+
prevNode.keywords = { all: strs(c.keywords), new: [], prerequisite: [] };
|
|
327
|
+
prevNode.scaffolding = { scaffold_candidates: [], core_value_minutes: 0 };
|
|
328
|
+
nodes.push(prevNode);
|
|
329
|
+
conceptOrder.push(prevNode.id);
|
|
330
|
+
continue;
|
|
331
|
+
}
|
|
279
332
|
if (!emittedConcepts.has(cid)) {
|
|
280
333
|
const node = feedNodeFromConcept(c);
|
|
281
334
|
node.phase_id = pid;
|
|
@@ -331,6 +384,17 @@ function emitFromHybrid(hybrid, opts) {
|
|
|
331
384
|
}
|
|
332
385
|
phaseNodeIds.push(ids);
|
|
333
386
|
}
|
|
387
|
+
const placed = new Set(phaseNodeIds.flat());
|
|
388
|
+
const orderedNodes = [];
|
|
389
|
+
for (const ids of phaseNodeIds) {
|
|
390
|
+
for (const id of ids) {
|
|
391
|
+
const n = nodes.find((x) => x.id === id);
|
|
392
|
+
if (n) orderedNodes.push(n);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
for (const n of nodes) if (!placed.has(n.id)) orderedNodes.push(n);
|
|
396
|
+
nodes.length = 0;
|
|
397
|
+
nodes.push(...orderedNodes);
|
|
334
398
|
const edgeSeen = new Set(edges.map((e) => e.from + ">" + e.to));
|
|
335
399
|
const pushEdge = (from, to, reason) => {
|
|
336
400
|
const key = from + ">" + to;
|
|
@@ -345,6 +409,14 @@ function emitFromHybrid(hybrid, opts) {
|
|
|
345
409
|
const firstStep = (stepIdsByFeature.get(fid) || [])[0];
|
|
346
410
|
if (!firstStep) continue;
|
|
347
411
|
const depth = str(l.depth, "cio");
|
|
412
|
+
const anchorNode = nodes.find((n2) => n2.kind === "concept" && n2.concept_ref === cid && n2.introduce_aspect === "new");
|
|
413
|
+
const stepNode = nodes.find((n2) => n2.id === firstStep);
|
|
414
|
+
const anchorPhaseIdx = anchorNode ? emitCtx.findIndex((c2) => c2.id === anchorNode.phase_id) : -1;
|
|
415
|
+
const stepPhaseIdx = stepNode ? emitCtx.findIndex((c2) => c2.id === stepNode.phase_id) : -1;
|
|
416
|
+
if (emitCtx.length > 0 && anchorPhaseIdx > stepPhaseIdx) {
|
|
417
|
+
pushWarning(opts, "hybrid link drift: concept " + cid + " is fully taught in a later phase than consumer " + firstStep + " (a preview covers the dependency)");
|
|
418
|
+
continue;
|
|
419
|
+
}
|
|
348
420
|
pushEdge(cid, firstStep, str(l.relationship, "hybrid link") + " [" + depth + "]");
|
|
349
421
|
for (const n of nodes) {
|
|
350
422
|
if (n.kind === "concept" && n.concept_ref === cid && n.introduce_aspect === "advanced" && n.phase_id === str(l.phase_id)) {
|
|
@@ -363,6 +435,21 @@ function emitFromHybrid(hybrid, opts) {
|
|
|
363
435
|
for (const k of n.keywords?.prerequisite ?? []) {
|
|
364
436
|
const src = introducer.get(k.toLowerCase());
|
|
365
437
|
if (!src || src === n.id) continue;
|
|
438
|
+
const srcNode = nodes.find((x) => x.id === src);
|
|
439
|
+
const phaseOf = (id) => {
|
|
440
|
+
const n2 = nodes.find((x) => x.id === id);
|
|
441
|
+
return n2 ? emitCtx.findIndex((c) => c.id === n2.phase_id) : -1;
|
|
442
|
+
};
|
|
443
|
+
const conceptOvertaken = n.kind === "concept" && srcNode?.kind === "product_step";
|
|
444
|
+
const fromPhase = phaseOf(src);
|
|
445
|
+
const toPhase = phaseOf(n.id);
|
|
446
|
+
if (conceptOvertaken || emitCtx.length > 0 && fromPhase > toPhase) {
|
|
447
|
+
pushWarning(
|
|
448
|
+
opts,
|
|
449
|
+
"keyword-order drift: introducer " + src + " sits in a later phase than consumer " + n.id + ' (keyword "' + k + '") \u2014 host should move the introducer earlier'
|
|
450
|
+
);
|
|
451
|
+
continue;
|
|
452
|
+
}
|
|
366
453
|
if (feedOrder.get(src) < feedOrder.get(n.id)) pushEdge(src, n.id, "keyword prerequisite [" + k + "]");
|
|
367
454
|
}
|
|
368
455
|
}
|
|
@@ -1034,8 +1121,8 @@ function resolveProviderChain(config) {
|
|
|
1034
1121
|
}
|
|
1035
1122
|
push("legacy", process.env.LLM_BASE_URL || process.env.OPENAI_BASE_URL || "", process.env.LLM_API_KEY || process.env.OPENAI_API_KEY || "", process.env.LLM_MODEL || process.env.LLM_TIER_FAST || "");
|
|
1036
1123
|
push("dashscope", process.env.DASHSCOPE_BASE_URL || process.env.ALIBABA_BASE_URL || "", process.env.DASHSCOPE_API_KEY || process.env.ALIBABA_API_KEY || "", process.env.DASHSCOPE_MODEL || process.env.DEFAULT_AI_MODEL || "");
|
|
1037
|
-
push("nvidia", "https://integrate.api.nvidia.com/v1", process.env.NVIDIA_API_KEY || "", process.env.NVIDIA_MODEL || "nvidia/nemotron-3-ultra-550b-a55b");
|
|
1038
|
-
push("openrouter", "https://openrouter.ai/api/v1", process.env.OPENROUTER_API_KEY || "", process.env.OPENROUTER_MODEL || "nvidia/nemotron-3-ultra-550b-a55b");
|
|
1124
|
+
push("nvidia", "https://integrate.api.nvidia.com/v1", process.env.NVIDIA_API_KEY || "", process.env.NVIDIA_MODEL || "nvidia/nemotron-3-ultra-550b-a55b:free");
|
|
1125
|
+
push("openrouter", "https://openrouter.ai/api/v1", process.env.OPENROUTER_API_KEY || "", process.env.OPENROUTER_MODEL || "nvidia/nemotron-3-ultra-550b-a55b:free");
|
|
1039
1126
|
if (process.env.OPENROUTER_MODEL) {
|
|
1040
1127
|
const or = chain.find((c) => c.label === "openrouter");
|
|
1041
1128
|
if (or) {
|
|
@@ -4136,6 +4223,8 @@ function auditPhasePlan(plan, features, concepts, links, warnings, log) {
|
|
|
4136
4223
|
const phases = [];
|
|
4137
4224
|
const featurePhase = /* @__PURE__ */ new Map();
|
|
4138
4225
|
const newIntroPhase = /* @__PURE__ */ new Map();
|
|
4226
|
+
const previewsSeen = /* @__PURE__ */ new Set();
|
|
4227
|
+
const previewPhase = /* @__PURE__ */ new Map();
|
|
4139
4228
|
const errors = [];
|
|
4140
4229
|
plan.forEach((rp, idx) => {
|
|
4141
4230
|
const id = String(rp.id || "PH" + (idx + 1));
|
|
@@ -4167,7 +4256,22 @@ function auditPhasePlan(plan, features, concepts, links, warnings, log) {
|
|
|
4167
4256
|
errors.push("Phase " + id + ": introduces unknown concept " + cid);
|
|
4168
4257
|
continue;
|
|
4169
4258
|
}
|
|
4170
|
-
const
|
|
4259
|
+
const rawAspect = String(ri.aspect || "new");
|
|
4260
|
+
const aspect = rawAspect === "advanced" || rawAspect === "preview" ? rawAspect : "new";
|
|
4261
|
+
if (aspect === "preview") {
|
|
4262
|
+
if (newIntroPhase.has(cid)) {
|
|
4263
|
+
errors.push("Phase " + id + ": preview of " + cid + " after its new introduction in phase " + newIntroPhase.get(cid) + " - preview must precede the anchor teach");
|
|
4264
|
+
continue;
|
|
4265
|
+
}
|
|
4266
|
+
if (previewsSeen.has(cid)) {
|
|
4267
|
+
errors.push("Phase " + id + ": duplicate preview of " + cid);
|
|
4268
|
+
continue;
|
|
4269
|
+
}
|
|
4270
|
+
previewsSeen.add(cid);
|
|
4271
|
+
previewPhase.set(cid, order);
|
|
4272
|
+
introductions.push({ concept_id: cid, aspect, note: String(ri.note || "") });
|
|
4273
|
+
continue;
|
|
4274
|
+
}
|
|
4171
4275
|
if (aspect === "advanced") {
|
|
4172
4276
|
const first = newIntroPhase.get(cid);
|
|
4173
4277
|
if (first === void 0) {
|
|
@@ -4215,10 +4319,17 @@ function auditPhasePlan(plan, features, concepts, links, warnings, log) {
|
|
|
4215
4319
|
}
|
|
4216
4320
|
for (const [cid, consumerOrder] of firstConsumerPhase) {
|
|
4217
4321
|
const intro = newIntroPhase.get(cid);
|
|
4218
|
-
|
|
4322
|
+
const prev = previewPhase.get(cid);
|
|
4323
|
+
if (intro === void 0 && prev === void 0) {
|
|
4219
4324
|
errors.push("Concept " + cid + " is consumed from phase " + consumerOrder + " but never introduced in any phase");
|
|
4220
|
-
} else if (intro > consumerOrder) {
|
|
4221
|
-
errors.push("Concept " + cid + " introduced in phase " + intro + " but first consumed in phase " + consumerOrder + " - introduction must come no later than first consumption");
|
|
4325
|
+
} else if (intro !== void 0 && intro > consumerOrder && (prev === void 0 || prev > consumerOrder)) {
|
|
4326
|
+
errors.push("Concept " + cid + " introduced in phase " + intro + " but first consumed in phase " + consumerOrder + " - introduction must come no later than first consumption (or a preview must cover the dependency)");
|
|
4327
|
+
}
|
|
4328
|
+
}
|
|
4329
|
+
for (const [cid, pOrder] of previewPhase) {
|
|
4330
|
+
const anchor = newIntroPhase.get(cid);
|
|
4331
|
+
if (anchor !== void 0 && anchor <= pOrder) {
|
|
4332
|
+
errors.push("Concept " + cid + " previewed in phase " + pOrder + " but fully introduced in phase " + anchor + " - preview must precede the anchor introduction");
|
|
4222
4333
|
}
|
|
4223
4334
|
}
|
|
4224
4335
|
return { phases, errors };
|
|
@@ -4234,7 +4345,7 @@ async function decomposePhases(args) {
|
|
|
4234
4345
|
const linkList = links.map(
|
|
4235
4346
|
(l) => "- " + l.feature_id + " -> " + l.concept_id + " (" + l.depth + ")"
|
|
4236
4347
|
).join("\n") || "(none)";
|
|
4237
|
-
const systemPrompt =
|
|
4348
|
+
const systemPrompt = 'You decompose a software project build into PROGRESSIVE COMPLETION PHASES for learning purposes.\n\nA phase is NOT a feature and NOT a milestone list: it is a cross-feature slice of the\nproduct whose completion yields a DEMONSTRABLY more complete product. Build up gradually:\nthe product grows feature by feature across phases, and each phase adds its features to\nwhat previous phases already built.\n\nRULES:\n1. Every feature must be assigned to EXACTLY ONE phase (no feature reused, none skipped).\n2. Phases are ordered; later phases depend on earlier ones and yield a more complete product.\n3. product_completion describes concretely what the product can DO once the phase is done.\n4. introduces lists which concepts the phase must teach BEFORE its feature work starts:\n - aspect new: first time the concept appears in the course\n - aspect advanced: a concept introduced in an EARLIER phase, revisited here at a\n higher depth (an advanced aspect of the same concept, e.g. validation rules on top\n of basic data modeling). Use the note field to say which aspect.\n - aspect preview: a light awareness pass ("know it exists", ULO depth only, ~5 min)\n placed in an EARLIER phase when its feature work needs the vocabulary before the\n full teach. The anchor phase still owns the full new introduction.\n5. A concept MUST be introduced (new) no later than the first phase that consumes it.\n6. A concept must not be introduced before its own prerequisites are introduced.\n7. Typically 3-6 phases for a small project; keep phases balanced.\n8. Phase 1 usually covers project setup/foundation features plus the first minimal slice.\n9. Return JSON only.';
|
|
4238
4349
|
const baseUserPrompt = "FEATURES:\n" + featureList + "\n\nCONCEPTS:\n" + conceptList + "\n\nFEATURE-CONCEPT LINKS:\n" + linkList + "\n\nReturn JSON with a phases array. Each phase: { id: PH1, name, product_completion, feature_ids: [F0, F1], introduces: [{ concept_id: C1, aspect: new or advanced, note }] }.\n";
|
|
4239
4350
|
const MAX_DECOMPOSE_ATTEMPTS = 3;
|
|
4240
4351
|
let auditErrors = [];
|