quiz-mcp 0.0.1
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/README.md +85 -0
- package/bin/quiz +16 -0
- package/bin/quiz-runner +18 -0
- package/bin/quiz-runner-mcp +18 -0
- package/dist/cli.js +805 -0
- package/dist/client/_app/immutable/assets/0.BdUfdP7M.css +1 -0
- package/dist/client/_app/immutable/assets/0.BdUfdP7M.css.br +0 -0
- package/dist/client/_app/immutable/assets/0.BdUfdP7M.css.gz +0 -0
- package/dist/client/_app/immutable/chunks/BBbVH-DX.js +2 -0
- package/dist/client/_app/immutable/chunks/BBbVH-DX.js.br +0 -0
- package/dist/client/_app/immutable/chunks/BBbVH-DX.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/BYAtt_Gu.js +1 -0
- package/dist/client/_app/immutable/chunks/BYAtt_Gu.js.br +0 -0
- package/dist/client/_app/immutable/chunks/BYAtt_Gu.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/C9b1VZtB.js +1 -0
- package/dist/client/_app/immutable/chunks/C9b1VZtB.js.br +0 -0
- package/dist/client/_app/immutable/chunks/C9b1VZtB.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/DnSqigra.js +1 -0
- package/dist/client/_app/immutable/chunks/DnSqigra.js.br +0 -0
- package/dist/client/_app/immutable/chunks/DnSqigra.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/DqHG5Xll.js +3 -0
- package/dist/client/_app/immutable/chunks/DqHG5Xll.js.br +0 -0
- package/dist/client/_app/immutable/chunks/DqHG5Xll.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/fMaWj-vy.js +1 -0
- package/dist/client/_app/immutable/chunks/fMaWj-vy.js.br +0 -0
- package/dist/client/_app/immutable/chunks/fMaWj-vy.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/hqRb622q.js +1 -0
- package/dist/client/_app/immutable/chunks/hqRb622q.js.br +0 -0
- package/dist/client/_app/immutable/chunks/hqRb622q.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/qgn7L4n5.js +1 -0
- package/dist/client/_app/immutable/chunks/qgn7L4n5.js.br +0 -0
- package/dist/client/_app/immutable/chunks/qgn7L4n5.js.gz +0 -0
- package/dist/client/_app/immutable/entry/app.BsKq4Thd.js +2 -0
- package/dist/client/_app/immutable/entry/app.BsKq4Thd.js.br +0 -0
- package/dist/client/_app/immutable/entry/app.BsKq4Thd.js.gz +0 -0
- package/dist/client/_app/immutable/entry/start.CKTlgCvu.js +1 -0
- package/dist/client/_app/immutable/entry/start.CKTlgCvu.js.br +2 -0
- package/dist/client/_app/immutable/entry/start.CKTlgCvu.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/0.R6s8931r.js +9 -0
- package/dist/client/_app/immutable/nodes/0.R6s8931r.js.br +0 -0
- package/dist/client/_app/immutable/nodes/0.R6s8931r.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/1.CBs3iFLr.js +1 -0
- package/dist/client/_app/immutable/nodes/1.CBs3iFLr.js.br +0 -0
- package/dist/client/_app/immutable/nodes/1.CBs3iFLr.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/2.B9MLTE_H.js +2 -0
- package/dist/client/_app/immutable/nodes/2.B9MLTE_H.js.br +0 -0
- package/dist/client/_app/immutable/nodes/2.B9MLTE_H.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/3.w4AbulQF.js +1 -0
- package/dist/client/_app/immutable/nodes/3.w4AbulQF.js.br +0 -0
- package/dist/client/_app/immutable/nodes/3.w4AbulQF.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/4.BAhm-aFq.js +4 -0
- package/dist/client/_app/immutable/nodes/4.BAhm-aFq.js.br +0 -0
- package/dist/client/_app/immutable/nodes/4.BAhm-aFq.js.gz +0 -0
- package/dist/client/_app/version.json +1 -0
- package/dist/client/_app/version.json.br +0 -0
- package/dist/client/_app/version.json.gz +0 -0
- package/dist/client/robots.txt +3 -0
- package/dist/env.js +94 -0
- package/dist/handler.js +1435 -0
- package/dist/index.js +345 -0
- package/dist/server/chunks/0-bFxjafp8.js +44 -0
- package/dist/server/chunks/0-bFxjafp8.js.map +1 -0
- package/dist/server/chunks/1-D1qe0uHb.js +9 -0
- package/dist/server/chunks/1-D1qe0uHb.js.map +1 -0
- package/dist/server/chunks/2-NzZFDUaQ.js +60 -0
- package/dist/server/chunks/2-NzZFDUaQ.js.map +1 -0
- package/dist/server/chunks/3-DJAG62O1.js +37 -0
- package/dist/server/chunks/3-DJAG62O1.js.map +1 -0
- package/dist/server/chunks/4-zigWBLLG.js +37 -0
- package/dist/server/chunks/4-zigWBLLG.js.map +1 -0
- package/dist/server/chunks/_error.svelte-BHNrphys.js +80 -0
- package/dist/server/chunks/_error.svelte-BHNrphys.js.map +1 -0
- package/dist/server/chunks/_layout.svelte-BUJDEr5D.js +104 -0
- package/dist/server/chunks/_layout.svelte-BUJDEr5D.js.map +1 -0
- package/dist/server/chunks/_page.svelte-CRU5jaGZ.js +653 -0
- package/dist/server/chunks/_page.svelte-CRU5jaGZ.js.map +1 -0
- package/dist/server/chunks/_page.svelte-Cm8ocLsi.js +572 -0
- package/dist/server/chunks/_page.svelte-Cm8ocLsi.js.map +1 -0
- package/dist/server/chunks/_page.svelte-Dvh1k6R9.js +71 -0
- package/dist/server/chunks/_page.svelte-Dvh1k6R9.js.map +1 -0
- package/dist/server/chunks/_server.ts-BZp77VsF.js +101 -0
- package/dist/server/chunks/_server.ts-BZp77VsF.js.map +1 -0
- package/dist/server/chunks/_server.ts-C2NKc-VD.js +219 -0
- package/dist/server/chunks/_server.ts-C2NKc-VD.js.map +1 -0
- package/dist/server/chunks/_server.ts-CHyNcOmK.js +39 -0
- package/dist/server/chunks/_server.ts-CHyNcOmK.js.map +1 -0
- package/dist/server/chunks/_server.ts-CakPvrry.js +51 -0
- package/dist/server/chunks/_server.ts-CakPvrry.js.map +1 -0
- package/dist/server/chunks/_server.ts-uSNr19lE.js +35 -0
- package/dist/server/chunks/_server.ts-uSNr19lE.js.map +1 -0
- package/dist/server/chunks/client-Dw0t4rDL.js +25 -0
- package/dist/server/chunks/client-Dw0t4rDL.js.map +1 -0
- package/dist/server/chunks/exports-BNC8dbq3.js +326 -0
- package/dist/server/chunks/exports-BNC8dbq3.js.map +1 -0
- package/dist/server/chunks/hooks.server-B6FrjICA.js +66 -0
- package/dist/server/chunks/hooks.server-B6FrjICA.js.map +1 -0
- package/dist/server/chunks/hooks.universal-B3lncnqn.js +6 -0
- package/dist/server/chunks/hooks.universal-B3lncnqn.js.map +1 -0
- package/dist/server/chunks/html-FW6Ia4bL.js +8 -0
- package/dist/server/chunks/html-FW6Ia4bL.js.map +1 -0
- package/dist/server/chunks/index-Ch5Bqlgz.js +1411 -0
- package/dist/server/chunks/index-Ch5Bqlgz.js.map +1 -0
- package/dist/server/chunks/index-wpIsICWW.js +219 -0
- package/dist/server/chunks/index-wpIsICWW.js.map +1 -0
- package/dist/server/chunks/runtime-Bf5HkYyl.js +318 -0
- package/dist/server/chunks/runtime-Bf5HkYyl.js.map +1 -0
- package/dist/server/chunks/sessions-CEbRx2vt.js +169 -0
- package/dist/server/chunks/sessions-CEbRx2vt.js.map +1 -0
- package/dist/server/index.js +7609 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/manifest.js +97 -0
- package/dist/server/manifest.js.map +1 -0
- package/dist/shims.js +32 -0
- package/package.json +122 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
const manifest = (() => {
|
|
2
|
+
function __memo(fn) {
|
|
3
|
+
let value;
|
|
4
|
+
return () => value ??= (value = fn());
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
return {
|
|
8
|
+
appDir: "_app",
|
|
9
|
+
appPath: "_app",
|
|
10
|
+
assets: new Set(["robots.txt"]),
|
|
11
|
+
mimeTypes: {".txt":"text/plain"},
|
|
12
|
+
_: {
|
|
13
|
+
client: {start:"_app/immutable/entry/start.CKTlgCvu.js",app:"_app/immutable/entry/app.BsKq4Thd.js",imports:["_app/immutable/entry/start.CKTlgCvu.js","_app/immutable/chunks/DqHG5Xll.js","_app/immutable/chunks/DnSqigra.js","_app/immutable/entry/app.BsKq4Thd.js","_app/immutable/chunks/C9b1VZtB.js","_app/immutable/chunks/DnSqigra.js","_app/immutable/chunks/BBbVH-DX.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
14
|
+
nodes: [
|
|
15
|
+
__memo(() => import('./chunks/0-bFxjafp8.js')),
|
|
16
|
+
__memo(() => import('./chunks/1-D1qe0uHb.js')),
|
|
17
|
+
__memo(() => import('./chunks/2-NzZFDUaQ.js')),
|
|
18
|
+
__memo(() => import('./chunks/3-DJAG62O1.js')),
|
|
19
|
+
__memo(() => import('./chunks/4-zigWBLLG.js'))
|
|
20
|
+
],
|
|
21
|
+
remotes: {
|
|
22
|
+
|
|
23
|
+
},
|
|
24
|
+
routes: [
|
|
25
|
+
{
|
|
26
|
+
id: "/",
|
|
27
|
+
pattern: /^\/$/,
|
|
28
|
+
params: [],
|
|
29
|
+
page: { layouts: [0,], errors: [1,], leaf: 2 },
|
|
30
|
+
endpoint: null
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: "/api/quiz",
|
|
34
|
+
pattern: /^\/api\/quiz\/?$/,
|
|
35
|
+
params: [],
|
|
36
|
+
page: null,
|
|
37
|
+
endpoint: __memo(() => import('./chunks/_server.ts-C2NKc-VD.js'))
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "/api/quiz/[quizId]/session/[sessionId]",
|
|
41
|
+
pattern: /^\/api\/quiz\/([^/]+?)\/session\/([^/]+?)\/?$/,
|
|
42
|
+
params: [{"name":"quizId","optional":false,"rest":false,"chained":false},{"name":"sessionId","optional":false,"rest":false,"chained":false}],
|
|
43
|
+
page: null,
|
|
44
|
+
endpoint: __memo(() => import('./chunks/_server.ts-CHyNcOmK.js'))
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: "/api/quiz/[quizId]/session/[sessionId]/cancel",
|
|
48
|
+
pattern: /^\/api\/quiz\/([^/]+?)\/session\/([^/]+?)\/cancel\/?$/,
|
|
49
|
+
params: [{"name":"quizId","optional":false,"rest":false,"chained":false},{"name":"sessionId","optional":false,"rest":false,"chained":false}],
|
|
50
|
+
page: null,
|
|
51
|
+
endpoint: __memo(() => import('./chunks/_server.ts-CakPvrry.js'))
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: "/api/quiz/[quizId]/session/[sessionId]/status",
|
|
55
|
+
pattern: /^\/api\/quiz\/([^/]+?)\/session\/([^/]+?)\/status\/?$/,
|
|
56
|
+
params: [{"name":"quizId","optional":false,"rest":false,"chained":false},{"name":"sessionId","optional":false,"rest":false,"chained":false}],
|
|
57
|
+
page: null,
|
|
58
|
+
endpoint: __memo(() => import('./chunks/_server.ts-uSNr19lE.js'))
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: "/api/quiz/[quizId]/session/[sessionId]/submit",
|
|
62
|
+
pattern: /^\/api\/quiz\/([^/]+?)\/session\/([^/]+?)\/submit\/?$/,
|
|
63
|
+
params: [{"name":"quizId","optional":false,"rest":false,"chained":false},{"name":"sessionId","optional":false,"rest":false,"chained":false}],
|
|
64
|
+
page: null,
|
|
65
|
+
endpoint: __memo(() => import('./chunks/_server.ts-BZp77VsF.js'))
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: "/[quizId]/[sessionId]",
|
|
69
|
+
pattern: /^\/([^/]+?)\/([^/]+?)\/?$/,
|
|
70
|
+
params: [{"name":"quizId","optional":false,"rest":false,"chained":false},{"name":"sessionId","optional":false,"rest":false,"chained":false}],
|
|
71
|
+
page: { layouts: [0,], errors: [1,], leaf: 3 },
|
|
72
|
+
endpoint: null
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: "/[quizId]/[sessionId]/expired",
|
|
76
|
+
pattern: /^\/([^/]+?)\/([^/]+?)\/expired\/?$/,
|
|
77
|
+
params: [{"name":"quizId","optional":false,"rest":false,"chained":false},{"name":"sessionId","optional":false,"rest":false,"chained":false}],
|
|
78
|
+
page: { layouts: [0,], errors: [1,], leaf: 4 },
|
|
79
|
+
endpoint: null
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
prerendered_routes: new Set([]),
|
|
83
|
+
matchers: async () => {
|
|
84
|
+
|
|
85
|
+
return { };
|
|
86
|
+
},
|
|
87
|
+
server_assets: {}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
})();
|
|
91
|
+
|
|
92
|
+
const prerendered = new Set([]);
|
|
93
|
+
|
|
94
|
+
const base = "";
|
|
95
|
+
|
|
96
|
+
export { base, manifest, prerendered };
|
|
97
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"robots.txt\"]),\n\tmimeTypes: {\".txt\":\"text/plain\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.CKTlgCvu.js\",app:\"_app/immutable/entry/app.BsKq4Thd.js\",imports:[\"_app/immutable/entry/start.CKTlgCvu.js\",\"_app/immutable/chunks/DqHG5Xll.js\",\"_app/immutable/chunks/DnSqigra.js\",\"_app/immutable/entry/app.BsKq4Thd.js\",\"_app/immutable/chunks/C9b1VZtB.js\",\"_app/immutable/chunks/DnSqigra.js\",\"_app/immutable/chunks/BBbVH-DX.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/quiz\",\n\t\t\t\tpattern: /^\\/api\\/quiz\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/quiz/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/quiz/[quizId]/session/[sessionId]\",\n\t\t\t\tpattern: /^\\/api\\/quiz\\/([^/]+?)\\/session\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/quiz/_quizId_/session/_sessionId_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/quiz/[quizId]/session/[sessionId]/cancel\",\n\t\t\t\tpattern: /^\\/api\\/quiz\\/([^/]+?)\\/session\\/([^/]+?)\\/cancel\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/quiz/_quizId_/session/_sessionId_/cancel/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/quiz/[quizId]/session/[sessionId]/status\",\n\t\t\t\tpattern: /^\\/api\\/quiz\\/([^/]+?)\\/session\\/([^/]+?)\\/status\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/quiz/_quizId_/session/_sessionId_/status/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/quiz/[quizId]/session/[sessionId]/submit\",\n\t\t\t\tpattern: /^\\/api\\/quiz\\/([^/]+?)\\/session\\/([^/]+?)\\/submit\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/quiz/_quizId_/session/_sessionId_/submit/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/[quizId]/[sessionId]\",\n\t\t\t\tpattern: /^\\/([^/]+?)\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/[quizId]/[sessionId]/expired\",\n\t\t\t\tpattern: /^\\/([^/]+?)\\/([^/]+?)\\/expired\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 4 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
|
package/dist/shims.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import buffer from 'node:buffer';
|
|
2
|
+
import { webcrypto } from 'node:crypto';
|
|
3
|
+
|
|
4
|
+
// `buffer.File` was added in Node 18.13.0 while the `File` global was added in Node 20.0.0
|
|
5
|
+
const File = /** @type {import('node:buffer') & { File?: File}} */ (buffer).File;
|
|
6
|
+
|
|
7
|
+
/** @type {Record<string, any>} */
|
|
8
|
+
const globals = {
|
|
9
|
+
crypto: webcrypto,
|
|
10
|
+
File
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// exported for dev/preview and node environments
|
|
14
|
+
/**
|
|
15
|
+
* Make various web APIs available as globals:
|
|
16
|
+
* - `crypto`
|
|
17
|
+
* - `File`
|
|
18
|
+
*/
|
|
19
|
+
function installPolyfills() {
|
|
20
|
+
for (const name in globals) {
|
|
21
|
+
if (name in globalThis) continue;
|
|
22
|
+
|
|
23
|
+
Object.defineProperty(globalThis, name, {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true,
|
|
27
|
+
value: globals[name]
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
installPolyfills();
|
package/package.json
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "quiz-mcp",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "MCP server for interactive quizzes with a polished web UI",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"quiz": "./bin/quiz",
|
|
8
|
+
"quiz-runner": "./bin/quiz-runner",
|
|
9
|
+
"quiz-runner-mcp": "./bin/quiz-runner-mcp"
|
|
10
|
+
},
|
|
11
|
+
"main": "./dist/index.js",
|
|
12
|
+
"module": "./dist/index.js",
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"import": "./dist/index.js"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"bin/",
|
|
22
|
+
"dist/",
|
|
23
|
+
"LICENSE",
|
|
24
|
+
"README.md"
|
|
25
|
+
],
|
|
26
|
+
"scripts": {
|
|
27
|
+
"dev": "vite dev",
|
|
28
|
+
"build": "vite build && npm run build:cli",
|
|
29
|
+
"build:cli": "esbuild src/cli/cli.ts --bundle --platform=node --target=node18 --format=esm --packages=external --outfile=dist/cli.js",
|
|
30
|
+
"preview": "vite preview",
|
|
31
|
+
"prepare": "svelte-kit sync || echo ''",
|
|
32
|
+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
33
|
+
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
34
|
+
"test:e2e": "playwright test",
|
|
35
|
+
"test": "npm run test:e2e && npm run test:unit -- --run",
|
|
36
|
+
"test:unit": "vitest",
|
|
37
|
+
"lint": "eslint . && prettier --check . && eslint .",
|
|
38
|
+
"format": "prettier --write .",
|
|
39
|
+
"storybook": "storybook dev -p 6006",
|
|
40
|
+
"build-storybook": "storybook build",
|
|
41
|
+
"quiz": "./bin/quiz",
|
|
42
|
+
"quiz:run": "./bin/quiz run",
|
|
43
|
+
"quiz:mcp": "./bin/quiz mcp",
|
|
44
|
+
"quiz:js": "./bin/quiz run --file .quizes/javascript-fundamentals.json --port 3030 --open --config config.example.json",
|
|
45
|
+
"quiz:web": "./bin/quiz run --file .quizes/web-development.json --port 3012",
|
|
46
|
+
"quiz:mcp:js": "./bin/quiz mcp --port 3013",
|
|
47
|
+
"quiz:mcp:web": "./bin/quiz mcp --port 3014",
|
|
48
|
+
"prepublishOnly": "pnpm build",
|
|
49
|
+
"postpublish": "echo 'Published quiz-mcp successfully!'"
|
|
50
|
+
},
|
|
51
|
+
"keywords": [
|
|
52
|
+
"mcp",
|
|
53
|
+
"model-context-protocol",
|
|
54
|
+
"quiz",
|
|
55
|
+
"interactive",
|
|
56
|
+
"education",
|
|
57
|
+
"sveltekit"
|
|
58
|
+
],
|
|
59
|
+
"author": "Quiz MCP Contributors",
|
|
60
|
+
"license": "MIT",
|
|
61
|
+
"repository": {
|
|
62
|
+
"type": "git",
|
|
63
|
+
"url": "https://github.com/igorolshevsky/quiz-mcp"
|
|
64
|
+
},
|
|
65
|
+
"engines": {
|
|
66
|
+
"node": ">=18.0.0"
|
|
67
|
+
},
|
|
68
|
+
"publishConfig": {
|
|
69
|
+
"access": "public"
|
|
70
|
+
},
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"@chromatic-com/storybook": "^5.0.0",
|
|
73
|
+
"@eslint/compat": "^1.4.0",
|
|
74
|
+
"@eslint/js": "^9.39.1",
|
|
75
|
+
"@inlang/paraglide-js": "^2.6.0",
|
|
76
|
+
"@playwright/test": "^1.57.0",
|
|
77
|
+
"@storybook/addon-a11y": "^10.2.0",
|
|
78
|
+
"@storybook/addon-docs": "^10.2.0",
|
|
79
|
+
"@storybook/addon-svelte-csf": "^5.0.10",
|
|
80
|
+
"@storybook/addon-vitest": "^10.2.0",
|
|
81
|
+
"@storybook/sveltekit": "^10.2.0",
|
|
82
|
+
"@sveltejs/adapter-auto": "^7.0.0",
|
|
83
|
+
"@sveltejs/adapter-node": "^5.5.2",
|
|
84
|
+
"@sveltejs/kit": "^2.49.1",
|
|
85
|
+
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
|
86
|
+
"@tailwindcss/forms": "^0.5.10",
|
|
87
|
+
"@tailwindcss/typography": "^0.5.19",
|
|
88
|
+
"@tailwindcss/vite": "^4.1.17",
|
|
89
|
+
"@types/node": "^22",
|
|
90
|
+
"@vitest/browser-playwright": "^4.0.15",
|
|
91
|
+
"@vitest/coverage-v8": "^4.0.15",
|
|
92
|
+
"daisyui": "^5.5.14",
|
|
93
|
+
"eslint": "^9.39.1",
|
|
94
|
+
"eslint-config-prettier": "^10.1.8",
|
|
95
|
+
"eslint-plugin-storybook": "^10.2.0",
|
|
96
|
+
"eslint-plugin-svelte": "^3.13.1",
|
|
97
|
+
"globals": "^16.5.0",
|
|
98
|
+
"mdsvex": "^0.12.6",
|
|
99
|
+
"playwright": "^1.57.0",
|
|
100
|
+
"prettier": "^3.7.4",
|
|
101
|
+
"prettier-plugin-svelte": "^3.4.0",
|
|
102
|
+
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
103
|
+
"storybook": "^10.2.0",
|
|
104
|
+
"svelte": "^5.45.6",
|
|
105
|
+
"svelte-check": "^4.3.4",
|
|
106
|
+
"tailwindcss": "^4.1.17",
|
|
107
|
+
"tsx": "^4.21.0",
|
|
108
|
+
"typescript": "^5.9.3",
|
|
109
|
+
"typescript-eslint": "^8.48.1",
|
|
110
|
+
"vite": "^7.2.6",
|
|
111
|
+
"vite-plugin-devtools-json": "^1.0.0",
|
|
112
|
+
"vitest": "^4.0.15",
|
|
113
|
+
"vitest-browser-svelte": "^2.0.1"
|
|
114
|
+
},
|
|
115
|
+
"dependencies": {
|
|
116
|
+
"@modelcontextprotocol/sdk": "^1.25.3",
|
|
117
|
+
"commander": "^14.0.2",
|
|
118
|
+
"marked": "^17.0.1",
|
|
119
|
+
"open": "^10.2.0",
|
|
120
|
+
"zod": "^4.3.6"
|
|
121
|
+
}
|
|
122
|
+
}
|