@vue-skuilder/standalone-ui 0.2.11 → 0.2.13
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/assets/{TagViewer-DDgXT2fJ.js → TagViewer-nh28Samo.js} +2 -2
- package/dist/assets/{TagViewer-DDgXT2fJ.js.map → TagViewer-nh28Samo.js.map} +1 -1
- package/dist/assets/{common-ui.es-RbbhjMGz.js → common-ui.es-CKDaicTB.js} +4 -4
- package/dist/assets/{common-ui.es-RbbhjMGz.js.map → common-ui.es-CKDaicTB.js.map} +1 -1
- package/dist/assets/common-ui.es-CcyGjPTk.js +1 -0
- package/dist/assets/{dist-D6tRtHge.js → dist-mJg7wGOe.js} +9 -9
- package/dist/assets/dist-mJg7wGOe.js.map +1 -0
- package/dist/assets/{index-CDRvg5QJ.js → index-BTx-tECR.js} +5 -5
- package/dist/assets/{index-CDRvg5QJ.js.map → index-BTx-tECR.js.map} +1 -1
- package/dist/index.html +3 -3
- package/dist-lib/questions.cjs.js +9 -9
- package/dist-lib/questions.cjs.js.map +1 -1
- package/dist-lib/questions.mjs +26 -11
- package/dist-lib/questions.mjs.map +1 -1
- package/package.json +6 -6
- package/dist/assets/common-ui.es-DvzZcl2m.js +0 -1
- package/dist/assets/dist-D6tRtHge.js.map +0 -1
package/dist-lib/questions.mjs
CHANGED
|
@@ -24654,6 +24654,7 @@ var init_v4 = __esmMin((() => {
|
|
|
24654
24654
|
buildStrategyStateId: () => buildStrategyStateId,
|
|
24655
24655
|
captureMixerRun: () => captureMixerRun,
|
|
24656
24656
|
clearSrsBacklogDebug: () => clearSrsBacklogDebug,
|
|
24657
|
+
clearStaleSessionDebugState: () => clearStaleSessionDebugState,
|
|
24657
24658
|
computeDeviation: () => computeDeviation,
|
|
24658
24659
|
computeEffectiveWeight: () => computeEffectiveWeight,
|
|
24659
24660
|
computeOutcomeSignal: () => computeOutcomeSignal,
|
|
@@ -26647,8 +26648,8 @@ function hintsHtml(t) {
|
|
|
26647
26648
|
}
|
|
26648
26649
|
function backlogHtml(t) {
|
|
26649
26650
|
return t.length ? `<div style="margin-bottom:6px"><div style="color:#93c5fd">review backpressure</div>${t.map((t) => {
|
|
26650
|
-
let c = t.backlogMultiplier >=
|
|
26651
|
-
return `<div style="margin-left:6px"><span style="opacity:.7">${esc(t.courseId.slice(0, 8))}</span> due ${t.dueNow}/${t.scheduledTotal} <span style="opacity:.6">(healthy ${t.healthyBacklog})</span>${g}<div style="margin-left:6px">pressure <span style="color:${u}">\xD7${t.backlogMultiplier.toFixed(2)}
|
|
26651
|
+
let c = t.backlogMultiplier >= 3, u = t.backlogMultiplier <= 1 ? "#86efac" : c ? "#fca5a5" : "#fcd34d", d = t.backlogMultiplier > 1 ? `climbing (\xD7${t.backlogGrowthRate.toFixed(2)} per ${t.healthyBacklog}-review excess, unbounded)` : "healthy — no pressure", m = t.topReviewScore === null ? "—" : t.topReviewScore.toFixed(2), g = t.nextDueIn ? ` <span style="opacity:.6">\xB7 next due ${esc(t.nextDueIn)}</span>` : "";
|
|
26652
|
+
return `<div style="margin-left:6px"><span style="opacity:.7">${esc(t.courseId.slice(0, 8))}</span> due ${t.dueNow}/${t.scheduledTotal} <span style="opacity:.6">(healthy ${t.healthyBacklog})</span>${g}<div style="margin-left:6px">pressure <span style="color:${u}">\xD7${t.backlogMultiplier.toFixed(2)}</span> <span style="opacity:.6">${d} \xB7 top review ${m}</span></div></div>`;
|
|
26652
26653
|
}).join("")}</div>` : "";
|
|
26653
26654
|
}
|
|
26654
26655
|
function fmtScore(t) {
|
|
@@ -26692,8 +26693,8 @@ function snapshotToText(t) {
|
|
|
26692
26693
|
if (u && (u.boostTags && Object.keys(u.boostTags).length && d.push(` boost: ${Object.entries(u.boostTags).map(([t, c]) => `${t}\xD7${c}`).join(", ")}`), u.boostCards && Object.keys(u.boostCards).length && d.push(` boostCards: ${Object.entries(u.boostCards).map(([t, c]) => `${t}\xD7${c}`).join(", ")}`), u.requireCards?.length && d.push(` require: ${u.requireCards.join(", ")}`), u.requireTags?.length && d.push(` requireTags: ${u.requireTags.join(", ")}`), u.excludeTags?.length && d.push(` exclude: ${u.excludeTags.join(", ")}`), u.excludeCards?.length && d.push(` excludeCards: ${u.excludeCards.join(", ")}`)), c.push(d.length ? d.join("\n") : " none"), t.reviewBacklog.length) {
|
|
26693
26694
|
c.push(""), c.push("review backpressure:");
|
|
26694
26695
|
for (let u of t.reviewBacklog) {
|
|
26695
|
-
let t = u.backlogMultiplier
|
|
26696
|
-
c.push(` ${u.courseId.slice(0, 8)}: due ${u.dueNow}/${u.scheduledTotal} (healthy ${u.healthyBacklog})${m}; pressure \xD7${u.backlogMultiplier.toFixed(2)}
|
|
26696
|
+
let t = u.backlogMultiplier > 1 ? "climbing" : "healthy", d = u.topReviewScore === null ? "—" : u.topReviewScore.toFixed(2), m = u.nextDueIn ? `, next due ${u.nextDueIn}` : "";
|
|
26697
|
+
c.push(` ${u.courseId.slice(0, 8)}: due ${u.dueNow}/${u.scheduledTotal} (healthy ${u.healthyBacklog})${m}; pressure \xD7${u.backlogMultiplier.toFixed(2)} ${t}; top review ${d}`);
|
|
26697
26698
|
}
|
|
26698
26699
|
}
|
|
26699
26700
|
let queueText = (t, u) => {
|
|
@@ -26714,8 +26715,10 @@ function formatTime(t) {
|
|
|
26714
26715
|
function esc(t) {
|
|
26715
26716
|
return t.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
26716
26717
|
}
|
|
26717
|
-
function
|
|
26718
|
+
function clearStaleSessionDebugState() {
|
|
26718
26719
|
clearRunHistory(), clearSrsBacklogDebug();
|
|
26720
|
+
}
|
|
26721
|
+
function startSessionTracking(t, c) {
|
|
26719
26722
|
let u = `session-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
26720
26723
|
activeSession = {
|
|
26721
26724
|
sessionId: u,
|
|
@@ -26821,7 +26824,7 @@ function mountSessionDebugger() {
|
|
|
26821
26824
|
let t = window;
|
|
26822
26825
|
t.skuilder = t.skuilder || {}, t.skuilder.session = sessionDebugAPI;
|
|
26823
26826
|
}
|
|
26824
|
-
var import___vite_browser_external, import___vite_browser_external$1, import___vite_browser_external$2, import_browser_ponyfill, import_browser_ponyfill$1, import_browser, _SessionController2, __defProp, __getOwnPropNames, __glob, __esm, __export, init_adminDB, init_classroomDB, init_SyncStrategy, isDevelopment, logger, init_logger, GuestUsername, log, DocType, DocTypePrefixes, init_types_legacy, init_util, pouchdb_setup_default, init_pouchdb_setup, init_dataDirectory, REVIEW_TIME_FORMAT, log2, init_userDBHelpers, Loggable, init_Loggable, UpdateQueue, init_updateQueue, UsrCrsData, init_user_course_relDB, CLIENT_CACHE, init_clientCache, AlreadyTaggedErr, init_courseAPI, courseLookupDBTitle, CourseLookup, init_courseLookupDB, diversityRerank_exports, DIVERSITY_STRENGTH, DIVERSITY_FLOOR, STRATEGY, STRATEGY_ID, STRATEGY_NAME, init_diversityRerank, PipelineDebugger_exports, _activePipeline, MAX_RUNS, runHistory, DISCARDED_KEEP_TOP, _uiContainer, _selectedRunIndex, _cardSearchQuery, pipelineDebugAPI, init_PipelineDebugger, SrsDebugger_exports, snapshots, init_SrsDebugger, CompositeGenerator_exports, AggregationMode, DEFAULT_AGGREGATION_MODE, FREQUENCY_BOOST_FACTOR, CompositeGenerator, init_CompositeGenerator, elo_exports, ELO_RELEVANCE_SIGMA, ELONavigator, init_elo, generators_exports, init_generators, prescribed_exports, DEFAULT_FRESHNESS_WINDOW, DEFAULT_MAX_DIRECT_PER_RUN, DEFAULT_MAX_SUPPORT_PER_RUN, DEFAULT_HIERARCHY_DEPTH, DEFAULT_MIN_COUNT, DEFAULT_PRACTICE_MIN_COUNT, DEFAULT_MAX_PRACTICE_PER_RUN, BASE_TARGET_SCORE, BASE_SUPPORT_SCORE, DISCOVERED_SUPPORT_SCORE, BASE_PRACTICE_SCORE, PRACTICE_BASE_MULT, MAX_PRACTICE_MULTIPLIER, PRACTICE_STALENESS_BUMP_PER_DAY, MAX_TARGET_MULTIPLIER, MAX_SUPPORT_MULTIPLIER, PRESCRIBED_DEBUG_VERSION, PrescribedCardsGenerator, init_prescribed, srs_exports, DEFAULT_HEALTHY_BACKLOG,
|
|
26827
|
+
var import___vite_browser_external, import___vite_browser_external$1, import___vite_browser_external$2, import_browser_ponyfill, import_browser_ponyfill$1, import_browser, _SessionController2, __defProp, __getOwnPropNames, __glob, __esm, __export, init_adminDB, init_classroomDB, init_SyncStrategy, isDevelopment, logger, init_logger, GuestUsername, log, DocType, DocTypePrefixes, init_types_legacy, init_util, pouchdb_setup_default, init_pouchdb_setup, init_dataDirectory, REVIEW_TIME_FORMAT, log2, init_userDBHelpers, Loggable, init_Loggable, UpdateQueue, init_updateQueue, UsrCrsData, init_user_course_relDB, CLIENT_CACHE, init_clientCache, AlreadyTaggedErr, init_courseAPI, courseLookupDBTitle, CourseLookup, init_courseLookupDB, diversityRerank_exports, DIVERSITY_STRENGTH, DIVERSITY_FLOOR, STRATEGY, STRATEGY_ID, STRATEGY_NAME, init_diversityRerank, PipelineDebugger_exports, _activePipeline, MAX_RUNS, runHistory, DISCARDED_KEEP_TOP, _uiContainer, _selectedRunIndex, _cardSearchQuery, pipelineDebugAPI, init_PipelineDebugger, SrsDebugger_exports, snapshots, init_SrsDebugger, CompositeGenerator_exports, AggregationMode, DEFAULT_AGGREGATION_MODE, FREQUENCY_BOOST_FACTOR, CompositeGenerator, init_CompositeGenerator, elo_exports, ELO_RELEVANCE_SIGMA, ELONavigator, init_elo, generators_exports, init_generators, prescribed_exports, DEFAULT_FRESHNESS_WINDOW, DEFAULT_MAX_DIRECT_PER_RUN, DEFAULT_MAX_SUPPORT_PER_RUN, DEFAULT_HIERARCHY_DEPTH, DEFAULT_MIN_COUNT, DEFAULT_PRACTICE_MIN_COUNT, DEFAULT_MAX_PRACTICE_PER_RUN, BASE_TARGET_SCORE, BASE_SUPPORT_SCORE, DISCOVERED_SUPPORT_SCORE, BASE_PRACTICE_SCORE, PRACTICE_BASE_MULT, MAX_PRACTICE_MULTIPLIER, PRACTICE_STALENESS_BUMP_PER_DAY, MAX_TARGET_MULTIPLIER, MAX_SUPPORT_MULTIPLIER, PRESCRIBED_DEBUG_VERSION, PrescribedCardsGenerator, init_prescribed, srs_exports, DEFAULT_HEALTHY_BACKLOG, BACKLOG_GROWTH_RATE, SRSNavigator, init_srs, types_exports, init_types, globImport_generators, init_, DEFAULT_LEARNABLE_WEIGHT, init_contentNavigationStrategy, WeightedFilter_exports, WeightedFilter, init_WeightedFilter, eloDistance_exports, DEFAULT_HALF_LIFE, DEFAULT_MIN_MULTIPLIER, DEFAULT_MAX_MULTIPLIER, init_eloDistance, hierarchyDefinition_exports, DEFAULT_MIN_COUNT2, HierarchyDefinitionNavigator, init_hierarchyDefinition, userTagPreference_exports, UserTagPreferenceFilter, init_userTagPreference, filters_exports, init_filters, inferredPreferenceStub_exports, INFERRED_PREFERENCE_NAVIGATOR_STUB, init_inferredPreferenceStub, interferenceMitigator_exports, DEFAULT_MIN_COUNT3, DEFAULT_MIN_ELAPSED_DAYS, DEFAULT_INTERFERENCE_DECAY, InterferenceMitigatorNavigator, init_interferenceMitigator, relativePriority_exports, DEFAULT_PRIORITY, DEFAULT_PRIORITY_INFLUENCE, DEFAULT_COMBINE_MODE, RelativePriorityNavigator, init_relativePriority, types_exports2, init_types2, userGoalStub_exports, USER_GOAL_NAVIGATOR_STUB, init_userGoalStub, globImport_filters, init_2, init_gradient, MIN_OBSERVATIONS_FOR_UPDATE, LEARNING_RATE, MAX_WEIGHT_DELTA, MIN_R_SQUARED_FOR_GRADIENT, FLAT_GRADIENT_THRESHOLD, MAX_HISTORY_LENGTH, init_learning, init_signal, init_recording, MIN_SPREAD, MAX_SPREAD, MIN_WEIGHT, MAX_WEIGHT, init_orchestration, Pipeline_exports, VERBOSE_RESULTS, Pipeline, init_Pipeline, defaults_exports, init_defaults, PipelineAssembler_exports, PipelineAssembler, init_PipelineAssembler, globImport, init_3, navigators_exports, navigatorRegistry, Navigators, NavigatorRole, NavigatorRoles, ContentNavigator, init_navigators, CoursesDB, CourseDB, init_courseDB, classroomLookupDBTitle, CLASSROOM_CONFIG, ClassroomDBBase, StudentClassroomDB, TeacherClassroomDB, ClassroomLookupDB, init_classroomDB2, AdminDB, init_adminDB2, CourseSyncService_exports, DEFAULT_REPLICATION, CourseSyncService, init_CourseSyncService, init_auth, CouchDBSyncStrategy_exports, log3, CouchDBSyncStrategy, init_CouchDBSyncStrategy, isBrowser, GUEST_LOCAL_DB, localUserDB, pouchDBincludeCredentialsConfig, REVIEW_TIME_FORMAT2, init_couch, log4, BaseUser, userCoursesDoc, userClassroomsDoc, init_BaseUserDB, init_common, PouchDataLayerProvider_exports, CouchDataLayerProvider, init_PouchDataLayerProvider, pathUtils, nodeFS, StaticDataUnpacker, init_StaticDataUnpacker, StaticCourseDB, init_courseDB2, StaticCoursesDB, init_coursesDB, NoOpSyncStrategy, init_NoOpSyncStrategy, StaticDataLayerProvider_exports, StaticDataLayerProvider, init_StaticDataLayerProvider, NOT_SET, ENV, dataLayerInstance, init_factory, TagFilteredContentSource, init_TagFilteredContentSource, init_contentSource, init_courseDB3, init_dataLayerProvider, init_userDB, init_interfaces, init_user, init_strategyState, init_userOutcome, init_cardProcessor, init_types3, init_bulkImport, userDBDebugAPI, init_UserDBDebugger, init_core, duration, SrsService, EloService, ResponseProcessor, CardHydrationService, ItemQueue, CouchDBToStaticPacker, DEFAULT_MIGRATION_OPTIONS, FileSystemError, nodeFS2, nodeFS3, nodePath, StaticToCouchDBMigrator, QuotaRoundRobinMixer, MAX_RUNS2, runHistory2, mixerDebugAPI, activeController, OVERLAY_ID, POLL_MS, INLINE_THRESHOLD, SPINNER_FRAMES, spinnerFrame, overlayEl, pollHandle, lastSnapshot, copyFlashUntil, minified, expanded, activeSession, sessionHistory, MAX_HISTORY, sessionDebugAPI, SessionController, init_dist = __esmMin((() => {
|
|
26825
26828
|
init_defineProperty(), init_index_browser_es$5(), init_index_browser_es(), init_index_es(), import___vite_browser_external = /* @__PURE__ */ __toESM$2(require___vite_browser_external(), 1), import___vite_browser_external$1 = /* @__PURE__ */ __toESM$2(require___vite_browser_external(), 1), import___vite_browser_external$2 = /* @__PURE__ */ __toESM$2(require___vite_browser_external(), 1), init_moment(), init_dist$1(), init_esm_browser(), import_browser_ponyfill = /* @__PURE__ */ __toESM$2(require_browser_ponyfill(), 1), import_browser_ponyfill$1 = /* @__PURE__ */ __toESM$2(require_browser_ponyfill(), 1), import_browser = /* @__PURE__ */ __toESM$2(require_browser(), 1), __defProp = Object.defineProperty, __getOwnPropNames = Object.getOwnPropertyNames, __glob = (t) => (c) => {
|
|
26826
26829
|
var u = t[c];
|
|
26827
26830
|
if (u) return u();
|
|
@@ -27754,7 +27757,7 @@ var import___vite_browser_external, import___vite_browser_external$1, import___v
|
|
|
27754
27757
|
}
|
|
27755
27758
|
};
|
|
27756
27759
|
} }), srs_exports = {}, __export(srs_exports, { default: () => SRSNavigator }), init_srs = __esm({ "src/core/navigators/generators/srs.ts"() {
|
|
27757
|
-
init_navigators(), init_SrsDebugger(), init_logger(), DEFAULT_HEALTHY_BACKLOG = 20,
|
|
27760
|
+
init_navigators(), init_SrsDebugger(), init_logger(), DEFAULT_HEALTHY_BACKLOG = 20, BACKLOG_GROWTH_RATE = 2, SRSNavigator = class extends ContentNavigator {
|
|
27758
27761
|
constructor(t, c, u) {
|
|
27759
27762
|
super(t, c, u), _defineProperty$2(this, "name", void 0), _defineProperty$2(this, "healthyBacklog", void 0), this.name = u?.name || "SRS", this.healthyBacklog = this.parseConfig(u?.serializedData).healthyBacklog ?? DEFAULT_HEALTHY_BACKLOG;
|
|
27760
27763
|
}
|
|
@@ -27811,7 +27814,7 @@ var import___vite_browser_external, import___vite_browser_external$1, import___v
|
|
|
27811
27814
|
dueNow: g.length,
|
|
27812
27815
|
healthyBacklog: this.healthyBacklog,
|
|
27813
27816
|
backlogMultiplier: b,
|
|
27814
|
-
|
|
27817
|
+
backlogGrowthRate: BACKLOG_GROWTH_RATE,
|
|
27815
27818
|
topReviewScore: w.length > 0 ? w[0].score : null,
|
|
27816
27819
|
nextDueIn: C,
|
|
27817
27820
|
timestamp: Date.now()
|
|
@@ -27819,8 +27822,8 @@ var import___vite_browser_external, import___vite_browser_external$1, import___v
|
|
|
27819
27822
|
}
|
|
27820
27823
|
computeBacklogMultiplier(t) {
|
|
27821
27824
|
if (t <= this.healthyBacklog) return 1;
|
|
27822
|
-
let c =
|
|
27823
|
-
return
|
|
27825
|
+
let c = (t - this.healthyBacklog) / this.healthyBacklog;
|
|
27826
|
+
return BACKLOG_GROWTH_RATE ** +c;
|
|
27824
27827
|
}
|
|
27825
27828
|
computeUrgencyScore(t, c, u) {
|
|
27826
27829
|
let d = hooks.utc(t.scheduledAt), m = hooks.utc(t.reviewTime), g = Math.max(1, m.diff(d, "hours")), b = c.diff(m, "hours"), S = b / g, C = .3 + .7 * Math.exp(-g / 720), w = (.5 + (Math.min(1, Math.max(0, S)) * .5 + C * .5) * .45) * u, T = [
|
|
@@ -29584,7 +29587,13 @@ ${t.stack}` : JSON.stringify(t);
|
|
|
29584
29587
|
...t.doc,
|
|
29585
29588
|
_rev: void 0
|
|
29586
29589
|
}));
|
|
29587
|
-
|
|
29590
|
+
g.length > 0 ? (await d.bulkDocs(g), logger.info(`Successfully migrated ${g.length} documents from ${t} to ${c}`)) : logger.info("No documents to migrate from funnel account");
|
|
29591
|
+
try {
|
|
29592
|
+
await u.destroy(), logger.info(`Destroyed consumed guest DB for ${t}`);
|
|
29593
|
+
} catch (c) {
|
|
29594
|
+
logger.warn(`Failed to destroy consumed guest DB for ${t} (non-fatal): ${c instanceof Error ? c.message : String(c)}`);
|
|
29595
|
+
}
|
|
29596
|
+
return { success: !0 };
|
|
29588
29597
|
} catch (t) {
|
|
29589
29598
|
return logger.error("Migration failed:", t), {
|
|
29590
29599
|
success: !1,
|
|
@@ -29689,6 +29698,11 @@ Currently logged-in as ${this._username}.`);
|
|
|
29689
29698
|
async logout() {
|
|
29690
29699
|
if (!this.syncStrategy.canAuthenticate()) return this._username = await this.syncStrategy.getCurrentUsername(), await this.init(), { ok: !0 };
|
|
29691
29700
|
let t = await this.syncStrategy.logout();
|
|
29701
|
+
try {
|
|
29702
|
+
localStorage.removeItem("sk-guest-uuid");
|
|
29703
|
+
} catch (t) {
|
|
29704
|
+
logger.warn("localStorage not available (Node.js environment):", t);
|
|
29705
|
+
}
|
|
29692
29706
|
return this._username = await this.syncStrategy.getCurrentUsername(), await this.init(), t;
|
|
29693
29707
|
}
|
|
29694
29708
|
async get(t) {
|
|
@@ -32140,6 +32154,7 @@ ${c.id}:`), logger.info(JSON.stringify(c.doc, null, 2));
|
|
|
32140
32154
|
}
|
|
32141
32155
|
async prepareSession() {
|
|
32142
32156
|
if (this.sources.some((t) => typeof t.getWeightedCards != "function")) throw Error("[SessionController] All content sources must implement getWeightedCards().");
|
|
32157
|
+
clearStaleSessionDebugState();
|
|
32143
32158
|
let t = await this.getWeightedContent();
|
|
32144
32159
|
this._wellIndicatedRemaining = t, t >= 0 && t < _SessionController.MIN_WELL_INDICATED && this.log(`[Init] Only ${t}/${_SessionController.MIN_WELL_INDICATED} well-indicated cards in initial load`), await this.hydrationService.ensureHydratedCards(), startSessionTracking(this.supplyQ.length, this.failedQ.length), this._intervalHandle = setInterval(() => {
|
|
32145
32160
|
this.tick();
|