@intellectif/lk-core 1.13.0 → 1.14.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 (75) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/dist/ai-check.cjs +2 -2
  4. package/dist/ai-check.d.cts +1 -1
  5. package/dist/ai-check.d.ts +1 -1
  6. package/dist/ai-check.js +2 -2
  7. package/dist/{ai-hC5pGYeu.d.cts → ai-mC-5XhBc.d.cts} +92 -2
  8. package/dist/ai-mC-5XhBc.d.cts.map +1 -0
  9. package/dist/{ai-hC5pGYeu.d.ts → ai-mC-5XhBc.d.ts} +92 -2
  10. package/dist/ai-mC-5XhBc.d.ts.map +1 -0
  11. package/dist/{ai-writing-BDSYuifR.cjs → ai-writing-Bm2TUWQ-.cjs} +10 -4
  12. package/dist/ai-writing-Bm2TUWQ-.cjs.map +1 -0
  13. package/dist/{ai-writing-Dsmvv4T-.js → ai-writing-D3oREPsp.js} +10 -4
  14. package/dist/ai-writing-D3oREPsp.js.map +1 -0
  15. package/dist/{index-Dlei-7PX.d.ts → index-2UQ5v6NZ.d.ts} +2 -2
  16. package/dist/{index-Dlei-7PX.d.ts.map → index-2UQ5v6NZ.d.ts.map} +1 -1
  17. package/dist/{index-Du9Kx_H6.d.ts → index-BudO4ES2.d.ts} +2 -2
  18. package/dist/{index-Du9Kx_H6.d.ts.map → index-BudO4ES2.d.ts.map} +1 -1
  19. package/dist/{index-BlJU10O4.d.cts → index-CFKxHXAY.d.ts} +11 -4
  20. package/dist/{index-DVW_N4pJ.d.ts.map → index-CFKxHXAY.d.ts.map} +1 -1
  21. package/dist/{index-DVW_N4pJ.d.ts → index-CagMlF4b.d.cts} +11 -4
  22. package/dist/{index-BlJU10O4.d.cts.map → index-CagMlF4b.d.cts.map} +1 -1
  23. package/dist/{index-4x0auNOv.d.cts → index-CqmNcMFM.d.cts} +2 -2
  24. package/dist/{index-4x0auNOv.d.cts.map → index-CqmNcMFM.d.cts.map} +1 -1
  25. package/dist/{index-DohEHH10.d.cts → index-MgPVCiSJ.d.cts} +2 -2
  26. package/dist/{index-DohEHH10.d.cts.map → index-MgPVCiSJ.d.cts.map} +1 -1
  27. package/dist/index.cjs +12 -6
  28. package/dist/index.d.cts +86 -10
  29. package/dist/index.d.cts.map +1 -1
  30. package/dist/index.d.ts +86 -10
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +7 -7
  33. package/dist/{item-group-vTcNy2JF.js → item-group-BIl1ZJHg.js} +7 -6
  34. package/dist/item-group-BIl1ZJHg.js.map +1 -0
  35. package/dist/{item-group-CqdByaLR.cjs → item-group-DOk562oI.cjs} +7 -6
  36. package/dist/item-group-DOk562oI.cjs.map +1 -0
  37. package/dist/{registry-Cn2it-y7.js → registry-CroAI5nc.js} +517 -11
  38. package/dist/registry-CroAI5nc.js.map +1 -0
  39. package/dist/{registry-DUTE1vtq.cjs → registry-Dw19lNo2.cjs} +552 -10
  40. package/dist/registry-Dw19lNo2.cjs.map +1 -0
  41. package/dist/{schemas-BrA6CFWz.cjs → schemas-CEv2otNw.cjs} +3 -3
  42. package/dist/{schemas-BrA6CFWz.cjs.map → schemas-CEv2otNw.cjs.map} +1 -1
  43. package/dist/{schemas-DlxeS7Lu.js → schemas-COw7muXH.js} +3 -3
  44. package/dist/{schemas-DlxeS7Lu.js.map → schemas-COw7muXH.js.map} +1 -1
  45. package/dist/schemas.cjs +3 -3
  46. package/dist/schemas.d.cts +2 -2
  47. package/dist/schemas.d.ts +2 -2
  48. package/dist/schemas.js +3 -3
  49. package/dist/{scoring-weQ4SzwB.js → scoring-BxvOhHE0.js} +2 -2
  50. package/dist/{scoring-weQ4SzwB.js.map → scoring-BxvOhHE0.js.map} +1 -1
  51. package/dist/{scoring-IjLi2fYF.cjs → scoring-EpNBJ8Fs.cjs} +2 -2
  52. package/dist/{scoring-IjLi2fYF.cjs.map → scoring-EpNBJ8Fs.cjs.map} +1 -1
  53. package/dist/scoring.cjs +2 -2
  54. package/dist/scoring.d.cts +2 -2
  55. package/dist/scoring.d.ts +2 -2
  56. package/dist/scoring.js +2 -2
  57. package/dist/{xapi-BqEbpWag.cjs → xapi-C-cQgWRX.cjs} +2 -2
  58. package/dist/{xapi-BqEbpWag.cjs.map → xapi-C-cQgWRX.cjs.map} +1 -1
  59. package/dist/{xapi-DbRVH_RB.js → xapi-DHHm7Os9.js} +2 -2
  60. package/dist/{xapi-DbRVH_RB.js.map → xapi-DHHm7Os9.js.map} +1 -1
  61. package/dist/xapi.cjs +1 -1
  62. package/dist/xapi.d.cts +1 -1
  63. package/dist/xapi.d.ts +1 -1
  64. package/dist/xapi.js +1 -1
  65. package/package.json +1 -1
  66. package/vectors/scoring.json +833 -0
  67. package/vectors/validation.json +631 -0
  68. package/dist/ai-hC5pGYeu.d.cts.map +0 -1
  69. package/dist/ai-hC5pGYeu.d.ts.map +0 -1
  70. package/dist/ai-writing-BDSYuifR.cjs.map +0 -1
  71. package/dist/ai-writing-Dsmvv4T-.js.map +0 -1
  72. package/dist/item-group-CqdByaLR.cjs.map +0 -1
  73. package/dist/item-group-vTcNy2JF.js.map +0 -1
  74. package/dist/registry-Cn2it-y7.js.map +0 -1
  75. package/dist/registry-DUTE1vtq.cjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @intellectif/lk-core
2
2
 
3
+ ## 1.14.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#172](https://github.com/intellectif/learning-kit/pull/172) [`5fcbfb4`](https://github.com/intellectif/learning-kit/commit/5fcbfb41bc99f9e8d9245fddccedf48fea3b1ba3) Thanks [@diego28e](https://github.com/diego28e)! - **Mark the Words: the learner marks the words a task asks for in a text — every past-tense verb, the linkers — with `<MarkTheWords>` to draw it**
8
+
9
+ **Action required:** none for content and grades. Install lk-core 1.14.0 with lk-react 23.11.0. **No grade changes:** every stored grade and validation result replays as before. Type-level additions: `mark-the-words` joins `BUILT_IN_ACTIVITY_TYPES` and `INTERACTIVE_VIDEO_ITEM_TYPES`, and `RedactedMarkTheWordsData` joins `RedactedActivity`, so a `switch` or `Record` exhaustive over one of them needs an entry. A host that registered its own `mark-the-words` type must rename it.
10
+
11
+ - **lk-core:** the `mark-the-words` activity type — `MarkTheWordsData` with a `text` and `targets`, each a quote of one or more words with an `occurrence` where the words repeat. Words are cut by the SDK's own `lk-words@1` (`markableWords`), the same in every runtime, and a response names marked words by position (`marked`). A target counts when all its words are marked; each wrong mark costs a target's worth, never below 0. Redaction keeps the text and removes the targets entirely. Draft checks under `mw_*` codes, three critic findings (`mw_targets_dense` warns when marking every word would score), the xAPI `choice` interaction, `markTheWordsFromMarkup` for starred text such as H5P's, and frozen grade and validation vectors. A video quiz may hold one.
12
+ - **lk-react:** `<MarkTheWords>` (also `@intellectif/lk-react/components/MarkTheWords`): the text as written, each word an option of a multi-select listbox with one tab stop — arrow keys, Home and End move, Space or Enter marks. After a check each word is marked right, wrong, or missed where the delivery policy shows answers, in its name as well as its colour. `<ActivitySequence>`, `<ActivityPreview>` and `<InteractiveVideo>` draw it. New strings: `markWordsLabel`, `markCount`, `markCorrect`, `markWrong`, `markMissed`. New class hooks: `.lk-mw` and its parts. See https://github.com/intellectif/learning-kit/blob/main/docs/authoring.md#mark-the-words--select-the-words-a-task-asks-for-114
13
+ - Not yet: AI explanations, hints, drafts and variants for a mark-the-words item.
14
+
3
15
  ## 1.13.0
4
16
 
5
17
  ### Minor Changes
package/README.md CHANGED
@@ -14,7 +14,7 @@ npm install @intellectif/lk-core
14
14
 
15
15
  ## What's in the box
16
16
 
17
- - **Activity schemas** for `multiple-choice`, `fill-in-the-blanks`, `written-response`, `gap-select`, `dictation`, `read-aloud`, `speaking-response` and `matching`, with semantic refinements (e.g. *at least one correct option*, *single-select ⇒ exactly one correct*, *passage ↔ blank-id bijection*, *image/embed require `alt`*, *a dictation title never contains its whole transcript as words*, *a read-aloud's text leaves at least one word once punctuation is folded away*). Loose at every level, so your sidecar fields survive validation.
17
+ - **Activity schemas** for `multiple-choice`, `fill-in-the-blanks`, `written-response`, `gap-select`, `dictation`, `read-aloud`, `speaking-response`, `matching` and `mark-the-words`, with semantic refinements (e.g. *at least one correct option*, *single-select ⇒ exactly one correct*, *passage ↔ blank-id bijection*, *image/embed require `alt`*, *a dictation title never contains its whole transcript as words*, *a read-aloud's text leaves at least one word once punctuation is folded away*). Loose at every level, so your sidecar fields survive validation.
18
18
  - **Interactive video** — an item group whose stimulus is a video can carry a `timeline`: quizzes at moments of the video, each holding questions of that group. The schema places every question in exactly one quiz, keeps the five embeddable types honest and refuses a dictation with no recording of its own; `readMediaProgress` reads a stored resume point without trusting it, and `composeTimelineScore` folds the video's questions into an attempt's score. See [docs/interactive-video.md](https://github.com/intellectif/learning-kit/blob/main/docs/interactive-video.md).
19
19
  - **`validateActivity(type, data)`** — the authoritative runtime validator. Returns a typed `{ success, data }` or a structured `{ success: false, errors[] }`, and **throws `UnknownActivityTypeError` if `type` is not registered** — so guard it when validating a content bank that may carry types this build does not know. `validateItemGroup(data)` is the equivalent for a `Stimulus` + `ItemGroup` container, which `validateActivity` cannot take.
20
20
  - **`validateDraft(type, draft)`** — for editors. Reports `complete`, `incomplete` (something not written yet) or `invalid` (something wrong), each issue with a `severity` and a `code` — documented for every problem the checks recognise — and deliberately no `success` boolean to misread. Stricter than `validateActivity`, never looser. **`createDraft(type, { newId })`** returns an empty draft to start from; a multiple-choice draft marks no option correct.
package/dist/ai-check.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_ai_writing = require("./ai-writing-BDSYuifR.cjs");
3
- const require_scoring = require("./scoring-IjLi2fYF.cjs");
2
+ const require_ai_writing = require("./ai-writing-Bm2TUWQ-.cjs");
3
+ const require_scoring = require("./scoring-EpNBJ8Fs.cjs");
4
4
  // src/ai-check/cases.ts
5
5
  /**
6
6
  * The items the cases are built from. Small, ordinary language-course content
@@ -1,4 +1,4 @@
1
- import { Ct as AiWritingFeedback, E as AiExplanationRequest, L as AiGradingJudgement, R as AiGradingRequest, S as AiDrafts, V as AiHintRequest, Y as AiRefusal, a as AiCoachingRequest, gt as AiVariantsRequest, ht as AiVariants, i as AiCoaching, it as AiTextResult, l as AiCritique, m as AiCritiqueRequest, w as AiDraftsRequest, wt as AiWritingFeedbackRequest } from "./ai-hC5pGYeu.cjs";
1
+ import { Ct as AiWritingFeedback, E as AiExplanationRequest, L as AiGradingJudgement, R as AiGradingRequest, S as AiDrafts, V as AiHintRequest, Y as AiRefusal, a as AiCoachingRequest, gt as AiVariantsRequest, ht as AiVariants, i as AiCoaching, it as AiTextResult, l as AiCritique, m as AiCritiqueRequest, w as AiDraftsRequest, wt as AiWritingFeedbackRequest } from "./ai-mC-5XhBc.cjs";
2
2
  /**
3
3
  * One call to make against a host's port, and what a learner was looking at
4
4
  * when the SDK would have made it.
@@ -1,4 +1,4 @@
1
- import { Ct as AiWritingFeedback, E as AiExplanationRequest, L as AiGradingJudgement, R as AiGradingRequest, S as AiDrafts, V as AiHintRequest, Y as AiRefusal, a as AiCoachingRequest, gt as AiVariantsRequest, ht as AiVariants, i as AiCoaching, it as AiTextResult, l as AiCritique, m as AiCritiqueRequest, w as AiDraftsRequest, wt as AiWritingFeedbackRequest } from "./ai-hC5pGYeu.js";
1
+ import { Ct as AiWritingFeedback, E as AiExplanationRequest, L as AiGradingJudgement, R as AiGradingRequest, S as AiDrafts, V as AiHintRequest, Y as AiRefusal, a as AiCoachingRequest, gt as AiVariantsRequest, ht as AiVariants, i as AiCoaching, it as AiTextResult, l as AiCritique, m as AiCritiqueRequest, w as AiDraftsRequest, wt as AiWritingFeedbackRequest } from "./ai-mC-5XhBc.js";
2
2
  /**
3
3
  * One call to make against a host's port, and what a learner was looking at
4
4
  * when the SDK would have made it.
package/dist/ai-check.js CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as checkAiCoaching, D as checkAiCritique, E as aiCritiqueRequest, Q as aiCoachingRequest, b as aiDraftsRequest, c as aiVariantsRequest, f as aiGradingRequest, it as aiExplanationRequest, l as checkAiVariants, lt as checkAiExplanation, m as checkAiGrading, n as checkAiWritingFeedback, ot as aiHintRequest, t as aiWritingFeedbackRequest, ut as checkAiHint, x as checkAiDrafts } from "./ai-writing-Dsmvv4T-.js";
2
- import { s as gradeReadAloud } from "./scoring-weQ4SzwB.js";
1
+ import { $ as checkAiCoaching, D as checkAiCritique, E as aiCritiqueRequest, Q as aiCoachingRequest, b as aiDraftsRequest, c as aiVariantsRequest, f as aiGradingRequest, it as aiExplanationRequest, l as checkAiVariants, lt as checkAiExplanation, m as checkAiGrading, n as checkAiWritingFeedback, ot as aiHintRequest, t as aiWritingFeedbackRequest, ut as checkAiHint, x as checkAiDrafts } from "./ai-writing-D3oREPsp.js";
2
+ import { s as gradeReadAloud } from "./scoring-BxvOhHE0.js";
3
3
  // src/ai-check/cases.ts
4
4
  /**
5
5
  * The items the cases are built from. Small, ordinary language-course content
@@ -421,6 +421,7 @@ interface ActivityDataMap {
421
421
  'read-aloud': ReadAloudData;
422
422
  'speaking-response': SpeakingResponseData;
423
423
  matching: MatchingData;
424
+ 'mark-the-words': MarkTheWordsData;
424
425
  }
425
426
  /**
426
427
  * The set of activity types supported by learning-kit. Derived from
@@ -929,6 +930,75 @@ interface MatchingData {
929
930
  /** What an author allows AI to do for this item: see {@link ActivityAiPermissions}. */
930
931
  ai?: ActivityAiPermissions;
931
932
  }
933
+ /**
934
+ * A word, or several words in a row, of a mark-the-words text that the learner
935
+ * should mark. Written as a quote of the text, never as a position, so an edit
936
+ * elsewhere in the text leaves it standing.
937
+ */
938
+ interface MarkTheWordsTarget {
939
+ /**
940
+ * The word or words, copied from the text: whole words, in order. Case and
941
+ * accents count; punctuation around them does not, and nor does the kind of
942
+ * apostrophe.
943
+ */
944
+ text: string;
945
+ /**
946
+ * Which appearance, 1-based. Required when the words appear more than once
947
+ * in the text — the schema refuses a target that could be either.
948
+ */
949
+ occurrence?: number;
950
+ /** Optional feedback shown beside the target after submission. */
951
+ feedback?: string;
952
+ }
953
+ /**
954
+ * Data contract for a Mark the Words activity: a text in which the learner
955
+ * marks the words a task asks for — every past-tense verb, the words that
956
+ * mean "big", the linkers — by selecting them.
957
+ *
958
+ * The text is cut into words by the SDK's own word cut (`lk-words@1`, see
959
+ * `markableWords`), and a response names words by their position in it.
960
+ *
961
+ * **Scoring.** Each target counts once, and only when every one of its words
962
+ * is marked. A marked word that is part of no target costs one target's worth:
963
+ * `partial` scores (targets found − words wrongly marked) / targets, never
964
+ * below 0, so marking every word earns nothing unless most words are targets
965
+ * — the critic warns when they are. `all-or-nothing` needs every target and no
966
+ * wrong word.
967
+ */
968
+ interface MarkTheWordsData {
969
+ schemaVersion: '1.0';
970
+ type: 'mark-the-words';
971
+ /** Unique identifier for this activity. */
972
+ id: string;
973
+ /** Human-readable title used in xAPI statements and error boundaries. */
974
+ title: string;
975
+ /**
976
+ * Optional instructions shown to the learner, as plain text: the task, read
977
+ * before the text ("Mark every verb in the past simple."). Every AI request
978
+ * about the item carries them.
979
+ */
980
+ instructions?: string;
981
+ /** The text the learner marks words in, as plain text. Paragraphs are separated by a blank line. At most 1500 words. */
982
+ text: string;
983
+ /** The words to mark. At least one; no two share a word. */
984
+ targets: MarkTheWordsTarget[];
985
+ /** Scoring algorithm applied when the learner submits. */
986
+ scoringStrategy: 'all-or-nothing' | 'partial';
987
+ /** Optional media shown above the text. */
988
+ media?: ActivityMedia;
989
+ /** Optional authored overall feedback shown after submission. */
990
+ feedback?: ActivityFeedback;
991
+ /** Minimum scaled score [0–1] required to pass. Defaults to {@link DEFAULT_PASS_THRESHOLD} (0.7) when absent. */
992
+ passThreshold?: number;
993
+ /** BCP 47 language tag for the activity content. */
994
+ locale?: string;
995
+ /** IRI references to learning objectives addressed by this activity. */
996
+ learningObjectives?: string[];
997
+ /** Subjective difficulty on a 1–5 scale. */
998
+ difficultyLevel?: 1 | 2 | 3 | 4 | 5;
999
+ /** What an author allows AI to do for this item: see {@link ActivityAiPermissions}. */
1000
+ ai?: ActivityAiPermissions;
1001
+ }
932
1002
  interface FillInTheBlanksData {
933
1003
  schemaVersion: '1.0';
934
1004
  type: 'fill-in-the-blanks';
@@ -1269,6 +1339,7 @@ interface LearnerResponseMap {
1269
1339
  'read-aloud': ReadAloudLearnerResponse;
1270
1340
  'speaking-response': SpeakingResponseLearnerResponse;
1271
1341
  matching: MatchingLearnerResponse;
1342
+ 'mark-the-words': MarkTheWordsLearnerResponse;
1272
1343
  }
1273
1344
  /** Union of all learner response shapes. */
1274
1345
  type LearnerResponse = LearnerResponseMap[keyof LearnerResponseMap];
@@ -1342,6 +1413,25 @@ interface MatchingLearnerResponse {
1342
1413
  */
1343
1414
  hintsRevealed?: number;
1344
1415
  }
1416
+ /**
1417
+ * Learner response for a Mark the Words activity: the words marked, by their
1418
+ * 0-based position in the text's words (`markableWords`). Order does not
1419
+ * matter. A position that names no word, or repeats one, is ignored by the
1420
+ * scorer.
1421
+ */
1422
+ interface MarkTheWordsLearnerResponse {
1423
+ type: 'mark-the-words';
1424
+ /** Positions of the marked words. */
1425
+ marked: number[];
1426
+ /**
1427
+ * Hints the learner was shown before submitting this answer, counted from
1428
+ * the start of the question — the author's and AI hints alike. Written by
1429
+ * the SDK's components in `practice`; absent or 0 means none. A scoring
1430
+ * policy's `hintPenalty` charges for them. Client-reported, like any count
1431
+ * a browser makes.
1432
+ */
1433
+ hintsRevealed?: number;
1434
+ }
1345
1435
  /** Learner response for a Written Response activity. */
1346
1436
  interface WrittenResponseLearnerResponse {
1347
1437
  type: 'written-response';
@@ -3668,5 +3758,5 @@ interface AiVariantsRun {
3668
3758
  /** Every call, in order: the first, then each repair. */
3669
3759
  calls: AiDraftsCall[];
3670
3760
  }
3671
- export { AiSpeakingGradingFacts as $, MatchingLearnerResponse as $n, TextMatchResult as $r, RouteMoveId as $t, AiGapSelectFacts as A, ActivityResult as An, WrittenResponseRubricCriterion as Ar, SequenceSlot as At, AiGroupInput as B, FillInTheBlanksData as Bn, XAPIStatement as Br, PlannedPair as Bt, AiDraftsCall as C, VersionFinding as Cn, SpeakingRubric as Cr, AiWritingFeedback as Ct, AiFeature as D, ActivityDataMap as Dn, WrittenResponseData as Dr, MediaProgress as Dt, AiExplanationRequest as E, ActivityData as En, ValidationResult as Er, ItemGroup as Et, AiGradingCriterionFact as F, DictationData as Fn, XAPIContextActivities as Fr, TimelineCue as Ft, AiOptionFact as G, GapSelectGap as Gn, GradeRoutingReason as Gr, RouteAnswer as Gt, AiItemFacts as H, GapSelectBank as Hn, CriterionScore as Hr, PlannedTrap as Ht, AiGradingFacts as I, DictationEquivalence as In, XAPIError as Ir, PassageLayout as It, AiReadingWordFact as J, InteractionKind as Jn, GraderKind as Jr, RouteFadingOptions as Jt, AiProvenance as K, GapSelectLearnerResponse as Kn, Grader as Kr, RouteCause as Kt, AiGradingJudgement as L, DictationLearnerResponse as Ln, XAPIObject as Lr, PassageParagraph as Lt, AiGeneratedVariant as M, BlankConfig as Mn, XAPIActor as Mr, Stimulus as Mt, AiGrade as N, DeferredReason as Nn, XAPIConfig as Nr, StimulusKind as Nt, AiFillInTheBlanksFacts as O, ActivityFeedback as On, WrittenResponseLearnerResponse as Or, MediaTimeline as Ot, AiGradedCriterion as P, DeferredScoringPartial as Pn, XAPIContext as Pr, TimelineChapter as Pt, AiSpeakingCriterionFact as Q, MatchingData as Qn, TextMatchPolicy as Qr, RouteLink as Qt, AiGradingRequest as R, DictationSlowMedia as Rn, XAPIResult as Rr, PassageSection as Rt, AiDrafts as S, VersionComparison as Sn, SpeakingResponseLearnerResponse as Sr, AiWritingFacts as St, AiDraftsRun as T, VersionSlot as Tn, ValidationError as Tr, AiWritingFeedbackResult as Tt, AiMaterialFacts as U, GapSelectChoice as Un, GradeRecord as Ur, QuotedRange as Ut, AiHintRequest as V, FillInTheBlanksLearnerResponse as Vn, XAPIVerbObject as Vr, PlannedQuestion as Vt, AiMultipleChoiceFacts as W, GapSelectData as Wn, GradeRouting as Wr, ReadingRoute as Wt, AiRubricCriterionFact as X, LearnerResponse as Xn, GradingState as Xr, RouteLearnerState as Xt, AiRefusal as Y, ItemOutcome as Yn, GraderUsage as Yr, RouteKeyword as Yt, AiSoundFact as Z, LearnerResponseMap as Zn, InlineCorrection as Zr, RouteLevel as Zt, AiDraftCaption as _, DraftNotComplete as _n, ScoringOutcome as _r, AiVariantsRun as _t, AiCoachingRequest as a, RouteSection as an, MultipleChoiceLearnerResponse as ar, AiVariantDifficulty as at, AiDraftSource as b, ItemFinding as bn, SpeakingMeasure as br, AiWordFact as bt, AiCriterionJudgement as c, RouteStrategySummary as cn, NativeControlHint as cr, AiVariantLevelFacts as ct, AiCritiqueFinding as d, RouteTrap as dn, ReadAloudDimensionWeight as dr, AiVariantPair as dt, levenshteinDistance as ei, RoutePlan as en, MatchingOption as er, AiSpeakingGradingRequest as et, AiCritiqueFindingResult as f, RouteTrapKind as fn, ReadAloudLearnerResponse as fr, AiVariantSkip as ft, AiDictationFacts as g, DraftIssue as gn, ScoringDetail as gr, AiVariantsRequest as gt, AiCritiqueResult as h, DraftContext as hn, RecordingRef as hr, AiVariants as ht, AiCoaching as i, RouteQuote as in, MultipleChoiceData as ir, AiTextResult as it, AiGeneratedDraft as j, ActivityType as jn, WrittenResponseRubricLevel as jr, SequenceSlotGroup as jt, AiGapFact as k, ActivityMedia as kn, WrittenResponseRubric as kr, SequenceEntry as kt, AiCritique as l, RouteSummary as ln, ReadAloudData as lr, AiVariantMismatch as lt, AiCritiqueRequest as m, DraftComplete as mn, RecordingBounds as mr, AiVariantTargets as mt, AiActivityInput as n, RouteQuestionPart as nn, MediaPlaybackPolicy as nr, AiSpeakingMeasureFact as nt, AiCoachingResult as o, RouteStep as on, MultipleChoiceOption as or, AiVariantExemplarFacts as ot, AiCritiqueKind as p, TextRange as pn, ReadAloudSlowMedia as pr, AiVariantSkipCode as pt, AiReadingFacts as q, InteractionEvent as qn, GraderConfiguration as qr, RouteEvent as qt, AiBlankFact as r, RouteQuestionSummary as rn, MediaTrack as rr, AiSupportedActivityType as rt, AiCoachingWord as s, RouteStrategyId as sn, MultipleChoiceOptionMedia as sr, AiVariantImage as st, ActivityAiPermissions as t, matchText as ti, RouteQuestion as tn, MatchingPrompt as tr, AiSpeakingGradingRequestProblem as tt, AiCritiqueField as u, RouteTrace as un, ReadAloudDimension as ur, AiVariantMissing as ut, AiDraftProblem as v, DraftSeverity as vn, ScoringResult as vr, AiVerdict as vt, AiDraftsRequest as w, VersionPaper as wn, SpeakingRubricCriterion as wr, AiWritingFeedbackRequest as wt, AiDraftType as x, ItemFindingSeverity as xn, SpeakingResponseData as xr, AiWritingCorrection as xt, AiDraftSettings as y, DraftValidationResult as yn, ScriptTurn as yr, AiVideoDraft as yt, AiGradingRequestProblem as z, DictationTolerance as zn, XAPIScore as zr, PassageSentence as zt };
3672
- //# sourceMappingURL=ai-hC5pGYeu.d.cts.map
3761
+ export { AiSpeakingGradingFacts as $, MarkTheWordsLearnerResponse as $n, GradingState as $r, RouteMoveId as $t, AiGapSelectFacts as A, ActivityResult as An, WrittenResponseData as Ar, SequenceSlot as At, AiGroupInput as B, FillInTheBlanksData as Bn, XAPIObject as Br, PlannedPair as Bt, AiDraftsCall as C, VersionFinding as Cn, SpeakingMeasure as Cr, AiWritingFeedback as Ct, AiFeature as D, ActivityDataMap as Dn, SpeakingRubricCriterion as Dr, MediaProgress as Dt, AiExplanationRequest as E, ActivityData as En, SpeakingRubric as Er, ItemGroup as Et, AiGradingCriterionFact as F, DictationData as Fn, XAPIActor as Fr, TimelineCue as Ft, AiOptionFact as G, GapSelectGap as Gn, CriterionScore as Gr, RouteAnswer as Gt, AiItemFacts as H, GapSelectBank as Hn, XAPIScore as Hr, PlannedTrap as Ht, AiGradingFacts as I, DictationEquivalence as In, XAPIConfig as Ir, PassageLayout as It, AiReadingWordFact as J, InteractionKind as Jn, GradeRoutingReason as Jr, RouteFadingOptions as Jt, AiProvenance as K, GapSelectLearnerResponse as Kn, GradeRecord as Kr, RouteCause as Kt, AiGradingJudgement as L, DictationLearnerResponse as Ln, XAPIContext as Lr, PassageParagraph as Lt, AiGeneratedVariant as M, BlankConfig as Mn, WrittenResponseRubric as Mr, Stimulus as Mt, AiGrade as N, DeferredReason as Nn, WrittenResponseRubricCriterion as Nr, StimulusKind as Nt, AiFillInTheBlanksFacts as O, ActivityFeedback as On, ValidationError as Or, MediaTimeline as Ot, AiGradedCriterion as P, DeferredScoringPartial as Pn, WrittenResponseRubricLevel as Pr, TimelineChapter as Pt, AiSpeakingCriterionFact as Q, MarkTheWordsData as Qn, GraderUsage as Qr, RouteLink as Qt, AiGradingRequest as R, DictationSlowMedia as Rn, XAPIContextActivities as Rr, PassageSection as Rt, AiDrafts as S, VersionComparison as Sn, ScriptTurn as Sr, AiWritingFacts as St, AiDraftsRun as T, VersionSlot as Tn, SpeakingResponseLearnerResponse as Tr, AiWritingFeedbackResult as Tt, AiMaterialFacts as U, GapSelectChoice as Un, XAPIStatement as Ur, QuotedRange as Ut, AiHintRequest as V, FillInTheBlanksLearnerResponse as Vn, XAPIResult as Vr, PlannedQuestion as Vt, AiMultipleChoiceFacts as W, GapSelectData as Wn, XAPIVerbObject as Wr, ReadingRoute as Wt, AiRubricCriterionFact as X, LearnerResponse as Xn, GraderConfiguration as Xr, RouteLearnerState as Xt, AiRefusal as Y, ItemOutcome as Yn, Grader as Yr, RouteKeyword as Yt, AiSoundFact as Z, LearnerResponseMap as Zn, GraderKind as Zr, RouteLevel as Zt, AiDraftCaption as _, DraftNotComplete as _n, RecordingBounds as _r, AiVariantsRun as _t, AiCoachingRequest as a, RouteSection as an, MediaPlaybackPolicy as ar, AiVariantDifficulty as at, AiDraftSource as b, ItemFinding as bn, ScoringOutcome as br, AiWordFact as bt, AiCriterionJudgement as c, RouteStrategySummary as cn, MultipleChoiceLearnerResponse as cr, AiVariantLevelFacts as ct, AiCritiqueFinding as d, RouteTrap as dn, NativeControlHint as dr, AiVariantPair as dt, InlineCorrection as ei, RoutePlan as en, MarkTheWordsTarget as er, AiSpeakingGradingRequest as et, AiCritiqueFindingResult as f, RouteTrapKind as fn, ReadAloudData as fr, AiVariantSkip as ft, AiDictationFacts as g, DraftIssue as gn, ReadAloudSlowMedia as gr, AiVariantsRequest as gt, AiCritiqueResult as h, DraftContext as hn, ReadAloudLearnerResponse as hr, AiVariants as ht, AiCoaching as i, matchText as ii, RouteQuote as in, MatchingPrompt as ir, AiTextResult as it, AiGeneratedDraft as j, ActivityType as jn, WrittenResponseLearnerResponse as jr, SequenceSlotGroup as jt, AiGapFact as k, ActivityMedia as kn, ValidationResult as kr, SequenceEntry as kt, AiCritique as l, RouteSummary as ln, MultipleChoiceOption as lr, AiVariantMismatch as lt, AiCritiqueRequest as m, DraftComplete as mn, ReadAloudDimensionWeight as mr, AiVariantTargets as mt, AiActivityInput as n, TextMatchResult as ni, RouteQuestionPart as nn, MatchingLearnerResponse as nr, AiSpeakingMeasureFact as nt, AiCoachingResult as o, RouteStep as on, MediaTrack as or, AiVariantExemplarFacts as ot, AiCritiqueKind as p, TextRange as pn, ReadAloudDimension as pr, AiVariantSkipCode as pt, AiReadingFacts as q, InteractionEvent as qn, GradeRouting as qr, RouteEvent as qt, AiBlankFact as r, levenshteinDistance as ri, RouteQuestionSummary as rn, MatchingOption as rr, AiSupportedActivityType as rt, AiCoachingWord as s, RouteStrategyId as sn, MultipleChoiceData as sr, AiVariantImage as st, ActivityAiPermissions as t, TextMatchPolicy as ti, RouteQuestion as tn, MatchingData as tr, AiSpeakingGradingRequestProblem as tt, AiCritiqueField as u, RouteTrace as un, MultipleChoiceOptionMedia as ur, AiVariantMissing as ut, AiDraftProblem as v, DraftSeverity as vn, RecordingRef as vr, AiVerdict as vt, AiDraftsRequest as w, VersionPaper as wn, SpeakingResponseData as wr, AiWritingFeedbackRequest as wt, AiDraftType as x, ItemFindingSeverity as xn, ScoringResult as xr, AiWritingCorrection as xt, AiDraftSettings as y, DraftValidationResult as yn, ScoringDetail as yr, AiVideoDraft as yt, AiGradingRequestProblem as z, DictationTolerance as zn, XAPIError as zr, PassageSentence as zt };
3762
+ //# sourceMappingURL=ai-mC-5XhBc.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-mC-5XhBc.d.cts","names":[],"sources":["../src/scoring/text-match.ts","../src/types/grading.ts","../src/types/xapi.ts","../src/types/activity.ts","../src/types/authoring.ts","../src/types/reading-route.ts","../src/types/item-group.ts","../src/types/ai.ts"],"mappings":"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"}
@@ -421,6 +421,7 @@ interface ActivityDataMap {
421
421
  'read-aloud': ReadAloudData;
422
422
  'speaking-response': SpeakingResponseData;
423
423
  matching: MatchingData;
424
+ 'mark-the-words': MarkTheWordsData;
424
425
  }
425
426
  /**
426
427
  * The set of activity types supported by learning-kit. Derived from
@@ -929,6 +930,75 @@ interface MatchingData {
929
930
  /** What an author allows AI to do for this item: see {@link ActivityAiPermissions}. */
930
931
  ai?: ActivityAiPermissions;
931
932
  }
933
+ /**
934
+ * A word, or several words in a row, of a mark-the-words text that the learner
935
+ * should mark. Written as a quote of the text, never as a position, so an edit
936
+ * elsewhere in the text leaves it standing.
937
+ */
938
+ interface MarkTheWordsTarget {
939
+ /**
940
+ * The word or words, copied from the text: whole words, in order. Case and
941
+ * accents count; punctuation around them does not, and nor does the kind of
942
+ * apostrophe.
943
+ */
944
+ text: string;
945
+ /**
946
+ * Which appearance, 1-based. Required when the words appear more than once
947
+ * in the text — the schema refuses a target that could be either.
948
+ */
949
+ occurrence?: number;
950
+ /** Optional feedback shown beside the target after submission. */
951
+ feedback?: string;
952
+ }
953
+ /**
954
+ * Data contract for a Mark the Words activity: a text in which the learner
955
+ * marks the words a task asks for — every past-tense verb, the words that
956
+ * mean "big", the linkers — by selecting them.
957
+ *
958
+ * The text is cut into words by the SDK's own word cut (`lk-words@1`, see
959
+ * `markableWords`), and a response names words by their position in it.
960
+ *
961
+ * **Scoring.** Each target counts once, and only when every one of its words
962
+ * is marked. A marked word that is part of no target costs one target's worth:
963
+ * `partial` scores (targets found − words wrongly marked) / targets, never
964
+ * below 0, so marking every word earns nothing unless most words are targets
965
+ * — the critic warns when they are. `all-or-nothing` needs every target and no
966
+ * wrong word.
967
+ */
968
+ interface MarkTheWordsData {
969
+ schemaVersion: '1.0';
970
+ type: 'mark-the-words';
971
+ /** Unique identifier for this activity. */
972
+ id: string;
973
+ /** Human-readable title used in xAPI statements and error boundaries. */
974
+ title: string;
975
+ /**
976
+ * Optional instructions shown to the learner, as plain text: the task, read
977
+ * before the text ("Mark every verb in the past simple."). Every AI request
978
+ * about the item carries them.
979
+ */
980
+ instructions?: string;
981
+ /** The text the learner marks words in, as plain text. Paragraphs are separated by a blank line. At most 1500 words. */
982
+ text: string;
983
+ /** The words to mark. At least one; no two share a word. */
984
+ targets: MarkTheWordsTarget[];
985
+ /** Scoring algorithm applied when the learner submits. */
986
+ scoringStrategy: 'all-or-nothing' | 'partial';
987
+ /** Optional media shown above the text. */
988
+ media?: ActivityMedia;
989
+ /** Optional authored overall feedback shown after submission. */
990
+ feedback?: ActivityFeedback;
991
+ /** Minimum scaled score [0–1] required to pass. Defaults to {@link DEFAULT_PASS_THRESHOLD} (0.7) when absent. */
992
+ passThreshold?: number;
993
+ /** BCP 47 language tag for the activity content. */
994
+ locale?: string;
995
+ /** IRI references to learning objectives addressed by this activity. */
996
+ learningObjectives?: string[];
997
+ /** Subjective difficulty on a 1–5 scale. */
998
+ difficultyLevel?: 1 | 2 | 3 | 4 | 5;
999
+ /** What an author allows AI to do for this item: see {@link ActivityAiPermissions}. */
1000
+ ai?: ActivityAiPermissions;
1001
+ }
932
1002
  interface FillInTheBlanksData {
933
1003
  schemaVersion: '1.0';
934
1004
  type: 'fill-in-the-blanks';
@@ -1269,6 +1339,7 @@ interface LearnerResponseMap {
1269
1339
  'read-aloud': ReadAloudLearnerResponse;
1270
1340
  'speaking-response': SpeakingResponseLearnerResponse;
1271
1341
  matching: MatchingLearnerResponse;
1342
+ 'mark-the-words': MarkTheWordsLearnerResponse;
1272
1343
  }
1273
1344
  /** Union of all learner response shapes. */
1274
1345
  type LearnerResponse = LearnerResponseMap[keyof LearnerResponseMap];
@@ -1342,6 +1413,25 @@ interface MatchingLearnerResponse {
1342
1413
  */
1343
1414
  hintsRevealed?: number;
1344
1415
  }
1416
+ /**
1417
+ * Learner response for a Mark the Words activity: the words marked, by their
1418
+ * 0-based position in the text's words (`markableWords`). Order does not
1419
+ * matter. A position that names no word, or repeats one, is ignored by the
1420
+ * scorer.
1421
+ */
1422
+ interface MarkTheWordsLearnerResponse {
1423
+ type: 'mark-the-words';
1424
+ /** Positions of the marked words. */
1425
+ marked: number[];
1426
+ /**
1427
+ * Hints the learner was shown before submitting this answer, counted from
1428
+ * the start of the question — the author's and AI hints alike. Written by
1429
+ * the SDK's components in `practice`; absent or 0 means none. A scoring
1430
+ * policy's `hintPenalty` charges for them. Client-reported, like any count
1431
+ * a browser makes.
1432
+ */
1433
+ hintsRevealed?: number;
1434
+ }
1345
1435
  /** Learner response for a Written Response activity. */
1346
1436
  interface WrittenResponseLearnerResponse {
1347
1437
  type: 'written-response';
@@ -3668,5 +3758,5 @@ interface AiVariantsRun {
3668
3758
  /** Every call, in order: the first, then each repair. */
3669
3759
  calls: AiDraftsCall[];
3670
3760
  }
3671
- export { AiSpeakingGradingFacts as $, MatchingLearnerResponse as $n, TextMatchResult as $r, RouteMoveId as $t, AiGapSelectFacts as A, ActivityResult as An, WrittenResponseRubricCriterion as Ar, SequenceSlot as At, AiGroupInput as B, FillInTheBlanksData as Bn, XAPIStatement as Br, PlannedPair as Bt, AiDraftsCall as C, VersionFinding as Cn, SpeakingRubric as Cr, AiWritingFeedback as Ct, AiFeature as D, ActivityDataMap as Dn, WrittenResponseData as Dr, MediaProgress as Dt, AiExplanationRequest as E, ActivityData as En, ValidationResult as Er, ItemGroup as Et, AiGradingCriterionFact as F, DictationData as Fn, XAPIContextActivities as Fr, TimelineCue as Ft, AiOptionFact as G, GapSelectGap as Gn, GradeRoutingReason as Gr, RouteAnswer as Gt, AiItemFacts as H, GapSelectBank as Hn, CriterionScore as Hr, PlannedTrap as Ht, AiGradingFacts as I, DictationEquivalence as In, XAPIError as Ir, PassageLayout as It, AiReadingWordFact as J, InteractionKind as Jn, GraderKind as Jr, RouteFadingOptions as Jt, AiProvenance as K, GapSelectLearnerResponse as Kn, Grader as Kr, RouteCause as Kt, AiGradingJudgement as L, DictationLearnerResponse as Ln, XAPIObject as Lr, PassageParagraph as Lt, AiGeneratedVariant as M, BlankConfig as Mn, XAPIActor as Mr, Stimulus as Mt, AiGrade as N, DeferredReason as Nn, XAPIConfig as Nr, StimulusKind as Nt, AiFillInTheBlanksFacts as O, ActivityFeedback as On, WrittenResponseLearnerResponse as Or, MediaTimeline as Ot, AiGradedCriterion as P, DeferredScoringPartial as Pn, XAPIContext as Pr, TimelineChapter as Pt, AiSpeakingCriterionFact as Q, MatchingData as Qn, TextMatchPolicy as Qr, RouteLink as Qt, AiGradingRequest as R, DictationSlowMedia as Rn, XAPIResult as Rr, PassageSection as Rt, AiDrafts as S, VersionComparison as Sn, SpeakingResponseLearnerResponse as Sr, AiWritingFacts as St, AiDraftsRun as T, VersionSlot as Tn, ValidationError as Tr, AiWritingFeedbackResult as Tt, AiMaterialFacts as U, GapSelectChoice as Un, GradeRecord as Ur, QuotedRange as Ut, AiHintRequest as V, FillInTheBlanksLearnerResponse as Vn, XAPIVerbObject as Vr, PlannedQuestion as Vt, AiMultipleChoiceFacts as W, GapSelectData as Wn, GradeRouting as Wr, ReadingRoute as Wt, AiRubricCriterionFact as X, LearnerResponse as Xn, GradingState as Xr, RouteLearnerState as Xt, AiRefusal as Y, ItemOutcome as Yn, GraderUsage as Yr, RouteKeyword as Yt, AiSoundFact as Z, LearnerResponseMap as Zn, InlineCorrection as Zr, RouteLevel as Zt, AiDraftCaption as _, DraftNotComplete as _n, ScoringOutcome as _r, AiVariantsRun as _t, AiCoachingRequest as a, RouteSection as an, MultipleChoiceLearnerResponse as ar, AiVariantDifficulty as at, AiDraftSource as b, ItemFinding as bn, SpeakingMeasure as br, AiWordFact as bt, AiCriterionJudgement as c, RouteStrategySummary as cn, NativeControlHint as cr, AiVariantLevelFacts as ct, AiCritiqueFinding as d, RouteTrap as dn, ReadAloudDimensionWeight as dr, AiVariantPair as dt, levenshteinDistance as ei, RoutePlan as en, MatchingOption as er, AiSpeakingGradingRequest as et, AiCritiqueFindingResult as f, RouteTrapKind as fn, ReadAloudLearnerResponse as fr, AiVariantSkip as ft, AiDictationFacts as g, DraftIssue as gn, ScoringDetail as gr, AiVariantsRequest as gt, AiCritiqueResult as h, DraftContext as hn, RecordingRef as hr, AiVariants as ht, AiCoaching as i, RouteQuote as in, MultipleChoiceData as ir, AiTextResult as it, AiGeneratedDraft as j, ActivityType as jn, WrittenResponseRubricLevel as jr, SequenceSlotGroup as jt, AiGapFact as k, ActivityMedia as kn, WrittenResponseRubric as kr, SequenceEntry as kt, AiCritique as l, RouteSummary as ln, ReadAloudData as lr, AiVariantMismatch as lt, AiCritiqueRequest as m, DraftComplete as mn, RecordingBounds as mr, AiVariantTargets as mt, AiActivityInput as n, RouteQuestionPart as nn, MediaPlaybackPolicy as nr, AiSpeakingMeasureFact as nt, AiCoachingResult as o, RouteStep as on, MultipleChoiceOption as or, AiVariantExemplarFacts as ot, AiCritiqueKind as p, TextRange as pn, ReadAloudSlowMedia as pr, AiVariantSkipCode as pt, AiReadingFacts as q, InteractionEvent as qn, GraderConfiguration as qr, RouteEvent as qt, AiBlankFact as r, RouteQuestionSummary as rn, MediaTrack as rr, AiSupportedActivityType as rt, AiCoachingWord as s, RouteStrategyId as sn, MultipleChoiceOptionMedia as sr, AiVariantImage as st, ActivityAiPermissions as t, matchText as ti, RouteQuestion as tn, MatchingPrompt as tr, AiSpeakingGradingRequestProblem as tt, AiCritiqueField as u, RouteTrace as un, ReadAloudDimension as ur, AiVariantMissing as ut, AiDraftProblem as v, DraftSeverity as vn, ScoringResult as vr, AiVerdict as vt, AiDraftsRequest as w, VersionPaper as wn, SpeakingRubricCriterion as wr, AiWritingFeedbackRequest as wt, AiDraftType as x, ItemFindingSeverity as xn, SpeakingResponseData as xr, AiWritingCorrection as xt, AiDraftSettings as y, DraftValidationResult as yn, ScriptTurn as yr, AiVideoDraft as yt, AiGradingRequestProblem as z, DictationTolerance as zn, XAPIScore as zr, PassageSentence as zt };
3672
- //# sourceMappingURL=ai-hC5pGYeu.d.ts.map
3761
+ export { AiSpeakingGradingFacts as $, MarkTheWordsLearnerResponse as $n, GradingState as $r, RouteMoveId as $t, AiGapSelectFacts as A, ActivityResult as An, WrittenResponseData as Ar, SequenceSlot as At, AiGroupInput as B, FillInTheBlanksData as Bn, XAPIObject as Br, PlannedPair as Bt, AiDraftsCall as C, VersionFinding as Cn, SpeakingMeasure as Cr, AiWritingFeedback as Ct, AiFeature as D, ActivityDataMap as Dn, SpeakingRubricCriterion as Dr, MediaProgress as Dt, AiExplanationRequest as E, ActivityData as En, SpeakingRubric as Er, ItemGroup as Et, AiGradingCriterionFact as F, DictationData as Fn, XAPIActor as Fr, TimelineCue as Ft, AiOptionFact as G, GapSelectGap as Gn, CriterionScore as Gr, RouteAnswer as Gt, AiItemFacts as H, GapSelectBank as Hn, XAPIScore as Hr, PlannedTrap as Ht, AiGradingFacts as I, DictationEquivalence as In, XAPIConfig as Ir, PassageLayout as It, AiReadingWordFact as J, InteractionKind as Jn, GradeRoutingReason as Jr, RouteFadingOptions as Jt, AiProvenance as K, GapSelectLearnerResponse as Kn, GradeRecord as Kr, RouteCause as Kt, AiGradingJudgement as L, DictationLearnerResponse as Ln, XAPIContext as Lr, PassageParagraph as Lt, AiGeneratedVariant as M, BlankConfig as Mn, WrittenResponseRubric as Mr, Stimulus as Mt, AiGrade as N, DeferredReason as Nn, WrittenResponseRubricCriterion as Nr, StimulusKind as Nt, AiFillInTheBlanksFacts as O, ActivityFeedback as On, ValidationError as Or, MediaTimeline as Ot, AiGradedCriterion as P, DeferredScoringPartial as Pn, WrittenResponseRubricLevel as Pr, TimelineChapter as Pt, AiSpeakingCriterionFact as Q, MarkTheWordsData as Qn, GraderUsage as Qr, RouteLink as Qt, AiGradingRequest as R, DictationSlowMedia as Rn, XAPIContextActivities as Rr, PassageSection as Rt, AiDrafts as S, VersionComparison as Sn, ScriptTurn as Sr, AiWritingFacts as St, AiDraftsRun as T, VersionSlot as Tn, SpeakingResponseLearnerResponse as Tr, AiWritingFeedbackResult as Tt, AiMaterialFacts as U, GapSelectChoice as Un, XAPIStatement as Ur, QuotedRange as Ut, AiHintRequest as V, FillInTheBlanksLearnerResponse as Vn, XAPIResult as Vr, PlannedQuestion as Vt, AiMultipleChoiceFacts as W, GapSelectData as Wn, XAPIVerbObject as Wr, ReadingRoute as Wt, AiRubricCriterionFact as X, LearnerResponse as Xn, GraderConfiguration as Xr, RouteLearnerState as Xt, AiRefusal as Y, ItemOutcome as Yn, Grader as Yr, RouteKeyword as Yt, AiSoundFact as Z, LearnerResponseMap as Zn, GraderKind as Zr, RouteLevel as Zt, AiDraftCaption as _, DraftNotComplete as _n, RecordingBounds as _r, AiVariantsRun as _t, AiCoachingRequest as a, RouteSection as an, MediaPlaybackPolicy as ar, AiVariantDifficulty as at, AiDraftSource as b, ItemFinding as bn, ScoringOutcome as br, AiWordFact as bt, AiCriterionJudgement as c, RouteStrategySummary as cn, MultipleChoiceLearnerResponse as cr, AiVariantLevelFacts as ct, AiCritiqueFinding as d, RouteTrap as dn, NativeControlHint as dr, AiVariantPair as dt, InlineCorrection as ei, RoutePlan as en, MarkTheWordsTarget as er, AiSpeakingGradingRequest as et, AiCritiqueFindingResult as f, RouteTrapKind as fn, ReadAloudData as fr, AiVariantSkip as ft, AiDictationFacts as g, DraftIssue as gn, ReadAloudSlowMedia as gr, AiVariantsRequest as gt, AiCritiqueResult as h, DraftContext as hn, ReadAloudLearnerResponse as hr, AiVariants as ht, AiCoaching as i, matchText as ii, RouteQuote as in, MatchingPrompt as ir, AiTextResult as it, AiGeneratedDraft as j, ActivityType as jn, WrittenResponseLearnerResponse as jr, SequenceSlotGroup as jt, AiGapFact as k, ActivityMedia as kn, ValidationResult as kr, SequenceEntry as kt, AiCritique as l, RouteSummary as ln, MultipleChoiceOption as lr, AiVariantMismatch as lt, AiCritiqueRequest as m, DraftComplete as mn, ReadAloudDimensionWeight as mr, AiVariantTargets as mt, AiActivityInput as n, TextMatchResult as ni, RouteQuestionPart as nn, MatchingLearnerResponse as nr, AiSpeakingMeasureFact as nt, AiCoachingResult as o, RouteStep as on, MediaTrack as or, AiVariantExemplarFacts as ot, AiCritiqueKind as p, TextRange as pn, ReadAloudDimension as pr, AiVariantSkipCode as pt, AiReadingFacts as q, InteractionEvent as qn, GradeRouting as qr, RouteEvent as qt, AiBlankFact as r, levenshteinDistance as ri, RouteQuestionSummary as rn, MatchingOption as rr, AiSupportedActivityType as rt, AiCoachingWord as s, RouteStrategyId as sn, MultipleChoiceData as sr, AiVariantImage as st, ActivityAiPermissions as t, TextMatchPolicy as ti, RouteQuestion as tn, MatchingData as tr, AiSpeakingGradingRequestProblem as tt, AiCritiqueField as u, RouteTrace as un, MultipleChoiceOptionMedia as ur, AiVariantMissing as ut, AiDraftProblem as v, DraftSeverity as vn, RecordingRef as vr, AiVerdict as vt, AiDraftsRequest as w, VersionPaper as wn, SpeakingResponseData as wr, AiWritingFeedbackRequest as wt, AiDraftType as x, ItemFindingSeverity as xn, ScoringResult as xr, AiWritingCorrection as xt, AiDraftSettings as y, DraftValidationResult as yn, ScoringDetail as yr, AiVideoDraft as yt, AiGradingRequestProblem as z, DictationTolerance as zn, XAPIError as zr, PassageSentence as zt };
3762
+ //# sourceMappingURL=ai-mC-5XhBc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-mC-5XhBc.d.ts","names":[],"sources":["../src/scoring/text-match.ts","../src/types/grading.ts","../src/types/xapi.ts","../src/types/activity.ts","../src/types/authoring.ts","../src/types/reading-route.ts","../src/types/item-group.ts","../src/types/ai.ts"],"mappings":";;;;;;;;UAQiB;;EAEf;;EAEA;;;;;;;EAOA;;EAEA;;EAEA;;EAEA;;EAEA;;;;;EAKA;;;;;;;;;;;;UAae;EACf;EACA;;;;;;iBAmDc,oBAAoB,WAAW,WAAW;;;;;;;;;;;iBAoC1C,UACd,eACA,sCACA,SAAQ,kBACP;;;;;;KCrHS;;;;;;;;;KAUA;;UAGK;EACf,MAAM;;EAEN;;EAEA;;EAEA;;;UAIe;EACf;EACA;EACA;;;UAIe;;EAEf;;;;;;EAMA;;;;;;;;;;;;;;;;EAgBA;;EAEA;;EAEA;;;;;;EAMA;;EAEA;;;;;;;EAOA;;;;;;;UAQe;;EAEf;;EAEA;;EAEA;;EAEA;;;;;;;;;;;;;;;;;;KAmBU;;UASK;;EAEf;;EAEA,SAAS;;EAET;IAAgB;IAAoB;;;;UAIrB;;EAEf;;EAEA;EACA;;EAEA;IAAU;IAAe;;;EAEzB;;;;;;;;;;;;;UAce;EACf;EACA;EACA;;EAEA;;EAEA,WAAW;;;;;;EAMX,UAAU;;EAEV,cAAc;;EAEd;;EAEA;;EAEA;;EAEA;EACA,SAAS;EACT,QAAQ;;EAER;;EAEA,UAAU;;;;;;UCrMK;EACf;;EAEA;EACA;;IAEE,OAAO;;IAEP,cAAc;;IAEd;;IAEA;;IAEA;;IAEA,UAAU;MAAQ;MAAY,cAAc;;IAC5C,aAAa;;;;;;;UAQA;EACf;;EAEA;;EAEA;;EAEA;;IAEE;;IAEA;;;;UAKa;;EAEf;;EAEA,SAAS;;;UAIM;;EAEf;;EAEA;;EAEA;;EAEA;;;UAIe;EACf,QAAQ;;EAER;;EAEA;;EAEA;;EAEA;EACA,aAAa;;;UAIE;;EAEf,SAAS;;EAET,WAAW;;EAEX,WAAW;;EAEX,QAAQ;;;UAIO;;EAEf;;EAEA;;EAEA,oBAAoB;EACpB,aAAa;;;UAIE;;EAEf;EACA,OAAO;EACP,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;;EAEV;EACA;;;;;;UAOe;;EAEf;;EAEA;IAAQ;IAAe;IAAkB;;IAAuB;IAAgB;;;;;;;;;;;;;;;;;EAgBhF,uBAAuB;EACvB,OAAO;;EAEP,WAAW,KAAK;;;UAID;;EAEf,WAAW;;EAEX;;EAEA;;EAEA;;;;;;;;;;;;;;;;;UCtIe;EACf,mBAAmB;EACnB,sBAAsB;EACtB,oBAAoB;EACpB,cAAc;EACd,WAAW;EACX,cAAc;EACd,qBAAqB;EACrB,UAAU;EACV,kBAAkB;;;;;;KAOR,qBAAqB;;KAGrB,eAAe,gBAAgB;;UAG1B;EACf;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;UAOe;;EAEf;;;;;EAKA;;EAEA;;EAEA;;;;;;;EAOA,SAAS;;EAET;;;;;;EAMA,WAAW;;;;;;;EAOX;;;;;;;EAOA,SAAS;;;;;;;;;UAUM;;EAEf;;EAEA;;;;;;;;;;KAWU;;;;;;;;;;;;UAaK;;;;;;EAMf;;;;;;;;;;;EAWA;;EAEA;;EAEA;;EAEA,qBAAqB;;;;;;;UAQN;;EAEf;;EAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAkCe;;EAEf;;EAEA;;EAEA;;EAEA;;;;;;EAMA;;EAEA,SAAS;;UAGM;;EAEf;;;;;;;;;EASA;;EAEA;;EAEA;;EAEA,QAAQ;;;UAIO;EACf;EACA;;EAEA;;EAEA;;;;;;;EAOA;;EAEA;;;;;;;;EAQA;;EAEA;;EAEA,SAAS;;EAET;;EAEA,QAAQ;;EAER,WAAW;;EAEX;;;;;;;;;;EAUA;;EAEA;;EAEA;;EAEA;;EAEA,KAAK;;;UAIU;;EAEf;;EAEA;;;;;;;EAOA;;;;;;;EAOA;;;;;;;;EAQA,QAAQ;;EAER;;EAEA;;;;UAKe;;EAEf;;EAEA;;;;;;;;;;;UAYe;;EAEf;;EAEA,SAAS;;;;;;;;;;UAWM;;EAEf;;EAEA,UAAU;;EAEV;;EAEA;;EAEA;;;;;;;;;;;;;;;UAgBe;EACf;EACA;;EAEA;;EAEA;;;;;;;;EAQA;;EAEA;;;;;;;EAOA;;EAEA,MAAM;;EAEN,QAAQ;;EAER;;;;;;;;;;;;EAYA;;;;;;;;EAQA;;EAEA,QAAQ;;EAER,WAAW;;EAEX;;EAEA;;EAEA;;EAEA;;EAEA,KAAK;;;;;;UAOU;;EAEf;;;;;EAKA;;;;;EAKA;;;UAIe;;EAEf;;EAEA;;EAEA;;EAEA;;;;;;;;;;;;;;;;;;;UAoBe;EACf;EACA;;EAEA;;EAEA;;;;;;EAMA;;EAEA;;EAEA,SAAS;;EAET,SAAS;;;;;;;EAOT;;EAEA;;;;;;EAMA;;EAEA,QAAQ;;EAER,WAAW;;EAEX;;EAEA;;EAEA;;EAEA;;EAEA,KAAK;;;;;;;UAQU;;;;;;EAMf;;;;;EAKA;;EAEA;;;;;;;;;;;;;;;;;UAkBe;EACf;EACA;;EAEA;;EAEA;;;;;;EAMA;;EAEA;;EAEA,SAAS;;EAET;;EAEA,QAAQ;;EAER,WAAW;;EAEX;;EAEA;;EAEA;;EAEA;;EAEA,KAAK;;UAGU;EACf;EACA;;EAEA;;EAEA;;;;;;;;EAQA;;EAEA;;;;;;EAMA;;EAEA,QAAQ;;EAER;;EAEA,QAAQ;;EAER,WAAW;;EAEX;;EAEA;;EAEA;;EAEA;;EAEA,KAAK;;;;;;;UAQU;;EAEf;;EAEA;;;UAIe;;EAEf;;EAEA;;EAEA;;;;;;;;;;;;;;EAcA,SAAS;;;UAIM;;EAEf;;EAEA,UAAU;;;;;;;;;;;;UAaK;EACf;EACA;;EAEA;;EAEA;;EAEA;;;;;;EAMA;;EAEA;;EAEA;;EAEA,SAAS;;EAET;;EAEA,QAAQ;;EAER,WAAW;;EAEX;;EAEA;;EAEA;;EAEA;;EAEA,KAAK;;;;;;;;;UAUU;EACf;;EAEA;;EAEA;;;;;;;;;;UAWe;;EAEf;;EAEA;;;UAIe;;EAEf,eAAe;;;;;;;;;;;;;;;;UAiBA;EACf;EACA;;EAEA;;;;;EAKA;;;;;;EAMA;;;;;;;;EAQA;;;;;;;EAOA,QAAQ;;EAER,YAAY;;;;;;;EAOZ;IAAU;;;EAEV,YAAY;;EAEZ,WAAW;;EAEX;;EAEA;;EAEA;;EAEA;;EAEA,KAAK;;;KAIK;;UAGK;EACf,MAAM;;;;;EAKN;;;;;;;UAQe;;EAEf;;EAEA;;EAEA;;;;;;;;UASe;EACf;;EAEA;;EAEA;;;;;;;;;;;UAYe;EACf;EACA;;EAEA;;EAEA;;EAEA;;;;;;EAMA;;;;;EAKA;;EAEA,QAAQ;;EAER,YAAY;;EAEZ,WAAW;;;;;;;EAOX;IAAW,YAAY;;;EAEvB;;EAEA,WAAW;;EAEX;;EAEA;;EAEA,KAAK;;;;;;UAOU;EACf,mBAAmB;EACnB,sBAAsB;EACtB,oBAAoB;EACpB,cAAc;EACd,WAAW;EACX,cAAc;EACd,qBAAqB;EACrB,UAAU;EACV,kBAAkB;;;KAIR,kBAAkB,yBAAyB;;UAGtC;EACf;;EAEA;;;;;;;;EAQA;;;UAIe;EACf;;EAEA,SAAS;;;;;;;;EAQT;;;;;;;;;;;UAYe;EACf;;EAEA,YAAY;;;;;;;;EAQZ;;;;;;;;;UAUe;EACf;;EAEA,SAAS;;;;;;;;EAQT;;;;;;;;UASe;EACf;;EAEA;;;;;;;;EAQA;;;UAIe;EACf;;EAEA;;EAEA;;;;;;;;;;UAWe;EACf;;EAEA;;;;;EAKA;;;;;;;UAQe;EACf;;EAEA;EACA;;;;;;UAOe;EACf;;EAEA,WAAW;;EAEX;;;;;;;;;;;KAYU;;;;;;;;UASK,gCAAgC;EAC/C,UAAU;;;UAIK;EACf;EACA,UAAU;;;;;;;;;;UAWK;EACf;EACA;EACA;EACA;;EAEA;;EAEA;;EAEA;;;;;EAKA;;EAEA,QAAQ;;EAER,WAAW;;EAEX,QAAQ;;EAER;EACA;EACA,WAAW;EACX;EACA;EACA,KAAK;;;;;;UAOU;EACf;;EAEA,WAAW;;EAEX;;;;;;;;;;KAWU;;UAGK;;EAEf;;;;;;;;;;;;EAYA,SAAS;;EAET;;EAEA;;;;;EAKA;;;;;;;;;EASA;;;UAIe;;EAEf;;EAEA;;EAEA;;;;;;EAMA;;EAEA,SAAS;;;;;;;;UASM;;EAEf;;EAEA;GACC;;;;;;;;;;;;;;;;;;;;;;;KAwBS;;;;;;;KAYA;EAEN;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA,SAAS;;EAGT;;EAEA,QAAQ;;EAER;;EAEA,UAAU;;;;;;EAMV,gBAAgB;;;;;;;EAOhB,eAAe;;EAGf;;;;;;EAMA,OAAO;;EAEP;EACA;EACA;;EAEA;;EAGA;;EAEA;;EAEA;;;;;EAKA;;;UAIW;;EAEf;;EAEA;;EAEA;;;;;;;KAQU,iBAAiB;EACvB;EAAe,MAAM;;EACrB;EAAgB,QAAQ;;;UAGb;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA,eAAe;;;;;;;KAQL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAyGK;;EAEf,MAAM;;EAEN;;EAEA;;EAEA,SAAS;;;;;;;;;;;;KCp/CC;;;;;UAMK,mBAAmB;EAClC,UAAU;;;UAIK,cAAc;EAC7B;;EAEA,MAAM;;EAEN,QAAQ;;;;;;;UAQO;EACf;EACA,QAAQ;;;;;;;;;;KAWE,sBAAsB,KAAK,cAAc,KAAK;;;;;;;;;;;;KAa9C;;;;;;UAOK,oBAAoB;EACnC,UAAU;;;;;;EAMV;;;;;;UAOe;EACf;IACE;IACA;IACA;;;;;;;;;;;;;;UAea,uBAAuB;EACtC;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf,UAAU;;EAEV,OAAO;EACP;;IAEE;IACA;;IAEA;;IAEA;;;;UAKa;;;;;;;EAOf;;;;;;;;;;;;;;;;;;;;;;;;;;KClHU;EAAwB;EAAc;;;;;;;;;KAStC;;KAeA;;;;;KAkBA;;;;;;;;;;;;;;;;UAiBK;;EAEf;;EAEA,UAAU;;;UAIK;EACf,MAAM;EACN,IAAI;;;UAIW;;EAEf;EACA,MAAM;;EAEN,OAAO;;;;;;;UAQQ;;EAEf;;EAEA;EACA,UAAU;;;;;;EAMV,UAAU;;;;;EAKV;EACA,WAAW;EACX,QAAQ;;EAER;EACA,QAAQ;;;;;;EAMR,QAAQ,QAAQ,OAAO;;;UAIR;;EAEf;EACA;;EAEA;;;;;;;UAQe;EACf;;EAEA;;;;;;EAMA;;EAEA,WAAW;;EAEX,WAAW;;;;;;;;;;;;KAeD;;UAGK;EACf;EACA;;;UAIe,oBAAoB;EACnC;;;UAIe;EACf;EACA,MAAM;;EAEN;;EAEA,OAAO;;;UAIQ;;EAEf;;EAEA;;EAEA,UAAU;;EAEV,OAAO;EACP,KAAK;;UAGU,yBAAyB;EACxC;EACA;;EAEA;;UAGe,wBAAwB;EACvC;EACA;;UAGe;EACf;EACA;;EAEA;EACA;;;UAIe;EACf,YAAY;EACZ,WAAW;EACX,UAAU;;;UAIK;;EAEf;EACA;EACA;;EAEA;EACA,UAAU;EACV,OAAO;;EAEP,UAAU;EACV;;EAEA;;EAEA,OAAO;EACP,OAAO;EACP;EACA,OAAO,QAAQ,OAAO;;;KAIZ;;;;;UAMK;;EAEf;EACA,MAAM;EACN,OAAO;;EAEP;EACA;EACA,WAAW;;EAEX,WAAW;;EAEX,SAAS;;;;;;EAMT,OAAO;;EAEP,OAAO;;EAEP;;EAEA,OAAO;;EAEP,OAAO;;EAEP;;EAEA;;EAEA;;IAEE;;IAEA;IACA;;;UAIa;EACf,QAAQ;EACR,WAAW;;EAEX,OAAO;;EAEP,QAAQ,QAAQ,OAAO,iBAAiB;;;;;;;KAU9B;EACN;EAAY;EAAiB,QAAQ,QAAQ,OAAO,iBAAiB;;EACrE;EAAY;EAAc;EAAc;;;;EAExC;EAAY;EAAiB;EAAkB;EAAkB;;;;EAEjE;EAAY;EAAe;;;;EAE3B;EAAY;EAAgB;EAAkB;EAAkB;;;;EAEhE;EAAY;EAAkB;;EAC9B;EAAY;;;UAGD;EACf;;EAEA;EACA,QAAQ;;;UAIO;;EAEf;;EAEA;;EAEA;;;;;;;;;;;;KAaU;UAEK;EACf;EACA;EACA;EACA;EACA,UAAU;EACV,OAAO;;;;;;EAMP;;EAEA;;EAEA;EACA;;EAEA,OAAO;;EAEP;EACA,OAAO;;EAEP;;UAGe;EACf,UAAU;EACV,OAAO;EACP;EACA;;EAEA;EACA;;UAGe;EACf;EACA,WAAW;EACX,YAAY;EACZ;EACA;;EAEA;;;UAMe;EACf;EACA,YAAY,QAAQ,OAAO;IAAmB,OAAO;IAAY;;;;;;EAKjE;;UAGe;;EAEf;;EAEA;;EAEA,QAAQ;;EAER;;;KCvbU;;;;;;;;;;;UAYK;EACf;EACA,MAAM;;EAEN;;;;;EAKA;;;;;EAKA;;EAEA,QAAQ;;;;;EAKR;;;;;;EAMA,SAAS;;EAET;;EAEA;;;;;;;UAQe;;EAEf;;;;;;EAMA;;;;;EAKA;;EAEA;;;;;EAKA;;;UAIe;;EAEf;;EAEA;;;;;;;;;;UAWe;EACf,MAAM;EACN,WAAW;;;;;;EAMX;;;;;;;;UASe;EACf;;EAEA;;;;;EAKA;;;;;;;;;;;;;UAce,UAAU,QAAQ;EACjC;EACA;EACA;EACA;;;;;;;EAOA;EACA,UAAU;;;;;;;;;;EAUV,QAAQ;IAAU;;;;;;;EAMlB;;;;;;;;EAQA,WAAW;;;;;;;;;EASX,QAAQ;;;;;;;;;;;;;KAcE,cAAc,QAAQ,iBAAiB;EAAU;KAAsB,UAAU;;UAG5E;EACf;EACA;EACA,UAAU;;EAEV;;EAEA;;EAEA,WAAW;;EAEX,MAAM;;;UAIS,aAAa,QAAQ;;;;;;;;;;;;;;;;;;EAkBpC;;EAEA;EACA,UAAU;;EAEV,QAAQ;;;;;;;;;;;UCjNO;;;;;;EAMf;;EAEA;;;;;;;;UASe;WACN;WACA;WACA;WACA;WACA;WACA;;;KAIC;;KAGA;;;;;UAUK;EACf;EACA;EACA;EACA,UAAU;;;KAIA;UAEF;EACR;EACA;;EAEA;;;UAIe;EACf;EACA;EACA;;EAEA;;EAEA;;UAGe,8BAA8B;EAC7C;;;;;EAKA;EACA;EACA;EACA,SAAS;;;UAIM;EACf;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;UAGe,+BAA+B;EAC9C;;;;;EAKA;;EAEA;EACA,QAAQ;;;UAIO;EACf;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;UAGe,yBAAyB;EACxC;;;;;EAKA;;EAEA;EACA,MAAM;;;UAIS;;EAEf;;EAEA;EACA;;UAGe,yBAAyB;EACxC;;EAEA;;EAEA;;EAEA,OAAO;;;;;;KAOG,cACR,wBACA,yBACA,mBACA;;;;;;;UAQa;WACN;WACA;;;;;;;;;UAUM;;EAEf,MAAM;;EAEN;;;;;;EAMA;;EAEA;;EAEA;IAAU,MAAM;IAAuB;;;EAEvC;;EAEA;;;;;;;UAQe;EACf;EACA,OAAO;EACP,OAAO;;EAEP,WAAW;;EAEX;;;;;;;UAQe;EACf;EACA,OAAO;;EAEP;;EAEA;;EAEA,WAAW;EACX;;;UAIe;;EAEf;;EAEA;;EAEA;;;;;;;UAQe;EACf;;EAEA,UAAU;EACV,aAAa;;;;;;;;;;;EAWb,QAAQ;;;;;;;;;;;;;;;;;KAkBE;;UAeK;EACf;EACA;EACA;;;;;;UAOe;EACf;EACA;EACA;;EAEA;EACA;;EAEA;;EAEA;EACA;EACA;EACA;;EAEA,QAAQ;;EAER;;;;;;UAOe;EACf;EACA,OAAO;;EAEP;;EAEA;;;;;EAKA,WAAW;;EAEX;;;;;;;;UASe;EACf;EACA;EACA;;EAEA;EACA;IAAU;IAAe;;;;;;;KAOf,uBAAuB,KAAK;EAA8B;;;;;;UAMrD;;EAEf;EACA,cAAc;EACd,WAAW;EACX,aAAa;EACb,QAAQ;;;;;UAMO;EACf;;;;;EAKA,aAAa;;EAEb,UAAU;;;;;;;;;;;EAWV;EACA,aAAa;EACb,QAAQ;;;UAMO;EACf;EACA;EACA;;;;;EAKA;IAAU;IAAe;;;;;;;UAOV;EACf;EACA;EACA;;EAEA;EACA;;EAEA;;EAEA;EACA;EACA;EACA;;EAEA,QAAQ;;EAER;;;;;;UAOe;EACf;EACA,OAAO;;EAEP,WAAW;;EAEX;;;;;;;;;;;;;;;;KAiBU;;UAWK,gCAAgC;;;;;EAK/C,UAAU;;;UAIK;EACf;EACA,SAAS;EACT;;EAEA;;;;;;;UAQe;EACf;EACA;EACA;;EAEA;EACA;EACA;;EAEA;IAAU;IAAc;;;;;;;EAMxB;;EAEA;;EAEA,QAAQ;;EAER,UAAU;;EAEV;;;;;;;UAQe;EACf;EACA,OAAO;;EAEP,WAAW;;EAEX;;;;;;;;;;;;;;;;;;;;;KAsBU;;UAaK;;EAEf;;EAEA;;;;;EAKA;;EAEA;EACA;;;;;;;UAQe;;EAEf,UAAU;;EAEV;;EAEA,aAAa;;EAEb;;EAEA;EACA,aAAa;EACb,QAAQ;;;UAMO;;EAEf;;EAEA;;EAEA;IAAY;IAAgB;;;;UAIb;;EAEf;;EAEA;;EAEA;EACA;;EAEA;;EAEA,SAAS;;;;;;;UAQM;EACf;EACA;EACA;;EAEA;EACA;EACA;;EAEA;;EAEA;;EAEA;IAAU;IAAmB;IAAkB;IAAuB;;EACtE,OAAO;;;;;;UAOQ;EACf;EACA,OAAO;;EAEP;IAAU;IAAe;IAAkB;;;EAE3C;;;UAIe;;EAEf;;EAEA;;;;;EAKA;IAAU;IAAkB;;;;UAIb;;EAEf;EACA,QAAQ;EACR,aAAa;EACb,QAAQ;;;UAIO;EACf;;;;;EAKA,QAAQ;IAAmB;;EAC3B,aAAa;EACb,QAAQ;;;;;;;;;;;;;;;;;KAoBE;;UAYK;EACf;EACA;;;;;;;UAQe;EACf;EACA;IACE;;IAEA,MAAM,SAAS;;IAEf,QAAQ;;;;;IAKR;MAAY;MAAgB;MAAc;;;IAE1C;;;EAGF;;;UAIe;;EAEf;EACA,MAAM;;EAEN;;EAEA;;;UAIe;EACf,UAAU;EACV,aAAa;EACb,QAAQ;;;;;;;UAQO,0BAA0B;EACzC;EACA;;;UAIe;EACf,UAAU;EACV,aAAa;EACb,QAAQ;;;;;;KASE;;;;;;KAaA;EACN;EAAgC;;EAChC;EAAkB;IAAQ;IAAe;IAAa;;;;UAG3C;EACf;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;;;;;;;;;KAUU,kBAAkB,QAAQ,OAAO,aAAa,SAAS;;;;;;UAOlD;EACf;EACA;;;;;;IAME,eAAe;IACf;MACM;MAAgC;;MAChC;MAAkB,UAAU;;;IAElC;;IAEA;;IAEA;;IAEA;;;;;;;;;EASF,OAAO,SAAS;;EAEhB,WAAW;;;;;;EAMX;IACE;IACA,OAAO,SAAS;IAChB,UAAU;;;;UAKG;;EAEf;EACA,MAAM;;EAEN,OAAO;;EAEP,YAAY;;EAEZ,UAAU;;;;;;EAMV;;;;;;EAMA;IAAS;IAAe;;;EAExB,WAAW,SAAS;;;UAIL;;EAEf,QAAQ;;EAER,UAAU;EACV,aAAa;EACb,QAAQ;;;KAIE;EACN;EAAU,aAAa;EAAc,QAAQ;;EAC7C;EAAW,UAAU;EAAW;;;UAGrB;;EAEf,QAAQ;;EAER,UAAU;;EAEV,OAAO;;;;;;;;UASQ;;EAEf,OAAO;;EAEP,YAAY;;EAEZ,UAAU;;;;;;;;KAWA;;;;;;UAOK;EACf;EACA;EACA;;;KAIU;;UASK;;EAEf;EACA,MAAM;EACN;;;;;;UAOe;;EAEf;;;;;;;EAOA,WAAW,SAAS;;EAEpB,SAAS,SAAS;EAClB,YAAY;;EAEZ;;EAEA;;;;;EAKA;IACE;IACA,YAAY;IACZ;IACA;;;EAGF;IAAoB;IAAc;;;;UAInB;;EAEf;EACA;;;;;;EAMA,SAAS,SAAS;;EAElB;EACA,SAAS;;;;;;UAOM;EACf;EACA;;EAEA;EACA;EACA;;;;;;;;;;UAWe;EACf;EACA;;IAEE,WAAW;;IAEX;IACA;;IAEA,YAAY;IACZ,aAAa;;;;;;IAMb;;IAEA,SAAS;;;;;IAKT;MAAU;MAAiB;;;IAE3B;;IAEA;;;EAGF,OAAO,SAAS;;EAEhB;;EAEA;;EAEA,WAAW;;EAEX;IAAoB;IAAmB;;;EAEvC;IAAwB;;;EAExB,SAAS;;;;;;EAMT;IACE;IACA,UAAU,SAAS;IACnB,UAAU;;;;;;;;UASG;EACf;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;;;;;;;;UASe;EACf;EACA;EACA;EACA;;;UAIe;;EAEf;;EAEA;;EAEA,OAAO;;;;;;;EAOP;;EAEA,YAAY;;EAEZ,YAAY;;EAEZ,UAAU;;EAEV,OAAO;;EAEP,WAAW,SAAS;;;UAIL;;EAEf,UAAU;;EAEV,SAAS;;EAET,UAAU;EACV,aAAa;EACb,QAAQ;;;UAIO;;EAEf,UAAU;;EAEV,SAAS;;EAET,UAAU;;EAEV,SAAS;;EAET,OAAO"}
@@ -1,6 +1,6 @@
1
- const require_registry = require("./registry-DUTE1vtq.cjs");
2
- const require_scoring = require("./scoring-IjLi2fYF.cjs");
3
- const require_item_group = require("./item-group-CqdByaLR.cjs");
1
+ const require_registry = require("./registry-Dw19lNo2.cjs");
2
+ const require_scoring = require("./scoring-EpNBJ8Fs.cjs");
3
+ const require_item_group = require("./item-group-DOk562oI.cjs");
4
4
  // src/ai-material.ts
5
5
  /**
6
6
  * What a model is told about the group a question sits in: the material the
@@ -1458,6 +1458,7 @@ function structureTargets(entry) {
1458
1458
  ...banks.length > 0 ? { banks: banks.map((bank) => ({ choices: isRecord$4(bank) ? listOf$3(bank.choices).length : 0 })) } : {}
1459
1459
  };
1460
1460
  }
1461
+ case "mark-the-words": return { targets: listOf$3(entry.targets).length };
1461
1462
  case "matching": return {
1462
1463
  prompts: listOf$3(entry.prompts).length,
1463
1464
  options: listOf$3(entry.options).length
@@ -1476,6 +1477,7 @@ const SCORED_ALIKE = {
1476
1477
  "fill-in-the-blanks": ["scoringStrategy"],
1477
1478
  "gap-select": ["scoringStrategy", "presentation"],
1478
1479
  matching: ["scoringStrategy", "optionUse"],
1480
+ "mark-the-words": ["scoringStrategy"],
1479
1481
  dictation: ["tolerance", "hints"],
1480
1482
  "read-aloud": [
1481
1483
  "recording",
@@ -1586,6 +1588,10 @@ function itemMisses(exemplar, candidate) {
1586
1588
  }
1587
1589
  });
1588
1590
  if (exemplar.shuffleChoices === true !== (candidate.shuffleChoices === true)) miss(["shuffleChoices"], "Shuffling the choices differs from the exemplar.");
1591
+ } else if (type === "mark-the-words") {
1592
+ const mine = listOf$3(exemplar.targets).length;
1593
+ const theirs = listOf$3(candidate.targets).length;
1594
+ if (mine !== theirs) miss(["targets"], `${count(theirs, "target")}; the exemplar has ${mine}.`);
1589
1595
  } else if (type === "matching") {
1590
1596
  for (const [field, noun] of [["prompts", "prompt"], ["options", "option"]]) {
1591
1597
  const mine = listOf$3(exemplar[field]).length;
@@ -5985,4 +5991,4 @@ Object.defineProperty(exports, "validateItemGroupDraft", {
5985
5991
  }
5986
5992
  });
5987
5993
 
5988
- //# sourceMappingURL=ai-writing-BDSYuifR.cjs.map
5994
+ //# sourceMappingURL=ai-writing-Bm2TUWQ-.cjs.map