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.
Files changed (95) hide show
  1. package/dist/cjs/components/SkillGraph.js +224 -23
  2. package/dist/cjs/components/SkillGraph.js.map +1 -1
  3. package/dist/cjs/components/hooks.js +10 -0
  4. package/dist/cjs/components/hooks.js.map +1 -1
  5. package/dist/cjs/embeddings/base.js +104 -0
  6. package/dist/cjs/embeddings/base.js.map +1 -0
  7. package/dist/cjs/embeddings/index.js +91 -0
  8. package/dist/cjs/embeddings/index.js.map +1 -0
  9. package/dist/cjs/embeddings/local.js +224 -0
  10. package/dist/cjs/embeddings/local.js.map +1 -0
  11. package/dist/cjs/embeddings/openai.js +169 -0
  12. package/dist/cjs/embeddings/openai.js.map +1 -0
  13. package/dist/cjs/index.js +25 -1
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/llm/graphrag-orchestrator.js +1004 -0
  16. package/dist/cjs/llm/graphrag-orchestrator.js.map +1 -0
  17. package/dist/cjs/llm/index.js +11 -1
  18. package/dist/cjs/llm/index.js.map +1 -1
  19. package/dist/cjs/llm/prompts.js +169 -1
  20. package/dist/cjs/llm/prompts.js.map +1 -1
  21. package/dist/cjs/storage/index.js +15 -1
  22. package/dist/cjs/storage/index.js.map +1 -1
  23. package/dist/cjs/storage/levelgraph.js +6 -3
  24. package/dist/cjs/storage/levelgraph.js.map +1 -1
  25. package/dist/cjs/storage/neo4j-graphrag.js +596 -0
  26. package/dist/cjs/storage/neo4j-graphrag.js.map +1 -0
  27. package/dist/cjs/types/graphrag.js +11 -0
  28. package/dist/cjs/types/graphrag.js.map +1 -0
  29. package/dist/cjs/types/index.js +7 -1
  30. package/dist/cjs/types/index.js.map +1 -1
  31. package/dist/cjs/types/resource.js +151 -0
  32. package/dist/cjs/types/resource.js.map +1 -0
  33. package/dist/esm/components/SkillGraph.js +226 -25
  34. package/dist/esm/components/SkillGraph.js.map +1 -1
  35. package/dist/esm/components/hooks.js +10 -0
  36. package/dist/esm/components/hooks.js.map +1 -1
  37. package/dist/esm/embeddings/base.js +99 -0
  38. package/dist/esm/embeddings/base.js.map +1 -0
  39. package/dist/esm/embeddings/index.js +79 -0
  40. package/dist/esm/embeddings/index.js.map +1 -0
  41. package/dist/esm/embeddings/local.js +219 -0
  42. package/dist/esm/embeddings/local.js.map +1 -0
  43. package/dist/esm/embeddings/openai.js +164 -0
  44. package/dist/esm/embeddings/openai.js.map +1 -0
  45. package/dist/esm/index.js +16 -0
  46. package/dist/esm/index.js.map +1 -1
  47. package/dist/esm/llm/graphrag-orchestrator.js +999 -0
  48. package/dist/esm/llm/graphrag-orchestrator.js.map +1 -0
  49. package/dist/esm/llm/index.js +5 -1
  50. package/dist/esm/llm/index.js.map +1 -1
  51. package/dist/esm/llm/prompts.js +166 -0
  52. package/dist/esm/llm/prompts.js.map +1 -1
  53. package/dist/esm/storage/index.js +8 -0
  54. package/dist/esm/storage/index.js.map +1 -1
  55. package/dist/esm/storage/levelgraph.js +6 -3
  56. package/dist/esm/storage/levelgraph.js.map +1 -1
  57. package/dist/esm/storage/neo4j-graphrag.js +591 -0
  58. package/dist/esm/storage/neo4j-graphrag.js.map +1 -0
  59. package/dist/esm/types/graphrag.js +10 -0
  60. package/dist/esm/types/graphrag.js.map +1 -0
  61. package/dist/esm/types/index.js +1 -0
  62. package/dist/esm/types/index.js.map +1 -1
  63. package/dist/esm/types/resource.js +144 -0
  64. package/dist/esm/types/resource.js.map +1 -0
  65. package/dist/types/components/SkillGraph.d.ts.map +1 -1
  66. package/dist/types/components/hooks.d.ts.map +1 -1
  67. package/dist/types/embeddings/base.d.ts +51 -0
  68. package/dist/types/embeddings/base.d.ts.map +1 -0
  69. package/dist/types/embeddings/index.d.ts +48 -0
  70. package/dist/types/embeddings/index.d.ts.map +1 -0
  71. package/dist/types/embeddings/local.d.ts +82 -0
  72. package/dist/types/embeddings/local.d.ts.map +1 -0
  73. package/dist/types/embeddings/openai.d.ts +48 -0
  74. package/dist/types/embeddings/openai.d.ts.map +1 -0
  75. package/dist/types/index.d.ts +2 -0
  76. package/dist/types/index.d.ts.map +1 -1
  77. package/dist/types/llm/graphrag-orchestrator.d.ts +280 -0
  78. package/dist/types/llm/graphrag-orchestrator.d.ts.map +1 -0
  79. package/dist/types/llm/index.d.ts +3 -1
  80. package/dist/types/llm/index.d.ts.map +1 -1
  81. package/dist/types/llm/prompts.d.ts +134 -0
  82. package/dist/types/llm/prompts.d.ts.map +1 -1
  83. package/dist/types/mcp/tools.d.ts +6 -6
  84. package/dist/types/storage/index.d.ts +2 -0
  85. package/dist/types/storage/index.d.ts.map +1 -1
  86. package/dist/types/storage/levelgraph.d.ts.map +1 -1
  87. package/dist/types/storage/neo4j-graphrag.d.ts +106 -0
  88. package/dist/types/storage/neo4j-graphrag.d.ts.map +1 -0
  89. package/dist/types/types/graphrag.d.ts +335 -0
  90. package/dist/types/types/graphrag.d.ts.map +1 -0
  91. package/dist/types/types/index.d.ts +3 -0
  92. package/dist/types/types/index.d.ts.map +1 -1
  93. package/dist/types/types/resource.d.ts +202 -0
  94. package/dist/types/types/resource.d.ts.map +1 -0
  95. 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 { SYSTEM_PROMPTS, EXTRACTION_SCHEMA, PREREQUISITE_SCHEMA, BLOOM_ANALYSIS_SCHEMA, DECOMPOSITION_SCHEMA, buildExtractionPrompt, buildPrerequisitePrompt, buildBloomPrompt, buildDecompositionPrompt, } from './prompts.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';
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,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,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;;;;;CAkG1B,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;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"}
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":"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"}
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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"}