@vue-skuilder/db 0.1.30 → 0.1.31-a

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.
@@ -742,15 +742,10 @@ type NavigatorConstructor = new (user: UserDBInterface, course: CourseDBInterfac
742
742
  * Call this to make a navigator available for instantiation by
743
743
  * ContentNavigator.create() without relying on dynamic imports.
744
744
  *
745
- * Passing a `role` is optional for built-in navigators (whose roles are in
746
- * the hardcoded `NavigatorRoles` record), but **required** for consumer-
747
- * defined navigators that need to participate in pipeline assembly.
748
- *
749
- * @param implementingClass - The class name (e.g., 'elo', 'letterGatingFilter')
745
+ * @param implementingClass - The class name (e.g., 'elo', 'hierarchyDefinition')
750
746
  * @param constructor - The navigator class constructor
751
- * @param role - Optional pipeline role (GENERATOR or FILTER)
752
747
  */
753
- declare function registerNavigator(implementingClass: string, constructor: NavigatorConstructor, role?: NavigatorRole): void;
748
+ declare function registerNavigator(implementingClass: string, constructor: NavigatorConstructor): void;
754
749
  /**
755
750
  * Get a navigator constructor from the registry.
756
751
  *
@@ -765,13 +760,6 @@ declare function getRegisteredNavigator(implementingClass: string): NavigatorCon
765
760
  * @returns true if registered, false otherwise
766
761
  */
767
762
  declare function hasRegisteredNavigator(implementingClass: string): boolean;
768
- /**
769
- * Get the registered role for a navigator, if one was provided at registration.
770
- *
771
- * @param implementingClass - The class name to look up
772
- * @returns The role, or undefined if not registered or no role was specified
773
- */
774
- declare function getRegisteredNavigatorRole(implementingClass: string): NavigatorRole | undefined;
775
763
  /**
776
764
  * Get all registered navigator names.
777
765
  * Useful for debugging and testing.
@@ -937,10 +925,7 @@ declare function isGenerator(impl: string): boolean;
937
925
  /**
938
926
  * Check if a navigator implementation is a filter.
939
927
  *
940
- * Checks the built-in NavigatorRoles enum first, then falls back to the
941
- * navigator registry for consumer-registered navigators.
942
- *
943
- * @param impl - Navigator implementation name (e.g., 'elo', 'letterGatingFilter')
928
+ * @param impl - Navigator implementation name (e.g., 'elo', 'hierarchyDefinition')
944
929
  * @returns true if the navigator is a filter, false otherwise
945
930
  */
946
931
  declare function isFilter(impl: string): boolean;
@@ -1099,4 +1084,4 @@ interface StudyContentSource {
1099
1084
  }
1100
1085
  declare function getStudySource(source: ContentSourceID, user: UserDBInterface): Promise<StudyContentSource>;
1101
1086
 
1102
- export { NavigatorRoles as $, type AdminDBInterface as A, type UsrCrsDataInterface as B, type CourseDBInterface as C, type DataLayerResult as D, type ClassroomRegistrationDesignation as E, type ClassroomRegistration as F, type ClassroomRegistrationDoc as G, type SessionTrackingData as H, type UserConfig as I, type ActivityRecord as J, type CourseRegistration as K, type UserOutcomeRecord as L, registerNavigator as M, type NavigatorConstructor as N, getRegisteredNavigator as O, hasRegisteredNavigator as P, getRegisteredNavigatorRole as Q, getRegisteredNavigatorNames as R, type StudySessionItem as S, type TeacherClassroomDBInterface as T, type UserDBInterface as U, initializeNavigatorRegistry as V, type WeightedCard as W, type StrategyContribution as X, getCardOrigin as Y, Navigators as Z, NavigatorRole as _, type UserDBReader as a, isGenerator as a0, isFilter as a1, type LearnableWeight as a2, type OrchestrationContext as a3, computeDeviation as a4, computeSpread as a5, computeEffectiveWeight as a6, createOrchestrationContext as a7, type DocumentUpdater as a8, newInterval as a9, type CoursesDBInterface as b, type ClassroomDBInterface as c, type CourseInfo as d, type ContentNavigationStrategyData as e, ContentNavigator as f, type AssignedContent as g, type StudyContentSource as h, type StudentClassroomDBInterface as i, type ScheduledCard as j, type StudySessionFailedItem as k, type StudySessionFailedNewItem as l, type StudySessionFailedReviewItem as m, type StudySessionNewItem as n, type StudySessionReviewItem as o, isReview as p, type ContentSourceID as q, getStudySource as r, type CourseRegistrationDoc as s, type AssignedTag as t, type AssignedCourse as u, type AssignedCard as v, type UserDBWriter as w, type UserDBAuthenticator as x, type UserCourseSettings as y, type UserCourseSetting as z };
1087
+ export { isGenerator as $, type AdminDBInterface as A, type UsrCrsDataInterface as B, type CourseDBInterface as C, type DataLayerResult as D, type ClassroomRegistrationDesignation as E, type ClassroomRegistration as F, type ClassroomRegistrationDoc as G, type SessionTrackingData as H, type UserConfig as I, type ActivityRecord as J, type CourseRegistration as K, type UserOutcomeRecord as L, registerNavigator as M, type NavigatorConstructor as N, getRegisteredNavigator as O, hasRegisteredNavigator as P, getRegisteredNavigatorNames as Q, initializeNavigatorRegistry as R, type StudySessionItem as S, type TeacherClassroomDBInterface as T, type UserDBInterface as U, type StrategyContribution as V, type WeightedCard as W, getCardOrigin as X, Navigators as Y, NavigatorRole as Z, NavigatorRoles as _, type UserDBReader as a, isFilter as a0, type LearnableWeight as a1, type OrchestrationContext as a2, computeDeviation as a3, computeSpread as a4, computeEffectiveWeight as a5, createOrchestrationContext as a6, type DocumentUpdater as a7, newInterval as a8, type CoursesDBInterface as b, type ClassroomDBInterface as c, type CourseInfo as d, type ContentNavigationStrategyData as e, ContentNavigator as f, type AssignedContent as g, type StudyContentSource as h, type StudentClassroomDBInterface as i, type ScheduledCard as j, type StudySessionFailedItem as k, type StudySessionFailedNewItem as l, type StudySessionFailedReviewItem as m, type StudySessionNewItem as n, type StudySessionReviewItem as o, isReview as p, type ContentSourceID as q, getStudySource as r, type CourseRegistrationDoc as s, type AssignedTag as t, type AssignedCourse as u, type AssignedCard as v, type UserDBWriter as w, type UserDBAuthenticator as x, type UserCourseSettings as y, type UserCourseSetting as z };
@@ -742,15 +742,10 @@ type NavigatorConstructor = new (user: UserDBInterface, course: CourseDBInterfac
742
742
  * Call this to make a navigator available for instantiation by
743
743
  * ContentNavigator.create() without relying on dynamic imports.
744
744
  *
745
- * Passing a `role` is optional for built-in navigators (whose roles are in
746
- * the hardcoded `NavigatorRoles` record), but **required** for consumer-
747
- * defined navigators that need to participate in pipeline assembly.
748
- *
749
- * @param implementingClass - The class name (e.g., 'elo', 'letterGatingFilter')
745
+ * @param implementingClass - The class name (e.g., 'elo', 'hierarchyDefinition')
750
746
  * @param constructor - The navigator class constructor
751
- * @param role - Optional pipeline role (GENERATOR or FILTER)
752
747
  */
753
- declare function registerNavigator(implementingClass: string, constructor: NavigatorConstructor, role?: NavigatorRole): void;
748
+ declare function registerNavigator(implementingClass: string, constructor: NavigatorConstructor): void;
754
749
  /**
755
750
  * Get a navigator constructor from the registry.
756
751
  *
@@ -765,13 +760,6 @@ declare function getRegisteredNavigator(implementingClass: string): NavigatorCon
765
760
  * @returns true if registered, false otherwise
766
761
  */
767
762
  declare function hasRegisteredNavigator(implementingClass: string): boolean;
768
- /**
769
- * Get the registered role for a navigator, if one was provided at registration.
770
- *
771
- * @param implementingClass - The class name to look up
772
- * @returns The role, or undefined if not registered or no role was specified
773
- */
774
- declare function getRegisteredNavigatorRole(implementingClass: string): NavigatorRole | undefined;
775
763
  /**
776
764
  * Get all registered navigator names.
777
765
  * Useful for debugging and testing.
@@ -937,10 +925,7 @@ declare function isGenerator(impl: string): boolean;
937
925
  /**
938
926
  * Check if a navigator implementation is a filter.
939
927
  *
940
- * Checks the built-in NavigatorRoles enum first, then falls back to the
941
- * navigator registry for consumer-registered navigators.
942
- *
943
- * @param impl - Navigator implementation name (e.g., 'elo', 'letterGatingFilter')
928
+ * @param impl - Navigator implementation name (e.g., 'elo', 'hierarchyDefinition')
944
929
  * @returns true if the navigator is a filter, false otherwise
945
930
  */
946
931
  declare function isFilter(impl: string): boolean;
@@ -1099,4 +1084,4 @@ interface StudyContentSource {
1099
1084
  }
1100
1085
  declare function getStudySource(source: ContentSourceID, user: UserDBInterface): Promise<StudyContentSource>;
1101
1086
 
1102
- export { NavigatorRoles as $, type AdminDBInterface as A, type UsrCrsDataInterface as B, type CourseDBInterface as C, type DataLayerResult as D, type ClassroomRegistrationDesignation as E, type ClassroomRegistration as F, type ClassroomRegistrationDoc as G, type SessionTrackingData as H, type UserConfig as I, type ActivityRecord as J, type CourseRegistration as K, type UserOutcomeRecord as L, registerNavigator as M, type NavigatorConstructor as N, getRegisteredNavigator as O, hasRegisteredNavigator as P, getRegisteredNavigatorRole as Q, getRegisteredNavigatorNames as R, type StudySessionItem as S, type TeacherClassroomDBInterface as T, type UserDBInterface as U, initializeNavigatorRegistry as V, type WeightedCard as W, type StrategyContribution as X, getCardOrigin as Y, Navigators as Z, NavigatorRole as _, type UserDBReader as a, isGenerator as a0, isFilter as a1, type LearnableWeight as a2, type OrchestrationContext as a3, computeDeviation as a4, computeSpread as a5, computeEffectiveWeight as a6, createOrchestrationContext as a7, type DocumentUpdater as a8, newInterval as a9, type CoursesDBInterface as b, type ClassroomDBInterface as c, type CourseInfo as d, type ContentNavigationStrategyData as e, ContentNavigator as f, type AssignedContent as g, type StudyContentSource as h, type StudentClassroomDBInterface as i, type ScheduledCard as j, type StudySessionFailedItem as k, type StudySessionFailedNewItem as l, type StudySessionFailedReviewItem as m, type StudySessionNewItem as n, type StudySessionReviewItem as o, isReview as p, type ContentSourceID as q, getStudySource as r, type CourseRegistrationDoc as s, type AssignedTag as t, type AssignedCourse as u, type AssignedCard as v, type UserDBWriter as w, type UserDBAuthenticator as x, type UserCourseSettings as y, type UserCourseSetting as z };
1087
+ export { isGenerator as $, type AdminDBInterface as A, type UsrCrsDataInterface as B, type CourseDBInterface as C, type DataLayerResult as D, type ClassroomRegistrationDesignation as E, type ClassroomRegistration as F, type ClassroomRegistrationDoc as G, type SessionTrackingData as H, type UserConfig as I, type ActivityRecord as J, type CourseRegistration as K, type UserOutcomeRecord as L, registerNavigator as M, type NavigatorConstructor as N, getRegisteredNavigator as O, hasRegisteredNavigator as P, getRegisteredNavigatorNames as Q, initializeNavigatorRegistry as R, type StudySessionItem as S, type TeacherClassroomDBInterface as T, type UserDBInterface as U, type StrategyContribution as V, type WeightedCard as W, getCardOrigin as X, Navigators as Y, NavigatorRole as Z, NavigatorRoles as _, type UserDBReader as a, isFilter as a0, type LearnableWeight as a1, type OrchestrationContext as a2, computeDeviation as a3, computeSpread as a4, computeEffectiveWeight as a5, createOrchestrationContext as a6, type DocumentUpdater as a7, newInterval as a8, type CoursesDBInterface as b, type ClassroomDBInterface as c, type CourseInfo as d, type ContentNavigationStrategyData as e, ContentNavigator as f, type AssignedContent as g, type StudyContentSource as h, type StudentClassroomDBInterface as i, type ScheduledCard as j, type StudySessionFailedItem as k, type StudySessionFailedNewItem as l, type StudySessionFailedReviewItem as m, type StudySessionNewItem as n, type StudySessionReviewItem as o, isReview as p, type ContentSourceID as q, getStudySource as r, type CourseRegistrationDoc as s, type AssignedTag as t, type AssignedCourse as u, type AssignedCard as v, type UserDBWriter as w, type UserDBAuthenticator as x, type UserCourseSettings as y, type UserCourseSetting as z };
@@ -1,6 +1,6 @@
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-B7nXusjk.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-B7nXusjk.cjs';
3
- export { D as DataLayerProvider } from '../dataLayerProvider-BW7HvkMt.cjs';
1
+ import { a1 as LearnableWeight, L as UserOutcomeRecord, a2 as OrchestrationContext, W as WeightedCard, U as UserDBInterface, C as CourseDBInterface, V as StrategyContribution } from '../contentSource-DfBbaLA-.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, Z as NavigatorRole, _ as NavigatorRoles, Y 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, a3 as computeDeviation, a5 as computeEffectiveWeight, a4 as computeSpread, a6 as createOrchestrationContext, X as getCardOrigin, O as getRegisteredNavigator, Q as getRegisteredNavigatorNames, r as getStudySource, P as hasRegisteredNavigator, R as initializeNavigatorRegistry, a0 as isFilter, $ as isGenerator, p as isReview, M as registerNavigator } from '../contentSource-DfBbaLA-.cjs';
3
+ export { D as DataLayerProvider } from '../dataLayerProvider-BeRXVMs5.cjs';
4
4
  import { D as DocType, i as QuestionRecord, b as DocTypePrefixes, C as CardHistory, c as CardRecord } from '../types-legacy-JXDxinpU.cjs';
5
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';
6
6
  import { DataShape, ParsedCard } from '@vue-skuilder/common';
@@ -1,6 +1,6 @@
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-ygoFw9oV.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-ygoFw9oV.js';
3
- export { D as DataLayerProvider } from '../dataLayerProvider-BfXUVDuG.js';
1
+ import { a1 as LearnableWeight, L as UserOutcomeRecord, a2 as OrchestrationContext, W as WeightedCard, U as UserDBInterface, C as CourseDBInterface, V as StrategyContribution } from '../contentSource-BmnmvH8C.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, Z as NavigatorRole, _ as NavigatorRoles, Y 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, a3 as computeDeviation, a5 as computeEffectiveWeight, a4 as computeSpread, a6 as createOrchestrationContext, X as getCardOrigin, O as getRegisteredNavigator, Q as getRegisteredNavigatorNames, r as getStudySource, P as hasRegisteredNavigator, R as initializeNavigatorRegistry, a0 as isFilter, $ as isGenerator, p as isReview, M as registerNavigator } from '../contentSource-BmnmvH8C.js';
3
+ export { D as DataLayerProvider } from '../dataLayerProvider-CG9GfaAY.js';
4
4
  import { D as DocType, i as QuestionRecord, b as DocTypePrefixes, C as CardHistory, c as CardRecord } from '../types-legacy-JXDxinpU.js';
5
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';
6
6
  import { DataShape, ParsedCard } from '@vue-skuilder/common';
@@ -1229,19 +1229,20 @@ var init_elo = __esm({
1229
1229
  const scored = newCards.map((c, i) => {
1230
1230
  const cardElo = cardEloData[i]?.global?.score ?? 1e3;
1231
1231
  const distance = Math.abs(cardElo - userGlobalElo);
1232
- const score = Math.max(0, 1 - distance / 500);
1232
+ const rawScore = Math.max(0, 1 - distance / 500);
1233
+ const samplingKey = rawScore > 0 ? Math.random() ** (1 / rawScore) : 0;
1233
1234
  return {
1234
1235
  cardId: c.cardID,
1235
1236
  courseId: c.courseID,
1236
- score,
1237
+ score: samplingKey,
1237
1238
  provenance: [
1238
1239
  {
1239
1240
  strategy: "elo",
1240
1241
  strategyName: this.strategyName || this.name,
1241
1242
  strategyId: this.strategyId || "NAVIGATION_STRATEGY-ELO-default",
1242
1243
  action: "generated",
1243
- score,
1244
- reason: `ELO distance ${Math.round(distance)} (card: ${Math.round(cardElo)}, user: ${Math.round(userGlobalElo)}), new card`
1244
+ score: samplingKey,
1245
+ reason: `ELO distance ${Math.round(distance)} (card: ${Math.round(cardElo)}, user: ${Math.round(userGlobalElo)}), raw ${rawScore.toFixed(3)}, key ${samplingKey.toFixed(3)}`
1245
1246
  }
1246
1247
  ]
1247
1248
  };
@@ -3180,7 +3181,6 @@ __export(navigators_exports, {
3180
3181
  getCardOrigin: () => getCardOrigin,
3181
3182
  getRegisteredNavigator: () => getRegisteredNavigator,
3182
3183
  getRegisteredNavigatorNames: () => getRegisteredNavigatorNames,
3183
- getRegisteredNavigatorRole: () => getRegisteredNavigatorRole,
3184
3184
  hasRegisteredNavigator: () => hasRegisteredNavigator,
3185
3185
  initializeNavigatorRegistry: () => initializeNavigatorRegistry,
3186
3186
  isFilter: () => isFilter,
@@ -3189,19 +3189,16 @@ __export(navigators_exports, {
3189
3189
  pipelineDebugAPI: () => pipelineDebugAPI,
3190
3190
  registerNavigator: () => registerNavigator
3191
3191
  });
3192
- function registerNavigator(implementingClass, constructor, role) {
3193
- navigatorRegistry.set(implementingClass, { constructor, role });
3194
- logger.debug(`[NavigatorRegistry] Registered: ${implementingClass}${role ? ` (${role})` : ""}`);
3192
+ function registerNavigator(implementingClass, constructor) {
3193
+ navigatorRegistry.set(implementingClass, constructor);
3194
+ logger.debug(`[NavigatorRegistry] Registered: ${implementingClass}`);
3195
3195
  }
3196
3196
  function getRegisteredNavigator(implementingClass) {
3197
- return navigatorRegistry.get(implementingClass)?.constructor;
3197
+ return navigatorRegistry.get(implementingClass);
3198
3198
  }
3199
3199
  function hasRegisteredNavigator(implementingClass) {
3200
3200
  return navigatorRegistry.has(implementingClass);
3201
3201
  }
3202
- function getRegisteredNavigatorRole(implementingClass) {
3203
- return navigatorRegistry.get(implementingClass)?.role;
3204
- }
3205
3202
  function getRegisteredNavigatorNames() {
3206
3203
  return Array.from(navigatorRegistry.keys());
3207
3204
  }
@@ -3247,12 +3244,10 @@ function getCardOrigin(card) {
3247
3244
  return "new";
3248
3245
  }
3249
3246
  function isGenerator(impl) {
3250
- if (NavigatorRoles[impl] === "generator" /* GENERATOR */) return true;
3251
- return getRegisteredNavigatorRole(impl) === "generator" /* GENERATOR */;
3247
+ return NavigatorRoles[impl] === "generator" /* GENERATOR */;
3252
3248
  }
3253
3249
  function isFilter(impl) {
3254
- if (NavigatorRoles[impl] === "filter" /* FILTER */) return true;
3255
- return getRegisteredNavigatorRole(impl) === "filter" /* FILTER */;
3250
+ return NavigatorRoles[impl] === "filter" /* FILTER */;
3256
3251
  }
3257
3252
  var navigatorRegistry, Navigators, NavigatorRole, NavigatorRoles, ContentNavigator;
3258
3253
  var init_navigators = __esm({
@@ -6165,7 +6160,6 @@ __export(core_exports, {
6165
6160
  getDefaultLearnableWeight: () => getDefaultLearnableWeight,
6166
6161
  getRegisteredNavigator: () => getRegisteredNavigator,
6167
6162
  getRegisteredNavigatorNames: () => getRegisteredNavigatorNames,
6168
- getRegisteredNavigatorRole: () => getRegisteredNavigatorRole,
6169
6163
  getStudySource: () => getStudySource,
6170
6164
  hasRegisteredNavigator: () => hasRegisteredNavigator,
6171
6165
  importParsedCards: () => importParsedCards,
@@ -6230,7 +6224,6 @@ init_core();
6230
6224
  getDefaultLearnableWeight,
6231
6225
  getRegisteredNavigator,
6232
6226
  getRegisteredNavigatorNames,
6233
- getRegisteredNavigatorRole,
6234
6227
  getStudySource,
6235
6228
  hasRegisteredNavigator,
6236
6229
  importParsedCards,