@thanh01.pmt/curriculum-kit 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/ai/index.cjs +3 -1
- package/dist/ai/index.cjs.map +1 -1
- package/dist/ai/index.d.cts +4 -0
- package/dist/ai/index.d.ts +4 -0
- package/dist/ai/index.mjs +3 -1
- package/dist/ai/index.mjs.map +1 -1
- package/dist/index.cjs +471 -139
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -4
- package/dist/index.d.ts +11 -4
- package/dist/index.mjs +469 -140
- package/dist/index.mjs.map +1 -1
- package/dist/pipeline/index.cjs +3 -1
- package/dist/pipeline/index.cjs.map +1 -1
- package/dist/pipeline/index.mjs +3 -1
- package/dist/pipeline/index.mjs.map +1 -1
- package/dist/schemas/index.cjs +3 -1
- package/dist/schemas/index.cjs.map +1 -1
- package/dist/schemas/index.d.cts +20 -0
- package/dist/schemas/index.d.ts +20 -0
- package/dist/schemas/index.mjs +3 -1
- package/dist/schemas/index.mjs.map +1 -1
- package/dist/standards/index.cjs +195 -1
- package/dist/standards/index.cjs.map +1 -1
- package/dist/standards/index.d.cts +20 -1
- package/dist/standards/index.d.ts +20 -1
- package/dist/standards/index.mjs +193 -2
- package/dist/standards/index.mjs.map +1 -1
- package/dist/workflow/index.cjs +222 -21
- package/dist/workflow/index.cjs.map +1 -1
- package/dist/workflow/index.mjs +222 -21
- package/dist/workflow/index.mjs.map +1 -1
- package/package.json +21 -22
package/dist/standards/index.mjs
CHANGED
|
@@ -855,9 +855,170 @@ var csta_k12_2017_default = {
|
|
|
855
855
|
]
|
|
856
856
|
};
|
|
857
857
|
|
|
858
|
+
// src/standards/data/acm-ieee-cs2023.json
|
|
859
|
+
var acm_ieee_cs2023_default = {
|
|
860
|
+
manifest: {
|
|
861
|
+
id: "acm-ieee-cs2023",
|
|
862
|
+
name: "ACM/IEEE-CS/AAAI Computer Science Curricula 2023 (CS2023)",
|
|
863
|
+
specVersion: "1.0",
|
|
864
|
+
contentVersion: "2023.1",
|
|
865
|
+
subject: "computing",
|
|
866
|
+
languages: ["en"],
|
|
867
|
+
gradeModel: {
|
|
868
|
+
type: "grades",
|
|
869
|
+
range: [9, 16]
|
|
870
|
+
},
|
|
871
|
+
provenance: {
|
|
872
|
+
sourceRef: "ACM/IEEE-CS/AAAI Computer Science Curricula 2023 - cs2023.org",
|
|
873
|
+
sourceUrl: "https://cs2023.org",
|
|
874
|
+
license: "ACM / IEEE Computer Society (cited verbatim for curriculum alignment)",
|
|
875
|
+
importedBy: "platform",
|
|
876
|
+
importedAt: "2026-09-11T00:00:00.000Z"
|
|
877
|
+
},
|
|
878
|
+
trust: "verified"
|
|
879
|
+
},
|
|
880
|
+
statements: [
|
|
881
|
+
{
|
|
882
|
+
id: "CS2023-SDF-01",
|
|
883
|
+
gradeBand: [9, 14],
|
|
884
|
+
texts: {
|
|
885
|
+
en: "Design, implement, test, and debug programs using basic computation, standard conditional and iterative structures, and functions."
|
|
886
|
+
},
|
|
887
|
+
classifications: [
|
|
888
|
+
{ axis: "Knowledge Area", value: "Software Development Fundamentals (SDF)" },
|
|
889
|
+
{ axis: "Core Tier", value: "Tier-1 Core" }
|
|
890
|
+
],
|
|
891
|
+
bloomHint: { process: "Apply" },
|
|
892
|
+
keywords: ["algorithms", "control structures", "functions", "variables", "debugging", "programming", "implementation"],
|
|
893
|
+
sourceRef: "CS2023, Software Development Fundamentals, Program Construction",
|
|
894
|
+
provenance: { method: "source_official" }
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
id: "CS2023-SDF-02",
|
|
898
|
+
gradeBand: [9, 14],
|
|
899
|
+
texts: {
|
|
900
|
+
en: "Apply fundamental data structures (arrays, lists, stacks, queues, hash maps) to represent collections of data and solve algorithmic problems."
|
|
901
|
+
},
|
|
902
|
+
classifications: [
|
|
903
|
+
{ axis: "Knowledge Area", value: "Software Development Fundamentals (SDF)" },
|
|
904
|
+
{ axis: "Core Tier", value: "Tier-1 Core" }
|
|
905
|
+
],
|
|
906
|
+
bloomHint: { process: "Apply" },
|
|
907
|
+
keywords: ["data structures", "arrays", "lists", "hash maps", "collections", "stacks", "queues"],
|
|
908
|
+
sourceRef: "CS2023, Software Development Fundamentals, Fundamental Data Structures",
|
|
909
|
+
provenance: { method: "source_official" }
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
id: "CS2023-AL-01",
|
|
913
|
+
gradeBand: [10, 16],
|
|
914
|
+
texts: {
|
|
915
|
+
en: "Analyze and compare the time and space complexity of fundamental algorithms using asymptotic notation (Big-O)."
|
|
916
|
+
},
|
|
917
|
+
classifications: [
|
|
918
|
+
{ axis: "Knowledge Area", value: "Algorithms and Complexity (AL)" },
|
|
919
|
+
{ axis: "Core Tier", value: "Tier-1 Core" }
|
|
920
|
+
],
|
|
921
|
+
bloomHint: { process: "Analyze" },
|
|
922
|
+
keywords: ["complexity", "big-o", "efficiency", "sorting", "searching", "asymptotic", "runtime"],
|
|
923
|
+
sourceRef: "CS2023, Algorithms and Complexity, Basic Analysis",
|
|
924
|
+
provenance: { method: "source_official" }
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
id: "CS2023-SE-01",
|
|
928
|
+
gradeBand: [9, 16],
|
|
929
|
+
texts: {
|
|
930
|
+
en: "Decompose complex problems into modular software components applying principles of abstraction, encapsulation, and separation of concerns."
|
|
931
|
+
},
|
|
932
|
+
classifications: [
|
|
933
|
+
{ axis: "Knowledge Area", value: "Software Engineering (SE)" },
|
|
934
|
+
{ axis: "Core Tier", value: "Tier-1 Core" }
|
|
935
|
+
],
|
|
936
|
+
bloomHint: { process: "Create" },
|
|
937
|
+
keywords: ["modularity", "abstraction", "software design", "refactoring", "encapsulation", "architecture"],
|
|
938
|
+
sourceRef: "CS2023, Software Engineering, Software Design and Architecture",
|
|
939
|
+
provenance: { method: "source_official" }
|
|
940
|
+
},
|
|
941
|
+
{
|
|
942
|
+
id: "CS2023-SEC-01",
|
|
943
|
+
gradeBand: [9, 16],
|
|
944
|
+
texts: {
|
|
945
|
+
en: "Incorporate defensive programming and fundamental cybersecurity principles (least privilege, input validation, secure data handling) into software development."
|
|
946
|
+
},
|
|
947
|
+
classifications: [
|
|
948
|
+
{ axis: "Knowledge Area", value: "Security (SEC)" },
|
|
949
|
+
{ axis: "Core Tier", value: "Tier-1 Core" }
|
|
950
|
+
],
|
|
951
|
+
bloomHint: { process: "Apply" },
|
|
952
|
+
keywords: ["security", "defensive programming", "input validation", "cybersecurity", "vulnerabilities"],
|
|
953
|
+
sourceRef: "CS2023, Security, Secure Software Development",
|
|
954
|
+
provenance: { method: "source_official" }
|
|
955
|
+
},
|
|
956
|
+
{
|
|
957
|
+
id: "CS2023-AI-01",
|
|
958
|
+
gradeBand: [10, 16],
|
|
959
|
+
texts: {
|
|
960
|
+
en: "Formulate machine learning tasks, prepare training and evaluation datasets, and evaluate model performance using standard metrics."
|
|
961
|
+
},
|
|
962
|
+
classifications: [
|
|
963
|
+
{ axis: "Knowledge Area", value: "Artificial Intelligence (AI)" },
|
|
964
|
+
{ axis: "Core Tier", value: "Tier-2 Core" }
|
|
965
|
+
],
|
|
966
|
+
bloomHint: { process: "Evaluate" },
|
|
967
|
+
keywords: ["artificial intelligence", "machine learning", "dataset", "evaluation", "model", "accuracy"],
|
|
968
|
+
sourceRef: "CS2023, Artificial Intelligence, Machine Learning Fundamentals",
|
|
969
|
+
provenance: { method: "source_official" }
|
|
970
|
+
}
|
|
971
|
+
],
|
|
972
|
+
mappings: [
|
|
973
|
+
{
|
|
974
|
+
statementId: "CS2023-SDF-01",
|
|
975
|
+
targetRef: "ontora:PROGRAM_CONSTRUCTION",
|
|
976
|
+
kind: "covers",
|
|
977
|
+
confidence: 0.95,
|
|
978
|
+
provenance: { method: "source_official" }
|
|
979
|
+
},
|
|
980
|
+
{
|
|
981
|
+
statementId: "CS2023-SDF-02",
|
|
982
|
+
targetRef: "ontora:DATA_STRUCTURES",
|
|
983
|
+
kind: "covers",
|
|
984
|
+
confidence: 0.95,
|
|
985
|
+
provenance: { method: "source_official" }
|
|
986
|
+
},
|
|
987
|
+
{
|
|
988
|
+
statementId: "CS2023-AL-01",
|
|
989
|
+
targetRef: "ontora:ALGORITHM_COMPLEXITY",
|
|
990
|
+
kind: "covers",
|
|
991
|
+
confidence: 0.95,
|
|
992
|
+
provenance: { method: "source_official" }
|
|
993
|
+
},
|
|
994
|
+
{
|
|
995
|
+
statementId: "CS2023-SE-01",
|
|
996
|
+
targetRef: "ontora:SOFTWARE_ARCHITECTURE",
|
|
997
|
+
kind: "covers",
|
|
998
|
+
confidence: 0.95,
|
|
999
|
+
provenance: { method: "source_official" }
|
|
1000
|
+
},
|
|
1001
|
+
{
|
|
1002
|
+
statementId: "CS2023-SEC-01",
|
|
1003
|
+
targetRef: "ontora:DEFENSIVE_PROGRAMMING",
|
|
1004
|
+
kind: "covers",
|
|
1005
|
+
confidence: 0.95,
|
|
1006
|
+
provenance: { method: "source_official" }
|
|
1007
|
+
},
|
|
1008
|
+
{
|
|
1009
|
+
statementId: "CS2023-AI-01",
|
|
1010
|
+
targetRef: "ontora:MACHINE_LEARNING",
|
|
1011
|
+
kind: "covers",
|
|
1012
|
+
confidence: 0.95,
|
|
1013
|
+
provenance: { method: "source_official" }
|
|
1014
|
+
}
|
|
1015
|
+
]
|
|
1016
|
+
};
|
|
1017
|
+
|
|
858
1018
|
// src/standards/bundledPacks.ts
|
|
859
1019
|
var BUNDLED_PACK_RECORDS = {
|
|
860
|
-
"csta-k12-2017": csta_k12_2017_default
|
|
1020
|
+
"csta-k12-2017": csta_k12_2017_default,
|
|
1021
|
+
"acm-ieee-cs2023": acm_ieee_cs2023_default
|
|
861
1022
|
};
|
|
862
1023
|
var BUNDLED_STANDARDS_PACK_IDS = Object.keys(BUNDLED_PACK_RECORDS).sort();
|
|
863
1024
|
var parsedPackCache = /* @__PURE__ */ new Map();
|
|
@@ -884,7 +1045,37 @@ function resolveStandardsPacks(packIds) {
|
|
|
884
1045
|
}
|
|
885
1046
|
return packs;
|
|
886
1047
|
}
|
|
1048
|
+
function findStandardStatement(statementIdOrRef) {
|
|
1049
|
+
if (!statementIdOrRef) return null;
|
|
1050
|
+
const [packPrefix, ...rest] = statementIdOrRef.split(":");
|
|
1051
|
+
const targetId = rest.length > 0 ? rest.join(":") : statementIdOrRef;
|
|
1052
|
+
const packs = resolveStandardsPacks(BUNDLED_STANDARDS_PACK_IDS);
|
|
1053
|
+
for (const pack of packs) {
|
|
1054
|
+
if (rest.length > 0 && pack.manifest.id !== packPrefix) continue;
|
|
1055
|
+
const stmt = pack.statements.find((s) => s.id.toLowerCase() === targetId.toLowerCase());
|
|
1056
|
+
if (stmt) {
|
|
1057
|
+
const description = stmt.texts["en"] || Object.values(stmt.texts)[0] || "";
|
|
1058
|
+
const category = stmt.classifications && stmt.classifications.length > 0 ? stmt.classifications.map((c) => c.value).join(", ") : void 0;
|
|
1059
|
+
const gradeBand = Array.isArray(stmt.gradeBand) ? stmt.gradeBand[0] === stmt.gradeBand[1] ? String(stmt.gradeBand[0]) : `${stmt.gradeBand[0]}-${stmt.gradeBand[1]}` : void 0;
|
|
1060
|
+
return {
|
|
1061
|
+
packId: pack.manifest.id,
|
|
1062
|
+
packTitle: pack.manifest.name,
|
|
1063
|
+
statementId: stmt.id,
|
|
1064
|
+
description,
|
|
1065
|
+
category,
|
|
1066
|
+
gradeBand
|
|
1067
|
+
};
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1070
|
+
return null;
|
|
1071
|
+
}
|
|
1072
|
+
var STANDARD_REF_REGEX = /\b(?:(?:csta-k12-2017|acm-ieee-cs2023):)?(?:[1-3][A-B]?-[A-Z]{2}-\d{2}|CS2023-[A-Z0-9_-]+)\b/gi;
|
|
1073
|
+
function extractStandardRefs(text) {
|
|
1074
|
+
if (!text) return [];
|
|
1075
|
+
const matches = Array.from(text.matchAll(STANDARD_REF_REGEX)).map((m) => m[0]);
|
|
1076
|
+
return Array.from(new Set(matches));
|
|
1077
|
+
}
|
|
887
1078
|
|
|
888
|
-
export { BUNDLED_STANDARDS_PACK_IDS, BloomHintSchema, ClassificationSchema, FrameworkMappingSchema, FrameworkPackManifestSchema, FrameworkPackSchema, FrameworkStatementSchema, GradeBandSchema, MappingKindSchema, RecordProvenanceSchema, StandardsRegistryAdapter, buildStandardStackMarkdown, buildStandardsContext, buildStandardsContextBlock, evaluateStandardsCoverage, lintFrameworkPack, resolveStandardsPacks, selectStatementsForLesson, validateFrameworkPack };
|
|
1079
|
+
export { BUNDLED_STANDARDS_PACK_IDS, BloomHintSchema, ClassificationSchema, FrameworkMappingSchema, FrameworkPackManifestSchema, FrameworkPackSchema, FrameworkStatementSchema, GradeBandSchema, MappingKindSchema, RecordProvenanceSchema, STANDARD_REF_REGEX, StandardsRegistryAdapter, buildStandardStackMarkdown, buildStandardsContext, buildStandardsContextBlock, evaluateStandardsCoverage, extractStandardRefs, findStandardStatement, lintFrameworkPack, resolveStandardsPacks, selectStatementsForLesson, validateFrameworkPack };
|
|
889
1080
|
//# sourceMappingURL=index.mjs.map
|
|
890
1081
|
//# sourceMappingURL=index.mjs.map
|