@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.
- package/CHANGELOG.md +102 -0
- package/README.md +2 -0
- package/dist/ai-check.cjs +175 -17
- package/dist/ai-check.cjs.map +1 -1
- package/dist/ai-check.d.cts +13 -5
- package/dist/ai-check.d.cts.map +1 -1
- package/dist/ai-check.d.ts +13 -5
- package/dist/ai-check.d.ts.map +1 -1
- package/dist/ai-check.js +175 -17
- package/dist/ai-check.js.map +1 -1
- package/dist/{ai-CnmLPMzd.d.ts → ai-i3jwXnpX.d.cts} +242 -7
- package/dist/ai-i3jwXnpX.d.cts.map +1 -0
- package/dist/{ai-CnmLPMzd.d.cts → ai-i3jwXnpX.d.ts} +242 -7
- package/dist/ai-i3jwXnpX.d.ts.map +1 -0
- package/dist/{ai-writing-G6tnCGzw.cjs → ai-writing-C4YRVrFi.cjs} +683 -72
- package/dist/ai-writing-C4YRVrFi.cjs.map +1 -0
- package/dist/{ai-writing-CPpH9Qxq.js → ai-writing-OJ5m_1EB.js} +663 -88
- package/dist/ai-writing-OJ5m_1EB.js.map +1 -0
- package/dist/{index-BqMXWuNC.d.cts → index--U7hHV0s.d.cts} +2 -2
- package/dist/{index-BqMXWuNC.d.cts.map → index--U7hHV0s.d.cts.map} +1 -1
- package/dist/{index-B54baFUA.d.ts → index-CFRgZLhH.d.cts} +45 -12
- package/dist/index-CFRgZLhH.d.cts.map +1 -0
- package/dist/{index-CVWvymVb.d.ts → index-DeD8EI1D.d.ts} +327 -3
- package/dist/index-DeD8EI1D.d.ts.map +1 -0
- package/dist/{index-CcHDTxIZ.d.ts → index-Dj92T76o.d.ts} +2 -2
- package/dist/{index-CcHDTxIZ.d.ts.map → index-Dj92T76o.d.ts.map} +1 -1
- package/dist/{index-BAfEHCnD.d.cts → index-Uh1u57yq.d.cts} +327 -3
- package/dist/index-Uh1u57yq.d.cts.map +1 -0
- package/dist/{index-2nigSf4N.d.cts → index-WBHSrIUU.d.ts} +45 -12
- package/dist/index-WBHSrIUU.d.ts.map +1 -0
- package/dist/index.cjs +88 -131
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +217 -95
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +217 -95
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -118
- package/dist/index.js.map +1 -1
- package/dist/{item-group-DXiR8nOr.js → item-group-BbvvH_Ob.js} +3 -2
- package/dist/item-group-BbvvH_Ob.js.map +1 -0
- package/dist/{item-group-DroFXgLb.cjs → item-group-CQRbb8Rx.cjs} +3 -2
- package/dist/item-group-CQRbb8Rx.cjs.map +1 -0
- package/dist/{registry-Dsx9mNsS.js → registry-B23o9UWh.js} +218 -21
- package/dist/registry-B23o9UWh.js.map +1 -0
- package/dist/{registry-DVi0LR_i.cjs → registry-Ih5n4PVZ.cjs} +265 -20
- package/dist/registry-Ih5n4PVZ.cjs.map +1 -0
- package/dist/{schemas-DVbAOrtd.cjs → schemas-Q2dyOgc2.cjs} +77 -14
- package/dist/schemas-Q2dyOgc2.cjs.map +1 -0
- package/dist/{schemas-Bdw0nGPo.js → schemas-yId-bJhD.js} +72 -15
- package/dist/schemas-yId-bJhD.js.map +1 -0
- package/dist/schemas.cjs +5 -2
- package/dist/schemas.d.cts +2 -2
- package/dist/schemas.d.ts +2 -2
- package/dist/schemas.js +4 -3
- package/dist/{scoring-BZqUkuDF.js → scoring-CLMdk8i9.js} +657 -3
- package/dist/scoring-CLMdk8i9.js.map +1 -0
- package/dist/{scoring-B2_HEhMT.cjs → scoring-CaPS6q8b.cjs} +722 -2
- package/dist/scoring-CaPS6q8b.cjs.map +1 -0
- package/dist/scoring.cjs +8 -2
- package/dist/scoring.d.cts +3 -3
- package/dist/scoring.d.ts +3 -3
- package/dist/scoring.js +3 -3
- package/dist/{xapi-DNzkSJ0S.cjs → xapi-BX0hvRRB.cjs} +2 -2
- package/dist/{xapi-DNzkSJ0S.cjs.map → xapi-BX0hvRRB.cjs.map} +1 -1
- package/dist/{xapi-CMTph7wG.js → xapi-Cdk9fTvV.js} +2 -2
- package/dist/{xapi-CMTph7wG.js.map → xapi-Cdk9fTvV.js.map} +1 -1
- package/dist/xapi.cjs +1 -1
- package/dist/xapi.d.cts +1 -1
- package/dist/xapi.d.ts +1 -1
- package/dist/xapi.js +1 -2
- package/package.json +2 -2
- package/vectors/README.md +24 -1
- package/vectors/scoring.json +18182 -1
- package/dist/ai-CnmLPMzd.d.cts.map +0 -1
- package/dist/ai-CnmLPMzd.d.ts.map +0 -1
- package/dist/ai-writing-CPpH9Qxq.js.map +0 -1
- package/dist/ai-writing-G6tnCGzw.cjs.map +0 -1
- package/dist/index-2nigSf4N.d.cts.map +0 -1
- package/dist/index-B54baFUA.d.ts.map +0 -1
- package/dist/index-BAfEHCnD.d.cts.map +0 -1
- package/dist/index-CVWvymVb.d.ts.map +0 -1
- package/dist/item-group-DXiR8nOr.js.map +0 -1
- package/dist/item-group-DroFXgLb.cjs.map +0 -1
- package/dist/registry-DVi0LR_i.cjs.map +0 -1
- package/dist/registry-Dsx9mNsS.js.map +0 -1
- package/dist/schemas-Bdw0nGPo.js.map +0 -1
- package/dist/schemas-DVbAOrtd.cjs.map +0 -1
- package/dist/scoring-B2_HEhMT.cjs.map +0 -1
- package/dist/scoring-BZqUkuDF.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { At as ActivityType, Et as ActivityDataMap, Ot as ActivityMedia, gn as ValidationResult, nn as MultipleChoiceOptionMedia, st as ItemGroup } from "./ai-i3jwXnpX.cjs";
|
|
2
2
|
//#region src/types/redacted.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* The learner-safe SHAPE of each built-in type.
|
|
@@ -110,6 +110,10 @@ interface RedactedWrittenResponseData extends RedactedItem {
|
|
|
110
110
|
name: string;
|
|
111
111
|
weight: number;
|
|
112
112
|
description?: string | undefined;
|
|
113
|
+
levels?: {
|
|
114
|
+
label: string;
|
|
115
|
+
description?: string | undefined;
|
|
116
|
+
}[] | undefined;
|
|
113
117
|
}[];
|
|
114
118
|
label?: string | undefined;
|
|
115
119
|
} | undefined;
|
|
@@ -284,22 +288,51 @@ declare const fillInTheBlanksJsonSchema: Record<string, unknown>;
|
|
|
284
288
|
* contract. Structural contract only.
|
|
285
289
|
*/
|
|
286
290
|
declare const writtenResponseJsonSchema: Record<string, unknown>;
|
|
291
|
+
/** The JSON Schema drafts the SDK writes. */
|
|
292
|
+
type JsonSchemaTarget = 'draft-2020-12' | 'draft-7';
|
|
287
293
|
/**
|
|
288
|
-
* Derives the JSON Schema
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
294
|
+
* Derives the JSON Schema for any REGISTERED activity type — the live,
|
|
295
|
+
* registry-backed replacement for the static per-type exports above, and the
|
|
296
|
+
* building block for AI generation pipelines (R6.1): pass the result as a
|
|
297
|
+
* structured-output schema so a model can only emit valid items.
|
|
292
298
|
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
295
|
-
*
|
|
296
|
-
*
|
|
299
|
+
* Draft 7 unless `target` says `'draft-2020-12'`. For a type you registered,
|
|
300
|
+
* it is the descriptor's `jsonSchema` when you gave one, in whatever draft you
|
|
301
|
+
* wrote it, or else what the schema produces through the Standard JSON Schema
|
|
302
|
+
* converter (`'~standard'.jsonSchema`) in the draft asked for — a zod 4.6
|
|
303
|
+
* schema has one. A fresh copy every call.
|
|
297
304
|
*
|
|
298
305
|
* @throws UnknownActivityTypeError when `type` has no registered descriptor.
|
|
299
306
|
* @throws Error when a registered type has neither a `jsonSchema` nor a schema
|
|
300
307
|
* that can produce one.
|
|
301
308
|
*/
|
|
302
|
-
declare function jsonSchemaFor(type: string
|
|
309
|
+
declare function jsonSchemaFor(type: string, options?: {
|
|
310
|
+
target?: JsonSchemaTarget;
|
|
311
|
+
}): Record<string, unknown>;
|
|
312
|
+
/**
|
|
313
|
+
* One JSON Schema document for content an outside tool writes: the root is a
|
|
314
|
+
* `SequenceEntry` — an activity of any registered type, or an item group whose
|
|
315
|
+
* items are typed too. Each type, the stimulus and the item group sit under
|
|
316
|
+
* `$defs` (`definitions` in draft 7), so a tool can also point at one of them.
|
|
317
|
+
* Draft 2020-12 unless `target` says `'draft-7'`.
|
|
318
|
+
*
|
|
319
|
+
* Structural, as every exported schema is: rules that span fields (one key in
|
|
320
|
+
* a single-answer question, a blank for each marker, a slow recording that is
|
|
321
|
+
* another file) cannot be written in JSON Schema. On import, `validateDraft`
|
|
322
|
+
* and `validateItemGroupDraft` decide. It includes the author-only fields
|
|
323
|
+
* (`transcript`, `script`), so a tool can write them.
|
|
324
|
+
*
|
|
325
|
+
* ```ts
|
|
326
|
+
* writeFileSync('schema.json', JSON.stringify(contentJsonSchema(), null, 2));
|
|
327
|
+
* ```
|
|
328
|
+
*/
|
|
329
|
+
declare function contentJsonSchema(options?: {
|
|
330
|
+
target?: JsonSchemaTarget;
|
|
331
|
+
}): Record<string, unknown>;
|
|
332
|
+
//#endregion
|
|
333
|
+
//#region src/schemas/media.d.ts
|
|
334
|
+
/** The most turns a recording's `script` may hold. */
|
|
335
|
+
declare const SCRIPT_MAX_TURNS = 500;
|
|
303
336
|
//#endregion
|
|
304
337
|
//#region src/schemas/index.d.ts
|
|
305
338
|
/**
|
|
@@ -335,5 +368,5 @@ declare function validateOptionMedia(value: unknown): ValidationResult<MultipleC
|
|
|
335
368
|
*/
|
|
336
369
|
declare function validateActivity<T extends ActivityType>(type: T, data: unknown): ValidationResult<ActivityDataMap[T]>;
|
|
337
370
|
//#endregion
|
|
338
|
-
export {
|
|
339
|
-
//# sourceMappingURL=index-
|
|
371
|
+
export { RedactedStimulus as A, RedactedGapSelectChoice as C, RedactedMultipleChoiceOption as D, RedactedMultipleChoiceData as E, RedactedMultipleChoiceOptionMedia as O, RedactedGapSelectBank as S, RedactedGapSelectGap as T, RedactedActivity as _, JsonSchemaTarget as a, RedactedDictationSlowMedia as b, fillInTheBlanksJsonSchema as c, jsonSchemaFor as d, multipleChoiceJsonSchema as f, validateItemGroup as g, writtenResponseJsonSchema as h, SCRIPT_MAX_TURNS as i, RedactedWrittenResponseData as j, RedactedReadAloudData as k, gapSelectJsonSchema as l, stimulusJsonSchema as m, validateMedia as n, contentJsonSchema as o, readAloudJsonSchema as p, validateOptionMedia as r, dictationJsonSchema as s, validateActivity as t, itemGroupJsonSchema as u, RedactedBlankConfig as v, RedactedGapSelectData as w, RedactedFillInTheBlanksData as x, RedactedDictationData as y };
|
|
372
|
+
//# sourceMappingURL=index-CFRgZLhH.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CFRgZLhH.d.cts","names":[],"sources":["../src/types/redacted.ts","../src/schemas/item-group.ts","../src/schemas/json-schema.ts","../src/schemas/media.ts","../src/schemas/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;UAoBU;EACR;EACA;EACA;EACA;EACA;;;UAIQ;EACR;EACA;EACA;EACA;EACA;;;UAIQ;EACR;EACA;EACA;EACA;EACA,SAAS;EACT;EACA,WAAW;;;UAIH;EACR;EACA;;;UAIQ;EACR;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;EACA;EACA;EACA,KAAK;;;UAIU;EACf;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA,QAAQ;;;UAIO,mCAAmC;EAClD;EACA;EACA;EACA;EACA,SAAS;EACT;EACA;;;UAIe;EACf;EACA;;;UAIe,oCAAoC;EACnD;EACA;EACA;EACA,QAAQ;EACR;;;UAIe,oCAAoC;EACnD;EACA;EACA;EACA;EACA;EACA;IAEM;MACE;MACA;MACA;MACA;QAAW;QAAe;;;IAE5B;;EAGN;EACA;;;UAIe;EACf;EACA;;;UAIe;EACf;EACA,SAAS;;;UAIM;EACf;EACA,UAAU;EACV;;;UAIe,8BAA8B;EAC7C;EACA;EACA;EACA,MAAM;EACN,QAAQ;EACR;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe,8BAA8B;EAC7C;EACA,YAAY;EACZ;IAAU;;EACV;;;;;;;UAQe,8BAA8B;EAC7C;EACA;EACA;EACA;EACA,YAAY;EACZ;IACE;IACA;IACA;;EAEF;IACE;MACE;MACA;;;;;UAMW;EACf;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;EACA;;;;;;;;;;;;;;KAeU,mBACR,6BACA,8BACA,8BACA,wBACA,wBACA;;;;;;;;;;;;;iBC4MY,kBAAkB,gBAAgB,iBAAiB;;;;;;;cCnatD,oBAAoB;;;;;;;;cAWpB,qBAAqB;;;;;;;;;;;;;;;;;;cAqBrB,qBAAqB;;;;;;;;;;;cAcrB,qBAAqB;;;;;;;;;;cAarB,qBAAqB;cAIrB,0BAA0B;;;;;;cAY1B,2BAA2B;;;;;cAW3B,2BAA2B;;KAQ5B;;;;;;;;;;;;;;;;;iBAqBI,cACd,cACA;EAAW,SAAS;IACnB;;;;;;;;;;;;;;;;;;iBA4Ca,kBACd;EAAW,SAAS;IACnB;;;;cCzEU;;;;;;;;;;;;;iBCnDG,cAAc,iBAAiB,iBAAiB;;;;;;;;iBAWhD,oBAAoB,iBAAiB,iBAAiB;;;;;;;;;;;;;iBA8BtD,iBAAiB,UAAU,cACzC,MAAM,GACN,gBACC,iBAAiB,gBAAgB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { At as ActivityType, I as AiGradingJudgement, In as Grader, Jt as ItemOutcome, Ln as GraderConfiguration, Mn as CriterionScore, Nn as GradeRecord, Pn as GradeRouting, Pt as DictationData, Tt as ActivityData, Yt as LearnerResponse, _n as WrittenResponseData, gn as ValidationResult, in as ReadAloudData, pn as ScoringResult, sn as ReadAloudLearnerResponse, yn as WrittenResponseRubric } from "./ai-i3jwXnpX.js";
|
|
2
2
|
//#region src/scoring/rounding.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* Rounding for assessment scores.
|
|
@@ -564,6 +564,330 @@ interface ItemTriesScore {
|
|
|
564
564
|
tries: ItemTryScore[];
|
|
565
565
|
}
|
|
566
566
|
//#endregion
|
|
567
|
+
//#region src/grading.d.ts
|
|
568
|
+
/** Options for {@link gradeFromRubric}. */
|
|
569
|
+
interface GradeFromRubricOptions {
|
|
570
|
+
/**
|
|
571
|
+
* Scaled score [0,1] required to pass. Defaults to the activity's
|
|
572
|
+
* `passThreshold`, or {@link DEFAULT_PASS_THRESHOLD} when absent.
|
|
573
|
+
*/
|
|
574
|
+
passThreshold?: number;
|
|
575
|
+
/** Narrative feedback for the learner, carried onto the record verbatim. */
|
|
576
|
+
feedback?: string | null;
|
|
577
|
+
/**
|
|
578
|
+
* Compare the pass line the way the score is displayed — both sides rounded,
|
|
579
|
+
* via `gte` — whichever threshold applies: `passThreshold` above, the
|
|
580
|
+
* activity's own, or the 0.7 default. The returned `score` stays unrounded.
|
|
581
|
+
* Opt-in, as on `score()` and `evaluate()`: switching it on moves pass/fail
|
|
582
|
+
* for totals in the rounding band.
|
|
583
|
+
*
|
|
584
|
+
* Checked before any criterion is read: `null` reads as no policy, and a
|
|
585
|
+
* policy that cannot be applied — an unknown `mode`, or a `dp` that is not a
|
|
586
|
+
* whole number from 0 to 15 — throws a `RangeError`, even for a rubric that
|
|
587
|
+
* turns out to be unscorable.
|
|
588
|
+
*/
|
|
589
|
+
rounding?: RoundingPolicy;
|
|
590
|
+
}
|
|
591
|
+
/**
|
|
592
|
+
* Computes the weighted total from per-criterion scores — the arithmetic that
|
|
593
|
+
* must NOT be delegated to a language model.
|
|
594
|
+
*
|
|
595
|
+
* A grader is asked for judgement (how good is this criterion?), not for
|
|
596
|
+
* mental arithmetic. Asking a model to also produce the weighted total makes
|
|
597
|
+
* the final grade unverifiable and unreproducible: two runs can return
|
|
598
|
+
* different totals for identical criterion scores. This function makes the
|
|
599
|
+
* total a pure function of the judgements, so a grade can be recomputed and
|
|
600
|
+
* audited years later.
|
|
601
|
+
*
|
|
602
|
+
* Weights are normalised by their sum, so they need not add to 1; each must be
|
|
603
|
+
* zero or more, and their sum a positive, finite number, or the result is
|
|
604
|
+
* `unscorable`. Criteria marked `notApplicable`, and those carrying no numeric
|
|
605
|
+
* `score` (a purely banded judgement), are excluded from both numerator and
|
|
606
|
+
* denominator, weight included. When nothing scoreable remains the result is
|
|
607
|
+
* `unscorable`, never a zero.
|
|
608
|
+
*
|
|
609
|
+
* Scores need not be in [0,1]: set `maxScore` on a criterion to declare what
|
|
610
|
+
* its score is out of, and each is normalised before weighting. A grader
|
|
611
|
+
* working out of 100 says so and is done:
|
|
612
|
+
*
|
|
613
|
+
* ```ts
|
|
614
|
+
* gradeFromRubric([
|
|
615
|
+
* { name: 'Task achievement', score: 82, maxScore: 100, weight: 2 },
|
|
616
|
+
* { name: 'Range', score: 7, maxScore: 9, weight: 1 },
|
|
617
|
+
* ]);
|
|
618
|
+
* ```
|
|
619
|
+
*
|
|
620
|
+
* The returned `GradeRecord.score` is always scaled [0,1] against
|
|
621
|
+
* `maxScore: 1`, like every other score in the SDK.
|
|
622
|
+
*/
|
|
623
|
+
declare function gradeFromRubric(criteria: readonly CriterionScore[], activityData?: ActivityData, options?: GradeFromRubricOptions): GradeRecord | {
|
|
624
|
+
unscorable: true;
|
|
625
|
+
reason: string;
|
|
626
|
+
};
|
|
627
|
+
/**
|
|
628
|
+
* Lifts a {@link GradeRecord} into the `graded` arm of {@link ItemOutcome}, so
|
|
629
|
+
* a grade that arrived asynchronously renders through the same path as a
|
|
630
|
+
* synchronously scored item. The score/passed/feedback fields are mirrored
|
|
631
|
+
* onto the outcome for uniform reads; `grade` carries the full record.
|
|
632
|
+
*
|
|
633
|
+
* A record whose numbers cannot be a grade is refused, as `evaluate` refuses a
|
|
634
|
+
* non-finite score and {@link gradeFromRubric} one outside [0,1]. `maxScore`
|
|
635
|
+
* must be a positive, finite number and `score` a finite number from 0 to it (a
|
|
636
|
+
* hair above, one part in a billion, is float noise and passes as it is).
|
|
637
|
+
* Anything else — NaN, 85 "out of 1", a score out of 0 — comes back as
|
|
638
|
+
* `{ status: 'deferred', reason: 'grade_rejected', maxScore: 1, rejectedGrade }`
|
|
639
|
+
* with the record kept verbatim. Not `graded`, or its `passed` would be read as
|
|
640
|
+
* a verdict; not `unscorable`, which `composeAssessmentScore` drops from the
|
|
641
|
+
* denominator while letting the attempt go final — so a failing grade on the
|
|
642
|
+
* wrong scale would vanish and the rest would be recorded as a pass. Deferred
|
|
643
|
+
* is what it is: the slot is still owed a real grade, so a composed attempt
|
|
644
|
+
* stays `provisional` and names the slot in `rejectedSlotIds`.
|
|
645
|
+
*/
|
|
646
|
+
declare function outcomeFromGrade(grade: GradeRecord): ItemOutcome;
|
|
647
|
+
/**
|
|
648
|
+
* True when an outcome carries a real grade — either the SDK scored it
|
|
649
|
+
* synchronously or a grader returned one. Use this instead of testing
|
|
650
|
+
* `status === 'scored'`, which silently misses asynchronously graded work.
|
|
651
|
+
*/
|
|
652
|
+
declare function hasGrade(outcome: ItemOutcome): outcome is Extract<ItemOutcome, {
|
|
653
|
+
status: 'scored' | 'graded';
|
|
654
|
+
}>;
|
|
655
|
+
//#endregion
|
|
656
|
+
//#region src/scoring/assisted/calibration.d.ts
|
|
657
|
+
/** One response marked twice: by the model, and by a person — and, optionally, a second person. */
|
|
658
|
+
interface CalibrationPair {
|
|
659
|
+
/** The model's grade, from `gradeFromJudgement`: its `grader` names the model and the prompt. */
|
|
660
|
+
model: GradeRecord;
|
|
661
|
+
/** A person's grade of the same response, criterion by criterion. */
|
|
662
|
+
person: GradeRecord;
|
|
663
|
+
/** A second person's grade, for the human–human agreement a model is compared with. */
|
|
664
|
+
secondPerson?: GradeRecord;
|
|
665
|
+
}
|
|
666
|
+
/** What the responses were graded against: the rubric, and the target language. */
|
|
667
|
+
interface CalibrationScope {
|
|
668
|
+
rubric?: WrittenResponseRubric;
|
|
669
|
+
languageTarget?: string;
|
|
670
|
+
}
|
|
671
|
+
/** How a model's judgements of one criterion agree with a person's. Rates are fractions from 0 to 1. */
|
|
672
|
+
interface CriterionCalibration {
|
|
673
|
+
name: string;
|
|
674
|
+
/** `levels` when the criterion is judged on levels; `score` when on a score from 0 to 1. */
|
|
675
|
+
scale: 'levels' | 'score';
|
|
676
|
+
/** How many levels, on a criterion with levels. */
|
|
677
|
+
levels?: number;
|
|
678
|
+
/** Pairs where both judged this criterion on its scale. */
|
|
679
|
+
pairs: number;
|
|
680
|
+
/** Levels: the share of pairs on the same level. */
|
|
681
|
+
exactAgreement?: number | null;
|
|
682
|
+
/** Levels: the share of pairs at most one level apart. */
|
|
683
|
+
adjacentAgreement?: number | null;
|
|
684
|
+
/** Levels: Cohen's kappa, quadratic weights. `null` when it is undefined (no variance). */
|
|
685
|
+
quadraticKappa?: number | null;
|
|
686
|
+
/** Levels: pair counts, `confusion[personLevel][modelLevel]`, lowest first. */
|
|
687
|
+
confusion?: number[][];
|
|
688
|
+
/** Pearson's r between the two scores. `null` when undefined (fewer than 2 pairs, or no variance). */
|
|
689
|
+
pearson: number | null;
|
|
690
|
+
/** The mean absolute difference between the two scores, from 0 to 1. `null` with no pairs. */
|
|
691
|
+
meanAbsoluteError: number | null;
|
|
692
|
+
/**
|
|
693
|
+
* The model's mean score minus the person's, over their pooled standard
|
|
694
|
+
* deviation (population): positive when the model is more lenient. `null`
|
|
695
|
+
* when undefined.
|
|
696
|
+
*/
|
|
697
|
+
standardizedMeanDifference: number | null;
|
|
698
|
+
/** Levels: pairs whose model grade carried level probabilities. */
|
|
699
|
+
probabilityPairs?: number;
|
|
700
|
+
/**
|
|
701
|
+
* Levels: expected calibration error over ten equal bins of the model's
|
|
702
|
+
* confidence (its likeliest level's probability): how far stated confidence
|
|
703
|
+
* is from how often that level was the person's. `null` without
|
|
704
|
+
* probabilities.
|
|
705
|
+
*/
|
|
706
|
+
calibrationError?: number | null;
|
|
707
|
+
/** Levels: the multi-class Brier score of the probabilities against the person's level. `null` without them. */
|
|
708
|
+
brierScore?: number | null;
|
|
709
|
+
/** Pairs with a second person's grade of this criterion. */
|
|
710
|
+
humanPairs?: number;
|
|
711
|
+
/** Levels: quadratic kappa between the two people. */
|
|
712
|
+
humanQuadraticKappa?: number | null;
|
|
713
|
+
/** Pearson's r between the two people. */
|
|
714
|
+
humanPearson?: number | null;
|
|
715
|
+
/**
|
|
716
|
+
* How much worse the model agrees with a person than two people agree: the
|
|
717
|
+
* human kappa minus the model's on levels, the human r minus the model's on
|
|
718
|
+
* scores. `null` without a second person.
|
|
719
|
+
*/
|
|
720
|
+
degradation?: number | null;
|
|
721
|
+
}
|
|
722
|
+
/** How the model's totals agree with a person's. */
|
|
723
|
+
interface TotalCalibration {
|
|
724
|
+
pairs: number;
|
|
725
|
+
pearson: number | null;
|
|
726
|
+
meanAbsoluteError: number | null;
|
|
727
|
+
standardizedMeanDifference: number | null;
|
|
728
|
+
/** The share of pairs whose pass or fail is the same. */
|
|
729
|
+
passAgreement: number | null;
|
|
730
|
+
humanPairs?: number;
|
|
731
|
+
humanPearson?: number | null;
|
|
732
|
+
degradation?: number | null;
|
|
733
|
+
}
|
|
734
|
+
/**
|
|
735
|
+
* How one grader configuration agrees with people, on the host's own responses.
|
|
736
|
+
* It ships no thresholds: the host decides what agreement admits a model to a
|
|
737
|
+
* paper of record, and `routeGrade` applies that decision.
|
|
738
|
+
*/
|
|
739
|
+
interface CalibrationReport {
|
|
740
|
+
/** What this report certifies: one model, one prompt revision, one rubric, one target. */
|
|
741
|
+
configuration: GraderConfiguration;
|
|
742
|
+
/** Pairs given. */
|
|
743
|
+
pairs: number;
|
|
744
|
+
/** One entry per rubric criterion, in the rubric's order. */
|
|
745
|
+
criteria: CriterionCalibration[];
|
|
746
|
+
total: TotalCalibration;
|
|
747
|
+
/** `contentHash` of everything above: what a routed grade records it relied on. */
|
|
748
|
+
reportHash: string;
|
|
749
|
+
}
|
|
750
|
+
/** The grader configuration a model grade comes from, on items with this rubric and target; `null` when the grade does not name its model and prompt. */
|
|
751
|
+
declare function graderConfiguration(grade: GradeRecord, scope: CalibrationScope): GraderConfiguration | null;
|
|
752
|
+
/**
|
|
753
|
+
* How one grader configuration — a model, a prompt revision, a rubric and a
|
|
754
|
+
* target language — agrees with people, measured on responses the host had
|
|
755
|
+
* marked twice. Pure: the same pairs give the same report and the same
|
|
756
|
+
* `reportHash`.
|
|
757
|
+
*
|
|
758
|
+
* Every model grade must come from one configuration (its `grader` names the
|
|
759
|
+
* model and the prompt), and no person's grade may be a model's. A criterion
|
|
760
|
+
* is measured over the pairs where both judged it on its scale — levels by
|
|
761
|
+
* their labels, scores as fractions of their maximum — and every metric that
|
|
762
|
+
* is undefined is `null`, never a number made up. It ships no threshold:
|
|
763
|
+
* `routeGrade` applies the host's.
|
|
764
|
+
*/
|
|
765
|
+
declare function calibrationReport(pairs: readonly CalibrationPair[], scope: CalibrationScope): {
|
|
766
|
+
ok: true;
|
|
767
|
+
report: CalibrationReport;
|
|
768
|
+
} | {
|
|
769
|
+
ok: false;
|
|
770
|
+
reason: string;
|
|
771
|
+
};
|
|
772
|
+
//#endregion
|
|
773
|
+
//#region src/scoring/assisted/grade-from-judgement.d.ts
|
|
774
|
+
/** Options for {@link gradeFromJudgement}: those of `gradeFromRubric`, but the feedback is the model's. */
|
|
775
|
+
type GradeFromJudgementOptions = Omit<GradeFromRubricOptions, 'feedback'>;
|
|
776
|
+
/**
|
|
777
|
+
* The grade a checked model judgement gives a written response: the total
|
|
778
|
+
* computed as `gradeFromRubric` computes every grade — never by the model — with
|
|
779
|
+
* the item's own weights and pass line, and the record a host keeps.
|
|
780
|
+
*
|
|
781
|
+
* Each criterion scores what `checkAiGrading` read: a level's place on its
|
|
782
|
+
* scale, or the model's score from 0 to 1. The level chosen is kept as `band`,
|
|
783
|
+
* its probabilities as `levelProbabilities`, and the model's identity as
|
|
784
|
+
* `grader` (`kind: 'ai'`, with its `model` and `promptHash`), so a routing rule
|
|
785
|
+
* and a calibration can read them later.
|
|
786
|
+
*
|
|
787
|
+
* `data` must be the item the request was built from: a judgement that names a
|
|
788
|
+
* criterion this rubric does not have, or leaves one of its criteria out, is
|
|
789
|
+
* `unscorable` rather than a grade on another task's rubric.
|
|
790
|
+
*/
|
|
791
|
+
declare function gradeFromJudgement(judgement: AiGradingJudgement, data: WrittenResponseData, options?: GradeFromJudgementOptions): GradeRecord | {
|
|
792
|
+
unscorable: true;
|
|
793
|
+
reason: string;
|
|
794
|
+
};
|
|
795
|
+
//#endregion
|
|
796
|
+
//#region src/scoring/assisted/routing.d.ts
|
|
797
|
+
/**
|
|
798
|
+
* The thresholds a calibration report must meet before a model's grade counts.
|
|
799
|
+
* The SDK has no default for any of them, as rounding has no default `dp`: a
|
|
800
|
+
* threshold you leave out is not checked. A metric a threshold needs that the
|
|
801
|
+
* report cannot give — a kappa with no variance, a degradation without a second
|
|
802
|
+
* person — fails it: what cannot be shown is not assumed.
|
|
803
|
+
*/
|
|
804
|
+
interface CalibrationThresholds {
|
|
805
|
+
/** Fewest pairs a criterion, and the total, must be measured on. */
|
|
806
|
+
minPairs?: number;
|
|
807
|
+
/** Lowest quadratic kappa, on each criterion with levels. */
|
|
808
|
+
minQuadraticKappa?: number;
|
|
809
|
+
/** Lowest exact agreement, on each criterion with levels. */
|
|
810
|
+
minExactAgreement?: number;
|
|
811
|
+
/** Lowest Pearson's r, on each criterion without levels and on the total. */
|
|
812
|
+
minPearson?: number;
|
|
813
|
+
/** Highest mean absolute error, on every criterion and the total. */
|
|
814
|
+
maxMeanAbsoluteError?: number;
|
|
815
|
+
/** Highest |standardised mean difference|, on every criterion and the total. */
|
|
816
|
+
maxAbsStandardizedMeanDifference?: number;
|
|
817
|
+
/** Highest degradation from human–human agreement, on every criterion and the total. */
|
|
818
|
+
maxDegradation?: number;
|
|
819
|
+
/** Highest expected calibration error, on each criterion with levels whose grades carry probabilities. */
|
|
820
|
+
maxCalibrationError?: number;
|
|
821
|
+
}
|
|
822
|
+
/** How `routeGrade` decides. Every part is optional and has no default. */
|
|
823
|
+
interface GradeRoutingPolicy {
|
|
824
|
+
/** What a calibration must show. Read when a report is supplied. */
|
|
825
|
+
calibration?: CalibrationThresholds;
|
|
826
|
+
/**
|
|
827
|
+
* A criterion judged on levels whose chosen level the grader gave a lower
|
|
828
|
+
* probability than this goes to a person (`unsure`), and so does one whose
|
|
829
|
+
* grade carries no distribution to read: what cannot be shown is not assumed.
|
|
830
|
+
*/
|
|
831
|
+
minLevelProbability?: number;
|
|
832
|
+
/** Send a grade whose grader's own `confidence` is `low` to a person (`low-confidence`). */
|
|
833
|
+
routeLowConfidence?: boolean;
|
|
834
|
+
/** Send this share of grades to a person too, chosen by `inAuditSample` (`audit-sample`). */
|
|
835
|
+
audit?: {
|
|
836
|
+
rate: number;
|
|
837
|
+
seed: string;
|
|
838
|
+
};
|
|
839
|
+
}
|
|
840
|
+
/** What `routeGrade` reads besides the grade. */
|
|
841
|
+
interface GradeRoutingContext {
|
|
842
|
+
/** `exam` for a paper of record: a grade needs a matching calibration there (`no-calibration`). */
|
|
843
|
+
mode: 'exam' | 'practice';
|
|
844
|
+
/** The item graded: its rubric and target name the configuration a report must certify. */
|
|
845
|
+
item: CalibrationScope;
|
|
846
|
+
/** The calibration of this grader's configuration, when the host has one. */
|
|
847
|
+
calibration?: CalibrationReport;
|
|
848
|
+
policy?: GradeRoutingPolicy;
|
|
849
|
+
/** The response's stable identity — an attempt and slot — for the audit sample. Required with `policy.audit`. */
|
|
850
|
+
sampleKey?: string;
|
|
851
|
+
}
|
|
852
|
+
/**
|
|
853
|
+
* Whether `key` is in the audit sample: a stable share `rate` of keys, chosen
|
|
854
|
+
* by a hash of the seed and the key, so the same response is always in or
|
|
855
|
+
* always out, two responses are drawn independently even when their keys
|
|
856
|
+
* differ by one character, and changing the seed draws a new sample.
|
|
857
|
+
*/
|
|
858
|
+
declare function inAuditSample(key: string, rate: number, seed: string): boolean;
|
|
859
|
+
/**
|
|
860
|
+
* Where a model's grade goes: to count, or to a person first. Deterministic —
|
|
861
|
+
* the same grade, context and policy always route the same way — and the
|
|
862
|
+
* decision says every reason it rests on, in {@link GradeRoutingReason}'s
|
|
863
|
+
* order, so an appeal can see why a person did or did not mark a response.
|
|
864
|
+
*
|
|
865
|
+
* - **In `exam`, a grade needs a calibration of its exact configuration**
|
|
866
|
+
* (`no-calibration`): the model and prompt its `grader` names, and the
|
|
867
|
+
* item's rubric and target. Fail closed: without a matching report, every
|
|
868
|
+
* grade goes to a person.
|
|
869
|
+
* - A supplied report must meet the policy's thresholds (`calibration-below-policy`).
|
|
870
|
+
* - A criterion on levels the grader was less sure of than
|
|
871
|
+
* `minLevelProbability`, or showed no probabilities for (`unsure`), a
|
|
872
|
+
* grader that asked for review (`model-asked`), a `low` confidence where
|
|
873
|
+
* the policy routes on it (`low-confidence`), and the audit sample
|
|
874
|
+
* (`audit-sample`) send it to a person too.
|
|
875
|
+
*
|
|
876
|
+
* A mode other than `exam` or `practice`, a policy threshold that is not a
|
|
877
|
+
* finite number, a rate outside 0 to 1, or an audit without a `sampleKey`
|
|
878
|
+
* throws a `RangeError`: it is the caller's configuration, not the grade's,
|
|
879
|
+
* and a typo must not quietly make an exam a practice.
|
|
880
|
+
*/
|
|
881
|
+
declare function routeGrade(grade: GradeRecord, context: GradeRoutingContext): GradeRouting;
|
|
882
|
+
/**
|
|
883
|
+
* The outcome a routed grade gives its slot. To the model: the grade, with the
|
|
884
|
+
* decision on its `routing`, lifted as `outcomeFromGrade` lifts any grade. To a
|
|
885
|
+
* person: `{ status: 'deferred', reason: 'awaiting_human_review', pendingGrade }`
|
|
886
|
+
* — not `graded`, so its `passed` is never read as a verdict, and a composed
|
|
887
|
+
* attempt stays `provisional` until a person's grade replaces it.
|
|
888
|
+
*/
|
|
889
|
+
declare function outcomeFromRoutedGrade(grade: GradeRecord, routing: GradeRouting): ItemOutcome;
|
|
890
|
+
//#endregion
|
|
567
891
|
//#region src/scoring/dictation/align.d.ts
|
|
568
892
|
/** One transcript word, or one extra word the learner typed, after alignment. */
|
|
569
893
|
interface DictationWordAlignment {
|
|
@@ -1067,5 +1391,5 @@ interface ItemTriesOutcome {
|
|
|
1067
1391
|
*/
|
|
1068
1392
|
declare function evaluateTries(data: ActivityData, responses: readonly LearnerResponse[], options?: EvaluateOptions): ItemTriesOutcome;
|
|
1069
1393
|
//#endregion
|
|
1070
|
-
export {
|
|
1071
|
-
//# sourceMappingURL=index-
|
|
1394
|
+
export { hasGrade as $, diffDictationChars as A, Band as At, outcomeFromRoutedGrade as B, validateItemScoringPolicy as C, SpeechSyllable as Ct, DICTATION_MAX_TEXT_LENGTH as D, SpeechWordError as Dt, DICTATION_MAX_EQUIVALENCE_LENGTH as E, SpeechWord as Et, dictationReferenceWords as F, roundGrade as Ft, CalibrationReport as G, GradeFromJudgementOptions as H, CalibrationThresholds as I, TotalCalibration as J, CalibrationScope as K, GradeRoutingContext as L, DictationReference as M, RoundingPolicy as Mt, DictationWordAlignment as N, classifyBand as Nt, DICTATION_MAX_TRANSCRIPT_LENGTH as O, WavInspection as Ot, alignDictation as P, gte as Pt, gradeFromRubric as Q, GradeRoutingPolicy as R, scoreTries as S, SpeechPlausibilityPolicy as St, DICTATION_MAX_EQUIVALENCES as T, SpeechUnscorableCode as Tt, gradeFromJudgement as U, routeGrade as V, CalibrationPair as W, graderConfiguration as X, calibrationReport as Y, GradeFromRubricOptions as Z, DEFAULT_PASS_THRESHOLD as _, ReadAloudWordState as _t, evaluateTries as a, ItemTry as at, ITEM_SCORING_MAX_RETRIES as b, SpeechPhoneme as bt, inspectWav as c, AssessmentScore as ct, READ_ALOUD_MAX_SECONDS as d, PassFailureReason as dt, outcomeFromGrade as et, READ_ALOUD_MAX_TAKES as f, ScoredItem as ft, alignReadAloud as g, ReadAloudWordAlignment as gt, validateSpeechAssessment as h, GradeReadAloudOptions as ht, evaluate as i, ItemTriesScore as it, DictationAlignment as j, RoundingMode as jt, DictationCharOp as k, WavInspectionPolicy as kt, READ_ALOUD_MAX_DIMENSION_WEIGHT as l, AssessmentSectionInput as lt, gradeReadAloud as m, composeAssessmentScore as mt, ItemTriesOutcome as n, ItemScoringPolicy as nt, score as o, ItemTryScore as ot, SPEECH_ASSESSMENT_MAX_WORDS as p, SectionScore as pt, CriterionCalibration as q, ScoringOptions as r, ItemScoringPolicyIssue as rt, outcomeFromUnscorable as s, ResolvedItemScoringPolicy as st, EvaluateOptions as t, ItemScoringCount as tt, READ_ALOUD_MAX_REFERENCE_LENGTH as u, CompositionPolicy as ut, computePassThreshold as v, SpeechAssessment as vt, DICTATION_MAX_ACCEPTED_TRANSCRIPTS as w, SpeechUnscorable as wt, resolveItemScoringPolicy as x, SpeechPhonemeCandidate as xt, DEFAULT_ITEM_SCORING_POLICY as y, SpeechMeasurement as yt, inAuditSample as z };
|
|
1395
|
+
//# sourceMappingURL=index-DeD8EI1D.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DeD8EI1D.d.ts","names":[],"sources":["../src/scoring/rounding.ts","../src/types/speech.ts","../src/scoring/compose.ts","../src/types/item-scoring.ts","../src/grading.ts","../src/scoring/assisted/calibration.ts","../src/scoring/assisted/grade-from-judgement.ts","../src/scoring/assisted/routing.ts","../src/scoring/dictation/align.ts","../src/scoring/dictation/chars.ts","../src/scoring/dictation/normalize.ts","../src/scoring/item-scoring.ts","../src/scoring/pass-threshold.ts","../src/scoring/speech/align.ts","../src/scoring/speech/assessment.ts","../src/scoring/speech/grade.ts","../src/scoring/speech/limits.ts","../src/scoring/speech/wav.ts","../src/scoring/unscorable.ts","../src/scoring/index.ts"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { An as XAPIStatement, On as XAPIResult, Sn as XAPIActor, pn as ScoringResult, wn as XAPIContext } from "./ai-i3jwXnpX.js";
|
|
2
2
|
//#region src/xapi/verbs.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* The set of xAPI verbs emitted by SDK activities, keyed by a stable
|
|
@@ -150,4 +150,4 @@ declare function xapiDefinitionFor(data: {
|
|
|
150
150
|
declare function validateXAPIStatement(statement: XAPIStatement): void;
|
|
151
151
|
//#endregion
|
|
152
152
|
export { XAPIObjectParams as a, xapiDefinitionFor as c, XAPI_VERB_DISPLAY as d, SubmittedStatementParams as i, XAPIVerb as l, AnsweredStatementParams as n, XAPIStatementParams as o, CompletedStatementParams as r, xAPIBuilder as s, validateXAPIStatement as t, XAPIVerbKey as u };
|
|
153
|
-
//# sourceMappingURL=index-
|
|
153
|
+
//# sourceMappingURL=index-Dj92T76o.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-Dj92T76o.d.ts","names":[],"sources":["../src/xapi/verbs.ts","../src/xapi/builder.ts","../src/xapi/validators.ts"],"mappings":";;;;;;cAIa;;;;;;;;;;;;;;;;;;;;;;;;;;KA2BD,2BAA2B;;;;;cAM1B,mBAAmB,OAAO,aAAa;;;;UCxBnC;;EAEf;EACA,OAAO;EACP,cAAc;;EAEd;;EAEA;;EAEA;;EAEA,UAAU;IAAQ;IAAY,cAAc;;;;UAI7B;EACf,OAAO;EACP,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;;;UAIK;EACf,OAAO;EACP,QAAQ;EACR,eAAe;EACf;;EAEA;EACA,UAAU;EACV,mBAAmB;;;;;;;UAQJ;EACf,OAAO;EACP,QAAQ;EACR;;EAEA;EACA,UAAU;EACV,mBAAmB;;;UAIJ;EACf,OAAO;EACP,QAAQ;EACR,gBAAgB;EAChB;EACA,UAAU;EACV,mBAAmB;;;;;;;cAiGR;EACY,eAAA,QAAA,sBAAsB;EAoBd,uBAAA,QAAA,0BAA0B;;;;;;;EAqBzB,wBAAA,QAAA,2BAA2B;EAc3B,wBAAA,QAAA,2BAA2B;;;;;;;;;;;;;;;;iBA8B7C,kBAAkB;EAAQ;IAAiB,QAAQ;;;;;;;;;;;;;;;;iBClHnD,sBAAsB,WAAW"}
|