@pcircle/memesh 2.8.10 → 2.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/LICENSE +21 -661
- package/README.de.md +171 -0
- package/README.es.md +171 -0
- package/README.fr.md +171 -0
- package/README.id.md +171 -0
- package/README.ja.md +171 -0
- package/README.ko.md +171 -0
- package/README.md +73 -49
- package/README.th.md +171 -0
- package/README.vi.md +171 -0
- package/README.zh-CN.md +171 -0
- package/README.zh-TW.md +71 -47
- package/dist/cli/login.js +1 -1
- package/dist/cli/login.js.map +1 -1
- package/dist/cloud/MeMeshCloudClient.js +1 -1
- package/dist/cloud/MeMeshCloudClient.js.map +1 -1
- package/dist/config/simple-config.d.ts +6 -3
- package/dist/config/simple-config.d.ts.map +1 -1
- package/dist/config/simple-config.js +35 -18
- package/dist/config/simple-config.js.map +1 -1
- package/dist/db/ConnectionPool.d.ts +6 -3
- package/dist/db/ConnectionPool.d.ts.map +1 -1
- package/dist/db/ConnectionPool.js +62 -15
- package/dist/db/ConnectionPool.js.map +1 -1
- package/dist/db/IDatabaseAdapter.d.ts +25 -0
- package/dist/db/IDatabaseAdapter.d.ts.map +1 -0
- package/dist/db/IDatabaseAdapter.js +2 -0
- package/dist/db/IDatabaseAdapter.js.map +1 -0
- package/dist/db/adapters/BetterSqlite3Adapter.d.ts +15 -0
- package/dist/db/adapters/BetterSqlite3Adapter.d.ts.map +1 -0
- package/dist/db/adapters/BetterSqlite3Adapter.js +105 -0
- package/dist/db/adapters/BetterSqlite3Adapter.js.map +1 -0
- package/dist/knowledge-graph/index.d.ts +22 -1
- package/dist/knowledge-graph/index.d.ts.map +1 -1
- package/dist/knowledge-graph/index.js +144 -3
- package/dist/knowledge-graph/index.js.map +1 -1
- package/dist/mcp/ServerInitializer.d.ts +5 -4
- package/dist/mcp/ServerInitializer.d.ts.map +1 -1
- package/dist/mcp/ServerInitializer.js +67 -22
- package/dist/mcp/ServerInitializer.js.map +1 -1
- package/dist/mcp/SessionBootstrapper.d.ts +1 -1
- package/dist/mcp/SessionBootstrapper.d.ts.map +1 -1
- package/dist/mcp/SessionBootstrapper.js +3 -0
- package/dist/mcp/SessionBootstrapper.js.map +1 -1
- package/dist/mcp/ToolDefinitions.d.ts.map +1 -1
- package/dist/mcp/ToolDefinitions.js +100 -4
- package/dist/mcp/ToolDefinitions.js.map +1 -1
- package/dist/mcp/ToolRouter.d.ts.map +1 -1
- package/dist/mcp/ToolRouter.js +4 -4
- package/dist/mcp/ToolRouter.js.map +1 -1
- package/dist/mcp/daemon/StdioProxyClient.d.ts.map +1 -1
- package/dist/mcp/daemon/StdioProxyClient.js +9 -1
- package/dist/mcp/daemon/StdioProxyClient.js.map +1 -1
- package/dist/mcp/handlers/BuddyHandlers.d.ts +5 -1
- package/dist/mcp/handlers/BuddyHandlers.d.ts.map +1 -1
- package/dist/mcp/handlers/BuddyHandlers.js +30 -3
- package/dist/mcp/handlers/BuddyHandlers.js.map +1 -1
- package/dist/mcp/handlers/ToolHandlers.d.ts +3 -1
- package/dist/mcp/handlers/ToolHandlers.d.ts.map +1 -1
- package/dist/mcp/handlers/ToolHandlers.js +39 -2
- package/dist/mcp/handlers/ToolHandlers.js.map +1 -1
- package/dist/mcp/resources/quick-reference.md +1 -1
- package/dist/mcp/schemas/OutputSchemas.d.ts +116 -53
- package/dist/mcp/schemas/OutputSchemas.d.ts.map +1 -1
- package/dist/mcp/schemas/OutputSchemas.js +64 -26
- package/dist/mcp/schemas/OutputSchemas.js.map +1 -1
- package/dist/mcp/server-bootstrap.js +89 -9
- package/dist/mcp/server-bootstrap.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +5 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/buddy-do.d.ts +2 -1
- package/dist/mcp/tools/buddy-do.d.ts.map +1 -1
- package/dist/mcp/tools/buddy-do.js +91 -4
- package/dist/mcp/tools/buddy-do.js.map +1 -1
- package/dist/mcp/tools/buddy-remember.d.ts +0 -5
- package/dist/mcp/tools/buddy-remember.d.ts.map +1 -1
- package/dist/mcp/tools/buddy-remember.js.map +1 -1
- package/dist/mcp/tools/memesh-agent-register.d.ts +20 -0
- package/dist/mcp/tools/memesh-agent-register.d.ts.map +1 -0
- package/dist/mcp/tools/memesh-agent-register.js +80 -0
- package/dist/mcp/tools/memesh-agent-register.js.map +1 -0
- package/dist/mcp/tools/memesh-cloud-sync.js +86 -14
- package/dist/mcp/tools/memesh-cloud-sync.js.map +1 -1
- package/dist/mcp/tools/memesh-metrics.d.ts +13 -0
- package/dist/mcp/tools/memesh-metrics.d.ts.map +1 -0
- package/dist/mcp/tools/memesh-metrics.js +193 -0
- package/dist/mcp/tools/memesh-metrics.js.map +1 -0
- package/dist/memory/UnifiedMemoryStore.d.ts +1 -1
- package/dist/memory/UnifiedMemoryStore.d.ts.map +1 -1
- package/dist/memory/UnifiedMemoryStore.js +4 -3
- package/dist/memory/UnifiedMemoryStore.js.map +1 -1
- package/package.json +8 -12
- package/plugin.json +2 -2
- package/scripts/postinstall-new.js +95 -0
- package/scripts/skills/comprehensive-code-review/SKILL.md +276 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Database from 'better-sqlite3';
|
|
2
1
|
import { logger } from '../utils/logger.js';
|
|
2
|
+
import { BetterSqlite3Adapter, checkBetterSqlite3Availability } from './adapters/BetterSqlite3Adapter.js';
|
|
3
3
|
const MAX_SAFE_CONNECTIONS = 100;
|
|
4
4
|
const MAX_SAFE_TIMEOUT_MS = 10 * 60 * 1000;
|
|
5
5
|
const MIN_CONNECTION_TIMEOUT_MS = 1000;
|
|
@@ -21,9 +21,29 @@ export class ConnectionPool {
|
|
|
21
21
|
};
|
|
22
22
|
healthCheckTimer = null;
|
|
23
23
|
isShuttingDown = false;
|
|
24
|
+
isInitialized = false;
|
|
24
25
|
healthCheckErrorCount = 0;
|
|
25
26
|
MAX_CONSECUTIVE_HEALTH_CHECK_ERRORS = 5;
|
|
27
|
+
static async create(dbPath, options = {}, verboseLogger) {
|
|
28
|
+
const availability = await checkBetterSqlite3Availability();
|
|
29
|
+
if (!availability.available) {
|
|
30
|
+
const errorMsg = `Cannot create ConnectionPool: better-sqlite3 is unavailable.\n` +
|
|
31
|
+
`Error: ${availability.error}\n` +
|
|
32
|
+
`Suggestion: ${availability.fallbackSuggestion || 'Use Cloud-only mode with MEMESH_API_KEY'}`;
|
|
33
|
+
logger.error('[ConnectionPool] Static factory failed', {
|
|
34
|
+
error: availability.error,
|
|
35
|
+
suggestion: availability.fallbackSuggestion,
|
|
36
|
+
});
|
|
37
|
+
throw new Error(errorMsg);
|
|
38
|
+
}
|
|
39
|
+
const pool = new ConnectionPool(dbPath, options, verboseLogger);
|
|
40
|
+
await pool.initialize();
|
|
41
|
+
return pool;
|
|
42
|
+
}
|
|
26
43
|
constructor(dbPath, options = {}, verboseLogger) {
|
|
44
|
+
if (!dbPath || dbPath.trim().length === 0) {
|
|
45
|
+
throw new Error('dbPath must be a non-empty string');
|
|
46
|
+
}
|
|
27
47
|
this.dbPath = dbPath;
|
|
28
48
|
this.verboseLogger = verboseLogger;
|
|
29
49
|
this.options = {
|
|
@@ -91,19 +111,30 @@ export class ConnectionPool {
|
|
|
91
111
|
});
|
|
92
112
|
this.options.healthCheckInterval = MAX_HEALTH_CHECK_INTERVAL_MS;
|
|
93
113
|
}
|
|
94
|
-
logger.info('
|
|
114
|
+
logger.info('ConnectionPool constructor called', {
|
|
95
115
|
dbPath: this.dbPath,
|
|
96
116
|
maxConnections: this.options.maxConnections,
|
|
97
117
|
connectionTimeout: this.options.connectionTimeout,
|
|
98
118
|
idleTimeout: this.options.idleTimeout,
|
|
99
119
|
});
|
|
100
|
-
|
|
120
|
+
}
|
|
121
|
+
async initialize() {
|
|
122
|
+
if (this.isInitialized) {
|
|
123
|
+
throw new Error('ConnectionPool already initialized');
|
|
124
|
+
}
|
|
125
|
+
logger.info('Initializing connection pool', {
|
|
126
|
+
dbPath: this.dbPath,
|
|
127
|
+
maxConnections: this.options.maxConnections,
|
|
128
|
+
});
|
|
129
|
+
await this.initializePool();
|
|
101
130
|
this.startHealthCheck();
|
|
131
|
+
this.isInitialized = true;
|
|
132
|
+
logger.info(`Connection pool initialized with ${this.pool.length} connections`);
|
|
102
133
|
}
|
|
103
|
-
initializePool() {
|
|
134
|
+
async initializePool() {
|
|
104
135
|
for (let i = 0; i < this.options.maxConnections; i++) {
|
|
105
136
|
try {
|
|
106
|
-
const db = this.createConnection();
|
|
137
|
+
const db = await this.createConnection();
|
|
107
138
|
const metadata = {
|
|
108
139
|
db,
|
|
109
140
|
lastAcquired: 0,
|
|
@@ -118,12 +149,12 @@ export class ConnectionPool {
|
|
|
118
149
|
throw new Error(`Pool initialization failed: ${error}`);
|
|
119
150
|
}
|
|
120
151
|
}
|
|
121
|
-
logger.info(`Connection pool initialized with ${this.pool.length} connections`);
|
|
122
152
|
}
|
|
123
|
-
createConnection() {
|
|
124
|
-
const
|
|
153
|
+
async createConnection() {
|
|
154
|
+
const adapter = await BetterSqlite3Adapter.create(this.dbPath, {
|
|
125
155
|
verbose: this.verboseLogger ? ((msg) => this.verboseLogger.debug('SQLite', { message: msg })) : undefined,
|
|
126
156
|
});
|
|
157
|
+
const db = adapter.db;
|
|
127
158
|
try {
|
|
128
159
|
db.pragma('busy_timeout = 5000');
|
|
129
160
|
}
|
|
@@ -153,8 +184,19 @@ export class ConnectionPool {
|
|
|
153
184
|
logger.debug('[ConnectionPool] Could not set mmap_size:', error);
|
|
154
185
|
}
|
|
155
186
|
}
|
|
156
|
-
|
|
157
|
-
|
|
187
|
+
try {
|
|
188
|
+
db.pragma('foreign_keys = ON');
|
|
189
|
+
const fkEnabled = db.pragma('foreign_keys', { simple: true });
|
|
190
|
+
if (fkEnabled !== 1) {
|
|
191
|
+
throw new Error('Failed to enable foreign_keys pragma - database integrity cannot be guaranteed');
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
logger.error('[ConnectionPool] CRITICAL: Failed to enable foreign key constraints', { error });
|
|
196
|
+
throw new Error(`Cannot create connection: foreign key constraints failed to enable. ` +
|
|
197
|
+
`This is critical for database integrity. Error: ${error}`);
|
|
198
|
+
}
|
|
199
|
+
return adapter;
|
|
158
200
|
}
|
|
159
201
|
async createConnectionWithRetry(context) {
|
|
160
202
|
const MAX_RETRIES = 3;
|
|
@@ -162,7 +204,7 @@ export class ConnectionPool {
|
|
|
162
204
|
let lastError;
|
|
163
205
|
for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
|
|
164
206
|
try {
|
|
165
|
-
return this.createConnection();
|
|
207
|
+
return await this.createConnection();
|
|
166
208
|
}
|
|
167
209
|
catch (error) {
|
|
168
210
|
lastError = error instanceof Error ? error : new Error(String(error));
|
|
@@ -187,7 +229,7 @@ export class ConnectionPool {
|
|
|
187
229
|
isConnectionValid(db) {
|
|
188
230
|
try {
|
|
189
231
|
db.prepare('SELECT 1').get();
|
|
190
|
-
return
|
|
232
|
+
return db.open;
|
|
191
233
|
}
|
|
192
234
|
catch {
|
|
193
235
|
return false;
|
|
@@ -205,7 +247,8 @@ export class ConnectionPool {
|
|
|
205
247
|
try {
|
|
206
248
|
metadata.db.close();
|
|
207
249
|
}
|
|
208
|
-
catch {
|
|
250
|
+
catch (error) {
|
|
251
|
+
logger.debug('[ConnectionPool] Ignoring close error for invalid connection', { error });
|
|
209
252
|
}
|
|
210
253
|
try {
|
|
211
254
|
const newDb = await this.createConnectionWithRetry('acquire fallback');
|
|
@@ -229,6 +272,9 @@ export class ConnectionPool {
|
|
|
229
272
|
return undefined;
|
|
230
273
|
}
|
|
231
274
|
async acquire() {
|
|
275
|
+
if (!this.isInitialized) {
|
|
276
|
+
throw new Error('ConnectionPool not initialized. Call initialize() or use ConnectionPool.create()');
|
|
277
|
+
}
|
|
232
278
|
let outerTimeoutId = null;
|
|
233
279
|
try {
|
|
234
280
|
const result = await Promise.race([
|
|
@@ -361,6 +407,7 @@ export class ConnectionPool {
|
|
|
361
407
|
}
|
|
362
408
|
});
|
|
363
409
|
}, this.options.healthCheckInterval);
|
|
410
|
+
this.healthCheckTimer.unref();
|
|
364
411
|
}
|
|
365
412
|
async performHealthCheck() {
|
|
366
413
|
if (this.isShuttingDown) {
|
|
@@ -391,7 +438,7 @@ export class ConnectionPool {
|
|
|
391
438
|
metadata.db.close();
|
|
392
439
|
}
|
|
393
440
|
catch (error) {
|
|
394
|
-
logger.error('Error closing stale connection
|
|
441
|
+
logger.error('[ConnectionPool] Error closing stale connection during health check', { error });
|
|
395
442
|
if (poolIndex !== -1) {
|
|
396
443
|
this.pool.splice(poolIndex, 1);
|
|
397
444
|
removedFromPool = true;
|
|
@@ -491,7 +538,7 @@ export class ConnectionPool {
|
|
|
491
538
|
metadata.db.close();
|
|
492
539
|
}
|
|
493
540
|
catch (error) {
|
|
494
|
-
logger.error('Error closing connection during shutdown
|
|
541
|
+
logger.error('[ConnectionPool] Error closing connection during shutdown', { error });
|
|
495
542
|
}
|
|
496
543
|
});
|
|
497
544
|
await Promise.all(closePromises);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionPool.js","sourceRoot":"","sources":["../../src/db/ConnectionPool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConnectionPool.js","sourceRoot":"","sources":["../../src/db/ConnectionPool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface IDatabaseAdapter {
|
|
2
|
+
prepare(sql: string): IStatement;
|
|
3
|
+
exec(sql: string): void;
|
|
4
|
+
close(): void;
|
|
5
|
+
readonly inMemory: boolean;
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly open: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface IStatement {
|
|
10
|
+
all<T = any>(...params: any[]): T[];
|
|
11
|
+
get<T = any>(...params: any[]): T | undefined;
|
|
12
|
+
run(...params: any[]): IRunResult;
|
|
13
|
+
iterate<T = any>(...params: any[]): IterableIterator<T>;
|
|
14
|
+
}
|
|
15
|
+
export interface IRunResult {
|
|
16
|
+
changes: number;
|
|
17
|
+
lastInsertRowid: number | bigint;
|
|
18
|
+
}
|
|
19
|
+
export interface AdapterAvailability {
|
|
20
|
+
available: boolean;
|
|
21
|
+
name: string;
|
|
22
|
+
error?: string;
|
|
23
|
+
fallbackSuggestion?: string;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=IDatabaseAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDatabaseAdapter.d.ts","sourceRoot":"","sources":["../../src/db/IDatabaseAdapter.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,gBAAgB;IAI/B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAKjC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAKxB,KAAK,IAAI,IAAI,CAAC;IAKd,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAK3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IAIzB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IAKpC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAK9C,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;IAKlC,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,UAAU;IAIzB,OAAO,EAAE,MAAM,CAAC;IAKhB,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAKD,MAAM,WAAW,mBAAmB;IAIlC,SAAS,EAAE,OAAO,CAAC;IAKnB,IAAI,EAAE,MAAM,CAAC;IAKb,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDatabaseAdapter.js","sourceRoot":"","sources":["../../src/db/IDatabaseAdapter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type Database from 'better-sqlite3';
|
|
2
|
+
import type { IDatabaseAdapter, IStatement, AdapterAvailability } from '../IDatabaseAdapter.js';
|
|
3
|
+
export declare function checkBetterSqlite3Availability(): Promise<AdapterAvailability>;
|
|
4
|
+
export declare class BetterSqlite3Adapter implements IDatabaseAdapter {
|
|
5
|
+
private db;
|
|
6
|
+
private constructor();
|
|
7
|
+
static create(dbPath: string, options?: Database.Options): Promise<BetterSqlite3Adapter>;
|
|
8
|
+
prepare(sql: string): IStatement;
|
|
9
|
+
exec(sql: string): void;
|
|
10
|
+
close(): void;
|
|
11
|
+
get inMemory(): boolean;
|
|
12
|
+
get name(): string;
|
|
13
|
+
get open(): boolean;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=BetterSqlite3Adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BetterSqlite3Adapter.d.ts","sourceRoot":"","sources":["../../../src/db/adapters/BetterSqlite3Adapter.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EAEV,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAUhC,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,mBAAmB,CAAC,CA0CnF;AAOD,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,EAAE,CAAoB;IAK9B,OAAO;WAeM,MAAM,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,GACzB,OAAO,CAAC,oBAAoB,CAAC;IA4BhC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IA2BhC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,IAAI,IAAI;IAOb,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;CACF"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { logger } from '../../utils/logger.js';
|
|
2
|
+
export async function checkBetterSqlite3Availability() {
|
|
3
|
+
try {
|
|
4
|
+
const module = await import('better-sqlite3');
|
|
5
|
+
const testDb = new module.default(':memory:');
|
|
6
|
+
testDb.close();
|
|
7
|
+
logger.debug('[BetterSqlite3Adapter] Availability check passed');
|
|
8
|
+
return {
|
|
9
|
+
available: true,
|
|
10
|
+
name: 'better-sqlite3',
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
15
|
+
let fallbackSuggestion = '';
|
|
16
|
+
if (errorMessage.includes('Cannot find module')) {
|
|
17
|
+
fallbackSuggestion = 'Run: npm install better-sqlite3';
|
|
18
|
+
}
|
|
19
|
+
else if (errorMessage.includes('was compiled against')) {
|
|
20
|
+
fallbackSuggestion = 'Run: npm rebuild better-sqlite3';
|
|
21
|
+
}
|
|
22
|
+
else if (errorMessage.includes('node-gyp') || errorMessage.includes('compilation')) {
|
|
23
|
+
fallbackSuggestion = 'Native compilation failed. Consider using Cloud-only mode with MEMESH_API_KEY.';
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
fallbackSuggestion = 'Try rebuilding: npm rebuild better-sqlite3, or use Cloud-only mode.';
|
|
27
|
+
}
|
|
28
|
+
logger.warn('[BetterSqlite3Adapter] Availability check failed', {
|
|
29
|
+
error: errorMessage,
|
|
30
|
+
suggestion: fallbackSuggestion,
|
|
31
|
+
});
|
|
32
|
+
return {
|
|
33
|
+
available: false,
|
|
34
|
+
name: 'better-sqlite3',
|
|
35
|
+
error: errorMessage,
|
|
36
|
+
fallbackSuggestion,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class BetterSqlite3Adapter {
|
|
41
|
+
db;
|
|
42
|
+
constructor(db) {
|
|
43
|
+
this.db = db;
|
|
44
|
+
}
|
|
45
|
+
static async create(dbPath, options) {
|
|
46
|
+
try {
|
|
47
|
+
const Database = (await import('better-sqlite3')).default;
|
|
48
|
+
const db = new Database(dbPath, options);
|
|
49
|
+
logger.debug('[BetterSqlite3Adapter] Successfully loaded native module', {
|
|
50
|
+
dbPath,
|
|
51
|
+
inMemory: dbPath === ':memory:',
|
|
52
|
+
});
|
|
53
|
+
return new BetterSqlite3Adapter(db);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
57
|
+
logger.error('[BetterSqlite3Adapter] Failed to load better-sqlite3', {
|
|
58
|
+
error: errorMessage,
|
|
59
|
+
dbPath,
|
|
60
|
+
});
|
|
61
|
+
throw new Error(`Failed to load better-sqlite3: ${errorMessage}. ` +
|
|
62
|
+
`Consider using Cloud-only mode by setting MEMESH_API_KEY environment variable.`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
prepare(sql) {
|
|
66
|
+
const stmt = this.db.prepare(sql);
|
|
67
|
+
return {
|
|
68
|
+
all: (...params) => {
|
|
69
|
+
return stmt.all(...params);
|
|
70
|
+
},
|
|
71
|
+
get: (...params) => {
|
|
72
|
+
return stmt.get(...params);
|
|
73
|
+
},
|
|
74
|
+
run: (...params) => {
|
|
75
|
+
const result = stmt.run(...params);
|
|
76
|
+
return {
|
|
77
|
+
changes: result.changes,
|
|
78
|
+
lastInsertRowid: result.lastInsertRowid,
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
iterate: (...params) => {
|
|
82
|
+
return stmt.iterate(...params);
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
exec(sql) {
|
|
87
|
+
this.db.exec(sql);
|
|
88
|
+
}
|
|
89
|
+
close() {
|
|
90
|
+
if (this.db.open) {
|
|
91
|
+
this.db.close();
|
|
92
|
+
logger.debug('[BetterSqlite3Adapter] Database connection closed');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
get inMemory() {
|
|
96
|
+
return this.db.memory;
|
|
97
|
+
}
|
|
98
|
+
get name() {
|
|
99
|
+
return 'better-sqlite3';
|
|
100
|
+
}
|
|
101
|
+
get open() {
|
|
102
|
+
return this.db.open;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=BetterSqlite3Adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BetterSqlite3Adapter.js","sourceRoot":"","sources":["../../../src/db/adapters/BetterSqlite3Adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import type { Entity, Relation, SearchQuery, RelationTrace } from './types.js';
|
|
2
|
+
export interface SemanticSearchResult {
|
|
3
|
+
entity: Entity;
|
|
4
|
+
similarity: number;
|
|
5
|
+
}
|
|
2
6
|
export declare class KnowledgeGraph {
|
|
3
7
|
private db;
|
|
4
8
|
private queryCache;
|
|
9
|
+
private vectorEnabled;
|
|
10
|
+
private vectorExt;
|
|
11
|
+
private vectorInitPromise;
|
|
12
|
+
private pendingEmbeddings;
|
|
5
13
|
private constructor();
|
|
6
14
|
private validateEntityName;
|
|
7
15
|
private validateRelationType;
|
|
8
16
|
static create(dbPath?: string): Promise<KnowledgeGraph>;
|
|
9
17
|
static createSync(dbPath?: string): KnowledgeGraph;
|
|
10
18
|
private initialize;
|
|
19
|
+
private initVectorSearch;
|
|
11
20
|
private runMigrations;
|
|
12
21
|
private escapeLikePattern;
|
|
13
22
|
private searchFTS5;
|
|
@@ -23,7 +32,19 @@ export declare class KnowledgeGraph {
|
|
|
23
32
|
entitiesByType: Record<string, number>;
|
|
24
33
|
};
|
|
25
34
|
deleteEntity(name: string): boolean;
|
|
26
|
-
|
|
35
|
+
private generateEmbeddingAsync;
|
|
36
|
+
semanticSearch(query: string, options?: {
|
|
37
|
+
limit?: number;
|
|
38
|
+
minSimilarity?: number;
|
|
39
|
+
entityTypes?: string[];
|
|
40
|
+
}): Promise<SemanticSearchResult[]>;
|
|
41
|
+
hybridSearch(query: string, options?: {
|
|
42
|
+
limit?: number;
|
|
43
|
+
minSimilarity?: number;
|
|
44
|
+
}): Promise<SemanticSearchResult[]>;
|
|
45
|
+
private keywordSearchAsSemanticResults;
|
|
46
|
+
isVectorSearchEnabled(): boolean;
|
|
47
|
+
close(): Promise<void>;
|
|
27
48
|
transaction<T>(fn: () => T): T;
|
|
28
49
|
getCacheStats(): import("../db/QueryCache.js").CacheStats;
|
|
29
50
|
clearCache(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/knowledge-graph/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAA4B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/knowledge-graph/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAA4B,MAAM,YAAY,CAAC;AAazG,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAsBD,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,UAAU,CAA0B;IAE5C,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,SAAS,CAAkF;IAEnG,OAAO,CAAC,iBAAiB,CAA8B;IAEvD,OAAO,CAAC,iBAAiB,CAAiC;IAK1D,OAAO;IAsBP,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,oBAAoB;WAgCf,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAqC7D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc;IAyBlD,OAAO,CAAC,UAAU;IA+FlB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,aAAa;IAuHrB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,UAAU;IAyClB,OAAO,CAAC,gBAAgB;IAqExB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAmJpC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA8DxC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE;IA2J5C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAuCtC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,aAAa,GAAG,IAAI;IAkE3E,QAAQ,IAAI;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC;IAgDD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IA4DnC,OAAO,CAAC,sBAAsB;IA6BxB,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,GAC/E,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA4C5B,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO,GACvD,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAwClC,OAAO,CAAC,8BAA8B;IAUtC,qBAAqB,IAAI,OAAO;IAQ1B,KAAK;IAoCX,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAoB9B,aAAa;IAOb,UAAU;CAIX;AAGD,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|