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.
Files changed (235) hide show
  1. package/dist/cjs/api/routes/analytics.js +288 -0
  2. package/dist/cjs/api/routes/analytics.js.map +1 -0
  3. package/dist/cjs/api/routes/assessments.js +269 -0
  4. package/dist/cjs/api/routes/assessments.js.map +1 -0
  5. package/dist/cjs/api/routes/curriculum.js +345 -0
  6. package/dist/cjs/api/routes/curriculum.js.map +1 -0
  7. package/dist/cjs/api/routes/edges.js +162 -0
  8. package/dist/cjs/api/routes/edges.js.map +1 -0
  9. package/dist/cjs/api/routes/explore.js +224 -0
  10. package/dist/cjs/api/routes/explore.js.map +1 -0
  11. package/dist/cjs/api/routes/learners.js +324 -0
  12. package/dist/cjs/api/routes/learners.js.map +1 -0
  13. package/dist/cjs/api/routes/me.js +404 -0
  14. package/dist/cjs/api/routes/me.js.map +1 -0
  15. package/dist/cjs/api/routes/skills.js +319 -0
  16. package/dist/cjs/api/routes/skills.js.map +1 -0
  17. package/dist/cjs/api/server.js +185 -0
  18. package/dist/cjs/api/server.js.map +1 -0
  19. package/dist/cjs/api/types.js +10 -0
  20. package/dist/cjs/api/types.js.map +1 -0
  21. package/dist/cjs/assessment/adaptive.js +390 -0
  22. package/dist/cjs/assessment/adaptive.js.map +1 -0
  23. package/dist/cjs/assessment/bkt.js +362 -0
  24. package/dist/cjs/assessment/bkt.js.map +1 -0
  25. package/dist/cjs/assessment/index.js +54 -0
  26. package/dist/cjs/assessment/index.js.map +1 -0
  27. package/dist/cjs/assessment/irt.js +420 -0
  28. package/dist/cjs/assessment/irt.js.map +1 -0
  29. package/dist/cjs/assessment/mastery-engine.js +411 -0
  30. package/dist/cjs/assessment/mastery-engine.js.map +1 -0
  31. package/dist/cjs/components/LearningPathView.js +320 -0
  32. package/dist/cjs/components/LearningPathView.js.map +1 -0
  33. package/dist/cjs/components/ProgressDashboard.js +308 -0
  34. package/dist/cjs/components/ProgressDashboard.js.map +1 -0
  35. package/dist/cjs/components/SkillCard.js +264 -0
  36. package/dist/cjs/components/SkillCard.js.map +1 -0
  37. package/dist/cjs/components/SkillExplorer.js +401 -0
  38. package/dist/cjs/components/SkillExplorer.js.map +1 -0
  39. package/dist/cjs/components/SkillGraph.js +435 -0
  40. package/dist/cjs/components/SkillGraph.js.map +1 -0
  41. package/dist/cjs/components/hooks.js +510 -0
  42. package/dist/cjs/components/hooks.js.map +1 -0
  43. package/dist/cjs/components/index.js +77 -0
  44. package/dist/cjs/components/index.js.map +1 -0
  45. package/dist/cjs/components/types.js +34 -0
  46. package/dist/cjs/components/types.js.map +1 -0
  47. package/dist/cjs/index.js +35 -1
  48. package/dist/cjs/index.js.map +1 -1
  49. package/dist/cjs/llm/adapters/anthropic.js +91 -3
  50. package/dist/cjs/llm/adapters/anthropic.js.map +1 -1
  51. package/dist/cjs/llm/adapters/gemini.js +101 -8
  52. package/dist/cjs/llm/adapters/gemini.js.map +1 -1
  53. package/dist/cjs/llm/adapters/index.js +42 -1
  54. package/dist/cjs/llm/adapters/index.js.map +1 -1
  55. package/dist/cjs/llm/adapters/ollama.js +120 -3
  56. package/dist/cjs/llm/adapters/ollama.js.map +1 -1
  57. package/dist/cjs/llm/adapters/openai.js +108 -2
  58. package/dist/cjs/llm/adapters/openai.js.map +1 -1
  59. package/dist/cjs/mcp/cli.js +302 -0
  60. package/dist/cjs/mcp/cli.js.map +1 -0
  61. package/dist/cjs/mcp/index.js +79 -0
  62. package/dist/cjs/mcp/index.js.map +1 -0
  63. package/dist/cjs/mcp/prompts.js +425 -0
  64. package/dist/cjs/mcp/prompts.js.map +1 -0
  65. package/dist/cjs/mcp/resources.js +371 -0
  66. package/dist/cjs/mcp/resources.js.map +1 -0
  67. package/dist/cjs/mcp/server.js +410 -0
  68. package/dist/cjs/mcp/server.js.map +1 -0
  69. package/dist/cjs/mcp/tools.js +612 -0
  70. package/dist/cjs/mcp/tools.js.map +1 -0
  71. package/dist/cjs/mcp/types.js +10 -0
  72. package/dist/cjs/mcp/types.js.map +1 -0
  73. package/dist/cjs/types/assessment.js +46 -0
  74. package/dist/cjs/types/assessment.js.map +1 -0
  75. package/dist/cjs/types/bloom.js +12 -1
  76. package/dist/cjs/types/bloom.js.map +1 -1
  77. package/dist/cjs/types/index.js +7 -1
  78. package/dist/cjs/types/index.js.map +1 -1
  79. package/dist/esm/api/routes/analytics.js +285 -0
  80. package/dist/esm/api/routes/analytics.js.map +1 -0
  81. package/dist/esm/api/routes/assessments.js +266 -0
  82. package/dist/esm/api/routes/assessments.js.map +1 -0
  83. package/dist/esm/api/routes/curriculum.js +342 -0
  84. package/dist/esm/api/routes/curriculum.js.map +1 -0
  85. package/dist/esm/api/routes/edges.js +159 -0
  86. package/dist/esm/api/routes/edges.js.map +1 -0
  87. package/dist/esm/api/routes/explore.js +221 -0
  88. package/dist/esm/api/routes/explore.js.map +1 -0
  89. package/dist/esm/api/routes/learners.js +321 -0
  90. package/dist/esm/api/routes/learners.js.map +1 -0
  91. package/dist/esm/api/routes/me.js +401 -0
  92. package/dist/esm/api/routes/me.js.map +1 -0
  93. package/dist/esm/api/routes/skills.js +316 -0
  94. package/dist/esm/api/routes/skills.js.map +1 -0
  95. package/dist/esm/api/server.js +179 -0
  96. package/dist/esm/api/server.js.map +1 -0
  97. package/dist/esm/api/types.js +9 -0
  98. package/dist/esm/api/types.js.map +1 -0
  99. package/dist/esm/assessment/adaptive.js +384 -0
  100. package/dist/esm/assessment/adaptive.js.map +1 -0
  101. package/dist/esm/assessment/bkt.js +354 -0
  102. package/dist/esm/assessment/bkt.js.map +1 -0
  103. package/dist/esm/assessment/index.js +21 -0
  104. package/dist/esm/assessment/index.js.map +1 -0
  105. package/dist/esm/assessment/irt.js +406 -0
  106. package/dist/esm/assessment/irt.js.map +1 -0
  107. package/dist/esm/assessment/mastery-engine.js +406 -0
  108. package/dist/esm/assessment/mastery-engine.js.map +1 -0
  109. package/dist/esm/components/LearningPathView.js +316 -0
  110. package/dist/esm/components/LearningPathView.js.map +1 -0
  111. package/dist/esm/components/ProgressDashboard.js +304 -0
  112. package/dist/esm/components/ProgressDashboard.js.map +1 -0
  113. package/dist/esm/components/SkillCard.js +260 -0
  114. package/dist/esm/components/SkillCard.js.map +1 -0
  115. package/dist/esm/components/SkillExplorer.js +397 -0
  116. package/dist/esm/components/SkillExplorer.js.map +1 -0
  117. package/dist/esm/components/SkillGraph.js +398 -0
  118. package/dist/esm/components/SkillGraph.js.map +1 -0
  119. package/dist/esm/components/hooks.js +502 -0
  120. package/dist/esm/components/hooks.js.map +1 -0
  121. package/dist/esm/components/index.js +61 -0
  122. package/dist/esm/components/index.js.map +1 -0
  123. package/dist/esm/components/types.js +31 -0
  124. package/dist/esm/components/types.js.map +1 -0
  125. package/dist/esm/index.js +12 -0
  126. package/dist/esm/index.js.map +1 -1
  127. package/dist/esm/llm/adapters/anthropic.js +88 -2
  128. package/dist/esm/llm/adapters/anthropic.js.map +1 -1
  129. package/dist/esm/llm/adapters/gemini.js +98 -7
  130. package/dist/esm/llm/adapters/gemini.js.map +1 -1
  131. package/dist/esm/llm/adapters/index.js +15 -4
  132. package/dist/esm/llm/adapters/index.js.map +1 -1
  133. package/dist/esm/llm/adapters/ollama.js +117 -2
  134. package/dist/esm/llm/adapters/ollama.js.map +1 -1
  135. package/dist/esm/llm/adapters/openai.js +105 -1
  136. package/dist/esm/llm/adapters/openai.js.map +1 -1
  137. package/dist/esm/mcp/cli.js +267 -0
  138. package/dist/esm/mcp/cli.js.map +1 -0
  139. package/dist/esm/mcp/index.js +39 -0
  140. package/dist/esm/mcp/index.js.map +1 -0
  141. package/dist/esm/mcp/prompts.js +419 -0
  142. package/dist/esm/mcp/prompts.js.map +1 -0
  143. package/dist/esm/mcp/resources.js +359 -0
  144. package/dist/esm/mcp/resources.js.map +1 -0
  145. package/dist/esm/mcp/server.js +372 -0
  146. package/dist/esm/mcp/server.js.map +1 -0
  147. package/dist/esm/mcp/tools.js +598 -0
  148. package/dist/esm/mcp/tools.js.map +1 -0
  149. package/dist/esm/mcp/types.js +9 -0
  150. package/dist/esm/mcp/types.js.map +1 -0
  151. package/dist/esm/types/assessment.js +40 -0
  152. package/dist/esm/types/assessment.js.map +1 -0
  153. package/dist/esm/types/bloom.js +11 -0
  154. package/dist/esm/types/bloom.js.map +1 -1
  155. package/dist/esm/types/index.js +2 -1
  156. package/dist/esm/types/index.js.map +1 -1
  157. package/dist/types/api/routes/analytics.d.ts +14 -0
  158. package/dist/types/api/routes/analytics.d.ts.map +1 -0
  159. package/dist/types/api/routes/assessments.d.ts +14 -0
  160. package/dist/types/api/routes/assessments.d.ts.map +1 -0
  161. package/dist/types/api/routes/curriculum.d.ts +14 -0
  162. package/dist/types/api/routes/curriculum.d.ts.map +1 -0
  163. package/dist/types/api/routes/edges.d.ts +14 -0
  164. package/dist/types/api/routes/edges.d.ts.map +1 -0
  165. package/dist/types/api/routes/explore.d.ts +14 -0
  166. package/dist/types/api/routes/explore.d.ts.map +1 -0
  167. package/dist/types/api/routes/learners.d.ts +14 -0
  168. package/dist/types/api/routes/learners.d.ts.map +1 -0
  169. package/dist/types/api/routes/me.d.ts +14 -0
  170. package/dist/types/api/routes/me.d.ts.map +1 -0
  171. package/dist/types/api/routes/skills.d.ts +14 -0
  172. package/dist/types/api/routes/skills.d.ts.map +1 -0
  173. package/dist/types/api/server.d.ts +147 -0
  174. package/dist/types/api/server.d.ts.map +1 -0
  175. package/dist/types/api/types.d.ts +443 -0
  176. package/dist/types/api/types.d.ts.map +1 -0
  177. package/dist/types/assessment/adaptive.d.ts +155 -0
  178. package/dist/types/assessment/adaptive.d.ts.map +1 -0
  179. package/dist/types/assessment/bkt.d.ts +185 -0
  180. package/dist/types/assessment/bkt.d.ts.map +1 -0
  181. package/dist/types/assessment/index.d.ts +18 -0
  182. package/dist/types/assessment/index.d.ts.map +1 -0
  183. package/dist/types/assessment/irt.d.ts +159 -0
  184. package/dist/types/assessment/irt.d.ts.map +1 -0
  185. package/dist/types/assessment/mastery-engine.d.ts +178 -0
  186. package/dist/types/assessment/mastery-engine.d.ts.map +1 -0
  187. package/dist/types/components/LearningPathView.d.ts +40 -0
  188. package/dist/types/components/LearningPathView.d.ts.map +1 -0
  189. package/dist/types/components/ProgressDashboard.d.ts +49 -0
  190. package/dist/types/components/ProgressDashboard.d.ts.map +1 -0
  191. package/dist/types/components/SkillCard.d.ts +34 -0
  192. package/dist/types/components/SkillCard.d.ts.map +1 -0
  193. package/dist/types/components/SkillExplorer.d.ts +39 -0
  194. package/dist/types/components/SkillExplorer.d.ts.map +1 -0
  195. package/dist/types/components/SkillGraph.d.ts +38 -0
  196. package/dist/types/components/SkillGraph.d.ts.map +1 -0
  197. package/dist/types/components/hooks.d.ts +187 -0
  198. package/dist/types/components/hooks.d.ts.map +1 -0
  199. package/dist/types/components/index.d.ts +59 -0
  200. package/dist/types/components/index.d.ts.map +1 -0
  201. package/dist/types/components/types.d.ts +410 -0
  202. package/dist/types/components/types.d.ts.map +1 -0
  203. package/dist/types/index.d.ts +1 -0
  204. package/dist/types/index.d.ts.map +1 -1
  205. package/dist/types/llm/adapters/anthropic.d.ts +84 -1
  206. package/dist/types/llm/adapters/anthropic.d.ts.map +1 -1
  207. package/dist/types/llm/adapters/gemini.d.ts +93 -6
  208. package/dist/types/llm/adapters/gemini.d.ts.map +1 -1
  209. package/dist/types/llm/adapters/index.d.ts +13 -4
  210. package/dist/types/llm/adapters/index.d.ts.map +1 -1
  211. package/dist/types/llm/adapters/ollama.d.ts +126 -1
  212. package/dist/types/llm/adapters/ollama.d.ts.map +1 -1
  213. package/dist/types/llm/adapters/openai.d.ts +104 -1
  214. package/dist/types/llm/adapters/openai.d.ts.map +1 -1
  215. package/dist/types/mcp/cli.d.ts +15 -0
  216. package/dist/types/mcp/cli.d.ts.map +1 -0
  217. package/dist/types/mcp/index.d.ts +32 -0
  218. package/dist/types/mcp/index.d.ts.map +1 -0
  219. package/dist/types/mcp/prompts.d.ts +27 -0
  220. package/dist/types/mcp/prompts.d.ts.map +1 -0
  221. package/dist/types/mcp/resources.d.ts +59 -0
  222. package/dist/types/mcp/resources.d.ts.map +1 -0
  223. package/dist/types/mcp/server.d.ts +136 -0
  224. package/dist/types/mcp/server.d.ts.map +1 -0
  225. package/dist/types/mcp/tools.d.ts +344 -0
  226. package/dist/types/mcp/tools.d.ts.map +1 -0
  227. package/dist/types/mcp/types.d.ts +137 -0
  228. package/dist/types/mcp/types.d.ts.map +1 -0
  229. package/dist/types/types/assessment.d.ts +512 -0
  230. package/dist/types/types/assessment.d.ts.map +1 -0
  231. package/dist/types/types/bloom.d.ts +4 -0
  232. package/dist/types/types/bloom.d.ts.map +1 -1
  233. package/dist/types/types/index.d.ts +3 -1
  234. package/dist/types/types/index.d.ts.map +1 -1
  235. package/package.json +48 -3
@@ -2,12 +2,90 @@
2
2
  /**
3
3
  * OpenAI adapter for LLM integration
4
4
  *
5
+ * Supports all OpenAI models including GPT-5, o3, and GPT-4.1 families.
6
+ *
5
7
  * @packageDocumentation
6
8
  */
7
9
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.OpenAIAdapter = void 0;
10
+ exports.OpenAIAdapter = exports.OPENAI_MODELS = exports.GPT_4_LEGACY_MODELS = exports.GPT_4O_MODELS = exports.GPT_4_1_MODELS = exports.O_SERIES_MODELS = exports.GPT_5_MODELS = void 0;
11
+ exports.resolveOpenAIModel = resolveOpenAIModel;
9
12
  exports.createOpenAIAdapter = createOpenAIAdapter;
13
+ exports.listOpenAIModels = listOpenAIModels;
10
14
  const base_js_1 = require("./base.js");
15
+ // ─────────────────────────────────────────────────────────────────────────────
16
+ // OpenAI Model Registry
17
+ // Models are updated frequently - use any valid model ID string.
18
+ // These constants are provided for convenience but you can use any model.
19
+ // ─────────────────────────────────────────────────────────────────────────────
20
+ /**
21
+ * GPT-5 Models (Latest - 2025)
22
+ * - gpt-5: Flagship model for general-purpose and agentic use
23
+ * - gpt-5-mini: Smaller, faster version
24
+ * - gpt-5-nano: Smallest, most cost-effective
25
+ */
26
+ exports.GPT_5_MODELS = {
27
+ 'gpt-5': 'gpt-5',
28
+ 'gpt-5-mini': 'gpt-5-mini',
29
+ 'gpt-5-nano': 'gpt-5-nano',
30
+ };
31
+ /**
32
+ * o-Series Reasoning Models (Latest - 2025)
33
+ * - o3: Most powerful reasoning model
34
+ * - o3-pro: Extended thinking for complex tasks
35
+ * - o4-mini: Fast, cost-efficient reasoning
36
+ */
37
+ exports.O_SERIES_MODELS = {
38
+ 'o3': 'o3',
39
+ 'o3-pro': 'o3-pro',
40
+ 'o4-mini': 'o4-mini',
41
+ 'o1': 'o1', // Previous generation
42
+ };
43
+ /**
44
+ * GPT-4.1 Models (2025)
45
+ * - Major gains in coding and instruction following
46
+ * - Up to 1M token context
47
+ */
48
+ exports.GPT_4_1_MODELS = {
49
+ 'gpt-4.1': 'gpt-4.1',
50
+ 'gpt-4.1-mini': 'gpt-4.1-mini',
51
+ 'gpt-4.1-nano': 'gpt-4.1-nano',
52
+ };
53
+ /**
54
+ * GPT-4o Models (2024-2025)
55
+ * - Optimized for speed and multimodal
56
+ */
57
+ exports.GPT_4O_MODELS = {
58
+ 'gpt-4o': 'gpt-4o',
59
+ 'gpt-4o-mini': 'gpt-4o-mini',
60
+ };
61
+ /**
62
+ * Legacy GPT-4 Models
63
+ */
64
+ exports.GPT_4_LEGACY_MODELS = {
65
+ 'gpt-4-turbo': 'gpt-4-turbo',
66
+ 'gpt-4': 'gpt-4',
67
+ };
68
+ /**
69
+ * All available OpenAI models
70
+ */
71
+ exports.OPENAI_MODELS = {
72
+ ...exports.GPT_5_MODELS,
73
+ ...exports.O_SERIES_MODELS,
74
+ ...exports.GPT_4_1_MODELS,
75
+ ...exports.GPT_4O_MODELS,
76
+ ...exports.GPT_4_LEGACY_MODELS,
77
+ };
78
+ /**
79
+ * Resolve a model alias or ID to the full model ID
80
+ */
81
+ function resolveOpenAIModel(modelOrAlias) {
82
+ // Check if it's an alias
83
+ if (modelOrAlias in exports.OPENAI_MODELS) {
84
+ return exports.OPENAI_MODELS[modelOrAlias];
85
+ }
86
+ // Otherwise return as-is (allows using any model ID directly)
87
+ return modelOrAlias;
88
+ }
11
89
  /**
12
90
  * OpenAI adapter for chat completions
13
91
  */
@@ -110,12 +188,31 @@ class OpenAIAdapter extends base_js_1.BaseLLMAdapter {
110
188
  exports.OpenAIAdapter = OpenAIAdapter;
111
189
  /**
112
190
  * Create an OpenAI adapter from environment variables
191
+ *
192
+ * @param model - Model ID or alias (e.g., 'gpt-5', 'o3', 'gpt-4.1', 'gpt-4o')
193
+ * Use aliases for convenience or full model IDs for specific versions.
194
+ * Any valid OpenAI model ID will work - not limited to the aliases.
195
+ *
196
+ * @example
197
+ * ```typescript
198
+ * // Using current flagship model
199
+ * const adapter = createOpenAIAdapter('gpt-5');
200
+ *
201
+ * // Using reasoning model for complex tasks
202
+ * const adapter = createOpenAIAdapter('o3');
203
+ *
204
+ * // Using fast, cost-effective reasoning
205
+ * const adapter = createOpenAIAdapter('o4-mini');
206
+ *
207
+ * // Using a future model (when released)
208
+ * const adapter = createOpenAIAdapter('gpt-6');
209
+ * ```
113
210
  */
114
211
  function createOpenAIAdapter(model = 'gpt-4o', overrides) {
115
212
  const apiKey = typeof process !== 'undefined' ? process.env.OPENAI_API_KEY : undefined;
116
213
  const config = {
117
214
  provider: 'openai',
118
- model,
215
+ model: resolveOpenAIModel(model),
119
216
  ...overrides,
120
217
  };
121
218
  if (apiKey) {
@@ -123,4 +220,13 @@ function createOpenAIAdapter(model = 'gpt-4o', overrides) {
123
220
  }
124
221
  return new OpenAIAdapter(config);
125
222
  }
223
+ /**
224
+ * List all available OpenAI model aliases
225
+ */
226
+ function listOpenAIModels() {
227
+ return Object.entries(exports.OPENAI_MODELS).map(([alias, modelId]) => ({
228
+ alias,
229
+ modelId,
230
+ }));
231
+ }
126
232
  //# sourceMappingURL=openai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../../src/llm/adapters/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../../src/llm/adapters/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,302 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * LearnGraph MCP Server CLI
5
+ *
6
+ * Command-line interface for running the LearnGraph MCP server.
7
+ *
8
+ * Usage:
9
+ * npx learngraph-mcp # Run with in-memory storage
10
+ * npx learngraph-mcp --neo4j <uri> # Run with Neo4j backend
11
+ * npx learngraph-mcp --level <path> # Run with LevelGraph backend
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ const server_js_1 = require("./server.js");
50
+ const memory_js_1 = require("../storage/memory.js");
51
+ function parseArgs(args) {
52
+ const options = {
53
+ backend: 'memory',
54
+ debug: false,
55
+ help: false,
56
+ };
57
+ for (let i = 0; i < args.length; i++) {
58
+ const arg = args[i];
59
+ switch (arg) {
60
+ case '-h':
61
+ case '--help':
62
+ options.help = true;
63
+ break;
64
+ case '-d':
65
+ case '--debug':
66
+ options.debug = true;
67
+ break;
68
+ case '--neo4j': {
69
+ options.backend = 'neo4j';
70
+ const nextArg = args[i + 1];
71
+ if (nextArg !== undefined && !nextArg.startsWith('-')) {
72
+ options.neo4jUri = nextArg;
73
+ i++;
74
+ }
75
+ break;
76
+ }
77
+ case '--neo4j-user': {
78
+ const nextArg = args[i + 1];
79
+ if (nextArg !== undefined) {
80
+ options.neo4jUser = nextArg;
81
+ i++;
82
+ }
83
+ break;
84
+ }
85
+ case '--neo4j-password': {
86
+ const nextArg = args[i + 1];
87
+ if (nextArg !== undefined) {
88
+ options.neo4jPassword = nextArg;
89
+ i++;
90
+ }
91
+ break;
92
+ }
93
+ case '--level':
94
+ case '--levelgraph': {
95
+ options.backend = 'levelgraph';
96
+ const nextArg = args[i + 1];
97
+ if (nextArg !== undefined && !nextArg.startsWith('-')) {
98
+ options.levelPath = nextArg;
99
+ i++;
100
+ }
101
+ break;
102
+ }
103
+ case '--memory':
104
+ options.backend = 'memory';
105
+ break;
106
+ }
107
+ }
108
+ return options;
109
+ }
110
+ function printHelp() {
111
+ console.error(`
112
+ LearnGraph MCP Server
113
+
114
+ An MCP server that provides educational knowledge graph capabilities to Claude.
115
+
116
+ USAGE:
117
+ learngraph-mcp [OPTIONS]
118
+
119
+ OPTIONS:
120
+ -h, --help Show this help message
121
+ -d, --debug Enable debug logging
122
+
123
+ --memory Use in-memory storage (default)
124
+ --neo4j <uri> Use Neo4j storage
125
+ --neo4j-user <user> Neo4j username (default: neo4j)
126
+ --neo4j-password <pwd> Neo4j password
127
+ --level <path> Use LevelGraph storage
128
+
129
+ ENVIRONMENT VARIABLES:
130
+ NEO4J_URI Neo4j connection URI
131
+ NEO4J_USER Neo4j username
132
+ NEO4J_PASSWORD Neo4j password
133
+ LEARNGRAPH_DEBUG Enable debug logging (1 or true)
134
+
135
+ EXAMPLES:
136
+ # Run with in-memory storage
137
+ learngraph-mcp
138
+
139
+ # Run with Neo4j
140
+ learngraph-mcp --neo4j bolt://localhost:7687 --neo4j-password secret
141
+
142
+ # Run with LevelGraph (file-based)
143
+ learngraph-mcp --level ./my-graph
144
+
145
+ CLAUDE DESKTOP CONFIGURATION:
146
+ Add to claude_desktop_config.json:
147
+ {
148
+ "mcpServers": {
149
+ "learngraph": {
150
+ "command": "npx",
151
+ "args": ["learngraph-mcp"]
152
+ }
153
+ }
154
+ }
155
+
156
+ AVAILABLE TOOLS:
157
+ list_skills List all skills in the knowledge graph
158
+ get_skill Get detailed skill information
159
+ create_skill Create a new skill
160
+ search_skills Search skills by name/description
161
+ get_prerequisites Get prerequisite skills
162
+ get_dependents Get dependent skills
163
+ get_learning_path Generate a learning path
164
+ get_zpd_skills Get skills in the Zone of Proximal Development
165
+ create_prerequisite Create a prerequisite relationship
166
+ get_graph_stats Get graph statistics
167
+ validate_curriculum Validate curriculum structure
168
+
169
+ AVAILABLE RESOURCES:
170
+ learngraph://curriculum/overview Curriculum overview
171
+ learngraph://curriculum/skills All skills
172
+ learngraph://curriculum/edges All prerequisites
173
+ learngraph://curriculum/skills/{id} Specific skill
174
+ learngraph://curriculum/bloom/{lvl} Skills by Bloom level
175
+ learngraph://curriculum/tags All tags
176
+ learngraph://curriculum/export Full export
177
+
178
+ AVAILABLE PROMPTS:
179
+ analyze_syllabus Extract skills from a syllabus
180
+ generate_learning_path Create a personalized learning path
181
+ identify_prerequisites Map prerequisite relationships
182
+ zpd_recommendations Get ZPD-based skill recommendations
183
+ curriculum_validation Validate curriculum structure
184
+ gap_analysis Analyze competency gaps
185
+ create_assessment Generate skill assessments
186
+ explain_concept Multi-level concept explanations
187
+ `);
188
+ }
189
+ // ─────────────────────────────────────────────────────────────────────────────
190
+ // Storage Factory
191
+ // ─────────────────────────────────────────────────────────────────────────────
192
+ async function createStorage(options) {
193
+ const debug = options.debug || process.env.LEARNGRAPH_DEBUG === '1' || process.env.LEARNGRAPH_DEBUG === 'true';
194
+ if (debug) {
195
+ console.error('[LearnGraph MCP] Creating storage...');
196
+ }
197
+ switch (options.backend) {
198
+ case 'neo4j': {
199
+ const uri = options.neo4jUri || process.env.NEO4J_URI || 'bolt://localhost:7687';
200
+ const user = options.neo4jUser || process.env.NEO4J_USER || 'neo4j';
201
+ const password = options.neo4jPassword || process.env.NEO4J_PASSWORD;
202
+ if (!password) {
203
+ console.error('Error: Neo4j password required. Use --neo4j-password or NEO4J_PASSWORD env var.');
204
+ process.exit(1);
205
+ }
206
+ try {
207
+ const { Neo4jStorage } = await Promise.resolve().then(() => __importStar(require('../storage/neo4j.js')));
208
+ const storage = new Neo4jStorage();
209
+ await storage.connect({
210
+ backend: 'neo4j',
211
+ uri,
212
+ username: user,
213
+ password,
214
+ });
215
+ if (debug) {
216
+ console.error(`[LearnGraph MCP] Connected to Neo4j at ${uri}`);
217
+ }
218
+ return storage;
219
+ }
220
+ catch (err) {
221
+ console.error('Error: Neo4j driver not installed. Run: npm install neo4j-driver');
222
+ process.exit(1);
223
+ }
224
+ }
225
+ case 'levelgraph': {
226
+ const path = options.levelPath;
227
+ try {
228
+ const { LevelGraphStorage } = await Promise.resolve().then(() => __importStar(require('../storage/levelgraph.js')));
229
+ const storage = new LevelGraphStorage();
230
+ const config = { backend: 'levelgraph' };
231
+ if (path) {
232
+ config.path = path;
233
+ }
234
+ await storage.connect(config);
235
+ if (debug) {
236
+ console.error(`[LearnGraph MCP] LevelGraph storage${path ? ` at ${path}` : ' (in-memory)'}`);
237
+ }
238
+ return storage;
239
+ }
240
+ catch (err) {
241
+ console.error('Error: LevelGraph not installed. Run: npm install level levelgraph');
242
+ process.exit(1);
243
+ }
244
+ }
245
+ case 'memory':
246
+ default: {
247
+ const storage = new memory_js_1.MemoryStorage();
248
+ await storage.connect({ backend: 'memory' });
249
+ if (debug) {
250
+ console.error('[LearnGraph MCP] Using in-memory storage');
251
+ }
252
+ return storage;
253
+ }
254
+ }
255
+ }
256
+ // ─────────────────────────────────────────────────────────────────────────────
257
+ // Main
258
+ // ─────────────────────────────────────────────────────────────────────────────
259
+ async function main() {
260
+ const options = parseArgs(process.argv.slice(2));
261
+ if (options.help) {
262
+ printHelp();
263
+ process.exit(0);
264
+ }
265
+ const debug = options.debug || process.env.LEARNGRAPH_DEBUG === '1' || process.env.LEARNGRAPH_DEBUG === 'true';
266
+ try {
267
+ // Create storage
268
+ const storage = await createStorage(options);
269
+ // Create and start MCP server
270
+ const server = new server_js_1.LearnGraphMcpServer({
271
+ storage,
272
+ debug,
273
+ });
274
+ await server.start();
275
+ if (debug) {
276
+ console.error('[LearnGraph MCP] Server running. Waiting for MCP client connection...');
277
+ }
278
+ // Handle graceful shutdown
279
+ process.on('SIGINT', () => {
280
+ if (debug) {
281
+ console.error('[LearnGraph MCP] Shutting down...');
282
+ }
283
+ process.exit(0);
284
+ });
285
+ process.on('SIGTERM', () => {
286
+ if (debug) {
287
+ console.error('[LearnGraph MCP] Shutting down...');
288
+ }
289
+ process.exit(0);
290
+ });
291
+ }
292
+ catch (err) {
293
+ console.error('Error starting MCP server:', err instanceof Error ? err.message : err);
294
+ process.exit(1);
295
+ }
296
+ }
297
+ // Run if executed directly
298
+ main().catch((err) => {
299
+ console.error('Fatal error:', err);
300
+ process.exit(1);
301
+ });
302
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/mcp/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /**
3
+ * LearnGraph MCP Server Module
4
+ *
5
+ * Model Context Protocol integration for Claude.
6
+ * Provides tools, resources, and prompts for educational knowledge graphs.
7
+ *
8
+ * @packageDocumentation
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import { LearnGraphMcpServer, startMcpServer } from 'learngraph/mcp';
13
+ * import { MemoryStorage } from 'learngraph/storage';
14
+ *
15
+ * // Create storage
16
+ * const storage = new MemoryStorage();
17
+ * await storage.connect({ backend: 'memory' });
18
+ *
19
+ * // Option 1: Quick start
20
+ * await startMcpServer({ storage });
21
+ *
22
+ * // Option 2: Full control
23
+ * const server = new LearnGraphMcpServer({ storage });
24
+ * console.log(server.listTools());
25
+ * await server.start();
26
+ * ```
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.getPromptDefinition = exports.renderPrompt = exports.getPromptMetas = exports.PROMPT_DEFINITIONS = exports.getFullExport = exports.getAllTags = exports.getSkillsByBloomLevel = exports.getSkillById = exports.getAllEdges = exports.getAllSkills = exports.getCurriculumOverview = exports.resolveResource = exports.listResources = exports.getResourceTemplates = exports.validateCurriculum = exports.getGraphStats = exports.createPrerequisite = exports.getZpdSkills = exports.getLearningPath = exports.getDependents = exports.getPrerequisites = exports.searchSkills = exports.createSkill = exports.getSkill = exports.listSkills = exports.ValidateCurriculumSchema = exports.GetGraphStatsSchema = exports.CreatePrerequisiteSchema = exports.GetZpdSkillsSchema = exports.GetLearningPathSchema = exports.GetDependentsSchema = exports.GetPrerequisitesSchema = exports.SearchSkillsSchema = exports.CreateSkillSchema = exports.GetSkillSchema = exports.ListSkillsSchema = exports.TOOL_DEFINITIONS = exports.startMcpServer = exports.LearnGraphMcpServer = void 0;
30
+ // Server
31
+ var server_js_1 = require("./server.js");
32
+ Object.defineProperty(exports, "LearnGraphMcpServer", { enumerable: true, get: function () { return server_js_1.LearnGraphMcpServer; } });
33
+ Object.defineProperty(exports, "startMcpServer", { enumerable: true, get: function () { return server_js_1.startMcpServer; } });
34
+ // Tools
35
+ var tools_js_1 = require("./tools.js");
36
+ Object.defineProperty(exports, "TOOL_DEFINITIONS", { enumerable: true, get: function () { return tools_js_1.TOOL_DEFINITIONS; } });
37
+ // Individual tool schemas for advanced usage
38
+ Object.defineProperty(exports, "ListSkillsSchema", { enumerable: true, get: function () { return tools_js_1.ListSkillsSchema; } });
39
+ Object.defineProperty(exports, "GetSkillSchema", { enumerable: true, get: function () { return tools_js_1.GetSkillSchema; } });
40
+ Object.defineProperty(exports, "CreateSkillSchema", { enumerable: true, get: function () { return tools_js_1.CreateSkillSchema; } });
41
+ Object.defineProperty(exports, "SearchSkillsSchema", { enumerable: true, get: function () { return tools_js_1.SearchSkillsSchema; } });
42
+ Object.defineProperty(exports, "GetPrerequisitesSchema", { enumerable: true, get: function () { return tools_js_1.GetPrerequisitesSchema; } });
43
+ Object.defineProperty(exports, "GetDependentsSchema", { enumerable: true, get: function () { return tools_js_1.GetDependentsSchema; } });
44
+ Object.defineProperty(exports, "GetLearningPathSchema", { enumerable: true, get: function () { return tools_js_1.GetLearningPathSchema; } });
45
+ Object.defineProperty(exports, "GetZpdSkillsSchema", { enumerable: true, get: function () { return tools_js_1.GetZpdSkillsSchema; } });
46
+ Object.defineProperty(exports, "CreatePrerequisiteSchema", { enumerable: true, get: function () { return tools_js_1.CreatePrerequisiteSchema; } });
47
+ Object.defineProperty(exports, "GetGraphStatsSchema", { enumerable: true, get: function () { return tools_js_1.GetGraphStatsSchema; } });
48
+ Object.defineProperty(exports, "ValidateCurriculumSchema", { enumerable: true, get: function () { return tools_js_1.ValidateCurriculumSchema; } });
49
+ // Individual tool handlers for testing
50
+ Object.defineProperty(exports, "listSkills", { enumerable: true, get: function () { return tools_js_1.listSkills; } });
51
+ Object.defineProperty(exports, "getSkill", { enumerable: true, get: function () { return tools_js_1.getSkill; } });
52
+ Object.defineProperty(exports, "createSkill", { enumerable: true, get: function () { return tools_js_1.createSkill; } });
53
+ Object.defineProperty(exports, "searchSkills", { enumerable: true, get: function () { return tools_js_1.searchSkills; } });
54
+ Object.defineProperty(exports, "getPrerequisites", { enumerable: true, get: function () { return tools_js_1.getPrerequisites; } });
55
+ Object.defineProperty(exports, "getDependents", { enumerable: true, get: function () { return tools_js_1.getDependents; } });
56
+ Object.defineProperty(exports, "getLearningPath", { enumerable: true, get: function () { return tools_js_1.getLearningPath; } });
57
+ Object.defineProperty(exports, "getZpdSkills", { enumerable: true, get: function () { return tools_js_1.getZpdSkills; } });
58
+ Object.defineProperty(exports, "createPrerequisite", { enumerable: true, get: function () { return tools_js_1.createPrerequisite; } });
59
+ Object.defineProperty(exports, "getGraphStats", { enumerable: true, get: function () { return tools_js_1.getGraphStats; } });
60
+ Object.defineProperty(exports, "validateCurriculum", { enumerable: true, get: function () { return tools_js_1.validateCurriculum; } });
61
+ // Resources
62
+ var resources_js_1 = require("./resources.js");
63
+ Object.defineProperty(exports, "getResourceTemplates", { enumerable: true, get: function () { return resources_js_1.getResourceTemplates; } });
64
+ Object.defineProperty(exports, "listResources", { enumerable: true, get: function () { return resources_js_1.listResources; } });
65
+ Object.defineProperty(exports, "resolveResource", { enumerable: true, get: function () { return resources_js_1.resolveResource; } });
66
+ Object.defineProperty(exports, "getCurriculumOverview", { enumerable: true, get: function () { return resources_js_1.getCurriculumOverview; } });
67
+ Object.defineProperty(exports, "getAllSkills", { enumerable: true, get: function () { return resources_js_1.getAllSkills; } });
68
+ Object.defineProperty(exports, "getAllEdges", { enumerable: true, get: function () { return resources_js_1.getAllEdges; } });
69
+ Object.defineProperty(exports, "getSkillById", { enumerable: true, get: function () { return resources_js_1.getSkillById; } });
70
+ Object.defineProperty(exports, "getSkillsByBloomLevel", { enumerable: true, get: function () { return resources_js_1.getSkillsByBloomLevel; } });
71
+ Object.defineProperty(exports, "getAllTags", { enumerable: true, get: function () { return resources_js_1.getAllTags; } });
72
+ Object.defineProperty(exports, "getFullExport", { enumerable: true, get: function () { return resources_js_1.getFullExport; } });
73
+ // Prompts
74
+ var prompts_js_1 = require("./prompts.js");
75
+ Object.defineProperty(exports, "PROMPT_DEFINITIONS", { enumerable: true, get: function () { return prompts_js_1.PROMPT_DEFINITIONS; } });
76
+ Object.defineProperty(exports, "getPromptMetas", { enumerable: true, get: function () { return prompts_js_1.getPromptMetas; } });
77
+ Object.defineProperty(exports, "renderPrompt", { enumerable: true, get: function () { return prompts_js_1.renderPrompt; } });
78
+ Object.defineProperty(exports, "getPromptDefinition", { enumerable: true, get: function () { return prompts_js_1.getPromptDefinition; } });
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;AAEH,SAAS;AACT,yCAAkE;AAAzD,gHAAA,mBAAmB,OAAA;AAAE,2GAAA,cAAc,OAAA;AAmB5C,QAAQ;AACR,uCA2BoB;AA1BlB,4GAAA,gBAAgB,OAAA;AAEhB,6CAA6C;AAC7C,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAClB,kHAAA,sBAAsB,OAAA;AACtB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AACrB,8GAAA,kBAAkB,OAAA;AAClB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AACnB,oHAAA,wBAAwB,OAAA;AACxB,uCAAuC;AACvC,sGAAA,UAAU,OAAA;AACV,oGAAA,QAAQ,OAAA;AACR,uGAAA,WAAW,OAAA;AACX,wGAAA,YAAY,OAAA;AACZ,4GAAA,gBAAgB,OAAA;AAChB,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,wGAAA,YAAY,OAAA;AACZ,8GAAA,kBAAkB,OAAA;AAClB,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AAGpB,YAAY;AACZ,+CAYwB;AAXtB,oHAAA,oBAAoB,OAAA;AACpB,6GAAA,aAAa,OAAA;AACb,+GAAA,eAAe,OAAA;AACf,qHAAA,qBAAqB,OAAA;AACrB,4GAAA,YAAY,OAAA;AACZ,2GAAA,WAAW,OAAA;AACX,4GAAA,YAAY,OAAA;AACZ,qHAAA,qBAAqB,OAAA;AACrB,0GAAA,UAAU,OAAA;AACV,6GAAA,aAAa,OAAA;AAIf,UAAU;AACV,2CAKsB;AAJpB,gHAAA,kBAAkB,OAAA;AAClB,4GAAA,cAAc,OAAA;AACd,0GAAA,YAAY,OAAA;AACZ,iHAAA,mBAAmB,OAAA"}