@intellectif/lk-core 1.7.0 → 1.8.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 (80) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/{ai-B1wYrqcB.d.cts → ai-Cnm0qE8v.d.cts} +296 -2
  3. package/dist/ai-Cnm0qE8v.d.cts.map +1 -0
  4. package/dist/{ai-B1wYrqcB.d.ts → ai-Cnm0qE8v.d.ts} +296 -2
  5. package/dist/ai-Cnm0qE8v.d.ts.map +1 -0
  6. package/dist/ai-check.cjs +77 -3
  7. package/dist/ai-check.cjs.map +1 -1
  8. package/dist/ai-check.d.cts +11 -3
  9. package/dist/ai-check.d.cts.map +1 -1
  10. package/dist/ai-check.d.ts +11 -3
  11. package/dist/ai-check.d.ts.map +1 -1
  12. package/dist/ai-check.js +77 -3
  13. package/dist/ai-check.js.map +1 -1
  14. package/dist/{ai-writing-DrPTV3R2.cjs → ai-writing-Bh2Y53cY.cjs} +2539 -178
  15. package/dist/ai-writing-Bh2Y53cY.cjs.map +1 -0
  16. package/dist/{ai-writing-B7oMCt66.js → ai-writing-DeIV-GfN.js} +2389 -136
  17. package/dist/ai-writing-DeIV-GfN.js.map +1 -0
  18. package/dist/{index-BU99GFTl.d.ts → index-CtoPhJAH.d.ts} +2 -2
  19. package/dist/{index-BU99GFTl.d.ts.map → index-CtoPhJAH.d.ts.map} +1 -1
  20. package/dist/{index-XCCoPoTU.d.cts → index-DMh3OYSb.d.cts} +2 -2
  21. package/dist/{index-XCCoPoTU.d.cts.map → index-DMh3OYSb.d.cts.map} +1 -1
  22. package/dist/{index-BdXs4-en.d.ts → index-HXvg0YRQ.d.ts} +2 -2
  23. package/dist/{index-BdXs4-en.d.ts.map → index-HXvg0YRQ.d.ts.map} +1 -1
  24. package/dist/{index-DP9rvyOz.d.cts → index-fZ67k-WR.d.cts} +2 -2
  25. package/dist/{index-DP9rvyOz.d.cts.map → index-fZ67k-WR.d.cts.map} +1 -1
  26. package/dist/{index-BTkMQtws.d.ts → index-g-EWIugp.d.ts} +2 -2
  27. package/dist/{index-BTkMQtws.d.ts.map → index-g-EWIugp.d.ts.map} +1 -1
  28. package/dist/{index-BM8LeDWn.d.cts → index-oST8GBFa.d.cts} +2 -2
  29. package/dist/{index-BM8LeDWn.d.cts.map → index-oST8GBFa.d.cts.map} +1 -1
  30. package/dist/index.cjs +280 -6
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.d.cts +227 -5
  33. package/dist/index.d.cts.map +1 -1
  34. package/dist/index.d.ts +227 -5
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +269 -7
  37. package/dist/index.js.map +1 -1
  38. package/dist/{item-group-CeDk7mfM.js → item-group-BceUoxoM.js} +2 -2
  39. package/dist/{item-group-CeDk7mfM.js.map → item-group-BceUoxoM.js.map} +1 -1
  40. package/dist/{item-group-8P3WFuUK.cjs → item-group-KV4hYu3a.cjs} +2 -2
  41. package/dist/{item-group-8P3WFuUK.cjs.map → item-group-KV4hYu3a.cjs.map} +1 -1
  42. package/dist/{registry-hzrkTeIT.cjs → registry-Cymq7Ah0.cjs} +37 -2
  43. package/dist/registry-Cymq7Ah0.cjs.map +1 -0
  44. package/dist/{registry-D92hz9iA.js → registry-tkacvJUI.js} +20 -3
  45. package/dist/registry-tkacvJUI.js.map +1 -0
  46. package/dist/{schemas-C7TViWCg.js → schemas-DM8sN_f0.js} +3 -3
  47. package/dist/{schemas-C7TViWCg.js.map → schemas-DM8sN_f0.js.map} +1 -1
  48. package/dist/{schemas-BWeskONy.cjs → schemas-wDzbKdKa.cjs} +3 -3
  49. package/dist/{schemas-BWeskONy.cjs.map → schemas-wDzbKdKa.cjs.map} +1 -1
  50. package/dist/schemas.cjs +3 -3
  51. package/dist/schemas.d.cts +1 -1
  52. package/dist/schemas.d.ts +1 -1
  53. package/dist/schemas.js +3 -3
  54. package/dist/{scoring-CtkCFyFT.cjs → scoring-D9tFvPEG.cjs} +2 -2
  55. package/dist/{scoring-CtkCFyFT.cjs.map → scoring-D9tFvPEG.cjs.map} +1 -1
  56. package/dist/{scoring-DD1GHcLI.js → scoring-DIBmo_cy.js} +2 -2
  57. package/dist/{scoring-DD1GHcLI.js.map → scoring-DIBmo_cy.js.map} +1 -1
  58. package/dist/scoring.cjs +2 -2
  59. package/dist/scoring.d.cts +2 -2
  60. package/dist/scoring.d.ts +2 -2
  61. package/dist/scoring.js +2 -2
  62. package/dist/{xapi-7btSpx6v.cjs → xapi-Dyqcl3JK.cjs} +2 -2
  63. package/dist/{xapi-7btSpx6v.cjs.map → xapi-Dyqcl3JK.cjs.map} +1 -1
  64. package/dist/{xapi-Cgicg-zU.js → xapi-gCAo549Q.js} +2 -2
  65. package/dist/{xapi-Cgicg-zU.js.map → xapi-gCAo549Q.js.map} +1 -1
  66. package/dist/xapi.cjs +1 -1
  67. package/dist/xapi.d.cts +1 -1
  68. package/dist/xapi.d.ts +1 -1
  69. package/dist/xapi.js +1 -1
  70. package/package.json +2 -2
  71. package/vectors/README.md +23 -0
  72. package/vectors/variants.d.mts +20 -0
  73. package/vectors/variants.json +5753 -0
  74. package/vectors/variants.mjs +67 -0
  75. package/dist/ai-B1wYrqcB.d.cts.map +0 -1
  76. package/dist/ai-B1wYrqcB.d.ts.map +0 -1
  77. package/dist/ai-writing-B7oMCt66.js.map +0 -1
  78. package/dist/ai-writing-DrPTV3R2.cjs.map +0 -1
  79. package/dist/registry-D92hz9iA.js.map +0 -1
  80. package/dist/registry-hzrkTeIT.cjs.map +0 -1
@@ -3035,6 +3035,7 @@ const ITEM_FINDING_SEVERITY = {
3035
3035
  fib_hint_reveals_answer: "warning",
3036
3036
  fib_answer_in_passage: "warning",
3037
3037
  fib_accepted_answer_redundant: "advice",
3038
+ fib_tolerance_spans_words: "advice",
3038
3039
  gs_title_reveals_answer: "warning",
3039
3040
  gs_choices_duplicate: "warning",
3040
3041
  gs_bank_no_distractor: "warning",
@@ -3045,7 +3046,12 @@ const ITEM_FINDING_SEVERITY = {
3045
3046
  media_transcript_unused: "advice",
3046
3047
  media_script_differs: "warning",
3047
3048
  media_transcript_differs: "warning",
3048
- set_key_position_same: "warning"
3049
+ set_key_position_same: "warning",
3050
+ set_key_position_bias: "warning",
3051
+ set_key_longest_bias: "warning",
3052
+ set_stem_duplicate: "warning",
3053
+ set_item_answers_item: "warning",
3054
+ set_key_repeated: "advice"
3049
3055
  };
3050
3056
  function finding(code, path, message) {
3051
3057
  return {
@@ -3235,6 +3241,17 @@ function critiqueFillInTheBlanks(draft) {
3235
3241
  laterIndex
3236
3242
  ], `"${laterText}" is already accepted as "${accepted[earlier]}" under this blank's matching.`));
3237
3243
  });
3244
+ const forgiven = policyFor(blank).levenshtein ?? 0;
3245
+ const spanning = accepted.findIndex((answer) => {
3246
+ const text = written(answer);
3247
+ return text !== void 0 && /\s/.test(text.trim());
3248
+ });
3249
+ if (forgiven > 0 && spanning !== -1) findings.push(finding("fib_tolerance_spans_words", [
3250
+ "blanks",
3251
+ index,
3252
+ "acceptedAnswers",
3253
+ spanning
3254
+ ], `Blank ${ordinal(index)} forgives ${forgiven === 1 ? "one edit" : `${forgiven} edits`} over an answer of several words, so "${accepted[spanning]}" with one word in another form is marked right. Make it a one-word blank, or take the tolerance off.`));
3238
3255
  });
3239
3256
  return findings;
3240
3257
  }
@@ -5612,6 +5629,6 @@ function getActivityTypeDescriptor(type) {
5612
5629
  function registeredActivityTypes() {
5613
5630
  return [...registry.keys()];
5614
5631
  }
5615
- export { DeferredScoringError as $, normaliseFinding as A, coveredPathsOf as B, READ_ALOUD_MAX_TAKES as C, MediaSchema as Ct, MultipleChoiceOptionMediaSchema as D, maxUnits as Dt, MultipleChoiceDataSchema as E, ScriptSchema as Et, levelKey as F, isUnwritten as G, isMissingId as H, readRubricLevels as I, refusesEmpty as J, issue as K, countWords as L, matchText as M, LEVEL_PROBABILITY_TOLERANCE as N, keyPositionFinding as O, levelDistribution as P, ActivitySchemaError as Q, DRAFT_ISSUE_SEVERITY as R, READ_ALOUD_MAX_SECONDS as S, FillInTheBlanksDataSchema as St, SPEECH_ASSESSMENT_MAX_WORDS as T, SCRIPT_MAX_TURNS as Tt, isRecord as U, covers as V, isUnset as W, GROUP_CAPTIONS_REVEAL_DICTATION as X, DictationDataSchema as Y, groupCaptionsField as Z, GapSelectDataSchema as _, containsWords as _t, readSchema as a, dictationReferenceWords as at, READ_ALOUD_MAX_DIMENSION_WEIGHT as b, placeholderOrder as bt, dictationType as c, DICTATION_MAX_EQUIVALENCE_LENGTH as ct, multipleChoiceType as d, codePointLength as dt, RedactedScoringError as et, readAloudType as f, normalizeDictationText as ft, WrittenResponseDataSchema as g, isBuiltInActivityType as gt, defineActivityType as h, everyBuiltInTypeHandled as ht, isOwnSchema as i, alignSequences as it, levenshteinDistance as j, finding as k, fillInTheBlanksType as l, DICTATION_MAX_TEXT_LENGTH as lt, guardOf as m, BUILT_IN_ACTIVITY_TYPES as mt, registerActivityType as n, STEP as nt, standardJsonSchemaOf as o, DICTATION_MAX_ACCEPTED_TRANSCRIPTS as ot, writtenResponseType as p, withValidationScope as pt, pathKey as q, registeredActivityTypes as r, alignDictation as rt, MEDIA_FIELD_POLICY as s, DICTATION_MAX_EQUIVALENCES as st, getActivityTypeDescriptor as t, UnknownActivityTypeError as tt, gapSelectType as u, DICTATION_MAX_TRANSCRIPT_LENGTH as ut, ReadAloudDataSchema as v, fold as vt, SPEECH_ASSESSMENT_MAX_TEXT_LENGTH as w, RedactedMediaSchema as wt, READ_ALOUD_MAX_REFERENCE_LENGTH as x, revealsAnswer as xt, CANONICAL_LOCALE_RE as y, numberedPassage as yt, checkMedia as z };
5632
+ export { ActivitySchemaError as $, normaliseFinding as A, maxUnits as At, checkMedia as B, READ_ALOUD_MAX_TAKES as C, revealsAnswer as Ct, MultipleChoiceOptionMediaSchema as D, RedactedMediaSchema as Dt, MultipleChoiceDataSchema as E, MediaSchema as Et, levelDistribution as F, isUnset as G, covers as H, levelKey as I, pathKey as J, isUnwritten as K, readRubricLevels as L, levenshteinDistance as M, matchText as N, keyPositionFinding as O, SCRIPT_MAX_TURNS as Ot, LEVEL_PROBABILITY_TOLERANCE as P, groupCaptionsField as Q, countWords as R, READ_ALOUD_MAX_SECONDS as S, placeholderOrder as St, SPEECH_ASSESSMENT_MAX_WORDS as T, PLACEHOLDER_RE as Tt, isMissingId as U, coveredPathsOf as V, isRecord as W, DictationDataSchema as X, refusesEmpty as Y, GROUP_CAPTIONS_REVEAL_DICTATION as Z, GapSelectDataSchema as _, isBuiltInActivityType as _t, readSchema as a, alignSequences as at, READ_ALOUD_MAX_DIMENSION_WEIGHT as b, numberedPassage as bt, dictationType as c, DICTATION_MAX_EQUIVALENCES as ct, multipleChoiceType as d, DICTATION_MAX_TRANSCRIPT_LENGTH as dt, DeferredScoringError as et, readAloudType as f, codePointLength as ft, WrittenResponseDataSchema as g, everyBuiltInTypeHandled as gt, defineActivityType as h, BUILT_IN_ACTIVITY_TYPES as ht, isOwnSchema as i, alignDictation as it, policyFor as j, finding as k, ScriptSchema as kt, fillInTheBlanksType as l, DICTATION_MAX_EQUIVALENCE_LENGTH as lt, guardOf as m, withValidationScope as mt, registerActivityType as n, UnknownActivityTypeError as nt, standardJsonSchemaOf as o, dictationReferenceWords as ot, writtenResponseType as p, normalizeDictationText as pt, issue as q, registeredActivityTypes as r, STEP as rt, MEDIA_FIELD_POLICY as s, DICTATION_MAX_ACCEPTED_TRANSCRIPTS as st, getActivityTypeDescriptor as t, RedactedScoringError as tt, gapSelectType as u, DICTATION_MAX_TEXT_LENGTH as ut, ReadAloudDataSchema as v, containsWords as vt, SPEECH_ASSESSMENT_MAX_TEXT_LENGTH as w, FillInTheBlanksDataSchema as wt, READ_ALOUD_MAX_REFERENCE_LENGTH as x, passageWithoutPlaceholders as xt, CANONICAL_LOCALE_RE as y, fold as yt, DRAFT_ISSUE_SEVERITY as z };
5616
5633
 
5617
- //# sourceMappingURL=registry-D92hz9iA.js.map
5634
+ //# sourceMappingURL=registry-tkacvJUI.js.map