@vue-skuilder/platform-ui 0.2.28 → 0.2.29
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/{About-Cr-gVLN3.js → About-CY5R6hcy.js} +2 -2
- package/dist/assets/{About-Cr-gVLN3.js.map → About-CY5R6hcy.js.map} +1 -1
- package/dist/assets/{AdminDashboard-Tu5cntiN.js → AdminDashboard-BCf45Fv8.js} +2 -2
- package/dist/assets/{AdminDashboard-Tu5cntiN.js.map → AdminDashboard-BCf45Fv8.js.map} +1 -1
- package/dist/assets/{AdminLearner-DKV-rmzE.js → AdminLearner-DkLKZPDK.js} +2 -2
- package/dist/assets/{AdminLearner-DKV-rmzE.js.map → AdminLearner-DkLKZPDK.js.map} +1 -1
- package/dist/assets/{ClassroomCtrlPanel-BlIKf9Ec.js → ClassroomCtrlPanel-DgeiJJj-.js} +2 -2
- package/dist/assets/{ClassroomCtrlPanel-BlIKf9Ec.js.map → ClassroomCtrlPanel-DgeiJJj-.js.map} +1 -1
- package/dist/assets/{Classrooms-CUHpCVyZ.js → Classrooms-By8_HZk7.js} +2 -2
- package/dist/assets/{Classrooms-CUHpCVyZ.js.map → Classrooms-By8_HZk7.js.map} +1 -1
- package/dist/assets/{CourseRouter-CmWQVX3p.js → CourseRouter-B0wsb_SJ.js} +2 -2
- package/dist/assets/{CourseRouter-CmWQVX3p.js.map → CourseRouter-B0wsb_SJ.js.map} +1 -1
- package/dist/assets/{CourseWare-BTFRjgBR-DCGIN7hI.js → CourseWare-BTFRjgBR-C5EKZq5q.js} +3 -3
- package/dist/assets/{CourseWare-BTFRjgBR-DCGIN7hI.js.map → CourseWare-BTFRjgBR-C5EKZq5q.js.map} +1 -1
- package/dist/assets/{Courses-D4v2o2EL.js → Courses-HDdIzJ-P.js} +2 -2
- package/dist/assets/{Courses-D4v2o2EL.js.map → Courses-HDdIzJ-P.js.map} +1 -1
- package/dist/assets/{EloModeration-BVRrWLlD.js → EloModeration-C_gG6Y5k.js} +2 -2
- package/dist/assets/{EloModeration-BVRrWLlD.js.map → EloModeration-C_gG6Y5k.js.map} +1 -1
- package/dist/assets/{JoinCode-tyMSgQmu.js → JoinCode-WS6Hg8YR.js} +2 -2
- package/dist/assets/{JoinCode-tyMSgQmu.js.map → JoinCode-WS6Hg8YR.js.map} +1 -1
- package/dist/assets/{NewCourseDialog-CskVoqOS.js → NewCourseDialog-CY2XRDQA.js} +2 -2
- package/dist/assets/{NewCourseDialog-CskVoqOS.js.map → NewCourseDialog-CY2XRDQA.js.map} +1 -1
- package/dist/assets/{ReleaseNotes-DeNVWB2D.js → ReleaseNotes-Bs2G8mQk.js} +2 -2
- package/dist/assets/{ReleaseNotes-DeNVWB2D.js.map → ReleaseNotes-Bs2G8mQk.js.map} +1 -1
- package/dist/assets/{RequestPasswordReset-8ekUShJq.js → RequestPasswordReset-Abu5C0PS.js} +2 -2
- package/dist/assets/{RequestPasswordReset-8ekUShJq.js.map → RequestPasswordReset-Abu5C0PS.js.map} +1 -1
- package/dist/assets/{ResetPassword-CZVPnMM4.js → ResetPassword-S4d7TZP3.js} +2 -2
- package/dist/assets/{ResetPassword-CZVPnMM4.js.map → ResetPassword-S4d7TZP3.js.map} +1 -1
- package/dist/assets/{Study-BdxV-Ilv.js → Study-D29QwlyX.js} +2 -2
- package/dist/assets/{Study-BdxV-Ilv.js.map → Study-D29QwlyX.js.map} +1 -1
- package/dist/assets/{TagInformation-DYyYbYmu.js → TagInformation-DfxG__6Q.js} +2 -2
- package/dist/assets/{TagInformation-DYyYbYmu.js.map → TagInformation-DfxG__6Q.js.map} +1 -1
- package/dist/assets/{User-dB5PO1RG.js → User-DOCNnUcq.js} +2 -2
- package/dist/assets/{User-dB5PO1RG.js.map → User-DOCNnUcq.js.map} +1 -1
- package/dist/assets/{UserStats-uVV3CIXd.js → UserStats-DfDpe-Tt.js} +2 -2
- package/dist/assets/{UserStats-uVV3CIXd.js.map → UserStats-DfDpe-Tt.js.map} +1 -1
- package/dist/assets/{VerifyEmail-Dlm91Y-S.js → VerifyEmail-DIvEVYE3.js} +2 -2
- package/dist/assets/{VerifyEmail-Dlm91Y-S.js.map → VerifyEmail-DIvEVYE3.js.map} +1 -1
- package/dist/assets/admin-C1kbA23q.js +4 -0
- package/dist/assets/admin-C1kbA23q.js.map +1 -0
- package/dist/assets/admin-nsH2hmYz.css +1 -0
- package/dist/assets/{chess-E2uOAyQS-CyL0N9F7.js → chess-E2uOAyQS-DGFsCQt6.js} +2 -2
- package/dist/assets/{chess-E2uOAyQS-CyL0N9F7.js.map → chess-E2uOAyQS-DGFsCQt6.js.map} +1 -1
- package/dist/assets/chess-Lfm7Fsvs-Dg_zv7tG.js +1 -0
- package/dist/assets/{common-ui.es-DFOzc2ze.js → common-ui.es-BKEt3ead.js} +8 -8
- package/dist/assets/{common-ui.es-DFOzc2ze.js.map → common-ui.es-BKEt3ead.js.map} +1 -1
- package/dist/assets/{common-ui.es-e3Go1Szv.js → common-ui.es-Kjr2m0-r.js} +1 -1
- package/dist/assets/{dist-DDw00TzX.js → dist-5pzU2QGs.js} +12 -12
- package/dist/assets/dist-5pzU2QGs.js.map +1 -0
- package/dist/assets/{dist-DQUROFxW.js → dist-BrFW2xcq.js} +3 -3
- package/dist/assets/{dist-DQUROFxW.js.map → dist-BrFW2xcq.js.map} +1 -1
- package/dist/assets/dist-BuuMJSO8.js +1 -0
- package/dist/assets/dist-CoJktbks.js +1 -0
- package/dist/assets/edit-ui.es-B-WRQSob.js +1 -0
- package/dist/assets/edit-ui.es-P-QQ-hsA.js +36 -0
- package/dist/assets/{edit-ui.es-w6kgjkws.js.map → edit-ui.es-P-QQ-hsA.js.map} +1 -1
- package/dist/assets/{french-Dk7YG8Td-Cg49rQNc.js → french-Dk7YG8Td-oI_Y9Yn7.js} +2 -2
- package/dist/assets/{french-Dk7YG8Td-Cg49rQNc.js.map → french-Dk7YG8Td-oI_Y9Yn7.js.map} +1 -1
- package/dist/assets/french-evUMlbbq--804zfgk.js +1 -0
- package/dist/assets/{index-oJ86i_Jb.js → index-001F1CnH.js} +4 -4
- package/dist/assets/{index-oJ86i_Jb.js.map → index-001F1CnH.js.map} +1 -1
- package/dist/assets/{math-B4HbgYf6-F4RSa_qw.js → math-B4HbgYf6-DZW-sQzL.js} +2 -2
- package/dist/assets/{math-B4HbgYf6-F4RSa_qw.js.map → math-B4HbgYf6-DZW-sQzL.js.map} +1 -1
- package/dist/assets/math-DYni7rRl-BiMckB4D.js +1 -0
- package/dist/assets/piano-BN5Btq91-BIOLr8tm.js +1 -0
- package/dist/assets/{piano-DF1g6yaX-CBHsd-Bx.js → piano-DF1g6yaX-D4bbUsyA.js} +2 -2
- package/dist/assets/{piano-DF1g6yaX-CBHsd-Bx.js.map → piano-DF1g6yaX-D4bbUsyA.js.map} +1 -1
- package/dist/assets/{pitch-CgGJFkZ1-mnBGefMf.js → pitch-CgGJFkZ1-CKqgrwBw.js} +2 -2
- package/dist/assets/{pitch-CgGJFkZ1-mnBGefMf.js.map → pitch-CgGJFkZ1-CKqgrwBw.js.map} +1 -1
- package/dist/assets/pitch-Dn0iNqiS-Dz5Ffxl4.js +1 -0
- package/dist/assets/{server-DRRLfaGM.js → server-D4EXUyhH.js} +2 -2
- package/dist/assets/{server-DRRLfaGM.js.map → server-D4EXUyhH.js.map} +1 -1
- package/dist/assets/{sightsing-BFQ7HRig-BJLyffo9.js → sightsing-BFQ7HRig-3JyNWqf-.js} +2 -2
- package/dist/assets/{sightsing-BFQ7HRig-BJLyffo9.js.map → sightsing-BFQ7HRig-3JyNWqf-.js.map} +1 -1
- package/dist/assets/sightsing-CJX3k0Fd-C5Fwkk2A.js +1 -0
- package/dist/assets/{typing-BevtfWlp-BhybW0tx.js → typing-BevtfWlp-DqPA0VeF.js} +2 -2
- package/dist/assets/{typing-BevtfWlp-BhybW0tx.js.map → typing-BevtfWlp-DqPA0VeF.js.map} +1 -1
- package/dist/assets/typing-k-ojjO7G-6WUzbhh3.js +1 -0
- package/dist/assets/{word-work-BOnRlZgd-BpNUJRLI.js → word-work-BOnRlZgd-BoR5qGg1.js} +2 -2
- package/dist/assets/{word-work-BOnRlZgd-BpNUJRLI.js.map → word-work-BOnRlZgd-BoR5qGg1.js.map} +1 -1
- package/dist/assets/word-work-Dd6tIKrt-0BhZ2cDk.js +1 -0
- package/dist/index.html +3 -3
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/package.json +7 -7
- package/dist/assets/admin-BNR4JZ2X.js +0 -4
- package/dist/assets/admin-BNR4JZ2X.js.map +0 -1
- package/dist/assets/admin-D-L0jR6i.css +0 -1
- package/dist/assets/chess-Lfm7Fsvs-CGl6HDqe.js +0 -1
- package/dist/assets/dist-BtPAFjJU.js +0 -1
- package/dist/assets/dist-DDw00TzX.js.map +0 -1
- package/dist/assets/dist-DXykAjYp.js +0 -1
- package/dist/assets/edit-ui.es-BUTgY-3X.js +0 -1
- package/dist/assets/edit-ui.es-w6kgjkws.js +0 -36
- package/dist/assets/french-evUMlbbq-eazzEipj.js +0 -1
- package/dist/assets/math-DYni7rRl-B9M881Tg.js +0 -1
- package/dist/assets/piano-BN5Btq91-BRTyPgQM.js +0 -1
- package/dist/assets/pitch-Dn0iNqiS-B8AXyb7U.js +0 -1
- package/dist/assets/sightsing-CJX3k0Fd-CUYD16hW.js +0 -1
- package/dist/assets/typing-k-ojjO7G-DxqrbEGQ.js +0 -1
- package/dist/assets/word-work-Dd6tIKrt-B18ud_iH.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vue.runtime.esm-bundler-C3q8JS9f.js";import"./dist-l4NOxAbA.js";import"./MarkdownRenderer-kStoDRNE-HDBFbDeD.js";import"./dist-5pzU2QGs.js";import"./common-ui.es-BKEt3ead.js";import"./CourseWare-BTFRjgBR-C5EKZq5q.js";import{t as e}from"./sightsing-BFQ7HRig-3JyNWqf-.js";export{e as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./chunk-D6hFPZc3.js";import{B as e,H as t,T as n,Vt as r,_ as i,b as a,f as o,g as s,lt as c,y as l,z as u}from"./vue.runtime.esm-bundler-C3q8JS9f.js";import{C as d,E as f,b as p,n as m}from"./dist-l4NOxAbA.js";import{S as h,x as g}from"./MarkdownRenderer-kStoDRNE-HDBFbDeD.js";import{h as _}from"./common-ui.es-
|
|
2
|
-
//# sourceMappingURL=typing-BevtfWlp-
|
|
1
|
+
import"./chunk-D6hFPZc3.js";import{B as e,H as t,T as n,Vt as r,_ as i,b as a,f as o,g as s,lt as c,y as l,z as u}from"./vue.runtime.esm-bundler-C3q8JS9f.js";import{C as d,E as f,b as p,n as m}from"./dist-l4NOxAbA.js";import{S as h,x as g}from"./MarkdownRenderer-kStoDRNE-HDBFbDeD.js";import{h as _}from"./common-ui.es-BKEt3ead.js";import{n as v,t as y,u as b}from"./CourseWare-BTFRjgBR-C5EKZq5q.js";var x,S,C=n({name:`LetterQuestionView`,props:{data:{type:Array,required:!0},modifyDifficulty:{type:Number,required:!1,default:0}},setup(t,{emit:n}){let r=h(t,n,`LetterQuestionView`),i=g(r),a=c(null);i.question.value=new D(t.data);let o=s(()=>i.question.value),handleKeyPress=e=>{if(!o.value)return;let t=e.key.toLowerCase(),n=o.value.letter.toLowerCase();if(t===n){a.value?.classList.add(`pressed`);let handleKeyUp=e=>{e.key.toLowerCase()===n&&(a.value?.classList.remove(`pressed`),i.submitAnswer(t),window.removeEventListener(`keyup`,handleKeyUp))};window.addEventListener(`keyup`,handleKeyUp)}else i.submitAnswer(t)};return u(()=>{window.addEventListener(`keypress`,handleKeyPress)}),e(()=>{window.removeEventListener(`keypress`,handleKeyPress)}),{...i,...r,letterDisplay:a,question:o}}}),w={"data-viewable":`LetterQuestionView`};function _sfc_render(e,n,s,c,u,d){return t(),a(`div`,w,[e.question?(t(),a(o,{key:0},[n[0]||(n[0]=i(`p`,{class:`text-h5`},`Type this letter!`,-1)),i(`div`,{ref:`letterDisplay`,class:`letter-display`},r(e.question.letter),513)],64)):l(``,!0)])}var T=y(C,[[`render`,_sfc_render],[`__scopeId`,`data-v-4ae4db54`]]),E=b(function(){let e=[];for(let t=0;t<26;t++)e.push({letter:String.fromCharCode(65+t)});return e},`data`),D=(x=class TypeLetterQuestion extends _{constructor(e){var _super=(...e)=>(super(...e),p(this,`letter`,void 0),this);_super(e),this.letter=e[0].letter}evaluate(e,t){return{isCorrect:this.isCorrect(e),performance:this.displayedSkill(e,t)}}displayedSkill(e,t){if(this.isCorrect(e)){if(t<3e3)return 1;{let e=1-(t-3e3)/7e3*.75;return Math.max(.25,e)}}return 0}dataShapes(){return TypeLetterQuestion.dataShapes}views(){return TypeLetterQuestion.views}isCorrect(e){let t=e.toLowerCase()===this.letter.toLowerCase();return console.log(`singleLetter Q isCorrect: ${t}`),t}},p(x,`dataShapes`,[{name:m.TYPING_singleLetter,fields:[{name:`letter`,type:d.STRING,validator:{instructions:`Enter a single letter`,test:function(e){return!e||e.length!==1||!/[a-zA-Z]/.test(e)?{status:f.error,msg:`Input must be a single letter`}:{status:f.ok,msg:``}}}}]}]),p(x,`views`,[T]),p(x,`acceptsUserData`,!0),p(x,`seedData`,E()),x),data=function(){return[{gameLength:30,initialSpeed:2,acceleration:.1,spawnInterval:1}]},O=new v(`typing`,[D,(S=class FallingLettersQuestion extends _{constructor(e){var _super2=(...e)=>(super(...e),p(this,`gameLength`,void 0),p(this,`initialSpeed`,void 0),p(this,`acceleration`,void 0),p(this,`spawnInterval`,void 0),this);_super2(e),this.gameLength=e[0].gameLength,this.initialSpeed=e[0].initialSpeed,this.acceleration=e[0].acceleration,this.spawnInterval=e[0].spawnInterval}evaluate(e){return{isCorrect:this.isCorrect(e),performance:this.displayedSkill(e)}}displayedSkill(e){return e.win?1:e.percentage}dataShapes(){return FallingLettersQuestion.dataShapes}views(){return FallingLettersQuestion.views}isCorrect(e){return e.win}},p(S,`dataShapes`,[{name:m.TYPING_fallingLetters,fields:[{name:`gameLength`,type:d.NUMBER},{name:`initialSpeed`,type:d.NUMBER},{name:`acceleration`,type:d.NUMBER},{name:`spawnInterval`,type:d.NUMBER,validator:{instructions:`How often should a new letter spawn? (in seconds)`,test:e=>typeof e==`string`?parseFloat(e)>0?{status:f.ok,msg:``}:{status:f.error,msg:`Must be greater than 0`}:{status:f.error,msg:`Unexpected non-string input.`},placeholder:`1`}}]}]),p(S,`views`,[]),p(S,`acceptsUserData`,!0),p(S,`seedData`,data()),S)]);export{O as t};
|
|
2
|
+
//# sourceMappingURL=typing-BevtfWlp-DqPA0VeF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typing-BevtfWlp-
|
|
1
|
+
{"version":3,"file":"typing-BevtfWlp-DqPA0VeF.js","names":["c","g","h","f","i","l","u","d","o","r","s","p","a","t","e","m","_","v","y","n"],"sources":["../../../courseware/dist/typing-BevtfWlp.js"],"sourcesContent":["import { r as e } from \"./shapes-BQUVJdp5.js\";\nimport { r as t, t as n } from \"./CourseWare-BTFRjgBR.js\";\nimport { Fragment as r, computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, defineComponent as c, onMounted as l, onUnmounted as u, openBlock as d, ref as f, toDisplayString as p } from \"vue\";\nimport { Question as m, useQuestionView as h, useViewable as g } from \"@vue-skuilder/common-ui\";\nimport { DataShapeName as _, FieldType as v, Status as y } from \"@vue-skuilder/common\";\nimport './assets/typing.css';//#region src/typing/questions/single-letter/typeSingleLetter.vue?vue&type=script&lang.ts\nvar b = c({\n\tname: \"LetterQuestionView\",\n\tprops: {\n\t\tdata: {\n\t\t\ttype: Array,\n\t\t\trequired: !0\n\t\t},\n\t\tmodifyDifficulty: {\n\t\t\ttype: Number,\n\t\t\trequired: !1,\n\t\t\tdefault: 0\n\t\t}\n\t},\n\tsetup(e, { emit: t }) {\n\t\tlet n = g(e, t, \"LetterQuestionView\"), r = h(n), a = f(null);\n\t\tr.question.value = new w(e.data);\n\t\tlet o = i(() => r.question.value), handleKeyPress = (e) => {\n\t\t\tif (!o.value) return;\n\t\t\tlet t = e.key.toLowerCase(), n = o.value.letter.toLowerCase();\n\t\t\tif (t === n) {\n\t\t\t\ta.value?.classList.add(\"pressed\");\n\t\t\t\tlet handleKeyUp = (e) => {\n\t\t\t\t\te.key.toLowerCase() === n && (a.value?.classList.remove(\"pressed\"), r.submitAnswer(t), window.removeEventListener(\"keyup\", handleKeyUp));\n\t\t\t\t};\n\t\t\t\twindow.addEventListener(\"keyup\", handleKeyUp);\n\t\t\t} else r.submitAnswer(t);\n\t\t};\n\t\treturn l(() => {\n\t\t\twindow.addEventListener(\"keypress\", handleKeyPress);\n\t\t}), u(() => {\n\t\t\twindow.removeEventListener(\"keypress\", handleKeyPress);\n\t\t}), {\n\t\t\t...r,\n\t\t\t...n,\n\t\t\tletterDisplay: a,\n\t\t\tquestion: o\n\t\t};\n\t}\n}), x = { \"data-viewable\": \"LetterQuestionView\" };\nfunction _sfc_render(e, t, n, i, c, l) {\n\treturn d(), o(\"div\", x, [e.question ? (d(), o(r, { key: 0 }, [t[0] ||= s(\"p\", { class: \"text-h5\" }, \"Type this letter!\", -1), s(\"div\", {\n\t\tref: \"letterDisplay\",\n\t\tclass: \"letter-display\"\n\t}, p(e.question.letter), 513)], 64)) : a(\"\", !0)]);\n}\nvar S = /* @__PURE__ */ t(b, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-4ae4db54\"]]), C = /* @__PURE__ */ e(function() {\n\tlet e = [];\n\tfor (let t = 0; t < 26; t++) e.push({ letter: String.fromCharCode(65 + t) });\n\treturn e;\n}, \"data\"), w = class TypeLetterQuestion extends m {\n\tstatic dataShapes = [{\n\t\tname: _.TYPING_singleLetter,\n\t\tfields: [{\n\t\t\tname: \"letter\",\n\t\t\ttype: v.STRING,\n\t\t\tvalidator: {\n\t\t\t\tinstructions: \"Enter a single letter\",\n\t\t\t\ttest: function(e) {\n\t\t\t\t\treturn !e || e.length !== 1 || !/[a-zA-Z]/.test(e) ? {\n\t\t\t\t\t\tstatus: y.error,\n\t\t\t\t\t\tmsg: \"Input must be a single letter\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tstatus: y.ok,\n\t\t\t\t\t\tmsg: \"\"\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}]\n\t}];\n\tstatic views = [S];\n\tstatic acceptsUserData = !0;\n\tletter;\n\tstatic seedData = C();\n\tconstructor(e) {\n\t\tsuper(e), this.letter = e[0].letter;\n\t}\n\tevaluate(e, t) {\n\t\treturn {\n\t\t\tisCorrect: this.isCorrect(e),\n\t\t\tperformance: this.displayedSkill(e, t)\n\t\t};\n\t}\n\tdisplayedSkill(e, t) {\n\t\tif (this.isCorrect(e)) {\n\t\t\tif (t < 3e3) return 1;\n\t\t\t{\n\t\t\t\tlet e = 1 - (t - 3e3) / 7e3 * .75;\n\t\t\t\treturn Math.max(.25, e);\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\tdataShapes() {\n\t\treturn TypeLetterQuestion.dataShapes;\n\t}\n\tviews() {\n\t\treturn TypeLetterQuestion.views;\n\t}\n\tisCorrect(e) {\n\t\tlet t = e.toLowerCase() === this.letter.toLowerCase();\n\t\treturn console.log(`singleLetter Q isCorrect: ${t}`), t;\n\t}\n}, data = function() {\n\treturn [{\n\t\tgameLength: 30,\n\t\tinitialSpeed: 2,\n\t\tacceleration: .1,\n\t\tspawnInterval: 1\n\t}];\n}, T = new n(\"typing\", [w, class FallingLettersQuestion extends m {\n\tstatic dataShapes = [{\n\t\tname: _.TYPING_fallingLetters,\n\t\tfields: [\n\t\t\t{\n\t\t\t\tname: \"gameLength\",\n\t\t\t\ttype: v.NUMBER\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"initialSpeed\",\n\t\t\t\ttype: v.NUMBER\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"acceleration\",\n\t\t\t\ttype: v.NUMBER\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"spawnInterval\",\n\t\t\t\ttype: v.NUMBER,\n\t\t\t\tvalidator: {\n\t\t\t\t\tinstructions: \"How often should a new letter spawn? (in seconds)\",\n\t\t\t\t\ttest: (e) => typeof e == \"string\" ? parseFloat(e) > 0 ? {\n\t\t\t\t\t\tstatus: y.ok,\n\t\t\t\t\t\tmsg: \"\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tstatus: y.error,\n\t\t\t\t\t\tmsg: \"Must be greater than 0\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tstatus: y.error,\n\t\t\t\t\t\tmsg: \"Unexpected non-string input.\"\n\t\t\t\t\t},\n\t\t\t\t\tplaceholder: \"1\"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}];\n\tstatic views = [];\n\tstatic acceptsUserData = !0;\n\tstatic seedData = data();\n\tgameLength;\n\tinitialSpeed;\n\tacceleration;\n\tspawnInterval;\n\tconstructor(e) {\n\t\tsuper(e), this.gameLength = e[0].gameLength, this.initialSpeed = e[0].initialSpeed, this.acceleration = e[0].acceleration, this.spawnInterval = e[0].spawnInterval;\n\t}\n\tevaluate(e) {\n\t\treturn {\n\t\t\tisCorrect: this.isCorrect(e),\n\t\t\tperformance: this.displayedSkill(e)\n\t\t};\n\t}\n\tdisplayedSkill(e) {\n\t\treturn e.win ? 1 : e.percentage;\n\t}\n\tdataShapes() {\n\t\treturn FallingLettersQuestion.dataShapes;\n\t}\n\tviews() {\n\t\treturn FallingLettersQuestion.views;\n\t}\n\tisCorrect(e) {\n\t\treturn e.win;\n\t}\n}]);\n//#endregion\nexport { T as t };\n\n//# sourceMappingURL=typing-BevtfWlp.js.map"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vue.runtime.esm-bundler-C3q8JS9f.js";import"./dist-l4NOxAbA.js";import"./MarkdownRenderer-kStoDRNE-HDBFbDeD.js";import"./dist-5pzU2QGs.js";import"./common-ui.es-BKEt3ead.js";import"./CourseWare-BTFRjgBR-C5EKZq5q.js";import{t as e}from"./typing-BevtfWlp-DqPA0VeF.js";export{e as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./chunk-D6hFPZc3.js";import{$ as e,C as t,H as n,K as r,T as i,Vt as a,_ as o,b as s,f as c,g as l,lt as u,y as d}from"./vue.runtime.esm-bundler-C3q8JS9f.js";import{C as f,b as p,d as m,n as h}from"./dist-l4NOxAbA.js";import{C as g,S as _,s as v,x as y}from"./MarkdownRenderer-kStoDRNE-HDBFbDeD.js";import{h as b}from"./common-ui.es-
|
|
2
|
-
//# sourceMappingURL=word-work-BOnRlZgd-
|
|
1
|
+
import"./chunk-D6hFPZc3.js";import{$ as e,C as t,H as n,K as r,T as i,Vt as a,_ as o,b as s,f as c,g as l,lt as u,y as d}from"./vue.runtime.esm-bundler-C3q8JS9f.js";import{C as f,b as p,d as m,n as h}from"./dist-l4NOxAbA.js";import{C as g,S as _,s as v,x as y}from"./MarkdownRenderer-kStoDRNE-HDBFbDeD.js";import{h as b}from"./common-ui.es-BKEt3ead.js";import{n as x,t as S}from"./CourseWare-BTFRjgBR-C5EKZq5q.js";var C,w=i({name:`IdentifyVocab`,components:{AudioAutoPlayer:g,UserInputString:v},props:{data:{type:Array,required:!0},modifyDifficulty:{type:Number,required:!1,default:0}},setup(e,{emit:t}){let n=_(e,t,`IdentifyVocab`),r=y(n),i=u(``);r.question.value=new k(e.data);let a=l(()=>r.question.value),submit=()=>{a.value&&r.submitAnswer(i.value)};return{...n,...r,answer:i,question:a,submit}}}),T={"data-viewable":`IdentifyVocab`},E={key:0,class:`text-h6`};function _sfc_render(i,l,u,f,p,m){let h=r(`UserInputString`),g=r(`center`),_=r(`audio-auto-player`);return n(),s(`div`,T,[i.question?(n(),s(c,{key:0},[l[1]||(l[1]=o(`span`,{class:`text-h5`},` Spell the word: `,-1)),t(h,{modelValue:i.answer,"onUpdate:modelValue":l[0]||(l[0]=e=>i.answer=e)},null,8,[`modelValue`]),t(g,null,{default:e(()=>[i.priorAttempts?(n(),s(`span`,E,a(i.question.word),1)):d(``,!0)]),_:1}),t(g,null,{default:e(()=>[t(_,{src:[i.getURL(`WordAudio`),i.getURL(`SentenceAudio`),i.getURL(`WordAudio`)]},null,8,[`src`])]),_:1})],64)):d(``,!0)])}var D=S(w,[[`render`,_sfc_render]]),O=[{name:`Word`,type:f.STRING,validator:m.NonEmptyString},{name:`ExampleSentence`,type:f.STRING},{name:`WordAudio`,type:f.AUDIO},{name:`SentenceAudio`,type:f.AUDIO}],k=(C=class SpellingQuestion extends b{constructor(e){var _super=(...e)=>(super(...e),p(this,`word`,void 0),p(this,`sentence`,void 0),p(this,`audio_word`,void 0),p(this,`audio_sentence`,void 0),this);_super(e),this.word=e[0].Word,this.sentence=e[0].Sentence,this.audio_word=e[0].WordAudio,this.audio_sentence=e[0].SentenceAudio}isCorrect(e){return e===this.word}dataShapes(){return SpellingQuestion.dataShapes}views(){return SpellingQuestion.views}},p(C,`dataShapes`,[{fields:O,name:h.WORDWORK_Spelling}]),p(C,`views`,[D]),C),A=new x(`wordWork`,[k]);export{A as t};
|
|
2
|
+
//# sourceMappingURL=word-work-BOnRlZgd-BoR5qGg1.js.map
|
package/dist/assets/{word-work-BOnRlZgd-BpNUJRLI.js.map → word-work-BOnRlZgd-BoR5qGg1.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"word-work-BOnRlZgd-
|
|
1
|
+
{"version":3,"file":"word-work-BOnRlZgd-BoR5qGg1.js","names":["c","m","g","v","_","u","r","d","l","a","n","o","s","p","f","i","e","b","x","h","y","t"],"sources":["../../../courseware/dist/word-work-BOnRlZgd.js"],"sourcesContent":["import \"./shapes-BQUVJdp5.js\";\nimport { r as e, t } from \"./CourseWare-BTFRjgBR.js\";\nimport { Fragment as n, computed as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, openBlock as l, ref as u, resolveComponent as d, toDisplayString as f, withCtx as p } from \"vue\";\nimport { AudioAutoPlayer as m, Question as h, UserInputString as g, useQuestionView as _, useViewable as v } from \"@vue-skuilder/common-ui\";\nimport { DataShapeName as y, FieldType as b, Validators as x } from \"@vue-skuilder/common\";\n//#region src/word-work/questions/spelling/textBox.vue?vue&type=script&lang.ts\nvar S = c({\n\tname: \"IdentifyVocab\",\n\tcomponents: {\n\t\tAudioAutoPlayer: m,\n\t\tUserInputString: g\n\t},\n\tprops: {\n\t\tdata: {\n\t\t\ttype: Array,\n\t\t\trequired: !0\n\t\t},\n\t\tmodifyDifficulty: {\n\t\t\ttype: Number,\n\t\t\trequired: !1,\n\t\t\tdefault: 0\n\t\t}\n\t},\n\tsetup(e, { emit: t }) {\n\t\tlet n = v(e, t, \"IdentifyVocab\"), i = _(n), a = u(\"\");\n\t\ti.question.value = new D(e.data);\n\t\tlet o = r(() => i.question.value), submit = () => {\n\t\t\to.value && i.submitAnswer(a.value);\n\t\t};\n\t\treturn {\n\t\t\t...n,\n\t\t\t...i,\n\t\t\tanswer: a,\n\t\t\tquestion: o,\n\t\t\tsubmit\n\t\t};\n\t}\n}), C = { \"data-viewable\": \"IdentifyVocab\" }, w = {\n\tkey: 0,\n\tclass: \"text-h6\"\n};\nfunction _sfc_render(e, t, r, c, u, m) {\n\tlet h = d(\"UserInputString\"), g = d(\"center\"), _ = d(\"audio-auto-player\");\n\treturn l(), a(\"div\", C, [e.question ? (l(), a(n, { key: 0 }, [\n\t\tt[1] ||= o(\"span\", { class: \"text-h5\" }, \" Spell the word: \", -1),\n\t\ts(h, {\n\t\t\tmodelValue: e.answer,\n\t\t\t\"onUpdate:modelValue\": t[0] ||= (t) => e.answer = t\n\t\t}, null, 8, [\"modelValue\"]),\n\t\ts(g, null, {\n\t\t\tdefault: p(() => [e.priorAttempts ? (l(), a(\"span\", w, f(e.question.word), 1)) : i(\"\", !0)]),\n\t\t\t_: 1\n\t\t}),\n\t\ts(g, null, {\n\t\t\tdefault: p(() => [s(_, { src: [\n\t\t\t\te.getURL(\"WordAudio\"),\n\t\t\t\te.getURL(\"SentenceAudio\"),\n\t\t\t\te.getURL(\"WordAudio\")\n\t\t\t] }, null, 8, [\"src\"])]),\n\t\t\t_: 1\n\t\t})\n\t], 64)) : i(\"\", !0)]);\n}\nvar T = /* @__PURE__ */ e(S, [[\"render\", _sfc_render]]), E = [\n\t{\n\t\tname: \"Word\",\n\t\ttype: b.STRING,\n\t\tvalidator: x.NonEmptyString\n\t},\n\t{\n\t\tname: \"ExampleSentence\",\n\t\ttype: b.STRING\n\t},\n\t{\n\t\tname: \"WordAudio\",\n\t\ttype: b.AUDIO\n\t},\n\t{\n\t\tname: \"SentenceAudio\",\n\t\ttype: b.AUDIO\n\t}\n], D = class SpellingQuestion extends h {\n\tstatic dataShapes = [{\n\t\tfields: E,\n\t\tname: y.WORDWORK_Spelling\n\t}];\n\tstatic views = [T];\n\tword;\n\tsentence;\n\taudio_word;\n\taudio_sentence;\n\tconstructor(e) {\n\t\tsuper(e), this.word = e[0].Word, this.sentence = e[0].Sentence, this.audio_word = e[0].WordAudio, this.audio_sentence = e[0].SentenceAudio;\n\t}\n\tisCorrect(e) {\n\t\treturn e === this.word;\n\t}\n\tdataShapes() {\n\t\treturn SpellingQuestion.dataShapes;\n\t}\n\tviews() {\n\t\treturn SpellingQuestion.views;\n\t}\n}, O = new t(\"wordWork\", [D]);\n//#endregion\nexport { O as t };\n\n//# sourceMappingURL=word-work-BOnRlZgd.js.map"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./vue.runtime.esm-bundler-C3q8JS9f.js";import"./dist-l4NOxAbA.js";import"./MarkdownRenderer-kStoDRNE-HDBFbDeD.js";import"./dist-5pzU2QGs.js";import"./common-ui.es-BKEt3ead.js";import"./CourseWare-BTFRjgBR-C5EKZq5q.js";import{t as e}from"./word-work-BOnRlZgd-BoR5qGg1.js";export{e as default};
|
package/dist/index.html
CHANGED
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
|
|
9
9
|
<link rel="shortcut icon" href="/favicon.ico" />
|
|
10
10
|
<title>eduQuilt</title>
|
|
11
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index-001F1CnH.js"></script>
|
|
12
12
|
<link rel="modulepreload" crossorigin href="/assets/chunk-D6hFPZc3.js">
|
|
13
13
|
<link rel="modulepreload" crossorigin href="/assets/dist-l4NOxAbA.js">
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/assets/dist-
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-5pzU2QGs.js">
|
|
15
15
|
<link rel="modulepreload" crossorigin href="/assets/vue.runtime.esm-bundler-C3q8JS9f.js">
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/assets/MarkdownRenderer-kStoDRNE-HDBFbDeD.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="/assets/vue-router-CDq4a4rc.js">
|
|
18
|
-
<link rel="modulepreload" crossorigin href="/assets/common-ui.es-
|
|
18
|
+
<link rel="modulepreload" crossorigin href="/assets/common-ui.es-BKEt3ead.js">
|
|
19
19
|
<link rel="stylesheet" crossorigin href="/assets/common-ui-BY2Ut5jf.css">
|
|
20
20
|
<link rel="stylesheet" crossorigin href="/assets/index-NFrxkZjT.css">
|
|
21
21
|
<link rel="manifest" href="/manifest.webmanifest"></head>
|
package/dist/sw.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()})).then((()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s})));self.define=(i,r)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(e[n])return;let o={};const u=s=>l(s,n),t={module:{uri:n},exports:o,require:u};e[n]=Promise.all(i.map((s=>t[s]||u(s)))).then((s=>(r(...s),o)))}}define(["./workbox-1be04862"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/About-
|
|
1
|
+
if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()})).then((()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s})));self.define=(i,r)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(e[n])return;let o={};const u=s=>l(s,n),t={module:{uri:n},exports:o,require:u};e[n]=Promise.all(i.map((s=>t[s]||u(s)))).then((s=>(r(...s),o)))}}define(["./workbox-1be04862"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/About-CY5R6hcy.js",revision:null},{url:"assets/admin-C1kbA23q.js",revision:null},{url:"assets/admin-nsH2hmYz.css",revision:null},{url:"assets/AdminDashboard-BCf45Fv8.js",revision:null},{url:"assets/AdminDashboard-fWfBatiA.css",revision:null},{url:"assets/AdminLearner-DkLKZPDK.js",revision:null},{url:"assets/chess-E2uOAyQS-DB7z_kWx.css",revision:null},{url:"assets/chess-E2uOAyQS-DGFsCQt6.js",revision:null},{url:"assets/chess-Lfm7Fsvs-Dg_zv7tG.js",revision:null},{url:"assets/chunk-D6hFPZc3.js",revision:null},{url:"assets/ClassroomCtrlPanel-DgeiJJj-.js",revision:null},{url:"assets/Classrooms-By8_HZk7.js",revision:null},{url:"assets/common-ui-BY2Ut5jf.css",revision:null},{url:"assets/common-ui.es-BKEt3ead.js",revision:null},{url:"assets/common-ui.es-Kjr2m0-r.js",revision:null},{url:"assets/CourseRouter-B0wsb_SJ.js",revision:null},{url:"assets/CourseRouter-DvfjFpWl.css",revision:null},{url:"assets/Courses-CsGfVDf9.css",revision:null},{url:"assets/Courses-HDdIzJ-P.js",revision:null},{url:"assets/CourseWare-BTFRjgBR-C5EKZq5q.js",revision:null},{url:"assets/CourseWare-BTFRjgBR-D750E7i0.css",revision:null},{url:"assets/dist-5pzU2QGs.js",revision:null},{url:"assets/dist-BrFW2xcq.js",revision:null},{url:"assets/dist-BuuMJSO8.js",revision:null},{url:"assets/dist-CoJktbks.js",revision:null},{url:"assets/dist-l4NOxAbA.js",revision:null},{url:"assets/edit-ui.es-B-WRQSob.js",revision:null},{url:"assets/edit-ui.es-P-QQ-hsA.js",revision:null},{url:"assets/EloModeration-C_gG6Y5k.js",revision:null},{url:"assets/EloModeration-DgUqPPoO.css",revision:null},{url:"assets/french-Dk7YG8Td-oI_Y9Yn7.js",revision:null},{url:"assets/french-evUMlbbq--804zfgk.js",revision:null},{url:"assets/index-001F1CnH.js",revision:null},{url:"assets/index-NFrxkZjT.css",revision:null},{url:"assets/JoinCode-DPSfXf5z.css",revision:null},{url:"assets/JoinCode-WS6Hg8YR.js",revision:null},{url:"assets/MarkdownRenderer-kStoDRNE-HDBFbDeD.js",revision:null},{url:"assets/MarkdownRenderer-kStoDRNE-HqRzdAdp.js",revision:null},{url:"assets/materialdesignicons-webfont-Dp5v-WZN.woff2",revision:null},{url:"assets/math-B4HbgYf6-CZyvKZtp.css",revision:null},{url:"assets/math-B4HbgYf6-DZW-sQzL.js",revision:null},{url:"assets/math-DYni7rRl-BiMckB4D.js",revision:null},{url:"assets/NewCourseDialog-CY2XRDQA.js",revision:null},{url:"assets/piano-BN5Btq91-BIOLr8tm.js",revision:null},{url:"assets/piano-DF1g6yaX-BLvDAgl1.css",revision:null},{url:"assets/piano-DF1g6yaX-D4bbUsyA.js",revision:null},{url:"assets/pitch-CgGJFkZ1-CKqgrwBw.js",revision:null},{url:"assets/pitch-Dn0iNqiS-Dz5Ffxl4.js",revision:null},{url:"assets/ReleaseNotes-Bs2G8mQk.js",revision:null},{url:"assets/RequestPasswordReset-Abu5C0PS.js",revision:null},{url:"assets/RequestPasswordReset-Du5-awJG.css",revision:null},{url:"assets/ResetPassword-S4d7TZP3.js",revision:null},{url:"assets/Roboto-Black-VhoA2qKx.woff2",revision:null},{url:"assets/Roboto-BlackItalic-D4yie1YO.woff2",revision:null},{url:"assets/Roboto-Bold-hN3duQhD.woff2",revision:null},{url:"assets/Roboto-BoldItalic-BWDm51uc.woff2",revision:null},{url:"assets/Roboto-Light-DHTugVNA.woff2",revision:null},{url:"assets/Roboto-LightItalic-JQyp2Y3P.woff2",revision:null},{url:"assets/Roboto-Medium-ByKogCTi.woff2",revision:null},{url:"assets/Roboto-MediumItalic-i1eR0KbF.woff2",revision:null},{url:"assets/Roboto-Regular-C6rbFxYz.woff2",revision:null},{url:"assets/Roboto-RegularItalic-CvPUdkvM.woff2",revision:null},{url:"assets/Roboto-Thin-NicBC1pN.woff2",revision:null},{url:"assets/Roboto-ThinItalic-CKlCjrO_.woff2",revision:null},{url:"assets/server-D4EXUyhH.js",revision:null},{url:"assets/sightsing-BFQ7HRig-3JyNWqf-.js",revision:null},{url:"assets/sightsing-BFQ7HRig-DkUGf5Yf.css",revision:null},{url:"assets/sightsing-CJX3k0Fd-C5Fwkk2A.js",revision:null},{url:"assets/Study-D29QwlyX.js",revision:null},{url:"assets/Study-R4LCAP7J.css",revision:null},{url:"assets/TagInformation-DfxG__6Q.js",revision:null},{url:"assets/typing-BevtfWlp-B7ZMUAQJ.css",revision:null},{url:"assets/typing-BevtfWlp-DqPA0VeF.js",revision:null},{url:"assets/typing-k-ojjO7G-6WUzbhh3.js",revision:null},{url:"assets/User-DOCNnUcq.js",revision:null},{url:"assets/UserStats-DfDpe-Tt.js",revision:null},{url:"assets/VerifyEmail-DIvEVYE3.js",revision:null},{url:"assets/vue-router-CDq4a4rc.js",revision:null},{url:"assets/vue.runtime.esm-bundler-C3q8JS9f.js",revision:null},{url:"assets/word-work-BOnRlZgd-BoR5qGg1.js",revision:null},{url:"assets/word-work-Dd6tIKrt-0BhZ2cDk.js",revision:null},{url:"assets/workbox-window.prod.es5-r2bRTooK.js",revision:null},{url:"favicon.ico",revision:"b71387b4508120b59615e43d5e103706"},{url:"img/icons/safari-pinned-tab.svg",revision:"f22d501a35a87d9f21701cb031f6ea17"},{url:"index.html",revision:"398b3508f5bf2bd2b63517e5335ce817"},{url:"manifest.json",revision:"14a155103e25199244cdda503219c3e1"},{url:"robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"manifest.webmanifest",revision:"0ad80257ac95729a8c88588d23a396c1"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("/index.html"),{allowlist:[/^(?!\/(couch|express)).*$/]}))}));
|
|
2
2
|
//# sourceMappingURL=sw.js.map
|
package/dist/sw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sw.js","sources":["../../../../../../../tmp/21825a5f3f907c8e9e0aad1375171d7f/sw.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-precaching/precacheAndRoute.mjs';\nimport {cleanupOutdatedCaches as workbox_precaching_cleanupOutdatedCaches} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-precaching/cleanupOutdatedCaches.mjs';\nimport {registerRoute as workbox_routing_registerRoute} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-routing/registerRoute.mjs';\nimport {NavigationRoute as workbox_routing_NavigationRoute} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-routing/NavigationRoute.mjs';\nimport {createHandlerBoundToURL as workbox_precaching_createHandlerBoundToURL} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-precaching/createHandlerBoundToURL.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"assets/About-Cr-gVLN3.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/admin-BNR4JZ2X.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/admin-D-L0jR6i.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/AdminDashboard-fWfBatiA.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/AdminDashboard-Tu5cntiN.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/AdminLearner-DKV-rmzE.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/chess-E2uOAyQS-CyL0N9F7.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/chess-E2uOAyQS-DB7z_kWx.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/chess-Lfm7Fsvs-CGl6HDqe.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/chunk-D6hFPZc3.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/ClassroomCtrlPanel-BlIKf9Ec.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Classrooms-CUHpCVyZ.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/common-ui-BY2Ut5jf.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/common-ui.es-DFOzc2ze.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/common-ui.es-e3Go1Szv.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/CourseRouter-CmWQVX3p.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/CourseRouter-DvfjFpWl.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Courses-CsGfVDf9.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Courses-D4v2o2EL.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/CourseWare-BTFRjgBR-D750E7i0.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/CourseWare-BTFRjgBR-DCGIN7hI.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/dist-BtPAFjJU.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/dist-DDw00TzX.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/dist-DQUROFxW.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/dist-DXykAjYp.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/dist-l4NOxAbA.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/edit-ui.es-BUTgY-3X.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/edit-ui.es-w6kgjkws.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/EloModeration-BVRrWLlD.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/EloModeration-DgUqPPoO.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/french-Dk7YG8Td-Cg49rQNc.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/french-evUMlbbq-eazzEipj.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-NFrxkZjT.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-oJ86i_Jb.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/JoinCode-DPSfXf5z.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/JoinCode-tyMSgQmu.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/MarkdownRenderer-kStoDRNE-HDBFbDeD.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/MarkdownRenderer-kStoDRNE-HqRzdAdp.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/materialdesignicons-webfont-Dp5v-WZN.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/math-B4HbgYf6-CZyvKZtp.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/math-B4HbgYf6-F4RSa_qw.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/math-DYni7rRl-B9M881Tg.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/NewCourseDialog-CskVoqOS.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/piano-BN5Btq91-BRTyPgQM.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/piano-DF1g6yaX-BLvDAgl1.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/piano-DF1g6yaX-CBHsd-Bx.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/pitch-CgGJFkZ1-mnBGefMf.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/pitch-Dn0iNqiS-B8AXyb7U.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/ReleaseNotes-DeNVWB2D.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/RequestPasswordReset-8ekUShJq.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/RequestPasswordReset-Du5-awJG.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/ResetPassword-CZVPnMM4.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Black-VhoA2qKx.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-BlackItalic-D4yie1YO.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Bold-hN3duQhD.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-BoldItalic-BWDm51uc.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Light-DHTugVNA.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-LightItalic-JQyp2Y3P.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Medium-ByKogCTi.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-MediumItalic-i1eR0KbF.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Regular-C6rbFxYz.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-RegularItalic-CvPUdkvM.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Thin-NicBC1pN.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-ThinItalic-CKlCjrO_.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/server-DRRLfaGM.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/sightsing-BFQ7HRig-BJLyffo9.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/sightsing-BFQ7HRig-DkUGf5Yf.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/sightsing-CJX3k0Fd-CUYD16hW.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Study-BdxV-Ilv.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Study-R4LCAP7J.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/TagInformation-DYyYbYmu.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/typing-BevtfWlp-B7ZMUAQJ.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/typing-BevtfWlp-BhybW0tx.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/typing-k-ojjO7G-DxqrbEGQ.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/User-dB5PO1RG.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/UserStats-uVV3CIXd.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/VerifyEmail-Dlm91Y-S.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/vue-router-CDq4a4rc.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/vue.runtime.esm-bundler-C3q8JS9f.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/word-work-BOnRlZgd-BpNUJRLI.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/word-work-Dd6tIKrt-B18ud_iH.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/workbox-window.prod.es5-r2bRTooK.js\",\n \"revision\": null\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"b71387b4508120b59615e43d5e103706\"\n },\n {\n \"url\": \"img/icons/safari-pinned-tab.svg\",\n \"revision\": \"f22d501a35a87d9f21701cb031f6ea17\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"f88c9ff49ea4c245cc6eff3a7007556f\"\n },\n {\n \"url\": \"manifest.json\",\n \"revision\": \"14a155103e25199244cdda503219c3e1\"\n },\n {\n \"url\": \"robots.txt\",\n \"revision\": \"b6216d61c03e6ce0c9aea6ca7808f7ca\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"0ad80257ac95729a8c88588d23a396c1\"\n }\n], {});\nworkbox_precaching_cleanupOutdatedCaches();\nworkbox_routing_registerRoute(new workbox_routing_NavigationRoute(workbox_precaching_createHandlerBoundToURL(\"/index.html\"), {\n allowlist: [/^(?!\\/(couch|express)).*$/],\n \n}));\n\n\n\n\n\n\n"],"names":["self","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision","workbox_precaching_cleanupOutdatedCaches","workbox","registerRoute","workbox_routing_NavigationRoute","NavigationRoute","workbox_precaching_createHandlerBoundToURL","allowlist"],"mappings":"0nBAwBAA,KAAKC,cAELC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,MAEd,CACED,IAAO,gCACPC,SAAY,MAEd,CACED,IAAO,gCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,0CACPC,SAAY,MAEd,CACED,IAAO,yCACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,gCACPC,SAAY,MAEd,CACED,IAAO,gCACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,+CACPC,SAAY,MAEd,CACED,IAAO,+CACPC,SAAY,MAEd,CACED,IAAO,oDACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,MAEd,CACED,IAAO,0CACPC,SAAY,MAEd,CACED,IAAO,2CACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,2CACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,0CACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,2CACPC,SAAY,MAEd,CACED,IAAO,sCACPC,SAAY,MAEd,CACED,IAAO,4CACPC,SAAY,MAEd,CACED,IAAO,uCACPC,SAAY,MAEd,CACED,IAAO,6CACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,0CACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,MAEd,CACED,IAAO,yCACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,sCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,gCACPC,SAAY,MAEd,CACED,IAAO,6CACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,MAEd,CACED,IAAO,6CACPC,SAAY,MAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,qCAEb,CAAE,GACLC,EAAAA,wBAC6BC,EAAAC,cAAC,IAAIC,EAA+BC,gBAACC,0BAA2C,eAAgB,CAC3HC,UAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"sw.js","sources":["../../../../../../../tmp/0bfe8b58a0f886930415be3688178f67/sw.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-precaching/precacheAndRoute.mjs';\nimport {cleanupOutdatedCaches as workbox_precaching_cleanupOutdatedCaches} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-precaching/cleanupOutdatedCaches.mjs';\nimport {registerRoute as workbox_routing_registerRoute} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-routing/registerRoute.mjs';\nimport {NavigationRoute as workbox_routing_NavigationRoute} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-routing/NavigationRoute.mjs';\nimport {createHandlerBoundToURL as workbox_precaching_createHandlerBoundToURL} from '/home/runner/work/vue-skuilder/vue-skuilder/node_modules/workbox-precaching/createHandlerBoundToURL.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"assets/About-CY5R6hcy.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/admin-C1kbA23q.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/admin-nsH2hmYz.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/AdminDashboard-BCf45Fv8.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/AdminDashboard-fWfBatiA.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/AdminLearner-DkLKZPDK.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/chess-E2uOAyQS-DB7z_kWx.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/chess-E2uOAyQS-DGFsCQt6.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/chess-Lfm7Fsvs-Dg_zv7tG.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/chunk-D6hFPZc3.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/ClassroomCtrlPanel-DgeiJJj-.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Classrooms-By8_HZk7.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/common-ui-BY2Ut5jf.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/common-ui.es-BKEt3ead.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/common-ui.es-Kjr2m0-r.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/CourseRouter-B0wsb_SJ.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/CourseRouter-DvfjFpWl.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Courses-CsGfVDf9.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Courses-HDdIzJ-P.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/CourseWare-BTFRjgBR-C5EKZq5q.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/CourseWare-BTFRjgBR-D750E7i0.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/dist-5pzU2QGs.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/dist-BrFW2xcq.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/dist-BuuMJSO8.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/dist-CoJktbks.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/dist-l4NOxAbA.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/edit-ui.es-B-WRQSob.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/edit-ui.es-P-QQ-hsA.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/EloModeration-C_gG6Y5k.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/EloModeration-DgUqPPoO.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/french-Dk7YG8Td-oI_Y9Yn7.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/french-evUMlbbq--804zfgk.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-001F1CnH.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-NFrxkZjT.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/JoinCode-DPSfXf5z.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/JoinCode-WS6Hg8YR.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/MarkdownRenderer-kStoDRNE-HDBFbDeD.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/MarkdownRenderer-kStoDRNE-HqRzdAdp.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/materialdesignicons-webfont-Dp5v-WZN.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/math-B4HbgYf6-CZyvKZtp.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/math-B4HbgYf6-DZW-sQzL.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/math-DYni7rRl-BiMckB4D.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/NewCourseDialog-CY2XRDQA.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/piano-BN5Btq91-BIOLr8tm.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/piano-DF1g6yaX-BLvDAgl1.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/piano-DF1g6yaX-D4bbUsyA.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/pitch-CgGJFkZ1-CKqgrwBw.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/pitch-Dn0iNqiS-Dz5Ffxl4.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/ReleaseNotes-Bs2G8mQk.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/RequestPasswordReset-Abu5C0PS.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/RequestPasswordReset-Du5-awJG.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/ResetPassword-S4d7TZP3.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Black-VhoA2qKx.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-BlackItalic-D4yie1YO.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Bold-hN3duQhD.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-BoldItalic-BWDm51uc.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Light-DHTugVNA.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-LightItalic-JQyp2Y3P.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Medium-ByKogCTi.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-MediumItalic-i1eR0KbF.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Regular-C6rbFxYz.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-RegularItalic-CvPUdkvM.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-Thin-NicBC1pN.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Roboto-ThinItalic-CKlCjrO_.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"assets/server-D4EXUyhH.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/sightsing-BFQ7HRig-3JyNWqf-.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/sightsing-BFQ7HRig-DkUGf5Yf.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/sightsing-CJX3k0Fd-C5Fwkk2A.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Study-D29QwlyX.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Study-R4LCAP7J.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/TagInformation-DfxG__6Q.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/typing-BevtfWlp-B7ZMUAQJ.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/typing-BevtfWlp-DqPA0VeF.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/typing-k-ojjO7G-6WUzbhh3.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/User-DOCNnUcq.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/UserStats-DfDpe-Tt.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/VerifyEmail-DIvEVYE3.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/vue-router-CDq4a4rc.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/vue.runtime.esm-bundler-C3q8JS9f.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/word-work-BOnRlZgd-BoR5qGg1.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/word-work-Dd6tIKrt-0BhZ2cDk.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/workbox-window.prod.es5-r2bRTooK.js\",\n \"revision\": null\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"b71387b4508120b59615e43d5e103706\"\n },\n {\n \"url\": \"img/icons/safari-pinned-tab.svg\",\n \"revision\": \"f22d501a35a87d9f21701cb031f6ea17\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"398b3508f5bf2bd2b63517e5335ce817\"\n },\n {\n \"url\": \"manifest.json\",\n \"revision\": \"14a155103e25199244cdda503219c3e1\"\n },\n {\n \"url\": \"robots.txt\",\n \"revision\": \"b6216d61c03e6ce0c9aea6ca7808f7ca\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"0ad80257ac95729a8c88588d23a396c1\"\n }\n], {});\nworkbox_precaching_cleanupOutdatedCaches();\nworkbox_routing_registerRoute(new workbox_routing_NavigationRoute(workbox_precaching_createHandlerBoundToURL(\"/index.html\"), {\n allowlist: [/^(?!\\/(couch|express)).*$/],\n \n}));\n\n\n\n\n\n\n"],"names":["self","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision","workbox_precaching_cleanupOutdatedCaches","workbox","registerRoute","workbox_routing_NavigationRoute","NavigationRoute","workbox_precaching_createHandlerBoundToURL","allowlist"],"mappings":"0nBAwBAA,KAAKC,cAELC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,MAEd,CACED,IAAO,gCACPC,SAAY,MAEd,CACED,IAAO,gCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,yCACPC,SAAY,MAEd,CACED,IAAO,0CACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,gCACPC,SAAY,MAEd,CACED,IAAO,gCACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,+CACPC,SAAY,MAEd,CACED,IAAO,+CACPC,SAAY,MAEd,CACED,IAAO,oDACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,MAEd,CACED,IAAO,0CACPC,SAAY,MAEd,CACED,IAAO,2CACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,2CACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,0CACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,2CACPC,SAAY,MAEd,CACED,IAAO,sCACPC,SAAY,MAEd,CACED,IAAO,4CACPC,SAAY,MAEd,CACED,IAAO,uCACPC,SAAY,MAEd,CACED,IAAO,6CACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,0CACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,MAEd,CACED,IAAO,yCACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,sCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,gCACPC,SAAY,MAEd,CACED,IAAO,6CACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,MAEd,CACED,IAAO,6CACPC,SAAY,MAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,qCAEb,CAAE,GACLC,EAAAA,wBAC6BC,EAAAC,cAAC,IAAIC,EAA+BC,gBAACC,0BAA2C,eAAgB,CAC3HC,UAAW,CAAC"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.2.
|
|
6
|
+
"version": "0.2.29",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"dev": "vite",
|
|
9
9
|
"build": "vite build",
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@mdi/font": "^7.3.67",
|
|
27
27
|
"@tonaljs/tonal": "^3.6.0",
|
|
28
|
-
"@vue-skuilder/common": "0.2.
|
|
29
|
-
"@vue-skuilder/common-ui": "0.2.
|
|
30
|
-
"@vue-skuilder/courseware": "0.2.
|
|
31
|
-
"@vue-skuilder/db": "0.2.
|
|
32
|
-
"@vue-skuilder/edit-ui": "0.2.
|
|
28
|
+
"@vue-skuilder/common": "0.2.29",
|
|
29
|
+
"@vue-skuilder/common-ui": "0.2.29",
|
|
30
|
+
"@vue-skuilder/courseware": "0.2.29",
|
|
31
|
+
"@vue-skuilder/db": "0.2.29",
|
|
32
|
+
"@vue-skuilder/edit-ui": "0.2.29",
|
|
33
33
|
"@vue/compiler-sfc": "^3.5.13",
|
|
34
34
|
"abcjs": "^6.2.2",
|
|
35
35
|
"canvas-confetti": "^1.9.3",
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"engines": {
|
|
92
92
|
"node": ">=18"
|
|
93
93
|
},
|
|
94
|
-
"stableVersion": "0.2.
|
|
94
|
+
"stableVersion": "0.2.29"
|
|
95
95
|
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import"./chunk-D6hFPZc3.js";import{$ as e,C as t,H as n,It as r,K as i,N as a,S as o,T as s,Vt as c,W as l,Z as u,_ as d,b as f,dt as p,f as m,g as h,ht as g,l as _,lt as v,v as y,y as b,z as x}from"./vue.runtime.esm-bundler-C3q8JS9f.js";var S={cardHistory:`cardH`,scheduled:`card_review_`,session:`SESSION::`,strategyState:`STRATEGY_STATE::`,registrations:`CourseRegistrations`};function toIsoTimestamp(e){if(typeof e==`number`)return new Date(e).toISOString();let t=String(e??``),n=Date.parse(t);return Number.isNaN(n)?t:new Date(n).toISOString()}function dumpFileName(e){return`userdb-${e.username}-${e.fetchedAt.slice(0,16).replace(`:`,``)}Z.json`}function parseLearnerDump(e){let t=JSON.parse(e);if(!t||typeof t.username!=`string`||!Array.isArray(t.docs))throw Error("[diagnostics] Not a learner dump: expected `username` and a `docs` array");return t}function questionTypeOf(e){if(typeof e!=`string`)return;let t=e.split(`.`);return t.length>=2?t[t.length-2]:e}function summarizeCards(e){let t=new Map(e.displayableData.map(e=>[e._id,e])),n=new Map;for(let r of e.cards){let e={};for(let n of t.get(r.id_displayable_data?.[0]??``)?.data??[])e[n.name]=n.data;n.set(r._id,{cardId:r._id,questionType:questionTypeOf(r.id_view),elo:r.elo,tags:[],data:e})}for(let t of e.tags)for(let e of t.taggedCards??[])n.get(e)?.tags.push(t.name);return n}function inferCourseId(e){if(e.courseId)return e.courseId;if(e.course)return e.course.courseId;let t=new Map;for(let n of e.docs)n._id.startsWith(S.session)&&typeof n.courseId==`string`&&t.set(n.courseId,(t.get(n.courseId)??0)+1);return[...t.entries()].sort((e,t)=>t[1]-e[1])[0]?.[0]}function fromDump(e,t){let n=t??inferCourseId(e);if(!n)throw Error(`[diagnostics] No course id given, and none found in the dump`);let r=[],i=[],a=[],o={},s;for(let t of e.docs){let e=t._id;if(e.startsWith(S.session))t.courseId===n&&r.push(t);else if(e.startsWith(S.cardHistory)){if(t.courseID!==n)continue;let e=t;i.push({...e,records:(e.records??[]).map(e=>({...e,timeStamp:toIsoTimestamp(e.timeStamp)})).sort((e,t)=>e.timeStamp.localeCompare(t.timeStamp))})}else if(e.startsWith(S.scheduled))t.courseId===n&&a.push(t);else if(e.startsWith(S.strategyState)){let[,r,i]=e.split(`::`);r===n&&i&&(o[i]=t.data)}else e===S.registrations&&(s=t)}return r.sort((e,t)=>e.startTime.localeCompare(t.startTime)),a.sort((e,t)=>String(e.reviewTime).localeCompare(String(t.reviewTime))),{username:e.username,courseId:n,asOf:e.fetchedAt,sessions:r,cardHistories:i,scheduled:a,registration:s,strategyState:o,tombstones:(e.tombstones??[]).map(({id:e,seq:t})=>({id:e,seq:t})),...e.course&&e.course.courseId===n?{cards:summarizeCards(e.course)}:{}}}function userDbName(e){let t=``;for(let n of new TextEncoder().encode(e))t+=n.toString(16).padStart(2,`0`);return`userdb-`+t}function base64(e){let t=``;for(let n of new TextEncoder().encode(e))t+=String.fromCharCode(n);return btoa(t)}function trimTrailingSlashes(e){let t=e.length;for(;t>0&&e[t-1]===`/`;)t--;return e.slice(0,t)}function couchReader(e){let t=e.fetchImpl??fetch,n=trimTrailingSlashes(e.couchUrl),r={Accept:`application/json`};e.auth.kind===`basic`&&(r.Authorization=`Basic `+base64(`${e.auth.username}:${e.auth.password}`));let i=e.auth.kind===`cookie`?`include`:void 0;async function get(e,a={}){let o=await t(`${n}/${e}`,{method:a.method??`GET`,headers:a.body?{...r,"Content-Type":`application/json`}:r,...a.body?{body:JSON.stringify(a.body)}:{},...i?{credentials:i}:{}});if(!o.ok){let t=await o.text().catch(()=>``);throw Error(`[diagnostics] ${a.method??`GET`} ${e} -> ${o.status} ${t}`)}return await o.json()}async function byKeys(e,t){let n=[];for(let r=0;r<t.length;r+=500){let i=await get(`${e}/_all_docs?include_docs=true`,{method:`POST`,body:{keys:t.slice(r,r+500)}});for(let e of i.rows)e.doc&&n.push(e.doc)}return n}async function byPrefix(e,t){return(await get(`${e}/_all_docs?${new URLSearchParams({include_docs:`true`,startkey:JSON.stringify(t),endkey:JSON.stringify(t+``)})}`)).rows.map(e=>e.doc).filter(e=>!!e)}return{base:n,get,byKeys,byPrefix}}function touchedCardIds(e){let t=new Set;for(let n of e)if(n._id.startsWith(`cardH`)&&typeof n.cardID==`string`)t.add(n.cardID);else if(n._id.startsWith(`card_review_`)&&typeof n.cardId==`string`)t.add(n.cardId);else if(n._id.startsWith(`SESSION::`)&&Array.isArray(n.eloEvents))for(let e of n.eloEvents)e.cardId&&t.add(e.cardId);return[...t]}async function fetchLearnerDump(e){let t=couchReader(e),n=userDbName(e.username),r=new Date().toISOString(),i=await t.get(n),a=new URLSearchParams({include_docs:`true`});e.attachments&&a.set(`attachments`,`true`);let o=(await t.get(`${n}/_all_docs?${a}`)).rows.map(e=>e.doc).filter(e=>!!e),s=(await t.get(`${n}/_changes?style=main_only`)).results.filter(e=>e.deleted).map(e=>({id:e.id,rev:e.changes[0]?.rev,seq:Number(String(e.seq).split(`-`)[0])})),c=e.cards??`touched`,l;if(c!==`none`){let n=`coursedb-${e.courseId}`,r;r=c===`all`?(await t.get(`${n}/_find`,{method:`POST`,body:{selector:{docType:`CARD`},limit:1e6}})).docs:await t.byKeys(n,touchedCardIds(o));let i=new Set(r.map(e=>e._id)),a=new Set;for(let e of r)for(let t of e.id_displayable_data??[])a.add(t);let s=await t.byKeys(n,[...a]),u=(await t.byPrefix(n,`TAG`)).map(e=>{let t=Array.isArray(e.taggedCards)?e.taggedCards:[];return{...e,taggedCount:t.length,taggedCards:c===`all`?t:t.filter(e=>i.has(e))}}).filter(e=>c===`all`||e.taggedCards.length>0);l={courseId:e.courseId,source:`${t.base}/${n}`,scope:c,cards:r,displayableData:s,tags:u}}return{formatVersion:1,username:e.username,dbName:n,source:t.base,fetchedAt:r,courseId:e.courseId,info:i,docs:o,tombstones:s,...l?{course:l}:{}}}var isSkillTag=(e,t)=>e?.isSkillTag?.(t)??!1,shortTag=(e,t)=>e?.shortTag?.(t)??t;function bySkillThenName(e){return(t,n)=>{let r=Number(isSkillTag(e,n))-Number(isSkillTag(e,t));return r===0?t.localeCompare(n):r}}function defaultSnapshotMetrics(e){let t={};for(let[n,r]of Object.entries(e))if(typeof r==`number`)t[n]=r;else if(r&&typeof r==`object`&&!Array.isArray(r))for(let[e,i]of Object.entries(r))typeof i==`number`&&(t[`${n}.${e}`]=i);return t}var C={churned:{label:`Churned`,help:`Many pipeline runs relative to cards served: the plan kept being rebuilt rather than consumed.`},"out-of-content":{label:`Out of content`,help:`Ended with time left on the clock: content ran out before the session did.`},walked:{label:`Walked`,help:`Abandoned or never closed, after real time invested. Not a mis-click.`},stalled:{label:`Stalled`,help:`No progress metric moved and ELO was essentially flat. The sitting produced nothing measurable.`},grinding:{label:`Grinding`,help:`Majority-incorrect, or ended with unfinished cards still in the failed queue.`}},w={churnRunsPerCard:1/3,churnMinCards:4,outOfContentSeconds:20,walkMinCards:2,stallEloEpsilon:5,grindAccuracy:.5};function stateRows(e,t){let n=t?.snapshotMetrics??defaultSnapshotMetrics,r=e.stateAtStart?n(e.stateAtStart):{},i=e.stateAtEnd?n(e.stateAtEnd):{};return[...new Set([...Object.keys(r),...Object.keys(i)])].map(e=>{let t=r[e]??null,n=i[e]??null;return{label:e,from:t,to:n,delta:t!==null&&n!==null?n-t:null}})}function flagSession(e,t){let n=w,{doc:r,accuracy:i,eloNet:a}=e,o=[],s=r.tally?.cardsPresented??0,c=r.runs?.length??0;s>=n.churnMinCards&&c/s>n.churnRunsPerCard&&o.push(`churned`),r.status===`closed`&&(r.tally?.secondsRemaining??0)>n.outOfContentSeconds&&o.push(`out-of-content`),(r.status===`open`||r.status===`abandoned`&&s>=n.walkMinCards)&&o.push(`walked`);let l=e.state.filter(e=>t?.progressMetrics?.includes(e.label)),u=a!==null||l.some(e=>e.delta!==null);return s>0&&u&&l.every(e=>(e.delta??0)===0)&&Math.abs(a??0)<n.stallEloEpsilon&&o.push(`stalled`),(i!==null&&i<n.grindAccuracy&&s>0||(r.tally?.failedQRemaining??0)>0)&&o.push(`grinding`),o}function summarizeSession(e,t){let n=Date.parse(e.startTime),r=e.endTime?Date.parse(e.endTime):NaN,i=Number.isNaN(n)||Number.isNaN(r)?null:Math.round((r-n)/1e3),a=e.tally?.responses??0,o=a>0?(e.tally?.correct??0)/a:null,s=e.eloEvents??[],c={doc:e,durationSeconds:i,accuracy:o,eloNet:s.length?s.reduce((e,t)=>e+(t.global.after-t.global.before),0):null,state:stateRows(e,t)};return{...c,flags:flagSession(c,t)}}function summarizeSessions(e,t){return e.sessions.map(e=>summarizeSession(e,t)).reverse()}function toResponseEloDelta(e,t){let n=bySkillThenName(t),r=Object.entries(e.tags??{}).map(([e,t])=>({tag:e,before:t.before,after:t.after,delta:t.after-t.before,score:t.score})).sort((e,t)=>n(e.tag,t.tag));return{userScore:e.userScore,global:{before:e.global.before,after:e.global.after,delta:e.global.after-e.global.before},...e.card?{card:{before:e.card.before,after:e.card.after,delta:e.card.after-e.card.before}}:{},tags:r}}function attachEloEvents(e,t,n){let r=new Set;for(let i of t){let t=Date.parse(i.at),a=-1,o=1/0;e.forEach((e,n)=>{if(r.has(n)||e.cardId!==i.cardId)return;let s=Math.abs(Date.parse(e.at)-t);s<o&&(o=s,a=n)}),a>=0&&(r.add(a),e[a].elo=toResponseEloDelta(i,n))}}function byTime(e,t){let n=Date.parse(e.at),r=Date.parse(t.at);return Number.isNaN(n)||Number.isNaN(r)?e.at.localeCompare(t.at):n-r}function sessionDetail(e,t,n){let r=e.sessions.find(e=>e.sessionId===t);if(!r)return null;let i=[];for(let r of e.cardHistories){let a=e.cards?.get(r.cardID);for(let e of r.records)e.sessionId===t&&i.push({kind:`response`,at:e.timeStamp,cardId:r.cardID,...a?{card:a,questionType:a.questionType}:{},tags:a?[...a.tags].sort(bySkillThenName(n)):[],isCorrect:typeof e.isCorrect==`boolean`?e.isCorrect:null,timeSpentMs:e.timeSpent??0,priorAttempts:typeof e.priorAttemps==`number`?e.priorAttemps:null,userAnswer:e.userAnswer})}r.eloEvents?.length&&attachEloEvents(i,r.eloEvents,n);let a=[...(r.runs??[]).map(e=>({kind:`run`,at:e.at,run:e})),...i].sort(byTime);return{summary:summarizeSession(r,n),timeline:a,responsesMissing:(r.tally?.responses??0)>i.length}}function servedTags(e,t){let n=new Map;for(let t of e)if(t.kind===`response`)for(let e of t.tags){let r=n.get(e);r||(r={responses:0,correct:0,incorrect:0,totalTimeMs:0,cards:new Set},n.set(e,r)),r.responses+=1,r.totalTimeMs+=t.timeSpentMs,r.cards.add(t.cardId),t.isCorrect===!0?r.correct+=1:t.isCorrect===!1&&(r.incorrect+=1)}return[...n.entries()].map(([e,t])=>{let n=t.correct+t.incorrect;return{tag:e,responses:t.responses,correct:t.correct,incorrect:t.incorrect,accuracy:n>0?t.correct/n:null,totalTimeMs:t.totalTimeMs,cards:t.cards.size}}).sort((e,n)=>{let r=Number(isSkillTag(t,n.tag))-Number(isSkillTag(t,e.tag));return r===0?n.responses===e.responses?e.tag.localeCompare(n.tag):n.responses-e.responses:r})}function eloLedger(e){let t={count:0,net:0,gained:0,lost:0,wins:0,losses:0};for(let n of e){if(n.kind!==`response`||!n.elo)continue;let e=n.elo.global.delta;t.count+=1,t.net+=e,e>0?(t.gained+=e,t.wins+=1):e<0&&(t.lost+=e,t.losses+=1)}return t.count?t:null}var T=3;function cardDossiers(e){let t=Date.parse(e.asOf),n=new Map;for(let t of e.scheduled){let e=String(t.reviewTime),r=n.get(t.cardId);(!r||e<r)&&n.set(t.cardId,e)}return e.cardHistories.map(r=>{let i=e.cards?.get(r.cardID),a=r.records.filter(e=>e.isCorrect===!1).length,o=r.records.reduce((e,t)=>e+(t.timeSpent??0),0),s=n.get(r.cardID),c=s?{reviewTime:s,overdue:Date.parse(s)<=t}:null,l=i?.elo?.global?.score??null,u=i?.elo?.global?.count??null;return{cardId:r.cardID,...i?{card:i}:{},records:r.records,lapses:r.lapses??0,streak:r.streak??0,bestIntervalSeconds:r.bestInterval??0,attempts:r.records.length,fails:a,firstSeen:r.records[0]?.timeStamp??null,lastSeen:r.records[r.records.length-1]?.timeStamp??null,totalTimeMs:o,pendingReview:c,cardElo:l,cardEloCount:u,stuck:a>0&&!!c?.overdue,frozenElo:a>=T&&u!==null&&u<a,painScore:o*(a+1)}}).sort((e,t)=>t.painScore-e.painScore)}function recordPerformance(e){let t=e.performance;return typeof t==`number`?t:t&&typeof t==`object`&&typeof t._global==`number`?t._global:null}function fmtDelta(e){if(e===null)return`—`;if(e===0)return`0`;let t=Number.isInteger(e)?e:Number(e.toFixed(1));return t>0?`+${t}`:String(t)}function fmtDuration(e){let t=Math.max(0,Math.round(e));if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?t%60?`${n}m${t%60}s`:`${n}m`:`${(n/60).toFixed(1)}h`}function fmtAnswer(e,t=40){if(e==null)return``;if(typeof e==`string`||typeof e==`number`)return String(e);try{let n=JSON.stringify(e);return n.length>t?`${n.slice(0,t)}\u2026`:n}catch{return String(e)}}function fmtScore(e){return Math.abs(e)>=.01||e===0?e.toFixed(2):e.toExponential(1)}function trailText(e,t){let n=[` ${e}: ${t.cardId} (${t.origin}, ${t.generator??`?`}) final ${fmtScore(t.score)}`];for(let e of t.trail)n.push(` ${e.action} ${e.strategyName} \u2192 ${fmtScore(e.score)}: ${e.reason}`);return n}function runText(e){let t=[];if(t.push(`RUN ${e.label}${e.mode?` [${e.mode}]`:``} @ ${e.at} \u2014 generated ${e.generatedCount} \u2192 selected ${e.finalCount} (${e.newSelected} new, ${e.reviewsSelected} review)`+(e.generatedCount>0&&e.finalCount===0?` ⚠ nothing survived`:``)),typeof e.userElo==`number`&&t.push(` userElo: ${Math.round(e.userElo)}`),e.generators?.length){t.push(` generators:`);for(let n of e.generators)t.push(` - ${n.name}: ${n.cardCount} cards (${n.newCount} new, ${n.reviewCount} review), topScore ${n.topScore.toFixed(2)}`)}if(e.filters?.length){t.push(` filters:`);for(let n of e.filters)t.push(` - ${n.name}: +${n.boosted} boosted, -${n.penalized} penalized, ${n.passed} passed, ${n.removed} removed`)}if(e.hints&&t.push(` hints: ${JSON.stringify(e.hints)}`),e.cards?.length){t.push(` selection (✓ selected, · runner-up):`);for(let n of e.cards)t.push(` ${n.selected?`✓`:`·`} ${n.cardId} (${n.origin}, ${n.generator??`?`}) ${fmtScore(n.score)}`)}if(e.unselectedNew?.nextInLine&&t.push(...trailText(`next new in line`,e.unselectedNew.nextInLine)),e.unselectedNew?.topGenerated&&t.push(...trailText(`top-generated new (sunk)`,e.unselectedNew.topGenerated)),e.discardedTail){let n=e.discardedTail;t.push(` discardedTail: ${n.count} cards`+(n.scoreRange?` \xB7 score [${n.scoreRange[0].toFixed(2)}, ${n.scoreRange[1].toFixed(2)}]`:``)+(n.eloRange?` \xB7 elo [${Math.round(n.eloRange[0])}, ${Math.round(n.eloRange[1])}]`:``)),n.note&&t.push(` ${n.note}`)}return t.join(`
|
|
2
|
-
`)}function scoredTagDeltas(e){return e.tags.filter(e=>e.score!==null&&e.delta!==0).slice(0,4)}function eloSuffix(e,t){if(!e)return``;let n=`ELO g:${e.global.before}\u2192${e.global.after} (${fmtDelta(e.global.delta)})`,r=scoredTagDeltas(e).map(e=>`${shortTag(t,e.tag)}:${fmtDelta(e.delta)}`);return` ${n}${r.length?` | ${r.join(` `)}`:``}`}function clock(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toISOString().slice(11,19)}function sessionText(e,t,n={},r){let i=t.summary,a=i.doc,o=t.timeline.filter(e=>e.kind===`response`).length,s=[];if(s.push(`# Study session ${a.sessionId} \u2014 user ${e}`),s.push(``),s.push(`## Legend`),s.push(`- The TIMELINE is one time-ordered stream: RUN lines are pipeline (re)plans;`),s.push(` the lines between them are card responses in the order presented.`),s.push(`- RUN "generated N → selected M (a new, b review)": the pipeline produced N`),s.push(` candidates and chose M. "nothing survived" = generated > 0 but 0 selected.`),s.push(` Bootstrap runs fire before card #1; replans are interleaved by time.`),s.push(`- generators: each source's contribution. filters: how each reshaped scores.`),s.push(` hints: the ReplanHints the navigator was told (_label = replan reason).`),s.push(` selection: the chosen cards and top runners-up. "next new in line" / "top-generated`),s.push(` new (sunk)": the unselected new cards worth explaining, with each score change.`),s.push(` Prescribed and hint-required cards count as origin "unknown" (known miscount).`),s.push(`- RESP "✓/✗ type <cardId> [tags] Ts (attempt k) 'answer'": one presentation and`),s.push(` its outcome. A trailing "ELO g:before→after (Δ) | tag:Δ …" is the exchange it`),s.push(` produced. Only first attempts move ELO.`),s.push(``),s.push(`## Headline`),s.push(`- status: ${a.status}`),s.push(`- start: ${a.startTime}${a.endTime?` \xB7 end: ${a.endTime}`:``}`),s.push(`- clock: ${i.durationSeconds??`—`}s of ${a.plannedSeconds}s planned`+(a.tally?` \xB7 ${a.tally.secondsRemaining}s remaining`:``)),a.tally&&s.push(`- tally: ${a.tally.cardsPresented} cards, ${a.tally.responses} responses (${a.tally.correct} correct / ${a.tally.incorrect} incorrect) \xB7 failedQ remaining ${a.tally.failedQRemaining}`),s.push(`- flags: ${i.flags.length?i.flags.join(`, `):`none`}`),s.push(`- config: batchLimit ${a.config?.defaultBatchLimit??`?`}, ${a.config?.sourceCount??`?`} source(s), opening queues supply ${a.initialQueues?.supplyQ??`?`} / failed ${a.initialQueues?.failedQ??`?`}`),t.responsesMissing&&s.push(`- \u26A0 responsesMissing: tally claims ${a.tally?.responses} responses but only ${o} stamped records were found.`),s.push(``),i.state.length){s.push(`## Learner state (start → end, Δ)`);for(let e of i.state)s.push(`- ${e.label}: ${e.from??`—`} \u2192 ${e.to??`—`} (${fmtDelta(e.delta)})`);s.push(``)}if(s.push(`## Session hints`),s.push(`- at open: ${a.config?.initHints?JSON.stringify(a.config.initHints):`none`}`),s.push(`- at close: ${a.finalHints?JSON.stringify(a.finalHints):`none`}`),s.push(``),n.servedTags?.length){s.push(`## Served tags`);for(let e of n.servedTags)s.push(`- ${e.tag}: ${e.responses} resp / ${e.cards} card(s), acc ${e.accuracy===null?`n/a`:`${Math.round(e.accuracy*100)}%`} (${e.correct}\u2713/${e.incorrect}\u2717), ${(e.totalTimeMs/1e3).toFixed(1)}s`);s.push(``)}let c=n.eloLedger;c&&(s.push(`## ELO ledger (learner global)`),s.push(`- net ${fmtDelta(c.net)} across ${c.count} exchange(s) \xB7 gained ${fmtDelta(c.gained)} over ${c.wins} win(s) \xB7 lost ${fmtDelta(c.lost)} over ${c.losses} loss(es)`),s.push(``)),s.push(`## Timeline (${t.timeline.length} entries)`);for(let e of t.timeline){if(e.kind===`run`){s.push(runText(e.run));continue}let t=e.isCorrect===!0?`✓`:e.isCorrect===!1?`✗`:`·`,n=e.tags.length?` [${e.tags.join(`, `)}]`:``,i=e.priorAttempts?` (attempt ${e.priorAttempts+1})`:``,a=e.userAnswer==null?``:` '${fmtAnswer(e.userAnswer)}'`;s.push(`RESP ${clock(e.at)} ${t} ${e.questionType??`card`} ${e.cardId}${n} \u2014 ${(e.timeSpentMs/1e3).toFixed(1)}s${i}${a}${eloSuffix(e.elo,r)}`)}return s.join(`
|
|
3
|
-
`)}var E=Object.defineProperty,__name=(e,t)=>E(e,`name`,{value:t,configurable:!0});function useLearnerDataset(){let e=p(null),t=p(null),n=v(!1),r=v(null);async function load(i,a){n.value=!0,r.value=null;try{let n=await i();t.value=fromDump(n,a),e.value=n}catch(e){r.value=e instanceof Error?e.message:String(e)}finally{n.value=!1}}function loadFromCouch(e){return load(()=>fetchLearnerDump({...e,auth:{kind:`cookie`}}),e.courseId)}function loadFromFile(e,t){return load(async()=>parseLearnerDump(await e.text()),t)}return{dump:e,dataset:t,loading:n,error:r,loadFromCouch,loadFromFile}}function downloadLearnerDump(e){let t=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=dumpFileName(e),r.click(),URL.revokeObjectURL(n)}var D={class:`d-flex flex-wrap align-center ga-2`},O={key:1,class:`d-flex flex-wrap align-center ga-2 mt-3`},k=s({__name:`LearnerDatasetSource`,props:{couchUrl:{},courseId:{},initialUsername:{},autoload:{type:Boolean}},emits:[`loaded`],setup(r,{emit:a}){let s=r,l=a,{dump:p,dataset:S,loading:C,error:w,loadFromCouch:T,loadFromFile:E}=useLearnerDataset(),k=v(s.initialUsername??``),A=v(null),j=h(()=>{let e=S.value?.sessions??[];return e.length?`${e[0].startTime.slice(0,10)} .. ${e[e.length-1].startTime.slice(0,10)}`:``});function loadLive(){!s.couchUrl||!s.courseId||!k.value||T({couchUrl:s.couchUrl,courseId:s.courseId,username:k.value})}function onFile(e){let t=e.target,n=t.files?.[0];n&&E(n,s.courseId),t.value=``}return u(S,e=>{e&&p.value&&l(`loaded`,e,p.value)}),x(()=>{s.autoload&&loadLive()}),(r,a)=>{let s=i(`v-text-field`),l=i(`v-btn`),u=i(`v-alert`),h=i(`v-spacer`),v=i(`v-card-text`),x=i(`v-card`);return n(),y(x,{variant:`outlined`},{default:e(()=>[t(v,null,{default:e(()=>[d(`div`,D,[t(s,{modelValue:k.value,"onUpdate:modelValue":a[0]||(a[0]=e=>k.value=e),label:`Learner`,density:`compact`,"hide-details":``,style:{"max-width":`16rem`},disabled:!r.couchUrl||!r.courseId,onKeydown:_(loadLive,[`enter`])},null,8,[`modelValue`,`disabled`]),t(l,{color:`primary`,loading:g(C),disabled:!r.couchUrl||!r.courseId||!k.value,onClick:loadLive},{default:e(()=>a[3]||(a[3]=[o(` Load `)])),_:1},8,[`loading`,`disabled`]),a[5]||(a[5]=d(`span`,{class:`text-medium-emphasis mx-2`},`or`,-1)),t(l,{variant:`tonal`,"prepend-icon":`mdi-file-upload-outline`,onClick:a[1]||(a[1]=e=>A.value?.click())},{default:e(()=>a[4]||(a[4]=[o(` Open dump file `)])),_:1}),d(`input`,{ref_key:`fileInput`,ref:A,type:`file`,accept:`.json,application/json`,hidden:``,onChange:onFile},null,544)]),g(w)?(n(),y(u,{key:0,type:`error`,variant:`tonal`,density:`compact`,class:`mt-3`},{default:e(()=>[o(c(g(w)),1)]),_:1})):b(``,!0),g(S)&&g(p)?(n(),f(`div`,O,[d(`span`,null,[d(`strong`,null,c(g(S).username),1),o(` · `+c(g(S).sessions.length)+` sessions `,1),j.value?(n(),f(m,{key:0},[o(`(`+c(j.value)+`)`,1)],64)):b(``,!0),o(` · `+c(g(S).cardHistories.length)+` cards seen · as of `+c(g(S).asOf.slice(0,16))+`Z `,1),g(S).cards?b(``,!0):(n(),f(m,{key:1},[o(`· no course slice`)],64))]),t(h),t(l,{variant:`text`,size:`small`,"prepend-icon":`mdi-download`,onClick:a[2]||(a[2]=e=>g(downloadLearnerDump)(g(p)))},{default:e(()=>a[6]||(a[6]=[o(` Save dump `)])),_:1})])):b(``,!0)]),_:1})]),_:1})}}}),A={churned:{icon:`mdi-autorenew`,color:`warning`},"out-of-content":{icon:`mdi-cup-off-outline`,color:`error`},walked:{icon:`mdi-exit-run`,color:`error`},stalled:{icon:`mdi-arrow-collapse-horizontal`,color:`grey`},grinding:{icon:`mdi-alert-octagon-outline`,color:`warning`}};function statusColor(e){return e===`closed`?`success`:e===`abandoned`?`warning`:`error`}function accuracyClass(e){return e===null?`text-disabled`:e>=.8?`text-success`:e<.5?`text-error`:``}function deltaClass(e){return e===null||e===0?`text-disabled`:e>0?`text-success`:`text-error`}function deltaColor(e){return e>0?`success`:e<0?`error`:`grey`}function fmtTime(e){if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function fmtClock(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString(void 0,{hour12:!1})}function shortId(e,t=28){return e.length>t?`…${e.slice(-(t-2))}`:e}function useCopy(){let e=v(null),t=null;async function copy(n,r){try{await navigator.clipboard.writeText(n),e.value=r,t&&clearTimeout(t),t=setTimeout(()=>e.value=null,1400)}catch(e){console.warn(`[admin] clipboard write failed`,e)}}return{copied:e,copy}}var j={key:0,class:`text-caption mb-2`},M={class:`text-medium-emphasis`},N={class:`d-flex flex-wrap mb-2 ga-1`},P={key:0,class:`text-caption text-disabled`},F={class:`text-caption text-medium-emphasis mb-2`},I={key:0,class:`text-error`},L={class:`text-no-wrap`},R={key:2,class:`text-disabled`},z={class:`text-truncate`,style:{"max-width":`200px`}},ee=s({__name:`CardDossierDetail`,props:{dossier:{},interpreters:{}},setup(a){function perf(e){let t=recordPerformance(e);return t===null?`—`:t.toFixed(2)}function fmtInterval(e){return e?e<3600?`${Math.round(e/60)}m`:e<86400?`${Math.round(e/3600)}h`:`${Math.round(e/86400)}d`:`none`}return(a,s)=>{let u=i(`v-chip`),p=i(`v-icon`),h=i(`v-table`);return n(),f(`div`,null,[a.dossier.card&&Object.keys(a.dossier.card.data).length?(n(),f(`div`,j,[(n(!0),f(m,null,l(a.dossier.card.data,(e,t)=>(n(),f(`span`,{key:t,class:`mr-3`},[d(`span`,M,c(t)+`:`,1),o(` `+c(g(fmtAnswer)(e,60)),1)]))),128))])):b(``,!0),d(`div`,N,[(n(!0),f(m,null,l(a.dossier.card?.tags??[],t=>(n(),y(u,{key:t,size:`x-small`,variant:`outlined`,color:g(isSkillTag)(a.interpreters,t)?`primary`:void 0},{default:e(()=>[o(c(t),1)]),_:2},1032,[`color`]))),128)),a.dossier.card?b(``,!0):(n(),f(`span`,P,`no course data in this dataset`))]),d(`div`,F,[o(` lapses `+c(a.dossier.lapses)+` · streak `+c(a.dossier.streak)+` · best interval `+c(fmtInterval(a.dossier.bestIntervalSeconds))+` · `,1),a.dossier.pendingReview?(n(),f(m,{key:0},[o(` next review `+c(g(fmtTime)(a.dossier.pendingReview.reviewTime))+` `,1),a.dossier.pendingReview.overdue?(n(),f(`span`,I,`(overdue)`)):b(``,!0)],64)):(n(),f(m,{key:1},[o(`no review scheduled`)],64))]),t(h,{density:`compact`,class:`sk-record-table`},{default:e(()=>[s[2]||(s[2]=d(`thead`,null,[d(`tr`,null,[d(`th`,null,`#`),d(`th`,null,`When`),d(`th`,null,`Result`),d(`th`,null,`Perf`),d(`th`,null,`Prior att.`),d(`th`,null,`Time`),d(`th`,null,`Answer`)])],-1)),d(`tbody`,null,[(n(!0),f(m,null,l(a.dossier.records,(t,i)=>(n(),f(`tr`,{key:i,class:r(t.isCorrect===!1?`sk-fail-row`:``)},[d(`td`,null,c(i+1),1),d(`td`,L,c(g(fmtTime)(t.timeStamp)),1),d(`td`,null,[t.isCorrect===!0?(n(),y(p,{key:0,size:`small`,color:`success`},{default:e(()=>s[0]||(s[0]=[o(`mdi-check`)])),_:1})):t.isCorrect===!1?(n(),y(p,{key:1,size:`small`,color:`error`},{default:e(()=>s[1]||(s[1]=[o(`mdi-close`)])),_:1})):(n(),f(`span`,R,`—`))]),d(`td`,null,c(perf(t)),1),d(`td`,null,c(t.priorAttemps??`—`),1),d(`td`,null,c(((t.timeSpent??0)/1e3).toFixed(1))+`s`,1),d(`td`,z,c(g(fmtAnswer)(t.userAnswer)),1)],2))),128))])]),_:1})])}}}),B=__name((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},`default`),V=B(ee,[[`__scopeId`,`data-v-76b0a622`]]),te={class:`text-caption text-medium-emphasis mb-4`},H={class:`text-h6`},U={class:`text-caption`},W={class:`d-flex align-center flex-wrap mb-3 ga-3`},G={class:`d-flex align-center flex-wrap ga-2`,style:{width:`100%`}},K={class:`text-body-2 font-weight-medium`},q={class:`text-caption text-medium-emphasis`},J={key:2,class:`text-caption`},Y={key:0,class:`ml-1 text-disabled`},X=B(s({__name:`LearnerCardHistory`,props:{dataset:{},interpreters:{},focus:{}},setup(s){let p=s,_=h(()=>cardDossiers(p.dataset)),x=v(`all`),S=v(``),C=v([]),w=v(null),T=h(()=>({stuck:_.value.filter(e=>e.stuck).length,failed:_.value.filter(e=>e.fails>0).length,frozen:_.value.filter(e=>e.frozenElo).length})),E=h(()=>[{label:`cards seen`,value:_.value.length,color:`primary`},{label:`total attempts`,value:_.value.reduce((e,t)=>e+t.attempts,0),color:`primary`},{label:`total fails`,value:_.value.reduce((e,t)=>e+t.fails,0),color:`error`},{label:`time on cards`,value:fmtDuration(_.value.reduce((e,t)=>e+t.totalTimeMs,0)/1e3),color:`grey`},{label:`stuck reviews`,value:T.value.stuck,color:`error`},{label:`frozen ELO`,value:T.value.frozen,color:`warning`}]),D=h(()=>{let e=_.value;x.value===`stuck`?e=e.filter(e=>e.stuck):x.value===`failed`?e=e.filter(e=>e.fails>0):x.value===`frozen`&&(e=e.filter(e=>e.frozenElo));let t=S.value?.trim().toLowerCase();return t&&(e=e.filter(e=>e.cardId.toLowerCase().includes(t)||(e.card?.questionType??``).toLowerCase().includes(t)||(e.card?.tags??[]).some(e=>e.toLowerCase().includes(t))||Object.values(e.card?.data??{}).some(e=>typeof e==`string`&&e.toLowerCase().includes(t)))),e});function headline(e){let t=Object.values(e.card?.data??{}).find(e=>typeof e==`string`&&e.length<=40);return typeof t==`string`?t:``}async function applyFocus(e){!e||!_.value.some(t=>t.cardId===e)||(x.value=`all`,S.value=e,C.value=[e],await a(),document.querySelector(`[data-card="${CSS.escape(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`center`}),w.value=e,setTimeout(()=>{w.value===e&&(w.value=null)},2200))}return u(()=>p.focus,e=>void applyFocus(e),{immediate:!0}),(a,s)=>{let u=i(`v-icon`),p=i(`v-card`),h=i(`v-col`),v=i(`v-row`),O=i(`v-btn`),k=i(`v-btn-toggle`),A=i(`v-text-field`),j=i(`v-alert`),M=i(`v-spacer`),N=i(`v-chip`),P=i(`v-expansion-panel-title`),F=i(`v-expansion-panel-text`),I=i(`v-expansion-panel`),L=i(`v-expansion-panels`);return n(),f(`div`,null,[d(`p`,te,[s[5]||(s[5]=o(` Every card the learner has met, most painful first (time sunk × failures), with its pending review and current card ELO. `)),t(u,{size:`x-small`,color:`error`},{default:e(()=>s[3]||(s[3]=[o(`mdi-sync-alert`)])),_:1}),s[6]||(s[6]=o(` is a failed card holding an overdue review; `)),t(u,{size:`x-small`,color:`warning`},{default:e(()=>s[4]||(s[4]=[o(`mdi-snowflake`)])),_:1}),s[7]||(s[7]=o(` is a repeatedly failed card whose ELO has fewer updates than failures. `))]),t(v,{dense:``,class:`mb-2`},{default:e(()=>[(n(!0),f(m,null,l(E.value,r=>(n(),y(h,{key:r.label,cols:`6`,sm:`4`,md:`2`},{default:e(()=>[t(p,{variant:`tonal`,color:r.color,class:`pa-2 text-center`},{default:e(()=>[d(`div`,H,c(r.value),1),d(`div`,U,c(r.label),1)]),_:2},1032,[`color`])]),_:2},1024))),128))]),_:1}),d(`div`,W,[t(k,{modelValue:x.value,"onUpdate:modelValue":s[0]||(s[0]=e=>x.value=e),density:`compact`,color:`primary`,variant:`outlined`},{default:e(()=>[t(O,{value:`all`,size:`small`},{default:e(()=>[o(`All (`+c(_.value.length)+`)`,1)]),_:1}),t(O,{value:`stuck`,size:`small`},{default:e(()=>[t(u,{start:``,size:`small`,color:`error`},{default:e(()=>s[8]||(s[8]=[o(`mdi-sync-alert`)])),_:1}),o(` Stuck (`+c(T.value.stuck)+`) `,1)]),_:1}),t(O,{value:`failed`,size:`small`},{default:e(()=>[o(`Ever failed (`+c(T.value.failed)+`)`,1)]),_:1}),t(O,{value:`frozen`,size:`small`},{default:e(()=>[t(u,{start:``,size:`small`,color:`warning`},{default:e(()=>s[9]||(s[9]=[o(`mdi-snowflake`)])),_:1}),o(` Frozen ELO (`+c(T.value.frozen)+`) `,1)]),_:1})]),_:1},8,[`modelValue`]),t(A,{modelValue:S.value,"onUpdate:modelValue":s[1]||(s[1]=e=>S.value=e),density:`compact`,variant:`outlined`,"hide-details":``,clearable:``,placeholder:`filter by card / tag / type / content`,"prepend-inner-icon":`mdi-magnify`,style:{"max-width":`320px`}},null,8,[`modelValue`])]),_.value.length===0?(n(),y(j,{key:0,type:`info`,variant:`tonal`},{default:e(()=>s[10]||(s[10]=[o(`No card history for this learner.`)])),_:1})):(n(),y(L,{key:1,modelValue:C.value,"onUpdate:modelValue":s[2]||(s[2]=e=>C.value=e),multiple:``,variant:`accordion`},{default:e(()=>[(n(!0),f(m,null,l(D.value,i=>(n(),y(I,{key:i.cardId,value:i.cardId,"data-card":i.cardId,class:r(i.cardId===w.value?`sk-card-flash`:``)},{default:e(()=>[t(P,null,{default:e(()=>[d(`div`,G,[i.stuck?(n(),y(u,{key:0,color:`error`,size:`small`,title:`failed + overdue review`},{default:e(()=>s[11]||(s[11]=[o(`mdi-sync-alert`)])),_:1})):b(``,!0),i.frozenElo?(n(),y(u,{key:1,color:`warning`,size:`small`,title:`repeatedly failed, ELO barely updated`},{default:e(()=>s[12]||(s[12]=[o(` mdi-snowflake `)])),_:1})):b(``,!0),d(`span`,K,c(i.card?.questionType??`card`),1),d(`code`,q,c(g(shortId)(i.cardId,24)),1),headline(i)?(n(),f(`span`,J,c(headline(i)),1)):b(``,!0),t(M),i.fails>0?(n(),y(N,{key:3,size:`x-small`,color:`error`,variant:`tonal`},{default:e(()=>[o(c(i.fails)+` fail`+c(i.fails===1?``:`s`),1)]),_:2},1024)):b(``,!0),t(N,{size:`x-small`,variant:`tonal`},{default:e(()=>[o(c(i.attempts)+` view`+c(i.attempts===1?``:`s`),1)]),_:2},1024),t(N,{size:`x-small`,variant:`tonal`,color:`grey`},{default:e(()=>[o(c(g(fmtDuration)(i.totalTimeMs/1e3)),1)]),_:2},1024),i.pendingReview?(n(),y(N,{key:4,size:`x-small`,color:i.pendingReview.overdue?`error`:`success`,variant:`flat`},{default:e(()=>[o(` review `+c(i.pendingReview.overdue?`overdue`:`scheduled`),1)]),_:2},1032,[`color`])):b(``,!0),t(N,{size:`x-small`,variant:`tonal`,color:i.frozenElo?`warning`:void 0},{default:e(()=>[o(` ELO `+c(i.cardElo===null?`?`:Math.round(i.cardElo))+` `,1),i.cardEloCount===null?b(``,!0):(n(),f(`span`,Y,`/`+c(i.cardEloCount),1))]),_:2},1032,[`color`])])]),_:2},1024),t(F,null,{default:e(()=>[t(V,{dossier:i,interpreters:a.interpreters},null,8,[`dossier`,`interpreters`])]),_:2},1024)]),_:2},1032,[`value`,`data-card`,`class`]))),128))]),_:1},8,[`modelValue`]))])}}}),[[`__scopeId`,`data-v-bb6b302b`]]),Z={class:`sk-run-detail`},Q={key:0,class:`mb-2`},ne={class:`text-right`},re={class:`text-right`},ie={class:`text-right`},ae={class:`text-right`},oe={key:1,class:`mb-2`},se={class:`text-right`},ce={class:`text-right`},le={class:`text-right`},ue={key:2,class:`mb-2`},de={key:1,title:`runner-up`},fe=[`onClick`],pe={class:`text-right`},me={class:`text-caption font-weight-medium`},he=[`onClick`],ge={class:`text-medium-emphasis`},_e={class:`text-no-wrap`},ve={class:`text-no-wrap`},ye={class:`text-right text-no-wrap`},be={class:`text-caption`},xe={key:3,class:`mb-2`},Se={class:`sk-hint-block`},Ce={key:4,class:`text-caption text-medium-emphasis`},we={key:2},Te=B(s({__name:`RunDetail`,props:{run:{}},emits:[`open-card`],setup(a,{emit:s}){let u=a,p=s,g=h(()=>{let e=u.run.unselectedNew,t=[];return e?.nextInLine&&t.push({label:`next new card in line`,card:e.nextInLine}),e?.topGenerated&&t.push({label:`top-generated new card (sunk)`,card:e.topGenerated}),t});function fmtScore(e){return Math.abs(e)>=.01||e===0?e.toFixed(2):e.toExponential(1)}return(a,s)=>{let u=i(`v-table`),h=i(`v-icon`);return n(),f(`div`,Z,[a.run.generators?.length?(n(),f(`div`,Q,[s[1]||(s[1]=d(`div`,{class:`text-caption font-weight-medium`},`generators`,-1)),t(u,{density:`compact`,class:`sk-mini-table`},{default:e(()=>[s[0]||(s[0]=d(`thead`,null,[d(`tr`,null,[d(`th`),d(`th`,{class:`text-right`},`cards`),d(`th`,{class:`text-right`},`new`),d(`th`,{class:`text-right`},`review`),d(`th`,{class:`text-right`},`top`)])],-1)),d(`tbody`,null,[(n(!0),f(m,null,l(a.run.generators,e=>(n(),f(`tr`,{key:e.name},[d(`td`,null,c(e.name),1),d(`td`,ne,c(e.cardCount),1),d(`td`,re,c(e.newCount),1),d(`td`,ie,c(e.reviewCount),1),d(`td`,ae,c(e.topScore.toFixed(2)),1)]))),128))])]),_:1})])):b(``,!0),a.run.filters?.length?(n(),f(`div`,oe,[s[3]||(s[3]=d(`div`,{class:`text-caption font-weight-medium`},`filters`,-1)),t(u,{density:`compact`,class:`sk-mini-table`},{default:e(()=>[s[2]||(s[2]=d(`thead`,null,[d(`tr`,null,[d(`th`),d(`th`,{class:`text-right`},`boosted`),d(`th`,{class:`text-right`},`penalized`),d(`th`,{class:`text-right`},`passed`),d(`th`,{class:`text-right`},`removed`)])],-1)),d(`tbody`,null,[(n(!0),f(m,null,l(a.run.filters,e=>(n(),f(`tr`,{key:e.name},[d(`td`,null,c(e.name),1),d(`td`,se,c(e.boosted),1),d(`td`,ce,c(e.penalized),1),d(`td`,le,c(e.passed),1),d(`td`,{class:r([`text-right`,e.removed>0?`text-error`:``])},c(e.removed),3)]))),128))])]),_:1})])):b(``,!0),a.run.cards?.length?(n(),f(`div`,ue,[s[6]||(s[6]=d(`div`,{class:`text-caption font-weight-medium`},`selection`,-1)),t(u,{density:`compact`,class:`sk-mini-table`},{default:e(()=>[s[5]||(s[5]=d(`thead`,null,[d(`tr`,null,[d(`th`),d(`th`,null,`card`),d(`th`,null,`origin`),d(`th`,null,`generator`),d(`th`,{class:`text-right`},`score`)])],-1)),d(`tbody`,null,[(n(!0),f(m,null,l(a.run.cards,t=>(n(),f(`tr`,{key:t.cardId,class:r(t.selected?``:`text-medium-emphasis`)},[d(`td`,null,[t.selected?(n(),y(h,{key:0,size:`x-small`,color:`success`},{default:e(()=>s[4]||(s[4]=[o(`mdi-check`)])),_:1})):(n(),f(`span`,de,`·`))]),d(`td`,null,[d(`a`,{class:`sk-card-link`,onClick:e=>p(`open-card`,t.cardId)},c(t.cardId),9,fe)]),d(`td`,null,c(t.origin),1),d(`td`,null,c(t.generator??`—`),1),d(`td`,pe,c(fmtScore(t.score)),1)],2))),128))])]),_:1})])):b(``,!0),(n(!0),f(m,null,l(g.value,r=>(n(),f(`div`,{key:r.label,class:`mb-2`},[d(`div`,me,[o(c(r.label)+`: `,1),d(`a`,{class:`sk-card-link`,onClick:e=>p(`open-card`,r.card.cardId)},c(r.card.cardId),9,he),d(`span`,ge,` (`+c(r.card.origin)+`, `+c(r.card.generator??`?`)+`) final `+c(fmtScore(r.card.score)),1)]),t(u,{density:`compact`,class:`sk-mini-table`},{default:e(()=>[d(`tbody`,null,[(n(!0),f(m,null,l(r.card.trail,(e,t)=>(n(),f(`tr`,{key:t},[d(`td`,_e,c(e.action),1),d(`td`,ve,c(e.strategyName),1),d(`td`,ye,c(fmtScore(e.score)),1),d(`td`,be,c(e.reason),1)]))),128))])]),_:2},1024)]))),128)),a.run.hints?(n(),f(`div`,xe,[s[7]||(s[7]=d(`div`,{class:`text-caption font-weight-medium`},`hints`,-1)),d(`pre`,Se,c(JSON.stringify(a.run.hints,null,2)),1)])):b(``,!0),a.run.discardedTail?(n(),f(`div`,Ce,[o(` discarded tail: `+c(a.run.discardedTail.count)+` cards `,1),a.run.discardedTail.scoreRange?(n(),f(m,{key:0},[o(` · score [`+c(a.run.discardedTail.scoreRange[0].toFixed(2))+`, `+c(a.run.discardedTail.scoreRange[1].toFixed(2))+`] `,1)],64)):b(``,!0),a.run.discardedTail.eloRange?(n(),f(m,{key:1},[o(` · ELO [`+c(Math.round(a.run.discardedTail.eloRange[0]))+`, `+c(Math.round(a.run.discardedTail.eloRange[1]))+`] `,1)],64)):b(``,!0),a.run.discardedTail.note?(n(),f(`div`,we,c(a.run.discardedTail.note),1)):b(``,!0)])):b(``,!0)])}}}),[[`__scopeId`,`data-v-ffc34f95`]]),Ee={class:`d-flex align-center flex-wrap mb-4 ga-2`},De={class:`text-caption text-medium-emphasis`},Oe={class:`text-right`},ke={class:`text-right`},Ae={key:1,class:`text-caption text-disabled`},je={class:`sk-hint-block`},Me={class:`sk-hint-block`},Ne={class:`text-caption text-medium-emphasis mb-4`},Pe={class:`text-right`},Fe={class:`text-right`},Ie={class:`text-disabled`},Le={class:`text-right`},Re={class:`d-flex flex-wrap ga-5`},ze={class:`text-caption text-medium-emphasis`},Be={class:`text-h6 text-success`},Ve={class:`text-caption text-medium-emphasis`},He={class:`text-h6 text-error`},Ue={class:`text-h6`},We={class:`text-caption text-disabled`},Ge={class:`d-flex align-center flex-wrap mb-2 ga-3`},Ke={key:4,class:`sk-timeline`},qe={class:`sk-tl-time text-caption text-disabled`},Je={class:`sk-tl-gutter`},Ye={key:0,class:`sk-tl-body`},Xe={class:`d-flex align-center flex-wrap ga-1`},Ze={class:`font-weight-medium`},Qe={class:`text-caption text-medium-emphasis ml-2`},$e={key:1,class:`text-caption text-error ml-2`},et={key:1,class:`sk-tl-body`},tt=[`title`,`onClick`],nt={class:`text-caption`},rt={class:`text-caption text-medium-emphasis ml-2`},it={key:0,class:`text-caption text-disabled ml-2`},at=B(s({__name:`LearnerSessionDetail`,props:{dataset:{},sessionId:{},interpreters:{}},emits:[`open-card`],setup(a,{emit:s}){let u=a,p=s,_=h(()=>sessionDetail(u.dataset,u.sessionId,u.interpreters)),x=h(()=>_.value.summary.doc),S=h(()=>servedTags(_.value?.timeline??[],u.interpreters)),w=h(()=>eloLedger(_.value?.timeline??[])),T=h(()=>_.value?.timeline.filter(e=>e.kind===`response`).length??0),E=v(`all`),D=h(()=>{let e=_.value?.timeline??[];return!E.value||E.value===`all`?e:e.filter(e=>e.kind===E.value)}),O=v(new Set);function toggle(e){let t=new Set(O.value);t.has(e)?t.delete(e):t.add(e),O.value=t}let{copied:k,copy:j}=useCopy();function asText(){return _.value?sessionText(u.dataset.username,_.value,{servedTags:S.value,eloLedger:w.value},u.interpreters):``}let M=h(()=>{let e=_.value?.summary;if(!e)return``;let t=fmtDuration(e.doc.plannedSeconds);return e.durationSeconds===null?`— of ${t}`:`${fmtDuration(e.durationSeconds)} of ${t}`});function skillTags(e){return e.filter(e=>isSkillTag(u.interpreters,e)).slice(0,3)}function fmtNum(e){return e===null?`—`:Number.isInteger(e)?String(e):e.toFixed(1)}function fmtHints(e){return e==null?`none`:JSON.stringify(e,null,2)}function entryIcon(e){return e.kind===`run`?`mdi-cog-refresh-outline`:e.isCorrect===!0?`mdi-check-circle-outline`:e.isCorrect===!1?`mdi-close-circle-outline`:`mdi-circle-small`}function entryColor(e){return e.kind===`run`?`primary`:e.isCorrect===!0?`success`:e.isCorrect===!1?`error`:`grey`}function rowClass(e){return e.kind===`run`?`sk-tl-run`:e.isCorrect===!1?`sk-tl-fail`:``}return(a,s)=>{let u=i(`v-alert`),h=i(`v-chip`),v=i(`v-icon`),N=i(`v-spacer`),P=i(`v-btn`),F=i(`v-table`),I=i(`v-card`),L=i(`v-col`),R=i(`v-row`),z=i(`v-btn-toggle`);return n(),f(`div`,null,[_.value?(n(),f(m,{key:1},[d(`div`,Ee,[t(h,{size:`small`,variant:`flat`,color:g(statusColor)(x.value.status)},{default:e(()=>[o(c(x.value.status),1)]),_:1},8,[`color`]),t(h,{size:`small`,variant:`tonal`},{default:e(()=>[o(c(g(fmtTime)(x.value.startTime)),1)]),_:1}),t(h,{size:`small`,variant:`tonal`,color:`grey`},{default:e(()=>[o(c(M.value),1)]),_:1}),(n(!0),f(m,null,l(_.value.summary.flags,r=>(n(),y(h,{key:r,size:`small`,variant:`tonal`,color:g(A)[r].color,title:g(C)[r].help},{default:e(()=>[t(v,{start:``,size:`small`},{default:e(()=>[o(c(g(A)[r].icon),1)]),_:2},1024),o(` `+c(g(C)[r].label),1)]),_:2},1032,[`color`,`title`]))),128)),t(N),d(`code`,De,c(a.sessionId),1),t(P,{variant:`text`,size:`small`,"prepend-icon":g(k)===`session`?`mdi-check`:`mdi-clipboard-text-outline`,color:g(k)===`session`?`success`:void 0,onClick:s[0]||(s[0]=e=>g(j)(asText(),`session`))},{default:e(()=>[o(c(g(k)===`session`?`Copied`:`Copy as text`),1)]),_:1},8,[`prepend-icon`,`color`])]),_.value.responsesMissing?(n(),y(u,{key:0,type:`warning`,variant:`tonal`,density:`compact`,class:`mb-4`},{default:e(()=>[o(` The session records `+c(x.value.tally?.responses)+` responses but only `+c(T.value)+` card records carry its id. The timeline is incomplete. `,1)]),_:1})):b(``,!0),t(R,{class:`mb-2`},{default:e(()=>[t(L,{cols:`12`,md:`6`},{default:e(()=>[t(I,{variant:`outlined`,class:`pa-3 h-100`},{default:e(()=>[s[4]||(s[4]=d(`div`,{class:`text-subtitle-2 mb-1`},`Learner state`,-1)),s[5]||(s[5]=d(`div`,{class:`text-caption text-medium-emphasis mb-3`},` What the navigator was choosing against, and what moved. `,-1)),_.value.summary.state.length?(n(),y(F,{key:0,density:`compact`,class:`sk-mini-table`},{default:e(()=>[s[3]||(s[3]=d(`thead`,null,[d(`tr`,null,[d(`th`),d(`th`,{class:`text-right`},`Start`),d(`th`,{class:`text-right`},`End`),d(`th`,{class:`text-right`},`Δ`)])],-1)),d(`tbody`,null,[(n(!0),f(m,null,l(_.value.summary.state,e=>(n(),f(`tr`,{key:e.label},[d(`td`,null,c(e.label),1),d(`td`,Oe,c(fmtNum(e.from)),1),d(`td`,ke,c(fmtNum(e.to)),1),d(`td`,{class:r([`text-right`,g(deltaClass)(e.delta)])},c(g(fmtDelta)(e.delta)),3)]))),128))])]),_:1})):(n(),f(`div`,Ae,`No state snapshot recorded.`))]),_:1})]),_:1}),t(L,{cols:`12`,md:`6`},{default:e(()=>[t(I,{variant:`outlined`,class:`pa-3 h-100`},{default:e(()=>[s[6]||(s[6]=d(`div`,{class:`text-subtitle-2 mb-1`},`Session hints`,-1)),s[7]||(s[7]=d(`div`,{class:`text-caption text-medium-emphasis mb-3`},` What outcome observers told the navigator. They act only through these. `,-1)),s[8]||(s[8]=d(`span`,{class:`text-caption font-weight-medium`},`at open`,-1)),d(`pre`,je,c(fmtHints(x.value.config?.initHints)),1),s[9]||(s[9]=d(`span`,{class:`text-caption font-weight-medium`},`at close`,-1)),d(`pre`,Me,c(fmtHints(x.value.finalHints)),1)]),_:1})]),_:1})]),_:1}),d(`div`,Ne,[o(` batch limit `+c(x.value.config?.defaultBatchLimit??`?`)+` · `+c(x.value.config?.sourceCount??`?`)+` source(s) · opening queues supply `+c(x.value.initialQueues?.supplyQ??`?`)+` / failed `+c(x.value.initialQueues?.failedQ??`?`)+` `,1),x.value.tally?(n(),f(m,{key:0},[o(` · ended with `+c(x.value.tally.failedQRemaining)+` still in the failed queue`,1)],64)):b(``,!0)]),S.value.length?(n(),y(I,{key:1,variant:`outlined`,class:`pa-3 mb-4`},{default:e(()=>[s[11]||(s[11]=d(`div`,{class:`text-subtitle-2 mb-1`},`Served tags`,-1)),s[12]||(s[12]=d(`div`,{class:`text-caption text-medium-emphasis mb-2`},` What this sitting put in front of the learner, by content tag. A response with several tags counts toward each. `,-1)),t(F,{density:`compact`,class:`sk-mini-table`},{default:e(()=>[s[10]||(s[10]=d(`thead`,null,[d(`tr`,null,[d(`th`,null,`Tag`),d(`th`,{class:`text-right`},`Resp.`),d(`th`,{class:`text-right`},`Cards`),d(`th`,{class:`text-right`},`Accuracy`),d(`th`,{class:`text-right`},`Time`)])],-1)),d(`tbody`,null,[(n(!0),f(m,null,l(S.value,e=>(n(),f(`tr`,{key:e.tag},[d(`td`,null,[d(`code`,{class:r(g(isSkillTag)(a.interpreters,e.tag)?`text-primary`:``)},c(e.tag),3)]),d(`td`,Pe,c(e.responses),1),d(`td`,Fe,c(e.cards),1),d(`td`,{class:r([`text-right`,g(accuracyClass)(e.accuracy)])},[e.accuracy===null?(n(),f(m,{key:0},[o(`—`)],64)):(n(),f(m,{key:1},[o(c(Math.round(e.accuracy*100))+`% `,1),d(`span`,Ie,`(`+c(e.correct)+`/`+c(e.correct+e.incorrect)+`)`,1)],64))],2),d(`td`,Le,c((e.totalTimeMs/1e3).toFixed(1))+`s`,1)]))),128))])]),_:1})]),_:1})):b(``,!0),w.value?(n(),y(I,{key:2,variant:`outlined`,class:`pa-3 mb-4`},{default:e(()=>[s[15]||(s[15]=d(`div`,{class:`text-subtitle-2 mb-1`},`ELO ledger`,-1)),s[16]||(s[16]=d(`div`,{class:`text-caption text-medium-emphasis mb-3`},` The per-response learner global-ELO exchanges that net to the session's ELO move. Wins above the learner's level pay little; losses below it cost a lot, so a high hit rate can still net negative. `,-1)),d(`div`,Re,[d(`div`,null,[s[13]||(s[13]=d(`div`,{class:`text-caption text-medium-emphasis`},`net`,-1)),d(`div`,{class:r([`text-h6`,g(deltaClass)(w.value.net)])},c(g(fmtDelta)(w.value.net)),3)]),d(`div`,null,[d(`div`,ze,`gained · `+c(w.value.wins)+` win(s)`,1),d(`div`,Be,c(g(fmtDelta)(w.value.gained)),1)]),d(`div`,null,[d(`div`,Ve,`lost · `+c(w.value.losses)+` loss(es)`,1),d(`div`,He,c(g(fmtDelta)(w.value.lost)),1)]),d(`div`,null,[s[14]||(s[14]=d(`div`,{class:`text-caption text-medium-emphasis`},`exchanges`,-1)),d(`div`,Ue,c(w.value.count),1),d(`div`,We,`of `+c(T.value)+` response(s)`,1)])])]),_:1})):b(``,!0),d(`div`,Ge,[s[17]||(s[17]=d(`h2`,{class:`text-h6`},`Timeline`,-1)),t(z,{modelValue:E.value,"onUpdate:modelValue":s[1]||(s[1]=e=>E.value=e),density:`compact`,color:`primary`,variant:`outlined`},{default:e(()=>[t(P,{value:`all`,size:`small`},{default:e(()=>[o(`All (`+c(_.value.timeline.length)+`)`,1)]),_:1}),t(P,{value:`response`,size:`small`},{default:e(()=>[o(`Responses (`+c(T.value)+`)`,1)]),_:1}),t(P,{value:`run`,size:`small`},{default:e(()=>[o(`Runs (`+c(_.value.timeline.length-T.value)+`)`,1)]),_:1})]),_:1},8,[`modelValue`])]),_.value.timeline.length===0?(n(),y(u,{key:3,type:`info`,variant:`tonal`},{default:e(()=>s[18]||(s[18]=[o(`Nothing recorded for this session.`)])),_:1})):(n(),f(`div`,Ke,[(n(!0),f(m,null,l(D.value,(i,u)=>(n(),f(`div`,{key:u,class:r([`sk-tl-row`,rowClass(i)])},[d(`div`,qe,c(g(fmtClock)(i.at)),1),d(`div`,Je,[t(v,{size:`small`,color:entryColor(i)},{default:e(()=>[o(c(entryIcon(i)),1)]),_:2},1032,[`color`])]),i.kind===`run`?(n(),f(`div`,Ye,[d(`div`,Xe,[d(`span`,Ze,c(i.run.label),1),i.run.mode?(n(),y(h,{key:0,size:`x-small`,variant:`tonal`},{default:e(()=>[o(c(i.run.mode),1)]),_:2},1024)):b(``,!0),d(`span`,Qe,` generated `+c(i.run.generatedCount)+` → selected `+c(i.run.finalCount)+` (`+c(i.run.newSelected)+` new, `+c(i.run.reviewsSelected)+` review) `,1),i.run.generatedCount>0&&i.run.finalCount===0?(n(),f(`span`,$e,` nothing survived `)):b(``,!0),typeof i.run.userElo==`number`?(n(),y(h,{key:2,size:`x-small`,variant:`tonal`,color:`grey`,class:`ml-2`},{default:e(()=>[o(` ELO `+c(Math.round(i.run.userElo)),1)]),_:2},1024)):b(``,!0),t(N),t(P,{icon:O.value.has(i.run.runId)?`mdi-chevron-up`:`mdi-chevron-down`,size:`x-small`,variant:`text`,onClick:e=>toggle(i.run.runId)},null,8,[`icon`,`onClick`]),t(P,{icon:g(k)===i.run.runId?`mdi-check`:`mdi-content-copy`,size:`x-small`,variant:`text`,color:g(k)===i.run.runId?`success`:void 0,title:`Copy run as text`,onClick:e=>g(j)(g(runText)(i.run),i.run.runId)},null,8,[`icon`,`color`,`onClick`])]),O.value.has(i.run.runId)?(n(),y(Te,{key:0,run:i.run,class:`mt-1`,onOpenCard:s[2]||(s[2]=e=>p(`open-card`,e))},null,8,[`run`])):b(``,!0)])):(n(),f(`div`,et,[d(`a`,{class:`sk-card-link`,title:`Open ${i.cardId} in card history`,onClick:e=>p(`open-card`,i.cardId)},[o(c(i.questionType??`card`)+` `,1),d(`code`,nt,c(g(shortId)(i.cardId)),1)],8,tt),(n(!0),f(m,null,l(skillTags(i.tags),t=>(n(),y(h,{key:t,size:`x-small`,variant:`outlined`,color:`primary`,class:`ml-1`},{default:e(()=>[o(c(g(shortTag)(a.interpreters,t)),1)]),_:2},1024))),128)),d(`span`,rt,[o(c((i.timeSpentMs/1e3).toFixed(1))+`s `,1),i.priorAttempts?(n(),f(m,{key:0},[o(` · attempt `+c(i.priorAttempts+1),1)],64)):b(``,!0)]),i.userAnswer==null?b(``,!0):(n(),f(`span`,it,`“`+c(g(fmtAnswer)(i.userAnswer))+`”`,1)),i.elo?(n(),f(m,{key:1},[t(h,{size:`x-small`,variant:`tonal`,color:g(deltaColor)(i.elo.global.delta),class:`ml-2`,title:`learner global ELO ${i.elo.global.before} → ${i.elo.global.after} · userScore ${i.elo.userScore.toFixed(2)}`},{default:e(()=>[o(` ELO `+c(g(fmtDelta)(i.elo.global.delta)),1)]),_:2},1032,[`color`,`title`]),(n(!0),f(m,null,l(g(scoredTagDeltas)(i.elo),t=>(n(),y(h,{key:t.tag,size:`x-small`,variant:`text`,color:g(deltaColor)(t.delta),class:`sk-elo-tag`,title:`${t.tag}: ${t.before} → ${t.after} (score ${t.score?.toFixed(2)})`},{default:e(()=>[o(c(g(shortTag)(a.interpreters,t.tag))+` `+c(g(fmtDelta)(t.delta)),1)]),_:2},1032,[`color`,`title`]))),128))],64)):b(``,!0)]))],2))),128))]))],64)):(n(),y(u,{key:0,type:`info`,variant:`tonal`},{default:e(()=>[o(`No session with id `+c(a.sessionId)+`.`,1)]),_:1}))])}}}),[[`__scopeId`,`data-v-36c9215c`]]),ot={class:`text-h6`},st={class:`text-caption`},ct={class:`d-flex align-center flex-wrap mb-3 ga-3`},lt=[`onClick`],ut={class:`text-no-wrap`},dt={class:`text-right`},ft={class:`text-right`},$={key:1,class:`text-disabled`},pt={class:`text-right`},mt={class:`text-no-wrap text-caption`},ht={class:`text-no-wrap text-caption`},gt={key:0},_t={key:0,class:`text-disabled`},vt={class:`text-right`},yt=B(s({__name:`LearnerSessionList`,props:{dataset:{},interpreters:{}},emits:[`open`],setup(a,{emit:s}){let u=a,p=s,_=h(()=>summarizeSessions(u.dataset,u.interpreters)),x=v(`all`),S=h(()=>{let e=new Map;for(let t of _.value)for(let n of t.flags)e.set(n,(e.get(n)??0)+1);return[...e.entries()].map(([e,t])=>({flag:e,count:t})).sort((e,t)=>t.count-e.count)}),w=h(()=>!x.value||x.value===`all`?_.value:_.value.filter(e=>e.flags.includes(x.value))),T=h(()=>{let e=_.value,t=e.filter(e=>e.doc.status===`closed`).length,n=e.reduce((e,t)=>e+(t.doc.tally?.responses??0),0),r=e.reduce((e,t)=>e+(t.doc.tally?.correct??0),0),i=e.reduce((e,t)=>e+(t.durationSeconds??0),0);return[{label:`sessions`,value:e.length,color:`primary`},{label:`completed`,value:t,color:`success`},{label:`not completed`,value:e.length-t,color:`error`},{label:`responses`,value:n,color:`primary`},{label:`overall acc.`,value:n>0?`${Math.round(r/n*100)}%`:`—`,color:`primary`},{label:`time studied`,value:fmtDuration(i),color:`grey`}]});function deltas(e){let t=[];e.eloNet!==null&&t.push({label:`elo`,delta:Math.round(e.eloNet)});for(let n of u.interpreters?.progressMetrics??[]){let r=e.state.find(e=>e.label===n);r&&t.push({label:n,delta:r.delta})}return t}function clockText(e){let t=fmtDuration(e.doc.plannedSeconds);return e.durationSeconds===null?`— of ${t}`:`${fmtDuration(e.durationSeconds)} of ${t}`}return(a,s)=>{let u=i(`v-card`),h=i(`v-col`),v=i(`v-row`),E=i(`v-btn`),D=i(`v-icon`),O=i(`v-btn-toggle`),k=i(`v-alert`),j=i(`v-chip`),M=i(`v-table`);return n(),f(`div`,null,[s[4]||(s[4]=d(`p`,{class:`text-caption text-medium-emphasis mb-4`},[o(` One row per sitting. Flags name a specific way the session failed to do its job; open one to read its interleaved timeline of responses and pipeline runs. `),d(`strong`,null,`Δ`),o(` is movement across the session: ELO, then any progress metrics the course declares. `)],-1)),t(v,{dense:``,class:`mb-2`},{default:e(()=>[(n(!0),f(m,null,l(T.value,r=>(n(),y(h,{key:r.label,cols:`6`,sm:`4`,md:`2`},{default:e(()=>[t(u,{variant:`tonal`,color:r.color,class:`pa-2 text-center`},{default:e(()=>[d(`div`,ot,c(r.value),1),d(`div`,st,c(r.label),1)]),_:2},1032,[`color`])]),_:2},1024))),128))]),_:1}),d(`div`,ct,[t(O,{modelValue:x.value,"onUpdate:modelValue":s[0]||(s[0]=e=>x.value=e),density:`compact`,color:`primary`,variant:`outlined`},{default:e(()=>[t(E,{value:`all`,size:`small`},{default:e(()=>[o(`All (`+c(_.value.length)+`)`,1)]),_:1}),(n(!0),f(m,null,l(S.value,r=>(n(),y(E,{key:r.flag,value:r.flag,size:`small`,title:g(C)[r.flag].help},{default:e(()=>[t(D,{start:``,size:`small`,color:g(A)[r.flag].color},{default:e(()=>[o(c(g(A)[r.flag].icon),1)]),_:2},1032,[`color`]),o(` `+c(g(C)[r.flag].label)+` (`+c(r.count)+`) `,1)]),_:2},1032,[`value`,`title`]))),128))]),_:1},8,[`modelValue`])]),_.value.length===0?(n(),y(k,{key:0,type:`info`,variant:`tonal`},{default:e(()=>s[1]||(s[1]=[o(` No study sessions recorded. Session records began with a framework release; there is no backfill, so earlier activity shows only in card history. `)])),_:1})):(n(),y(M,{key:1,density:`compact`,class:`sk-admin-table`},{default:e(()=>[s[3]||(s[3]=d(`thead`,null,[d(`tr`,null,[d(`th`,null,`Started`),d(`th`,null,`Status`),d(`th`,{class:`text-right`},`Cards`),d(`th`,{class:`text-right`},`Acc.`),d(`th`,{class:`text-right`},`Runs`),d(`th`,null,`Clock`),d(`th`,null,`Δ`),d(`th`,null,`Flags`),d(`th`)])],-1)),d(`tbody`,null,[(n(!0),f(m,null,l(w.value,i=>(n(),f(`tr`,{key:i.doc.sessionId,class:`sk-admin-row`,onClick:e=>p(`open`,i.doc.sessionId)},[d(`td`,ut,c(g(fmtTime)(i.doc.startTime)),1),d(`td`,null,[t(j,{size:`x-small`,variant:`flat`,color:g(statusColor)(i.doc.status)},{default:e(()=>[o(c(i.doc.status),1)]),_:2},1032,[`color`])]),d(`td`,dt,c(i.doc.tally?.cardsPresented??`—`),1),d(`td`,ft,[i.accuracy===null?(n(),f(`span`,$,`—`)):(n(),f(`span`,{key:0,class:r(g(accuracyClass)(i.accuracy))},c(Math.round(i.accuracy*100))+`% `,3))]),d(`td`,pt,c(i.doc.runs?.length??0),1),d(`td`,mt,c(clockText(i)),1),d(`td`,ht,[(n(!0),f(m,null,l(deltas(i),(e,t)=>(n(),f(m,{key:e.label},[t>0?(n(),f(`span`,gt,` · `)):b(``,!0),d(`span`,{class:r(g(deltaClass)(e.delta))},c(g(fmtDelta)(e.delta))+`\xA0`+c(e.label),3)],64))),128)),deltas(i).length===0?(n(),f(`span`,_t,`—`)):b(``,!0)]),d(`td`,null,[(n(!0),f(m,null,l(i.flags,t=>(n(),y(D,{key:t,size:`small`,class:`mr-1`,color:g(A)[t].color,title:`${g(C)[t].label}: ${g(C)[t].help}`},{default:e(()=>[o(c(g(A)[t].icon),1)]),_:2},1032,[`color`,`title`]))),128))]),d(`td`,vt,[t(D,{size:`small`,class:`text-disabled`},{default:e(()=>s[2]||(s[2]=[o(`mdi-chevron-right`)])),_:1})])],8,lt))),128))])]),_:1}))])}}}),[[`__scopeId`,`data-v-5c46cc58`]]),bt=s({__name:`LearnerDiagnostics`,props:{dataset:{},interpreters:{}},setup(r){let a=r,s=v(`sessions`),l=v(null),d=v(void 0);function openCard(e){d.value=void 0,s.value=`cards`,setTimeout(()=>d.value=e)}return u(()=>a.dataset,()=>{s.value=`sessions`,l.value=null,d.value=void 0}),(r,a)=>{let u=i(`v-tab`),p=i(`v-tabs`),h=i(`v-btn`);return n(),f(`div`,null,[t(p,{modelValue:s.value,"onUpdate:modelValue":a[0]||(a[0]=e=>s.value=e),density:`compact`,class:`mb-4`},{default:e(()=>[t(u,{value:`sessions`},{default:e(()=>[o(`Sessions (`+c(r.dataset.sessions.length)+`)`,1)]),_:1}),t(u,{value:`cards`},{default:e(()=>[o(`Cards (`+c(r.dataset.cardHistories.length)+`)`,1)]),_:1})]),_:1},8,[`modelValue`]),s.value===`sessions`?(n(),f(m,{key:0},[l.value?(n(),f(m,{key:0},[t(h,{variant:`text`,size:`small`,"prepend-icon":`mdi-arrow-left`,class:`mb-2`,onClick:a[1]||(a[1]=e=>l.value=null)},{default:e(()=>a[3]||(a[3]=[o(` All sessions `)])),_:1}),t(at,{dataset:r.dataset,"session-id":l.value,interpreters:r.interpreters,onOpenCard:openCard},null,8,[`dataset`,`session-id`,`interpreters`])],64)):(n(),y(yt,{key:1,dataset:r.dataset,interpreters:r.interpreters,onOpen:a[2]||(a[2]=e=>l.value=e)},null,8,[`dataset`,`interpreters`]))],64)):(n(),y(X,{key:1,dataset:r.dataset,interpreters:r.interpreters,focus:d.value},null,8,[`dataset`,`interpreters`,`focus`]))])}}});export{fetchLearnerDump as a,cardDossiers as i,V as n,fromDump as o,k as r,bt as t};
|
|
4
|
-
//# sourceMappingURL=admin-BNR4JZ2X.js.map
|