learngraph 0.7.0 → 0.9.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/components/SkillGraph.js +224 -23
- package/dist/cjs/components/SkillGraph.js.map +1 -1
- package/dist/cjs/components/hooks.js +10 -0
- package/dist/cjs/components/hooks.js.map +1 -1
- 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 +25 -1
- package/dist/cjs/index.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 +11 -1
- package/dist/cjs/llm/index.js.map +1 -1
- package/dist/cjs/llm/prompts.js +169 -1
- package/dist/cjs/llm/prompts.js.map +1 -1
- package/dist/cjs/storage/index.js +15 -1
- package/dist/cjs/storage/index.js.map +1 -1
- package/dist/cjs/storage/levelgraph.js +6 -3
- package/dist/cjs/storage/levelgraph.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/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/cjs/types/resource.js +151 -0
- package/dist/cjs/types/resource.js.map +1 -0
- package/dist/esm/components/SkillGraph.js +226 -25
- package/dist/esm/components/SkillGraph.js.map +1 -1
- package/dist/esm/components/hooks.js +10 -0
- package/dist/esm/components/hooks.js.map +1 -1
- 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 +16 -0
- package/dist/esm/index.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 +5 -1
- package/dist/esm/llm/index.js.map +1 -1
- package/dist/esm/llm/prompts.js +166 -0
- package/dist/esm/llm/prompts.js.map +1 -1
- package/dist/esm/storage/index.js +8 -0
- package/dist/esm/storage/index.js.map +1 -1
- package/dist/esm/storage/levelgraph.js +6 -3
- package/dist/esm/storage/levelgraph.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/graphrag.js +10 -0
- package/dist/esm/types/graphrag.js.map +1 -0
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/resource.js +144 -0
- package/dist/esm/types/resource.js.map +1 -0
- package/dist/types/components/SkillGraph.d.ts.map +1 -1
- package/dist/types/components/hooks.d.ts.map +1 -1
- 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 +2 -0
- package/dist/types/index.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 +3 -1
- package/dist/types/llm/index.d.ts.map +1 -1
- package/dist/types/llm/prompts.d.ts +134 -0
- package/dist/types/llm/prompts.d.ts.map +1 -1
- package/dist/types/mcp/tools.d.ts +6 -6
- package/dist/types/storage/index.d.ts +2 -0
- package/dist/types/storage/index.d.ts.map +1 -1
- package/dist/types/storage/levelgraph.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/graphrag.d.ts +335 -0
- package/dist/types/types/graphrag.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +3 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/resource.d.ts +202 -0
- package/dist/types/types/resource.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -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 {
|
|
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';
|
|
12
|
+
export { SYSTEM_PROMPTS, EXTRACTION_SCHEMA, PREREQUISITE_SCHEMA, BLOOM_ANALYSIS_SCHEMA, DECOMPOSITION_SCHEMA, RESOURCE_REFERENCE_SCHEMA, DEEP_ANALYSIS_SCHEMA, buildExtractionPrompt, buildPrerequisitePrompt, buildBloomPrompt, buildDecompositionPrompt, buildResourceReferencePrompt, buildDeepAnalysisPrompt, } 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,
|
|
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,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,cAAc,CAAC"}
|
|
@@ -8,6 +8,8 @@ export declare const SYSTEM_PROMPTS: {
|
|
|
8
8
|
skillExtraction: string;
|
|
9
9
|
prerequisiteInference: string;
|
|
10
10
|
bloomAnalysis: string;
|
|
11
|
+
resourceReferenceExtraction: string;
|
|
12
|
+
deepResourceAnalysis: string;
|
|
11
13
|
curriculumDecomposition: string;
|
|
12
14
|
};
|
|
13
15
|
export declare const EXTRACTION_SCHEMA: {
|
|
@@ -231,6 +233,117 @@ export declare const DECOMPOSITION_SCHEMA: {
|
|
|
231
233
|
};
|
|
232
234
|
required: string[];
|
|
233
235
|
};
|
|
236
|
+
export declare const RESOURCE_REFERENCE_SCHEMA: {
|
|
237
|
+
type: string;
|
|
238
|
+
properties: {
|
|
239
|
+
resources: {
|
|
240
|
+
type: string;
|
|
241
|
+
items: {
|
|
242
|
+
type: string;
|
|
243
|
+
properties: {
|
|
244
|
+
name: {
|
|
245
|
+
type: string;
|
|
246
|
+
description: string;
|
|
247
|
+
};
|
|
248
|
+
type: {
|
|
249
|
+
type: string;
|
|
250
|
+
enum: string[];
|
|
251
|
+
description: string;
|
|
252
|
+
};
|
|
253
|
+
reference: {
|
|
254
|
+
type: string;
|
|
255
|
+
description: string;
|
|
256
|
+
};
|
|
257
|
+
originalMention: {
|
|
258
|
+
type: string;
|
|
259
|
+
description: string;
|
|
260
|
+
};
|
|
261
|
+
relatedSkillIds: {
|
|
262
|
+
type: string;
|
|
263
|
+
items: {
|
|
264
|
+
type: string;
|
|
265
|
+
};
|
|
266
|
+
description: string;
|
|
267
|
+
};
|
|
268
|
+
estimatedMinutes: {
|
|
269
|
+
type: string;
|
|
270
|
+
description: string;
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
required: string[];
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
};
|
|
277
|
+
required: string[];
|
|
278
|
+
};
|
|
279
|
+
export declare const DEEP_ANALYSIS_SCHEMA: {
|
|
280
|
+
type: string;
|
|
281
|
+
properties: {
|
|
282
|
+
identifiedSkills: {
|
|
283
|
+
type: string;
|
|
284
|
+
items: {
|
|
285
|
+
type: string;
|
|
286
|
+
properties: {
|
|
287
|
+
skillId: {
|
|
288
|
+
type: string;
|
|
289
|
+
description: string;
|
|
290
|
+
};
|
|
291
|
+
isExisting: {
|
|
292
|
+
type: string;
|
|
293
|
+
description: string;
|
|
294
|
+
};
|
|
295
|
+
confidence: {
|
|
296
|
+
type: string;
|
|
297
|
+
minimum: number;
|
|
298
|
+
maximum: number;
|
|
299
|
+
};
|
|
300
|
+
coverageDetails: {
|
|
301
|
+
type: string;
|
|
302
|
+
description: string;
|
|
303
|
+
};
|
|
304
|
+
};
|
|
305
|
+
required: string[];
|
|
306
|
+
};
|
|
307
|
+
};
|
|
308
|
+
keyTopics: {
|
|
309
|
+
type: string;
|
|
310
|
+
items: {
|
|
311
|
+
type: string;
|
|
312
|
+
};
|
|
313
|
+
description: string;
|
|
314
|
+
};
|
|
315
|
+
assumedPrerequisites: {
|
|
316
|
+
type: string;
|
|
317
|
+
items: {
|
|
318
|
+
type: string;
|
|
319
|
+
};
|
|
320
|
+
description: string;
|
|
321
|
+
};
|
|
322
|
+
learningObjectives: {
|
|
323
|
+
type: string;
|
|
324
|
+
items: {
|
|
325
|
+
type: string;
|
|
326
|
+
};
|
|
327
|
+
description: string;
|
|
328
|
+
};
|
|
329
|
+
difficultyLevel: {
|
|
330
|
+
type: string;
|
|
331
|
+
enum: string[];
|
|
332
|
+
};
|
|
333
|
+
qualityScore: {
|
|
334
|
+
type: string;
|
|
335
|
+
minimum: number;
|
|
336
|
+
maximum: number;
|
|
337
|
+
};
|
|
338
|
+
warnings: {
|
|
339
|
+
type: string;
|
|
340
|
+
items: {
|
|
341
|
+
type: string;
|
|
342
|
+
};
|
|
343
|
+
};
|
|
344
|
+
};
|
|
345
|
+
required: string[];
|
|
346
|
+
};
|
|
234
347
|
/**
|
|
235
348
|
* Build a skill extraction prompt
|
|
236
349
|
*/
|
|
@@ -266,4 +379,25 @@ export declare function buildDecompositionPrompt(content: string, options?: {
|
|
|
266
379
|
context?: string;
|
|
267
380
|
maxDepth?: number;
|
|
268
381
|
}): string;
|
|
382
|
+
/**
|
|
383
|
+
* Build a resource reference extraction prompt (Option 2)
|
|
384
|
+
*/
|
|
385
|
+
export declare function buildResourceReferencePrompt(content: string, skills: Array<{
|
|
386
|
+
id: string;
|
|
387
|
+
name: string;
|
|
388
|
+
}>, options?: {
|
|
389
|
+
domain?: string;
|
|
390
|
+
context?: string;
|
|
391
|
+
}): string;
|
|
392
|
+
/**
|
|
393
|
+
* Build a deep resource analysis prompt (Option 3)
|
|
394
|
+
*/
|
|
395
|
+
export declare function buildDeepAnalysisPrompt(resourceContent: string, resourceName: string, existingSkills: Array<{
|
|
396
|
+
id: string;
|
|
397
|
+
name: string;
|
|
398
|
+
description: string;
|
|
399
|
+
}>, options?: {
|
|
400
|
+
resourceType?: string;
|
|
401
|
+
context?: string;
|
|
402
|
+
}): string;
|
|
269
403
|
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/llm/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/llm/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,eAAO,MAAM,cAAc;;;;;;;CA6I1B,CAAC;AAMF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuD7B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC/B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ChC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BrC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuChC,CAAC;AAMF;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,MAAM,CAiBR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,EACF,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACA,MAAM,CA2BR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,MAAM,CA2BR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3C,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,MAAM,CA8BR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EACxE,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,MAAM,CA6BR"}
|
|
@@ -15,15 +15,15 @@ export declare const ListSkillsSchema: z.ZodObject<{
|
|
|
15
15
|
bloomLevel: z.ZodOptional<z.ZodEnum<["remember", "understand", "apply", "analyze", "evaluate", "create"]>>;
|
|
16
16
|
tag: z.ZodOptional<z.ZodString>;
|
|
17
17
|
}, "strip", z.ZodTypeAny, {
|
|
18
|
-
limit: number;
|
|
19
18
|
offset: number;
|
|
19
|
+
limit: number;
|
|
20
20
|
bloomLevel?: "remember" | "understand" | "apply" | "analyze" | "evaluate" | "create" | undefined;
|
|
21
21
|
tag?: string | undefined;
|
|
22
22
|
}, {
|
|
23
23
|
bloomLevel?: "remember" | "understand" | "apply" | "analyze" | "evaluate" | "create" | undefined;
|
|
24
|
+
offset?: number | undefined;
|
|
24
25
|
limit?: number | undefined;
|
|
25
26
|
tag?: string | undefined;
|
|
26
|
-
offset?: number | undefined;
|
|
27
27
|
}>;
|
|
28
28
|
export declare const GetSkillSchema: z.ZodObject<{
|
|
29
29
|
skillId: z.ZodString;
|
|
@@ -55,8 +55,8 @@ export declare const SearchSkillsSchema: z.ZodObject<{
|
|
|
55
55
|
query: z.ZodString;
|
|
56
56
|
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
57
57
|
}, "strip", z.ZodTypeAny, {
|
|
58
|
-
query: string;
|
|
59
58
|
limit: number;
|
|
59
|
+
query: string;
|
|
60
60
|
}, {
|
|
61
61
|
query: string;
|
|
62
62
|
limit?: number | undefined;
|
|
@@ -184,15 +184,15 @@ export declare const TOOL_DEFINITIONS: {
|
|
|
184
184
|
bloomLevel: z.ZodOptional<z.ZodEnum<["remember", "understand", "apply", "analyze", "evaluate", "create"]>>;
|
|
185
185
|
tag: z.ZodOptional<z.ZodString>;
|
|
186
186
|
}, "strip", z.ZodTypeAny, {
|
|
187
|
-
limit: number;
|
|
188
187
|
offset: number;
|
|
188
|
+
limit: number;
|
|
189
189
|
bloomLevel?: "remember" | "understand" | "apply" | "analyze" | "evaluate" | "create" | undefined;
|
|
190
190
|
tag?: string | undefined;
|
|
191
191
|
}, {
|
|
192
192
|
bloomLevel?: "remember" | "understand" | "apply" | "analyze" | "evaluate" | "create" | undefined;
|
|
193
|
+
offset?: number | undefined;
|
|
193
194
|
limit?: number | undefined;
|
|
194
195
|
tag?: string | undefined;
|
|
195
|
-
offset?: number | undefined;
|
|
196
196
|
}>;
|
|
197
197
|
readonly handler: typeof listSkills;
|
|
198
198
|
};
|
|
@@ -236,8 +236,8 @@ export declare const TOOL_DEFINITIONS: {
|
|
|
236
236
|
query: z.ZodString;
|
|
237
237
|
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
238
238
|
}, "strip", z.ZodTypeAny, {
|
|
239
|
-
query: string;
|
|
240
239
|
limit: number;
|
|
240
|
+
query: string;
|
|
241
241
|
}, {
|
|
242
242
|
query: string;
|
|
243
243
|
limit?: number | undefined;
|
|
@@ -41,6 +41,8 @@ export { generateId, nowISO, inputToSkillNode, inputToEdge, validateSkillInput,
|
|
|
41
41
|
export { MemoryStorage } from './memory.js';
|
|
42
42
|
export { LevelGraphStorage } from './levelgraph.js';
|
|
43
43
|
export { Neo4jStorage } from './neo4j.js';
|
|
44
|
+
export { Neo4jGraphRAGStorage, createNeo4jGraphRAGStorage, GRAPHRAG_DEFAULTS, } from './neo4j-graphrag.js';
|
|
45
|
+
export { FRACTIONS_CURRICULUM, PROGRAMMING_CURRICULUM, seedStorage, } from './seeds.js';
|
|
44
46
|
import type { StorageConfig, GraphStorage } from '../types/storage.js';
|
|
45
47
|
/**
|
|
46
48
|
* Create a storage adapter based on configuration.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAKH,YAAY,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAKrB,OAAO,EACL,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,WAAW,CAAC;AAKnB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK1C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKvE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAWjE"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAKH,YAAY,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAKrB,OAAO,EACL,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,WAAW,CAAC;AAKnB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK1C,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,GACZ,MAAM,YAAY,CAAC;AAKpB,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKvE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAWjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levelgraph.d.ts","sourceRoot":"","sources":["../../../src/storage/levelgraph.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,OAAO,EACP,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,qBAAqB,EACrB,YAAY,EACZ,aAAa,EAEb,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EAGX,MAAM,mBAAmB,CAAC;AA+E3B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD,OAAO,CAAC,EAAE,CAA6B;IACvC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAiC;IAM/C;;OAEG;IACH,OAAO,CAAC,cAAc;IA0CtB;;OAEG;IACH,OAAO,CAAC,cAAc;IA+CtB;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB,OAAO,CAAC,GAAG;IAUX,OAAO,CAAC,GAAG;IAUX,OAAO,CAAC,GAAG;IAcL,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"levelgraph.d.ts","sourceRoot":"","sources":["../../../src/storage/levelgraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Neo4j GraphRAG Storage
|
|
3
|
+
*
|
|
4
|
+
* Extends Neo4jStorage with vector embedding and semantic search capabilities
|
|
5
|
+
* using Neo4j 5.x's native vector index support.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
import type { SkillId, GraphRAGStorage, EmbeddingAdapter, SkillWithEmbedding, VectorSearchResult, VectorSearchOptions, GraphRAGSearchResult, GraphRAGSearchOptions, GraphRAGContext, LearningPathRAGRequest, LearningPathRAGResult, SimilarityMetric } from '../types/index.js';
|
|
10
|
+
import { Neo4jStorage } from './neo4j.js';
|
|
11
|
+
/**
|
|
12
|
+
* Default GraphRAG configuration
|
|
13
|
+
*/
|
|
14
|
+
export declare const GRAPHRAG_DEFAULTS: {
|
|
15
|
+
/** Default limit for vector search results */
|
|
16
|
+
searchLimit: number;
|
|
17
|
+
/** Default minimum similarity score */
|
|
18
|
+
minScore: number;
|
|
19
|
+
/** Default graph traversal depth */
|
|
20
|
+
graphDepth: number;
|
|
21
|
+
/** Default weight for vector similarity in combined score */
|
|
22
|
+
vectorWeight: number;
|
|
23
|
+
/** Default similarity metric */
|
|
24
|
+
metric: SimilarityMetric;
|
|
25
|
+
/** Batch size for embedding operations */
|
|
26
|
+
embeddingBatchSize: number;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Neo4j GraphRAG Storage
|
|
30
|
+
*
|
|
31
|
+
* Provides vector embedding storage and semantic search using Neo4j 5.x
|
|
32
|
+
* native vector indexes combined with graph traversal for enhanced context.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* import { Neo4jGraphRAGStorage, createOpenAIEmbeddingAdapter } from 'learngraph';
|
|
37
|
+
*
|
|
38
|
+
* const storage = new Neo4jGraphRAGStorage();
|
|
39
|
+
* await storage.connect({
|
|
40
|
+
* backend: 'neo4j',
|
|
41
|
+
* uri: 'bolt://localhost:7687',
|
|
42
|
+
* username: 'neo4j',
|
|
43
|
+
* password: 'password',
|
|
44
|
+
* });
|
|
45
|
+
*
|
|
46
|
+
* // Set embedding adapter
|
|
47
|
+
* const embedding = createOpenAIEmbeddingAdapter();
|
|
48
|
+
* storage.setEmbeddingAdapter(embedding);
|
|
49
|
+
*
|
|
50
|
+
* // Create vector index
|
|
51
|
+
* await storage.createVectorIndex({ dimensions: 1536 });
|
|
52
|
+
*
|
|
53
|
+
* // Embed all skills
|
|
54
|
+
* await storage.embedAllSkills();
|
|
55
|
+
*
|
|
56
|
+
* // Semantic search with graph context
|
|
57
|
+
* const results = await storage.searchWithGraphContext('learn JavaScript functions');
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare class Neo4jGraphRAGStorage extends Neo4jStorage implements GraphRAGStorage {
|
|
61
|
+
private embeddingAdapter;
|
|
62
|
+
private vectorIndexName;
|
|
63
|
+
private vectorIndexDimensions;
|
|
64
|
+
setEmbeddingAdapter(adapter: EmbeddingAdapter): void;
|
|
65
|
+
getEmbeddingAdapter(): EmbeddingAdapter | null;
|
|
66
|
+
private requireEmbeddingAdapter;
|
|
67
|
+
/**
|
|
68
|
+
* Generate text representation for embedding
|
|
69
|
+
*/
|
|
70
|
+
private getEmbeddingText;
|
|
71
|
+
embedSkill(skillId: SkillId): Promise<void>;
|
|
72
|
+
embedAllSkills(options?: {
|
|
73
|
+
batchSize?: number;
|
|
74
|
+
onProgress?: (completed: number, total: number) => void;
|
|
75
|
+
}): Promise<{
|
|
76
|
+
embedded: number;
|
|
77
|
+
failed: number;
|
|
78
|
+
}>;
|
|
79
|
+
hasEmbedding(skillId: SkillId): Promise<boolean>;
|
|
80
|
+
getSkillWithEmbedding(skillId: SkillId): Promise<SkillWithEmbedding | null>;
|
|
81
|
+
searchByVector(query: string, options?: VectorSearchOptions): Promise<VectorSearchResult[]>;
|
|
82
|
+
searchByEmbedding(embedding: number[], options?: VectorSearchOptions): Promise<VectorSearchResult[]>;
|
|
83
|
+
findSimilarSkills(skillId: SkillId, options?: VectorSearchOptions): Promise<VectorSearchResult[]>;
|
|
84
|
+
searchWithGraphContext(query: string, options?: GraphRAGSearchOptions): Promise<GraphRAGSearchResult[]>;
|
|
85
|
+
buildRAGContext(query: string, options?: GraphRAGSearchOptions): Promise<GraphRAGContext>;
|
|
86
|
+
private formatContextForLLM;
|
|
87
|
+
generateLearningPathRAG(request: LearningPathRAGRequest): Promise<LearningPathRAGResult>;
|
|
88
|
+
createVectorIndex(options?: {
|
|
89
|
+
dimensions?: number;
|
|
90
|
+
metric?: SimilarityMetric;
|
|
91
|
+
}): Promise<void>;
|
|
92
|
+
dropVectorIndex(): Promise<void>;
|
|
93
|
+
hasVectorIndex(): Promise<boolean>;
|
|
94
|
+
getVectorIndexStats(): Promise<{
|
|
95
|
+
exists: boolean;
|
|
96
|
+
dimensions?: number;
|
|
97
|
+
metric?: SimilarityMetric;
|
|
98
|
+
indexedCount: number;
|
|
99
|
+
totalSkills: number;
|
|
100
|
+
}>;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Create a Neo4j GraphRAG storage instance
|
|
104
|
+
*/
|
|
105
|
+
export declare function createNeo4jGraphRAGStorage(): Neo4jGraphRAGStorage;
|
|
106
|
+
//# sourceMappingURL=neo4j-graphrag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neo4j-graphrag.d.ts","sourceRoot":"","sources":["../../../src/storage/neo4j-graphrag.ts"],"names":[],"mappings":"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"}
|