@intellectif/lk-core 1.4.0 → 1.6.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 (89) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/README.md +2 -0
  3. package/dist/ai-check.cjs +175 -17
  4. package/dist/ai-check.cjs.map +1 -1
  5. package/dist/ai-check.d.cts +13 -5
  6. package/dist/ai-check.d.cts.map +1 -1
  7. package/dist/ai-check.d.ts +13 -5
  8. package/dist/ai-check.d.ts.map +1 -1
  9. package/dist/ai-check.js +175 -17
  10. package/dist/ai-check.js.map +1 -1
  11. package/dist/{ai-CnmLPMzd.d.ts → ai-i3jwXnpX.d.cts} +242 -7
  12. package/dist/ai-i3jwXnpX.d.cts.map +1 -0
  13. package/dist/{ai-CnmLPMzd.d.cts → ai-i3jwXnpX.d.ts} +242 -7
  14. package/dist/ai-i3jwXnpX.d.ts.map +1 -0
  15. package/dist/{ai-writing-G6tnCGzw.cjs → ai-writing-C4YRVrFi.cjs} +683 -72
  16. package/dist/ai-writing-C4YRVrFi.cjs.map +1 -0
  17. package/dist/{ai-writing-CPpH9Qxq.js → ai-writing-OJ5m_1EB.js} +663 -88
  18. package/dist/ai-writing-OJ5m_1EB.js.map +1 -0
  19. package/dist/{index-BqMXWuNC.d.cts → index--U7hHV0s.d.cts} +2 -2
  20. package/dist/{index-BqMXWuNC.d.cts.map → index--U7hHV0s.d.cts.map} +1 -1
  21. package/dist/{index-B54baFUA.d.ts → index-CFRgZLhH.d.cts} +45 -12
  22. package/dist/index-CFRgZLhH.d.cts.map +1 -0
  23. package/dist/{index-CVWvymVb.d.ts → index-DeD8EI1D.d.ts} +327 -3
  24. package/dist/index-DeD8EI1D.d.ts.map +1 -0
  25. package/dist/{index-CcHDTxIZ.d.ts → index-Dj92T76o.d.ts} +2 -2
  26. package/dist/{index-CcHDTxIZ.d.ts.map → index-Dj92T76o.d.ts.map} +1 -1
  27. package/dist/{index-BAfEHCnD.d.cts → index-Uh1u57yq.d.cts} +327 -3
  28. package/dist/index-Uh1u57yq.d.cts.map +1 -0
  29. package/dist/{index-2nigSf4N.d.cts → index-WBHSrIUU.d.ts} +45 -12
  30. package/dist/index-WBHSrIUU.d.ts.map +1 -0
  31. package/dist/index.cjs +88 -131
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.d.cts +217 -95
  34. package/dist/index.d.cts.map +1 -1
  35. package/dist/index.d.ts +217 -95
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +60 -118
  38. package/dist/index.js.map +1 -1
  39. package/dist/{item-group-DXiR8nOr.js → item-group-BbvvH_Ob.js} +3 -2
  40. package/dist/item-group-BbvvH_Ob.js.map +1 -0
  41. package/dist/{item-group-DroFXgLb.cjs → item-group-CQRbb8Rx.cjs} +3 -2
  42. package/dist/item-group-CQRbb8Rx.cjs.map +1 -0
  43. package/dist/{registry-Dsx9mNsS.js → registry-B23o9UWh.js} +218 -21
  44. package/dist/registry-B23o9UWh.js.map +1 -0
  45. package/dist/{registry-DVi0LR_i.cjs → registry-Ih5n4PVZ.cjs} +265 -20
  46. package/dist/registry-Ih5n4PVZ.cjs.map +1 -0
  47. package/dist/{schemas-DVbAOrtd.cjs → schemas-Q2dyOgc2.cjs} +77 -14
  48. package/dist/schemas-Q2dyOgc2.cjs.map +1 -0
  49. package/dist/{schemas-Bdw0nGPo.js → schemas-yId-bJhD.js} +72 -15
  50. package/dist/schemas-yId-bJhD.js.map +1 -0
  51. package/dist/schemas.cjs +5 -2
  52. package/dist/schemas.d.cts +2 -2
  53. package/dist/schemas.d.ts +2 -2
  54. package/dist/schemas.js +4 -3
  55. package/dist/{scoring-BZqUkuDF.js → scoring-CLMdk8i9.js} +657 -3
  56. package/dist/scoring-CLMdk8i9.js.map +1 -0
  57. package/dist/{scoring-B2_HEhMT.cjs → scoring-CaPS6q8b.cjs} +722 -2
  58. package/dist/scoring-CaPS6q8b.cjs.map +1 -0
  59. package/dist/scoring.cjs +8 -2
  60. package/dist/scoring.d.cts +3 -3
  61. package/dist/scoring.d.ts +3 -3
  62. package/dist/scoring.js +3 -3
  63. package/dist/{xapi-DNzkSJ0S.cjs → xapi-BX0hvRRB.cjs} +2 -2
  64. package/dist/{xapi-DNzkSJ0S.cjs.map → xapi-BX0hvRRB.cjs.map} +1 -1
  65. package/dist/{xapi-CMTph7wG.js → xapi-Cdk9fTvV.js} +2 -2
  66. package/dist/{xapi-CMTph7wG.js.map → xapi-Cdk9fTvV.js.map} +1 -1
  67. package/dist/xapi.cjs +1 -1
  68. package/dist/xapi.d.cts +1 -1
  69. package/dist/xapi.d.ts +1 -1
  70. package/dist/xapi.js +1 -2
  71. package/package.json +2 -2
  72. package/vectors/README.md +24 -1
  73. package/vectors/scoring.json +18182 -1
  74. package/dist/ai-CnmLPMzd.d.cts.map +0 -1
  75. package/dist/ai-CnmLPMzd.d.ts.map +0 -1
  76. package/dist/ai-writing-CPpH9Qxq.js.map +0 -1
  77. package/dist/ai-writing-G6tnCGzw.cjs.map +0 -1
  78. package/dist/index-2nigSf4N.d.cts.map +0 -1
  79. package/dist/index-B54baFUA.d.ts.map +0 -1
  80. package/dist/index-BAfEHCnD.d.cts.map +0 -1
  81. package/dist/index-CVWvymVb.d.ts.map +0 -1
  82. package/dist/item-group-DXiR8nOr.js.map +0 -1
  83. package/dist/item-group-DroFXgLb.cjs.map +0 -1
  84. package/dist/registry-DVi0LR_i.cjs.map +0 -1
  85. package/dist/registry-Dsx9mNsS.js.map +0 -1
  86. package/dist/schemas-Bdw0nGPo.js.map +0 -1
  87. package/dist/schemas-DVbAOrtd.cjs.map +0 -1
  88. package/dist/scoring-B2_HEhMT.cjs.map +0 -1
  89. package/dist/scoring-BZqUkuDF.js.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- import { $ as AiWritingFeedbackRequest, $t as ReadAloudDimension, A as AiGapSelectFacts, An as InlineCorrection, At as DictationLearnerResponse, B as AiReadingFacts, Bt as InteractionEvent, C as AiDraftsCall, Cn as XAPIVerbObject, Ct as ActivityResult, D as AiFeature, Dn as GraderKind, Dt as DeferredScoringPartial, E as AiExplanationRequest, En as Grader, Et as DeferredReason, F as AiItemFacts, Ft as GapSelectBank, G as AiSupportedActivityType, Gt as MediaPlaybackPolicy, H as AiRefusal, Ht as ItemOutcome, I as AiMaterialFacts, It as GapSelectChoice, J as AiVideoDraft, Jt as MultipleChoiceLearnerResponse, K as AiTextResult, Kt as MediaTrack, L as AiMultipleChoiceFacts, Lt as GapSelectData, M as AiGrade, Mn as TextMatchResult, Mt as DictationTolerance, N as AiGroupInput, Nn as levenshteinDistance, Nt as FillInTheBlanksData, O as AiFillInTheBlanksFacts, On as GraderUsage, Ot as DictationData, P as AiHintRequest, Pn as matchText, Pt as FillInTheBlanksLearnerResponse, Q as AiWritingFeedback, Qt as ReadAloudData, R as AiOptionFact, Rt as GapSelectGap, S as AiDrafts, Sn as XAPIStatement, St as ActivityMedia, T as AiDraftsRun, Tn as GradeRecord, Tt as BlankConfig, U as AiRubricCriterionFact, Ut as LearnerResponse, V as AiReadingWordFact, Vt as InteractionKind, W as AiSoundFact, Wt as LearnerResponseMap, X as AiWritingCorrection, Xt as MultipleChoiceOptionMedia, Y as AiWordFact, Yt as MultipleChoiceOption, Z as AiWritingFacts, Zt as NativeControlHint, _ as AiDraftCaption, _n as XAPIContextActivities, _t as ItemFinding, a as AiCoachingRequest, an as ScoringDetail, at as SequenceSlot, b as AiDraftSource, bn as XAPIResult, bt as ActivityDataMap, c as AiCriterionJudgement, cn as ValidationError, ct as StimulusKind, d as AiCritiqueFinding, dn as WrittenResponseLearnerResponse, dt as DraftComplete, en as ReadAloudDimensionWeight, et as AiWritingFeedbackResult, f as AiCritiqueFindingResult, fn as WrittenResponseRubric, ft as DraftContext, g as AiDictationFacts, gn as XAPIContext, gt as DraftValidationResult, h as AiCritiqueResult, hn as XAPIConfig, ht as DraftSeverity, i as AiCoaching, in as RecordingRef, it as SequenceEntry, j as AiGeneratedDraft, jn as TextMatchPolicy, jt as DictationSlowMedia, k as AiGapFact, kn as GradingState, kt as DictationEquivalence, l as AiCritique, ln as ValidationResult, lt as TimelineChapter, m as AiCritiqueRequest, mn as XAPIActor, mt as DraftNotComplete, n as AiActivityInput, nn as ReadAloudSlowMedia, nt as MediaProgress, o as AiCoachingResult, on as ScoringOutcome, ot as SequenceSlotGroup, p as AiCritiqueKind, pn as WrittenResponseRubricCriterion, pt as DraftIssue, q as AiVerdict, qt as MultipleChoiceData, r as AiBlankFact, rn as RecordingBounds, rt as MediaTimeline, s as AiCoachingWord, sn as ScoringResult, st as Stimulus, t as ActivityAiPermissions, tn as ReadAloudLearnerResponse, tt as ItemGroup, u as AiCritiqueField, un as WrittenResponseData, ut as TimelineCue, v as AiDraftProblem, vn as XAPIError, vt as ItemFindingSeverity, w as AiDraftsRequest, wn as CriterionScore, wt as ActivityType, x as AiDraftType, xn as XAPIScore, xt as ActivityFeedback, y as AiDraftSettings, yn as XAPIObject, yt as ActivityData, z as AiProvenance, zt as GapSelectLearnerResponse } from "./ai-CnmLPMzd.cjs";
2
- import { $ as SpeechAssessment, A as diffDictationChars, B as ItemTry, C as validateItemScoringPolicy, D as DICTATION_MAX_TEXT_LENGTH, E as DICTATION_MAX_EQUIVALENCE_LENGTH, F as dictationReferenceWords, G as CompositionPolicy, H as ResolvedItemScoringPolicy, I as ItemScoringCount, J as SectionScore, K as PassFailureReason, L as ItemScoringPolicy, M as DictationReference, N as DictationWordAlignment, O as DICTATION_MAX_TRANSCRIPT_LENGTH, P as alignDictation, Q as ReadAloudWordState, R as ItemScoringPolicyIssue, S as scoreTries, T as DICTATION_MAX_EQUIVALENCES, U as AssessmentScore, V as ItemTryScore, W as AssessmentSectionInput, X as GradeReadAloudOptions, Y as composeAssessmentScore, Z as ReadAloudWordAlignment, _ as DEFAULT_PASS_THRESHOLD, a as evaluateTries, at as SpeechUnscorable, b as ITEM_SCORING_MAX_RETRIES, c as inspectWav, ct as SpeechWordError, d as READ_ALOUD_MAX_SECONDS, dt as Band, et as SpeechMeasurement, f as READ_ALOUD_MAX_TAKES, ft as RoundingMode, g as alignReadAloud, gt as roundGrade, h as validateSpeechAssessment, ht as gte, i as evaluate, it as SpeechSyllable, j as DictationAlignment, k as DictationCharOp, l as READ_ALOUD_MAX_DIMENSION_WEIGHT, lt as WavInspection, m as gradeReadAloud, mt as classifyBand, n as ItemTriesOutcome, nt as SpeechPhonemeCandidate, o as score, ot as SpeechUnscorableCode, p as SPEECH_ASSESSMENT_MAX_WORDS, pt as RoundingPolicy, q as ScoredItem, r as ScoringOptions, rt as SpeechPlausibilityPolicy, s as outcomeFromUnscorable, st as SpeechWord, t as EvaluateOptions, tt as SpeechPhoneme, u as READ_ALOUD_MAX_REFERENCE_LENGTH, ut as WavInspectionPolicy, v as computePassThreshold, w as DICTATION_MAX_ACCEPTED_TRANSCRIPTS, x as resolveItemScoringPolicy, y as DEFAULT_ITEM_SCORING_POLICY, z as ItemTriesScore } from "./index-BAfEHCnD.cjs";
3
- import { C as RedactedMultipleChoiceData, D as RedactedStimulus, E as RedactedReadAloudData, O as RedactedWrittenResponseData, S as RedactedGapSelectGap, T as RedactedMultipleChoiceOptionMedia, _ as RedactedDictationSlowMedia, a as fillInTheBlanksJsonSchema, b as RedactedGapSelectChoice, c as jsonSchemaFor, d as stimulusJsonSchema, f as writtenResponseJsonSchema, g as RedactedDictationData, h as RedactedBlankConfig, i as dictationJsonSchema, l as multipleChoiceJsonSchema, m as RedactedActivity, n as validateMedia, o as gapSelectJsonSchema, p as validateItemGroup, r as validateOptionMedia, s as itemGroupJsonSchema, t as validateActivity, u as readAloudJsonSchema, v as RedactedFillInTheBlanksData, w as RedactedMultipleChoiceOption, x as RedactedGapSelectData, y as RedactedGapSelectBank } from "./index-2nigSf4N.cjs";
4
- import { a as XAPIObjectParams, c as xapiDefinitionFor, d as XAPI_VERB_DISPLAY, i as SubmittedStatementParams, l as XAPIVerb, n as AnsweredStatementParams, o as XAPIStatementParams, r as CompletedStatementParams, s as xAPIBuilder, t as validateXAPIStatement, u as XAPIVerbKey } from "./index-BqMXWuNC.cjs";
1
+ import { $ as AiVerdict, $t as MultipleChoiceData, A as AiGapSelectFacts, An as XAPIStatement, At as ActivityType, B as AiHintRequest, Bn as GradingState, Bt as FillInTheBlanksLearnerResponse, C as AiDraftsCall, Cn as XAPIConfig, Ct as ItemFinding, D as AiFeature, Dn as XAPIObject, Dt as ActivityFeedback, E as AiExplanationRequest, En as XAPIError, Et as ActivityDataMap, F as AiGradingFacts, Fn as GradeRoutingReason, Ft as DictationEquivalence, G as AiProvenance, Gn as matchText, Gt as GapSelectLearnerResponse, H as AiMaterialFacts, Hn as TextMatchPolicy, Ht as GapSelectChoice, I as AiGradingJudgement, In as Grader, It as DictationLearnerResponse, J as AiRefusal, Jt as ItemOutcome, K as AiReadingFacts, Kt as InteractionEvent, L as AiGradingRequest, Ln as GraderConfiguration, Lt as DictationSlowMedia, M as AiGrade, Mn as CriterionScore, Mt as DeferredReason, N as AiGradedCriterion, Nn as GradeRecord, Nt as DeferredScoringPartial, O as AiFillInTheBlanksFacts, On as XAPIResult, Ot as ActivityMedia, P as AiGradingCriterionFact, Pn as GradeRouting, Pt as DictationData, Q as AiTextResult, Qt as MediaTrack, R as AiGradingRequestProblem, Rn as GraderKind, Rt as DictationTolerance, S as AiDrafts, Sn as XAPIActor, St as DraftValidationResult, T as AiDraftsRun, Tn as XAPIContextActivities, Tt as ActivityData, U as AiMultipleChoiceFacts, Un as TextMatchResult, Ut as GapSelectData, V as AiItemFacts, Vn as InlineCorrection, Vt as GapSelectBank, W as AiOptionFact, Wn as levenshteinDistance, Wt as GapSelectGap, X as AiSoundFact, Xt as LearnerResponseMap, Y as AiRubricCriterionFact, Yt as LearnerResponse, Z as AiSupportedActivityType, Zt as MediaPlaybackPolicy, _ as AiDraftCaption, _n as WrittenResponseData, _t as DraftComplete, a as AiCoachingRequest, an as ReadAloudDimension, at as AiWritingFeedbackRequest, b as AiDraftSource, bn as WrittenResponseRubricCriterion, bt as DraftNotComplete, c as AiCriterionJudgement, cn as ReadAloudSlowMedia, ct as MediaProgress, d as AiCritiqueFinding, dn as ScoringDetail, dt as SequenceSlot, en as MultipleChoiceLearnerResponse, et as AiVideoDraft, f as AiCritiqueFindingResult, fn as ScoringOutcome, ft as SequenceSlotGroup, g as AiDictationFacts, gn as ValidationResult, gt as TimelineCue, h as AiCritiqueResult, hn as ValidationError, ht as TimelineChapter, i as AiCoaching, in as ReadAloudData, it as AiWritingFeedback, j as AiGeneratedDraft, jn as XAPIVerbObject, jt as BlankConfig, k as AiGapFact, kn as XAPIScore, kt as ActivityResult, l as AiCritique, ln as RecordingBounds, lt as MediaTimeline, m as AiCritiqueRequest, mn as ScriptTurn, mt as StimulusKind, n as AiActivityInput, nn as MultipleChoiceOptionMedia, nt as AiWritingCorrection, o as AiCoachingResult, on as ReadAloudDimensionWeight, ot as AiWritingFeedbackResult, p as AiCritiqueKind, pn as ScoringResult, pt as Stimulus, q as AiReadingWordFact, qt as InteractionKind, r as AiBlankFact, rn as NativeControlHint, rt as AiWritingFacts, s as AiCoachingWord, sn as ReadAloudLearnerResponse, st as ItemGroup, t as ActivityAiPermissions, tn as MultipleChoiceOption, tt as AiWordFact, u as AiCritiqueField, un as RecordingRef, ut as SequenceEntry, v as AiDraftProblem, vn as WrittenResponseLearnerResponse, vt as DraftContext, w as AiDraftsRequest, wn as XAPIContext, wt as ItemFindingSeverity, x as AiDraftType, xn as WrittenResponseRubricLevel, xt as DraftSeverity, y as AiDraftSettings, yn as WrittenResponseRubric, yt as DraftIssue, z as AiGroupInput, zn as GraderUsage, zt as FillInTheBlanksData } from "./ai-i3jwXnpX.cjs";
2
+ import { $ as hasGrade, A as diffDictationChars, At as Band, B as outcomeFromRoutedGrade, C as validateItemScoringPolicy, Ct as SpeechSyllable, D as DICTATION_MAX_TEXT_LENGTH, Dt as SpeechWordError, E as DICTATION_MAX_EQUIVALENCE_LENGTH, Et as SpeechWord, F as dictationReferenceWords, Ft as roundGrade, G as CalibrationReport, H as GradeFromJudgementOptions, I as CalibrationThresholds, J as TotalCalibration, K as CalibrationScope, L as GradeRoutingContext, M as DictationReference, Mt as RoundingPolicy, N as DictationWordAlignment, Nt as classifyBand, O as DICTATION_MAX_TRANSCRIPT_LENGTH, Ot as WavInspection, P as alignDictation, Pt as gte, Q as gradeFromRubric, R as GradeRoutingPolicy, S as scoreTries, St as SpeechPlausibilityPolicy, T as DICTATION_MAX_EQUIVALENCES, Tt as SpeechUnscorableCode, U as gradeFromJudgement, V as routeGrade, W as CalibrationPair, X as graderConfiguration, Y as calibrationReport, Z as GradeFromRubricOptions, _ as DEFAULT_PASS_THRESHOLD, _t as ReadAloudWordState, a as evaluateTries, at as ItemTry, b as ITEM_SCORING_MAX_RETRIES, bt as SpeechPhoneme, c as inspectWav, ct as AssessmentScore, d as READ_ALOUD_MAX_SECONDS, dt as PassFailureReason, et as outcomeFromGrade, f as READ_ALOUD_MAX_TAKES, ft as ScoredItem, g as alignReadAloud, gt as ReadAloudWordAlignment, h as validateSpeechAssessment, ht as GradeReadAloudOptions, i as evaluate, it as ItemTriesScore, j as DictationAlignment, jt as RoundingMode, k as DictationCharOp, kt as WavInspectionPolicy, l as READ_ALOUD_MAX_DIMENSION_WEIGHT, lt as AssessmentSectionInput, m as gradeReadAloud, mt as composeAssessmentScore, n as ItemTriesOutcome, nt as ItemScoringPolicy, o as score, ot as ItemTryScore, p as SPEECH_ASSESSMENT_MAX_WORDS, pt as SectionScore, q as CriterionCalibration, r as ScoringOptions, rt as ItemScoringPolicyIssue, s as outcomeFromUnscorable, st as ResolvedItemScoringPolicy, t as EvaluateOptions, tt as ItemScoringCount, u as READ_ALOUD_MAX_REFERENCE_LENGTH, ut as CompositionPolicy, v as computePassThreshold, vt as SpeechAssessment, w as DICTATION_MAX_ACCEPTED_TRANSCRIPTS, wt as SpeechUnscorable, x as resolveItemScoringPolicy, xt as SpeechPhonemeCandidate, y as DEFAULT_ITEM_SCORING_POLICY, yt as SpeechMeasurement, z as inAuditSample } from "./index-Uh1u57yq.cjs";
3
+ import { A as RedactedStimulus, C as RedactedGapSelectChoice, D as RedactedMultipleChoiceOption, E as RedactedMultipleChoiceData, O as RedactedMultipleChoiceOptionMedia, S as RedactedGapSelectBank, T as RedactedGapSelectGap, _ as RedactedActivity, a as JsonSchemaTarget, b as RedactedDictationSlowMedia, c as fillInTheBlanksJsonSchema, d as jsonSchemaFor, f as multipleChoiceJsonSchema, g as validateItemGroup, h as writtenResponseJsonSchema, i as SCRIPT_MAX_TURNS, j as RedactedWrittenResponseData, k as RedactedReadAloudData, l as gapSelectJsonSchema, m as stimulusJsonSchema, n as validateMedia, o as contentJsonSchema, p as readAloudJsonSchema, r as validateOptionMedia, s as dictationJsonSchema, t as validateActivity, u as itemGroupJsonSchema, v as RedactedBlankConfig, w as RedactedGapSelectData, x as RedactedFillInTheBlanksData, y as RedactedDictationData } from "./index-CFRgZLhH.cjs";
4
+ import { a as XAPIObjectParams, c as xapiDefinitionFor, d as XAPI_VERB_DISPLAY, i as SubmittedStatementParams, l as XAPIVerb, n as AnsweredStatementParams, o as XAPIStatementParams, r as CompletedStatementParams, s as xAPIBuilder, t as validateXAPIStatement, u as XAPIVerbKey } from "./index--U7hHV0s.cjs";
5
5
  //#region src/ai-material.d.ts
6
6
  /**
7
7
  * What a model is told about the group a question sits in: the material the
@@ -401,11 +401,90 @@ export declare function interactiveVideoFromDrafts(input: {
401
401
  newId: () => string;
402
402
  }): AiVideoDraft;
403
403
  //#endregion
404
- //#region src/ai-writing.d.ts
404
+ //#region src/ai-grading.d.ts
405
+ /**
406
+ * How far a model's level probabilities may sum from 1 and still be a
407
+ * distribution: rounding in a model's output, not a different judgement.
408
+ */
409
+ export declare const AI_GRADING_PROBABILITY_TOLERANCE = 0.000001;
410
+ /**
411
+ * The request for a model's grade of a submitted written response, or why there
412
+ * is none to make.
413
+ *
414
+ * Grading happens on the server, from the whole item: the rubric is what a
415
+ * model is held to, so an item without one — or one whose criteria are not each
416
+ * a name and a weight — gives no request, nor does a `redact()` projection or
417
+ * an empty response. A criterion's `levels`, when there are any, must be ones
418
+ * the grading functions can read; levels they cannot read give no request
419
+ * rather than a grade on a scale the author did not mean. `group` is the item
420
+ * group the task sits in: its material goes with the request as `material`, as
421
+ * on feedback on writing.
422
+ *
423
+ * The author's AI switch (`ai.explanations`) is not read: grading is the
424
+ * deployment's decision, made on the server, not help a learner asks for.
425
+ */
426
+ export declare function aiGradingRequest(input: {
427
+ data: AiActivityInput;
428
+ response: LearnerResponse | null;
429
+ group?: AiGroupInput;
430
+ learnerLocale?: string;
431
+ }): {
432
+ ok: true;
433
+ request: AiGradingRequest;
434
+ } | {
435
+ ok: false;
436
+ problem: AiGradingRequestProblem;
437
+ path?: (string | number)[];
438
+ };
439
+ type Refused = {
440
+ ok: false;
441
+ refusal: AiRefusal;
442
+ };
443
+ /**
444
+ * Checks a grade a port returned for `request`. Whole or nothing, as every AI
445
+ * text is: a reply the SDK doubts in any part is refused, and is no grade —
446
+ * re-ask the model or send the response to a person; never record a 0.
447
+ *
448
+ * - **Every criterion of the rubric, once** (`misses-criteria`). Names match as
449
+ * written, or folded when the folded name is one criterion's alone. Leaving
450
+ * one out, inventing or renaming one, judging one twice or calling one not
451
+ * applicable refuses the reply: a total renormalised over fewer criteria
452
+ * is a grade of a different task.
453
+ * - **On each criterion's own scale** (`out-of-scale`). With levels: a `level`
454
+ * the criterion has, as labelled (case and spacing aside), and any
455
+ * `probabilities` a distribution over its levels, lowest first, whose
456
+ * likeliest is the level chosen. Without levels: a `score` from 0 to its
457
+ * `maxScore`, 1 by default.
458
+ * - **Every correction quotes the response** (`misquotes-answer`), anchored as
459
+ * feedback on writing anchors it.
460
+ * - **Text fields** — a criterion's `comment` (at most
461
+ * `AI_WRITING_MAX_FIELD_LENGTH` code points), `feedback` and `rationale`
462
+ * (at most `AI_TEXT_MAX_LENGTH`) — are plain text, cleaned; longer is
463
+ * `too-long`. `requiresHumanReview` is a boolean.
464
+ *
465
+ * The total is not computed here: `gradeFromJudgement` computes it, as
466
+ * `gradeFromRubric` computes every grade in the SDK.
467
+ */
468
+ export declare function checkAiGrading(raw: unknown, request: AiGradingRequest): {
469
+ ok: true;
470
+ judgement: AiGradingJudgement;
471
+ } | Refused;
472
+ //#endregion
473
+ //#region src/ai-written.d.ts
474
+ /**
475
+ * What the AI features about a written response share: reading a model's text
476
+ * fields, and finding each correction's quote in the learner's text.
477
+ *
478
+ * Internal. `ai-writing.ts` (feedback on a draft) and `ai-grading.ts` (a
479
+ * grade) are their public faces, and hold every correction to the same
480
+ * anchoring.
481
+ */
405
482
  /** The most corrections one piece of writing feedback may carry. More is refused, not cut. */
406
483
  export declare const AI_WRITING_MAX_CORRECTIONS = 20;
407
484
  /** The longest quote, correction, explanation or criterion comment, in code points. */
408
485
  export declare const AI_WRITING_MAX_FIELD_LENGTH = 500;
486
+ //#endregion
487
+ //#region src/ai-writing.d.ts
409
488
  /**
410
489
  * The request for feedback on a draft, or `null` when there is none to give:
411
490
  * not a written response, an author who switched explanations off (writing
@@ -1217,95 +1296,6 @@ export declare class DeferredScoringError extends Error {
1217
1296
  constructor(activityType: string);
1218
1297
  }
1219
1298
  //#endregion
1220
- //#region src/grading.d.ts
1221
- /** Options for {@link gradeFromRubric}. */
1222
- export interface GradeFromRubricOptions {
1223
- /**
1224
- * Scaled score [0,1] required to pass. Defaults to the activity's
1225
- * `passThreshold`, or {@link DEFAULT_PASS_THRESHOLD} when absent.
1226
- */
1227
- passThreshold?: number;
1228
- /** Narrative feedback for the learner, carried onto the record verbatim. */
1229
- feedback?: string | null;
1230
- /**
1231
- * Compare the pass line the way the score is displayed — both sides rounded,
1232
- * via `gte` — whichever threshold applies: `passThreshold` above, the
1233
- * activity's own, or the 0.7 default. The returned `score` stays unrounded.
1234
- * Opt-in, as on `score()` and `evaluate()`: switching it on moves pass/fail
1235
- * for totals in the rounding band.
1236
- *
1237
- * Checked before any criterion is read: `null` reads as no policy, and a
1238
- * policy that cannot be applied — an unknown `mode`, or a `dp` that is not a
1239
- * whole number from 0 to 15 — throws a `RangeError`, even for a rubric that
1240
- * turns out to be unscorable.
1241
- */
1242
- rounding?: RoundingPolicy;
1243
- }
1244
- /**
1245
- * Computes the weighted total from per-criterion scores — the arithmetic that
1246
- * must NOT be delegated to a language model.
1247
- *
1248
- * A grader is asked for judgement (how good is this criterion?), not for
1249
- * mental arithmetic. Asking a model to also produce the weighted total makes
1250
- * the final grade unverifiable and unreproducible: two runs can return
1251
- * different totals for identical criterion scores. This function makes the
1252
- * total a pure function of the judgements, so a grade can be recomputed and
1253
- * audited years later.
1254
- *
1255
- * Weights are normalised by their sum, so they need not add to 1; each must be
1256
- * zero or more, and their sum a positive, finite number, or the result is
1257
- * `unscorable`. Criteria marked `notApplicable`, and those carrying no numeric
1258
- * `score` (a purely banded judgement), are excluded from both numerator and
1259
- * denominator, weight included. When nothing scoreable remains the result is
1260
- * `unscorable`, never a zero.
1261
- *
1262
- * Scores need not be in [0,1]: set `maxScore` on a criterion to declare what
1263
- * its score is out of, and each is normalised before weighting. A grader
1264
- * working out of 100 says so and is done:
1265
- *
1266
- * ```ts
1267
- * gradeFromRubric([
1268
- * { name: 'Task achievement', score: 82, maxScore: 100, weight: 2 },
1269
- * { name: 'Range', score: 7, maxScore: 9, weight: 1 },
1270
- * ]);
1271
- * ```
1272
- *
1273
- * The returned `GradeRecord.score` is always scaled [0,1] against
1274
- * `maxScore: 1`, like every other score in the SDK.
1275
- */
1276
- export declare function gradeFromRubric(criteria: readonly CriterionScore[], activityData?: ActivityData, options?: GradeFromRubricOptions): GradeRecord | {
1277
- unscorable: true;
1278
- reason: string;
1279
- };
1280
- /**
1281
- * Lifts a {@link GradeRecord} into the `graded` arm of {@link ItemOutcome}, so
1282
- * a grade that arrived asynchronously renders through the same path as a
1283
- * synchronously scored item. The score/passed/feedback fields are mirrored
1284
- * onto the outcome for uniform reads; `grade` carries the full record.
1285
- *
1286
- * A record whose numbers cannot be a grade is refused, as `evaluate` refuses a
1287
- * non-finite score and {@link gradeFromRubric} one outside [0,1]. `maxScore`
1288
- * must be a positive, finite number and `score` a finite number from 0 to it (a
1289
- * hair above, one part in a billion, is float noise and passes as it is).
1290
- * Anything else — NaN, 85 "out of 1", a score out of 0 — comes back as
1291
- * `{ status: 'deferred', reason: 'grade_rejected', maxScore: 1, rejectedGrade }`
1292
- * with the record kept verbatim. Not `graded`, or its `passed` would be read as
1293
- * a verdict; not `unscorable`, which `composeAssessmentScore` drops from the
1294
- * denominator while letting the attempt go final — so a failing grade on the
1295
- * wrong scale would vanish and the rest would be recorded as a pass. Deferred
1296
- * is what it is: the slot is still owed a real grade, so a composed attempt
1297
- * stays `provisional` and names the slot in `rejectedSlotIds`.
1298
- */
1299
- export declare function outcomeFromGrade(grade: GradeRecord): ItemOutcome;
1300
- /**
1301
- * True when an outcome carries a real grade — either the SDK scored it
1302
- * synchronously or a grader returned one. Use this instead of testing
1303
- * `status === 'scored'`, which silently misses asynchronously graded work.
1304
- */
1305
- export declare function hasGrade(outcome: ItemOutcome): outcome is Extract<ItemOutcome, {
1306
- status: 'scored' | 'graded';
1307
- }>;
1308
- //#endregion
1309
1299
  //#region src/item-group.d.ts
1310
1300
  /** Narrows a sequence entry to an item group. */
1311
1301
  export declare function isItemGroup<TItem extends {
@@ -1498,6 +1488,95 @@ export declare function serializeMediaPlayLedger(plan: AttemptPlan, entries: Rea
1498
1488
  */
1499
1489
  export declare function restoreMediaPlayLedger(plan: AttemptPlan, stored: MediaPlayLedger): MediaPlayLedger;
1500
1490
  //#endregion
1491
+ //#region src/media-refs.d.ts
1492
+ /**
1493
+ * What a media reference points at. The first four are a holder's main file,
1494
+ * named by its `type`; the rest are the files beside it.
1495
+ */
1496
+ export type MediaRefKind = 'audio' | 'video' | 'image' | 'embed' | 'captions' | 'track' | 'poster';
1497
+ /** One address in a piece of content, with where it sits. See {@link listMediaRefs}. */
1498
+ export interface MediaRef {
1499
+ /**
1500
+ * From the entry to the field holding the address, e.g.
1501
+ * `['items', 2, 'options', 1, 'media', 'url']`. Authored positions, so a
1502
+ * shuffle never moves it.
1503
+ */
1504
+ readonly path: readonly (string | number)[];
1505
+ readonly kind: MediaRefKind;
1506
+ /**
1507
+ * The address. `null` for a holder's main file that has none yet: a draft
1508
+ * whose recording is still to be made, as a parallel item's is.
1509
+ */
1510
+ readonly url: string | null;
1511
+ /**
1512
+ * The object holding the address, as stored and never to be changed: the
1513
+ * media, an option's media, a slow recording, or a caption track. A
1514
+ * recording's `transcript` and `script` are read from it.
1515
+ */
1516
+ readonly holder: Readonly<Record<string, unknown>>;
1517
+ /** The activity it belongs to. Absent for a group's stimulus. */
1518
+ readonly activityId?: string;
1519
+ /** The stimulus it belongs to, for a group's material. */
1520
+ readonly stimulusId?: string;
1521
+ /** A `track`'s language. */
1522
+ readonly srclang?: string;
1523
+ }
1524
+ /**
1525
+ * Every media address in one piece of content: a loose activity or an item
1526
+ * group (its stimulus first, then each item in authored order), as a
1527
+ * `SequenceEntry` holds them. Drafts are read too.
1528
+ *
1529
+ * For each activity the walker reads the places its type keeps files: an
1530
+ * item's `media`, each multiple-choice option's `media`, and dictation's and
1531
+ * read-aloud's `slowMedia`. In each it lists the main file, `captionsUrl`,
1532
+ * every track's `src` and `poster`. A type you register declares its own with
1533
+ * `mediaSlots`; without that, its `media` is read.
1534
+ *
1535
+ * A main file with no address yet is listed with `url: null`, so a recording
1536
+ * still to be made has a place in the list. Not read: addresses inside an
1537
+ * `…Html` sidecar (the SDK does not parse HTML) and a learner's recordings,
1538
+ * which are responses rather than content.
1539
+ *
1540
+ * ```ts
1541
+ * const files = listMediaRefs(entry).filter((ref) => ref.url !== null);
1542
+ * ```
1543
+ */
1544
+ export declare function listMediaRefs(entry: unknown): MediaRef[];
1545
+ /**
1546
+ * A copy of `entry` with each address {@link listMediaRefs} finds replaced
1547
+ * by what `fn` returns for it: files moved into a new folder structure, or an
1548
+ * export's file names pointed at where an import stored them. Nothing else
1549
+ * changes, and `entry` is never modified: with `(ref) => ref.url`, the copy is
1550
+ * deep-equal to it, with the same `canonicalJson`.
1551
+ *
1552
+ * For a main file with no address yet (`url: null`), a string attaches one
1553
+ * and `null` leaves it empty. For an address that is there, `fn` must return
1554
+ * a string: removing a file is not mapping.
1555
+ *
1556
+ * The copy validates as the original did when every address `fn` returns is
1557
+ * one the media rule accepts: `https:`, `http:`, `data:`, `blob:`, or
1558
+ * root-relative (`/…`). A bundle-relative `media/part1.mp3` is refused.
1559
+ *
1560
+ * @throws TypeError when `fn` returns something other than a string or
1561
+ * `null`, or `null` for an address that is there, or when `entry` is circular.
1562
+ */
1563
+ export declare function mapMediaRefs<T>(entry: T, fn: (ref: MediaRef) => string | null): T;
1564
+ /**
1565
+ * The author-side text of a recording: its `transcript`, or else its
1566
+ * `script` as one "Speaker: text" line per turn. `null` when it has neither.
1567
+ *
1568
+ * `holder` is a media object, a stimulus, or an activity. A stimulus or an
1569
+ * activity is read for its own text first and then for its `media`'s; a
1570
+ * stimulus keeps both at its own level. Author-only: pass it to the author's
1571
+ * requests (`aiDraftsRequest`'s `source`, a critique), never to a learner's.
1572
+ *
1573
+ * ```ts
1574
+ * const text = transcriptOf(item.media);
1575
+ * if (text !== null) aiDraftsRequest({ types: ['multiple-choice'], source: { kind: 'transcript', text } });
1576
+ * ```
1577
+ */
1578
+ export declare function transcriptOf(holder: unknown): string | null;
1579
+ //#endregion
1501
1580
  //#region src/standard-schema.d.ts
1502
1581
  /**
1503
1582
  * Standard Schema v1 (https://standardschema.dev): the interface zod, valibot,
@@ -1747,6 +1826,27 @@ interface ActivityTypeDescriptor<TData extends {
1747
1826
  readonly interactions?: readonly string[];
1748
1827
  /** Draft support for authoring tools. See {@link ActivityTypeAuthoring}. */
1749
1828
  readonly authoring?: ActivityTypeAuthoring<TData>;
1829
+ /**
1830
+ * Where the type keeps its files, for `listMediaRefs` and `mapMediaRefs`.
1831
+ * See {@link MediaSlot}. Called with whatever is stored, drafts included, so
1832
+ * it must not assume a field is there. Left out, only a top-level `media`
1833
+ * is read, which is where every built-in type keeps its main media.
1834
+ */
1835
+ readonly mediaSlots?: (data: TData) => readonly MediaSlot[];
1836
+ }
1837
+ /**
1838
+ * One object in an activity that holds a file's address: an `ActivityMedia`,
1839
+ * a multiple-choice option's `media`, a slow recording. The walker reads its
1840
+ * `url`, and its `captionsUrl`, `tracks[].src` and `poster` where present.
1841
+ */
1842
+ interface MediaSlot {
1843
+ /** From the activity to the object, e.g. `['options', 2, 'media']`. */
1844
+ readonly path: readonly (string | number)[];
1845
+ /**
1846
+ * The kind of the object's main file, for an object with no `type` of its
1847
+ * own. Where the object says (`type: 'audio'`), its own word is used.
1848
+ */
1849
+ readonly kind?: 'audio' | 'video' | 'image' | 'embed';
1750
1850
  }
1751
1851
  /**
1752
1852
  * Internal type-erased descriptor shape stored in the registry. Dispatch call
@@ -1770,6 +1870,7 @@ interface RegisteredActivityTypeDescriptor {
1770
1870
  readonly interop?: ActivityTypeInterop<unknown>;
1771
1871
  readonly interactions?: readonly string[];
1772
1872
  readonly authoring?: ActivityTypeAuthoring<unknown>;
1873
+ readonly mediaSlots?: (data: unknown) => readonly MediaSlot[];
1773
1874
  }
1774
1875
  /**
1775
1876
  * Registers an activity type on the default registry, making it live for
@@ -1891,6 +1992,27 @@ export declare function redactItemGroup<TItem extends {
1891
1992
  * before sending a group to a client that must not hold the key.
1892
1993
  */
1893
1994
  export declare function assertRedactedItemGroup(data: unknown): asserts data is RedactedItemGroup;
1995
+ /**
1996
+ * A copy of an activity or an item group without its `author-only` fields:
1997
+ * a recording's `transcript` and `script`, on an item's media, a
1998
+ * multiple-choice option's recording, a stimulus or its media. Everything
1999
+ * else is kept as stored, the answer key and your own fields included, and
2000
+ * the copy is not marked redacted, so it scores exactly as the stored item.
2001
+ *
2002
+ * For practice an app scores in the browser, where the learner may hold the
2003
+ * key but not the author's material. It is NOT a learner-safe projection: an
2004
+ * exam, or anything a learner must not be able to answer from the payload,
2005
+ * goes through {@link redact} / {@link redactItemGroup}, whose output a scorer
2006
+ * refuses.
2007
+ *
2008
+ * ```ts
2009
+ * res.json(withoutAuthorOnly(practiceItem));
2010
+ * ```
2011
+ *
2012
+ * @throws UnknownActivityTypeError when an activity's type is not registered,
2013
+ * and Error when it declares no `fieldPolicy`.
2014
+ */
2015
+ export declare function withoutAuthorOnly<T>(entry: T): T;
1894
2016
  //#endregion
1895
2017
  //#region src/registry/builtins.d.ts
1896
2018
  /** Built-in Multiple Choice descriptor. */
@@ -2116,5 +2238,5 @@ interface ThemeTokens {
2116
2238
  '--lk-transition-base': string;
2117
2239
  }
2118
2240
  //#endregion
2119
- export { type ActivityAiPermissions, type ActivityData, type ActivityDataMap, type ActivityFeedback, type ActivityMedia, type ActivityResult, type ActivityType, type ActivityTypeAuthoring, type ActivityTypeDescriptor, type ActivityTypeInterop, type ActivityTypeScoring, type AiActivityInput, type AiBlankFact, type AiCoaching, type AiCoachingRequest, type AiCoachingResult, type AiCoachingWord, type AiCriterionJudgement, type AiCritique, type AiCritiqueField, type AiCritiqueFinding, type AiCritiqueFindingResult, type AiCritiqueKind, type AiCritiqueRequest, type AiCritiqueResult, type AiDictationFacts, type AiDraftCaption, type AiDraftProblem, type AiDraftSettings, type AiDraftSource, type AiDraftType, type AiDrafts, type AiDraftsCall, type AiDraftsRequest, type AiDraftsRun, type AiExplanationRequest, type AiFeature, type AiFillInTheBlanksFacts, type AiGapFact, type AiGapSelectFacts, type AiGeneratedDraft, type AiGrade, type AiGroupInput, type AiHintRequest, type AiItemFacts, type AiMaterialFacts, type AiMultipleChoiceFacts, type AiOptionFact, type AiProvenance, type AiReadingFacts, type AiReadingWordFact, type AiRefusal, type AiRubricCriterionFact, type AiSoundFact, type AiSupportedActivityType, type AiTextResult, type AiVerdict, type AiVideoDraft, type AiWordFact, type AiWritingCorrection, type AiWritingFacts, type AiWritingFeedback, type AiWritingFeedbackRequest, type AiWritingFeedbackResult, type AnsweredStatementParams, type AssessmentScore, type AssessmentSectionInput, type AttemptPlan, type AttemptPlanDrift, type AttemptPlanSlot, type AttemptState, type Band, type BlankConfig, type BuiltInActivityType, type CompletedStatementParams, type CompositionPolicy, type CriterionScore, DEFAULT_ITEM_SCORING_POLICY, DEFAULT_PASS_THRESHOLD, DICTATION_MAX_ACCEPTED_TRANSCRIPTS, DICTATION_MAX_EQUIVALENCES, DICTATION_MAX_EQUIVALENCE_LENGTH, DICTATION_MAX_TEXT_LENGTH, DICTATION_MAX_TRANSCRIPT_LENGTH, type DeferredReason, type DeferredScoringPartial, type DeliveryPolicy, type DeliveryPolicyIssue, type DictationAlignment, type DictationCharOp, type DictationData, type DictationEquivalence, type DictationLearnerResponse, type DictationReference, type DictationSlowMedia, type DictationTolerance, type DictationWordAlignment, type DraftComplete, type DraftContext, type DraftIssue, type DraftNotComplete, type DraftSeverity, type DraftValidationResult, EvaluateOptions, type FieldPolicy, type FillInTheBlanksData, type FillInTheBlanksLearnerResponse, type GapSelectBank, type GapSelectChoice, type GapSelectData, type GapSelectGap, type GapSelectLearnerResponse, type GradeReadAloudOptions, type GradeRecord, type Grader, type GraderKind, type GraderUsage, type GradingState, ITEM_SCORING_MAX_RETRIES, type InlineCorrection, type InteractionEvent, type InteractionKind, type ItemFinding, type ItemFindingSeverity, type ItemGroup, type ItemOutcome, type ItemScoringCount, type ItemScoringPolicy, type ItemScoringPolicyIssue, ItemTriesOutcome, type ItemTriesScore, type ItemTry, type ItemTryScore, type LearnerResponse, type LearnerResponseMap, type MediaBudgetRef, type MediaPlayClaim, type MediaPlayGrant, type MediaPlayLedger, type MediaPlayLedgerEntry, type MediaPlaybackPolicy, type MediaProgress, type MediaTimeline, type MediaTrack, type MultipleChoiceData, type MultipleChoiceLearnerResponse, type MultipleChoiceOption, type MultipleChoiceOptionMedia, type NativeControlHint, type PartialScoringResult, type PassFailureReason, READ_ALOUD_MAX_DIMENSION_WEIGHT, READ_ALOUD_MAX_REFERENCE_LENGTH, READ_ALOUD_MAX_SECONDS, READ_ALOUD_MAX_TAKES, type ReadAloudData, type ReadAloudDimension, type ReadAloudDimensionWeight, type ReadAloudLearnerResponse, type ReadAloudSlowMedia, type ReadAloudWordAlignment, type ReadAloudWordState, type RecordingBounds, type RecordingRef, type RedactedActivity, type RedactedBlankConfig, type RedactedDictationData, type RedactedDictationSlowMedia, type RedactedFillInTheBlanksData, type RedactedGapSelectBank, type RedactedGapSelectChoice, type RedactedGapSelectData, type RedactedGapSelectGap, type RedactedMultipleChoiceData, type RedactedMultipleChoiceOption, type RedactedMultipleChoiceOptionMedia, type RedactedReadAloudData, type RedactedStimulus, type RedactedWrittenResponseData, type RegisteredActivityTypeDescriptor, type ResolvedDeliveryPolicy, type ResolvedItemScoringPolicy, type ResponseDiffEntry, type RoundingMode, type RoundingPolicy, SPEECH_ASSESSMENT_MAX_WORDS, type ScoredItem, type ScoringDetail, ScoringOptions, type ScoringOutcome, type ScoringResult, type SectionScore, type Sensitivity, type SequenceEntry, type SequenceSlot, type SequenceSlotGroup, type SpeechAssessment, type SpeechMeasurement, type SpeechPhoneme, type SpeechPhonemeCandidate, type SpeechPlausibilityPolicy, type SpeechSyllable, type SpeechUnscorable, type SpeechUnscorableCode, type SpeechWord, type SpeechWordError, type StandardSchemaV1, type Stimulus, type StimulusKind, type SubmittedStatementParams, type TextMatchPolicy, type TextMatchResult, type ThemeTokens, type TimelineChapter, type TimelineCue, type ValidationError, type ValidationResult, type WavInspection, type WavInspectionPolicy, type WrittenResponseData, type WrittenResponseLearnerResponse, type WrittenResponseRubric, type WrittenResponseRubricCriterion, type XAPIActor, type XAPIConfig, type XAPIContext, type XAPIContextActivities, type XAPIError, type XAPIInteractionType, type XAPIObject, type XAPIObjectParams, type XAPIResult, type XAPIScore, type XAPIStatement, type XAPIStatementParams, XAPIVerb, type XAPIVerbKey, type XAPIVerbObject, XAPI_VERB_DISPLAY, alignDictation, alignReadAloud, classifyBand, composeAssessmentScore, computePassThreshold, dictationJsonSchema, dictationReferenceWords, diffDictationChars, evaluate, evaluateTries, fillInTheBlanksJsonSchema, gapSelectJsonSchema, gradeReadAloud, gte, inspectWav, itemGroupJsonSchema, jsonSchemaFor, levenshteinDistance, matchText, multipleChoiceJsonSchema, outcomeFromUnscorable, readAloudJsonSchema, resolveItemScoringPolicy, roundGrade, score, scoreTries, stimulusJsonSchema, validateActivity, validateItemGroup, validateItemScoringPolicy, validateMedia, validateOptionMedia, validateSpeechAssessment, validateXAPIStatement, writtenResponseJsonSchema, xAPIBuilder, xapiDefinitionFor };
2241
+ export { type ActivityAiPermissions, type ActivityData, type ActivityDataMap, type ActivityFeedback, type ActivityMedia, type ActivityResult, type ActivityType, type ActivityTypeAuthoring, type ActivityTypeDescriptor, type ActivityTypeInterop, type ActivityTypeScoring, type AiActivityInput, type AiBlankFact, type AiCoaching, type AiCoachingRequest, type AiCoachingResult, type AiCoachingWord, type AiCriterionJudgement, type AiCritique, type AiCritiqueField, type AiCritiqueFinding, type AiCritiqueFindingResult, type AiCritiqueKind, type AiCritiqueRequest, type AiCritiqueResult, type AiDictationFacts, type AiDraftCaption, type AiDraftProblem, type AiDraftSettings, type AiDraftSource, type AiDraftType, type AiDrafts, type AiDraftsCall, type AiDraftsRequest, type AiDraftsRun, type AiExplanationRequest, type AiFeature, type AiFillInTheBlanksFacts, type AiGapFact, type AiGapSelectFacts, type AiGeneratedDraft, type AiGrade, type AiGradedCriterion, type AiGradingCriterionFact, type AiGradingFacts, type AiGradingJudgement, type AiGradingRequest, type AiGradingRequestProblem, type AiGroupInput, type AiHintRequest, type AiItemFacts, type AiMaterialFacts, type AiMultipleChoiceFacts, type AiOptionFact, type AiProvenance, type AiReadingFacts, type AiReadingWordFact, type AiRefusal, type AiRubricCriterionFact, type AiSoundFact, type AiSupportedActivityType, type AiTextResult, type AiVerdict, type AiVideoDraft, type AiWordFact, type AiWritingCorrection, type AiWritingFacts, type AiWritingFeedback, type AiWritingFeedbackRequest, type AiWritingFeedbackResult, type AnsweredStatementParams, type AssessmentScore, type AssessmentSectionInput, type AttemptPlan, type AttemptPlanDrift, type AttemptPlanSlot, type AttemptState, type Band, type BlankConfig, type BuiltInActivityType, type CalibrationPair, type CalibrationReport, type CalibrationScope, type CalibrationThresholds, type CompletedStatementParams, type CompositionPolicy, type CriterionCalibration, type CriterionScore, DEFAULT_ITEM_SCORING_POLICY, DEFAULT_PASS_THRESHOLD, DICTATION_MAX_ACCEPTED_TRANSCRIPTS, DICTATION_MAX_EQUIVALENCES, DICTATION_MAX_EQUIVALENCE_LENGTH, DICTATION_MAX_TEXT_LENGTH, DICTATION_MAX_TRANSCRIPT_LENGTH, type DeferredReason, type DeferredScoringPartial, type DeliveryPolicy, type DeliveryPolicyIssue, type DictationAlignment, type DictationCharOp, type DictationData, type DictationEquivalence, type DictationLearnerResponse, type DictationReference, type DictationSlowMedia, type DictationTolerance, type DictationWordAlignment, type DraftComplete, type DraftContext, type DraftIssue, type DraftNotComplete, type DraftSeverity, type DraftValidationResult, EvaluateOptions, type FieldPolicy, type FillInTheBlanksData, type FillInTheBlanksLearnerResponse, type GapSelectBank, type GapSelectChoice, type GapSelectData, type GapSelectGap, type GapSelectLearnerResponse, type GradeFromJudgementOptions, GradeFromRubricOptions, type GradeReadAloudOptions, type GradeRecord, type GradeRouting, type GradeRoutingContext, type GradeRoutingPolicy, type GradeRoutingReason, type Grader, type GraderConfiguration, type GraderKind, type GraderUsage, type GradingState, ITEM_SCORING_MAX_RETRIES, type InlineCorrection, type InteractionEvent, type InteractionKind, type ItemFinding, type ItemFindingSeverity, type ItemGroup, type ItemOutcome, type ItemScoringCount, type ItemScoringPolicy, type ItemScoringPolicyIssue, ItemTriesOutcome, type ItemTriesScore, type ItemTry, type ItemTryScore, type JsonSchemaTarget, type LearnerResponse, type LearnerResponseMap, type MediaBudgetRef, type MediaPlayClaim, type MediaPlayGrant, type MediaPlayLedger, type MediaPlayLedgerEntry, type MediaPlaybackPolicy, type MediaProgress, type MediaSlot, type MediaTimeline, type MediaTrack, type MultipleChoiceData, type MultipleChoiceLearnerResponse, type MultipleChoiceOption, type MultipleChoiceOptionMedia, type NativeControlHint, type PartialScoringResult, type PassFailureReason, READ_ALOUD_MAX_DIMENSION_WEIGHT, READ_ALOUD_MAX_REFERENCE_LENGTH, READ_ALOUD_MAX_SECONDS, READ_ALOUD_MAX_TAKES, type ReadAloudData, type ReadAloudDimension, type ReadAloudDimensionWeight, type ReadAloudLearnerResponse, type ReadAloudSlowMedia, type ReadAloudWordAlignment, type ReadAloudWordState, type RecordingBounds, type RecordingRef, type RedactedActivity, type RedactedBlankConfig, type RedactedDictationData, type RedactedDictationSlowMedia, type RedactedFillInTheBlanksData, type RedactedGapSelectBank, type RedactedGapSelectChoice, type RedactedGapSelectData, type RedactedGapSelectGap, type RedactedMultipleChoiceData, type RedactedMultipleChoiceOption, type RedactedMultipleChoiceOptionMedia, type RedactedReadAloudData, type RedactedStimulus, type RedactedWrittenResponseData, type RegisteredActivityTypeDescriptor, type ResolvedDeliveryPolicy, type ResolvedItemScoringPolicy, type ResponseDiffEntry, type RoundingMode, type RoundingPolicy, SCRIPT_MAX_TURNS, SPEECH_ASSESSMENT_MAX_WORDS, type ScoredItem, type ScoringDetail, ScoringOptions, type ScoringOutcome, type ScoringResult, type ScriptTurn, type SectionScore, type Sensitivity, type SequenceEntry, type SequenceSlot, type SequenceSlotGroup, type SpeechAssessment, type SpeechMeasurement, type SpeechPhoneme, type SpeechPhonemeCandidate, type SpeechPlausibilityPolicy, type SpeechSyllable, type SpeechUnscorable, type SpeechUnscorableCode, type SpeechWord, type SpeechWordError, type StandardSchemaV1, type Stimulus, type StimulusKind, type SubmittedStatementParams, type TextMatchPolicy, type TextMatchResult, type ThemeTokens, type TimelineChapter, type TimelineCue, type TotalCalibration, type ValidationError, type ValidationResult, type WavInspection, type WavInspectionPolicy, type WrittenResponseData, type WrittenResponseLearnerResponse, type WrittenResponseRubric, type WrittenResponseRubricCriterion, type WrittenResponseRubricLevel, type XAPIActor, type XAPIConfig, type XAPIContext, type XAPIContextActivities, type XAPIError, type XAPIInteractionType, type XAPIObject, type XAPIObjectParams, type XAPIResult, type XAPIScore, type XAPIStatement, type XAPIStatementParams, XAPIVerb, type XAPIVerbKey, type XAPIVerbObject, XAPI_VERB_DISPLAY, alignDictation, alignReadAloud, calibrationReport, classifyBand, composeAssessmentScore, computePassThreshold, contentJsonSchema, dictationJsonSchema, dictationReferenceWords, diffDictationChars, evaluate, evaluateTries, fillInTheBlanksJsonSchema, gapSelectJsonSchema, gradeFromJudgement, gradeFromRubric, gradeReadAloud, graderConfiguration, gte, hasGrade, inAuditSample, inspectWav, itemGroupJsonSchema, jsonSchemaFor, levenshteinDistance, matchText, multipleChoiceJsonSchema, outcomeFromGrade, outcomeFromRoutedGrade, outcomeFromUnscorable, readAloudJsonSchema, resolveItemScoringPolicy, roundGrade, routeGrade, score, scoreTries, stimulusJsonSchema, validateActivity, validateItemGroup, validateItemScoringPolicy, validateMedia, validateOptionMedia, validateSpeechAssessment, validateXAPIStatement, writtenResponseJsonSchema, xAPIBuilder, xapiDefinitionFor };
2120
2242
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":["_$__registry_js0.ActivityTypeDescriptor"],"sources":["../src/ai-material.ts","../src/ai.ts","../src/ai-coaching.ts","../src/ai-critique.ts","../src/ai-drafts.ts","../src/ai-writing.ts","../src/types/delivery.ts","../src/types/attempt-plan.ts","../src/attempt-plan.ts","../src/types/attempt-state.ts","../src/attempt-state.ts","../src/authoring/item-group.ts","../src/authoring/index.ts","../src/built-in-types.ts","../src/content-hash.ts","../src/count-words.ts","../src/delivery.ts","../src/errors.ts","../src/grading.ts","../src/item-group.ts","../src/types/media-budget.ts","../src/media-budget.ts","../src/standard-schema.ts","../src/registry/define.ts","../src/registry/registry.ts","../src/redact.ts","../src/registry/builtins.ts","../src/shuffle.ts","../src/timeline.ts","../src/timeline-limits.ts","../src/types/theme.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":["_$__registry_js0.ActivityTypeDescriptor"],"sources":["../src/ai-material.ts","../src/ai.ts","../src/ai-coaching.ts","../src/ai-critique.ts","../src/ai-drafts.ts","../src/ai-grading.ts","../src/ai-written.ts","../src/ai-writing.ts","../src/types/delivery.ts","../src/types/attempt-plan.ts","../src/attempt-plan.ts","../src/types/attempt-state.ts","../src/attempt-state.ts","../src/authoring/item-group.ts","../src/authoring/index.ts","../src/built-in-types.ts","../src/content-hash.ts","../src/count-words.ts","../src/delivery.ts","../src/errors.ts","../src/item-group.ts","../src/types/media-budget.ts","../src/media-budget.ts","../src/media-refs.ts","../src/standard-schema.ts","../src/registry/define.ts","../src/registry/registry.ts","../src/redact.ts","../src/registry/builtins.ts","../src/shuffle.ts","../src/timeline.ts","../src/timeline-limits.ts","../src/types/theme.ts"],"mappings":"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"}