@intellectif/lk-core 0.8.2 → 0.10.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 (48) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +5 -4
  3. package/dist/{activity-CPtJUBek.d.cts → activity-B0zbvu18.d.cts} +177 -2
  4. package/dist/{activity-CPtJUBek.d.ts → activity-B0zbvu18.d.ts} +177 -2
  5. package/dist/{chunk-FVLKIL6W.cjs → chunk-3FEAEO3D.cjs} +18 -13
  6. package/dist/chunk-3FEAEO3D.cjs.map +1 -0
  7. package/dist/chunk-7ODQRNR4.cjs +2009 -0
  8. package/dist/chunk-7ODQRNR4.cjs.map +1 -0
  9. package/dist/chunk-FIS5KBCE.js +2009 -0
  10. package/dist/chunk-FIS5KBCE.js.map +1 -0
  11. package/dist/{chunk-NHGXOOZ2.js → chunk-IXXMYJI7.js} +2 -2
  12. package/dist/{chunk-YJZY5TPY.cjs → chunk-VBM5H6P5.cjs} +8 -8
  13. package/dist/{chunk-YJZY5TPY.cjs.map → chunk-VBM5H6P5.cjs.map} +1 -1
  14. package/dist/{chunk-7ACNBDSF.cjs → chunk-VTTRXGDD.cjs} +4 -4
  15. package/dist/{chunk-7ACNBDSF.cjs.map → chunk-VTTRXGDD.cjs.map} +1 -1
  16. package/dist/{chunk-2M76F32Y.js → chunk-XGCTAQSS.js} +7 -2
  17. package/dist/chunk-XGCTAQSS.js.map +1 -0
  18. package/dist/{chunk-LNA33IK7.js → chunk-ZTY4UIUD.js} +2 -2
  19. package/dist/{index-BvrA8nIV.d.ts → index-DSfETm4b.d.ts} +321 -3
  20. package/dist/{index-gIN564mV.d.cts → index-u_rBLkuc.d.cts} +321 -3
  21. package/dist/index.cjs +156 -42
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.cts +159 -8
  24. package/dist/index.d.ts +159 -8
  25. package/dist/index.js +137 -23
  26. package/dist/index.js.map +1 -1
  27. package/dist/schemas.cjs +25 -3
  28. package/dist/schemas.cjs.map +1 -1
  29. package/dist/schemas.d.cts +2 -2
  30. package/dist/schemas.d.ts +2 -2
  31. package/dist/schemas.js +24 -2
  32. package/dist/scoring.cjs +3 -3
  33. package/dist/scoring.d.cts +2 -2
  34. package/dist/scoring.d.ts +2 -2
  35. package/dist/scoring.js +2 -2
  36. package/dist/xapi.cjs +3 -3
  37. package/dist/xapi.d.cts +1 -1
  38. package/dist/xapi.d.ts +1 -1
  39. package/dist/xapi.js +2 -2
  40. package/package.json +1 -1
  41. package/dist/chunk-2M76F32Y.js.map +0 -1
  42. package/dist/chunk-FKH4YT5X.cjs +0 -748
  43. package/dist/chunk-FKH4YT5X.cjs.map +0 -1
  44. package/dist/chunk-FVLKIL6W.cjs.map +0 -1
  45. package/dist/chunk-HCOWSGEZ.js +0 -748
  46. package/dist/chunk-HCOWSGEZ.js.map +0 -1
  47. /package/dist/{chunk-NHGXOOZ2.js.map → chunk-IXXMYJI7.js.map} +0 -0
  48. /package/dist/{chunk-LNA33IK7.js.map → chunk-ZTY4UIUD.js.map} +0 -0
package/dist/index.cjs CHANGED
@@ -10,14 +10,14 @@
10
10
 
11
11
 
12
12
 
13
- var _chunkYJZY5TPYcjs = require('./chunk-YJZY5TPY.cjs');
13
+ var _chunkVBM5H6P5cjs = require('./chunk-VBM5H6P5.cjs');
14
14
 
15
15
 
16
16
 
17
17
 
18
18
 
19
19
 
20
- var _chunk7ACNBDSFcjs = require('./chunk-7ACNBDSF.cjs');
20
+ var _chunkVTTRXGDDcjs = require('./chunk-VTTRXGDD.cjs');
21
21
 
22
22
 
23
23
 
@@ -31,8 +31,8 @@ var _chunk7ACNBDSFcjs = require('./chunk-7ACNBDSF.cjs');
31
31
 
32
32
 
33
33
 
34
- var _chunkFVLKIL6Wcjs = require('./chunk-FVLKIL6W.cjs');
35
34
 
35
+ var _chunk3FEAEO3Dcjs = require('./chunk-3FEAEO3D.cjs');
36
36
 
37
37
 
38
38
 
@@ -67,7 +67,22 @@ var _chunkFVLKIL6Wcjs = require('./chunk-FVLKIL6W.cjs');
67
67
 
68
68
 
69
69
 
70
- var _chunkFKH4YT5Xcjs = require('./chunk-FKH4YT5X.cjs');
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+ var _chunk7ODQRNR4cjs = require('./chunk-7ODQRNR4.cjs');
71
86
 
72
87
  // src/content-hash.ts
73
88
  function canonicalJson(value, seen = /* @__PURE__ */ new Set()) {
@@ -571,6 +586,92 @@ function diffResponses(before, after) {
571
586
  return entries;
572
587
  }
573
588
 
589
+ // src/authoring/index.ts
590
+ function validateDraft(type, draft) {
591
+ const descriptor = _chunk7ODQRNR4cjs.getActivityTypeDescriptor.call(void 0, type);
592
+ if (descriptor === void 0) {
593
+ throw new (0, _chunk7ODQRNR4cjs.UnknownActivityTypeError)(String(type));
594
+ }
595
+ const reported = _chunk7ODQRNR4cjs.isRecord.call(void 0, draft) && _optionalChain([descriptor, 'access', _16 => _16.authoring, 'optionalAccess', _17 => _17.checkDraft]) !== void 0 ? descriptor.authoring.checkDraft(draft).map(normalise) : [];
596
+ const issues = [...reported];
597
+ const parsed = descriptor.schema.safeParse(draft, { reportInput: true });
598
+ if (!parsed.success) {
599
+ const reportedEmpty = /* @__PURE__ */ new Set();
600
+ for (const schemaIssue of parsed.error.issues) {
601
+ const path = schemaIssue.path.map(String);
602
+ if (reported.some((known) => covers(known.path, path))) {
603
+ continue;
604
+ }
605
+ if (path.length > 0 && _chunk7ODQRNR4cjs.refusesEmpty.call(void 0, draft, schemaIssue)) {
606
+ const key = JSON.stringify(path);
607
+ if (!reportedEmpty.has(key)) {
608
+ reportedEmpty.add(key);
609
+ issues.push(
610
+ _chunk7ODQRNR4cjs.issue.call(void 0,
611
+ "null_not_allowed",
612
+ path,
613
+ 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."
614
+ )
615
+ );
616
+ }
617
+ continue;
618
+ }
619
+ issues.push({
620
+ path,
621
+ message: schemaIssue.message,
622
+ code: schemaIssue.code,
623
+ severity: "invalid"
624
+ });
625
+ }
626
+ }
627
+ if (parsed.success && issues.length === 0) {
628
+ return { status: "complete", data: parsed.data, issues };
629
+ }
630
+ const invalid = issues.some((found) => found.severity !== "incomplete");
631
+ return { status: invalid ? "invalid" : "incomplete", issues };
632
+ }
633
+ function createDraft(type, context) {
634
+ const descriptor = _chunk7ODQRNR4cjs.getActivityTypeDescriptor.call(void 0, type);
635
+ if (descriptor === void 0) {
636
+ throw new (0, _chunk7ODQRNR4cjs.UnknownActivityTypeError)(String(type));
637
+ }
638
+ const create = _optionalChain([descriptor, 'access', _18 => _18.authoring, 'optionalAccess', _19 => _19.createDraft]);
639
+ if (create === void 0) {
640
+ throw new Error(
641
+ `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.`
642
+ );
643
+ }
644
+ const issued = /* @__PURE__ */ new Set();
645
+ const newId = () => {
646
+ const id = context.newId();
647
+ if (typeof id !== "string" || id === "") {
648
+ throw new Error("createDraft: newId() must return a non-empty string.");
649
+ }
650
+ if (issued.has(id)) {
651
+ throw new Error(
652
+ `createDraft: newId() returned "${id}" twice. Ids within one draft must differ \u2014 two options sharing an id cannot be scored apart.`
653
+ );
654
+ }
655
+ issued.add(id);
656
+ return id;
657
+ };
658
+ return create({ newId });
659
+ }
660
+ function normalise(found) {
661
+ const documented = Object.hasOwn(_chunk7ODQRNR4cjs.DRAFT_ISSUE_SEVERITY, found.code) ? _chunk7ODQRNR4cjs.DRAFT_ISSUE_SEVERITY[found.code] : void 0;
662
+ return {
663
+ ...found,
664
+ path: found.path.map(String),
665
+ severity: _nullishCoalesce(documented, () => ( (found.severity === "incomplete" ? "incomplete" : "invalid")))
666
+ };
667
+ }
668
+ function covers(reported, failed) {
669
+ if (failed.length === 0) {
670
+ return reported.length === 0;
671
+ }
672
+ return failed.every((segment, index) => reported[index] === segment);
673
+ }
674
+
574
675
  // src/redact.ts
575
676
  function mergePolicy(base, overrides) {
576
677
  if (overrides === void 0) {
@@ -627,9 +728,9 @@ function redactValue(value, policy, reveal) {
627
728
  }
628
729
  function redact(data, options = {}) {
629
730
  const reveal = _nullishCoalesce(options.reveal, () => ( "none"));
630
- const descriptor = _chunkFKH4YT5Xcjs.getActivityTypeDescriptor.call(void 0, data.type);
731
+ const descriptor = _chunk7ODQRNR4cjs.getActivityTypeDescriptor.call(void 0, data.type);
631
732
  if (descriptor === void 0) {
632
- throw new (0, _chunkFKH4YT5Xcjs.UnknownActivityTypeError)(String(data.type));
733
+ throw new (0, _chunk7ODQRNR4cjs.UnknownActivityTypeError)(String(data.type));
633
734
  }
634
735
  if (descriptor.fieldPolicy === void 0) {
635
736
  throw new Error(
@@ -642,12 +743,12 @@ function redact(data, options = {}) {
642
743
  if (reveal === "none" && descriptor.redactedSchema !== void 0) {
643
744
  const parsed = descriptor.redactedSchema.safeParse(result);
644
745
  if (!parsed.success) {
645
- throw new (0, _chunkFKH4YT5Xcjs.ActivitySchemaError)(
746
+ throw new (0, _chunk7ODQRNR4cjs.ActivitySchemaError)(
646
747
  descriptor.type,
647
- parsed.error.issues.map((issue) => ({
648
- path: issue.path.map(String),
649
- message: issue.message,
650
- code: issue.code
748
+ parsed.error.issues.map((issue2) => ({
749
+ path: issue2.path.map(String),
750
+ message: issue2.message,
751
+ code: issue2.code
651
752
  }))
652
753
  );
653
754
  }
@@ -656,13 +757,13 @@ function redact(data, options = {}) {
656
757
  }
657
758
  function assertRedacted(data) {
658
759
  if (typeof data !== "object" || data === null) {
659
- throw new (0, _chunkFKH4YT5Xcjs.ActivitySchemaError)("unknown", [
760
+ throw new (0, _chunk7ODQRNR4cjs.ActivitySchemaError)("unknown", [
660
761
  { path: [], message: "Redacted activity data must be an object.", code: "invalid_type" }
661
762
  ]);
662
763
  }
663
764
  const candidate = data;
664
765
  if (candidate.redacted !== true) {
665
- throw new (0, _chunkFKH4YT5Xcjs.ActivitySchemaError)(String(_nullishCoalesce(candidate.type, () => ( "unknown"))), [
766
+ throw new (0, _chunk7ODQRNR4cjs.ActivitySchemaError)(String(_nullishCoalesce(candidate.type, () => ( "unknown"))), [
666
767
  {
667
768
  path: ["redacted"],
668
769
  message: "Missing redacted marker \u2014 this payload is not a redact() projection.",
@@ -671,12 +772,12 @@ function assertRedacted(data) {
671
772
  ]);
672
773
  }
673
774
  const type = typeof candidate.type === "string" ? candidate.type : "";
674
- const descriptor = _chunkFKH4YT5Xcjs.getActivityTypeDescriptor.call(void 0, type);
775
+ const descriptor = _chunk7ODQRNR4cjs.getActivityTypeDescriptor.call(void 0, type);
675
776
  if (descriptor === void 0) {
676
- throw new (0, _chunkFKH4YT5Xcjs.UnknownActivityTypeError)(type);
777
+ throw new (0, _chunk7ODQRNR4cjs.UnknownActivityTypeError)(type);
677
778
  }
678
779
  if (descriptor.redactedSchema === void 0) {
679
- throw new (0, _chunkFKH4YT5Xcjs.ActivitySchemaError)(descriptor.type, [
780
+ throw new (0, _chunk7ODQRNR4cjs.ActivitySchemaError)(descriptor.type, [
680
781
  {
681
782
  path: [],
682
783
  message: `Activity type "${descriptor.type}" registers no redactedSchema; assertRedacted cannot prove this payload is learner-safe.`,
@@ -686,12 +787,12 @@ function assertRedacted(data) {
686
787
  }
687
788
  const parsed = descriptor.redactedSchema.safeParse(candidate);
688
789
  if (!parsed.success) {
689
- throw new (0, _chunkFKH4YT5Xcjs.ActivitySchemaError)(
790
+ throw new (0, _chunk7ODQRNR4cjs.ActivitySchemaError)(
690
791
  descriptor.type,
691
- parsed.error.issues.map((issue) => ({
692
- path: issue.path.map(String),
693
- message: issue.message,
694
- code: issue.code
792
+ parsed.error.issues.map((issue2) => ({
793
+ path: issue2.path.map(String),
794
+ message: issue2.message,
795
+ code: issue2.code
695
796
  }))
696
797
  );
697
798
  }
@@ -702,7 +803,7 @@ var STIMULUS_FIELD_POLICY = {
702
803
  title: "public",
703
804
  body: "public",
704
805
  bodyHtml: "public",
705
- media: _chunkFKH4YT5Xcjs.MEDIA_FIELD_POLICY,
806
+ media: _chunk7ODQRNR4cjs.MEDIA_FIELD_POLICY,
706
807
  locale: "public",
707
808
  attribution: "public",
708
809
  transcript: "author-only"
@@ -728,14 +829,14 @@ function redactItemGroup(group, options = {}) {
728
829
  redacted: true
729
830
  };
730
831
  if (reveal === "none") {
731
- const parsed = _chunkFVLKIL6Wcjs.RedactedItemGroupSchema.safeParse(result);
832
+ const parsed = _chunk3FEAEO3Dcjs.RedactedItemGroupSchema.safeParse(result);
732
833
  if (!parsed.success) {
733
- throw new (0, _chunkFKH4YT5Xcjs.ActivitySchemaError)(
834
+ throw new (0, _chunk7ODQRNR4cjs.ActivitySchemaError)(
734
835
  "item-group",
735
- parsed.error.issues.map((issue) => ({
736
- path: issue.path.map(String),
737
- message: issue.message,
738
- code: issue.code
836
+ parsed.error.issues.map((issue2) => ({
837
+ path: issue2.path.map(String),
838
+ message: issue2.message,
839
+ code: issue2.code
739
840
  }))
740
841
  );
741
842
  }
@@ -744,13 +845,13 @@ function redactItemGroup(group, options = {}) {
744
845
  }
745
846
  function assertRedactedItemGroup(data) {
746
847
  if (typeof data !== "object" || data === null) {
747
- throw new (0, _chunkFKH4YT5Xcjs.ActivitySchemaError)("item-group", [
848
+ throw new (0, _chunk7ODQRNR4cjs.ActivitySchemaError)("item-group", [
748
849
  { path: [], message: "Redacted item group must be an object.", code: "invalid_type" }
749
850
  ]);
750
851
  }
751
852
  const candidate = data;
752
853
  if (candidate.redacted !== true) {
753
- throw new (0, _chunkFKH4YT5Xcjs.ActivitySchemaError)("item-group", [
854
+ throw new (0, _chunk7ODQRNR4cjs.ActivitySchemaError)("item-group", [
754
855
  {
755
856
  path: ["redacted"],
756
857
  message: "Missing redacted marker \u2014 this payload is not a redactItemGroup() projection.",
@@ -758,14 +859,14 @@ function assertRedactedItemGroup(data) {
758
859
  }
759
860
  ]);
760
861
  }
761
- const parsed = _chunkFVLKIL6Wcjs.RedactedItemGroupSchema.safeParse(candidate);
862
+ const parsed = _chunk3FEAEO3Dcjs.RedactedItemGroupSchema.safeParse(candidate);
762
863
  if (!parsed.success) {
763
- throw new (0, _chunkFKH4YT5Xcjs.ActivitySchemaError)(
864
+ throw new (0, _chunk7ODQRNR4cjs.ActivitySchemaError)(
764
865
  "item-group",
765
- parsed.error.issues.map((issue) => ({
766
- path: issue.path.map(String),
767
- message: issue.message,
768
- code: issue.code
866
+ parsed.error.issues.map((issue2) => ({
867
+ path: issue2.path.map(String),
868
+ message: issue2.message,
869
+ code: issue2.code
769
870
  }))
770
871
  );
771
872
  }
@@ -773,12 +874,12 @@ function assertRedactedItemGroup(data) {
773
874
  try {
774
875
  assertRedacted(item);
775
876
  } catch (error) {
776
- if (error instanceof _chunkFKH4YT5Xcjs.ActivitySchemaError) {
777
- throw new (0, _chunkFKH4YT5Xcjs.ActivitySchemaError)(
877
+ if (error instanceof _chunk7ODQRNR4cjs.ActivitySchemaError) {
878
+ throw new (0, _chunk7ODQRNR4cjs.ActivitySchemaError)(
778
879
  "item-group",
779
- error.errors.map((issue) => ({
780
- ...issue,
781
- path: ["items", String(index), ...issue.path]
880
+ error.errors.map((issue2) => ({
881
+ ...issue2,
882
+ path: ["items", String(index), ...issue2.path]
782
883
  }))
783
884
  );
784
885
  }
@@ -872,5 +973,18 @@ function assertRedactedItemGroup(data) {
872
973
 
873
974
 
874
975
 
875
- exports.ActivitySchemaError = _chunkFKH4YT5Xcjs.ActivitySchemaError; exports.BlankConfigSchema = _chunkFKH4YT5Xcjs.BlankConfigSchema; exports.DEFAULT_PASS_THRESHOLD = _chunkYJZY5TPYcjs.DEFAULT_PASS_THRESHOLD; exports.DeferredScoringError = _chunkFKH4YT5Xcjs.DeferredScoringError; exports.FeedbackSchema = _chunkFKH4YT5Xcjs.FeedbackSchema; exports.FillInTheBlanksDataSchema = _chunkFKH4YT5Xcjs.FillInTheBlanksDataSchema; exports.ItemGroupSchema = _chunkFVLKIL6Wcjs.ItemGroupSchema; exports.MediaPlaybackSchema = _chunkFKH4YT5Xcjs.MediaPlaybackSchema; exports.MediaSchema = _chunkFKH4YT5Xcjs.MediaSchema; exports.MediaUrlSchema = _chunkFKH4YT5Xcjs.MediaUrlSchema; exports.MultipleChoiceDataSchema = _chunkFKH4YT5Xcjs.MultipleChoiceDataSchema; exports.MultipleChoiceOptionSchema = _chunkFKH4YT5Xcjs.MultipleChoiceOptionSchema; exports.NativeControlHintSchema = _chunkFKH4YT5Xcjs.NativeControlHintSchema; exports.RedactedBlankConfigSchema = _chunkFKH4YT5Xcjs.RedactedBlankConfigSchema; exports.RedactedFillInTheBlanksDataSchema = _chunkFKH4YT5Xcjs.RedactedFillInTheBlanksDataSchema; exports.RedactedItemGroupSchema = _chunkFVLKIL6Wcjs.RedactedItemGroupSchema; exports.RedactedMediaSchema = _chunkFKH4YT5Xcjs.RedactedMediaSchema; exports.RedactedMultipleChoiceDataSchema = _chunkFKH4YT5Xcjs.RedactedMultipleChoiceDataSchema; exports.RedactedMultipleChoiceOptionSchema = _chunkFKH4YT5Xcjs.RedactedMultipleChoiceOptionSchema; exports.RedactedScoringError = _chunkFKH4YT5Xcjs.RedactedScoringError; exports.RedactedStimulusSchema = _chunkFVLKIL6Wcjs.RedactedStimulusSchema; exports.RedactedWrittenResponseDataSchema = _chunkFKH4YT5Xcjs.RedactedWrittenResponseDataSchema; exports.StimulusSchema = _chunkFVLKIL6Wcjs.StimulusSchema; exports.TextMatchPolicySchema = _chunkFKH4YT5Xcjs.TextMatchPolicySchema; exports.UnknownActivityTypeError = _chunkFKH4YT5Xcjs.UnknownActivityTypeError; exports.WrittenResponseDataSchema = _chunkFKH4YT5Xcjs.WrittenResponseDataSchema; exports.WrittenResponseRubricCriterionSchema = _chunkFKH4YT5Xcjs.WrittenResponseRubricCriterionSchema; exports.WrittenResponseRubricSchema = _chunkFKH4YT5Xcjs.WrittenResponseRubricSchema; exports.XAPIVerb = _chunk7ACNBDSFcjs.XAPIVerb; exports.XAPI_VERB_DISPLAY = _chunk7ACNBDSFcjs.XAPI_VERB_DISPLAY; exports.assertRedacted = assertRedacted; exports.assertRedactedItemGroup = assertRedactedItemGroup; exports.canonicalJson = canonicalJson; exports.classifyBand = _chunkYJZY5TPYcjs.classifyBand; exports.composeAssessmentScore = _chunkYJZY5TPYcjs.composeAssessmentScore; exports.computePassThreshold = _chunkYJZY5TPYcjs.computePassThreshold; exports.contentHash = contentHash; exports.countWords = _chunkFKH4YT5Xcjs.countWords; exports.defineActivityType = _chunkFKH4YT5Xcjs.defineActivityType; exports.diffResponses = diffResponses; exports.entryKeyOf = entryKeyOf; exports.evaluate = _chunkYJZY5TPYcjs.evaluate; exports.fillInTheBlanksJsonSchema = _chunkFVLKIL6Wcjs.fillInTheBlanksJsonSchema; exports.fillInTheBlanksType = _chunkFKH4YT5Xcjs.fillInTheBlanksType; exports.fingerprint = fingerprint; exports.flattenSequence = flattenSequence; exports.getActivityTypeDescriptor = _chunkFKH4YT5Xcjs.getActivityTypeDescriptor; exports.gradeFromRubric = _chunkYJZY5TPYcjs.gradeFromRubric; exports.gte = _chunkYJZY5TPYcjs.gte; exports.hasGrade = _chunkYJZY5TPYcjs.hasGrade; exports.hashSeed = hashSeed; exports.isItemGroup = isItemGroup; exports.itemGroupJsonSchema = _chunkFVLKIL6Wcjs.itemGroupJsonSchema; exports.jsonSchemaFor = _chunkFVLKIL6Wcjs.jsonSchemaFor; exports.levenshteinDistance = _chunkFKH4YT5Xcjs.levenshteinDistance; exports.matchText = _chunkFKH4YT5Xcjs.matchText; exports.multipleChoiceJsonSchema = _chunkFVLKIL6Wcjs.multipleChoiceJsonSchema; exports.multipleChoiceType = _chunkFKH4YT5Xcjs.multipleChoiceType; exports.outcomeFromGrade = _chunkYJZY5TPYcjs.outcomeFromGrade; exports.planAttempt = planAttempt; exports.planMediaBudgets = planMediaBudgets; exports.redact = redact; exports.redactItemGroup = redactItemGroup; exports.registerActivityType = _chunkFKH4YT5Xcjs.registerActivityType; exports.registeredActivityTypes = _chunkFKH4YT5Xcjs.registeredActivityTypes; exports.resolvePlaybackPolicy = resolvePlaybackPolicy; exports.restoreAttemptState = restoreAttemptState; exports.restoreMediaPlayLedger = restoreMediaPlayLedger; exports.roundGrade = _chunkYJZY5TPYcjs.roundGrade; exports.score = _chunkYJZY5TPYcjs.score; exports.scoredItemsFromPlan = scoredItemsFromPlan; exports.seededShuffle = seededShuffle; exports.serializeAttemptState = serializeAttemptState; exports.serializeMediaPlayLedger = serializeMediaPlayLedger; exports.slotMediaKey = slotMediaKey; exports.stimulusJsonSchema = _chunkFVLKIL6Wcjs.stimulusJsonSchema; exports.stimulusMediaKey = stimulusMediaKey; exports.validateActivity = _chunkFVLKIL6Wcjs.validateActivity; exports.validateItemGroup = _chunkFVLKIL6Wcjs.validateItemGroup; exports.validateXAPIStatement = _chunk7ACNBDSFcjs.validateXAPIStatement; exports.verifyAttemptPlan = verifyAttemptPlan; exports.writtenResponseJsonSchema = _chunkFVLKIL6Wcjs.writtenResponseJsonSchema; exports.writtenResponseType = _chunkFKH4YT5Xcjs.writtenResponseType; exports.xAPIBuilder = _chunk7ACNBDSFcjs.xAPIBuilder; exports.xapiDefinitionFor = _chunk7ACNBDSFcjs.xapiDefinitionFor;
976
+
977
+
978
+
979
+
980
+
981
+
982
+
983
+
984
+
985
+
986
+
987
+
988
+
989
+ exports.ActivitySchemaError = _chunk7ODQRNR4cjs.ActivitySchemaError; exports.BlankConfigSchema = _chunk7ODQRNR4cjs.BlankConfigSchema; exports.DEFAULT_PASS_THRESHOLD = _chunkVBM5H6P5cjs.DEFAULT_PASS_THRESHOLD; exports.DeferredScoringError = _chunk7ODQRNR4cjs.DeferredScoringError; exports.FeedbackSchema = _chunk7ODQRNR4cjs.FeedbackSchema; exports.FillInTheBlanksDataSchema = _chunk7ODQRNR4cjs.FillInTheBlanksDataSchema; exports.GapSelectBankSchema = _chunk7ODQRNR4cjs.GapSelectBankSchema; exports.GapSelectChoiceSchema = _chunk7ODQRNR4cjs.GapSelectChoiceSchema; exports.GapSelectDataSchema = _chunk7ODQRNR4cjs.GapSelectDataSchema; exports.GapSelectGapSchema = _chunk7ODQRNR4cjs.GapSelectGapSchema; exports.ItemGroupSchema = _chunk3FEAEO3Dcjs.ItemGroupSchema; exports.MediaPlaybackSchema = _chunk7ODQRNR4cjs.MediaPlaybackSchema; exports.MediaSchema = _chunk7ODQRNR4cjs.MediaSchema; exports.MediaUrlSchema = _chunk7ODQRNR4cjs.MediaUrlSchema; exports.MultipleChoiceDataSchema = _chunk7ODQRNR4cjs.MultipleChoiceDataSchema; exports.MultipleChoiceOptionMediaSchema = _chunk7ODQRNR4cjs.MultipleChoiceOptionMediaSchema; exports.MultipleChoiceOptionSchema = _chunk7ODQRNR4cjs.MultipleChoiceOptionSchema; exports.NativeControlHintSchema = _chunk7ODQRNR4cjs.NativeControlHintSchema; exports.RedactedBlankConfigSchema = _chunk7ODQRNR4cjs.RedactedBlankConfigSchema; exports.RedactedFillInTheBlanksDataSchema = _chunk7ODQRNR4cjs.RedactedFillInTheBlanksDataSchema; exports.RedactedGapSelectBankSchema = _chunk7ODQRNR4cjs.RedactedGapSelectBankSchema; exports.RedactedGapSelectChoiceSchema = _chunk7ODQRNR4cjs.RedactedGapSelectChoiceSchema; exports.RedactedGapSelectDataSchema = _chunk7ODQRNR4cjs.RedactedGapSelectDataSchema; exports.RedactedGapSelectGapSchema = _chunk7ODQRNR4cjs.RedactedGapSelectGapSchema; exports.RedactedItemGroupSchema = _chunk3FEAEO3Dcjs.RedactedItemGroupSchema; exports.RedactedMediaSchema = _chunk7ODQRNR4cjs.RedactedMediaSchema; exports.RedactedMultipleChoiceDataSchema = _chunk7ODQRNR4cjs.RedactedMultipleChoiceDataSchema; exports.RedactedMultipleChoiceOptionMediaSchema = _chunk7ODQRNR4cjs.RedactedMultipleChoiceOptionMediaSchema; exports.RedactedMultipleChoiceOptionSchema = _chunk7ODQRNR4cjs.RedactedMultipleChoiceOptionSchema; exports.RedactedScoringError = _chunk7ODQRNR4cjs.RedactedScoringError; exports.RedactedStimulusSchema = _chunk3FEAEO3Dcjs.RedactedStimulusSchema; exports.RedactedWrittenResponseDataSchema = _chunk7ODQRNR4cjs.RedactedWrittenResponseDataSchema; exports.StimulusSchema = _chunk3FEAEO3Dcjs.StimulusSchema; exports.TextMatchPolicySchema = _chunk7ODQRNR4cjs.TextMatchPolicySchema; exports.UnknownActivityTypeError = _chunk7ODQRNR4cjs.UnknownActivityTypeError; exports.WrittenResponseDataSchema = _chunk7ODQRNR4cjs.WrittenResponseDataSchema; exports.WrittenResponseRubricCriterionSchema = _chunk7ODQRNR4cjs.WrittenResponseRubricCriterionSchema; exports.WrittenResponseRubricSchema = _chunk7ODQRNR4cjs.WrittenResponseRubricSchema; exports.XAPIVerb = _chunkVTTRXGDDcjs.XAPIVerb; exports.XAPI_VERB_DISPLAY = _chunkVTTRXGDDcjs.XAPI_VERB_DISPLAY; exports.assertRedacted = assertRedacted; exports.assertRedactedItemGroup = assertRedactedItemGroup; exports.canonicalJson = canonicalJson; exports.classifyBand = _chunkVBM5H6P5cjs.classifyBand; exports.composeAssessmentScore = _chunkVBM5H6P5cjs.composeAssessmentScore; exports.computePassThreshold = _chunkVBM5H6P5cjs.computePassThreshold; exports.contentHash = contentHash; exports.countWords = _chunk7ODQRNR4cjs.countWords; exports.createDraft = createDraft; exports.defineActivityType = _chunk7ODQRNR4cjs.defineActivityType; exports.diffResponses = diffResponses; exports.entryKeyOf = entryKeyOf; exports.evaluate = _chunkVBM5H6P5cjs.evaluate; exports.fillInTheBlanksJsonSchema = _chunk3FEAEO3Dcjs.fillInTheBlanksJsonSchema; exports.fillInTheBlanksType = _chunk7ODQRNR4cjs.fillInTheBlanksType; exports.fingerprint = fingerprint; exports.flattenSequence = flattenSequence; exports.gapSelectJsonSchema = _chunk3FEAEO3Dcjs.gapSelectJsonSchema; exports.getActivityTypeDescriptor = _chunk7ODQRNR4cjs.getActivityTypeDescriptor; exports.gradeFromRubric = _chunkVBM5H6P5cjs.gradeFromRubric; exports.gte = _chunkVBM5H6P5cjs.gte; exports.hasGrade = _chunkVBM5H6P5cjs.hasGrade; exports.hashSeed = hashSeed; exports.isItemGroup = isItemGroup; exports.itemGroupJsonSchema = _chunk3FEAEO3Dcjs.itemGroupJsonSchema; exports.jsonSchemaFor = _chunk3FEAEO3Dcjs.jsonSchemaFor; exports.levenshteinDistance = _chunk7ODQRNR4cjs.levenshteinDistance; exports.matchText = _chunk7ODQRNR4cjs.matchText; exports.multipleChoiceJsonSchema = _chunk3FEAEO3Dcjs.multipleChoiceJsonSchema; exports.multipleChoiceType = _chunk7ODQRNR4cjs.multipleChoiceType; exports.outcomeFromGrade = _chunkVBM5H6P5cjs.outcomeFromGrade; exports.planAttempt = planAttempt; exports.planMediaBudgets = planMediaBudgets; exports.redact = redact; exports.redactItemGroup = redactItemGroup; exports.registerActivityType = _chunk7ODQRNR4cjs.registerActivityType; exports.registeredActivityTypes = _chunk7ODQRNR4cjs.registeredActivityTypes; exports.resolvePlaybackPolicy = resolvePlaybackPolicy; exports.restoreAttemptState = restoreAttemptState; exports.restoreMediaPlayLedger = restoreMediaPlayLedger; exports.roundGrade = _chunkVBM5H6P5cjs.roundGrade; exports.score = _chunkVBM5H6P5cjs.score; exports.scoredItemsFromPlan = scoredItemsFromPlan; exports.seededShuffle = seededShuffle; exports.serializeAttemptState = serializeAttemptState; exports.serializeMediaPlayLedger = serializeMediaPlayLedger; exports.slotMediaKey = slotMediaKey; exports.stimulusJsonSchema = _chunk3FEAEO3Dcjs.stimulusJsonSchema; exports.stimulusMediaKey = stimulusMediaKey; exports.validateActivity = _chunk3FEAEO3Dcjs.validateActivity; exports.validateDraft = validateDraft; exports.validateItemGroup = _chunk3FEAEO3Dcjs.validateItemGroup; exports.validateXAPIStatement = _chunkVTTRXGDDcjs.validateXAPIStatement; exports.verifyAttemptPlan = verifyAttemptPlan; exports.writtenResponseJsonSchema = _chunk3FEAEO3Dcjs.writtenResponseJsonSchema; exports.writtenResponseType = _chunk7ODQRNR4cjs.writtenResponseType; exports.xAPIBuilder = _chunkVTTRXGDDcjs.xAPIBuilder; exports.xapiDefinitionFor = _chunkVTTRXGDDcjs.xapiDefinitionFor;
876
990
  //# sourceMappingURL=index.cjs.map