@epic-web/workshop-mcp 0.0.0-semantically-released
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 +5 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +38 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/prompts.d.ts +13 -0
- package/dist/esm/prompts.d.ts.map +1 -0
- package/dist/esm/prompts.js +53 -0
- package/dist/esm/prompts.js.map +1 -0
- package/dist/esm/resources.d.ts +146 -0
- package/dist/esm/resources.d.ts.map +1 -0
- package/dist/esm/resources.js +484 -0
- package/dist/esm/resources.js.map +1 -0
- package/dist/esm/tools.d.ts +5 -0
- package/dist/esm/tools.d.ts.map +1 -0
- package/dist/esm/tools.js +454 -0
- package/dist/esm/tools.js.map +1 -0
- package/dist/esm/utils.d.ts +10 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +55 -0
- package/dist/esm/utils.js.map +1 -0
- package/package.json +1 -0
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
|
+
import { initPrompts } from './prompts.js';
|
|
5
|
+
import { initResources } from './resources.js';
|
|
6
|
+
import { initPromptTools, initResourceTools, initTools } from './tools.js';
|
|
7
|
+
// Create server instance
|
|
8
|
+
const server = new McpServer({
|
|
9
|
+
name: 'epicshop',
|
|
10
|
+
version: '1.0.0',
|
|
11
|
+
capabilities: {
|
|
12
|
+
tools: {},
|
|
13
|
+
},
|
|
14
|
+
}, {
|
|
15
|
+
instructions: `
|
|
16
|
+
This is intended to be used within a workshop using the Epic Workshop App
|
|
17
|
+
(@epic-web/workshop-app) to help learners in the process of completing the
|
|
18
|
+
workshop exercises and understanding the learning outcomes.
|
|
19
|
+
|
|
20
|
+
The user's work in progress is in the \`playground\` directory. Any changes they
|
|
21
|
+
ask you to make should be in this directory.
|
|
22
|
+
`.trim(),
|
|
23
|
+
});
|
|
24
|
+
initTools(server);
|
|
25
|
+
initResourceTools(server);
|
|
26
|
+
initResources(server);
|
|
27
|
+
initPrompts(server);
|
|
28
|
+
initPromptTools(server);
|
|
29
|
+
async function main() {
|
|
30
|
+
const transport = new StdioServerTransport();
|
|
31
|
+
await server.connect(transport);
|
|
32
|
+
console.error('epicshop MCP Server running on stdio');
|
|
33
|
+
}
|
|
34
|
+
main().catch((error) => {
|
|
35
|
+
console.error('Fatal error in main():', error);
|
|
36
|
+
process.exit(1);
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE1E,yBAAyB;AACzB,MAAM,MAAM,GAAG,IAAI,SAAS,CAC3B;IACC,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE;QACb,KAAK,EAAE,EAAE;KACT;CACD,EACD;IACC,YAAY,EAAE;;;;;;;GAOb,CAAC,IAAI,EAAE;CACR,CACD,CAAA;AAED,SAAS,CAAC,MAAM,CAAC,CAAA;AACjB,iBAAiB,CAAC,MAAM,CAAC,CAAA;AACzB,aAAa,CAAC,MAAM,CAAC,CAAA;AACrB,WAAW,CAAC,MAAM,CAAC,CAAA;AACnB,eAAe,CAAC,MAAM,CAAC,CAAA;AAEvB,KAAK,UAAU,IAAI;IAClB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/B,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;AACtD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC,CAAC,CAAA","sourcesContent":["#!/usr/bin/env node\n\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'\nimport { initPrompts } from './prompts.js'\nimport { initResources } from './resources.js'\nimport { initPromptTools, initResourceTools, initTools } from './tools.js'\n\n// Create server instance\nconst server = new McpServer(\n\t{\n\t\tname: 'epicshop',\n\t\tversion: '1.0.0',\n\t\tcapabilities: {\n\t\t\ttools: {},\n\t\t},\n\t},\n\t{\n\t\tinstructions: `\nThis is intended to be used within a workshop using the Epic Workshop App\n(@epic-web/workshop-app) to help learners in the process of completing the\nworkshop exercises and understanding the learning outcomes.\n\nThe user's work in progress is in the \\`playground\\` directory. Any changes they\nask you to make should be in this directory.\n\t\t`.trim(),\n\t},\n)\n\ninitTools(server)\ninitResourceTools(server)\ninitResources(server)\ninitPrompts(server)\ninitPromptTools(server)\n\nasync function main() {\n\tconst transport = new StdioServerTransport()\n\tawait server.connect(transport)\n\tconsole.error('epicshop MCP Server running on stdio')\n}\n\nmain().catch((error) => {\n\tconsole.error('Fatal error in main():', error)\n\tprocess.exit(1)\n})\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { type GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export declare const quizMeInputSchema: {
|
|
5
|
+
workshopDirectory: z.ZodString;
|
|
6
|
+
exerciseNumber: z.ZodOptional<z.ZodString>;
|
|
7
|
+
};
|
|
8
|
+
export declare function quizMe({ workshopDirectory, exerciseNumber: providedExerciseNumber, }: {
|
|
9
|
+
workshopDirectory: string;
|
|
10
|
+
exerciseNumber?: string;
|
|
11
|
+
}): Promise<GetPromptResult>;
|
|
12
|
+
export declare function initPrompts(server: McpServer): void;
|
|
13
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAOvB,eAAO,MAAM,iBAAiB;;;CAQ7B,CAAA;AAED,wBAAsB,MAAM,CAAC,EAC5B,iBAAiB,EACjB,cAAc,EAAE,sBAAsB,GACtC,EAAE;IACF,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CAAC,eAAe,CAAC,CAqC3B;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,QAO5C"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { getExercises } from '@epic-web/workshop-utils/apps.server';
|
|
2
|
+
import { getWorkshopConfig } from '@epic-web/workshop-utils/config.server';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { exerciseContextResource } from './resources.js';
|
|
5
|
+
import { handleWorkshopDirectory, workshopDirectoryInputSchema, } from './utils.js';
|
|
6
|
+
export const quizMeInputSchema = {
|
|
7
|
+
workshopDirectory: workshopDirectoryInputSchema,
|
|
8
|
+
exerciseNumber: z
|
|
9
|
+
.string()
|
|
10
|
+
.optional()
|
|
11
|
+
.describe(`The exercise number to get quizzed on (e.g., \`4\`). Leave blank for a random exercise.`),
|
|
12
|
+
};
|
|
13
|
+
export async function quizMe({ workshopDirectory, exerciseNumber: providedExerciseNumber, }) {
|
|
14
|
+
const workshopRoot = await handleWorkshopDirectory(workshopDirectory);
|
|
15
|
+
const config = getWorkshopConfig();
|
|
16
|
+
let exerciseNumber = Number(providedExerciseNumber);
|
|
17
|
+
if (!providedExerciseNumber) {
|
|
18
|
+
const exercises = await getExercises();
|
|
19
|
+
const randomExercise = exercises[Math.floor(Math.random() * exercises.length)];
|
|
20
|
+
exerciseNumber = randomExercise?.exerciseNumber ?? 0;
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
messages: [
|
|
24
|
+
{
|
|
25
|
+
role: 'user',
|
|
26
|
+
content: {
|
|
27
|
+
type: 'text',
|
|
28
|
+
text: `
|
|
29
|
+
You are an expert teacher.
|
|
30
|
+
|
|
31
|
+
Below is context about exercise ${exerciseNumber} in the workshop titled "${config.title}" (subtitled "${config.subtitle}") found at ${workshopRoot}.
|
|
32
|
+
|
|
33
|
+
Please use this context to provide quiz questions, one at a time, to me to help me solidify my understanding of this material. Ask me the question, I will provide a response, you will either congratulate my correct understanding and move on or guide me to the correct answer with follow-up questions and hints until I either ask you to tell me the answer or ask you to continue to the next question.
|
|
34
|
+
`.trim(),
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
role: 'user',
|
|
39
|
+
content: {
|
|
40
|
+
type: 'resource',
|
|
41
|
+
resource: await exerciseContextResource.getResource({
|
|
42
|
+
workshopDirectory,
|
|
43
|
+
exerciseNumber,
|
|
44
|
+
}),
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function initPrompts(server) {
|
|
51
|
+
server.prompt('quiz_me', 'Have the LLM quiz you on topics from the workshop exercises', quizMeInputSchema, quizMe);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAG1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EACN,uBAAuB,EACvB,4BAA4B,GAC5B,MAAM,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,iBAAiB,EAAE,4BAA4B;IAC/C,cAAc,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACR,yFAAyF,CACzF;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAC5B,iBAAiB,EACjB,cAAc,EAAE,sBAAsB,GAItC;IACA,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;IACrE,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAA;IAClC,IAAI,cAAc,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAA;IACnD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAA;QACtC,MAAM,cAAc,GACnB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACxD,cAAc,GAAG,cAAc,EAAE,cAAc,IAAI,CAAC,CAAA;IACrD,CAAC;IACD,OAAO;QACN,QAAQ,EAAE;YACT;gBACC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;;kCAGuB,cAAc,4BAA4B,MAAM,CAAC,KAAK,iBAAiB,MAAM,CAAC,QAAQ,eAAe,YAAY;;;QAG3I,CAAC,IAAI,EAAE;iBACV;aACD;YACD;gBACC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACR,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,MAAM,uBAAuB,CAAC,WAAW,CAAC;wBACnD,iBAAiB;wBACjB,cAAc;qBACd,CAAC;iBACF;aACD;SACD;KACD,CAAA;AACF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAiB;IAC5C,MAAM,CAAC,MAAM,CACZ,SAAS,EACT,6DAA6D,EAC7D,iBAAiB,EACjB,MAAM,CACN,CAAA;AACF,CAAC","sourcesContent":["import { getExercises } from '@epic-web/workshop-utils/apps.server'\nimport { getWorkshopConfig } from '@epic-web/workshop-utils/config.server'\nimport { type McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport { type GetPromptResult } from '@modelcontextprotocol/sdk/types.js'\nimport { z } from 'zod'\nimport { exerciseContextResource } from './resources.js'\nimport {\n\thandleWorkshopDirectory,\n\tworkshopDirectoryInputSchema,\n} from './utils.js'\n\nexport const quizMeInputSchema = {\n\tworkshopDirectory: workshopDirectoryInputSchema,\n\texerciseNumber: z\n\t\t.string()\n\t\t.optional()\n\t\t.describe(\n\t\t\t`The exercise number to get quizzed on (e.g., \\`4\\`). Leave blank for a random exercise.`,\n\t\t),\n}\n\nexport async function quizMe({\n\tworkshopDirectory,\n\texerciseNumber: providedExerciseNumber,\n}: {\n\tworkshopDirectory: string\n\texerciseNumber?: string\n}): Promise<GetPromptResult> {\n\tconst workshopRoot = await handleWorkshopDirectory(workshopDirectory)\n\tconst config = getWorkshopConfig()\n\tlet exerciseNumber = Number(providedExerciseNumber)\n\tif (!providedExerciseNumber) {\n\t\tconst exercises = await getExercises()\n\t\tconst randomExercise =\n\t\t\texercises[Math.floor(Math.random() * exercises.length)]\n\t\texerciseNumber = randomExercise?.exerciseNumber ?? 0\n\t}\n\treturn {\n\t\tmessages: [\n\t\t\t{\n\t\t\t\trole: 'user',\n\t\t\t\tcontent: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\ttext: `\nYou are an expert teacher.\n\nBelow is context about exercise ${exerciseNumber} in the workshop titled \"${config.title}\" (subtitled \"${config.subtitle}\") found at ${workshopRoot}.\n\nPlease use this context to provide quiz questions, one at a time, to me to help me solidify my understanding of this material. Ask me the question, I will provide a response, you will either congratulate my correct understanding and move on or guide me to the correct answer with follow-up questions and hints until I either ask you to tell me the answer or ask you to continue to the next question.\n\t\t\t\t\t\t\t`.trim(),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\trole: 'user',\n\t\t\t\tcontent: {\n\t\t\t\t\ttype: 'resource',\n\t\t\t\t\tresource: await exerciseContextResource.getResource({\n\t\t\t\t\t\tworkshopDirectory,\n\t\t\t\t\t\texerciseNumber,\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t}\n}\n\nexport function initPrompts(server: McpServer) {\n\tserver.prompt(\n\t\t'quiz_me',\n\t\t'Have the LLM quiz you on topics from the workshop exercises',\n\t\tquizMeInputSchema,\n\t\tquizMe,\n\t)\n}\n"]}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { type McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { type ReadResourceResult } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { type InputSchemaType } from './utils.js';
|
|
5
|
+
export declare const getWorkshopContextInputSchema: {
|
|
6
|
+
workshopDirectory: z.ZodString;
|
|
7
|
+
};
|
|
8
|
+
export declare function getWorkshopContext({ workshopDirectory, }: InputSchemaType<typeof getWorkshopContextInputSchema>): Promise<{
|
|
9
|
+
meta: {
|
|
10
|
+
'README.md': string | null;
|
|
11
|
+
config: any;
|
|
12
|
+
instructions: {
|
|
13
|
+
content: string | null;
|
|
14
|
+
progress: ({
|
|
15
|
+
epicLessonUrl: string;
|
|
16
|
+
epicLessonSlug: string;
|
|
17
|
+
epicCompletedAt: string | null;
|
|
18
|
+
} & {
|
|
19
|
+
readonly type: "instructions";
|
|
20
|
+
readonly exerciseNumber: number;
|
|
21
|
+
readonly stepNumber?: undefined;
|
|
22
|
+
}) | undefined;
|
|
23
|
+
};
|
|
24
|
+
finishedInstructions: {
|
|
25
|
+
content: string | null;
|
|
26
|
+
progress: ({
|
|
27
|
+
epicLessonUrl: string;
|
|
28
|
+
epicLessonSlug: string;
|
|
29
|
+
epicCompletedAt: string | null;
|
|
30
|
+
} & {
|
|
31
|
+
readonly type: "finished";
|
|
32
|
+
readonly exerciseNumber: number;
|
|
33
|
+
readonly stepNumber?: undefined;
|
|
34
|
+
}) | undefined;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
exercises: Array<any>;
|
|
38
|
+
}>;
|
|
39
|
+
export declare function getWorkshopContextResource({ workshopDirectory, }: InputSchemaType<typeof getWorkshopContextInputSchema>): Promise<ReadResourceResult['contents'][number]>;
|
|
40
|
+
export declare const workshopContextResource: {
|
|
41
|
+
name: string;
|
|
42
|
+
description: string;
|
|
43
|
+
uriTemplate: ResourceTemplate;
|
|
44
|
+
getResource: typeof getWorkshopContextResource;
|
|
45
|
+
inputSchema: {
|
|
46
|
+
workshopDirectory: z.ZodString;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
declare function getExerciseContextResource({ workshopDirectory, exerciseNumber, }: {
|
|
50
|
+
workshopDirectory: string;
|
|
51
|
+
exerciseNumber?: number;
|
|
52
|
+
}): Promise<ReadResourceResult['contents'][number]>;
|
|
53
|
+
export declare const exerciseContextResource: {
|
|
54
|
+
name: string;
|
|
55
|
+
description: string;
|
|
56
|
+
uriTemplate: ResourceTemplate;
|
|
57
|
+
getResource: typeof getExerciseContextResource;
|
|
58
|
+
inputSchema: {
|
|
59
|
+
workshopDirectory: z.ZodString;
|
|
60
|
+
exerciseNumber: z.ZodOptional<z.ZodNumber>;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
declare const diffBetweenAppsInputSchema: {
|
|
64
|
+
workshopDirectory: z.ZodString;
|
|
65
|
+
app1: z.ZodString;
|
|
66
|
+
app2: z.ZodString;
|
|
67
|
+
};
|
|
68
|
+
declare function getDiffBetweenAppsResource({ workshopDirectory, app1, app2, }: InputSchemaType<typeof diffBetweenAppsInputSchema>): Promise<ReadResourceResult['contents'][number]>;
|
|
69
|
+
export declare const diffBetweenAppsResource: {
|
|
70
|
+
name: string;
|
|
71
|
+
description: string;
|
|
72
|
+
uriTemplate: ResourceTemplate;
|
|
73
|
+
getResource: typeof getDiffBetweenAppsResource;
|
|
74
|
+
inputSchema: {
|
|
75
|
+
workshopDirectory: z.ZodString;
|
|
76
|
+
app1: z.ZodString;
|
|
77
|
+
app2: z.ZodString;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
declare const getExerciseStepProgressDiffInputSchema: {
|
|
81
|
+
workshopDirectory: z.ZodString;
|
|
82
|
+
};
|
|
83
|
+
declare function getExerciseStepProgressDiffResource({ workshopDirectory, }: InputSchemaType<typeof getExerciseStepProgressDiffInputSchema>): Promise<ReadResourceResult['contents'][number]>;
|
|
84
|
+
export declare const exerciseStepProgressDiffResource: {
|
|
85
|
+
name: string;
|
|
86
|
+
description: string;
|
|
87
|
+
uriTemplate: ResourceTemplate;
|
|
88
|
+
getResource: typeof getExerciseStepProgressDiffResource;
|
|
89
|
+
inputSchema: {
|
|
90
|
+
workshopDirectory: z.ZodString;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
declare const getUserInfoInputSchema: {
|
|
94
|
+
workshopDirectory: z.ZodString;
|
|
95
|
+
};
|
|
96
|
+
declare function getUserInfoResource({ workshopDirectory, }: InputSchemaType<typeof getUserInfoInputSchema>): Promise<{
|
|
97
|
+
uri: string;
|
|
98
|
+
mimeType: string;
|
|
99
|
+
text: string;
|
|
100
|
+
}>;
|
|
101
|
+
export declare const userInfoResource: {
|
|
102
|
+
name: string;
|
|
103
|
+
description: string;
|
|
104
|
+
uriTemplate: ResourceTemplate;
|
|
105
|
+
getResource: typeof getUserInfoResource;
|
|
106
|
+
inputSchema: {
|
|
107
|
+
workshopDirectory: z.ZodString;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
declare const getUserAccessInputSchema: {
|
|
111
|
+
workshopDirectory: z.ZodString;
|
|
112
|
+
};
|
|
113
|
+
declare function getUserAccessResource({ workshopDirectory, }: InputSchemaType<typeof getUserAccessInputSchema>): Promise<{
|
|
114
|
+
uri: string;
|
|
115
|
+
mimeType: string;
|
|
116
|
+
text: string;
|
|
117
|
+
}>;
|
|
118
|
+
export declare const userAccessResource: {
|
|
119
|
+
name: string;
|
|
120
|
+
description: string;
|
|
121
|
+
uriTemplate: ResourceTemplate;
|
|
122
|
+
getResource: typeof getUserAccessResource;
|
|
123
|
+
inputSchema: {
|
|
124
|
+
workshopDirectory: z.ZodString;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
declare const userProgressInputSchema: {
|
|
128
|
+
workshopDirectory: z.ZodString;
|
|
129
|
+
};
|
|
130
|
+
declare function getUserProgressResource({ workshopDirectory, }: InputSchemaType<typeof userProgressInputSchema>): Promise<{
|
|
131
|
+
uri: string;
|
|
132
|
+
mimeType: string;
|
|
133
|
+
text: string;
|
|
134
|
+
}>;
|
|
135
|
+
export declare const userProgressResource: {
|
|
136
|
+
name: string;
|
|
137
|
+
description: string;
|
|
138
|
+
uriTemplate: ResourceTemplate;
|
|
139
|
+
getResource: typeof getUserProgressResource;
|
|
140
|
+
inputSchema: {
|
|
141
|
+
workshopDirectory: z.ZodString;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
export declare function initResources(server: McpServer): void;
|
|
145
|
+
export {};
|
|
146
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/resources.ts"],"names":[],"mappings":"AAoBA,OAAO,EACN,KAAK,SAAS,EACd,gBAAgB,EAChB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAEN,KAAK,eAAe,EAGpB,MAAM,YAAY,CAAA;AAEnB,eAAO,MAAM,6BAA6B;;CAEzC,CAAA;AAED,wBAAsB,kBAAkB,CAAC,EACxC,iBAAiB,GACjB,EAAE,eAAe,CAAC,OAAO,6BAA6B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAqBrC,KAAK,CAAC,GAAG,CAAC;GA0D5B;AAOD,wBAAsB,0BAA0B,CAAC,EAChD,iBAAiB,GACjB,EAAE,eAAe,CAAC,OAAO,6BAA6B,CAAC,GAAG,OAAO,CACjE,kBAAkB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CACtC,CAQA;AAED,eAAO,MAAM,uBAAuB;;;;;;;;CAMnC,CAAA;AA2LD,iBAAe,0BAA0B,CAAC,EACzC,iBAAiB,EACjB,cAAc,GACd,EAAE;IACF,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAalD;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;CAMnC,CAAA;AAED,QAAA,MAAM,0BAA0B;;;;CAI/B,CAAA;AA4CD,iBAAe,0BAA0B,CAAC,EACzC,iBAAiB,EACjB,IAAI,EACJ,IAAI,GACJ,EAAE,eAAe,CAAC,OAAO,0BAA0B,CAAC,GAAG,OAAO,CAC9D,kBAAkB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CACtC,CAYA;AAOD,eAAO,MAAM,uBAAuB;;;;;;;;;;CAMnC,CAAA;AAED,QAAA,MAAM,sCAAsC;;CAE3C,CAAA;AAoCD,iBAAe,mCAAmC,CAAC,EAClD,iBAAiB,GACjB,EAAE,eAAe,CAAC,OAAO,sCAAsC,CAAC,GAAG,OAAO,CAC1E,kBAAkB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CACtC,CAUA;AAED,eAAO,MAAM,gCAAgC;;;;;;;;CAM5C,CAAA;AAED,QAAA,MAAM,sBAAsB;;CAE3B,CAAA;AAOD,iBAAe,mBAAmB,CAAC,EAClC,iBAAiB,GACjB,EAAE,eAAe,CAAC,OAAO,sBAAsB,CAAC;;;;GAShD;AAED,eAAO,MAAM,gBAAgB;;;;;;;;CAM5B,CAAA;AAED,QAAA,MAAM,wBAAwB;;CAE7B,CAAA;AAOD,iBAAe,qBAAqB,CAAC,EACpC,iBAAiB,GACjB,EAAE,eAAe,CAAC,OAAO,wBAAwB,CAAC;;;;GASlD;AAED,eAAO,MAAM,kBAAkB;;;;;;;;CAM9B,CAAA;AAED,QAAA,MAAM,uBAAuB;;CAE5B,CAAA;AAOD,iBAAe,uBAAuB,CAAC,EACtC,iBAAiB,GACjB,EAAE,eAAe,CAAC,OAAO,uBAAuB,CAAC;;;;GASjD;AAED,eAAO,MAAM,oBAAoB;;;;;;;;CAMhC,CAAA;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,QAgJ9C"}
|