learngraph 0.5.0 → 0.7.0
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/cjs/api/routes/analytics.js +288 -0
- package/dist/cjs/api/routes/analytics.js.map +1 -0
- package/dist/cjs/api/routes/assessments.js +269 -0
- package/dist/cjs/api/routes/assessments.js.map +1 -0
- package/dist/cjs/api/routes/curriculum.js +345 -0
- package/dist/cjs/api/routes/curriculum.js.map +1 -0
- package/dist/cjs/api/routes/edges.js +162 -0
- package/dist/cjs/api/routes/edges.js.map +1 -0
- package/dist/cjs/api/routes/explore.js +224 -0
- package/dist/cjs/api/routes/explore.js.map +1 -0
- package/dist/cjs/api/routes/learners.js +324 -0
- package/dist/cjs/api/routes/learners.js.map +1 -0
- package/dist/cjs/api/routes/me.js +404 -0
- package/dist/cjs/api/routes/me.js.map +1 -0
- package/dist/cjs/api/routes/skills.js +319 -0
- package/dist/cjs/api/routes/skills.js.map +1 -0
- package/dist/cjs/api/server.js +185 -0
- package/dist/cjs/api/server.js.map +1 -0
- package/dist/cjs/api/types.js +10 -0
- package/dist/cjs/api/types.js.map +1 -0
- package/dist/cjs/assessment/adaptive.js +390 -0
- package/dist/cjs/assessment/adaptive.js.map +1 -0
- package/dist/cjs/assessment/bkt.js +362 -0
- package/dist/cjs/assessment/bkt.js.map +1 -0
- package/dist/cjs/assessment/index.js +54 -0
- package/dist/cjs/assessment/index.js.map +1 -0
- package/dist/cjs/assessment/irt.js +420 -0
- package/dist/cjs/assessment/irt.js.map +1 -0
- package/dist/cjs/assessment/mastery-engine.js +411 -0
- package/dist/cjs/assessment/mastery-engine.js.map +1 -0
- package/dist/cjs/components/LearningPathView.js +320 -0
- package/dist/cjs/components/LearningPathView.js.map +1 -0
- package/dist/cjs/components/ProgressDashboard.js +308 -0
- package/dist/cjs/components/ProgressDashboard.js.map +1 -0
- package/dist/cjs/components/SkillCard.js +264 -0
- package/dist/cjs/components/SkillCard.js.map +1 -0
- package/dist/cjs/components/SkillExplorer.js +401 -0
- package/dist/cjs/components/SkillExplorer.js.map +1 -0
- package/dist/cjs/components/SkillGraph.js +435 -0
- package/dist/cjs/components/SkillGraph.js.map +1 -0
- package/dist/cjs/components/hooks.js +510 -0
- package/dist/cjs/components/hooks.js.map +1 -0
- package/dist/cjs/components/index.js +77 -0
- package/dist/cjs/components/index.js.map +1 -0
- package/dist/cjs/components/types.js +34 -0
- package/dist/cjs/components/types.js.map +1 -0
- package/dist/cjs/index.js +35 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/llm/adapters/anthropic.js +91 -3
- package/dist/cjs/llm/adapters/anthropic.js.map +1 -1
- package/dist/cjs/llm/adapters/gemini.js +101 -8
- package/dist/cjs/llm/adapters/gemini.js.map +1 -1
- package/dist/cjs/llm/adapters/index.js +42 -1
- package/dist/cjs/llm/adapters/index.js.map +1 -1
- package/dist/cjs/llm/adapters/ollama.js +120 -3
- package/dist/cjs/llm/adapters/ollama.js.map +1 -1
- package/dist/cjs/llm/adapters/openai.js +108 -2
- package/dist/cjs/llm/adapters/openai.js.map +1 -1
- package/dist/cjs/mcp/cli.js +302 -0
- package/dist/cjs/mcp/cli.js.map +1 -0
- package/dist/cjs/mcp/index.js +79 -0
- package/dist/cjs/mcp/index.js.map +1 -0
- package/dist/cjs/mcp/prompts.js +425 -0
- package/dist/cjs/mcp/prompts.js.map +1 -0
- package/dist/cjs/mcp/resources.js +371 -0
- package/dist/cjs/mcp/resources.js.map +1 -0
- package/dist/cjs/mcp/server.js +410 -0
- package/dist/cjs/mcp/server.js.map +1 -0
- package/dist/cjs/mcp/tools.js +612 -0
- package/dist/cjs/mcp/tools.js.map +1 -0
- package/dist/cjs/mcp/types.js +10 -0
- package/dist/cjs/mcp/types.js.map +1 -0
- package/dist/cjs/types/assessment.js +46 -0
- package/dist/cjs/types/assessment.js.map +1 -0
- package/dist/cjs/types/bloom.js +12 -1
- package/dist/cjs/types/bloom.js.map +1 -1
- package/dist/cjs/types/index.js +7 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/esm/api/routes/analytics.js +285 -0
- package/dist/esm/api/routes/analytics.js.map +1 -0
- package/dist/esm/api/routes/assessments.js +266 -0
- package/dist/esm/api/routes/assessments.js.map +1 -0
- package/dist/esm/api/routes/curriculum.js +342 -0
- package/dist/esm/api/routes/curriculum.js.map +1 -0
- package/dist/esm/api/routes/edges.js +159 -0
- package/dist/esm/api/routes/edges.js.map +1 -0
- package/dist/esm/api/routes/explore.js +221 -0
- package/dist/esm/api/routes/explore.js.map +1 -0
- package/dist/esm/api/routes/learners.js +321 -0
- package/dist/esm/api/routes/learners.js.map +1 -0
- package/dist/esm/api/routes/me.js +401 -0
- package/dist/esm/api/routes/me.js.map +1 -0
- package/dist/esm/api/routes/skills.js +316 -0
- package/dist/esm/api/routes/skills.js.map +1 -0
- package/dist/esm/api/server.js +179 -0
- package/dist/esm/api/server.js.map +1 -0
- package/dist/esm/api/types.js +9 -0
- package/dist/esm/api/types.js.map +1 -0
- package/dist/esm/assessment/adaptive.js +384 -0
- package/dist/esm/assessment/adaptive.js.map +1 -0
- package/dist/esm/assessment/bkt.js +354 -0
- package/dist/esm/assessment/bkt.js.map +1 -0
- package/dist/esm/assessment/index.js +21 -0
- package/dist/esm/assessment/index.js.map +1 -0
- package/dist/esm/assessment/irt.js +406 -0
- package/dist/esm/assessment/irt.js.map +1 -0
- package/dist/esm/assessment/mastery-engine.js +406 -0
- package/dist/esm/assessment/mastery-engine.js.map +1 -0
- package/dist/esm/components/LearningPathView.js +316 -0
- package/dist/esm/components/LearningPathView.js.map +1 -0
- package/dist/esm/components/ProgressDashboard.js +304 -0
- package/dist/esm/components/ProgressDashboard.js.map +1 -0
- package/dist/esm/components/SkillCard.js +260 -0
- package/dist/esm/components/SkillCard.js.map +1 -0
- package/dist/esm/components/SkillExplorer.js +397 -0
- package/dist/esm/components/SkillExplorer.js.map +1 -0
- package/dist/esm/components/SkillGraph.js +398 -0
- package/dist/esm/components/SkillGraph.js.map +1 -0
- package/dist/esm/components/hooks.js +502 -0
- package/dist/esm/components/hooks.js.map +1 -0
- package/dist/esm/components/index.js +61 -0
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/components/types.js +31 -0
- package/dist/esm/components/types.js.map +1 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/llm/adapters/anthropic.js +88 -2
- package/dist/esm/llm/adapters/anthropic.js.map +1 -1
- package/dist/esm/llm/adapters/gemini.js +98 -7
- package/dist/esm/llm/adapters/gemini.js.map +1 -1
- package/dist/esm/llm/adapters/index.js +15 -4
- package/dist/esm/llm/adapters/index.js.map +1 -1
- package/dist/esm/llm/adapters/ollama.js +117 -2
- package/dist/esm/llm/adapters/ollama.js.map +1 -1
- package/dist/esm/llm/adapters/openai.js +105 -1
- package/dist/esm/llm/adapters/openai.js.map +1 -1
- package/dist/esm/mcp/cli.js +267 -0
- package/dist/esm/mcp/cli.js.map +1 -0
- package/dist/esm/mcp/index.js +39 -0
- package/dist/esm/mcp/index.js.map +1 -0
- package/dist/esm/mcp/prompts.js +419 -0
- package/dist/esm/mcp/prompts.js.map +1 -0
- package/dist/esm/mcp/resources.js +359 -0
- package/dist/esm/mcp/resources.js.map +1 -0
- package/dist/esm/mcp/server.js +372 -0
- package/dist/esm/mcp/server.js.map +1 -0
- package/dist/esm/mcp/tools.js +598 -0
- package/dist/esm/mcp/tools.js.map +1 -0
- package/dist/esm/mcp/types.js +9 -0
- package/dist/esm/mcp/types.js.map +1 -0
- package/dist/esm/types/assessment.js +40 -0
- package/dist/esm/types/assessment.js.map +1 -0
- package/dist/esm/types/bloom.js +11 -0
- package/dist/esm/types/bloom.js.map +1 -1
- package/dist/esm/types/index.js +2 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/types/api/routes/analytics.d.ts +14 -0
- package/dist/types/api/routes/analytics.d.ts.map +1 -0
- package/dist/types/api/routes/assessments.d.ts +14 -0
- package/dist/types/api/routes/assessments.d.ts.map +1 -0
- package/dist/types/api/routes/curriculum.d.ts +14 -0
- package/dist/types/api/routes/curriculum.d.ts.map +1 -0
- package/dist/types/api/routes/edges.d.ts +14 -0
- package/dist/types/api/routes/edges.d.ts.map +1 -0
- package/dist/types/api/routes/explore.d.ts +14 -0
- package/dist/types/api/routes/explore.d.ts.map +1 -0
- package/dist/types/api/routes/learners.d.ts +14 -0
- package/dist/types/api/routes/learners.d.ts.map +1 -0
- package/dist/types/api/routes/me.d.ts +14 -0
- package/dist/types/api/routes/me.d.ts.map +1 -0
- package/dist/types/api/routes/skills.d.ts +14 -0
- package/dist/types/api/routes/skills.d.ts.map +1 -0
- package/dist/types/api/server.d.ts +147 -0
- package/dist/types/api/server.d.ts.map +1 -0
- package/dist/types/api/types.d.ts +443 -0
- package/dist/types/api/types.d.ts.map +1 -0
- package/dist/types/assessment/adaptive.d.ts +155 -0
- package/dist/types/assessment/adaptive.d.ts.map +1 -0
- package/dist/types/assessment/bkt.d.ts +185 -0
- package/dist/types/assessment/bkt.d.ts.map +1 -0
- package/dist/types/assessment/index.d.ts +18 -0
- package/dist/types/assessment/index.d.ts.map +1 -0
- package/dist/types/assessment/irt.d.ts +159 -0
- package/dist/types/assessment/irt.d.ts.map +1 -0
- package/dist/types/assessment/mastery-engine.d.ts +178 -0
- package/dist/types/assessment/mastery-engine.d.ts.map +1 -0
- package/dist/types/components/LearningPathView.d.ts +40 -0
- package/dist/types/components/LearningPathView.d.ts.map +1 -0
- package/dist/types/components/ProgressDashboard.d.ts +49 -0
- package/dist/types/components/ProgressDashboard.d.ts.map +1 -0
- package/dist/types/components/SkillCard.d.ts +34 -0
- package/dist/types/components/SkillCard.d.ts.map +1 -0
- package/dist/types/components/SkillExplorer.d.ts +39 -0
- package/dist/types/components/SkillExplorer.d.ts.map +1 -0
- package/dist/types/components/SkillGraph.d.ts +38 -0
- package/dist/types/components/SkillGraph.d.ts.map +1 -0
- package/dist/types/components/hooks.d.ts +187 -0
- package/dist/types/components/hooks.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +59 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/components/types.d.ts +410 -0
- package/dist/types/components/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/llm/adapters/anthropic.d.ts +84 -1
- package/dist/types/llm/adapters/anthropic.d.ts.map +1 -1
- package/dist/types/llm/adapters/gemini.d.ts +93 -6
- package/dist/types/llm/adapters/gemini.d.ts.map +1 -1
- package/dist/types/llm/adapters/index.d.ts +13 -4
- package/dist/types/llm/adapters/index.d.ts.map +1 -1
- package/dist/types/llm/adapters/ollama.d.ts +126 -1
- package/dist/types/llm/adapters/ollama.d.ts.map +1 -1
- package/dist/types/llm/adapters/openai.d.ts +104 -1
- package/dist/types/llm/adapters/openai.d.ts.map +1 -1
- package/dist/types/mcp/cli.d.ts +15 -0
- package/dist/types/mcp/cli.d.ts.map +1 -0
- package/dist/types/mcp/index.d.ts +32 -0
- package/dist/types/mcp/index.d.ts.map +1 -0
- package/dist/types/mcp/prompts.d.ts +27 -0
- package/dist/types/mcp/prompts.d.ts.map +1 -0
- package/dist/types/mcp/resources.d.ts +59 -0
- package/dist/types/mcp/resources.d.ts.map +1 -0
- package/dist/types/mcp/server.d.ts +136 -0
- package/dist/types/mcp/server.d.ts.map +1 -0
- package/dist/types/mcp/tools.d.ts +344 -0
- package/dist/types/mcp/tools.d.ts.map +1 -0
- package/dist/types/mcp/types.d.ts +137 -0
- package/dist/types/mcp/types.d.ts.map +1 -0
- package/dist/types/types/assessment.d.ts +512 -0
- package/dist/types/types/assessment.d.ts.map +1 -0
- package/dist/types/types/bloom.d.ts +4 -0
- package/dist/types/types/bloom.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +3 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +48 -3
|
@@ -0,0 +1,612 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MCP Tool Definitions
|
|
4
|
+
*
|
|
5
|
+
* Tool implementations for LearnGraph MCP server.
|
|
6
|
+
* These tools enable Claude to interact with knowledge graphs.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.TOOL_DEFINITIONS = exports.ValidateCurriculumSchema = exports.GetGraphStatsSchema = exports.CreatePrerequisiteSchema = exports.GetZpdSkillsSchema = exports.GetLearningPathSchema = exports.GetDependentsSchema = exports.GetPrerequisitesSchema = exports.SearchSkillsSchema = exports.CreateSkillSchema = exports.GetSkillSchema = exports.ListSkillsSchema = void 0;
|
|
12
|
+
exports.listSkills = listSkills;
|
|
13
|
+
exports.getSkill = getSkill;
|
|
14
|
+
exports.createSkill = createSkill;
|
|
15
|
+
exports.searchSkills = searchSkills;
|
|
16
|
+
exports.getPrerequisites = getPrerequisites;
|
|
17
|
+
exports.getDependents = getDependents;
|
|
18
|
+
exports.getLearningPath = getLearningPath;
|
|
19
|
+
exports.getZpdSkills = getZpdSkills;
|
|
20
|
+
exports.createPrerequisite = createPrerequisite;
|
|
21
|
+
exports.getGraphStats = getGraphStats;
|
|
22
|
+
exports.validateCurriculum = validateCurriculum;
|
|
23
|
+
const zod_1 = require("zod");
|
|
24
|
+
const index_js_1 = require("../types/index.js");
|
|
25
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
26
|
+
// Tool Schemas
|
|
27
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
28
|
+
exports.ListSkillsSchema = zod_1.z.object({
|
|
29
|
+
limit: zod_1.z.number().optional().default(50).describe('Maximum number of skills to return'),
|
|
30
|
+
offset: zod_1.z.number().optional().default(0).describe('Number of skills to skip'),
|
|
31
|
+
bloomLevel: zod_1.z.enum(['remember', 'understand', 'apply', 'analyze', 'evaluate', 'create']).optional().describe('Filter by Bloom\'s Taxonomy level'),
|
|
32
|
+
tag: zod_1.z.string().optional().describe('Filter by tag'),
|
|
33
|
+
});
|
|
34
|
+
exports.GetSkillSchema = zod_1.z.object({
|
|
35
|
+
skillId: zod_1.z.string().describe('The unique skill ID'),
|
|
36
|
+
});
|
|
37
|
+
exports.CreateSkillSchema = zod_1.z.object({
|
|
38
|
+
name: zod_1.z.string().describe('Name of the skill'),
|
|
39
|
+
description: zod_1.z.string().optional().describe('Description of what the skill covers'),
|
|
40
|
+
bloomLevel: zod_1.z.enum(['remember', 'understand', 'apply', 'analyze', 'evaluate', 'create']).describe('Bloom\'s Taxonomy level'),
|
|
41
|
+
estimatedMinutes: zod_1.z.number().optional().default(30).describe('Estimated time to learn in minutes'),
|
|
42
|
+
tags: zod_1.z.array(zod_1.z.string()).optional().default([]).describe('Tags for categorization'),
|
|
43
|
+
});
|
|
44
|
+
exports.SearchSkillsSchema = zod_1.z.object({
|
|
45
|
+
query: zod_1.z.string().describe('Search query for skill names and descriptions'),
|
|
46
|
+
limit: zod_1.z.number().optional().default(20).describe('Maximum results to return'),
|
|
47
|
+
});
|
|
48
|
+
exports.GetPrerequisitesSchema = zod_1.z.object({
|
|
49
|
+
skillId: zod_1.z.string().describe('The skill ID to get prerequisites for'),
|
|
50
|
+
depth: zod_1.z.number().optional().default(1).describe('How many levels of prerequisites to fetch'),
|
|
51
|
+
});
|
|
52
|
+
exports.GetDependentsSchema = zod_1.z.object({
|
|
53
|
+
skillId: zod_1.z.string().describe('The skill ID to get dependents for'),
|
|
54
|
+
depth: zod_1.z.number().optional().default(1).describe('How many levels of dependents to fetch'),
|
|
55
|
+
});
|
|
56
|
+
exports.GetLearningPathSchema = zod_1.z.object({
|
|
57
|
+
targetSkillId: zod_1.z.string().describe('The target skill to learn'),
|
|
58
|
+
masteredSkillIds: zod_1.z.array(zod_1.z.string()).optional().default([]).describe('Skills already mastered'),
|
|
59
|
+
});
|
|
60
|
+
exports.GetZpdSkillsSchema = zod_1.z.object({
|
|
61
|
+
masteredSkillIds: zod_1.z.array(zod_1.z.string()).describe('Skills the learner has already mastered'),
|
|
62
|
+
limit: zod_1.z.number().optional().default(10).describe('Maximum skills to return'),
|
|
63
|
+
});
|
|
64
|
+
exports.CreatePrerequisiteSchema = zod_1.z.object({
|
|
65
|
+
sourceSkillId: zod_1.z.string().describe('The prerequisite skill ID'),
|
|
66
|
+
targetSkillId: zod_1.z.string().describe('The skill that requires the prerequisite'),
|
|
67
|
+
strength: zod_1.z.number().min(0).max(1).optional().default(0.8).describe('Strength of the relationship (0-1)'),
|
|
68
|
+
type: zod_1.z.enum(['hard', 'soft', 'recommended']).optional().default('hard').describe('Type of prerequisite relationship'),
|
|
69
|
+
});
|
|
70
|
+
exports.GetGraphStatsSchema = zod_1.z.object({});
|
|
71
|
+
exports.ValidateCurriculumSchema = zod_1.z.object({
|
|
72
|
+
checkCycles: zod_1.z.boolean().optional().default(true).describe('Check for circular dependencies'),
|
|
73
|
+
checkOrphans: zod_1.z.boolean().optional().default(true).describe('Check for disconnected skills'),
|
|
74
|
+
});
|
|
75
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
76
|
+
// Tool Implementations
|
|
77
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
78
|
+
/**
|
|
79
|
+
* Create a success result
|
|
80
|
+
*/
|
|
81
|
+
function successResult(data) {
|
|
82
|
+
return {
|
|
83
|
+
content: [{
|
|
84
|
+
type: 'text',
|
|
85
|
+
text: JSON.stringify(data, null, 2),
|
|
86
|
+
}],
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Create an error result
|
|
91
|
+
*/
|
|
92
|
+
function errorResult(message) {
|
|
93
|
+
return {
|
|
94
|
+
content: [{
|
|
95
|
+
type: 'text',
|
|
96
|
+
text: JSON.stringify({ error: message }),
|
|
97
|
+
}],
|
|
98
|
+
isError: true,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* List skills in the graph
|
|
103
|
+
*/
|
|
104
|
+
async function listSkills(storage, params) {
|
|
105
|
+
try {
|
|
106
|
+
// Build query with filters
|
|
107
|
+
const filters = [];
|
|
108
|
+
if (params.bloomLevel) {
|
|
109
|
+
filters.push({ field: 'bloomLevel', operator: 'eq', value: params.bloomLevel });
|
|
110
|
+
}
|
|
111
|
+
if (params.tag) {
|
|
112
|
+
filters.push({ field: 'tags', operator: 'contains', value: params.tag });
|
|
113
|
+
}
|
|
114
|
+
const query = filters.length > 0 ? { filters } : {};
|
|
115
|
+
const skills = await storage.findSkills(query);
|
|
116
|
+
const paginated = skills.slice(params.offset, params.offset + params.limit);
|
|
117
|
+
return successResult({
|
|
118
|
+
skills: paginated.map((s) => ({
|
|
119
|
+
id: s.id,
|
|
120
|
+
name: s.name,
|
|
121
|
+
bloomLevel: s.bloomLevel,
|
|
122
|
+
estimatedMinutes: s.estimatedMinutes,
|
|
123
|
+
tags: s.tags,
|
|
124
|
+
})),
|
|
125
|
+
total: skills.length,
|
|
126
|
+
offset: params.offset,
|
|
127
|
+
limit: params.limit,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
return errorResult(`Failed to list skills: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get a single skill by ID
|
|
136
|
+
*/
|
|
137
|
+
async function getSkill(storage, params) {
|
|
138
|
+
try {
|
|
139
|
+
const skill = await storage.getSkill((0, index_js_1.createSkillId)(params.skillId));
|
|
140
|
+
if (!skill) {
|
|
141
|
+
return errorResult(`Skill not found: ${params.skillId}`);
|
|
142
|
+
}
|
|
143
|
+
const prerequisites = await storage.getPrerequisitesOf(skill.id);
|
|
144
|
+
const dependents = await storage.getDependentsOf(skill.id);
|
|
145
|
+
return successResult({
|
|
146
|
+
...skill,
|
|
147
|
+
prerequisites: prerequisites.map((p) => ({ id: p.id, name: p.name })),
|
|
148
|
+
dependents: dependents.map((d) => ({ id: d.id, name: d.name })),
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
return errorResult(`Failed to get skill: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Create a new skill
|
|
157
|
+
*/
|
|
158
|
+
async function createSkill(storage, params) {
|
|
159
|
+
try {
|
|
160
|
+
const skill = await storage.createSkill({
|
|
161
|
+
name: params.name,
|
|
162
|
+
bloomLevel: params.bloomLevel,
|
|
163
|
+
description: params.description ?? '',
|
|
164
|
+
estimatedMinutes: params.estimatedMinutes,
|
|
165
|
+
tags: params.tags,
|
|
166
|
+
difficulty: 0.5, // Default to intermediate difficulty
|
|
167
|
+
isThresholdConcept: false,
|
|
168
|
+
masteryThreshold: 0.8,
|
|
169
|
+
metadata: {},
|
|
170
|
+
});
|
|
171
|
+
return successResult({
|
|
172
|
+
message: `Created skill: ${skill.name}`,
|
|
173
|
+
skill: {
|
|
174
|
+
id: skill.id,
|
|
175
|
+
name: skill.name,
|
|
176
|
+
bloomLevel: skill.bloomLevel,
|
|
177
|
+
estimatedMinutes: skill.estimatedMinutes,
|
|
178
|
+
tags: skill.tags,
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
catch (err) {
|
|
183
|
+
return errorResult(`Failed to create skill: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Search skills by name/description
|
|
188
|
+
*/
|
|
189
|
+
async function searchSkills(storage, params) {
|
|
190
|
+
try {
|
|
191
|
+
const allSkills = await storage.findSkills({});
|
|
192
|
+
const query = params.query.toLowerCase();
|
|
193
|
+
const matched = allSkills
|
|
194
|
+
.map((skill) => {
|
|
195
|
+
const nameMatch = skill.name.toLowerCase().includes(query);
|
|
196
|
+
const descMatch = skill.description?.toLowerCase().includes(query) ?? false;
|
|
197
|
+
const tagMatch = skill.tags.some((t) => t.toLowerCase().includes(query));
|
|
198
|
+
let score = 0;
|
|
199
|
+
if (nameMatch)
|
|
200
|
+
score += 3;
|
|
201
|
+
if (descMatch)
|
|
202
|
+
score += 2;
|
|
203
|
+
if (tagMatch)
|
|
204
|
+
score += 1;
|
|
205
|
+
return { skill, score };
|
|
206
|
+
})
|
|
207
|
+
.filter(({ score }) => score > 0)
|
|
208
|
+
.sort((a, b) => b.score - a.score)
|
|
209
|
+
.slice(0, params.limit);
|
|
210
|
+
const result = {
|
|
211
|
+
skills: matched.map(({ skill, score }) => ({
|
|
212
|
+
id: String(skill.id),
|
|
213
|
+
name: skill.name,
|
|
214
|
+
description: skill.description,
|
|
215
|
+
bloomLevel: skill.bloomLevel,
|
|
216
|
+
tags: skill.tags,
|
|
217
|
+
matchScore: score,
|
|
218
|
+
})),
|
|
219
|
+
totalCount: matched.length,
|
|
220
|
+
};
|
|
221
|
+
return successResult(result);
|
|
222
|
+
}
|
|
223
|
+
catch (err) {
|
|
224
|
+
return errorResult(`Failed to search skills: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Get prerequisites for a skill
|
|
229
|
+
*/
|
|
230
|
+
async function getPrerequisites(storage, params) {
|
|
231
|
+
try {
|
|
232
|
+
const skillId = (0, index_js_1.createSkillId)(params.skillId);
|
|
233
|
+
const skill = await storage.getSkill(skillId);
|
|
234
|
+
if (!skill) {
|
|
235
|
+
return errorResult(`Skill not found: ${params.skillId}`);
|
|
236
|
+
}
|
|
237
|
+
const prerequisites = await storage.getPrerequisitesOf(skillId);
|
|
238
|
+
// For depth > 1, recursively get prerequisites
|
|
239
|
+
const allPrereqs = new Map();
|
|
240
|
+
const visited = new Set();
|
|
241
|
+
async function collectPrereqs(skills, currentDepth) {
|
|
242
|
+
if (currentDepth >= params.depth)
|
|
243
|
+
return;
|
|
244
|
+
for (const s of skills) {
|
|
245
|
+
const id = String(s.id);
|
|
246
|
+
if (visited.has(id))
|
|
247
|
+
continue;
|
|
248
|
+
visited.add(id);
|
|
249
|
+
allPrereqs.set(id, s);
|
|
250
|
+
if (currentDepth + 1 < params.depth) {
|
|
251
|
+
const nested = await storage.getPrerequisitesOf(s.id);
|
|
252
|
+
await collectPrereqs(nested, currentDepth + 1);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
await collectPrereqs(prerequisites, 0);
|
|
257
|
+
return successResult({
|
|
258
|
+
skillId: params.skillId,
|
|
259
|
+
skillName: skill.name,
|
|
260
|
+
prerequisites: Array.from(allPrereqs.values()).map((p) => ({
|
|
261
|
+
id: p.id,
|
|
262
|
+
name: p.name,
|
|
263
|
+
bloomLevel: p.bloomLevel,
|
|
264
|
+
estimatedMinutes: p.estimatedMinutes,
|
|
265
|
+
})),
|
|
266
|
+
depth: params.depth,
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
catch (err) {
|
|
270
|
+
return errorResult(`Failed to get prerequisites: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Get dependents for a skill
|
|
275
|
+
*/
|
|
276
|
+
async function getDependents(storage, params) {
|
|
277
|
+
try {
|
|
278
|
+
const skillId = (0, index_js_1.createSkillId)(params.skillId);
|
|
279
|
+
const skill = await storage.getSkill(skillId);
|
|
280
|
+
if (!skill) {
|
|
281
|
+
return errorResult(`Skill not found: ${params.skillId}`);
|
|
282
|
+
}
|
|
283
|
+
const dependents = await storage.getDependentsOf(skillId);
|
|
284
|
+
return successResult({
|
|
285
|
+
skillId: params.skillId,
|
|
286
|
+
skillName: skill.name,
|
|
287
|
+
dependents: dependents.map((d) => ({
|
|
288
|
+
id: d.id,
|
|
289
|
+
name: d.name,
|
|
290
|
+
bloomLevel: d.bloomLevel,
|
|
291
|
+
estimatedMinutes: d.estimatedMinutes,
|
|
292
|
+
})),
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
catch (err) {
|
|
296
|
+
return errorResult(`Failed to get dependents: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Get learning path to a target skill
|
|
301
|
+
*/
|
|
302
|
+
async function getLearningPath(storage, params) {
|
|
303
|
+
try {
|
|
304
|
+
const targetId = (0, index_js_1.createSkillId)(params.targetSkillId);
|
|
305
|
+
const target = await storage.getSkill(targetId);
|
|
306
|
+
if (!target) {
|
|
307
|
+
return errorResult(`Target skill not found: ${params.targetSkillId}`);
|
|
308
|
+
}
|
|
309
|
+
const masteredSet = new Set(params.masteredSkillIds);
|
|
310
|
+
// Collect all prerequisites recursively
|
|
311
|
+
const path = [];
|
|
312
|
+
const visited = new Set();
|
|
313
|
+
async function collectPath(skillId) {
|
|
314
|
+
const id = String(skillId);
|
|
315
|
+
if (visited.has(id) || masteredSet.has(id))
|
|
316
|
+
return;
|
|
317
|
+
visited.add(id);
|
|
318
|
+
const prerequisites = await storage.getPrerequisitesOf(skillId);
|
|
319
|
+
for (const prereq of prerequisites) {
|
|
320
|
+
await collectPath(prereq.id);
|
|
321
|
+
}
|
|
322
|
+
const skill = await storage.getSkill(skillId);
|
|
323
|
+
if (skill && !masteredSet.has(id)) {
|
|
324
|
+
path.push(skill);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
await collectPath(targetId);
|
|
328
|
+
const result = {
|
|
329
|
+
path: path.map((s, index) => ({
|
|
330
|
+
skillId: String(s.id),
|
|
331
|
+
skillName: s.name,
|
|
332
|
+
bloomLevel: s.bloomLevel,
|
|
333
|
+
estimatedMinutes: s.estimatedMinutes,
|
|
334
|
+
isPrerequisite: index < path.length - 1,
|
|
335
|
+
})),
|
|
336
|
+
totalEstimatedMinutes: path.reduce((sum, s) => sum + s.estimatedMinutes, 0),
|
|
337
|
+
totalSkills: path.length,
|
|
338
|
+
};
|
|
339
|
+
return successResult(result);
|
|
340
|
+
}
|
|
341
|
+
catch (err) {
|
|
342
|
+
return errorResult(`Failed to get learning path: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Get skills in the Zone of Proximal Development
|
|
347
|
+
*/
|
|
348
|
+
async function getZpdSkills(storage, params) {
|
|
349
|
+
try {
|
|
350
|
+
const masteredSet = new Set(params.masteredSkillIds);
|
|
351
|
+
const allSkills = await storage.findSkills({});
|
|
352
|
+
const readyToLearn = [];
|
|
353
|
+
const almostReady = [];
|
|
354
|
+
for (const skill of allSkills) {
|
|
355
|
+
const id = String(skill.id);
|
|
356
|
+
if (masteredSet.has(id))
|
|
357
|
+
continue;
|
|
358
|
+
const prerequisites = await storage.getPrerequisitesOf(skill.id);
|
|
359
|
+
const missingPrereqs = prerequisites.filter((p) => !masteredSet.has(String(p.id)));
|
|
360
|
+
if (missingPrereqs.length === 0) {
|
|
361
|
+
// All prerequisites mastered - ready to learn
|
|
362
|
+
readyToLearn.push({
|
|
363
|
+
skillId: id,
|
|
364
|
+
skillName: skill.name,
|
|
365
|
+
bloomLevel: skill.bloomLevel,
|
|
366
|
+
readinessScore: 1.0,
|
|
367
|
+
missingPrerequisites: [],
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
else if (missingPrereqs.length <= 2) {
|
|
371
|
+
// Almost ready - just needs 1-2 more prerequisites
|
|
372
|
+
almostReady.push({
|
|
373
|
+
skillId: id,
|
|
374
|
+
skillName: skill.name,
|
|
375
|
+
prerequisitesNeeded: missingPrereqs.length,
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
// Sort by readiness and limit
|
|
380
|
+
const result = {
|
|
381
|
+
readyToLearn: readyToLearn.slice(0, params.limit),
|
|
382
|
+
almostReady: almostReady.slice(0, params.limit),
|
|
383
|
+
};
|
|
384
|
+
return successResult(result);
|
|
385
|
+
}
|
|
386
|
+
catch (err) {
|
|
387
|
+
return errorResult(`Failed to get ZPD skills: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Create a prerequisite relationship
|
|
392
|
+
*/
|
|
393
|
+
async function createPrerequisite(storage, params) {
|
|
394
|
+
try {
|
|
395
|
+
const sourceId = (0, index_js_1.createSkillId)(params.sourceSkillId);
|
|
396
|
+
const targetId = (0, index_js_1.createSkillId)(params.targetSkillId);
|
|
397
|
+
// Check both skills exist
|
|
398
|
+
const source = await storage.getSkill(sourceId);
|
|
399
|
+
const target = await storage.getSkill(targetId);
|
|
400
|
+
if (!source) {
|
|
401
|
+
return errorResult(`Source skill not found: ${params.sourceSkillId}`);
|
|
402
|
+
}
|
|
403
|
+
if (!target) {
|
|
404
|
+
return errorResult(`Target skill not found: ${params.targetSkillId}`);
|
|
405
|
+
}
|
|
406
|
+
const edge = await storage.createPrerequisite({
|
|
407
|
+
sourceId,
|
|
408
|
+
targetId,
|
|
409
|
+
strength: params.strength,
|
|
410
|
+
type: params.type,
|
|
411
|
+
metadata: {},
|
|
412
|
+
});
|
|
413
|
+
return successResult({
|
|
414
|
+
message: `Created prerequisite: ${source.name} → ${target.name}`,
|
|
415
|
+
edge: {
|
|
416
|
+
id: edge.id,
|
|
417
|
+
sourceId: String(edge.sourceId),
|
|
418
|
+
targetId: String(edge.targetId),
|
|
419
|
+
strength: edge.strength,
|
|
420
|
+
type: edge.type,
|
|
421
|
+
},
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
catch (err) {
|
|
425
|
+
return errorResult(`Failed to create prerequisite: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Get graph statistics
|
|
430
|
+
*/
|
|
431
|
+
async function getGraphStats(storage, _params) {
|
|
432
|
+
try {
|
|
433
|
+
const skills = await storage.findSkills({});
|
|
434
|
+
const edges = await storage.findPrerequisites({});
|
|
435
|
+
// Calculate statistics
|
|
436
|
+
const bloomDistribution = {};
|
|
437
|
+
for (const level of index_js_1.BLOOM_LEVELS) {
|
|
438
|
+
bloomDistribution[level] = 0;
|
|
439
|
+
}
|
|
440
|
+
const inDegree = new Map();
|
|
441
|
+
const outDegree = new Map();
|
|
442
|
+
for (const skill of skills) {
|
|
443
|
+
const level = skill.bloomLevel;
|
|
444
|
+
if (level in bloomDistribution) {
|
|
445
|
+
bloomDistribution[level] = (bloomDistribution[level] ?? 0) + 1;
|
|
446
|
+
}
|
|
447
|
+
inDegree.set(String(skill.id), 0);
|
|
448
|
+
outDegree.set(String(skill.id), 0);
|
|
449
|
+
}
|
|
450
|
+
for (const edge of edges) {
|
|
451
|
+
const sourceStr = String(edge.sourceId);
|
|
452
|
+
const targetStr = String(edge.targetId);
|
|
453
|
+
outDegree.set(sourceStr, (outDegree.get(sourceStr) || 0) + 1);
|
|
454
|
+
inDegree.set(targetStr, (inDegree.get(targetStr) || 0) + 1);
|
|
455
|
+
}
|
|
456
|
+
const rootSkills = Array.from(inDegree.entries()).filter(([_, deg]) => deg === 0).length;
|
|
457
|
+
const leafSkills = Array.from(outDegree.entries()).filter(([_, deg]) => deg === 0).length;
|
|
458
|
+
const result = {
|
|
459
|
+
totalSkills: skills.length,
|
|
460
|
+
totalEdges: edges.length,
|
|
461
|
+
averagePrerequisites: skills.length > 0 ? edges.length / skills.length : 0,
|
|
462
|
+
maxDepth: 0, // Would require graph traversal to calculate
|
|
463
|
+
rootSkills,
|
|
464
|
+
leafSkills,
|
|
465
|
+
bloomDistribution,
|
|
466
|
+
};
|
|
467
|
+
return successResult(result);
|
|
468
|
+
}
|
|
469
|
+
catch (err) {
|
|
470
|
+
return errorResult(`Failed to get graph stats: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Validate curriculum structure
|
|
475
|
+
*/
|
|
476
|
+
async function validateCurriculum(storage, params) {
|
|
477
|
+
try {
|
|
478
|
+
const issues = [];
|
|
479
|
+
const skills = await storage.findSkills({});
|
|
480
|
+
const edges = await storage.findPrerequisites({});
|
|
481
|
+
// Check for orphaned skills (no incoming or outgoing edges)
|
|
482
|
+
if (params.checkOrphans) {
|
|
483
|
+
const connectedSkills = new Set();
|
|
484
|
+
for (const edge of edges) {
|
|
485
|
+
connectedSkills.add(String(edge.sourceId));
|
|
486
|
+
connectedSkills.add(String(edge.targetId));
|
|
487
|
+
}
|
|
488
|
+
const orphans = skills.filter((s) => !connectedSkills.has(String(s.id)));
|
|
489
|
+
if (orphans.length > 0) {
|
|
490
|
+
issues.push({
|
|
491
|
+
type: 'orphan',
|
|
492
|
+
message: `Found ${orphans.length} disconnected skill(s)`,
|
|
493
|
+
skillIds: orphans.map((s) => String(s.id)),
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
// Check for cycles (simplified DFS-based check)
|
|
498
|
+
if (params.checkCycles) {
|
|
499
|
+
const adjacency = new Map();
|
|
500
|
+
for (const edge of edges) {
|
|
501
|
+
const source = String(edge.sourceId);
|
|
502
|
+
const target = String(edge.targetId);
|
|
503
|
+
if (!adjacency.has(source)) {
|
|
504
|
+
adjacency.set(source, []);
|
|
505
|
+
}
|
|
506
|
+
adjacency.get(source).push(target);
|
|
507
|
+
}
|
|
508
|
+
const visited = new Set();
|
|
509
|
+
const recursionStack = new Set();
|
|
510
|
+
function hasCycle(node) {
|
|
511
|
+
visited.add(node);
|
|
512
|
+
recursionStack.add(node);
|
|
513
|
+
for (const neighbor of adjacency.get(node) || []) {
|
|
514
|
+
if (!visited.has(neighbor)) {
|
|
515
|
+
if (hasCycle(neighbor))
|
|
516
|
+
return true;
|
|
517
|
+
}
|
|
518
|
+
else if (recursionStack.has(neighbor)) {
|
|
519
|
+
return true;
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
recursionStack.delete(node);
|
|
523
|
+
return false;
|
|
524
|
+
}
|
|
525
|
+
for (const skill of skills) {
|
|
526
|
+
const id = String(skill.id);
|
|
527
|
+
if (!visited.has(id)) {
|
|
528
|
+
if (hasCycle(id)) {
|
|
529
|
+
issues.push({
|
|
530
|
+
type: 'cycle',
|
|
531
|
+
message: 'Circular dependency detected in prerequisite graph',
|
|
532
|
+
});
|
|
533
|
+
break;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
return successResult({
|
|
539
|
+
valid: issues.length === 0,
|
|
540
|
+
issueCount: issues.length,
|
|
541
|
+
issues,
|
|
542
|
+
summary: {
|
|
543
|
+
totalSkills: skills.length,
|
|
544
|
+
totalEdges: edges.length,
|
|
545
|
+
},
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
catch (err) {
|
|
549
|
+
return errorResult(`Failed to validate curriculum: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* Export all tool definitions for MCP registration
|
|
554
|
+
*/
|
|
555
|
+
exports.TOOL_DEFINITIONS = {
|
|
556
|
+
list_skills: {
|
|
557
|
+
description: 'List all skills in the knowledge graph with optional filtering by Bloom\'s Taxonomy level or tags.',
|
|
558
|
+
inputSchema: exports.ListSkillsSchema,
|
|
559
|
+
handler: listSkills,
|
|
560
|
+
},
|
|
561
|
+
get_skill: {
|
|
562
|
+
description: 'Get detailed information about a specific skill including its prerequisites and dependents.',
|
|
563
|
+
inputSchema: exports.GetSkillSchema,
|
|
564
|
+
handler: getSkill,
|
|
565
|
+
},
|
|
566
|
+
create_skill: {
|
|
567
|
+
description: 'Create a new skill in the knowledge graph with name, Bloom\'s level, and optional metadata.',
|
|
568
|
+
inputSchema: exports.CreateSkillSchema,
|
|
569
|
+
handler: createSkill,
|
|
570
|
+
},
|
|
571
|
+
search_skills: {
|
|
572
|
+
description: 'Search for skills by name, description, or tags using fuzzy matching.',
|
|
573
|
+
inputSchema: exports.SearchSkillsSchema,
|
|
574
|
+
handler: searchSkills,
|
|
575
|
+
},
|
|
576
|
+
get_prerequisites: {
|
|
577
|
+
description: 'Get all prerequisite skills for a given skill, optionally traversing multiple levels deep.',
|
|
578
|
+
inputSchema: exports.GetPrerequisitesSchema,
|
|
579
|
+
handler: getPrerequisites,
|
|
580
|
+
},
|
|
581
|
+
get_dependents: {
|
|
582
|
+
description: 'Get all skills that depend on a given skill as a prerequisite.',
|
|
583
|
+
inputSchema: exports.GetDependentsSchema,
|
|
584
|
+
handler: getDependents,
|
|
585
|
+
},
|
|
586
|
+
get_learning_path: {
|
|
587
|
+
description: 'Generate an optimal learning path to a target skill, considering already mastered skills.',
|
|
588
|
+
inputSchema: exports.GetLearningPathSchema,
|
|
589
|
+
handler: getLearningPath,
|
|
590
|
+
},
|
|
591
|
+
get_zpd_skills: {
|
|
592
|
+
description: 'Get skills in the learner\'s Zone of Proximal Development - skills they\'re ready to learn based on mastered prerequisites.',
|
|
593
|
+
inputSchema: exports.GetZpdSkillsSchema,
|
|
594
|
+
handler: getZpdSkills,
|
|
595
|
+
},
|
|
596
|
+
create_prerequisite: {
|
|
597
|
+
description: 'Create a prerequisite relationship between two skills (source skill is required before target skill).',
|
|
598
|
+
inputSchema: exports.CreatePrerequisiteSchema,
|
|
599
|
+
handler: createPrerequisite,
|
|
600
|
+
},
|
|
601
|
+
get_graph_stats: {
|
|
602
|
+
description: 'Get statistics about the knowledge graph including skill counts, edge counts, and Bloom\'s Taxonomy distribution.',
|
|
603
|
+
inputSchema: exports.GetGraphStatsSchema,
|
|
604
|
+
handler: getGraphStats,
|
|
605
|
+
},
|
|
606
|
+
validate_curriculum: {
|
|
607
|
+
description: 'Validate the curriculum structure checking for cycles and orphaned skills.',
|
|
608
|
+
inputSchema: exports.ValidateCurriculumSchema,
|
|
609
|
+
handler: validateCurriculum,
|
|
610
|
+
},
|
|
611
|
+
};
|
|
612
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
|