learngraph 0.5.0 → 0.8.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 (289) 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 +636 -0
  40. package/dist/cjs/components/SkillGraph.js.map +1 -0
  41. package/dist/cjs/components/hooks.js +520 -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/embeddings/base.js +104 -0
  48. package/dist/cjs/embeddings/base.js.map +1 -0
  49. package/dist/cjs/embeddings/index.js +91 -0
  50. package/dist/cjs/embeddings/index.js.map +1 -0
  51. package/dist/cjs/embeddings/local.js +224 -0
  52. package/dist/cjs/embeddings/local.js.map +1 -0
  53. package/dist/cjs/embeddings/openai.js +169 -0
  54. package/dist/cjs/embeddings/openai.js.map +1 -0
  55. package/dist/cjs/index.js +59 -1
  56. package/dist/cjs/index.js.map +1 -1
  57. package/dist/cjs/llm/adapters/anthropic.js +91 -3
  58. package/dist/cjs/llm/adapters/anthropic.js.map +1 -1
  59. package/dist/cjs/llm/adapters/gemini.js +101 -8
  60. package/dist/cjs/llm/adapters/gemini.js.map +1 -1
  61. package/dist/cjs/llm/adapters/index.js +42 -1
  62. package/dist/cjs/llm/adapters/index.js.map +1 -1
  63. package/dist/cjs/llm/adapters/ollama.js +120 -3
  64. package/dist/cjs/llm/adapters/ollama.js.map +1 -1
  65. package/dist/cjs/llm/adapters/openai.js +108 -2
  66. package/dist/cjs/llm/adapters/openai.js.map +1 -1
  67. package/dist/cjs/llm/graphrag-orchestrator.js +1004 -0
  68. package/dist/cjs/llm/graphrag-orchestrator.js.map +1 -0
  69. package/dist/cjs/llm/index.js +7 -1
  70. package/dist/cjs/llm/index.js.map +1 -1
  71. package/dist/cjs/mcp/cli.js +302 -0
  72. package/dist/cjs/mcp/cli.js.map +1 -0
  73. package/dist/cjs/mcp/index.js +79 -0
  74. package/dist/cjs/mcp/index.js.map +1 -0
  75. package/dist/cjs/mcp/prompts.js +425 -0
  76. package/dist/cjs/mcp/prompts.js.map +1 -0
  77. package/dist/cjs/mcp/resources.js +371 -0
  78. package/dist/cjs/mcp/resources.js.map +1 -0
  79. package/dist/cjs/mcp/server.js +410 -0
  80. package/dist/cjs/mcp/server.js.map +1 -0
  81. package/dist/cjs/mcp/tools.js +612 -0
  82. package/dist/cjs/mcp/tools.js.map +1 -0
  83. package/dist/cjs/mcp/types.js +10 -0
  84. package/dist/cjs/mcp/types.js.map +1 -0
  85. package/dist/cjs/storage/index.js +15 -1
  86. package/dist/cjs/storage/index.js.map +1 -1
  87. package/dist/cjs/storage/neo4j-graphrag.js +596 -0
  88. package/dist/cjs/storage/neo4j-graphrag.js.map +1 -0
  89. package/dist/cjs/types/assessment.js +46 -0
  90. package/dist/cjs/types/assessment.js.map +1 -0
  91. package/dist/cjs/types/bloom.js +12 -1
  92. package/dist/cjs/types/bloom.js.map +1 -1
  93. package/dist/cjs/types/graphrag.js +11 -0
  94. package/dist/cjs/types/graphrag.js.map +1 -0
  95. package/dist/cjs/types/index.js +7 -1
  96. package/dist/cjs/types/index.js.map +1 -1
  97. package/dist/esm/api/routes/analytics.js +285 -0
  98. package/dist/esm/api/routes/analytics.js.map +1 -0
  99. package/dist/esm/api/routes/assessments.js +266 -0
  100. package/dist/esm/api/routes/assessments.js.map +1 -0
  101. package/dist/esm/api/routes/curriculum.js +342 -0
  102. package/dist/esm/api/routes/curriculum.js.map +1 -0
  103. package/dist/esm/api/routes/edges.js +159 -0
  104. package/dist/esm/api/routes/edges.js.map +1 -0
  105. package/dist/esm/api/routes/explore.js +221 -0
  106. package/dist/esm/api/routes/explore.js.map +1 -0
  107. package/dist/esm/api/routes/learners.js +321 -0
  108. package/dist/esm/api/routes/learners.js.map +1 -0
  109. package/dist/esm/api/routes/me.js +401 -0
  110. package/dist/esm/api/routes/me.js.map +1 -0
  111. package/dist/esm/api/routes/skills.js +316 -0
  112. package/dist/esm/api/routes/skills.js.map +1 -0
  113. package/dist/esm/api/server.js +179 -0
  114. package/dist/esm/api/server.js.map +1 -0
  115. package/dist/esm/api/types.js +9 -0
  116. package/dist/esm/api/types.js.map +1 -0
  117. package/dist/esm/assessment/adaptive.js +384 -0
  118. package/dist/esm/assessment/adaptive.js.map +1 -0
  119. package/dist/esm/assessment/bkt.js +354 -0
  120. package/dist/esm/assessment/bkt.js.map +1 -0
  121. package/dist/esm/assessment/index.js +21 -0
  122. package/dist/esm/assessment/index.js.map +1 -0
  123. package/dist/esm/assessment/irt.js +406 -0
  124. package/dist/esm/assessment/irt.js.map +1 -0
  125. package/dist/esm/assessment/mastery-engine.js +406 -0
  126. package/dist/esm/assessment/mastery-engine.js.map +1 -0
  127. package/dist/esm/components/LearningPathView.js +316 -0
  128. package/dist/esm/components/LearningPathView.js.map +1 -0
  129. package/dist/esm/components/ProgressDashboard.js +304 -0
  130. package/dist/esm/components/ProgressDashboard.js.map +1 -0
  131. package/dist/esm/components/SkillCard.js +260 -0
  132. package/dist/esm/components/SkillCard.js.map +1 -0
  133. package/dist/esm/components/SkillExplorer.js +397 -0
  134. package/dist/esm/components/SkillExplorer.js.map +1 -0
  135. package/dist/esm/components/SkillGraph.js +599 -0
  136. package/dist/esm/components/SkillGraph.js.map +1 -0
  137. package/dist/esm/components/hooks.js +512 -0
  138. package/dist/esm/components/hooks.js.map +1 -0
  139. package/dist/esm/components/index.js +61 -0
  140. package/dist/esm/components/index.js.map +1 -0
  141. package/dist/esm/components/types.js +31 -0
  142. package/dist/esm/components/types.js.map +1 -0
  143. package/dist/esm/embeddings/base.js +99 -0
  144. package/dist/esm/embeddings/base.js.map +1 -0
  145. package/dist/esm/embeddings/index.js +79 -0
  146. package/dist/esm/embeddings/index.js.map +1 -0
  147. package/dist/esm/embeddings/local.js +219 -0
  148. package/dist/esm/embeddings/local.js.map +1 -0
  149. package/dist/esm/embeddings/openai.js +164 -0
  150. package/dist/esm/embeddings/openai.js.map +1 -0
  151. package/dist/esm/index.js +28 -0
  152. package/dist/esm/index.js.map +1 -1
  153. package/dist/esm/llm/adapters/anthropic.js +88 -2
  154. package/dist/esm/llm/adapters/anthropic.js.map +1 -1
  155. package/dist/esm/llm/adapters/gemini.js +98 -7
  156. package/dist/esm/llm/adapters/gemini.js.map +1 -1
  157. package/dist/esm/llm/adapters/index.js +15 -4
  158. package/dist/esm/llm/adapters/index.js.map +1 -1
  159. package/dist/esm/llm/adapters/ollama.js +117 -2
  160. package/dist/esm/llm/adapters/ollama.js.map +1 -1
  161. package/dist/esm/llm/adapters/openai.js +105 -1
  162. package/dist/esm/llm/adapters/openai.js.map +1 -1
  163. package/dist/esm/llm/graphrag-orchestrator.js +999 -0
  164. package/dist/esm/llm/graphrag-orchestrator.js.map +1 -0
  165. package/dist/esm/llm/index.js +4 -0
  166. package/dist/esm/llm/index.js.map +1 -1
  167. package/dist/esm/mcp/cli.js +267 -0
  168. package/dist/esm/mcp/cli.js.map +1 -0
  169. package/dist/esm/mcp/index.js +39 -0
  170. package/dist/esm/mcp/index.js.map +1 -0
  171. package/dist/esm/mcp/prompts.js +419 -0
  172. package/dist/esm/mcp/prompts.js.map +1 -0
  173. package/dist/esm/mcp/resources.js +359 -0
  174. package/dist/esm/mcp/resources.js.map +1 -0
  175. package/dist/esm/mcp/server.js +372 -0
  176. package/dist/esm/mcp/server.js.map +1 -0
  177. package/dist/esm/mcp/tools.js +598 -0
  178. package/dist/esm/mcp/tools.js.map +1 -0
  179. package/dist/esm/mcp/types.js +9 -0
  180. package/dist/esm/mcp/types.js.map +1 -0
  181. package/dist/esm/storage/index.js +8 -0
  182. package/dist/esm/storage/index.js.map +1 -1
  183. package/dist/esm/storage/neo4j-graphrag.js +591 -0
  184. package/dist/esm/storage/neo4j-graphrag.js.map +1 -0
  185. package/dist/esm/types/assessment.js +40 -0
  186. package/dist/esm/types/assessment.js.map +1 -0
  187. package/dist/esm/types/bloom.js +11 -0
  188. package/dist/esm/types/bloom.js.map +1 -1
  189. package/dist/esm/types/graphrag.js +10 -0
  190. package/dist/esm/types/graphrag.js.map +1 -0
  191. package/dist/esm/types/index.js +2 -1
  192. package/dist/esm/types/index.js.map +1 -1
  193. package/dist/types/api/routes/analytics.d.ts +14 -0
  194. package/dist/types/api/routes/analytics.d.ts.map +1 -0
  195. package/dist/types/api/routes/assessments.d.ts +14 -0
  196. package/dist/types/api/routes/assessments.d.ts.map +1 -0
  197. package/dist/types/api/routes/curriculum.d.ts +14 -0
  198. package/dist/types/api/routes/curriculum.d.ts.map +1 -0
  199. package/dist/types/api/routes/edges.d.ts +14 -0
  200. package/dist/types/api/routes/edges.d.ts.map +1 -0
  201. package/dist/types/api/routes/explore.d.ts +14 -0
  202. package/dist/types/api/routes/explore.d.ts.map +1 -0
  203. package/dist/types/api/routes/learners.d.ts +14 -0
  204. package/dist/types/api/routes/learners.d.ts.map +1 -0
  205. package/dist/types/api/routes/me.d.ts +14 -0
  206. package/dist/types/api/routes/me.d.ts.map +1 -0
  207. package/dist/types/api/routes/skills.d.ts +14 -0
  208. package/dist/types/api/routes/skills.d.ts.map +1 -0
  209. package/dist/types/api/server.d.ts +147 -0
  210. package/dist/types/api/server.d.ts.map +1 -0
  211. package/dist/types/api/types.d.ts +443 -0
  212. package/dist/types/api/types.d.ts.map +1 -0
  213. package/dist/types/assessment/adaptive.d.ts +155 -0
  214. package/dist/types/assessment/adaptive.d.ts.map +1 -0
  215. package/dist/types/assessment/bkt.d.ts +185 -0
  216. package/dist/types/assessment/bkt.d.ts.map +1 -0
  217. package/dist/types/assessment/index.d.ts +18 -0
  218. package/dist/types/assessment/index.d.ts.map +1 -0
  219. package/dist/types/assessment/irt.d.ts +159 -0
  220. package/dist/types/assessment/irt.d.ts.map +1 -0
  221. package/dist/types/assessment/mastery-engine.d.ts +178 -0
  222. package/dist/types/assessment/mastery-engine.d.ts.map +1 -0
  223. package/dist/types/components/LearningPathView.d.ts +40 -0
  224. package/dist/types/components/LearningPathView.d.ts.map +1 -0
  225. package/dist/types/components/ProgressDashboard.d.ts +49 -0
  226. package/dist/types/components/ProgressDashboard.d.ts.map +1 -0
  227. package/dist/types/components/SkillCard.d.ts +34 -0
  228. package/dist/types/components/SkillCard.d.ts.map +1 -0
  229. package/dist/types/components/SkillExplorer.d.ts +39 -0
  230. package/dist/types/components/SkillExplorer.d.ts.map +1 -0
  231. package/dist/types/components/SkillGraph.d.ts +38 -0
  232. package/dist/types/components/SkillGraph.d.ts.map +1 -0
  233. package/dist/types/components/hooks.d.ts +187 -0
  234. package/dist/types/components/hooks.d.ts.map +1 -0
  235. package/dist/types/components/index.d.ts +59 -0
  236. package/dist/types/components/index.d.ts.map +1 -0
  237. package/dist/types/components/types.d.ts +410 -0
  238. package/dist/types/components/types.d.ts.map +1 -0
  239. package/dist/types/embeddings/base.d.ts +51 -0
  240. package/dist/types/embeddings/base.d.ts.map +1 -0
  241. package/dist/types/embeddings/index.d.ts +48 -0
  242. package/dist/types/embeddings/index.d.ts.map +1 -0
  243. package/dist/types/embeddings/local.d.ts +82 -0
  244. package/dist/types/embeddings/local.d.ts.map +1 -0
  245. package/dist/types/embeddings/openai.d.ts +48 -0
  246. package/dist/types/embeddings/openai.d.ts.map +1 -0
  247. package/dist/types/index.d.ts +3 -0
  248. package/dist/types/index.d.ts.map +1 -1
  249. package/dist/types/llm/adapters/anthropic.d.ts +84 -1
  250. package/dist/types/llm/adapters/anthropic.d.ts.map +1 -1
  251. package/dist/types/llm/adapters/gemini.d.ts +93 -6
  252. package/dist/types/llm/adapters/gemini.d.ts.map +1 -1
  253. package/dist/types/llm/adapters/index.d.ts +13 -4
  254. package/dist/types/llm/adapters/index.d.ts.map +1 -1
  255. package/dist/types/llm/adapters/ollama.d.ts +126 -1
  256. package/dist/types/llm/adapters/ollama.d.ts.map +1 -1
  257. package/dist/types/llm/adapters/openai.d.ts +104 -1
  258. package/dist/types/llm/adapters/openai.d.ts.map +1 -1
  259. package/dist/types/llm/graphrag-orchestrator.d.ts +280 -0
  260. package/dist/types/llm/graphrag-orchestrator.d.ts.map +1 -0
  261. package/dist/types/llm/index.d.ts +2 -0
  262. package/dist/types/llm/index.d.ts.map +1 -1
  263. package/dist/types/mcp/cli.d.ts +15 -0
  264. package/dist/types/mcp/cli.d.ts.map +1 -0
  265. package/dist/types/mcp/index.d.ts +32 -0
  266. package/dist/types/mcp/index.d.ts.map +1 -0
  267. package/dist/types/mcp/prompts.d.ts +27 -0
  268. package/dist/types/mcp/prompts.d.ts.map +1 -0
  269. package/dist/types/mcp/resources.d.ts +59 -0
  270. package/dist/types/mcp/resources.d.ts.map +1 -0
  271. package/dist/types/mcp/server.d.ts +136 -0
  272. package/dist/types/mcp/server.d.ts.map +1 -0
  273. package/dist/types/mcp/tools.d.ts +344 -0
  274. package/dist/types/mcp/tools.d.ts.map +1 -0
  275. package/dist/types/mcp/types.d.ts +137 -0
  276. package/dist/types/mcp/types.d.ts.map +1 -0
  277. package/dist/types/storage/index.d.ts +2 -0
  278. package/dist/types/storage/index.d.ts.map +1 -1
  279. package/dist/types/storage/neo4j-graphrag.d.ts +106 -0
  280. package/dist/types/storage/neo4j-graphrag.d.ts.map +1 -0
  281. package/dist/types/types/assessment.d.ts +512 -0
  282. package/dist/types/types/assessment.d.ts.map +1 -0
  283. package/dist/types/types/bloom.d.ts +4 -0
  284. package/dist/types/types/bloom.d.ts.map +1 -1
  285. package/dist/types/types/graphrag.d.ts +335 -0
  286. package/dist/types/types/graphrag.d.ts.map +1 -0
  287. package/dist/types/types/index.d.ts +4 -1
  288. package/dist/types/types/index.d.ts.map +1 -1
  289. package/package.json +48 -3
@@ -0,0 +1,280 @@
1
+ /**
2
+ * GraphRAG-enhanced LLM orchestrator
3
+ *
4
+ * Extends the base orchestrator with semantic search capabilities
5
+ * to provide better context for skill extraction and prerequisite inference.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { LLMAdapter, SkillExtractionRequest, SkillExtractionResponse, PrerequisiteInferenceRequest, PrerequisiteInferenceResponse, DecompositionRequest, DecompositionResponse, ExtractedSkillLLM } from '../types/llm.js';
10
+ import type { BloomLevel } from '../types/bloom.js';
11
+ import type { GraphRAGStorage, VectorSearchResult } from '../types/graphrag.js';
12
+ import { LLMOrchestrator } from './orchestrator.js';
13
+ /**
14
+ * Options for GraphRAG-enhanced operations
15
+ */
16
+ export interface GraphRAGOrchestratorOptions {
17
+ /** Maximum similar skills to include in context (default: 5) */
18
+ maxContextSkills?: number;
19
+ /** Minimum similarity score for context skills (default: 0.6) */
20
+ minContextScore?: number;
21
+ /** Include prerequisite chains in context (default: true) */
22
+ includePrerequisites?: boolean;
23
+ /** Weight for similar skill context in prompt (default: 0.3) */
24
+ contextWeight?: number;
25
+ }
26
+ /**
27
+ * Extended extraction request with RAG context
28
+ */
29
+ export interface RAGSkillExtractionRequest extends SkillExtractionRequest {
30
+ /** Enable RAG-enhanced extraction */
31
+ useRAG?: boolean;
32
+ /** RAG options */
33
+ ragOptions?: GraphRAGOrchestratorOptions;
34
+ }
35
+ /**
36
+ * Extended extraction response with RAG metadata
37
+ */
38
+ export interface RAGSkillExtractionResponse extends SkillExtractionResponse {
39
+ /** Similar skills used for context */
40
+ contextSkills?: VectorSearchResult[];
41
+ /** RAG context that was provided */
42
+ ragContext?: string;
43
+ }
44
+ /**
45
+ * Extended decomposition request with RAG
46
+ */
47
+ export interface RAGDecompositionRequest extends DecompositionRequest {
48
+ /** Enable RAG-enhanced decomposition */
49
+ useRAG?: boolean;
50
+ /** RAG options */
51
+ ragOptions?: GraphRAGOrchestratorOptions;
52
+ }
53
+ /**
54
+ * Extended decomposition response with RAG metadata
55
+ */
56
+ export interface RAGDecompositionResponse extends DecompositionResponse {
57
+ /** Similar skills used for context */
58
+ contextSkills?: VectorSearchResult[];
59
+ /** RAG context that was provided */
60
+ ragContext?: string;
61
+ /** Skills that were matched to existing graph skills */
62
+ matchedSkills?: Array<{
63
+ extractedId: string;
64
+ matchedSkillId: string;
65
+ similarity: number;
66
+ }>;
67
+ }
68
+ /**
69
+ * GraphRAG-enhanced LLM orchestrator
70
+ *
71
+ * Provides semantic search-enhanced skill extraction and prerequisite inference.
72
+ */
73
+ export declare class GraphRAGOrchestrator extends LLMOrchestrator {
74
+ private storage;
75
+ private defaultOptions;
76
+ constructor(adapter: LLMAdapter, storage?: GraphRAGStorage, options?: GraphRAGOrchestratorOptions);
77
+ /**
78
+ * Set the GraphRAG storage
79
+ */
80
+ setStorage(storage: GraphRAGStorage): void;
81
+ /**
82
+ * Get the current storage
83
+ */
84
+ getStorage(): GraphRAGStorage | null;
85
+ /**
86
+ * Check if GraphRAG is available
87
+ */
88
+ isRAGEnabled(): boolean;
89
+ /**
90
+ * Build context string from similar skills
91
+ */
92
+ private formatSkillContext;
93
+ /**
94
+ * Build context from full GraphRAG context
95
+ */
96
+ private formatGraphRAGContext;
97
+ /**
98
+ * Extract skills with RAG enhancement
99
+ */
100
+ extractSkillsWithRAG(request: RAGSkillExtractionRequest): Promise<RAGSkillExtractionResponse>;
101
+ /**
102
+ * Infer prerequisites with RAG enhancement
103
+ */
104
+ inferPrerequisitesWithRAG(request: PrerequisiteInferenceRequest & {
105
+ useRAG?: boolean;
106
+ ragOptions?: GraphRAGOrchestratorOptions;
107
+ }): Promise<PrerequisiteInferenceResponse & {
108
+ ragContext?: string;
109
+ }>;
110
+ /**
111
+ * Full curriculum decomposition with RAG enhancement
112
+ */
113
+ decomposeWithRAG(request: RAGDecompositionRequest): Promise<RAGDecompositionResponse>;
114
+ /**
115
+ * Find existing skills that match extracted skills
116
+ *
117
+ * Use this after extraction to identify duplicates
118
+ */
119
+ matchExtractedSkills(extractedSkills: ExtractedSkillLLM[], options?: {
120
+ minSimilarity?: number;
121
+ }): Promise<Array<{
122
+ extracted: ExtractedSkillLLM;
123
+ matches: VectorSearchResult[];
124
+ bestMatch?: {
125
+ skillId: string;
126
+ similarity: number;
127
+ };
128
+ }>>;
129
+ /**
130
+ * Suggest prerequisite links between extracted and existing skills
131
+ */
132
+ suggestPrerequisiteLinks(extractedSkills: Array<{
133
+ id: string;
134
+ name: string;
135
+ description: string;
136
+ bloomLevel: BloomLevel;
137
+ }>, options?: {
138
+ maxSuggestionsPerSkill?: number;
139
+ }): Promise<Array<{
140
+ extractedSkillId: string;
141
+ suggestedPrerequisites: Array<{
142
+ skillId: string;
143
+ skillName: string;
144
+ confidence: number;
145
+ }>;
146
+ suggestedDependents: Array<{
147
+ skillId: string;
148
+ skillName: string;
149
+ confidence: number;
150
+ }>;
151
+ }>>;
152
+ /**
153
+ * Generate a personalized learning path with LLM-enhanced reasoning
154
+ *
155
+ * This combines GraphRAG path generation with LLM analysis
156
+ * to provide better explanations and alternative paths.
157
+ */
158
+ generateLearningPath(request: LearningPathRequest): Promise<LearningPathWithReasoning>;
159
+ /**
160
+ * Format a learning path for LLM context
161
+ */
162
+ private formatPathForLLM;
163
+ /**
164
+ * Analyze a learner's progress and recommend next steps
165
+ */
166
+ analyzeProgressAndRecommend(request: ProgressAnalysisRequest): Promise<ProgressAnalysisResult>;
167
+ }
168
+ /**
169
+ * Request for learning path generation
170
+ */
171
+ export interface LearningPathRequest {
172
+ /** Natural language goal description */
173
+ goal: string;
174
+ /** Current skill mastery states (skillId -> mastery 0-1) */
175
+ currentMastery?: Map<string, number>;
176
+ /** Maximum path length */
177
+ maxSteps?: number;
178
+ /** Learning preferences */
179
+ preferences?: {
180
+ style?: 'practical' | 'theoretical' | 'balanced';
181
+ difficulty?: 'gradual' | 'challenging';
182
+ };
183
+ /** Enhance path with LLM reasoning */
184
+ enhanceWithLLM?: boolean;
185
+ }
186
+ /**
187
+ * Enhanced learning path result with LLM reasoning
188
+ */
189
+ export interface LearningPathWithReasoning {
190
+ /** Ordered list of skills with optional learning guidance */
191
+ path: Array<import('../types/skill.js').SkillNode & {
192
+ learningGuidance?: {
193
+ whyImportant: string;
194
+ howToApproach: string;
195
+ estimatedEffort: string;
196
+ };
197
+ }>;
198
+ /** Edges connecting path skills */
199
+ edges: import('../types/edge.js').PrerequisiteEdge[];
200
+ /** Estimated total time (minutes) */
201
+ estimatedMinutes: number;
202
+ /** Detailed reasoning for the path */
203
+ reasoning: string;
204
+ /** Alternative paths */
205
+ alternatives?: Array<{
206
+ path: import('../types/skill.js').SkillNode[];
207
+ reasoning: string;
208
+ }>;
209
+ /** LLM-generated enhancements */
210
+ llmEnhancements?: {
211
+ tips: string[];
212
+ potentialChallenges: string[];
213
+ alternativeApproaches?: Array<{
214
+ name: string;
215
+ description: string;
216
+ tradeoffs: string;
217
+ }>;
218
+ };
219
+ /** API usage */
220
+ usage?: import('../types/llm.js').CompletionResponse['usage'];
221
+ /** Processing time in milliseconds */
222
+ durationMs: number;
223
+ }
224
+ /**
225
+ * Progress analysis request
226
+ */
227
+ export interface ProgressAnalysisRequest {
228
+ /** Map of skill IDs to mastery levels (0-1) */
229
+ masteredSkills: Map<string, number>;
230
+ /** The learner's goal (optional) */
231
+ goal?: string;
232
+ /** Generate LLM insights */
233
+ generateInsights?: boolean;
234
+ /** Max recommendations to return */
235
+ maxRecommendations?: number;
236
+ }
237
+ /**
238
+ * Skill recommendation
239
+ */
240
+ export interface SkillRecommendation {
241
+ /** The recommended skill */
242
+ skill: import('../types/skill.js').SkillNode;
243
+ /** How ready the learner is (0-1) */
244
+ readiness: number;
245
+ /** Why this skill is recommended */
246
+ reason: string;
247
+ /** Priority score */
248
+ priority: number;
249
+ }
250
+ /**
251
+ * LLM-generated progress insights
252
+ */
253
+ export interface ProgressInsights {
254
+ /** Summary of current progress */
255
+ progressSummary: string;
256
+ /** Strengths identified */
257
+ strengths: string[];
258
+ /** Areas for improvement */
259
+ areasToImprove: string[];
260
+ /** Motivational message */
261
+ encouragement: string;
262
+ /** Suggested focus areas */
263
+ focusAreas: string[];
264
+ }
265
+ /**
266
+ * Progress analysis result
267
+ */
268
+ export interface ProgressAnalysisResult {
269
+ /** Recommended skills */
270
+ recommendations: SkillRecommendation[];
271
+ /** LLM insights (if requested) */
272
+ insights?: ProgressInsights;
273
+ /** Processing time */
274
+ durationMs: number;
275
+ }
276
+ /**
277
+ * Create a GraphRAG-enhanced orchestrator
278
+ */
279
+ export declare function createGraphRAGOrchestrator(adapter: LLMAdapter, storage?: GraphRAGStorage, options?: GraphRAGOrchestratorOptions): GraphRAGOrchestrator;
280
+ //# sourceMappingURL=graphrag-orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphrag-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/llm/graphrag-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,7 @@ export type { LLMProvider, LLMConfig, OpenAIConfig, AnthropicConfig, OllamaConfi
7
7
  export { BaseLLMAdapter, LLMError, DEFAULT_CONFIG, OpenAIAdapter, createOpenAIAdapter, AnthropicAdapter, createAnthropicAdapter, OllamaAdapter, createOllamaAdapter, GeminiAdapter, createGeminiAdapter, OpenRouterAdapter, createOpenRouterAdapter, OPENROUTER_MODELS, MediaPipeAdapter, createMediaPipeAdapter, MEDIAPIPE_MODELS, } from './adapters/index.js';
8
8
  export type { LLMErrorCode } from './adapters/index.js';
9
9
  export { LLMOrchestrator, createOrchestrator } from './orchestrator.js';
10
+ export { GraphRAGOrchestrator, createGraphRAGOrchestrator, } from './graphrag-orchestrator.js';
11
+ export type { GraphRAGOrchestratorOptions, RAGSkillExtractionRequest, RAGSkillExtractionResponse, RAGDecompositionRequest, RAGDecompositionResponse, LearningPathRequest, LearningPathWithReasoning, ProgressAnalysisRequest, ProgressAnalysisResult, SkillRecommendation, ProgressInsights, } from './graphrag-orchestrator.js';
10
12
  export { SYSTEM_PROMPTS, EXTRACTION_SCHEMA, PREREQUISITE_SCHEMA, BLOOM_ANALYSIS_SCHEMA, DECOMPOSITION_SCHEMA, buildExtractionPrompt, buildPrerequisitePrompt, buildBloomPrompt, buildDecompositionPrompt, } from './prompts.js';
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,YAAY,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,eAAe,IAAI,gBAAgB,GACpC,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,cAAc,EACd,QAAQ,EACR,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKxE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,YAAY,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,eAAe,IAAI,gBAAgB,GACpC,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,cAAc,EACd,QAAQ,EACR,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKxE,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * LearnGraph MCP Server CLI
4
+ *
5
+ * Command-line interface for running the LearnGraph MCP server.
6
+ *
7
+ * Usage:
8
+ * npx learngraph-mcp # Run with in-memory storage
9
+ * npx learngraph-mcp --neo4j <uri> # Run with Neo4j backend
10
+ * npx learngraph-mcp --level <path> # Run with LevelGraph backend
11
+ *
12
+ * @packageDocumentation
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/mcp/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * LearnGraph MCP Server Module
3
+ *
4
+ * Model Context Protocol integration for Claude.
5
+ * Provides tools, resources, and prompts for educational knowledge graphs.
6
+ *
7
+ * @packageDocumentation
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { LearnGraphMcpServer, startMcpServer } from 'learngraph/mcp';
12
+ * import { MemoryStorage } from 'learngraph/storage';
13
+ *
14
+ * // Create storage
15
+ * const storage = new MemoryStorage();
16
+ * await storage.connect({ backend: 'memory' });
17
+ *
18
+ * // Option 1: Quick start
19
+ * await startMcpServer({ storage });
20
+ *
21
+ * // Option 2: Full control
22
+ * const server = new LearnGraphMcpServer({ storage });
23
+ * console.log(server.listTools());
24
+ * await server.start();
25
+ * ```
26
+ */
27
+ export { LearnGraphMcpServer, startMcpServer } from './server.js';
28
+ export type { McpServerConfig, McpTextContent, McpImageContent, McpContent, McpToolResult, McpResourceMeta, McpPromptArgument, McpPromptMeta, LearnerProfile, LearningPathResult, ZpdResult, SkillSearchResult, GraphStatistics, } from './types.js';
29
+ export { TOOL_DEFINITIONS, type ToolName, ListSkillsSchema, GetSkillSchema, CreateSkillSchema, SearchSkillsSchema, GetPrerequisitesSchema, GetDependentsSchema, GetLearningPathSchema, GetZpdSkillsSchema, CreatePrerequisiteSchema, GetGraphStatsSchema, ValidateCurriculumSchema, listSkills, getSkill, createSkill, searchSkills, getPrerequisites, getDependents, getLearningPath, getZpdSkills, createPrerequisite, getGraphStats, validateCurriculum, } from './tools.js';
30
+ export { getResourceTemplates, listResources, resolveResource, getCurriculumOverview, getAllSkills, getAllEdges, getSkillById, getSkillsByBloomLevel, getAllTags, getFullExport, type ResourceContent, } from './resources.js';
31
+ export { PROMPT_DEFINITIONS, getPromptMetas, renderPrompt, getPromptDefinition, } from './prompts.js';
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlE,YAAY,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,UAAU,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,gBAAgB,EAChB,KAAK,QAAQ,EAEb,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EAExB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * MCP Prompt Templates
3
+ *
4
+ * Educational prompt templates for curriculum building and learning path generation.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import type { McpPromptMeta } from './types.js';
9
+ /**
10
+ * All available prompt templates
11
+ */
12
+ export declare const PROMPT_DEFINITIONS: Record<string, McpPromptMeta & {
13
+ template: (args: Record<string, string>) => string;
14
+ }>;
15
+ /**
16
+ * Get prompt metadata for MCP listing
17
+ */
18
+ export declare function getPromptMetas(): McpPromptMeta[];
19
+ /**
20
+ * Render a prompt with arguments
21
+ */
22
+ export declare function renderPrompt(promptName: string, args: Record<string, string>): string | null;
23
+ /**
24
+ * Get a prompt definition by name
25
+ */
26
+ export declare function getPromptDefinition(promptName: string): McpPromptMeta | null;
27
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/mcp/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG;IAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAA;CAAE,CA6WrH,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,IAAI,aAAa,EAAE,CAahD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,MAAM,GAAG,IAAI,CAOf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAgB5E"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * MCP Resource Definitions
3
+ *
4
+ * Resource endpoints for exposing curriculum data through MCP.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import type { GraphStorage } from '../types/index.js';
9
+ import type { McpResourceMeta } from './types.js';
10
+ /**
11
+ * Resource content result
12
+ */
13
+ export interface ResourceContent {
14
+ uri: string;
15
+ mimeType: string;
16
+ text?: string;
17
+ blob?: string;
18
+ }
19
+ /**
20
+ * Get all available resource templates
21
+ */
22
+ export declare function getResourceTemplates(): McpResourceMeta[];
23
+ /**
24
+ * Get curriculum overview
25
+ */
26
+ export declare function getCurriculumOverview(storage: GraphStorage): Promise<ResourceContent>;
27
+ /**
28
+ * Get all skills
29
+ */
30
+ export declare function getAllSkills(storage: GraphStorage): Promise<ResourceContent>;
31
+ /**
32
+ * Get all edges
33
+ */
34
+ export declare function getAllEdges(storage: GraphStorage): Promise<ResourceContent>;
35
+ /**
36
+ * Get skill by ID
37
+ */
38
+ export declare function getSkillById(storage: GraphStorage, skillId: string): Promise<ResourceContent | null>;
39
+ /**
40
+ * Get skills by Bloom level
41
+ */
42
+ export declare function getSkillsByBloomLevel(storage: GraphStorage, level: string): Promise<ResourceContent>;
43
+ /**
44
+ * Get all tags with counts
45
+ */
46
+ export declare function getAllTags(storage: GraphStorage): Promise<ResourceContent>;
47
+ /**
48
+ * Get full curriculum export
49
+ */
50
+ export declare function getFullExport(storage: GraphStorage): Promise<ResourceContent>;
51
+ /**
52
+ * Route a resource URI to its handler
53
+ */
54
+ export declare function resolveResource(storage: GraphStorage, uri: string): Promise<ResourceContent | null>;
55
+ /**
56
+ * List all available resources (including dynamic ones based on current data)
57
+ */
58
+ export declare function listResources(storage: GraphStorage): Promise<McpResourceMeta[]>;
59
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/mcp/resources.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA+B,MAAM,mBAAmB,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CA6CxD;AAMD;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CA+D3F;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAqBlF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAmBjF;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA8BjC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,CAiC1B;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAgChF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CA+BnF;AAMD;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAyCjC;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAyBrF"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * LearnGraph MCP Server
3
+ *
4
+ * Model Context Protocol server for Claude integration.
5
+ * Exposes knowledge graph tools, resources, and prompts.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { McpServerConfig, McpToolResult } from './types.js';
10
+ /**
11
+ * LearnGraph MCP Server
12
+ *
13
+ * Provides tools, resources, and prompts for Claude to interact with
14
+ * educational knowledge graphs.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * import { LearnGraphMcpServer } from 'learngraph/mcp';
19
+ * import { MemoryStorage } from 'learngraph/storage';
20
+ *
21
+ * const storage = new MemoryStorage();
22
+ * await storage.connect({ backend: 'memory' });
23
+ *
24
+ * const server = new LearnGraphMcpServer({ storage });
25
+ * await server.start();
26
+ * ```
27
+ */
28
+ export declare class LearnGraphMcpServer {
29
+ private storage;
30
+ private config;
31
+ private isRunning;
32
+ constructor(config: McpServerConfig);
33
+ /**
34
+ * Log debug messages
35
+ */
36
+ private log;
37
+ /**
38
+ * Get server info
39
+ */
40
+ getServerInfo(): {
41
+ name: string;
42
+ version: string;
43
+ };
44
+ /**
45
+ * List available tools
46
+ */
47
+ listTools(): Array<{
48
+ name: string;
49
+ description: string;
50
+ inputSchema: Record<string, unknown>;
51
+ }>;
52
+ /**
53
+ * Execute a tool
54
+ */
55
+ executeTool(name: string, args: Record<string, unknown>): Promise<McpToolResult>;
56
+ /**
57
+ * List available resources
58
+ */
59
+ listResources(): Promise<Array<{
60
+ uri: string;
61
+ name: string;
62
+ description?: string;
63
+ mimeType?: string;
64
+ }>>;
65
+ /**
66
+ * Get resource templates
67
+ */
68
+ listResourceTemplates(): Array<{
69
+ uri: string;
70
+ name: string;
71
+ description?: string;
72
+ mimeType?: string;
73
+ }>;
74
+ /**
75
+ * Read a resource
76
+ */
77
+ readResource(uri: string): Promise<{
78
+ uri: string;
79
+ mimeType: string;
80
+ text?: string;
81
+ } | null>;
82
+ /**
83
+ * List available prompts
84
+ */
85
+ listPrompts(): Array<{
86
+ name: string;
87
+ description?: string;
88
+ arguments?: Array<{
89
+ name: string;
90
+ description?: string;
91
+ required?: boolean;
92
+ }>;
93
+ }>;
94
+ /**
95
+ * Get a prompt
96
+ */
97
+ getPrompt(name: string, args: Record<string, string>): {
98
+ description?: string;
99
+ messages: Array<{
100
+ role: string;
101
+ content: string;
102
+ }>;
103
+ } | null;
104
+ /**
105
+ * Convert Zod schema to JSON Schema
106
+ */
107
+ private zodToJsonSchema;
108
+ /**
109
+ * Start the MCP server (stdio transport)
110
+ *
111
+ * This requires @modelcontextprotocol/sdk to be installed.
112
+ */
113
+ start(): Promise<void>;
114
+ /**
115
+ * Check if server is running
116
+ */
117
+ get running(): boolean;
118
+ }
119
+ /**
120
+ * Create and start an MCP server
121
+ *
122
+ * Convenience function for quick server setup.
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * import { startMcpServer } from 'learngraph/mcp';
127
+ * import { MemoryStorage } from 'learngraph/storage';
128
+ *
129
+ * const storage = new MemoryStorage();
130
+ * await storage.connect({ backend: 'memory' });
131
+ *
132
+ * await startMcpServer({ storage });
133
+ * ```
134
+ */
135
+ export declare function startMcpServer(config: McpServerConfig): Promise<LearnGraphMcpServer>;
136
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAoBjE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,eAAe;IAUnC;;OAEG;IACH,OAAO,CAAC,GAAG;IAOX;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAOlD;;OAEG;IACH,SAAS,IAAI,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACtC,CAAC;IAQF;;OAEG;IACG,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,aAAa,CAAC;IA+BzB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QACnC,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IAIH;;OAEG;IACH,qBAAqB,IAAI,KAAK,CAAC;QAC7B,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAIF;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QACvC,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IAIT;;OAEG;IACH,WAAW,IAAI,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,KAAK,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;SACpB,CAAC,CAAC;KACJ,CAAC;IAIF;;OAEG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAAG,IAAI;IAoBtF;;OAEG;IACH,OAAO,CAAC,eAAe;IA8EvB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyI5B;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAI1F"}