@intellectif/lk-core 0.13.0 → 0.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.
- package/CHANGELOG.md +35 -0
- package/README.md +1 -1
- package/dist/{activity-DfAmJ1sl.d.cts → activity-BVkg9VDo.d.cts} +153 -4
- package/dist/{activity-DfAmJ1sl.d.ts → activity-BVkg9VDo.d.ts} +153 -4
- package/dist/{chunk-DQKJUMUW.cjs → chunk-2NIALQEH.cjs} +24 -19
- package/dist/chunk-2NIALQEH.cjs.map +1 -0
- package/dist/{chunk-XKKKWKRH.js → chunk-6RND47QE.js} +694 -126
- package/dist/chunk-6RND47QE.js.map +1 -0
- package/dist/{chunk-FT7SAC3X.cjs → chunk-CZRUMHKW.cjs} +4 -4
- package/dist/{chunk-FT7SAC3X.cjs.map → chunk-CZRUMHKW.cjs.map} +1 -1
- package/dist/chunk-J5OIRIOW.cjs +1034 -0
- package/dist/chunk-J5OIRIOW.cjs.map +1 -0
- package/dist/{chunk-Y36S3X3L.js → chunk-NBADQ3JU.js} +7 -2
- package/dist/chunk-NBADQ3JU.js.map +1 -0
- package/dist/{chunk-PYP3HCRQ.js → chunk-R7PV3XIC.js} +2 -2
- package/dist/chunk-RTIR6R2U.js +1034 -0
- package/dist/chunk-RTIR6R2U.js.map +1 -0
- package/dist/{chunk-XONKWL6D.cjs → chunk-VCXIPLEW.cjs} +585 -17
- package/dist/chunk-VCXIPLEW.cjs.map +1 -0
- package/dist/{index-Bz9wUigA.d.cts → index-BE1bM2Wi.d.cts} +225 -3
- package/dist/{index-CJbbVE9o.d.ts → index-v2_-Fyn3.d.ts} +225 -3
- package/dist/index.cjs +113 -80
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +50 -17
- package/dist/index.d.ts +50 -17
- package/dist/index.js +39 -6
- package/dist/index.js.map +1 -1
- package/dist/schemas.cjs +11 -3
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +2 -2
- package/dist/schemas.d.ts +2 -2
- package/dist/schemas.js +10 -2
- package/dist/scoring.cjs +23 -3
- package/dist/scoring.cjs.map +1 -1
- package/dist/scoring.d.cts +471 -16
- package/dist/scoring.d.ts +471 -16
- package/dist/scoring.js +24 -4
- package/dist/xapi.cjs +3 -3
- package/dist/xapi.d.cts +1 -1
- package/dist/xapi.d.ts +1 -1
- package/dist/xapi.js +2 -2
- package/package.json +1 -1
- package/vectors/README.md +63 -3
- package/vectors/replay.d.mts +7 -2
- package/vectors/replay.mjs +83 -1
- package/vectors/scoring.json +10875 -2
- package/dist/chunk-DQKJUMUW.cjs.map +0 -1
- package/dist/chunk-FGN4LLSP.js +0 -387
- package/dist/chunk-FGN4LLSP.js.map +0 -1
- package/dist/chunk-UHQVIC3P.cjs +0 -387
- package/dist/chunk-UHQVIC3P.cjs.map +0 -1
- package/dist/chunk-XKKKWKRH.js.map +0 -1
- package/dist/chunk-XONKWL6D.cjs.map +0 -1
- package/dist/chunk-Y36S3X3L.js.map +0 -1
- /package/dist/{chunk-PYP3HCRQ.js.map → chunk-R7PV3XIC.js.map} +0 -0
package/dist/index.d.cts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ScoredItem } from './scoring.cjs';
|
|
2
|
-
export { AssessmentScore, AssessmentSectionInput, Band, CompositionPolicy, DEFAULT_PASS_THRESHOLD, DICTATION_MAX_ACCEPTED_TRANSCRIPTS, DICTATION_MAX_EQUIVALENCES, DICTATION_MAX_EQUIVALENCE_LENGTH, DICTATION_MAX_TEXT_LENGTH, DICTATION_MAX_TRANSCRIPT_LENGTH, DictationAlignment, DictationCharOp, DictationReference, DictationWordAlignment, PassFailureReason, RoundingMode,
|
|
3
|
-
import {
|
|
4
|
-
export { b as ActivityFeedback, d as ActivityResult, B as BlankConfig,
|
|
5
|
-
import {
|
|
6
|
-
export { B as BlankConfigSchema, D as DictationDataSchema, a as DictationEquivalenceSchema, b as DictationSlowMediaSchema, c as DictationToleranceSchema, F as FeedbackSchema, d as FillInTheBlanksDataSchema, G as GapSelectBankSchema, e as GapSelectChoiceSchema, f as GapSelectDataSchema, g as GapSelectGapSchema, h as ItemGroupSchema, M as MediaPlaybackSchema, i as MediaSchema, j as MediaUrlSchema, k as MultipleChoiceDataSchema, l as MultipleChoiceOptionMediaSchema, m as MultipleChoiceOptionSchema, N as NativeControlHintSchema, R as
|
|
1
|
+
import { ScoredItem, RoundingPolicy } from './scoring.cjs';
|
|
2
|
+
export { AssessmentScore, AssessmentSectionInput, Band, CompositionPolicy, DEFAULT_PASS_THRESHOLD, DICTATION_MAX_ACCEPTED_TRANSCRIPTS, DICTATION_MAX_EQUIVALENCES, DICTATION_MAX_EQUIVALENCE_LENGTH, DICTATION_MAX_TEXT_LENGTH, DICTATION_MAX_TRANSCRIPT_LENGTH, DictationAlignment, DictationCharOp, DictationReference, DictationWordAlignment, GradeReadAloudOptions, PassFailureReason, READ_ALOUD_MAX_DIMENSION_WEIGHT, READ_ALOUD_MAX_REFERENCE_LENGTH, READ_ALOUD_MAX_SECONDS, READ_ALOUD_MAX_TAKES, ReadAloudWordAlignment, ReadAloudWordState, RoundingMode, SPEECH_ASSESSMENT_MAX_WORDS, ScoringOptions, SectionScore, SpeechAssessment, SpeechMeasurement, SpeechPhoneme, SpeechPhonemeCandidate, SpeechPlausibilityPolicy, SpeechSyllable, SpeechUnscorable, SpeechUnscorableCode, SpeechWord, SpeechWordError, WavInspection, WavInspectionPolicy, alignDictation, alignReadAloud, classifyBand, composeAssessmentScore, computePassThreshold, dictationReferenceWords, diffDictationChars, evaluate, gradeReadAloud, gte, inspectWav, outcomeFromUnscorable, roundGrade, score, validateSpeechAssessment } from './scoring.cjs';
|
|
3
|
+
import { x as ItemOutcome, A as ActivityData, L as LearnerResponse, Z as ValidationError, e as ActivityType, a as ActivityDataMap, C as CriterionScore, q as GradeRecord, N as NativeControlHint, c as ActivityMedia, W as ScoringResult, f as DeferredScoringPartial, g as DictationData, i as DictationLearnerResponse, F as FillInTheBlanksData, l as FillInTheBlanksLearnerResponse, n as GapSelectData, p as GapSelectLearnerResponse, z as MultipleChoiceData, E as MultipleChoiceLearnerResponse, R as ReadAloudData, P as ReadAloudLearnerResponse, $ as WrittenResponseData, a0 as WrittenResponseLearnerResponse } from './activity-BVkg9VDo.cjs';
|
|
4
|
+
export { b as ActivityFeedback, d as ActivityResult, B as BlankConfig, D as DeferredReason, h as DictationEquivalence, j as DictationSlowMedia, k as DictationTolerance, G as GapSelectBank, m as GapSelectChoice, o as GapSelectGap, r as Grader, s as GraderKind, t as GraderUsage, u as GradingState, I as InlineCorrection, v as InteractionEvent, w as InteractionKind, y as LearnerResponseMap, M as MediaPlaybackPolicy, H as MultipleChoiceOption, J as MultipleChoiceOptionMedia, K as ReadAloudDimension, O as ReadAloudDimensionWeight, Q as ReadAloudSlowMedia, S as RecordingBounds, T as RecordingRef, U as ScoringDetail, V as ScoringOutcome, X as TextMatchPolicy, Y as TextMatchResult, _ as ValidationResult, a1 as WrittenResponseRubric, a2 as WrittenResponseRubricCriterion, a3 as XAPIActor, a4 as XAPIConfig, a5 as XAPIContext, a6 as XAPIContextActivities, a7 as XAPIError, a8 as XAPIObject, a9 as XAPIResult, aa as XAPIScore, ab as XAPIStatement, ac as XAPIVerbObject, ad as levenshteinDistance, ae as matchText } from './activity-BVkg9VDo.cjs';
|
|
5
|
+
import { a0 as SequenceSlot, $ as SequenceEntry, I as ItemGroup } from './index-BE1bM2Wi.cjs';
|
|
6
|
+
export { B as BlankConfigSchema, D as DictationDataSchema, a as DictationEquivalenceSchema, b as DictationSlowMediaSchema, c as DictationToleranceSchema, F as FeedbackSchema, d as FillInTheBlanksDataSchema, G as GapSelectBankSchema, e as GapSelectChoiceSchema, f as GapSelectDataSchema, g as GapSelectGapSchema, h as ItemGroupSchema, M as MediaPlaybackSchema, i as MediaSchema, j as MediaUrlSchema, k as MultipleChoiceDataSchema, l as MultipleChoiceOptionMediaSchema, m as MultipleChoiceOptionSchema, N as NativeControlHintSchema, R as ReadAloudDataSchema, n as ReadAloudSlowMediaSchema, o as RedactedActivity, p as RedactedBlankConfig, q as RedactedBlankConfigSchema, r as RedactedDictationData, s as RedactedDictationDataSchema, t as RedactedDictationSlowMedia, u as RedactedDictationSlowMediaSchema, v as RedactedFillInTheBlanksData, w as RedactedFillInTheBlanksDataSchema, x as RedactedGapSelectBank, y as RedactedGapSelectBankSchema, z as RedactedGapSelectChoice, A as RedactedGapSelectChoiceSchema, C as RedactedGapSelectData, E as RedactedGapSelectDataSchema, H as RedactedGapSelectGap, J as RedactedGapSelectGapSchema, K as RedactedItemGroupSchema, L as RedactedMediaSchema, O as RedactedMultipleChoiceData, P as RedactedMultipleChoiceDataSchema, Q as RedactedMultipleChoiceOption, S as RedactedMultipleChoiceOptionMedia, T as RedactedMultipleChoiceOptionMediaSchema, U as RedactedMultipleChoiceOptionSchema, V as RedactedReadAloudData, W as RedactedReadAloudDataSchema, X as RedactedStimulus, Y as RedactedStimulusSchema, Z as RedactedWrittenResponseData, _ as RedactedWrittenResponseDataSchema, a1 as SequenceSlotGroup, a2 as Stimulus, a3 as StimulusKind, a4 as StimulusSchema, a5 as TextMatchPolicySchema, a6 as WrittenResponseDataSchema, a7 as WrittenResponseRubricCriterionSchema, a8 as WrittenResponseRubricSchema, a9 as dictationJsonSchema, aa as fillInTheBlanksJsonSchema, ab as gapSelectJsonSchema, ac as itemGroupJsonSchema, ad as jsonSchemaFor, ae as multipleChoiceJsonSchema, af as readAloudJsonSchema, ag as stimulusJsonSchema, ah as validateActivity, ai as validateItemGroup, aj as writtenResponseJsonSchema } from './index-BE1bM2Wi.cjs';
|
|
7
7
|
import { z } from 'zod/v4';
|
|
8
8
|
export { AnsweredStatementParams, CompletedStatementParams, SubmittedStatementParams, XAPIObjectParams, XAPIStatementParams, XAPIVerb, XAPIVerbKey, XAPI_VERB_DISPLAY, validateXAPIStatement, xAPIBuilder, xapiDefinitionFor } from './xapi.cjs';
|
|
9
9
|
|
|
@@ -413,6 +413,11 @@ declare function createItemGroupDraft(context: DraftContext): ItemGroup;
|
|
|
413
413
|
*
|
|
414
414
|
* The group is `complete` only when the container passes, every item passes its
|
|
415
415
|
* own schema, and every item is itself `complete`.
|
|
416
|
+
*
|
|
417
|
+
* @throws the error a registered item type's `checkDraft` or schema throws, as
|
|
418
|
+
* `validateDraft` does for that item on its own. Only an unregistered type is
|
|
419
|
+
* turned into an issue: a fault in a type's own code is not a problem with the
|
|
420
|
+
* draft, and reporting it as an unknown type would hide it.
|
|
416
421
|
*/
|
|
417
422
|
declare function validateItemGroupDraft(draft: unknown): DraftValidationResult<ItemGroup>;
|
|
418
423
|
|
|
@@ -532,12 +537,14 @@ declare class UnknownActivityTypeError extends Error {
|
|
|
532
537
|
constructor(activityType: string);
|
|
533
538
|
}
|
|
534
539
|
/**
|
|
535
|
-
* Thrown when
|
|
536
|
-
* activity data whose answer key is missing, yielding a non-finite
|
|
537
|
-
* Redacted data is learner-safe precisely because the key was removed,
|
|
538
|
-
* score derived from it is meaningless — previously this produced a silent
|
|
539
|
-
* `NaN` that serialized to `null` in a grade column. `evaluate()`
|
|
540
|
-
*
|
|
540
|
+
* Thrown when a grading entry point is asked to grade a `redact()` projection
|
|
541
|
+
* (or any activity data whose answer key is missing, yielding a non-finite
|
|
542
|
+
* score). Redacted data is learner-safe precisely because the key was removed,
|
|
543
|
+
* so a score derived from it is meaningless — previously this produced a silent
|
|
544
|
+
* `NaN` that serialized to `null` in a grade column. `evaluate()` answers the
|
|
545
|
+
* same input without throwing, but it never grades it: a synchronously graded
|
|
546
|
+
* type comes back `unscorable`, and a deferred one `deferred`, as it does for
|
|
547
|
+
* any item of that type.
|
|
541
548
|
*/
|
|
542
549
|
declare class RedactedScoringError extends Error {
|
|
543
550
|
readonly activityType: string;
|
|
@@ -564,6 +571,19 @@ interface GradeFromRubricOptions {
|
|
|
564
571
|
passThreshold?: number;
|
|
565
572
|
/** Narrative feedback for the learner, carried onto the record verbatim. */
|
|
566
573
|
feedback?: string | null;
|
|
574
|
+
/**
|
|
575
|
+
* Compare the pass line the way the score is displayed — both sides rounded,
|
|
576
|
+
* via `gte` — whichever threshold applies: `passThreshold` above, the
|
|
577
|
+
* activity's own, or the 0.7 default. The returned `score` stays unrounded.
|
|
578
|
+
* Opt-in, as on `score()` and `evaluate()`: switching it on moves pass/fail
|
|
579
|
+
* for totals in the rounding band.
|
|
580
|
+
*
|
|
581
|
+
* Checked before any criterion is read: `null` reads as no policy, and a
|
|
582
|
+
* policy that cannot be applied — an unknown `mode`, or a `dp` that is not a
|
|
583
|
+
* whole number from 0 to 15 — throws a `RangeError`, even for a rubric that
|
|
584
|
+
* turns out to be unscorable.
|
|
585
|
+
*/
|
|
586
|
+
rounding?: RoundingPolicy;
|
|
567
587
|
}
|
|
568
588
|
/**
|
|
569
589
|
* Computes the weighted total from per-criterion scores — the arithmetic that
|
|
@@ -812,7 +832,9 @@ type PartialScoringResult = Omit<ScoringResult, 'passed'>;
|
|
|
812
832
|
* - `public` — safe to send to a learner before they answer.
|
|
813
833
|
* - `answer-key` — reveals (or helps infer) the correct answer or the scoring
|
|
814
834
|
* rules; removed unless `reveal: 'after-submit'` is requested.
|
|
815
|
-
* - `author-only` — never leaves the authoring/grading context (e.g.
|
|
835
|
+
* - `author-only` — never leaves the authoring/grading context (e.g. the
|
|
836
|
+
* author transcript of a listening group's stimulus). A rubric is NOT one:
|
|
837
|
+
* it tells the learner what they are assessed on, so it is `public`.
|
|
816
838
|
*/
|
|
817
839
|
type Sensitivity = 'public' | 'answer-key' | 'author-only';
|
|
818
840
|
/**
|
|
@@ -1011,9 +1033,13 @@ interface RedactOptions {
|
|
|
1011
1033
|
*
|
|
1012
1034
|
* Overrides can only be applied to fields; they cannot re-open a field the
|
|
1013
1035
|
* caller has not classified, because unclassified still means removed.
|
|
1014
|
-
*
|
|
1015
|
-
*
|
|
1016
|
-
* the learner-safe shape
|
|
1036
|
+
* What can be tightened is a field the type's `redactedSchema` leaves
|
|
1037
|
+
* OPTIONAL, as it leaves the rubric above: the schema check rejects a
|
|
1038
|
+
* payload that reveals more than the learner-safe shape, and equally one
|
|
1039
|
+
* that is missing part of it. Tightening a field the redacted shape requires
|
|
1040
|
+
* — a read-aloud item's `scoring`, `recording`, `referenceText` or `locale`,
|
|
1041
|
+
* without which the learner has no item to read — throws
|
|
1042
|
+
* {@link ActivitySchemaError} instead of hiding it.
|
|
1017
1043
|
*/
|
|
1018
1044
|
policy?: FieldPolicy;
|
|
1019
1045
|
}
|
|
@@ -1090,6 +1116,13 @@ declare const gapSelectType: ActivityTypeDescriptor<GapSelectData, GapSelectLear
|
|
|
1090
1116
|
* computation identical in a browser and on a server.
|
|
1091
1117
|
*/
|
|
1092
1118
|
declare const dictationType: ActivityTypeDescriptor<DictationData, DictationLearnerResponse>;
|
|
1119
|
+
/**
|
|
1120
|
+
* Built-in Read Aloud descriptor. Grading is DEFERRED: the SDK calls no
|
|
1121
|
+
* assessor, so the synchronous outcome reports only whether a recording was
|
|
1122
|
+
* stored, and `gradeReadAloud` produces the grade once the application holds a
|
|
1123
|
+
* speech assessment.
|
|
1124
|
+
*/
|
|
1125
|
+
declare const readAloudType: ActivityTypeDescriptor<ReadAloudData, ReadAloudLearnerResponse>;
|
|
1093
1126
|
|
|
1094
1127
|
/**
|
|
1095
1128
|
* Seeded, deterministic shuffling — the ONE algorithm every presentation-order
|
|
@@ -1190,4 +1223,4 @@ interface ThemeTokens {
|
|
|
1190
1223
|
'--lk-transition-base': string;
|
|
1191
1224
|
}
|
|
1192
1225
|
|
|
1193
|
-
export { ActivityData, ActivityDataMap, ActivityMedia, ActivitySchemaError, ActivityType, type ActivityTypeAuthoring, type ActivityTypeDescriptor, type ActivityTypeInterop, type ActivityTypeScoring, type AttemptPlan, type AttemptPlanDrift, type AttemptPlanSlot, type AttemptProgress, type AttemptState, CriterionScore, DeferredScoringError, DeferredScoringPartial, DictationData, DictationLearnerResponse, type DraftComplete, type DraftContext, type DraftIssue, type DraftNotComplete, type DraftSeverity, type DraftValidationResult, type FieldPolicy, FillInTheBlanksData, FillInTheBlanksLearnerResponse, type FlattenSequenceOptions, GapSelectData, GapSelectLearnerResponse, type GradeFromRubricOptions, GradeRecord, ItemGroup, ItemOutcome, LearnerResponse, type MediaBudgetRef, type MediaPlayClaim, type MediaPlayGrant, type MediaPlayLedger, type MediaPlayLedgerEntry, type MissingOutcomePolicy, MultipleChoiceData, MultipleChoiceLearnerResponse, NativeControlHint, type PartialScoringResult, type PlanAttemptOptions, type PlannableEntry, type RedactOptions, type RedactedActivityData, type RedactedItemGroup, RedactedScoringError, type RegisteredActivityTypeDescriptor, type ResolvedPlaybackPolicy, type ResponseDiffEntry, ScoredItem, ScoringResult, type SeededShuffleOptions, type Sensitivity, SequenceEntry, SequenceSlot, type ShuffleVersion, type ThemeTokens, UnknownActivityTypeError, ValidationError, WrittenResponseData, WrittenResponseLearnerResponse, type XAPIInteractionType, assertRedacted, assertRedactedItemGroup, canonicalJson, contentHash, countWords, createDraft, createItemGroupDraft, defineActivityType, dictationType, diffResponses, entryKeyOf, fillInTheBlanksType, fingerprint, flattenSequence, gapSelectType, getActivityTypeDescriptor, gradeFromRubric, hasGrade, hashSeed, isItemGroup, multipleChoiceType, outcomeFromGrade, planAttempt, planMediaBudgets, redact, redactItemGroup, registerActivityType, registeredActivityTypes, resolvePlaybackPolicy, restoreAttemptState, restoreMediaPlayLedger, scoredItemsFromPlan, seededShuffle, serializeAttemptState, serializeMediaPlayLedger, slotMediaKey, stimulusMediaKey, validateDraft, validateItemGroupDraft, verifyAttemptPlan, writtenResponseType };
|
|
1226
|
+
export { ActivityData, ActivityDataMap, ActivityMedia, ActivitySchemaError, ActivityType, type ActivityTypeAuthoring, type ActivityTypeDescriptor, type ActivityTypeInterop, type ActivityTypeScoring, type AttemptPlan, type AttemptPlanDrift, type AttemptPlanSlot, type AttemptProgress, type AttemptState, CriterionScore, DeferredScoringError, DeferredScoringPartial, DictationData, DictationLearnerResponse, type DraftComplete, type DraftContext, type DraftIssue, type DraftNotComplete, type DraftSeverity, type DraftValidationResult, type FieldPolicy, FillInTheBlanksData, FillInTheBlanksLearnerResponse, type FlattenSequenceOptions, GapSelectData, GapSelectLearnerResponse, type GradeFromRubricOptions, GradeRecord, ItemGroup, ItemOutcome, LearnerResponse, type MediaBudgetRef, type MediaPlayClaim, type MediaPlayGrant, type MediaPlayLedger, type MediaPlayLedgerEntry, type MissingOutcomePolicy, MultipleChoiceData, MultipleChoiceLearnerResponse, NativeControlHint, type PartialScoringResult, type PlanAttemptOptions, type PlannableEntry, ReadAloudData, ReadAloudLearnerResponse, type RedactOptions, type RedactedActivityData, type RedactedItemGroup, RedactedScoringError, type RegisteredActivityTypeDescriptor, type ResolvedPlaybackPolicy, type ResponseDiffEntry, RoundingPolicy, ScoredItem, ScoringResult, type SeededShuffleOptions, type Sensitivity, SequenceEntry, SequenceSlot, type ShuffleVersion, type ThemeTokens, UnknownActivityTypeError, ValidationError, WrittenResponseData, WrittenResponseLearnerResponse, type XAPIInteractionType, assertRedacted, assertRedactedItemGroup, canonicalJson, contentHash, countWords, createDraft, createItemGroupDraft, defineActivityType, dictationType, diffResponses, entryKeyOf, fillInTheBlanksType, fingerprint, flattenSequence, gapSelectType, getActivityTypeDescriptor, gradeFromRubric, hasGrade, hashSeed, isItemGroup, multipleChoiceType, outcomeFromGrade, planAttempt, planMediaBudgets, readAloudType, redact, redactItemGroup, registerActivityType, registeredActivityTypes, resolvePlaybackPolicy, restoreAttemptState, restoreMediaPlayLedger, scoredItemsFromPlan, seededShuffle, serializeAttemptState, serializeMediaPlayLedger, slotMediaKey, stimulusMediaKey, validateDraft, validateItemGroupDraft, verifyAttemptPlan, writtenResponseType };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ScoredItem } from './scoring.js';
|
|
2
|
-
export { AssessmentScore, AssessmentSectionInput, Band, CompositionPolicy, DEFAULT_PASS_THRESHOLD, DICTATION_MAX_ACCEPTED_TRANSCRIPTS, DICTATION_MAX_EQUIVALENCES, DICTATION_MAX_EQUIVALENCE_LENGTH, DICTATION_MAX_TEXT_LENGTH, DICTATION_MAX_TRANSCRIPT_LENGTH, DictationAlignment, DictationCharOp, DictationReference, DictationWordAlignment, PassFailureReason, RoundingMode,
|
|
3
|
-
import {
|
|
4
|
-
export { b as ActivityFeedback, d as ActivityResult, B as BlankConfig,
|
|
5
|
-
import {
|
|
6
|
-
export { B as BlankConfigSchema, D as DictationDataSchema, a as DictationEquivalenceSchema, b as DictationSlowMediaSchema, c as DictationToleranceSchema, F as FeedbackSchema, d as FillInTheBlanksDataSchema, G as GapSelectBankSchema, e as GapSelectChoiceSchema, f as GapSelectDataSchema, g as GapSelectGapSchema, h as ItemGroupSchema, M as MediaPlaybackSchema, i as MediaSchema, j as MediaUrlSchema, k as MultipleChoiceDataSchema, l as MultipleChoiceOptionMediaSchema, m as MultipleChoiceOptionSchema, N as NativeControlHintSchema, R as
|
|
1
|
+
import { ScoredItem, RoundingPolicy } from './scoring.js';
|
|
2
|
+
export { AssessmentScore, AssessmentSectionInput, Band, CompositionPolicy, DEFAULT_PASS_THRESHOLD, DICTATION_MAX_ACCEPTED_TRANSCRIPTS, DICTATION_MAX_EQUIVALENCES, DICTATION_MAX_EQUIVALENCE_LENGTH, DICTATION_MAX_TEXT_LENGTH, DICTATION_MAX_TRANSCRIPT_LENGTH, DictationAlignment, DictationCharOp, DictationReference, DictationWordAlignment, GradeReadAloudOptions, PassFailureReason, READ_ALOUD_MAX_DIMENSION_WEIGHT, READ_ALOUD_MAX_REFERENCE_LENGTH, READ_ALOUD_MAX_SECONDS, READ_ALOUD_MAX_TAKES, ReadAloudWordAlignment, ReadAloudWordState, RoundingMode, SPEECH_ASSESSMENT_MAX_WORDS, ScoringOptions, SectionScore, SpeechAssessment, SpeechMeasurement, SpeechPhoneme, SpeechPhonemeCandidate, SpeechPlausibilityPolicy, SpeechSyllable, SpeechUnscorable, SpeechUnscorableCode, SpeechWord, SpeechWordError, WavInspection, WavInspectionPolicy, alignDictation, alignReadAloud, classifyBand, composeAssessmentScore, computePassThreshold, dictationReferenceWords, diffDictationChars, evaluate, gradeReadAloud, gte, inspectWav, outcomeFromUnscorable, roundGrade, score, validateSpeechAssessment } from './scoring.js';
|
|
3
|
+
import { x as ItemOutcome, A as ActivityData, L as LearnerResponse, Z as ValidationError, e as ActivityType, a as ActivityDataMap, C as CriterionScore, q as GradeRecord, N as NativeControlHint, c as ActivityMedia, W as ScoringResult, f as DeferredScoringPartial, g as DictationData, i as DictationLearnerResponse, F as FillInTheBlanksData, l as FillInTheBlanksLearnerResponse, n as GapSelectData, p as GapSelectLearnerResponse, z as MultipleChoiceData, E as MultipleChoiceLearnerResponse, R as ReadAloudData, P as ReadAloudLearnerResponse, $ as WrittenResponseData, a0 as WrittenResponseLearnerResponse } from './activity-BVkg9VDo.js';
|
|
4
|
+
export { b as ActivityFeedback, d as ActivityResult, B as BlankConfig, D as DeferredReason, h as DictationEquivalence, j as DictationSlowMedia, k as DictationTolerance, G as GapSelectBank, m as GapSelectChoice, o as GapSelectGap, r as Grader, s as GraderKind, t as GraderUsage, u as GradingState, I as InlineCorrection, v as InteractionEvent, w as InteractionKind, y as LearnerResponseMap, M as MediaPlaybackPolicy, H as MultipleChoiceOption, J as MultipleChoiceOptionMedia, K as ReadAloudDimension, O as ReadAloudDimensionWeight, Q as ReadAloudSlowMedia, S as RecordingBounds, T as RecordingRef, U as ScoringDetail, V as ScoringOutcome, X as TextMatchPolicy, Y as TextMatchResult, _ as ValidationResult, a1 as WrittenResponseRubric, a2 as WrittenResponseRubricCriterion, a3 as XAPIActor, a4 as XAPIConfig, a5 as XAPIContext, a6 as XAPIContextActivities, a7 as XAPIError, a8 as XAPIObject, a9 as XAPIResult, aa as XAPIScore, ab as XAPIStatement, ac as XAPIVerbObject, ad as levenshteinDistance, ae as matchText } from './activity-BVkg9VDo.js';
|
|
5
|
+
import { a0 as SequenceSlot, $ as SequenceEntry, I as ItemGroup } from './index-v2_-Fyn3.js';
|
|
6
|
+
export { B as BlankConfigSchema, D as DictationDataSchema, a as DictationEquivalenceSchema, b as DictationSlowMediaSchema, c as DictationToleranceSchema, F as FeedbackSchema, d as FillInTheBlanksDataSchema, G as GapSelectBankSchema, e as GapSelectChoiceSchema, f as GapSelectDataSchema, g as GapSelectGapSchema, h as ItemGroupSchema, M as MediaPlaybackSchema, i as MediaSchema, j as MediaUrlSchema, k as MultipleChoiceDataSchema, l as MultipleChoiceOptionMediaSchema, m as MultipleChoiceOptionSchema, N as NativeControlHintSchema, R as ReadAloudDataSchema, n as ReadAloudSlowMediaSchema, o as RedactedActivity, p as RedactedBlankConfig, q as RedactedBlankConfigSchema, r as RedactedDictationData, s as RedactedDictationDataSchema, t as RedactedDictationSlowMedia, u as RedactedDictationSlowMediaSchema, v as RedactedFillInTheBlanksData, w as RedactedFillInTheBlanksDataSchema, x as RedactedGapSelectBank, y as RedactedGapSelectBankSchema, z as RedactedGapSelectChoice, A as RedactedGapSelectChoiceSchema, C as RedactedGapSelectData, E as RedactedGapSelectDataSchema, H as RedactedGapSelectGap, J as RedactedGapSelectGapSchema, K as RedactedItemGroupSchema, L as RedactedMediaSchema, O as RedactedMultipleChoiceData, P as RedactedMultipleChoiceDataSchema, Q as RedactedMultipleChoiceOption, S as RedactedMultipleChoiceOptionMedia, T as RedactedMultipleChoiceOptionMediaSchema, U as RedactedMultipleChoiceOptionSchema, V as RedactedReadAloudData, W as RedactedReadAloudDataSchema, X as RedactedStimulus, Y as RedactedStimulusSchema, Z as RedactedWrittenResponseData, _ as RedactedWrittenResponseDataSchema, a1 as SequenceSlotGroup, a2 as Stimulus, a3 as StimulusKind, a4 as StimulusSchema, a5 as TextMatchPolicySchema, a6 as WrittenResponseDataSchema, a7 as WrittenResponseRubricCriterionSchema, a8 as WrittenResponseRubricSchema, a9 as dictationJsonSchema, aa as fillInTheBlanksJsonSchema, ab as gapSelectJsonSchema, ac as itemGroupJsonSchema, ad as jsonSchemaFor, ae as multipleChoiceJsonSchema, af as readAloudJsonSchema, ag as stimulusJsonSchema, ah as validateActivity, ai as validateItemGroup, aj as writtenResponseJsonSchema } from './index-v2_-Fyn3.js';
|
|
7
7
|
import { z } from 'zod/v4';
|
|
8
8
|
export { AnsweredStatementParams, CompletedStatementParams, SubmittedStatementParams, XAPIObjectParams, XAPIStatementParams, XAPIVerb, XAPIVerbKey, XAPI_VERB_DISPLAY, validateXAPIStatement, xAPIBuilder, xapiDefinitionFor } from './xapi.js';
|
|
9
9
|
|
|
@@ -413,6 +413,11 @@ declare function createItemGroupDraft(context: DraftContext): ItemGroup;
|
|
|
413
413
|
*
|
|
414
414
|
* The group is `complete` only when the container passes, every item passes its
|
|
415
415
|
* own schema, and every item is itself `complete`.
|
|
416
|
+
*
|
|
417
|
+
* @throws the error a registered item type's `checkDraft` or schema throws, as
|
|
418
|
+
* `validateDraft` does for that item on its own. Only an unregistered type is
|
|
419
|
+
* turned into an issue: a fault in a type's own code is not a problem with the
|
|
420
|
+
* draft, and reporting it as an unknown type would hide it.
|
|
416
421
|
*/
|
|
417
422
|
declare function validateItemGroupDraft(draft: unknown): DraftValidationResult<ItemGroup>;
|
|
418
423
|
|
|
@@ -532,12 +537,14 @@ declare class UnknownActivityTypeError extends Error {
|
|
|
532
537
|
constructor(activityType: string);
|
|
533
538
|
}
|
|
534
539
|
/**
|
|
535
|
-
* Thrown when
|
|
536
|
-
* activity data whose answer key is missing, yielding a non-finite
|
|
537
|
-
* Redacted data is learner-safe precisely because the key was removed,
|
|
538
|
-
* score derived from it is meaningless — previously this produced a silent
|
|
539
|
-
* `NaN` that serialized to `null` in a grade column. `evaluate()`
|
|
540
|
-
*
|
|
540
|
+
* Thrown when a grading entry point is asked to grade a `redact()` projection
|
|
541
|
+
* (or any activity data whose answer key is missing, yielding a non-finite
|
|
542
|
+
* score). Redacted data is learner-safe precisely because the key was removed,
|
|
543
|
+
* so a score derived from it is meaningless — previously this produced a silent
|
|
544
|
+
* `NaN` that serialized to `null` in a grade column. `evaluate()` answers the
|
|
545
|
+
* same input without throwing, but it never grades it: a synchronously graded
|
|
546
|
+
* type comes back `unscorable`, and a deferred one `deferred`, as it does for
|
|
547
|
+
* any item of that type.
|
|
541
548
|
*/
|
|
542
549
|
declare class RedactedScoringError extends Error {
|
|
543
550
|
readonly activityType: string;
|
|
@@ -564,6 +571,19 @@ interface GradeFromRubricOptions {
|
|
|
564
571
|
passThreshold?: number;
|
|
565
572
|
/** Narrative feedback for the learner, carried onto the record verbatim. */
|
|
566
573
|
feedback?: string | null;
|
|
574
|
+
/**
|
|
575
|
+
* Compare the pass line the way the score is displayed — both sides rounded,
|
|
576
|
+
* via `gte` — whichever threshold applies: `passThreshold` above, the
|
|
577
|
+
* activity's own, or the 0.7 default. The returned `score` stays unrounded.
|
|
578
|
+
* Opt-in, as on `score()` and `evaluate()`: switching it on moves pass/fail
|
|
579
|
+
* for totals in the rounding band.
|
|
580
|
+
*
|
|
581
|
+
* Checked before any criterion is read: `null` reads as no policy, and a
|
|
582
|
+
* policy that cannot be applied — an unknown `mode`, or a `dp` that is not a
|
|
583
|
+
* whole number from 0 to 15 — throws a `RangeError`, even for a rubric that
|
|
584
|
+
* turns out to be unscorable.
|
|
585
|
+
*/
|
|
586
|
+
rounding?: RoundingPolicy;
|
|
567
587
|
}
|
|
568
588
|
/**
|
|
569
589
|
* Computes the weighted total from per-criterion scores — the arithmetic that
|
|
@@ -812,7 +832,9 @@ type PartialScoringResult = Omit<ScoringResult, 'passed'>;
|
|
|
812
832
|
* - `public` — safe to send to a learner before they answer.
|
|
813
833
|
* - `answer-key` — reveals (or helps infer) the correct answer or the scoring
|
|
814
834
|
* rules; removed unless `reveal: 'after-submit'` is requested.
|
|
815
|
-
* - `author-only` — never leaves the authoring/grading context (e.g.
|
|
835
|
+
* - `author-only` — never leaves the authoring/grading context (e.g. the
|
|
836
|
+
* author transcript of a listening group's stimulus). A rubric is NOT one:
|
|
837
|
+
* it tells the learner what they are assessed on, so it is `public`.
|
|
816
838
|
*/
|
|
817
839
|
type Sensitivity = 'public' | 'answer-key' | 'author-only';
|
|
818
840
|
/**
|
|
@@ -1011,9 +1033,13 @@ interface RedactOptions {
|
|
|
1011
1033
|
*
|
|
1012
1034
|
* Overrides can only be applied to fields; they cannot re-open a field the
|
|
1013
1035
|
* caller has not classified, because unclassified still means removed.
|
|
1014
|
-
*
|
|
1015
|
-
*
|
|
1016
|
-
* the learner-safe shape
|
|
1036
|
+
* What can be tightened is a field the type's `redactedSchema` leaves
|
|
1037
|
+
* OPTIONAL, as it leaves the rubric above: the schema check rejects a
|
|
1038
|
+
* payload that reveals more than the learner-safe shape, and equally one
|
|
1039
|
+
* that is missing part of it. Tightening a field the redacted shape requires
|
|
1040
|
+
* — a read-aloud item's `scoring`, `recording`, `referenceText` or `locale`,
|
|
1041
|
+
* without which the learner has no item to read — throws
|
|
1042
|
+
* {@link ActivitySchemaError} instead of hiding it.
|
|
1017
1043
|
*/
|
|
1018
1044
|
policy?: FieldPolicy;
|
|
1019
1045
|
}
|
|
@@ -1090,6 +1116,13 @@ declare const gapSelectType: ActivityTypeDescriptor<GapSelectData, GapSelectLear
|
|
|
1090
1116
|
* computation identical in a browser and on a server.
|
|
1091
1117
|
*/
|
|
1092
1118
|
declare const dictationType: ActivityTypeDescriptor<DictationData, DictationLearnerResponse>;
|
|
1119
|
+
/**
|
|
1120
|
+
* Built-in Read Aloud descriptor. Grading is DEFERRED: the SDK calls no
|
|
1121
|
+
* assessor, so the synchronous outcome reports only whether a recording was
|
|
1122
|
+
* stored, and `gradeReadAloud` produces the grade once the application holds a
|
|
1123
|
+
* speech assessment.
|
|
1124
|
+
*/
|
|
1125
|
+
declare const readAloudType: ActivityTypeDescriptor<ReadAloudData, ReadAloudLearnerResponse>;
|
|
1093
1126
|
|
|
1094
1127
|
/**
|
|
1095
1128
|
* Seeded, deterministic shuffling — the ONE algorithm every presentation-order
|
|
@@ -1190,4 +1223,4 @@ interface ThemeTokens {
|
|
|
1190
1223
|
'--lk-transition-base': string;
|
|
1191
1224
|
}
|
|
1192
1225
|
|
|
1193
|
-
export { ActivityData, ActivityDataMap, ActivityMedia, ActivitySchemaError, ActivityType, type ActivityTypeAuthoring, type ActivityTypeDescriptor, type ActivityTypeInterop, type ActivityTypeScoring, type AttemptPlan, type AttemptPlanDrift, type AttemptPlanSlot, type AttemptProgress, type AttemptState, CriterionScore, DeferredScoringError, DeferredScoringPartial, DictationData, DictationLearnerResponse, type DraftComplete, type DraftContext, type DraftIssue, type DraftNotComplete, type DraftSeverity, type DraftValidationResult, type FieldPolicy, FillInTheBlanksData, FillInTheBlanksLearnerResponse, type FlattenSequenceOptions, GapSelectData, GapSelectLearnerResponse, type GradeFromRubricOptions, GradeRecord, ItemGroup, ItemOutcome, LearnerResponse, type MediaBudgetRef, type MediaPlayClaim, type MediaPlayGrant, type MediaPlayLedger, type MediaPlayLedgerEntry, type MissingOutcomePolicy, MultipleChoiceData, MultipleChoiceLearnerResponse, NativeControlHint, type PartialScoringResult, type PlanAttemptOptions, type PlannableEntry, type RedactOptions, type RedactedActivityData, type RedactedItemGroup, RedactedScoringError, type RegisteredActivityTypeDescriptor, type ResolvedPlaybackPolicy, type ResponseDiffEntry, ScoredItem, ScoringResult, type SeededShuffleOptions, type Sensitivity, SequenceEntry, SequenceSlot, type ShuffleVersion, type ThemeTokens, UnknownActivityTypeError, ValidationError, WrittenResponseData, WrittenResponseLearnerResponse, type XAPIInteractionType, assertRedacted, assertRedactedItemGroup, canonicalJson, contentHash, countWords, createDraft, createItemGroupDraft, defineActivityType, dictationType, diffResponses, entryKeyOf, fillInTheBlanksType, fingerprint, flattenSequence, gapSelectType, getActivityTypeDescriptor, gradeFromRubric, hasGrade, hashSeed, isItemGroup, multipleChoiceType, outcomeFromGrade, planAttempt, planMediaBudgets, redact, redactItemGroup, registerActivityType, registeredActivityTypes, resolvePlaybackPolicy, restoreAttemptState, restoreMediaPlayLedger, scoredItemsFromPlan, seededShuffle, serializeAttemptState, serializeMediaPlayLedger, slotMediaKey, stimulusMediaKey, validateDraft, validateItemGroupDraft, verifyAttemptPlan, writtenResponseType };
|
|
1226
|
+
export { ActivityData, ActivityDataMap, ActivityMedia, ActivitySchemaError, ActivityType, type ActivityTypeAuthoring, type ActivityTypeDescriptor, type ActivityTypeInterop, type ActivityTypeScoring, type AttemptPlan, type AttemptPlanDrift, type AttemptPlanSlot, type AttemptProgress, type AttemptState, CriterionScore, DeferredScoringError, DeferredScoringPartial, DictationData, DictationLearnerResponse, type DraftComplete, type DraftContext, type DraftIssue, type DraftNotComplete, type DraftSeverity, type DraftValidationResult, type FieldPolicy, FillInTheBlanksData, FillInTheBlanksLearnerResponse, type FlattenSequenceOptions, GapSelectData, GapSelectLearnerResponse, type GradeFromRubricOptions, GradeRecord, ItemGroup, ItemOutcome, LearnerResponse, type MediaBudgetRef, type MediaPlayClaim, type MediaPlayGrant, type MediaPlayLedger, type MediaPlayLedgerEntry, type MissingOutcomePolicy, MultipleChoiceData, MultipleChoiceLearnerResponse, NativeControlHint, type PartialScoringResult, type PlanAttemptOptions, type PlannableEntry, ReadAloudData, ReadAloudLearnerResponse, type RedactOptions, type RedactedActivityData, type RedactedItemGroup, RedactedScoringError, type RegisteredActivityTypeDescriptor, type ResolvedPlaybackPolicy, type ResponseDiffEntry, RoundingPolicy, ScoredItem, ScoringResult, type SeededShuffleOptions, type Sensitivity, SequenceEntry, SequenceSlot, type ShuffleVersion, type ThemeTokens, UnknownActivityTypeError, ValidationError, WrittenResponseData, WrittenResponseLearnerResponse, type XAPIInteractionType, assertRedacted, assertRedactedItemGroup, canonicalJson, contentHash, countWords, createDraft, createItemGroupDraft, defineActivityType, dictationType, diffResponses, entryKeyOf, fillInTheBlanksType, fingerprint, flattenSequence, gapSelectType, getActivityTypeDescriptor, gradeFromRubric, hasGrade, hashSeed, isItemGroup, multipleChoiceType, outcomeFromGrade, planAttempt, planMediaBudgets, readAloudType, redact, redactItemGroup, registerActivityType, registeredActivityTypes, resolvePlaybackPolicy, restoreAttemptState, restoreMediaPlayLedger, scoredItemsFromPlan, seededShuffle, serializeAttemptState, serializeMediaPlayLedger, slotMediaKey, stimulusMediaKey, validateDraft, validateItemGroupDraft, verifyAttemptPlan, writtenResponseType };
|
package/dist/index.js
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_PASS_THRESHOLD,
|
|
3
|
+
alignReadAloud,
|
|
3
4
|
classifyBand,
|
|
4
5
|
composeAssessmentScore,
|
|
5
6
|
computePassThreshold,
|
|
6
7
|
diffDictationChars,
|
|
7
8
|
evaluate,
|
|
8
9
|
gradeFromRubric,
|
|
10
|
+
gradeReadAloud,
|
|
9
11
|
gte,
|
|
10
12
|
hasGrade,
|
|
13
|
+
inspectWav,
|
|
11
14
|
outcomeFromGrade,
|
|
15
|
+
outcomeFromUnscorable,
|
|
12
16
|
roundGrade,
|
|
13
|
-
score
|
|
14
|
-
|
|
17
|
+
score,
|
|
18
|
+
validateSpeechAssessment
|
|
19
|
+
} from "./chunk-RTIR6R2U.js";
|
|
15
20
|
import {
|
|
16
21
|
XAPIVerb,
|
|
17
22
|
XAPI_VERB_DISPLAY,
|
|
18
23
|
validateXAPIStatement,
|
|
19
24
|
xAPIBuilder,
|
|
20
25
|
xapiDefinitionFor
|
|
21
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-R7PV3XIC.js";
|
|
22
27
|
import {
|
|
23
28
|
ItemGroupSchema,
|
|
24
29
|
RedactedItemGroupSchema,
|
|
@@ -30,11 +35,12 @@ import {
|
|
|
30
35
|
itemGroupJsonSchema,
|
|
31
36
|
jsonSchemaFor,
|
|
32
37
|
multipleChoiceJsonSchema,
|
|
38
|
+
readAloudJsonSchema,
|
|
33
39
|
stimulusJsonSchema,
|
|
34
40
|
validateActivity,
|
|
35
41
|
validateItemGroup,
|
|
36
42
|
writtenResponseJsonSchema
|
|
37
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-NBADQ3JU.js";
|
|
38
44
|
import {
|
|
39
45
|
ActivitySchemaError,
|
|
40
46
|
BlankConfigSchema,
|
|
@@ -64,6 +70,12 @@ import {
|
|
|
64
70
|
MultipleChoiceOptionMediaSchema,
|
|
65
71
|
MultipleChoiceOptionSchema,
|
|
66
72
|
NativeControlHintSchema,
|
|
73
|
+
READ_ALOUD_MAX_DIMENSION_WEIGHT,
|
|
74
|
+
READ_ALOUD_MAX_REFERENCE_LENGTH,
|
|
75
|
+
READ_ALOUD_MAX_SECONDS,
|
|
76
|
+
READ_ALOUD_MAX_TAKES,
|
|
77
|
+
ReadAloudDataSchema,
|
|
78
|
+
ReadAloudSlowMediaSchema,
|
|
67
79
|
RedactedBlankConfigSchema,
|
|
68
80
|
RedactedDictationDataSchema,
|
|
69
81
|
RedactedDictationSlowMediaSchema,
|
|
@@ -76,8 +88,10 @@ import {
|
|
|
76
88
|
RedactedMultipleChoiceDataSchema,
|
|
77
89
|
RedactedMultipleChoiceOptionMediaSchema,
|
|
78
90
|
RedactedMultipleChoiceOptionSchema,
|
|
91
|
+
RedactedReadAloudDataSchema,
|
|
79
92
|
RedactedScoringError,
|
|
80
93
|
RedactedWrittenResponseDataSchema,
|
|
94
|
+
SPEECH_ASSESSMENT_MAX_WORDS,
|
|
81
95
|
TextMatchPolicySchema,
|
|
82
96
|
UnknownActivityTypeError,
|
|
83
97
|
WrittenResponseDataSchema,
|
|
@@ -104,12 +118,13 @@ import {
|
|
|
104
118
|
matchText,
|
|
105
119
|
multipleChoiceType,
|
|
106
120
|
pathKey,
|
|
121
|
+
readAloudType,
|
|
107
122
|
refusesEmpty,
|
|
108
123
|
registerActivityType,
|
|
109
124
|
registeredActivityTypes,
|
|
110
125
|
withValidationScope,
|
|
111
126
|
writtenResponseType
|
|
112
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-6RND47QE.js";
|
|
113
128
|
|
|
114
129
|
// src/content-hash.ts
|
|
115
130
|
function canonicalJson(value, seen = /* @__PURE__ */ new Set()) {
|
|
@@ -858,7 +873,10 @@ function checkItems(draft) {
|
|
|
858
873
|
let result;
|
|
859
874
|
try {
|
|
860
875
|
result = validateDraft(item.type, item);
|
|
861
|
-
} catch {
|
|
876
|
+
} catch (error) {
|
|
877
|
+
if (!(error instanceof UnknownActivityTypeError) || error.activityType !== item.type) {
|
|
878
|
+
throw error;
|
|
879
|
+
}
|
|
862
880
|
issues.push(
|
|
863
881
|
issue(
|
|
864
882
|
"ig_item_type_unknown",
|
|
@@ -1207,6 +1225,12 @@ export {
|
|
|
1207
1225
|
MultipleChoiceOptionMediaSchema,
|
|
1208
1226
|
MultipleChoiceOptionSchema,
|
|
1209
1227
|
NativeControlHintSchema,
|
|
1228
|
+
READ_ALOUD_MAX_DIMENSION_WEIGHT,
|
|
1229
|
+
READ_ALOUD_MAX_REFERENCE_LENGTH,
|
|
1230
|
+
READ_ALOUD_MAX_SECONDS,
|
|
1231
|
+
READ_ALOUD_MAX_TAKES,
|
|
1232
|
+
ReadAloudDataSchema,
|
|
1233
|
+
ReadAloudSlowMediaSchema,
|
|
1210
1234
|
RedactedBlankConfigSchema,
|
|
1211
1235
|
RedactedDictationDataSchema,
|
|
1212
1236
|
RedactedDictationSlowMediaSchema,
|
|
@@ -1220,9 +1244,11 @@ export {
|
|
|
1220
1244
|
RedactedMultipleChoiceDataSchema,
|
|
1221
1245
|
RedactedMultipleChoiceOptionMediaSchema,
|
|
1222
1246
|
RedactedMultipleChoiceOptionSchema,
|
|
1247
|
+
RedactedReadAloudDataSchema,
|
|
1223
1248
|
RedactedScoringError,
|
|
1224
1249
|
RedactedStimulusSchema,
|
|
1225
1250
|
RedactedWrittenResponseDataSchema,
|
|
1251
|
+
SPEECH_ASSESSMENT_MAX_WORDS,
|
|
1226
1252
|
StimulusSchema,
|
|
1227
1253
|
TextMatchPolicySchema,
|
|
1228
1254
|
UnknownActivityTypeError,
|
|
@@ -1232,6 +1258,7 @@ export {
|
|
|
1232
1258
|
XAPIVerb,
|
|
1233
1259
|
XAPI_VERB_DISPLAY,
|
|
1234
1260
|
alignDictation,
|
|
1261
|
+
alignReadAloud,
|
|
1235
1262
|
assertRedacted,
|
|
1236
1263
|
assertRedactedItemGroup,
|
|
1237
1264
|
canonicalJson,
|
|
@@ -1258,9 +1285,11 @@ export {
|
|
|
1258
1285
|
gapSelectType,
|
|
1259
1286
|
getActivityTypeDescriptor,
|
|
1260
1287
|
gradeFromRubric,
|
|
1288
|
+
gradeReadAloud,
|
|
1261
1289
|
gte,
|
|
1262
1290
|
hasGrade,
|
|
1263
1291
|
hashSeed,
|
|
1292
|
+
inspectWav,
|
|
1264
1293
|
isItemGroup,
|
|
1265
1294
|
itemGroupJsonSchema,
|
|
1266
1295
|
jsonSchemaFor,
|
|
@@ -1269,8 +1298,11 @@ export {
|
|
|
1269
1298
|
multipleChoiceJsonSchema,
|
|
1270
1299
|
multipleChoiceType,
|
|
1271
1300
|
outcomeFromGrade,
|
|
1301
|
+
outcomeFromUnscorable,
|
|
1272
1302
|
planAttempt,
|
|
1273
1303
|
planMediaBudgets,
|
|
1304
|
+
readAloudJsonSchema,
|
|
1305
|
+
readAloudType,
|
|
1274
1306
|
redact,
|
|
1275
1307
|
redactItemGroup,
|
|
1276
1308
|
registerActivityType,
|
|
@@ -1291,6 +1323,7 @@ export {
|
|
|
1291
1323
|
validateDraft,
|
|
1292
1324
|
validateItemGroup,
|
|
1293
1325
|
validateItemGroupDraft,
|
|
1326
|
+
validateSpeechAssessment,
|
|
1294
1327
|
validateXAPIStatement,
|
|
1295
1328
|
verifyAttemptPlan,
|
|
1296
1329
|
writtenResponseJsonSchema,
|