@vue-skuilder/db 0.1.32-b → 0.1.32-c

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 (50) hide show
  1. package/dist/core/index.d.cts +16 -12
  2. package/dist/core/index.d.ts +16 -12
  3. package/dist/core/index.js +2262 -223
  4. package/dist/core/index.js.map +1 -1
  5. package/dist/core/index.mjs +2239 -196
  6. package/dist/core/index.mjs.map +1 -1
  7. package/dist/{contentSource-Bdwkvqa8.d.ts → dataLayerProvider-BAn-LRh5.d.ts} +626 -83
  8. package/dist/{contentSource-DF1nUbPQ.d.cts → dataLayerProvider-BJqBlMIl.d.cts} +626 -83
  9. package/dist/impl/couch/index.d.cts +17 -4
  10. package/dist/impl/couch/index.d.ts +17 -4
  11. package/dist/impl/couch/index.js +2306 -220
  12. package/dist/impl/couch/index.js.map +1 -1
  13. package/dist/impl/couch/index.mjs +2294 -204
  14. package/dist/impl/couch/index.mjs.map +1 -1
  15. package/dist/impl/static/index.d.cts +4 -5
  16. package/dist/impl/static/index.d.ts +4 -5
  17. package/dist/impl/static/index.js +2266 -227
  18. package/dist/impl/static/index.js.map +1 -1
  19. package/dist/impl/static/index.mjs +2251 -208
  20. package/dist/impl/static/index.mjs.map +1 -1
  21. package/dist/{index-BWvO-_rJ.d.ts → index-X6wHrURm.d.ts} +1 -1
  22. package/dist/{index-Ba7hYbHj.d.cts → index-m8MMGxxR.d.cts} +1 -1
  23. package/dist/index.d.cts +9 -444
  24. package/dist/index.d.ts +9 -444
  25. package/dist/index.js +9637 -8931
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.mjs +9539 -8833
  28. package/dist/index.mjs.map +1 -1
  29. package/dist/{types-CJrLM1Ew.d.ts → types-DZ5dUqbL.d.ts} +1 -1
  30. package/dist/{types-W8n-B6HG.d.cts → types-ZL8tOPQZ.d.cts} +1 -1
  31. package/dist/{types-legacy-JXDxinpU.d.cts → types-legacy-C7r0T4OV.d.cts} +1 -1
  32. package/dist/{types-legacy-JXDxinpU.d.ts → types-legacy-C7r0T4OV.d.ts} +1 -1
  33. package/dist/util/packer/index.d.cts +3 -3
  34. package/dist/util/packer/index.d.ts +3 -3
  35. package/docs/navigators-architecture.md +2 -2
  36. package/package.json +2 -2
  37. package/src/core/interfaces/contentSource.ts +2 -1
  38. package/src/core/navigators/Pipeline.ts +47 -29
  39. package/src/core/navigators/PipelineDebugger.ts +49 -1
  40. package/src/core/navigators/filters/hierarchyDefinition.ts +88 -5
  41. package/src/core/navigators/generators/prescribed.ts +618 -43
  42. package/src/core/navigators/index.ts +2 -1
  43. package/src/impl/couch/CourseSyncService.ts +72 -4
  44. package/src/impl/couch/courseDB.ts +3 -2
  45. package/src/impl/static/courseDB.ts +3 -2
  46. package/src/study/SessionController.ts +79 -9
  47. package/src/study/services/EloService.ts +22 -3
  48. package/src/study/services/ResponseProcessor.ts +7 -3
  49. package/dist/dataLayerProvider-BKmVoyJR.d.ts +0 -67
  50. package/dist/dataLayerProvider-BQdfJuBN.d.cts +0 -67
@@ -1,17 +1,10 @@
1
- import { a2 as LearnableWeight, L as UserOutcomeRecord, a3 as OrchestrationContext, W as WeightedCard, U as UserDBInterface, C as CourseDBInterface, X as StrategyContribution } from '../contentSource-DF1nUbPQ.cjs';
2
- export { J as ActivityRecord, A as AdminDBInterface, v as AssignedCard, g as AssignedContent, u as AssignedCourse, t as AssignedTag, c as ClassroomDBInterface, F as ClassroomRegistration, E as ClassroomRegistrationDesignation, G as ClassroomRegistrationDoc, e as ContentNavigationStrategyData, f as ContentNavigator, q as ContentSourceID, d as CourseInfo, K as CourseRegistration, s as CourseRegistrationDoc, b as CoursesDBInterface, N as NavigatorConstructor, _ as NavigatorRole, $ as NavigatorRoles, Z as Navigators, j as ScheduledCard, H 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, I as UserConfig, z as UserCourseSetting, y as UserCourseSettings, x as UserDBAuthenticator, a as UserDBReader, w as UserDBWriter, B as UsrCrsDataInterface, a4 as computeDeviation, a6 as computeEffectiveWeight, a5 as computeSpread, a7 as createOrchestrationContext, Y as getCardOrigin, O as getRegisteredNavigator, R as getRegisteredNavigatorNames, Q as getRegisteredNavigatorRole, r as getStudySource, P as hasRegisteredNavigator, V as initializeNavigatorRegistry, a1 as isFilter, a0 as isGenerator, p as isReview, M as registerNavigator } from '../contentSource-DF1nUbPQ.cjs';
3
- export { D as DataLayerProvider } from '../dataLayerProvider-BQdfJuBN.cjs';
4
- import { D as DocType, i as QuestionRecord, b as DocTypePrefixes, C as CardHistory, c as CardRecord } from '../types-legacy-JXDxinpU.cjs';
5
- export { d as CardData, e as CourseListData, g as DataShapeData, f as DisplayableData, F as Field, G as GuestUsername, Q as QualifiedCardID, h as QuestionData, S as SkuilderCourseData, a as Tag, T as TagStub, l as log } from '../types-legacy-JXDxinpU.cjs';
1
+ import { a6 as LearnableWeight, N as UserOutcomeRecord, a7 as OrchestrationContext, W as WeightedCard, U as UserDBInterface, C as CourseDBInterface, $ as StrategyContribution } from '../dataLayerProvider-BJqBlMIl.cjs';
2
+ export { K as ActivityRecord, A as AdminDBInterface, w as AssignedCard, h as AssignedContent, v as AssignedCourse, u as AssignedTag, b as ClassroomDBInterface, G as ClassroomRegistration, F as ClassroomRegistrationDesignation, H as ClassroomRegistrationDoc, f as ContentNavigationStrategyData, g as ContentNavigator, r as ContentSourceID, d as CourseInfo, L as CourseRegistration, M as CourseRegistrationDoc, a as CoursesDBInterface, D as DataLayerProvider, O as Loggable, P as NavigatorConstructor, a2 as NavigatorRole, a3 as NavigatorRoles, a1 as Navigators, k as ScheduledCard, I as SessionTrackingData, j as StudentClassroomDBInterface, i as StudyContentSource, l as StudySessionFailedItem, m as StudySessionFailedNewItem, n as StudySessionFailedReviewItem, S as StudySessionItem, o as StudySessionNewItem, p as StudySessionReviewItem, T as TeacherClassroomDBInterface, J as UserConfig, B as UserCourseSetting, z as UserCourseSettings, y as UserDBAuthenticator, c as UserDBReader, x as UserDBWriter, E as UsrCrsDataInterface, a8 as computeDeviation, aa as computeEffectiveWeight, a9 as computeSpread, ab as createOrchestrationContext, a0 as getCardOrigin, V as getRegisteredNavigator, Z as getRegisteredNavigatorNames, Y as getRegisteredNavigatorRole, s as getStudySource, X as hasRegisteredNavigator, _ as initializeNavigatorRegistry, a5 as isFilter, a4 as isGenerator, q as isReview, Q as registerNavigator } from '../dataLayerProvider-BJqBlMIl.cjs';
3
+ import { D as DocType, i as QuestionRecord, f as DocTypePrefixes, g as CardHistory, h as CardRecord } from '../types-legacy-C7r0T4OV.cjs';
4
+ export { C as CardData, b as CourseListData, d as DataShapeData, c as DisplayableData, F as Field, G as GuestUsername, Q as QualifiedCardID, e as QuestionData, S as SkuilderCourseData, a as Tag, T as TagStub, l as log } from '../types-legacy-C7r0T4OV.cjs';
6
5
  import { DataShape, ParsedCard } from '@vue-skuilder/common';
7
6
  import 'moment';
8
7
 
9
- declare abstract class Loggable {
10
- protected abstract readonly _className: string;
11
- protected log(...args: unknown[]): void;
12
- protected error(...args: unknown[]): void;
13
- }
14
-
15
8
  /**
16
9
  * Snapshot of the learning state for a strategy.
17
10
  *
@@ -432,6 +425,8 @@ interface PipelineRunReport {
432
425
  timestamp: Date;
433
426
  courseId: string;
434
427
  courseName?: string;
428
+ /** User's global ELO at the time of this pipeline run */
429
+ userElo?: number;
435
430
  generatorName: string;
436
431
  generators?: GeneratorSummary[];
437
432
  generatedCount: number;
@@ -444,6 +439,8 @@ interface PipelineRunReport {
444
439
  courseId: string;
445
440
  origin: 'new' | 'review' | 'unknown';
446
441
  finalScore: number;
442
+ /** Card's ELO (parsed from ELO generator provenance, if available) */
443
+ cardElo?: number;
447
444
  provenance: StrategyContribution[];
448
445
  tags?: string[];
449
446
  selected: boolean;
@@ -508,6 +505,13 @@ declare const pipelineDebugAPI: {
508
505
  * @param threshold - Score threshold for "well indicated" (default 0.10)
509
506
  */
510
507
  diagnoseCardSpace(threshold?: number): Promise<CardSpaceDiagnosis | null>;
508
+ /**
509
+ * Show user's per-tag ELO data. Useful for diagnosing hierarchy gate status.
510
+ *
511
+ * @param tagFilter - Optional glob pattern(s) to filter tags.
512
+ * Examples: 'gpc:expose:*', 'gpc:intro:t-T', ['gpc:expose:t-*', 'gpc:intro:t-*']
513
+ */
514
+ showTagElo(tagFilter?: string | string[]): Promise<void>;
511
515
  /**
512
516
  * Show help.
513
517
  */
@@ -700,4 +704,4 @@ declare const userDBDebugAPI: {
700
704
  */
701
705
  declare function mountUserDBDebugger(): void;
702
706
 
703
- export { type BulkCardProcessorConfig, type CardFilter, type CardFilterFactory, type CardGenerator, type CardGeneratorFactory, CardHistory, CardRecord, CourseDBInterface, DocType, DocTypePrefixes, type FilterContext, type FilterImpact, type GeneratorContext, type GeneratorSummary, type GradientObservation, type GradientResult, type ImportResult, LearnableWeight, Loggable, OrchestrationContext, type PeriodUpdateInput, type PeriodUpdateResult, type PipelineRunReport, QuestionRecord, type SignalConfig, StrategyContribution, type StrategyLearningState, type StrategyStateDoc, type StrategyStateId, UserDBInterface, UserOutcomeRecord, WeightedCard, aggregateOutcomesForGradient, areQuestionRecords, buildStrategyStateId, computeOutcomeSignal, computeStrategyGradient, docIsDeleted, getCardHistoryID, getDefaultLearnableWeight, importParsedCards, isQuestionRecord, mountPipelineDebugger, mountUserDBDebugger, parseCardHistoryID, pipelineDebugAPI, recordUserOutcome, runPeriodUpdate, scoreAccuracyInZone, updateLearningState, updateStrategyWeight, userDBDebugAPI, validateProcessorConfig };
707
+ export { type BulkCardProcessorConfig, type CardFilter, type CardFilterFactory, type CardGenerator, type CardGeneratorFactory, CardHistory, CardRecord, CourseDBInterface, DocType, DocTypePrefixes, type FilterContext, type FilterImpact, type GeneratorContext, type GeneratorSummary, type GradientObservation, type GradientResult, type ImportResult, LearnableWeight, OrchestrationContext, type PeriodUpdateInput, type PeriodUpdateResult, type PipelineRunReport, QuestionRecord, type SignalConfig, StrategyContribution, type StrategyLearningState, type StrategyStateDoc, type StrategyStateId, UserDBInterface, UserOutcomeRecord, WeightedCard, aggregateOutcomesForGradient, areQuestionRecords, buildStrategyStateId, computeOutcomeSignal, computeStrategyGradient, docIsDeleted, getCardHistoryID, getDefaultLearnableWeight, importParsedCards, isQuestionRecord, mountPipelineDebugger, mountUserDBDebugger, parseCardHistoryID, pipelineDebugAPI, recordUserOutcome, runPeriodUpdate, scoreAccuracyInZone, updateLearningState, updateStrategyWeight, userDBDebugAPI, validateProcessorConfig };
@@ -1,17 +1,10 @@
1
- import { a2 as LearnableWeight, L as UserOutcomeRecord, a3 as OrchestrationContext, W as WeightedCard, U as UserDBInterface, C as CourseDBInterface, X as StrategyContribution } from '../contentSource-Bdwkvqa8.js';
2
- export { J as ActivityRecord, A as AdminDBInterface, v as AssignedCard, g as AssignedContent, u as AssignedCourse, t as AssignedTag, c as ClassroomDBInterface, F as ClassroomRegistration, E as ClassroomRegistrationDesignation, G as ClassroomRegistrationDoc, e as ContentNavigationStrategyData, f as ContentNavigator, q as ContentSourceID, d as CourseInfo, K as CourseRegistration, s as CourseRegistrationDoc, b as CoursesDBInterface, N as NavigatorConstructor, _ as NavigatorRole, $ as NavigatorRoles, Z as Navigators, j as ScheduledCard, H 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, I as UserConfig, z as UserCourseSetting, y as UserCourseSettings, x as UserDBAuthenticator, a as UserDBReader, w as UserDBWriter, B as UsrCrsDataInterface, a4 as computeDeviation, a6 as computeEffectiveWeight, a5 as computeSpread, a7 as createOrchestrationContext, Y as getCardOrigin, O as getRegisteredNavigator, R as getRegisteredNavigatorNames, Q as getRegisteredNavigatorRole, r as getStudySource, P as hasRegisteredNavigator, V as initializeNavigatorRegistry, a1 as isFilter, a0 as isGenerator, p as isReview, M as registerNavigator } from '../contentSource-Bdwkvqa8.js';
3
- export { D as DataLayerProvider } from '../dataLayerProvider-BKmVoyJR.js';
4
- import { D as DocType, i as QuestionRecord, b as DocTypePrefixes, C as CardHistory, c as CardRecord } from '../types-legacy-JXDxinpU.js';
5
- export { d as CardData, e as CourseListData, g as DataShapeData, f as DisplayableData, F as Field, G as GuestUsername, Q as QualifiedCardID, h as QuestionData, S as SkuilderCourseData, a as Tag, T as TagStub, l as log } from '../types-legacy-JXDxinpU.js';
1
+ import { a6 as LearnableWeight, N as UserOutcomeRecord, a7 as OrchestrationContext, W as WeightedCard, U as UserDBInterface, C as CourseDBInterface, $ as StrategyContribution } from '../dataLayerProvider-BAn-LRh5.js';
2
+ export { K as ActivityRecord, A as AdminDBInterface, w as AssignedCard, h as AssignedContent, v as AssignedCourse, u as AssignedTag, b as ClassroomDBInterface, G as ClassroomRegistration, F as ClassroomRegistrationDesignation, H as ClassroomRegistrationDoc, f as ContentNavigationStrategyData, g as ContentNavigator, r as ContentSourceID, d as CourseInfo, L as CourseRegistration, M as CourseRegistrationDoc, a as CoursesDBInterface, D as DataLayerProvider, O as Loggable, P as NavigatorConstructor, a2 as NavigatorRole, a3 as NavigatorRoles, a1 as Navigators, k as ScheduledCard, I as SessionTrackingData, j as StudentClassroomDBInterface, i as StudyContentSource, l as StudySessionFailedItem, m as StudySessionFailedNewItem, n as StudySessionFailedReviewItem, S as StudySessionItem, o as StudySessionNewItem, p as StudySessionReviewItem, T as TeacherClassroomDBInterface, J as UserConfig, B as UserCourseSetting, z as UserCourseSettings, y as UserDBAuthenticator, c as UserDBReader, x as UserDBWriter, E as UsrCrsDataInterface, a8 as computeDeviation, aa as computeEffectiveWeight, a9 as computeSpread, ab as createOrchestrationContext, a0 as getCardOrigin, V as getRegisteredNavigator, Z as getRegisteredNavigatorNames, Y as getRegisteredNavigatorRole, s as getStudySource, X as hasRegisteredNavigator, _ as initializeNavigatorRegistry, a5 as isFilter, a4 as isGenerator, q as isReview, Q as registerNavigator } from '../dataLayerProvider-BAn-LRh5.js';
3
+ import { D as DocType, i as QuestionRecord, f as DocTypePrefixes, g as CardHistory, h as CardRecord } from '../types-legacy-C7r0T4OV.js';
4
+ export { C as CardData, b as CourseListData, d as DataShapeData, c as DisplayableData, F as Field, G as GuestUsername, Q as QualifiedCardID, e as QuestionData, S as SkuilderCourseData, a as Tag, T as TagStub, l as log } from '../types-legacy-C7r0T4OV.js';
6
5
  import { DataShape, ParsedCard } from '@vue-skuilder/common';
7
6
  import 'moment';
8
7
 
9
- declare abstract class Loggable {
10
- protected abstract readonly _className: string;
11
- protected log(...args: unknown[]): void;
12
- protected error(...args: unknown[]): void;
13
- }
14
-
15
8
  /**
16
9
  * Snapshot of the learning state for a strategy.
17
10
  *
@@ -432,6 +425,8 @@ interface PipelineRunReport {
432
425
  timestamp: Date;
433
426
  courseId: string;
434
427
  courseName?: string;
428
+ /** User's global ELO at the time of this pipeline run */
429
+ userElo?: number;
435
430
  generatorName: string;
436
431
  generators?: GeneratorSummary[];
437
432
  generatedCount: number;
@@ -444,6 +439,8 @@ interface PipelineRunReport {
444
439
  courseId: string;
445
440
  origin: 'new' | 'review' | 'unknown';
446
441
  finalScore: number;
442
+ /** Card's ELO (parsed from ELO generator provenance, if available) */
443
+ cardElo?: number;
447
444
  provenance: StrategyContribution[];
448
445
  tags?: string[];
449
446
  selected: boolean;
@@ -508,6 +505,13 @@ declare const pipelineDebugAPI: {
508
505
  * @param threshold - Score threshold for "well indicated" (default 0.10)
509
506
  */
510
507
  diagnoseCardSpace(threshold?: number): Promise<CardSpaceDiagnosis | null>;
508
+ /**
509
+ * Show user's per-tag ELO data. Useful for diagnosing hierarchy gate status.
510
+ *
511
+ * @param tagFilter - Optional glob pattern(s) to filter tags.
512
+ * Examples: 'gpc:expose:*', 'gpc:intro:t-T', ['gpc:expose:t-*', 'gpc:intro:t-*']
513
+ */
514
+ showTagElo(tagFilter?: string | string[]): Promise<void>;
511
515
  /**
512
516
  * Show help.
513
517
  */
@@ -700,4 +704,4 @@ declare const userDBDebugAPI: {
700
704
  */
701
705
  declare function mountUserDBDebugger(): void;
702
706
 
703
- export { type BulkCardProcessorConfig, type CardFilter, type CardFilterFactory, type CardGenerator, type CardGeneratorFactory, CardHistory, CardRecord, CourseDBInterface, DocType, DocTypePrefixes, type FilterContext, type FilterImpact, type GeneratorContext, type GeneratorSummary, type GradientObservation, type GradientResult, type ImportResult, LearnableWeight, Loggable, OrchestrationContext, type PeriodUpdateInput, type PeriodUpdateResult, type PipelineRunReport, QuestionRecord, type SignalConfig, StrategyContribution, type StrategyLearningState, type StrategyStateDoc, type StrategyStateId, UserDBInterface, UserOutcomeRecord, WeightedCard, aggregateOutcomesForGradient, areQuestionRecords, buildStrategyStateId, computeOutcomeSignal, computeStrategyGradient, docIsDeleted, getCardHistoryID, getDefaultLearnableWeight, importParsedCards, isQuestionRecord, mountPipelineDebugger, mountUserDBDebugger, parseCardHistoryID, pipelineDebugAPI, recordUserOutcome, runPeriodUpdate, scoreAccuracyInZone, updateLearningState, updateStrategyWeight, userDBDebugAPI, validateProcessorConfig };
707
+ export { type BulkCardProcessorConfig, type CardFilter, type CardFilterFactory, type CardGenerator, type CardGeneratorFactory, CardHistory, CardRecord, CourseDBInterface, DocType, DocTypePrefixes, type FilterContext, type FilterImpact, type GeneratorContext, type GeneratorSummary, type GradientObservation, type GradientResult, type ImportResult, LearnableWeight, OrchestrationContext, type PeriodUpdateInput, type PeriodUpdateResult, type PipelineRunReport, QuestionRecord, type SignalConfig, StrategyContribution, type StrategyLearningState, type StrategyStateDoc, type StrategyStateId, UserDBInterface, UserOutcomeRecord, WeightedCard, aggregateOutcomesForGradient, areQuestionRecords, buildStrategyStateId, computeOutcomeSignal, computeStrategyGradient, docIsDeleted, getCardHistoryID, getDefaultLearnableWeight, importParsedCards, isQuestionRecord, mountPipelineDebugger, mountUserDBDebugger, parseCardHistoryID, pipelineDebugAPI, recordUserOutcome, runPeriodUpdate, scoreAccuracyInZone, updateLearningState, updateStrategyWeight, userDBDebugAPI, validateProcessorConfig };