@j0hanz/memdb 1.2.8 → 1.2.9

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/core/db.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import { DatabaseSync, type StatementSync } from 'node:sqlite';
2
2
  import { type Memory, type Relationship, type SearchResult } from '../types.js';
3
3
  export type DbRow = Record<string, unknown>;
4
- export declare const db: DatabaseSync;
4
+ export declare const initDb: () => Promise<void>;
5
+ export declare const getDb: () => DatabaseSync;
5
6
  export declare const closeDb: () => void;
6
7
  export type SqlParam = string | number | bigint | null | Uint8Array;
7
8
  export declare const prepareCached: (sql: string) => StatementSync;
8
- export declare const executeAll: (stmt: StatementSync, ...params: SqlParam[]) => DbRow[];
9
- export declare const executeGet: (stmt: StatementSync, ...params: SqlParam[]) => DbRow | undefined;
9
+ export declare const executeAll: <T = DbRow>(stmt: StatementSync, ...params: SqlParam[]) => T[];
10
+ export declare const executeGet: <T = DbRow>(stmt: StatementSync, ...params: SqlParam[]) => T | undefined;
10
11
  export declare const executeRun: (stmt: StatementSync, ...params: SqlParam[]) => {
11
12
  changes: number | bigint;
12
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/D,OAAO,EACL,KAAK,MAAM,EAGX,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAqI5C,eAAO,MAAM,EAAE,cAAgC,CAAC;AAEhD,eAAO,MAAM,OAAO,QAAO,IAG1B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC;AAKpE,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,aAiB3C,CAAC;AAqCF,eAAO,MAAM,UAAU,GACrB,MAAM,aAAa,EACnB,GAAG,QAAQ,QAAQ,EAAE,KACpB,KAAK,EAAuC,CAAC;AAEhD,eAAO,MAAM,UAAU,GACrB,MAAM,aAAa,EACnB,GAAG,QAAQ,QAAQ,EAAE,KACpB,KAAK,GAAG,SAAoD,CAAC;AAEhE,eAAO,MAAM,UAAU,GACrB,MAAM,aAAa,EACnB,GAAG,QAAQ,QAAQ,EAAE,KACpB;IAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAsC,CAAC;AAEpE,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,WAAW,MAAM,CAAC,KAAG,CAahE,CAAC;AAsBF,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,EAAE,OAAO,MAAM,KAAG,MAM7D,CAAC;AAkCF,eAAO,MAAM,cAAc,GAAI,KAAK,KAAK,EAAE,OAAM,MAAM,EAAO,KAAG,MAU/D,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAC/B,KAAK,KAAK,EACV,OAAM,MAAM,EAAO,KAClB,YAGD,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAAI,KAAK,KAAK,KAAG,YAMhD,CAAC;AA0BH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,SAAS,MAAM,EAAE,KAC3B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAatB,CAAC"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/D,OAAO,EACL,KAAK,MAAM,EAGX,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA8H5C,eAAO,MAAM,MAAM,QAAa,OAAO,CAAC,IAAI,CAW3C,CAAC;AAEF,eAAO,MAAM,KAAK,QAAO,YAKxB,CAAC;AAEF,eAAO,MAAM,OAAO,QAAO,IAM1B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC;AAKpE,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,aAiB3C,CAAC;AAqCF,eAAO,MAAM,UAAU,GAAI,CAAC,GAAG,KAAK,EAClC,MAAM,aAAa,EACnB,GAAG,QAAQ,QAAQ,EAAE,KACpB,CAAC,EAA8C,CAAC;AAGnD,eAAO,MAAM,UAAU,GAAI,CAAC,GAAG,KAAK,EAClC,MAAM,aAAa,EACnB,GAAG,QAAQ,QAAQ,EAAE,KACpB,CAAC,GAAG,SAAqE,CAAC;AAE7E,eAAO,MAAM,UAAU,GACrB,MAAM,aAAa,EACnB,GAAG,QAAQ,QAAQ,EAAE,KACpB;IAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAsC,CAAC;AAEpE,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,WAAW,MAAM,CAAC,KAAG,CAchE,CAAC;AAsBF,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,EAAE,OAAO,MAAM,KAAG,MAM7D,CAAC;AAkCF,eAAO,MAAM,cAAc,GAAI,KAAK,KAAK,EAAE,OAAM,MAAM,EAAO,KAAG,MAU/D,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAC/B,KAAK,KAAK,EACV,OAAM,MAAM,EAAO,KAClB,YAGD,CAAC;AAEH,eAAO,MAAM,oBAAoB,GAAI,KAAK,KAAK,KAAG,YAMhD,CAAC;AAsBH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,SAAS,MAAM,EAAE,KAC3B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAgBtB,CAAC"}
package/dist/core/db.js CHANGED
@@ -88,9 +88,9 @@ const ensureDbDirectory = async (dbPath) => {
88
88
  };
89
89
  const enableDefensiveMode = (database) => {
90
90
  const extended = database;
91
- if (typeof extended.enableDefensive !== 'function')
92
- return;
93
- extended.enableDefensive(true);
91
+ if (typeof extended.enableDefensive === 'function') {
92
+ extended.enableDefensive(true);
93
+ }
94
94
  };
95
95
  const isInTransaction = (database) => {
96
96
  return database.isTransaction;
@@ -109,19 +109,32 @@ const createDatabase = (dbPath) => {
109
109
  initializeSchema(database);
110
110
  return database;
111
111
  };
112
- try {
113
- await ensureDbDirectory(config.dbPath);
114
- }
115
- catch (err) {
116
- const message = err instanceof Error ? err.message : String(err);
117
- console.error(`[ERROR] Failed to create database directory: ${message}`);
118
- throw err;
119
- }
120
- export const db = createDatabase(config.dbPath);
121
- export const closeDb = () => {
122
- if (!db.isOpen)
112
+ let dbInstance;
113
+ export const initDb = async () => {
114
+ if (dbInstance)
123
115
  return;
124
- db.close();
116
+ try {
117
+ await ensureDbDirectory(config.dbPath);
118
+ dbInstance = createDatabase(config.dbPath);
119
+ }
120
+ catch (err) {
121
+ const message = err instanceof Error ? err.message : String(err);
122
+ console.error(`[ERROR] Failed to initialize database: ${message}`);
123
+ throw err;
124
+ }
125
+ };
126
+ export const getDb = () => {
127
+ if (!dbInstance) {
128
+ throw new Error('Database not initialized. Call initDb() first.');
129
+ }
130
+ return dbInstance;
131
+ };
132
+ export const closeDb = () => {
133
+ if (dbInstance?.isOpen) {
134
+ dbInstance.close();
135
+ dbInstance = undefined;
136
+ statementCache.clear();
137
+ }
125
138
  };
126
139
  const MAX_CACHED_STATEMENTS = 200;
127
140
  const statementCache = new Map();
@@ -132,7 +145,7 @@ export const prepareCached = (sql) => {
132
145
  statementCache.set(sql, cached);
133
146
  return cached;
134
147
  }
135
- const stmt = db.prepare(sql);
148
+ const stmt = getDb().prepare(sql);
136
149
  statementCache.set(sql, stmt);
137
150
  if (statementCache.size > MAX_CACHED_STATEMENTS) {
138
151
  const oldestKey = statementCache.keys().next().value;
@@ -173,9 +186,11 @@ const toRunResult = (value) => {
173
186
  return { changes };
174
187
  };
175
188
  export const executeAll = (stmt, ...params) => toDbRowArray(stmt.all(...params));
189
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters
176
190
  export const executeGet = (stmt, ...params) => toDbRowOrUndefined(stmt.get(...params));
177
191
  export const executeRun = (stmt, ...params) => toRunResult(stmt.run(...params));
178
192
  export const withImmediateTransaction = (operation) => {
193
+ const db = getDb();
179
194
  if (isInTransaction(db)) {
180
195
  throw new Error('Cannot start nested transaction');
181
196
  }
@@ -258,7 +273,6 @@ export const mapRowToRelationship = (row) => ({
258
273
  relation_type: toString(row.relation_type, 'relation_type'),
259
274
  created_at: toString(row.created_at, 'created_at'),
260
275
  });
261
- const stmtSelectTags = db.prepare('SELECT memory_id, tag FROM tags WHERE memory_id IN (SELECT value FROM json_each(?)) ORDER BY memory_id, tag');
262
276
  const dedupeIds = (ids) => {
263
277
  const seen = new Set();
264
278
  const unique = [];
@@ -282,6 +296,7 @@ export const loadTagsForMemoryIds = (memoryIds) => {
282
296
  const uniqueIds = dedupeIds(memoryIds);
283
297
  if (uniqueIds.length === 0)
284
298
  return new Map();
299
+ const stmtSelectTags = prepareCached('SELECT memory_id, tag FROM tags WHERE memory_id IN (SELECT value FROM json_each(?)) ORDER BY memory_id, tag');
285
300
  const rows = executeAll(stmtSelectTags, JSON.stringify(uniqueIds));
286
301
  const tagsById = new Map();
287
302
  for (const row of rows) {
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-read.d.ts","sourceRoot":"","sources":["../../src/core/memory-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,eAAe,EAChB,MAAM,aAAa,CAAC;AAoBrB,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SASjD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,eAG3C,CAAC;AAoBF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,KAAG,iBAejD,CAAC;AA4BF,eAAO,MAAM,QAAQ,QAAO,WAU3B,CAAC"}
1
+ {"version":3,"file":"memory-read.d.ts","sourceRoot":"","sources":["../../src/core/memory-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,eAAe,EAChB,MAAM,aAAa,CAAC;AAYrB,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAiBjD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,eAM3C,CAAC;AAoBF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,KAAG,iBAejD,CAAC;AA4BF,eAAO,MAAM,QAAQ,QAAO,WAc3B,CAAC"}
@@ -1,10 +1,9 @@
1
- import { db, executeGet, executeRun, loadTagsForMemoryIds, mapRowToMemory, toSafeInteger, withImmediateTransaction, } from './db.js';
2
- const stmtGetMemoryByHash = db.prepare('SELECT * FROM memories WHERE hash = ?');
3
- const stmtTouchMemoryByHash = db.prepare('UPDATE memories SET accessed_at = CURRENT_TIMESTAMP WHERE hash = ?');
4
- const stmtDeleteMemoryByHash = db.prepare('DELETE FROM memories WHERE hash = ?');
1
+ import { executeGet, executeRun, loadTagsForMemoryIds, mapRowToMemory, prepareCached, toSafeInteger, withImmediateTransaction, } from './db.js';
5
2
  export const getMemory = (hash) => {
6
3
  return withImmediateTransaction(() => {
4
+ const stmtTouchMemoryByHash = prepareCached('UPDATE memories SET accessed_at = CURRENT_TIMESTAMP WHERE hash = ?');
7
5
  executeRun(stmtTouchMemoryByHash, hash);
6
+ const stmtGetMemoryByHash = prepareCached('SELECT * FROM memories WHERE hash = ?');
8
7
  const row = executeGet(stmtGetMemoryByHash, hash);
9
8
  if (!row)
10
9
  return undefined;
@@ -14,6 +13,7 @@ export const getMemory = (hash) => {
14
13
  });
15
14
  };
16
15
  export const deleteMemory = (hash) => {
16
+ const stmtDeleteMemoryByHash = prepareCached('DELETE FROM memories WHERE hash = ?');
17
17
  const result = executeRun(stmtDeleteMemoryByHash, hash);
18
18
  return { changes: toSafeInteger(result.changes, 'changes') };
19
19
  };
@@ -47,9 +47,6 @@ export const deleteMemories = (hashes) => {
47
47
  return { results, succeeded, failed };
48
48
  });
49
49
  };
50
- const stmtMemoryCount = db.prepare('SELECT COUNT(*) as count FROM memories');
51
- const stmtTagCount = db.prepare('SELECT COUNT(DISTINCT tag) as count FROM tags');
52
- const stmtDateRange = db.prepare('SELECT MIN(created_at) as oldest, MAX(created_at) as newest FROM memories');
53
50
  const toDateString = (value) => {
54
51
  if (value == null)
55
52
  return null;
@@ -60,7 +57,9 @@ const toDateString = (value) => {
60
57
  return null;
61
58
  };
62
59
  const queryCounts = () => {
60
+ const stmtMemoryCount = prepareCached('SELECT COUNT(*) as count FROM memories');
63
61
  const memoryRow = executeGet(stmtMemoryCount);
62
+ const stmtTagCount = prepareCached('SELECT COUNT(DISTINCT tag) as count FROM tags');
64
63
  const tagRow = executeGet(stmtTagCount);
65
64
  if (!memoryRow)
66
65
  throw new Error('Failed to load memory stats');
@@ -70,6 +69,7 @@ const queryCounts = () => {
70
69
  };
71
70
  export const getStats = () => {
72
71
  const { memoryRow, tagRow } = queryCounts();
72
+ const stmtDateRange = prepareCached('SELECT MIN(created_at) as oldest, MAX(created_at) as newest FROM memories');
73
73
  const dateRow = executeGet(stmtDateRange);
74
74
  return {
75
75
  memoryCount: toSafeInteger(memoryRow.count, 'memoryCount'),
@@ -1 +1 @@
1
- {"version":3,"file":"memory-read.js","sourceRoot":"","sources":["../../src/core/memory-read.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,EAAE,EAEF,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,wBAAwB,GACzB,MAAM,SAAS,CAAC;AAEjB,MAAM,mBAAmB,GAAG,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;AAChF,MAAM,qBAAqB,GAAG,EAAE,CAAC,OAAO,CACtC,oEAAoE,CACrE,CAAC;AACF,MAAM,sBAAsB,GAAG,EAAE,CAAC,OAAO,CACvC,qCAAqC,CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAsB,EAAE;IAC5D,OAAO,wBAAwB,CAAC,GAAG,EAAE;QACnC,UAAU,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,OAAO,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAmB,EAAE;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,IAAY,EACyC,EAAE;IACvD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnC,OAAO,OAAO;YACZ,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACpD,CAAC,CAAC;gBACE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBACzD,SAAS,EAAE,KAAK;aACjB,CAAC;IACR,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9E,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAgB,EAAqB,EAAE;IACpE,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,OAAO,wBAAwB,CAAC,GAAG,EAAE;QACnC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;AAC7E,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAC7B,+CAA+C,CAChD,CAAC;AACF,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAC9B,2EAA2E,CAC5E,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAiB,EAAE;IACrD,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAGlB,EAAE;IACF,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACzD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAgB,EAAE;IACxC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1C,OAAO;QACL,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC;QAC1D,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;QACjD,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;QAC3C,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;KAC5C,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"memory-read.js","sourceRoot":"","sources":["../../src/core/memory-read.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-write.d.ts","sourceRoot":"","sources":["../../src/core/memory-write.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAqGrB,eAAO,MAAM,YAAY,GAAI,OAAO;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B,KAAG,kBAC8D,CAAC;AAqBnE,eAAO,MAAM,cAAc,GACzB,OAAO;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B,EAAE,KACF,gBAEF,CAAC;AA6EF,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACtC;AAeD,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,SAAS,mBAAmB,KAC3B,kBAoBF,CAAC"}
1
+ {"version":3,"file":"memory-write.d.ts","sourceRoot":"","sources":["../../src/core/memory-write.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAiGrB,eAAO,MAAM,YAAY,GAAI,OAAO;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B,KAAG,kBAC8D,CAAC;AAqBnE,eAAO,MAAM,cAAc,GACzB,OAAO;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B,EAAE,KACF,gBAEF,CAAC;AAqEF,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACtC;AAkBD,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,SAAS,mBAAmB,KAC3B,kBAuBF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import crypto from 'node:crypto';
2
- import { db, executeGet, executeRun, toSafeInteger, withImmediateTransaction, } from './db.js';
2
+ import { executeGet, executeRun, prepareCached, toSafeInteger, withImmediateTransaction, } from './db.js';
3
3
  const MAX_TAGS = 100;
4
4
  const TAG_PATTERN = /^\S+$/;
5
5
  const validateTag = (tag) => {
@@ -32,9 +32,8 @@ const normalizeTags = (tags, maxTags) => {
32
32
  validateTagCount(tags, maxTags);
33
33
  return dedupeTags(tags);
34
34
  };
35
- const stmtFindMemoryIdByHash = db.prepare('SELECT id FROM memories WHERE hash = ?');
36
- const stmtInsertTags = db.prepare('INSERT OR IGNORE INTO tags (memory_id, tag) SELECT ?, value FROM json_each(?)');
37
35
  const findMemoryIdByHash = (hash) => {
36
+ const stmtFindMemoryIdByHash = prepareCached('SELECT id FROM memories WHERE hash = ?');
38
37
  const row = executeGet(stmtFindMemoryIdByHash, hash);
39
38
  if (!row)
40
39
  return undefined;
@@ -43,13 +42,12 @@ const findMemoryIdByHash = (hash) => {
43
42
  const insertTags = (memoryId, tags) => {
44
43
  if (tags.length === 0)
45
44
  return;
45
+ const stmtInsertTags = prepareCached('INSERT OR IGNORE INTO tags (memory_id, tag) SELECT ?, value FROM json_each(?)');
46
46
  executeRun(stmtInsertTags, memoryId, JSON.stringify(tags));
47
47
  };
48
48
  const buildHash = (content) => {
49
- // eslint-disable-next-line sonarjs/hashing -- MD5 used for non-security deduplication only.
50
- return crypto.createHash('md5').update(content).digest('hex');
49
+ return crypto.createHash('sha256').update(content).digest('hex');
51
50
  };
52
- const stmtInsertMemory = db.prepare('INSERT OR IGNORE INTO memories (content, hash, importance, memory_type) VALUES (?, ?, ?, ?) RETURNING id');
53
51
  const requireMemoryId = (id) => {
54
52
  if (id === undefined) {
55
53
  throw new Error('Failed to resolve memory id');
@@ -57,6 +55,7 @@ const requireMemoryId = (id) => {
57
55
  return id;
58
56
  };
59
57
  const resolveMemoryId = (content, hash, importance, memoryType) => {
58
+ const stmtInsertMemory = prepareCached('INSERT OR IGNORE INTO memories (content, hash, importance, memory_type) VALUES (?, ?, ?, ?) RETURNING id');
60
59
  const inserted = executeGet(stmtInsertMemory, content, hash, importance, memoryType);
61
60
  if (inserted) {
62
61
  return { id: toSafeInteger(inserted.id, 'id'), isNew: true };
@@ -77,15 +76,15 @@ export const createMemories = (items) => {
77
76
  return withImmediateTransaction(() => createMemoriesInTransaction(items));
78
77
  };
79
78
  const withSavepoint = (name, fn) => {
80
- db.exec(`SAVEPOINT ${name}`);
79
+ executeRun(prepareCached(`SAVEPOINT ${name}`));
81
80
  try {
82
81
  const result = fn();
83
- db.exec(`RELEASE ${name}`);
82
+ executeRun(prepareCached(`RELEASE ${name}`));
84
83
  return result;
85
84
  }
86
85
  catch (err) {
87
- db.exec(`ROLLBACK TO ${name}`);
88
- db.exec(`RELEASE ${name}`);
86
+ executeRun(prepareCached(`ROLLBACK TO ${name}`));
87
+ executeRun(prepareCached(`RELEASE ${name}`));
89
88
  throw err;
90
89
  }
91
90
  };
@@ -97,7 +96,7 @@ const createMemoriesInTransaction = (items) => {
97
96
  const item = items[i];
98
97
  if (!item)
99
98
  continue;
100
- const result = processCreateMemoriesItem(i, item);
99
+ const result = createMemoryWithSavepoint(i, item);
101
100
  results.push(result);
102
101
  if (result.ok) {
103
102
  succeeded++;
@@ -108,7 +107,7 @@ const createMemoriesInTransaction = (items) => {
108
107
  }
109
108
  return { results, succeeded, failed };
110
109
  };
111
- const processCreateMemoriesItem = (index, item) => {
110
+ const createMemoryWithSavepoint = (index, item) => {
112
111
  const savepointName = `mem_item_${index}`;
113
112
  try {
114
113
  const created = withSavepoint(savepointName, () => createMemoryInTransaction(item));
@@ -124,9 +123,8 @@ const processCreateMemoriesItem = (index, item) => {
124
123
  return { ok: false, index, error: message };
125
124
  }
126
125
  };
127
- const stmtDeleteTagsForMemory = db.prepare('DELETE FROM tags WHERE memory_id = ?');
128
- const stmtUpdateContent = db.prepare('UPDATE memories SET content = ?, hash = ? WHERE id = ?');
129
126
  const replaceTags = (memoryId, tags) => {
127
+ const stmtDeleteTagsForMemory = prepareCached('DELETE FROM tags WHERE memory_id = ?');
130
128
  executeRun(stmtDeleteTagsForMemory, memoryId);
131
129
  insertTags(memoryId, normalizeTags(tags, MAX_TAGS));
132
130
  };
@@ -147,6 +145,7 @@ export const updateMemory = (hash, options) => {
147
145
  // Check if new content would create a duplicate
148
146
  assertNoDuplicateOnUpdate(hash, newHash);
149
147
  // Update content and hash
148
+ const stmtUpdateContent = prepareCached('UPDATE memories SET content = ?, hash = ? WHERE id = ?');
150
149
  executeRun(stmtUpdateContent, options.content, newHash, memoryId);
151
150
  // Update tags if provided, otherwise preserve existing tags
152
151
  if (options.tags !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-write.js","sourceRoot":"","sources":["../../src/core/memory-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-write.js","sourceRoot":"","sources":["../../src/core/memory-write.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/core/relationships.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,YAAY,EACZ,eAAe,EAChB,MAAM,aAAa,CAAC;AAwCrB,eAAO,MAAM,kBAAkB,GAAI,OAAO;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB,KAAG,wBA+BA,CAAC;AAiCL,eAAO,MAAM,gBAAgB,GAAI,OAAO;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;CAC9C,KAAG,YAAY,EAQf,CAAC;AASF,eAAO,MAAM,kBAAkB,GAAI,OAAO;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB,KAAG,eAQH,CAAC"}
1
+ {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/core/relationships.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,YAAY,EACZ,eAAe,EAChB,MAAM,aAAa,CAAC;AA4BrB,eAAO,MAAM,kBAAkB,GAAI,OAAO;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB,KAAG,wBAyCA,CAAC;AA2BL,eAAO,MAAM,gBAAgB,GAAI,OAAO;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;CAC9C,KAAG,YAAY,EAQf,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB,KAAG,eAcH,CAAC"}
@@ -1,6 +1,6 @@
1
- import { db, executeAll, executeGet, executeRun, mapRowToRelationship, toSafeInteger, withImmediateTransaction, } from './db.js';
2
- const stmtFindMemoryIdByHash = db.prepare('SELECT id FROM memories WHERE hash = ?');
1
+ import { executeAll, executeGet, executeRun, mapRowToRelationship, prepareCached, toSafeInteger, withImmediateTransaction, } from './db.js';
3
2
  const findMemoryIdByHash = (hash) => {
3
+ const stmtFindMemoryIdByHash = prepareCached('SELECT id FROM memories WHERE hash = ?');
4
4
  const row = executeGet(stmtFindMemoryIdByHash, hash);
5
5
  if (!row)
6
6
  return undefined;
@@ -13,26 +13,26 @@ const requireMemoryId = (hash) => {
13
13
  }
14
14
  return id;
15
15
  };
16
- const stmtInsertRelationship = db.prepare(`
17
- INSERT OR IGNORE INTO relationships (from_memory_id, to_memory_id, relation_type)
18
- VALUES (?, ?, ?)
19
- RETURNING id
20
- `);
21
- const stmtFindRelationshipId = db.prepare(`
22
- SELECT id FROM relationships
23
- WHERE from_memory_id = ? AND to_memory_id = ? AND relation_type = ?
24
- `);
25
16
  export const createRelationship = (input) => withImmediateTransaction(() => {
26
17
  const fromId = requireMemoryId(input.from_hash);
27
18
  const toId = requireMemoryId(input.to_hash);
28
19
  if (fromId === toId) {
29
20
  throw new Error('Cannot create self-referential relationship');
30
21
  }
22
+ const stmtInsertRelationship = prepareCached(`
23
+ INSERT OR IGNORE INTO relationships (from_memory_id, to_memory_id, relation_type)
24
+ VALUES (?, ?, ?)
25
+ RETURNING id
26
+ `);
31
27
  const inserted = executeGet(stmtInsertRelationship, fromId, toId, input.relation_type);
32
28
  if (inserted) {
33
29
  return { id: toSafeInteger(inserted.id, 'id'), isNew: true };
34
30
  }
35
31
  // Relationship already exists, find its ID
32
+ const stmtFindRelationshipId = prepareCached(`
33
+ SELECT id FROM relationships
34
+ WHERE from_memory_id = ? AND to_memory_id = ? AND relation_type = ?
35
+ `);
36
36
  const existing = executeGet(stmtFindRelationshipId, fromId, toId, input.relation_type);
37
37
  if (!existing) {
38
38
  throw new Error('Failed to resolve relationship id');
@@ -58,25 +58,20 @@ const buildGetRelationshipsQuery = (direction) => {
58
58
  return `${baseSelect} WHERE mf.hash = ? OR mt.hash = ?${orderBy}`;
59
59
  }
60
60
  };
61
- const stmtGetRelationships = {
62
- outgoing: db.prepare(buildGetRelationshipsQuery('outgoing')),
63
- incoming: db.prepare(buildGetRelationshipsQuery('incoming')),
64
- both: db.prepare(buildGetRelationshipsQuery('both')),
65
- };
66
61
  export const getRelationships = (input) => {
67
62
  const direction = input.direction ?? 'both';
68
- const stmt = stmtGetRelationships[direction];
63
+ const stmt = prepareCached(buildGetRelationshipsQuery(direction));
69
64
  const params = direction === 'both' ? [input.hash, input.hash] : [input.hash];
70
65
  const rows = executeAll(stmt, ...params);
71
66
  return rows.map(mapRowToRelationship);
72
67
  };
73
- const stmtDeleteRelationship = db.prepare(`
68
+ export const deleteRelationship = (input) => {
69
+ const stmtDeleteRelationship = prepareCached(`
74
70
  DELETE FROM relationships
75
71
  WHERE from_memory_id = (SELECT id FROM memories WHERE hash = ?)
76
72
  AND to_memory_id = (SELECT id FROM memories WHERE hash = ?)
77
73
  AND relation_type = ?
78
74
  `);
79
- export const deleteRelationship = (input) => {
80
75
  const result = executeRun(stmtDeleteRelationship, input.from_hash, input.to_hash, input.relation_type);
81
76
  return { changes: toSafeInteger(result.changes, 'changes') };
82
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/core/relationships.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/core/relationships.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@ import type { RecallResult, SearchResult } from '../types.js';
2
2
  interface SearchInput {
3
3
  query: string;
4
4
  }
5
- export declare const searchMemories: (input: SearchInput) => SearchResult[];
5
+ export declare const searchMemories: (input: SearchInput, signal?: AbortSignal) => SearchResult[];
6
6
  export declare const recallMemories: (input: {
7
7
  query: string;
8
8
  depth?: number;
9
- }) => RecallResult;
9
+ }, signal?: AbortSignal) => RecallResult;
10
10
  export {};
11
11
  //# sourceMappingURL=search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAwH9D,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAWD,eAAO,MAAM,cAAc,GAAI,OAAO,WAAW,KAAG,YAAY,EAQ/D,CAAC;AAuHF,eAAO,MAAM,cAAc,GAAI,OAAO;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,KAAG,YAcH,CAAC"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA0H9D,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAiBD,eAAO,MAAM,cAAc,GACzB,OAAO,WAAW,EAClB,SAAS,WAAW,KACnB,YAAY,EAcd,CAAC;AAiIF,eAAO,MAAM,cAAc,GACzB,OAAO;IACL,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACD,SAAS,WAAW,KACnB,YAiBF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { db, executeAll, loadTagsForMemoryIds, mapRowToRelationship, mapRowToSearchResult, prepareCached, toSafeInteger, } from './db.js';
1
+ import { executeAll, loadTagsForMemoryIds, mapRowToRelationship, mapRowToSearchResult, prepareCached, toSafeInteger, } from './db.js';
2
2
  const MAX_QUERY_TOKENS = 50;
3
3
  const DEFAULT_LIMIT = 100;
4
4
  const RECENCY_DECAY_DAYS = 7;
@@ -15,11 +15,13 @@ const tokenizeQuery = (query) => {
15
15
  }
16
16
  return parts;
17
17
  };
18
+ const escapeFtsToken = (token) => {
19
+ return `"${token.replace(/"/g, '""')}"`;
20
+ };
18
21
  const buildFtsQuery = (tokens) => {
19
22
  if (tokens.length === 0)
20
23
  return '""';
21
- const escaped = tokens.map((t) => `"${t.replace(/"/g, '""')}"`);
22
- return escaped.join(' OR ');
24
+ return tokens.map(escapeFtsToken).join(' OR ');
23
25
  };
24
26
  const buildTagPlaceholders = (count) => {
25
27
  return Array.from({ length: count }, () => '?').join(', ');
@@ -87,7 +89,10 @@ const executeSearch = (sql, params) => {
87
89
  throw toSearchError(err) ?? err;
88
90
  }
89
91
  };
90
- const mapRowsToSearchResultsWithTags = (rows) => {
92
+ const enrichSearchResultsWithTags = (rows, signal) => {
93
+ if (signal && typeof signal.throwIfAborted === 'function') {
94
+ signal.throwIfAborted();
95
+ }
91
96
  const ids = rows.map((row) => toSafeInteger(row.id, 'id'));
92
97
  const tagsById = loadTagsForMemoryIds(ids);
93
98
  return rows.map((row) => {
@@ -95,14 +100,20 @@ const mapRowsToSearchResultsWithTags = (rows) => {
95
100
  return mapRowToSearchResult(row, tagsById.get(id) ?? []);
96
101
  });
97
102
  };
98
- export const searchMemories = (input) => {
103
+ export const searchMemories = (input, signal) => {
104
+ if (signal && typeof signal.throwIfAborted === 'function') {
105
+ signal.throwIfAborted();
106
+ }
99
107
  const tokens = tokenizeQuery(input.query);
100
108
  if (tokens.length === 0) {
101
109
  throw new Error('Query cannot be empty');
102
110
  }
103
111
  const { sql, params } = buildSearchQuery(tokens);
104
112
  const rows = executeSearch(sql, params);
105
- return mapRowsToSearchResultsWithTags(rows);
113
+ if (signal && typeof signal.throwIfAborted === 'function') {
114
+ signal.throwIfAborted();
115
+ }
116
+ return enrichSearchResultsWithTags(rows, signal);
106
117
  };
107
118
  const MAX_RECALL_DEPTH = 3;
108
119
  const MAX_RECALL_MEMORIES = 50;
@@ -154,7 +165,7 @@ const buildRelationshipsQuery = (memoryCount) => {
154
165
  return { sql };
155
166
  };
156
167
  const executeWithSql = (sql, params) => {
157
- const stmt = db.prepare(sql);
168
+ const stmt = prepareCached(sql);
158
169
  return executeAll(stmt, ...params);
159
170
  };
160
171
  const executeRecall = (seedIds, depth) => {
@@ -177,18 +188,30 @@ const recallAtDepthZero = (searchResults, depth) => {
177
188
  return undefined;
178
189
  return { memories: searchResults, relationships: [], depth };
179
190
  };
180
- const recallAtPositiveDepth = (searchResults, depth) => {
191
+ const recallAtPositiveDepth = (searchResults, depth, signal) => {
192
+ if (signal && typeof signal.throwIfAborted === 'function') {
193
+ signal.throwIfAborted();
194
+ }
181
195
  const seedIds = searchResults.map((m) => m.id);
182
196
  const recallRows = executeRecall(seedIds, depth);
183
- const memories = mapRowsToSearchResultsWithTags(recallRows);
197
+ if (signal && typeof signal.throwIfAborted === 'function') {
198
+ signal.throwIfAborted();
199
+ }
200
+ const memories = enrichSearchResultsWithTags(recallRows, signal);
184
201
  if (memories.length === 0) {
185
202
  return emptyRecallResult(depth);
186
203
  }
204
+ if (signal && typeof signal.throwIfAborted === 'function') {
205
+ signal.throwIfAborted();
206
+ }
187
207
  const relationships = loadRelationshipsForMemoryIds(memories.map((m) => m.id));
188
208
  return { memories, relationships, depth };
189
209
  };
190
- export const recallMemories = (input) => {
191
- const searchResults = searchMemories({ query: input.query });
210
+ export const recallMemories = (input, signal) => {
211
+ if (signal && typeof signal.throwIfAborted === 'function') {
212
+ signal.throwIfAborted();
213
+ }
214
+ const searchResults = searchMemories({ query: input.query }, signal);
192
215
  if (searchResults.length === 0) {
193
216
  return emptyRecallResult(getRecallDepth(input.depth));
194
217
  }
@@ -197,6 +220,6 @@ export const recallMemories = (input) => {
197
220
  if (depthZeroResult) {
198
221
  return depthZeroResult;
199
222
  }
200
- return recallAtPositiveDepth(searchResults, depth);
223
+ return recallAtPositiveDepth(searchResults, depth, signal);
201
224
  };
202
225
  //# sourceMappingURL=search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,21 +3,15 @@ import { readFile } from 'node:fs/promises';
3
3
  import process from 'node:process';
4
4
  import { McpServer, ResourceTemplate, } from '@modelcontextprotocol/sdk/server/mcp.js';
5
5
  import { SUPPORTED_PROTOCOL_VERSIONS } from '@modelcontextprotocol/sdk/types.js';
6
- import { closeDb } from './core/db.js';
6
+ import pkg from '../package.json' with { type: 'json' };
7
+ import { closeDb, initDb } from './core/db.js';
7
8
  import { attachProtocolLogger, logger } from './logger.js';
8
9
  import { ProtocolVersionGuardTransport } from './protocol-version-guard.js';
9
10
  import { BatchRejectingStdioServerTransport } from './stdio-transport.js';
10
11
  import { registerAllTools } from './tools.js';
11
- const readPackageVersion = async () => {
12
- const packageJsonText = await readFile(new URL('../package.json', import.meta.url), {
13
- encoding: 'utf-8',
14
- signal: AbortSignal.timeout(5000),
15
- });
16
- const parsed = JSON.parse(packageJsonText);
17
- if (typeof parsed !== 'object' || parsed === null)
18
- return undefined;
19
- const { version } = parsed;
20
- return typeof version === 'string' ? version : undefined;
12
+ const readPackageVersion = () => {
13
+ const { version } = pkg;
14
+ return Promise.resolve(typeof version === 'string' ? version : undefined);
21
15
  };
22
16
  const toNonEmptyTrimmedOrUndefined = (text) => {
23
17
  const trimmed = text.trim();
@@ -137,6 +131,7 @@ const connectServer = async (transportToUse) => {
137
131
  };
138
132
  const main = async () => {
139
133
  try {
134
+ await initDb();
140
135
  const guardedTransport = createTransport();
141
136
  await connectServer(guardedTransport);
142
137
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EACL,SAAS,EACT,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,kBAAkB,GAAG,KAAK,IAAiC,EAAE;IACjE,MAAM,eAAe,GAAG,MAAM,QAAQ,CACpC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAC3C;QACE,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;KAClC,CACF,CAAC;IACF,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACpD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACpE,MAAM,EAAE,OAAO,EAAE,GAAG,MAA+B,CAAC;IACpD,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,IAAY,EAAsB,EAAE;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,GAAQ,EACqB,EAAE;IAC/B,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,GAAG,EAAE;YACzB,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,KAAK,IAAiC,EAAE;IACrE,MAAM,IAAI,GAAG,MAAM,uBAAuB,CACxC,IAAI,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC9C,CAAC;IACF,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,IAG7B,EAAE;IACH,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,kBAAkB,EAAE;QACpB,sBAAsB,EAAE;KACzB,CAAC,CAAC;IACH,OAAO;QACL,cAAc;QACd,YAAY,EACV,YAAY,IAAI,yDAAyD;KAC5E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,GACxD,MAAM,kBAAkB,EAAE,CAAC;AAE7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,EACrD;IACE,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;CACxD,CACF,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,gBAAgB,CAAC,yBAAyB,EAAE;IAC3E,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,gBAAgB,CACrB,yBAAyB,EACzB,oBAAoB,EACpB,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,EACpD,KAAK,EAAE,GAAG,EAAE,EAAE;IACZ,MAAM,IAAI,GACR,CAAC,MAAM,uBAAuB,CAC5B,IAAI,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC9C,CAAC,IAAI,kBAAkB,CAAC;IAC3B,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,IAAI;gBACJ,QAAQ,EAAE,eAAe;aAC1B;SACF;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEzB,IAAI,SAAgC,CAAC;AACrC,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,mBAAmB,GAAG,GAAmB,EAAE;IAC/C,OAAO,UAAU,CAAC,GAAG,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,IAAmB,EAAE;IACrD,OAAO,EAAE,CAAC;IACV,MAAM,SAAS,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAqB,EAAE,IAAY,EAAS,EAAE;IACvE,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,KAAqB,EACrB,IAAY,EACZ,KAAe,EACT,EAAE;IACR,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,MAAsB,EAAQ,EAAE;IACrD,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,+BAA+B,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;IAE7C,KAAK,oBAAoB,EAAE;SACxB,IAAI,CAAC,GAAG,EAAE;QACT,qBAAqB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACtB,qBAAqB,CAAC,cAAc,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAS,QAAQ,CAAC,MAAsB;IACtC,IAAI,YAAY;QAAE,OAAO;IACzB,YAAY,GAAG,IAAI,CAAC;IACpB,aAAa,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,eAAe,GAAG,GAAc,EAAE;IACtC,MAAM,cAAc,GAAG,IAAI,kCAAkC,EAAE,CAAC;IAChE,MAAM,yBAAyB,GAAG,2BAA2B,CAAC,MAAM,CAClE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,YAAY,CACtC,CAAC;IACF,OAAO,IAAI,6BAA6B,CACtC,cAAc,EACd,yBAAyB,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAiB,EAAQ,EAAE;IAClD,oBAAoB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAAE,OAAO;QAClC,KAAK,MAAM;aACR,kBAAkB,CAAC;YAClB,KAAK;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,OAAO;SAChB,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,cAAyB,EAAiB,EAAE;IACvE,SAAS,GAAG,cAAc,CAAC;IAC3B,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACrC,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;IACrC,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;QAC3C,MAAM,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,GAAS,EAAE;IACxC,MAAM,OAAO,GAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,GAAS,EAAE;IACzC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,KAAK,IAAI,EAAE,CAAC;AACZ,sBAAsB,EAAE,CAAC;AACzB,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EACL,SAAS,EACT,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,kBAAkB,GAAG,GAAgC,EAAE;IAC3D,MAAM,EAAE,OAAO,EAAE,GAAG,GAA4B,CAAC;IACjD,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,IAAY,EAAsB,EAAE;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,GAAQ,EACqB,EAAE;IAC/B,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,GAAG,EAAE;YACzB,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,KAAK,IAAiC,EAAE;IACrE,MAAM,IAAI,GAAG,MAAM,uBAAuB,CACxC,IAAI,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC9C,CAAC;IACF,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,IAG7B,EAAE;IACH,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,kBAAkB,EAAE;QACpB,sBAAsB,EAAE;KACzB,CAAC,CAAC;IACH,OAAO;QACL,cAAc;QACd,YAAY,EACV,YAAY,IAAI,yDAAyD;KAC5E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,GACxD,MAAM,kBAAkB,EAAE,CAAC;AAE7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,EACrD;IACE,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;CACxD,CACF,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,gBAAgB,CAAC,yBAAyB,EAAE;IAC3E,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,gBAAgB,CACrB,yBAAyB,EACzB,oBAAoB,EACpB,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,EACpD,KAAK,EAAE,GAAG,EAAE,EAAE;IACZ,MAAM,IAAI,GACR,CAAC,MAAM,uBAAuB,CAC5B,IAAI,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC9C,CAAC,IAAI,kBAAkB,CAAC;IAC3B,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,IAAI;gBACJ,QAAQ,EAAE,eAAe;aAC1B;SACF;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEzB,IAAI,SAAgC,CAAC;AACrC,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,mBAAmB,GAAG,GAAmB,EAAE;IAC/C,OAAO,UAAU,CAAC,GAAG,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,IAAmB,EAAE;IACrD,OAAO,EAAE,CAAC;IACV,MAAM,SAAS,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAqB,EAAE,IAAY,EAAS,EAAE;IACvE,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,KAAqB,EACrB,IAAY,EACZ,KAAe,EACT,EAAE;IACR,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,MAAsB,EAAQ,EAAE;IACrD,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,+BAA+B,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;IAE7C,KAAK,oBAAoB,EAAE;SACxB,IAAI,CAAC,GAAG,EAAE;QACT,qBAAqB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACtB,qBAAqB,CAAC,cAAc,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAS,QAAQ,CAAC,MAAsB;IACtC,IAAI,YAAY;QAAE,OAAO;IACzB,YAAY,GAAG,IAAI,CAAC;IACpB,aAAa,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,eAAe,GAAG,GAAc,EAAE;IACtC,MAAM,cAAc,GAAG,IAAI,kCAAkC,EAAE,CAAC;IAChE,MAAM,yBAAyB,GAAG,2BAA2B,CAAC,MAAM,CAClE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,YAAY,CACtC,CAAC;IACF,OAAO,IAAI,6BAA6B,CACtC,cAAc,EACd,yBAAyB,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAiB,EAAQ,EAAE;IAClD,oBAAoB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAAE,OAAO;QAClC,KAAK,MAAM;aACR,kBAAkB,CAAC;YAClB,KAAK;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,OAAO;SAChB,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,cAAyB,EAAiB,EAAE;IACvE,SAAS,GAAG,cAAc,CAAC;IAC3B,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACrC,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,EAAE,CAAC;QACf,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;QAC3C,MAAM,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,GAAS,EAAE;IACxC,MAAM,OAAO,GAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,GAAS,EAAE;IACzC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,KAAK,IAAI,EAAE,CAAC;AACZ,sBAAsB,EAAE,CAAC;AACzB,uBAAuB,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  # memdb Instructions
2
2
 
3
- > **Guidance for the Agent:** These instructions are available as a resource (`internal://instructions`). Load them when you are confused about tool usage.
3
+ > **Guidance for the Agent:** These instructions are available as a resource (`internal://instructions`) or prompt (`get-help`). Load them when you are unsure about tool usage.
4
4
 
5
5
  ## 1. Core Capability
6
6
 
@@ -9,34 +9,43 @@
9
9
 
10
10
  ## 2. The "Golden Path" Workflows (Critical)
11
11
 
12
- _Describe the standard order of operations. Do not assume the agent knows this._
12
+ _Describe the standard order of operations using ONLY tools that exist._
13
13
 
14
14
  ### Workflow A: Find relevant context
15
15
 
16
16
  1. Call `search_memories` with a focused query.
17
- 2. Call `recall` with `depth: 1`–`2` if you need connected graph context.
18
- 3. Call `get_memory` using the `hash` from results.
17
+ 2. Call `recall` for connected graph exploration (depth 12).
18
+ 3. Call `get_memory` using the `hash` (MD5/SHA-256) from results.
19
19
  > **Constraint:** Never guess hashes. Always search or recall first.
20
20
 
21
21
  ### Workflow B: Store or revise knowledge
22
22
 
23
23
  1. Call `store_memory` (single) or `store_memories` (batch).
24
- 2. Use `update_memory` to revise; the response returns `{ newHash }`.
25
- 3. Call `create_relationship` to link memories when needed.
26
- 4. Call `delete_memory` / `delete_memories` / `delete_relationship` only with explicit user intent.
24
+ 2. Call `update_memory` to revise; returns `{ newHash }` (content changes change hash).
25
+ 3. Call `create_relationship` to link memories.
26
+ 4. Call `delete_memory` / `delete_memories` / `delete_relationship` only with explicit user permission.
27
27
 
28
- ## 3. Tool Nuances & "Gotchas"
28
+ ## 3. Tool Nuances & Gotchas
29
29
 
30
- - **`search_memories`**: Query is 1–1000 chars and max 50 terms; whitespace-only is invalid.
31
- - **`recall`**: `depth` is 0–3; depth 0 returns no relationships.
32
- - **`update_memory`**: Content changes produce a new hash; the tool returns `{ newHash: string }`.
33
- - **`delete_*` tools**: Destructive—confirm user intent before calling.
34
- - **Tags**: 1–100 tags, no whitespace, max 50 chars; prefer `kebab-case`.
35
- - **Hashes**: 32 hex chars; case-insensitive but normalized to lowercase.
30
+ _Focus on behavior and pitfalls._
31
+
32
+ - **`search_memories`** / **`recall`**
33
+ - **Inputs:** Query 1–1000 chars; `recall` depth 0–3 (default 1).
34
+ - **Returns:** List of memories (scored).
35
+
36
+ - **`store_memory`** / **`update_memory`**
37
+ - **Inputs:** `content` (max 100k chars), `tags` (1–100, no whitespace, max 50 chars).
38
+ - **Side effects:** Writes to SQLiteFTS; `update` creates new hash if content changes.
39
+
40
+ - **`create_relationship`**
41
+ - **Inputs:** `from_hash`, `to_hash`, `relation_type` (no whitespace).
42
+ - **Constraint:** Relationships are directed edges.
43
+
44
+ - **`delete_*`**
45
+ - **Side effects:** Destructive; returns `changes: 0` if not found.
36
46
 
37
47
  ## 4. Error Handling Strategy
38
48
 
39
- - If you receive `E_NOT_FOUND`, re-run `search_memories` or `get_relationships` to confirm the `hash`.
40
- - If `E_INVALID_ARG`, check tag formatting, term limits, or batch size (max 50).
41
- - If `E_TOOL_ERROR` (e.g., FTS issues), call `memory_stats` and retry later.
42
- - If `E_TIMEOUT`, reduce batch size or split the request.
49
+ - **`E_NOT_FOUND`**: Re-run search/recall to get valid hash.
50
+ - **`E_INVALID_ARG`**: Check tags (no spaces), limits (batch max 50), or hash format.
51
+ - **`E_TIMEOUT`**: Reduce batch size or complexity.
package/dist/schemas.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { MEMORY_TYPES } from './types.js';
3
- const hashSchema = z.string().regex(/^[a-f0-9]{32}$/i);
3
+ const hashSchema = z.string().regex(/^([a-f0-9]{32}|[a-f0-9]{64})$/i);
4
4
  const tagSchema = z
5
5
  .string()
6
6
  .min(1)
@@ -51,18 +51,18 @@ export const SearchMemoriesInputSchema = z.strictObject({
51
51
  }),
52
52
  });
53
53
  export const GetMemoryInputSchema = z.strictObject({
54
- hash: hashSchema.meta({ description: 'MD5 hash of the memory' }),
54
+ hash: hashSchema.meta({ description: 'Hash of the memory (MD5/SHA-256)' }),
55
55
  });
56
56
  export const DeleteMemoryInputSchema = z.strictObject({
57
- hash: hashSchema.meta({ description: 'MD5 hash of the memory' }),
57
+ hash: hashSchema.meta({ description: 'Hash of the memory (MD5/SHA-256)' }),
58
58
  });
59
59
  export const DeleteMemoriesInputSchema = z.strictObject({
60
60
  hashes: z.array(hashSchema).min(1).max(50).meta({
61
- description: 'MD5 hashes of memories to delete (1-50 hashes)',
61
+ description: 'Hashes of memories to delete (1-50 hashes)',
62
62
  }),
63
63
  });
64
64
  export const UpdateMemoryInputSchema = z.strictObject({
65
- hash: hashSchema.meta({ description: 'MD5 hash of the memory to update' }),
65
+ hash: hashSchema.meta({ description: 'Hash of the memory to update' }),
66
66
  content: contentSchema.meta({ description: 'New content for the memory' }),
67
67
  tags: tagsSchema
68
68
  .max(100)
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,OAAO,EACL,cAAc,EACd,YAAY,EACZ,SAAS,EACT,QAAQ,EACT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAiBlE,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAItC,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACxD,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,GAC/B,KAAK,CAAC;AAIV,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IAC9C,cAAc,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAClD,YAAY,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IAC9C,SAAS,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;IACxC,YAAY,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IAC9C,cAAc,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAClD,cAAc,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAClD,QAAQ,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IACtC,kBAAkB,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC1D,gBAAgB,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IACtD,kBAAkB,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC1D,cAAc,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;CACnD;AAmZD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE,gBAA8B,GACnC,IAAI,CAKN"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,OAAO,EACL,cAAc,EACd,YAAY,EACZ,SAAS,EACT,QAAQ,EACT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAiBlE,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAItC,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACxD,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,GAC/B,KAAK,CAAC;AAIV,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IAC9C,cAAc,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAClD,YAAY,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IAC9C,SAAS,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;IACxC,YAAY,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IAC9C,cAAc,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAClD,cAAc,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAClD,QAAQ,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IACtC,kBAAkB,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC1D,gBAAgB,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IACtD,kBAAkB,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC1D,cAAc,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;CACnD;AAoaD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE,gBAA8B,GACnC,IAAI,CAKN"}
package/dist/tools.js CHANGED
@@ -39,12 +39,15 @@ const createErrorResponse = (code, message, result) => {
39
39
  isError: true,
40
40
  };
41
41
  };
42
- const withTimeout = async (promise, ms, onTimeout) => {
42
+ const withTimeout = async (promise, ms, onTimeout, signal) => {
43
43
  if (ms <= 0)
44
44
  return await promise;
45
45
  let timeout;
46
46
  const timeoutPromise = new Promise((resolve) => {
47
47
  timeout = setTimeout(() => {
48
+ if (signal && typeof signal.dispatchEvent === 'function') {
49
+ signal.dispatchEvent(new Event('abort'));
50
+ }
48
51
  resolve(onTimeout());
49
52
  }, ms);
50
53
  });
@@ -57,7 +60,7 @@ const withTimeout = async (promise, ms, onTimeout) => {
57
60
  }
58
61
  };
59
62
  const createTimeoutResponse = () => createErrorResponse('E_TIMEOUT', `Tool execution timed out after ${TOOL_TIMEOUT_MS}ms`, { timeoutMs: TOOL_TIMEOUT_MS });
60
- const ok = (result) => {
63
+ const createSuccessResponse = (result) => {
61
64
  const structured = { ok: true, result };
62
65
  return {
63
66
  content: [{ type: 'text', text: JSON.stringify(structured) }],
@@ -66,8 +69,9 @@ const ok = (result) => {
66
69
  };
67
70
  const runHandlerSafely = async (code, handler, params) => {
68
71
  try {
69
- const resultPromise = Promise.resolve().then(() => handler(params));
70
- return await withTimeout(resultPromise, TOOL_TIMEOUT_MS, createTimeoutResponse);
72
+ const controller = new AbortController();
73
+ const resultPromise = Promise.resolve().then(() => handler(params, controller.signal));
74
+ return await withTimeout(resultPromise, TOOL_TIMEOUT_MS, createTimeoutResponse, controller.signal);
71
75
  }
72
76
  catch (err) {
73
77
  return createErrorResponse(code, getErrorMessage(err));
@@ -102,7 +106,7 @@ const buildStoreMemoryTool = (deps) => ({
102
106
  importance: input.importance,
103
107
  memory_type: input.memory_type,
104
108
  }));
105
- return ok(result);
109
+ return createSuccessResponse(result);
106
110
  }),
107
111
  });
108
112
  const buildStoreMemoriesTool = (deps) => ({
@@ -123,7 +127,7 @@ const buildStoreMemoriesTool = (deps) => ({
123
127
  memory_type: item.memory_type,
124
128
  }));
125
129
  const result = await deps.createMemories(items);
126
- return ok(result);
130
+ return createSuccessResponse(result);
127
131
  }),
128
132
  });
129
133
  const buildGetMemoryTool = (deps) => ({
@@ -140,7 +144,7 @@ const buildGetMemoryTool = (deps) => ({
140
144
  if (!result) {
141
145
  return createErrorResponse('E_NOT_FOUND', 'Memory not found');
142
146
  }
143
- return ok(result);
147
+ return createSuccessResponse(result);
144
148
  }),
145
149
  });
146
150
  const buildDeleteMemoryTool = (deps) => ({
@@ -158,7 +162,7 @@ const buildDeleteMemoryTool = (deps) => ({
158
162
  if (result.changes === 0) {
159
163
  return createErrorResponse('E_NOT_FOUND', 'Memory not found');
160
164
  }
161
- return ok({ deleted: true });
165
+ return createSuccessResponse({ deleted: true });
162
166
  }),
163
167
  });
164
168
  const buildDeleteMemoriesTool = (deps) => ({
@@ -173,7 +177,7 @@ const buildDeleteMemoriesTool = (deps) => ({
173
177
  handler: wrapHandler('E_DELETE_MEMORIES', async (params) => {
174
178
  const input = DeleteMemoriesInputSchema.parse(params);
175
179
  const result = await deps.deleteMemories(input.hashes.map(normalizeHash));
176
- return ok(result);
180
+ return createSuccessResponse(result);
177
181
  }),
178
182
  });
179
183
  const buildUpdateMemoryTool = (deps) => ({
@@ -191,7 +195,7 @@ const buildUpdateMemoryTool = (deps) => ({
191
195
  content: input.content,
192
196
  tags: input.tags,
193
197
  });
194
- return ok(result);
198
+ return createSuccessResponse(result);
195
199
  }),
196
200
  });
197
201
  const buildCoreTools = (deps) => [
@@ -212,10 +216,10 @@ const buildSearchTools = (deps) => [
212
216
  outputSchema: DefaultOutputSchema,
213
217
  annotations: { readOnlyHint: true },
214
218
  },
215
- handler: wrapHandler('E_SEARCH_MEMORIES', async (params) => {
219
+ handler: wrapHandler('E_SEARCH_MEMORIES', async (params, signal) => {
216
220
  const input = SearchMemoriesInputSchema.parse(params);
217
- const result = await deps.searchMemories({ query: input.query });
218
- return ok(result);
221
+ const result = await deps.searchMemories({ query: input.query }, signal);
222
+ return createSuccessResponse(result);
219
223
  }),
220
224
  },
221
225
  {
@@ -228,13 +232,13 @@ const buildSearchTools = (deps) => [
228
232
  outputSchema: DefaultOutputSchema,
229
233
  annotations: { readOnlyHint: true },
230
234
  },
231
- handler: wrapHandler('E_RECALL', async (params) => {
235
+ handler: wrapHandler('E_RECALL', async (params, signal) => {
232
236
  const input = RecallInputSchema.parse(params);
233
237
  const result = await deps.recallMemories({
234
238
  query: input.query,
235
239
  ...(input.depth !== undefined && { depth: input.depth }),
236
- });
237
- return ok(result);
240
+ }, signal);
241
+ return createSuccessResponse(result);
238
242
  }),
239
243
  },
240
244
  ];
@@ -255,7 +259,7 @@ const buildRelationshipTools = (deps) => [
255
259
  to_hash: normalizeHash(input.to_hash),
256
260
  relation_type: input.relation_type,
257
261
  });
258
- return ok(result);
262
+ return createSuccessResponse(result);
259
263
  }),
260
264
  },
261
265
  {
@@ -273,7 +277,7 @@ const buildRelationshipTools = (deps) => [
273
277
  hash: normalizeHash(input.hash),
274
278
  ...(input.direction !== undefined && { direction: input.direction }),
275
279
  });
276
- return ok(result);
280
+ return createSuccessResponse(result);
277
281
  }),
278
282
  },
279
283
  {
@@ -295,7 +299,7 @@ const buildRelationshipTools = (deps) => [
295
299
  if (result.changes === 0) {
296
300
  return createErrorResponse('E_NOT_FOUND', 'Relationship not found');
297
301
  }
298
- return ok({ deleted: true });
302
+ return createSuccessResponse({ deleted: true });
299
303
  }),
300
304
  },
301
305
  ];
@@ -312,7 +316,7 @@ const buildStatsTools = (deps) => [
312
316
  handler: wrapHandler('E_MEMORY_STATS', async (params) => {
313
317
  MemoryStatsInputSchema.parse(params);
314
318
  const result = await deps.getStats();
315
- return ok(result);
319
+ return createSuccessResponse(result);
316
320
  }),
317
321
  },
318
322
  ];
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@j0hanz/memdb",
3
- "version": "1.2.8",
3
+ "version": "1.2.9",
4
4
  "mcpName": "io.github.j0hanz/memdb",
5
5
  "description": "A SQLite-backed MCP memory server with local workspace storage.",
6
6
  "type": "module",
@@ -25,8 +25,9 @@
25
25
  "prepare": "npm run build",
26
26
  "dev": "tsx watch src/index.ts",
27
27
  "start": "node dist/index.js",
28
- "test": "node --import tsx/esm --test tests/*.test.ts",
28
+ "test": "node --import tsx/esm --test --test-concurrency=1 tests/*.test.ts",
29
29
  "test:coverage": "node --import tsx/esm --test --experimental-test-coverage tests/*.test.ts",
30
+ "test:native": "node --experimental-strip-types tests/native-compat.test.ts",
30
31
  "duplication": "npx --yes jscpd -k 50 -f typescript -r json -o .jscpd src",
31
32
  "lint": "eslint .",
32
33
  "format": "prettier --write .",
@@ -51,24 +52,24 @@
51
52
  "homepage": "https://github.com/j0hanz/memdb-mcp-server#readme",
52
53
  "license": "MIT",
53
54
  "dependencies": {
54
- "@modelcontextprotocol/sdk": "^1.25.2",
55
- "zod": "^4.3.5"
55
+ "@modelcontextprotocol/sdk": "^1.25.3",
56
+ "zod": "^4.3.6"
56
57
  },
57
58
  "devDependencies": {
58
59
  "@eslint/js": "^9.39.2",
59
60
  "@trivago/prettier-plugin-sort-imports": "^6.0.2",
60
- "@types/node": "^25.0.6",
61
+ "@types/node": "^25.1.0",
61
62
  "eslint": "^9.39.2",
62
63
  "eslint-config-prettier": "^10.1.8",
63
64
  "eslint-plugin-de-morgan": "^2.0.0",
64
65
  "eslint-plugin-depend": "^1.4.0",
65
- "eslint-plugin-sonarjs": "^3.0.5",
66
+ "eslint-plugin-sonarjs": "^3.0.6",
66
67
  "eslint-plugin-unused-imports": "^4.3.0",
67
- "knip": "^5.81.0",
68
- "prettier": "^3.8.0",
68
+ "knip": "^5.82.1",
69
+ "prettier": "^3.8.1",
69
70
  "tsx": "^4.21.0",
70
71
  "typescript": "^5.9.3",
71
- "typescript-eslint": "^8.52.0"
72
+ "typescript-eslint": "^8.54.0"
72
73
  },
73
74
  "engines": {
74
75
  "node": ">=22.0.0"