@henrychong-ai/mcp-neo4j-knowledge-graph 1.0.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 (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +718 -0
  3. package/dist/KnowledgeGraphManager.d.ts +215 -0
  4. package/dist/KnowledgeGraphManager.js +910 -0
  5. package/dist/KnowledgeGraphManager.js.map +1 -0
  6. package/dist/callToolHandler.d.ts +5 -0
  7. package/dist/callToolHandler.js +26 -0
  8. package/dist/callToolHandler.js.map +1 -0
  9. package/dist/cli/neo4j-setup.d.ts +52 -0
  10. package/dist/cli/neo4j-setup.js +258 -0
  11. package/dist/cli/neo4j-setup.js.map +1 -0
  12. package/dist/config/paths.d.ts +13 -0
  13. package/dist/config/paths.js +41 -0
  14. package/dist/config/paths.js.map +1 -0
  15. package/dist/config/storage.d.ts +35 -0
  16. package/dist/config/storage.js +52 -0
  17. package/dist/config/storage.js.map +1 -0
  18. package/dist/embeddings/DefaultEmbeddingService.d.ts +64 -0
  19. package/dist/embeddings/DefaultEmbeddingService.js +139 -0
  20. package/dist/embeddings/DefaultEmbeddingService.js.map +1 -0
  21. package/dist/embeddings/EmbeddingJobManager.d.ts +212 -0
  22. package/dist/embeddings/EmbeddingJobManager.js +545 -0
  23. package/dist/embeddings/EmbeddingJobManager.js.map +1 -0
  24. package/dist/embeddings/EmbeddingService.d.ts +96 -0
  25. package/dist/embeddings/EmbeddingService.js +44 -0
  26. package/dist/embeddings/EmbeddingService.js.map +1 -0
  27. package/dist/embeddings/EmbeddingServiceFactory.d.ts +72 -0
  28. package/dist/embeddings/EmbeddingServiceFactory.js +147 -0
  29. package/dist/embeddings/EmbeddingServiceFactory.js.map +1 -0
  30. package/dist/embeddings/OpenAIEmbeddingService.d.ts +73 -0
  31. package/dist/embeddings/OpenAIEmbeddingService.js +195 -0
  32. package/dist/embeddings/OpenAIEmbeddingService.js.map +1 -0
  33. package/dist/embeddings/config.d.ts +83 -0
  34. package/dist/embeddings/config.js +65 -0
  35. package/dist/embeddings/config.js.map +1 -0
  36. package/dist/index.d.ts +4 -0
  37. package/dist/index.js +220 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/server/handlers/callToolHandler.d.ts +20 -0
  40. package/dist/server/handlers/callToolHandler.js +505 -0
  41. package/dist/server/handlers/callToolHandler.js.map +1 -0
  42. package/dist/server/handlers/listToolsHandler.d.ts +7 -0
  43. package/dist/server/handlers/listToolsHandler.js +511 -0
  44. package/dist/server/handlers/listToolsHandler.js.map +1 -0
  45. package/dist/server/handlers/toolHandlers/addObservations.d.ts +12 -0
  46. package/dist/server/handlers/toolHandlers/addObservations.js +99 -0
  47. package/dist/server/handlers/toolHandlers/addObservations.js.map +1 -0
  48. package/dist/server/handlers/toolHandlers/createEntities.d.ts +12 -0
  49. package/dist/server/handlers/toolHandlers/createEntities.js +20 -0
  50. package/dist/server/handlers/toolHandlers/createEntities.js.map +1 -0
  51. package/dist/server/handlers/toolHandlers/createRelations.d.ts +12 -0
  52. package/dist/server/handlers/toolHandlers/createRelations.js +20 -0
  53. package/dist/server/handlers/toolHandlers/createRelations.js.map +1 -0
  54. package/dist/server/handlers/toolHandlers/deleteEntities.d.ts +12 -0
  55. package/dist/server/handlers/toolHandlers/deleteEntities.js +20 -0
  56. package/dist/server/handlers/toolHandlers/deleteEntities.js.map +1 -0
  57. package/dist/server/handlers/toolHandlers/index.d.ts +8 -0
  58. package/dist/server/handlers/toolHandlers/index.js +9 -0
  59. package/dist/server/handlers/toolHandlers/index.js.map +1 -0
  60. package/dist/server/handlers/toolHandlers/readGraph.d.ts +12 -0
  61. package/dist/server/handlers/toolHandlers/readGraph.js +20 -0
  62. package/dist/server/handlers/toolHandlers/readGraph.js.map +1 -0
  63. package/dist/server/setup.d.ts +8 -0
  64. package/dist/server/setup.js +48 -0
  65. package/dist/server/setup.js.map +1 -0
  66. package/dist/storage/FileStorageProvider.d.ts +125 -0
  67. package/dist/storage/FileStorageProvider.js +322 -0
  68. package/dist/storage/FileStorageProvider.js.map +1 -0
  69. package/dist/storage/SearchResultCache.d.ts +102 -0
  70. package/dist/storage/SearchResultCache.js +258 -0
  71. package/dist/storage/SearchResultCache.js.map +1 -0
  72. package/dist/storage/StorageProvider.d.ts +171 -0
  73. package/dist/storage/StorageProvider.js +46 -0
  74. package/dist/storage/StorageProvider.js.map +1 -0
  75. package/dist/storage/StorageProviderFactory.d.ts +63 -0
  76. package/dist/storage/StorageProviderFactory.js +113 -0
  77. package/dist/storage/StorageProviderFactory.js.map +1 -0
  78. package/dist/storage/VectorStoreFactory.d.ts +43 -0
  79. package/dist/storage/VectorStoreFactory.js +41 -0
  80. package/dist/storage/VectorStoreFactory.js.map +1 -0
  81. package/dist/storage/neo4j/Neo4jConfig.d.ts +37 -0
  82. package/dist/storage/neo4j/Neo4jConfig.js +13 -0
  83. package/dist/storage/neo4j/Neo4jConfig.js.map +1 -0
  84. package/dist/storage/neo4j/Neo4jConnectionManager.d.ts +40 -0
  85. package/dist/storage/neo4j/Neo4jConnectionManager.js +58 -0
  86. package/dist/storage/neo4j/Neo4jConnectionManager.js.map +1 -0
  87. package/dist/storage/neo4j/Neo4jSchemaManager.d.ts +74 -0
  88. package/dist/storage/neo4j/Neo4jSchemaManager.js +224 -0
  89. package/dist/storage/neo4j/Neo4jSchemaManager.js.map +1 -0
  90. package/dist/storage/neo4j/Neo4jStorageProvider.d.ts +225 -0
  91. package/dist/storage/neo4j/Neo4jStorageProvider.js +1900 -0
  92. package/dist/storage/neo4j/Neo4jStorageProvider.js.map +1 -0
  93. package/dist/storage/neo4j/Neo4jVectorStore.d.ts +80 -0
  94. package/dist/storage/neo4j/Neo4jVectorStore.js +396 -0
  95. package/dist/storage/neo4j/Neo4jVectorStore.js.map +1 -0
  96. package/dist/types/entity-embedding.d.ts +156 -0
  97. package/dist/types/entity-embedding.js +2 -0
  98. package/dist/types/entity-embedding.js.map +1 -0
  99. package/dist/types/relation.d.ts +77 -0
  100. package/dist/types/relation.js +93 -0
  101. package/dist/types/relation.js.map +1 -0
  102. package/dist/types/temporalEntity.d.ts +55 -0
  103. package/dist/types/temporalEntity.js +66 -0
  104. package/dist/types/temporalEntity.js.map +1 -0
  105. package/dist/types/temporalRelation.d.ts +60 -0
  106. package/dist/types/temporalRelation.js +89 -0
  107. package/dist/types/temporalRelation.js.map +1 -0
  108. package/dist/types/vector-index.d.ts +48 -0
  109. package/dist/types/vector-index.js +2 -0
  110. package/dist/types/vector-index.js.map +1 -0
  111. package/dist/types/vector-store.d.ts +16 -0
  112. package/dist/types/vector-store.js +2 -0
  113. package/dist/types/vector-store.js.map +1 -0
  114. package/dist/utils/fs.d.ts +2 -0
  115. package/dist/utils/fs.js +3 -0
  116. package/dist/utils/fs.js.map +1 -0
  117. package/dist/utils/logger.d.ts +10 -0
  118. package/dist/utils/logger.js +35 -0
  119. package/dist/utils/logger.js.map +1 -0
  120. package/package.json +85 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KnowledgeGraphManager.js","sourceRoot":"","sources":["../src/KnowledgeGraphManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { KnowledgeGraphManager } from './KnowledgeGraphManager.js';
2
+ export declare function handleToolCall(manager: KnowledgeGraphManager, toolCall: {
3
+ name: string;
4
+ args: Record<string, unknown>;
5
+ }): Promise<unknown>;
@@ -0,0 +1,26 @@
1
+ // Note: This file connects Claude's tool calls to the appropriate internal function
2
+ // Each tool function is separate and should have the same name signature as the tools Claude uses
3
+ export async function handleToolCall(manager, toolCall) {
4
+ if (!toolCall || !toolCall.name) {
5
+ return { error: 'Invalid tool call' };
6
+ }
7
+ // Handle the various tool calls
8
+ try {
9
+ switch (toolCall.name) {
10
+ // ... existing code ...
11
+ case 'get_decayed_graph': {
12
+ // Note: The getDecayedGraph method no longer takes options
13
+ // The decay settings now must be configured at the StorageProvider level
14
+ const result = await manager.getDecayedGraph();
15
+ return result;
16
+ }
17
+ // ... existing code ...
18
+ default:
19
+ return { error: `Unknown tool call: ${toolCall.name}` };
20
+ }
21
+ }
22
+ catch (err) {
23
+ return { error: `Error handling tool call: ${err}` };
24
+ }
25
+ }
26
+ //# sourceMappingURL=callToolHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callToolHandler.js","sourceRoot":"","sources":["../src/callToolHandler.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,kGAAkG;AAIlG,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B,EAC9B,QAAyD;IAEzD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACxC,CAAC;IAED,gCAAgC;IAChC,IAAI,CAAC;QACH,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,wBAAwB;YAExB,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,2DAA2D;gBAC3D,yEAAyE;gBACzE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC/C,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,wBAAwB;YACxB;gBACE,OAAO,EAAE,KAAK,EAAE,sBAAsB,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,6BAA6B,GAAG,EAAE,EAAE,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Neo4j CLI Utility
4
+ *
5
+ * This script provides command-line utilities for managing Neo4j
6
+ * operations for the Memento MCP project.
7
+ */
8
+ import { Neo4jConnectionManager } from '../storage/neo4j/Neo4jConnectionManager.js';
9
+ import { Neo4jSchemaManager } from '../storage/neo4j/Neo4jSchemaManager.js';
10
+ import { type Neo4jConfig } from '../storage/neo4j/Neo4jConfig.js';
11
+ export type ConnectionManagerFactory = (config: Neo4jConfig) => Neo4jConnectionManager;
12
+ export type SchemaManagerFactory = (connectionManager: Neo4jConnectionManager, debug: boolean) => Neo4jSchemaManager;
13
+ /**
14
+ * Parse command line arguments into a Neo4j configuration object
15
+ *
16
+ * @param argv Command line arguments array
17
+ * @returns Object containing configuration and options
18
+ */
19
+ export declare function parseArgs(argv: string[]): {
20
+ config: Neo4jConfig;
21
+ options: {
22
+ debug: boolean;
23
+ recreate: boolean;
24
+ };
25
+ };
26
+ /**
27
+ * Test the connection to Neo4j
28
+ *
29
+ * @param config Neo4j configuration
30
+ * @param debug Enable debug mode
31
+ * @param connectionManagerFactory Factory for creating connection managers (for testing)
32
+ * @returns true if connection is successful, false otherwise
33
+ */
34
+ export declare function testConnection(config: Neo4jConfig, debug?: boolean, connectionManagerFactory?: ConnectionManagerFactory): Promise<boolean>;
35
+ /**
36
+ * Initialize Neo4j schema
37
+ *
38
+ * @param config Neo4j configuration
39
+ * @param debug Enable debug mode
40
+ * @param recreate Force recreation of constraints and indexes
41
+ * @param connectionManagerFactory Factory for creating connection managers (for testing)
42
+ * @param schemaManagerFactory Factory for creating schema managers (for testing)
43
+ */
44
+ export declare function initializeSchema(config: Neo4jConfig, debug?: boolean, recreate?: boolean, connectionManagerFactory?: ConnectionManagerFactory, schemaManagerFactory?: SchemaManagerFactory): Promise<void>;
45
+ /**
46
+ * Print help message
47
+ */
48
+ export declare function printHelp(): void;
49
+ /**
50
+ * Main CLI function
51
+ */
52
+ export declare function main(): Promise<void>;
@@ -0,0 +1,258 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Neo4j CLI Utility
4
+ *
5
+ * This script provides command-line utilities for managing Neo4j
6
+ * operations for the Memento MCP project.
7
+ */
8
+ import { Neo4jConnectionManager } from '../storage/neo4j/Neo4jConnectionManager.js';
9
+ import { Neo4jSchemaManager } from '../storage/neo4j/Neo4jSchemaManager.js';
10
+ import { DEFAULT_NEO4J_CONFIG } from '../storage/neo4j/Neo4jConfig.js';
11
+ // Default factories that use the actual implementations
12
+ const defaultConnectionManagerFactory = (config) => new Neo4jConnectionManager(config);
13
+ const defaultSchemaManagerFactory = (connectionManager, debug) => new Neo4jSchemaManager(connectionManager, undefined, debug);
14
+ /**
15
+ * Parse command line arguments into a Neo4j configuration object
16
+ *
17
+ * @param argv Command line arguments array
18
+ * @returns Object containing configuration and options
19
+ */
20
+ export function parseArgs(argv) {
21
+ const config = { ...DEFAULT_NEO4J_CONFIG };
22
+ // Always enable debug by default - it provides useful information
23
+ const options = { debug: true, recreate: false };
24
+ for (let i = 0; i < argv.length; i++) {
25
+ const arg = argv[i];
26
+ if (arg === '--uri' && i + 1 < argv.length) {
27
+ config.uri = argv[++i];
28
+ }
29
+ else if (arg === '--username' && i + 1 < argv.length) {
30
+ config.username = argv[++i];
31
+ }
32
+ else if (arg === '--password' && i + 1 < argv.length) {
33
+ config.password = argv[++i];
34
+ }
35
+ else if (arg === '--database' && i + 1 < argv.length) {
36
+ config.database = argv[++i];
37
+ }
38
+ else if (arg === '--vector-index' && i + 1 < argv.length) {
39
+ config.vectorIndexName = argv[++i];
40
+ }
41
+ else if (arg === '--dimensions' && i + 1 < argv.length) {
42
+ config.vectorDimensions = parseInt(argv[++i], 10);
43
+ }
44
+ else if (arg === '--similarity' && i + 1 < argv.length) {
45
+ const similarity = argv[++i];
46
+ if (similarity === 'cosine' || similarity === 'euclidean') {
47
+ config.similarityFunction = similarity;
48
+ }
49
+ }
50
+ else if (arg === '--no-debug') {
51
+ // Option to disable debug if needed
52
+ options.debug = false;
53
+ }
54
+ else if (arg === '--recreate') {
55
+ options.recreate = true;
56
+ }
57
+ }
58
+ return { config, options };
59
+ }
60
+ /**
61
+ * Test the connection to Neo4j
62
+ *
63
+ * @param config Neo4j configuration
64
+ * @param debug Enable debug mode
65
+ * @param connectionManagerFactory Factory for creating connection managers (for testing)
66
+ * @returns true if connection is successful, false otherwise
67
+ */
68
+ export async function testConnection(config, debug = true, connectionManagerFactory = defaultConnectionManagerFactory) {
69
+ console.log('Testing connection to Neo4j...');
70
+ console.log(` URI: ${config.uri}`);
71
+ console.log(` Username: ${config.username}`);
72
+ console.log(` Database: ${config.database}`);
73
+ const connectionManager = connectionManagerFactory(config);
74
+ try {
75
+ if (debug) {
76
+ console.log('Debug: Opening Neo4j session');
77
+ }
78
+ const session = await connectionManager.getSession();
79
+ if (debug) {
80
+ console.log('Debug: Running test query: RETURN 1 as value');
81
+ }
82
+ const result = await session.run('RETURN 1 as value');
83
+ if (debug) {
84
+ console.log(`Debug: Query result: ${JSON.stringify(result.records)}`);
85
+ }
86
+ await session.close();
87
+ const value = result.records[0].get('value').toNumber();
88
+ console.log('✓ Neo4j connection successful');
89
+ return value === 1;
90
+ }
91
+ catch (error) {
92
+ console.error('✗ Neo4j connection failed:');
93
+ console.error(` Error: ${error.message}`);
94
+ if (debug) {
95
+ console.error(` Stack: ${error.stack}`);
96
+ }
97
+ return false;
98
+ }
99
+ finally {
100
+ try {
101
+ if (debug) {
102
+ console.log('Debug: Closing Neo4j connection');
103
+ }
104
+ await connectionManager.close();
105
+ }
106
+ catch (closeError) {
107
+ console.error(' Warning: Error while closing connection:');
108
+ console.error(` ${closeError.message}`);
109
+ }
110
+ }
111
+ }
112
+ /**
113
+ * Initialize Neo4j schema
114
+ *
115
+ * @param config Neo4j configuration
116
+ * @param debug Enable debug mode
117
+ * @param recreate Force recreation of constraints and indexes
118
+ * @param connectionManagerFactory Factory for creating connection managers (for testing)
119
+ * @param schemaManagerFactory Factory for creating schema managers (for testing)
120
+ */
121
+ export async function initializeSchema(config, debug = true, recreate = false, connectionManagerFactory = defaultConnectionManagerFactory, schemaManagerFactory = defaultSchemaManagerFactory) {
122
+ const connectionManager = connectionManagerFactory(config);
123
+ const schemaManager = schemaManagerFactory(connectionManager, debug);
124
+ try {
125
+ console.log('Initializing Neo4j schema...');
126
+ if (recreate) {
127
+ console.log('Using recreate mode: will drop and recreate constraints and indexes');
128
+ }
129
+ // Display current constraints and indexes
130
+ if (debug) {
131
+ console.log('Listing current constraints and indexes...');
132
+ const constraints = await schemaManager.listConstraints();
133
+ console.log(`Found ${constraints.length} constraints`);
134
+ const indexes = await schemaManager.listIndexes();
135
+ console.log(`Found ${indexes.length} indexes`);
136
+ }
137
+ // Create entity constraints
138
+ console.log('Creating entity constraints...');
139
+ await schemaManager.createEntityConstraints(recreate);
140
+ // Create vector index for entity embeddings
141
+ console.log(`Creating vector index "${config.vectorIndexName}"...`);
142
+ await schemaManager.createVectorIndex(config.vectorIndexName, 'Entity', 'embedding', config.vectorDimensions, config.similarityFunction, recreate);
143
+ // Verify the schema was created
144
+ if (debug) {
145
+ console.log('Verifying schema was created...');
146
+ const constraints = await schemaManager.listConstraints();
147
+ console.log(`Found ${constraints.length} constraints after initialization`);
148
+ const indexes = await schemaManager.listIndexes();
149
+ console.log(`Found ${indexes.length} indexes after initialization`);
150
+ // Check if our vector index exists
151
+ const vectorIndexExists = await schemaManager.vectorIndexExists(config.vectorIndexName);
152
+ console.log(`Vector index "${config.vectorIndexName}" exists: ${vectorIndexExists}`);
153
+ }
154
+ console.log('✓ Neo4j schema initialization complete');
155
+ }
156
+ catch (error) {
157
+ console.error('✗ Neo4j schema initialization failed:');
158
+ console.error(` Error: ${error.message}`);
159
+ if (debug) {
160
+ console.error(` Stack: ${error.stack}`);
161
+ }
162
+ throw error;
163
+ }
164
+ finally {
165
+ await schemaManager.close();
166
+ }
167
+ }
168
+ /**
169
+ * Print help message
170
+ */
171
+ export function printHelp() {
172
+ console.log(`
173
+ Neo4j CLI Utility
174
+
175
+ Usage:
176
+ neo4j-cli test [options] - Test Neo4j connection
177
+ neo4j-cli init [options] - Initialize Neo4j schema
178
+ neo4j-cli help - Show this help message
179
+
180
+ Options:
181
+ --uri <uri> Neo4j server URI (default: ${DEFAULT_NEO4J_CONFIG.uri})
182
+ --username <username> Neo4j username (default: ${DEFAULT_NEO4J_CONFIG.username})
183
+ --password <password> Neo4j password (default: ${DEFAULT_NEO4J_CONFIG.password})
184
+ --database <name> Neo4j database name (default: ${DEFAULT_NEO4J_CONFIG.database})
185
+ --vector-index <name> Vector index name (default: ${DEFAULT_NEO4J_CONFIG.vectorIndexName})
186
+ --dimensions <number> Vector dimensions (default: ${DEFAULT_NEO4J_CONFIG.vectorDimensions})
187
+ --similarity <function> Similarity function (cosine|euclidean) (default: ${DEFAULT_NEO4J_CONFIG.similarityFunction})
188
+ --no-debug Disable detailed output (debug is ON by default)
189
+ --recreate Force recreation of constraints and indexes
190
+ `);
191
+ }
192
+ /**
193
+ * Main CLI function
194
+ */
195
+ export async function main() {
196
+ console.log('Neo4j CLI Utility');
197
+ console.log('=================');
198
+ const command = process.argv[2];
199
+ const args = process.argv.slice(3);
200
+ console.log(`Command: ${command || 'none'}`);
201
+ console.log(`Arguments: ${args.join(' ')}`);
202
+ const { config, options } = parseArgs(args);
203
+ console.log('Configuration:');
204
+ console.log(JSON.stringify(config, null, 2));
205
+ // Only mention debug mode if explicitly disabled
206
+ if (!options.debug) {
207
+ console.log('Debug mode: disabled');
208
+ }
209
+ if (options.recreate) {
210
+ console.log('Recreate mode: enabled');
211
+ }
212
+ switch (command) {
213
+ case 'test':
214
+ await testConnection(config, options.debug);
215
+ break;
216
+ case 'init':
217
+ const connected = await testConnection(config, options.debug);
218
+ if (connected) {
219
+ await initializeSchema(config, options.debug, options.recreate);
220
+ }
221
+ else {
222
+ console.error('Cannot initialize schema: Connection test failed');
223
+ process.exit(1);
224
+ }
225
+ break;
226
+ case 'help':
227
+ default:
228
+ printHelp();
229
+ if (command !== 'help') {
230
+ console.error(`\nUnknown command: ${command}`);
231
+ process.exit(1);
232
+ }
233
+ break;
234
+ }
235
+ }
236
+ // Check if this file is being run directly
237
+ // This works in both ESM and CommonJS environments
238
+ const isMainModule = () => {
239
+ try {
240
+ // In ESM, import.meta.url is available
241
+ return import.meta.url === `file://${process.argv[1]}`;
242
+ }
243
+ catch {
244
+ // Fallback to CommonJS approach
245
+ return typeof require !== 'undefined' && require.main === module;
246
+ }
247
+ };
248
+ // Run the main function if this script is executed directly
249
+ if (isMainModule()) {
250
+ main()
251
+ .then(() => process.exit(0))
252
+ .catch((error) => {
253
+ console.error('Fatal error:');
254
+ console.error(error);
255
+ process.exit(1);
256
+ });
257
+ }
258
+ //# sourceMappingURL=neo4j-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neo4j-setup.js","sourceRoot":"","sources":["../../src/cli/neo4j-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Get the absolute path to the data directory
3
+ * Creates the directory if it doesn't exist
4
+ * @returns The absolute path to the data directory
5
+ */
6
+ export declare function getDataDirectoryPath(): string;
7
+ /**
8
+ * Resolve the memory file path based on environment variable or default
9
+ * @param envPath Optional path from environment variable
10
+ * @param dataDir Data directory path
11
+ * @returns Resolved path to the memory file
12
+ */
13
+ export declare function resolveMemoryFilePath(envPath: string | undefined, dataDir: string): string;
@@ -0,0 +1,41 @@
1
+ import path from 'path';
2
+ import * as fs from 'fs';
3
+ /**
4
+ * Get the absolute path to the data directory
5
+ * Creates the directory if it doesn't exist
6
+ * @returns The absolute path to the data directory
7
+ */
8
+ export function getDataDirectoryPath() {
9
+ // Check if an absolute path is provided in the environment variable
10
+ const envPath = process.env.MEMORY_FILE_PATH;
11
+ // If an absolute path is provided, extract its directory
12
+ if (envPath && path.isAbsolute(envPath)) {
13
+ const envDir = path.dirname(envPath);
14
+ // Create directory if it doesn't exist
15
+ if (!fs.existsSync(envDir)) {
16
+ fs.mkdirSync(envDir, { recursive: true });
17
+ }
18
+ return envDir;
19
+ }
20
+ // Otherwise, use the default data directory
21
+ const dataDir = path.join(process.cwd(), 'data');
22
+ // Create data directory if it doesn't exist
23
+ if (!fs.existsSync(dataDir)) {
24
+ fs.mkdirSync(dataDir, { recursive: true });
25
+ }
26
+ return dataDir;
27
+ }
28
+ /**
29
+ * Resolve the memory file path based on environment variable or default
30
+ * @param envPath Optional path from environment variable
31
+ * @param dataDir Data directory path
32
+ * @returns Resolved path to the memory file
33
+ */
34
+ export function resolveMemoryFilePath(envPath, dataDir) {
35
+ const defaultPath = path.join(dataDir, 'memory.sqlite');
36
+ if (!envPath) {
37
+ return defaultPath;
38
+ }
39
+ return path.isAbsolute(envPath) ? envPath : path.join(dataDir, envPath);
40
+ }
41
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,oEAAoE;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE7C,yDAAyD;IACzD,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErC,uCAAuC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,4CAA4C;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAEjD,4CAA4C;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA2B,EAAE,OAAe;IAChF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAExD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { StorageProviderFactory } from '../storage/StorageProviderFactory.js';
2
+ import type { VectorStoreFactoryOptions } from '../storage/VectorStoreFactory.js';
3
+ /**
4
+ * Determines the storage type based on the environment variable
5
+ * @param _envType Storage type from environment variable (unused)
6
+ * @returns 'neo4j' storage type
7
+ */
8
+ export declare function determineStorageType(_envType: string | undefined): 'neo4j';
9
+ /**
10
+ * Configuration for storage providers
11
+ */
12
+ export interface StorageConfig {
13
+ type: 'neo4j';
14
+ options: {
15
+ neo4jUri?: string;
16
+ neo4jUsername?: string;
17
+ neo4jPassword?: string;
18
+ neo4jDatabase?: string;
19
+ neo4jVectorIndexName?: string;
20
+ neo4jVectorDimensions?: number;
21
+ neo4jSimilarityFunction?: 'cosine' | 'euclidean';
22
+ };
23
+ vectorStoreOptions?: VectorStoreFactoryOptions;
24
+ }
25
+ /**
26
+ * Creates a storage configuration object
27
+ * @param storageType Storage type (forced to 'neo4j')
28
+ * @returns Storage provider configuration
29
+ */
30
+ export declare function createStorageConfig(storageType: string | undefined): StorageConfig;
31
+ /**
32
+ * Initializes the storage provider based on environment variables
33
+ * @returns Configured storage provider
34
+ */
35
+ export declare function initializeStorageProvider(): ReturnType<StorageProviderFactory['createProvider']>;
@@ -0,0 +1,52 @@
1
+ import { StorageProviderFactory } from '../storage/StorageProviderFactory.js';
2
+ import { logger } from '../utils/logger.js';
3
+ /**
4
+ * Determines the storage type based on the environment variable
5
+ * @param _envType Storage type from environment variable (unused)
6
+ * @returns 'neo4j' storage type
7
+ */
8
+ export function determineStorageType(_envType) {
9
+ // Always return neo4j regardless of input
10
+ return 'neo4j';
11
+ }
12
+ /**
13
+ * Creates a storage configuration object
14
+ * @param storageType Storage type (forced to 'neo4j')
15
+ * @returns Storage provider configuration
16
+ */
17
+ export function createStorageConfig(storageType) {
18
+ // Neo4j is always the type
19
+ const type = determineStorageType(storageType);
20
+ logger.info('Configuring Neo4j storage provider', {
21
+ uri: process.env.NEO4J_URI || 'bolt://localhost:7687',
22
+ database: process.env.NEO4J_DATABASE || 'neo4j',
23
+ vectorIndex: process.env.NEO4J_VECTOR_INDEX || 'entity_embeddings',
24
+ });
25
+ // Base configuration with Neo4j properties
26
+ const config = {
27
+ type,
28
+ options: {
29
+ // Neo4j connection options from environment variables
30
+ neo4jUri: process.env.NEO4J_URI || 'bolt://localhost:7687',
31
+ neo4jUsername: process.env.NEO4J_USERNAME || 'neo4j',
32
+ neo4jPassword: process.env.NEO4J_PASSWORD || 'memento_password',
33
+ neo4jDatabase: process.env.NEO4J_DATABASE || 'neo4j',
34
+ neo4jVectorIndexName: process.env.NEO4J_VECTOR_INDEX || 'entity_embeddings',
35
+ neo4jVectorDimensions: process.env.NEO4J_VECTOR_DIMENSIONS
36
+ ? parseInt(process.env.NEO4J_VECTOR_DIMENSIONS, 10)
37
+ : 1536,
38
+ neo4jSimilarityFunction: process.env.NEO4J_SIMILARITY_FUNCTION || 'cosine',
39
+ },
40
+ };
41
+ return config;
42
+ }
43
+ /**
44
+ * Initializes the storage provider based on environment variables
45
+ * @returns Configured storage provider
46
+ */
47
+ export function initializeStorageProvider() {
48
+ const factory = new StorageProviderFactory();
49
+ const config = createStorageConfig(process.env.MEMORY_STORAGE_TYPE);
50
+ return factory.createProvider(config);
51
+ }
52
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/config/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA4B;IAC/D,0CAA0C;IAC1C,OAAO,OAAO,CAAC;AACjB,CAAC;AAoBD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAA+B;IACjE,2BAA2B;IAC3B,MAAM,IAAI,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAE/C,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;QAChD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,uBAAuB;QACrD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO;QAC/C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,mBAAmB;KACnE,CAAC,CAAC;IAEH,2CAA2C;IAC3C,MAAM,MAAM,GAAkB;QAC5B,IAAI;QACJ,OAAO,EAAE;YACP,sDAAsD;YACtD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,uBAAuB;YAC1D,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO;YACpD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,kBAAkB;YAC/D,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO;YACpD,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,mBAAmB;YAC3E,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;gBACxD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,CAAC;gBACnD,CAAC,CAAC,IAAI;YACR,uBAAuB,EACpB,OAAO,CAAC,GAAG,CAAC,yBAAoD,IAAI,QAAQ;SAChF;KACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEpE,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { EmbeddingService, type EmbeddingModelInfo } from './EmbeddingService.js';
2
+ import type { EmbeddingServiceConfig } from './EmbeddingServiceFactory.js';
3
+ /**
4
+ * Default embedding service implementation that generates random vectors.
5
+ * This is a fallback service for testing and development environments
6
+ * where an external API provider is not available.
7
+ */
8
+ export declare class DefaultEmbeddingService extends EmbeddingService {
9
+ private dimensions;
10
+ private modelName;
11
+ private modelVersion;
12
+ /**
13
+ * Create a new default embedding service instance
14
+ *
15
+ * @param config - Configuration options or dimensions
16
+ * @param modelName - Name to use for the model (legacy parameter)
17
+ * @param modelVersion - Version to use for the model (legacy parameter)
18
+ */
19
+ constructor(config?: EmbeddingServiceConfig | number, // Default to OpenAI's dimensions for better test compatibility
20
+ modelName?: string, modelVersion?: string);
21
+ /**
22
+ * Generate an embedding vector for text
23
+ *
24
+ * @param text - Text to generate embedding for
25
+ * @returns Promise resolving to a vector as Array
26
+ */
27
+ generateEmbedding(text: string): Promise<number[]>;
28
+ /**
29
+ * Generate embedding vectors for multiple texts
30
+ *
31
+ * @param texts - Array of texts to generate embeddings for
32
+ * @returns Promise resolving to array of embedding vectors
33
+ */
34
+ generateEmbeddings(texts: string[]): Promise<number[][]>;
35
+ /**
36
+ * Get information about the embedding model
37
+ *
38
+ * @returns Model information
39
+ */
40
+ getModelInfo(): EmbeddingModelInfo;
41
+ /**
42
+ * Generate a simple hash from a string for deterministic random generation
43
+ *
44
+ * @private
45
+ * @param text - Input text to hash
46
+ * @returns Numeric hash value
47
+ */
48
+ private _hashString;
49
+ /**
50
+ * Seeded random number generator
51
+ *
52
+ * @private
53
+ * @param seed - Seed value
54
+ * @returns Random value between 0 and 1
55
+ */
56
+ private _seededRandom;
57
+ /**
58
+ * Normalize a vector to unit length
59
+ *
60
+ * @private
61
+ * @param vector - Vector to normalize
62
+ */
63
+ private _normalizeVector;
64
+ }