@intellectif/lk-core 0.8.2 → 0.9.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/CHANGELOG.md +22 -0
- package/README.md +5 -4
- package/dist/{chunk-2M76F32Y.js → chunk-6DM2H6BD.js} +2 -2
- package/dist/{chunk-HCOWSGEZ.js → chunk-AHEUYOT3.js} +705 -17
- package/dist/chunk-AHEUYOT3.js.map +1 -0
- package/dist/{chunk-FKH4YT5X.cjs → chunk-CVRALNUK.cjs} +706 -18
- package/dist/chunk-CVRALNUK.cjs.map +1 -0
- package/dist/{chunk-NHGXOOZ2.js → chunk-ELTP5P6V.js} +2 -2
- package/dist/{chunk-YJZY5TPY.cjs → chunk-MOLL5KXO.cjs} +8 -8
- package/dist/{chunk-YJZY5TPY.cjs.map → chunk-MOLL5KXO.cjs.map} +1 -1
- package/dist/{chunk-LNA33IK7.js → chunk-QX7P3CHP.js} +2 -2
- package/dist/{chunk-7ACNBDSF.cjs → chunk-RL2PQLCY.cjs} +4 -4
- package/dist/{chunk-7ACNBDSF.cjs.map → chunk-RL2PQLCY.cjs.map} +1 -1
- package/dist/{chunk-FVLKIL6W.cjs → chunk-YVZCFUGP.cjs} +12 -12
- package/dist/{chunk-FVLKIL6W.cjs.map → chunk-YVZCFUGP.cjs.map} +1 -1
- package/dist/index.cjs +134 -42
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +157 -6
- package/dist/index.d.ts +157 -6
- package/dist/index.js +115 -23
- package/dist/index.js.map +1 -1
- package/dist/schemas.cjs +3 -3
- package/dist/schemas.js +2 -2
- package/dist/scoring.cjs +3 -3
- package/dist/scoring.js +2 -2
- package/dist/xapi.cjs +3 -3
- package/dist/xapi.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-FKH4YT5X.cjs.map +0 -1
- package/dist/chunk-HCOWSGEZ.js.map +0 -1
- /package/dist/{chunk-2M76F32Y.js.map → chunk-6DM2H6BD.js.map} +0 -0
- /package/dist/{chunk-NHGXOOZ2.js.map → chunk-ELTP5P6V.js.map} +0 -0
- /package/dist/{chunk-LNA33IK7.js.map → chunk-QX7P3CHP.js.map} +0 -0
package/dist/index.cjs
CHANGED
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkMOLL5KXOcjs = require('./chunk-MOLL5KXO.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkRL2PQLCYcjs = require('./chunk-RL2PQLCY.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
@@ -31,7 +31,7 @@ var _chunk7ACNBDSFcjs = require('./chunk-7ACNBDSF.cjs');
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
var
|
|
34
|
+
var _chunkYVZCFUGPcjs = require('./chunk-YVZCFUGP.cjs');
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
@@ -67,7 +67,11 @@ var _chunkFVLKIL6Wcjs = require('./chunk-FVLKIL6W.cjs');
|
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
var _chunkCVRALNUKcjs = require('./chunk-CVRALNUK.cjs');
|
|
71
75
|
|
|
72
76
|
// src/content-hash.ts
|
|
73
77
|
function canonicalJson(value, seen = /* @__PURE__ */ new Set()) {
|
|
@@ -571,6 +575,92 @@ function diffResponses(before, after) {
|
|
|
571
575
|
return entries;
|
|
572
576
|
}
|
|
573
577
|
|
|
578
|
+
// src/authoring/index.ts
|
|
579
|
+
function validateDraft(type, draft) {
|
|
580
|
+
const descriptor = _chunkCVRALNUKcjs.getActivityTypeDescriptor.call(void 0, type);
|
|
581
|
+
if (descriptor === void 0) {
|
|
582
|
+
throw new (0, _chunkCVRALNUKcjs.UnknownActivityTypeError)(String(type));
|
|
583
|
+
}
|
|
584
|
+
const reported = _chunkCVRALNUKcjs.isRecord.call(void 0, draft) && _optionalChain([descriptor, 'access', _16 => _16.authoring, 'optionalAccess', _17 => _17.checkDraft]) !== void 0 ? descriptor.authoring.checkDraft(draft).map(normalise) : [];
|
|
585
|
+
const issues = [...reported];
|
|
586
|
+
const parsed = descriptor.schema.safeParse(draft, { reportInput: true });
|
|
587
|
+
if (!parsed.success) {
|
|
588
|
+
const reportedEmpty = /* @__PURE__ */ new Set();
|
|
589
|
+
for (const schemaIssue of parsed.error.issues) {
|
|
590
|
+
const path = schemaIssue.path.map(String);
|
|
591
|
+
if (reported.some((known) => covers(known.path, path))) {
|
|
592
|
+
continue;
|
|
593
|
+
}
|
|
594
|
+
if (path.length > 0 && _chunkCVRALNUKcjs.refusesEmpty.call(void 0, draft, schemaIssue)) {
|
|
595
|
+
const key = JSON.stringify(path);
|
|
596
|
+
if (!reportedEmpty.has(key)) {
|
|
597
|
+
reportedEmpty.add(key);
|
|
598
|
+
issues.push(
|
|
599
|
+
_chunkCVRALNUKcjs.issue.call(void 0,
|
|
600
|
+
"null_not_allowed",
|
|
601
|
+
path,
|
|
602
|
+
typeof schemaIssue.path.at(-1) === "number" ? "This entry has no value. Remove it, or fill it in." : "This field cannot be null. Leave it out if it is optional, or give it a value."
|
|
603
|
+
)
|
|
604
|
+
);
|
|
605
|
+
}
|
|
606
|
+
continue;
|
|
607
|
+
}
|
|
608
|
+
issues.push({
|
|
609
|
+
path,
|
|
610
|
+
message: schemaIssue.message,
|
|
611
|
+
code: schemaIssue.code,
|
|
612
|
+
severity: "invalid"
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
if (parsed.success && issues.length === 0) {
|
|
617
|
+
return { status: "complete", data: parsed.data, issues };
|
|
618
|
+
}
|
|
619
|
+
const invalid = issues.some((found) => found.severity !== "incomplete");
|
|
620
|
+
return { status: invalid ? "invalid" : "incomplete", issues };
|
|
621
|
+
}
|
|
622
|
+
function createDraft(type, context) {
|
|
623
|
+
const descriptor = _chunkCVRALNUKcjs.getActivityTypeDescriptor.call(void 0, type);
|
|
624
|
+
if (descriptor === void 0) {
|
|
625
|
+
throw new (0, _chunkCVRALNUKcjs.UnknownActivityTypeError)(String(type));
|
|
626
|
+
}
|
|
627
|
+
const create = _optionalChain([descriptor, 'access', _18 => _18.authoring, 'optionalAccess', _19 => _19.createDraft]);
|
|
628
|
+
if (create === void 0) {
|
|
629
|
+
throw new Error(
|
|
630
|
+
`Activity type "${String(type)}" declares no authoring.createDraft, so there is no empty draft to create. Build the draft yourself; validateDraft works for every registered type.`
|
|
631
|
+
);
|
|
632
|
+
}
|
|
633
|
+
const issued = /* @__PURE__ */ new Set();
|
|
634
|
+
const newId = () => {
|
|
635
|
+
const id = context.newId();
|
|
636
|
+
if (typeof id !== "string" || id === "") {
|
|
637
|
+
throw new Error("createDraft: newId() must return a non-empty string.");
|
|
638
|
+
}
|
|
639
|
+
if (issued.has(id)) {
|
|
640
|
+
throw new Error(
|
|
641
|
+
`createDraft: newId() returned "${id}" twice. Ids within one draft must differ \u2014 two options sharing an id cannot be scored apart.`
|
|
642
|
+
);
|
|
643
|
+
}
|
|
644
|
+
issued.add(id);
|
|
645
|
+
return id;
|
|
646
|
+
};
|
|
647
|
+
return create({ newId });
|
|
648
|
+
}
|
|
649
|
+
function normalise(found) {
|
|
650
|
+
const documented = Object.hasOwn(_chunkCVRALNUKcjs.DRAFT_ISSUE_SEVERITY, found.code) ? _chunkCVRALNUKcjs.DRAFT_ISSUE_SEVERITY[found.code] : void 0;
|
|
651
|
+
return {
|
|
652
|
+
...found,
|
|
653
|
+
path: found.path.map(String),
|
|
654
|
+
severity: _nullishCoalesce(documented, () => ( (found.severity === "incomplete" ? "incomplete" : "invalid")))
|
|
655
|
+
};
|
|
656
|
+
}
|
|
657
|
+
function covers(reported, failed) {
|
|
658
|
+
if (failed.length === 0) {
|
|
659
|
+
return reported.length === 0;
|
|
660
|
+
}
|
|
661
|
+
return failed.every((segment, index) => reported[index] === segment);
|
|
662
|
+
}
|
|
663
|
+
|
|
574
664
|
// src/redact.ts
|
|
575
665
|
function mergePolicy(base, overrides) {
|
|
576
666
|
if (overrides === void 0) {
|
|
@@ -627,9 +717,9 @@ function redactValue(value, policy, reveal) {
|
|
|
627
717
|
}
|
|
628
718
|
function redact(data, options = {}) {
|
|
629
719
|
const reveal = _nullishCoalesce(options.reveal, () => ( "none"));
|
|
630
|
-
const descriptor =
|
|
720
|
+
const descriptor = _chunkCVRALNUKcjs.getActivityTypeDescriptor.call(void 0, data.type);
|
|
631
721
|
if (descriptor === void 0) {
|
|
632
|
-
throw new (0,
|
|
722
|
+
throw new (0, _chunkCVRALNUKcjs.UnknownActivityTypeError)(String(data.type));
|
|
633
723
|
}
|
|
634
724
|
if (descriptor.fieldPolicy === void 0) {
|
|
635
725
|
throw new Error(
|
|
@@ -642,12 +732,12 @@ function redact(data, options = {}) {
|
|
|
642
732
|
if (reveal === "none" && descriptor.redactedSchema !== void 0) {
|
|
643
733
|
const parsed = descriptor.redactedSchema.safeParse(result);
|
|
644
734
|
if (!parsed.success) {
|
|
645
|
-
throw new (0,
|
|
735
|
+
throw new (0, _chunkCVRALNUKcjs.ActivitySchemaError)(
|
|
646
736
|
descriptor.type,
|
|
647
|
-
parsed.error.issues.map((
|
|
648
|
-
path:
|
|
649
|
-
message:
|
|
650
|
-
code:
|
|
737
|
+
parsed.error.issues.map((issue2) => ({
|
|
738
|
+
path: issue2.path.map(String),
|
|
739
|
+
message: issue2.message,
|
|
740
|
+
code: issue2.code
|
|
651
741
|
}))
|
|
652
742
|
);
|
|
653
743
|
}
|
|
@@ -656,13 +746,13 @@ function redact(data, options = {}) {
|
|
|
656
746
|
}
|
|
657
747
|
function assertRedacted(data) {
|
|
658
748
|
if (typeof data !== "object" || data === null) {
|
|
659
|
-
throw new (0,
|
|
749
|
+
throw new (0, _chunkCVRALNUKcjs.ActivitySchemaError)("unknown", [
|
|
660
750
|
{ path: [], message: "Redacted activity data must be an object.", code: "invalid_type" }
|
|
661
751
|
]);
|
|
662
752
|
}
|
|
663
753
|
const candidate = data;
|
|
664
754
|
if (candidate.redacted !== true) {
|
|
665
|
-
throw new (0,
|
|
755
|
+
throw new (0, _chunkCVRALNUKcjs.ActivitySchemaError)(String(_nullishCoalesce(candidate.type, () => ( "unknown"))), [
|
|
666
756
|
{
|
|
667
757
|
path: ["redacted"],
|
|
668
758
|
message: "Missing redacted marker \u2014 this payload is not a redact() projection.",
|
|
@@ -671,12 +761,12 @@ function assertRedacted(data) {
|
|
|
671
761
|
]);
|
|
672
762
|
}
|
|
673
763
|
const type = typeof candidate.type === "string" ? candidate.type : "";
|
|
674
|
-
const descriptor =
|
|
764
|
+
const descriptor = _chunkCVRALNUKcjs.getActivityTypeDescriptor.call(void 0, type);
|
|
675
765
|
if (descriptor === void 0) {
|
|
676
|
-
throw new (0,
|
|
766
|
+
throw new (0, _chunkCVRALNUKcjs.UnknownActivityTypeError)(type);
|
|
677
767
|
}
|
|
678
768
|
if (descriptor.redactedSchema === void 0) {
|
|
679
|
-
throw new (0,
|
|
769
|
+
throw new (0, _chunkCVRALNUKcjs.ActivitySchemaError)(descriptor.type, [
|
|
680
770
|
{
|
|
681
771
|
path: [],
|
|
682
772
|
message: `Activity type "${descriptor.type}" registers no redactedSchema; assertRedacted cannot prove this payload is learner-safe.`,
|
|
@@ -686,12 +776,12 @@ function assertRedacted(data) {
|
|
|
686
776
|
}
|
|
687
777
|
const parsed = descriptor.redactedSchema.safeParse(candidate);
|
|
688
778
|
if (!parsed.success) {
|
|
689
|
-
throw new (0,
|
|
779
|
+
throw new (0, _chunkCVRALNUKcjs.ActivitySchemaError)(
|
|
690
780
|
descriptor.type,
|
|
691
|
-
parsed.error.issues.map((
|
|
692
|
-
path:
|
|
693
|
-
message:
|
|
694
|
-
code:
|
|
781
|
+
parsed.error.issues.map((issue2) => ({
|
|
782
|
+
path: issue2.path.map(String),
|
|
783
|
+
message: issue2.message,
|
|
784
|
+
code: issue2.code
|
|
695
785
|
}))
|
|
696
786
|
);
|
|
697
787
|
}
|
|
@@ -702,7 +792,7 @@ var STIMULUS_FIELD_POLICY = {
|
|
|
702
792
|
title: "public",
|
|
703
793
|
body: "public",
|
|
704
794
|
bodyHtml: "public",
|
|
705
|
-
media:
|
|
795
|
+
media: _chunkCVRALNUKcjs.MEDIA_FIELD_POLICY,
|
|
706
796
|
locale: "public",
|
|
707
797
|
attribution: "public",
|
|
708
798
|
transcript: "author-only"
|
|
@@ -728,14 +818,14 @@ function redactItemGroup(group, options = {}) {
|
|
|
728
818
|
redacted: true
|
|
729
819
|
};
|
|
730
820
|
if (reveal === "none") {
|
|
731
|
-
const parsed =
|
|
821
|
+
const parsed = _chunkYVZCFUGPcjs.RedactedItemGroupSchema.safeParse(result);
|
|
732
822
|
if (!parsed.success) {
|
|
733
|
-
throw new (0,
|
|
823
|
+
throw new (0, _chunkCVRALNUKcjs.ActivitySchemaError)(
|
|
734
824
|
"item-group",
|
|
735
|
-
parsed.error.issues.map((
|
|
736
|
-
path:
|
|
737
|
-
message:
|
|
738
|
-
code:
|
|
825
|
+
parsed.error.issues.map((issue2) => ({
|
|
826
|
+
path: issue2.path.map(String),
|
|
827
|
+
message: issue2.message,
|
|
828
|
+
code: issue2.code
|
|
739
829
|
}))
|
|
740
830
|
);
|
|
741
831
|
}
|
|
@@ -744,13 +834,13 @@ function redactItemGroup(group, options = {}) {
|
|
|
744
834
|
}
|
|
745
835
|
function assertRedactedItemGroup(data) {
|
|
746
836
|
if (typeof data !== "object" || data === null) {
|
|
747
|
-
throw new (0,
|
|
837
|
+
throw new (0, _chunkCVRALNUKcjs.ActivitySchemaError)("item-group", [
|
|
748
838
|
{ path: [], message: "Redacted item group must be an object.", code: "invalid_type" }
|
|
749
839
|
]);
|
|
750
840
|
}
|
|
751
841
|
const candidate = data;
|
|
752
842
|
if (candidate.redacted !== true) {
|
|
753
|
-
throw new (0,
|
|
843
|
+
throw new (0, _chunkCVRALNUKcjs.ActivitySchemaError)("item-group", [
|
|
754
844
|
{
|
|
755
845
|
path: ["redacted"],
|
|
756
846
|
message: "Missing redacted marker \u2014 this payload is not a redactItemGroup() projection.",
|
|
@@ -758,14 +848,14 @@ function assertRedactedItemGroup(data) {
|
|
|
758
848
|
}
|
|
759
849
|
]);
|
|
760
850
|
}
|
|
761
|
-
const parsed =
|
|
851
|
+
const parsed = _chunkYVZCFUGPcjs.RedactedItemGroupSchema.safeParse(candidate);
|
|
762
852
|
if (!parsed.success) {
|
|
763
|
-
throw new (0,
|
|
853
|
+
throw new (0, _chunkCVRALNUKcjs.ActivitySchemaError)(
|
|
764
854
|
"item-group",
|
|
765
|
-
parsed.error.issues.map((
|
|
766
|
-
path:
|
|
767
|
-
message:
|
|
768
|
-
code:
|
|
855
|
+
parsed.error.issues.map((issue2) => ({
|
|
856
|
+
path: issue2.path.map(String),
|
|
857
|
+
message: issue2.message,
|
|
858
|
+
code: issue2.code
|
|
769
859
|
}))
|
|
770
860
|
);
|
|
771
861
|
}
|
|
@@ -773,12 +863,12 @@ function assertRedactedItemGroup(data) {
|
|
|
773
863
|
try {
|
|
774
864
|
assertRedacted(item);
|
|
775
865
|
} catch (error) {
|
|
776
|
-
if (error instanceof
|
|
777
|
-
throw new (0,
|
|
866
|
+
if (error instanceof _chunkCVRALNUKcjs.ActivitySchemaError) {
|
|
867
|
+
throw new (0, _chunkCVRALNUKcjs.ActivitySchemaError)(
|
|
778
868
|
"item-group",
|
|
779
|
-
error.errors.map((
|
|
780
|
-
...
|
|
781
|
-
path: ["items", String(index), ...
|
|
869
|
+
error.errors.map((issue2) => ({
|
|
870
|
+
...issue2,
|
|
871
|
+
path: ["items", String(index), ...issue2.path]
|
|
782
872
|
}))
|
|
783
873
|
);
|
|
784
874
|
}
|
|
@@ -872,5 +962,7 @@ function assertRedactedItemGroup(data) {
|
|
|
872
962
|
|
|
873
963
|
|
|
874
964
|
|
|
875
|
-
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
exports.ActivitySchemaError = _chunkCVRALNUKcjs.ActivitySchemaError; exports.BlankConfigSchema = _chunkCVRALNUKcjs.BlankConfigSchema; exports.DEFAULT_PASS_THRESHOLD = _chunkMOLL5KXOcjs.DEFAULT_PASS_THRESHOLD; exports.DeferredScoringError = _chunkCVRALNUKcjs.DeferredScoringError; exports.FeedbackSchema = _chunkCVRALNUKcjs.FeedbackSchema; exports.FillInTheBlanksDataSchema = _chunkCVRALNUKcjs.FillInTheBlanksDataSchema; exports.ItemGroupSchema = _chunkYVZCFUGPcjs.ItemGroupSchema; exports.MediaPlaybackSchema = _chunkCVRALNUKcjs.MediaPlaybackSchema; exports.MediaSchema = _chunkCVRALNUKcjs.MediaSchema; exports.MediaUrlSchema = _chunkCVRALNUKcjs.MediaUrlSchema; exports.MultipleChoiceDataSchema = _chunkCVRALNUKcjs.MultipleChoiceDataSchema; exports.MultipleChoiceOptionSchema = _chunkCVRALNUKcjs.MultipleChoiceOptionSchema; exports.NativeControlHintSchema = _chunkCVRALNUKcjs.NativeControlHintSchema; exports.RedactedBlankConfigSchema = _chunkCVRALNUKcjs.RedactedBlankConfigSchema; exports.RedactedFillInTheBlanksDataSchema = _chunkCVRALNUKcjs.RedactedFillInTheBlanksDataSchema; exports.RedactedItemGroupSchema = _chunkYVZCFUGPcjs.RedactedItemGroupSchema; exports.RedactedMediaSchema = _chunkCVRALNUKcjs.RedactedMediaSchema; exports.RedactedMultipleChoiceDataSchema = _chunkCVRALNUKcjs.RedactedMultipleChoiceDataSchema; exports.RedactedMultipleChoiceOptionSchema = _chunkCVRALNUKcjs.RedactedMultipleChoiceOptionSchema; exports.RedactedScoringError = _chunkCVRALNUKcjs.RedactedScoringError; exports.RedactedStimulusSchema = _chunkYVZCFUGPcjs.RedactedStimulusSchema; exports.RedactedWrittenResponseDataSchema = _chunkCVRALNUKcjs.RedactedWrittenResponseDataSchema; exports.StimulusSchema = _chunkYVZCFUGPcjs.StimulusSchema; exports.TextMatchPolicySchema = _chunkCVRALNUKcjs.TextMatchPolicySchema; exports.UnknownActivityTypeError = _chunkCVRALNUKcjs.UnknownActivityTypeError; exports.WrittenResponseDataSchema = _chunkCVRALNUKcjs.WrittenResponseDataSchema; exports.WrittenResponseRubricCriterionSchema = _chunkCVRALNUKcjs.WrittenResponseRubricCriterionSchema; exports.WrittenResponseRubricSchema = _chunkCVRALNUKcjs.WrittenResponseRubricSchema; exports.XAPIVerb = _chunkRL2PQLCYcjs.XAPIVerb; exports.XAPI_VERB_DISPLAY = _chunkRL2PQLCYcjs.XAPI_VERB_DISPLAY; exports.assertRedacted = assertRedacted; exports.assertRedactedItemGroup = assertRedactedItemGroup; exports.canonicalJson = canonicalJson; exports.classifyBand = _chunkMOLL5KXOcjs.classifyBand; exports.composeAssessmentScore = _chunkMOLL5KXOcjs.composeAssessmentScore; exports.computePassThreshold = _chunkMOLL5KXOcjs.computePassThreshold; exports.contentHash = contentHash; exports.countWords = _chunkCVRALNUKcjs.countWords; exports.createDraft = createDraft; exports.defineActivityType = _chunkCVRALNUKcjs.defineActivityType; exports.diffResponses = diffResponses; exports.entryKeyOf = entryKeyOf; exports.evaluate = _chunkMOLL5KXOcjs.evaluate; exports.fillInTheBlanksJsonSchema = _chunkYVZCFUGPcjs.fillInTheBlanksJsonSchema; exports.fillInTheBlanksType = _chunkCVRALNUKcjs.fillInTheBlanksType; exports.fingerprint = fingerprint; exports.flattenSequence = flattenSequence; exports.getActivityTypeDescriptor = _chunkCVRALNUKcjs.getActivityTypeDescriptor; exports.gradeFromRubric = _chunkMOLL5KXOcjs.gradeFromRubric; exports.gte = _chunkMOLL5KXOcjs.gte; exports.hasGrade = _chunkMOLL5KXOcjs.hasGrade; exports.hashSeed = hashSeed; exports.isItemGroup = isItemGroup; exports.itemGroupJsonSchema = _chunkYVZCFUGPcjs.itemGroupJsonSchema; exports.jsonSchemaFor = _chunkYVZCFUGPcjs.jsonSchemaFor; exports.levenshteinDistance = _chunkCVRALNUKcjs.levenshteinDistance; exports.matchText = _chunkCVRALNUKcjs.matchText; exports.multipleChoiceJsonSchema = _chunkYVZCFUGPcjs.multipleChoiceJsonSchema; exports.multipleChoiceType = _chunkCVRALNUKcjs.multipleChoiceType; exports.outcomeFromGrade = _chunkMOLL5KXOcjs.outcomeFromGrade; exports.planAttempt = planAttempt; exports.planMediaBudgets = planMediaBudgets; exports.redact = redact; exports.redactItemGroup = redactItemGroup; exports.registerActivityType = _chunkCVRALNUKcjs.registerActivityType; exports.registeredActivityTypes = _chunkCVRALNUKcjs.registeredActivityTypes; exports.resolvePlaybackPolicy = resolvePlaybackPolicy; exports.restoreAttemptState = restoreAttemptState; exports.restoreMediaPlayLedger = restoreMediaPlayLedger; exports.roundGrade = _chunkMOLL5KXOcjs.roundGrade; exports.score = _chunkMOLL5KXOcjs.score; exports.scoredItemsFromPlan = scoredItemsFromPlan; exports.seededShuffle = seededShuffle; exports.serializeAttemptState = serializeAttemptState; exports.serializeMediaPlayLedger = serializeMediaPlayLedger; exports.slotMediaKey = slotMediaKey; exports.stimulusJsonSchema = _chunkYVZCFUGPcjs.stimulusJsonSchema; exports.stimulusMediaKey = stimulusMediaKey; exports.validateActivity = _chunkYVZCFUGPcjs.validateActivity; exports.validateDraft = validateDraft; exports.validateItemGroup = _chunkYVZCFUGPcjs.validateItemGroup; exports.validateXAPIStatement = _chunkRL2PQLCYcjs.validateXAPIStatement; exports.verifyAttemptPlan = verifyAttemptPlan; exports.writtenResponseJsonSchema = _chunkYVZCFUGPcjs.writtenResponseJsonSchema; exports.writtenResponseType = _chunkCVRALNUKcjs.writtenResponseType; exports.xAPIBuilder = _chunkRL2PQLCYcjs.xAPIBuilder; exports.xapiDefinitionFor = _chunkRL2PQLCYcjs.xapiDefinitionFor;
|
|
876
968
|
//# sourceMappingURL=index.cjs.map
|