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.
- 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 +636 -0
- package/dist/cjs/components/SkillGraph.js.map +1 -0
- package/dist/cjs/components/hooks.js +520 -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/embeddings/base.js +104 -0
- package/dist/cjs/embeddings/base.js.map +1 -0
- package/dist/cjs/embeddings/index.js +91 -0
- package/dist/cjs/embeddings/index.js.map +1 -0
- package/dist/cjs/embeddings/local.js +224 -0
- package/dist/cjs/embeddings/local.js.map +1 -0
- package/dist/cjs/embeddings/openai.js +169 -0
- package/dist/cjs/embeddings/openai.js.map +1 -0
- package/dist/cjs/index.js +59 -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/llm/graphrag-orchestrator.js +1004 -0
- package/dist/cjs/llm/graphrag-orchestrator.js.map +1 -0
- package/dist/cjs/llm/index.js +7 -1
- package/dist/cjs/llm/index.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/storage/index.js +15 -1
- package/dist/cjs/storage/index.js.map +1 -1
- package/dist/cjs/storage/neo4j-graphrag.js +596 -0
- package/dist/cjs/storage/neo4j-graphrag.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/graphrag.js +11 -0
- package/dist/cjs/types/graphrag.js.map +1 -0
- 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 +599 -0
- package/dist/esm/components/SkillGraph.js.map +1 -0
- package/dist/esm/components/hooks.js +512 -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/embeddings/base.js +99 -0
- package/dist/esm/embeddings/base.js.map +1 -0
- package/dist/esm/embeddings/index.js +79 -0
- package/dist/esm/embeddings/index.js.map +1 -0
- package/dist/esm/embeddings/local.js +219 -0
- package/dist/esm/embeddings/local.js.map +1 -0
- package/dist/esm/embeddings/openai.js +164 -0
- package/dist/esm/embeddings/openai.js.map +1 -0
- package/dist/esm/index.js +28 -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/llm/graphrag-orchestrator.js +999 -0
- package/dist/esm/llm/graphrag-orchestrator.js.map +1 -0
- package/dist/esm/llm/index.js +4 -0
- package/dist/esm/llm/index.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/storage/index.js +8 -0
- package/dist/esm/storage/index.js.map +1 -1
- package/dist/esm/storage/neo4j-graphrag.js +591 -0
- package/dist/esm/storage/neo4j-graphrag.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/graphrag.js +10 -0
- package/dist/esm/types/graphrag.js.map +1 -0
- 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/embeddings/base.d.ts +51 -0
- package/dist/types/embeddings/base.d.ts.map +1 -0
- package/dist/types/embeddings/index.d.ts +48 -0
- package/dist/types/embeddings/index.d.ts.map +1 -0
- package/dist/types/embeddings/local.d.ts +82 -0
- package/dist/types/embeddings/local.d.ts.map +1 -0
- package/dist/types/embeddings/openai.d.ts +48 -0
- package/dist/types/embeddings/openai.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -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/llm/graphrag-orchestrator.d.ts +280 -0
- package/dist/types/llm/graphrag-orchestrator.d.ts.map +1 -0
- package/dist/types/llm/index.d.ts +2 -0
- package/dist/types/llm/index.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/storage/index.d.ts +2 -0
- package/dist/types/storage/index.d.ts.map +1 -1
- package/dist/types/storage/neo4j-graphrag.d.ts +106 -0
- package/dist/types/storage/neo4j-graphrag.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/graphrag.d.ts +335 -0
- package/dist/types/types/graphrag.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +4 -1
- package/dist/types/types/index.d.ts.map +1 -1
- 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"}
|