@vue-skuilder/db 0.2.7 → 0.2.9
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/dist/{contentSource-Cplhv3bJ.d.ts → contentSource-C-0t0y0V.d.ts} +7 -0
- package/dist/{contentSource-kI9_jwTu.d.cts → contentSource-jSkcOt2s.d.cts} +7 -0
- package/dist/core/index.d.cts +67 -4
- package/dist/core/index.d.ts +67 -4
- package/dist/core/index.js +201 -39
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +198 -39
- package/dist/core/index.mjs.map +1 -1
- package/dist/{dataLayerProvider-DrBqOUa3.d.ts → dataLayerProvider-BB0oi9T0.d.ts} +1 -1
- package/dist/{dataLayerProvider-CiA2Rr0v.d.cts → dataLayerProvider-BDClIrFC.d.cts} +1 -1
- package/dist/impl/couch/index.d.cts +2 -2
- package/dist/impl/couch/index.d.ts +2 -2
- package/dist/impl/couch/index.js +195 -39
- package/dist/impl/couch/index.js.map +1 -1
- package/dist/impl/couch/index.mjs +195 -39
- package/dist/impl/couch/index.mjs.map +1 -1
- package/dist/impl/static/index.d.cts +2 -2
- package/dist/impl/static/index.d.ts +2 -2
- package/dist/impl/static/index.js +195 -39
- package/dist/impl/static/index.js.map +1 -1
- package/dist/impl/static/index.mjs +195 -39
- package/dist/impl/static/index.mjs.map +1 -1
- package/dist/index.d.cts +115 -81
- package/dist/index.d.ts +115 -81
- package/dist/index.js +440 -251
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +437 -251
- package/dist/index.mjs.map +1 -1
- package/docs/navigators-architecture.md +29 -13
- package/package.json +3 -3
- package/src/core/interfaces/contentSource.ts +7 -0
- package/src/core/navigators/Pipeline.ts +93 -1
- package/src/core/navigators/PipelineDebugger.ts +11 -1
- package/src/core/navigators/SrsDebugger.ts +53 -0
- package/src/core/navigators/generators/prescribed.ts +76 -9
- package/src/core/navigators/generators/srs.ts +81 -37
- package/src/core/navigators/index.ts +9 -0
- package/src/study/SessionController.ts +260 -249
- package/src/study/SessionDebugger.ts +15 -25
- package/src/study/SessionOverlay.ts +108 -13
|
@@ -1192,6 +1192,13 @@ interface StudySessionItem {
|
|
|
1192
1192
|
cardID: string;
|
|
1193
1193
|
courseID: string;
|
|
1194
1194
|
elo?: number;
|
|
1195
|
+
/**
|
|
1196
|
+
* Pipeline suitability score at queue-build time, carried for observability
|
|
1197
|
+
* (the debug overlay renders the now-load-bearing supply ranking). `+INF`
|
|
1198
|
+
* marks a mandatory required card. Not used for any draw decision — the
|
|
1199
|
+
* supplyQ is already ordered, so the controller draws front-to-back.
|
|
1200
|
+
*/
|
|
1201
|
+
score?: number;
|
|
1195
1202
|
}
|
|
1196
1203
|
interface ContentSourceID {
|
|
1197
1204
|
type: 'course' | 'classroom';
|
|
@@ -1192,6 +1192,13 @@ interface StudySessionItem {
|
|
|
1192
1192
|
cardID: string;
|
|
1193
1193
|
courseID: string;
|
|
1194
1194
|
elo?: number;
|
|
1195
|
+
/**
|
|
1196
|
+
* Pipeline suitability score at queue-build time, carried for observability
|
|
1197
|
+
* (the debug overlay renders the now-load-bearing supply ranking). `+INF`
|
|
1198
|
+
* marks a mandatory required card. Not used for any draw decision — the
|
|
1199
|
+
* supplyQ is already ordered, so the controller draws front-to-back.
|
|
1200
|
+
*/
|
|
1201
|
+
score?: number;
|
|
1195
1202
|
}
|
|
1196
1203
|
interface ContentSourceID {
|
|
1197
1204
|
type: 'course' | 'classroom';
|
package/dist/core/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a7 as LearnableWeight, M as UserOutcomeRecord, a8 as OrchestrationContext, W as WeightedCard, U as UserDBInterface, C as CourseDBInterface, R as ReplanHints, Z as StrategyContribution } from '../contentSource-
|
|
2
|
-
export { K as ActivityRecord, A as AdminDBInterface, v as AssignedCard, g as AssignedContent, u as AssignedCourse, t as AssignedTag, a4 as CardGenerator, a6 as CardGeneratorFactory, c as ClassroomDBInterface, F as ClassroomRegistration, E as ClassroomRegistrationDesignation, H as ClassroomRegistrationDoc, e as ContentNavigationStrategyData, f as ContentNavigator, q as ContentSourceID, d as CourseInfo, L as CourseRegistration, s as CourseRegistrationDoc, b as CoursesDBInterface, a5 as GeneratorContext, G as GeneratorResult, N as NavigatorConstructor, a0 as NavigatorRole, a1 as NavigatorRoles, $ as Navigators, j as ScheduledCard, I as SessionTrackingData, i as StudentClassroomDBInterface, h as StudyContentSource, k as StudySessionFailedItem, l as StudySessionFailedNewItem, m as StudySessionFailedReviewItem, S as StudySessionItem, n as StudySessionNewItem, o as StudySessionReviewItem, T as TeacherClassroomDBInterface, J as UserConfig, z as UserCourseSetting, y as UserCourseSettings, x as UserDBAuthenticator, a as UserDBReader, w as UserDBWriter, B as UsrCrsDataInterface, a9 as computeDeviation, ab as computeEffectiveWeight, aa as computeSpread, ac as createOrchestrationContext, _ as getCardOrigin, P as getRegisteredNavigator, X as getRegisteredNavigatorNames, V as getRegisteredNavigatorRole, r as getStudySource, Q as hasRegisteredNavigator, Y as initializeNavigatorRegistry, a3 as isFilter, a2 as isGenerator, p as isReview, O as registerNavigator } from '../contentSource-
|
|
3
|
-
export { D as DataLayerProvider } from '../dataLayerProvider-
|
|
1
|
+
import { a7 as LearnableWeight, M as UserOutcomeRecord, a8 as OrchestrationContext, W as WeightedCard, U as UserDBInterface, C as CourseDBInterface, R as ReplanHints, Z as StrategyContribution } from '../contentSource-jSkcOt2s.cjs';
|
|
2
|
+
export { K as ActivityRecord, A as AdminDBInterface, v as AssignedCard, g as AssignedContent, u as AssignedCourse, t as AssignedTag, a4 as CardGenerator, a6 as CardGeneratorFactory, c as ClassroomDBInterface, F as ClassroomRegistration, E as ClassroomRegistrationDesignation, H as ClassroomRegistrationDoc, e as ContentNavigationStrategyData, f as ContentNavigator, q as ContentSourceID, d as CourseInfo, L as CourseRegistration, s as CourseRegistrationDoc, b as CoursesDBInterface, a5 as GeneratorContext, G as GeneratorResult, N as NavigatorConstructor, a0 as NavigatorRole, a1 as NavigatorRoles, $ as Navigators, j as ScheduledCard, I as SessionTrackingData, i as StudentClassroomDBInterface, h as StudyContentSource, k as StudySessionFailedItem, l as StudySessionFailedNewItem, m as StudySessionFailedReviewItem, S as StudySessionItem, n as StudySessionNewItem, o as StudySessionReviewItem, T as TeacherClassroomDBInterface, J as UserConfig, z as UserCourseSetting, y as UserCourseSettings, x as UserDBAuthenticator, a as UserDBReader, w as UserDBWriter, B as UsrCrsDataInterface, a9 as computeDeviation, ab as computeEffectiveWeight, aa as computeSpread, ac as createOrchestrationContext, _ as getCardOrigin, P as getRegisteredNavigator, X as getRegisteredNavigatorNames, V as getRegisteredNavigatorRole, r as getStudySource, Q as hasRegisteredNavigator, Y as initializeNavigatorRegistry, a3 as isFilter, a2 as isGenerator, p as isReview, O as registerNavigator } from '../contentSource-jSkcOt2s.cjs';
|
|
3
|
+
export { D as DataLayerProvider } from '../dataLayerProvider-BDClIrFC.cjs';
|
|
4
4
|
import { D as DocType, d as QuestionRecord, b as DocTypePrefixes, C as CardHistory, c as CardRecord } from '../types-legacy-4tlwHnXo.cjs';
|
|
5
5
|
export { e as CardData, f as CourseListData, h as DataShapeData, g as DisplayableData, F as Field, G as GuestUsername, Q as QualifiedCardID, i as QuestionData, S as SkuilderCourseData, a as Tag, T as TagStub, l as log } from '../types-legacy-4tlwHnXo.cjs';
|
|
6
6
|
import { DataShape, ParsedCard } from '@vue-skuilder/common';
|
|
@@ -12,6 +12,31 @@ declare abstract class Loggable {
|
|
|
12
12
|
protected error(...args: unknown[]): void;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
/** Per-course snapshot of SRS backlog state, captured on each SRS generator run. */
|
|
16
|
+
interface SrsBacklogDebug {
|
|
17
|
+
courseId: string;
|
|
18
|
+
/** Total reviews scheduled for this course (due + not-yet-due). */
|
|
19
|
+
scheduledTotal: number;
|
|
20
|
+
/** Reviews eligible (due) right now. */
|
|
21
|
+
dueNow: number;
|
|
22
|
+
/** Healthy backlog threshold; multiplier is ×1.0 at or below this. */
|
|
23
|
+
healthyBacklog: number;
|
|
24
|
+
/** Global multiplier applied to every due review's urgency this run (1.0 → max). */
|
|
25
|
+
backlogMultiplier: number;
|
|
26
|
+
/** Max achievable backlog multiplier (the cap), for headroom context. */
|
|
27
|
+
maxBacklogMultiplier: number;
|
|
28
|
+
/** Highest review score produced this run (post-multiplier; can exceed 1.0); null if none due. */
|
|
29
|
+
topReviewScore: number | null;
|
|
30
|
+
/** Human-readable time until the next review comes due, or null if some are due now. */
|
|
31
|
+
nextDueIn: string | null;
|
|
32
|
+
/** Epoch ms of capture. */
|
|
33
|
+
timestamp: number;
|
|
34
|
+
}
|
|
35
|
+
/** Current backlog snapshot for every course seen, newest-first. */
|
|
36
|
+
declare function getSrsBacklogDebug(): SrsBacklogDebug[];
|
|
37
|
+
/** Drop all captured snapshots (called on session start, alongside pipeline history). */
|
|
38
|
+
declare function clearSrsBacklogDebug(): void;
|
|
39
|
+
|
|
15
40
|
/**
|
|
16
41
|
* Snapshot of the learning state for a strategy.
|
|
17
42
|
*
|
|
@@ -340,6 +365,37 @@ declare const DIVERSITY_FLOOR = 0.3;
|
|
|
340
365
|
*/
|
|
341
366
|
declare function diversityRerank(cards: WeightedCard[], opts?: DiversityRerankOptions): WeightedCard[];
|
|
342
367
|
|
|
368
|
+
/**
|
|
369
|
+
* A navigation pipeline that runs a generator and applies filters sequentially.
|
|
370
|
+
*
|
|
371
|
+
* Implements StudyContentSource for backward compatibility with SessionController.
|
|
372
|
+
*
|
|
373
|
+
* ## Usage
|
|
374
|
+
*
|
|
375
|
+
* ```typescript
|
|
376
|
+
* const pipeline = new Pipeline(
|
|
377
|
+
* compositeGenerator, // or single generator
|
|
378
|
+
* [eloDistanceFilter, interferenceFilter],
|
|
379
|
+
* user,
|
|
380
|
+
* course
|
|
381
|
+
* );
|
|
382
|
+
*
|
|
383
|
+
* const cards = await pipeline.getWeightedCards(20);
|
|
384
|
+
* ```
|
|
385
|
+
*/
|
|
386
|
+
/**
|
|
387
|
+
* Narrow capability surface for out-of-band, commit-free reads against a live
|
|
388
|
+
* pipeline (see {@link getActivePipeline}). Kept minimal on purpose — consumers
|
|
389
|
+
* get the forecast capability, not the whole `Pipeline` class.
|
|
390
|
+
*/
|
|
391
|
+
interface PipelineForecaster {
|
|
392
|
+
forecast(opts?: {
|
|
393
|
+
hints?: ReplanHints;
|
|
394
|
+
unseenOnly?: boolean;
|
|
395
|
+
threshold?: number;
|
|
396
|
+
limit?: number;
|
|
397
|
+
}): Promise<WeightedCard[]>;
|
|
398
|
+
}
|
|
343
399
|
/**
|
|
344
400
|
* Diagnosis of the full card space for the current user.
|
|
345
401
|
*/
|
|
@@ -361,6 +417,13 @@ interface CardSpaceDiagnosis {
|
|
|
361
417
|
elapsedMs: number;
|
|
362
418
|
}
|
|
363
419
|
|
|
420
|
+
/**
|
|
421
|
+
* The most recently constructed pipeline for the current session, or null if
|
|
422
|
+
* none has been built yet. This is the supported, non-debug accessor for
|
|
423
|
+
* out-of-band reads against the live pipeline (e.g. a commit-free
|
|
424
|
+
* `forecast()`), replacing reach-ins through `window.skuilder.pipeline`.
|
|
425
|
+
*/
|
|
426
|
+
declare function getActivePipeline(): PipelineForecaster | null;
|
|
364
427
|
/**
|
|
365
428
|
* Summary of a single generator's contribution.
|
|
366
429
|
*/
|
|
@@ -742,4 +805,4 @@ declare const userDBDebugAPI: {
|
|
|
742
805
|
*/
|
|
743
806
|
declare function mountUserDBDebugger(): void;
|
|
744
807
|
|
|
745
|
-
export { type BulkCardProcessorConfig, type CardFilter, type CardFilterFactory, CardHistory, CardRecord, CourseDBInterface, DIVERSITY_FLOOR, DIVERSITY_STRENGTH, type DiversityRerankOptions, DocType, DocTypePrefixes, type FilterContext, type FilterImpact, type GeneratorSummary, type GradientObservation, type GradientResult, type ImportResult, LearnableWeight, Loggable, OrchestrationContext, type PeriodUpdateInput, type PeriodUpdateResult, type PipelineRunReport, QuestionRecord, ReplanHints, type SignalConfig, StrategyContribution, type StrategyLearningState, type StrategyStateDoc, type StrategyStateId, UserDBInterface, UserOutcomeRecord, WeightedCard, aggregateOutcomesForGradient, areQuestionRecords, buildStrategyStateId, computeOutcomeSignal, computeStrategyGradient, diversityRerank, docIsDeleted, getCardHistoryID, getDefaultLearnableWeight, importParsedCards, isQuestionRecord, mountPipelineDebugger, mountUserDBDebugger, parseCardHistoryID, pipelineDebugAPI, recordUserOutcome, runPeriodUpdate, scoreAccuracyInZone, updateLearningState, updateStrategyWeight, userDBDebugAPI, validateProcessorConfig };
|
|
808
|
+
export { type BulkCardProcessorConfig, type CardFilter, type CardFilterFactory, CardHistory, CardRecord, CourseDBInterface, DIVERSITY_FLOOR, DIVERSITY_STRENGTH, type DiversityRerankOptions, DocType, DocTypePrefixes, type FilterContext, type FilterImpact, type GeneratorSummary, type GradientObservation, type GradientResult, type ImportResult, LearnableWeight, Loggable, OrchestrationContext, type PeriodUpdateInput, type PeriodUpdateResult, type PipelineForecaster, type PipelineRunReport, QuestionRecord, ReplanHints, type SignalConfig, type SrsBacklogDebug, StrategyContribution, type StrategyLearningState, type StrategyStateDoc, type StrategyStateId, UserDBInterface, UserOutcomeRecord, WeightedCard, aggregateOutcomesForGradient, areQuestionRecords, buildStrategyStateId, clearSrsBacklogDebug, computeOutcomeSignal, computeStrategyGradient, diversityRerank, docIsDeleted, getActivePipeline, getCardHistoryID, getDefaultLearnableWeight, getSrsBacklogDebug, importParsedCards, isQuestionRecord, mountPipelineDebugger, mountUserDBDebugger, parseCardHistoryID, pipelineDebugAPI, recordUserOutcome, runPeriodUpdate, scoreAccuracyInZone, updateLearningState, updateStrategyWeight, userDBDebugAPI, validateProcessorConfig };
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a7 as LearnableWeight, M as UserOutcomeRecord, a8 as OrchestrationContext, W as WeightedCard, U as UserDBInterface, C as CourseDBInterface, R as ReplanHints, Z as StrategyContribution } from '../contentSource-
|
|
2
|
-
export { K as ActivityRecord, A as AdminDBInterface, v as AssignedCard, g as AssignedContent, u as AssignedCourse, t as AssignedTag, a4 as CardGenerator, a6 as CardGeneratorFactory, c as ClassroomDBInterface, F as ClassroomRegistration, E as ClassroomRegistrationDesignation, H as ClassroomRegistrationDoc, e as ContentNavigationStrategyData, f as ContentNavigator, q as ContentSourceID, d as CourseInfo, L as CourseRegistration, s as CourseRegistrationDoc, b as CoursesDBInterface, a5 as GeneratorContext, G as GeneratorResult, N as NavigatorConstructor, a0 as NavigatorRole, a1 as NavigatorRoles, $ as Navigators, j as ScheduledCard, I as SessionTrackingData, i as StudentClassroomDBInterface, h as StudyContentSource, k as StudySessionFailedItem, l as StudySessionFailedNewItem, m as StudySessionFailedReviewItem, S as StudySessionItem, n as StudySessionNewItem, o as StudySessionReviewItem, T as TeacherClassroomDBInterface, J as UserConfig, z as UserCourseSetting, y as UserCourseSettings, x as UserDBAuthenticator, a as UserDBReader, w as UserDBWriter, B as UsrCrsDataInterface, a9 as computeDeviation, ab as computeEffectiveWeight, aa as computeSpread, ac as createOrchestrationContext, _ as getCardOrigin, P as getRegisteredNavigator, X as getRegisteredNavigatorNames, V as getRegisteredNavigatorRole, r as getStudySource, Q as hasRegisteredNavigator, Y as initializeNavigatorRegistry, a3 as isFilter, a2 as isGenerator, p as isReview, O as registerNavigator } from '../contentSource-
|
|
3
|
-
export { D as DataLayerProvider } from '../dataLayerProvider-
|
|
1
|
+
import { a7 as LearnableWeight, M as UserOutcomeRecord, a8 as OrchestrationContext, W as WeightedCard, U as UserDBInterface, C as CourseDBInterface, R as ReplanHints, Z as StrategyContribution } from '../contentSource-C-0t0y0V.js';
|
|
2
|
+
export { K as ActivityRecord, A as AdminDBInterface, v as AssignedCard, g as AssignedContent, u as AssignedCourse, t as AssignedTag, a4 as CardGenerator, a6 as CardGeneratorFactory, c as ClassroomDBInterface, F as ClassroomRegistration, E as ClassroomRegistrationDesignation, H as ClassroomRegistrationDoc, e as ContentNavigationStrategyData, f as ContentNavigator, q as ContentSourceID, d as CourseInfo, L as CourseRegistration, s as CourseRegistrationDoc, b as CoursesDBInterface, a5 as GeneratorContext, G as GeneratorResult, N as NavigatorConstructor, a0 as NavigatorRole, a1 as NavigatorRoles, $ as Navigators, j as ScheduledCard, I as SessionTrackingData, i as StudentClassroomDBInterface, h as StudyContentSource, k as StudySessionFailedItem, l as StudySessionFailedNewItem, m as StudySessionFailedReviewItem, S as StudySessionItem, n as StudySessionNewItem, o as StudySessionReviewItem, T as TeacherClassroomDBInterface, J as UserConfig, z as UserCourseSetting, y as UserCourseSettings, x as UserDBAuthenticator, a as UserDBReader, w as UserDBWriter, B as UsrCrsDataInterface, a9 as computeDeviation, ab as computeEffectiveWeight, aa as computeSpread, ac as createOrchestrationContext, _ as getCardOrigin, P as getRegisteredNavigator, X as getRegisteredNavigatorNames, V as getRegisteredNavigatorRole, r as getStudySource, Q as hasRegisteredNavigator, Y as initializeNavigatorRegistry, a3 as isFilter, a2 as isGenerator, p as isReview, O as registerNavigator } from '../contentSource-C-0t0y0V.js';
|
|
3
|
+
export { D as DataLayerProvider } from '../dataLayerProvider-BB0oi9T0.js';
|
|
4
4
|
import { D as DocType, d as QuestionRecord, b as DocTypePrefixes, C as CardHistory, c as CardRecord } from '../types-legacy-4tlwHnXo.js';
|
|
5
5
|
export { e as CardData, f as CourseListData, h as DataShapeData, g as DisplayableData, F as Field, G as GuestUsername, Q as QualifiedCardID, i as QuestionData, S as SkuilderCourseData, a as Tag, T as TagStub, l as log } from '../types-legacy-4tlwHnXo.js';
|
|
6
6
|
import { DataShape, ParsedCard } from '@vue-skuilder/common';
|
|
@@ -12,6 +12,31 @@ declare abstract class Loggable {
|
|
|
12
12
|
protected error(...args: unknown[]): void;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
/** Per-course snapshot of SRS backlog state, captured on each SRS generator run. */
|
|
16
|
+
interface SrsBacklogDebug {
|
|
17
|
+
courseId: string;
|
|
18
|
+
/** Total reviews scheduled for this course (due + not-yet-due). */
|
|
19
|
+
scheduledTotal: number;
|
|
20
|
+
/** Reviews eligible (due) right now. */
|
|
21
|
+
dueNow: number;
|
|
22
|
+
/** Healthy backlog threshold; multiplier is ×1.0 at or below this. */
|
|
23
|
+
healthyBacklog: number;
|
|
24
|
+
/** Global multiplier applied to every due review's urgency this run (1.0 → max). */
|
|
25
|
+
backlogMultiplier: number;
|
|
26
|
+
/** Max achievable backlog multiplier (the cap), for headroom context. */
|
|
27
|
+
maxBacklogMultiplier: number;
|
|
28
|
+
/** Highest review score produced this run (post-multiplier; can exceed 1.0); null if none due. */
|
|
29
|
+
topReviewScore: number | null;
|
|
30
|
+
/** Human-readable time until the next review comes due, or null if some are due now. */
|
|
31
|
+
nextDueIn: string | null;
|
|
32
|
+
/** Epoch ms of capture. */
|
|
33
|
+
timestamp: number;
|
|
34
|
+
}
|
|
35
|
+
/** Current backlog snapshot for every course seen, newest-first. */
|
|
36
|
+
declare function getSrsBacklogDebug(): SrsBacklogDebug[];
|
|
37
|
+
/** Drop all captured snapshots (called on session start, alongside pipeline history). */
|
|
38
|
+
declare function clearSrsBacklogDebug(): void;
|
|
39
|
+
|
|
15
40
|
/**
|
|
16
41
|
* Snapshot of the learning state for a strategy.
|
|
17
42
|
*
|
|
@@ -340,6 +365,37 @@ declare const DIVERSITY_FLOOR = 0.3;
|
|
|
340
365
|
*/
|
|
341
366
|
declare function diversityRerank(cards: WeightedCard[], opts?: DiversityRerankOptions): WeightedCard[];
|
|
342
367
|
|
|
368
|
+
/**
|
|
369
|
+
* A navigation pipeline that runs a generator and applies filters sequentially.
|
|
370
|
+
*
|
|
371
|
+
* Implements StudyContentSource for backward compatibility with SessionController.
|
|
372
|
+
*
|
|
373
|
+
* ## Usage
|
|
374
|
+
*
|
|
375
|
+
* ```typescript
|
|
376
|
+
* const pipeline = new Pipeline(
|
|
377
|
+
* compositeGenerator, // or single generator
|
|
378
|
+
* [eloDistanceFilter, interferenceFilter],
|
|
379
|
+
* user,
|
|
380
|
+
* course
|
|
381
|
+
* );
|
|
382
|
+
*
|
|
383
|
+
* const cards = await pipeline.getWeightedCards(20);
|
|
384
|
+
* ```
|
|
385
|
+
*/
|
|
386
|
+
/**
|
|
387
|
+
* Narrow capability surface for out-of-band, commit-free reads against a live
|
|
388
|
+
* pipeline (see {@link getActivePipeline}). Kept minimal on purpose — consumers
|
|
389
|
+
* get the forecast capability, not the whole `Pipeline` class.
|
|
390
|
+
*/
|
|
391
|
+
interface PipelineForecaster {
|
|
392
|
+
forecast(opts?: {
|
|
393
|
+
hints?: ReplanHints;
|
|
394
|
+
unseenOnly?: boolean;
|
|
395
|
+
threshold?: number;
|
|
396
|
+
limit?: number;
|
|
397
|
+
}): Promise<WeightedCard[]>;
|
|
398
|
+
}
|
|
343
399
|
/**
|
|
344
400
|
* Diagnosis of the full card space for the current user.
|
|
345
401
|
*/
|
|
@@ -361,6 +417,13 @@ interface CardSpaceDiagnosis {
|
|
|
361
417
|
elapsedMs: number;
|
|
362
418
|
}
|
|
363
419
|
|
|
420
|
+
/**
|
|
421
|
+
* The most recently constructed pipeline for the current session, or null if
|
|
422
|
+
* none has been built yet. This is the supported, non-debug accessor for
|
|
423
|
+
* out-of-band reads against the live pipeline (e.g. a commit-free
|
|
424
|
+
* `forecast()`), replacing reach-ins through `window.skuilder.pipeline`.
|
|
425
|
+
*/
|
|
426
|
+
declare function getActivePipeline(): PipelineForecaster | null;
|
|
364
427
|
/**
|
|
365
428
|
* Summary of a single generator's contribution.
|
|
366
429
|
*/
|
|
@@ -742,4 +805,4 @@ declare const userDBDebugAPI: {
|
|
|
742
805
|
*/
|
|
743
806
|
declare function mountUserDBDebugger(): void;
|
|
744
807
|
|
|
745
|
-
export { type BulkCardProcessorConfig, type CardFilter, type CardFilterFactory, CardHistory, CardRecord, CourseDBInterface, DIVERSITY_FLOOR, DIVERSITY_STRENGTH, type DiversityRerankOptions, DocType, DocTypePrefixes, type FilterContext, type FilterImpact, type GeneratorSummary, type GradientObservation, type GradientResult, type ImportResult, LearnableWeight, Loggable, OrchestrationContext, type PeriodUpdateInput, type PeriodUpdateResult, type PipelineRunReport, QuestionRecord, ReplanHints, type SignalConfig, StrategyContribution, type StrategyLearningState, type StrategyStateDoc, type StrategyStateId, UserDBInterface, UserOutcomeRecord, WeightedCard, aggregateOutcomesForGradient, areQuestionRecords, buildStrategyStateId, computeOutcomeSignal, computeStrategyGradient, diversityRerank, docIsDeleted, getCardHistoryID, getDefaultLearnableWeight, importParsedCards, isQuestionRecord, mountPipelineDebugger, mountUserDBDebugger, parseCardHistoryID, pipelineDebugAPI, recordUserOutcome, runPeriodUpdate, scoreAccuracyInZone, updateLearningState, updateStrategyWeight, userDBDebugAPI, validateProcessorConfig };
|
|
808
|
+
export { type BulkCardProcessorConfig, type CardFilter, type CardFilterFactory, CardHistory, CardRecord, CourseDBInterface, DIVERSITY_FLOOR, DIVERSITY_STRENGTH, type DiversityRerankOptions, DocType, DocTypePrefixes, type FilterContext, type FilterImpact, type GeneratorSummary, type GradientObservation, type GradientResult, type ImportResult, LearnableWeight, Loggable, OrchestrationContext, type PeriodUpdateInput, type PeriodUpdateResult, type PipelineForecaster, type PipelineRunReport, QuestionRecord, ReplanHints, type SignalConfig, type SrsBacklogDebug, StrategyContribution, type StrategyLearningState, type StrategyStateDoc, type StrategyStateId, UserDBInterface, UserOutcomeRecord, WeightedCard, aggregateOutcomesForGradient, areQuestionRecords, buildStrategyStateId, clearSrsBacklogDebug, computeOutcomeSignal, computeStrategyGradient, diversityRerank, docIsDeleted, getActivePipeline, getCardHistoryID, getDefaultLearnableWeight, getSrsBacklogDebug, importParsedCards, isQuestionRecord, mountPipelineDebugger, mountUserDBDebugger, parseCardHistoryID, pipelineDebugAPI, recordUserOutcome, runPeriodUpdate, scoreAccuracyInZone, updateLearningState, updateStrategyWeight, userDBDebugAPI, validateProcessorConfig };
|